DOI QR코드

DOI QR Code

Discrete-Time Circular Walking Pattern for Biped Robots

  • Lim, Seungchul (Dept. of Mechanical Engineering, Myongji University, Korea.) ;
  • Son, Young Ik (Corresponding Author: Dept. of Electrical Engineering, Myongji University, Korea.)
  • Received : 2015.03.28
  • Accepted : 2016.02.03
  • Published : 2016.09.01

Abstract

Keywords

1. Introduction

The research on humanoid robots has been diverging into various categories including the robot development and many related studies, such as dynamic walking [1-3], passive walking [4], adaptive motion planning [5], remote control of mobile robots [6], path planning for obstacle avoidance [7, 8], walking pattern generation [9], just to name a few. Among them, control algorithm of walking pattern plays a significant role [9] because, either in a general or an emergent situation, robots may have to modify its preplanned body motion somewhat and somehow for stability by adjusting leg joint’s angles or even its next footsteps based on sensory feedback signals. Many approaches have been formulated for the control of bipedal locomotion. (Refer to [10] for a recent review.)

Since all paths including straight lines are in fact a combination of various circular arcs, biped robots need to follow a circular path of a finite radius more often than not. From this point of view, their ability to walk stably and precisely along such a curve is crucial in particular for dynamic gaits [11-13]. Regrettably, however, many biped robots of today make turns relying on the patterns found by an ad hoc approach including straight-walking patterns modified only with pelvic yaw motions activated. Such practices without due attention to kinematics and dynamics peculiar to circular-path walking will certainly lead to either inaccuracy or instability as the speed of turning further increases.

In this regard, noteworthy is an existing study [14] that developed a method to enable free and easy acceleration/ deceleration or direction change by adjusting the footlanding position and rotating the new local reference frame to be placed there while maintaining the orbital energy of the walking. According to the method, one can obtain suitable walking patterns for any circular path, keeping constant both the stride length and the rotation angle of the local frame. But the relationship between stepping speed and stability is hard to catch from it because dynamic effects arising from the body turn were not elucidated. Meanwhile, a real-time steering algorithm has been disclosed for humanoid robots [15]. Using it, robots can robustly chase any target position and orientation of the body without troubles such as leg-crossing, excess stride, or deadlock. Still, it also overlooked the latent rotational body effects.

In addition, another work [13] was recently made public, in which ZMP [16] equations were derived with respect to a cylindrical coordinate system to take into account the rotating body effects explicitly, and appropriate walking patterns for an example circular path were proposed in form of continuous time functions. The approach worked out fine. However, those walking patterns take relatively heavy computations to be prepared and nevertheless are not solutions of the ZMP equations after all, leaving room for some improvement.

Therefore, herein a new attempt is to be made to find exact steady walking patterns and see their characteristics. To this end, the ZMP equations aforementioned [13] are to be quoted and properly modified. Moreover, the transitional walking patterns [13] that can smoothly connect distinct gaits will be also applied. When both are made ready, several walking patterns of different speed will be generated and characterized for a typical biped robot following a sample path. Besides, through comparisons of those the relationship between stepping speed and stability is to be investigated. Finally, those patterns will be tested on the full, multi-body robot constructed and dynamically analyzed by ADAMS [17].

 

2. Robot and ZMP Equations

Portrayed in Fig. 1 are the typical biped robot under consideration and its coordinate systems in use. The robot consists of an upper body and two symmetric legs with six revolute joints each. In fact, three joints at the pelvis and two joints at the ankle are modeled to intersect orthogonally at a point (i.e., one point in the pelvis and another in the ankle). Those joints are arranged in the sequence of yaw, roll, pitch, pitch, pitch, and roll from top to bottom. More specifically, the robot is 478mm tall and assumed made of aluminum, having a mass of 5.89kg with about 82% of its weight in the upper body. Refer to Table 1 for more details. As for coordinate systems, {0} is defined the Cartesian inertial frame established on the ground, {C} the cylindrical frame with origin at o′ off from point O by distance rm , and {1} the rectangular body-fixed frame initially parallel with {0}.

Fig. 1Considered robot and its coordinate systems

Table 1.Specifications for the robot

For a robot to be stable in motion, its ZMP must stay inside the support region, but such a ZMP constraint itself may take a different form depending on situations [1, 16]. This holds alike for circular walking as was shown in [13]. The corresponding ZMP equations turned out to be Eq. (1), the robot being modeled as an inverted pendulum with its torso assumed to stay at a constant height and upright without any pitch or roll motions throughout walking:

