# Modelling, Simulation and Control of the Walking of Biped Robotic Devices—Part I : Modelling and Simulation Using Autolev

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

**From a postural equilibrium point of view**because these (unilateral) constraints, represented by the contact between the foot/feet and the ground, play a fundamental role for maintaining the postural equilibrium during the gait, their returned forces and torques pose stringent conditions to the trajectories that the joints of the robot can safely follow, and must be continuously monitored;

**From the robot control point of view**the changing constraints modify the number of degrees of freedom (DOF) of the dynamics, that can result underactuaded or overactuaded depending on the ground contacts, and the controller itself must be a switching system.

- the need to build an hybrid system switching among several phases;
- obtaining from the non-linear dynamical equations matrices of the linearized model to be used for designing a (linear) control;
- deriving explicitly computer code for the expressions of Jacobians matrices, kinematics, and in general of mechanical quantities needed for analysis and then to be embedded in the control;
- obtaining from the ground constraint the theoretical expressions of reaction forces/torques on the feet needed to evaluate the postural equilibrium, to balance the weight and offer compliance to the swing foot in the contact with the ground.

## 2. Hybrid Complementarity Dynamical Systems

**λ**can be split in:

**λ**has to be numerically evaluated iteratively.

## 3. A Biped Robot

#### 3.1. Mechanical Modelling

**Generalized coordinates and speeds**A multi-body system, which possesses n degrees of freedom, is represented by a state with a n dimensional vector $\mathbf{q}$ of configuration variables (generalized coordinates) and an identical dimension vector $\mathbf{u}$ of generalized speeds called also motion variables, that could be any nonsingular combination of the time derivatives of the generalized coordinates that describe the configuration of a system. These are the kinematical differential equations:

**Partial velocities and angular velocities**Partial velocities of each point (partial angular velocity of each body) are the n three-dimensional vectors expressing the velocities of that point (angular velocity of that body) as a linear combination of the generalized speeds. Let be ${\mathbf{v}}^{P}$ the translational velocity of a point P and ${\mathbf{\omega}}^{B}$ the rotational velocity of a body B with respect to the inertial reference frame, then

**Generalized active and inertia forces**The n generalized forces acting on a system are constructed by the scalar product (projection) of all contributing forces and torques on the partial velocities and partial angular velocities of the points and bodies they are applied to.

**Non-holonomic constraints**When m constraints on the motion variables are added to the model, only $n-m$ generalized speeds are independents.The system is, then, called a non-holonomic system. The non-holonomic constraints are expressed as a set of m linear relationships between dependent and independent generalized speeds of the type

#### 3.2. Robot Configuration

- The three positions on space of a reference point of $foo{t}_{1}$, were reaction forces are applied, taken at the center of the toe: ${x}_{to{e}_{1}},{y}_{to{e}_{1}},{z}_{to{e}_{1}}$.
- The two angles of the frame of foot 1: ${\theta}_{{x}_{foo{t}_{1}}},{\theta}_{y}{}_{foo{t}_{1}}$.
- The joint angles (as depicted in Figure 1): ${\theta}_{{x}_{ankl{e}_{1}}}$, ${\theta}_{{y}_{ankl{e}_{1}}}$,${\theta}_{{z}_{ankl{e}_{1}}}$, ${\theta}_{kne{e}_{1}}$, ${\theta}_{{x}_{hi{p}_{1}}}$, ${\theta}_{{y}_{hi{p}_{1}}}$, ${\theta}_{{x}_{hi{p}_{2}}}$, ${\theta}_{{y}_{hi{p}_{2}}}$, ${\theta}_{kne{e}_{2}}$, ${\theta}_{{x}_{ankl{e}_{2}}}$, ${\theta}_{{y}_{ankl{e}_{2}}}$ and ${\theta}_{{z}_{ankl{e}_{2}}}$.

