MIMOtool Help Desk

PID

(Output Feedback)

The PID (Proportional-Integrative-Derivative) synthesis allows designing an output feedback controller Kof(s) in accordance with the desired step responses of the channels on the principal diagonal of the plant transfer matrix

G(s) = C inv( sI -A ) B +D

If m and r are respectively the number of plant inputs and outputs, the matrix G has size(G) = [r, m] and the number of channels on its principal diagonal is nchp = min{r, m}; after designing a SISO standard regulator Ri(s) for each one of these nchp SISO subsystems, the controller Kof(s) is built in such a way that the closed loop behavior of every subsystem depends only on the corresponding standard regulator; therefore, depending on the minimum dimension of the plant, the structure of Kof can be:

·        [diag{R1(s) , R2(s) , …, Rm(s)} , zeros(m , r-m)]           if nchp = m

·        [diag{R1(s) , R2(s) , …, Rr(s)} ; zeros(m-r , r)]             if nchp = r

Obviously the resulting controller, which determines the control input of the closed loop, acts upon all channels of G(s) and then the closed loop system will have a behavior as much similar to the desired one if the plant is diagonal dominant.

In order to control any single channel on the principal diagonal of G(s), the user can select, by means of the option buttons of the relative window, one of the following standard regulators:

·        Proportional (P) Þ RP(s) = Kp

It can be used when the plant permits a high loop gain without damaging the stability and the type of the plant is more or equal to 1.

·        Integrative (I) Þ RI(s) = Kp /(s Ti)

It's useful, when the type of the plant is 0 in order to achieve a null static error on the step response.

·        Proportional-Integrative (PI) Þ RPI(s) = Kp ( 1 + 1/(s Ti) )

It has the same use of the previous one, but permits to keep a larger bandwidth and, hence, a faster time response.

·        Proportional-Derivative (PD) Þ RPD(s) = Kp ( 1 + s Td )

It can be used when the plant is near to the stability and it's necessary to obtain a quick time response.

Note: because of the transfer function of the regulator is "not proper", it's necessary to approximate the derivative action with a "proper" transfer function by adding a negative real pole (-pd) far from the frequencies of the poles (p) and zeros (z) of the channel:

pd ³ 10* abs( min{ real(p) , real(z) } )

RPD(s) = Kp ( 1 + s Td / (1+s / pd) )

·        Proportional-Integrative-Derivative (PID) Þ RPID(s) = Kp ( 1 + s Td + 1/(s Ti) )

This is the more general regulator and permits to obtain both a quick time response and a null static error. Again, being its transfer function "not proper", it's necessary to approximate the derivative action as pointed out in the preceding note:

RPID(s) = Kp ( 1 +1/( s Ti ) +  s Td / (1+s / pd) )

 

When the user selects a type of regulator by means of an option button of the frame, the edit-fields corresponding to its parameters are enabled and initialized with their default values; because of the default parameters are computed, through the Ziegler-Nichols method, in accordance with the step response of the channel that has to be controlled, their values are different from NaN only if the considered channel is open loop stable.

The Closed Loop button checks the consistency of the parameters and, if they are valid, plots the step response (red) of the controlled channel, while the Ziegler/Nichols button reinitializes the parameters of the regulator to their default values.

When the regulators of each channel on the principal diagonal of the plant transfer matrix have been designed, the user can open the last synthesis window through the button NEXT and built the controller Kof(s) pressing the button COMPUTE PID.