IMU fails to initialize in Monocular-Inertial mode
Hello, I am facing an issue in ORB_SLAM3 where my Monocular-Inertial setup does not seem to be working as intended. I am using the following hardware:
- Raspberry Pi 5
- Raspberry Pi Cam V3 (rolling shutter)
- MPU6050 IMU
I have performed allan variance and calculated the noise of the IMU sensor for around 12 hours at around 355Hz.
I am not performing hardware synchronization and in my capture script I assign the current timestamp for when I receive the frame and the IMU sample.
I run the IMU at around 350Hz and capture around 30 FPS.
I performed Kalibr camera-IMU calibration and got the following report:
mono_imu_timestamp_fix-report-imucam_old.pdf
However, when I use the parameters after adding them to an ORB_SLAM3 compatible YAML file and run ORB_SLAM3, my IMU fails to initialize and I keep losing tracking. I momentarily do see frames but the IMU never seems to initialize.
Can anyone please guide me on what could be the issue?
I can provide more information if needed.
I have the same problem! Do the camera and IMU have to be integrated together?
If the camera and IMU are not hardware synchronized so there is no guarantee they capturing at the same time which is an essential reason for initialization failure, and in your report it appears that the time shift between camera and IMU is -10ms which big number, in my case where my sensors are hardware synced it about 5ms, you can try ROS message filter approximate Policy (https://wiki.ros.org/message_filters ) to try syncing you messages(camera frames and IMU frames) based on their ROS timestamps