Minimum jerk principle
Hogan developed the minimum jerk concept based on the finding that the degree of smoothing of a curve can be quantified by a function counting the number of shocks performed. For an angular trajectory Φ, he defined the jerk variable as its third time derivative [6]:
$$\dddot \varPhi = \frac{{d^{3} \varPhi (t)}}{{dt^{3} }}$$
(12)
For a starting time t
_{0} and an ending time t
_{
f
}, the smoothing degree of the path curve can be estimated by calculating the jerk cost function as:
$$B\left( \varPhi \right) = \mathop \int \nolimits_{{t = t_{0} }}^{{t_{f} }} \dddot \varPhi^{2} dt$$
(13)
Indeed, the minimum jerk cost criterion is given by:
$$C_{J} = \hbox{min} \frac{1}{2}\mathop \int \nolimits_{{t = t_{0} }}^{{t_{f} }} \dddot \varPhi^{2} dt$$
(14)
For polynomial functions depending on the variable Φ for which a very little constant variation e and a variation function η are associated between \(t_{0}\) and \(t_{f}\) such that:
$$B\left( {\varPhi + e\eta } \right) = \frac{1}{2}\mathop \int \nolimits_{{t = t_{0} }}^{{t_{f} }} ( \dddot \varPhi + e\dddot \eta )^{2} dt$$
(15)
we can prove that:
$$\left. {\frac{{dB\left( {\varPhi + e \eta } \right)}}{de}} \right_{e = 0} =  \mathop \int \nolimits_{{t = t_{0} }}^{{t_{f} }} \eta \varPhi^{(6)} dt$$
(16)
Then, there exists a function Φ, able to minimize the jerk function, having a sixth derivative with respect to time equal to zero and given by:
$$\varPhi^{(6)} = 0$$
(17)
Most research works use for the previous differential equation the following solution [21]:
$$\varPhi \left( t \right) = a_{5} t^{5} + a_{4} t^{4} + a_{3} t^{3} + a_{2} t^{2} + a_{1} t + a_{0}$$
(18)
where a
_{0}
…
\(a_{5}\) are constants to be determined for each angular variable Φ involved in the description of the considered system. In this stage, it is easy to deduce that the corresponding velocity and acceleration functions are given, respectively, by:
$$\dot{\varPhi }\left( t \right) = 5a_{5} t^{4} + 4a_{4} t^{3} + 3a_{3} t^{2} + 2a_{2} t + a_{1}$$
(19)
$$\ddot{\varPhi }\left( t \right) = 20a_{5} t^{3} + 12a_{4} t^{2} + 6a_{3} t + 2a_{2}$$
(20)
To compute the parameters a
_{0}
… a
_{5}, two main methods are used in the literature: The Pointtopoint method [22] and the Viapoint one [23]. The first methodology only requires the expression of the function to be minimized and the values of position, velocity and acceleration of the initial and final time of the movement. The corresponding control algorithm only needs to run once. For each joint, the following relation is used [22]:
$$\left( {~\begin{array}{*{20}c} {a_{5} } \\ {a_{4} } \\ {a_{3} } \\ {a_{2} } \\ {a_{1} } \\ {a_{0} } \\ \end{array} ~} \right) = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} {t_{0}^{5} } & {~t_{0}^{4} } & {~~~t_{0}^{3} } & {t_{0}^{2} } & {~t_{0} } & 1 \\ {t_{f}^{5} } & {~t_{f}^{4} } & {~~~t_{f}^{3} } & {t_{f}^{2} } & {t_{f} } & 1 \\ {5t_{0}^{4} } & {4t_{0}^{3} } & {3t_{0}^{2} } & {2t_{0} } & 1 & 0 \\ {5t_{f}^{4} } & {4t_{f}^{3} } & {3t_{f}^{2} } & {2t_{f} } & 1 & 0 \\ {2Ot_{0}^{3} } & {12t_{0}^{2} } & {6.t_{0} } & 2 & 0 & 0 \\ {20t_{f}^{3} } & {12t_{f}^{2} } & {6t_{f} } & 2 & 0 & 0 \\ \end{array} } \\ \end{array} ~~} \\ \end{array} ~} \right)^{{  1}} \left( {~\begin{array}{*{20}c} {\varPhi _{0} ~} \\ {\varPhi _{f} } \\ {\dot{\varPhi }_{0} ~} \\ {\dot{\varPhi }_{f} } \\ {\ddot{\varPhi }_{0} } \\ {\ddot{\varPhi }_{f} } \\ \end{array} ~} \right)$$
(21)
where \(\varPhi_{0} , \dot{\varPhi }_{0}\) and \(\ddot{\varPhi }_{0}\) are the position, velocity and acceleration, respectively, at t
_{0}. \(\varPhi_{f} , \dot{\varPhi }_{f}\) and \(\ddot{\varPhi }_{f}\) are the position, velocity and acceleration, respectively, at t
_{
f
}.
The viapoint method is recommended to avoid obstacles in the space where the robotic system evolves. Not only must the initial and final positions be specified but also a number of desired intermediate positions. This method implies that the algorithm is executed several times. In the case where only one desired intermediate position is specified, the solution is given by [23]:
$$\left( \begin{array}{cccccc} {5t_{0}^{4} } &\quad {4t_{0}^{3} } &\quad {3t_{0}^{2} }&\quad {2t_{0} } &\quad 1 & \quad{ 0} \\ {5t_{d}^{4} } &\quad {4t_{d}^{3} } &\quad {3t_{d}^{2} } &\quad {2t_{d} } &\quad 1 &\quad { 0 } \\ {5t_{f}^{4} } &\quad {4t_{f}^{3} } &\quad {3t_{f}^{2} } &\quad {2t_{f} } &\quad 1 &\quad { 0} \\{20t_{0}^{3} } &\quad {12t_{0}^{2} } &\quad {6t_{0} }&\quad 2 &\quad {0} &\quad {0} \\ {20t_{d}^{3} } &\quad {12t_{d}^{2} } &\quad {6t_{d} } &\quad 2 &\quad {0} &\quad {0} \\ {20t_{f}^{3} } &\quad {12t_{f}^{2} } &\quad {6t_{f} }&\quad 2 &\quad {0} &\quad {0} \end{array} \right)\left( { \begin{array}{*{20}c} {a_{5} } \\ {a_{4} } \\ {a_{3} } \\ {a_{2} } \\ {a_{1} } \\ {a_{0} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\varPhi_{0} } \\ {\varPhi_{d} } \\ {\varPhi_{f} } \\ \end{array} } \\ {\begin{array}{*{20}c} {\dot{\varPhi }_{0} } \\ {\dot{\varPhi }_{d} } \\ {\dot{\varPhi }_{f} } \\ \end{array} } \\ {\begin{array}{*{20}c} {\ddot{\varPhi }_{0} } \\ {\ddot{\varPhi }_{d} } \\ {\ddot{\varPhi }_{f} } \\ \end{array} } \\ \end{array} } \right)$$
(22)
where t
_{
d
} is an intermediate instant satisfying \(t_{0} < t_{d} < t_{f}\). \(\varPhi_{d} , \dot{\varPhi }_{d} {\text{and }}\ddot{\varPhi }_{d}\) are the position, velocity and acceleration, respectively, at t
_{
d
}.
The control law
Let impose to the bipedal robotic described by (1) to follow the following stable second order linear input–output behavior:
$$\left( {\ddot{\varPhi }  \ddot{\varPhi }_{d} } \right) + K_{v,1} \left( {\dot{\varPhi }  \dot{\varPhi }_{d} } \right) + K_{P,1} \left( {\varPhi  \varPhi_{d} } \right) = 0$$
(23)
where \(K_{P,1} \in R^{n \times n}\) and \(K_{v,1} \in R^{n \times n}\) are two positive definite diagonal matrices chosen to guarantee global stability, desired performances and decoupling proprieties for the controlled system. For a desired bandwidth λ and a critically damped closedloop performance, we must select:
$$K_{p,1} = diag \left[ {\lambda^{2} } \right]$$
(24)
$$K_{v,1} = diag [2 \lambda ]$$
(25)
As the dynamic modeling of the bipedal robot is known, \(K_{p,1} {\text{and }}K_{v,1}\) are computed offline to satisfy global stability conditions.
Using (1) and (23), the control law of the bipedal robot during the SSP is deduced as:
$$U = D^{  1} M\left( \varPhi \right)\left[ {\ddot{\varPhi }_{d}  K_{v,1} \left( {\dot{\varPhi }  \dot{\varPhi }_{d} } \right)  K_{P,1} \left( {\varPhi  \varPhi_{d} } \right)} \right] + D^{  1} H\left( { \varPhi , \dot{\varPhi }} \right) + D^{  1} G\left( \varPhi \right)$$
(26)
The jerk optimal algorithm
In this section, we propose a new algorithm for the jerk optimal control different from those of the pointtopoint and viaPoint conventional approaches. The different steps composing the proposed algorithm for the case study of the bipedal robot for which the swing foot must follow the semi elliptic trajectory are described below:

