1 Introduction

Fast walking has always been an interesting issue for humans, and recently, with the advancement of science and technology, it became an interesting subject of study for researchers, too. Optimum path programming and finding internal dynamic effects are among interesting subjects which have been studied in this field. To study these issues, one may either use a clinical approach or develop a mathematical model and try to solve it.

Although the attained results from clinical researches in this realm provided good knowledge about the effect of speed on kinematic and kinetics parameters of motion [15]; finding optimum gait and internal dynamic effects is achievable only by a comprehensive mathematical model and an optimization study on the dynamics of a human during fast walking. Moreover, it is worthwhile to mention that parameters such as muscle forces and joint moments are not measurable through clinical tests. Hence, the necessity of the mathematical modeling to calculate these parameters appears even in clinical approaches. In parallel with the advancement of computational technology, using mathematical modeling provided a new option to reduce large expenses of clinical tests and eliminated the inaccuracies due to errors that emerge from appliances, reliability and repeatability of the clinical tests.

On the other hand, in using mathematical approaches, serious challenges emanate from complicated musculoskeletal and redundant actuator system of human walking. As a result, a biped robot model can always be considered as a simplified model of a human. Indeed, robotic science built a bridge for better understanding of the human movement mechanism. Modeling and analysis of a simple 2D uncontrolled two-link model [6] can be addressed as a primitive example which provided a good biomechanical insight despite simplicity.

In the current problem, in spite of complexity caused by the redundancy in degrees of freedom and redundancy of joint actuators, the problem could be simplified by considering the fact that walking is a process in which a human moves forward his hip joint in a stable and fashionable manner in sagittal plane. Thus, one may solve this problem in two steps as follows: (i) find a stable and suitable gait of natural walking, (ii) develop a mathematical framework to model the one degree of freedom optimization problem of walking, and solve this problem with the specified gait to find the minimum time profile of motion of the hip joint in the sagittal plane. In other words, one may think of this problem as forcing a particle located at the point \(H\) (Fig. 1) to move on the specified path as fast as possible. Such motion is obviously subjected to the constraints which are enforced by driving force limits and stability criteria. One should note that although the pattern of motion is known, the speed of the hip joint along its trajectory is a free parameter which could be optimized to obtain the maximum achievable speed.

Fig. 1
figure 1

Schematic of a nine-link model of planar biped with motion of hip joint on a prescribed motion

This optimization problem, which is a nonlinear dynamic programming problem, could be solved either by a parametric optimization method or an analytical one. In the first approach, the biped motion is defined as a parametric function of time which is optimized by a search algorithm [7]. In the second approach, the problem is demonstrated as a time optimal control problem [8]. Although the high computation potential of digital computers has made it possible to use more complicated methods for optimization nowadays, the first approach does not provide a good insight in to all aspects of the problem such as critical constraints in each part of the whole step; whereas the latter approach can create a strong platform to solve the time optimal problem and take any type of constraints in to account. Thus, the second approach is a good candidate for the current problem.

To solve the minimum time problem with the second approach, Pontryagin’s method [9] is a basic tool; however, there is no guarantee for convergence of the solution especially for the systems with highly nonlinear equations of motion such as a robotic system [10]. The problem is even more complicated for bipedal walking model due to some additional intricacies which make it difficult, if not impossible, to solve the multi-phase nonlinear optimization problem with shooting method. The main complexities can be addressed as follows:

  1. 1.

    Bipedal walking, in each step, has different phases with different sets of equations of motion in each phase.

  2. 2.

    Initial and final conditions of each phase, which are responsible for providing the periodicity, are unknown values.

To overcome the incompetency of Pontryagin’s method and solve such a problem, Sadigh and Mansouri [11] used a time optimal approach based on phase plane analysis to solve the minimum time problem for a seven-link planar biped model. Their novel method was based on the time optimal approach which was first introduced by Bobrow et al. [10] for serial manipulators. Taking advantage of this method, they investigated the highest achievable speed of a biped robot during one step including single support phase (SSP) and double support phase (DSP). The present study is an extension of the proposed method in [11] to develop a mathematical framework for time optimal solution of human walking, which is quite different in details from a biped robot and essential major modifications are needed to modify the mentioned method for the human walking problem.

Sadigh and Mansouri [11] designed simple polynomial trajectories for their biped model. They also assumed that the stance leg foot is flat during a single support phase. Although these trajectories were completely acceptable for robot walking, such a pattern of motion is absolutely rudimentary for human walking. Moreover the actuator limits of the biped robot were considered to be constant (i.e., independent of angular position and angular velocity of joints). This assumption is also not compatible with the nature of muscle driven joints in a human walking system.

Therefore, to modify the model, one might consider that the human pattern of motion in the sagittal plane does not follow a simple polynomial pattern. Precise observation of the natural pattern of motion of a human indicates that the effect of foot rotation during the single support phase of human walking cannot be ignored. Hence, a definition of toe link is necessary in order to consider the foot rotation phase. As a result, a nine-link model is used in the present study instead of a seven-link model to incorporate foot rotation and natural pattern of human walking. Furthermore, the characteristics of the muscle driven actuator system of a human must be taken into account. In the muscle driven actuating system of a human, unlike the robot actuator system, the maximum voluntary joint torque depends on angular position and angular velocity [12]. Serious challenges in the phase plane method emanate from this phenomenon, which are specified and resolved here to employ the natural features of human walking in the current model.

This paper is an effort to provide a mathematical model for time optimal solution of human walking. The proposed model is used to solve a typical example of 2D human walking to reach maximum achievable speed. The results of this study shed some light to the human dynamics during time optimal motion. Identifying joints which play a significant role to achieve maximum speed has important implications in improving an athlete’s performance and rehabilitation of subjects with lower limb disabilities. Moreover, the proposed mathematical framework can be used as a tool to study the behavior of a human joint under fast walking with different environmental conditions or malfunctions such as amputations.

2 Mathematical modeling

In order to achieve the objective of this paper, choosing a proper model is essential. The main characteristics that one might consider in modeling and analysis of human gait are anthropometry of a normal human, pattern of motion, dynamic equations of motion, and various enforced constraints. This section covers the main characteristics of such a system.

2.1 General properties of the model

Considering the purpose of this study, we used a nine-link model of a planar biped as a simplified model of human walking. The model, as shown in Fig. 1, includes one trunk and two legs with four joints of hip, knee, ankle, and toe in each leg. The trunk link represents the pelvis, torso, head, and arms in a human. One may define the motion by a vector of generalized coordinates \(\mathbf{q} =[ q_{1}\ q_{2}\ \ldots\ q_{8}\ q_{9}\ x\ z]^{\mathrm{T}}\) with 11 degrees of freedom (DOF). It is assumed that the motion is confined in the sagittal plane.

