Available online at www.sciencedirect.com —-:-;-

SciVerse ScienceDirect Engineering

Procedia

ELSEVIER Procedia Engineering 41 (2012) 296 - 304

www.elsevier.com/locate/procedia

International Symposium on Robotics and Intelligent Sensors 2012 (IRIS 2012)

An Open Loop Walking on Different Slopes for NAO Humanoid Robot

Amir Massah B.a, Arman Sharifi K.ab, Yaser Salehiniaa, Farid Najafia*

aFaculty of Mechanical Engineering, K.N.Toosi University of Technology, Tehran, Iran bSchool of Mechanical Engineering, Sharif University of Technology, Tehran, Iran

Abstract

Dynamic gait planning for humanoid robots encounters difficulties such as stability, speed, and smoothness. In most of previous studies, joints' trajectories are calculated in 3D Cartesian space, then, introducing boundary conditions and using polynomials, the first and second derivatives of the motion are ensured to be continuous. Then, the stability of the motion is guaranteed using Zero Moment Point (ZMP) stability criterion. In this study, a trajectory planner is presented using the semi-ellipse equations of the motion; the continuity of the derivatives is preserved. Stabilization of motion is attained through using ZMP criterion and 3d inverted pendulum equations in three slope conditions. The effectiveness of the proposed approach is investigated using Webots software. Implementing proposed approach, smoothness, stability, and convenient speed (rather than 17 cm/s in flat condition) are achieved.

© 2012 The Authors. Published by Elsevier Ltd. Selection and/or peer-review under responsibility of the Centre of Humanoid Robots and Bio-Sensor (HuRoBs), Faculty of Mechanical Engineering, Universiti Teknologi MARA.

Keywords: Trajectory Planning, Humanoid Robot, ZMP, NAO;

1. Introduction

Exciting challenge of the locomotion of the humanoid robots attracts many researchers [1]. Nonetheless, because of dynamical complexity, passive degree of freedom, changeability of kinematic structure, and repeatability of motion, humanoid robot locomotion is far from human locomotion.

The well-known approach of Vukobratovic [2], called Zero Moment Point (ZMP), is one of the earliest and finest approaches to encounter the problem of biped robot locomotion. This approach was derived from the dynamical analysis of robot motion viewpoint. The term of ZMP refers to a point on the ground where the resultant moment caused by robot gravity and robot body inertia is vanishing [3]. This approach guarantees the dynamical balance of biped robot while the ZMP is located in the polygon that is formed by the feet on the ground, called support polygon [3,4]. The first ZMP-based 12-DOF biped robot, driven by hydraulic actuators, is developed by [1]. The linear inverted pendulum mode (LIPM) is introduced in [5] to calculate the COG trajectory analytically. In this method, the LIPM is used to generate the COG trajectory for a single support phase. Incorporating the ZMP based and the LIPM techniques, a novel walking pattern generation with arbitrary foot placements is proposed in [6]. Using the preview control approach of the ZMP, the exact multi body dynamics were calculated based on simple inverted pendulum method. The motion control of biped robots is investigated in [7]. Describing gait synthesis of biped locomotion as an optimization problem with the constraint, [7] proposed a dynamically stable gait planning in slope surface. Furthermore, based on dynamic walking algorithm in [8], a several online controllers were used to deal with uneven and inclined ground by [9]. The concept of the ZMP is implemented on various famous robots as NAO provided by French company Aldebaran Robotics. Kulk and Welsh [10]

* Corresponding author. Tel.: +989352573394; E-mail address: amir.massah@gmail.com

1877-7058 © 2012 Published by Elsevier Ltd. doi:10.1016/j.proeng.2012.07.176

improved the speed, robustness, and efficiency through allowing the robot to settle into more natural gate by means of modifying the low-level positional controller. Using a simple inverted pendulum model, an implementation of omnidirectional walking is proposed in [11] in which a preview controller is applied to generate dynamically balanced center of mass trajectories. Incorporating a feedback controller with an online generated feet pattern to assure an stable gait, Czarnetzki, et al. [12] proposed a novel observer-based control system to achieve reactive motion generation for dynamic biped walking. Graf, et al. [13] present a COM-based closed- loop gait for the NAO robot, the torso pose of the robot is the underlying idea of the active balancing used in their approach.

