Skip to main content

An optimal jerk-stiffness controller for gait pattern generation in rough terrain


In this paper, an optimal jerk stiffness controller is proposed to produce stable gait pattern generation for bipedal robots in rough terrain. The optimal jerk controller is different from the point-to-point and via-Point conventional approaches as trajectories are planned in the Cartesian space system whereas control laws are expressed in the joint space. Its major contribution resides in the generation of stable semi elliptic Cartesian trajectories during the swing phase that do combine benefits of trigonometric and polynomial functions. The stiffness controller is designed without gravity compensation and ensures for the robotic system elastic and stable contact forces with the ground during the impact and the double support phases. Not only, the control strategy proposed needs very few sensors to be implemented but also it ensures robustness to sensory noise and safety with rough terrain. Simulation performed on a 12 DOF bipedal robot shows the performances of the control laws combined to produce a 3D stable walking cycles without shaking in uneven terrain.


Prospective gait pattern generation is one of the main challenges of research dedicated to bipedal and humanoid robots. A typical walking cycle includes three main stages: the single support phase (SSP), the impact phase (IP) and the double support phase (DSP). The SSP occurs when one limb is pivoted to the ground while the other is swinging from the rear to the front. The IP occurs when the toe of the forward foot starts touching the ground. The impact between the toe of the swing leg and the ground takes place during an infinitesimal length of time. Finally, the DSP occurs when both limbs remain in contact with the ground. During the SSP, the robotic system is described by a free dynamic model while IP and DSP phases represent the constrained dynamic model.

In the last decades, many control techniques have been investigated to produce human-like walking gaits mainly based on the inverted pendulum principle [1]. During the SSP, several optimal control laws have been also proposed. Criteria to be optimized are often the energy consumption [2], the falling measure [3], the ZMP [4] and the jerk [5]. Focusing on the jerk criterion, the correspondent optimal control law has many benefits. Its main involvement resides in the generation of smooth motion trajectories in order to avoid sudden movements [6]. The optimal jerk based control techniques have affected many industrial areas such as machine tools, manufacturing, and robotics [711]. However, for the selection of mathematical function to describe desired trajectories to be tracked, there are divided opinions between researches selecting polynomial functions [12] and, others using trigonometric functions [13, 14]. For the first case, it is proved that polynomial trajectory references are easily followed by the actuators involved. However, such approaches have certain disadvantages like the long execution time which seriously jeopardizes the possibility of real time implementation. For the second case, it is proved that the involved joints in the movement are less oscillatory when trigonometric functions are considered. Another issue raised has also divided researchers in opinion: the space on which reference trajectories must be planed (Cartesian or joint space). For example, it is showed in [15] that if the minimization problem and its solution are formulated in the joint space, only physical limitations of the joint actuators will be included in the constraint statements. However, in a realistic environment, obstacles exist and cause changes in the trajectory direction. Actually, generating reference trajectories may be done whether in the joint or Cartesian space. The space’s choice should only be determined according to the constraints and the shape of the desired trajectory.

On the other hand, to produce stable and safe contact with the ground during the IP and DSP, a number of control techniques can be used to solve the force/position control problem [16]. The active stiffness approach, originally proposed by Salisbury in [17], can be adopted. Its goal is to establish a dynamic relation between the end-effector position and the contact force. Such control approach has the advantage to provide elastic contact with the constrained environment while requiring very little sensors. Unfortunately, it generally suffers of lack of precision and robustness. Recently, several research papers have proposed some improvements to overcome such problems [1820].

In this paper, the major contribution lies in the proposal of two control laws combined to produce 3D safe walking cycles: An optimal jerk controller during the SSP and an active stiffness controller law without gravity compensation during the constrained phases. The resulting control approach guarantees a stable and safe gait pattern generation without vibration and shaking even in presence of sensory noise and rough terrain.

This paper is organised as follows: In ‘‘The robotic model” section, the robotic model during the SSP, the IP and the DSP is described. ‘‘The 3D desired trajectory of the swing foot” section presents the 3D desired trajectory of the swing foot during the SSP. Jerk optimal control and Stiffness control laws are designed in ‘‘Jerk optimal control” section and ‘‘Active stiffness controller” section, respectively. Finally, simulation results performed on a 12 DOF bipedal robot are given in ‘‘Simulation results” section.

The robotic model

During the SSP, the bipedal model of the robot is described by:

$$M(\varPhi )\ddot{\varPhi } + H( \varPhi , \dot{\varPhi }) + G(\varPhi ) = DU$$