2.2 Pattern of motion

In the field of human walking, unlike a biped robot motion, trajectory design or path planning is a futile issue. Studies show that a normal human selects special pattern of motion in order to walk efficiently [1]. In other words, dorsiflexion and plantar flexion of ankle, flexion and extension of knee and hip, and trunk tilt during normal walking are distinctive; so the value of generalized coordinates vector \(\mathbf{q}\), which records the absolute angular position of the joints, can be calculated from these values. Figure 2 illustrates the typical pattern of motion for various joints. The mean value of the trunk, hip, knee, and ankle ranges of motion [1] are used for calculation of the generalized coordinates and defining a natural pattern of motion during one step. Fourier series of order 8 are utilized for accurate curve fitting of data.

Fig. 2
figure 2

Hip, knee, ankle and trunk ranges of motion [1]

A simplified gait of walking can be divided into two main phases; Double Support Phase (DSP) in which the system has a closed-chain configuration and Single Support Phase (SSP) in which the system has an open-chain configuration. DSP starts with the heel strike of the front foot while the rear foot is also in contact with the ground. As soon as the rear foot leaves the ground, DSP ends and SSP starts until the rear foot swings forward and reaches the ground for the beginning of the next step. In this definition, it is assumed that the foot of stance leg is flat during the entire SSP.

The angle variation of stance foot sole relative to the ground (i.e., \(q_{2}\)) during SSP indicates that \(q_{2}\) is zero during some percentage of SSP and then increases to a certain value before termination of SSP. It means that the stance foot is not always flat during SSP and it experiences heel lift and rotation around the toe joint before the end of the single support phase (heel to toe walking pattern). The above observation highlights the significance of toe link and foot rotation subphase for the modeling of human walking. This fact is stipulated also by Vukobratovic et al. [13] in their suggestions for rigorous modeling of human movement. Therefore, to impose the effect of foot rotation, we considered the single support phase as two subphases: the single support phase with flat foot (SSP_FF) in which foot sole supports the whole body and the single support phase with foot rotation around the toe joint (SSP_FR) in which the toe link is flat on the ground during this subphase, supporting the whole body. It is assumed that the effect of toe link during the motion of swing leg is negligible.

Hence, by considering a nine-link planar biped model and the natural pattern of motion as mentioned above, one might enforce the kinematic characteristic of the desired motion to the model.

2.3 Equations of motion

During the double support phase, the system has a closed-chain configuration and the heel of the front foot is in contact with the ground (Fig. 3). Since the toe of front foot plays no important role in the sagittal plane during this phase, the whole foot of the front leg can be considered as a rigid body (i.e., \(q_{1} = q_{2}\)). It is also assumed that the toe link of the rear foot is flat on the ground (i.e., \(q_{9} =0\)). Hence the motion can be defined with nine generalized coordinates \(\mathbf{q} =[ q_{2}\ q_{3}\ \ldots\ q_{7}\ q_{8}\ x\ z]^{\mathrm{T}}\) which are constrained with four holonomic constraints as follows:

$$ \boldsymbol{\varphi} ( \mathbf{q} ) = \left [ \textstyle\begin{array}{c} x_{B} - c_{1}\\ z_{B}\\ x_{C} - c_{2}\\ z_{C} \end{array}\displaystyle \right ] = \boldsymbol{0}. $$
(1)

The contact forces are given as

$$ \mathbf{F} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} F_{B}^{x} & F_{B}^{Z} & F_{C}^{x} & F_{C}^{Z} \end{array}\displaystyle \right ]^{\mathrm{T}} $$
(2)

where subscripts \(B\) and \(C\) stand for the heel of the front foot and the toe joint of the rear foot, respectively. \(c_{1}\) and \(c_{2}\) are constants that respectively depict the horizontal position of points \(B\) and \(C\) in an inertial coordinate system.

Fig. 3
figure 3

Holonomic constraints and contact forces during DSP

When the toe of the rear foot leaves the ground, the single support phase starts (Fig. 4). In this phase, the system converts to an open-chain tree-like configuration. As mentioned earlier, during the first subphase at SSP the foot is flat and the effect of toe (i.e., \(q_{1}\) and \(q_{9}\)) is insignificant. Hence three holonomic constraints and contact forces during SSP_FF with a generalized vector of \(\mathbf{q} =[q_{2}\ q_{3}\ \ldots\ q_{7}\ q_{8}\ x\ z]^{\mathrm{T}}\) are as follows:

$$ \boldsymbol{\varphi} ( \mathbf{q} ) = \left [ \textstyle\begin{array}{c} z_{A}\\ z_{B}\\ x_{B} - c_{3} \end{array}\displaystyle \right ] = \boldsymbol{0}, $$
(3)

in which subscripts \(A\) and \(B\) stand for the toe and heel of the stance leg, respectively, and \(c_{3}\) is a constant. The distributed force applied on the foot of the stance leg can be replaced by two normal forces at the toe (\(F_{A}^{Z}\)) and heel (\(F_{B}^{Z}\)) as well as a tangential force (\(F_{AB}^{x}\)). Therefore, the contact forces during this phase are defined as

$$ \mathbf{F} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} F_{A}^{Z} & F_{B}^{Z} & F_{AB}^{x} \end{array}\displaystyle \right ]^{\mathrm{T}}. $$
(4)
Fig. 4
figure 4

Holonomic constraints and contact forces during SSP_FF

In the single support phase, there is a moment when the heel of the stance foot leaves the ground and the foot starts to rotate around the toe joint. We called this subphase SSP_FR (Fig. 5). The holonomic constraints and contact forces in this subphase are similar to SSP_FF. However, one additional degree of freedom is needed to describe the motion in this subphase. In this situation, the toe link, instead of the whole foot, is supporting the body. Three holonomic constraints and contact forces for ten generalized coordinates of \(\mathbf{q} =[ q_{1}\ q_{2}\ \ldots\ q_{7}\ q_{8}\ x\ z]^{\mathrm{T}}\) can be derived as follows:

$$ \boldsymbol{\varphi} ( \mathbf{q} ) = \left [ \textstyle\begin{array}{c} z_{A}\\ z_{A '}\\ x_{A} - c_{4} \end{array}\displaystyle \right ] = \mathbf{0}, $$
(5)
$$ \mathbf{F} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} F_{A}^{Z} & F_{A '}^{Z} & F_{AA '}^{x} \end{array}\displaystyle \right ]^{\mathrm{T}}, $$
(6)

