Robust Sliding Mode Control Based on GA Optimization and CMAC Compensation for Lower Limb Exoskeleton

A lower limb assistive exoskeleton is designed to help operators walk or carry payloads. The exoskeleton is required to shadow human motion intent accurately and compliantly to prevent incoordination. If the user's intention is estimated accurately, a precise position control strategy will improve collaboration between the user and the exoskeleton. In this paper, a hybrid position control scheme, combining sliding mode control (SMC) with a cerebellar model articulation controller (CMAC) neural network, is proposed to control the exoskeleton to react appropriately to human motion intent. A genetic algorithm (GA) is utilized to determine the optimal sliding surface and the sliding control law to improve performance of SMC. The proposed control strategy (SMC_GA_CMAC) is compared with three other types of approaches, that is, conventional SMC without optimization, optimal SMC with GA (SMC_GA), and SMC with CMAC compensation (SMC_CMAC), all of which are employed to track the desired joint angular position which is deduced from Clinical Gait Analysis (CGA) data. Position tracking performance is investigated with cosimulation using ADAMS and MATLAB/SIMULINK in two cases, of which the first case is without disturbances while the second case is with a bounded disturbance. The cosimulation results show the effectiveness of the proposed control strategy which can be employed in similar exoskeleton systems.


Introduction
The lower extremity exoskeleton, which began in the late 1960s, is an electromechanical structure worn by human users as an intelligent device for performance assistance and enhancement. In recent years, wearable robots have attracted interests of many researchers widely. The Berkeley Lower Extremity Exoskeleton (BLEEX) was designed to assist people in walking for carrying load, which could walk at the speed of 0.9 m/s while carrying 34 kg payload [1]. A mechanical leg has seven DOFs (three at the hip, one at the knee, and three at the ankle), of which four DOFs are actuated by valve-based hydraulic actuation systems [2]. However, these many active DOFs make the system complex and heavy, weighing 38 kg. The latter exoskeletons, that is, ExoHiker, ExoClimber, and HULC, simplify mechanical structure and reduce the number of active DOFs while carrying more payloads up to 68 kg-90 kg [3]. Hybrid Assistive Limb (HAL), proposed by the University of Tsukuba in Japan, has two active DOFs at the hip joint and knee joint, which are controlled according to collected electrical signals from muscles [4]. HAL is used to help users carry load and assist disabled people in walking [5,6]. An underactuated exoskeleton system is designed based on appropriate criteria to help infantry soldiers walk on different terrain, where active joints are applied to the knee joints while other joints are passive [7]. Moreno et al. studied and analyzed the human interaction with wearable lower limb exoskeleton, where the robot gathered information from the sensors in order to detect human actions and subjects also modified their gait patterns to obtain the desired responses from the exoskeleton [8].
Although many kinds of lower limb exoskeleton robots are studied, the human-exoskeleton collaborative movement is quite complex and difficult due to nonlinear characteristics of dynamic model and uncertainties, for example, external disturbance and involuntary movements. To achieve the goal of making exoskeletons providing assistance for human beings, a consistent dynamic tracking performance is required to maneuver exoskeletons in an efficient, smooth, and continuous manner [9]. The control procedure can be divided into two steps, acquiring human motion intent with human-robot interaction (HRI) and following the human motion intent accurately.
When the wearer wants to move, the central controller sends control signals to enforce the exoskeleton to follow commanded signals, during which HRI decreases. A crucial issue of control is to follow the estimated human motion intent accurately. The more accurate the intention tracking is, the more compliantly the exoskeleton works. The precise motion control of robotic manipulators has received considerable attention from many robotics researchers and its challenges continue to limit overall control performance because of structured and unstructured uncertainties [10]. In exoskeletons, the structured uncertainties contain payload variations, while unstructured uncertainties contain sensor noises, joint friction, and external disturbances. There are many approaches for position control approaches to deal with uncertainties such as robust control [11,12], adaptive control [13,14], intelligent control [15], and sliding mode control [16].
SMC is a robust control approach that drives state trajectory to predefined sliding surface by using discontinuous control inputs [17], which is used to improve control performance for robotic manipulators with model uncertainties such as parameter perturbations, unknown joint frictions and inertias, and external disturbances [18]. It is notable that its overall performance is superior to general PID control algorithm [19]. The process of designing a SMC controller has two steps: defining suitable sliding surfaces and designing discontinuous control laws [13]. Parameters of SMC should be chosen suitably to obtain optimal performance. Some common optimization methods are provided and applied in robots, for example, GA [20], particle swarm optimization (PSO) [21], ant colony optimization (ACO) [22], and evolutionary algorithm (EA) [23]. GA is simple to be implemented and is capable of locating global optimal solutions [24], which is utilized to optimize the structure of intelligent methods [25,26]. The decoupled SMC as a supervisory controller is applied in accordance with PID control, whose parameters are tuned using GA, to enhance tracking performance and eliminate the chattering problem [27]. The gain switch and sliding surface constant parameters are selected by GA so that the designed SMC can achieve satisfactory performance [28]. However, GA is only used to optimize parameters of sliding surfaces or SMC control laws. In this work, we use GA to optimize all parameters of the sliding surface and the control law at the same time.
The optimal SMC can deal with uncertainties to achieve satisfactory performance. To improve tracking performance, CMAC is added as a compensation item with property of fast learning capability. The CMAC proposed first by Albus [29] is similar to the mode of human cerebellum, which is an autoassociative memory feed-forward neural network. Compared with other feed-forward neural networks, it has faster convergence speed [30]. The approach which uses CMAC as a compensation item with SMC is applied in position control of robotic manipulators [31]. In this work, we propose to combine optimal SMC using GA and CMAC compensation to form the hybrid position control strategy. The remainder of this paper is organized as follows. The specific system under study is given in the second section. In Section 3, the proposed control strategy is explained in details. Cosimulations using the proposed approach and results analysis are presented in the fourth section. Conclusions are drawn in the final section.

