In this control engineering, robotics, and control theory tutorial, we explain how to design parameters of proportional-integral controllers by using the Routh-Hurwitz stability test. We explain how to determine the range of values of proportional and integral controllers that guarantee the asymptotic stability of the closed-loop system. Also, we simulate the dynamics of the closed-loop control system in MATLAB to verify the analytic computations. The method that is presented in this tutorial is a very simple method for finding ranges of control parameter values. You do not need MATLAB or advanced computation software to use this method, and you can compute the range of control parameters by hand.
The YouTube tutorial accompanying this webpage tutorial is given below.
Problem Formulation
The figure below shows a basic block diagram of a control system.
The block denoted by “P” denotes the plant. In the control engineering terminology, the plan is a dynamical system that we want to control. The block denoted by “C” is a controller or a control algorithm. The reference signal or the desired input signal is denoted by
(1)
In this tutorial, we assume that the plant is mathematically described by the following differential equation:
(2)
where
The standard form of the Proportional-Integral (PI) control algorithm is given by this equation:
(3)
where
Our goal is to select the control parameters
Asymptotic stability of the closed loop system means that the control error
How to Design Proportional and Integral Gains by Using the Routh-Hurwitz Stability Test
We solve the control problem by using the Routh-Hurwitz stability test. In our previous tutorial given here, we explained the basics of the Routh-Hurwitz stability test. Consequently, before reading this section of the tutorial, it is a good idea to read that tutorial in order to get yourself familiar with the Routh-Hurwitz stability test.
To solve our control design problem, we need to compute the transfer functions of the plan and controller. To compute the transfer function of the plant, we apply the Laplace transform to Eq. (2):
(4)
where
(5)
On the other hand, by applying the Laplace transform to the control algorithm equation Eq.(3), we obtain
(6)
where the notation
(7)
The transfer function of the closed-loop system is given by this equation:
(8)
where
(9)
The error in the complex Laplace domain is defined by this equation
(10)
By substituting Eq.(10) in Eq.(9), we obtain the following equation
(11)
From this equation, we further obtain
(12)
and this equation produces
(13)
The equation Eq.(13) immediately gives us the characteristic polynomial of the closed-loop system:
(14)
Next, we substitute the values for
(15)
From the Routh-Hurwitz stability test, we know that the first necessary condition for asymptotic stability is that all the coefficients in the characteristic polynomial have to be positive. The equivalent statement is that all the coefficients have to have the same sign. From this condition, we have
(16)
Next, we need to determine the sufficient conditions on the range of values of
(17)
According to the Routh-Hurwitz stability test, all the coefficients in the first column of the Routh array have to be positive in order to guarantee asymptotic stability. That is, if
(18)
then the system is asymptotically stable. The system of inequalities in Eq. (18) defines a region in the K_{I}-K plane that is illustrated in the figure shown below.
Next, we need to verify our analytic computations by simulating the closed-loop system response in MATLAB. The MATLAB script given below defines the controller and plant, and simulates the closed-loop response of the system.
s = tf('s')
Ki= 1
% this is the boundary: K= (1/5)*Ki-6, stability region is Ki>0 and K> (1/5)*Ki-6
K= (1/5)*Ki-6+0.21
P=1/(s^2+5*s+6)
C=K+Ki/s
% closed-loop transfer function
W=P*C/(1+P*C)
pole(W)
step(W)
X0=randn(6,1)
initial(ss(W),X0)
The step response of the closed loop system is given below.
The response of the closed-loop system to a non-zero initial state is given below.