Land-detect sequence not triggering for QuadCopter

Good Afternoon

Quad_LandDetect.bin

I have recently been struggling with getting consistent results using the throttle-rudder disarm feature through my RC.

As seen in the log, before my flight it worked but after flying my quad it would not disarm and would have to be manually overridden through Misison Planner.

Going through the logs and the arducopter land_detector.cpp, the flight controller had not detected it being on the ground even though I had physically landed on a flat surface.

I am not to sure what is the next steps to ensure i can get reliable behaviour??

Kind Regards,
Dyl

First of all, you are flying Copter 4.5, which did not yet have land detector reasoning logging (and LDET messages in the logs). You would benefit from updating the firmware.

Without that knowledge, I can only try testing auxiliary hypotheses, and here are my thoughts. As an example I am using the next-to-last flight from the log, because the last one seemed OK and this one was definitely not. And here we see that, after landing, the copter was actively trying to move sideways, for which it eventually decided to decrease desired pitch and roll, which it actually managed to do, until (I guess) a MAVLink override was sent.

The reason for that, I guess, was that the copter was still in the Loiter mode, so it wanted to reach a certain GPS position, about half a meter away from its current position, and it couldn’t move there while on the ground - so it repeatedly increased the angles, because this is what you have to do in the air.

I guess the offset between the desired and actual GPS positions, and the urge of the copter to get there, which actually began about five seconds prior to landing, was forcing the machine to exceed the idle acceleration limits - initially via vibrations and resting only on some of the landing legs - which prevented the landing detector from detecting the landing.

A quick solution to that, I guess, would be to switch to Land once the machine is on the ground, which would silence the machine’s desire to fly somewhere else.

A deeper cause was that the machine was not actually able to maintain its attitude and position confidently. By looking at discrepancies between desired and actual pitch, roll and yaw we can see that they regularly exceed 5 degrees in either axis in the conditions of what I see to be a calm enough flight.

Similarly, the position discrepancies are quite large, especially in hover.

I see that the machine underwent some kind of trial-and-error tuning, but in the absence of PID logging (set LOG_BITMASK = 180222, this is the new default, and exactly for the reason of making tuning problem diagnostics easier) I cannot say what exactly to change.

You can use AMC and import a .bin file to it as a configuration starting point then update to Firmware on the FC and follow the sequence of steps that AMC recommends you to do.

1 Like