Considerate VIO drift (z-axis) in Starling V2.
-
Hello, @Chad-Sweet @James-Strawson @modaltb
I had recently purchased a pair of Starling V2s. After using one of them for two months, a VIO issue arose. A consistent and considerate amount of drift quickly accumulates during flight, (especially on the z-axis). A constant incorrect height estimation is present, which causes the drone to shoot up while using the voxl-mapper.
Things I tried :
- Cleaning the tracking camera lens.
- Made sure Odometery data is in the NED frame
- Double-checking the extrinsics.conf.
- Redid calibration for IMU and tracking camera. (This was quite hard for the camera as it failed most of the time).
- Checked IMU vibration and confirmed they're low noise measurements.
- Made sure the environment is well-lit and has sufficient features.
- Inspected and restarted QVIO server (camera-server and vision hub as well)
The weird thing is that both starling v2s have the same issue, one after using it for 2 months and the other which was never used. My current SDK version is 1.1.1
I tried the other SDK versions, and the z-axis drift is not present only in SDK = 1.0.0.-
I want to know the reason behind this drift and how I could correct it. (Any solution/ suggestion except downgrading to SDK 1.0.0).
-
Another follow-up question is I planned on reducing the overall drift by combing the system with a flightcore v2, and optical flow/ rangefinder and fusing it in the EKF. Is this possible/ done before?
I have attached some pictures for reference. You can see that the floor of the map is below the horizon and the height in QGC is negative.
Any help/suggestion would be greatly appreciated
Thank you, -
It's interesting that you see a difference in performance between SDK1.0 and SDK1.1, between those releases was a change in the way IMU timestamps were calculated that now provide more consistent and accurate timestamps which should have improved vio performance.
Do you mind trying SDK 1.1.3 with both the newest qrb5165_imu_server (1.0.1) and the old qrb5165-imu-server (0.6.0) from the old SDK to see if the problem is tied to the IMU server or something else?
http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.0/binary-arm64/qrb5165-imu-server_0.6.0_arm64.deb
http://voxl-packages.modalai.com/dists/qrb5165/sdk-1.1/binary-arm64/qrb5165-imu-server_1.0.1_arm64.debThank you!
-
@James-Strawson
Thank you. Will test and get back to you. -
@Jetson-Nano Please reference our VIO troubleshooting guide as well https://docs.modalai.com/flying-with-vio/#troubleshooting-vio