Adding an IMU to Turtlebot 1
Hi Everyone,
I'm trying to put together a Turtlebot 1 with some old iRobot creates and kinects I have had around my lab. So far, I've been able to make the plates, standoffs, power regulation board, and get everything working with the turtlebot package. I had to go in the create launch file and disable the gyro (which I can't buy anymore). I decided to order the sparkfun razer 9dof IMU as a replacement since I already saw it had a ROS package available. http://wiki.ros.org/razor_imu_9dof
I created a launchfile which would call the turtlebot minimal.launch and 3dsensor.launch with the parameters for the Turtlebot 1. I also added in that launchfile the razor-pub.launch for the IMU. I also modified the robot_pose_ekf node launched by create node to subscribe to the /imu topic published by the razor instead of the /mobile_base/sensors/imu_data which was the gyro data published by the create node.
Everything seemed to work, robot_pose_ekf was subscribing to /imu, the /imu topic was publishing data, and I could teleop the turtlebot around. However, I noticed a problem when I tried to run gmapping. It appears that I am missing the transform from base_imu_link to base_footprint.
Now, where I am stuck is: how do I tell the /imu topic to be published as the base_imu_link frame? Does the turtlebot urdf file create the base_imu_link from or does robot_pose_ekf?
I've been chasing this issue through many files, but as a relatively new ROS user, the turtlebot's flexible and cryptic method of launching the URDF gets me lost. My ROS console is giving the error "Could not transform imu message from base_imu_link to base_footprint. Imu will not be activated yet." It is also indicated that /robot_pose_ekf is the topic giving the warning.
Thanks in advance for any pointers or insight.