1 Introduction

Human motion and joint moment/muscle force prediction/estimation are two of the most challenging research topics in biomechanics. Human motion prediction can be very helpful in different areas such as surgical intervention planning, prosthesis and orthosis design, and athletic training. We will motivate our work through the following examples.

Example 1

In total hip replacement surgeries, the prevalence of dislocations following surgery has motivated researchers to implement pre-surgical planning for positioning of the acetabular cup in a safe zone to decrease the likelihood of dislocation [1,2,3]. This can be done using available safe zone studies [3,4,5], which have been found lacking or implementing computer models and predictive dynamic simulations [2, 6, 7] to predict the hip joint reaction force, then find the optimal position for the acetabular cup by minimizing this force.

Example 2

An effective design for a prosthesis or orthosis is a human-centered design, which considers human movement [8,9,10,11,12]. Without human motion prediction, the human-centered device design can only be verified by performing experimental trials on manufactured prototypes. However, the final iterative design will be expensive and inefficient. Therefore, there is a great need for human movement prediction in prosthesis and orthosis design.

Example 3

Clinical biomechanists are interested in joint moment and reaction force analysis. Joint reaction forces, which directly affect joint functions, should be minimized for the elderly and injured walkers to reduce pain in their joints [13,14,15]. These forces should also be minimized for athletes to improve their performance in doing a specific task optimally [16, 17].

The main goal of this article is to shed light on the features of the recent analysis methods of human gait and to compare these methods in terms of control methodologies. To find relevant publications for this article, a specific search algorithm has been used. The search algorithm was limited to the recent decade (2009–2019) and included the keywords “human motion/gait prediction, predictive simulation method, forward/inverse dynamics of human movement” and excluded certain areas (i.e., balance control and machine learning). 70 percent of the references in this article were found using this search algorithm. The remaining 30% were published prior to 2009 and are included in this article since they represent seminal contributions to human motion analysis.

In this review, a few of the cited papers do not target human gait specifically; however, their methodologies can be extended to human gait studies. Furthermore, balance control in human motion is not reviewed in this paper, the main focus of which is on optimization-based predictive simulation methods. In these methods, stability is usually provided by stabilization constraints and not by balance control techniques. For more information about human balance and posture control during gait, the reader is directed to two review articles: [18, 19]. Moreover, machine learning techniques are not covered in this paper since they are mainly used for tracking purposes and not for predictive simulation studies, which are the focus of this paper. Available machine learning techniques in human gait have been reviewed in [20].

This paper is organized as follows. In the Basic Concepts section, first, essential terms in human task analyses are defined, followed by an explanation of problem formulation (which use explicit or implicit dynamic formulations), human model types, and simulation solvers (i.e., semi- and fully-predictive methods).

Based on the workflow of the biomechanics analysis, human model types are divided into skeletal (SK), musculoskeletal (MSK) and neuromusculoskeletal (NMSK) models. Different problem formulation and simulation solvers developed for SK and MSK/NMSK models are discussed in Sects. 3 and 4, respectively. Furthermore, in the latter section, the muscle redundancy problem and the routines to solve it are presented.

In contrast to model-based approaches, neural networks (NNs) are widely used in biomechanics for real-time estimation and simulations in human gait analysis. The Neural Networks section provides a brief explanation of the recent NN methods in human task analysis.

Next, in the Summary and Future Work section, recent methods for analyzing human gait models are summarized and various limitations are discussed. Furthermore, future prospects of improving predictive simulation methods are presented.

2 Basic concepts

In this section, the main technical terms in human task analyses are briefly discussed in order to categorize reviewed studies. First, some author-defined terminologies are discussed. Next, based on our human task analysis classification, a comprehensive workflow, illustrating all parts of the human task analysis is presented. Finally, the human model types and simulation solvers are introduced.

2.1 Terminologies

Approach vs. method

In the current paper, approach refers specifically to problem formulation, while method indicates a general framework used to solve the human motion analysis problem.

Routine vs. formulation

Routine is used for any optimization methodology, while formulation indicates any calculation procedure.

Estimation vs. prediction

Estimation refers to the condition that the experimental data is available and corresponding simulation data is estimated using a method with data-tracking error evaluation. On the other hand, the prediction is used to find simulation data independent of the data-tracking error.

2.2 Problem formulation

A human body can perform a task by receiving neural commands from the central nervous system (CNS). In biomechanics analyses, a dynamic formulation is developed from the workflow shown in Fig. 1. This workflow shows the path from the neural commands to a specific posture and vice versa. The dynamic formulation can be represented either explicitly or implicitly. In the explicit dynamic formulation, the system dynamics are directly integrated or differentiated while in the implicit dynamic formulation, the system dynamics are considered as constraint equations that are implicitly satisfied inside an optimization-based simulation.

Fig. 1
figure 1

Dynamic formulation workflow

An explicit dynamic formulation can be categorized according to forward, inverse and mixed approaches. However, since there is no need to use integration/differentiation methods to solve dynamics equations in implicit approaches, they cannot be categorized like the explicit approaches. We refer to the implicit dynamic formulation as the implicit approach, which is discussed in Sect. 4.6 in more detail.

In explicit dynamic formulation, the solid arrows show the path of the forward (e.g., forward dynamics) approaches and the dashed arrows specify the path of the inverse (e.g., inverse dynamics) approaches.

In forward approaches, neural commands are received to produce muscle excitations, which are the inputs to muscle activation dynamics. Muscle activation dynamics can be modeled by first-order differential equations [21]. Muscle contraction dynamics are often modeled using a Hill-type muscle model to convert muscle activations to muscle forces [22]. Musculoskeletal geometry includes muscle attachment sites, muscle lines of actions, wrapping points and surfaces, and moment arms [23]. This geometry and muscle contraction dynamics are used to calculate joint moments (i.e., the input of skeletal motion dynamics). Note that in the current study, joint moment and joint torque are used interchangeably. Skeletal motion dynamics are ordinary differential equations, which are solved by numerical integration to determine the motion/posture. Inverse approaches are the reverse of the forward approaches. In other words, posture/motion is used to determine the neural commands. It should be noted that to estimate physiologically meaningful values for the neural commands, muscle activation dynamics, and muscle contraction dynamics must be included in the analysis; an example of this is presented in the fully inverse approach of [24].

In addition to forward and inverse approaches, there are other approaches that are called mixed approaches in this review. In explicit dynamic formulations, a mixed approach may exploit the best features of forward and inverse dynamics approaches.

2.3 Human models

Based on Fig. 1, biomechanics models can fall into three categories: SK, MSK, and NMSK models. NMSK models are the most complex models since they include all the blocks shown in Fig. 1. In MSK models, muscle activation dynamics is excluded and in SK models, muscle activation dynamics, muscle contraction dynamics and musculoskeletal geometry are excluded. These definitions of the human models are introduced to avoid any misconceptions while referring to them throughout this paper.

2.4 Simulation solvers

Once a dynamic formulation for a human model is selected, a solver is used to simulate the model for a specific task. Simulation solvers use predictive simulation methods including non-optimization- or optimization-based methods. Non-optimization-based methods benefit from straight-line programming and/or non-optimal controllers to solve the simulation problem of a specific task. With experimental motion data and using data-tracking errors, these methods can compute the joint torques or muscle forces. Since experimental data is needed, these methods can be considered as semi-predictive methods.

In semi-predictive methods, a data-tracking error is used. The main feature of these methods is their intrinsic realism because of tracking motion data [25]. However, a comprehensive database of human motions is needed to get meaningful results from semi-predictive methods. Furthermore, we cannot study the effects of changes in the task conditions, since the previously prescribed data does not contain the new changes (e.g., we cannot determine the outcome of a new surgical procedure for which no measurement data is available).

Optimization-based methods use optimization routines and/or optimal controllers for task analysis. Optimization-based methods predict the optimal motion of human tasks [26] and fall into two different categories: semi-predictive and fully-predictive methods [27]. In contrast to semi-predictive methods, fully-predictive methods are knowledge-based methods that do not require measured data.

Fully-predictive methods do not require a motion database so they can be used to study how the changes in task conditions affect the results. For example, Chung et al. [28] have used only a knowledge-based cost function to predict joint motions and joint torques for both normal human running and slow jogging along curved paths without data-tracking. The multi-objective function of this optimization includes dynamic effort, impulse and upper-body yawing moment. The upper-body yawing moment should be minimized to avoid slipping on the ground [29]. The effects of foot location and orientation on the predicted results of running have been studied as well.

For fully-predictive methods, it is necessary and also challenging to define physiologically meaningful objective functions [30] to satisfy human criteria. A physiologically meaningful cost function is an objective function that includes all the essential human criteria required for converging to a physiologically meaningful solution [24]. The essential human criteria are different for various human subjects and tasks. For example, the criterion for healthy walkers and walkers with orthoses or prostheses may be to walk with the minimum metabolic energy (i.e., the consumed energy per unit walking distance) [31, 32]. On the other hand, for disabled walkers, a healthy gait pattern might be an additional criterion.

There is another belief that the prediction of the human motion would be more realistic if both the semi- and fully-predictive methods are simultaneously exploited (hybrid predictive method) [27]. Pasciuto et al. [27] have developed a constrained nonlinear optimization problem, in which the objective function is a weighted combination of data-based and knowledge-based contributions. To validate their proposed hybrid method, they have predicted human motion and joint torques during clutch pedal depression using semi-predictive, fully-predictive and hybrid predictive methods separately and then compared the results. The comparison confirmed that the hybrid method predicts more realistic human motion and joint torques.

2.5 Human task analysis classification

Using the technical terms described in this section, a general human task analysis classification is introduced by the authors and illustrated in Fig. 2. In this classification and flowchart, all recent methods of human motion analysis can be categorized according to problem formulation and simulation solver.

Fig. 2
figure 2

The flowchart of human task analysis classification

3 Skeletal models

In this section, problem formulations for SK models are presented for different explicit dynamic formulations (Inverse Approaches, Forward Approaches, and Mixed Approaches subsections). Figure 3 shows the workflow of forward and inverse approaches. Different simulation solvers corresponding to each formulation are discussed within each subsection. The implicit approach will be discussed in the latter section.

Fig. 3
figure 3

The workflow of forward and inverse approaches for SK models

3.1 Inverse approaches

There are different methods to determine human joint moments. An invasive method is an instrumented prosthesis, which is not always practical. Another method is the inverse dynamics method, in which given captured motion data and measured external force and moment data, the inverse SK motion dynamics is solved for the joint torques [33, 34]. This method is a non-optimization-based method, in which motion data and ground-foot contact force data are required to be measured using a motion capture system and a force plate, respectively. Uncertainty in body segment parameters and errors in the experimental measurements and data-processing may result in unrealistic joint torques and inconsistencies between kinematics and ground reaction forces [35,36,37].

Although this method is non-invasive and relatively fast, unrealistic joint torques may be predicted due to numerical differentiation errors and inaccurate model parameters. Optimization-based methods may be used to improve the results of the inverse approaches. For example, in [38], inverse dynamics is used within a constrained optimization to reduce the inconsistency in the results of the inverse dynamics. In this paper, the optimization algorithm has applied minor changes to the measured kinematics to make the kinematic mechanically consistent with measured external forces. In other words, Kinematics are adjusted until simulated forces match experiments.

3.2 Forward approaches

The joint torques obtained from the inverse dynamics can be used as the inputs to the forward SK motion dynamics in order to estimate the motion. Ideally, the motion estimated from the forward dynamics should perfectly match captured motion data. However, there may be discrepancies between the estimated motion and the captured motion data depending on the integration algorithm of the forward motion dynamics, the kinematic constraint stabilization algorithm and the differential-algebraic equation solver. Thus, to fulfill stability and robustness in the forward SK motion dynamics for human gait, three different control methodologies have been recently proposed: under-actuated, fully-actuated and kinematically-constrained methodologies.

The first methodology is needed when the human gait is under-actuated and the number of joint actuators is less than the degrees of freedom (DOFs) of the human model that freely moves in the plane/space. Therefore, there is no direct control over the three/six DOFs of the base body with respect to the global coordinate system. Hence, researchers are required to consider a foot-ground contact model to implicitly control those three/six DOFs [39, 40].

In the second methodology, all DOFs are considered to be actuated. Then, a set of non-physical forces and moments, accounting for the inconsistency between calculated and captured motions, are assumed as a residual wrench. This wrench is composed of linear and rotational actuators to control the absolute DOFs of the base body (pelvis or trunk in most cases). This methodology is used to obtain dynamically consistent equations. The residual reduction algorithm (RRA) has been proposed [41] to reduce the residual wrench in order to closely track the captured motion. For example, Millard et al. [42] considered proportional-derivative (PD) controllers for controlling body joints and a balance controller for externally manipulating the pitch of the head-arms-trunk (HAT) segment.

In the third methodology, a kinematically-constrained foot-ground contact model is imposed to provide a stable gait. During the single-support phase of the gait cycle, one foot is constrained to be fixed to the ground, yielding a fully-actuated open-chain model [43]. During the double-support phase, both feet are fixed to the ground, yielding an over-actuated closed-chain model [44]. To provide stability, kinematic stabilization constraints are applied for each phase separately [24, 45, 46].

3.3 Mixed approaches

Some of the mixed approaches use the forward dynamics model and a controller with/ without an inverse dynamics model to update the joint torques based on the data-tracking error obtained from the forward dynamics simulations. Since these approaches have a feedback controller, they are also called feedback-control approaches. The hybrid zero dynamics-based control method (HZD) uses a feedback-control approach. Martin and Schmiedeler [47] have used HZD to estimate the gait motion over the full ranges of speeds by tracking experimental walking data. They have compared two planar models of the lower extremities (one of which in contrast to the other one does not have ankle joints) to study the critical role of the ankle joints in the human gait. HZD parameterizes joint angles as functions of a gait variable (i.e., step progression), which is an explicit function of time. HZD has been developed based on prior work suggesting that humans control their gait motion using phase variables [48]. Initially, HZD was used for point-foot robots. Later, Martin and Schmiedeler used HZD by considering rigid circular feet, since the center of pressure between the foot and ground tends to trace circular arc patterns during walking [47].

Computed torque control method (CTC) also uses a feedback-control approach to estimate the gait motion in SK models. This method was initially used in robotics. In CTC, the controller contains an inverse dynamics model. Mouzo et al. [49] have developed a 2D human model to analyze human gait using this method. CTC is a control method that uses motion tracking error to update predicted joint torques, evaluated by an inverse dynamics model, and then solves motion dynamics by the forward integration. To find the best estimation for joint torques, Mouzo et al. [49] have considered different sets of the forward dynamic outputs (i.e., motions of DOFs and ground reaction forces) as control inputs for CTC. Foot-ground contact, which was modeled based on [50], is a volumetric contact model. They have concluded that the weighted trajectories of all the DOFs can be the best control input to get satisfactory results.

Another method is the proportional-integral-derivative control (PID), which is a classical feedback control method for controlling the plant model by feeding back the past error. Proportional-derivative control (PD) is a special case of PID. Pàmies-Vilà et al. [51] have compared the capabilities of PD and CTC in solving the forward dynamics of SK models. A kinematic perturbation was used for tuning the PD gains and pole placement techniques were used to determine control parameters in CTC. First, using experimental motion data, inverse dynamics was solved to determine joint torques. Then the calculated joint torques were used as the input of the forward motion dynamics to estimate the motion and ground reaction forces using PD and CTC separately. They showed that CTC outperforms PD for a balanced forward dynamics analysis.

To deal with the challenges of the inverse approach, one cannot use the aforementioned non-optimization-based feedback controllers for prediction. Thus, some studies have recently applied optimization-based methods so that they can predict/estimate joint torques with motion prediction/estimation.

A practical optimization-based method is the model predictive control (MPC). MPC uses an internal model to estimate/predict the output, compare it with the reference data, and finally predict control inputs of the plant model by minimizing a cost function that can contain a data-tracking error (i.e., semi-predictive). Not only does MPC provide stability for the model but it also has predictive features. MPC is a fast near-optimal controller that seems very well-suited to real-time biomechatronic applications [52].

Sun et al. [53, 54] have simulated the human CNS using MPC in conjunction with PID. To validate their method, human gait has been modeled using the simulated CNS. The plant model is a 2D 9-DOF SK human model and the controller of the plant model is a combination of an MPC and PID. The methodology of the simulated CNS is as follows. First, either single support phase (SSP) or double support phase (DSP) is selected using the ground contact feedback of both feet. Next, joint torques, which are predicted using the MPC and PID, enter the plant model as inputs to predict motions. If SSP is selected, the PID and MPC are used to keep the HAT upward and reach a reference step length, respectively. If DSP is selected, the PID and MPC are used to keep the HAT upward and reach a reference center of mass velocity at the end of DSP, respectively.

4 Musculoskeletal/neuromusculoskeletal models

MSK/NMSK modeling is used to study how neural commands are converted to mechanical motion by means of musculotendon units spanning joints [55]. Muscle-driven models are developed to study the role of muscles in human motions because muscles affect the energy flow between body segments. Muscle forces can be predicted using muscle-driven models. Prediction of muscle forces is advantageous since by having muscle forces during healthy and impaired movements, we can improve treatments for walking disorders as well as training programs for athlete performance. Recently, muscle-driven models have also been used to determine muscle synergies and coordination.

To evaluate the muscle forces in an MSK/NMSK model, the muscle force-sharing problem should be solved. This muscle redundancy problem requires an optimization routine with a dynamic formulation. Since the muscle redundancy problem is solved using optimization-based methods, all the dynamic analysis approaches for the MSK/NMSK models are optimization-based methods (i.e., semi-predictive optimization methods or fully-predictive methods).

In this section, the muscle redundancy problem and the routines to solve it are presented. Then, problem formulations for MSK/NMSK models are presented by dividing them into explicit dynamic formulation (Forward Approaches, Inverse Approaches, and Mixed Approaches subsections) and implicit dynamic formulation (Implicit Approaches subsection). Different simulation solvers corresponding to each formulation are discussed within each subsection.

4.1 Muscle redundancy problem

In the human body, since the number of muscles is more than the number of actuating joints (i.e., there are many different muscle coordinations to generate a specific human movement), a muscle redundancy problem should be solved for motion analysis. To solve the muscle redundancy problem, it seems a logical interpretation to assume that the CNS adjusts muscle forces in an optimized manner [56, 57]. Zajac et al. [58, 59] have presented a thorough review of concepts and routines, proposed up to 2003, to address this challenge. In general, different variations of two optimization routines are used to calculate muscle forces during human tasks: static optimization and dynamic optimization.

Static optimization

Static optimization (SO) is an inverse approach (e.g., experimental motion and externally applied forces are considered as the inputs to the MSK model). In SO, muscle forces are optimized and the cost function is calculated using time-marching; in other words, time frames are solved sequentially. On the other hand, some researchers have used the concept of static optimization in combination with either a forward approach [60] or a mixed approach [55, 61]. In these approaches, the inputs are neural controls (i.e., muscle activations or excitations), which are taken as optimization variables to estimate muscle forces through static optimization. In the meantime, the outputs (i.e., torques or kinematics of the model) are calculated through the mixed or forward approaches and compared with the experimental data to adjust the cost function for the static optimization.

In static optimization routine, different expressions can be used as the cost functions which can be found in [62, 63]. Static optimization solves a different optimization at each time instance and then considers coupling between time instances to simulate dynamic equations. The instantaneous cost function results in low computation time and makes SO suitable for real-time simulations. Although SO is appropriate for semi-predictive optimization-based methods, it is not suitable for minimizing a cost function during a whole task (e.g., metabolic energy) because it may lead to sharp fluctuations in control inputs. In addition, since SO does not account for contraction and activation dynamics, it may cause unphysiological results.

Dynamic optimization

Dynamic optimization (DO) solves a two-point boundary-value problem in the optimal control of the MSK/NMSK models [64]. To solve this problem, there are some studies that have used parameterized optimization to solve the optimal control problem, and they have reported satisfactory results [65,66,67,68].

DO is suitable for the motions affected by the dominant muscle activation dynamics and co-contraction [69]. Since DO, unlike SO, uses the time history of the simulation along with the muscle contraction and activation dynamics, unphysiological results are not obtained, and it is possible to define time-integral cost functions. However, it has high computation time compared to SO.

Other than DO and SO, different variations of them can be utilized to model muscle dynamics by minimizing a cost function that includes a data-tracking term, and muscle activation and contraction dynamics. These variations are discussed in the following paragraphs.

Different variations of static optimization

Modified static optimization (MSO) was proposed to overcome the deficiencies of SO [74]. MSO is similar to SO, with the difference in having nonlinear constraints, which are related to the contraction and activation dynamics.

Another variation of SO has been proposed by Thelen and Anderson [25] to predict muscle activations. This optimization routine is a variant of CTC on the muscle level (not on the joint level), which is why it is called computed muscle control (CMC). CMC is a feedback-control approach and it is a combination of a PID controller, SO and forward dynamics models. It improves the results of the SO model, by simulating the forward dynamics model and feeding back the error to the SO model using the PID controller. CMC is able to track experimental motion data by feeding predicted muscle forces as the inputs to the forward dynamics model of studied movements (e.g., walking [78] and running [79]). Although CMC is more accurate than SO, it has the following drawbacks. First, since foot-ground contact forces are directly applied in CMC, inconsistencies may appear between estimated motion and experimental motion data. Second, because of explicit integration techniques, CMC may have a poor convergence.

For data-tracking using forward simulations, CMC is accurate enough. However, Shourijeh et al. [80] have proposed a type of static optimization that is less complicated and as accurate as CMC, and it is more appropriate for the implementation of the forward approaches. They have solved the muscle redundancy problem using forward static optimization (FSO) and compared it with CMC in terms of computation time and prediction accuracy. The muscle activations have been predicted and motion has been estimated by tracking the movement of an arm model to validate the proposed optimization routine. FSO is similar to MSO, where instead of inverse dynamics, the forward dynamics problem is solved with activations or excitations as inputs. Looking closely, FSO is a special case of nonlinear MPC (NMPC), which optimizes the current time step while considering a single future time step. Another variation of FSO has been utilized in [81, 82]; these studies use different numerical algorithms for the implicit solution of the dynamic equation.

Different variations of dynamic optimization

Typically, in DO, neural excitations are optimization variables that drive the NMSK model through the forward dynamics [69]; this optimization routine is also called forward dynamic optimization (FDO). FSO is like an FDO in which the objective function is optimized at each time step while satisfying kinematic constraint equations of the forward dynamics integration [80]. Anderson and Pandy [72] have utilized FDO to determine the muscle coordination in human gait. They have reported a CPU time of 10,000 hours to solve the optimization for half a walking cycle. FDO is considerably time-consuming since many numerical integrations are required to be computed for motion dynamics equations.

In another study [73], Anderson and Pandy have also claimed that it is not necessary to model muscle activation and contraction dynamics for walking analysis because they have little effect on the computed muscle forces. By disregarding muscle activation and contraction dynamics in the optimization problem, the consistency with muscle physiology was reduced but the numerical calculation became faster [63]. Although FDO without muscle dynamics is faster, to better assess individual muscle function, muscle activation and contraction dynamic models are essential.

Sometimes in DO, muscle forces can also be the optimization variables to produce desired joint torques obtained from the inverse dynamics problem of an MSK model [70], so-called inverse dynamic optimization (IDO). Some researchers use the concept of dynamic optimization, in a forward/inverse approach and consider different inputs as optimization variables to solve the time-integral cost function [71].

To increase the computation speed, IDO with the inverse dynamics approach is used instead of FDO. In IDO, muscle dynamics can be considered as differential constraints [70]; satisfying muscle dynamics as constraints is faster than directly solving the muscle dynamics. To further increase the computation speed, the muscle constraints can also be neglected in IDO. However, the prediction accuracy may decrease and unphysiological results may be obtained.

To increase the prediction accuracy of IDO (when muscle constraints are not included), IDO can be combined with a forward approach that includes the muscle contraction/activation dynamics (i.e., paths from 0 to \(1/2\) in Fig. 1) [75]. This optimization routine, which is called inverse-forward dynamic optimization (IFDO), can also be combined with the forward dynamic model of the MSK model to generate a correction control input to the optimization problem (i.e., feedback-control approach); this gives the so-called inverse-forward dynamic optimization control (IFDOC) [75].

Ackermann [74] has used another variation of IDO, so-called extended inverse dynamics (EID), to solve the muscle redundancy problem by inverse dynamics equations. In EID, the inputs to the optimizer are the muscle forces along the corresponding tendons (path from 6 to 2 in Fig. 1). Once the optimization problem was solved, the activations and neural excitations are evaluated by inverting contraction (i.e., following the path from 2 to 1 in Fig. 1) and activation dynamics (i.e., following the path from 1 to 0 in Fig. 1), respectively. EID is analogous to MSO, but in MSO the optimal problem is solved instantaneously and the results of a time step are only dependent on the results of the previous time step. The computational load of EID is also less than FDO, and in contrast to SO, it considers contraction and activation dynamics together with a time-integral cost function [57]. However, the feasibility of EID is restricted by the size of the optimization problem.

To overcome some limitations of EID, Quental et al. [77] have proposed the window moving inverse dynamics optimization (WMIDO). In WMIDO, a window is considered to be moving across \(k\) instants of time until the muscle redundancy problem is solved. Using this routine, the researchers are able to fully simulate the muscle dynamics.

Another type of dynamic optimization is the neuromusculoskeletal tracking (NMST) which has been developed by Seth and Pandy [71] to predict muscle forces by minimizing the torque-tracking error and muscular effort. NMST has two stages; in stage 1, the inverse SK model (path from 6 to 3) with sliding-mode tracking is used to predict joint torques. In stage 2, the forward neuromuscular dynamics (path from 0 to 2) is used to obtain optimal muscle forces such that the muscular model (path from 2 to 3) gives a torque close to the predicted torque in stage 1.

In addition to the unknown muscle force prediction, if some model parameters should be identified in an IDO problem, single inverse dynamic optimization cannot solve the problem. Rasmussen et al. [76] have proposed an optimization routine called inverse-inverse dynamic optimization (IIDO) that solves this issue by introducing an outer inverse dynamic parameter identification [65]. In this routine, both the inputs and outputs of the inverse dynamics are optimized through an outer optimization loop around the inverse dynamics in order to identify model parameters by maximizing the metabolic efficiency of the human task.

Other routines

There are some other routines for solving muscle redundancy problem. But, since they cannot be easily classified according to SO or DO, they are discussed in this section.

In another approach, an analytical optimization technique has been used by Challis and Kerwin [83] to predict muscle forces. However, the evaluated forces are not bounded. Hence, this optimization routine may result in negative values for muscle forces, which is unphysiological. Terrier et al. [84] have used the pseudo-inverse to evaluate the inverse of the muscle moment arm matrix, then the muscle force constraints were imposed with the aid of the null space definition in quadratic programming. This optimization routine required some simplifications such as considering muscles as string elements. There are also other studies that have used specific tools such as stochastic modeling and muscle fatigue criterion to deal with muscle force sharing problem [85, 86].

Researchers have also used a neural strategy, so-called muscle synergy, for simplifying the control of multiple degrees of freedom. Muscle synergy theory (MST) deals with the muscle force sharing problem with a biologically-plausible aspect [87]. Based on MST, during a task, muscles are activated in a group called synergies. Thus, instead of having multiple muscular actuators, each joint will move by a small number of actuators (synergies). Although MST is computationally efficient [21], mostly it has been used in the inverse dynamics analysis [88,89,90,91]. Yoshikawa et al. [92] have used equilibrium-point-based synergies to translate human movement to a robot. Sharif Razavian et al. [93] have considered muscle synergies based on the task space in the forward dynamic simulations.

Recent studies in the human movement analysis have focused on the optimization-based predictive methods for obtaining novel movements [39, 94, 95]. However, in most of the aforementioned routines, experimental motion data is explicitly tracked; thus, novel movements cannot be predicted. To solve the muscle redundancy problem for novel movements, the optimization problem should be stated in terms of an optimal control problem. In the next section, we will discuss different optimal control methods and the possibility of their use for solving this problem.

4.2 Optimal control methods

Optimal control methods are divided into two categories: indirect and direct methods (see Fig. 4) [96]. Indirect methods use the calculus of variations to obtain analytical expressions of optimal control that are adjoint differential equations. Thus, boundary-value problems should be solved to obtain the optimal solution. However, finding an initial guess for adjoint variables is challenging since most of the variables are not physically meaningful. Furthermore, adjoint differential equations are highly nonlinear; hence, backward integration of those differential equations can be numerically unstable.

Fig. 4
figure 4

Different methods in optimal control theory

In direct methods, it is not required to solve boundary-value problems. Instead, the control and/or state are parameterized and the optimal control problem is solved as a nonlinear programming problem (NLP). Systems with large-scale NLP (e.g., optimal control of human movement) can be solved using different software packages such as interior point optimizer (IPOPT) and sparse nonlinear optimizer (SNOPT). Direct methods are divided into two methodologies: direct shooting [97] and direct collocation [81].

In the direct shooting method, only the control inputs are parameterized and its computation time is much more than the direct collocation method in which both control inputs and states are parameterized. The direct shooting method computes numerical integration of dynamic differential equations during the optimization process, while the direct collocation method considers the dynamic equations as algebraic constraints, thereby not needing to compute explicit integration. However, convergence in direct collocation method heavily relies on a good initial guess, which can be challenging to define.

4.3 Forward approaches

In forward approaches, all dynamic equations are solved by forward integration and the muscle redundancy problem is addressed using one of the optimization routines with the forward approach discussed in the Muscle Redundancy Problem section (Sect. 4.1). Figure 5 illustrates the order of the different stages to generate forward approaches for MSK/NMSK models.

Fig. 5
figure 5

The workflow of the forward approaches for MSK/NMSK models

Any simulation solver that uses SO [69, 73], FDO [65,66,67,68,69], or FSO [81, 82, 98] to solve the muscle redundancy problem in an MSK/NMSK model is an optimization-based predictive method for a forward approach.

Since experimental data are not always available, and also semi-predictive optimization-based methods are not good for the prediction of novel motions, some biomechanics researchers have focused on the forward approaches without data-tracking [39, 99] using either the simulated annealing algorithm or direct shooting method.

Using the simulated annealing algorithm, Miller [99] has developed a 3D NMSK model to fully predict human gait by minimizing metabolic energy expenditure without data-tracking. To determine metabolic energy expenditure, he has considered five methods that differ in their treatment of muscle activity, muscle lengthening, and eccentric work. Then, he has compared the methods in terms of their predictive abilities. In this research, muscle activation and contraction dynamics have been developed based on the Hill-type muscle models. All five models have predicted similar speeds, step lengths, and stance phase duration.

Porsa et al. [39] have compared two direct optimal control methods (i.e., direct shooting and collocation methods) in terms of computation time. Note that direct collocation method is an implicit approach and its corresponding methods are discussed in the Implicit Approaches section (Sect. 4.6). These two control methods have been implemented on a planar MSK model to predict joint motions and muscle activations for the highest vertical jump without tracking experimental data. The foot-ground contact has been modeled using eight contact spheres per foot. The results showed that both methods converged to the same solution when their initial guesses are the same, but direct collocation converged up to 249 times faster than direct shooting.

4.4 Inverse approaches

In inverse approaches, as shown in Fig. 6, all dynamic equations are solved inversely. Such approaches have been proposed to avoid forward integration problems and semi-predictive optimization-based [94] or fully predictive [24] methods can be used to solve the simulation problem. The methods that use IDO [70], EID and MSO [74] in their muscle redundancy problem are types of optimization-based predictive methods for inverse approaches.

Fig. 6
figure 6

The workflow of the inverse approaches for MSK/NMSK models

Schiehlen [24] has introduced an optimization-based method to simultaneously predict muscle forces and body motion. In this method, generalized coordinates have been considered as parameterized functions (spline polynomials) [74]. Furthermore, since muscle activations and excitations were required for defining an energy cost function and optimization constraints, those have been obtained by feeding muscle forces in inverse muscle contraction and activation dynamics. Finally, muscle forces and motion polynomials for an unsymmetrical walking have been evaluated by minimizing the energy cost and deviation from normal walking.

4.5 Mixed approaches

Inverse skeletal-forward neuromuscular approaches

For human gait analysis, inverse skeletal-forward muscular models, unlike the forward simulations, do not require two complex and time-consuming elements: the balance controller [100] and foot-ground contact model [101]. As illustrated in Fig. 7, in such approaches, muscle activation dynamics, muscle contraction dynamics and musculoskeletal geometry are generated forwardly and only SK motion dynamics is solved inversely. Then, the joint moments, obtained from the forward and inverse parts, are compared or the predicted results may be updated by a feedback controller (i.e., feedback-control approach). For example, NMST uses the feedback-control approach with inverse-skeletal and forward neuromuscular models. Semi-predictive optimization-based methods for these approaches are generally used to evaluate joint moments [102] and predict muscle activations [61].

Fig. 7
figure 7

The workflow of the inverse-skeletal-forward neuromuscular approaches

Rajagopal et al. [102] have created an open-source high-fidelity 3D MSK model for human lower extremity to study human gait. The model includes an SK upper body and an MSK lower body. The musculotendon parameters are obtained from both cadavers and young healthy subjects. First, they have solved forward muscle activation and contraction dynamics to predict muscle activations and joint moments using CMC through tracking experimental motion data. To verify their model, they have compared the predicted muscle activations and joint torques with EMG data and inversely obtained joint torques, respectively. They could generate muscle-driven simulations in less than 10 minutes; hence, their model is computationally fast. The model and experimental data are available on https://simtk.org/projects/full_body/.

Yamasaki et al. [61] have proposed a general semi-predictive optimization-based method for predicting muscle activations with a low computational cost. Their method has been validated for a single-joint NMSK model. First, a forward neuromuscular model and an inverse-skeletal model have been developed for a general model with N joints and M musculotendon units. Then, the muscle redundancy problem has been solved using static optimization and compared with experimental joint torques in order to predict muscle activations. The main difference between the proposed method and similar methods is the use of static optimization as a feedback controller (i.e., optimization-based method for feedback-control approach). Furthermore, in addition to the motion data, first to fourth derivatives of the motion data have been applied as the input to the model and they have been used in defining constraints for the static optimization.

Since EMG-driven models are used in inverse-skeletal-forward neuromuscular simulations, their results are highly dependent on EMG data. The shortcoming of such simulations is that the EMG data may be adversely affected by cross-talk [103], movement artifacts [104] and preprocessing such as choice of filter type and cut-off frequencies [105]. Furthermore, activities of the deeply located muscles cannot be recorded by surface EMGs. Thus, researchers decided to predict muscle excitations in addition to joint moments to overcome the shortcomings of measured EMG data [106, 107].

Sartori et al. [106] have presented a 3D NMSK model to predict muscle excitations and joint torques using motion data from five healthy subjects during walking and running. Their model could also predict the excitations of some deeply located muscles, which were missed during EMG data recording by surface EMGs. First, using experimental EMG data and motion data, they have forwardly solved muscle activation dynamics, muscle contraction dynamics and musculoskeletal geometry to determine joint torques. Then, they have compared obtained joint torques with experimental joint torques, determined by inversely solving motion dynamics for experimental motion data, to obtain joint torque errors. Finally, static optimization has been utilized to predict muscle excitations by tracking experimental joint torques and EMG signals. This is done by minimizing the sum of squared joint torque and EMG errors.

Shourijeh et al. [107] have developed a forward neuromuscular model and inverse-skeletal model to predict muscle excitations, muscle forces and joint moments by tracking the joint moments inversely obtained from experimental motion data. They used a genetic algorithm (GA), sequential quadratic programming (SQP) and nonlinear simplex optimizer in the aforementioned sequence to achieve convergence for their optimization problem. The predicted muscle excitations were in a good correlation with the experimental EMG data for human gait.

In another study, Meyer et al. [95] have predicted joint torques using patient-specific musculoskeletal geometry. To reduce the errors stemming from scaled geometry, this study presents a method to automatically adjust the EMG-driven NMSK model based on the patient’s musculoskeletal geometry including muscle-tendon lengths, velocities and moment arms. The model parameters are calibrated by comparing the calculated joint moments with the obtained joint moments from the inverse motion dynamics. The results have shown that with geometric adjustment, the predicted joint moments are more accurate than the models without those adjustments. All the data and model of this study are available on https://simtk.org/projects/emgdrivenmodel.

Unlike most EMG-driven NMSK models, which predict the joint moments using scaled generic musculoskeletal geometry, subject-specific models can predict joint torques using subject-specific musculoskeletal geometry. In each subject, the neural excitation patterns can be obtained by EMG data. Thus, NMSK models can be developed as subject-specific models. Such models can be used to assist patients with neurological disorders since EMG signals can identify the error in neurological control [108].

Ma et al. [109] have modified the calculation efficiency and prediction accuracy of the current EMG-driven models. They have developed a patient-specific EMG-driven NMSK model including four parts: (1) MSK model that is developed based on patient’s motion and external load data to evaluate muscle kinematics (i.e., moment arms and musculotendon lengths). (2) EMG-driven model in which forward dynamics of muscle activation and contraction are solved using the muscle geometry obtained from (1) and raw EMG data to predict joint moments. (3) Inverse motion dynamics that has been applied to determine reference joint moments from patient’s motion data. (4) Parameter optimization in which parameters of muscle activation and contraction dynamics are optimized through joint moment error tracking. This method can accurately predict joint moments in real-time simulations.

Forward skeletal-inverse neuromuscular approaches

Unlike inverse approaches, in the forward skeletal-inverse neuromuscular approach, instead of motion inputs, muscle forces are parameterized [98] as shown in Fig. 8. Shourijeh and McPhee [98] have developed a 2D NMSK model considering a volumetric foot-ground contact. They have parameterized muscle forces using Fourier series. Human motion and muscle activations have been predicted using global parameterization within an optimal control problem. The predicted results were quite in good agreement with the experimental data. The method of this paper is somehow similar to the method presented in [24], while in this paper muscle forces are parameterized and motion dynamics are solved forwardly.

Fig. 8
figure 8

The workflow of the forward skeletal-inverse neuromuscular approaches

Feedback-control approaches

Any simulation solver that uses CMC [25] or IFDOC [75] to solve the muscle redundancy problem in an MSK/NMSK model is a type of optimization-based method for feedback-control approach.

Ehsani et al. [110] have developed a general MSK model to predict muscle activations and muscle force patterns for an arbitrary human task. To this end, first, motion dynamics of the skeletal model have been developed and then musculoskeletal geometry and muscle contraction dynamics have been added to the skeletal model. Finally, CMC has been exploited to predict muscle activations to drive the MSK model by tracking experimental motion data. To validate the proposed model, a biceps curl has been simulated using this algorithm. The predicted muscle activations were quite close to EMG data captured for a biceps curl.

4.6 Implicit approaches

By parameterizing the control inputs and states, direct collocation methods convert the system dynamics to an algebraic equation. Thus, since these methods do not explicitly use the forward/inverse dynamics approaches, they are types of implicit approaches. As it was discussed in the forward approaches, experimental data are not always available; thus, some biomechanics researchers have focused on the mixed approaches without data-tracking [39, 40, 111,112,113] using direct collocation methods to predict novel movements.

Lee and Umberger [111] have created a framework to predict motion and muscle activations for MSK models using the direct collocation method. Motion and muscle activations (which have been considered as states and control inputs of the optimization problem, respectively) have been predicted simultaneously during the optimization process. Muscle activation and motion dynamics have been extracted using the biomechanical modeling software: OpenSim. The authors have used the IPOPT solver in MATLAB to apply direct collocation method for their optimization. Their model and method are available on http://simtk.org/home/directcolloc.

Lin and Pandy [113] improved the capabilities of CMC by using the combination of CMC and direct collocation. They have proposed a semi-predictive optimization-based method to predict muscle excitations of walking and running tasks using both CMC and direct collocation methods. CMC has been exploited to determine a feasible initial guess for the state and control variables of direct collocation. Their method consists of three steps; in the first step, CMC used the measured motion and contact forces to calculate muscle excitations (control variables) and reproduce the motion (state variables). In the second step, the calculated state and control variables from the previous step were discretized and a foot-ground contact model, simulated using six contact spheres under each foot, was used to generate an initial guess for the next step by minimizing the defect errors to satisfy the defect constraints. Defect constraints associated with the generalized speeds were generally larger than those corresponding to the other state variables due to inconsistencies between kinematics and ground reaction forces. In the last step, a direct collocation method was used to estimate the motion and predict muscle excitations by minimizing a multi-objective cost function including a data-tracking term and a physiological term.

Recently, Lin et al. [40] have exploited the direct collocation method to propose a fully-predictive method for the prediction of motion, muscle excitations, foot-ground contact forces and also joint contact forces. They have developed an NMSK model to study human gait at different speeds, including a 3D model of articular contact for the knee joint and a foot-ground contact model. First, a data-tracking collocation optimization has been solved to estimate a feasible initial guess. Then, independent of experimental data, a predictive collocation optimization has been developed to predict novel patterns for human gait.

Meyer et al. [112] have also developed a patient-specific EMG-driven NMSK model that is synergy-controlled and able to predict walking motions for post-stroke individuals. In this method, muscle synergy is used to solve muscle redundancy problem. In this study, the developed method has been compared with muscle activation-controlled and torque-controlled methods in terms of the accuracy of walking motion prediction using the direct collocation method. Since direct collocation method is sensitive to the initial guess, this study has presented a practical procedure to estimate a meaningful initial guess and predict the motion. First, a “calibration optimization” was applied to determine contact parameters by tracking walking at \(0.5~\mbox{m}/\mbox{s}\). Then, the “tracking optimization” was used to determine the initial guess for the walking speed of \(0.5~\mbox{m}/\mbox{s}\) by tracking walking at the same speed. Finally, the “prediction optimization” was applied for different walking speeds. The accuracy of the method is checked by applying the prediction optimization for the \(0.5~\mbox{m}/\mbox{s}\) walking. Motion prediction is done for the \(0.8~\mbox{m}/\mbox{s}\) speed by tracking walking at \(0.5~\mbox{m}/\mbox{s}\), and a challenge-based study is done for the speed of \(1.1~\mbox{m}/\mbox{s}\). All three control methods (i.e., synergy-controlled, muscle activation-controlled and torque-controlled methods) predict the motion well for \(0.5~\mbox{m}/\mbox{s}\) walking by tracking the same speed. Only the synergy-controlled and muscle activation-controlled methods could predict \(0.8~\mbox{m}/\mbox{s}\) (fast) walking by tracking \(0.5~\mbox{m}/\mbox{s}\) (slow) walking. Only the synergy-controlled model has predicted \(1.1~\mbox{m}/\mbox{s}\) (very fast) walking without any data-tracking.

Sometimes experimental data is also used in the direct collocation methods. De Groote et al. [94] have used the direct collocation method to solve the muscle redundancy problem and predict muscle activations given experimental motion data. First, the experimental motion data has been applied to an MSK model in OpenSim to inversely generate joint moments. Muscle geometry has been also obtained from the MSK model in OpenSim. Then, the joint moments and muscle geometry have been used in the optimization process to solve muscle contraction dynamics for predicting muscle activations. Their method has been implemented on both 2D and 3D MSK models. In this research, two different formulations have been considered for muscle contraction dynamics. In the first formulation, tendon force has been considered as a state to describe contraction dynamics as algebraic constraints. In the second formulation, muscle length has been assumed as a state. The results proved that the first formulation, in contrast to the second one, could converge to an optimal solution in all cases for all initial guesses.

5 Neural networks

To predict/estimate human motions and joint torques/muscle forces, model-based optimization routines are usually exploited. These routines are used to either estimate and predict based on experimental data or fully predict without data-tracking.

A neural network (NN) can also be used for human motion prediction. With suitable training, a NN can provide real-time predictions and simulations for complex human tasks like gait. Some of the applications of NN in clinical biomechanics are discussed in [114]. NN methods entail two steps: the first step is the training step in which experimental data are used to estimate NN parameters using an optimization. The second step is the running step, which predicts outputs in real-time for a set of inputs.

So far, three NN methods have been used to predict joint moments: feedforward neural network (FFNN) [115], recurrent neural network (RNN) [116] and wavelet neural network (WNN) [117]. In the first two methods, since the initial weights are randomly tuned, the training process may take longer than the last method. Furthermore, network output may converge to a local minimum in FFNN and RNN. However, since WNN exploits the theory of wavelets and NN at the same time, the output will converge to a global minimum, because WNN simultaneously benefits from the localization property of wavelets and general approximation of NN.

Ardestani et al. [117] have developed a WNN to predict lower extremity joint moments in real-time. First, to validate the method, the joint moments predicted by WNN have been compared with those calculated by inverse motion dynamics. Measured EMG and ground reaction force (GRF) data have been assumed as WNN inputs. Measured motion and GRF data have been considered as the inputs of the inverse motion dynamics. Then, to show the superiority of WNN over a conventional neural network method in biomechanics (e.g., FFNN), those methods have been compared in terms of calculation accuracy. Joint moments have been predicted for three types of walking: normal, medial thrust, and walking pole gaits. The results have shown that WNN has higher accuracy than FFNN and higher computational speed than methods for inverse approaches.

Many research studies have applied FFNN to predict human motion. Zhang et al. [118] have focused on the human model posture prediction using FFNN. Isaksson et al. [119] have also predicted lung tumor motion during respiration in advance using FFNN. Due to the aforementioned shortcomings of FFNN, radial-basis networks (RBN) have become the most popular in the motion prediction area, because it uses the smallest number of parameters when simulating a problem with a great number of outputs. Furthermore, the predicted results using the RBN method converges to a global minimum.

Bataineh et al. [120] have used a general regression neural network (GRNN), which is a type of RBN, to predict human motion in real-time for walking and jumping on a box. In the training step, an optimization has been performed to inversely solve the motion dynamics to determine model parameters for a GRNN. In this optimization, design variables were joint angles, parameterized by splines, and the cost function was a combination of weighted motion tracking error and summation of joint torques. In the running step, GRNN, which had been trained in the training step, has been used. In this step, GRNN was able to predict motion in a fraction of second, while the training step took around 1–40 minutes.

Although a NN can provide real-time predictions and convergence to a global minimum, it requires a considerably large database of human motions to train a high-fidelity NN. Since the system dynamics are not modeled in NN methods, their globally converged results may be inaccurate if the collected experimental data is not sufficient or accurate.

Therefore, compared to the optimization-based methods, NN methods are less reliable. Optimization-based methods consider motion and joint torques/muscle forces as design variables of the optimization to avoid forward integration, which is considerably time-consuming. This feature helps to achieve fast simulations without using NNs or another machine learning method. The other feature is that such methods do not necessarily require time histories of motions or joint torques/muscle forces for prediction [110].

6 Summary and future work

The main goal of this review article is to highlight the features of the recent analysis methods of human motion (mainly for gait) and to draw a detailed comparison between these methods in terms of problem formulation and simulation solver. To this end, the recently-developed problem formulations and simulation solvers were classified and separately discussed for SK, MSK, and NMSK models to assist researchers to select an appropriate analysis method depending on their research purpose.

Dynamic formulation approaches are either explicit or implicit. Explicit approaches were divided into forward, inverse and mixed approaches. A mixed approach may exploit the best features of forward and inverse dynamic approaches. In the explicit dynamic formulation, the system dynamics are directly integrated or differentiated while in the implicit dynamic formulation, the system dynamics are considered as constraint equations that are implicitly satisfied inside an optimization-based simulation.

Once a dynamic formulation is selected for a human model, a solver is selected to simulate the model for a specific task. Simulation solvers are either non-optimization- or optimization-based. They are categorized according to semi- and fully-predictive methods, depending on whether a data-tracking term exists in the solver or not, respectively. Semi-predictive methods are pervasive because of their intrinsic realism. However, they require a comprehensive database of human motion and we cannot study the effects of changes in the task condition since the motion data are previously prescribed for the model. In contrast, fully-predictive methods do not require a motion database so they can be used to study how the changes in task conditions affect the results. The prediction may be more accurate if both the semi- and fully-predictive methods are simultaneously exploited.

A brief overview of the most significant methods (since 2014) for human task analysis has been categorized according to SK, MSK and NMSK models in Tables 1, 2 and 3, respectively. The tables include the problem formulations and simulation solvers recently exploited for human task analysis and since the main focus of this paper is on gait task, the aim of the authors was to primarily cover the references on gait analysis in these tables. A few non-gait applications are included because of the significance of the analysis methods.

Table 1 Recent methods to analyze SK models
Table 2 Recent methods to analyze MSK models
Table 3 Recent methods to analyze NMSK models

Among the problem formulation approaches classified in this review paper, mixed and implicit approaches have been the most popular in the recent literature on predicting human gait.

Since SK models are simpler than MSK/NMSK models, they enable researchers to focus on more complex control methods by disregarding muscle dynamics. However, for most biomechanics applications, muscle dynamics should be considered to predict more realistic motions and joint contact forces.

Regarding the recent literature on MSK/NMSK models, there are very few research studies on fully-predictive simulations of novel gait motions independent of motion data-tracking [40, 112], and there is still a need to decrease the computation time of the fully predictive simulations and increase the accuracy of the predicted results. Promising future avenues to increase the speed of predictive gait simulations include the use of symbolic programming (to generate optimized simulation code and exact derivatives) and the use of fast near-optimal model-predictive controllers.

Recent fully-predictive studies are limited by numerical programming, which requires a finite difference method to evaluate the gradients and Hessians in the optimization problem. However, finite differencing is an error-prone methodology and may result in unreliable results for higher-order derivatives. Studies such as [121,122,123,124] have shown that symbolic dynamic equations can resolve this issue. Furthermore, the use of symbolic equations can enhance the accuracy and speed of optimal control methods [125].

To model the foot-ground contact in these fully-predictive simulations, a finite number of contact points, moving relative to the foot, has been used. Hence, these foot-ground contact models can be assumed as multiple point contact models, in which the normal contact force is evaluated by the depth of penetration using the Hunt–Crossley method [126]. However, since the Hunt–Crossley method is restricted to the contact points (not the contact surfaces), an unnatural foot shape is obtained. In a recent study, Brown and McPhee [127] have developed an ellipsoidal foot-ground contact model that may have better accuracy and higher calculation speed than its comparable foot-ground contact models.

To the best of the authors’ knowledge, the results of the toe joint including its torque, motion and relevant muscle activations have not been included in predictive simulations even though toe joints have an important role in gait analyses [128]. Thus, the accuracy of gait simulations may be improved by including toe joints, and by replacing multiple point contact foot ground models with volumetric or other distributed methodologies that better capture the foot geometry.

Finally, future predictive gait simulations may use a combination of model-based and machine learning methods (e.g., NN), to exploit the best features of each method to obtain fast and accurate simulations of human gait.