PDA

View Full Version : Best Controller Board for ROS



maitri982
02-07-2011, 08:39 PM
Hi All,

I am planning to build my first robot to work with ROS. I have already made a stereo vision setup with two Logitech 9000 web cams mounted on a steel plate with hopes for VSLAM test down the road. Now it is time to think about a micro controller board and motors.

Given the experience here on this forum with both ROS and various platforms, I wonder if any of you can make a recommendation on a board that you think plays best with ROS and is easy to work with not only in terms of ROS, but with motors, possibly motor controllers and other sensors.

I know Pi uses the Serializer Patrick...would you make that same choice today knowing what you know? What are its merits and demerits? It looks like you have made a nice package for it in ROS.

This forum also seems to have a lot of fans for the Arbotix board, and clearly there has been some work done with ROS too and I think Patrick you are using this as well for Pi's arms and maybe his head?

I will need the board initially to control 2 wheels and possibly some sonar sensors. The cameras, and maybe a Kinect in the future, will feed right into a laptop riding with the robot...so the board is not relevant for them.

Are there better options than these two boards?

I appreciate your feedback...I know these type of questions often don't have a clear answer, but I am hoping to learn from the comments to make the best selection for my needs.

Kevin

RobotAtlas
02-07-2011, 08:54 PM
Kevin,

For what you are describing Arbotix sounds like an ideal choise.

P.S. I thought Patrick used to use Serializer and then switched to ArbotiX.

Peter_heim
02-08-2011, 02:29 AM
Hi Kevin
I use both the serializer for driving and the arbotix for head and arm control the main reason was the learning curve
new controller new robot new to ros and nothing worked. With the serializer i could get the base driving smoothly by testing it through a terminal window once i had the basics worked out (vpid dpid) I could drive the robot with the GUI controllers.Both controllers worked the same. My inexperience with Rviz caused the next set of problems with navigation and i changed between serializer and arbotix and both worked some times but not always. I traced the problem to wiring and a problem with the way i configured move_base. The wiring problem i solved by making a harness between the arborix/serializer and the Hbridge, encoders. the serializer i wired up first when i tried it every thing worked i havent got around to testing it with the arbotix and the drive base. But my son wants a robot so time to reconfigure again.
If i did it again i would use the arbotix with the polou hbridge and take greater care with the wiring (loose connections are hell intermittent are worse) and make the robot lighter by using a netbook and smaller battery not a desktop I3 and 20KG battery

peter

maitri982
02-08-2011, 08:14 AM
Hi Kevin
I use both the serializer for driving and the arbotix for head and arm control the main reason was the learning curve
new controller new robot new to ros and nothing worked. With the serializer i could get the base driving smoothly by testing it through a terminal window once i had the basics worked out (vpid dpid) I could drive the robot with the GUI controllers.Both controllers worked the same. My inexperience with Rviz caused the next set of problems with navigation and i changed between serializer and arbotix and both worked some times but not always. I traced the problem to wiring and a problem with the way i configured move_base. The wiring problem i solved by making a harness between the arborix/serializer and the Hbridge, encoders. the serializer i wired up first when i tried it every thing worked i havent got around to testing it with the arbotix and the drive base. But my son wants a robot so time to reconfigure again.
If i did it again i would use the arbotix with the polou hbridge and take greater care with the wiring (loose connections are hell intermittent are worse) and make the robot lighter by using a netbook and smaller battery not a desktop I3 and 20KG battery

peter

Thanks Peter. Sounds like either of those two boards is OK in your case.

maitri982
02-08-2011, 08:16 AM
Kevin,

For what you are describing Arbotix sounds like an ideal choise.

P.S. I thought Patrick used to use Serializer and then switched to ArbotiX.

Why do you say that? For what reasons is it better than other (i.e. - the Serializer) choices?

lnxfergy
02-08-2011, 08:55 AM
The main strength of the ArbotiX is that it can control AX or RX servos, allowing the easy construction of a mobile manipulator. The biggest weakness right now is that you have to do a bit of custom wiring to add larger motor drivers as Peter alluded to (this will be addressed shortly). Either board would probably suffice, depending on what components you're looking to use.

