L1 Controller

Hello everyone,

I am trying to understand L1 Controller but couldn’t find documentation like mentioned in this topic :

Fixed wing position control L1 controller

I know inputs and output of L1 Controller. But I want to learn more.

There is some information about it but it’s another autopilot software so I thought that it should be conveyed in a clearer and more understandable way in PX4 too. And also I wanted to be sure about control algortihm. Like is it L1 Adaptive control or what article/research was it intended for?. I couldn’t find any further information I will be glad if you help.


Found it!.

Thanks Px4 dev team for the note.

 * Implementation of L1 position control.
 * Acknowledgements and References:
 *    This implementation has been built for PX4 based on the original
 *    publication from [1] and does include a lot of the ideas (not code)
 *    from [2].
 *    [1] S. Park, J. Deyst, and J. P. How, "A New Nonlinear Guidance Logic for Trajectory Tracking,"
 *    Proceedings of the AIAA Guidance, Navigation and Control
 *    Conference, Aug 2004. AIAA-2004-4900.
 *    [2] Paul Riseborough, Brandon Jones and Andrew Tridgell, L1 control for APM. Aug 2013.
 *     - Explicit control over frequency and damping
 *     - Explicit control over track capture angle
 *     - Ability to use loiter radius smaller than L1 length
 *     - Modified to use PD control for circle tracking to enable loiter radius less than L1 length
 *     - Modified to enable period and damping of guidance loop to be set explicitly
 *     - Modified to provide explicit control over capture angle