Starling 2 Max Crashes in Position Hold Mode After Disabling Magnetometer for Indoor Flight
-
We’re encountering an issue while trying to fly our Starling 2 Max drone indoors inside a netted cage using PX4. Initially, we were getting a “magnetometer interference” error, which prevented arming. To bypass this, we changed the following parameters:
EKF2_MAG_TYPE = 5
SYS_HAS_MAG = 0This allowed us to arm the drone and take off using our VIO setup (we are flying without GPS or magnetometer, relying solely on visual-inertial odometry). However, after takeoff, when switching to Position Hold mode, the drone began to ascend uncontrollably, didn’t respond to RC inputs, hit the ceiling, and crashed. Has anyone faced this issue before? We’re wondering:
-
What might be causing the drone to ignore RC input in Position Hold mode?
-
Are there other parameters we should configure to properly use VIO indoors without a GPS or magnetometer?
-
What’s the correct setup for stable, autonomous indoor flight on PX4 with VIO?
Any help or guidance would be greatly appreciated. We’re aiming to safely fly indoors autonomously with the Starling 2 Max and want to make sure our configuration is correct.
Thanks in advance!
-
-
@berayksl What version of the SDK are you running? Can you please provide a log of the flight? When you say it didn't respond to RC inputs are you referring to stick input or trying to switch flight modes out of position hold?
-
@Eric-Katzfey I'm running SDK version 1.4.3.
Where can I find the log file of the flight?
The drone didn't respond to stick input, which it should have in the position hold mode.
-
@berayksl Flight logs are in /data/px4/log
-
@Eric-Katzfey here is the log of the flight: https://review.px4.io/plot_app?log=a2686aeb-913d-49aa-8f21-b9802b28ec02
-
@berayksl Hi there. being 1.4.3, you may want check the parameter in
/etc/modalai/voxl-vision-hub.conf
that:
"en_vio": true,
Also, on some setups we noticed added latency that triggers the PX4's EV timeout and could explain the "invalid setpoint" log message. In PX4 please set
EKF2_NOAID_TOUT
parameter in QGC to8000000
.Checking the above and before your next test flight, perform a hand test as follows:
- startup voxl portal & connect to the drone (web browser w/ip addr of the drone as the url--wifi must be running)
- goto the "vio" tab in portal
- pick up the drone and move it back and forth, then left and right. You should get something close to a "plus" trajectory in the portal screen (see attached). If it "flies away" then good chance calibration (imu, or camera, extrinsics) is off. If it stays frozen/unresponsive then there's a SDK configuration error.
- If you can repeat what is shown in the image, that confirms VIO is working properly and likely the above NOAID issue..
--
--
if you're still having issues on take off, then you can modify in
/etc/modalai/voxl-open-vins-server.conf
and try the blind takeoff option by setting"en_vio_always_on": false
, but note VIO will not report any movements (vio position will report as if frozen) until you arm the drone. -
@Cliff-Wong said in Starling 2 Max Crashes in Position Hold Mode After Disabling Magnetometer for Indoor Flight:
8000000
Hi Cliff,
Thank you for your response. I checked the config file and "en_vio" was set to 'true'.
Also I tried moving the drone inside the drone cage and was able to get a trajectory similar to yours initially:
However, the results are inconsistent. Sometimes the trajectory is inaccurate, and the drone drifts away in the portal view:
Could this be related to calibration issues, or is VIO inherently unreliable in some cases? Could the drift be due to a lack of visual features in the environment?
Also, do you think it's safe to fly indoors without the magnetometer? (I had to disable it because I was getting an interference error that prevented arming)
Are there any other PX4 parameters I should adjust to ensure safe indoor flight? I want to double-check that everything is set up correctly before attempting another test because I don't want to crash the drone like last time.
Lastly, is there a way to test the VIO setup in a HITL simulation before performing an actual flight, just to verify that everything works as expected?
Thanks again for your help!