Scholarly article on topic 'Modelling of dynamically stable AR-601M robot locomotion in Simulink'

Modelling of dynamically stable AR-601M robot locomotion in Simulink Academic research paper on "Mechanical engineering"

Share paper
Academic journal
MATEC Web of Conferences
OECD Field of science

Academic research paper on topic "Modelling of dynamically stable AR-601M robot locomotion in Simulink"

Modelling of dynamically stable AR-601M robot locomotion in Simulink

Ramil Khusainov, Artur Sagitov, Alexander Klimchik and Evgeni Magid

ntelligent Robotic Systems Laboratory, Innopolis University, Russian Federation

Abstract. Humanoid robots will gradually play an important role in our daily lives. Currently, research on anthropomorphic robots and biped locomotion is one of the most important problems in the field of mobile robotics, and the development of reliable control algorithms for them is a challenging task. In this research two algorithms for stable walking of Russian anthropomorphic robot AR-601M with 41 Degrees of Freedom (DoF) are investigated. To achieve a human-like dynamically stable locomotion 6 DoF in each robot leg are controlled with Virtual Height Inverted Pendulum and Preview control methods.

1 Introduction

Nowadays roboticists actively work on developing, updating, and improving currently existing anthropomorphic robots. One of the critical tasks of robotics is to create a multifunctional robot that would be able to replace people in dangerous work conditions, such as search and rescue operations, working in the field of nuclear safety, chemically or biologically polluted environments, and supporting people during space flights. Such operations may require humanlike skills to overcome obstacles and get through environment, which was designed mainly for a human. That is why it is critically important to develop anthropomorphic robots, which are similar to human body in their size, weight and locomotion characteristics.

Although bipedal robot locomotion has been tackled from different angles for a quite long time, it was only in the last decade of the 20th century that real robots started to demonstrate an acceptably successful walking on two legs. Early solutions involved static walking approach, which targeted to keep the ground projection of the centre of mass (CoM) always inside foot support area, and performed at a very low walking speed and on flat surfaces only [1]. To achieve faster walking speeds, running, and stair climbing, dynamic walking approach permits CoM projection to be outside of the foot support area, while the zero momentum point (ZMP) should always stay within the support area (e.g., [2-4]). To produce dynamically stable gaits the ZMP concept is utilized in different ways and could be roughly classified into two types [5]. One approach considers ZMP as a target reference and applies numerical methods to solve the ZMP equations and to obtain the CoM trajectory, which fulfils some predefined ZMP trajectory [6]. Another approach (called the preview control approach) solves the bipedal walking as a ZMP tracking problem

[7]. In this paper we overview two main walking pattern generation principles which are applied for Russian-made AR-601M anthropomorphic robot - a preview control method [8,9] and a virtual height inverted pendulum method [10,11]. Virtual experiments and control algorithms evaluation for AR-601M are performed in Simulink environment.

The rest of this paper is organized as following. Section 2 describes characteristics of AR-601 robot, focusing on pedipulator parameters, and simulation process. Section 3 presents biped robot dynamic balance methods, which are used in our research. Section 4 demonstrates the results of simulating robot locomotion in MATLAB/Simulink environment. Finally, Section 5 presents our conclusions and future work discussion.

2 AR-601M robot model

Biped robot AR-601M (Fig. 1) with 41 active degrees of freedom (DoF) has been developed by Russian company "Android Technics". Its virtual model in Matlab/Simulink environment is presented in Fig. 1b. During the robot locomotion only 12 pedipulator joints (6 DoF in each pedipulator) are active and are utilized for locomotion control. Each robot leg contains three joint axes in the hip, two joints in the ankle and one in the knee. Mass and size parameters of the robot pedipulators are given in Table 1. The total mass of the robot is 65 kg; further details about AR-601M are available in [10].

Table 1. Mass and size parameters of the pedipulators.

Link Size parameters (mm) Mass (kg)

Thigh Length : 280 7.5

Shank Length : 280 6.9

Foot LxWxH: 254x160x106 3.2

© The Authors, published by EDP Sciences. This is an open access article distributed under the terms of the Creative Commons Attribution License 4.0 (

Figure 2 demonstrates solid CAD-generated AR-601M robot model with the total number of 59 model parts in SolidWorks environment. The linear dimensions of the model components with a high degree of accuracy correspond to the ones of the real robot. When the robot model is imported from CAD package, its mass distribution is considered as homogeneous, which is not the same as in the real robot because of heterogeneity of the robot parts (for example, the robot hand contains metal parts, printed circuit boards, actuators, wiring harness, etc., and all these components have different weight, unevenly distributed across the hand). Therefore, mass characteristics of the real robot, such as mass, CoM location and moments of inertia for each part, were used in the development of robot model in virtual environment.

Figure 1. Anthropomorphic robot AR-601M

Link Software tool in Simulink SimMechanics library allows to create a mechanical model of the robot in MATLAB SimMechanics environment automatically by importing its solid body CAD model from SolidWorks. Each robot's joint is modelled as a revolute joint with one DoF. Figure 3 demonstrates a block diagram of AR-601M robot leg part simulated in SimMechanics after importing the model from SolidWorks. The figure shows that the leg parts are connected through revolute joints and that joint is controlled by providing a particular input angle. The initial position of the robot is determined so that the legs are fully stretched out, the feet are parallel to the horizontal plane. The choice of the hands initial position is arbitrary and shown in Figure 2.

PS S -4—

Revolute 1 tb_sustav_leviy

From r

Workspace 1

PS S <—

From Workspace2

Simulink-PS ^Converters

Simulink-PS Converted

krestik_1 Revolute3

From Workspace3


Simulink-PS Converted

Figure 3. A block diagram of the robot leg part, modeled in SimMechanics

3 Walking pattern generation principles

3.1 Virtual height inverted pendulum method with linear inverted pendulum model

Robot locomotion could be considered as a repetition of a single step motion [3]. We calculated walking trajectory under the following assumptions, which are widely applied in experimental approaches for biped walking [4]:

(i) The swing foot is parallel to the ground

(ii) The upper body is always kept upright

(iii) CoM of the robot model is moving at the constant height

(iv) The swing foot is moving in a cycloid trajectory and its coordinates can be described with the following equations:

y{t) — -S cos(-)

z(t) — 0.5H (1 - cos^f))

. (2) x(t) = x0 (3)

where S is a single step length, H is a step height, T is a step period, x0 is a distance between the two feet in x-direction. In [4] authors showed that equations for CoM trajectory can be expressed as:

xCoM y CoM



xCoM — 0

ycoM — 0

where coefficients a and P are found experimentally to reduce ZMP error. Therefore, we have the following trajectories for the robot CoM:

x(t) — C1e~Wlt + C2ewt, y(t) — D±e~w2t + D2eWlt,

w2 —



(6) (7)

Figure 2. CAD model of anthropomorphic robot AR-601M

where C1, C2, D1 and D2 coefficients are obtained from initial and final values of CoM coordinates. After we define translational and rotational coordinates for the body and the swing leg, the joint angle trajectories are obtained from inverse kinematics problem solution.

Such trajectory assumes that robot has initial velocity. In the virtually simulated environment, to move the robot

from a resting state we first calculate trajectory with a very short step length and then gradually increase it up to its maximally possible value where ZMP errors become critical, the robot loses its balance and falls down.

3.2 Preview control method

For the virtual robot in our model zero moment point (ZMP) coordinate values were taken as a feedback signal. Using a controller with the feedback allows the robot to adapt to the current situation and to calculate the necessary trajectory. In [14] authors presented Preview Control approach that uses the desired future value of the ZMP coordinates. We obtain the robot trajectory in the frontal and sagittal planes, using this approach. ZMP coordinates for the inverted pendulum model (IPM) are given as:

p = X-^ X (8)

where Zc 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 space can be written in the form of:

x(k + 1) = Ax(k) + Bu(k) (9)

p(k) = Cx(k) (10)

where k is discrete time, x(k) is the value of the state vector (position, velocity, acceleration of CoM), u(k) is the control vector, p(k) is the value of the coordinates of the ZMP. A, B, C, D are the coefficients which are obtained from equation (8), and expansion of the state vector x in Taylor series to find its value in the next time [7]. In the role of a control vector u(k) the third derivative of the coordinates x, p(k) = x(k) is used.

According to [14] the control signal u while using the future value of the desired ZMP position could be calculated as follows:

u(k) =

= -GjlUeV) - Gxx(k)-YH^iGd(l)Pd(k + l) (11)

where e(i) is the error between the calculated and the desired coordinate ZMP, pd is the desired coordinates of the ZMP, GI, Gx, Gd are the proportion coefficients. The first term expresses the cumulative error between the calculated and the desired coordinate of ZMP. The second term is proportional to the current state vector x. The third term takes into account the future values of the desired ZMP position in which the sum runs over the future Ni values.

4 Simulation results

MATLAB/Simulink environment was used to model the bipedal robot walking and to test different algorithms in virtual world model. Walking trajectory parameters for experiments are listed in Table 2.

Step height 0.05 m

Step period 0.5 sec

CoM height 0.75 m

Step length 0.1 m - max. value

4.1. Virtual height inverted pendulum method

Initially, we evaluate the maximal walking speed of the robot virtual model, which could be achieved with the method of linear inverted pendulum model (LIPM). The successful implementation of 100 steps is referred as successful walking trial of the robot. After each stable walking trial, the step length was increased by 0.05 m and algorithm was re-applied again. The step increase process had been repeated until the robot failed to execute a successful stable walking trial. The detailed results of the algorithm testing are available in [15].


0 50 100 150

Time (seconds)

Figure 4. Robot velocity in LIPM method

Walking with different CoM height was simulated, and for each height the maximal walking speed was identified. Step period was equal to 0.5 sec. Simulations demonstrated that the maximal step length at which the robot could still perform stable walking is 0.95 m, which corresponds to 0.95 m/s walking speed. CoM forward velocity value is shown in Fig.4. Figure 5 demonstrates ZMP coordinates for a step of 0.95 m length. Support foot center corresponds to (0,0) coordinate. According to the calculated values, the algorithm accumulates approximately a 10 cm error for X coordinate and a 2 cm error for Y coordinate just after a single step.

Time (sec)

Time (sec)

Figure 5. ZMP x (top) and y (bottom) coordinates

Next, we vary a and P coefficients in Eq. (4) and (5) around 1 in order to minimize ZMP errors. Figures 6-7 show the dependence of maximal error of ZMP coordinate on a for x-coordinate and on P for y-coordinate. It was empirically detected that for x-coordinate the optimal value of a coefficient should lie within [0.6, 0.8] interval, and for y-coordinate the optimal

Table 2. Simulation parameters


value of P is equal to 0.9. Walking simulation with these coefficients showed that such optimization of trajectories allows to increase a maximal speed of 1.1 m/s accordingly while keeping stable walking for at least 100 sequential steps.

Figure 6. Dependence of ZMP x-coordinate error on alpha

Figure 7. Dependence of ZMP y-coordinate error on beta

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

f -60-

£ -80 -


0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 Time (seconds)

Figure 8. Torque values in ankle joint (top) and knee joint (bottom).

The maximal value is approximately 100 N*m for the ankle and 80 N*m for the knee joint. With regard 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 such high maximal speeds could not be achieved for the real robot. Therefore, we are limited to use trajectories with lower maximum speed, which are dynamically stable according to the virtual model simulations.

4.2 Preview control method

Simulations using preview control method were also performed in MATLAB/Simulink environment. In contrast to the virtual height approach, preview control method considers feedback of ZMP error. Therefore,

there is no need to make 100 steps, as in VHIPM method, in order to conclude if the walking is stable. If certain stable movement is achieved, robot will not fall down later under condition that there is no external disturbance.

Desired ZMP coordinate, calculated ZMP coordinate value and CoM position for x and y coordinates are presented in Fig. 9-10. The results correspond to maximal speed of 0.5 m/s. Fig. 9 demonstrates that the calculated ZMP x-coordinate values are close to the desired ZMP coordinate within an acceptable error. ZMP coordinate leaves supporting polygon only for a very limited time and, as a result, robot's walking is kept stable. The x-coordinate of CoM smoothly increases, which corresponds to the forward locomotion of the robot. The same is for ZMP y-coordinate, which calculated value is shown in Fig. 10. The y-coordinate of CoM oscillates around zero, which corresponds to side movement from one foot to another. Further increase of step length or decrease of step time result in critical ZMP errors. High ZMP errors for larger speeds occur because of a simple dynamical model of robot, according to which the controller is constructed. Therefore, full robot dynamics should be taken into account during controller development in further applications in order to achieve higher walking speeds.

Torque value in supporting foot knee joint is shown in Fig. 11. Maximum value is approximately 100 N*m, which is higher than motor nominal value. That means that joint trajectories of the real robot may differ from the virtually calculated ones, and we should consider related effects, such as errors in swing foot position.

Figure 9. Desired ZMP, calculated ZMP and CoM x coordinate

Time (sec)

Figure 10. Desired ZMP, calculated ZMP and CoM y coordinate

Time (seconds)

Figure 11. Torque value in knee joint

5 Conclusions

At the current stage of our research we had modelled dynamically stable AR-601M robot locomotion with VHIPM and preview control methods. Experiments with a simulated robot model were performed in MATLAB/Simulink environment. VHIPM method allows to calculate the stable locomotion path quickly and effectively. The main weakness of this algorithm is the lack of a feedback, which results in significant accumulation of errors with time and limits its application only for an ideal mechanism on a perfect flat floor.

The preview control method successfully avoids this disadvantage, but does not allow to reach maximal walking speed because it does not consider full dynamics of the robot motion. Thus, maximal walking speed with preview control method is lower than in virtual height method. Therefore, as a part of our future work we schedule to improve preview control method accordingly to take into account full dynamics of the robot.


This research has been supported by Russian Ministry of Education and Science as a part of Scientific and Technological Research and Development Program of Russian Federation for 2014-2020 years (research grant ID RFMEFI60914X0004) and by Android Technics company, the industrial partner of the research.


1. C. Shih Ascending and descending stairs for a biped robot. Systems, Man and Cybernetics, Part A: Systems and Humans, IEEE Transactions 29(3), 255268. (1999).

2. K. Nishiwaki and S. Kagami Simultaneous planning of com and zmp based on the preview control method for online walking control. IEEE-RAS International Conference on Humanoid Robots 745751, (2011).

3. K. Nishiwaki, S. Kagami, Y. Kuniyoshi, M. Inaba and H. Inoue Online generation of humanoid walking motion based on a fast generation method of motion pattern that follows desired zmp. Intelligent Robots and Systems IEEE/RSJ International Conference 3 2684-2689 (2002).

4. B. Gabbasov, I. Danilov, I. Afanasyev and E. Magid ZMP trajectory from human body locomotion dynamics evaluated by Kinect-based motion capture system. The 11-th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications, Italy.

5. Z. Li, N. Tsagarakis and D. Caldwell Walking pattern generation for a humanoid robot with compliant joints. Autonomous Robots 35(1), 1-14 (2013).

6. S. Kagami, T. Kitagawa, K. Nishiwaki, T. Sugihara, H. Inoue A fast dynamically equilibrated walking trajectory generation method of humanoid robot. Autonomous Robots, 12(1), 71-82 (2002)

7. S. Kajita, F. Kanehiro, K. Kaneko and K. Fujiwara Biped walking pattern generation by using preview control of zero-moment point. IEEE International Conference on Robotics and Automation. 2 16201626 (2003)

8. H. Audren, J. Vaillant, A. Kheddar, A. Escande, K. Kaneko and E. Yoshida Model preview control in multi-contact motion-application to a humanoid robot. IEEE/RSJ International Conference on Intelligent Robots and Systems, 4030-4035 (2014).

9. S. Shimmyo, T. Sato and K. Ohnishi Biped walking pattern generation by using preview control based on three-mass model. IEEE Transactions on Industrial Electronics, 60(11), 5137-5147, (2013).

10. R. Khusainov, I. Shimchik, I. Afanasyev and E. Magid Toward a human-like locomotion: Modelling dynamically stable locomotion of an anthropomorphic robot in Simulink environment. Proceedings of the 12th International Conference on Informatics in Control, Automation and Robotics, Colmar, Alsace, France, 2, 141-148 (2015)

11. T. Ha and H. Choi An effective trajectory generation method for bipedal walking. Robotics and Autonomous Systems, 10 795-810 (2007).

12. J. Denk, G. Schmidt, Synthesis of walking primitive databases for biped robots in 3-D environments. IEEE International Conference on Robotics and Automation. 1 1343-1349 (2003).

13. A. Yonemura, Y. Nakajima, A. Hirakawa and A. Kawamura Experimental approach for the biped walking robot MARI-1 6th International Workshop on Advanced Motion Control, 548-553 (2000).

14. T. Katayama, T. Ohki, T. Inoue and T. Kato, Design of an optimal controller for a discrete-time system subject to previewable demand. Int. J. Control. 41 677-699 (1985)

15. R. Khusainov, I. Shimchik, I. Afanasyev and E. Magid Anthropomorphic robot modelling with virtual height inverted pendulum approach in Simulink: step length and period influence on walking stability. The 2016 International Conference on Artificial Life and Robotics, Japan.