in which subscripts \(A\) and \(A '\) stand for the toe joint and tip toe of the stance leg, respectively. The effect of toe in the swing foot is ignored in this subphase similar to the SSP_FF.

Fig. 5
figure 5

Holonomic constraints and contact forces during SSP_FR

The equations of motion for the proposed model can be written in the general form for the above phases as

$$ \mathbf{M} ( \mathbf{q} ) \ddot{\mathbf{q}} + \mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}} ) = \mathbf{B}\boldsymbol{\tau} + \mathbf{J}^{\mathrm{T}} \mathbf{F} $$
(7)

where for DSP, \(\mathbf{M} ( \mathbf{q} )\) is a \(9 \times 9\) symmetric inertia matrix, \(\mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}} )\) is a \(9 \times 1\) array representing Coriolis, gravitational and centrifugal terms, \(\mathbf{B}\) is a \(9 \times 7\) matrix, and \(\boldsymbol{\tau}\) is a \(7 \times 1\) vector of input torques related to the hip, knee, ankle of both legs, and toe of the rear leg. It is noteworthy to mention that the dimensions of the above matrices are different during various phases of motion, which implies that we confront three different sets of equations of motion during DSP, SSP_FF, and SSP_FR. During SSP_FF, \(\mathbf{M} ( \mathbf{q} )\) is \(9 \times 9\), \(\mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}})\) is \(9 \times 1\), \(\mathbf{B}\) is \(9 \times 6\), and \(\boldsymbol{\tau}\) is a \(6 \times 1\) vector of input torques related to the hip, knee, and ankle of both legs. For the foot rotation subphase, \(\mathbf{M} ( \mathbf{q} )\) is \(10 \times 10\), \(\mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}} )\) is \(10 \times 1\), \(\mathbf{B}\) is \(10 \times 7\), and \(\boldsymbol{\tau}\) is a \(7 \times 1\) vector of input torques related to the hip, knee, ankle of both legs, and the toe joint of the stance foot. In these equations, the matrix \(\mathbf{J} = \partial \boldsymbol{\varphi} / \partial \mathbf{q}\) depicts the Jacobian of holonomic constraints due to the contact with the ground and \(\mathbf{F}\) is the vector of contact forces in each phase, introduced by Eqs. (2), (4) and (6) for DSP, SSP_FF and SSP_FR, respectively. Consequently, the dimensions of \(\mathbf{J}\) and \(\mathbf{F}\) for DSP are \(4 \times 9\) and \(4 \times 1\), respectively. For SSP_FF, \(\mathbf{J}\) is \(3 \times 9\) with corresponding \(3 \times 1\) vector \(\mathbf{F}\), and finally, \(\mathbf{J}\) is \(3 \times 10\) and \(\mathbf{F}\) is \(3 \times 1\) during SSP_FR.

2.4 Stability

As defined in [1], “walking uses a repetitious sequence of limb motion to move the body forward while simultaneously maintaining stance stability”. Therefore, it is obvious that stability is an indispensable part of human walking. It is noteworthy to emphasize that by stability in this context we mean maintaining dynamic balance and walking without any slippage between the foot and the ground.

In the current study, the Zero Moment Point (ZMP) criterion is used to maintain dynamic balance during walking. The zero moment point is the point on the ground where the moment of all gravitational and inertial forces acting on the system is zero. Maintaining this point within the supporting polygon can assure dynamic balance [14]. Furthermore, it is desired to have a swing leg motion in such a way that there would always be enough normal force applied to the stance leg to prevent slippage.

In DSP, if \(x_{C} \leq x_{\mathrm{ZMP}} \leq x_{B}\) (Fig. 3) the ZMP criterion is satisfied. Thus, the dynamic balance and prevention from slippage can be stated as

$$ \left \{ \textstyle\begin{array}{l} \mu F_{B}^{z} \geq \bigl\vert F_{B}^{x} \bigr\vert ,\\ \mu F_{C}^{z} \geq \bigl\vert F_{C}^{x} \bigr\vert . \end{array}\displaystyle \right . $$
(8)

The above relations can be shown in the following general form:

$$ \mathbf{DF} \geq 0, \quad \mathbf{D} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c@{\quad}c} 1 & \mu & 0 & 0\\ - 1 & \mu & 0 & 0\\ 0 & 0 & 1 & \mu\\ 0 & 0 & - 1 & \mu \end{array}\displaystyle \right ], $$
(9)

in which \(\mathbf{F}\) is a vector of contact forces specified by Eq. (2).

During SSP_FF, \(x_{B} \leq x_{\mathrm{ZMP}} \leq x_{A}\) ensures dynamic balance. This is equivalent to having positive normal forces at contact points \(A\) and \(B\) (Fig. 4). Hence the stability conditions are defined as

$$ \left \{ \textstyle\begin{array}{l} F_{A}^{Z} \geq 0,\\ F_{B}^{Z} \geq 0,\\ \mu \bigl( F_{A}^{Z} + F_{B}^{Z} \bigr) \geq \bigl\vert F_{AB}^{x} \bigr\vert . \end{array}\displaystyle \right . $$
(10)

Similar to the previous phase, these conditions can be rewritten in the form of \(\mathbf{DF} \geq 0\). However, \(\mathbf{F}\) is the ground reaction forces defined in Eq. (4) and

$$\mathbf{D} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1 & 0 & 0\\ 0 & 1 & 0\\ \mu & \mu & 1\\ \mu & \mu & - 1 \end{array}\displaystyle \right ]. $$

During SSP_FR, the ZMP criterion is satisfied when \(x_{A} \leq x_{\mathrm{ZMP}} \leq x_{A '}\) (Fig. 5). The inequality conditions for the contact forces of the toe link according to Eq. (6) can be written similarly in the form of Eq. (10) as follows:

$$ \left \{ \textstyle\begin{array}{l} F_{A '}^{Z} \geq 0,\\ F_{A}^{Z} \geq 0,\\ \mu \bigl( F_{A}^{Z} + F_{A '}^{Z} \bigr) \geq \bigl\vert F_{A A '}^{x} \bigr\vert . \end{array}\displaystyle \right . $$
(11)

Equation (11) can be rewritten for \(\mathbf{F}\), which is defined by (6), in the form of \(\mathbf{DF} \geq 0\), in which

$$\mathbf{D} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} 1 & 0 & 0\\ 0 & 1 & 0\\ \mu & \mu & 1\\ \mu & \mu & - 1 \end{array}\displaystyle \right ]. $$

2.5 Maximum torque of joints

One of the important factors that limits the speed of walking is human muscle strength. This factor is a fundamental component of human physical capabilities. Human strength has been interpreted by different expressions such as maximum weight lifted and angle-specific or non-angle specific isometric or isokinetic torques [1518]. In order to truly predict the behavior of joint torques, choosing the expression that comprises the main characteristics of muscle driven actuation system is essential. Due to muscle force–length relations and force–velocity relations, maximum voluntary joint torques changes substantially with the joint angle and angular velocity. Hence, a mathematical model proposed by Anderson et al. [12] that provided practical estimation of maximum voluntary joint torque of hip, knee, and ankle flexion/plantar flexion and extension/dorsiflexion during eccentric or concentric motion of the limbs is used here.

They introduced maximum torque of a joint as the sum of passive and active torques as follows:

$$ \tau_{\mathrm{joint}} = \tau_{\mathrm{passive}} + \tau_{\mathrm{active}}, $$
(12)

in which

$$ \tau_{\mathrm{passive}} = B_{1} e^{k_{1} \theta} + B_{2} e^{k_{2} \theta}, $$
(13)
$$ \tau_{\mathrm{active}} ( \theta, \dot{\theta} ) = \left \{ \textstyle\begin{array}{l@{\quad}l} C_{1} \cos ( C_{2} ( \theta - C_{3} ) ) (\frac{2 C_{4} C_{5} + \dot{\theta} ( C_{5} - 3 C_{4} )}{2 C_{4}C_{5} + \dot{\theta} ( 2 C_{5} - 4 C_{4} )} ) , & \dot{\theta}\geq 0, \\ C_{1} \cos ( C_{2} ( \theta - C_{3} ) ) ( \frac{2 C_{4} C_{5} - \dot{\theta} ( C_{5} - 3 C_{4} )}{2 C_{4} C_{5} - \dot{\theta} ( 2 C_{5} - 4 C_{4} )} ) ( 1 - C_{6} \dot{\theta} ), & \dot{\theta} < 0, \end{array}\displaystyle \right . $$
(14)

where passive torques, \(\tau_{\mathrm{passive}}\), are produced by tension developed, while muscle tissue, tendons and ligaments are stretched and active torques, \(\tau_{\mathrm{active}}\), are the product of moment arm and muscle forces calculated from force–length and force–velocity relations of muscles [12]. Four independent constants of passive torques \((B_{1}, B_{2}, k_{1}, k_{2})\), five subject-specific independent parameters \((C_{1}, C_{2}, C_{3}, C_{4}, C_{5})\), and parameter \((C_{6})\) (dependent on the exertion direction) were obtained from experimental data for three ranges of age, for both female and male subjects by Anderson et al. [12]. In the above equations, the positive joint angle indicates flexion/dorsiflexion and positive angular velocity indicates concentric motion. More details on the clinical procedures and statistical analysis can be found in [12].

By estimating the maximum and minimum available joint torque, the operating ranges of torque for each joint at each instant can be shown as follows:

$$ \tau_{\min_{i}} ( \theta, \dot{\theta} ) \leq \tau_{i} \leq \tau_{\max_{i}} ( \theta, \dot{\theta} ). $$
(15)

2.6 Problem statement

For better definition of the problem, the general form of the equations of motion Eq. (7) can be rewritten in the following form:

$$ \mathbf{M} ( \mathbf{q} ) \ddot{\mathbf{q}} + \mathbf{H} ( \mathbf{q}, \dot{ \mathbf{q}} ) = \mathbf{A} ( \mathbf{q} ) \mathbf{u} $$
(16)

in which \(\mathbf{A} = [\mathbf{B} \ \mathbf{J}^{\mathrm{T}}]\) and \(\mathbf{u} = \bigl[{\scriptsize\begin{matrix}{}\boldsymbol{\tau}\cr \mathbf{F}\end{matrix}} \bigr]\).

Let us define \(\boldsymbol{\Lambda}\) as

$$ \boldsymbol{\Lambda} = \mathbf{Tu} $$
(17)

where \(\mathbf{T} = \bigl[{\scriptsize\begin{matrix}{} \mathbf{I} & \mathbf{0}\cr \mathbf{0} & \mathbf{D} \end{matrix}} \bigr]\), \(\boldsymbol{\Lambda} = \bigl[{\scriptsize\begin{matrix}{} \boldsymbol{\tau}\cr \mathbf{E} \end{matrix}}\bigr]\), and \(\mathbf{E} = \mathbf{DF}\) as defined in (9). In DSP, substitution of \(\mathbf{u} = \mathbf{T}^{- 1} \boldsymbol{\Lambda}\) from (17) to the equations of motion (16) results in

$$ \mathbf{M} ( \mathbf{q} ) \ddot{\mathbf{q}} + \mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}} ) = \overline{\mathbf{A}} ( \mathbf{q} ) \boldsymbol{\Lambda} $$
(18)

where \(\overline{\mathbf{A}} = \mathbf{A T}^{- 1}\).

For the single support phase, during SSP_FF, matrix \(\mathbf{A}\) in Eq. (16) is a non-singular matrix. Pre-multiplying Eq. (16) by \(\mathbf{T A}^{- 1}\) yields

$$ \overline{\mathbf{M}} ( \mathbf{q} ) \ddot{\mathbf{q}} + \overline{\mathbf{H}} ( \mathbf{q}, \dot{\mathbf{q}} ) = \boldsymbol{\Lambda} $$
(19)

where \(\overline{\mathbf{M}} = \mathbf{T A}^{-1} \mathbf{M}\) and \(\overline{\mathbf{H}} = \mathbf{T A}^{-1} \mathbf{H}\).

The equation of motion for SSP_FR has a similar form as for SSP_FF as indicated by Eq. (19); but one should note that although the form of the equations for the SSP_FR and SSP_FF is exactly the same, the ground contact forces \(\mathbf{F}\) (Eq. (6)) and matrix \(\mathbf{A}\), and consequently, \(\overline{\mathbf{M}}\), \(\overline{\mathbf{H}}\) and \(\boldsymbol{\Lambda}\), are different due to the different holonomic constraints (Eq. (5)).

Furthermore, composition of the inequalities (9) and (15) in the form of \(\boldsymbol{\Lambda} = \bigl[{\scriptsize\begin{matrix}{} \boldsymbol{\tau}\cr \mathbf{E} \end{matrix}}\bigr]\) yields:

$$ \boldsymbol{\Lambda}_{\min} \leq \boldsymbol{\Lambda} \leq \boldsymbol{\Lambda}_{\max} $$
(20)

where \(\boldsymbol{\Lambda}_{\min} = \bigl[{\scriptsize\begin{matrix}{} \boldsymbol{\tau}_{\min}\cr \mathbf{0} \end{matrix}}\bigr]\), \(\boldsymbol{\Lambda}_{\max} = \bigl[{\scriptsize\begin{matrix}{} \boldsymbol{\tau}_{\max}\cr \boldsymbol{\infty} \end{matrix}}\bigr]\).

Considering the above formulations, we are trying to find a solution for the inverse dynamic problem of human fast walking in which stability, human natural pattern of motion and maximum available joint strength must be satisfied. The above problem can be stated as:

