Tunning the PID's of Landing algorithm


So I am doing the simulation of Precision Landing single aruco marker. The problem is whenever it detects the aruco it osscilates alot left and right and then settles down and land. How can I tune the PID constants of this ? Is there any parameters to be set ?

Thank you


Just to be clear, have you installed the RF?
Precision landing is configured to not perform if a rangefinder is not detected. By default it probably won’t be activated on the SITL vehicle.

So you have to enable it for the PL mavlink messages to work.

You can do this with MAVProxy
Check what the current rangefinder is with this:

param show RNGFND1_TYPE

Then set it with this

param set RNGFND1_TYPE


Thank you for your response. The thing is Precision landing is working but its oscilation to and fro. May be this vide can explain better.


Thank you


I don’t think it is a tuning issue.
The oscillations occur only at our near the maximum altitude due to failure of adequate aruco identification, then settles down. The course talks about the FOV and aruco sizes. My guess is there is a problem with the setting in the code for altitude (too high), aruco size (too small) or camera configuration.
If this doesn’t fix it or no one else offers a suggestion, you are welcome to post or send me your code and I can try it.



Dear @jax200 Thanks for your response I am using the default world and model files and default Python script provided in courseRoot folder. Currently, I haven’t changed anything.

I wanted to know one more thing. Is there a way I can implement my own landing algorithm instead of using Ardupilot Precision Landing? If it’s there please provide me with an assistant and/or reference.

Thank you


Perhaps I should rephrase my previous response. It is actually behaving as expected due to the altitude and aruco size, and in the end it does land on it.

To seek other PL methods you can try searching the ardupilot forum.


Sure thank you for you help