**Single Stance**: The exoskeleton is sustained by $foo{t}_{1}$. Both feet are allowed to rotate around y only, in particular $foo{t}_{1}$ is connected to the ground by a hinge at the $to{e}_{1}$ point, and it is imposed that the trunk is oriented straight ahead. Then, the three translational velocities of $to{e}_{1}$ ${\dot{x}}_{to{e}_{1}},{\dot{y}}_{to{e}_{1}},{\dot{z}}_{to{e}_{1}}$, the three rotational velocities ${\dot{\theta}}_{{x}_{foo{t}_{1}}}$, ${\dot{\theta}}_{{x}_{foo{t}_{2}}}$, ${\dot{\theta}}_{{z}_{foo{t}_{2}}}$ of both feet and the rotational velocity of the trunk ${\dot{\theta}}_{{z}_{hat}}$ are zero (motion constraints). In these conditions the system has 10 $DOF$ (7 have been constrained out of the original 17). The unique possible choices of independent generalized speeds is:

**Double stance**: when the exoskeleton is in double stance, both feet are on the ground. As they can rotate around y, it is assumed that $foo{t}_{1}$ is connected to the ground by a hinge, as before, at $to{e}_{1}$ and the $foo{t}_{2}$ at $hee{l}_{2}$, and the center of the heel (${x}_{hee{l}_{2}},{y}_{hee{l}_{2}},{z}_{hee{l}_{2}}$) is the reference point where reaction forces are applied. Hence, the system loses 3 more degrees of freedom resulting in 7. There are four possible choices of independent generalized speeds, however, the best conditioned, according to Section 3.1, is:

#### 3.3. Unilateral Constraint and Collision

#### 3.4. The Stride in a Gait Cycle

**Double stance**In the double stance model the two feet are hinged to the ground $foo{t}_{1}$ at $to{e}_{1}$ and $foo{t}_{2}$ at $hee{l}_{2}$. During the stance, starting from the event $Hee{l}_{2}\phantom{\rule{0.222222em}{0ex}}strike$ from the previous single stance, followed by $Foo{t}_{2}\phantom{\rule{0.222222em}{0ex}}flat$ and terminating with $To{e}_{1}\phantom{\rule{0.222222em}{0ex}}off$ (For simplicity here these last two events are set at the same instant.), the weight is transferred from $foo{t}_{1}$ to $foo{t}_{2}$.

**Single stance**In the single stance model the supporting $foo{t}_{1}$ is hinged at $to{e}_{1}$. The phase starts with the supporting $foo{t}_{1}$ $flat$ at the event $To{e}_{2}\phantom{\rule{0.222222em}{0ex}}off$, followed by $Hee{l}_{1}\phantom{\rule{0.222222em}{0ex}}off$ and ending with $Hee{l}_{2}\phantom{\rule{0.222222em}{0ex}}strike$. If during the first sub-phase the posture is controlled by the support of the foot flat on the ground, during the second the active torque on the $to{e}_{1}$ joint is needed.

## 4. Building the Simulator

#### 4.1. The Autolev Symbolic Computation

**State 1**the generalized coordinates;

**State 2**the generalized speeds;