where \(\varPhi , \dot{\varPhi },\ddot{\varPhi } \in R^{n}\) are the joint position vector, the joint velocity vector and the joint acceleration vector, respectively.\(M\left( \varPhi \right)\) is the inertia matrix, \(H\left( { \varPhi , \dot{\varPhi }} \right)\) is the vector of the Coriolis and centripetal forces and G(Φ) is the gravity vector. The matrix \({\text{D }}\) is a nonsingular input map matrix whereas U is the control input vector. Moreover, we assume that the input matrix is always nonsingular when the supporting foot makes flat contact with the ground and that the contact force is always feasible.

The kinematic and the differential kinematic models of the bipedal robot are given by:

$$X = f\left( \varPhi \right)$$
$$\dot{X} = J \dot{\varPhi }$$

where \(X,\dot{X} \in R^{3}\) are the swing foot Cartesian position and velocity vectors, respectively, f(Φ) is a vector of nonlinear functions obtained using Euler’s transformation principle of the Cartesian position of the swing foot of the bipedal robot from the body coordinate system to the inertial coordinate one and J is the Jacobian matrix.

Using (3), the inverse differential kinematic model is given by:

$$\dot{\varPhi } = J^{ + } \dot{X}$$

whereas the inverse kinematic model is approximately deduced as:

$$\varPhi \approx J^{ + } \left( {X - X_{d} } \right) + \varPhi_{d}$$

where J + is the pseudo-inverse of the Jacobian matrix, \(\varPhi_{d }\) and \(X_{d } \in R^{3}\) are the desired joint position vector and the desired Cartesian position vector for the swing foot, respectively. Using (3) and (4), we can write that:

$$\ddot{\varPhi } = J^{ + } \left( {\textit{\"{X}} - \dot{J}\dot{\varPhi }} \right)$$

where \(\dot{J}\) is defined as:

$$\dot{J} = \frac{dJ}{dt}$$

During the IP and DSP phases, the bipedal model is described by:

$$M\left( \varPhi \right)\ddot{\varPhi } + H\left( { \varPhi , \dot{\varPhi }} \right) + G\left( \varPhi \right) = DU + J^{T} F$$

where F is the contact force with the ground. It is also assumed that the IP takes place in an infinitesimal time interval.

The 3D desired trajectory of the swing foot

In order to emulate the model of human walking, we will impose to the swing foot of the bipedal robot to follow a path similar to the one generated by the human foot when performing a walking step. We propose a semi-elliptical trajectory in the sagittal plane as the desired Cartesian position \(X_{d } = \left[ {x_{d }\quad y_{d }\quad z_{d } } \right]^{T}\) of the toe of the swing foot is described by:

$$\left\{ {\begin{array}{*{20}l} { x_{d }= u + a\cos \left( {d\varPhi_{a} + \pi } \right)} \\ {y_{d } = c } \\ { z_{d } = v + b\sin (d\varPhi_{a } + \pi )} \\ \end{array} } \right.$$

\(\varPhi_{a } \in R\) is the joint position of the swing foot ankle. Parameter a represents a half step length whereas b represents the maximum height of the step. The parameter c defines the distance between the two legs. Parameter d is a multiplier used in order to increase the variation range of the variable \(\varPhi_{a }\). The pair (u, v) represents the initial coordinates of the center of the ellipse in the sagittal plane. The desired velocities of the ankle joint in the Cartesian space are then deduce:

$$\left\{ {\begin{array}{*{20}l} {\dot{x}_{d } = - a d\dot{\varPhi }_{a } \sin \left( {d\varPhi_{a } + \pi } \right)} \\ {\dot{y}_{d } = 0 } \\ {\dot{z}_{d } = bd\dot{\varPhi }_{a } cos\left( {d\varPhi_{a} + \pi } \right) } \\ \end{array} } \right.$$

whereas the desired Cartesian accelerations of the ankle joint are deduced as:

$$\left\{ {\begin{array}{*{20}l} {\textit{\"{x}}_{d } = - a\left( {d\dot{\varPhi }_{a} } \right)^{2} \cos \left( {d\varPhi_{a} + \pi } \right) - ad\ddot{\varPhi }_{a } \sin \left( {d\varPhi_{a} + \pi } \right)} \\ {\textit{\"{y}}_{d } = 0 } \\ {\textit{\"{z}}_{d } = - b\left( {d\dot{\varPhi }_{a} } \right)^{2} sin(d\varPhi_{a} + \pi ) + bd\ddot{\varPhi }_{a } cos(d\varPhi_{a} + \pi )} \\ \end{array} } \right.$$

Jerk optimal control

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} }}$$

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$$

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$$

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$$

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$$

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$$

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}$$

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}$$
$$\ddot{\varPhi }\left( t \right) = 20a_{5} t^{3} + 12a_{4} t^{2} + 6a_{3} t + 2a_{2}$$

To compute the parameters a 0 … a 5, two main methods are used in the literature: The Point-to-point method [22] and the Via-point 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)$$

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 via-point 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)$$

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$$

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 closed-loop performance, we must select:

$$K_{p,1} = diag \left[ {\lambda^{2} } \right]$$
$$K_{v,1} = diag [2 \lambda ]$$

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)$$

The jerk optimal algorithm

In this section, we propose a new algorithm for the jerk optimal control different from those of the point-to-point and via-Point 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:

  1. 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).

  2. ii.

    Generate the polynomial trajectories \(\phi_{a}\), \(\dot{\phi }_{a}\) and \(\ddot{\phi }_{a}\) described by (1820) using the Point-to-Point method according to the relation (11).

  3. iii.

    Generate the semi-ellipsoidal Cartesian trajectories, according to relations (911).

  4. iv.

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

  5. v.

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

  6. vi.

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

  7. 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.

