Robust Controls For Upper Limb Exoskeleton, Real-Time Results
Robust Controls For Upper Limb Exoskeleton, Real-Time Results
net/publication/324074765
Article in Proceedings of the Institution of Mechanical Engineers Part I Journal of Systems and Control Engineering · March 2018
DOI: 10.1177/0959651818758866
CITATION READS
1 81
4 authors, including:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ricardo López on 11 February 2019.
Abstract
This article shows the development of an exoskeleton for human joint. The exoskeleton proposed was developed for
rehabilitating individuals who have suffered injuries at their shoulders, by rehabilitation exercises. The exoskeleton has
special characteristics to deal with the 5 degrees of freedom of the human shoulder. The dynamic model results in the
following form: €q = f (q, q)
_ + b(q)u, where q, u, f (q, q_ ) and b(q) are state’s vector, torque’s vector, a matrix function and a
vector function, respectively. Therefore, we applied four different control laws, among which stand two robust
controls (adaptive sliding modes and proportional–derivative with adaptive gravity compensation). The adaptive
controller properties allow the exoskeleton to adapt to different humans with different parameters such as size, length,
weight and so on that, in mathematical terms, is represented as a mechanical system with uncertainties.
Keywords
Upper limb exoskeleton, biomechanics, robust control
Table 1. Range of angular movement (°) of arm exoskeletons for 4 DOFs: extension and flexion (Ext/Flx), abduction and adduction
(Abd/Add) internal and external rotation (Int/Extr) and elevation and depression (Elv/Dep).
AQ2
2 3
Stress analysis q1
q = 4 q2 5 ð1Þ
A stress study was conducted in efforts to determine the q3
structure of the material used and the dimensions. After
several trials, it is concluded that the right material to The dynamic equations describing the system are
use is aluminum alloy 6061-T6, bars 2 in 3 3=8 in. obtained using the Euler–Lagrange method (2). The
Figure 3 shows the stress analysis study with the equations of motion are given by equation (2a), where
shoulder flexed 90° and internally rotated 90°. The L is the Lagrangian (equation (2b)) and consists of the
design takes into account the weight of the structure, sum of kinetic K (equation (2c)) and potential U (equa-
the weight of the engine and a load at its farthest point tion (2d)) energies, where t, m, I, h and V are vectors
of 100 N (about three times the weight of the arm). of torques, masses, inertias, heights and velocities of
With all this, the safety factor is 1.75. the joints of the robot, respectively AQ3
d ∂Lðq, q_ Þ ∂Lðq, q_ Þ
=t ð2aÞ
Dynamic model and control dt ∂q_ ∂q
Dynamic model LðqðtÞ, q_ ðtÞÞ = KðqðtÞ, q_ ðtÞÞ UðqðtÞÞ ð2bÞ
Figure 4 shows the links, the pivot points and the names
1 1
that are assigned to each element of the exoskeleton. In KðqðtÞ, q_ ðtÞÞ = mjjVjj2 + Iq2 ð2cÞ
this diagram, q0 , q1 , q2 , q3 and q4 are the angles for 2 2
the movements of retroposition/preposition, elevation/ UðqðtÞÞ = mghðqðtÞÞ ð2dÞ
depression, abduction/adduction, flexion/extension and
external/internal rotation, respectively. The dynamic model of the system in the general form
Since we are interested in the movements of eleva- is
tion/depression, abduction/adduction and flexion/
extension, we define the state vector q as follows t = MðqÞ€q + Cðq, q_ Þq_ + gðqÞ ð3Þ
4 Proc IMechE Part I: J Systems and Control Engineering 00(0)
where M, C and g are the inertia matrix, the centrifugal M11 ðqÞ = I1 + I2 + I3y + l21 m2 + l21 m3 + l21c m1
and Coriolis matrix and the vector of gravitational tor-
ques, respectively, which can be rewritten as + l22 m3 + l22c m2 + l23c m3 cosðq3 Þ2
2 3 2 32 3 + 2l1 l2 m3 cosðq2 Þ + 2l1 l2c m2 cosðq2 Þ
t1 M11 ðqÞ M12 ðqÞM13 ðqÞ q€1
6 7 6 76 7 + 2l3c l1 m3 cosðq3 Þsinðq2 Þ
4 t 2 5 = 4 M21 ðqÞ M22 ðqÞM23 ðqÞ 54 q€2 5
t3 M31 ðqÞ M32 ðqÞ M33 ðqÞ q€3 M12 ðqÞ = m3 l23c cosðq3 Þ2 + l1 m3 sinðq2 Þl3c cosðq3 Þ
2 32 3
C11 ðq, q_ ÞC12 ðq, q_ ÞC13 ðq, q_ Þ q_ 1 + m3 l22 + l1 m3 cosðq2 Þl2 + m2 l22c
6 76 7
+ 4 C21 ðq, q_ ÞC22 ðq, q_ ÞC23 ðq, q_ Þ 54 q_ 2 5 ð4Þ
+ l1 m2 cosðq2 Þl2c + I2 + I3y
C31 ðq, q_ ÞC32 ðq, q_ ÞC33 ðq, q_ Þ q_ 3
2 3
g1 ð qÞ M13 ðqÞ = l3c m3 sinðq3 Þðl2 + l1 cosðq2 ÞÞ
6 7
+ 4 g2 ð qÞ 5 M21 ðqÞ = m3 l23c cosðq3 Þ2 + l1 m3 sinðq2 Þl3c cosðq3 Þ
g3 ð qÞ
+ I2 + I3y + m3 l22 + l1 m3 cosðq2 Þl2
where + m2 l22c + l1 m2 cosðq2 Þl2c
C11 ðq, q_ Þ = l1 q_ 2 M22 ðqÞ = m3 l23c cosðq3 Þ2 + m3 l22 + m2 l22c + I2 + I3y
ðl2 m3 sinðq2 Þ + l2c m2 sinðq2 Þ l3c m3 cosðq2 Þcosðq3 ÞÞ
M23 ðqÞ = l3c l2 m3 sinðq3 Þ
l3c m3 q_ 3 sinðq3 Þðl3c cosðq3 Þ + l1 sinðq2 ÞÞ
u M31 ðqÞ = l3c m3 sinðq3 Þðl2 + l1 cosðq2 ÞÞ
u
C12 ðq, q_ Þ = q_ 3 121 + 122
2 2 M32 ðqÞ = l3c l2 m3 sinðq3 Þ
l1 q_ 1 ðl2 m3 sinðq2 Þ + l2c m2 sinðq2 Þ l3c m3 cosðq2 Þcosðq3 ÞÞ
M33 ðqÞ = m3 l23c + I3x
l1 q_ 2 ðl2 m3 sinðq2 Þ + l2c m2 sinðq2 Þ l3c m3 cosðq2 Þcosðq3 ÞÞ
ð7Þ
C13 ðq, q_ Þ = l3c m3 q_ 3 cosðq3 Þðl2 + l1 cosðq2 ÞÞ
u u
and the gravity vector is composed of the following
q_ 2 131 + 132 terms
2 2
l3c m3 q_ 1 sinðq3 Þðl3c cosðq3 Þ + l1 sinðq2 ÞÞ g1 ðqÞ = gm2 ðl2c cosðq1 + q2 Þ + l1 cosðq1 ÞÞ
l2 m3 q_ 3 sinð2q3 Þ + gm3 ðl2 cosðq1 + q2 Þ + l1 cosðq1 Þ
C21 ðq, q_ Þ = l1 l2 m3 q_ 1 sinðq2 Þ 3c
2 + l3c sinðq1 + q2 Þcosðq3 ÞÞ + gl1c m1 cosðq1 Þ
+ l1 l2c m2 q_ 1 sinðq2 Þ
g2 ðqÞ = gm3 ðl2 cosðq1 + q2 Þ
l3c l1 m3 q_ 1 cosðq2 Þcosðq3 Þ
+ l3c sinðq1 + q2 Þcosðq3 ÞÞ+gl2c m2 cosðq1 +q2 Þ
l2 m3 q_ 3 sinð2q3 Þ
C22 ðq, q_ Þ = 3c g3 ðqÞ = l3c gm3 cosðq1 + q2 Þsinðq3 Þ ð8Þ
2
l 3 c m3 Also, the dynamic model of the system, in the affine
C23 ðq, q_ Þ =
2 form €q = f(q, q)
_ + b(q)u, is
ðl3c q_ 1 sinð2q3 Þ 2l2 q_ 3 cosðq3 Þ + l3c q_ 2 sinð2q3 ÞÞ
€q = MðqÞ1 ½Cðq, q_ Þq_ + gðqÞ + MðqÞ1 t ð9Þ
C31 ðq, q_ Þ = l3c m3 sinðq3 Þ
with _ = M(q)1 ½C(q, q)
f(q, q) _ q_ + g(q), b(q) =
ðl3c q_ 1 cosðq3 Þ + l3c q_ 2 cosðq3 Þ + l1 q_ 1 sinðq2 ÞÞ 1
M(q) and the control input u is the torque’s vector t.
l23c m3 sinð2q3 Þðq_ 1 + q_ 2 Þ
C32 ðq, q_ Þ =
2
Control
C33 ðq, q_ Þ = 0
ð5Þ For the control of the exoskeleton, three requirements
were defined:
where the auxiliary variables are defined as
Adaptability to different persons;
u121 = l3c m3 sinðq3 Þð2l3c cosðq3 Þ + l1 sinðq2 ÞÞ Ability to assist in the rehabilitation exercises by
u122 = l3c l1 m3 sinðq2 Þsinðq3 Þ reducing effort;
ð6Þ Correct trajectory tracking.
u131 = l3c m3 sinðq3 Þð2l3c cosðq3 Þ + l1 sinðq2 ÞÞ
u132 = l3c l1 m3 sinðq2 Þsinðq3 Þ Defining the position error ~q as
Luengas et al. 5
q = qd q
~ ð10Þ t = kp ~q + kv ~q_ + gðq, YÞ ð18aÞ
where qd is the desired joint displacement and q is the = kp ~q + kv ~q_ + Fg Y
^ + g0 ð qÞ ð18bÞ
displacement. Then, we have that the control PD and
ðt
PID are given as follows ^ ðtÞ = GFg ðqÞT e0 ^ ð 0Þ
Y ~q q_ ds + Y
1 + k ~q k
t = kp ~ q_
q + kv ~ ð11Þ 0
Ðt ð18cÞ
t = kp ~ q_ + ki ~
q + kv ~ qðt Þdðt Þ ð12Þ
0 where kp , kv 2 Rnxn and G 2 Rmxm are diagonal positive
where it is clear that they depend only on position error definite design matrices and e0 is a positive constant.
(equation (10)). kp , kv and ki are diagonal positive defi- Equation (18b) is obtained from equation (18a)
nite matrices referred to as proportional gain, derivative using equation (17). Equation (18c) comes from the
gain and integral gain, respectively. Lyapunov function candidate presented in Kelly,9 in
which a stability analysis is also presented for this
adaptive controller. The stability analysis for the case
PD + g Adapt control. The PD + g Adapt (equation (13)) of tracking where qd is not constant can be seen in
control depends on the position error and speed, besides Tomei.15
the vector of gravitational torques g(q), that is, prior Now, we consider parameters of interest: the mass
knowledge of the model is needed for correct operation m3 , the length to center of mass l3c and the inertia I3 .
of control Then, the vector of dynamic parameters is
t = kp ~ q_ + g(q)
q + kv ~ ð13Þ 2 3
m3
But we cannot have an exact knowledge of the mass Y = 4 m3 l3c 5 ð19Þ
of the arm for each person, length to center of mass or m3 l23c + I3
inertias; therefore, it is proposed to use an adaptive con-
Identifying these parameters in equation (11), we can
trol that can estimate the unknown parameters and thus
calculate the matrix Fg as
improve the performance control.
We propose to use a parameterization as follows: for Fg =
all u, v, w 2 Rn , the dynamic model of n-DOF robot 2 3
gðl2 cosðq1 + q2 Þ + l1 cosðq1 ÞÞ g sinðq1 + q2 Þcosðq3 Þ 0
may be written using a parameterization as8 4 gl2 cosðq1 + q2 Þ g sinðq1 + q2 Þcosðq3 Þ 0 5
MðqÞq_ + Cðq, q_ Þq_ + gðqÞ = Fðq, u, v, wÞY 0 g cosðq1 + q2 Þsinðq3 Þ 0
ð20Þ
+ M0 ðqÞu + C0 ðq, wÞv + g0 ðqÞ ð14Þ
where F(q, u, v, w) 2 Rnxm ; M0 (q), C0 (q, w) 2 Rnxn ; g0 and the matrix g0 (q) is
(q) 2 Rn ; and Y 2 Rm . The vector Y, known by the g0 ð qÞ
name vector of dynamic parameters, contains elements 2 3
that depend precisely on physical parameters such as gm2 ðl2c cosðq1 + q2 Þ + l1 cosðq1 ÞÞ + gl1c m1 cosðq1 Þ
4 gl2c m2 cosðq1 + q2 Þ 5
masses and inertias of the links of the robot and on the
load. The matrices M0 (q) and C0 (q, w) and the vector 0
g0 (q) represent parts of the matrices M(q) and C(q, w) ð21Þ
and the vector g(q), respectively, that do not depend on
AQ4 the vector of (unknown) dynamic parameters Y.
In this way, the following expression holds Adaptive sliding mode control. Another way of addressing
the problem is to enforce the behavior of the system
gðq, YÞ = Fðq, 0, 0, 0ÞY + g0 ðqÞ ð15Þ
states toward the desired trajectories, which are known.
where we set For this case, we use the sliding mode approach. The
tracking errors are defined by
u=0
v=0 ð16Þ e q = q qd ð22aÞ
w=0 e_ q = q_ q_ d ð22bÞ
Given a vector Y^ 2 Rm , the expression (15) could be €eq = €q €qd ð22cÞ
rewritten as
with qd as desired position.
^ = F g ð qÞ Y
g q, Y ^ + g0 ð qÞ ð17Þ In the sliding mode control, we define a time-varying
surface s(t) in the state-space R(n) , in which the sliding
Considering equation (17), the PD control g Adapt motion takes place. The surface is given by the scalar
is presented as equation s(q; t) = 0, where
6 Proc IMechE Part I: J Systems and Control Engineering 00(0)
q1 0 p/36
q2 0 p/3
q3 0 p/2
q1 p/4 p/20
q2 p/4 p/6
q3 p/4 p/4
(n1)
d
sðq; tÞ = +l eq ð23Þ
dt
and l . 0. From this, we obtain
s = e_ q + leq ð24Þ
The main target in this approach is to keep s(q; t) at
zero when tracking is outside of s(q; t). A simple solu-
tion to obtain the sliding condition when the dynamic
parameters have uncertainty is using the switching con-
trol law
t sign = r signðsÞ ð25aÞ
AQ5 8
<1 s.0
signðsÞ = 1 s \ 0 ð25bÞ
:
0 s=0
with r . 0. Since the control law t sign (equation (25a))
is a discontinuous term, the switching control will have
chattering. In order to have a smooth control law, the
hyperbolic tangent function tanh(s=f) is used, so the
control law is as follows
s
t th = r tanh ð26Þ
f Figure 5. Simulated results for regulation, where red line is the
reference (Ref), green line is the result with proportional–
where f . 0 is the boundary layer.
derivative control (PD), blue line is the result with
Now, the control law for a multi-DOF robot manip-
proportional–integral–derivative control (PID), brown line is the
ulator, as our exoskeleton, can be written as result with proportional–derivative + adaptive gravity
t = t eq + t th ð27Þ compensation control (g Adapt) and pink line is the result with
adaptive sliding mode control (Slide): (a) q1, (b) q2 and (c) q3.
where teq , called equivalent control, is the continuous
part of the control that maintains s_ = 0 if the dynamics
of the robot were exactly known. The equivalent con-
trol can be constructed from the affine form (equation Now, in this case, the objective of the adaptation is
(9)) as follows _
that the gain r(t) should tend to f(q, q)=a to reduce the
amplitude of chattering. For that purpose, defining the
t eq = ðCðq, q_ Þq_ + gðqÞÞ + sM
_ ð28Þ function ½zþ as
with which the control law is as follows
if z ø 0 1
½zþ : = ð30Þ
t = t eq r tanh fs ð29Þ if z \ 0 0
Luengas et al. 7
Simulation methods
The controls PD, PID, PD + g Adapt and adaptive
sliding mode (Slide), previously presented, were simu-
lated on the dynamic model. A test of regulation was
made to compare the different controllers that were
proposed. Table 2 shows the references to be achieved
for each joint.
Afterward, sinusoidal functions were proposed to
simulate a classic rehabilitation exercise for the
shoulder. Table 3 describes the trajectories that we
want to follow for each joint.
Results
Figure 6. Simulated results for tracking, where red line is the Numerical results
reference (Ref), green line is the result with proportional–
derivative control (PD), blue line is the result with The result of the simulation for regulation is presented
proportional–integral–derivative control (PID), brown line is the in Figure 5 in which we can see that all controllers are
result with proportional–derivative + adaptive gravity such that the position converges to a stable equilibrium
compensation control (g Adapt) and pink line is the result with point; however, they work in different ways, the ‘‘PD’’
adaptive sliding mode control (Slide): (a) q1, (b) q2 and (c) q3. control gives us a steady-state error of approximately
0.2 radians in the q3 joint. The ‘‘g Adapt’’ control pro-
where z is the argument of the function, and the algo- duces a smooth trajectory that comes to the reference in
rithm for reducing the amplitude of chattering is a slow way (appropriate for this type of rehabilitation
exercises). In the angular positions q2 and q3 , but not in
r_ ðtÞ = rðtÞsignðdðtÞÞ A½rðtÞ r+ þ + A½m rðtÞþ the angular position q1 , the ‘‘PID’’ control is faster to
ð31Þ reach the reference than any other control and has very
little overshoot. In general, the control ‘‘Slide’’ is fast
where and accurate, but we observe too much overshoot.
The result of the simulation for tracking is presented
dðtÞ : = j½signðsÞj a, a 2 ð0, 1Þ, A . r+ ð32Þ in Figure 6.
8 Proc IMechE Part I: J Systems and Control Engineering 00(0)
Figure 11. Error for q3, where green line is the error with the
Figure 10. Control actions for q3, where green line is the proportional–derivative control (PD), blue line is the error with
proportional–derivative control (PD), blue line is the the proportional–integral–derivative control (PID), brown line is
proportional–integral–derivative control (PID), brown line is the the error with the proportional–derivative + adaptive gravity
proportional–derivative + adaptive gravity compensation compensation control (g Adapt) and pink line is the error with
control (g Adapt) and pink line is the adaptive sliding mode the adaptive sliding mode control (Slide): (a) regulation error
control (Slide): (a) control actions for regulation (b) control and (b) tracking error.
actions for tracking.
Conclusion
that the controllers with better performance are the
‘‘PID’’ and the ‘‘Slide’’; also, we see that for the link q1 , We can see that in the case of regulation, the PID
the ‘‘PD’’ and ‘‘g Adapt’’ controllers do not converge control reaches the reference but takes a bit longer than
to the reference in a time shorter than 5 s. PD + g Adapt control; however, the PD + g Adapt
In the tracking of trajectories as well as the results does not reach the reference. Sliding mode control takes
obtained in simulation, the best performances are given a longer time to reach the reference, and the PD control
by the ‘‘PID’’ and the ‘‘Slide’’ controllers. Control takes more time, and they do not reach the reference. AQ6
actions for q3 obtained with ‘‘PD,’’ ‘‘PID,’’ ‘‘g Adapt’’ In the case of tracking, sliding mode control law has
and ‘‘Slide’’ are shown in Figure 10. a better performance than the PID, PD and PD + g
Figure 11 shows the graphs of errors in q3 . This is Adapt controls.
due to the fact that the movement q3 is the one that
accumulates a greater range of error throughout the Declaration of conflicting interests
experiment. With this graph, we obtain a better appre-
The author(s) declared no potential conflicts of interest
ciation of the performance of the controllers.
with respect to the research, authorship and/or publica-
tion of this article.
Discussion
This article presents a comparison between the perfor- Funding
mance of three control laws for an exoskeleton of 3 The author(s) received no financial support for the
DOFs. research, authorship and/or publication of this article. AQ7
The data of the experiments were obtained from an
encoder and were performed with healthy people, for
References
which no medical supervision is necessary, and the
results shown in this article are of the performance of 1. Panich S. Kinematic analysis of exoskeleton suit for
the control laws on the prototype of exoskeleton. human arm. J Comput Sci 2010; 6: 1272–1275.
10 Proc IMechE Part I: J Systems and Control Engineering 00(0)
2. Lo HS and Xie SQ. Exoskeleton robots for upper-limb 10. Utkin VI and Poznyak AS. Adaptive sliding mode con-
rehabilitation: state of the art and future prospects. Med trol with application to super-twist algorithm: equivalent
Eng Phys 2012; 34(3): 261–268. control method. Automatica 2012; 49: 39–47.
3. Sheng B, Zhang Y, Meng W, et al. Bilateral robots for 11. ANSI/AAMI HE75. Human factors engineering—
upper-limb stroke rehabilitation: state of the art and design of medical devices. Arlington, VA: Association
future prospects. Med Eng Phys 2016; 38(7): 587–606. for the Advancement of Medical Instrumentation,
4. Roderick SN and Carignan CR. An approach to design- 2009.
ing software safety systems for rehabilitation robots. In: 12. Perry JC and Rosen J. Design of a 7 degree-of-freedom
Proceedings of the IEEE 9th international conference on upper-limb powered exoskeleton. In: Proceedings of the
AQ8 rehabilitation robotics, Chicago, IL, 28 June–1 July 2005. first IEEE/RAS-EMBS international conference on biome-
5. Cavallaro E, Rosen J, Perry JC, et al. Hill based model dical robotics and biomechatronics, Pisa, 20–22 February
as a myoprocessor for a neural controlled powered exos- 2006. AQ11
keleton arm. In: Proceedings of the IEEE international 13. Frisoli A, Rocchi F, Marcheschi S, et al. A new force-
conference on robotics and automation, Barcelona, 18–22 feedback arm exoskeleton for haptic interaction in virtual
AQ9 April 2005. New York: IEEE. environments. In: Proceedings of the first joint Eurohap-
6. Navarro A and Alegre C. Monografı´as medico-quirurgicas tics conference and symposium on haptic interfaces for vir-
AQ10 del aparato locomotor: El hombre. Masson, 1997. tual environment and teleoperator systems, Pisa, 18–20
7. Hislop H and Montgomery J. Tecnicas de balance muscu- March 2005. AQ12
lar. 7th ed. Amsterdam: Elsevier, 2003. 14. Liszka M. Mechanical design of a robotic arm exoskeleton
8. Kelly R, Santibanez Davila V and Loria Perez JA. Control of for shoulder rehabilitation. MSc Thesis, University of
robot manipulators in joint space. New York: Springer, 2005. Maryland, College Park, MD, 2006.
9. Kelly R. Comments on ‘‘Adaptive PD controller for robot 15. Tomei P. Adaptive PD controller for robot manipulators.
manipulators.’’ IEEE T Robotic Autom 1993; 9(1): 117–119. IEEE T Robotic Autom 1991; 7(4): 565–570.