Exoskeleton Configuration.
Based on principles in biological design, the designed exoskeleton is required to retain adaptability to multifunctionality of human lower limbs. An available powerful tool when designing an assistive exoskeleton is the enormous Clinical Gait Analysis (CGA) data on human walking [32]. With CGA data [33], our designed exoskeleton is shown in Figure 1. As Figure 1 shows, there are two active joints of a single leg in sagittal plane, which are knee joint and hip joint actuated by hydraulic actuation system.

Mathematical Model of Exoskeleton.
For multirigid system, Euler-Lagrange is a frequently used method for modeling of robotic manipulators. The exoskeleton is a typical human-robot collaboration system, which includes the user's lower limbs and mechanical limbs which are tied together at the interaction cuffs. Mathematical model of a single leg of exoskeleton is obtained because of its symmetry structure. Without loss of generality, the dynamic equation of the swing leg of exoskeleton robot can be expressed as follows: where M(q) ∈ × is the symmetric definite inertial matrix; C(q,q ) ∈ × is the Coriolis and centrifugal force matrix; G(q) ∈ ×1 is the gravitational force matrix; T ∈ ×1 Applied Bionics and Biomechanics 3 is the control input vector; D ∈ ×1 denotes unmodeled dynamics and external disturbances.
For dynamics model in (1), several properties are presented as the following [34].
In the position control of robotic manipulators, we define trajectory tracking error as where e is the tracking error, q is reference trajectory, and q is actual trajectory. Based on (2), we can obtaiṅ whereė andë is the first and second derivative of e,q and q are angular velocity and acceleration vector of command input, andq andq are that of actual output, respectively, all of which are bounded.

Sliding Mode Control.
A general SMC design consists of two steps: the sliding surface design and the control law construction. The purpose of the SMC is to track the trajectory specified by human intention and maintain system trajectory in the sliding surfaces [18]. Considering that there exist uncertainties including unmodeled frictions, variation of parameters, and external disturbances, the robustness should be an important concern in the controller design for exoskeleton system. The general sliding surface is defined as s =ė + Ae. To improve robustness of controller, a designed integral sliding surface is represented as follows [35]: where and are positive definite matrix. Thenṡ can be derived:ṡ =ë + Aė + He.
As the second design stage of SMC, the control laws should be chosen, which should be satisfied with the existence condition of SMC [36]: For the exoskeleton system under study, we define the SMC control law as follows: where T = D − G(q), and K are positive definite matrices, and sgn(s) is a symbolic function which is shown as follows: The SMC algorithm has chattering phenomena, which affects the accuracy of position control much. In order to eliminate chattering, the continuous function (s) with relay characteristics is used to replace the function of symbolic function sgn(s) to restrict the trajectory in a boundary layer of ideal sliding mode [37]. Then (7) can be rewritten as where (s) = s/(‖s‖ + ), > 0. Before stability analysis, Barbalat lemma is shown as the following [38].
Theorem 1. The proposed controller (9) guarantees asymptotic convergence to zero, both of the trajectory tracking errors and sliding surfaces. Namely, the system is globally stable; that is, when → ∞, → 0, → 0.
Proof. Lyapunov function is defined as Differentiating V with respect to time yieldṡ Considering Property 2, then Combining (10)-(12), one can geṫ Andq can be solved bÿ Substituting (14) into (13), theṅ 4 Applied Bionics and Biomechanics Substituting (7) into (15), we can obtaiṅ It is easy to know that K and are positive definite matrices; therefore s Ks > 0, s (s) > 0; thenV < 0. Hence, the system is globally stable. With the Barbalat lemma, s → 0 as → ∞; then one knows e → 0 andė → 0 as → ∞. This control law could realize convergence of the trajectory tracking error to zero.

