Multiple PID Tuning

Discussion in 'The Projects Forum' started by NotAPro, Aug 22, 2012.

  1. NotAPro

    Thread Starter New Member

    Aug 22, 2012
    Dear All,

    I am trying to tune the gains of 2 separate PID's that are inside the same system and I'd like to know if the conventional Ziegler Nichols tuning works and if yes how. The system itself is mechanical but I thought I could get some feedback on the PID's here. Let me explain the problem a little:

    Imagine the system to be a vehicle. the input is the steering command from the driver and in between these 2 there's a controller block that acts on the input as well as the feedback that comes from the system. My issue is within the controller block.

    Inside the controller block there is one main PID that acts on the input error. Afterwards the output signal of that main PID gets divided into two branches to control the steering angle of each wheel. Now there is another PID that acts on one of these branches and is based on some other system parameter.

    Now my question is: if I have a controller like this what is the best way to tune the gains of these PID's? I should note that the vehicle model is highly complex and contains algebraic loops since no linearization has been done on it. So in a sense I can't really find a transfer function or easily convert its model into state space, that's why I was going for Ziegler Nichols since it needs little information about the system.

    Again I'm sorry if I ask this here but please if you have any idea based on the general shape of the problem let me know.
  2. t_n_k

    AAC Fanatic!

    Mar 6, 2009
    I'd be surprised if a modified Ziegler Nichols approach would help with multiple PID controllers.

    The classic Z-N heuristic method was developed for a class of control system typical of that found in many practical situations - a first order lag plus transport delay [dead time]. This is applied in a simple single loop case. It seems the complexity of your system as you describe it may mean the approach requires a more systematic methodology to optimize performance.

    You may get some joy by say, by-passing one controller and then using Z-N to 'optimize' the other controller then repeating the situation with the alternate case. It would depend on the degree of interaction between the two controllers and their individual dominance in the overall system dynamics.

    It may be of interest to note that certain motor [e.g DC] speed control systems make use of multiple feedback parameter control pathways. You may get some insights looking into the literature in that technology area.
    NotAPro likes this.
  3. NotAPro

    Thread Starter New Member

    Aug 22, 2012
    Thank you very much t_n_k,

    I will look into the method you mentioned, see if it helps. I also thought of an iterative approach where I apply tuning to one PID then keep that one's gains and apply to the next one and do this process multiple times, and see if it converges to something.