stella_vslam
stella_vslam copied to clipboard
IMU integration
Tasks
- Consider how to do unit testing or benchmarking
- [ ] unit testing of IMU preprocessings (compute_velocity, compute_gravity_dir, preintegration)
- [ ] unit testing of edges for visual inertial
- [ ] unit testing (or benchmarking) of globalBA, localBA, prediction, loop closure
- Implementation features and unit tests
- [ ] globalBA
- [ ] localBA
- [ ] prediction
- [ ] loop closure
- Stabilize the scale and gravity direction initialization if possible.
- [ ] Make the keyframe insertion strategy customizable.
- [ ] Consider a default keyframe insertion strategy when using IMU.
- [ ] Investigate how to calibrate the camera and IMU.
- (The pinhole camera model is supported by Kalibr.)
- [ ] Exploring data sets
Implementation considerations
- Consider how to implement without losing readability and usability.
- Do not optimize too early. Only adopt methods that have been shown to be effective by benchmarking.
wip branch
wip/gba is an experimental implementation, but it has some issues.
- The edge implementation is untested and suspicious.
- It pollutes the existing global BA.
- It is very unstable. The result will change each time you run it. In particular, the calculation of the direction of gravity is unstable.
- There seems to be a difference in the optimal strategy for keyframe insertion: compared to Visual SLAM, we needed to insert more keyframes for scale and gravity direction initialization.
- My impression from the experiments so far is that the time taken for initialization is too long. In some applications, it may be necessary to move the camera randomly until it is initialized.
references
- Discussions
- https://github.com/OpenVSLAM-Community/openvslam/discussions/234
- https://github.com/OpenVSLAM-Community/openvslam/discussions/228
- Articles
Hello @ymd-stella. Thank you for your continuous code update. If I use the code of branch "feat/imu", can I use visual-inertial SLAM like ORB-SLAM3?
No.
any update?
None.