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

Filtering Visual Odometry and IMU/GPS data

asked 2014-09-16 04:24:10 -0500

mister_kay gravatar image

updated 2014-09-16 04:24:53 -0500


during the past months I have been working on gettings results from a stereo-cam system using ROS-package viso2_ros in a moving vehicle. So far so good, the egomotion estimation from visual odometry really works well as can be seen here:

I now have wheel_odometry, visual_odometry, IMU and GPS-data in ASCII-files ready to be processed and filtered (also have a reference trajectory giving the "true" position). Here is the data:

I can filter all the data with the package "robot_pose_ekf". The disadvantage is that the package uses the orientation from the IMU rather than angular rates and acceleration. This orientation is drifting and not accurate.

I was wondering if you could give me tips how to build a filter which fuses all the described data. If possible the design of the filter should not be that complicated since I donot have that much knowledge about EKFs. Also any good literature recommendation is appreciated.


edit retag flag offensive close merge delete


Hi I am also using viso2_ros inside gazebo to get stereo visual odometry. I am facing issues with translation estimates. When my robot is standstill, even then there is some forward motion estimate given by the package. Did you ever face these issues ? Thanks

karry3775 gravatar image karry3775  ( 2020-04-06 12:02:22 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2014-09-16 08:11:21 -0500

Tom Moore gravatar image

Have you tried robot_localization? It accepts angular velocities, though linear acceleration is not (yet) supported.

However, I'm surprised that you're getting drift from robot_pose_ekf. Have you tried plotting the raw sensor data?

edit flag offensive delete link more


Yes I did. Actually that is what my supervisor told me, e.g. if an xsens is in rest, the orientation [computed by xsens] will drift over time. I also have some experience with that. My former colleague has put up a video of his error state filter: .

mister_kay gravatar image mister_kay  ( 2014-09-16 09:59:27 -0500 )edit

Question Tools



Asked: 2014-09-16 04:24:10 -0500

Seen: 1,632 times

Last updated: Sep 16 '14