Robust controls for upper limb exoskeleton, real-time

0 downloads 0 Views 6MB Size Report
del aparato locomotor: El hombre. Masson, 1997. 7. Hislop H and Montgomery J. Tecnicas de balance muscu- lar. 7th ed. Amsterdam: Elsevier, 2003. 8. Kelly R ...
Original Article

Robust controls for upper limb exoskeleton, real-time results

Proc IMechE Part I: J Systems and Control Engineering 1–10 Ó IMechE 2018 Reprints and permissions: sagepub.co.uk/journalsPermissions.nav DOI: 10.1177/0959651818758866 journals.sagepub.com/home/pii

Yukio Rosales Luengas1, Jesus Ricardo Lopez-Gutierrez1, S Salazar1 and Rogelio Lozano2

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 _ + b(q)u, where q, u, f (q, q_ ) and b(q) are state’s vector, torque’s vector, a matrix function and a following form: €q = f (q, q) 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

Date received: 17 March 2017; accepted: 2 October 2017

Introduction An arm exoskeleton, also called an instrumented orthosis, is an external mechanical structure with joints corresponding to the human arm. The exoskeleton arm can be used to increase the mechanical power of the human arm as a result of physical contact between the two.1 Motivation consists mainly of recognizing that the shoulder is the most mobile of all the joints in the human body and prone to common multiple injuries and diseases, such as the following:    

Shoulder dislocation (luxation); Disjointed shoulder; Fracture of the humeral head; Rupture of the rotator cuff.

In cases like these, where mobility is lost in the upper extremity, an exoskeleton arm can be used for rehabilitation. In recent years, significant improvements have been made in the field of medical robotics. Some exoskeletons for upper limb rehabilitation are already commercially available, for example, Aupa, JACE S603 and ArmeoÒ Power. Lo and Xie2 present a state of the art of the recent progress of upper limb exoskeleton robots for

rehabilitation treatment of patients with neuromuscular disorders. Sheng et al.3 provide a systematic overview and evaluation of existing bilateral upper limb rehabilitation devices and robots based on their mechanisms and clinical outcomes. Exoskeletons such as the Maryland-Georgetown-Army (MGA)4 and the University of Washington5 treat the shoulder joint as a purely spherical 3-degree-of-freedom (DOF) joint, but this joint has actually more DOFs. The anatomical shoulder region is composed of the union of three bones: the scapula, clavicle and humerus. The combination of these three bones forms two joints, glenohumeral, which is formed between the humerus and the scapula, and acromioclavicular, which is the joint that connects the scapula acromion and the clavicle. Some experts included in this classification the sternocostoclavicular joint (formed by the clavicle and 1

Centro de Investigacion y de Estudios Avanzados del Instituto Polite´cnico Nacional, Mexico, Mexico 2 Universite de Technologie de Compiegne, Compiegne, Mexico Corresponding author: Jesus Ricardo Lopez-Gutierrez, Centro de Investigacion y de Estudios Avanzados del Instituto Polite´cnico Nacional, Av. Instituto Polite´cnico Nacional 2508, Col. San Pedro Zacatenco, Delegacio´n Gustavo A. Madero, Mexico 07360, Mexico. Email: [email protected]

2

Proc IMechE Part I: J Systems and Control Engineering 00(0) 

Figure 1. Experimental prototype of 5-DOF exoskeleton for shoulder rehabilitation.

Figure 2. Design of 5-degree-of-freedom upper limb exoskeleton.

sternum) and the scapulothoracic joint as shoulder joints.6 The human shoulder has 5 DOFs. Of these, three are given by the glenohumeral joint, allowing us to target the upper limb in relation to the three planes of space: frontal, sagittal and transversal, thanks to the three main axes:7 





Transverse axis: Included in the frontal or coronal plane allows flexion and extension movements performed in the sagittal plane. Anteroposterior axis: Included in the sagittal plane allows the movements of abduction and adduction, made in the frontal plane. Vertical axis: The longitudinal axis of the humerus allows external/internal rotation.

There are also movements of the shoulder stump, which bring into play the scapular thoracic joint: 

In the transverse plane, these movements allow retroposition/preposing shoulder stump.

In the frontal plane, these movements allow scapular elevation/depression.

