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

Revision history [back]

click to hide/show revision 1
initial version

My high-level recommendation:

Trust wheel odometry for linear velocity, trust monocular odometry for angular velocity, feed these to EKF and compute pose.

Reasoning:

It would make a lot more sense to feed rate (velocity) measurements from wheel encoders and visual odometry into your EKF and let the EKF fuse the rate measurements to compute pose. If you can provide good values for noise covariances for these various rate measurements it is possible to get good pose information. Obviously, tuning the process noise is a time consuming process.

Monocular visual odometry is quite good at measuring rotation but has no idea of scale of motion so you should use its pose estimate or linear velocity estimate, only its angular velocity estimate.

Stereo visual odometry can determine the scale of motion but is susceptible to high noise, so you can use its linear velocity and angular velocity measurements but be careful of its linear velocity measurements.

Wheel odometry is good for providing linear and angular velocities but it can be susceptible to wheel slippage. A lot of wheel slip leads to bad odometry but my guess is that if your slip is nominal (regular concrete floor or road) it is best to trust this the most, especially for linear motion.

How to make it better:

Get an IMU as well.

My high-level recommendation:

Trust wheel odometry for linear velocity, trust monocular odometry for angular velocity, feed these to EKF and compute pose.

Reasoning:

It would make a lot more sense to feed rate (velocity) measurements from wheel encoders and visual odometry into your EKF and let the EKF fuse the rate measurements to compute pose. If you can provide good values for noise covariances for these various rate measurements it is possible to get good pose information. Obviously, tuning the process noise is a time consuming process.

Monocular visual odometry is quite good at measuring rotation but has no idea of scale of motion so you should NOT use its pose estimate or linear velocity estimate, only its angular velocity estimate.

Stereo visual odometry can determine the scale of motion but is susceptible to high noise, so you can CAN use its linear velocity and angular velocity measurements but be careful of its linear velocity measurements.

Wheel odometry is good for providing linear and angular velocities but it can be susceptible to wheel slippage. A lot of wheel slip leads to bad odometry but my guess is that if your slip is nominal (regular concrete floor or road) it is best to trust this the most, especially for linear motion.

How to make it better:

Get an IMU as well.