Rosanswers logo

Dear Ros Community,

I am running a Clearpath Robotics Husky, and I would like to install a second IMU, a Microstrain 3DM-GX3-25. There is already a Microstrain 3DM-GX2 installed on the robot. How do I get the Husky to recognize the new IMU and also get the IMU to push messages into ROS?


Originally posted by The_Mad_Geometer on ROS Answers with karma: 25 on 2015-11-06

Post score: 0


1 Answer 1


Rosanswers logo

AFAIK, you should use package microstrain_3dmgx2_imu (http://wiki.ros.org/microstrain_3dmgx2_imu) to publish this new IMU. But to not to mix this one with the other IMU (possibly UM6), you should remap /imu/data topic of microstrain to another one. Like;

<node pkg="microstrain_3dmgx2_imu" type="imu_node" name="microstrain_3dmgx2_imu" output="screen">
        <remap from="/imu/data" to="/ms_imu/data" />

After these, you should include this new IMU into robot_localization via config (https://github.com/husky/husky/blob/indigo-devel/husky_control/config/localization.yaml).

For example you can add;

imu1: ms_imu/data
imu1_config: [false, false, false,
              true, true, true,
              false, false, false,
              true, true, true,
              false, false, false]
imu1_differential: true
imu1_remove_gravitational_acceleration: true

This should implement your new IMU into your setup.

Originally posted by Akif with karma: 3561 on 2015-11-06

This answer was ACCEPTED on the original site

Post score: 2

Original comments

Comment by The_Mad_Geometer on 2015-11-11:
Thanks a lot, Akif. I just had to plug the IMU into the USB port on the Husky and set the launch files up as you described. It's working now, except that I need to figure out how to calibrate the IMU.


Your Answer

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