Considering that the different parameters such as sizes, weights and heights that exist between the humans who carry on an exoskeleton, results in a dynamic modeling of a system with uncertainties and is one of the main reasons why it is necessary to propose a robust control law. This article presents an application and comparison between four controllers for the 3 actuated DOFs from the exoskeleton for shoulder: proportional–derivative (PD), proportional–integral– derivative (PID),8 PD + adaptive gravity compensation (g Adapt)9 and adaptive sliding mode.10 The strategy of the sliding mode controller consists of introducing an adaptation in the control law in order to decrease the gain to the minimal value preserving the sliding mode control and keeping its property of finite-time convergence. However, PD with g Adapt control provides an estimate of uncertain parameters that will change from one user to another; the justification for using this control law is that it offers an adaptability to these parameters and, therefore, a solution to the control problem by means of obtaining an approximate dynamic model which is used to control the movements in the exoskeleton. We present in this article the mechanical design of an exoskeleton arm for the shoulder (Figure 1), stress analysis, dynamic modeling and simulation, implementation and comparison of multiple controllers in a real prototype. The upper limb device is intended to be used in the rehabilitation of people who have suffered injuries at their upper end.

Mechanical design A major goal for us was the coincidence of the movements of the exoskeleton and the human. Considering the design from this perspective, it was determined that the exoskeleton prototype has 5 DOFs which correspond to the DOFs previously exposed: 3 for the glenohumeral joint and 2 for joint scapulothoracic. The joint for the movement of scapular retroposition/preposing was included just for a better adaptation of the exoskeleton to the human body; so, it was designed as a passive joint. Similarly, a joint elbow was added for user comfort, and this new element was included as a passive joint. The implementation of 5 DOFs is the main contribution to this type of exoskeletons; in addition, the exoskeleton shoulder (Figure 2) was designed, in computer-aided design (CAD),1 for a person of average size (1.75 m high and 75 kg of weight); nevertheless, it can be adapted to people a little bigger or smaller (65 cm and 610 kg). For the security of the human arm, the exoskeleton has two kinds of security systems: by software and physics. Table 1 shows the range of motion that can reach our exoskeleton (UMI) compared to those of an average human. This table shows 4 DOFs of the human

AQ1

Luengas et al.

3

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). DOF

Man11

Caden-712

EXOS13

MGA14

UMI

Ext/Flx Abd/Add Int/Extr Elv/Dep

236 173.5 160 15

180 180 160 –

135 140 135 –

210 138 131 –

225 140 160 10

AQ2

DOF: degree of freedom; MGA: Maryland-Georgetown-Army.

Figure 3. Stress analysis study with the shoulder flexed 90° and internally rotated 90°.

shoulder and compares the range of motion in each DOF, between the human shoulder and different prototypes including our exoskeleton (UMI).

Figure 4. Diagram model links.

2

3 q1 q = 4 q2 5 q3

Stress analysis A stress study was conducted in efforts to determine the structure of the material used and the dimensions. After several trials, it is concluded that the right material to use is aluminum alloy 6061-T6, bars 2 in 3 3=8 in. Figure 3 shows the stress analysis study with the shoulder flexed 90° and internally rotated 90°. The design takes into account the weight of the structure, the weight of the engine and a load at its farthest point of 100 N (about three times the weight of the arm). With all this, the safety factor is 1.75.

ð1Þ

The dynamic equations describing the system are obtained using the Euler–Lagrange method (2). The equations of motion are given by equation (2a), where L is the Lagrangian (equation (2b)) and consists of the sum of kinetic K (equation (2c)) and potential U (equation (2d)) energies, where t, m, I, h and V are vectors of torques, masses, inertias, heights and velocities of the joints of the robot, respectively

Dynamic model and control

  d ∂Lðq, q_ Þ ∂Lðq, q_ Þ =t  dt ∂q_ ∂q

ð2aÞ

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 that are assigned to each element of the exoskeleton. In this diagram, q0 , q1 , q2 , q3 and q4 are the angles for the movements of retroposition/preposition, elevation/ depression, abduction/adduction, flexion/extension and external/internal rotation, respectively. Since we are interested in the movements of elevation/depression, abduction/adduction and flexion/ extension, we define the state vector q as follows

KðqðtÞ, q_ ðtÞÞ =

1 1 mjjVjj2 + Iq2 2 2

UðqðtÞÞ = mghðqðtÞÞ

ð2cÞ ð2dÞ

The dynamic model of the system in the general form is t = MðqÞ€q + Cðq, q_ Þq_ + gðqÞ

ð3Þ

AQ3

4

Proc IMechE Part I: J Systems and Control Engineering 00(0)

where M, C and g are the inertia matrix, the centrifugal and Coriolis matrix and the vector of gravitational torques, respectively, which can be rewritten as

M11 ðqÞ = I1 + I2 + I3y + l21 m2 + l21 m3 + l21c m1

