Sterowanie z uczeniem iteracyjnym (iterative learning control, ILC) – metoda sterowania układami, które pracują w trybie powtarzalnym (przykłady takich układów to: manipulator ramienia robota, wsadowe procesy chemiczne i instalacje do testów niezawodnościowych). W każdym takim zadaniu wymaga się, aby układ wykonywał to samo działanie wielokrotnie i z dużą precyzją. Działanie to wyraża się przez cel jakim jest dokładne podążanie, w skończonym czasie, za danym sygnałem odniesienia.

Powtarzanie to pozwala układowi na poprawę dokładności nadążnej z każdym powtórzeniem i w efekcie nauczenia się jaki sygnał ma być podawany na wejście układu tak, by układ podążał dokładnie za zmienną referencyjną. W procesie uczenia, do polepszenia sygnału sterującego, wykorzystywana jest informacja z poprzednich powtórzeń, a więc odpowiednie działanie sterujące znajdywane jest na drodze iteracyjnej. Zasada modelu wewnętrznego pozwala na określenie warunków, w jakich można uzyskać dokładne nadążanie, ale projekt samego algorytmu sterowania wymaga podjęcia odpowiednich decyzji, tak by dopasować go do danego zastosowania.

Typowa, prosta zasada sterowania może być określona wzorem: