Second order sliding mode control applied to DC motor position control with limited state availability M. Khalid Khan, C. Edwards, S.K. Spurgeon and S. Hari Rao
Abstract— A second order sliding mode algorithm is applied to control the angular position of a DC motor under limited state availability. The performance of the second order sliding mode controller is compared with that obtained by an integral sliding mode controller. The second order sliding mode controller requires less sensors than the integral sliding mode controller. The controllers are implemented using the dSPACE prototyping environment and results are presented.
I. I NTRODUCTION Sliding Mode Control (SMC) is known to be a robust control method appropriate for controlling uncertain systems. High robustness is maintained against various kinds of uncertainties such as external disturbances and measurement error [1]. It is also straightforward to implement the resulting algorithms. In traditional sliding mode control, or First Order Sliding Mode (FOSM) controller design, the sliding variable is selected such that it has relative degree one with respect to the control. The control acts on the first time derivative of the sliding variable ( ) to keep the system trajectories in the sliding set . Thus, the discontinuous control signal acts directly on the first derivative of . The notion of FOSM control has recently been extended and the concept of Higher Order Sliding Modes (HOSM) [2], [3], as the generalisation of FOSM, has been formulated. In HOSM control, the control acts on higher derivatives of the sliding variable. For example, second order sliding modes correspond to the control acting on the second derivative of the sliding variable, namely , and the sliding set is defined as . Several such second order sliding algorithms have been presented in the literature [4], [5]. The sliding order may be viewed as a measure of the degree of smoothness of the sliding variable in the vicinity of the sliding mode. System evolution featuring a second order sliding mode on the sliding manifold, , occurs if and only if its trajectories lie on the intersection of the two manifolds and in the state space. In practice, because of switching imperfections, a delay is introduced which causes so called real sliding rather than ideal sliding. In real sliding modes, the system states deviate and the relation sup from sliding surface the holds where is a measure of the delay present in the switching device. However, Levant [6] has shown that with areal order sliding mode, the relationship sup second holds and hence the sliding mode performance is improved. Control and Instrumentation Research Group, Department of Engineering, University of Leicester, University Road, Leicester LE1 7RH, U.K. Email:
[email protected]
A new second order sliding mode algorithm presented by Khan et al. [5] is applied here to control the angular position of a DC motor. Second order sliding mode control of a DC motor has previously been considered in [7]. In [7], the measured output is from the shaft position encoder and a sliding mode differentiator is used to estimate rotor speed and acceleration from this output. The robustness of second order sliding mode control is verified, with a particular emphasis on chattering reduction. In this paper, the speed and position are measured directly and no reconstruction of additional states takes place; the algorithm operates on two measured outputs. The performance of the resulting second order scheme is compared with that obtained by an integral sliding mode controller [8]. The second order algorithm saves sensors compared to the integral sliding mode controller. Moreover, the second order sliding mode controller does not need an exact model of the system to be controlled. II. E XPERIMENTAL S ETUP AND C ONTROLLER I MPLEMENTATION This section describes the experimental setup on which the controllers will be tested. The system comprises a DC motor and other peripherals such as amplifiers and potentiometers which are required to run the controller using dSPACE. The DC motor is a permanent magnet type. It has a maximum speed of 3000 rpm. Its torque at 2A is of the order of 0.1 Nm and the rotor inertia is ! kg " m . The input is applied in terms of a voltage which passes through a pre-amplifier, servo-amplifier and power amplifier chain before being applied to the motor. The servo amplifier connected to the motor has two inputs to enable the motor to run in both directions. The position and speed are read by precision servo mounted type potentiometers fitted with calibrated position and speed indicating dials. The data transmission and reception is through the dSPACE real time control environment. The dSPACE Real-time Control Environment allows easy prototyping of controllers within the SIMULINK environment and downloading of these controllers to dedicated Digital Signal Processor (DSP) based systems for implementation, code generation and hardware-in-the-loop tests. The SIMULINK realization of the designed controller can be converted into C-code for proper dSPACE implementation using a specific function in the MATLAB/RealTime Toolbox. This C code is further cross compiled into an executable file downloaded to the DSP and run in real time on a Texas Instrument TMS 320F240 DSP microcontroller.
This microcontroller is connected to the DC motor. Once the model is implemented, the simulation runs completely on the real-time hardware DS1102. The graphical user interface (GUI) of the dSPACE software enables various aspects of the operation of the control system to be viewed and enables the controller parameters to be further tuned on-line. A. DC motor model The motor was excited using a PRBS voltage signal and the output data collected. The generated data is then mapped into a parameter vector. It is not required to have a very accurate model to implement this algorithm. However, the relative degree of the output must be known. A parametric linear model of the motor has been identified in [8] using the approach described in [9]. The model is given by
+
Consider the following sliding variable, , which has relative degree two with respect to the control input, .
!+ ,"3*,+9 *,+ :;: <. ," ,2 ,"
(3) (4)
and is a positive design constant. where It should be noted that the sliding surface is a function of two states only. Therefore, the control algorithm based on the knowledge of this sliding surface will be a partial state feedback law rather than a full state feedback law. From equation (4), the first time derivative of the sliding variable, , can be written as
!+
!+ : :;9 : ,"3=" > - > &-!& ? @ BA 0DC 0 E0
-"!01- 01-!& GFIH & & -"!0 !+0 !+ JFKH L 4 M " ! 3 & N PO L -" !+ !+ N 4 ! ," O & " ,"3= " > & "
#" % ,+ '& $ ( ! + :; $ :; -= :; -:; RQJ+ !+9S -"!0 !+ UT -"!0 !+,0 !+ QJ+ ,"3OV=& " ,"W >&= " >> & & &J > &&1& S -"X0 !+ , ," "3 ,="W" = " > >> &1 & > !+ && -" T :;
as
(5)
(1a)
(1b)
where
where are the elements of the matrix . Using equations (4) and (5), the following transformation which transforms the states from into the space can be written as (6)
where
where the state component is the angular position of the shaft ( ), is the angular speed of the shaft ( ) and is the armature current ( ) of the motor. The input is the applied voltage and the controlled output is the angular position, . The states are given in terms of the measured voltages from the sensors and are not in SI units.
The second time derivative of
III. S ECOND O RDER C ONTROLLER D ESIGN
(7)
The control of angular position is carried out in two steps: first a sliding variable is selected such that it has relative degree two with respect to the control input and then the control algorithm is applied to stabilise the second order sliding variable dynamics to zero. The algorithm does not require computation or estimation of the derivative of the sliding variable. It, therefore, saves using a sensor used for measuring motor current.
Let the set point for the angular position of the shaft be denoted by . Incorporating the set point error,
*,+ $ $,) - /. -"!01- 01-!&3254 6. *,+,07 07'&3254 - 8-
where
B. Uncertainty bounds
A. Sliding surface design
$)
is given by
The transformed system dynamics involving the sliding surface can be written as
-!+" Y ,"3-"9 !+ RQJ+ !+9S -"!0 !+ UT -"!0 !+,0 !+ + "
(8a) (8b)
into a new state vector
the system (1) can also be written as
(2)
These are two coupled subsystems. The first subsystem (8a) is a linear known system driven by the sliding variable . This is a stable subsystem because is a positive design parameter. The second subsystem (8b) is an uncertain system and contains all the nonlinearities and uncertainties present in the original system. The drift term in equation (8b)
,+
+
G? >TS # " R#" ! + J 0 !+ 0 #0U0 07 " "
(9) (10)
because it is unlikely that the uncertainties will take their maximal values at the same time. Therefore, the controller parameters will have to be tuned at the time of simulation and/or implementation.
C. Simulation results
(11)
sign
G?
G !? G?
%%
X? X? " %
%% & %%% '(
200
0
0.5
1
1.5
2
2.5
3
3.5
4
Angular position,
1
3
3.5
4
3
3.5
4
(deg)
30
20
10
0
−10
0
0.5
1
1.5
2
2.5
time (sec)
Fig. 2.
(13a) (13b)
Sliding variable,
2
3000 2000 Speed, ω (rpm)
The term where naturally provides asymptotic convergence so it need not be cancelled. Within the operating range and where and . It PSfrag replacements has been assumed that there is variation in due to uncertain parameters in the system matrices and . The simultaneous maximisation of various uncertainties yields
50
Fig. 1.
,?
G? )*0 QJ+ !+ QJ++ S G? " , , , - G? , >T.,, "
/=.0 T
100
time (sec)
" $#
(12)
150
0
before it settles into the real second orderPSfrag slidingreplacements set. The settling time can be estimated as the sum of the encircling time sequence using a geometric series. From the above observations, it is proposed that the control law in (11) stabilizes the system (8b) in a finite time. The sufficient conditions for stability are:
otherwise.
are positive constants whose values dewhere pend upon the bounds described in equations (9) and (10). The algorithm stabilises the system and the closed loop system response shows the following features Oscillations of constant peak value for PSfrag replacements . The peak amplitude of oscillations depend upon the initial states. However, the frequency of oscillation is system dependent. Damped oscillations for . Unbounded for . Unbounded oscillations for . In digital implementation, the sequence of the intersection points with the axis , is a convergent series because it satisfies
G? G? $ %
The system model (1) together with the sliding surface definition (3) for angular position control has been when selected as simulated. The controller parameter gives a very fast response with large overshoot. Since is only a sufficient condition, the controller has been further tuned to achieve a good response by reducing the value of . Other controller parameters are selected as ,
and . The angular position, , tracks the reference well as shown in Fig. 1. The sliding surface is shown in Fig. 2 and the corresponding angular speed is depicted in Fig. 3. The motor current is shown in Fig. 4.
The algorithm is defined by the following control law.
sign
G?
. This value will certainly be conservative
Angualar Position, θ
T
Sliding variable, s
S
depends upon the solution of (8a) which makes it coupled. However if " and " are represented by their bounding values, then the system (8b) can be separately stabilised. Stabilisation of the sliding variable, to zero will fulfill the control task by stabilising the subsystem (8a) to the origin asymptotically. A new second order sliding algorithm to stabilise systems of the type in (8b) has been suggested in [5]. The algorithm requires neither the sliding variable derivative ( ) to be measured or observed nor knowledge of its sign. This makes it simple to implement. For a real physical system it can be assumed that the drift and gain terms of the nonlinear subsystem (8b) satisfy the following bounding conditions
1000 0 −1000 −2000 −3000
0
0.5
1
Fig. 3.
1.5
2
2.5
time (sec)
Angular speed,
3
(rpm)
4
Motor current, i
400
2
0
−2
g replacements
−4
0.5
1
1.5
2
2.5
3
3.5
0 −200
PSfrag replacements 0
200
0
4
5
10
15
20
25
30
35
40
45
50
time (sec)
Fig. 4.
Fig. 8.
Motor current,
D. Implementation results
Sliding variable
0.4 0.2 0 −0.2
PSfrag replacements The results of implementing the angular position con−0.4 0 5 10 15 20 25 30 35 40 45 50 troller on the experimental facility will now be shown. The sliding surface definition (3) used for simulation in the preFig. 9. The control voltage, u vious section is used here as well. The controller parameters selected are based on the uncertainty bounds calculated IV. I NTEGRAL SLIDING MODE CONTROL using the system model (1). The controller parameters are Consider the model of the DC motor in (1). For control selected as in simulation , , . The setup is shown in design purposes introduce an additional state and Figure 5 below. satisfying (14) In SIMULINK and dSPACE Hardware of MS150Mk2 Unit
2-sliding controller
reference + _
OP-amp Pre-Amp & Servo-Amp (Power Amp ) Unit
Signal Conditioning & Conversion Unit
where
DC Motor
where
Schematic diagram of the experimental setup
$
%
The angular position together with the reference position is shown in Figure 6. The corresponding angular speed is shown in Figure 7 and the control input is shown in Figure 9.
g replacements
100
θref θ
θ (deg)
50 60 0
40 20
−50 0
6
6.2
6.4
5
10
15
20
Fig. 6.
) V" V" F H F
Partition the augmented states as
where and . The augmented nominal system can then be conveniently written as
25 30 time (sec)
35
40
45
50
Position Control
1000 0 −1000 −2000 0
5
10
15
20
Fig. 7.
25
(16a) (16b)
0 0 0 0
and the gain on the demand signal
$
(15)
where
6.6
−100 0
is differentiable and satisfies
is a negative design parameter and is the constant set point. The augmented state vector, which includes the integral action states is given by
Potentiometers
Fig. 5.
) " $
)FH
30
Speed in RPM
35
40
45
50
is given by
and . The proposed controller seeks to introduce a sliding motion on the surface (17)
: F H " &" :) F H : L: " : N : " F>H " : F>H : " V" : = "1"J = ="1 "J" V"= 9" = " : ""JJU &1&) V" : = " >&1& : " J : " ) : ) : >: ) V" = "1"J " = " V"9 = " : " : ) ) 8: : " P V",0 0 0 " " : " : = " >&1& : " : ="1" =" "JU&1& V" G: ) : " ) : )
(18)
where and . Assume that where is a scaler. The system dynamics then can be written as
(19)
(20)
where . The reduced order system dynamics under an ideal sliding motion is given by
where
(21)
Define the control law
where the linear part
is given by
(22)
(23)
The reference signal is a smooth signal at least once differentiable as assumed in equation (15). The discontinuous part of the control is given as
"
where #
0 " : "
)) 0
if " !
: )
;
otherwise. (24) is a symmetric positive definite matrix satisfying #
J4 / ( A . / : . , 2 & 2 $
#
where is any stable matrix. To place the system poles at surface coefficients are The other parameters are selected as % and # . V. C OMPARATIVE
(25)
, the sliding . , ,
CONTROLLER ASSESSMENT
The second order sliding mode controller is compared to an integral sliding mode controller. Figure 10 compares results from both controllers for a step change in motor position. In this design, the second order sliding mode controller settles down quicker than that of integral SMC controller.
100
θ2s θint
50 θ (deg)
where and are design parameters which govern the reduced order dynamics. Partition the hyperplane system matrix as
0 −50 −100 0
5
Fig. 10.
10
15
20
25 30 time (sec)
35
40
45
50
Angular position: 2-sliding vs. integral control
From a computational point of view, both controllers are similar because the second order sliding and integral sliding mode controllers both have an integral action. However, the integral sliding mode controller requires full state measurement while the second order sliding controller only requires partial state measurement and saves sensor cost which is an advantage. VI. C ONCLUSIONS A new second order sliding mode control algorithm has been implemented for angular position control of a DC motor. The implementation has been carried out using dSPACE prototyping tools and the results have been presented. The performance of the second order sliding mode controller has been assessed by comparing it with an integral sliding mode controller. The second order sliding mode controller out-performs the integral sliding mode controller. Even for the same performance, the second order sliding controller requires less measurements and hence less measuring devices, which makes it more economical. It is also very straightforward to tune the parameters of the second order sliding mode controllers; the computational overhead is negligible. R EFERENCES [1] C. Edwards and S. Spurgeon, Sliding mode control: Theory and applications. Taylor & Francis, 1998. [2] S. Emel’yanov, S. Korovin, and A. Levant, “High-order sliding modes in control systems,” Computational mathematics and modelling, vol. 7, no. 3, pp. 294–318, 1996. [3] H. Sira-Ramirez, “On the dynamic sliding mode control of nonlinear systems,” Int. J. Control, vol. 57(5), pp. 1039–1061, 1993. [4] G. Bartolini, A. Ferrara, A. Levant, and E. Usai, “On second order sliding mode controllers,” in Variable Structure Systems, Sliding Mode and Nonlinear Control, ser. Lecture Notes in Control and Information ¨ Sciences, K. Young and U. Ozguner, Eds., vol. 247. Springer, London, 1994, pp. 329–350. [5] M. K. Khan, S. K. Spurgeon, and A. Levant, “Simple output feedback 2-sliding controller for systems of relative degree two,” in European Control Conference (ECC), Cambridge, UK, 2003. [6] A. Levant, “Sliding order and sliding accuracy in sliding mode control,” Int. J. Control, vol. 58(6), pp. 1247–1263, 1993. [7] A. Damiano, G. Gatto, I. Marongiu, and A. Pisano, “Second order sliding mode control of dc drives,” IEEE Trans. Industrial Electronics, vol. 51(2), pp. 364–373, 2004. [8] S. Hari Rao, “Implementation of an advanced control scheme using dSPACE,” Master’s thesis, Department of Engineering, University of Leicester, UK, 2003. [9] L. Ljung, System Identification Toolbox. The Mathworks Inc., 1995.