In this paper, a trajectory planning approach is proposed for NAO humanoid robot based on ZMP criterion using cart-table model. The performance of the proposed approach is investigated in different slope conditions using Webots simulation environment.

2. Methodology

2.1. Robot Model

Robot and its surrounding environment are simulated in Webots software which is able to simulate robots with industrial qualities in dynamical and physical aspect of view [14]. NAO is an autonomous, programmable and medium sized humanoid robot [15] that is developed by a French company, Aldebaran Robotics, in 2004 (as shown in Fig. 1). Sony's dog robot AIBO has been replaced by NAO in the RoboCup Standard Platform League (SPL) since 2008. The NAO RoboCup edition has 21 DOFs while the academic edition of it possesses 25 DOFs. The height and the weight of NAO are 58cm and 4.3kg, respectively.

Fig. 1. NAO robot kinematic structure.

2.2. Gait Planning

Humanoid robot movement control is initiated with generating the joints' trajectories. The trajectory delivers the corresponding desired position at each instant time; therefore, it commonly stated as a parametric time function. For determining this function, other implementation issues, such as time discretization, time derivatives, etc., should be considered. Trajectory planning of humanoid robots could be executed in joint space (directly designating the joint angles time evolution) or Cartesian space (designating the end effector position and orientation). The former planning procedure

contributes the fast and simple solution by means of avoiding inverse kinematics problem in which indirect control of the end effector pose results in difficult collision avoiding. While in Cartesian space planning, external environment geometric constraints could be met more directly although inverse kinematics problem must be solved. In order to generate trajectories in Cartesian space, two stability criteria exist: static stability and dynamic stability. In static stability, neglecting the robot dynamics, the center of gravity (CoG) is considered as stability criterion. This assumption leads to restrict the applicability of this approach for slow motions of the robots. Consequently, most researchers applied dynamic stability in their studies. Center of pressure (CoP), Zero Moment Point (ZMP) [16], and Foot Rotator Indicator (FRI) [17] are the most common dynamic criteria. The ZMP criterion is adapted to synthesis humanoid gait. ZMP is calculated by Eq. 1 and Eq. 2. The underlying idea of the ZMP criterion states that while the ZMP is located in support polygon, the dynamically balanced walking of humanoid robot is guaranteed.

Z"=i mi(zi + g)xi - Zf=1mixizi - £f=1 liyëi:

DiLi mi(2i + g)

Dï=imi(2i + g)yi - D"=i miViZj - Eili hJj.

Xzmp and Yzmp are x and y coordinates of ZMP, respectively. Zj, Zj, Xj, Xj, yb and yj are the position and the acceleration of the robot's parts along the z, x, and y coordinates, respectively. Also, mj is the mass of the robot's parts. Iix and Iiy are the inertial components of the robot's parts around x and y coordinates, respectively. 0ix and 0iy are the rotational acceleration of the robot's parts around x and y coordinates, respectively. Finally, g is the gravitational acceleration.

Unlike the original work in [2] where the recommended ZMP pattern is realized by a model with a compensating mechanism, the recommended ZMP trajectories has been realized by a body motion in the recent implementations. Furthermore, the foot trajectories are prescribed instead of leg joints trajectories. The leg joints motions are determined using foot trajectories and inverse kinematics of the robot. So, being ZMP a function of joint's position, velocity, and acceleration results in determining the feasible joint positions which satisfies the prescribed reference ZMP in the ZMP based walking trajectory generation. The prescribed reference ZMP will be satisfied by the support foot motion whereas the swing foot motion will be designed independently from the ZMP equations in the Cartesian space.

Support leg and swing leg are considered as two manipulators in the gait generation. Consequently, the humanoid gait generation could be viewed as manipulator trajectory generation. In walking phases (double support and single support), the hip is the base frame and the ankle is the end effector for each foot. The ankles' motion in base frames is based on semiellipse equations as Eq. 3.

/X(£)\ =

( L/2. COS (nt)^

V H. sin (nt) J

(0<t<1)

Fig. 2 depicts swing and support states of legs in base frames, respectively. The double support phase of the walking cycle is crucial due to its effect on increasing the stability of walking and reducing the impact between the swing leg and the ground although it is only about 20 percent of walking cycle [18]. If SST and DST denote the single support time and the double support time, then, the total time of a gait cycle (TT ) is as Eq. 4.

TT = DST + SST + DST

Regards to the gait cycle timing, the semi-ellipse equations, and the parameters defined in Fig. 2, the swing and the support ankle motion paths on flat and slope (by any gradient angle 0) are calculated. The swing ankle path of both feet in x-direction and y-direction are obtained by Eq. 5 to Eq. 8.

fn.t\ <. sin I-I

t e [0, tt]

X™,, = swX.

t e [0, tt]

Yt + swZ. sin(0) . i 1 + sin (^ff)

Y< + swZ.

(DST.n\

Y, + swZ. sin(8) . sin I ...... I — swZ. sin(8) .

I 1 V 2.TT )

— swY.sin

(t-DST).n SST

((t — DST — SST).n

sin I-„ _-

t e [0, DST]

t e ]DST,DST + SST]

t e ]DST + SST, TT]

Fig. 2. Swing and support legs' states in a step. Conditions a, b, and c, illustrate three states of double support, middle of single support, and

double support phases.

A new variable, swLen, is considered as Eq. 9.

:(—)) (9)

