ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Turtlebot: Unstable

asked 2012-03-14 01:41:18 -0500

prasanna gravatar image

We recently started working with a turtlebot using the ros tutorials for the same.

  1. We do not know when it is switched on in full mode and when in passive mode or safe mode. Immediately after we switch on the iRobot Create, the red light flashes and there is a small beep and the green light comes on. But in a few seconds the green light goes off with another beep. This doesn't happen all the time, but very often. Also, the moment we switch on the Create, the kinect cable's led is ON. But only when the red light flashes, the led is on. After the beep, after the green light comes on, this kinect cable's LED goes OFF. And sometimes the output from minimal.launch says, "check if the Create is plugged in and powered on", when the connections are perfect and after i have turned the create on.

  2. Will minimal.launch get the turtlebot service on by default? Because if I start the service and then launch minimal.launch, it says "shutdown request: New node registered with the same name."

  3. Dashboard doesn't always work from the workstation. Sometimes it works:Sometimes not. It works fine on the turtlebot. On the workstation it says POWER SYSTEM ERROR. Though we do not know what that means. This also happens only sometimes.

  4. Sometimes starting up minimal.launch powers the kinect. (May be the bot is pushed to full-mode). Sometimes the same thing happens with teleop. We are not always able to push it to full mode from the dashboard, which should work.

  5. We still managed to calibrate the bot and build a map. The map was nowhere near the real room. Later we found out that when the actual bot turned 90degrees the bot on the map turned very less (about 45degrees). We manipulated the parameters odom_angular_scale_correction and gyro_scale_correction, but to no luck.

What we know for sure. 1. The network connection is perfect. For teleop and ssh work great. 2. The env variables, ROS_MASTER_URI and ROS_HOSTNAME are correctly set. 3. All mechanical connections on the turtlebot are correct.

Please help us out.

edit retag flag offensive close merge delete

4 Answers

Sort by ยป oldest newest most voted

answered 2012-03-14 16:35:51 -0500

mmwise gravatar image

updated 2012-03-15 08:27:22 -0500


  1. The create doesn't always display it's power state accurately using the LED. Typically the green LED will be on and then go off when the ROS driver connects. Decide whether you're going to use minimal.launch or the turtlebot service but do not use both. They do the same thing essentially and will conflict with each other causing nodes to startup and shutdown repeatedly.

  2. to start the service type:

    sudo service turtlebot start

    to stop the service type:

    sudo service turtlebot stop

    If the service isn't working or not starting up properly look at the dashboard and it should display the problem. Or make sure that you have the correct interface setup for the service. Check out this tutorial for details

  3. most likely the reason the dashboard isn't working is because you don't have the ROS_HOSTNAME set on the workstation machine in the terminal that you ran the dashboard from. Make sure that the terminal you are running from has the correct ROS_HOSTNAME and ROS_MASTER_URI.

  4. minimal.launch will never power up the kinect. There is no method for doing it. most likely what is happening it the robot received a cmd_vel msg, the TurtleBot node will put the TurtleBot in full mode when it receives a cmd_vel msg, when the breaker service is called, or when the TurtleBot is set into full mode.

  5. Are you sure that you calibrated the gyro properly? If you run the calibration repeatedly it should get approximately the same number every time. Also check to see what the angular rate of the gyro is 150 deg/sec or 300deg/sec. TurtleBots from clearpath now have 300deg/sec gyros and you must set the ~gyro_measurement_range parameter for the gyro type. You can also use dynamic reconfigure to do this as well. Also make sure that after you calibrate the TurtleBot you update your launch file either minimal.launch or turtlebot.launch in /etc/ros/electric(or your current distro). Then relaunch minimal.launch or restart the TurtleBot service.

edit flag offensive delete link more

answered 2012-03-15 00:59:40 -0500

McMurdo gravatar image

@ mwise_wg: Ours is a willow garage robot. So our gyro range is set right at 150deg/sec. But that didn't work. The problem that we have been facing with map building is that it builds a double map. We also tried altering the odom_angular_scale_correction param to about 10 - just to check if it alters anything. But that doesn't seem to cause a single difference. The robot on the map still make only half the turn that the real robot makes. The robot turns 90 degrees but thinks it has turned only 45 degrees.

edit flag offensive delete link more


how are you setting the parameter? are you using dynamic reconfigure? The TurtleBot driver only reads the odom_angular_scale_correction at startup or when set in dynamic reconfigure.. Are you editing /etc/ros/electric/turtlebot.launch then restarting the TurtleBot service?

mmwise gravatar image mmwise  ( 2012-03-15 08:23:29 -0500 )edit

No. We were simply using 'rosparam set' ... the tutorials say nothing about dynamic reconfigure. We do just what is given in the tutorials.

McMurdo gravatar image McMurdo  ( 2012-03-15 23:50:20 -0500 )edit

thanks for the info, I updated the TurtleBot calibration tutorial to be correct.

mmwise gravatar image mmwise  ( 2012-03-16 13:30:21 -0500 )edit

answered 2012-03-21 11:37:21 -0500

McMurdo gravatar image

WillowGarage turtlebots actually have 3 different types of Gyros according to this page:

The one that was at my university was an old willowgarage turtlebot and hence had a gyro that has a measurement range of 150deg/sec. Whereas the other three that were shipped to us very recently have 250deg/sec accuracy. Where is this mentioned?? The willow garage site only says 150deg/sec accuracy. Why don't they specify it clearly on the specifications page? This patch, on the page mentioned above, was the one we used and we calibrated the turtlebot 3-4 times after which the parameters converged. Then, we could build a neat map. The old one is a XRS613 Gyro whereas the new one is the XRS652.

Also the folder /etc/ros is generated only when we run the 'sudo install.bash <wireless interface="">' in the 'turtlebot_bringup/upstart' folder... But here it says 'OR'... 'OR' means we can skip one, right? But both seem very necessary.

edit flag offensive delete link more


Willow Garage TurtleBots have a gyro rate of 150deg/s (as described above), however Clearpath TurtleBots have different gyro rates. The Willow Garage site only lists the specification for TurtleBots produced by Willow Garage. (I am the TurtleBot co-creator, I know what hardware is on which robots)

mmwise gravatar image mmwise  ( 2012-03-21 14:24:24 -0500 )edit

Also when using the upstart install you want to use sudo service turtlebot start not minimal.launch

mmwise gravatar image mmwise  ( 2012-03-21 14:25:03 -0500 )edit

But clearly, there are two different gyros on the tow robots sent to us from WILLOWGARAGE. Not Clearpath. The old one has a red chip and it says XRS 613. The new ones don't have a red chip and they read XRS652. And the patch works. Only after the patch it works!

McMurdo gravatar image McMurdo  ( 2012-03-21 19:56:59 -0500 )edit

Please have a look... This is what we have on the gyroboard. The number says ADXRS652 and that is this...

The chip clearly says Copyright WillowGarage 2011

McMurdo gravatar image McMurdo  ( 2012-03-21 20:06:00 -0500 )edit

the board states that because it was designed by Willow Garage, However the individual manufacturers stuff different gyros, because the original part was at end of life. The board design allows for part substitutions. If the plates on the turtlebot say clearpath then it was made by clearpath.

mmwise gravatar image mmwise  ( 2012-03-21 20:31:59 -0500 )edit

this is what an iheartengineering turtlebot looks like: and this is what a clearpath turtlebot looks like:

mmwise gravatar image mmwise  ( 2012-03-21 20:33:38 -0500 )edit

Also all TurtleBot power boards manufactured by Willow Garage have bar code on them with a Willow Garage part number on them.

mmwise gravatar image mmwise  ( 2012-03-21 20:48:49 -0500 )edit

answered 2012-03-19 20:08:36 -0500

McMurdo gravatar image

The Diamondback version doesn't create a "/etc/ros/diamondback" folder? Dynamic Reconfigure is also not working. There is no file such as the python file you had mentioned in the tutorials. Today we found someone at the University who has worked on a turtlebot and built a very neat map. He controlled the bot from his DELL Laptop-WS. But When I controlled the same turtlebot from my ThinkPad, I got the same map-building error. The robot thinks it has turned 45 when it has turned 90 in reality. I know this is weird but please bear with me and help me! :( This happens with all three turtlebots we have! :(

Sorry, this was too long to become a comment.

edit flag offensive delete link more


From his DELL Laptop the map is neat and clean without the calibration.

McMurdo gravatar image McMurdo  ( 2012-03-19 20:09:37 -0500 )edit

It also says ERROR: Transform from baselink to odom failed!

McMurdo gravatar image McMurdo  ( 2012-03-20 01:04:05 -0500 )edit

please upgrade to electric, TurtleBot development has come a long way since diamondback.

mmwise gravatar image mmwise  ( 2012-03-20 11:53:42 -0500 )edit

It is not a diamondback problem. It is a problem with the gyro that people at WillowGarage did not communicate properly. My friend found a patch from the net, now it works fine. will write in detail in a short while.

McMurdo gravatar image McMurdo  ( 2012-03-21 04:25:28 -0500 )edit

Question Tools



Asked: 2012-03-14 01:41:18 -0500

Seen: 2,648 times

Last updated: Mar 21 '12