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.


1 Answer 1


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.

  • $\begingroup$ your comments were helpful, thank you. The control is indirect because it updates the local controller and not signal, opposed to this repetitive control block diagram. In this case there are 2 local controllers and one happens to be an RC which is updating the signal, rather than the parameters of the feeback controller. Can the learning controller be real-time as well? $\endgroup$ Commented Mar 16, 2015 at 12:22
  • $\begingroup$ I agree with your second sentence. Should I put that in my answer? Another term that the paper uses for indirect input is "management decision." The way I read it, the direct RC updates the set point of the feedback controller, but to call it a pair of local controllers probably pushes the term beyond the intent of the authors and might sow more confusion. $\endgroup$
    – dcorking
    Commented Mar 16, 2015 at 19:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.