Rosanswers logo

How to add extra gyro sensor for roomba

Hi,I'm trying to implement my own turtlebot with iRobot Create 2(roomba 600).

Unfortunately, It seems that iRobot Create 2 has not the DB25(25pin) analog port of the iRobot Create base. (ref:http://answers.ros.org/question/9749/is-an-imu-required-to-run-turtlebot-stack/#1243)

Is there any simple/convenient way that can add an extra gyro sensor for iRobot Create 2? So the script "turtlebot_minimal_create.launch" in 'ROS by Example' can be launch smoothly. or "turtlebot_bringup/launch/minimal.launch" in 'ROS repository' can be launch smoothly.

I hope to run the script below(from rbx_hydro_vol1) to implement the SLAM with map creating simultaneously.

 $ roslaunch rbx1_bringup turtlebot_minimal_create.launch
 $ roslaunch rbx1_bringup fake_laser.launch  #i'm using xtion_pro
 $ rqt_console &
 $ roslaunch rbx1_nav tb_nav_test.launch map:=my_map.yaml
 $ rosrun rviz rviz -d `rospack find rbx1_nav`/nav_test.rviz

My quetion is:

  • Is there any simple/convenient way that can add an extra gyro sensor for iRobot Create 2?

  • Can I still launch the commands above without a gyro sensor?

Thank you very much!!

Originally posted by sonictl on ROS Answers with karma: 287 on 2015-12-02

Post score: 1

Original comments

Comment by jacobperron on 2016-04-15:
I am in the process of trying to add an IMU to Create 2 as well. My current solution is to download the ROS Sensors app (http://wiki.ros.org/android_sensors_driver) for Android and attach my phone to the robot. Wondering if you came across a solution for yourself?

Comment by sonictl on 2016-05-19:
@jacobperron , Thank you for your comment! I'v tried using an USB-ported IMU sensor module. I plugged it in my turtlebot's controller( the ubuntu notebook ) and using the usb-serial driver(e.g. r2serial_driver) to publish the data to ROS. We got the data but halted by other bussiness.

Comment by eugene_ang on 2016-05-26:
Hi @sonictl, can you elaborate on whether or not using the USB-ported IMU was a success? When you published the data from USB-IMU to ROS, did you encounter any problems? Were you able to use that IMU data to improve the odom estimate in the end?

Comment by eugene_ang on 2016-05-26:
@jacobperron, when working on android_sensors_driver, did it publish to sensor_msgs/Imu, as described in the wiki page? I am asking because according to this, it only publishes to android/fix and I'm confused.

Comment by sonictl on 2016-05-26:
@eugene_ang I just got data from IMU to ROS, I published the IMU data as a ROS topic. never used the data cuz I found the odom data was enough then.

Comment by jacobperron on 2016-05-27:
@eugene_ang As long as your Android device supports the appropriate sensors then you should get the sensor_msgs/Imu too. For example, on one device I did not receive a magnetometer message, but it was present on a second device. I think that tutorial is out of date.

Comment by eugene_ang on 2016-05-31:
@jacobperron, @sonictl: Thanks for your inputs! In the end, I went the Android way and got my phone to publish imu messages.

Comment by eugene_ang on 2016-05-31:
@jacobperron: after you deployed your Android imu publisher, did you go on and calibrate the turtlebot like in this tutorial? Did it help in any way?

Comment by jacobperron on 2016-06-01:
@eugene_ang I ended up calibrating with a separate compass app. You might also consider applying a filter, such as the ones listed under imu_tools.

Comment by sonictl on 2016-06-17:
This blog show how to add gyro sensor module for ROOMBA-based turtlebot. and it works well.

Comment by betaupsx86 on 2016-09-21:
I'm currently using my android phone as an IMU, but my odometry is actually worse than without it. Using gmapping to build a map gives very bad results. The problem is mainly on rotations. What did you guys do to calibrate the setup since you cant really use the calibrate script with android/imu


1 Answer 1


Rosanswers logo

This blog (Link) shows me the solution for this issue.

Originally posted by sonictl with karma: 287 on 2016-06-17

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.