2

3 2 M11 ðqÞ t1 6 7 6 4 t 2 5 = 4 M21 ðqÞ t3

32 3 M13 ðqÞ q€1 76 7 M23 ðqÞ 54 q€2 5 M31 ðqÞ M32 ðqÞ M33 ðqÞ q€3 2 32 3 C11 ðq, q_ ÞC12 ðq, q_ ÞC13 ðq, q_ Þ q_ 1 6 7 6 7 + 4 C21 ðq, q_ ÞC22 ðq, q_ ÞC23 ðq, q_ Þ 54 q_ 2 5 C31 ðq, q_ ÞC32 ðq, q_ ÞC33 ðq, q_ Þ q_ 3 2 3 g1 ð qÞ 6 7 + 4 g2 ð qÞ 5

+ l22 m3 + l22c m2 + l23c m3 cosðq3 Þ2 + 2l1 l2 m3 cosðq2 Þ + 2l1 l2c m2 cosðq2 Þ

M12 ðqÞ M22 ðqÞ

+ 2l3c l1 m3 cosðq3 Þsinðq2 Þ M12 ðqÞ = m3 l23c cosðq3 Þ2 + l1 m3 sinðq2 Þl3c cosðq3 Þ + m3 l22 + l1 m3 cosðq2 Þl2 + m2 l22c

ð4Þ

+ l1 m2 cosðq2 Þl2c + I2 + I3y M13 ðqÞ = l3c m3 sinðq3 Þðl2 + l1 cosðq2 ÞÞ 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 M22 ðqÞ = m3 l23c cosðq3 Þ2 + m3 l22 + m2 l22c + I2 + I3y

C11 ðq, q_ Þ = l1 q_ 2 ð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 u  C12 ðq, q_ Þ = q_ 3 121 + 122 2 2

M31 ðqÞ = l3c m3 sinðq3 Þðl2 + l1 cosðq2 ÞÞ 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 ÞÞ C13 ðq, q_ Þ = l3c m3 q_ 3 cosðq3 Þðl2 + l1  cosðq2 ÞÞ u u   q_ 2 131 + 132 2 2

ð7Þ

and the gravity vector is composed of the following terms

 l3c m3 q_ 1 sinðq3 Þðl3c cosðq3 Þ + l1 sinðq2 ÞÞ

g1 ðqÞ = gm2 ðl2c cosðq1 + q2 Þ + l1 cosðq1 ÞÞ + gm3 ðl2 cosðq1 + q2 Þ + l1 cosðq1 Þ

l2 m3 q_ 3 sinð2q3 Þ 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 2 l 3 c m3 C23 ðq, q_ Þ = 2

g3 ðqÞ = l3c gm3 cosðq1 + q2 Þsinðq3 Þ

Also, the dynamic model of the system, in the affine _ + b(q)u, is form €q = f(q, q)

ð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

C31 ðq, q_ Þ = l3c m3 sinðq3 Þ l23c m3 sinð2q3 Þðq_ 1 + q_ 2 Þ 2

Control

C33 ðq, q_ Þ = 0

ð5Þ

where the auxiliary variables are defined as

u131 = l3c m3 sinðq3 Þð2l3c cosðq3 Þ + l1 sinðq2 ÞÞ u132 = l3c l1 m3 sinðq2 Þsinðq3 Þ

For the control of the exoskeleton, three requirements were defined:  

u121 = l3c m3 sinðq3 Þð2l3c cosðq3 Þ + l1 sinðq2 ÞÞ u122 = l3c l1 m3 sinðq2 Þsinðq3 Þ

ð9Þ

_ = M(q)1 ½C(q, q) _ q_ + g(q), with f(q, q) b(q) = 1 M(q) and the control input u is the torque’s vector t.

ðl3c q_ 1 cosðq3 Þ + l3c q_ 2 cosðq3 Þ + l1 q_ 1 sinðq2 ÞÞ C32 ðq, q_ Þ =

ð8Þ

ð6Þ



Adaptability to different persons; Ability to assist in the rehabilitation exercises by reducing effort; Correct trajectory tracking. Defining the position error ~q as

Luengas et al.

5

~ q = qd  q

ð10Þ

where qd is the desired joint displacement and q is the displacement. Then, we have that the control PD and PID are given as follows q + kv ~ q_ t = kp ~ t = kp ~ q + kv ~ qðt Þdðt Þ q_ + ki ~

ð12Þ

0