i.
For desired initial and final Cartesian positions of the toe of the swing foot, compute the initial joint position vector ϕ
_{
in
} and the final joint position vector ϕ
_{
f
} using the inverse kinematic model (5).

ii.
Generate the polynomial trajectories \(\phi_{a}\), \(\dot{\phi }_{a}\) and \(\ddot{\phi }_{a}\) described by (18–20) using the PointtoPoint method according to the relation (11).

iii.
Generate the semiellipsoidal Cartesian trajectories, according to relations (9–11).

iv.
Generate the desired joint trajectories \(\phi_{d}\), \(\dot{\phi }_{d}\) and \(\ddot{\phi }_{d}\) using (4–6).

v.
Compute the jerk optimal control law U(t) using (26).

vi.
Implement the control law U(t) for the free robotic system described by the dynamical model (1).

vii.
Generate the Cartesian trajectories Xt) and \(\dot{X}\)(t) by applying the direct kinematic model (2) and the differential kinematic model (3). ϕ(t) and \(\dot{\phi }\)(t) are supposed to be measured via online sensors.
Steps iii to vii must be applied at every time iteration. Figure 1 explains necessary steps for the achievement of the jerk control approach.
The differences between the proposed approach and the conventional ones can be summarised as follows: first, the reference trajectory of the swing foot is planned in the Cartesian space with constraints on positions, velocities and accelerations at every time iteration whereas for the pointtopoint method constraints are to be found only at the boundary conditions and for the viapoint method these constraints must also include intermediary positions, their velocities and their accelerations. Moreover, the proposed approach uses a trigonometric expression of desired trajectories that depends on a fifth order polynomial instead of just having recourse to a fifth order polynomial as done for the conventional approaches.
The proposed method of optimal jerk control is designed in order to reduce significantly the time of implementation. As trajectories are planned in the Cartesian space system whereas control laws are expressed in the joint space, it does combine benefits of trigonometric and polynomial functions. Indeed, trigonometric functions require fewer resources for real time implementation whereas polynomial functions give smoother dynamics and fewer vibrations.