-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IMU samples using unite_imu_method are not suitable for visual slam to work well #2221
Comments
@amburkoff I've got the same issue while using the D435i with ORB_SLAM3 as well. Which offline interpolation script did you use? |
|
#898 (comment) |
|
@amburkoff, thank you for your input that the issue is shown on different host systems. |
@RealSenseCustomerSupport |
@amburkoff, thank you. I've tried and checked the performance of the D455 IMU frame drops on Intel NUC i7-7567U CPU @ 3.50GHz on our side.
|
We encountered the problem of missing IMU frames and their unstable frequency with the option unite_imu_method:=linear_interpolation .
There is a ticket #898 which talks about this problem, but apparently it has not been resolved.
I will add more details to the purpose of using the IMU. We want to run visual SLAM algorithms on the D455. But we have encountered the fact that they generally do not work well or do not work at all on IMU data from the D455 camera. At the same time, we carried out tests on the ZED2 camera and all the SLAM algorithms work well on it, since there the IMU data arrives at a stable frequency of 400hz, the gyroscope and accelerometer data are synchronized or embedded (the manufacturer does not specify this or I did not figure it out), The IMU has low noise performance.
It is also desirable that the IMU data be synchronized with the images.
I looked at the update on orbslam3 there appeared an example using realsense d435i https://github.com/UZ-SLAMLab/ORB_SLAM3/blob/master/Examples/Stereo-Inertial/stereo_inertial_realsense_D435i.cc and instructions for calibrating https://github.com/ UZ-SLAMLab/ORB_SLAM3/blob/master/Calibration_Tutorial.pdf Reading the source code, you can see that they read raw data from gyro and accel and then interpolate themselves.
We used this script to independently interpolate the d455 accelerometer and gyroscope data
https://drive.google.com/file/d/1PC43g8aFK7epY6PMj1HA3fQ6BjKYiKhg/view?usp=sharing
Linear interpolate of realsense: https://youtu.be/jBJGDNUjw1o
Offline interpolate scripts: https://youtu.be/3nH_XpLUstQ
We can see that add the end of corridor, when visual tracking, the "linear interp" IMU behavior badly same for later lost tracking, on the contrast, the IMU with "offiline interp", the tracking looks smoothly and give the reasonable trajectory when visual was lost.
It follows from this that we need the normal operation of the unite_imu_method:=linear_interpolation method for the visual slam to work
The text was updated successfully, but these errors were encountered: