Journal of Robotics, Networking and Artificial Life, Vol. 3, No. 3 (December 2016), 182-187

Bipedal robot locomotion modelling with virtual height inverted pendulum and preview
control approaches in Simulink environment
Ramil Khusainov¹, Ilya Afanasyev¹, Leysan Sabirova¹, Evgeni Magid²¹Intelligent Robotic Systems Laboratory, Innopolis University,
Innopolis City, Russian Federation
E-mail: {r.khusainov, i.afanasyev, l.sabirova}@innopolis.ru²Intelligent Robotic Systems Laboratory, Kazan Federal University,
Kazan, Russian Federation
E-mail: dr.e.magid@ieee.org

Abstract
Control algorithms development for humanoid locomotion is difficult due to humanoid’s high number of Degrees
of Freedom and system nonlinearity. Moreover, a humanoid may lose balance as its walking speed changes. We
present AR-601M humanoid locomotion modelling with virtual height inverted pendulum and preview control
approaches. A step length and period influence on walking stability were investigated and simulated within
Simulink environment. Achievable in simulation maximal torques in leg joints and corresponding trajectories wereverified against attainable robot motors’ values.
Keywords: Biped robot, dynamic stability, Simulink, AR-601M robot

1. Introduction
Bipedal robot design and locomotion control are often
referred to as extremely demanded and challenging
research topics as stable locomotion is a minimal
necessary requirement for all anthropomorphic robot
applications. A number of successful dynamically stablebiped locomotion approaches have been proposed overthe last decades1,2,3,4,5,6, and a large number of themaddress walking stability issue with analytical methods
that are based on locomotion dynamics and employ
particular stability constraints. Among the mostcommon stability constraints is a so-called Zero
Moment Point (ZMP) approach7. ZMP criteria is
applied for locomotion reference trajectory generation
together with a significantly simplified robot model, forexample, such as a Linear Inverted Pendulum Model(LIPM)8. Yet, as LIPM model does not count for fullbody dynamics, this causes ZMP errors, which in turn
may become critical for a particular walking speed. To
deal with this issue, Ha and Cho9 proposed a novel
simplified robot model, which is called Virtual Height
Inverted Pendulum Model (VHIPM) and experimentallydemonstrated that the ZMP error could be significantly
reduced by varying the height of Center of Mass (CoM)
in their LIPM model.
In this paper we present two pattern generation
principles: preview control method and VHIPM methodwith LIPM model10,11. The algorithms modelling,experiments and testing were carried out in MATLAB/
Simulink environment. For VHIPM we calculated
maximal speed of AR-601M stable walking andcorresponding torques in the robot joints. The rest of thepaper is organized as following. Section 2 presents therobot and its modelling. Section 3 describes walking
trajectory generation with VHIPM method (with LIPM)

Published by Atlantis Press
Copyright: the authors
182

Ramil Khusainov, Ilya Afanasyev, Leysan Sabirova, Evgeni Magidand preview control method, followed by simulation
results in Section 4. Finally, we conclude in Section 5.
2. System setup
2.1. AR-601M robot description
Figure 1 presents a developed by Russian company
Android Technics AR-601M biped robot and our 41
degrees of freedom (DoF) AR-601M’s modelling in
MATLAB/Simulink environment. However, only 6
joints per each leg are active during locomotion (12DoF in total): three joint axes are in the hip, two joints
are at the ankle and one in the knee. Mass and size
parameters of the robot legs are given in Table 1. The
total mass of the robot is 65 kg and the height is 1442
mm; for further details about AR-601M the interested
reader could refer to Khusainov et al12.

homogeneous, which is not the same as in the real robot
because of heterogeneity of the robot parts (forexample, the robot hand contains metal parts, printed
circuit boards, actuators, wiring harness, etc., and allthese components have different weight, unevenly
distributed across the hand). Therefore, mass
characteristics of the real robot (mass, CoM positions
and moments of inertia) for each part were requested
from the manufacturer and further integrated into thevirtual environment model.
Link Software tool in Simulink SimMechanics
library was used to generate a mechanical model of therobot in MATLAB SimMechanics environment
automatically by importing its solid body CAD modelfrom SolidWorks. We modelled each robot joint as arevolute joint with a single DoF. Figure 2 demonstrates
a block diagram of AR-601M leg simulated in
SimMechanics. The figure shows that the leg has 6 links
and 6 rotational joints. The robot initial position isdetermined so that the legs are fully stretched out, thefeet are parallel to the horizontal plane, and the choiceof the hands’ initial position is arbitrary.

Fig. 1. Anthropomorphic robot AR-601M: photograph (left)
and MATLAB/Simulink model (middle and right).
Table 1. Mass and size parameters of AR-601M legs.
Link
Size parameters (mm) Mass (kg)
Thigh
Shank

Length : 280
Length : 280

7.5
6.9

Foot

LWH: 254x160x106

3.2

2.2. Modelling in Simulink environment
Initial solid CAD-generated AR-601M robot model in
SolidWorks contained 59 parts and their linear
dimensions corresponded to the real robot with a rather
high accuracy. When we imported the robot model from
CAD package, its mass distribution was considered as

Fig. 2. A block diagram of AR-601M’s leg, modelled in
MATLAB/SimMechanics Toolbox.

A complete 3D simulation of multibody dynamics
was performed using variable step period implicit solver(ODE 23t*) of MATLAB SimMechanics Toolbox. We
modelled the robot feet ground contact with nonlinear
spring-damper method13, where normal and friction
forces are calculated according to Eq.1 and Eq.2
respectively:

Published by Atlantis Press
Copyright: the authors
183

𝐹𝑛 = 𝑘𝑛 𝑧 + 𝑏𝑛 𝑧𝑧̇

𝐹𝑡 = 𝑏𝑡 𝑧𝑥̇ , 𝐹𝑡 ≤ 𝜇𝐹𝑛

(1)
(2)

Bipedal robot locomotion modellingwhere kn, bn, bt and µ are contact force parameters. The
contact model details can be found in the previous workof the authors12.
3. Walking Trajectory Generation
3.1. Virtual height inverted pendulum approach
Bipedal robot locomotion could be viewed as asequence of single steps14. Next, walking trajectory is
calculated under the set of widely applied in bipedwalking experimental approaches’ assumptions15:• A swing foot is always parallel to the groundplane (support plane)16• An upper body always stays upright• CoM of a robot is moving at a constant height• A swing foot moves within a cycloid trajectoryand its coordinates are described with thefollowing equations:assumes that the robot has some initial velocity. To
move the robot from a resting state we initialize step
length with a very small but reasonable value (i.e., ashort step) and then gradually increase it in a loop to the
maximal value until accumulated ZMP errors become
critical and the robot finally falls down17.
3.2. Preview control method
For our virtual robot model a coordinate of ZMP wasperceived as a feedback signal. Using a controller withthe feedback allows the robot to adapt to a current
situation and to calculate a necessary trajectory.
Katayama et al.18 presented a preview control approachthat uses a desired future value of the ZMP coordinates.
We applied the same approach in order to obtain robot
trajectories in frontal and sagittal planes. Thus, the ZMP
coordinates for the inverted pendulum model (IPM) are
given with the equation:𝑍
𝑃 = 𝑋 − 𝑐 𝑋̈

(3)𝑥(𝑡) = 𝑥0

𝜋𝜋𝑧(𝑡) = −𝑆 cos( )𝑇𝑦(𝑡) = 0.5𝐻 (1 − cos(

(4)
2𝜋𝜋
𝑇

(5)

))

where x0 is a distance between two feet in x-direction, S
is a single step length, H is a step height, T is a step
period. Yonemura et al.15 demonstrated that equations
for CoM trajectory could be expressed as:𝑔𝑥̈ 𝐶𝐶𝐶 −𝛼𝑧𝐶𝐶𝐶𝑦̈ 𝐶𝐶𝐶 −𝛽𝑧𝐶𝐶𝐶

𝑔𝑥𝐶𝐶𝐶 = 0(6)

𝑦𝐶𝐶𝐶 = 0(7)where coefficients α and β are obtained experimentally
while minimizing ZMP error. Therefore, robot’s CoM
point trajectories are defined with the following
expressions:𝑥(𝑡) = 𝐶1 𝑒 −𝑤1 𝑡 + 𝐶2 𝑒 𝑤1𝑡 , 𝑤1 = �𝑦(𝑡) = 𝐷1 𝑒 −𝑤2 𝑡 + 𝐷2 𝑒 𝑤2𝑡 , 𝑤2 = �

𝑔

(8)

𝑔

(9)

𝛼𝑧𝐶𝐶𝐶

𝛽𝑧𝐶𝐶𝐶

where C1, C2, D1 and D2 coefficients are found frominitial and final values of CoM coordinates. After wedefine translational and rotational coordinates for the
body and the swing foot, the joint angle trajectories are
obtained applying inverse kinematics. Such trajectory

(10)

𝑔

where ZCoM is the height of CoM, g is the free fall
acceleration and X is the x-coordinate of CoM.
Equations for the controller in a discrete time spacehave the following form:x(k + 1) = Ax(k) + Bu(k), p(k) = Cx(k)(11)

where k is discrete time, x(k) is a value of a state vector(position, velocity, acceleration of CoM), u(k) is acontrol vector, p(k) is a value of ZMP coordinates.
Coefficients A, B, C are obtained from Eq.10, andexpansion of the state vector x in Taylor series to findits value in the next (discrete) instance of time8. A third
derivative of x-coordinate 𝑝(𝑘) = 𝑥⃛ plays a role ofcontrol vector u(k). According to Katayama et al.18, thecontrol signal u would apply a future value of thedesired ZMP position and is calculated as follows:𝑁𝑙𝑢(𝑘) = −𝐺𝐼 ∑𝑘𝑖=0 𝑒(𝑖) − 𝐺𝑥 𝑥(𝑘) − ∑𝑙=1
𝐺𝑑 (𝑙)𝑝𝑑 (𝑘 + 𝑙)
(12)where GI , Gx, Gd are proportion coefficients, e(i) is anerror between calculated and desired ZMP coordinates,
pd is the desired ZMP coordinates at (k+l) time
instance. Thus, the first term expresses an accumulated
error between the calculated and the desired ZMP
coordinates. The second term is proportional to a
current state vector x. The third term takes into accountPublished by Atlantis Press
Copyright: the authors
184

Ramil Khusainov, Ilya Afanasyev, Leysan Sabirova, Evgeni Magidfuture values of the desired ZMP position with the sum
running over Nl future values.
4. Simulation results
MATLAB/Simulink environment was used to model
AR-601M walking and to test the algorithms. Table 2
presents walking trajectory parameters for experiments.
Table 2. Simulation parameters
Parameter
Value
Step height
0.1 m
Step period
CoM height

0.5 sec
0.75 mStep length

0.1 m – max. value

4.1. Virtual height inverted pendulum method
First, maximum speed of the robot model, which could
be achieved with linear inverted pendulum model(LIPM) method, was evaluated. A successful sequenceof 100 robot steps is defined as a successful walking
trial. After each successful walking trial, the step length

was increased by 0.05 m and the algorithm was run
again. The process of the step increase was repeateduntil the robot failed to execute a successful (stable)
walking trial.
Simulations demonstrated that maximum step length
at which the robot could perform stable walking islimited by 0.95 m, which corresponds to 0.95 m/swalking speed. CoM forward velocity value is shown in
Fig.3. Figure 4 demonstrates ZMP coordinates for a stepof 0.95 m length. A support foot center corresponds to(0,0) coordinate. According to the calculated values, wehave approximately 2.5 cm error for x-coordinate and10 cm error for y-coordinate – just after a single step!
Next, we vary α and β coefficients in Eq. 6 and 7
around 1 in order to minimize ZMP errors. Figure 5
shows the dependence of maximal error of ZMP
coordinate on α for x-coordinate and on β for ycoordinate. It was empirically detected that for xcoordinate the optimal value of coefficient α is equal to1, for y-coordinate optimal β should lie within [0.7, 0.8]
interval. Walking simulation with these coefficients
showed that such optimization of trajectories allows toincrease maximal step length from 0.95 m to 1.1 m andto achieve a maximal speed of 1.1 m/s accordingly
while keeping stable walking for at least 100 sequential
steps.

Fig. 3. Robot velocity in LIPM method.

Fig. 5. Dependence of ZMP x-coordinate error on α (top) andy-coordinate error on β (bottom).

Fig. 4. ZMP x (top) and y (bottom) coordinates.

Finally, we estimated the peak torque values in theankle and knee joints that the robot motors should
generate in order to support the locomotion according to
the calculated trajectory. Figure 6 shows the calculated
torque values for the ankle and the knee joints.

Published by Atlantis Press
Copyright: the authors
185

Bipedal robot locomotion modelling

The peak torque should approximately reach 100
N*m for the ankle and 80 N*m for the knee joint.
According to the technical specifications of real AR601-M robot, its motors can generate maximal values of
50 N*m for the knee and 20 N*m for the ankle joint.
Unfortunately, this means that the calculated above
maximal speeds could not be achieved for the real robot.
Therefore, we are limited to use trajectories with alower maximum speed, which are dynamically stableaccording to our simulations.

Fig. 7. Desired ZMP, calculated ZMP and CoM x-coordinate.

Fig. 8. Desired ZMP, calculated ZMP and CoM y-coordinate.

5. Conclusions and Future work

Fig. 6. Torque values in ankle joint (top) and knee joint(bottom).

4.2. Preview control method
In contrast to virtual height inverted pendulum
approach, preview control method considers feedback
of a ZMP error. Therefore, there is no need to make 100
steps (as in VHIPM method) in order to conclude if thewalking is stable. If certain stable movement isachieved, robot will not fall down later under condition
that there is no external disturbance. CoM position,
desired and calculated ZMP coordinates for x and ycoordinates are presented in Figures 7, 8. Figure 7
demonstrates that the calculated ZMP x-coordinate
values are close to desired ZMP coordinate within
acceptable error. The x-coordinate of CoM smoothly
increases, which corresponds to the forward locomotionof the robot. Deviation of the calculated ZMP ycoordinate from desired values is shown in Figure 8,
and its maximum is approximately 0,05 m. Therefore,
ZMP point is getting close to support polygon edge for agiven walking speed and further increase of locomotion
speed will result in robot downfall.

Our long-term research goal targets to develop andimplement algorithms for dynamically stable
locomotion of AR-601M robot. At the current stage ofour research we modelled dynamically stable AR-601M
robot locomotion with virtual height inverted pendulum
model (VHIPM) and preview control methods.
Experiments with simulated robot model were
performed in MATLAB/Simulink environment.
VHIPM method allows to calculate a stable
locomotion path quickly and effectively. We
investigated in depth the influence of a step length and astep period on AR-601M’s walking stability. In general,proper coefficients selection with a help of simulationfor each particular robot model affords to achieve
maximal walking speed for stable locomotion. The
resulting torque values in the knee and the ankle joints
could be calculated for such maximal walking speed andfurther verified against the technical capabilities of thereal robot joint motors. Unfortunately, in our case themaximal speed of stable locomotion that was
successfully demonstrated in the flat surface walking
simulation turned out to be infeasible for AR601-M
robot due to the limited capabilities of its joint motors.
However, the knowledge of the theoretically possible
speed within a simulation and the robot motors
specifications give a good hint for the real achievablespeed. As a part of our future work, we are going to
implement the presented in this paper algorithms into

Published by Atlantis Press
Copyright: the authors
186

Ramil Khusainov, Ilya Afanasyev, Leysan Sabirova, Evgeni Magid

AR-601M robot control system and verify that it could
perform stable locomotion and achieve the calculated
through simulations peak walking speed, which do take
into account hardware limitations of the motors. The
main weakness of this algorithm is the lack of feedback
that results in accumulation of errors with time andwhich eventually may cause robot’s downfall.
Preview control method does not have thisdisadvantage. However cart-table model doesn’t take
into account full dynamics of the robot motion, whichleads to high ZMP errors at high walking speed.
Therefore, as a part of our future work we schedule toconsider full dynamics of the robot with influence of theupper body and swing leg motion and change
mathematical model of locomotion dynamics
accordingly.
Acknowledgements
This research has been supported by Russian Ministryof Education and Science as a part of Scientific andTechnological Research and Development Program ofRussian Federation for 2014-2020 years (agreement
14.609.21.0004,
research
grant
ID
RFMEFI60914X0004) and by Android Technics
company, the industrial partner of the research.
References
1. J. Wright and I. Jordanov, Intelligent approaches inlocomotion, International Joint Conference on Neuralnetworks, (2012), pp. 1-8.
2. J. Pratt, C. M. Chew, A. Torres, P. Dilworth and G. Pratt,
Virtual model control: An intuitive approach for bipedal
locomotion, The International Journal of Robotics
Research, 20 (2) (2001), pp. 129-143.
3. K. Lffler, M. Gienger and F. Pfeiffer, Sensor and control
design of a dynamically stable biped robot, IEEE
International Conference on Robotics and Automation, 1(2003), pp. 484-490.
4. Y. Hurmuzlu, F. Gnot and B. Brogliato, Modeling, stability and control of biped robots a general frame- work,
Automatica, 40 (10) (2012), pp. 1647-1664.
5. F. Asano and Z. W. Luo, Energy-efficient and highspeed
dynamic biped locomotion based on principle ofparametric excitation, IEEE Transactions on Robotics, 24(6) (2008), pp. 1289-1301.
6. S. Jatsun, V. Dyshenko, A. Yatsun and A. Malchikov,
Modelling of Robot’s Motion by Use of Vibration ofInternal Masses, In Proceedings of EUCOMES 08,
Springer Netherlands, (2009), pp.263-270.
7. M. Vukobratovich and B. Borovac, Zero-moment point thirty-five years of its life, International Journal of
Humanoid Robotics, 1 (2004), pp.157-173.
8. S. Kajita, F. Kahehiro, K. Kaneko, K. Fujiwara, K.
Harada, K. Yokoi and H. Hirukawa, Biped walking patterngeneration using preview control of the zeromomentpoint, Proceedings of IEEE International Conference on
Robotics and Automation, 2 (2003), pp. 1620-1626.
9. T. Ha and C.-H. Choi, An effective trajectory generation
method for bipedal walking, Journal of Robotics andAutonomous Systems, 55 (10) (2007), pp.795-810.
10. R. Khusainov, I. Shimchik, I. Afanasyev and E. Magid,
Toward a human-like locomotion: Modelling dynamicallystable locomotion of an anthropomorphic robot in
Simulink environment, Proceedings of the 12th
International Conference on Informatics in Control,
Automation and Robotics, 2 (2015), pp.141-148.
11. B. Gabbasov, I. Danilov, I. Afanasyev and E. Magid,
Toward a human-like biped robot gait: Biomechanicalanalysis of human locomotion recorded by Kinect-based
motion capture system. Proceedings of the 10th
International Symposium on Mechatronics and its
Applications, (2015), pp.1-6.
12. R. Khusainov, I. Shimchik, I. Afanasyev and E. Magid,
3D Modelling of Biped Robot Locomotion with Walking
Primitives Approach in Simulink Environment. In Lecture
Notes in Electrical Engineering, Springer International
Publishing, 383 (30) (2016), pp. 287-304.
13. K.H Hunt. and F.R.E. Crossley, Coefficient of restitution
interpreted as damping in vibroimpact, ASME Journal ofApplied Mechanics, 42 (2) (1975), pp.440-445.
14. J. Denk and G. Schmidt, Synthesis of walking primitive
databases for biped robots in 3-D environments, IEEE
International Conference on Robotics and Automation, 1(2003), pp.1343-1349.
15. A. Yonemura, Y. Nakajima, A.R. Hirakawa and A.
Kawamura, Experimental approach for the biped walking
robot MARI-1, 6th International Workshop on Advanced
Motion Control, (2000), pp.548-553.
16. R. Khusainov, A. Klimchik and E. Magid, Swing leg
trajectory optimization for a humanoid robot locomotion,
Proceedings of the 13th International Conference on
Informatics in Control, Automation and Robotics, 1(2016), pp.130-144.
17. R. Khusainov, I. Shimchik, I. Afanasyev and E. Magid,
Anthropomorphic robot modelling with virtual height
inverted pendulum approach in Simulink: step length andperiod influence on walking stability. International
Conference on Artificial Life and Robotics, (2016).
18. T. Katayama, T. Ohki, T. Inoue and T. Kato, Design of an
optimal controller for a discrete-time system subject topreviewable demand, International Journal of Control, 41(3) (1985), pp.677-699.

Published by Atlantis Press
Copyright: the authors
187