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

Merging odometry with imu data

asked 2018-02-19 21:06:19 -0600

Cerin gravatar image

updated 2018-02-19 21:07:06 -0600

I have a node monitoring dual motor encoders and publishing odometry to the standard /odom. I also have an IMU with a compass providing true orientation about the z axis.

I'm currently calculating the effective z orientation just from the wheel velocities, as explained in this answer. Should I instead use the z orientation provided by the IMU, since that's absolute? Or should wheel odometry and IMU data be kept separate and merged later into a new topic?

edit retag flag offensive close merge delete


May I ask, did you fuse IMU directly to odom? Would you mind sharing your odom code?

stevemartin gravatar image stevemartin  ( 2019-01-12 14:39:24 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2018-02-20 05:59:00 -0600

Here's a simple example using robot_localization: launch file, yaml config file.

We've been using this setup for fusing data from wheel/track odometry with IMU data from a UM7 IMU (and thus getting full 3D odometry). It has to be noted that for both IMU and wheel odometry, sensible covariances have to be published, as those directly get used by the EKF to fuse estimates.

edit flag offensive delete link more


Thank you for those links, although I wasn't really asking how to do this. I was asking should I do this? That example doesn't really seem to use EKF. It masks the odom and imu inputs so they're almost mutually exclusive, which doesn't require an EKF module. I can easily do that myself without EKF

Cerin gravatar image Cerin  ( 2018-02-20 12:28:04 -0600 )edit

Yes, this certainly isn't the most sophisticated utilization of a EKF, but it allows for easy integration of other modalities too. My guess would be you want to use the already proven and extensible available option instead of opting for doing it yourself (unless you have some special requirements)

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2018-02-20 17:58:24 -0600 )edit

@Stefan-Kohlbrecher what do you think is a good way to measure and publish accurate enough covariances? I have motors with encoders and MPU6050.

parzival gravatar image parzival  ( 2020-03-20 13:15:31 -0600 )edit

Question Tools

1 follower


Asked: 2018-02-19 21:06:19 -0600

Seen: 1,604 times

Last updated: Feb 20 '18