where it is clear that they depend only on position error (equation (10)). kp , kv and ki are diagonal positive definite matrices referred to as proportional gain, derivative gain and integral gain, respectively. PD + g Adapt control. The PD + g Adapt (equation (13)) control depends on the position error and speed, besides the vector of gravitational torques g(q), that is, prior knowledge of the model is needed for correct operation of control q + kv ~ q_ + g(q) t = kp ~

ð13Þ

But we cannot have an exact knowledge of the mass of the arm for each person, length to center of mass or inertias; therefore, it is proposed to use an adaptive control that can estimate the unknown parameters and thus improve the performance control. We propose to use a parameterization as follows: for all u, v, w 2 Rn , the dynamic model of n-DOF robot may be written using a parameterization as8 MðqÞq_ + Cðq, q_ Þq_ + gðqÞ = Fðq, u, v, wÞY + M0 ðqÞu + C0 ðq, wÞv + g0 ðqÞ

^ + g0 ð qÞ = kp ~q + kv ~q_ + Fg Y

ð18bÞ

^ ðtÞ = GFg ðqÞT Y

gðq, YÞ = Fðq, 0, 0, 0ÞY + g0 ðqÞ

ðt



 e0 ^ ð 0Þ ~q  q_ ds + Y 1 + k ~q k

0

ð18cÞ

where kp , kv 2 Rnxn and G 2 Rmxm are diagonal positive definite design matrices and e0 is a positive constant. Equation (18b) is obtained from equation (18a) using equation (17). Equation (18c) comes from the 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 of tracking where qd is not constant can be seen in Tomei.15 Now, we consider parameters of interest: the mass m3 , the length to center of mass l3c and the inertia I3 . Then, the vector of dynamic parameters is 2 3 m3 ð19Þ Y = 4 m3 l3c 5 m3 l23c + I3 Identifying these parameters in equation (11), we can calculate the matrix Fg as Fg =

2

3 gðl2 cosðq1 + q2 Þ + l1 cosðq1 ÞÞ g sinðq1 + q2 Þcosðq3 Þ 0 4 gl2 cosðq1 + q2 Þ g sinðq1 + q2 Þcosðq3 Þ 0 5 0 g cosðq1 + q2 Þsinðq3 Þ 0

ð20Þ

ð14Þ

where F(q, u, v, w) 2 Rnxm ; M0 (q), C0 (q, w) 2 Rnxn ; g0 (q) 2 Rn ; and Y 2 Rm . The vector Y, known by the name vector of dynamic parameters, contains elements that depend precisely on physical parameters such as masses and inertias of the links of the robot and on the load. The matrices M0 (q) and C0 (q, w) and the vector g0 (q) represent parts of the matrices M(q) and C(q, w) and the vector g(q), respectively, that do not depend on the vector of (unknown) dynamic parameters Y. In this way, the following expression holds ð15Þ

where we set u=0 v=0 w=0

ð18aÞ

ð11Þ Ðt

AQ4

t = kp ~q + kv ~q_ + gðq, YÞ

ð16Þ

^ 2 Rm , the expression (15) could be Given a vector Y rewritten as   ^ = F g ð qÞ Y ^ + g0 ð qÞ g q, Y ð17Þ Considering equation (17), the PD control g Adapt is presented as

and the matrix g0 (q) is g0 ð qÞ 2 3 gm2 ðl2c cosðq1 + q2 Þ + l1 cosðq1 ÞÞ + gl1c m1 cosðq1 Þ 4 5 gl2c m2 cosðq1 + q2 Þ 0 ð21Þ

Adaptive sliding mode control. Another way of addressing the problem is to enforce the behavior of the system states toward the desired trajectories, which are known. For this case, we use the sliding mode approach. The tracking errors are defined by e q = q  qd

ð22aÞ

e_ q = q_  q_ d

ð22bÞ

€eq = €q  €qd

ð22cÞ

with qd as desired position. In the sliding mode control, we define a time-varying surface s(t) in the state-space R(n) , in which the sliding motion takes place. The surface is given by the scalar equation s(q; t) = 0, where

6

Proc IMechE Part I: J Systems and Control Engineering 00(0)

Table 2. Reference table. Joint

Initial position

Desired reference

q1 q2 q3

0 0 0

p/36 p/3 p/2

Table 3. Track table. Path for

Frequency

Amplitude

q1 q2 q3

p/4 p/4 p/4

p/20 p/6 p/4



(n1) d +l eq sðq; tÞ = dt

ð23Þ

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 solution to obtain the sliding condition when the dynamic parameters have uncertainty is using the switching control law AQ5

t sign = r signðsÞ 8 s.0

Suggest Documents