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):
- 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.
- 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.
- 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.
- C. Cao, and N. Hovakimyan, Stability Margins of L1 Adaptive Controller, IEEE Transactions on Automatic Control, vol. 55, No. 2, pp. 480-487, 2010.
- 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.
- 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:
- 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.
- 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:
- 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:
- I. Gregory, E. Xargay, C. Cao and N. Hovakimyan, Flight Test of L1 Adaptive Controller on the NASA AirSTAR Flight Test Vehicle, AIAA Guidance, Navigation and Control Conference, Toronto, Canada, 2010.
- T. Leman, E. Xargay, G. Dullerud, N. Hovakimyan, T. Wendell, L1 Adaptive Controller for X-48B Aircraft, AIAA-2009-5619, AIAA Guidance, Navigation and Control Conference, Chicago, IL, 2009.
- J. Wang, N. Hovakimyan, C. Cao, L1 Adaptive Augmentation of Baseline Gain-scheduled Controller for Racetrack Maneuver in Aerial Refueling, AIAA-2009-5739, AIAA Guidance, Navigation and Control Conference, Chicago, IL, 2009.
- I. Gregory, C. Cao, E. Xargay, N. Hovakimyan, L1 Adaptive Control Design for NASA AirSTAR Flight Test Vehicle, AIAA-2009-5738, AIAA Guidance, Navigation and Control Conference, Chicago, IL, 2009.
- I. Kitsios, V. Dobrokhodov, I. Kaminer, K. Jones, E. Xargay, N. Hovakimyan, C. Cao, M. Lizarraga, I. Gregory, N. Nguyen, K. Krishnakumar,Experimental Validation of a Metrics Driven L1 Adaptive Control in the Presence of Generalized Unmodeled Dynamics, AIAA-2009-6188, AIAA Guidance, Navigation and Control Conference, Chicago, IL, 2009.
- Z. Li, N. Hovakimyan, C. Cao and G.-O. Kaasa, Integrated Estimator and L1 Adaptive Controller for Well Drilling, American Control Conference, St. Louis, MO, 2009.
- Y. Lei, C. Cao, E. Cliff, N. Hovakimyan, A. Kurdila, K. Wise, Design of an L1 Adaptive Controller for a Hypersonic Vehicle in the Presence of Flexible Dynamics, American Control Conference, St. Louis, MO, 2009.
- B. Guerreiro, C. Silvestre, R. Cunha, C. Cao, N. Hovakimyan, L1 Adaptive Controller for Autonomous Rotorcraft, American Control Conference, St. Louis, MO, 2009.
- K. Wise, E. Lavretsky, N. Hovakimyan, C. Cao, J. Wang, Verifiable Adaptive Flight Control: UCAV and Aerial Refueling, AIAA-2008-6658, AIAA Guidance, Navigation and Control Conference, Honolulu, HI, 2008.
- V. Dobrokhodov, I. Kitsiois, I. Kaminer, K. Jones, E. Xargay, N. Hovakimyan, C. Cao, M. Lizarraga, I. Gregory, Flight Validation of Metrics Driven L1 Adaptive Control, AIAA-2008-6987, AIAA Guidance, Navigation and Control Conference, Honolulu, HI, 2008.
- J. Wang, C. Cao, N. Hovakimyan, R. Hindman, B. Ridgely, L1 Adaptive Controller for a Missile Longitudinal Autopilot Design, AIAA-2008-6282, AIAA Guidance, Navigation and Control Conference, Honolulu, HI, 2008.
- P. Aguiar, A. Pascoal, I. Kaminer, V. Dobrokhodov, E. Xargay, N. Hovakimyan, C. Cao, R. Ghabcheloo, Time-Coordinated Path Following of Multiple UAVs over Time-Varying Networks using L1 Adaptation, AIAA-2008-7131, AIAA Guidance, Navigation and Control Conference, Honolulu, HI, 2008.
- E. Kharisov, I. Gregory, C. Cao, N. Hovakimyan, L1 Adaptive Control Laws for Flexible Space Launch Vehicle and Proposed Plan for Flight Test Validation, AIAA-2008-7128, AIAA Guidance, Navigation and Control Conference, Honolulu, HI, 2008.
Step 2
You can run the following Matlab/Simulink programs to be convinced in the simulation results of the above listed papers:
- Simulink files for paper 2
- Simulink files for papers 3 and 4.
- 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.