Skip to content

Use iterative learning control (ILC) for trajectory tracking task with the existence of model mismatch. MPC is also used for comparison.

License

Notifications You must be signed in to change notification settings

lihanlian/trajectory-tracking-ilc

Repository files navigation

Overview

This repository is about using iterative learning control (ILC) for robot reference trajectory tracking problem with the situation of model mismatch. Model Predictive Control (MPC) is also used for comparison. It is initiated by the final project of MECHENG 599 - Data Driven Methods for Control Systems (2024 Winter) at University of Michigan - Ann Arbor.

Disclaimer: This is NOT a research project. Some part might not be rigorous and suggestions are welcomed.

ILC and MPC Overview

Image 1 Image 2

ILC Initial Iteration and MPC Result

Image 1 Image 2

ILC-QP (Example)

Image 1 Image 2

Run Locally

Clone the project

  git clone https://github.com/lihanlian/trajectory-tracking-ilc

Go to the project directory

  • run get_reference_trajectory.m to generate mat file that stores vector of reference trajectories (reference_trajectory.mat)
  • run get_initial_control_input.m to generate mat file that stores vector of initial control input solved by direct collocation, which will then be used for ILC iteration. (initial_control_input.mat)
  • run get_ilc_matrix.m to generate mat file that stores necessary matrices within ILC iteration loop. (ilc_matrix_nominal.mat and ilc_matrix_actual.mat)
  • run controller_mpc.m to check the tracking performance using MPC controller.
  • run controller_ilc*.m to check the tracking performance using different ILC algorithms.

Acknowledgements

The author would like to appreciate the course instructor Professor Uduak Inyang-Udoh for his help throughout the semester and discussion during office hours. The author would also like to thank Professor Zachary Manchester and Professor Pranav Bhounsule for the open course CMU 16-745 and open course on Robotics. Below are some good resources might be helpful on related topics.

License

MIT

About

Use iterative learning control (ILC) for trajectory tracking task with the existence of model mismatch. MPC is also used for comparison.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages