VINS-Mono icon indicating copy to clipboard operation
VINS-Mono copied to clipboard

IMU axis readings - large drift in results

Open danielroth88 opened this issue 5 years ago • 10 comments

Hi, When I echo the IMU from the bag file you published (MH01) it shows that the for motionless reading (25 secs into the recording) the X acc is roughly 9.8 meaning this is pointing to the ground. On my IMU (MPU920) the Z acc is 9.8 (which makes sense). My question is, am I doing something wrong? should it not work when the axes are not the same like that?

my error is that my drone drift off (in RVIZ) while motionless.

Hope I was clear enough, thanks in advance!

danielroth88 avatar Mar 29 '19 09:03 danielroth88

It seems odometry of vins will drift while motionless. I got the same problem as you and could not solve it right now.

linweilin avatar May 04 '19 04:05 linweilin

Its comforting to know I'm not alone :) current solution for me was to fasten the camera to the drone - while motionless on the table it shifted slightly causing the drift

danielroth88 avatar May 04 '19 14:05 danielroth88

same problem!

cucum13er avatar May 06 '19 22:05 cucum13er

I also have the same problem with Microsoft's azure kinect device, which drifts a lot. This problem seems to be related to imu data.

mildwinter avatar Nov 12 '19 11:11 mildwinter

Hi @mildwinter, We use Microsoft's azure kinect device in our application. Currently we compute the orientation only with the IMU, But as you sayd the IMU drift a lot. And we imagine to use Visual inertial odomtry like VINS mono to obtain more accurate orientation of the cam. But your last comment seems to show that the drift of the IMU can't be corrected with the visual part ?

benMOOVENCY avatar Apr 20 '20 09:04 benMOOVENCY

Hi @mildwinter, We use Microsoft's azure kinect device in our application. Currently we compute the orientation only with the IMU, But as you sayd the IMU drift a lot. And we imagine to use Visual inertial odomtry like VINS mono to obtain more accurate orientation of the cam. But your last comment seems to show that the drift of the IMU can't be corrected with the visual part ?

My last comment means that the camera position and orientation data output by the vins-mono algorithm drifts relatively large. This problem is related to the data of the IMU sensor. Now I solved the problem of large drift of the output position and direction data of the vins-mono algorithm by recalibrating the deterministic error and random error of the IMU sensor. During the recalibration, I reduced the output frequency of the IMU data to 50HZ. It is possible that the IMU data drift is severely related to the output frequency. The high frequency data magnifies the error. I suggest you try to reduce the IMU data frequency.

mildwinter avatar Apr 20 '20 16:04 mildwinter

Thanks a lot, I will tried to reduce the the IMU data frequency. Are you use this method in real time, if so, how is the framerate ? Do you think this algorithm are able to return a more accurate camera orientation than the only use of the IMU sensor fusion ?

benMOOVENCY avatar Apr 20 '20 18:04 benMOOVENCY

Thanks a lot, I will tried to reduce the the IMU data frequency. Are you use this method in real time, if so, how is the framerate ? Do you think this algorithm are able to return a more accurate camera orientation than the only use of the IMU sensor fusion ?

The real-time performance of this algorithm is very good. Its mobile version can even run on the phone. I do n’t know the accuracy when you only use the IMU device, so there is no way to give a conclusion. For the specific accuracy, please refer to its paper. You can configure this algorithm, the process is not complicated

mildwinter avatar Apr 23 '20 04:04 mildwinter

My last comment means that the camera position and orientation data output by the vins-mono algorithm drifts relatively large. This problem is related to the data of the IMU sensor. Now I solved the problem of large drift of the output position and direction data of the vins-mono algorithm by recalibrating the deterministic error and random error of the IMU sensor. During the recalibration, I reduced the output frequency of the IMU data to 50HZ. It is possible that the IMU data drift is severely related to the output frequency. The high frequency data magnifies the error. I suggest you try to reduce the IMU data frequency.

Hi! We are now trying to deploy VINS-Mono on azure kinect, but it turns out that the tracking trajectory drifts severly. We've tried your suggestion to reduce the IMU sampling rate, which does not help in our situation. We believe that our problem lies in the calibration between camera and IMU. Could you provide any tips of your calibration tool and results kindly? Thank you!

trioKun avatar May 07 '22 03:05 trioKun

Hi! We are now trying to deploy VINS-Mono on azure kinect, but it turns out that the tracking trajectory drifts severly. We've tried your suggestion to reduce the IMU sampling rate, which does not help in our situation. We believe that our problem lies in the calibration between camera and IMU. Could you provide any tips of your calibration tool and results kindly? Thank you!

Nice to meet you here! I had the same problem when I used azure. Have you solved the problem? I have tried data others calibated, but it didn't work. Could you give me any suggestion? Any help will be greatly appreciated!

XiliangLi avatar Nov 13 '22 09:11 XiliangLi