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

Is an IMU required to run Turtlebot stack?

asked 2011-04-16 06:45:41 -0600

Scott gravatar image

Is an IMU required to run the Turtlebot stack? If so, what would be the recommended IMU to buy?

Thanks, -Scott

edit retag flag offensive close merge delete


Issues with IMU odometry. I purchased and mounted the ADXRS613 as recommended below, but I am getting the following errors. As you can guess, the mapping is still off and it is likely due to the IMU not helping out with improved data due to the errors. Any help would be appreciated.
Scott gravatar image Scott  ( 2011-04-23 01:53:17 -0600 )edit
Here are the errors I get on turtlebot_bringup [ERROR] [1303566596.868810887]: Timestamps of odometry and imu are 1.218011 seconds apart. [ERROR] [1303566596.869189147]: filter time older than imu message buffer [ERROR] [1303566597.380293912]: Could not transform imu message from to base_footprint
Scott gravatar image Scott  ( 2011-04-23 01:53:35 -0600 )edit
Are you running different nodes on different machines? If so it sounds like you have a clock skew problem. Try setting up NTP/chrony:
JeffRousseau gravatar image JeffRousseau  ( 2011-04-25 00:37:13 -0600 )edit
PS Unless you have a really good network connection between nodes (underutilized 802.11N network) I'd suggest running the entire nav stack on a single machine.
JeffRousseau gravatar image JeffRousseau  ( 2011-04-25 00:40:29 -0600 )edit
Also, you'll have to comment out the URDF part of the create_bringup and replace it with your own (probably static) transforms for the Kinect and the imu (turtlebot calls the imu frame gyro_link)--unless you've somehow recreated the turtlebot in its entirety
JeffRousseau gravatar image JeffRousseau  ( 2011-04-25 01:04:46 -0600 )edit
Great suggestions. I will give them a go and see if that helps. Much appreciated.
Scott gravatar image Scott  ( 2011-04-26 05:14:08 -0600 )edit

2 Answers

Sort by » oldest newest most voted

answered 2011-04-18 06:57:23 -0600

updated 2011-06-23 05:34:57 -0600

The Turtlebot uses a single-axis ADXRS613 rate gyro for its IMU, attached directly to the DB25 analog port of the iRobot Create base. I'm using an ADXRS613 breakout from sparkfun found here on my (non-turtelbot) Create--works great.

Hook the RATE pin from the ADXRS613 to the Analog Input (pin 4), connect the 5V on the breakout to the 5V on the DB25, and hook the GNDs together as well. Ignore the other pins on the ADXRS613 unless you want to figure out temperature compensation.

Also, make sure you run the Turtlebot calibration node to compensate for bias in the IMU. You should only have to do this once unless you drive your robot in varying environments--as the calibration routine compensates for wheel slippage as well as rate bias.

image description

edit flag offensive delete link more


Very cool and thanks for the great detials. Can't wait to try it out. -Scott
Scott gravatar image Scott  ( 2011-04-18 08:18:40 -0600 )edit

But how to set the bias in the IMU? After the calibration node estimating the imu drift, which parameter should I change?

张京林 gravatar image 张京林  ( 2015-10-26 20:19:50 -0600 )edit

answered 2011-04-17 15:44:31 -0600

tfoote gravatar image

It's not required but it makes the odometry much better.

edit flag offensive delete link more

Question Tools



Asked: 2011-04-16 06:45:41 -0600

Seen: 3,950 times

Last updated: Jun 23 '11