**Kinematical differential equations**the relationships between coordinate derivatives and speeds (Equation (6);

**Input**all forces and torques (comprehensive of those returned by the constraints) with reference, respectively, to the points or bodies of application, to be considered external, hence to be possibly controlled;

**Output**the desired variables in output, e.g., joint angles and speed, $COG$ and $ZMP$ coordinates, swing foot coordinates, Jacobian matrices, linearizations matrices of the differential equations, reaction forces/torques, matrices of partial derivatives of reaction forces/torques with respect to input control torques, partial velocities, generalized impulse, generalized momentum, etc. In addition, for non-holonomic systems it is required to declare:

- the non-holonomic constraints on the generalized speeds (see Equation (12));
- the selected dependent generalized speeds;
- forces and torques, in the previous declaration, resulting from the constraints, therefore, not to be considered as external input, but internally derived by the simulator.

#### 4.1.1. The Generated Code

**Initialization**parameters and state initialization (setting parameters and initial conditions);

**State derivative computation**a function that computes the state derivative (generalized coordinates and generalized speeds), given the control input, to be called at each phase initializations and at each sampling period during integration by the Runge-Kutta routine in order to update the intermediate expressions, variables and the state;

**Output computation**a function to calculate at each sampling period any other intermediate expression or variable dependent on the state, state derivative, and input, declared as output in the program. These samples are also saved in a file at the end of the simulation.

#### 4.2. The Object Oriented Composition of the Program

#### 4.2.1. The Main Class

#### The Preview

#### The Control

## 5. Conclusions

## Acknowledgments

## Author Contributions

## Conflicts of Interest

## Appendix A. Code Fragments

% Declaration of the configuration variables Variables xthetaAnkle1’, ythetaAnkle1’, ythetaAnkle1’, ythetaAnkle2’, zthetaAnkle1’,zthetaAnkle2’,thetaKnee1’,thetaKnee2’, xthetaHip1’, xthetaHip2’, ythetaHip1’, ythetaHip2’, xthetaFoot1’, ythetaFoot1’, xFoot1’, yFoot1’,zFoot1’ % Declaration of the motion variables MotionVariables’ uxAnkle1’, uxAnkle2’, uyAnkley1’, uyAnkley2’, uzAnklez1’, uzAnklez2’, uKnee1’, uKnee2’, uxHip1’’, uxHip2’, uyHipy1’,uyHipy2’, uxFoot1’,uyFoot1’,vxFoot1’,vyFoot1’, vzFoot1’ % Declaration of the vector of reaction forces/torques to be computed % and returned by by Autolev Zee_Not = [FxFoot1; FyFoot1; FzFoot1; TxFoot1; TzAnkle1; TxAnkle2; TzAnkle2] % Command that generates the Kane dynamical equations % Zero is the vector contianing the differential equations eq. (11) Zero = Fr() + FrStar() % Command that resolves nonholonomic constraints: % it generates the reduced order dynamical equations % and returns the reaction forces/torques Kane(Zee_Not) % The COG coordinates: cm returns the COG vector % dot performs the scalar product of the vector with the x,y and z axis cogx = dot(cm(No,foot1,foot2,leg1,Thigh1,leg2,Thigh2,Hat),N1>) cogy = dot(cm(No,foot1,foot2,leg1,Thigh1,leg2,Thigh2,Hat),N2>) cogz = dot(cm(No,foot1,foot2,leg1,Thigh1,leg2,Thigh2,Hat),N3>) % The time derivatives (Dt) of the COG coordinates are computed cogxp = Dt(cogx) cogyp = Dt(cogy) cogzp = Dt(cogz) % The vectors of the configuration variables, % of the generalized spees and accelerations are defined thetas = [thetayFoot1,thetayAnkle1,thetaKnee1,thetayHip1,thetayHip2,thetaKnee2 ,thetayAnkle2,thetaxAnkle2,thetaxHip1,thetaxHip2] u = [uyFoot1,uyAnkle1,uKnee1,uyHip1,uyHip2,uKnee2,uyAnkle2,uxAnkle1,uxHip1,uxHip2] up = [uyFoot1’,uyAnkle1’,uKnee1’,uyHip1’,uyHip2’,uKnee2’,uyAnkle2’,uxAnkle1’ ,uxHip1’,uxHip2’] % The vector of input joint torques is defined torques = [TyFoot1,TyAnkle1,TKnee1,TyHip1,TyHip2,TKnee2,TyAnkle2,TxAnkle1,TxHip1 ,TxHip2] % COG Jacobian has been computed making the partial derivatives (D) of COG velocity % with respect to the generalized speeds Jcog = D([cogxp;cogyp;cogzp],u) % The matrices of the linearized dynamical model are computed as partial derivatives % of the vector of the differential equations % the inertia matrix with respect to the accelerations IM = D(Zero,up) Zero0 = evaluate(Zero, u = 0, up = 0,torques = 0) % Linearization of gravitational forces with respect to the positions K = D(Zero0,thetas) % The input matrix with respect to the input joint torques B = D(Zero,torques) % The matrix of linear relationship between reactions forces/torques % with respect to inputs Jforce_torque = D(Zee_Not,torques) % The command partials returns the partial velocities of heel2 V = partials(V_Heel2_N>) % Momentum returns the angular momentum P = momentum(generalized)

-> (3077) ZERO[1] = Z2545 + Z2535*uxAnkle1’ + Z2536*uyAnkle1’ + Z2537*uyAnkle2’ + Z2538*uKnee1’ + Z2539*uKnee2’ + Z2540*uxHip1’ + Z2541*uxHip2’ + Z2542*uyHip1’ + Z2543*uyHip2’ + Z2544*uyFoot1’ (...) -> (3061) FzFoot1 = Z2405*uxAnkle1’ + Z2406*uyAnkle1’ + Z2407*uyAnkle2’ + Z2408*uKnee1’ + Z2409*uKnee2’+ Z2410*uxHip1’ + Z2411*uxHip2’ + Z2412*uyHip1’+ Z2413*uyHip2’ + Z2414*uyFoot1’ - Z2472

singleStance.readInit("singleStance.in"); doubleStance.readInit("doubleStance.in"); currentModel = &doubleStance;intmode = currentModel->getMode(); currentTime = currentModel->getTime(); samplingTime = currentModel->getSamplingTime(); control.setSamplingTime(samplingTime); currentModel->init(currentModel->getState(), mode); control.init(currentModel->getState(), mode, preview.reference(currentTime) , currentModel->getPhase()); Vector modelInput = control.output(); currentModel->derivative(modelInput); currentModel->output(); //print initial valueswhile(currentTime < Tend) { currentModel->runga_kutta(modelInput,currentTime); currentTime = currentModel->getTime();if(stateMachine(currentTime)) // sense events of heel_strike and toe_off { Vector state = currentModel->getState();intmode = currentModel->getMode();if(currentModel == &singleStance) { currentModel = &doubleStance; currentModel->init(state,mode); }else{ currentModel = &singleStance; currentModel->init(state,mode *= -1); } control.init(state, mode, preview.reference(currentTime) , currentModel->getPhase()); modelInput = control.output(); currentModel->derivative(modelInput); currentModel->output(); }else{ Vector modelOutput = currentModel->output(); control.next(modelOutput, preview.reference(currentTime)); modelInput = control.output(); } }

ForcezFoot1 = z[2405]*uAnkle1p + z[2406]*uAnkley1p + z[2407]*uAnkley2p + z[2408]*uKnee1p + z[2409]*uKnee2p + z[2410]*uHip1p + z[2411]*uHip2p + z[2412]*uHipy1p + z[2413]*uHipy2p + z[2414]*uFooty1p - z[2472];

## References

- Menga, G. Team Isaac: Academic Research Project on Robotic Humanoids. Available online: http://www.isaacrobot.it/ (accessed on 17 March 2016).
- Menga, G.; Ghirardi, M. Lower Limb Exoskeleton with Postural Equilibrium Enhancement For Rehabilitation Purposes. Internal report DAUIN - Politecnico di Torino. 2015. Available online: https://dl.dropboxusercontent.com/u/26129003/SUBM1.pdf (accessed on 17 March 2016).
- MSC Software, MSC Adams Multibody Dynamics Simulation. Available online: http://www.mscsoftware.com/Products/CAE-Tools/Adams.aspx (accessed on 17 March 2016).
- Hurmuzlu, Y.; Genot, F.; Brogliato, B. Modeling, stability and control of biped robots—A general framework. Automatica
**2004**, 40, 1647–1664. [Google Scholar] [CrossRef] - Heemels, W.P.M.H.; Brogliato, B. The complementarity class of hybrid dynamical systems. Eur. J. Control
**2003**, 9, 322–360. [Google Scholar] [CrossRef] - Siciliano, B.; Oussama, K. Springer Handbook of Robotics; Springer: Berlin, Germany; Heidelberg, Germany, 2008. [Google Scholar]
- Kane, T.R.; Levinson, D.A. Dynamics: Theory and Applications; McGraw-Hill: New York, NY, USA, 1985. [Google Scholar]
- Gillespie, R.B. Kane’s equations for haptic display of multibody systems. Haptics-e
**2003**, 3, 144–158. Available online: http://www.haptics-e.org (accessed on 17 March 2016). [Google Scholar] - Mitiguy, P. MotionGenesis: Advanced Solutions for Forces, Motion, And Code-Generation. Available online: http://www.motiongenesis.com/ (accessed on 17 March 2016).
- Azevedo, C.; Espiau, B.; Amblard, B.; Assaiante, C. Bipedal locomotion; toward a unified concept in robotics and neuroscience. Biol. Cybern.
**2007**, 96, 209–228. [Google Scholar] [CrossRef] [PubMed] - Azevedo, C.; Amblard, B.; Espiau, B.; Assaiante, C. A Synthesis of Bipedal Locomotion in Human and Robots; Technical Report; Research Report 5450; INRIA: Sophie Antipolis Cedex, Nice Cedex, France, 2004; Available online: https://hal.inria.fr/inria-00070557 (accessed on 17 March 2016).
- Wieber, P. Constrained Stability and Parameterized Control. In Biped Walking, Proceedings of the International Symposium on Mathematical Theory of Networks and Systems, Perpignan, France, 19–23 June 2000.
- Wieber, P. On the Stability of Walking Systems. In Proceedings of the International Workshop on Humanoids and Human Friendly Robotics, Tsukuba, Japan, 11–12 December 2002.
- Kumar, R.; Handharu, N.; Jungwon, Y.; Gap-soon, K. Hybrid toe and heel joints for biped/humanoid robots for natural gait. In Proceedings of the International Conference on Control, Automation and Systems, Seoul, Korea, 17–20 October 2007.
- Ezati, M.; Toosi, K.; Khadiv, M.; Moosavian, S. Dynamics modeling of a biped robot with active toe joints. In Proceedings of the 2014 Second RSI/ISM International Conference on Robotics and Mechatronics, Tehran, Iran, 15–17 October 2014.
- Ezati, M.; Khadiv, M.; Akbar, M.S.A. Optimal gait planning for a biped robot by employing active toe joints and heels. Modares Mech. Eng.
**2015**, 15, 69–80. [Google Scholar] - Bajodah, A.H.; Hodges, D.; Chen, Y. Nonminimal generalized Kane’s impulse-momentum relations. J. Guid. Control Dyn.
**2004**, 27, 1088–1092. [Google Scholar] [CrossRef] - Ounpuu, S. The biomechanics of walking and running. Clin. Sports Med.
**1994**, 13, 843–863. [Google Scholar] [PubMed] - Saunders, J.B.; Inman, V.T.; Eberhardt, H.D. The major determinants in normal and pathological gait. J. Bone Joint Surg.
**1953**, 35-A, 543–558. [Google Scholar] [PubMed] - Patton, J. Normal Gait Part B of Kinesiology. Technical Report. 2002. Available online: http://www.smpp.northwestern.edu/˜jim/kinesiology/partB_GaitMechanics.ppt.pdf (accessed on 17 March 2016).
- Menga, G. G++ Programming Environment, SYCO. 2008. Available online: www.syco.it (accessed on 17 March 2016).
- Bahar, B.; Miskon, M.F.; Bakar, N.A.; Shukor, A.Z.; Ali, F. Path generation of sit to stand motion using humanoid robot. Aust. J. Basic Appl. Sci.
**2014**, 8, 168–182. [Google Scholar]

**Figure 4.**The object model of the simulator in UML notation [21].

**Figure 5.**The state machine of the simulator in SDL notation [21].

Motion | Constraints | Reactions | Position | Free |
---|---|---|---|---|

Variables | Control | Forces/Torques | ||

${\dot{\theta}}_{{y}_{foo{t}_{1}}}$ | ${T}_{{y}_{foo{t}_{1}}}$ | ${F}_{{x}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{{y}_{ankl{e}_{1}}}$ | ${T}_{{y}_{ankl{e}_{1}}}$ | ${F}_{{y}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{kne{e}_{1}}$ | ${T}_{kne{e}_{1}}$ | ${F}_{{z}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{{y}_{hi{p}_{1}}}$ | ${T}_{{y}_{hi{p}_{1}}}$ | ${T}_{{x}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{{y}_{hi{p}_{2}}}$ | ${T}_{{y}_{hi{p}_{2}}}$ | ${T}_{{y}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{kne{e}_{2}}$ | ${T}_{kne{e}_{2}}$ | ${T}_{{z}_{foo{t}_{2}}}$ | ||

${\dot{\theta}}_{{y}_{ankl{e}_{2}}}$ | ${T}_{{y}_{ankl{e}_{2}}}$ | |||

${\dot{\theta}}_{{x}_{ankl{e}_{1}}}$ | ${T}_{{x}_{ankl{e}_{1}}}$ | |||

${\dot{\theta}}_{{x}_{hi{p}_{1}}}$ | ${T}_{{x}_{hi{p}_{1}}}$ | |||

${\dot{\theta}}_{{x}_{hi{p}_{2}}}$ | ${T}_{{x}_{hi{p}_{2}}}$ | |||

${\dot{\theta}}_{{x}_{ankl{e}_{2}}}$ | ${\dot{\theta}}_{xfoo{t}_{2}}$ | ${T}_{{x}_{ankl{e}_{2}}}$ | ||

${\dot{\theta}}_{{z}_{ankl{e}_{1}}}$ | ${\dot{\theta}}_{{z}_{hat}}$ | ${T}_{{z}_{ankl{e}_{1}}}$ | ||

${\dot{\theta}}_{{z}_{ankl{e}_{2}}}$ | ${\dot{\theta}}_{{z}_{foo{t}_{2}}}$ | ${T}_{{z}_{ankl{e}_{2}}}$ | ||

${\dot{\theta}}_{{x}_{foo{t}_{1}}}$ | ${\dot{\theta}}_{{x}_{foo{t}_{1}}}$ | ${T}_{{x}_{foo{t}_{1}}}$ | ||

${\dot{x}}_{to{e}_{1}}$ | ${\dot{x}}_{to{e}_{1}}$ | ${F}_{{x}_{foo{t}_{1}}}$ | ||

${\dot{y}}_{to{e}_{1}}$ | ${\dot{y}}_{to{e}_{1}}$ | ${F}_{{y}_{foo{t}_{1}}}$ | ||

${\dot{z}}_{to{e}_{1}}$ | ${\dot{z}}_{to{e}_{1}}$ | ${F}_{{z}_{foo{t}_{1}}}$ |

Motion | Constraints | Reactions | Position | Free |
---|---|---|---|---|

Variables | Control | Forces/Torques | ||

${\dot{\theta}}_{{y}_{foo{t}_{1}}}$ | ${T}_{{y}_{foo{t}_{1}}}$ | |||

${\dot{\theta}}_{{y}_{ankl{e}_{1}}}$ | ${T}_{{y}_{ankl{e}_{1}}}$ | |||

${\dot{\theta}}_{kne{e}_{1}}$ | ${T}_{kne{e}_{1}}$ | |||

${\dot{\theta}}_{{y}_{hi{p}_{1}}}$ | ${T}_{{y}_{hi{p}_{1}}}$ | |||

${\dot{\theta}}_{{y}_{hi{p}_{2}}}$ | ${\dot{x}}_{hee{l}_{2}}$ | ${F}_{{x}_{foo{t}_{2}}}$ | ${T}_{{y}_{hi{p}_{2}}}$ | |

${\dot{\theta}}_{kne{e}_{2}}$ | ${T}_{kne{e}_{2}}$ | |||

${\dot{\theta}}_{{y}_{ankl{e}_{2}}}$ | ${T}_{{y}_{ankl{e}_{2}}}$ | |||

${\dot{\theta}}_{{x}_{ankl{e}_{1}}}$ | ${T}_{{x}_{ankl{e}_{1}}}$ | |||

${\dot{\theta}}_{{x}_{hi{p}_{1}}}$ | ${\dot{z}}_{hee{l}_{2}}$ | ${F}_{{z}_{foo{t}_{2}}}$ | ${T}_{{x}_{hi{p}_{1}}}$ | |

${\dot{\theta}}_{{x}_{hi{p}_{2}}}$ | ${\dot{y}}_{hee{l}_{2}}$ | ${F}_{{y}_{foo{t}_{2}}}$ | ${T}_{{x}_{hi{p}_{2}}}$ | |

${\dot{\theta}}_{{x}_{ankl{e}_{2}}}$ | ${\dot{\theta}}_{{x}_{foo{t}_{2}}}$ | ${T}_{{x}_{foo{t}_{2}}}$ | ${T}_{{x}_{ankl{e}_{2}}}$ | |

${\dot{\theta}}_{{z}_{ankl{e}_{1}}}$ | ${\dot{z}}_{hat}$ | ${T}_{{z}_{ankl{e}_{1}}}$ | ||

${\dot{\theta}}_{{z}_{ankl{e}_{2}}}$ | ${\dot{\theta}}_{{z}_{foo{t}_{2}}}$ | ${T}_{{z}_{ankle2}}$ | ||

${\dot{\theta}}_{{x}_{foo{t}_{1}}}$ | ${\dot{\theta}}_{{x}_{foo{t}_{1}}}$ | ${T}_{{x}_{foo{t}_{1}}}$ | ||

${\dot{x}}_{to{e}_{1}}$ | ${\dot{x}}_{to{e}_{1}}$ | ${F}_{{x}_{foo{t}_{1}}}$ | ||

${\dot{y}}_{to{e}_{1}}$ | ${\dot{y}}_{to{e}_{1}}$ | ${F}_{{y}_{foo{t}_{1}}}$ | ||

${\dot{z}}_{to{e}_{1}}$ | ${\dot{z}}_{to{e}_{1}}$ | ${F}_{{z}_{foo{t}_{1}}}$ | ||

${T}_{{y}_{foo{t}_{2}}}$ |

© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Menga, G.; Ghirardi, M.
Modelling, Simulation and Control of the Walking of Biped Robotic Devices—Part I : Modelling and Simulation Using Autolev. *Inventions* **2016**, *1*, 6.
https://doi.org/10.3390/inventions1010006

**AMA Style**

Menga G, Ghirardi M.
Modelling, Simulation and Control of the Walking of Biped Robotic Devices—Part I : Modelling and Simulation Using Autolev. *Inventions*. 2016; 1(1):6.
https://doi.org/10.3390/inventions1010006

**Chicago/Turabian Style**

Menga, Giuseppe, and Marco Ghirardi.
2016. "Modelling, Simulation and Control of the Walking of Biped Robotic Devices—Part I : Modelling and Simulation Using Autolev" *Inventions* 1, no. 1: 6.
https://doi.org/10.3390/inventions1010006