Dynamic initialization has been added alongside the current static one.
New dependency requirement of ceres-solver to support the MLE refinement
Recovered covariance still requires some inflation (likely due to being close to identity)
Tested on existing datasets, seems to work reasonable well, but please let us know
Closes #204 and #222
The frontend now has two threads. The IMU will always publish the state odometry at its rate, along with recording the IMU readings. This should help deployment on real robots were the latency if key.
Odometry publish is now in the local frame to match the ROS spec (fixes #224)
Dynamic initialization is an implementation based on:
Dong-Si, Tue-Cuong, and Anastasios I. Mourikis. "Estimator initialization in vision-aided inertial navigation with unknown camera-IMU calibration." 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2012.
Key Changes
Dynamic initialization is an implementation based on:
Demo Youtube Video: https://www.youtube.com/watch?v=eSQLWcNrx_I
https://user-images.githubusercontent.com/2222562/159347591-97b3f334-7b8b-4ff8-b41d-875aa04d2544.mp4