in which r and θ respectively represent the radial and angular body positions, xZMP and yZMP together the ZMP's horizontal coordinates measured in frame {1}, and is a frequency-type parameter that remains constant with the gravitational acceleration, g , unless the body height, zb , changes during locomotion. As is known, the inverted pendulum model acknowledges robot’s mass only on the torso. Therefore it may lack sufficient reliability of outcomes from dynamic analyses of robots. Nevertheless, its kinds have been widely used for pattern synthesis or generation for good reasons [1, 9, 14, 19].

By nature xZMP and yZMP, which are the input terms of Eq. (1), make hard the solution process since they are referenced by frame {1} whose origin persists to move. Therefore, in this paper Eqs. (2) and (3) are successively employed to transform Eq. (1) to (4) which is totally expressed in terms of frame {C}.

In the equations above, s and c are the abbreviations for sine and cosine functions respectively, and r′ and θ′ represent the ZMP's horizontal coordinates in frame {C}.

 

3. Walking Pattern Generation

Not to mention Eq. (1), even the modified ZMP Eq. (4) is still a pair of differential equations not just coupled but also highly nonlinear as opposed to its counterpart in straight walking cases. So, it is not feasible to obtain closed-form solutions for r and θ given ZMP inputs of r′ and θ′ .

Therefore, following the Euler method [18] let us discretize Eq. (4) in time. If the sampling period and arbitrary sampling instant are denoted by T and subscript k ( = 0, 1, 2,...) respectively, the ZMP equations of concern will end up like Eq. (5), which is usable to find body motion during SSP (Single Support Phase).

With initial conditions ( r0 , θ0 , , and ) and ZMP inputs ( and ) made available, the foregoing difference Eq. (5) can compute exact body motion by simple iterations, lending itself to real-time pattern generation. Undoubtedly, real-time pattern generation is preferable in that robots need not memorize vast walking pattern data designed offline and also they can be more adaptive to variable surroundings.

On the other hand, body motion during DSP (Double Support Phase) can be prescribed to be a uniform motion with continuous displacement and velocity across the boundary of neighboring SSPs. Then, with v0 and ω0 defined as the radial and angular velocities at the start of DSP, it can be described as below.

Therefore, from Eq. (4) the corresponding ZMP position can be also acquired as in (7). At this point, it is noteworthy that the ZMP position concerned differs from the associated body position even during DSP because of the centrifugal force arising from body rotation. Yet, their difference may not be significant in many cases where a >> ω0 and rka2 >> 2v0 ω0.

When time durations of SSP and DSP are denoted by TS and TD respectively, it is reasonable to determine TS as the time lapse of an interval over which the radial velocity becomes the negative of its initial value v0 , whereas TD as 2Δr / |v0| , i.e., the ratio of radially traveled distance and speed during DSP.

By the way, to ensure the walking pattern continuous in terms of velocity and periodic as well during all SSPs in angular direction, both the initial and final angular velocities of each SSP have to be the same as ω 0 . However, this condition cannot be met necessarily by the solution of Eq. (5) with arbitrary ZMP inputs of and . Therefore, instead of solving the equation for θk , one might as well designate its rate as ω 0 constantly, and set either or to a constant at the same time. Of the two choices, the former is more advantageous minimizing the possibility that robots fall down due to centrifugal force. Accordingly, in that case it is Eq. (5a) and Eq. (8a) derivable from (4b) or (5b) that govern the behavior of r and θ′ during SSP now that r′ and θ are merely inputs.

The variables, θk and vk , in the equation above are readily obtained as by-products:

During any steady turning, robots will have a periodic motion. However, since they tend to change gaits from one to another, some other walking pattern is also necessary for smooth transitions. So, a cubic polynomial in Eq. (9) is adopted not only for the transition between the initial stationary stance and the steady gait as before [13] but also between steady gaits of different speed. Its coefficients are determined by the position and speed at the initial (when τ =0) and terminal (when τ = Tt) moments of each transition, both of which are desired to belong to a DSP for larger stability margin.

Similarly to Eq. (7), the ZMP position during such a transitional period can be identified as follows from Eq. (4).

 

4. Stability Criteria

Illustrated in Fig. 2 is the logical flow that briefly sums up the aforementioned details of pattern generation in a sequential and iterative fashion and that can be used for automatic pattern generation. Prior to the start of actual walking cycle stability of initial patterns, transitional and steady, should be thoroughly checked. If any stability problem occurs, they need be modified by adjustment of input variables at the stages marked with shade. Once the stability issue is well resolved, only the other stages will run for robots to keep steady walking.

Fig. 2Flow chart of walking pattern generation

As for the stability criterion concerned, there are three kinds. The first, associated with the transitional walking pattern, is

where γ and δ as sketched in Fig. 3 indicate the angles bounding the range for θ′ to stay for the sake of stability. Meanwhile, since r′ usually remains between two feet, the stability check in the radial direction can be omitted.

Fig. 3Footprints and related angles

The second kind of stability criterion, which is associated with SSP, is one of Eq. (12), depending on which foot gives support.

where α and β are the angles specified in Fig. 3 together with Δθf , the uniform step angle. The good reason why Eq. (12) can be used is that Δθ′ ≅ Δθ = ω0 TS . During DSP, stability need not be checked in common cases as mentioned earlier. The two stability criteria discussed hereto have much to do with foot size. However, the third one comes from another fact that there could be an upper limit to the rotating speed regardless of foot size. This will be treated in the next section.

 

5. Dynamic Simulations

In here, three walking patterns of different speed are generated at first by Eqs. (5a) and (6)~(10), and then their characteristics including stability are comparatively examined. In addition, created also are two more patterns of composite speed that begin with relatively low speed to secure stability but later on maintain a raised speed. Then, all those patterns which are basically from the inverted pendulum model are put to test on the multi-body robot by ADAMS in the presence of modeling error, distributed mass and ground contact effects. In the process, an existing balance control [13] too is applied particularly during the initial transition period to prevent the robot from tipping.

5.1 Inverted pendulum model

The walking conditions are designated such that zb = 350 mm, rm = 333 mm, Δr = 25.56 mm, Δr′ = 68 mm, θ0 = 0 , Δθ f = π/15, ω0 = 0.1π rad/s, T = 10−4 s, Tt = 1 s with r0 = rm + (−1)i+1 Δr, r′ = rm + (−1)i+1 Δr′ , v0 = (−1)i+1 130.88 mm/s, and for the i -th step when the right foot is the first step to take. Thus-obtained values of TS are listed in the first row of Table 2, showing that time duration of the left-foot (LF) support phase is slightly shorter than that of right-foot (RF) support phase. In contrast, TD turned out identically 0.3908s so that the period of steady walking of 1x speed is 1.2871s.

Table 2Time durations of designed walking patterns

Such discrepancy between the LF and RF supported SSP time durations may aggravate the stability in that the right foot has to move faster than the left despite its longer stride resulting from the sample path curved leftward. Moreover, it tends to get bigger with the speed. See Table 2. This phenomenon can be explained with Eq. (4a). When and denote the radial accelerations during LF and RF supported SSPs respectively, since r ≅ rm + (−1)i+1 Δr , , θ′ ≅ θ , and r′ = rm + (−1)i+1 + Δr′ , that equation can be approximated as below in the first place.

Therefore, if the walking speed is low enough such that ω2 << a2 , it will hold that . Otherwise, however, the magnitude difference between those accelerations becomes 2rmω02, accounting for the consistent tendency.

On the other hand, if Eq. (13) is rearranged as follows, the third stability criterion can be better revealed.

Since rm ≥ Δr and Δr′ > Δr in general, may be regarded always positive, but that is not the case for . As the rotating speed ω0 increases, it will change sign from negative to positive as graphed in Fig. 4 for the present case. The speed at which becomes null is termed a critical value of ω0 and can be found as in Eq. (15). So, above it the circular walking will be unstable due to the lack of centripetal recovering motion.

Fig. 4Radial accelerations vs. rotating speed

During the entire simulation time of 4.86s including the 1s long initial transition period, the robot advanced 6 steps. The corresponding time histories of body positions and body speeds are shown in Figs. 5 and 6, whereas those of body positions observed in frame {0} and ZMP are on display in Figs. 7 and 8 respectively. Note that the dotted portion of each graph in Figs. 5~8, 10 and 11 to appear stands for trajectories during DSP.

Fig. 5Radial & angular body positions

Fig. 6Radial & angular body speeds

Fig. 7Body positions in frame {0}

Fig. 8ZMP trajectories

Fig. 10Body positions in two composite speed cases: (top) 1&1.5x, (bottom) 1& 2x

Fig. 11.Body & ZMP trajectories in two composite speed cases: (top) 1& 1.5x, (bottom) 1& 2x

Meanwhile, the foot motion is smoothly planned in frame {C} according to the timing above and inputted r′ and Δθf . The result of walking based on such a pattern is shown at the top plot of Fig. 9, confirming that throughout the walking period ZMP continues to stay in the stable region, and the body proceeds along the circular path with a cyclic side movement during steady walking. In the figure the middle plot corresponds to the 1.5x nominal speed case implemented with 1.5ω0 , 0.6Δr , and 0.9v0 , whereas the bottom the double speed case with 2ω0 , 0.4Δr , and 0.8v0 . Those two walking patterns of higher speed feature the unchanged stride length and proportionally reduced side motion.

Fig. 9Body & ZMP trajectories in three speed cases: (top) 1x, (middle) 1.5x, (bottom) 2x

In Fig. 9, it is apparent that steady walking is stable regardless of speed, but an instability problem occurs during the initial transient period except for the 1x speed case. In addition, comparison of ZMP trajectories during SSP of the three cases tells that they elongate in the tangential direction but do not change in the radial. This is the targeted robustness against the possibility that ZMP may shift centrifugally decreasing stability margin with speed raise. Owing to the property, even the steady walking pattern of 4x speed has ever been checked stable although the margin was narrow.

In fact, Fig. 9 plays the role of visual tests of the two stability criteria in Eqs. (11) and (12), whereas the third one, Eq. (15), gives ω0cr of 1.87 rad/s which amounts to 5.9x speed in the present case.

In order to avoid the instability during the initial period, it seems more natural for robots to start walking at a relatively low speed and then speed up gradually in the course. From this perspective, an attempt is made that our robot takes the first step at the nominal speed but switches to 1.5x or 2x speed during the very next DSP, using the transitional pattern in Eq. (9) once again. As a result of the scheme the body moved as shown in Fig. 10, and the corresponding ZMP trajectories stayed inside the stable region throughout the trip as evidenced by Fig. 11.

5.2 Multi-body robot model

Two subsequent figures relate to the simulation results by ADAMS; Fig. 12 is a collection of snap shots taken from an animated motion that lasted for about 6s including the initial 1s long squatting followed by 1s long gait transition. It shows that the robot could walk at a speed of 0.4km/h and turn 12° per step during steady walking. Although performance of the balance control applied during the initial 2s is not presented here for brevity, it will be informative to note that 1.5x and 2x speed cases as well as the nominal speed case also succeeded in entering the steady walking period owing to it in spite of some modeling error [13].

Fig. 12.Snapshots of the robot in circular walking

Fig. 13 carries two plots of the body position trajectories observed in frame {0}: one in the nominal speed and the other in the composite 1 & 1.5x speed case. Comparing data of Fig. 13 after the initial 1s in which the robot squats down with Figs. 7 and 10's upper plot, one can state that the gaits have been performed as planned with almost null and negligible errors respectively in the nominal and composite 1 & 1.5x speed cases. However, in the case of composite 1 & 2x speed, the walking went unstable since the third step contrary to the prediction from Figs. 10 and 11. It happened because the right leg had to swing fast to complete its motion within even shorter time at that moment, giving rise to greater centrifugal force than preceding steps.

Fig. 13.Body positions from ADAMS simulation: (top) 1x speed case, (bottom) composite 1& 1.5x speed case

 

6. Conclusions

We have found an exact dynamic walking pattern necessary for biped robots to walk stably and precisely along circular paths. To this end, the ZMP equations have been fully derived with respect to a cylindrical coordinate system with its origin at the path's center and solved through temporal discretization. In addition, characteristics of the resultant walking patterns were analyzed phase by phase, and three stability criteria were formulated essential for automation of the iterative pattern generation process.

Finally, along with a simple and versatile transient walking pattern and an existing balance control, the designed walking patterns were tested on a typical robot by ADAMS in the presence of modeling errors, distributed mass, and ground contact effects. As a result, it was discovered that the robot of height 478 mm could successfully walk along a circular path of radius 333 mm at a speed up to 1.5x~2x speed or 0.6~0.8 km/h.

Based on these we conclude that when combined, the suggested ZMP equations, the associated pattern generation process, and the resultant walking patterns can be very effective means for biped robots to perform stable and precise circular walking of high speed.