Genetic Algorithm.
In SMC, those constant parameters existing in sliding surfaces and control laws, which are A, H, K, and in (9), determine the overall performance. Hence, it is necessary to find the optimal values of them using optimization algorithm. GA is an adaptive heuristic search algorithm that mimics the process of natural selection and uses biological evolution to develop a series of search space points toward an optimal solution. There are five components that are required to implement GA: representation, initialization, fitness function, genetic operators, and genetic parameters [39]. A simple GA involves three types of operator: selection, crossover, and mutation [40]. Selection is a probabilistic process for selecting chromosomes in the population using their fitness values. The chromosome with larger fitness value is likely to be selected to reproduce. Crossover is the process of randomly choosing a locus and swaps the characters either left or right of this locus between two chromosomes to create two offspring. The probability of crossover occurring for the parent chromosomes is usually set to a large value (e.g., 0.8). Mutation is to randomly flip some of the bits by changing "0" to "1" or vice versa, with a small probability (e.g., 0.001) which maintains genetic diversity to guarantee that GA can come to better solution. The process of GA optimization is shown in Figure 2. As Figure 2 shows, there are parameters such as the size of population and generation and the length of code that should be initialized; then the process of selection, crossover, and mutation is preceded until the convergence conditions are satisfied.

SMC with GA Optimization.
Based on that discussed above, the fitness function should be confirmed before implementing GA to SMC. The goal of SMC is to achieve precise trajectory tracking for robotic manipulators; that is, the smaller the trajectory errors are, the more effective the controller is. Those parameters to be optimized are relevant to trajectory error; hence the fitness function is defined as follows: With the fitness function, those parameters can be found with the minimization of tracking errors during the trajectory tracking using the designed control law. In the search space of GA, the SMC will have optimal parameters when the fitness function has minimum values. The algorithm of SMC optimized by GA is shown as Algorithm 1 in Appendix A.

CMAC Neural Network.
The CMAC neural network has three steps: projecting an input into association area, compressing memory cell through Hash coding, and calculating the output as a scalar product of the memory area [41], which is shown in Figure 3. The output of CMAC can be expressed as follows [42]:  where C is an association vector projected by input vector, W is the weight vector, H is the matrix of Hash coding, M is the number of Hash vector, ℎ is the number of association vector, and ℎ = 1 represents th association unit response to th Hash unit.
Similar to other neural networks, the weight parameters should be updated using Least Square Method (LSM). The updating process is expressed as follows: where ΔW is the weight vector increment, is the learning rate, A −1 = C −1 H,̂− 1 is the target output, and is the inertial parameter.
CMAC was originally proposed to be applied into control problems by Miller III et al. [43]. The CMAC control loop is usually added to traditional control loops, where the traditional controller actuates the plant stably and the CMAC helps to improve control preciseness without affecting the traditional control loop [44,45]. In other words, the CMAC control is usually added as a compensation item of traditional control method. The algorithm of the hybrid control strategy combining SMC and CMAC is shown as Algorithm 2 in Appendix B.
We can write the proposed control law based on (9) as follows: where U represents the output of CMAC neural network, K ∈ ×1 is a positive definite matrix, and A GA , H GA , GA , and K GA are matrices optimized using GA. With the reaching condition (6), the output of CMAC U has constraint as the following: For the exoskeleton system, the control diagram is illustrated as Figure 4 shows. As Figure 4 shows, GA is employed to obtain the optimal parameters A GA , K GA , H GA , and GA to construct optimized SMC. The CMAC's input is the sliding surface and its weight updating is derived from minimizing the tracking error. The output of the proposed control law is U = U + K U , of which U is the main output provided by SMC GA and U is the compensation output provided by CMAC.

