Fixed yaw precision landing

Hi,

we are using a ArUco-Tag based landing approach for our copter application and are very happy with the improvements that 4.2 has brought in precision landing.
The only issue we have with it right now, is that when the copter is landing (thus far we only tried by switching into the landing mode with the mode switch) and the detection is lost, the copter might turn strongly while looking for the tag. This is not desirable for our application, where we need the quad to land roughly facing into the right direction.
Is there a way to deactivate this behaviour or even take the rotation of the tags into account while landing?

Thanks and kind regards
Raphael

1 Like

Hi @WARGRaph,

Txs for the report. That doesn’t sound good and I’m not aware of any reason why precision landing would yaw the vehicle. Can you provide an onboard log in which this happened?

FYI @Leonardthall @rishabsingh3003.

@WARGRaph thanks for the report.
So when we lose the landing target, if you have “precision landing retry” setup, the copter will yaw towards the last known direction as well as travel towards it. Is that not the behaviour you want? While implementing the “retry” logic, I thought that was the most logical approach.
The relevant code is here: ardupilot/mode.cpp at Copter-4.2 · ArduPilot/ardupilot · GitHub

You can of course disable landing retries all together and then the copter will just come down vertically if it looses the landing target.

1 Like

Hi, thanks for the quick answers!
Behind the link is a log which should contain two of such situations: Dropbox - 00000110.BIN - Simplify your life. Retrying is definately a feature we want, if we could either deactivate the yawing on retry or use the information of the tags relative rotation to the drone that would be ideal.
In our application we land in a base station where the drone will be recharged, thus we need to align the drone to the charging contacts in some way.
We actually still want to write a wrapper around the precision landing to abort the landing and land in a “safe spot” if the retries exceed some amount so we don’t break anything if there is something wrong. (Lua bindings to precision landing would be great!)
Thank you for all of your work!

@WARGRaph,

Rishabh has a fix for this and will go out probably with 4.2.1. I think we’ve missed the cut-off for 4.2.0 but 4.2.1 will go out probably within 3 weeks.

-Randy

Thank you both so much for the quick response and fix!

1 Like

@WARGRaph I have a custom branch somewhere that does what you are asking in Lua. I hope to push a PR soon

@rishabsingh3003 that would be awesome! Let me know if you need help with testing