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

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.


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][3][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.

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].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.

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: where S is a single step length, H is a step height, T is a step period, x 0 is a distance between the two feet in xdirection.In [4] authors showed that equations for CoM trajectory can be expressed as: where coefficients α and β are found experimentally to reduce ZMP error.Therefore, we have the following trajectories for the robot CoM: 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.

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: where ܼ is the height of CoM, ݃ 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: 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, ‫)݇(‬ = ‫ݔ‬ ⃛(݇) is used.
According to [14] the control signal u while using the future value of the desired ZMP position could be calculated as follows: ே ୀଵ (11) where e(i) is the error between the calculated and the desired coordinate ZMP, p d is the desired coordinates of the ZMP, G I , G x , G d 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 N l values.

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.

Table 2. Simulation parameters Parameter Value
Step height 0.05 m Step period 0.5 sec CoM height 0.75 m Step length 0.1 mmax.value

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].

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.4) and ( 5) around 1 in order to minimize ZMP errors.Figures 6-7 show 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 should lie within [0.6, 0.8] interval, and for y-coordinate the optimal DOI: 10.1051/ 0900 ) , matecconf/2016 MATEC Web of Conferences 750900 7 ICMIE 2016 value of β 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.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.

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 xcoordinate 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.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.

Figure 2 .Figure 3 .
Figure 2. CAD model of anthropomorphic robot AR-601M 7) where C 1 , C 2 , D 1 and D 2 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 DOI: 10.1051/ 0900 ) , matecconf/2016 MATEC Web of Conferences 750900 7

Figure 5 .
Figure 5. ZMP x (top) and y (bottom) coordinates Next, we vary α and β coefficients in Eq. (4) and (5) around 1 in order to minimize ZMP errors.Figures6-7show 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 should lie within [0.6, 0.8] interval, and for y-coordinate the optimal

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

Table 1 .
Mass and size parameters of the pedipulators.