Ask Your Question

Question about imu emplacement

asked 2018-08-03 03:15:51 -0600

kesuke gravatar image

hi ,

i have a sensor imu (razor_imu_9dof) and i'm using the ekf package to combine it with the odom data that coming from encoder , my question is where should i put the imu on the robot , i have a differential robot like a big version of turtlebot but i don't know if i have to put the imu between the wheels or anywhere in the robot and i use the tf to transfomr data to base_link , can you give any advice ?

thank you

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-08-03 06:52:46 -0600

stevejp gravatar image

updated 2018-08-03 07:29:43 -0600

I have two suggestions:

  1. Place your imu in a way where the sensor frame of the imu will be orientation aligned with your base_link frame (i.e., so that in your base_link -> imu_link tf, the orientation component is unit quaternion). I've found this useful for debugging localization, because you can directly compare what your orientation state estimate is with the orientation estimate provided by your imu.
  2. Place it as far away from sources which cause soft iron interference as you can. You should calibrate the magnetometer on the imu once it's on your robot to properly capture the hard / soft iron disturbance, and I've found the soft iron calibrations are much more unreliable than hard iron.
edit flag offensive delete link more


thank you i will try it , but abut the tf i thought that when i'm using the ekf package i's publishing tf and no need to publish tf from imu

kesuke gravatar imagekesuke ( 2018-08-03 06:58:43 -0600 )edit

If you're using robot_localization for your ekf, it doesn't publish base_link -> imu_link (this is a static transform). R_l will typically publish odom->base_link or map->base_link. You need to make sure you're publishing base_link -> imu_link so that r_l ekf can use the imu.

stevejp gravatar imagestevejp ( 2018-08-03 07:11:31 -0600 )edit

stevejp, I am about to add IMU to robot that uses wheel-chair motors in tank steer. My experience with IMU on a smaller robot is that it couldn't be made to work as it would lose calibration as soon as the motors came on. Any feel for how far the IMU needs to be from motor? On a 3 foot pole?

billy gravatar imagebilly ( 2018-08-03 07:12:46 -0600 )edit

@billy Hard to give accurate numbers - 3 feet probably excessive though. My general advice for debugging magnetometers is to take the time properly understand sources of interference and why calibration not working. I would start by validating calibration process off the robot with no interference.

stevejp gravatar imagestevejp ( 2018-08-03 07:39:48 -0600 )edit

Then once you're confident in your calibration process, move the imu onto the robot and repeat. If your robot is too large to rotate around, you can rotate the imu in place as close to mounting point as possible. Also, no reason you can't calibrate with motors turned on.

stevejp gravatar imagestevejp ( 2018-08-03 07:42:34 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2018-08-03 03:15:51 -0600

Seen: 72 times

Last updated: Aug 03 '18