{'fraction_non_alphanumeric': 0.019461077844311378, 'fraction_numerical': 0.005988023952095809, 'mean_word_length': 5.306603773584905, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Iterative learning control as a method of experiment design for improved system identification

Iterative learning control (ILC) and repetitive control (RC) use iterations in hardware that adjust the input to a system in order to converge to zero tracking error following a desired system output. ILC experiments on a robot improved the tracking accuracy during a high-speed manoeuvre by a factor of 1000 in approximately 12 iterations. Such performance requires knowing system phase information accurate to within ±90° or better. Otherwise, the iterations appear to start diverging. During divergence, they produce inputs that particularly excite unmodelled or poorly modelled dynamics, producing experimental data that is focussed on what is wrong with the current model. This article investigates use of RC/ILC for the purpose of developing good data sets for identification. This reverses the normal objective in RC/ILC to make convergence to zero tracking error as robust to model error as possible. Instead, for identification, one aims to make the convergence of iterations as sensitive as possible to model error. In system identification, one essentially always misses some parasitic poles or residual modes. The method systematically produces data that specifically targets such unmodelled modes. Numerical examples are given.