Iterative Learning Control – Part 1

Iterative Learning Control (ILC) is used for improving the transient response in systems that perform repetitively. ILC tries to improve the response by adjusting the input to the plant based on the error observed in the previous iteration.

A conventional controller C can be written as follows:

u_{k+1}(t) = C[e_{k+1}(t-1)]

where k shows the number of iterations, t denotes time, u is the input to the controller, and e is the error between the desired and the actual goal. It can be seen that the error from time t-1 has been used to make an output from the controller, and the output is being used at time t. The controller can be simply a constant gain such as:

u_{k+1}(t) = K_p*e_{k+1}(t-1)

The ILC controller, on the other hand, uses the error in time t+1 to make inputs at time t. This can be possible only through iteration. So that the error at time t+1 was observed from the previous iteration, k and will affect the next iteration, k+1.

u_{k+1}(t) = u_{k}(t) + C[e_{k+1}(t+1)]

again with a simple controller we can have:

u_{k+1}(t) = u_{k}(t) + K_p * e_{k+1}(t+1)

See an example in the next post.

 

About machinelearning1

This weblog is about Machine Learning and all related topics that one needs to challenge real world with artificial intelligence.
This entry was posted in control, Machine Learning, MATLAB, Optimization, programming, Robotics, Software and tagged , , , , , , , , , , , , , , , , , , , , , . Bookmark the permalink.

Leave a comment