1 /DST. n^ swLen = swZ. ( 1 — 2'cos

Now, z-coordinate of the swing ankles are acquired by Eq. 10 and Eq. 11.

t e [0, DST]

. . . . . . swZ (t.n\

cos(8) .Zl — cos(8) . swZ + cos (8) .cos y^J

cos(d) .Zl — cos(9) .swLen.cos f'-^f^) 1 e ]DST,DST + SST] (10)

swZ (DST.n\ swZ (t.n\

cos(0) .Zi + cosip) .swLen — cos(9) .-^.cosl ^^ I — cos^ .^^.cos\—J t e ]DST + SST,TT]

t e [0, tt]

The path of support ankles in all directions is achieved by Eq. 12 to Eq. 16.

X„, r — suX. sin I —— 1

t e [0, tt]

(t.n\ (. sin\—— I

t e [0, tt]

Y„, r — Yi + swZ. sin(8) . sin (-)

su.r i y ■> \2.TT/

t e [0, TT]

t e [0, tt]

ZSUT — cos(B) .(z^. cos (^jj t e [0, TT] (16)

The gradient angle (0) is determined by Eq. 17.

(9<0 for downslope surface [8 > 0 for upslope surface

The trajectories must have 1st-order and 2nd-order derivative continuities. The 1st-order derivative continuity implies the joint smooth velocity, while the 2nd-order derivative continuity guarantees the joint smooth acceleration or torque. Besides, it can be proved that the 1th-order and 2nd-order derivative continuities in Cartesian space can guarantee the 1th-order and 2nd-order derivative continuities in joint space and vice versa, because the transformation from one space to another is a one-to-one mapping. In other words, any trajectory generation in Cartesian space has to convert to joint space to control each joint.

Because of considering overall dynamics of the robot, Vukobratovic proposed ZMP equations suffer from complexity and intensive computations [17]. Kajita simplified the ZMP equations by introducing a cart-table model based on the ZMP and the inverted pendulum approach [7].

The 2-D cart-table model is illustrated in Fig. 3. As shown in Fig. 3, the robot is assumed to be a point mass, and the center of mass (COM) height is considered to be constant in the forward movement of the robot. The dynamic equations of this model are as Eq. 18 and Eq. 19.

= — ^com - /1 Q\

^zmp ^com _ ^com (18)

__^com ..

yzmp ycom "" ycov

Moreover, by dynamical analyzing of the 3-D linear inverted pendulum model, Kajita decoupled its equations into two 2D linear inverted pendulum models for 3-D cart-table model.

Fig. 3. Kajita's cart-table model [7].

Fig. 4. Cart-table model in slope condition [18].

In case of flat terrain, the 3-D model has been simplified into two separated 2-D models, whereas in case of slope terrain, the variable height of COM causes difficulties in decoupling the frontal and sagittal motion. In [19], a new frame is attached to the slope and assumed that the slope has constant height (as shown in Fig. 4). Obviously, the COM is translating in parallel manner with respect to the slope. Therefore, by introducing a new frame, the frontal and sagittal motion can be decoupled. For upward slope walking, the ZMP equations are as Eq. 20 and Eq. 21.

g. cos(_9)

Vzmp Vcom gcos(0)

Ycom zcom.tan(e)

And downward slope walking equations are as Eq. 22 and Eq. 23.

Y = Y--Y

•^zmp -^com „ „„^(a^ com

g.cos(Q)'

yzmp ycom

g. cos(0)

fcom + zcom.tan(8)

3. Discussion and Simulation Results

In this section, the results of the proposed trajectory planner are discussed through simulations on NAO robot using Webots robotics simulator. The Webots simulator is based on ODE (open dynamic engine), an open source physics engine

for simulating 3-D rigid body dynamics [20]. The simulations are executed on a 2.4 GHz core Duo 2 machine with the 3 GB of physical memory and 3 MB of cache memory.

Fig. 5-7 depict the CoM height of the robot in negative slope (-150), flat, and positive slope (+10o) conditions, respectively. Fig. 8-13 illustrate the ZMP path of the robot in these three conditions. Fig. 14-16 and Fig. 17 represent the walking trajectories and joint space trajectories in these three conditions, respectively.

Now, the maximum attained speed of this study and several other references are reported. Implementing proposed approach on NAO robot in Webots simulation environment, the maximum speed of 17 cm/s is achieved. In [10], applying their approach on real NAO robot, the maximum speed of 14 cm/s is obtained. The maximum speed of 20 cm/s is attained in [12] using SimRobot simulation of NAO robot. Furthermore, [11] and [14] succeeded to achieve the maximum speed of 10 cm/s and 12 cm/s, respectively. All these speeds are recorded in flat surface and forward direction condition.

Fig. 5. CoM height in negative slope condition.

Fig. 6. CoM height in flat condition.

É 20 X 0

-ZMP- R ef eren c e

.........ZMP-Real

-----ZMP-Bounding

XX'"'V / ✓ ' X^ X N / /-' /'N X / X x, v

/// x X, X^x y V, X/.. N v X ^ V X.

Fig. 7. CoM height in positive slope condition.

0 10 20 30 40 50 60 70 80 Time[ts]

Fig. 8. x-direction ZMP in negative slope condition.

40 20 0

>< -40

-ZMP-Ryference ---ZMP-Boundinci .........ZMP-Real

- x" VX - x X ' • ,X,.

10 20 30 40 SO Time[ts]

Fig. 9. z-direction ZMP in negative slope condition.

Fig. 10. x-direction ZMP in flat condition.

-----ZMP-Bounding

"S\ / -ZMP-Reference

//V- .........ZMP-Real

\ \/ / .\/ /

Fig. 11. z-direction ZMP in flat condition.

10 20 30 40 50 SO 70 E Time[ts]

12. x-direction ZMP in positive slope condition.

Fig. 13. z-direction ZMP in positive slope condition.

-I_/. /- W-V Nf V ^ W V V >J V . V:..V' At:.V 1/. v. v _J

-2500 -2400 -2300 -2200 -2100 -2000 -1900 -1600 -1700 -1600 -1500 X[mm]

Fig. 15. Walking trajectory of the robot in flat condition.

Fig. 14. Walking trajectory of the robot in negative slope condition.

■2500 -2400 -2300 -2200 -2100

Fig. 16. Walking trajectory of the robot in positive slope condition.

Fig. 17. Joint space taijectories in flat condition. Continuous-line and dotted-line show desired and real trajectories, respectively.

4. Conclusions

In this paper, a trajectory planner proposed to attain a dynamic walking for NAO humanoid robot in three slope conditions. Initially, ankle joint paths (in other words, equations of motion) are fully developed in all three conditions. Swing and support legs are considered two manipulators. Also, the path of each ankle is based on a semi-ellipse equation in the bases frames. The continuity of the first and second derivatives of motion is ensured by means of semi-ellipse path choice. Finally, using ZMP stability criterion and 3D inverted pendulum model, the generated paths are stabilized. The performance of the proposed approach is evaluated through simulation in Webots software. Results indicate that the desirable properties of dynamic stability, smooth motion, and satisfying speed are achieved in all three conditions.

Reference

[1] Takanishi A, Ishida M, Yamazaki Y, Kato I. The realization of dynamic walking by the biped walking robot WL-10RD. Int. Conf. Adv. Robot.

(ICAR'85); 1985, p. 459-66.

[2] Vukobratovic M, Stepanenko J. On the stability of anthropomorphic systems. J Mathematical Bioscience 1972;15:1-37.

[3] Vukobratovic M, Borovac B. Zero-moment point - thirty-five years of its life. Int. J. Humanoid Robotics 2004;1(1):157-73.

[4] Vukobratovic M, Frank AA, Juricic D. On the stability of biped locomotion. IEEE Trans. Biomedical Engineering 1970;17(1): 25-36.

[5] Kajita S, Kanehiro F, Kaneko K, Yokoi K, Hirukawa H. The 3D linear inverted pendulum mode: A simple modeling for a biped walking pattern

generation. In Proc. IEEE Int. Conf. Inteligent. Robots and Systems; 2001, p. 239-46.

[6] Kajita S, Kanehiro F, Kaneko K, Fujiwara K, Harada K, Yokoi K, Hirukawa H. Biped walking pattern generation by using preview control of zero-

moment point. In Proc. IEEE Int. Conf. Robotics and Automation; 2003, p. 1620-6.

[7] Zhou C, Yue PK, Ni J, Chan S. Dynamically stable gait planning for a humanoid robot to climb sloping surface. In Proc. IEEE Int. Conf. Robotics,

Automation and Mechatronics; 2004, p. 341-46.

[8] Kim JY, Park IW, Oh J H. Experimental realization of dynamic walking of the biped humanoid robot KHR-2 using zero moment point feedback and

inertial measurement. J Advanced Robotics 2006;20(6):707-36.

[9] Kim JY, Park IW, Oh JH. Walking control algorithm of biped humanoid robot on uneven and inclined floor. J. Intelligent and Robotic Systems

2007;48(4):457-84.

[10] Kulk JA, Welsh JS. A low power walk for the NAO robot. In Proceedings of the Australasian Conference on Robotics & Automation; 2008.

[11] Strom J, Slavov G, Chown E. Omnidirectional walking using ZMP and preview control for the nao humanoid robot. In RoboCup Conference; 2009.

[12] Czarnetzki S, Kerner S, Urbann O. Observer-based dynamic walking control for biped robots. J Robotics and Autonomous Systems 2009;57(8):839-45.

[13] Graf C, Hrtl A, Rfer T, Laue T. A Robust Closed-Loop Gait for the Standard Platform League Humanoid. In RoboCup Conference; 2009.

[14] Michel O. WebotsTM: Professional Mobile Robot Simulation. Int. J. Advanced Robotic Systems 2004;1(1):39-42.

[15] Gouaillier D, Hugel V, Blazevic P, Kilner C, Monceaux J, Lafourcade P, Marnier B, Serre J, Maisonnier B. Mechatronic design of NAO humanoid. In Proc. IEEE Int. Conf. Robotics and Automation (ICRA), Kobe, Japan; 2009, p. 769-74.

[16] Shih CL, Gruver WA. Control of a biped robot in the double support phase. IEEE Trans. System, Man, and Cybernetic 1992;22(4):729-35.

[17] Goswami A. Postural stability of biped robots and the foot-rotation indicator point. Int. J. Robotics Research, 1999;18(6):523-33.

[18] Huang Q, Yokoi K, Kajita S, Kaneko K, Arai H, Koyachi N. Planning walking patterns for a biped robot. IEEE Trans. Robotics and Automation 2001;17 (3): 280-9.

[19] Huang W, Chew CM, Zheng Y, Hong GS. Pattern Generation for Bipedal Walking on Slopes and Stairs. In Proc. IEEE/RAS Int. Conf. Humanoid Robots; 2008, p. 205-10.

[20] Open dynamic engine documentation [online], http://www.ode.org.