References

  1. S. Lim, “Dynamic Stair Walking of Biped Humanoid Robots,” Journal of Mechanical Science and Technology, vol. 21, pp. 970-975, 2007. https://doi.org/10.1007/BF03027079
  2. S. Lim, S.N. Oh and K.I. Kim, “Balance Control for Biped Walking Robots Using Only Zero-Moment-Point Position Signal,” Electronics Letters, vol. 48, no. 1, pp. 19-20, Jan. 2012. https://doi.org/10.1049/el.2011.3091
  3. D. J. Braun, J. E. Mitchell, and M. Goldfarb, “Actuated Dynamic Walking in a Seven-Link Biped Robot,” IEEE/ASME Trans. Mechatronics, vol. 17, no. 1, pp. 147-156, Feb. 2012. https://doi.org/10.1109/TMECH.2010.2090891
  4. M. R. Sabaapour, M. R. Hairi Yazdi, and B. Beigzadeh, “Toward Passive Turning in Biped Walkers,” Procedia Technology, vol. 12, pp. 98-104, 2014. https://doi.org/10.1016/j.protcy.2013.12.461
  5. Z. Lu, F. Silva, Y. Zhang, Q. Wang, and L. S. Lopes, “A COP-based Controller for Adaptive Motion Planning of Single-Legged Robot,” Proc. Int. Conference on Robotics and Biomimetics, pp. 42-47, Dec. 2012.
  6. D. Q. Khanh and Y. Suh, “Mobile Robot Destination Generation by Tracking a Remote Controller Using a Vision-aided Inertial Navigation Algorithm,” Journal of Electrical Engineering & Technology, vol. 8, no. 3, pp. 613-620, 2013. https://doi.org/10.5370/JEET.2013.8.3.613
  7. T. Kang, M. Lim, G. Park, and D. Kim, “3D Vision-Based Local Path Planning System of a Humanoid Robot for Obstacle Avoidance,” Journal of Electrical Engineering & Technology, vol. 8, no. 4, pp. 879-888, 2013. https://doi.org/10.5370/JEET.2013.8.4.879
  8. S. Chang and U. Huh, “G2 Continuity Smooth Path Planning using Cubic Polynomial Interpolation with Membership Function,” Journal of Electrical Engineering & Technology, vol. 10, no. 2. pp. 676-687, 2015. https://doi.org/10.5370/JEET.2015.10.2.676
  9. B. Lee and K. Kim, “Modifiable Walking Pattern Generation Handling Infeasible Navigational Commands for Humanoid Robots,” Journal of Electrical Engineering & Technology, vol. 9, no. 1, pp. 334-351, 2014. https://doi.org/10.5370/JEET.2014.9.1.334
  10. Y. Hurmuzlu, F. Genot, and B. Brogliato, “Modeling, Stability and Control of Biped Robots-A General Framework,” Automatica, vol. 40, no. 10, pp. 1647-1664, 2004. https://doi.org/10.1016/j.automatica.2004.01.031
  11. S. Kohannim, and T. Iwasaki, “Optimal Turning Gait for Undulatory Locomotion,” Proc. American Control Conference, Canada, pp.3459-3464, Jun. 2012.
  12. Y. J. Mon and C. M. Lin, “Supervisory Fussy Gaussian Neural Network Design for Mobile Robot Path Control,” International Journal of Fuzzy Systems, vol. 15, no. 2, pp. 142-148, Jun. 2013.
  13. S. Lim, B. Kwak, J. Lim, and Y. Son, “Precision Circular-Path Walking of a Biped Robot with Consideration of Rotational Effects,” Trans. the KSNVE, vol.24, no.4, pp.299-309, 2014. https://doi.org/10.5050/KSNVE.2014.24.4.299
  14. S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Yokoi, and H. Hirukawa, “Biped Walking Pattern Generation by a Simple Three-Dimensional Inverted Pendulum Model,” Advanced Robotics, vol. 17, no. 2, pp. 131-147, 2003. https://doi.org/10.1163/156855303321165097
  15. H. Kobayashi and T. Sugihara, “Self-consistent Automatic Navigation of COM and Feet for Realtime Humanoid Robot Steering,” Proc. IEEE/RSJ Int. Conference on Intelligent Robots and Systems, pp. 3525-3530, 2009.
  16. M. Vukobratovic, B. Borovac, D. Surla, and D. Stokic, Scientific Fundamentals of Robotics 7: Biped Locomotion, Springer-Verlag, 1990.
  17. Basic ADAMS Full Simulation Training Guide, Mechanical Dynamics Inc, 2001.
  18. W. Press, S. Teukolsky, W. Vetterling, and B. Flannery, Numerical Recipes in Fortran, Cambridge University, 1992.
  19. Y. Hong, B. Lee, and J. Kim, “Command State-Based Modifiable Walking Pattern Generation on an Inclined Plane in Pitch and Roll Directions for Humanoid Robots,” IEEE/ASME Trans. Mechatronics, vol.16, no.4, pp. 783-789, 2011. https://doi.org/10.1109/TMECH.2010.2089530