main-content

## Swipe to navigate through the articles of this issue

Published in:

Open Access 01-12-2022 | Original Article

# Application of Optimal-Jerk Trajectory Planning in Gait-balance Training Robot

Authors: Fu Yuan, Diansheng Chen, Chenghang Pan, Jun Du, Xiaodong Wei, Min Wang

Published in: Chinese Journal of Mechanical Engineering | Issue 1/2022

print
PRINT
insite
SEARCH

## Abstract

To accommodate the gait and balance disorder of the elderly with age progression and the occurrence of various senile diseases, this paper proposes a novel gait balance training robot (G-Balance) based on a six degree-of-freedom parallel platform. Using the platform movement and IMU wearable sensors, two training modes, i.e., active and passive, are developed to achieve vestibular stimulation. Virtual reality technology is applied to achieve visual stimulation. In the active training mode, the elderly actively exercises to control the posture change of the platform and the switching of the virtual scene. In the passive training mode, the platform movement is combined with the virtual scene to simulate bumpy environments, such as earthquakes, to enhance the human anti-interference ability. To achieve a smooth switching of the scene, continuous speed and acceleration of the platform motion are required in some scenarios, in which a trajectory planning algorithm is applied. This paper describes the application of the trajectory planning algorithm in the balance training mode and the optimization of jerk (differential of acceleration) based on cubic spline planning, which can reduce impact on the joint and enhance stability.

## 1 Introduction

Gait and balance control is a complicated process that cannot be managed completely by any robot configuration. Different robot configurations perform training differently. Mainstream gait balance training robots have three configurations: (1) lower limb exoskeleton walking training robots, which focus on abnormal gait correction and recovery of motion control capabilities. Representative research results include Locomat [1], which is developed by the Swiss Federal Institute of Technology Zurich; WalkTrainer [2], which is developed by the Swiss Federal Institute of Technology Lausanne and SWORTEC; and ReoAmbulator, which is launched by HealthSouth of the United States, as shown in Figure 1; (2) pedal gait balance training robots, which focus on training patients’ deep sensation, of which representative research results include the Haptic Walker developed by Stefan Hesse in Germany [3], the G-EO system developed in cooperation with Reha Technology in the Netherlands [4], and GaitMaster developed by the University of Tsukuba in Japan [5], as shown in Figure 2; (3) the multi-degree-of-freedom motion platform gait balance training robot, which exhibits multi-degree-of-freedom spatial motion characteristics and provides the acceleration and angular velocity stimulation to the human body, with emphasis on vestibular stimulation and simulation. In this regard, the representative technology is the Computer-assisted Rehabilitation Environment (CAREN) [6] developed by Motek Medical, of which configuration is used in the G-Balance.
G-Balance, shown in Figure 3, aims to combine the simulated acceleration and angular velocity changes of the sports platform with virtual reality technology to achieve vestibular and visual stimulation such that the human gait and balance ability can be trained. The vestibular sense perceives changes in the external acceleration and angular velocity, whereas the visual sense perceives changes in the external environment [7].
In some scenarios, to achieve a seamless change in the speed and acceleration of the motion platform as the virtual scene changes, trajectory planning is performed.
Typically used trajectory equations to achieve continuous changes in acceleration and velocity include B-spline and cubic spline. Additionally, trajectory planning is transformed into a nonlinear optimization problem by introducing stroke, speed, acceleration constraints of electric motors and optimization objectives, which finally becomes the optimal trajectory planning. Based on the optimization goals, optimal trajectory planning can be categorized into three categories: optimal time trajectory planning [8], optimal energy trajectory planning [9] and optimal jerk trajectory planning [10]. In addition, these three items can combine with different weight to achieve a comprehensive optimal trajectory planning [11]. Bobrow [12] and Shin [13] were the first to investigate time-optimal trajectory planning. Their core idea is to establish dynamic equations using end-position parameters. However, the acceleration and moment of the final trajectory are discontinuous with their method. Lin et al. [14, 15] introduced the spline curve and the B curve into trajectory planning to obtain a continuous acceleration of the trajectory; however, the optimal time could not be maintained as the global optimal. Energy optimal trajectory planning is often used in applications that are sensitive to energy consumption, such as industrial robotic arms. In Ref. [16], energy consumption was controlled during exercise by setting the upper limits for control signals and joint speeds. In another optimization method, jerk was used as the objective equation. Lower jerk of a system can reduce the dynamic pressure, the vibration of the mechanism, and rendering the trajectory more stable. Kyriakopoulos et al. [17] obtained the optimal jerk between two points using analytical methods. Piazzi et al. [18] used the interval optimization method to obtain the global jerk optimal trajectory, whereas Gasparetto et al. [19] combined the jerk and time into a target function, which was optimally planned to avoid the artificial determination of the operating time. In a follow-up study [20], the method was verified using the cubic spline and quintic B-spline methods. The minimum energy consumption strategy and the minimum time strategy are generally used in energy or time sensitive applications, such as industrial manipulators, which are not essential in our current study. On the contrary, lower dynamic pressure and vibration are needed in this situation. Therefore, the optimal jerk planning was selected for G-Balance.
Herein, the method to implement the optimal jerk such that a robot propagates seamlessly as the virtual scene changes, as well as the usage of the robot in the balance training mode are explained. In Section 2, the formula for solving the inverse kinematics, which provides the foundation for the subsequent trajectory planning, is presented. Section 3 presents the detailed derivation process of the cubic spline planning and the reasons for selecting it. Section 4 discusses the cubic spline planning based on the minimum jerk, where the addition of constraint equations and the planning process are elaborated. Section 5 provides the application scenarios of the trajectory planning proposed herein. Finally, the results obtained with or without optimal jerk are compared to demonstrate the superiority of the optimal jerk trajectory planning.

## 2 Structure and Kinematics of G-Balance System

The structure of G-Balance, as shown in Figure 3, includes a classic six degree-of-freedom parallel platform named Stewart, a treadmill, and a safety guard like handrail. The platform was driven by six electric cylinders with a power of 750 W. A mechanical schematic diagram of G-Balance is shown in Figure 4.
The mechanism can be categorized into upper and lower platforms, which are connected by universal hinges with hinge points denoted as $${P}_{i}$$ and $${B}_{i}$$ (i = 16) respectively. The coordinates of origin $$P$$ of the upper platform relative to the lower platform are expressed as follows:
$${\varvec{P}}={{\varvec{P}}_{0}}+{\varvec{T}}=\left({x_{0}},{y_{0}},{z_{0}}\right)+\left(x, y, z\right),$$
(1)
where $${{\varvec{P}}}_{0}$$ is the initial position vector, and $${\varvec{T}}$$ is the translation vector. The Euler angle representation is adopted for rotation, and the corresponding rotation matrices are as follows:
$$\left\{\begin{array}{c}\varvec{R}\left(z,\alpha \right)=\left[\begin{array}{ccc}\mathrm{cos}\alpha & -\mathrm{sin}\alpha & 0\\ \mathrm{sin}\alpha & \mathrm{cos}\alpha & 0\\ 0& 0& 1\end{array}\right],\\ \varvec{R} \left(y,\beta \right)=\left[\begin{array}{ccc}\mathrm{cos}\beta & 0& \mathrm{sin}\beta \\ 0& 1& 0\\ -\mathrm{sin}\beta & 0& \mathrm{cos}\beta \end{array}\right],\\ \begin{array}{c} {\varvec{R}}\left(x,\gamma \right)=\left[\begin{array}{ccc}1& 0& 0\\ 0& \mathrm{cos}\gamma & -\mathrm{sin}\gamma \\ 0& \mathrm{sin}\gamma & \mathrm{cos}\gamma \end{array}\right],\\ {\varvec{R}}={\varvec{R}}\left(z,\alpha \right)\cdot {\varvec{R}}\left(y,\beta \right)\cdot {\varvec{R}}\left(x,\gamma \right).\end{array}\end{array}\right.$$
(2)
The position vector of the electric cylinder is expressed as
$$\overrightarrow{{{\varvec{B}}}_{\dot{{\varvec{i}}}}{{\varvec{P}}}_{\dot{{\varvec{i}}}}}=\overrightarrow{{\varvec{B}}{\varvec{P}}}+\overrightarrow{{\varvec{P}}{{\varvec{P}}}_{\dot{{\varvec{i}}}}}-\overrightarrow{{\varvec{B}}{{\varvec{B}}}_{\dot{{\varvec{i}}}}}={\varvec{T}}+{\varvec{R}}{{\varvec{P}}}_{{\varvec{i}}}^{\mathrm{^{\prime}}}-{{\varvec{B}}}_{{\varvec{i}}}={{\varvec{L}}}_{{\varvec{i}}},$$
(3)
where $${{\varvec{P}}}_{{\varvec{i}}}^{\boldsymbol{^{\prime}}}$$ indicates the coordinates of the upper hinge point relative to the upper platform, and $${{\varvec{L}}}_{{\varvec{i}}}$$ indicates the vector of the electric cylinder. Therefore, the length of the electric cylinder is expressed as
$${L}_{i}=\Vert {{\varvec{L}}}_{{\varvec{i}}}\Vert =\sqrt{{{\varvec{L}}}_{{\varvec{i}}}^{\mathbf{T}}{{\varvec{L}}}_{{\varvec{i}}}}.$$
(4)
The coordinates of the upper hinge point $${{\varvec{P}}}_{{\varvec{i}}}$$ and its derivative are as follows:
$${{\varvec{P}}}_{{\varvec{i}}}={\varvec{R}}{{\varvec{P}}}_{{\varvec{i}}}^{\boldsymbol{^{\prime}}}+{\varvec{T}},$$
(5)
$$\dot{{{\varvec{P}}}_{{\varvec{i}}}}=\dot{{\varvec{T}}}+{\varvec{\omega}}\times {\varvec{R}}{{\varvec{P}}}_{{\varvec{i}}}^{\mathrm{^{\prime}}}.$$
(6)
The speed component of the upper hinge point in the direction of the electric cylinder is the speed of the electric cylinder.
$$\dot{{{\varvec{L}}}_{{\varvec{i}}}}={\left(\frac{{{\varvec{L}}}_{{\varvec{i}}}}{{L}_{i}}\right)}^{\mathbf{T}}\dot{{{\varvec{P}}}_{{\varvec{i}}}}.$$
(7)
Similarly, the acceleration of the electric cylinder can be obtained, which is not elaborated here because of seldom use.

## 3 Cubic Splines for Trajectory Planning

To achieve continuous speed and acceleration, the most typically used trajectory curve equations are the cubic spline and quintic B-spline equations. The higher the time power, the smoother is the motion and the less significant is the impact [17]; however, the calculation is more complicated and the planning time is longer. When simulating environmental changes in the balance training process, such as combining virtual reality technology to achieve scene switching, the robot is required to propagate smoothly. In other words, the speed and acceleration are continuous. Therefore, cubic spline planning can sufficiently fulfill these conditions.
Two main modes of trajectory planning are used in multi-joint robots: trajectory planning in the workspace and joint space. The difference between these two modes is the sequence of trajectory planning and the kinematic solutions. In the trajectory planning of the workspace, the trajectory in the workspace is first obtained, and then inverse kinematics is applied to obtain the trajectory of each motor. Thus trajectory of the endpoint is visible, and movement at the end of platform is smooth; however, it may violate the joint motion constraints or cause discontinuous velocity and acceleration of driving motor. In the trajectory planning of the joint space, trajectory planning is performed in each joint space respectively. This is advantageous as each joint propagates along the ideal trajectory; however, the trajectory at the end of the mechanism cannot be displayed intuitively. To obtain the trajectory at the end of platform, forward kinematics is required through iterative method. In our training scenario, one is only required to determine whether the end reaches the final pose through a smooth motion, whereas the trajectory of the end to reach the final pose is emphasized less. In addition, the minimum jerk of the joint can both reduce the impact and increase the lifespan of the joint; hence, joint space trajectory planning was adopted.
For a series of time points $${t}_{i}$$ and their corresponding space position of the end of platform $$({t}_{i},{q}_{i})(i=0, 2, 3\dots n-2,n)$$ (i represents the serial number of time point, note that the two missing numbers are the numbers of virtual points), we first calculated the corresponding position of each upper hinge joint $$\left({t}_{i},{q}_{ji}\right)$$ (j represents the electric cylinder number, $$j=1\sim 6$$) based on inverse kinematics. Each segment of the cubic spline satisfies the following equation:
$${Q}_{ji}\left(t\right)={a}_{ji}{(t-{t}_{i})}^{3}+{b}_{ji}{(t-{t}_{i})}^{2}+{c}_{ji}\left(t-{t}_{i}\right)+{d}_{ji},$$
(8)
where $${Q}_{ji}\left(t\right)$$ represents the trajectory equation of upper hinge point $${P}_{j}$$ between time $${t}_{i}$$ and $${t}_{i+1}$$; $${a}_{ji}$$, $${b}_{ji}$$, $${c}_{ji}$$, $${d}_{ji}$$ are constants related to the the trajectory. In order to obtain definite initial and ending speed and acceleration, here is a simple technique. Two virtual time points were inserted between $${(t}_{0}{,t}_{2})$$ and $${(t}_{n-2}{,t}_{n})$$, and they are indicated as $$(\widetilde{t_{1}},\widetilde{q_{j1}})$$ and $$(\widetilde{{t}_{\mathrm{n}-1}},\widetilde{q_{j,\mathrm{n}-1}})$$. Gasparetto et al. [19, 21] adopted this technique, and the values can be calculated as follows:
$$\begin{array}{c}\left\{\begin{array}{c}\widetilde{{t}_{1}}=\frac{{t}_{0}+{t}_{2}}{2},\\ \widetilde{{t}_{n-1}}=\frac{{t}_{n-2}+{t}_{n}}{2},\\ \begin{array}{c}\widetilde{{q}_{j1}}={q}_{j0}+{h}_{0}{v}_{j0}+\frac{{h}_{0}^{2}}{3}{a}_{j0}+\frac{{h}_{0}^{2}}{6}\stackrel{\sim }{{M}_{j1}},\\ \widetilde{{q}_{j,n-1}}={q}_{j,n}-{h}_{n-1}{v}_{jn}+\frac{{h}_{n-1}^{2}}{3}{a}_{jn}+\frac{{h}_{n-1}^{2}}{6}\widetilde{{M}_{j,n-1},}\end{array}\end{array}\right.\end{array}$$
(9)
where $${h}_{i}$$ represents the time intervals, $${h}_{i}={t}_{i+1}-{t}_{i}$$, and $${M}_{ji}$$ is the acceleration of upper hinge point $${P}_{j}$$ at time $${t}_{i}$$, $${M_{ji}}={Q_{ji}}^{^{\prime\prime}}\left({t_{i}}\right)$$. Assume that the initial speed and acceleration are as follows:
$$\left\{\begin{array}{c}{{M}_{j0}=a}_{j0} ,\\ {{M}_{jn}=a}_{jn},\\ \begin{array}{c}{Q}_{ji}^{{^{\prime}}}\left({t}_{0}\right)={v}_{j0},\\ {Q}_{ji}^{{^{\prime}}}\left({t}_{n}\right)={v}_{jn}.\end{array}\end{array}\right.$$
(10)
Subsequently, because of the continuous velocity and acceleration of the cubic splines, the following formula can be derived:
$$\left\{\begin{array}{c}{Q}_{ji}\left({t}_{i}\right)={q}_{ji},\\ \begin{array}{c}{Q}_{ji}\left({t}_{i+1}\right)={Q}_{j,i+1}\left({t}_{i+1}\right)={q}_{j,i+1},\\ {Q}_{ji}^{\mathrm{^{\prime}}}\left({t}_{i+1}\right)={Q}_{j,i+1}^{\mathrm{^{\prime}}}\left({t}_{i+1}\right),\\ {Q}_{ji}^{\mathrm{^{\prime}}\mathrm{^{\prime}}}\left({t}_{i+1}\right)={Q}_{j,i+1}^{\mathrm{^{\prime}}\mathrm{^{\prime}}}\left({t}_{i+1}\right).\end{array}\end{array}\right.$$
(11)
Because $${Q}_{ji}\left(t\right)$$ is a cubic function, its second derivative exhibits a linear relationship with t. Linear interpolation is performed on the acceleration.
$${Q}_{ji}^{\mathrm{^{\prime}}\mathrm{^{\prime}}}\left(t\right)=\frac{{t}_{i+1}-t}{{h}_{i}}{M}_{ji}+\frac{t-{t}_{i}}{{h}_{i}}{M}_{j,i+1} t\in \left[{t}_{i},{t}_{i+1}\right].$$
(12)
Because of the boundary condition $${Q}_{ji}\left({t}_{i}\right)={q}_{ji}, {Q}_{j,i+1}\left({t}_{i+1}\right)={q}_{j,i+1}$$, we can obtain the following equations by integrating Eq. (12).
$$\left\{\begin{array}{c}{Q}_{ji}\left(t\right)=\frac{{M}_{ji}}{6{h}_{i}}{\left({t}_{i+1}-t\right)}^{3}+\frac{{M}_{j,i+1}}{6{h}_{i}}{\left(t-{t}_{i}\right)}^{3}+\\ \left(\frac{{q}_{ji}}{{h}_{i}}-\frac{{h}_{i}{M}_{ji}}{6}\right)\left({t}_{i+1}-t\right)+\left(\frac{{q}_{j,i+1}}{{h}_{i}}-\frac{{h}_{i}{M}_{j,i+1}}{6}\right)\left(t-{t}_{i}\right),\\ {Q}_{ji}^{\mathrm{^{\prime}}}\left(t\right)=-\frac{{M}_{ji}}{2{h}_{i}}{\left({t}_{i+1}-t\right)}^{2}+\frac{{M}_{j,i+1}}{2{h}_{i}}{\left(t-{t}_{i}\right)}^{2}+\\ \frac{{q}_{j,i+1}-{q}_{ji}}{{h}_{i}}+\frac{{M}_{ji}-{M}_{j,i+1}}{6}{h}_{i}.\end{array}\right.$$
(13)
Because of the continuous speed, we can obtain the following equation using Eq. (13):
$$\frac{{h}_{i-1}}{{h}_{i-1}+{h}_{i}}{M}_{j,i-1}+2{M}_{ji}+\frac{{h}_{i}}{{h}_{i-1}+{h}_{i}}{M}_{j,i+1}=\frac{6}{{h}_{i-1}+{h}_{i}}\left(\frac{{q}_{j,i+1}-{q}_{ji}}{{h}_{i}}-\frac{{q}_{ji}-{q}_{j,i-1}}{{h}_{i-1}}\right).$$
(14)
The formula above rewritten in the matrix form is as follows:
$$\left\{\begin{array}{c}K{M}_{j}={B}_{j}, \\ {M}_{j}={[{M}_{j0},{M}_{j1},\dots ,{M}_{jn}]}^{\mathrm{T}}.\end{array}\right.$$
(15)
Finally, the complete cubic spline trajectory constraint equation is obtained.

## 4 Optimization of Trajectory

By adopting cubic splines and trajectory planning, the position, velocity, and acceleration of the joint space were continuous, thereby satisfying the requirements. Additionally, the mechanism was subject to other constraints resulting from motor performance and structural limitations. The most typical ones are speed and acceleration constraints, which necessitate minimum jerk trajectory planning.
Optimal trajectory planning is a nonlinear equation optimization problem, the core of which is to obtain the constraint equation and the objective optimization equation. As presented in the previous section, an equality constraint is derived. The objective optimization equation is used to obtain the optimal jerk.
$$\mathrm{min}:\sum_{j=1}^{6}\sum_{i=1}^{n-1}\frac{{({\ddot{q}}_{j,i+1}-{\ddot{q}}_{ji})}^{2}}{{t}_{i+1}-{t}_{i}}.$$
(16)
Meanwhile, the speed and acceleration constraints must be satisfied.
$$\left\{\begin{array}{c}\left|\dot{{q}_{j}}(t)\right|\le {VC}_{j},\\ \left|{\ddot{q}}_{j}(t)\right|\le {AC}_{j},\end{array}\right.$$
(17)
where $${VC}_{j}$$ represents the maximum speed of electric cylinder $$j$$ and $${AC}_{j}$$ represents the maximum acceleration of electric cylinder $$j$$. The velocity and acceleration constraint equations are infinite-state equations that are difficult to solve. According to Ref. [21], some optimizations can be achieved. The velocity of any joint is a quadratic function, and its extreme value can only appear at the endpoint or the point where the acceleration is zero. The moment at which the acceleration of each segment is zero is expressed as follows:
$${t}_{ji}^{*}={t}_{i}+\frac{{h}_{i}{M}_{ji}}{{M}_{ji}-{M}_{j,i+1}}.$$
(18)
Therefore, the maximum speed of each segment can only be one of the following:
$$\left\{\begin{array}{c}\dot{{q}_{j}}\left({t}_{i}\right)=-\frac{{M}_{ji}}{2}{h}_{i}+\frac{{q}_{j,i+1}-{q}_{ji}}{{h}_{i}}+\frac{{h}_{i}}{6}\left({M}_{ji}-{M}_{j,i+1}\right),\\ \dot{{q}_{j}}\left({t}_{i+1}\right)=\frac{{M}_{j,i+1}}{2}{h}_{i}+\frac{{q}_{j,i+1}-{q}_{ji}}{{h}_{i}}+\frac{{h}_{i}}{6}\left({M}_{ji}-{M}_{j,i+1}\right),\\ \dot{{q}_{ji}^{*}}=-\frac{{h}_{i}{M}_{j,i+1}{M}_{ji}}{2\left({M}_{j,i+1}-{M}_{ji}\right)}+\frac{{q}_{j,i+1}-{q}_{ji}}{{h}_{i}}-\frac{{h}_{i}}{6}\left({M}_{j,i+1}-{M}_{ji}\right),\\ \mathrm{max}\left(\left|\dot{{q}_{j}}\left({t}_{i}\right)\right|,\left|\dot{{q}_{j}}\left({t}_{i+1}\right)\right|,\left|\dot{{q}_{ji}^{*}}\right|\right)\le {VC}_{j}.\end{array}\right.$$
(19)
Similarly, acceleration is a linear function; therefore, only the accelerations at the two ends must fulfill the constraint conditions.
$$\mathrm{max}\left(\left|{M}_{ji}\right|,\left|{M}_{j,i+1}\right|\right)<{AC}_{j}.$$
(20)
Based on the analysis above, the optimal-jerk trajectory planning is transformed into a nonlinear programming problem that satisfies equality and inequality constraints, and it can be solved via sequential quadratic programming (SQP).
However, based on the derivation above, it can be concluded that the time interval yielded by this method will be infinitely long. We can utilize the method presented in Ref. [21] to add a scale factor between the minimum time and minimum jerk, as follows:
$$\mathrm{min}:\alpha \sum_{i=0}^{n-1}{h}_{i}+ \beta \sum_{j=1}^{6}\sum_{i=1}^{n-1}\frac{{({\ddot{q}}_{j,i+1}-{\ddot{q}}_{ji})}^{2}}{{t}_{i+1}-{t}_{i}}.$$
(21)
Another alternative is to set a lower limit for the speed adopted in this study.
$$\left|\dot{{q}_{j}}(t)\right|\ge {LC}_{j},$$
(22)
where $${LC}_{j}$$ represents the minimum speed of electric cylinder $$j$$.
The lower speed limit is determined by the longest operating time set which is not the actual minimum speed cause the speed in the beginning or at the end will be zero in most cases. Using this method, we can easily control the maximum time for each run. Similarly, we can set an equality constraint on time, as expressed in Eq. (23) [18].
$$\sum {h}_{i}=T.$$
(23)
It is noteworthy that the time T set cannot be less than the shortest operating time, which is calculated as follows:
$${T}_{min}=\underset{j}{\mathrm{max}}\left(\frac{\sum_{i=1}^{n-1}\mathrm{abs}\left({q}_{j,i+1}-{q}_{j,i}\right)}{{VC}_{j}}\right).$$
(24)
It is difficult to identify which of the above methods is the best. Application scenarios are the most important considerations in the selection process.
A brief summary of the procedure for optimal jerk planning is as follows:
(1)
For a series of points in the workspace, the positions of the corresponding upper hinge points are obtained based on the inverse kinematic solution.

(2)
The equation constraint of the entire trajectory is obtained based on the characteristics of the cubic spline.

(3)
The inequality constraints of the trajectory are obtained based on the speed, acceleration, and time constraints.

(4)
Nonlinear optimization problems are solved via SQP or other optimization methods.

## 5 Active and Passive Training Modes

The core training function of G-Balance is to apply the characteristics of a multi-degree-of-freedom motion platform to provide vestibular acceleration and angular velocity stimulation. Simultaneously, combined with virtual reality technology, both visual stimulation and an immersive training experience can be achieved. Two training modes were proposed based on the proposed system.
In the active training mode, the elderly can exert influence and control strategies on the platform. This is similar to a somatosensory game with actual physical stimulation. To capture the posture of humans, seven IMU inertial sensors were attached to the human instep, lower limbs, upper limbs, and waist to capture the motion information of the human ankle, knee, and hip joints, as shown in Fig. 5. The periodicity and symmetry of gait, gait frequency, and other gait information were closely associated with the movement of these joints, which are essential for realizing human gait assessment and simple gait training using a treadmill [2224]. Meanwhile, the output of these sensors was extracted and processed as the input of the robot control system to realize active control.
The flow of the control signals and one virtual training scene are shown in Figures 6 and 7, respectively. This scene is similar to a surfing game. The movement of the lower limbs of the human body corresponds to the change in the posture of the virtual person, and the posture of the platform corresponds to the posture of the surfboard. All control information is from positional changes in the human body. The human body can be simplified into a skeleton model, which is composed of thighs, calves, and trunks; hence, the position of each joint can be obtained based on the angle of each joint and the length of the limb.
Once the position of each joint is obtained, which we denote as $${G}_{i}$$ herein, the center of gravity of each limb can be estimated. According to Vanhan et al. [25], a fixed proportional relationship exists between the center of gravity of each leg and the position of adjacent joints, as shown in Figure 8 and Eq. (25).
$$\left\{\begin{array}{c}{G}_{Thigh,CG}={G}_{Hip}+0.39\left({G}_{Knee}-{G}_{Hip}\right),\\ {G}_{Calf,CG}={G}_{Knee}+0.42\left({G}_{Ankle}-{G}_{Knee}\right).\end{array}\right.$$
(25)
We used the weighted sum of the center of gravity of each limb and the angle of trunk tilt as the input signal of the control system, which are the position and Euler angle of the workspace, respectively. In other words, the position $${q}_{i}$$ is the estimated center of gravity of the human body.
$${q}_{i}=\sum_{i=1}^{4}{\mu }_{i}{G}_{ci},$$
(26)
where $${G}_{ci}$$ is the center of gravity of each lower limb, and $${\mu }_{i}$$ is the corresponding weight. The next task is to use the trajectory planning method described in Section 4 to execute trajectory planning. The sampling time interval of position $${q}_{i}$$ is extremely short, and the frequency is typically 20–50 Hz. Therefore, we sampled position $${q}_{i}$$ at 1 s interval as the final input position in the workspaces.
In the passive training mode, the platform is combined with a virtual environment to simulate vibration scenes and train the anti-interference ability of the human subject. This training mode is similar to an earthquake hut in a science museum. In this scenario, sensors are used to obtain the response of the human body to stimuli. The trajectory of the estimated center of gravity of the human body is used to measure a person’s balance ability and training effect like the usage of center of pressure (COP) [26, 27]. Unlike the two-dimensional COP method, the estimated center of gravity is three dimensional. The flow of the signals in this mode is shown in Figure 9.
To achieve more realistic acceleration and angular velocity stimulation in a limited motion space, we adopted a washout algorithm [2830] to achieve better vestibular stimulation, which will not be further elaborated.

## 6 Simulation Results

By performing the procedures described above for a series of positions in the workspace, the corresponding joint space positions were calculated, as shown in Tables 1 and 2. The kinematic limits of the electric cylinders were set to the same value as the models were identical.
Table 1
Via points in workspace
Via points
Representation and units
$$({\varvec{x}},{\varvec{y}},{\varvec{z}},\boldsymbol{\alpha },{\varvec{\beta}},{\varvec{\gamma}})$$ (mm/(°))
1
(0,0,0,0,0,0)
2
(15,20,15,4,5,12)
3
(25,31,42,7,8,6)
4
(40,60,30,15,14,13)
5
(50,40,40,8,12,16)
6
(25,67,20,16,15,14)
Table 2
Via points in joint space
Joint
Via points (mm)
1
2
3
4
5
6
1
657
657
657
657
657
657
2
712
634
725
657
715
585
3
702
685
729
716
701
601
4
724
682
760
727
711
527
5
722
660
779
711
754
541
6
733
665
755
722
699
524
For comparison, we set the operating time to 8 s and performed the trajectory planning of the optimal jerk and ordinary cubic splines. In the ordinary trajectory planning, we set via points at equal intervals of 1.6 s, as shown in Table 3.
Table 3
Kinematic limits
Name
Velocity (mm/s)
Acceleration (mm/s2)
Value
200
200
The results of the simulations are presented in Figures 10, 11, 12 and 13 which show the position, velocity, acceleration of each joint, respectively, and the total jerk.
As shown in the simulation results, the trajectory, velocity, and acceleration were all continuous functions in the entire process. Additionally, the velocity and acceleration were within the limits. These results are consistent with the theoretical derivation.
The value of jerk obtained by the minimum jerk trajectory planning was $$4.89\times {10}^{5}$$, which was $$7.52\times {10}^{5}$$ in the ordinary trajectory planning. The jerk of optimal trajectory planning was 65% of that of ordinary trajectory planning, which seemed insignificant. Moreover, the speed and acceleration of the entire process were within the range of the kinematic limits in the ordinary trajectory planning, although the constraints were not included. This result was primarily due to small stroke of the platform, which resulted in similar planned trajectories; hence, the minimum jerk method did not offer much advantage. As the distance between the position points in the workspace increases, the minimum jerk trajectory planning gradually demonstrates its advantages. Optimal-jerk trajectory planning, however, is still worth adopting considering the position, speed, and acceleration constraints. It is noteworthy that all via points in the workspace cannot exceed the stroke limit of the robot.

## 7 Conclusions

In some scenarios, G-Balance must propagate smoothly while satisfying the speed and acceleration constraints; hence, optimal jerk trajectory planning is introduced. Herein, a detailed process of optimal-jerk trajectory planning was elaborated, and its application in active training mode using human movement as input signals was described. The following aspects are noteworthy:
(1)
Cubic spline trajectory planning with virtual points added at the beginning and end allowed the speed and acceleration of the starting and ending points to be controlled.

(2)
In optimal-jerk trajectory planning, three methods are typically used to control time: adding time with weight to the objective function, adding the minimum operating speed limit, and specifying the operating time. The method to be used depends on the specific scenario.

(3)
Owing to the characteristics of cubic splines, continuous speed and acceleration constraints can be transformed into discrete constraints in a finite state, thereby simplifying the calculation process significantly.

In the virtual scene listed in this article, the usefulness of trajectory planning is not obvious cause more virtual training scenarios are being designed. Meanwhile, the entire control system, including the washout algorithm and the training mode, such as the passive training mode of G-Balance, were not described comprehensively.

## Acknowledgements

Not applicable.

### Competing interests

The authors declare no competing financial interests.
print
PRINT
Literature
[1]
R Riener, L Lünenburger, I C Maier, et al. Locomotor training in subjects with sensori-motor deficits: An overview of the robotic gait orthosis lokomat. Journal of Healthcare Engineering, 2010, 1(2): 197‒216. CrossRef
[2]
M Bouri, Y Stauffer, C Schmitt, et al. The WalkTrainer: A robotic system for walking rehabilitation. 2006 IEEE International Conference on Robotics and Biomimetics. IEEE, 2006: 1616‒1621.
[3]
H Schmidt, S Hesse, R Bernhardt, et al. HapticWalker-a novel haptic foot device. ACM Transactions on Applied Perception (TAP), 2005, 2(2): 166‒180. CrossRef
[4]
S Hesse, A Waldner, C Tomelleri. Innovative gait robot for the repetitive practice of floor walking and stair climbing up and down in stroke patients. Journal of Neuroengineering and Rehabilitation, 2010, 7(1): 1‒10. CrossRef
[5]
H Iwata, H Yano, F Nakaizumi. Gait master: A versatile locomotion interface for uneven virtual terrain. Proceedings IEEE Virtual Reality 2001. IEEE, 2001: 131‒137.
[6]
CAREN balance rehabilitation training system official webpage. https://​www.​motekmedical.​com/​solution/​caren/​. Accessed 15 June 2017.
[7]
J M Wolfe, K R Kluender, D M Levi, et al. Sensation & Perception. Sunderland, MA: Sinauer, 2006.
[8]
A Piazzi, A Visioli. Global minimum-time trajectory planning of mechanical manipulators using interval analysis. International Journal of Control, 1998, 71(4): 631‒652.
[9]
A R Hirakawa, A Kawamura. Trajectory planning of redundant manipulators for minimum energy consumption without matrix inversion. Proceedings of International Conference on Robotics and Automation. IEEE, 1997, 3: 2415‒2420.
[10]
A Piazzi, A Visioli. An interval algorithm for minimum-jerk trajectory planning of robot manipulators. Proceedings of the 36th IEEE Conference on Decision and Control. IEEE, 1997, 2: 1924‒1927.
[11]
S F P Saramago, Jr V Steffen. Optimization of the trajectory planning of robot manipulators taking into account the dynamics of the system. Mechanism and Machine Theory, 1998, 33(7): 883‒894.
[12]
J E Bobrow, S Dubowsky, J S Gibson. Time-optimal control of robotic manipulators along specified paths. The International Journal of Robotics Research, 1985, 4(3): 3‒17. CrossRef
[13]
K Shin, N McKay. Minimum-time control of robotic manipulators with geometric path constraints. IEEE Transactions on Automatic Control, 1985, 30(6): 531‒541. CrossRef
[14]
C Lin, P Chang, J Luh. Formulation and optimization of cubic polynomial joint trajectories for industrial robots. IEEE Transactions on Automatic Control, 1983, 28(12): 1066‒1074. CrossRef
[15]
C H Wang, J G Horng. Constrained minimum-time path planning for robot manipulators via virtual knots of the cubic B-spline functions. IEEE Transactions on Automatic Control, 1990, 35(5): 573‒577. CrossRef
[16]
G Field, Y Stepanenko. Iterative dynamic programming: an approach to minimum energy trajectory planning for robotic manipulators. Proceedings of IEEE International Conference on Robotics and Automation. IEEE, 1996, 3: 2755‒2760.
[17]
K J Kyriakopoulos, G N Saridis. Minimum jerk path generation. Proceedings. 1988 IEEE International Conference on Robotics and Automation. IEEE, 1988: 364‒369.
[18]
A Piazzi, A Visioli. Global minimum-jerk trajectory planning of robot manipulators. IEEE Transactions on Industrial Electronics, 2000, 47(1): 140‒149. CrossRef
[19]
A Gasparetto, V Zanotto. A new method for smooth trajectory planning of robot manipulators. Mechanism and Machine Theory, 2007, 42(4): 455‒471.
[20]
A Gasparetto, V Zanotto. Optimal trajectory planning for industrial robots. Advances in Engineering Software, 2010, 41(4): 548‒556. CrossRef
[21]
A Gasparetto, V Zanotto. A technique for time-jerk optimal planning of robot trajectories. Robotics and Computer-Integrated Manufacturing, 2008, 24(3): 415‒426 CrossRef
[22]
R Moe-Nilssen, J L Helbostad. Estimation of gait cycle characteristics by trunk accelerometry. Journal of Biomechanics, 2004, 37( 1):121‒126. CrossRef
[23]
S Piriyakulkit, Y Hirata, H Ozawa. Real-time gait event recognition for wearable assistive device using an IMU on thigh. 2017 IEEE International Conference on Cyborg and Bionic Systems (CBS). IEEE, 2017: 314‒318.
[24]
X Yun, J Calusdian, E R Bachmann, et al. Estimation of human foot motion during normal walking using inertial and magnetic sensor measurements. IEEE Transactions on Instrumentation & Measurement, 2012, 61(7): 2059‒2072. CrossRef
[25]
C L Vanhan, B L Davis, C O Jeremy. Dynamics of human gait. Cape town: Kiboho Publishers, 1992.
[26]
G Masahiro, H KUMADA. The assessments of body sway on the static standing using the center of pressure. Aino Journal, 2009: 7.
[27]
H H Chu, Z Dong, C Hans, et al. Using dynamic center of pressure to measure human body's balance ability. Gerontechnology, 2014.
[28]
B Conrad, S F Schmidt. A study of techniques for calculating motion drive signals for flight simulators. 1971.
[29]
B Conrad, S Schmidt, J Douvillier. Washout circuit design for multi-degrees-of-freedom moving base simulators. Visual and Motion Simulation Conference. 1973: 929.
[30]
H Asadi, S Mohamed, S Nahavandi. Incorporating human perception with the motion washout filter using fuzzy logic control. IEEE/ASME Transactions on Mechatronics, 2015, 20(6): 3276‒3284. CrossRef
Title
Application of Optimal-Jerk Trajectory Planning in Gait-balance Training Robot
Authors
Fu Yuan
Diansheng Chen
Chenghang Pan
Jun Du
Xiaodong Wei
Min Wang
Publication date
01-12-2022
Publisher
Springer Singapore
Published in
Chinese Journal of Mechanical Engineering / Issue 1/2022
Print ISSN: 1000-9345
Electronic ISSN: 2192-8258
DOI
https://doi.org/10.1186/s10033-021-00665-1

Go to the issue