Q:

What is the difference between direct and indirect learning control?

I found the following comments on direct and indirect control in "Survey on iterative learning control, repetitive control and run-to-run control." by Wang, Gao, and Doyle:

There are two application modes to use the learning-type control. First, the learning-type control method is used to determine the control signal directly, and this kind of learning-type control is called direct learning-type control. Second, there is a local feedback controller in each cycle and the learning-type control is used to update the parameter settings of the local controller, so this kind is called indirect learning-type control. The methods that can be used for designing direct learning-type control and indirect learning-type control will be discussed in Section 4 and in Section 5, respectively.

What is the difference between direct and indirect learning control? My understanding is that in indirect control you can alter the control parameters and the input signal as opposed to just the input signal in direct control; is this correct? I also do not understand the significance of a "local" controller.

A:

I have only skimmed through the paper. The terminology is put forward by the paper to organize it.
Figure 6 in the paper is the key (bottom of page 1595). That is a diagram of indirect learning control.
Here, the learning controller takes two inputs: one is the system output, and the other is the output of the 'local controller'.
What is the local controller? The paper says: "In principle, any real-time feedback control law can be chosen as the local control." It seems that the local controller is a real-time feedback controller, such as a PID controller (proportional-integral-derivative controller), but it could be more complex, or even a simple open loop controller. The feedback is shown in the diagram, where the output of the system is fed into the local controller.
So, what is the other input to the local controller? That is the output of the learning controller. For the purpose of this paper, it is whatever input the designer considers to be useful. The examples in the paper range from setting the duration of a batch process, through setting the references of a PID controller, to updating parameters of advanced controllers such as model-based or neural network controllers.
The paper describes direct learning control as an arrangement without the intervening, 'local', real-time controller. In other words, the learning controller is connected directly to the process or system under control. Update: This direct connection will modify the setpoint of a real-time feedback controller.

