Problem: In AltHold mode, copter refuses to climb above ~1m. Descending works fine. Previously worked correctly. Similar behavior observed in Loiter mode.
Observations from logs:
RCIN.C3 responds normally (full range)
PSCD.DVD responds to downward stick but not upward
Not sure why, but there are lot of EKF_ALT_RESET events and rangefinder status changes at very low altitude. Also barometer seems to not work. If You have no other altitude sources than rangefinder that might be the source of the problem.
Also, AFAIK, rangefinder is used with baro, even if it is not a primary alt source.
Thanks for looking into this! You are right about the barometer issues. We are flying indoors in a confined space, and the barometer was showing very poor stability due to propeller wash and air pressure fluctuations from walls and ceiling. This was causing unstable altitude control, so we decided to remove it from EKF altitude sources and rely solely on the rangefinder.
That’s usually fixed with a piece of foam over the barometer. I “fly” several of my smaller craft in a very small office space when trying things out and don’t have any problem with the barometer. Including one with that same Flight Controller. Mini version anyway.
Regarding the rangefinder status changes - those are expected and normal.
Status 2 occurs when the drone is on the ground and the sensor is too
close to the surface (below minimum range). Status 4 is normal operating
mode. This behavior was present before and never caused issues.
As for the declared range - the sensor is rated for 8m, and I deliberately
set MAX_CM to 300cm precisely because I expected some optimism from the
manufacturer. But a 5 meter discrepancy between spec and reality would be
quite extreme - I’d expect some exaggeration but not that much.
Update: Found something interesting in the EKF configuration.
EK3_SRC1_POSXY is set to External Navigation, which was not
available during these flights. However, this should only affect
horizontal position estimation, not altitude.
We are flying in AltHold mode, so horizontal position source
shouldn’t matter for altitude control. But wondering - could
the absence of the configured horizontal position source cause
EKF to report degraded solution status, which in turn could
affect how pos_control handles altitude? Or is there any other
mechanism by which missing POSXY source could indirectly
affect vertical behavior?
We would really appreciate documented behavior here rather than
guesswork - is there an official description of how EKF3 handles
missing or unavailable configured sources, and what the downstream
effects on flight control are?