HKUST-Aerial-Robotics / VINS-Fusion

An optimization-based multi-sensor state estimator
GNU General Public License v3.0
3.45k stars 1.37k forks source link

numerical unstable in preintegration #246

Open Neoyning opened 4 months ago

Neoyning commented 4 months ago

Hi there,

I am testing the VINS-Fusion with stereo inertial config, the code run properly and the GUI (rivz) is showing the correct results, but it always suddenly goes into warning "numerical unstable in preintegration", and from this on the estimation of trajectory diverges.

Screenshot from 2024-05-28 16-58-01

Screenshot from 2024-05-28 17-05-08

[ WARN] [1716886222.055879229]: numerical unstable in preintegration [ WARN] [1716886222.057814121]: numerical unstable in preintegration [ WARN] [1716886222.059318981]: numerical unstable in preintegration

This phenomenon does not always happen on the same rosbag. When I use VINS-Mono for the same rosbag, this issue is never triggered and shows robust performance. So now I only use mono inertial instead of stereo inertial when testing VINS.

Does anyone know the reason for this phenomenon?

Thanks

Neoyning commented 4 months ago

The "numerical unstable in preintegration" happens when computing the Jacobian of IMU preintegration.

if (jacobian_pose_i.maxCoeff() > 1e8 || jacobian_pose_i.minCoeff() < -1e8) { ROS_WARN("numerical unstable in preintegration"); }

ZW-PRO commented 3 weeks ago

Pls have you solved it?