Fig. 1
figure 1

The minimum jerk based control approach during the swing phase

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 point-to-point method constraints are to be found only at the boundary conditions and for the via-point 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.

Active stiffness controller

The instability and the high shaking during a walking cycle are central issues when dealing with bipedal robots especially when the impact with the ground occurs. Both instability and high shaking are largely the result of the reproduction of impact-contact forces during the IP and DSP. The impedance and the stiffness control laws can give a solution for such force/position control problem and ensure a stable motion of the bipedal robot. Using an impedance controller to generate a walking cycle, as proposed in [24], imposes for the implementation of the control law the availability of force, acceleration and gravity sensors. However, it is well known that this type of sensors can cause many problems related to precision and sensibility to noise measurements. To overcome these locks, we propose in this section an alternative solution: A stiffness controller without gravity compensation requiring only position and velocity sensors. To ensure an elastic and robust contact with the ground by eliminating the gravity term from the control law, we impose the following virtual model for the contact force:

$$F = K_{d} \left( {X_{d} - X} \right) + \left( {J^{\text{T}} } \right)^{ + } G\left( \varPhi \right)$$

where K d \(\in R^{3 \times 3}\) is the stiffness matrix and \(\left( {J^{\text{T}} } \right)^{ + }\) is the pseudo-inverse of the transpose Jacobian matrix of the bipedal robotic system at the contact point. Expressing F in the joint space, we get:

$$F = K_{d } J\left( {\varPhi_{d} - \varPhi } \right) + \left( {J^{\text{T}} } \right)^{ + } G\left( \varPhi \right)$$

Let impose, now, to the constrained bipedal robotic model (8) to follow the following stable second order linear input–output behaviour:

$$\left( {\ddot{\varPhi } - \ddot{\varPhi }_{d} } \right) + K_{v,2} \left( {\dot{\varPhi } - \dot{\varPhi }_{d} } \right) + K_{P,2} \left( {\varPhi - \varPhi_{d} } \right) = 0$$

where \(K_{p,2} \in R^{n \times n}\) and \(K_{v,2} \in R^{n \times n}\) are two positive definite diagonal matrices chosen to guarantee global stability, desired performances and decoupling proprieties for the controlled constrained system (8). Using (28) in (8), we get:

$$M\left( \varPhi \right)\ddot{\varPhi } + H\left( { \varPhi , \dot{\varPhi }} \right) = DU - J^{\text{T}} K_{d} J\left( {\varPhi - \varPhi_{d} } \right)$$

The control law of the bipedal robot during the constrained phases is deduced as:

$$U = D^{ - 1} (J^{\text{T}} K_{d} J - M\left( \varPhi \right) K_{p,2} )\left( {\varPhi - \varPhi_{d} } \right) - D^{ - 1} M\left( \varPhi \right)K_{v,2} .\dot{\varPhi } + D^{ - 1} H\left( { \varPhi , \dot{\varPhi }} \right)$$

The control law (31) is then designed such that the common gravity compensation term found in many research works in the literature is eliminated thanks to the contact force virtual model proposed in (28). This further gives more robustness to the control law. The control law (31) has also the advantage to reduce the number of sensors. To be implemented, it is clear that only position and velocity sensors are needed.

Finally, to achieve a walking cycle and produce alternate footsteps, the minimum jerk controller (26) and the active stiffness controller (31) are combined to switch successively between the SSP described by the robotic model (1), and the IP and DSP described by the constrained robotic model (8).

Simulation results

Simulation results are carried out using the three dimensional model of a 12 DOF bipedal robot described by the robotic dynamical models established in [25], the kinematic model described in [26] for the physical parameters given in Table 1. The initial and the final Cartesian positions are chosen, respectively, as follows:

