Starling 2 Max Crashes in Position Hold Mode After Disabling Magnetometer for Indoor Flight
-
@berayksl Hi there, to address your questions:
- The inconsistent VIO performance between flights
appears the inconsistent vio behavior on multiple arm/disarms is due to the way
voxl-open-vins-serverre-initializes after a disarm event. Are you still using in the voxl-open-vins-server.conf option"en_vio_always_on": falseand"en_auto_reset": true?If so, the next thing that can be an issue is takeoff speed. To ensure VIO has the correct origin (0,0,0) we have a conf parameter called:
"takeoff_accel_threshold": 0.5,This is essential a takeoff detector and is set for a aggressive take off (>80% throttle)If you are taking off very slow and gentle, it's possible the detector is not being tripped. Try lowering it from
0.5to0.3.- The “Yaw estimate error” message (should I be concerned if QGC shows no error)?
If the error doesn't repeat, it's just VIO telling PX4 to reset it's heading and PX4 complains on reset. This can be ignored. BUT if QGC keeps repeating the announcement, you have a PX4 yaw_gate issue--make sure in PX4 the param EKF2_EV_CTRL has the 'yaw' option checked.
And as a sanity check cause you are seeing an R/C issue: goto the radio tab in QGC and confirm your pitch/roll/yaw inputs are calibrated and centered such that you are not sending biased commands.
- The drone ignoring RC inputs during the second flight
Are you getting a r/c
"manual control lost"announcement in QGC or just lack of control when trying to move the drone? On the former case we have notice users in environments with lots of metal (e.g. warehouse) will have RF interference issues.At this point, we have numerous improvements in SDK 1.5.0 for Max and it maybe worth the upgrade if your system design allows it. It has improvements with the vio-always-on issues, vio resets, and some PX4 altitude improvements.
-
@Cliff-Wong Hi there. Thank you for answering my questions. We’re still using the same voxl-open-vins-server.conf settings with "en_vio_always_on": false and "en_auto_reset": true. I also updated the system to SDK 1.5.0 as suggested, but unfortunately, it didn’t seem to resolve the issue.
To further investigate, I tested VIO performance by holding the drone in my hand and moving it manually while observing the trajectories in the VIO visualization. I noticed two distinct trajectories being displayed: QVIO and OV. Sometimes the OV trajectory appears more accurate when I move the drone in a “plus” pattern, and sometimes the QVIO trajectory is more accurate, but most of the time it tends to drift significantly, and sometimes QVIO doesn't move at all.
I have two questions:
1-) What is the difference between QVIO and OV, and which one is actually used during flight for position estimation?
2-) What could be causing QVIO to fail to track properly, while OV performs well? (or the other way around)
Also, I'm not getting any 'manual control lost' errors in QGC, and I'm able to control the drone perfectly fine. However, it doesn't respond to any control inputs on rare occasions, where the drone can't hold its position and continues to ascend when I use VIO in 'Position Hold' mode.