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

Revision history [back]

So the trouble with visual odometry is that it's still odometry, and while it's probably more accurate than wheel encoders, it's still going to be subject to drift over long periods. So you wouldn't really be "correcting" your odometry pose; your map frame pose would just be a bit more accurate than your odom frame pose. But over time, both will drift to unusable levels, if remaining localized is important.

What you really need is a node like amcl that is giving you a global pose estimate. That will prevent drift in the map frame EKF. (Note that you can also just run amcl by itself, without feeding the output to an EKF). If you're doing SLAM, then you probably don't need an EKF either. The SLAM package will be generating the map->odom transform, and will be localizing the robot globally as it drives around.