Adrc Arm Control
Adrc Arm Control
Abstract
This paper is focused on a comparison between classic Feedback Linearization
Control and a proposed Active Disturbance Rejection Control method. The proposed
technique does not require a precise mathematical description of the system, since it is
based on the online estimation and rejection of the unmodeled elements of the dynamics.
Robustness of the closed-loop control system (against external perturbation and
parameters uncertainty) is discussed here. A model of a SCARA robot manipulator is used
in the conducted case study as an exemplary plant. Conclusions are supported with
results obtained with numerical simulations.
1. Introduction
The SCARA (selectively compliant assembly robot arm) robot arm, Figure 1, uses two
parallel revolute joints to produce motion in the horizontal plane. The arm structure is
weight-bearing but the first and second axes do no lifting. The third axis of the SCARA
provides work volume. By adding a fourth revolute joint, an additional rotation about the
z axis is added to control the orientation of the end effector in the horizontal plane. This
type of robots is rarely found with more than four axes. The SCARA robot manipulators
are used extensively in the assembly of electronic components and of small and medium
sized mechanical devices [1-3].
In controlling, the robot arm head is moved by actuators to attain an exact moving, and
the dynamic model of the robot manipulator is a MIMO (Multiple-Input Multiple-Output)
highly non-linear coupled system [2, 3].
Nonlinear systems control has been widely concern of the research. At present, the
nonlinear system decoupling control and static feedback linearization that based on the
theory of differential geometry brought the research getting rid of limitation for local
linearization and small scale motion [4]. However, differential geometry control must
depend on precise mathematical model, and when system works with various payloads
and has uncertainty in dynamic model this technique has limitations [5]. From control
point of view, uncertainty is divided into two main groups: uncertainty in unstructured
inputs (e.g., noise, external disturbance, and unmodeled dynamics) and uncertainty in
structure dynamics (parametric uncertainties). In some applications systems are used in an
unknown and unstructured environment, therefore strong mathematical tools are used in
new control methodologies to design nonlinear robust controllers with acceptable
performances (e.g., minimum error, good trajectory tracking, and disturbance rejection)
[6].
One ideal candidate is the Active Disturbance Rejection Control strategy (ADRC)
which has a very good disturbance rejection capability. The ADRC was firstly proposed
by Han in 1990s [7, 8] and further simplified and explicated by Gao in [9, 10]. The
essence of ADRC is that both the internal dynamics and the external disturbances can be
estimated and compensated in real time [6-8]. Due to its strong robustness and
disturbance rejection, ADRC has been successfully applied in many fields [7, 8, 11].
In this paper, we propose to improve classic feedback linearization control robustness
by introducing an active disturbance rejection component. The proposed strategy will be
applied for the position control of an electrically driven two–link SCARA robot arm.
(a) (b)
𝐽2 𝑚2 𝑟22 𝑚2 𝑟1 𝑟2
𝑀12 = + + (cos(𝑞1 + 𝑞2 ) cos(𝑞1 ) + sin(𝑞1 + 𝑞2 ) sin(𝑞1 ))
𝑁1 𝑁2 4𝑁1 𝑁2 2𝑁1 𝑁2
𝐽2 𝑚2 𝑟22 𝑚2 𝑟1 𝑟2
𝑀21 = + + (cos(𝑞1 + 𝑞2 ) cos(𝑞1 ) + sin(𝑞1 + 𝑞2 ) sin(𝑞1 ))
𝑁1 𝑁2 4𝑁1 𝑁2 2𝑁1 𝑁2
𝐽2 𝑚2 𝑟22
𝑀22 = 𝐽𝑚2 + +
𝑁22 4𝑁22
𝑚2 𝑟1 𝑟2 𝑞̇ 2 2
𝐶11 = (𝑞̇ 1 . 𝑞̇ 2 + ) (cos(𝑞1 + 𝑞2 ) sin(𝑞1 ) − sin(𝑞1 + 𝑞2 ) cos(𝑞1 ))
𝑁1 2
𝑚2 𝑟1 𝑟2 2
𝐶21 = (𝑞̇ 1 )(sin(𝑞1 + 𝑞2 ) cos(𝑞1 ) − cos(𝑞1 + 𝑞2 ) sin(𝑞1 ))
2𝑁2
𝐹11 = 𝑓𝑐1 𝑠𝑖𝑔𝑛(𝑞̇ 1 ) + 𝑓𝑣1 𝑞̇ 1
𝐹21 = 𝑓𝑐2 𝑠𝑖𝑔𝑛(𝑞̇ 2 ) + 𝑓𝑣2 𝑞̇ 2
In order to facilitate the control task, we propose to simplify (1) by neglecting the
armature inductance. Then current expression becomes:
(2)
𝐼 = 𝑅𝑎−1 . [𝑉 − 𝐾𝑒 𝑁𝑞̇ ]
Finally, system (1) is reduced to:
(3)
𝑀(𝑞). 𝑞̈ + ℎ(𝑞, 𝑞̇ ) = 𝐾. 𝑉
Where:
ℎ(𝑞, 𝑞̇ ) = 𝐶(𝑞, 𝑞̇ ) + 𝐹(𝑞, 𝑞̇ ) + 𝐾𝑇 . 𝑅𝑎−1 . 𝐾𝑒 𝑁𝑞̇
{
𝐾 = 𝐾𝑇 . 𝑅𝑎−1
∆𝑀 = 𝑀 ̂ (𝑞) − 𝑀(𝑞)
{ (7)
∆ℎ = ℎ̂(𝑞) − ℎ(𝑞)
From (1) and (6), we find:
̂ (𝑞). 𝑣 + ℎ̂(𝑞, 𝑞̇ ) = 𝑀(𝑞). 𝑞̈ + ℎ(𝑞, 𝑞̇ )
𝑀 (8)
This can be expressed as follows:
̂ . 𝑣 + 𝑀−1 . ∆ℎ
𝑞̈ = 𝑀−1 . 𝑀
̂ − 𝐼). 𝑣 + 𝑀−1 . ∆ℎ
= 𝑣 + (𝑀−1 . 𝑀
We then define:
̂ − 𝐼)
𝐸 = (𝑀−1 . 𝑀
{ (9)
𝜂 = 𝐸. 𝑣 + 𝑀−1 . ∆ℎ
Substituting (9) into (8), we obtain finally the effect of disturbances on the linearized
model:
𝑞̈ = 𝑣 + 𝜂(𝑣, 𝑞, 𝑞̇ ) (10)
In our case, the system dynamics are given by:
𝑞̈ = 𝑣1 + 𝜂1 (𝑣, 𝑞, 𝑞̇ )
{ 1 (11)
𝑞̈ 2 = 𝑣2 + 𝜂2 (𝑣, 𝑞, 𝑞̇ )
And the control outputs are:
𝑦1 = 𝑞1
{𝑦 = 𝑞 (12)
2 2
Both systems (11) can be rewritten as follows:
𝑥̇ 𝑖1 = 𝑥𝑖2
{ 𝑖2 = 𝑥𝑖3 + 𝑏. 𝑣𝑖
𝑥̇ (13)
𝑥̇ 𝑖3 = 𝜂𝑖̇ (. )
Where:
𝑥𝑖1 = 𝑞𝑖 |𝑖=1,2
𝑥𝑖2 = 𝑞̇ 𝑖 |𝑖=1,2
𝑥𝑖3 = 𝜂𝑖 (𝑣, 𝑞, 𝑞̇ )|𝑖=1,2
{ 𝑏=1
𝜂𝑖 (. ) is an unknown function which can be viewed as the total uncertainties or
disturbances of the system. Considering 𝜂𝑖 (. ) as an augmented state, it can be easily
observed. In [14, 16] we find the following nonlinear extended state observer (ESO:
Extended State Observer):
𝑥̂̇ = 𝐴𝑖 . 𝑥̂ + 𝐵𝑖 . 𝑣𝑖 + 𝐿𝑖 . 𝑓𝑎𝑙(𝑒𝑖 , 𝛼𝑖 , 𝛿𝑖 )
{ (14)
𝑦 = 𝐶𝑖 𝑥̂
Where:
0 1 0 0 𝐿𝑖1
𝐴𝑖 = [0 0 1] , 𝐵𝑖 = [𝑏], 𝐶𝑖 = [1 0 0], 𝐿𝑖 = [𝐿𝑖2 ]
0 0 0 0 𝐿𝑖3
The observer errors are:
𝑒𝑖 |𝑖=1,2 = 𝑞𝑖 − 𝑥̂1 (15)
Functions 𝑓𝑎𝑙𝑖𝑗 are defined as:
|𝑒𝑖 |𝛼𝑖𝑗 . 𝑠𝑖𝑔𝑛(𝑒𝑖 ), 𝑖𝑓 |𝑒𝑖 | > 𝛿𝑖
𝑓𝑎𝑙𝑖𝑗 (𝑒𝑖 , 𝛼𝑖𝑗 , 𝛿𝑖 )|𝑖=1,2 = { 𝑒𝑖 , (16)
1−𝛼𝑖𝑗 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝑗=1,2,3 𝛿𝑖
Here 0 < 𝛼𝑖𝑗 < 1 is the nonlinear coefficient, 𝛿𝑖 > 0 is the turning point of fal
function. Note that, if the error is small (|𝑒𝑖 | ≤ 𝛿𝑖𝑗 ); the proposed ESO becomes a simple
linear observer (LESO):
𝑥̇ 𝑖1 = 𝑥𝑖2 + 𝛽𝑖1 𝑒𝑖
{𝑥̇ 𝑖2 = 𝑥𝑖3 + 𝛽𝑖2 + 𝑏𝑣𝑖 (17)
𝑥̇ 𝑖3 = 𝛽𝑖3 𝑒𝑖
Where:
𝐿𝑖𝑗
𝛽𝑖𝑗 = 1−𝛼𝑖𝑗 |
𝛿𝑖 𝑖=1,2
𝑗=1,2,3
Where 𝜁𝑐𝑖 , 𝜔𝑐𝑖 are respectively the damping ratio and the natural frequency of the
closed-loop system. The bandwidth 𝜔0𝑖 of the ESO is chosen to ensure a faster dynamics
than (23):
𝜔0𝑖 = (3 𝑡𝑜 5)𝜔𝑐𝑖 (24)
The block diagram of the ADRC strategy is shown in Figure 2.
𝑤: Disturbance
Linear + 𝑣 System 𝑦
𝑦𝑑 1/b
Controller 𝑣0 −
Note that if the active rejection component 𝑥̂𝑖3 is not introduced in the control law (19),
the proposed technique is reduced to the classical feedback linearization control method
(FLC).
x 1e. x1e
Linear controller 1
x 2e.
q1d x 3e. x2e
v 01
q1
Sine Wave u
x3e
y
Subtract 1
ESO1
q1 q1
q2 V1 V1 Scope 2
q2
q1_p
x 1e. x1e
x 2e.
x 3e. x2e
u
x3e
y
ESO2
The obtained results by the 4th order Runge Kutta solver with a step size ∆t=0.001sec
are given below:
Case1:
Link 1 Link 2
reference reference
1.5 ADRC 1.5 ADRC
angular position of link1 [rad]
FLC FLC
1 1
0.5 0.5
0 0
-0.5 -0.5
-1 -1
-1.5 -1.5
0 5 10 0 5 10
time(sec) time(sec)
0.6 1
tracking error of link1 [rad]
ADRC ADRC
0.4
FLC FLC
0.2 0.5
-0.2 0
-0.4
-0.5
0 5 10 0 5 10
time(sec) time(sec)
Link 1 Link 2
1.5
0
-0.5
0 5 10 0 5 10
time(sec) time(sec)
Link 1 Link 2
x11 x21
x11est x21est
estimate of x11[rad]
estimate of x21[rad]
1 1
0 0
-1 -1
0 5 10 0 5 10
time(sec) time(sec)
estimate of x12[rad/sec]
estimate of x22[rad/sec]
4 x12 4 x22
x12est x22est
2 2
0 0
-2 -2
0 5 10 0 5 10
time(sec) time(sec)
estimate of x23[rad/sec2]
estimate of x13[rad/sec2]
100
x13 100 x23
x13est x23est
0 0
-100
-100
0 5 10 0 5 10
time(sec) time(sec)
0.15 0.4
estimate of x13[rad/sec2]
estimate of x23[rad/sec2]
0.1
0.2
0.05
0 0
-0.05 -0.2
-0.1
-0.4
-0.15
-0.6
4.13 4.135 4.14 4.145 2 2.01 2.02 2.03
time(sec) time(sec)
Case 2:
Link 1 Link 2
reference reference
ADRC ADRC
1.5 1.5
FLC FLC
angular position of link1 [rad]
1 1
0.5 0.5
0 0
-0.5 -0.5
-1 -1
-1.5 -1.5
0 5 10 0 5 10
time(sec) time(sec)
ADRC ADRC
FLC FLC
0.6 1
0.4
tracking error of link1 [rad]
0.5
0.2
0 0
-0.2
-0.5
-0.4
-1
0 5 10 0 5 10
time(sec) time(sec)
Link 1 Link 2
7 1.5
FLC FLC
6 ADRC ADRC
4
0.5
3
2
0
1
0
-0.5
0 5 10 0 5 10
time(sec) time(sec)
Link1 Link2
x11 x21
x11est x21est
estimate of x11[rad]
estimate of x21[rad]
1 1
0 0
-1 -1
0 5 10 0 5 10
time(sec) time(sec)
x22
x12
estimate of x12[rad/sec]
estimate of x22[rad/sec]
4 4 x22est
x12est
2 2
0 0
-2 -2
-4 -4
0 5 10 0 5 10
time(sec) time(sec)
x13 x23
estimate of x13[rad/sec2]
estimate of x23[rad/sec2]
0 0
-50
-100
-100
0 5 10 0 5 10
time(sec) time(sec)
Figure 10. ESO Estimated States in Presence of Disturbances
Case1: Since the system is not subject to disturbances effects, and as provided both
strategys give exactly the same good results in tracking mode, Figure 4. The Figure 6
shows clearly the convergence of the observed states to the real system states.
Case2: The simulation results presented in the Figure 8 highlight the effectiveness
and the superiority of the proposed ADRC control strategy compared with classical
feedback control law (FLC) in presence of wide parametric and external
disturbances. This means that the extended state observer was able to observe and
decrease disturbances effects which is confirmed in Figure 10. The Figure 9 shows
the control inputs and the compensation components effects.
5. Conclusion
In this paper, active disturbance rejection control method (ADRC) was successfully
applied to the position control of a two-link SCARA robot arm electrically actuated.
Simulation results demonstrate that the proposed control algorithm can provide good
tracking performance and well handle disturbances for the robot manipulator.
It should be noted that the design of this control strategy does not require a high
accuracy mathematical model of the controlled system. This practical control strategy is
easy to understand and implement, making it an appealing method to real applications.
Appendix:
Parameters of the robot arm:
𝑚1 = 1,90 kg, 𝑚2 = 0,93 kg, 𝐽1 = 0,0980 kgm2 , 𝐽2 = 0,0115kgm2 , 𝐽𝑚1 = 𝐽𝑚2 =
3,3. 10−6 kgm2 , 𝑟1 = 0,25𝑚, 𝑟2 = 0,15𝑚, 𝑅𝑎1 = 𝑅𝑎2 = 3,5 Ω, 𝐿𝑎1 = 𝐿𝑎2 = 1,3 mH,
𝐾𝑒1 = 𝐾𝑒2 = 0,047 V/rad/s, 𝐾𝑇1 = 𝐾𝑇2 = 0,047 Nm/A, 𝑁1 = 90, 𝑁2 = 220.
Parameters of the extended state observer:
̅̅̅̅ 𝑎𝑛𝑑 𝑗 = 1,3
𝛼𝑖𝑗 = 0,5; 𝛿𝑖 = 0,01; 𝜔0𝑖 = 5𝜔𝑐𝑖 𝑓𝑜𝑟 𝑖 = 1,2 ̅̅̅̅ .
Parameters of the linear controller:
̅̅̅̅
𝜁𝑐𝑖 = 1; 𝜔𝑐𝑖 = 10 𝑟𝑎𝑑/𝑠𝑒𝑐 𝑓𝑜𝑟 𝑖 = 1,2
References
[1] N. Munro and F. L. Lewis, Robot Manipulator Control-Theory and Practice, 2nd edition, Marcel Dekker
Inc., (2004).
[2] A. A. Amiri-M, M. R. Gharib, M. Moavenian and K. Torabi Z. Modeling and control of a SCARA robot
using quantitative feedback theory. Journal of Systems and Control Engineering. Part I, 223 (2009).
[3] K. Sahari, K. H. Weng, Y. W. Han, A. Anuar, M. Z. Baharuddin and S. Mohideen. Design and
Development of a 4-DOF SCARA Robot for Educational Purposes. Jurnal Teknologi, Universiti
Teknologi Malaysia. (2011).
[4] C. Kravaris and C. B. Chung. Nonlinear State Feedback Synthesis by Global Input /Output Linearization.
AIChE Journal. 4, 33 (1987).
[5] C. Kravaris and S. Palanki. Robust Nonlinear State Feedback under Structured Uncertainty. AIChE
Journal. 7, 34 (1988).
[6] F. Piltan, M. R. Rashidian, M. Shamsodini and S. Allahdadi. Effect of Rule Base on the Fuzzy-Based
Tuning Fuzzy Sliding Mode Controller: Applied to 2nd Order Nonlinear System. International Journal
of Advanced Science and Technology. 46 (2012).
[7] S. Liu, X. Mei and F. Kong. Research on Unwinding Tension System Control Based on Active
Disturbance Rejection Control. 2nd International Conference on Materials, Mechatronics and
Automation, (2012) May 7-8, 2012, Nanchang, China, pp. 252-257.
[8] J. Zhang, J. Feng, Y. Zhou, F. Fang and H. Yue. Linear Active Disturbance Rejection Control of Waste
Heat Recovery Systems with Organic Rankine Cycles. Energies. 5 (2012).
[9] Z. Gao. Active Disturbance Rejection Control: A Paradigm Shift in Feedback Control System Design.
Proceedings of the 2006 American Control Conference, (2006) June 14-16; Minnesota, USA, pp. 2399-
2405.
[10] Q. Zheng, L. Q. Gao and Z. Gao. On Stability Analysis of Active Disturbance Rejection Control for
Nonlinear Time-Varying Plants with Unknown Dynamics. Proceedings of the 46th IEEE Conference on
Decision and Control. (2007) December 12-14; New Orleans, USA, pp. 3501-3506.
[11] Q. Zheng and Z. Gao. On Practical Applications of Active Disturbance Rejection Control. Proceedings
of the 29th Chinese Control Conference. (2010) July 29-31; Beijing, China, pp. 6095-610.
[12] N. Azoui and L. Saidi. Passivity Based Adaptive Control of Robotic Manipulators Electrically
Controlled. International Journal of Advanced Science and Technology. 34 (2011).
[13] M. T. Das and L. C. Dülger. Mathematical Modeling, Simulation and Experimental Verification of a
SCARA Robot. Simulation Modelling Practice and Theory. 13 (2005).
[14] J. Han. From PID to Active Disturbance Rejection Control. IEEE Transactions on Industrial Electronics.
3, 56 (2009).
[15] Q. Zheng, L. Q. Gao and Z. Gao. On Estimation of Plant Dynamics and Disturbance from Input-Output
Data in Real Time. 16th IEEE International Conference on Control Applications. (2007) October 1-3;
Singapore, pp.1167-1172.
[16] X. Yang and Y. Huang. Capabilities of Extended State Observer for Estimating Uncertainties. 2009
American Control Conference. (2009) June 10-12; St. Louis, USA, pp. 3700-3705.
[17] A. Boukhriss, T. Nasser and A. Essadki. A Linear Active Disturbance Rejection Control applied for
DFIG based Wind Energy Conversion System. International Journal of Computer Science Issues. 2, 10
(2013)
Authors
Ali Medjebouri was born in Skikda, Algeria in 1984. He received
his Engineer degree in Automatic Control Systems in 2007 and his
magister degree in Mechatronics in 2010 from the University of 20
August 1955, Skikda, Algeria. Currently, he is a PhD student. His
research interests concern robotics and system’s control.