Simulations with the Proposed Control Strategy
In this section, the proposed method is examined through simulations. The simulation results, which are from Applied Bionics and Biomechanics application into controlling the swing leg of the exoskeleton using the proposed algorithms, are presented. As Figure 1 shows, the active DOFs are hip joint and knee joint, while the ankle joint is passive. Based on (1), the dynamics model of swing leg can be expressed as where M( ) exo ∈ 2×2 , C( ,) exo ∈ 2×2 , G( ) exo ∈ 2×1 , q ∈ R 2×1 ,q ∈ R 2×1 , and T ∈ R 2×1 . In simulations, the desired angular position of lower limb joints stems from the CGA data as Figure 5 shows. The period of the cyclical gait is 2 seconds and we will obtain the fitting expression with respect to time hip ( ) = 3.85 cos (0.330 + 2.14) where hip ( ) and knee ( ) are the desired angular position of hip joint and knee joint, respectively. To investigate the effectiveness and robustness of the proposed scheme, two simulation cases are considered: without disturbances (Case One) and with bounded disturbances (Case Two). The external disturbance ( ) is a function of time which is assumed to have an upper bound: For recording the respective performances, the root mean square error (RSME) is defined to examine control performance as follows: where is the size of error vector. We integrate ADAMS and MATLAB/SIMULINK to control the exoskeleton using the proposed control strategy, which is shown in Figure 6. As Figure 6 shows, there are six output variables from ADAMS model which are angular position, velocity, and acceleration of knee joint and hip joint of a swing leg while the designed controller in MATLAB outputs two control torques into ADAMS model. Figure 6(a) shows the exoskeleton model in ADAMS and Figure 6(b) shows the control scheme in SIMULINK. The designed controller produces control signals transferred to ADAMS while the kinematics information of exoskeleton joints is measured in ADAMS and returned back to MATLAB workspace. Through creating a communication block between MATLAB and ADAMS, the dynamics movements in gait cycles are shown in Figure 7, which illustrates the level ground walking for the lower extremity exoskeleton.
The comparisons between the proposed control scheme and conventional SMC, SMC with CMAC (SMC CMAC) neural network, and optimal SMC with GA (SMC GA) are conducted.  four kinds of controllers separately. It can be seen that all of controllers can achieve good tracking performance and the conventional SMC without optimization has the largest tracking errors. Similarly, the angular position tracking and tracking errors comparisons in Case Two are depicted in Figures 9(a)-9(d). As Figure 9 shows, the desired joint angular trajectory also can be tracked well. To evaluate the control performances of Case One and Case Two, RSME comparisons using four controllers are depicted in Figures 10 and 11. Figure 10(a) gives RSME of two joint tracking errors in Case One while Figure 10(b) describes that in Case Two. In two cases, the performance sequence from worse to better should be SMC, SMC CMAC, SMC GA, and SMC GA CMAC. Figure 11(a) illustrates the RSME comparison of hip joint while Figure 11(b) illustrates that of knee joint. In Figures 10 and 11, the RSME do not change much; hence the proposed control strategy still works when there exists external disturbance. If the RSME is treated as a benchmark, the improvement percent (IMP) of performance with four kinds of controllers in Case One and Case Two is displayed in Tables 1 and 2. As the two tables show, the proposed control strategy will gain the highest improvement percentages of 69.4% and 76.8% for hip joint and knee joint separately in Case One while they change to be 68.1% and 76.8% in Case Two. Tables 1 and 2 illustrate that the SMC GA is inferior to SMC GA CMAC but has better performance than SMC CMAC, while the SMC CMAC is superior to SMC. Therefore, the proposed control strategy is robust and effective whether the exoskeleton system dynamics suffer from bounded external disturbance or not.

Conclusions
For lower limb assistive exoskeletons, precise position control is very important for the human-exoskeleton  collaboration. In this paper, a hybrid position control strategy SMC GA CMAC is proposed to follow human limb joints trajectory for the exoskeleton. GA is used to find the optimal structure of SMC and CMAC neural network is implemented as the compensation to improve tracking performance. The proposed SMC GA CMAC control strategy is proven to be stable with Lyapunov function and features better tracking performance compared with SMC, SMC GA, and SMC CMAC. The proposed control algorithm has guaranteed the requirement for high accuracy of position control for robotic manipulators suffering from dynamics uncertainties. The hybrid control strategy SMC GA CMAC is more suitable to control the exoskeleton to follow human motion intent under the occurrence of uncertainties. In addition, the proposed method will be investigated and explored in the real exoskeleton prototype in the near future. Future study will be focused on the optimization of CMAC to overcome its drawbacks because of the binary input mapping character, which can be addressed by intelligent approaches such as fuzzy logic in cosimulation. The human motion intent estimation is also a crucial challenge, which will be investigated using machine learning methods.