The advanced iterative learning control algorithm for rehabilitation exoskeletons

In this paper an advanced iterative learning control algorithm for rehabilitation exoskeletons is proposed. A simplified biomechanical model is used as the control object to verify control algorithm feasibility. The control design is proposed as two level controller consisting of inner and outer loop. In the inner loop the feedback linearization is applied to cancel out the model nonlinearities. In the outer loop the advanced iterative learning control algorithm of sgnPDD type is applied as a feedforward controller and classical PD controller as a feedback controller. Uncertainties are added in order to examine the controller design robustness. Numerical simulation is carried out.


Introduction
XOSKELETON as a real-time interaction with the wearer's intelligent robot, in recent years, becomes a hot topic mouth class research in the field of robotics. The term 'exoskeleton' was used in biology referring to the chitinous or calcified external skeleton used by numerous animal taxa for structural support and defense against predators [1,2].
Wearable exoskeleton outside the body, combined with the organic body, plays a role in the protection and support. By wearing an exoskeleton robot, it is possible to expand the wearer's athletic ability, increase muscle endurance, and enable the wearer to complete tasks that one cannot perform under natural conditions as well as help for recovering of lost human motor functions. Based on the above advantages, the exoskeleton robot in military medical care and rehabilitation has broad application prospects [2].
In the military field, the exoskeleton is very attractive because it can effectively improve the individual combat capability. For example, HULC is an exoskeleton robot that can greatly increase the soldier's ability to carry weight, making it easy for soldiers to carry heavy loads of 90 kg. Now, the exoskeletons are generally regarded as a technology that extends, complements, substitutes or enhances human function and capability or empowers the human limb where it is worn [3]. Unlike other robots, the operator of exoskeletons is a human who needs to make decisions [4] and perform tasks with exoskeletons.
Stroke survivors are faced with some degree of limb impairment, depending on the place in brain, structure and size of caused damage. An increasing number of evidence suggests that brain of a patient who survived stroke has increased capacity for plastic change and thus some motor functions can be fully or partially recovered. Rehabilitative training plays an important role in recovery of lost motor functions [5]. In order to enhance a therapy delivered by therapists, the use of robotics emerged as an aid in the rehabilitation process [6]. In [7] and [8] it is shown that the robot-aided training, especially in the upper limbs, has positive effects in patient stroke rehabilitation. Also, it has been observed that robot-assisted rehabilitation has potential benefits to patients even several years after the stroke.
Rehabilitative robotics of the upper limbs can be differentiated into two types -rehabilitative robots with one point of contact (end-effector robots) and rehabilitative robots with multiple points of contact (exoskeletons). End-effector robot supports patients arm in one point of contact, usually patients hand or forearm. End-effector robot joints movement does not coincide with the movement of the patients arm. These drawbacks with the end-effector robots influenced the research of exoskeleton rehabilitation robots. Exoskeletons mitigate important flaws of the end-effector robots mentioned above [9]. Rehabilitation robots can be developed to assist rehabilitation in individuals with stroke.
Considering the repetitive nature of the patient`s rehabilitation process, Iterative Learning Control (ILC) algorithms emerged as suitable for this application. In the last three decades, (ILC) has been extensively studied. ILC has become one of the most active research and study topic in the field of control theory and its applications [10], [11], [12], [13], [14].
ILC is an intelligent control method for systems that perform tasks repetitively over a finite time interval. This method is similar to how humans learn -performing a certain task and observing the outcome. The next performance of the same task will be adjusted accordingly to the previously observed outcome. ILC algorithm constructs current system input by applying predetermined mathematical law on a previous system output which was stored in the memory [11]. Loosely said ILC is using past experience to improve current system behaviour. Basic ILC principle is illustrated in Fig.1. As it has been already said, rehabilitation training is a kind of repetitive training. Patient's motor function will improve with an increase in the number of training while the auxiliary level of robot and electrical stimulation will be reduced. In ILC the control input is directly updated between trials and it is this feature that makes it suitable for exoskeleton robots (i.e. robotic assisted stroke rehabilitation) [15].
In this paper, an advanced robust open-closed iterative learning control for exoskeleton rehabilitation robots is presented.

Control object model
In order to validate the proposed control algorithm feasibility, the control object is mathematically modelled using the Rodriguez approach. Human upper limb and supporting exoskeleton are adopted as the control object in this paper. The existing complex system is simplified to a biomechanical model consisting of 3DOF robot arm with truncated cone shaped links (Fig.2).
Structure of this biomechanical model is a sequence of two rigid bodies -links, interconnected with joints where the first link has two degrees of freedom and the second link has one degree of freedom. In order to apply the Rodriguez approach the first joint is decomposed from 2DOF to two links interconnected with 1DOF joints. The first link is set to be fictive, i.e. mass and length of this link is zero. Now, open chain system of rigid bodies consists of three bodies with joints between them starting from inertial reference frame as shown in Figure . The values , 1,2,3 i q i  are generalized coordinates that define a configuration of the mechanical model. Each link is associated with local reference frame C . At initial time reference configuration is set by setting corresponding axes of reference frames parallel to the Cartesian inertial reference frame Oxyz . This convention enables using the Rodriguez approach for obtaining dynamic equations of motion.
Further, parameters , 1 are defined, which denote whether a joint is prismatic or cylindrical. The geometry of the model is defined by the unit vectors i e  and the position vectors i ρ  and ii ρ  expressed in local coordinate Origins of these local coordinate frames are attached to the centre of mass of each link i [16], [17]. Dynamic equations of motion for the robot system can be obtained by applying the Lagrange equations of the second kind in the covariant form as follows: where the coefficients       are the covariant coordinates of the basic metric tensor and present the Christoffel symbols of the first kind. Coefficients of the metric tensor are defined as, The Christoffel   symbols are:   ,   1  Γ , , , 1 ,, 2 a a a n q q q The generalized forces can be presented as: where   a q is the inertia matrix,   , K q q  is matrix that includes centrifugal and the Coriolis effects, g Q is vector of gravitational forces and u Q is vector of generalized control forces [18]. It is assumed that viscous, spring and friction forces are equal to zero in our case.

Control design
The obtained mathematical model is multi-input multioutput, nonlinear, time-varying system. Control law design in this case consists of inner and outer control loop. Inner loop is Feedback linearizing control law and outer loop is Iterative Learning Control algorithm with classical PD feedback.

Feedback Linearization
Feedback linearization or Computed torque control algorithm is introduced in order to linearize nonlinear biomechanical model so the linear control laws can be applied in the outer loop. This linearization is exact and it differs from the Jacobian linearization which is linear approximation of dynamics of given system. Feedback linearization can be applied in general form [19], but here the concept of Computed torque is applied out of the convenience. Given the equations of motion (7), where input vector u Q can be chosen as: Where u is new input vector. A new linear decoupled system is obtained in form of double integrator: Now u can be chosen conveniently as the linear control law which is going to close the outer control loop.

Open-closed loop iterative learning control
After closing the inner loop control algorithm in the outer loop an open-closed loop ILC algorithm is applied which consists of feed-forward sgnPDD 2 type control law and feedback PD type control law as represented in the block diagram (Fig.3). Control law can be written as: respectively [20]. These sums are defined as:  (13). This is shown in Fig.4. Step function threshold values are chosen purely by trial and error and currently no specific recommendation can be given for the initial selection.

Simulation results and discussion
In this section the numerical simulation in MATLAB is carried out in order to verify control law error convergence. A method used to solve ordinary differential equations is the Runge-Kutta with fixed step. Simplified exoskeleton/ human arm model with 3DOF is used as a simulation object with following parameters 1 0 kg, m  where the first segment is fictive due to 2DOF joint decomposition [16]. Exoskeleton system is tasked with desired trajectory tracking,   n  q t a at a t a t a t a Let the error bounds be   2 max 0.5 10 rad e     . Exact feedback linearization of the given system left us with a linear system. In order to verify the control law robustness additional uncertainties are introduced in the system via η . Uncertainty of the given biomechanical model can be represented as a change of mass of the object. With that in mind inertia matrix, centrifugal matrix and gravity vector can be written as a sum of nominal and uncertain part [21]. Equations of motion (7) can be rewritten as: Applying computed torque we can choose: Equations now become: where u is a new control signal and η is the model uncertainty: A new control input u is selected as sgnPDD 2 /PD type controller designed in the previous section. Equations of motion can be represented in state-space form as: n n n n n n n n a n n n n n n N n n n n Before applying the proposed ILC algorithm as input u, the following assumptions will be made: It can be seen from figures (Figures 1, 2 and 3) that the system output reaches desired trajectory. Increasing mass uncertainties results in slower system output error convergence.
The first link (fictive) reaches proposed error bound in 35 iterations for 5% mass uncertainty, in 96 iterations for 10% mass uncertainty and in 101 iterations for 15% mass uncertainty. Two other links reach desired trajectory much faster, within 20 iterations.
Also, it can be concluded that, although the system response in some cases requires relatively large number of iterations to reach the desired error bound, the initial trajectory does not deviate too much from the desired trajectory. In other words, maximum errors above the proposed error bound are not drastically greater than mentioned error bound for real world applications, in this case -patient rehabilitation.

Conclusion
In this paper sgnPDD 2 type of feed-forward iterative learning controller is investigated. In addition to feed-forward controller, regular PD feedback controller is present. Control law behaviour is tested, through simulation, on a linear system with added bounded uncertainties. A simulation results show convergence of the systems response and controller ability to track the reference trajectory. System output in some cases needs a relatively large number of iterations to reach the desired trajectory.