1. Introduction
Over the past decades, advances in electromechanical technology have accelerated the development of lower extremity exoskeletons. Unless otherwise stated, the exoskeleton referred to in this article refers to the lower extremity exoskeleton. The exoskeleton is a device that interacts with the human. The main applications of exoskeletons are physical assistance and rehabilitation [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10]. During human–machine interaction, under no circumstances should the exoskeleton directly or indirectly cause injury to the human, either in the routine operation or in fault [
11]. Therefore, exoskeleton research should not be confined to mechanical design. It is also challenging and important to improve the performance of the exoskeleton’s controller and to realize compliance control in the process of human–machine interaction [
12,
13,
14]. One of the effective methods to enhance the flexibility of the exoskeleton’s controller is to build an accurate dynamic model [
15,
16,
17,
18,
19].
Dynamic parameters are used to build the dynamic model of the exoskeleton. There are three main methods to obtain the dynamic parameters of the exoskeleton. First, obtaining the CAD data directly from the manufacturers. This method is not applicable to non-standard products such as exoskeletons. Second, obtaining the CAD data from 3D design software. This method ignores many factors such as the dynamics of hoses and wires, and the internal dynamics of actuators that affect the dynamics of the exoskeleton. Third, obtaining the dynamic parameters through dynamic parameter identification algorithms. This method has high accuracy and requires a series of experiments for data acquisition [
20,
21,
22]. The exoskeleton is made up of many non-standard parts, such as pipes and actuators [
6,
7,
8,
9,
10], which cause the dynamic parameters of the exoskeleton to fluctuate during working. Obviously, it is difficult to obtain the dynamic parameters from the manufacturers or 3D design software. Therefore, parameter identification algorithms are expected to be an effective way to obtain more accurate dynamic parameters [
23,
24].
In order to obtain more accurate dynamic parameters, researchers are increasingly paying attention to the application of parameter identification algorithms for the exoskeleton. Researchers have carried out some preliminary research works. Targeting the swing phase [
25,
26], Justin et al. identified the dynamic parameters of Berkeley Exoskeleton (BLEEX) [
21] by means of Least Square (LS) [
27,
28]. The joint friction coefficients of BLEEX were identified by static experiments, and the inertial parameters [
29] were identified by dynamic experiments. The method did not make full use of the non-correlation between the parameters and the linear relationship between the parameters and the parameterized dynamic equations [
30,
31]. Therefore, the method only identified one parameter in each experiment. Designing a corresponding identification experiment for each parameter was necessary. The process of parameter identification experiment was very complicated, and the friction parameters on the hip joint lost identifiability because of the limited range of motion. The parameter identification accuracy of this method is low. Justin et al. did not compare the identification accuracy of LS with other algorithms. Lin Cong et al. also used LS for dynamic parameters identification of the exoskeleton [
16]. However, the identified parameters were only compared with the CAD data calculated by Solidworks. Due to the existence of a large number of non-standard parts [
16], it is difficult to prove the accuracy of this method. Jonas [
20] proposed a weighted LS method and verified it on an exoskeleton with flexible actuators. The accuracy of the algorithm was also compared with the CAD data of 3D design software. The CAD data could not offer the real value of all the parameters to be identified. Therefore, the accuracy of the method was also not verified. In conclusion, the current parameter identification algorithms for exoskeletons are either complicated, have low accuracy, or lack of quantitative accuracy verification. The identification algorithms are generally based on the LS method. The performance of other parameter identification algorithms in exoskeleton dynamic parameter identification has not been studied. However, Zafer [
32] has demonstrated that Particle Swarm Optimization (PSO) has higher identification accuracy than LS on an RX-60 manipulator. Therefore, the introduction of the PSO is expected to improve the accuracy of identification of an exoskeleton’s dynamic parameters.
PSO identifies the parameters through the intelligence of particle swarm and iterative optimization processes [
33]. Each dimension represents a parameter to be identified, and the ranges of parameters to be identified are often unknown. In order to avoid losing the real value of parameters, PSO optimization is often carried out in the infinite domain [
34]. If the number of iterations is insufficient or the factors are not set properly, the probability that PSO converges to the local minima increases. Taking the local minima as the identification values, the error of the exoskeleton dynamic model will increase. Therefore, it is necessary to reduce the search space of PSO from the infinite domain to the finite domain in advance, to reduce the number of potential local minima within the search space as much as possible.
The fluctuation of exoskeleton parameters provides a possibility to reduce the search space. The approximate range of each parameter can be identified by the recursive identification algorithm before accurate identification of PSO. Recursive least squares (RLS) can identify the fluctuation of parameters. Therefore, the search space of PSO can be defined by RLS. The accuracy of PSO is expected to be further improved with the finite search space. The existing identification algorithms of exoskeleton dynamic parameters are generally based on LS with low accuracy. In this paper, a PSO with search space defined by RLS is designed, named RLS-PSO. The RLS-PSO was verified on a hydraulically driven exoskeleton of the lower extremity. The accuracy of RLS-PSO was compared quantitatively with LS and PSO.
2. Methods
The dynamic equations of the exoskeleton were derived and converted into the form required by the parameter identification algorithm. The physical parameters to be identified were determined by the dynamic equations. According to the linearization requirements of RLS, the physical parameters were converted into inertial parameters [
15,
16,
23,
35]. RLS-PSO was designed based on the linearized dynamic equations.
2.1. Parametric Dynamics Equation of Exoskeleton
The RLS-PSO was verified on the active power-assist exoskeleton (APAL) [
36] as shown in
Figure 1a, which consists of trunk, thigh, shank, and foot modules. As shown in
Figure 1b, the trunk and left lower extremity were fixed on the pedestal during the experiment. The right lower extremity was suspended. The hip and knee joints can only swing in the sagittal plane. The forefoot of the exoskeleton was attached to the shank by the fastening band in
Figure 1b. The ankle has zero degrees of freedom. The hip and knee joints are driven by hydraulic cylinders, and the exoskeleton is driven only by torque and gravity. The hydraulic actuator of hip joint A is fixed in the trunk and will not affect the dynamic parameters which are related to the thigh and hip joint. Hydraulic cylinder CD drives knee joint B and is fixed on AB. Through the four-linkage mechanism, ABCD, the linear motion of the CD is converted to the rotation of B. The stretching and swinging of the CD cause changes in the position of lower extremity’s center of mass (COM) [
36]. Therefore, the dynamic parameters of the thigh and shank fluctuate. The fluctuation was used for defining the search space of PSO.
In the sagittal plane, the right leg of the APAL exoskeleton was simplified into a two-linkage model [
37], as shown in
Figure 2.
Equation (1) is the dynamic equation of APAL’s lower extremity. Equation (1) was derived by the Lagrange method.
where
and
represent the angular velocity of hip and knee joint, respectively, and
and
represent the angular acceleration of hip and knee joint, respectively.
and
represent the hip and knee drive torque required by APAL to complete the trajectory of
and
, respectively. When the lower extremity of APAL is vertically downward,
and
are zero. The counterclockwise rotation is positive.
Considering the friction on the hip and knee joint, friction torques
and
were introduced. Equation (2) is the real joint torque
and
.
where
and
represent the friction parameters of the hip joint,
and
represent the friction parameter of the knee joint.
Since there are couplings between the physical parameters
,
,
,
,
,
,
,
,
,
in Equation (2), Equation (2) is nonlinear to the above physical parameters. In order to meet the linearization requirements of RLS [
38,
39], Equation (2) was parameterized to Equation (3). The physical parameters
,
,
,
,
,
,
,
,
,
in Equation (2) were parameterized into a set of inertial parameters
,
,
,
,
,
that are capable of fully expressing the dynamic characteristics and independent of each other [
16,
22,
23,
40]. Equation (3) is linear for the parameters to-be-identified.
where
Equation (3) is the linearization dynamic equation of APAL, where , , , , , , , , , are the parameters to-be-identified.
2.2. Design of RLS-PSO Parameter Identification Algorithm
The design of the RLS-PSO was based on Equation (3). The RLS-PSO consists of two parts. First, defining the search space for each parameter. Second, identifying parameters within the search space. The search spaces of the parameters were defined by RLS. The accurate identification of the parameters was implemented by the PSO within the search space.
2.2.1. Establishment of the RLS
As mentioned earlier, the parameters to-be-identified fluctuated due to the movement of the hydraulic actuators. The RLS can identify the time-variant parameters. Therefore, the RLS was adopted to define the fluctuation ranges of
,
,
,
,
,
,
,
,
,
. The fluctuation ranges of
,
,
,
,
,
,
,
,
,
form a 10-dimension search space. In order to facilitate computer programming and calculation, Equation (3) was converted into matrix form as Equation (4).
where
In Equation (4),
and
represent motion information vectors.
X represents the parameter vector. While the hip and knee joints are swinging, the hip joint generates a torque to counteract the interference caused by the swing of knee joint to complete the target trajectory. Similarly, the knee joint also generates a torque that counteracts the interference caused by the swing of hip joint. Equation (5) was derived from Equation (4). Equation (5) is the equation of the LS.
X was identified in each iteration of RLS to define the fluctuation range of
X. Therefore, Equation (5) was converted into a recursive form as Equation (6). Equation (6) is the RLS.
where
kg represents the number of iterations of RLS. The detailed derivation processes of Equation (6) and the principle of RLS can be referred to [
41]. The fluctuation ranges of
X given by the RLS is the search space of PSO.
2.2.2. PSO with a Finite Search Space
PSO is an algorithm based on particle swarm intelligence. PSO is mainly used for parameter identification and optimization. In each iteration, PSO adjusts the direction and distance of the flight based on the best solution of the particle’s own motion trajectories and the best solution of the whole particles’ motion trajectories. Through continuous iterations, PSO finally converges into the neighborhood of the global minima. Under the same parameters, defining the search space is expected to improve the identification accuracy of PSO.
Take the identification of
and
as an example. As shown in
Figure 3, when the ranges of
and
are unknown, the search space of PSO is 2-dimensional (n is the number of parameters to-be-identified) infinite domain (the blue rectangle). If the number of iterations is insufficient or the settings are inappropriate, the PSO will converge to the local minima. In order to solve this problem, the
X’s search space (the yellow dotted line rectangle) defined by the RLS is adopted to replace the infinite domain. The search space of PSO is greatly reduced. Under the same number of iterations, PSO is more likely to converge into a small neighborhood of real values (the red dotted circle). Since a much smaller search space is defined, a large number of local minima are excluded from the new search space.
Linearly decreasing inertia weight was adopted in PSO. At the beginning of the iteration, the global search performance of PSO was good. PSO converged to the vicinity of the global minima quickly. In the latter part of the iteration, the local search performance of PSO was good, so as to accurately approximate the global minima.
The PSO initialized the position
and velocity
of the particles by Equation (7).
where
and
represent the maximum and minimum value of
’s search space, respectively.
and
represent the maximum and minimum value of
’s velocity, respectively. To ensure that the particles were always iteratively searched within the search space, once a particle’s position or velocity exceeded the given range, the value was reset to its nearest maximum or minimum. The PSO performed
iterations. In the
kg iteration, the PSO updated the positions and velocities of the particles by Equation (8).
where
and
represent the position and velocity of particle
in the
iteration, respectively.
and
represent the normal distribution random numbers between [0, 1].
and
represent the learning factor of the particle.
represents the inertia time-variant weight in the
iteration.
and
represent the global minima of the
iteration and the local minima of the particle
, respectively. Equations (7) and (8) are the PSO with a finite search space. Detailed derivation and principle of PSO can be found in [
42].
2.2.3. Flowchart of RLS-PSO
Based on the established RLS and PSO, RLS-PSO was designed. The hip and knee joints of APAL swing according to the hip and knee trajectories
and
, respectively. The sensors measure hip and knee torques represented by
and
, respectively. Hip and knee angles respectively represented by
and
are also measured by sensors. The hip and knee joints angular velocities respectively represented by
and
are calculated by forward difference. The hip and knee joints angular accelerations respectively represented by
and
are calculated by quadratic forward difference.
Figure 4 is the flowchart of RLS-PSO.
The steps of RLS-PSO are as follows:
RLS identifies the fluctuation range of each parameter in X by Equation (6), thereby defining the search space of PSO;
Within the search space defined by the RLS, the PSO optimizes X by Equations (7) and (8). The estimated values of the hip and knee torques respectively represented by and are calculated by substituting X identified in each iteration into Equation (4). and are subtracted from and , respectively. The absolute values of the differences are and , respectively. In each iteration, the optimization goal of the PSO is: , ;
When the iteration reaches G times or (, ), the PSO stops searching and the global minima is the identified parameter vector.
4. Conclusions
In summary, this paper developed RLS-PSO to improve the identification accuracy of exoskeleton dynamic parameters. The effectiveness of RLS-PSO in improving the identification accuracy was verified on the APAL. The RLS-PSO has three main parts: First, the dynamic equation of the APAL in the sagittal plane was derived. The dynamic equation was parameterized. A linearized dynamic equation and a vector consisting of the parameters to-be-identified were derived. Second, the search space of each parameter in the vector to-be-identified was defined by RLS to eliminate as many potential local minima as possible in the iterations of the PSO. RLS converted the problem from the time-variant of the parameters to the optimization of the parameters. Third, the iterative optimization was performed in the defined search space by PSO. According to the quantitative identification accuracy evaluation index, the accuracy of RLS-PSO was higher than that of LS and PSO.
The above results show that although the hydraulic drive units cause the dynamic parameters of the exoskeleton to be time-variant, the RLS-PSO can utilize the fluctuation of the parameters to define a smaller PSO search space. Thereby, more accurate parameter identification can be achieved. The RLS-PSO proposed in this paper is expected to improve the accuracy of the dynamic model in model-based exoskeleton control.