1. Introduction
1.1. Ankle rehabilitation devices and matching the ankle joint complex
Parallel robots (PRs) are extensively utilized in robotic rehabilitation, specifically ankle rehabilitation. Due to their excessive rigidity and high accuracy, PRs are widely used when performing active and passive ankle rehabilitation exercises. Numerous different parallel robots, including exoskeletons, soft robots, and platform robots, have been proposed and controlled for ankle rehabilitation therapy. A general summary of the latest ankle rehabilitation robots and their properties and structural types has been presented in ref. [Reference Dong, Zhou, Li, Rong, Fan, Zhou and Kong1–Reference Pan, Yuan, Liang, Dong, Liu, Zhang, Zou, Yang and Bowen3].
The ankle joint complex (AJC) consists of the three primary bones, the tibia, fibula, and talus. The mobility of AJC can be visualized by three separate rotations, which are illustrated in Fig. 1. The rotational axes do not precisely coincide from an anatomical perspective [Reference Malosio, Caimmi, Ometto and Tosatti5], which causes residual translational motions of the foot [Reference Syrseloudis and Emiris6]. Six generalized spherical parallel manipulators (GSPMs) are built in ref. [Reference Dul and Johnson7], taking advantage of the module combination configuration synthesis approach and ankle motion fitting models, in order to accommodate the complexity of the ankle joint. The ankle models can be fitted correctly by the GSPMs. Despite the fact that the suggested GSPMs offer a useful starting point for the development and study of ankle rehabilitation robots, the complexity of these GSPMs poses significant control issues. But as Fig. 2 illustrates, the mechanism in our study considers that the AJC’s center of rotation can be permanently located [Reference Malosio, Negri, Pedrocchi, Vicentini, Caimmi and Molinari Tosatti8–Reference Chaker, Mlika, Laribi, Romdhane and Zeghloul10] at the talocrural joint, which is the joint between the tibia and the talus bone in the ankle [Reference Tursynbek and Shintemirov11]. This assumption reduces the mechanism’s complexity and this can result in a reduction in control difficulty. So, we are able to implement more advanced control techniques.
1.2. Mathematical modeling challenges and control strategies
The presented mechanism with three degrees of freedom is shown in Fig. 2, which offers the ankle three rotational degrees of freedom and has an appropriate adaptation to the kinematics of the human ankle [Reference Malosio, Negri, Pedrocchi, Vicentini, Caimmi and Molinari Tosatti8]. Although 3-RRR spherical parallel manipulator (RSPM) is an overconstrained mechanism, non-overconstrained versions of the manipulator, such as 3-RCC, 3-RRS, 3-RUU, 2-RSC-RRR, and RSC-RRU-RRC [Reference Saltaren, Sabater, Yime, Azorin, Aracil and Garcia12], can be used for the evaluation of dynamic analysis and control design methods. This modification leads to consequences such as different position and orientation accuracies. In this study, the 3-RCC assembly version of the manipulator is used for applying the proposed methods because of its highest accuracy [Reference Wu, Dong, Wang and Bai13] in terms of orientation of MP, and we assume that the displacements caused by manufacturing errors are minor displacements. So far, most studies have focused on the kinematic issues of RSPMs, while quite a few have referred to the dynamic control of these robots. For RSPMs, several studies have been reported on a variety of relevant problems, which include modeling of workspace in joint and Cartesian space [Reference Marrugo, Vitola, Villa and Rodelo14–Reference Niyetkaliyev and Shintemirov17], inverse and forward kinematic analysis to obtain analytically unique real-time solutions [Reference Gallardo-Alvarado, García-Murillo and Pérez-González18–Reference Wu and Bai25], design and optimization [Reference He, Kantu, Xu, Swami, Saleem and Kang26–Reference Gosselin and St-Pierre32], design and robustness [Reference Taghirad33], singularity analysis, and derivation of Jacobian matrices [Reference Wu, Caro, Bai and Kepler34, Reference Staicu, Zhang and Rugescu35]. However, the constrained kinematic analysis has gone unnoticed in the literature. As will be shown in this paper, the constrained kinematic analysis can be useful for the extraction of the robot’s closed-form model. Furthermore, the explicit dynamic model of RSPM is needed for model-based controller design in various control strategies for rehabilitation exercises [Reference Staicu36]. The complexity of RSPM, with its closed-loop structure and kinematic constraints, compels researchers to employ control techniques that are independent of the exact dynamic model of the robot. However, the problem of dynamic analysis of RSPMs has been addressed in various works using Newton-Euler, the Lagrange method [Reference Staicu37], the recursive matrix method [Reference Elgolli, Houidi, Mlika and Romdhane38], the principle of virtual work [Reference Ghaedrahmati, Raoofian, Kamali E. and Taghvaeipour39, Reference Khalil and Ibrahim40], and the D’Alembert principle approach [Reference Vallés, Díaz-Rodríguez, Valera, Mata and Page41]. A Newton-Euler approach based on screw theory has been proposed to obtain actuator torques and constraint wrenches [Reference Hassani, Bataleblu, Khalilpour, Taghirad and Cardou42]. In ref. [Reference Rad, Tamizi, Azmoun, Tale Masouleh and Kalhor43], a general solution was proposed for the inverse and forward dynamics of parallel robots in joint space using dynamic models of legs and a moving platform. The dynamic modeling techniques in the literature are not convenient when designing model-based controllers for RSPMs.
The foundation of these controllers is referred to as the computed torque control (CTC) and passivity-based control schemes [Reference Li, Bai and Madsen44]. In the presence of model uncertainties, the CTC approach is unable to provide high trajectory tracking performance [Reference Li and Xu45]. To solve this issue, various adaptive and robust control methods have been proposed. A novel robust adaptive approach when sufficient extraction of the kinematic and dynamic model of the robot is unavailable has been proposed in ref. [Reference Youcef-Toumi and Ito46] and is implemented on an RSPM. This technique provides bounded control input and output signals. Despite supplying excessive stabilization in the presence of uncertainties and external disturbances, trajectory tracking functionality has no longer been provided through this method. Li et al. [Reference Baek, Jin and Han47] have proposed a spherical parallel mechanism, which is a special case of RSPMs, with additional sliding actuators and four moving links. Trajectory tracking control of this manipulator has been performed using a robust adaptive switching learning algorithm. A promising structure of the adaptive control approach, which requires many processes, resorts to a linear regression model of the robot through the use of a linearly parameterized dynamic model of a manipulator [Reference Singh and Santhakumar48]. Moreover, time delay controller [Reference Paccot, Andreff and Martinet49] and time delay estimation (TDE) [Reference Cazalilla, Vallés, Valera, Mata and Díaz-Rodríguez50] techniques can be employed for estimating the unmodeled dynamics and uncertainties through the usage of all state variables and their first and second delayed derivatives. As these approaches call for information on the acceleration of state variables, they might cause non-negligible noise in the estimation process [Reference Vallés, Díaz-Rodríguez, Valera, Mata and Page41].
As sufficient system identification for the robot is available, it is more practical and feasible to use model-based controllers and fuse them with an adaptation law. We have used the backstepping approach for the known dynamic model, and in order to compensate for model uncertainties, an adaptation law has been combined with backstepping method using Lyapunov stability analysis.
Regarding the control strategy, it is worth mentioning that controllers can be implemented in joint [Reference Chung, van Rey, Bai, Roth and Zhang51] or Cartesian [Reference Singh and Santhakumar48] space. Cartesian space control is more efficient than joint space control in parallel robots due to its parallel kinematic chains and complex constraints. Because the position of MP is determined by the state of the robot and the ankle orientation, Cartesian space control theoretically provides state feedback control, resulting in better accuracy than joint space control, which is no longer state feedback control [Reference Lin, Ju, Chen and Pan52]. From the literature, many proposed control approaches for PRs are implemented in joint space [Reference Shin, Chang, Kim and Kim53], and despite their adequate performance, they can be ameliorated by implementing them in Cartesian space.
1.3. Hysteresis loops of the ankle-resistance torques
Since RSPM is used for ankle rehabilitation applications, to achieve high position tracking accuracy and training safety during passive rehabilitation exercises for patients with increased ankle stiffness due to a stroke or muscle injury, the ankle-resistance torque (ART) [Reference Zhang, Meng, Davies, Zhang and Xie54] applied to the robot must be considered in the control design process. ART, which is caused by stiffness in the ankle joint, is depicted in Fig. 3. The design of passive controllers for ankle rehabilitation robots requires enough knowledge of the ART dynamic model as well as the robot. It should be considered that ankle stiffness varies across its range of motion during robotic rehabilitation training and depends on individual characteristics such as weight, height, gender, age, and type of injury. Therefore, it is important that the robot provides assistive torque with adjustable compliance. An estimation of passive ankle stiffness is useful to compensate for ankle resistance in real time. Passive ankle stiffness has been extensively measured and reported in both healthy and neurologically impaired subjects [Reference Zhang, Meng, Davies, Zhang and Xie54, Reference Cha and Arami55]. In addition, some mechanical computational ankle models [Reference Baruh56] have been developed to assess ART, including muscles with the feature of subject-specific adjustments [Reference Baruh56, Reference Angeles57]. Despite their ability to simulate spasticity, computational models may not be suitable for control purposes because of their complexity [Reference Angeles58].
Although any unknown dynamics from environmental sources could be considered external disturbances, if these disturbances are very large, the system may become unstable or its performance may decline significantly. In this circumstance, one way is to take steps to identify the source of the disturbances and reduce their effects by adding additional components to the controller. However, identifying the exact model for ART is not available, and using a high-gain proportional-derivative (PD) controller may be proposed in order to compensate for the error between the precise and estimated values of disturbances. As shown in ref. [Reference Staicu36], various passive motion control schemes can also be used for stiffness control of the robot, given the controller parameters. Thus, using only a high-gain controller increases the stiffness of the robot and the Cartesian wrench applied to the patient’s ankle joint and amplifies the oscillations and vibrations. These phenoniums can affect the comfort and safety of the patient during the rehabilitation process.
1.4. Article’s motivation and organization
The main contribution of this paper is the development of a novel computational framework for an explicit dynamic solution of the 3-RCC spherical parallel mechanism and the design of an adaptive robust controller with trajectory tracking capability based on the established dynamic model for ankle rehabilitation applications. Motivated by the abovementioned points, the following is the paper’s structure.
In Sect. 2, a complete analytical inverse kinematic model of the robot is derived using the closed-loop vector method. Then the Jacobian matrices of the robot are extracted. In Sect. 3, based on the screw theory, the extraction of the explicit dynamic model of the RSPM in Cartesian space is presented. In Section 4, a self-tuning backstepping controller (STBC) is designed in task space by providing the Lyapunov stability analysis. Time-varying uncertainties have been taken into consideration within the design process. In Sect. 5, a predictive model based on the established robot’s dynamic and a linear predictive model of ankle stiffness is proposed to compensate for the ART’s dynamic. In Sect. 6, the 3-RCC version of the manipulator is assembled in a multibody environment, and co-simulations are conducted in different scenarios on a virtual prototyping simulation to confirm the proposed explicit dynamic solution and controller. Prior to creating a prototype, the co-simulations can provide a computer-based benchmark for validating the control algorithm and improving the closed-loop system. As a result, it offers a more intuitive simulation than the majority of current ones, which rely solely on proposed algorithms.
2. Architecture and kinematics description
The computer-aided design (CAD) model of the robot is shown in Fig. 4. The moving platform and the base platform (BP) of the robot are connected to each other by three equally spaced parallel chains. The chains are denoted as being counterclockwise (e.g., i = 1, 2, 3). Each chain consists of two rigid, curved links. The robot has three revolute joints in each limb. The joint connecting the first and second links of each limb is named the passive joint. The first revolute joint of each limb is actuated by a fixed motor. Unit vectors defined along the axes of the active and passive joints are denoted by $\mathbf{u}_{i}$ , $\mathbf{w}_{i}$ , respectively. Moreover, the unit vectors fixed to the MP are denoted by $\mathbf{v}_{i}$ , $i=1,2,3$ . These vectors also intersect at a point called the center of rotation, and the MP has an arbitrary rotation with respect to that point. The arc angles of the proximal and distal links are indicated by $\alpha _{1}$ and $\alpha _{2}$ , respectively. Moreover, $\gamma$ is the internal angle between the axis perpendicular to BP and the axis of the first revolute joint of the robot. The right-hand reference coordinate system is chosen such that the origin is at the robot’s center of rotation. The mentioned kinematic parameters of the robot are shown in Fig. 5. Now, following the earlier definition of the reference coordinate system, the unit vectors $\mathbf{u}_{\mathbf{i}}$ , $i=1,2,3$ are defined as
The unit vectors of the intermediate joints are obtained in terms of the input joint angles described in the fixed frame as follows:
where c indicates cos and s indicates sin, and $\Theta _{i}, i=1,2,3$ define the angular states of the respective active joints. Moreover, $\mathbf{v}_{\mathbf{i}}$ only depends on the orientation of MP and is denoted as
where the rotation matrix Q describes the orientation of the MP with respect to the reference coordinate system. Matrix Q can be chosen using the XYZ-Euler angle conventions [Reference Taghvaeipour, Angeles and Lessard59], and the reference configuration of $\mathbf{v}_{\mathbf{i}}$ is chosen such that:
3. Inverse kinematic
3.1. Analytical solution for active joints
For the closed-loop chain of the parallel manipulator, the following constraint equations hold as the loop closure:
Substituting Eqs. (2) and (3) into Eq. (4), inverse kinematic solutions can be solved analytically by the following uncoupled nonlinear algebraic equations for active joint angles $\Theta _{i}$ :
with
In order to obtain unique inverse kinematic solutions, the positive roots of Eq. (6) are considered due to the accepted initial robot configuration where all three proximal links are rotated in the positive direction of the actuated joints.
3.2. Analytical solution for passive joints
Let $\unicode{x1D6C3}=[\begin{array}{c@{\quad}c@{\quad}c} \beta _{1}, & \beta _{2}, & \beta _{3} \end{array}]^{T}$ denote the vector of the intermediate joints, and $\varphi$ , $\theta$ , and $\psi$ denote the MP motion variables. To calculate the passive joint angles $\beta _{i}, i=1,2,3$ , and according to Fig. 6, two coordinate systems are used, the z-axes of which are directed along the intermediate joint axes, but the y-axis corresponds to the first coordinate system $(\mathbf{y}_{1,i})$ is perpendicular to the plane in which the proximal link is located, and the y-axis of the second coordinate system $(\mathbf{y}_{2,i})$ is perpendicular to the plane in which the distal link is located, i.e.,
The dot product of these vectors determines the cosine of the relative angle that proximal and distal links have to each other. Thus, the closed-loop vector equation for passive joints can be written as follows:
Eq. (7) is proposed to represent the constrained kinematics that hold for passive joints. By using this equation, the inverse kinematic problem of the robot in terms of the passive joint angles can be analytically obtained.
4. Jacobian matrices of the manipulator
4.1. Jacobian matrix in terms of the active joint rates
Let $\unicode{x1D6DA}$ denote the angular velocity vector of the MP, $\unicode{x1D6C9}=[\begin{array}{c@{\quad}c@{\quad}c} \Theta _{1}, & \Theta _{2}, & \Theta _{3} \end{array}]^{T}$ denote the vector of the actuated joint angles, and $\mathbf{x}=[\begin{array}{c@{\quad}c@{\quad}c} \varphi, & \theta, & \psi \end{array}]^{T}$ denote the vector of MP variables. The relationship between the vector of active joint rate $\dot{\unicode{x1D6C9}}$ and the angular velocity of MP can be written as [Reference Taghirad33]:
where the Jacobian matrix $\mathbf{J}_{a}$ can be expressed as:
in which,
and
For fully parallel manipulators, $\mathbf{J}_{\theta }\ \textrm{and}\ \mathbf{J}_{x}$ are both $n\times n$ matrices [Reference Staicu36] ( $n=3$ for RSPM). It should be noted that in order to compute the angular velocity of MP, a rotation matrix E, which is a function of Euler angles, should be used as follows [Reference Taghvaeipour, Angeles and Lessard59]:
Thus, Eq. (8) can be rewritten as:
in which the $3\times 3$ matrix $\mathbf{J}_{\sigma }$ is defined as:
As a result, $\unicode{x1D6D4}_{i}$ is a $1\times 3$ vector that is defined as:
4.2. Constrained kinematics
In order to derive a relation that maps the MP motion variable rates to the vector of passive joint rates $\dot{\unicode{x1D6C3}}$ , each passive joint angle is considered to be a function of MP Euler angles and active joint variables, namely,
Therefore, the time derivative of $\beta _{i}$ can be written as follows:
Writing Eq. 13 three times for each limb and substituting the value of $\dot{\Theta }_{i}$ from Eq. (11) results in the $3\times 3$ matrix that relates the passive joint rates and the rates of Euler angles.
where
So, $1\times 3$ vector $\unicode{x1D6D2}_{i}$ could be written as below:
5. Explicit dynamics in task space
In this study, the dynamic modeling of the manipulator is derived based on the Newton-Euler formulation and screw notation [Reference Saglia, Tsagarakis, Dai and Caldwell60]. According to this approach, the dynamic model of all moving links of the robot can be written as follows:
where
and
in which $\mathbf{t}_{j}$ denotes the twist array of the jth moving link. Moreover, ${}^{l}{\mathbf{w}_{j}}{}, l=A,G,C$ represents the working, gravitational, and non-working constraint wrench exerted on body j, where it is assumed that torques are applied at the center of mass of the body [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61], and $\mathbf{M}_{j}$ is the 6 × 6 inertia matrix of body j. Also, $\mathbf{W}_{j}$ is the 6 × 6 angular velocity matrix of the same body. The foregoing matrices are defined below for the jth body,
where $\unicode{x1D6DA}_{j}$ indicates the angular velocity and $\mathbf{v}_{j}$ denotes the linear velocity of the center of mass of each link. Also, $\mathbf{I}_{j}$ and $\boldsymbol{\Omega }_{j}$ denote the inertia matrix and the cross-product matrix of $\unicode{x1D6DA}_{j}$ , respectively [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61]. Moreover, $m_{j}$ denotes the mass of link j. The robot actuator-wrench array ${}^{A}{\mathbf{w}}{}$ can be defined as a function of actuator torques by a transformation, as shown below [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61]:
where ${}^{\mathbf{A}}{\mathbf{T}}{}$ is the 6n × k actuator-wrench shaping matrix of the robot and τ denotes a k-dimensional array of actuator torques [Reference De Luca, Albu-Schaffer, Haddadin and Hirzinger62] ( $n=7, k=3$ for RSPM and $\unicode{x1D6D5}=[\begin{array}{c@{\quad}c@{\quad}c} \tau _{1} & \tau _{2} & \tau _{3} \end{array}]^{T}$ ). Since no actuator wrench is applied to bodies number 2, 3, 5, or 7, one has
As each actuator applies a torque on the proximal links about the axis of rotation of the first joint in each chain of the robot, the actuator-wrench shaping matrix of links 1, 4, and 6 can be defined as:
Hence, by resorting to Eq. (21) and (22), ${}^{A}{\mathbf{T}}{}$ is obtained as follows:
where ${}^{\textrm{A}}{\mathbf{T}}{}$ is a $42\times 3$ matrix that transfers the actuator torques to the center of mass of each link. Hence, by using Eqs. (16) and (20), the equations of motion of the parallel manipulator can be rewritten as follows:
In the following, the derivation of dynamic equations is considered in explicit form. For this purpose, the robot’s twist array can be written as a function of the rates of generalized coordinates through a Jacobian matrix [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61], namely,
$\mathbf{J}$ is a Jacobian matrix that maps the robot’s independent variables to the twist array of all the robot’s moving links. In order to derive this Jacobian, the twist array of each moving link should be written as a function of the main independent coordinate rates. Using Eqs. (10), (11), (12), (14), and (15) and the vectors shown in Fig. 7, the angular velocity vector of moving links can be written as follows:
Then, using some algebraic manipulations, the linear velocity vector of each moving link can be written in a suitable form as follows:
in which $CPM()$ indicates the cross-product matrix [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61] of a vector. Thus, the Jacobian matrix $\mathbf{J}$ can be driven as follows:
$\mathbf{u}_{\textrm{i}}$ and $\mathbf{w}_{i}$ are unit vectors of active and passive joints, respectively. Moreover, $\mathbf{c}_{i}$ , $\mathbf{p}_{i}$ , $\unicode{x1D6CC}_{i}$ , and $\unicode{x1D6DD}$ are vectors shown in Fig. 7 and defined in the reference coordinate system. Moreover, $\unicode{x1D6D4}_{i}$ and $\unicode{x1D6D2}_{i}$ are defined in Eq. (12b) and Eq. (15b) and $i=1,2,3$ signifies the number of each limb. According to linear homogeneous property on the array of manipulator twist, and as the non-working constraint wrench ${}^{\mathbf{C}}{\mathbf{w}}{}$ produces no work on the robot and its only function is to hold the adjacent links together, it can be concluded that the power generated by this wrench on the twist of the system is zero for any feasible motion of the robot [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61], i.e.,
By substituting Eq. (25) in Eq. (30), one has the following relation:
Since $\dot{\mathbf{x}}$ cannot be zero, the following equation is obtained:
By multiplying $\mathbf{J}^{T}$ in Eq. (24), the dynamic robot equation takes the following form:
Then by multiplying $({\mathbf{J}^{\mathbf{T}}}{}^{\mathbf{A}}{\mathbf{T}}{})^{-\mathbf{1}}$ in Eq. (31), the following equation is derived:
Now, by replacing Eqs. (25) and (26) in Eq. (32), the closed-form dynamic formulation for the manipulator in the Cartesian space is obtained as follows:
Here $\mathbf{J}$ is the Jacobian matrix, which was given in Eq. (29). Eq. (33) is very convenient for applying multiple advanced control schemes. For sake of simplicity, Eq. (33) can be written in the following standard form in task space in the absence of external disturbances:
in which
In this formulation, $\mathbf{H}(\mathbf{x})$ , $\mathbf{C}(\mathbf{x},\dot{\mathbf{x}})$ , and $\mathbf{G}(\mathbf{x})$ signify the mass matrix, the Coriolis and centrifugal matrices, and the gravity vector, respectively. The algorithm flowchart of the entire method of deriving the manipulator’s explicit dynamic is depicted in Fig. 8.
6. Self-tuning backstepping controller
To achieve a suitable control performance in the presence of dynamic uncertainties, the control input can be computed as follows:
In which,
where $\hat{\mathbf{H}}(\mathbf{x})$ , $\hat{\mathbf{C}}(\mathbf{x},\dot{\mathbf{x}})$ , and $\hat{\mathbf{G}}(\mathbf{x})$ denote the estimated values of the inertia matrix, the Coriolis and centrifugal matrix, and the gravity vector of the robot, respectively. $\mathbf{K}_{p}$ and $\mathbf{K}_{d}$ denote the PD controller gains. $\mathbf{x}_{d}$ is vector of the desired orientation of the MP. It is assumed that $\mathbf{x}_{d}$ is a twice continuously differentiable signal. Moreover, $\mathbf{e}_{\mathbf{x}}=\mathbf{x}_{d}-\mathbf{x}$ is the tracking error vector, and $\dot{\mathbf{e}}_{x}=\dot{\mathbf{x}}_{d}-\dot{\mathbf{x}}$ indicates the first derivative of the tracking error vector in task space. $\unicode{x1D6C5}_{\mathbf{a}}=[\begin{array}{c@{\quad}c@{\quad}c} {\delta _{a}}_{1} & {\delta _{a}}_{2} & {\delta _{a}}_{3} \end{array}]^{T}$ signifies an additional term, which is designed to compensate for time-varying uncertainties. By defining the error as the difference between the estimated and the accurate value of the corresponding term as $(\,\tilde{}\,).$ Hence,
Similarly, $(\,\tilde{}\,)$ notation may be applied to the motion variables as:
Now substituting Eq. (36) in Eq. (34) and adding and subtracting $\mathbf{H}\mathbf{a}_{r}$ , it yields,
in which
where $\unicode{x1D6C8}$ signifies model uncertainties. Now rewrite Eq. (37) using the $(\,\tilde{}\,)$ notion, it yields,
Substituting Eq. (40) into Eq. (38) yields,
The closed-loop dynamics outlined in Eq. (41) can be written as a state space form through pure mathematical manipulation by changing variables,
which results in the following first-order differential equations (ODEs),
Consider the system shown in Eqs. (42) and (43). For designing a backstepping controller, the following steps have been followed. In the first step, $\mathbf{z}_{2}$ can be used as control input for the system presented in Eq. (42). So, $\mathbf{z}_{2}$ is defined as a function of $\mathbf{z}_{1}$ as follows:
As a result, Eq. (42) is rewritten as follows:
where $\boldsymbol{\mathcal{B}}$ is a diagonal positive-definite matrix defined by the user,
By defining a Lyapunov function as $\mathbf{V}_{{z_{1}}}$ , it is obvious that the origin of Eq. (45) is asymptotically stable if $\dot{\mathbf{V}}_{{z_{1}}}\leq \mathbf{0}$ . Now, let’s define a new variable as,
Eq. (45) holds if $\overline{\mathbf{z}}$ converges to zero. For ensuring this convergence, Eq. (42) is written as below by using Eq. (47) and some manipulations,
Then by differentiating Eq. (47), the following equation is obtained:
By choosing the controller gains $\mathcal{B}_{1}, \mathcal{B}_{2}, \mathcal{B}_{3}$ such that the matrix $\boldsymbol{\mathcal{B}}$ becomes Hurwitz, a symmetric positive-definite matrix P exists to satisfy the Lyapunov equation for any arbitrary symmetric positive-definite matrix $\boldsymbol{\Upsilon }$ as follows:
On the other hand, consider the error dynamic of the uncertainty vector as follows:
in which $\hat{\unicode{x1D6C8}}$ and $\unicode{x1D6C8}$ are the estimated and the unknown actual uncertainty vectors, respectively. Now it is desirable to design a robust backstepping controller with the ability to estimate time-varying uncertainties $\unicode{x1D6C8}$ . For this purpose, by choosing $\mathbf{V}_{{z_{1}}}=\frac{1}{2}{\mathbf{z}_{1}}^{T}\mathbf{z}_{1}$ , the following Lyapunov function is proposed:
where $\mathbf{G}_{a}$ is a diagonal positive-definite constant matrix, which is adaptive gain control. The time derivative of the Lyapunov function $\mathbf{V}_{C}$ is obtained as follows:
For the sake of simplicity, denote $\overline{\mathbf{z}}^{T}\mathbf{P}$ by a vector $\mathbf{h}$ ,
By using Eq. (50), $\dot{\mathbf{V}}_{C}$ can be written as follows:
Then, the following control effort $\unicode{x1D6C5}_{a}$ and the adaptation law are chosen:
and
in which $\epsilon$ is a threshold width on the $\mathbf{h}$ variable. If $\epsilon$ is suitably chosen to be larger than the measurement noise amplitude, this approximation significantly reduces the output chattering. Therefore, the time derivative of the Lyapunov function becomes,
By choosing $\mathbf{K}_{d}$ and $\mathbf{K}_{p}$ as positive-definite matrices, $-\mathbf{2}\overline{\mathbf{z}}^{T}\mathbf{P}(\mathbf{K}_{d}\mathbf{z}_{2}+(\mathbf{K}_{p}+\boldsymbol{\mathcal{B}}^{2})\mathbf{z}_{1})$ becomes negative definite. In the following, the stability analysis is performed under two different assumptions.
Assumption 1: Assuming that the uncertainties are randomly large and change slowly with time, $\dot{\unicode{x1D6C8}}$ can be omitted.
Assumption 2: Assuming that the uncertainties are arbitrarily large and quickly change over time. In this case, the following scenarios can occur:
In the worst case, i.e., $\mathbf{E }^{T}{\mathbf{G}_{a}}^{-1}\dot{\unicode{x1D6C8}}\lt 0$ , inequality (55) can be written as follows:
in which $\boldsymbol{\Pi }=-\mathbf{E }^{T}{\mathbf{G}_{a}}^{-1}\dot{\unicode{x1D6C8}}\gt 0$ . In this case, $\boldsymbol{\Pi }$ may make $\dot{\mathbf{V}}$ positive definite. A circumstance in which $\mathbf{z}\neq \mathbf{0}$ , by choosing controller parameters $\mathbf{K}_{p}, \mathbf{K}_{d}$ , and $\boldsymbol{\mathcal{B}}$ as large as possible, positive term $\boldsymbol{\Pi }$ can become negligible and asymptotical stability of the closed-loop system is guaranteed. On the other hand, when $\mathbf{z}=\mathbf{0}$ , by choosing the adaptation gain $\mathbf{G}_{a}$ large enough, the positive term $\boldsymbol{\Pi }$ becomes very small. It should be noted that larger $\mathbf{G}_{a}$ results in a faster adaptation, but also increases the control effort.
The estimated uncertainty vector can be computed by integrating Eq. (54) as follows:
Therefore, the proposed controller (PC) is written as follows:
where
7. Observer-based compensator of the ankle-resistance torques
7.1. The hysteresis loop of the ankle-resistance torque
In a case where the robot is applied to passive ankle rehabilitation, the dynamic model can be written as follows [Reference Saglia, Tsagarakis, Dai and Caldwell60]:
where $\unicode{x1D6D5}$ denotes the control input, and $\boldsymbol{\mathcal{F}}_{r}$ and $\unicode{x1D6D5}_{r}$ are the ARTs in the task space and joint space, respectively. As shown in ref. [Reference Chung, van Rey, Bai, Roth and Zhang51], the torque-angle curves of the ankle joint behave like a hysteresis loop (Fig. 9). Thus, by using a linear predictive model (LPM), an estimate of the ART exerted on the robot’s MP during passive exercises can be written as:
where $\mathcal{F}_{rl}$ is the linear model of $\mathcal{F}_{r}$ . Moreover, $K _{{rl_{df}}}$ and $K _{{rl_{pf}}}$ represent the ankle stiffness during dorsiflexion and plantarflexion movements, respectively. $\theta _{a}$ represents the sagittal plane angular displacement of the ankle, and $\mathcal{F}_{{rl_{0}}}$ is a bias term giving the resistance torque when the angle of the ankle joint is zero. By adjusting the $K _{{rl_{df}}}$ , $K _{{rl_{pf}}}$ , and $\mathcal{F}_{{rl_{0}}}$ coefficients [Reference Roy, Krebs, Bever, Forrester, Macko and Hogan61], it is possible to get a primary estimate of each patient’s resistance torque. Therefore, when the robot is used for rehabilitation, an estimate of the required actuator torque to compensate for the ART can be obtained as follows:
The main challenge of this modeling is its simplicity, and determining the appropriate parameters ( $K _{{r_{df}}}$ , $K _{{r_{pf}}}$ , and $\mathcal{F}_{{r_{0}}}$ ) for each patient can become an erroneous task and make the modeling error non-negligible. Moreover, even by choosing suitable LPM parameters, there will always be a mismatch due to the kinematic uncertainties in ${\mathbf{J}_{a}}^{-T}$ . To compensate for this problem, it is proposed to exploit an observer together with one in Eq. 59 as a robustifying term. This observer computes the assistive torque required to overcome the error between the estimated resistant torque $\unicode{x1D6D5}_{rl}$ and its actual value $\unicode{x1D6D5}_{r}$ indicated by $\unicode{x1D6D5}_{\varrho }$ , i.e., $\unicode{x1D6D5}_{\varrho }=\unicode{x1D6D5}_{rl}-\unicode{x1D6D5}_{r}$ . So, in the next step, estimating unknown bounded torque $\unicode{x1D6D5}_{\varrho }$ becomes of interest. The proposed observer in this research has the ability to estimate $\unicode{x1D6D5}_{\varrho }$ and convergence time of the estimation process can be adjusted by tuning the gain of the observer. This method is a model-based approach originally proposed in refs. [Reference De Luca, Albu-Schaffer, Haddadin and Hirzinger62, Reference Haddadin, De Luca and Albu-Schäffer63] for serial manipulators and based on the robot dynamic model. The observer is proposed as follows:
where $\unicode{x1D6CF}_{\varrho }$ is an estimation of the actual resistant torque $\unicode{x1D6D5}_{\varrho }$ , and $\mathbf{K}$ is the gain of the observer that is designed to be a positive diagonal matrix, i.e., $\mathbf{K}=diag(k_{1},k_{2},k_{3})\gt \mathbf{0}$ . Vector $\unicode{x1D6CF}_{\varrho }$ can be computed by using the measured $\mathbf{X}$ and $\dot{\mathbf{X}}$ and the commanded torque control $\unicode{x1D6D5}$ .
7.2. Stability analysis of the observer and the proposed controller
Consider the following dynamic equations of the robot in the presence of $\unicode{x1D6D5}_{\varrho }$ :
The ODEs of the closed-loop system can be written as:
For the convergence analysis, let’s consider the following variable, which denotes the error dynamics of $\unicode{x1D6D5}_{\varrho }$ :
By substituting $\unicode{x1D6D5}$ from Eq. (61) into Eq. (60), the dynamic relation between the resistance torque $\unicode{x1D6D5}_{\varrho }$ and its estimated value $\unicode{x1D6CF}_{\varrho }$ is obtained as follows:
Thus, by taking a suitable value for $\mathbf{K}$ , the estimated value $\unicode{x1D6CF}_{\varrho }$ converges to the accurate value $\unicode{x1D6D5}_{\varrho }$ . For the stability analysis of both the observer and controller, the following positive-definite Lyapunov function is considered:
Differentiating Eq. (66) with respect to time yields,
Then by choosing the control law and adaptation rule in Eq. (53) and Eq. (54), respectively, and substituting Eq. (65) into Eq. (67), $\dot{\mathbf{V}}_{T}$ is obtained as
Assuming that the actual resistance torque $\unicode{x1D6D5}_{\varrho }$ varies slowly with time, i.e., $\dot{\unicode{x1D6D5}}_{\varrho }\approx 0$ , and the observer provides an appropriate estimation of $\unicode{x1D6D5}_{\varrho }$ , $\dot{\mathbf{V}}_{T}$ can become negative definite by choosing suitable control parameters. If the $\dot{\unicode{x1D6D5}}_{\varrho }\approx 0$ condition is not met, the Lyapunov function can become negative definite by choosing $\mathbf{K}$ as large as possible. However, the condition $\dot{\unicode{x1D6D5}}_{\varrho }\approx 0$ holds as the hysteresis loops of the ARTs do not change rapidly. As a result, the following robust linear predictive model (RLPM) is proposed to overcome the ARTs:
8. Results and discussion
Extensive computer co-simulations have been accomplished to study the overall efficiency of the proposed algorithms for passive ankle rehabilitation purposes. For this purpose, simulations have been done without considering the ARTs in the first step. After ensuring the stability and high performance of the PC, the robot-human interactions arising from passive rehabilitation exercises have been taken into account, and the stability and performance of the proposed schemes have been discussed.
8.1. Performance analysis and co-simulation setup
After determining the robot material (aluminum alloy), the physical parameters given in Tables I and II have been obtained in 3D CAD software. In addition, $\mathbf{c}_{i}$ , $\mathbf{p}_{i}$ , $\unicode{x1D6CC}_{i}$ , and $\unicode{x1D6DD}$ vectors have been determined in the initial configuration of the robot in the 3D CAD software. An XML file of non-over constrained version 3-RCC of RSPM is generated and then imported into a multibody environment. The co-simulation procedure for the PC and RLPM is shown in Fig. 10. The motion variables of the MP are sent to the control system by the sensor block in the multibody environment and sent to the controller blocks for running computer-based simulations. To discover the performances of the proposed schemes, a sequence of simulations is performed, and the PC is benchmarked by comparing its tracking performance in the presence of model uncertainties, noise measurements with an amplitude of %0.02 peak values of the original signals, and external disturbances with three different control topologies, namely, a CTC, sliding mode control (SMC), and adaptive sliding mode control using the time delay estimation technique [Reference Baek, Jin and Han47] (SMC + TDE).
8.2. Simulation results and discussion
The performance and robustness of the proposed schemes are explored through the presentation and discussion of simulation results in this subsection. To do this, a desired trajectory in Cartesian space, as shown in Fig. 11, should be tracked by the MP in different scenarios. In the first step, the simulation has been performed under ideal conditions, where dynamic uncertainties, measurement noise, and disturbances are ignored. The controllers are tuned in such a way that they all have the same level of efficiency. The control parameters are given in Table III where $\unicode{x1D6C4}(\boldsymbol{z})$ denotes the estimated upper bound of the uncertainty vector and should be chosen to satisfy the inequality $\unicode{x1D6C4}(\boldsymbol{z})\geq \hat{\unicode{x1D6C8}}(\mathbf{z})$ . Moreover, $\mathbf{A }$ is a diagonal matrix, which is chosen as a positive, definite constant matrix and refers to the sliding surface $\unicode{x1D6D4}=\mathbf{A }\mathbf{z}_{1}+\mathbf{z}_{2}$ of the SMC method. To study the behavior of the closed-loop system in perturbed conditions where dynamic uncertainties, measurement noise, and external disturbances exist, a co-simulation is performed to command the RSPM to follow the same trajectory in Fig. 11 with the inertia parameters offset±30% and the kinematics parameters $\alpha _{1},\alpha _{2}, \gamma,\eta _{1},\eta _{2}$ , and $\eta _{3}$ offset ± 15% from their real values. In addition, noise measurement with an amplitude of % 0.01 peaks of the original signals is added to the control system, taking into account that all measured variables of vector x are contaminated. To guarantee the robustness of the controllers, the simulations were carried out in the presence of both lower and upper bounds of uncertainty. To compare the performance of the controllers, the norms of the error vectors are shown in Fig. 12, and when compared to other schemes, the PC provides a lower error norm.
For more detail, the errors of Cartesian space states are shown in Figs. 13 and 14 for upper and lower bound uncertainties, respectively. Moreover, as shown in Figs. 15 and 16, although the tracking error is not much increased compared to that of the system without noise, the required actuator torques of the TDE controller to carry out such a maneuver are very oscillatory. This is due to the fact that the TDE approach requires acceleration of Cartesian variables to accommodate the required tracking performance, and although the amplitude of noise is small, the signature of noise is apparently seen in the required actuator torques. In fact, generating such control input is infeasible in practice, and hence, reaching the tracking performance of the TDE method is a challenging task.
The disturbance suppression ability of controllers was evaluated by applying the disturbances shown in Fig. 17(a) to the robot in joint space. As the robot interacts with humans, disturbances with quick dynamic changes are more common and relevant because of human-induced impulses and human movement patterns. As shown in Fig. 17(b), the PC provides less tracking error and is more reliable. In order to demonstrate the superiority of the proposed algorithm, the performance measurements of all schemes are tabulated in Table IV. It demonstrates that the proposed method significantly decreases tracking errors in perturbed conditions, whereas the other controllers guarantee stability and have suitable performance. Overall, the closed-loop simulations confirm the power and effectiveness of the PC, and this result suggests that the proposed scheme could be applied to a wide range of manipulation tasks. In the next step, the desired trajectory, shown in Fig. 11, has been used for inversion and eversion movements. Fig. 18 shows a visual view of the animation for the RSPM movements enforced by the PC for dorsiflexion, plantarflexion, and inversion and eversion configurations.
In the following, co-simulations have been performed in four different scenarios. It is assumed that the robot should generate passive rehabilitation movements in the presence of ART, which is shown in Fig. 19. For this, it is necessary to overcome the weight and inertia of the ankle as well as the ART. According to [Reference Clauser, McConville and Young64], considering that the weight and inertia of the foot are about 1.5% of the human body weight, it can be considered the parametric uncertainty that has already been taken into account. The parameters of the linear model in Eq. (58) are chosen in four different cases, and the observer is expected to estimate the error between the mentioned linear model and the actual resistance torque applied to the robot in the joint space. Then, to evaluate the performance and necessity of the observer, the tracking error is compared in the presence and absence of the observer. The selection of parameters in four cases is shown in Table V, and to better understand the differences between each case, the selected parameters of the LPM in each case and the actual resistance torque of the ankle are shown in Fig. 19. The gain of the observer $\mathbf{K}$ is selected to be equal to 50. As shown in Fig. 20(a) in the first case, where the parameters of the LPM are chosen with good accuracy, the tracking error can be neglected, and there are not many differences between the LPM and the RLPM in terms of efficiency and accuracy. Since the exact selection of the ankle parameters in Eq. (58) is not possible for every patient, in the second case, the value of $\mathcal{F}_{{r_{0}}}$ is changed to six. This change is also made to measure the safety and robustness of the proposed method against instability. As shown in Fig. 20(b), the LPM stabilizes the closed-loop system, but the tracking error is not negligible. Obviously, this issue is due to the error of selecting $\boldsymbol{\mathcal{F}}_{{r_{0}}}$ from its actual value. However, as depicted in Fig. 20(b), the tracking error is reduced significantly by using RLPM, and according to Fig. 21, despite the measurement noise and parametric uncertainties, the predictive observer is able to estimate the torque required to overcome the resistance torque in the joint space.
In the third and fourth cases, the robot became unstable in the absence of the predictive observer. As it is clear from Fig. 22, the tracking error is less than 0.6 degrees by using the RLPM, and according to Fig. 23, the observer is able to estimate the resistance torque in these scenarios. The control efforts in all four cases are also shown in Fig. 24. By using the proposed method, the stability and high tracking efficiency of the closed-loop system can be guaranteed by avoiding the use of high-gain controllers, which lead to higher control effort, power consumption, and robot stiffness. Moreover, according to Fig. 19, the proposed method is largely robust to the error between the actual and selected parameters of the LPM.
9. Conclusion
In this paper, a spherical parallel robot is presented in aggregate with powerful STBC equipped with a robust linear predictive model for offering trajectory tracking capabilities in the presence of dynamic uncertainties, external disturbances, measurement noises, and ART. Considering the ART will become of interest when passive and assistive ankle rehabilitation exercises ought to be carried out. To attain the cited goals, the dynamic model of the robot has been extracted and validated using the Newton-Euler technique and screw theory. The advantage of this method is that, at the same time as being simple, it could be used for different spherical parallel manipulators with complicated kinematic structures. By using this dynamic model, advanced controllers such as CTC, SMC, and SMC + TDE are designed in Cartesian space, and so as to compare with the PC, which is a STBC, co-simulations are performed in different scenarios. Co-simulation outcomes show that the maximum tracking error norms have been decreased by 12% and 34%, respectively, with respect to the SMC and PC in comparison to the CTC in the presence of upper bound dynamic uncertainties. Also, in the presence of external disturbances, the maximum tracking error norms of the SMC and PC are 12% and 42%, much less than the CTC, respectively. The suitable robustness of the proposed approach toward uncertainties, measurement noise, and external disturbances indicates that the parallel robot can be effectively used in situations where trajectory tracking is a necessity.
The effectiveness of the proposed RLPM has been evaluated through passive rehabilitation exercises. The results show that, although different choices of ankle joint stiffness result in fast time-varying resistance torque in the joint space, the proposed technique is capable of providing a truthful prediction of the ART. With the assistance of this technique, not only is system stability guaranteed, but additionally, the tracking error may be significantly reduced in the presence of the ART. The validations show that RSPM can be successfully commercialized for utilization in ankle rehabilitation applications. In future work, the actuator’s dynamic behavior and passive joint friction will be extracted once a physical prototype is developed.
Author contributions
Ali Kamali E and Afshin Taghvaeipour conceived and designed the study. Ali Ahmadi N conducted data gathering, performed simulations, and wrote the article.
Financial support
This research received no specific grant from any funding agency, commercial, or not-for-profit sectors.
Competing interests
The authors declare no competing interests exist.
Ethical standards
None.