
Darathian

Since I know some of you have used the Sabertooth and Kangaroo I figured I would ask opinions.
I have decided on the Parralax Arlo base for my next robot chassis. I will use the caster's from parralax.
I will most likely be using the Sabertooth and kangaroo combination for motor controller/PID but I am not decided on this and open to suggestions.
I also find myself in a heated mental debate between the wheel/motor combination from parralax or the Zagros Rex motors and wheels combined with the Sabertooth/Kangaroo.
Item 1:
One of the key items for me is how well the encoders between the two different motor/wheel sets works with the Sabertooth and kangaroo.
Item 2:
The other item floating in my mind is the ground clearance between the two motor/wheel sets. It seems at least to me that the Zagros wheels would provide more ground clearing but since the base plate of the chassis provides stability to the base platform I am not really sure if using the Zagros motors are feasible.
Item 3:
Since I am going to build a body, arms and head on top of the base the torque and weight carrying ability is important.
Item 4:
I need to be able to control both the position and speed of the motors at the same time. For example example I should be able to have to robot move lets say 1 feet at a certain speed.
I know this is kind of an open ended questions but if anyone have used any of these wheel/motor combinations please provide your 2 cents as it relates to the items listed above.
I appreciate any comments or insights you guys can provide.
you add the kangaroo into the mix with the Sabertooth and you have a really cool motor controller.
I cannot find a kangaroo control under the h-bridges,
but I found a tutorial:
https://synthiam.com/Community/Tutorials/86/1
but it seems script complicated ....
The Sabertooth without the kangaroo has a movement panel. With it, assuming you are using it for limited movemnt, not rotational, you just use servo commands after tuning it. For precise rotational motion, you need to use scripts.
Alan
Alan be patient i'm little lost.
Imagine the following example: cmd => drive 1m straight Check obstacle => obstacle found => stop the motors Read the distance from last command keep in a var x$ cmd => turn 45 deg to the left Drive 10 cms cmd => turn 45 deg to the right drive 10 cms cmd turn 45 deg to the left drive 1m - x$ straight
to do this or to know the encoders position only via scripting (something similar to the Tony's tutorial ?)
Yes, currently you will need scripting to read the encoder positions. I would not be at all surprised to see Dave Cochran write a plugin to make it easier now that he is playing with using a Kangaroo, but if you need something now, scripting is the way to go. I can't be much help there since I don't (yet) have a kangaroo or any encoders.
Alan
ptp, you could do what you want to do with an arduino.
Here are the advantages to using the sabertooth/kangaroo combo that I see. It is a self contained device that you can use to handle ramping and positioning. You can give it a command to turn right or left a certain distance (based on encoder clicks) You can tell it to go forward or backwards a certain number of clicks.
The roo makes sure that the motors are working with each other at the same speed. Start and stop ramping is calculated based on the load of the device and how the motors act under that load through an autotune function.
All of this can be done with an arduino, like I said, and I have created a sketch to do most of it. It just requires a lot more programming on the controller side. Not a lot of people want to do this and would rather use the autotune option on the roo.
The sabertooth by itself is a great motor controller if you are either going to use an arduino to replace the roo functions, or dont need position control. I use these for arm and neck movement and use an arduino to handle position control through a pot.
The arduino gives you the ability to code specific things like a command to "Move forward 1 meter" which you would then use the encoder to handle. This could be a serial command to the arduino which would then handle moving the motors a certain number of encoder clicks. The Roo/Sabortooth combo would allow someone who doesnt want to program an arduino to say "F.1000" to move the motors forward 1000 clicks, while letting the roo handle all of the fun stuff. A script would have to be used to calculate what 1 meter is equal to in clicks to move forward 1 meter.
David,
i was trying to understand where the kangaroo fits and what you can do without entering the script world.
i understand outside of close loop control there is no solution unless you script like a guru. Also is out of the equation driving around the obstacles without scripting ?
it seems limited when you start combining devices and event based decisions...
I never used the saber neither the kangaroo, i use an arduino, high amps H-Bridge, a custom made circuits to decode the 2 x quadrature encoders and arduino software PID control. I need a granular control to provide information and receive commands from the PC where i run ROS.
but the previous questions it was curiosity how EZB world deals with navigation, and it seems is not an easy task.
You have the same situation in either ROS or ARC IMHO. Either use what others have developed or write something. I am trying to work on a SLAM module that will make these decisions and call scripts that someone has written to move a certain distance based on the condition (distance from an object). If I am successful, someone would be able to drop in this control, write a few scripts for their bot to move a certain distance or turn a certain amount, or back up a certain distance. ROS has the same type things in that there are SLAM modules available to use along with other things to make this happen.
Its one of those things where it could be best to roll your own solution. I wasn't trying to insult by any means, just telling you what I see are the benefits to the sabortooth vs L-bridge or roo vs another type of controller. Either works for sure. It is just about how much control you want, your skill set and what you like more.
Plugins can now be written in ARC as you know. I am sure that there will be some pretty cool ones developed in time. ROS definitely has an advantage in that this is what ROS is. Essentially it is plugins developed by many people that to an extent work with other things developed by many people. If you don't like how it works, the code is available to change it. Plugins are the same thing. I share my code with my plugins and others do also. My hope is that people will take them and run with them to make something really cool. ROS is more mature in this regard for sure.