$$X_{in} = [ 0\quad 0.53\quad 0 ]^{T} ,\;\;X_{d} = \left[ {0.35\quad 0.53\quad 0} \right]^{T}$$
Table 1 Physical parameters of the robot

The initial posture of the bipedal robot is shown in the 3D space by Fig. 2. The bipedal robot evolves in rough terrain characterized by the nonlinear stiffness parameter described by:

$$K_{d} = \left[ {1 + 500 \sin \left( {\text{t}} \right)} \right] \;diag\;[\begin{array}{*{20}c} {{\text{k}}_{\text{d}} } &\, {{\text{k}}_{\text{d}} } &\, {{\text{k}}_{\text{d}} } \\ \end{array} ]$$

where kd = 2000. Furthermore, we consider a Gaussian noise of 0.01° mean and 0.01° standard deviation for the joint position measurements and 0.02° s−1 mean and 0.02° s−1 standard deviation for the joint velocity measurements. To generate a semi-elliptical trajectory in the sagittal plane similar to a walking step of 0.5 s duration, parameters involved in the 3D Cartesian desired trajectory (9) take the values given in Table 2.

Fig. 2
figure 2

Initial posture of the bipedal robot in the 3D space

Table 2 Parameters of the cartesian desired trajectory

Position and velocity gain matrices related to the global stability conditions of the desired dynamics (23) and (29) are, respectively satisfied by choosing:

$$K_{p,1} = 625 I_{12} ,\quad\,K_{v,1} = 50 I_{12}$$
$$K_{p,2} = 10^{4} I_{12} ,\quad\;K_{v,2} = 200 I_{12}$$

where \(I_{12}\) is the identity matrix of twelve order.

Due to very small changes of the Cartesian component along the y-axis, only the evolution of variables in the x and z axis are presented. The Cartesian components along x and z axis of the swing foot during a walking step are emphasized by Fig. 3 whereas Fig. 4 shows the evolution of the ground reaction force. Figure 5 shows involved control laws during the same walking step where U11 and U12 are defined as the output of ankle joints. Finally, Fig. 6 presents a gait pattern generation composed by three steps.

Fig. 3
figure 3

Real cartesian components of the swing foot during a walking step

Fig. 4
figure 4

Vertical component of the ground reaction force during a walking step

Fig. 5
figure 5

Control laws located of the ankle joint of the swing foot during a walking step

Fig. 6
figure 6

Gait pattern generation during a walking cycle in a rough terrain

Simulation results emphasize the efficiency of the control laws as perturbations and rough terrain have no effect on the bipedal robot trajectory. Compared to previous work found in [24], not only fewer sensors are needed in the implementation of the control laws but the semi-elliptical trajectory duration has been also improved to 0.5 s. It corresponds to an enhanced velocity of the bipedal robot of 0.75 m s−1. Also, an elastic and robust contact with the ground is ensured. This was not guaranteed with the impedance control law.


