...
What was the issue:
The drone’s definition of level would drift over time.
Resulted in
Pilotting became more difficult over time as pilot would have to hold a constant stick input to maintain level flight
We landed on the ledges accidentally twice when the drone was harder to control .
Lots of time having to land on the ground over and over again so the drone could reset it’s definition of level flight
Possible Solutions (we can test these and may brainstorm more)
Installing optical flow sensor.
We have these sensors.
Was mentionned as a solution in https://discuss.ardupilot.org/t/indoor-flight-horizontal-position-shift-drift-using-only-imu-sensors/94877 .
Being able to use controller trim during flight may be able to resolve the issue without landing.
Disabling all compasses may help.
Changing IMU settings may help.
Try FlowHold flight mode which doesn’t need GPS https://discuss.ardupilot.org/t/indoor-flight-horizontal-position-shift-drift-using-only-imu-sensors/94877
Do ardupilot configuration following https://ardupilot.org/copter/docs/indoor-flying.html
An imu temperature calibration may help https://ardupilot.org/copter/docs/common-imutempcal.html
Why we didn’t catch this sooner
All our other tests were outside and away from large metal obstacles so this condition did not arise as severely as it did.
What caused it:
Flying near the metal walls seemed to cause the center drift to become much more severe.
Doing sharp stick inputs when in the middle of the event space did not cause any problems.
Flying near the concrete didn’t cause much problems either it seemed.
We have videos showing this, maybe review those and don’t trust us so much.
...