-Fergs

(Disclaimer, I'm the guy who made the ArbotiX, so I might be a bit biased towards it)

maitri982
02-08-2011, 08:05 PM
The main strength of the ArbotiX is that it can control AX or RX servos, allowing the easy construction of a mobile manipulator. The biggest weakness right now is that you have to do a bit of custom wiring to add larger motor drivers as Peter alluded to (this will be addressed shortly). Either board would probably suffice, depending on what components you're looking to use.

-Fergs

(Disclaimer, I'm the guy who made the ArbotiX, so I might be a bit biased towards it)

Thanks fergs and congrats on your product. Can you better define "addressed shortly" for me? Also, what are the limitations for "larger motor drivers"? How large is too large for the non-custom wiring?

Pi Robot
02-09-2011, 08:39 AM
I know Pi uses the Serializer Patrick...would you make that same choice today knowing what you know? What are its merits and demerits? It looks like you have made a nice package for it in ROS.

This forum also seems to have a lot of fans for the Arbotix board, and clearly there has been some work done with ROS too and I think Patrick you are using this as well for Pi's arms and maybe his head?


Hi Kevin,

I am very happy with the Serializer board and have been using it for at least 3 years. Before moving to ROS, I was using the C# .Net library which has some nice built in support for common sensors like the Ping sonar sensor and Sharp IR sensors. So I attempted to bring as much of that convenience as possible into my Python and ROS libraries (http://www.pirobot.org/code/). (Note that you can play with the Python library completely outside of ROS.) The PID controller is also very nice and works especially well with the matching motors and encoders (http://www.roboticsconnection.com/c-7-robot-motors.aspx) (which unfortunately seem to be perpetually out of stock). The built-in H-bridges are capable of 4 amps per motor which allows you to move a fairly large robot. Having the odometry information at your fingertips allows you to get started with the ROS navigation stack fairly easily. You can connect to the Serializer either over USB, XBee or RS-232 and you can log into the firmware and issue the low level serial commands directly which is nice for debugging.

While the Serializer has support for hobby servos, I needed the feedback control of the Dynamixels which is what brought me to the ArbotiX. I also have a USB2Dynamixel controller which works also well with Fergs' ArbotiX ROS driver (with use_sync set to False). However, the USB2Dynamixel does not have a wireless option while the ArbotiX does and that was important to me in early development phases. I have the Pololu motor board but have yet to hook it up to the ArbotiX since there are only so many hours in the day and the Serializer is still working. :-)

Perhaps the greatest strength of the ArbotiX is Mike's commitment to answer questions on this forum and his continued development of the ROS driver. I learned more about ROS working with Mike's code and the ArbotiX than any other source!

--patrick

P.S. So at the moment, I am using both boards: the Serializer for driving the motors and getting odometry information and the ArbotiX (or USB2Dynamixel with ArbotiX driver) to control the AX-12 servos.

maitri982
02-10-2011, 08:34 PM
Very useful info Patrick...thanks everyone for their replies.

Best,
Kevin

veltrop
02-26-2011, 05:17 AM
I have pretty good results with the Roboard. I'm running ROS on it controlling a KHR style humanoid. It's IO is loaded up with 2 USB cameras, 1 USB Bluetooth, mini-pci Wifi, 26 PWM servos, 2 serial servos, 6 AD infrared distance sensors, I2C sonar, I2C 3 axis Gyro, I2C compass + magnetometer + accelerometer. But it all runs simultaneously quite smoothly.

For the stereo vision, at 200x150 resolution I can get almost 2fps on the Roboard, and plenty over an Wifi network if the processing is sent to a remote computer. At 640x480 it takes too long on the Roboard (25 seconds for 128 disparities) but can do over 8fps thru Wifi and remote processing.

bonmot
03-27-2011, 10:00 AM
Fit-pc2i seems to be a good choice too.