Odometry Trajectory Recursion Based on IMU Integral Interpolation.
- This repository is heavily based on ETH's odom predictor package https://github.com/ethz-asl/odom_predictor and Abin1258's https://github.com/Abin1258/imu_to_odom.
- Compared with the original versions, we have increased the monitoring of the odometry topic to eliminate the cumulative error.
- We fixed bugs in Abin1258's repo in the transformation from the orientation matrix to the quaternion.
- High frequency IMU topic (50Hz)
- Low frequency Odometry topic (1Hz)
- High frequency pose trajectory after IMU estimation and Odometry correction
$$ \Delta R ={ {\begin{bmatrix} 0& -w_z\times\Delta t& w_y\times \Delta t\
w_z\times\Delta t& 0& -w_x\times\Delta t\
-w_y\times\Delta t& w_x\times\Delta t& 0 \end{bmatrix}} }, $$
- Use the pose information from Odometry topic to cover the current pose vector.
- Velocity correction:
- Assume that
$|v_{mid}| = |v_{t}|$ $v_{mid} = \frac{Pos_{t} - Pos_{t-1}}{\Delta t}$ $v_t = R_t\times R_{t-1}^{-1}\times v_{mid}$
- Assume that
- RMSE/Length = 0.10156%