To produce a path similar to the one generated by a human foot when performing a walking cycle by a bipedal robot, we have proposed, in this paper, a specific walking control strategy using an optimal jerk and an active stiffness controllers based only on position and velocity sensors. Simulation results performed on a 12 DOF bipedal robot emphasized the efficiency of the control strategy even in presence of sensory noise and rough terrain and prove the superiority of the new algorithm regarding the step duration and the bipedal velocity compared to previous works.


  1. Boubaker O (2013) The inverted pendulum benchmark in nonlinear control theory: a survey. Int J Adv Robot Syst 10:233. Accessed May 2016

  2. Hasegawa Y, Arakawa T, Fukuda T (2000) Trajectory generation for biped locomotion robot. Mechatronics. 10:67–89. Accessed May 2016

  3. Kim B (2012) Optimal foot trajectory planning of bipedal robots based on a measure of falling. Int J Adv Robot Syst 9:172. Accessed May 2016

  4. Vladareanu L, Tont G, Ion I, Munteanu MS, Mitroi D (2010) Walking robots dynamic control systems on an uneven terrain. Adv Electr Comput Eng 10:145–152. Accessed May 2016

  5. Aloulou A, Boubaker O. Minimum jerk-based control for a three dimensional bipedal robot. In: Jeschke S, Liu H, Schilberg D (eds) Intelligent robotics and applications. Proceedings of the 4th international conference, ICIRA 2011, Aachen, Germany, December 6-8, 2011, Part II. Lecture notes in computer science, vol 7102, Springer, Berlin, Heidelberg, pp 251–262. Accessed May 2016

  6. Hogan N (1984) An organizing principle for a class of voluntary movements J Neurosci 4:2745–2754. Accessed May 2016

  7. Erkorkmaz K, Altintas Y (2001) High speed CNC system design. Part I: jerk limited trajectory generation and quintic spline interpolation. Int J Mach Tools Manuf 41:1323–1345. Accessed May 2016

  8. Perumaal SS, Jawahar N (2013) Automated trajectory planner of industrial robot for pick-and-place task. Int J Adv Robotic Syst 10:100. Accessed May 2016

  9. Gasparetto A, Zanotto V (2008) A technique for time-jerk optimal planning of robot trajectories. Robot Comput Integr Manuf 24:415–426, Accessed May 2016

  10. Mattmüller J, Gisler D (2009) Calculating a near time-optimal jerk-constrained trajectory along a specified smooth path. Int J Adv Manuf Technol 45:1007–1016. Accessed May 2016

  11. Piazzi A, Visioli A (2000) Global minimum-jerk trajectory planning of robot manipulators. IEEE Trans Ind Electron 47:140–149. Accessed May 2016

  12. Osornio-Rios RA, Romero-Troncoso RJ, Herrera-Ruiz G, Castañeda-Miranda R (2009) FPGA implementation of higher degree polynomial acceleration profiles for peak jerk reduction in servomotors. Robot Comput Integr Manuf 25:379–392. Accessed May 2016

  13. Simon D, Dan I, Isik (1991) Optimal trigonometric robot joint trajectories. Robotica 9:379–386. Accessed May 2016

  14. Nguyen KD, Ng TC, Chen IM (2008) On algorithms for planning s-curve motion profiles. Int J Adv Robot Syst 5:99–106. Accessed May 2016

  15. Kyriakopoulos KJ, Saridis GN (1988) Minimum jerk path generation. In: Proc. IEEE international conference on robotics and automation, Philadelphia, PA, USA, 1988, pp 364–369. Accessed May 2016

  16. Zeng G, Hemami A (1997) An overview of robot force control. Robotica 15:473–482. Accessed May 2016

  17. Salisbury JK (1980) Active stiffness control of a manipulator in cartesian coordinates. In: 19th IEEE Conference on decision and control including, the symposium on adaptive processes pp 95–100 Accessed May 2016

  18. Mehdi H and Boubaker O (2011) Position/force control optimized by particle swarm intelligence for constrained robotic manipulators. In: Proc. IEEE International conference on intelligent systems design and applications (ISDA 2011), Cordoba, Spain, pp 190–195. Accessed May 2016

  19. Mehdi H, Boubaker O (2012) Stiffness and impedance control using Lyapunov theory for robot-aided rehabilitation. Int J Soc Robot 4:107–119. Accessed May 2016

  20. Mehdi H, Boubaker O (2016) PSO-Lyapunov motion/force control of robot arms with model uncertainties. Robotica 34(3):634–651. doi: 10.1017/S0263574714001775. Accessed May 2016

  21. Morimoto J, Atkeson GG (2007) Learning Biped Locomotion IEEE Robot Autom Mag 14:41–51 Accessed May 2016

  22. Miyamoto H, Morimoto J, Doya K, Kawato M (2004) Reinforcement learning with via-point representation. Neural Netw 17:299–305. Accessed May 2016

  23. Piazzi AA, Visioli A (1997) An interval algorithm for minimum-jerk trajectory planning of robot manipulators. In: Proc. 36th IEEE Conference on decision and control, vol 2, pp 1924–1927 Accessed May 2016

  24. Aloulou A, Boubaker O A Minimum jerk-impedance controller for planning stable and safe walking patterns of biped robots. Mech Mach Sci 29:385–415. doi:10.1007/978-3-319-14705-5_13. Accessed May 2016

  25. Aloulou A, Boubaker O A Relevant reduction method for dynamic modeling of a seven-linked Humanoid robot in the three-dimensional space. Procedia Eng 41:1277–1284. Accessed May 2016

  26. Aloulou A, Boubaker O (2013) Model validation of a humanoid robot via standard scenarios. In: Proc. 14th International Conference on Sciences and Techniques of Automatic Control and Computer Engineering (STA 2013), pp 288–293. Accessed May 2016

Download references

Authors’ contributions

AA proposed the jerk optimal controller and carried out simulation results. OB designed the active stiffness controller. Both authors write the final manuscript. Both authors read and approved the final manuscript.

Competing interests

The authors declare that they have no competing interests.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Amira Aloulou.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Aloulou, A., Boubaker, O. An optimal jerk-stiffness controller for gait pattern generation in rough terrain. Robomech J 3, 13 (2016).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: