Scalable closed-form trajectories for periodic and non-periodic human-like walking
Salman Faraji Auke Jan Ijspeert







EPFL
Switzerland
salman.faraji@epfl.ch




We present a new framework to generate human-like lower-limb trajectories in periodic and non-periodic walking conditions. In our method, walking dynamics is encoded in 3LP, a linear simplified model composed of three pendulums to model falling, swing and torso balancing dynamics. To stabilize the motion, we use an optimal time-projecting controller which suggests new footstep locations. On top of gait generation and stabilization in the simplified space, we introduce a kinematic conversion method that synthesizes more human-like trajectories by combining geometric variables of the 3LP model adaptively. Without any tuning, numerical optimization or off-line data, our walking gaits are scalable with respect to body properties and gait parameters. We can change various parameters such as body mass and height, walking direction, speed, frequency, double support time, torso style, ground clearance and terrain inclination. We can also simulate the effect of constant external dragging forces or momentary perturbations. The proposed framework offers closed-form solutions in all the three stages which enable simulation speeds orders of magnitude faster than real time. This can be used for video games and animations on portable electronic devices with a limited power. It also gives insights for generation of more human-like walking gaits with humanoid robots.



Scalable closed-form trajectories for periodic and non-periodic human-like walking
    Auke J. Ijspeert
    Accepted 23/03/2018
==================================================================================





§ INTRODUCTION

The musculoskeletal system of human has multiple degrees of freedom and many muscles used to produce a wide range of activities. In particular, human walking features many complex motions in the lower-limbs produced by gravity and muscle forces. This complex system can be simplified to reproduce walking behaviors in simulation environments, depending on the level of details needed. The limbs can be simulated with multi-segment rigid bodies while rotary actuators in the joints can play the role of muscles to some extent. Such huge simplifications are probably enough to produce very realistic locomotion behaviors, however, a powerful controller is needed to stabilize the gait. A unified framework is hard to achieve given different anatomical properties, gait parameters, styles of motion and environment conditions. Besides, a plausible controller in this framework should easily handle transition conditions as well as capturing disturbances to simulate interactions with the environment. Many successful controllers are proposed in <cit.> for example which use motion-capture data, simplified models or dynamic equations to achieve amazing walking behaviors.

In this work, we mainly focus on simulating essential principles of walking in the lower-limbs. We propose a method that combines trajectories of 3LP, a simple walking model developed earlier <cit.>, with additional features that result in a human-like gait. We use a previously developed controller called time-projection <cit.> to stabilize the gait and perform transitions. Recorded human data is also used to validate trajectories quantitatively. Thanks to linearity of the 3LP model and simplicity of the controller, we offer closed-form solutions for all lower-limb trajectories of human walking in a wide range of parameters. Our method, therefore, captures the main principles of walking with microsecond calculations. It can simulate walking behaviors multiple orders of magnitude faster than physics-based simulators which work at best in real time. This could be used for video games and animations especially on portable electronic devices with limited computational capabilities.

Animating walking behaviors is primarily inspired by biomechanics studies which quantify human gait properties and explain the mechanics behind. There are multiple techniques used to reproduce the behavior, ranging from pure interpolation of human data to detailed physics-based simulations that implement low-level control rules to mimic human behavior. This section reviews different walking animation methods proposed in the literature to highlight some key inspiring ideas. We classify the existing literature into three main categories: interpolation of recorded data, artificial trajectory synthesis, and physics-based simulation. We are more interested in a trade-off between genericity of the method and computation times. In this regard, each category provides certain advantages and limitations discussed as follows. 



 §.§ Interpolation of Recorded Data

Using a motion-capture system and markers placed on different body parts, one can capture human locomotion trajectories in different conditions. Choi et al., for example, used a motion library to plan bipedal locomotion in un-structured environments <cit.>. They planned probabilistic road-maps which determined a sequence of character configurations based on foothold locations. Similarly, Lee et al. used a human motion database to control animated avatars <cit.>. A Markov process was used in this method to plan motion phases while blending transition rules were applied to produce smooth motions based on a relatively large database of recorded data in non-periodic walking conditions. Similarly, a single set of periodic walking trajectories were scaled in <cit.> and applied to a robot after fixing dynamical consistency. 

Assuming a fast data query from the database, interpolations could be done relatively fast in terms of computations. However, if dynamical consistencies are considered like <cit.>, a small modification of trajectories is needed. Such modification might not be visually notable, but it might require expensive iterative computations. Besides, the quality of animations might heavily depend on the quality of recorded data. The method in <cit.> for example requires enough data-points to produce transient conditions. It is also sensitive to glitches and slippages. In a broader perspective, generalizing interpolations to characters with different anatomical properties than the dataset is feasible but challenging <cit.>. Covering a wide range of locomotion parameters such as speed, frequency, and style is also hard with a sparse database <cit.>. Besides, a realistic simulation of interactions with the environment seems impossible in this approach due to the absence of physics in the interpolations.



 §.§ Artificial Trajectory Synthesis


A similar approach is to consider parametric trajectories instead of interpolating a motion database. Given the wide range of kinematic data reported in biomechanics studies, one can design empirical trajectories with appropriate phase and adjustable amplitudes for certain variables in the system. The approach proposed in <cit.> for example considers sinusoidal variations for pelvis translations and rotations. It also considers similar trajectories for the hip, knee, ankle, thorax, shoulder and the elbow joints. A predefined phase and adjustable amplitude (as a function of velocity) for each of these trajectories can produce walking motions in a wide range of speeds. The relation of step frequency and speed is also taken from human data while an inverse kinematics algorithm slightly modifies trajectories to ensure contact constraints. The parametrization process can be done over key-frames too. The approach proposed in <cit.> for example interpolates between different postures defined for certain gait events to obtain continuous trajectories. By changing the key-frames only, plausible walking trajectories can be obtained for different inclined terrains and walking speeds. The speed-frequency relation, as well as the double-support time ratio, is taken from human data in <cit.>. 

Parametric trajectories have a wide range of applications in robotics. Handharu et al. used parametric trajectories for the foot and the knee to produce walking motions with toe and heel joints <cit.>. Similarly, Ogura et al. used parametric trajectories for the waist roll, foot positions, and the knee joints to produce stretched-knee walking patterns <cit.>. The approach proposed in <cit.> used similar prescribed knee trajectories and optimized other parametric trajectories to find a ZMP-stabilized gait, validated on the WABIAN-2 robot. ZMP refers to Zero Moment Point around which contact reaction forces produce no moment in the horizontal direction. Manually designed Center of Mass (CoM) height trajectories together with a robust inverse kinematics method could later produce stretched-knee gaits on a refined version of this robot <cit.> as well. Although dynamic consistencies were resolved in all these methods <cit.> by proper regulation of ZMP trajectories <cit.>, no online control method was proposed. Heerden, on the other hand, used sinusoidal reference trajectories for the pelvis and optimized jerks in a Model Predictive Control setup to plan CoM trajectories with variable heights <cit.>. This framework offered reactive stepping and online control, though costly in terms of computations, and missing the knee and ankle joints. The method proposed in <cit.> offers a faster online control based on the capturability control framework <cit.>, though uses manually tuned set-points for the knee joint in different phases of motion to achieve stretched-knee walking. 

Parametric trajectories are easy to design and tune for specific gaits, but hard to generalize for a broader range of walking conditions, e.g., at different speeds, frequencies, inclinations, walking styles, foot lifts, character sizes, etc. So far, we have only discussed trajectory generation methods (interpolation and synthesis) that impose kinematics. An alternative approach would be to compromise the animation speed and simulate system dynamics directly by time-integration to let the kinematics emerge automatically, i.e. taking dynamics into account. 





 §.§ Physics-Based Simulation

Simulating the full dynamical model simply translates to a complicated control problem. The walking system has multiple degrees of freedom while the type of task is hybrid, involving a change of mechanical model in each phase of motion (i.e., left, right or double support). Very similar to the few interpolation approaches mentioned earlier, one can use recorded human data or parametric trajectories to produce animations via position control. However, such open-loop controller might only be stable over a small set of states. To tackle this problem, Yin et al. simplified walking dynamics with a single mass and improved stability by suggesting footstep adjustments <cit.>. In their simulation framework called SIMBICON, they obtained desired joint angles by applying a Fourier transformation on the recorded human data and taking only essential harmonics. While replicating the recorded trajectories, they used a simple proportional controller in the stance hip to regulate the trunk orientation. A control rule was also introduced to adjust the next footstep location as a linear function of CoM relative position and velocity (with respect to the stance foot) by tunable gains. Using task-specific parameter tunings, SIMBICON was able to achieve realistic walking gaits with different torso styles, leg lifts, motion directions, and push recovery properties. The method proposed by <cit.> was also very similar to SIMBICON and relied on motion-capture data. However, Tsai et al. used an inverted pendulum model to adjust the footstep locations instead of the original tunable gains used on the relative CoM position and velocity in SIMBICON.

The free parameters of the SIMBICON framework together with initial conditions were later optimized by <cit.> using mechanical power terms in the objective function to produce more natural walking gaits. The optimized framework removed dependency on the motion-capture data and handled inclined walking as well. However, the optimization procedure had to be repeated for characters with different body shapes. Favoring generalization of the controller, Coros et al. also removed any dependency on the motion-capture data and only used few parametric spline trajectories to allow for human-like knee and ankle trajectories <cit.>. They used the inverted pendulum model as a core motion generator with parametric swing leg motions. The resulting trajectories were converted to joint-space via inverse kinematics. In the low-level control, he used small gains to track the desired joint angles in addition to gravity compensation and Center of Pressure (CoP) modulation for better compliance and stability. Assuming a decoupling between horizontal and vertical dynamics, Mordatch et al. used a Linear Inverted Pendulum (LIP) and a Spring-Loaded Inverted Pendulum (SLIP) to describe motions in these directions respectively <cit.>. They formulated a robust nonlinear Model Predictive Control (MPC) problem to plan the motion, although reaching a reactive online control slowed down their simulations considerably. The complete inverse dynamics formulation used by <cit.> could, however, unify the gravity compensation and CoP modulation rules of <cit.> and produced natural upper-body motions. Apart from simplifying the dimensionality problem, inverse dynamics can provide compliance <cit.>, realize imprecise Cartesian plans <cit.> and allow for multi-character interactions <cit.>.

A sub-category of physics-based simulation methods aims at finding task-specific controllers, but not using simplified models. A network of neurons stimulating virtual human-like muscles (neuro-muscular model) can be optimized for example to produce human-like walking gaits at different speeds <cit.>. Likewise, a character-specific optimization of control gains and set-point angles for a musculoskeletal model combined with the SIMBICON stabilization rules can also produce realistic walking behaviors <cit.>. Individual controllers can be composed together to cover a wider range of tasks using support vector machines <cit.> or interpolation of control laws <cit.>. Off-line optimizations can also achieve more versatility by using exteroceptive sources of information. The reinforcement learning method proposed in <cit.> for example can achieve robust locomotion in rich environments by using very simple reward functions. Another promising method of generating locomotion behaviors aims at optimizing a sequence of end-effector trajectories through contact-invariant optimizations <cit.>. This approach can produce realistic walking gaits <cit.>. However, a considerable off-line optimization effort is needed to obtain a single walking gait.



 §.§ The Proposed Method

Although physics-based simulations can potentially produce various kinds of locomotion scenarios <cit.>, the control algorithm remains a big challenge. Even for very simple walking behaviors, these simulations can hardly go faster than real-time <cit.>. However, since dynamic equations are being integrated, interactions with the environment are made possible given stable controllers. Direct integration of multi-body symbolic equations <cit.> would slightly speed up the animation <cit.>, but the effect of interaction forces should be included in the symbolic equations. A much faster speed can be achieved via interpolation or trajectory synthesis methods, however, producing interactions is not possible. In this work, we propose a method that can cover a wide range of walking conditions generated by physics-based simulations <cit.> while offering 2-3 orders of magnitude faster simulation speeds. We use symbolic equations of a linear simplified model (3LP) <cit.> that has closed-form solutions. While physics-based simulations need sub-millisecond integration times and hardly reach real-time factors, we use closed-form solutions of 3LP (as fast as microseconds only) to update the state only at display frames (e.g., 30 frames per second). This boost of speed easily makes real-time crowd walking simulations possible. It also enables computationally limited or portable electronic devices to simulate interactive walking scenarios easily. 

To be precise, the proposed method is a novel hybrid combination of physics-based simulations and interpolation methods summarized in Fig.<ref>. The physics of walking in our method is encoded in the 3LP model which is composed of three linear pendulums to model falling, swing and torso balancing dynamics. 3LP supports walking at different speeds, frequencies, double-support times, torso bending styles, terrain inclinations and subject heights and weights. Our symbolic equations also support external forces and torques applied to the torso while a previously developed controller <cit.> automatically captures these perturbations by adjusting footstep locations. This controller supports all the previously mentioned walking conditions without any parameter tuning. Since masses in the 3LP model are fixed to constant-height planes, we introduce a kinematic conversion to produce height variations. This part of our method involves adaptive trajectory synthesis without any tuning of parameters unlike the literature <cit.>. Given a 3LP state (pelvis, torso and toe positions), our conversion adaptively varies the pelvis height to produce human-like excursions <cit.>, lifts the swing toe to provide ground clearance <cit.> and resolves a single Degree of Freedom (DoF) in each leg to produce thigh-shank-foot kinematics. These variations are all adaptive, independent of the previously mentioned walking conditions and calculated in closed-form.



 §.§ Novelties

While covering a wide range of walking conditions, the proposed method simplifies physics-based simulations favoring faster computations. The 3LP model <cit.> and the time-projection control <cit.> are originally developed to control a real robot for walking and push recovery applications <cit.>. Therefore, the novelty of this work mainly lies in adding torso styles and terrain inclination features to the 3LP model and more importantly, introducing an adaptive kinematic conversion to produce human-like gaits from 3LP states. This work mainly focuses on producing lower-limb kinematic trajectories while upper-body and pelvis oscillations can be included via predefined scalable trajectories similar to <cit.>. An essential advantage of the 3LP model and time-projection control is in closed-form future predictions, given walking speed and external disturbance profiles. The proposed kinematic conversion method also produces human-like postures while preserving this property. In other words, the current converted posture does not depend on the previously converted postures. The entire method, therefore, enables a fast approximation of future kinematics in few microseconds which makes it suitable for model predictive control too. In the next two sections, we briefly introduce the 3LP model and the time-projection control scheme. Next, we formulate our adaptive kinematic conversion method. We continue the paper by demonstrating different walking gaits and conclude by a discussion on the supported range of walking conditions as well as promising aspects for future work.











§ 3LP MODEL

The 3LP model <cit.> is composed of three linear pendulums to simulate falling, swing and torso dynamics in walking. These pendulums are connected with a mass-less rigid pelvis which stays in a constant-height plane, similar to the LIP model. Each pendulum approximates a limb with a point mass in the middle and an inertia in the sagittal and lateral planes, but not around the pendulum rod itself. All masses stay in constant-height planes, assuming ideal prismatic actuators in the legs like the LIP model. Apart from the prismatic actuators, 3LP has three groups of two rotary actuators in lateral and sagittal directions, placed in the stance hip, swing hip and the stance ankle joints. This model simulates no pelvic and torso rotation, assuming ideal stance hip actuators to compensate the internal coupling between the limbs. The role of this actuator is to regulate the torso orientation similar to the control rules used in <cit.>. Figure <ref> demonstrates the 3LP model conceptually with the three pendulums, limb masses, state variables and actuation dimensions.






 §.§ Mechanics

In this article, we skip complicated mechanical equations and refer to the original paper <cit.> where the 3LP model was introduced. In brief, Newtonian equations of motion are written for each limb (and the pelvis) with incoming and outgoing forces and torques. Swing hip and stance ankle actuators are used as inputs. We consider the torques in these actuators as free variables while all other internal forces and torques are resolved by a symbolic combination of mechanical equations. In this paper, we only use swing hip torques for active control and leave the stance ankle torque profiles fixed, i.e., moving the CoP linearly from the heel to the toe or vice versa, depending on the direction of motion. The model state in 3LP is composed of horizontal pelvis and feet positions which together form a vector x(t) ∈ℝ^6. All variables are expressed in a rotated coordinate frame attached to the slope, shown by dashes in Fig.<ref>. The input vector u(t) ∈ℝ^4 also represents swing hip and stance ankle torques. Finally, we define a constant vector v ∈ℝ^4 defined as:

    x(t) = [  x_Swing(t); x_Pelvis(t); x_Stance(t) ],  u(t) = [ τ_Swing(t); τ_Ankle(t) ],  v = [        d; sin(θ+ϕ);   sin(ϕ);   F_Drag ]

which contains the variable d=±1 to determine left or right support phase, the fixed sines of torso bending and inclination angles (θ and ϕ respectively), and a constant sagittal dragging force F_Drag. As discussed later, these constant terms slightly change the periodic gaits, but not the derivation of control rules. All variables are depicted in Figure <ref>. The overall equations of motion are found as:

    d^2/dt^2x(t) = C_x  x(t) + C_u  u(t) + C_v  v

Inclusion of the variable d is only because of a non-zero pelvis width to distinguishes between left and right bouncing. Note that the stance foot is fixed in 3LP and cannot slip. Therefore, the matrix C_x does not influence x_Stance(t) and its derivative (which is equal to zero), ensuring ẍ_Stance(t) = 0 during the swing phase. After each step of motion, the swing and stance feet can be exchanged through multiplying x(t) by the following matrix:

    S_x =   [     ·     · I_2×2;     · I_2×2     ·; I_2×2     ·     · ]


In the original 3LP paper <cit.>, we also derived equations for a double support phase by considering linear contact force transitions. In this case, the equation (<ref>) would keep both ẍ_Stance(t) = 0 and ẍ_Swing(t) = 0. The present paper adds torso bending and inclined walking features too. As mentioned earlier, these are fixed parameters in our model and we do not simulate changing slope or torso angles to avoid violating linearity assumptions. 




 §.§ Closed-Form Equations

By construction, 3LP equations are linear with respect to the state variables and inputs. To obtain closed-form equations for future predictions, it is enough to consider certain swing hip and ankle torque profiles and solve the second order differential equations of (<ref>) symbolically. We consider simple piecewise liner torque profiles which give us enough freedom for control and closely approximate human profiles <cit.>:

    u(t) = u_c + t u_r

the parameters u_c, u_r∈ℝ^4 represent constant and time-increasing terms in both sagittal and lateral directions. With these definitions, closed-form 3LP equations are obtained as:

    q(t) = A(t) q(0) + B(t) u + C(t) v

where q(t) ∈ℝ^12 and u ∈ℝ^8 are:

    q(t) = [ x(t); ẋ(t) ] , u = [ u_c; u_r ]

and 0≤ t ≤ T. Considering a double support phase of a given duration T_ds, the single support phase will have a duration of T_ss = T-T_ds where T is the total step duration. Equations (<ref>) can be modified to consider the double support phase as well for any time t ≤ T_ds. We skip these derivations and refer to the original paper for details <cit.>.




 §.§ Periodic Gaits

Knowing the state evolution equations of 3LP in (<ref>), we can find successive phases of motion which are symmetric with respect to each other. Consider the matrix:

    M_x =   [  I_2×2      · -I_2×2;      ·  I_2×2 -I_2×2 ]

which extracts relative position vectors s_1 and s_2 from the vector x(t), depicted in Figure <ref>. At the beginning of each phase, these relative positions are the same in the sagittal direction and opposite in the lateral direction. Besides, the initial and final swing foot velocities together with the stance foot velocity should be zero (we assume impact-less locomotion in 3LP). Consider matrices S, M, N and O as:

    S =   [ S_x   ·;   · S_x ],        M = [ M_x   ·;   · M_x ]
     N =   [     ·     ·     · I_2×2     ·     ·;     ·     ·     ·     ·     · I_2×2 ]
    
    O =    diag( [1,-1, 1,-1, 1,-1, 1, -1] )

where N implements initial foot velocity conditions and O imposes gait symmetry. A valid periodic initial condition Q̅[k], inputs U̅[k] and constants V̅[k] must satisfy the following equations:

    M Q̅[k]    =    OMS(A(T)Q̅[k]+B(T)U̅[k]+C(T)V̅[k]) 
    
    N Q̅[k]    =    0

which evolve Q̅[k] for one phase according to (<ref>), exchange the feet by S, extract the relative vectors s_1, s_2 and their derivatives by M and apply the symmetry concept by O. The underlying assumption is a fixed gait frequency determined by the step time T. In this paper, we use capital letters to show discrete variables. The null-space formed by equations (<ref>) still leaves eight degrees of freedom. The lateral stance ankle torques are set to zero while the sagittal torques are set to a linear profile which together take four dimensions. The desired average forward velocity also takes one dimension while the remaining three dimensions are resolved by a minimization of hip torques. In other words, among all possible combinations of Q̅[k] and U̅[k] (for a fixed V̅[k]) which form a null space of eight dimensions, we find a combination with the desired average speed, CoP profiles and minimal hip torques (refer to <cit.> for further details). Therefore, open-loop 3LP gaits q̅(t) used in our controller are defined as:

    q̅(t) = A(t) Q̅[k] + B(t) U̅[k] + C(t) V̅[k]

at each instance of time 0 ≤ t ≤ T. Note that the double support phase is already encoded in matrices A(t), B(t) and C(t) of equation (<ref>) as mentioned earlier.
















§ TIME-PROJECTION CONTROL


The 3LP model provides closed-form equations (<ref>) that describe system evolution over successive phases of motion. Thanks to linearity, it is very simple to find a Poincaré map or a linearized discrete model around the walking gait we obtained in the previous section. In this regard, we consider the same phase-change event, add an error to the state vector, evolve the erroneous state and a delta input until the end of the phase and measure the new error. Consider the stack of relative position vectors s_1(t) and s_2(t) and their derivatives which are extracted from the full vector by s(t)=Mq(t) where s(t) ∈ℝ^8. Consider also a matrix M̂ defined as:

    M̂ =   [ M̂_x    ·;    · M̂_x ],   M̂_x =   [ I_2×2     ·;     · I_2×2;     ·     ·;       ]

which adds an error e(t) to the vector s(t) and then to the full state vector q(t). Since the relative vectors are extracted from the full vector by matrix M, the product M M̂ naturally equals to identity. An initial error vector E[k] added to Q̅[k] by Q[k] = Q̂[k]+M̂E[k] evolves in time according to (<ref>) where an additional input Δ U[k] is also given to the system. The evolved error can be extracted from the next discrete state by:

    E[k+1] = OMS(Q[k+1] - Q̅[k+1])
 
which leads to the following linear discrete model:

    E[k+1] =   Â(T) E[k] + B̂(T) Δ U[k] 
    Ĉ E[k+1] =    0
 
where:

    Â(T) =    O M S A(T) M̂
    B̂(T) =    O M S B(T) 
    Ĉ =   [ 0_2×4 I_2×2 0_2×2 ]

and the matrix Ĉ is defined to constrain final swing foot velocities to zero.



 §.§ Discrete LQR Control


Knowing error evolution equations (<ref>) and the effect of inputs, we can design a Discrete Linear Quadratic Regulator (DLQR) controller to stabilize the system. Our particular system must satisfy a constraint on the foot velocity too which requires a simple manipulation of equations and DLQR's cost function. We refer to <cit.> for further details and only take the resulting control gain matrix K which produces a corrective feedback Δ U[k] = -K E[k]. A DLQR controller can be triggered at the beginning of each phase and produce a delta actuator input to correct the error. Due to a delayed reaction, however, this controller cannot reject intermittent disturbances optimally <cit.>. Therefore, we use a time-projecting controller that can react to inter-sample disturbances immediately by using the expertise of the DLQR controller. This idea is briefly introduced in the next section.



 §.§ Continuous Time-Projection




To formulate the time-projection idea, we consider a free system without constraints to present simpler formulations and provide an easier understanding. Handling time-projection for constrained systems can be found in the original control paper <cit.>. After solving 3LP equations in closed-form and deriving discrete error dynamics, we showed that we could easily find a DLQR controller that stabilizes the system by swing hip torque adjustments and in consequence, footstep adjustments. Now consider an on-line control paradigm in which we can measure the system error at any inter-sample time and react to it quickly. The reaction might not stabilize the system immediately like CoP modulation, but a proper adjustment of swing foot location can considerably save control effort in the following phases. This is because the current swing position (which is weakly coupled to other system variables) later becomes the new stance foot position which tightly couples to other system variables (mainly the CoM). Consider an inter-sample time t where 0≤ t ≤ T, the nominal periodic solution q̅(t) defined in (<ref>), the current measured state q(t) and the instantaneous error:

    e(t) = M(q(t)-q̅(t))

We can apply a corrective swing hip torque δ u(t) at the time t in addition to the nominal actuator inputs u̅(t) = u̅_c + t u̅_r (we assume fixed CoP profiles in the stance foot and only use the swing hip torques for online control). This scenario is depicted in Fig.<ref> in details. The time-projection controller takes the following steps in sequence to find the vector δ u(t):

    
  * Measure the current numeric error e(t) at time t. 
    
  * Consider an unknown parametric input Δ U[k] until time t and project the measured error e(t) back in time.
    
  * Calculate a possible parametric initial vector E[k] by:
    
    e(t) = A(t-kT) E[k] + B(t-kT) Δ U[k]

    
  * Apply DLQR on E[k] to find Δ U[k]:
    
    Δ U[k] = -K E[k]

    
  * Now find Δ U[k] by solving a linear system of equations:
    
    [ A(t-kT) B(t-kT);       K       I ][   E[k]; Δ U[k] ] = [ e(t);    · ]

    
  * Assuming δ u(t) = Δ U[k], take the resulting corrective input and apply it to the system at time t.

The time-projection control involves solving a linear system of equations at every control sample which only takes few microseconds on a modern computer, compared to at least few hundred microseconds taken by our previous MPC controller introduced in <cit.>. Note that the projecting controller does not need to know disturbance forces, and produces hip torques which result in footstep adjustments. In the absence of errors e(t) also, this controller produces no correction. In the absence of disturbance forces, however,  while the error e(t) is non-zero, it produces a constant δ u(t) which is equal to a discrete correction that the DLQR controller would produce at the beginning of the phase. In other words, as long as the system evolves without inter-sample disturbances, the projecting controller has no advantage over the DLQR controller in providing on-line corrections. 

In our previous work <cit.>, we extensively discuss the recovery performance of time-projection control against different inter-sample push timings. We also analyze controllable regions, given typical hardware limitations existing in bipedal systems. Due to an online numerical optimization, MPC can handle such inequality constraints easily. The time-projecting controller is blind to these constraints. However, our analysis in <cit.> shows that in normal walking conditions, the time-projection controller covers most of the whole set of controllable states. Therefore, MPC might only cover a slightly bigger set of states which are not visited most of the time in practice <cit.>. Having an approximate of stable human walking trajectories by the 3LP model and time-projection control, in the next section, we introduce a conversion to slightly modify these trajectories in the vertical direction to produce more human-like motions. 













§ KINEMATIC CONVERSION

The idea of kinematic conversion is to make the 3LP posture more human-like. As mentioned earlier, we focus on adding pelvis vertical excursions, ground clearance and lower-limb motions to the gait. Other human-like features like pelvis rotations and upper body motions are not considered in the present work. Our simple conversion algorithm only needs the current 3LP state and phase time t as inputs. Knowing other constants including phase timing parameters T_ds, T_ss, the slope angle ϕ, anatomical properties and the ground clearance height, our conversion algorithm performs the following steps:

    
  * Pelvis height: Find a smooth pelvis height trajectory based on relative feet and pelvis positions.
    
  * Ground clearance: Calculate a simple vertical toe trajectory as a function of phase time t.
    
  * Knee target points: Find two target points for the knees that translate to hip angles and solve the inverse kinematics redundancy of each leg.

These small modifications are based on trajectory synthesis and minimally influence 3LP's overall falling and swing dynamics. Here, we simply rely on decoupling assumption between vertical and horizontal dynamics similar to <cit.>. A more precise but computationally expensive approach would be to use the full dynamics equations and perform vertical adjustments only within the null-space of horizontal tasks <cit.>. The remainder of this section describes our adaptive kinematic conversion method in details. 



 §.§ Pelvis Height

The horizontal dynamics of walking in our simulations is approximated by the 3LP model assuming constant heights for the pelvis, the two feet, and all limb masses. Given a 3LP state in periodic or transient walking conditions, our kinematic conversion takes the relative foot-hip positions and calculates a smooth pelvis height trajectory. This is done via a simple mixture of geometric variables at each instance of time. Remember that the legs in 3LP are modeled by extensible prismatic actuators. Given certain footstep locations, if we assume fixed-length legs like the normal inverted pendulum model, we obtain arc shapes for the pelvis which sharply intersect together <cit.>. Human pelvis trajectories are similar to smooth sine shapes, however, going to a minimum during the double support phase <cit.>. To produce such trajectories, we use two different methods:  

    
  * Fixed mixture: we consider fixed leg-length arcs around the CoP in each foot and introduce a soft weighting between them to produce the final pelvis height profile.
    
  * Adaptive mixture: we consider variable leg-length arcs around the CoP in each foot and apply a soft minimum function to produce the final pelvis height profile.

While the first method is enough for periodic walking and small perturbations, it cannot support backward walking or extreme toe-off stretching in perturbed conditions. The second method, however, simply produces a feasible pelvis height for both legs. 



Remember that all the 3LP equations are solved in a rotated coordinate frame attached to the slope (refer to Fig.<ref>). Therefore, the gravity vector is rotated and the nominal leg length (the variable l in Fig.<ref>) is reduced by a factor of cos(ϕ). This ensures a stretched leg when walking at zero speed on the slope. For a given 3LP state, we define relative vectors p(t) and q(t) by:

    p(t)    =    P (x_Stance(t)-x_Pelvis(t))+ [    0 wd/2 ]^T
     q(t)    =    P (x_Swing(t)-x_Pelvis(t))+ [     0 -wd/2 ]^T

where the variable d=±1 indicates left or right support phases (used in (<ref>)), the parameter w denotes pelvis width and the matrix P is a simple operator to project the quantities on the x-y plane shown in Fig.<ref>. Example sagittal components of p(t) and q(t) are shown in Fig.<ref>E for an adult person (height of 1.7m) walking at a speed of 1m/s and a frequency of 1.7 steps/s. During in-place walking, we assume that the CoPs stay in the middle of each foot (the CoP in swing foot is virtual). Depending on the distance between the two feet, we move CoPs to the toes or heels. This is done via a linear profile in which a step length equal to the leg length produces a half-foot CoP movement:

    p_CoP(t)    =   h/2 (1+q(t)-p(t)/l)
     
    q_CoP(t)    =   h/2 (1+p(t)-q(t)/l)

where the parameters h and l denote foot length and leg length shown in Fig.<ref> respectively. We also assume no lateral movements for the CoP in each foot. As observed in Fig.<ref>E, the trajectories p(t) and q(t) have non-zero derivatives at the boundary times (in the beginning and at the end of the step phase). These derivatives produce sharply intersecting arc shapes for the pelvis whereas setting them to zero would produce flat trajectories. To achieve this, we define an additional signal α(t)ṗ(t) where the polynomial α(t) has derivatives of -1 at t=T_ds and t=T shown in Fig.<ref>A. This signal can correct the derivatives by setting them to zero when added to p(t) and q(t) (shown in Fig.<ref>E). Therefore, modified relative positions p̅(t) and q̅(t) can be defined as:

    p̅(t)    =    p(t) + α(t)ṗ(t)
    q̅(t)    =    q(t) + α(t)ṗ(t)

which represent smooth relative positions between the hip and the heel in each leg, ensuring zero derivatives at the phase boundary times. Assume we put a rotated coordinate frame (along the slope) on each heel and express the modified relative 3LP pelvis position by [X Y Z] in this frame where Z=lcos(ϕ) shown in Fig.<ref>B. Now, fixed leg-length arcs can be found as:

    Z^2 = (X + x_CoP +lsin(ϕ))^2 + Y^2 + z_fixed(X,Y,x_CoP)^2

where the constant lsin(ϕ) is added to compensate the effect of slope. The candidate pelvis heights for each leg are:

    z_p,fixed(t) =    z_fixed(p̅_x(t),p̅_y(t),p_CoP(t)) 
    
    z_q,fixed(t) =    z_fixed(q̅_x(t),q̅_y(t),q_CoP(t))

where x and y are sagittal and lateral components respectively. Now, according to the first method, the final pelvis height trajectory could be found by a smooth transition from the arc on the stance foot z_p,fixed(t) to the arc on the swing foot z_q,fixed(t):

    z_fixed(t) = (1-γ(t)) z_p,fixed(t) + γ(t) z_q,fixed(t)

which is shown in Fig.<ref>F. The function γ(t) implements a smooth transition shown in Fig.<ref>C. The resulting curve z_fixed(t) features zero derivatives at the phase boundary times while it peaks approximately in the middle of the single support phase. Overall, the converted pelvis position is matching 3LP's pelvis position horizontally and shifted down from lcos(ϕ) to the new height z_fixed(t). The first method produces a good approximate of human trajectories, but there is no guaranty that the next touch-down happens on the heel. In backward walking or perturbed conditions, for example, the next step might touch down on the toes. In these cases, the resulting pelvis height (at t=T) should be feasible for the other stance leg which is still on the heel. However, the formula (<ref>) always converges to the swing arc at t=T which could become infeasible. Therefore, the mixture used in (<ref>) is meaningful in terms of producing vertical excursions, but limited to periodic forward walking conditions.

To overcome limitations of the first method, we replace the time-based mixture of (<ref>) with a smooth maximum function in the second method to better decide between swing and stance leg arcs. Also, we slightly modify the arcs to allow for more leg flexion and extension in the stance phase. Consider Fig.<ref>D which shows different pelvis arcs depending on the position of CoP. When walking in-place, no matter what other gait parameters are, the arc is calculated around the heel position. In maximum step length conditions, however, the CoP moves to extremities according to (<ref>). In this case, we use a specific nonlinear function δ(x) (Fig.<ref>D) which maps the linear CoP movements of (<ref>) into asymmetric profiles:

    f(x_CoP) = Δ = h/2δ(2/h x_CoP-1)

When the CoP goes to the toes (x_CoP=h), the function f produces a value of h/2 and when the CoP goes to the heels (x_CoP=0), this function returns -ϵ h/2. Based on this function, we formulate our modified arcs by following ellipses:

    (x-2Δ/l+2Δ)^2 + (y/l)^2 + (z/l+Δ) = 1

which are shown in Fig.<ref>D. The dashed circle in this plot shows the maximum workspace of the pelvis rotating around the toe. We consider smaller arcs (the ellipse shown in red) when the CoP is at the toes to avoid extra lifting and over-extension. The green circle also shows the minimum workspace when rotating around the heel (for in-place walking). When the CoP is at the heel, the blue ellipse produces a small knee flexion at the touch-down moment (like human <cit.>) determined by the choice of ϵ=0.2 shown in Fig.<ref>D and Fig.<ref>D. Our specific design of δ(x) and adaptive ellipses of (<ref>) produce convincing human-like trajectories compared to a few human gaits recorded (discussed in the next section). However, they could be tuned further in future work to better match human trajectories in a wider range of walking conditions. 

Given a 3LP state, we calculate the CoP points, split the legs and create an ellipse for each of them in the rotated coordinate frame (shown in Fig.<ref>). A vertical line coming down from the pelvis in each case intersects with the ellipse and determines the candidate pelvis height of that leg. Denoting the modified relative 3LP pelvis position by [X Y Z] like before, the vertical line in the rotated coordinate frame is:

    y=Y ,  x-X = tan(ϕ) (z-Z)

which intersects with the ellipse of (<ref>) and results in the following equation (as a function of z):

    (X+tan(ϕ)(z-Z)-2Δ/l+2Δ)^2 + (Y/l)^2 + (z/l+Δ) = 1

The height of intersection point (denoted by z=z_adapt(X,Y,x_CoP)) solves the equation (<ref>) and therefore, each leg gives a candidate pelvis height:

    z_p,adapt(t) =    z_adapt(p̅_x(t),p̅_y(t),p_CoP(t)) 
    
    z_q,adapt(t) =    z_adapt(q̅_x(t),q̅_y(t),q_CoP(t))

Unlike the time-based mixture of (<ref>), in the second method, we use a smooth minimum function between z_p,adapt(t) and z_q,adapt(t) which is implemented as:

    z_adapt(t) = l - max(l-z_p,adapt(t), l-z_z,adapt(t))

where max(a,b) is defined as:

    max(a,b) = {[         √(a^2+b^2)            0 ≤ a,b;                  a             b<0≤ a;                  b             a<0≤ b; a + b + √(a^2+b^2)             a,b <0;                    ].

and shown in Fig.<ref>E. The time-trajectory of z_adapt(t) shown in Fig.<ref>G is very similar to z_fixed(t) (shown in Fig.<ref>F) in periodic walking conditions. Fig.<ref>A also visualizes the mechanism of finding individual pelvis heights and the smooth maximum function max(a,b). Due to the fact that we always choose the minimum pelvis height in the second method (which is of course feasible for both legs), we can support non-periodic and backward walking as well as extremely asymmetric triangular leg coordinations which happen in inclined walking or presence of dragging forces. Therefore, we prefer the second adaptive method over the first fixed-time mixture method. The modified ellipsoid design of the arc shapes also produces realistic knee flexion during the touch-down and ankle extension during the push-off moments.






 §.§ Ground Clearance

Remember that both feet in the 3LP model are constrained to have a zero height. To make them more realistic, we consider simple vertical sinusoid curves that lift the swing toe vertically. These curves are scaled by the ground clearance parameter as a percentage of the leg length. Our simple design of these trajectories produces realistic motions, but cannot simulate foot flapping effects shortly after the touch-down moment (in which the foot completely lands on the ground after the heel-strike). We consider adding this feature in future work.




 §.§ Knee Target Points

Given the pelvis and toe positions in the Cartesian space, the task in this stage is to resolve a single degree of freedom in each leg to find a human-like thigh-shank-foot posture. Our strategy is to determine the hip angle based on certain target trajectories on the ground. In each leg, the thigh vector (connecting the hip to the knee joint) points towards a target trajectory on the ground shown in Fig.<ref>A. Once the hip angle is determined, the configurations of shank and foot segments are found by solving a simple Inverse Kinematic (IK) problem between the knee and the toe, restricting the foot segment inside the sagittal plane. Our IK formulation also does not allow for a heel position below the toe position vertically. 

We design the knee target trajectories by a similar mixture of geometric variables (foot positions) introduced earlier. In fact, for the stance leg, the relative position:

    u_p(t) = p(t) + α(t)ṗ(t) + p_CoP(t)

is a good target trajectory. A careful inspection of human trajectories at different walking speeds reveals that the Cartesian swing knee position already starts moving forward before the swing phase starts. This effect is shown in Fig.<ref> at different walking speeds. The relative position q(t)+ α(t)ṗ(t)+q_CoP(t) is not a good target trajectory for the swing leg, since it remains constant during the double support phase and starts moving forward only in the single support phase (Fig.<ref>E). To overcome this issue, we introduce a polynomial β(t) shown in Fig.<ref>B, a modified version of α(t) which is approximately two times larger, but with similar derivative properties. The swing target point is now defined by:

    u_q(t) = q(t) + β(t)ṗ(t) + q_CoP(t)

which already starts moving forward during the double support phase shown in Fig.<ref>E. The two target trajectories u_p(t) and u_q(t) are eventually used to find the hip angles which then determine the leg configuration completely.







§ RESULTS




Implementation of the 3LP simulator and the kinematic conversion is currently done in MATLAB with a simple GUI (shown in Fig.<ref>) that allows the user to change subject/gait parameters as well as to test transient conditions [Source codes available online at <https://biorob.epfl.ch/research/humanoid/walkman>.]. A C++ implementation of the 3LP model and the time-projection controller is also available for robotic applications <cit.>. These codes only contain pure mathematic formulas in closed-form. The most computationally complex function in our method solves a linear system of equations to find periodic walking gaits in equations (<ref>). We use the Eigen library <cit.> to perform this operation in microseconds. The inverse kinematic problem at the last stage of the kinematic conversion is also as simple as finding roots of a second-degree polynomial in closed-form. Using the MATLAB interface in this section, we present a collection of various walking trajectories produced with the proposed framework.



 §.§ Different Speeds

We start this section by providing a comparison of synthesized walking trajectories against human trajectories at different walking speeds (2,4,6 km/h). The data presented here is collected by a lab motion-capture system from treadmill walking. Five subjects with average height of 1.76±0.11 m and weight of 68±14 kg participated in the experiment, walking for a minute at each desired speed to collect enough gait cycles. We measured gait parameters and replicated each experiment by our model to find corresponding synthesized gaits. Example collected and synthesized trajectories of one subject are demonstrated in Fig.<ref> which visually look very similar. Over all subjects and speeds, we found average correlations of 0.80±0.06 for the hip angles, 0.86±0.04 for the knee angles and 0.72±0.09 for the ankle angles. Our method can produce many features of human walking such as pelvis vertical excursions <cit.>, ground clearance <cit.>, heel-toe motions <cit.> and lateral bounces <cit.>. However, it does not produce pelvis and trunk rotations as well as foot flapping. Apart from scaling with respect to the walking speed parameter, our method supports variation of many other gait conditions as follows.






 §.§ Model Sizes
 The 3LP model is scalable with respect to the mass and subject height properties. In this work, we considered average human anatomic proportions <cit.> to scale all limb masses and body segments only with the overall body mass and height. However, both the 3LP model and kinematic conversion are independent of body properties without needing any re-tuning. Fig.<ref>A shows a child at the height of 1m performing a walking gait similar to a tall adult of 2.5m shown in Fig.<ref>B. In these case, we scaled the walking speed proportionally. The gait kinematics in 3LP is independent of the body mass however <cit.>.



 §.§ Inclined Walking
 By increasing or decreasing the terrain inclination, we can produce human-like walking gaits without re-tuning of any other parameter. The resulting kinematics shown in Fig.<ref>C,D are very similar to the human data <cit.>. However, our method is not able to simulate extreme climbing cases where the hands are also involved. An interesting feature of inclined walking is extra knee flexion at the touch-down moment on positive slopes <cit.> which is observed in Fig.<ref>D as well.



 §.§ Walking Frequency

Although human walks at a particular combination of walking speeds and frequencies <cit.>, the frequency can be changed while keeping the speed constant. This directly influences the step length which is increased for example when the frequency is decreased (shown in Fig.<ref>E). While the 3LP model easily supports this modulation of frequency, our kinematic conversion method can produce realistic walking gaits in both low frequency and high frequency conditions shown in Fig.<ref>E, F. 



 §.§ Backward Walking

The 3LP model can easily simulate backward walking by finding solutions in the linear null-space of initial gait conditions produced by equations (<ref>). The CoP motion can also be easily reverted to make the motion more realistic. This fact is reflected in the kinematic conversion method as well by automatic reversion of p_CoP(t) and q_CoP(t) trajectories in (<ref>). Without changing other parameters, the 3LP model can easily walk backward at different speeds while the kinematic conversion produces human-like coordinations of lower-limb segments shown in Fig.<ref>G, H.



 §.§ Ground Clearance

Our model simulates this motion with a simple sinusoidal curve while the actual curve in human might be slightly different, especially in extra foot lift conditions <cit.>. Our simple strategy produces visually plausible walking gaits (shown in Fig.<ref>I, J) while the main inconsistency comes from missing the short flapping phase after the heel-strike. Also, an extra ground clearance might slightly affect the swing dynamics which is not included in the 3LP model.



 §.§ Torso Style

A vast part of the walking animation literature introduces methods to produce walking gaits at different torso angles, referred to as torso styles. This is achieved via a simple proportional-derivative controller in the stance hip to regulate the torso angle while foot-placement algorithms automatically compensate the dynamic effects of such asymmetry <cit.>. Our 3LP model can easily simulate these scenarios while the kinematic conversion adjusts the kinematics automatically, shown in Fig.<ref>K, L. Note that bending backward is uncomfortable for human while in simulations, it is theoretically possible. The extra vertical excursion observed in Fig.<ref>L is also less human-like. When bending forward, humans damp these vertical excursions by an increased flexion in the knees at the mid-stance moment <cit.>, probably for the sake of comfort or gaze stabilization. Our method, however, produces a peak in the pelvis height trajectory at this moment which results in a stretched-knee posture. This probably prevents our method to simulate extreme torso bending conditions. 





 §.§ Dragging Forces

Another interesting scenario is to produce periodic walking gaits subject to constant external dragging forces. This could be useful in a simulation of pulling or pushing heavy objects <cit.>. 3LP can easily produce such walking gaits by including the external force in symbolic equations. We considered forces applied to the torso while 3LP formulations can be easily changed to simulate other force application points. Although the triangular coordination between the two legs in 3LP becomes asymmetric in these conditions, the kinematic conversion can still produce lower-limb coordinations adaptively. 



 §.§ Push Recovery

The main purpose of incorporating a physics-based animation in our method is to model interactions with the environment. In addition to simulating constant external forces discussed previously, we are interested in simulating transient conditions due to disturbances as well. This simulation scenario involves time-integration, i.e., considering small time-steps, applying arbitrary disturbance forces at each time-step and finding system evolution through integration. Thanks to the linear equations of the 3LP model, the system evolution can be described by a single closed-form matrix which relieves the need to perform iterations. Also, if the disturbance pattern is known beforehand, we can find closed-form equations and avoid using small time-steps, depending on the precision required. Fig.<ref> demonstrates transient walking conditions due to external pushes applied in different directions. While the 3LP model and the time-projecting controller can produce natural and stable horizontal motions, the kinematic conversion takes the 3LP state and produces vertical motions adaptively.

The strength of our method lies in generating walking trajectories in different combinations of all the previously-mentioned gait conditions. We limit our results section to discuss each gait condition separately. However, thanks to the closed-form solutions available, changing many gait conditions at the same time does not need any re-tuning of trajectory generation or control parameters. The next section will provide a comprehensive discussion of these strengths and intrinsic limitations of the proposed approach.



§ DISCUSSION

The proposed method combines physics-based and pure interpolation approaches in the literature for walking trajectory generation. We simulate physics by a linear simplified model called 3LP that has closed-form solutions. On top of this model, in the present work, we propose an adaptive kinematic converter which synthesizes human-like lower-limb postures. The resulting trajectories follow the overall dynamics of 3LP while remaining geometrically feasible in transient conditions. The goal of such a hybrid approach is to achieve faster simulation speeds while offering an online walking control. We can simulate interactions with the environment to some extent and produce transient walking trajectories thanks to a previously developed walking controller called time-projection. This controller together with the 3LP model encapsulates important dynamic properties and control rules needed to stabilize the gait in a wide range of walking conditions. Therefore, the proposed model-based approach does not have any parameter to tune. 



 §.§ Closed-Form Solutions

The 3LP model <cit.> and the time-projection controller <cit.> were originally developed to extend the LIP model and MPC control paradigm <cit.> for humanoid walking application <cit.>. The closed-form equations of 3LP or LIP enable MPC controllers to stabilize the system in an online fashion by adjusting footstep locations. In a previous work based on the LIP model, our MPC controller was able to solve a quadratic optimization problem in less than a millisecond and suggest footstep corrections online <cit.>. The time-projection control, however, aims at finding closed-form solutions for the numeric optimizations of MPC as well. Therefore, the combination of a linear model and time-projection control can offer simulation speeds as fast as microseconds. Besides, thanks to all these closed-form solutions, we do not need to use sub-millisecond simulation time-steps like <cit.> to ensure numerical stability. To generate animations, we only need to consider movie frames (e.g., 30 frames per second) and find the system evolution in between by closed-form matrices. 

While walking gait generation and stabilization with a simplified model are developed in our previous work, in the present paper, we aimed at filling the gap with reality. In other words, we proposed a kinematic conversion method to convert walking trajectories from the 3LP space to a real character with thigh, shank and foot segments. The novelty of this paper, therefore, lies in the conversion method and the entire architecture that produces periodic and transient human-like walking trajectories. Using an intuitive mixture of the geometric variables in 3LP, we can produce smooth vertical excursions and human-like thigh-shank-foot coordinations. Although we do not simulate dynamics of these leg segments explicitly, each leg follows the approximate dynamics encoded in the 3LP model. Following the same philosophy of developing closed-form solutions in the 3LP model and the time-projection controller, the kinematic conversion is also formulated in closed-form. Various parametric trajectory design or interpolation methods already exist in the literature and offer a similarly fast simulation speed, but they cannot produce transient walking conditions. They also need either a large library of human trajectories to interpolate or a large set of trajectory or control parameters to produce as many walking conditions. The proposed architecture is mathematically involved, but generic and straightforward to be used in walking control, animation or analysis. 





 §.§ Limitations

Walking dynamics in our method is simulated in the 3LP model which relies on linearization assumptions. 3LP is an extension of the LIP model and both assume linear pendular dynamics. 3LP can simulate swing and torso balancing dynamics (in addition to falling dynamics of the LIP model) which allow for simulation of faster walking gaits. However, the resulting motions are valid only where the coupling between horizontal and vertical dynamics is negligible. Our method cannot simulate very large step lengths. Besides, the time-projection controller does not consider such feasibility boundaries. Although this controller always stabilizes the gait, in extreme conditions, it might produce large step lengths that violate decoupling assumptions. These conditions only happen in case of very large disturbances or considerable sudden changes in the desired gait parameters (such as speed or frequency). The linearity assumptions allow for simulation of flat or inclined walking conditions, but not uneven terrains or structured environments. However, if the terrain profile is known in advance, we can design certain height change profiles and solve the new linear time-variant 3LP equations numerically. Besides, the 3LP model does not simulate turning in the current implementation due to nonlinearities. We can remove the pelvis width and allow the 3LP model to turn, but an artificial separation of the two feet is needed <cit.>. We consider these fundamental improvements for future work.

The present framework can simulate different gait conditions as shown in Fig.<ref>, however, some transient conditions are not always easy to model. We cannot simulate torso oscillations unless we linearize the torso and give it a degree of freedom. In this work, the 3LP model assumes a fixed torso angle and finds necessary stance hip torques to realize this assumption. Variations in the external dragging forces are easy to simulate though, since they can be treated as perturbations. A transient change of speed, step frequency and double support time is possible in our current framework. The time-projecting controller can handle them stably. 

While the entire framework can simulate a wide and continuous range of walking conditions with different combinations, the natural human-like choice of walking parameters remains un-modeled. Humans can also walk at various gait conditions, but not necessarily be energy optimal or comfortable. When changing the walking speed, humans change the frequency <cit.>, double support ratio <cit.>, ground clearance <cit.> and torso orientation <cit.>. All these parameters change in inclined walking as well <cit.>. Our framework provides the necessary platform to simulate all these walking conditions, but not including human-optimal relations of parameters. Realistic choices of these parameters can be extracted from the related biomechanics literature in walking animations like <cit.>. Other human-like walking features such as arm motions or pelvis rotations can be added easily without affecting the overall walking dynamics <cit.>.



 §.§ Applications and Future Work

In a trade-off with some of the features offered by physics-based frameworks like rough-terrain locomotion <cit.>, we achieved much faster simulation speeds by simplifying the physical model. Our method provides pure mathematical formulas with a minimal dependency on the Eigen library for a matrix inversion. Our source codes can be easily integrated with other simulators to produce animations on visually more human-like characters. It can be used for crowd-walking simulations as well as animations on portable electronic devices with a limited computational power. Besides, the ideas introduced in this paper can be used to control humanoids or simulated robots. In particular, our kinematic conversion can be used to produce more human-like pelvis trajectories and thigh-shank-foot coordinations. All the source codes would be freely available online after publication. 


    This work was funded by the WALK-MAN project (European Community's 7th Framework Programme: FP7-ICT 611832).



ACM-Reference-Format



