L1 Adaptive Control Tutorials

For those who are interested in L1 adaptive control theory and want to apply it to their systems, here is a short tutorial with papers and some Matlab/Simulink programs. The best way to learn is to follow the book in all the details.

Step 1:

Read the following papers (following the highlighted guideline):

  1. E. Kharisov, N. Hovakimyan, and K. Astrom, Comparison of Several Adaptive Controllers According to Their Robustness Metrics, In Proceedings of AIAA Guidance, Navigation and Control Conference, Toronto, Canada, AIAA-2010-8047, 2010.
  2. C. Cao, and N. Hovakimyan, Design and Analysis of a Novel L1  Adaptive Control Architecture with Guaranteed Transient Performance, IEEE Transactions on Automatic Control, vol.53, No.2, pp. 586-591, 2008.
  3. C. Cao, and N. Hovakimyan, “L1 Adaptive Controller for Systems with Unknown Time-varying Parameters and Disturbances in the Presence of Non-zero Trajectory Initialization Error”, International Journal of Control, Vol. 81, No. 7, 1147–1161, July 2008.
  4. C. Cao, and N. Hovakimyan, Stability Margins of  L1 Adaptive Controller, IEEE Transactions on Automatic Control, vol. 55, No. 2, pp. 480-487,  2010.
  5. C. Cao, and N. Hovakimyan, “L1 Adaptive Controller for a Class of Systems with Unknown Nonlinearities: Part I.”, American Control Conference, Seattle, WA, pp. 4093-4098, 2008.
  6. C. Cao, and N. Hovakimyan, “L1 Adaptive Controller for Nonlinear Systems in the Presence of Unmodelled Dynamics: Part II.”, American Control Conference, Seattle, WA, pp. 4099-4104, 2008

If you are interested  in output feedback designs, you need to read the following two papers:

  1. C. Cao; N. Hovakimyan, ” L1 Adaptive Output Feedback Controller for Systems of Unknown Dimension,” IEEE Transactions on Automatic Control , vol.53, no.3, pp.815-821, April 2008.
  2. C. Cao, N. Hovakimyan,  L1 Adaptive Output Feedback Controller for Non-Strictly Positive Real Systems: Missile Longitudinal Autopilot Design, AIAA Journal of Guidance, Control and Dynamics, vol. 32, No. 3, pp. 717-726, 2009.

Some benchmark problems (Rohrs example and two-cart system) in adaptive control have been analyzed in:

  1. E. Xargay, N. Hovakimyan, C. Cao, “Benchmark Problems of Adaptive Control Revisited by L1 Adaptive Control“,  17th Mediterranean Conference on Control and Automation, Thessaloniki, Greece, June 24-26, 2009, pp. 31-36.

For various applications, including flight test results, check:

Step 2

You can run the following Matlab/Simulink programs to be convinced in the simulation results of the above listed papers:

  1. Simulink files for paper 2
  2. Simulink files for papers 3 and 4.
  3. Simulink files for Rohrs’ example in paper 9

Please follow the README files inside the archives (basically, just run the “DoSims.m” script for each model, and it will do the initialization, run the simulation and plot all the results automatically). You can easily change the initial conditions, reference inputs, uncertainties, etc., and check the transient performance.

If you want to have L1 implemented on your model, the ONLY way to check the correctness of your implementation is to change the reference inputs, uncertainties and initial conditions and be convinced that the transient performance remains the same or changes in predictable, scalable (desired) manner. If the control signal experiences high frequencies, then simply adjust the filter bandwidth following common sense and well-known rules from classical and robust control. Always select the adaptation gain as high as your CPU permits.