$$ \begin{aligned}[c] & \mbox{Find }\boldsymbol{\Lambda} \mbox{ to minimize } J= \int_{t_{i}}^{t_{f}} \mathrm{d}t \\ & \mbox{subject to:}\\ & \mbox{Dynamic Equations}\\ & \left \{ \textstyle\begin{array}{l@{\quad}l} \mathbf{M} ( \mathbf{q} ) \ddot{\mathbf{q}} + \mathbf{H} (\mathbf{q}, \dot{\mathbf{q}} ) = \overline{\mathbf{A}} (\mathbf{q} ) \boldsymbol{\Lambda}, & \mbox{for DSP}\\ \overline{\mathbf{M}} ( \mathbf{q} ) \ddot{\mathbf{q}} +\overline{\mathbf{H}} ( \mathbf{q}, \dot{\mathbf{q}} ) = \boldsymbol{\Lambda}, & \mbox{for SSP} \end{array}\displaystyle \right . \\ & \mbox{Holonomic Constraints} \\ & \boldsymbol{\varphi} ( \mathbf{q} ) =0\\ & \mbox{Actuator Limits \& Stability Constraints}\\ & \boldsymbol{\Lambda}_{\min} \leq \boldsymbol{\Lambda} \leq \boldsymbol{\Lambda}_{\max}\\ & \mbox{with initial and final conditions}\\ & q ( t_{i} ) = q_{i}, \qquad q ( t_{f} ) = q_{f} \end{aligned} $$
(21)

It must be mentioned that the initial and final conditions of this problem must satisfy the repeatability of the walking cycle. Also as illustrated earlier in Sect. 2.2, the pattern of motion is prescribed in this problem. Therefore, one must find a solution method that provides the acceptable pattern of motion.

3 Minimum time solution

In order to solve the problem stated in Eq. (21), a time optimal control algorithm using a phase plane analysis is used. The solution is based on the time optimal method, proposed first time by Bobrow et al. [10] for serial manipulators. They stated that the minimum time solution of a non-redundant serial manipulator along a specified path, subject to the actuator limits, is bang-bang in terms of tangential acceleration of the tip manipulator along the specified path. They called the independent parameter of path as \(s\), which is the variable of the phase plane (\(\dot{s}\)\(s\)). They demonstrated that because of the actuator limit there would be a speed bound along the path in the phase plane. Beyond this bound, no combination of actuator efforts could keep the manipulator on the specified path. Such a speed bound composes a non-feasible boundary in the phase plane that divides this plane into two, feasible and non-feasible, regions. It is worthy to note that in this method, the predominant constraints which restrict the faster movements can be identified from the shape of non-feasible boundary exclusively, without having a complete solution of the time optimal problem.

One may know that the bang-bang solution along the specified path (\(s\)) is composed of a series of motions with maximum or minimum possible acceleration \((\ddot{s}_{\max}, \ddot{s}_{\min})\) along the specified path. To find such a bang-bang solution, one needs to find switching points and \(\ddot{s}_{\max}\) and \(\ddot{s}_{\min}\) on the path between two switch points.

Finding the bang-bang solution of the current problem means finding the highest trajectory in the phase plane which never enters the non-feasible region. This approach includes three main steps to reach such a trajectory:

  1. 1.

    Constructing the non-feasible boundary in the phase plane.

  2. 2.

    Finding candidates for switch points on the non-feasible boundary.

  3. 3.

    Finding maximum/minimum admissible value of acceleration at each point along the path to apply forward/backward integration from candidates of a switch point in the phase plane.

The proposed method for the time optimal solution of serial manipulators by Bobrow was further improved by several researchers [19, 20]. In addition, this method was extended to solve the minimum time problem of parallel manipulators [2123]. Sadigh and Mansouri applied this method to find the minimum time solution for stable walking of a biped robot [11]. As mentioned earlier, the current paper is an extension of that research, with essential modifications to use the model for human walking. The main modifications of present work in comparison with the time optimal walking solution illustrated by Sadigh and Mansouri [11] for bipeds are:

  • Using anthropometric data.

  • Considering natural pattern of motion.

  • Considering toe links to provide foot rotation subphase.

  • Choosing maximum available torque based on isokinetic data of human joints strength.

In the current section, for the sake of brevity, only the main steps towards the solution and important challenges in solving the time optimal problem of human walking compared to [11] are described. The interested reader is referred to [11] for complete mathematical details on time optimal solution of a walking biped.

3.1 Kinematic constraints of motion

As stated above, the phase plane algorithm is used for the time optimal solution of manipulators along the specified path. Therefore, the very first step to apply the phase plane method is the definition of an independent parameter of path \(s\), which might uniquely describe the motion. The second step is to uniquely calculate generalized coordinates as a function of \(s\), considering the specified pattern of motion. One may benefit from this feature of the phase plane solution to enforce the natural pattern of walking to the current problem.

Since hip advancement in the horizontal direction can be considered as the main objective of walking, one might illustrate the motion of the whole body as a function of this variable. Therefore, the non-dimensional parameter of motion, \(s\), can be defined as:

$$ s = \frac{x - x_{i}}{D_{s}}, $$
(22)

in which \(x\) and \(x_{i}\) are the horizontal position of hip joint and its value at the beginning of DSP relative to inertial coordinate system, respectively, and \(D_{s}\) is the step length. It is obvious from (22) that the value of \(s\) varies between zero and one during one step. If we consider one step from the heel strike of one leg to the heel strike of the opposite leg, the value of \(s\) at the beginning of DSP would be zero. Then, the value of \(s\) at the end of DSP is \(s_{c} =( x_{c} - x_{i} )/ D_{s}\), in which \(x_{c}\) is the horizontal position of the hip joint at the end of DSP. Hence, the value of \(s_{c}\) depicts the percentage of DSP in one step.

Recalling that the system in DSP has seven degrees of freedom and SSP (including both subphases SSP_FF and SSP_FR) has eight degrees of freedom, one may need to define proper kinematic constraints to have a fixed pattern of motion (including definition of \(s\) in (22)), as follows:

$$ g_{i} ( \mathbf{q}, s ) =0 \left \{ \textstyle\begin{array}{l@{\quad}l} i =1, \dots,7 & \mbox{for DSP}, \\ i =1, \dots,8 & \mbox{for SSP}. \end{array}\displaystyle \right . $$
(23)

As explained in Sect. 2.2, the value of the generalized coordinate vector \(\mathbf{q}\) is obtained from the human natural pattern of motion. During DSP, it is assumed that the toe link of the front foot is locked (\(q_{1} ( s ) = q_{2} ( s )\)) and the toe link of the rear foot is flat on the ground (\(q_{9} ( s )=0\)). In addition to that, with the aid of a curve fitting tool, from the specified pattern of motion (Fig. 2), one can define the angular position of the front and rear foot, angular position of the trunk, and hip height as a function of \(s\) (i.e., \(q_{2} ( s )\), \(q_{8} ( s )\), \(q_{5} ( s )\), and \(z ( s )\), respectively). Fourier series of order 8 are utilized for accurate curve fitting of kinematic data and imposing the exact natural pattern of motion to the current model.

Similarly for SSP_FF, it is assumed that the toe links of the stance and swing feet are locked (\((q_{1} ( s ) = q_{2} ( s ))\) and \((q_{8} ( s ) = q_{9} ( s ))\)) and the stance foot leg is flat (\(q_{2} ( s )=0\)). Furthermore, the angular positions of the trunk, hip height and position of the swing leg ankle (i.e., \(q_{5} ( s )\), \(z ( s )\), \(x_{a} ( s )\), and \(z_{a} ( s )\), respectively) are defined as a function of \(s\), using a curve fitting tool.

Finally, for SSP_FR, it is assumed that the toe link of the swing foot is locked while the toe link of the stance foot is flat on the ground, supporting the whole body (\(q_{1} ( s ) =0\), \(q_{9} ( s ) = q_{8} ( s )\)). In addition to the angular position of the trunk, hip height and the position of the swing leg ankle (mentioned above), this subphase also requires the definition of the angular position of the stance foot sole \(q_{2} ( s )\). Figure 6 illustrates the pattern of motion during one step.

Fig. 6
figure 6

Human pattern of motion during one step. \(S_{c_{1}}\) and \(S_{c_{2}}\) depict the values of \(s\) in (22) at the end of DSP and SSP-FF respectively

3.2 Phase plane statement

After defining the independent parameter of the path and essential kinematic constraints, we must restate the problem in terms of \(s\). The vectors, \(\mathbf{X} =[ q_{1}, q_{2}, q_{5}, q_{8}, q_{9},x, z ]^{\mathrm{T}}\) for DSP and \(\mathbf{X} =[ q_{1}, q_{2}, q_{5}, q_{9}, x, z, x_{a}, z_{a} ]^{\mathrm{T}}\) for SSP, are the work space trajectories that must be followed during one step of walking. Here \(q_{i}\) is the generalized coordinate, as illustrated in Fig. 1. \(( x, z )\) shows the position of the hip joint, and \((x_{a}, z_{a})\) depicts the position of the swing leg ankle. One can write these vectors in terms of \(s\) as follows:

$$ \mathbf{X} = \mathbf{f} ( s ). $$
(24)

On the other hand, the forward kinematic equations of the model describe \(\mathbf{X}\) as function of \(\mathbf{q}\) as follows:

$$ \mathbf{X} = \mathbf{p} ( \mathbf{q} ). $$
(25)

Substituting \(\mathbf{X}\) from (24) into (25) and solving for \(\mathbf{q}\) yields:

$$ \mathbf{q} = \mathbf{p}^{-1} \bigl( \mathbf{f} ( s ) \bigr) =\mathbf{q}( s ). $$
(26)

Differentiating (26), \(\dot{\mathbf{q}}\) and \(\ddot{\mathbf{q}}\) are calculated as follows:

$$ \dot{\mathbf{q}} = \mathbf{q}^{\prime} ( s ) \dot{s}, $$
(27)
$$ \ddot{\mathbf{q}} = \mathbf{q}^{\prime\prime} ( s ) \dot{s}^{\mathbf{2}} + \mathbf{q}^{\prime} ( s ) \ddot{s}, $$
(28)

in which \((.) '\) and \((.) ''\) denote the first and second order derivative with respect to \(s\).

By substituting (26) to (28) into the extended form of the equations of motion, (18) and (19), respectively, the following equations are derived:

$$ \mathbf{c} ( s ) \ddot{s} + \mathbf{d} ( s ) \dot{s}^{2} + \mathbf{e} ( s ) = \overline{\mathbf{A}} ( s ) \boldsymbol{\Lambda}, $$
(29)
$$ \overline{\mathbf{c}} ( s ) \ddot{s} + \overline{\mathbf{d}} ( s ) \dot{s}^{2} + \overline{\mathbf{e}} ( s ) = \boldsymbol{\Lambda}. $$
(30)

If one expresses “Coriolis and centrifugal” terms, and “gravitational” term of matrix \(\mathbf{H}\) in (18), separately as below:

$$ \mathbf{H} ( \mathbf{q}, \dot{\mathbf{q}} ) =\mathbf{V} ( \mathbf{q} ) \dot{ \mathbf{q}}^{2} +\mathbf{G}(\mathbf{q}), $$
(31)

and similarly considers \(\overline{\mathbf{H}}\) in (19) as

$$ \overline{\mathbf{H}} ( \mathbf{q}, \dot{\mathbf{q}} ) = \overline{\mathbf{V}} ( \mathbf{q} ) \dot{\mathbf{q}}^{2} + \overline{\mathbf{G}} ( \mathbf{q} ), $$
(32)

then in (29) one will have \(\mathbf{c} = \mathbf{Mq}^{\prime}\), \(\mathbf{d} =( \mathbf{Mq}^{\prime\prime} +\mathbf{V q}^{\prime\, 2} )\), \(\mathbf{e} = \mathbf{G}\), and in (30) \(\overline{\mathbf{c}} = \overline{\mathbf{M}} \mathbf{q}^{\prime}\), \(\overline{\mathbf{d}} = ( \overline{\mathbf{M}} \mathbf{q}^{\prime\prime} + \overline{\mathbf{V}} \mathbf{q}^{\prime\, 2} )\) and \(\overline{\mathbf{e}} = \overline{\mathbf{G}}\).

Now one may restate the minimum time problem (21) as:

$$ \begin{aligned}[c] & \mbox{Find }\boldsymbol{\Lambda} \mbox{ to minimize } J= \int \mathrm{d}t\\ & \mbox{subject to:}\\ & \mbox{Dynamic Equations}\\ & \left \{\textstyle\begin{array}{l@{\quad}l} \mathbf{c} ( s ) \ddot{s} + \mathbf{d} (s) \dot{s}^{2} + \mathbf{e} ( s ) = \overline{\mathbf{A}} ( s ) \boldsymbol{\Lambda}, & 0 \leq s \leq s_{\mathrm{c}} \\ \overline{\mathbf{c}} ( s) \ddot{s} + \overline{\mathbf{d}} ( s) \dot{s}^{2} + \overline{\mathbf{e}} ( s) = \boldsymbol{\Lambda}, & s_{\mathrm{c}} < s \leq 1 \end{array}\displaystyle \right . \\ & \mbox{Actuator Limits \& Stability Constraints} \\ & \boldsymbol{\Lambda}_{\min} \leq \boldsymbol{\Lambda} \leq \boldsymbol{\Lambda}_{\max}\\ & \mbox{with initial and final conditions}\\ & s ( t_{i} ) =0, \qquad s ( t_{f} ) =1\\ & \dot{s} ( t_{i} ) = \dot{s} ( t_{f} ) \end{aligned} $$
(33)

The problem is now in a similar form to what was first addressed by Bobrow et al. [10] for serial manipulators. The construction of the non-feasible boundary is the next step towards the solution.

3.3 Establishment of non-feasible boundary

As mentioned earlier, the actuator limits and stability constraints, shown by inequalities in (20), create a certain bound on \(\dot{s}\). Such a bound describes the maximum value of \(\dot{s}\) which can be admitted by the system before the violation of at least one of the inequality constraints. In the phase plane this bound is represented by a line, called as non-feasible boundary, whose position provides a good insight into the capability of the system for high speed motion and the effect of inequality constraints on it.

The phase plane points can be categorized into three types, with maximum and minimum available acceleration view:

  1. 1.

    Feasible points in which motion is confined between allowable ranges of acceleration, \(\ddot{s}_{\min} \leq \ddot{s} \leq \ddot{s}_{\max} \).

  2. 2.

    Non-Feasible points in which no combination of actuators can provide a motion on the desired path. In this case, \(\ddot{s}_{\max} < \ddot{s}_{\min}\).

  3. 3.

    Boundary points in which a unique allowable value for acceleration of motion is available. On these points, \(\ddot{s}_{\max} = \ddot{s}_{\min}\).

Therefore, the construction of the non-feasible boundary is all about finding the points that satisfy \(\ddot{s}_{\max} = \ddot{s}_{\min}\); we call this value \(\ddot{s}_{\mathrm{NFB}}\) later in this paper.

Pfeiffer and Johanni [19] and Ghasemi and Sadigh [22] introduced direct algorithms to find this boundary for serial and cooperative manipulators, respectively. One may use these algorithms to establish the non-feasible boundary for the human walking problem during SSP and DSP but there is a challenge to reach such a boundary in the human walking problem with a muscle-driven actuation system.

The challenge is that the maximum available torque of a joint depends on the angular velocity of the joint which itself depends on \(\dot{s}\) as depicted by (27). Hence, one may need to know the instantaneous angular speed of the joints to define the instantaneous maximum available torques. On the other hand, the speed boundary in the phase plane must be generated by the values of the maximum available torques. To confront this conflict, one may first generate the non-feasible boundary with static torques (i.e., \(\dot{\theta} =0\) in Eq. (14)). In other words, in a primitive generation of non-feasible boundary, the effect of \(\dot{\theta}\) in active muscle torques is neglected. One may assume that the real speed bound of the problem is close to the speed bound induced by the static torques’ limits. Therefore, the modified boundary can be generated using the value of \(\dot{s}_{\max}\) in the previous step as an instantaneous speed in each \(s\) in the subsequent step. This procedure is repeated until the maximum value of speed, \(\dot{s}_{\max}\), in two consecutive steps converges.

Understanding the nature of points on the non-feasible boundary guides us in defining the candidates for switching points. Points on this boundary are mainly subdivided to “sink” or “source”, depending on whether the value of \({\ddot{s}_{\mathrm{NFB}}} / {\dot{s}_{\max}}\) is larger or smaller than the slope of the boundary (\({\partial \dot{s}} / {\partial s}\)), respectively [11, 19]. Let us consider the points on which the nature of the non-feasible boundary changes from sink to source or from source to sink as critical points. Investigation on these critical points shows that both forward and backward integrations from a sink to source point on the non-feasible boundary would result in feasible solution trajectories. Such critical points are candidates for switching points. Using this fact, one can establish the switch curve. Further details on finding the switch points, maximum and minimum admissible acceleration at each point and the switch curve in the phase plane can be found in [11].

3.4 Actuator saturation

Another important issue in solving a time optimal problem with the phase plane algorithm is the saturation of actuators. It is known that the minimum number of saturated actuators in order to reach the maximum achievable speed is equal to the number of actuators minus the number of degrees of freedom plus one [23]. A saturated actuator in biomechanical perspective may indicate a joint which works with maximum strength. With the above mentioned description, there must be at least three saturated actuators during DSP and one saturated actuator during SSP. We can conclude that during DSP more joints can admit their saturation values and result in a higher maximum speed; whereas in SSP only one joint has to admit the corresponding saturation value. In other words, the chance of achieving higher speed is more during DSP than during other phases.

4 Simulation results

The proposed method is used to solve an example of a typical human fast walking. This problem is solved for the walking of a young male subject with 70 kg weight and 170 cm height. Dimensions, mass and inertial properties of the model are obtained from the anthropometric data [24] as depicted in Table 1. The constants related to the joint torque limits (Eq. (13) and Eq. (14)), adapted from [12], are given in Table 2. The minimum time problem for the nine-link model of a human with the above mentioned properties is solved with the proposed algorithm. It is assumed that the right leg is in stance during the entire step as shown in Fig. 6. A mathematical framework was created in MATLAB R2009 (The MathWorks Inc., Natick, Massachusetts, USA) and SIMULINK on a core i5-520 M, 2.40 GHz Personal computer. It took 4 hours for a complete simulation of one step in this system. The following results are obtained from the time optimal solution.

Table 1 Physical properties of the human walking model [24] (\(M =70\mbox{ kg}\), \(H =1.7\mbox{ m}\))
Table 2 Mean parameter value of active and passive torques for young male subject [12]

Figure 7 shows the phase plane diagram of the minimum time solution. As one may know, the lower non-feasible boundary in the phase plane induces lower speed. Therefore, it is deduced from this diagram that SSP_FR is the most critical phase in walking and it can restrict the maximum achievable speed. This phenomenon is observed at DSP, too, but it is not as restrictive as SSP_FR. Thus, a higher instantaneous speed is achievable during DSP. This is compatible with the results that were predicted by the minimum number of saturated actuators earlier. The average speed for our model is obtained as 2.22 km/h for friction value of \(\mu =0.67\) and step length of \(D_{s} =0.7\mbox{ m}\).

Fig. 7
figure 7

Phase plane diagram of human walking in one step. Non-feasible boundary is shown by dotted line. Solid line and dashed line respectively show forward and backward integration from the switch points on the minimum time solution curve; vertical lines at \(S_{c_{1}}=0.21\) and \(S_{c_{2}}=0.58\) separate different phase/sub-phases of the motion

It is clear that increasing of step length and cadence of walking results in higher speed compared to the above speed for the current model. Experimental gait analysis [13] and parametric study [25, 26] on the effect of pattern of motion on time optimal walking, illustrates the mentioned phenomena. The objective of the current model is not to study the effect of kinematic parameters on speed, but to find the optimum function of a human walking system with specified kinematic parameters and specified joint strength to attain the maximum achievable speed in this condition.

Figure 8 illustrates the ankle torque during one step for both legs. The maximum and minimum available joint torque of the ankle for each leg are calculated and shown by dotted line. Therefore, the ankle function is confined within this boundary (Eq. (15)). Figure 8(a) indicates that the ankle torque of the stance leg plays a crucial role in time optimal solution. It is obvious from this figure that the maximum available torque or near maximum value is assigned to the ankle joint in the second half of DSP and during entire SSP for the right leg. This situation repeats for more than 70 % of DSP for the left leg ankle as depicted in Fig. 8(b). Unlike ankle joints, knee joints, as shown in Fig. 9, do not need to provide maximum available torques in high speed walking. A study of the hip torque as shown by Fig. 10 demonstrates that hip joints, similar to the knee joints, do not experience critical situation except for the end of DSP before toe-off in the left leg. Figure 11 shows the crucial role of the toe in the left foot at the end of DSP before toe-off. One must keep in mind that the occurrence of the singularity in torque diagrams at the switch points is due to the bang-bang solution of \(\ddot{s}\) and actually only the near time optimal trajectory can be achieved by a human.

Fig. 8
figure 8

Ankle joint torques during one step (solid line), maximum and minimum available ankle torque (dotted line): (aright leg, (bleft leg (±: dorsiflexion/plantar-flexion of ankle exertion direction)

Fig. 9
figure 9

Knee joint torques during one step (solid line), maximum and minimum available knee torque (dotted line): (aright leg, (bleft leg (±: extension/flexion of knee exertion direction)

Fig. 10
figure 10

Hip joint torques during one step (solid line), maximum and minimum available hip torque (dotted line): (aright leg, (bleft leg (±: flexion/extension of hip exertion direction)

Fig. 11
figure 11

Toe joint torques during one step (solid line), maximum and minimum available toe torque (dotted line): (aright leg, (bleft leg

It is obvious from the above results that in addition to the kinematic parameters, the maximum voluntary joint torque, dependent on the joint angular position and angular velocity at each instant, restricts the speed strongly, especially in SSP_FR. The solution of a similar time optimal problem with constant joint torque limit, from non-angle specific isometric torque data [18], demonstrates a significant increase of speed compared to the current speed reported here (i.e., 5.47 km/h) [27]. This comparison indicates that one may need to strengthen his joints to provide larger torques compared to the normal strength, especially in ankle, to achieve higher speed of walking. Hence, the effect of joints’ strength on time optimal solution is among the interesting topics for future studies.

Figure 12 depicts the ZMP criterion. It can be seen that stability is almost marginal during time optimal walking except for the end of DSP and beginning of SSP_FF. Therefore, it can be concluded that attaining dynamic balance is a restrictive constraint in high speed motion. This result proves the clinical claim that “slower walking velocities lead to increase in stability” [28]. Moreover, one may notice that the ZMP criterion is a sufficient condition for dynamic balance; hence less restrictive constraints may result in faster motion. This can be regarded as a research interest in this field.

Fig. 12
figure 12

ZMP stability criterion during one step

Observation of the non-slip condition in Fig. 13 shows that this condition only takes an important role during the first half of DSP for the stance leg; otherwise, it is not a critical condition in time optimal walking. In other words, preventing the rear foot from slipping imposes some limits to the fast walking motion only right after heel strike.

Fig. 13
figure 13

Non-slip condition during one step: (aright leg, (bleft leg

Figure 14 demonstrates actuator saturation and stability constraints (defined by \(\boldsymbol{\Lambda}\) in Eq. (20)). As described in Sect. 3.4, in the phase plane method, during each phase there are certain numbers of conditions (actuators or stability conditions) that must be saturated. One may find by mathematical calculation that three saturated conditions for DSP and one saturated condition for SSP are essential. Figure 14 shows the time percentage of saturation of critical conditions in each phase. The stance leg ankle is vividly the most critical saturated actuator and the ZMP stability condition ranks second among the saturated conditions. As stated earlier, DSP consists of three essential saturated conditions; as a result more actuators and conditions are involved in as critical conditions.

Fig. 14
figure 14

Actuator limits and stability constraints saturation

5 Conclusion

In this paper, a mathematical framework for time optimal walking of a human is proposed. A nine-link planar biped model is used as a simplified model of walking. This model is distinguished from similar bipedal model by imposing main features of human walking to the problem. These main features are:

  • choosing a model with anthropometric data,

  • selecting accurate normal pattern of motion in the sagittal plane which takes the effect of foot rotation into account (necessity of considering toe links in the model),

  • considering dependency of the maximum available joint torques on the angular position and angular velocity of joints.

The phase plane method, based on time optimal control theory, is used to solve the problem. The advantage of this method is to assure the simultaneous satisfaction of all the necessary equality constraints, due to the pattern of motion, and inequality constraints, due to the actuator limits and stability criteria, while attaining maximum achievable speed. In other words, the proposed model is capable of simulating and predicting the optimum function of the human joints to reach the highest achievable speed while satisfying all the necessary constraints and conditions of normal walking. The obtained results can be utilized as the optimum pattern for the better performance of human during fast walking.

Solving of a typical example with the proposed method illustrates the behavior of joints and required torques for the desired motion. The results signify the major role of the stance leg ankle in time optimal solution; hence one can appreciate the benefit of ankle strengthening for fast walking. This reason justifies the suggestion of “improving the ankle strength and flexibility” by coaches to racewalkers [29]. Moreover, it is expected that subjects with ankle malfunction (amputation or injury) confront serious challenges in high speed walking. Hip strengthening is also advisable to provide enough torques for the rear leg to lift up from the ground. An observation of the stability diagrams indicates that maintaining stability restricts the maximum speed during almost the whole step; whereas foot slippage issue arises only in heel strike.

The above results indicates that the proposed mathematical frameworks is capable of providing deep insight into the optimum function of a human dynamic system during fast walking that can be utilized to improve the athlete’s performance and rehabilitation of amputees and post-stroke rehabilitation. Using the mathematical models and simulations would eliminate the large expenses of experimental human gait analysis. Extensions of this method for various circumstances (such as walking on uneven ground), and studying the behavior of lower limb amputees with different prosthesis (active, semi-active and passive) are among the possible future researches in this field. Utilizing a less restrictive stability criterion for a more realistic simulation of a human walking situation compared to the ZMP criterion and considering the effect of the arm swing during fast walking would also be desirable.