Stepping Over Obstacles With Humanoid Robots

4 downloads 0 Views 3MB Size Report
of humanoid robots stepping over obstacles in this paper. We focus on two ..... 1. Three phases in stepping over an obstacle. (a) Phase 1. (b) and (c) Phase 2.
958

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

Stepping Over Obstacles With Humanoid Robots Yisheng Guan, Ee Sian Neo, Student Member, IEEE, Kazuhito Yokoi, Member, IEEE, and Kazuo Tanie, Fellow, IEEE

Abstract—The wide potential applications of humanoid robots require that the robots can walk in complex environments and overcome various obstacles. To this end, we address the problem of humanoid robots stepping over obstacles in this paper. We focus on two aspects, which are feasibility analysis and motion planning. The former determines whether a robot can step over a given obstacle, and the latter discusses how to step over, if feasible, by planning appropriate motions for the robot. We systematically examine both of these aspects. In the feasibility analysis, using an optimization technique, we cast the problem into global optimization models with nonlinear constraints, including collision-free and balance constraints. The solutions to the optimization models yield answers to the possibility of stepping over obstacles under some assumptions. The presented approach for feasibility provides not only a priori knowledge and a database to implement stepping over obstacles, but also a tool to evaluate and compare the mobility of humanoid robots. In motion planning, we present an algorithm to generate suitable trajectories of the feet and the waist of the robot using heuristic methodology, based on the results of the feasibility analysis. We decompose the body motion of the robot into two parts, corresponding to the lower body and upper body of the robot, to meet the collision-free and balance constraints. This novel planning method is adaptive to obstacle sizes, and is, hence, oriented to autonomous stepping over by humanoid robots guided by vision or other range finders. Its effectiveness is verified by simulations and experiments on our humanoid platform HRP-2. Index Terms—Feasibility analysis, humanoid robot, motion planning, obstacle negotiation, stepping over obstacles.

I. INTRODUCTION A. Background and Related Work

H

UMANOID robots, like humans, are thought to have better mobility for locomotion and dexterity for manipulation than conventional mobile robots. This is the primary motive for people to develop humanoid robots. Various humanoid robots have been developed, and fundamental issues, such as systems design, dynamics analysis, walking pattern, and gait generation have been investigated extensively. Although substantial research has been carried out in humanoid robotics Manuscript received July 1, 2005; revised December 27, 2005. This paper was recommended for publication by Associate Editor Q. Huang and Editor F. Park upon evaluation of the reviewers’ comments. This research was supported in part by a Postdoctoral Fellowship of the Japan Society for the Promotion of Science (JSPS), and in part by a Research Grant of JSPS. This paper was presented in part at the IEEE International Conference on Robotics and Automation, Barcelona, Spain, April 2005, and in part at the IEEE/RSJ International Conference on Intelligent Robots and Systems, Edmonton, AB, Canada, August 2005. Y. Guan, E. S. Neo, and K. Yokoi are with the Joint Japanese–French Robotics Laboratory, Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology, Ibaraki 305-8568, Japan (e-mail: [email protected]; [email protected]; [email protected]). K. Tanie is with the Department of System Design, Tokyo Metropolitan University, Tokyo 191-0065, Japan (e-mail: [email protected]). Digital Object Identifier 10.1109/TRO.2006.878962

in the past decade, humanoid robots are still far from practical application. One main reason for this is that their superior mobility has not been fully investigated and used in complex environments. Exploring and making full use of their mobility in complex environments is clearly of paramount significance. More and more researchers have realized this significance, and have begun to study walking and manipulation in complex environments with visual assistance [3], [4], [25]. A humanoid robot walking in a complex environment cluttered with obstacles often needs to overcome the obstacles by stepping over them. The robot must ascertain whether it can step over an obstacle before attempting to do so. Due to the relative sizes of the obstacle and the robot, not every obstacle can be stepped over by the robot. How to determine the feasibility or possibility is a basic and essential issue, and is particularly important for autonomously overcoming obstacles. Unfortunately, little research on this topic has been reported in the literature. Most current research on walking is based on even and unobstructed ground. In the study on navigation planning in complex environments [3], [23], it is implicitly assumed that the obstacles are small enough so that the robot can step over them. Little research has examined the general problem of determining the feasibility of stepping over an obstacle. The feasibility is assumed rather than explicitly verified and analyzed in previous works, in part because these assumptions are usually reasonable for the particular research objectives to be accomplished. No general and systematic solutions exist for the feasibility analysis of humanoids stepping over obstacles. On the other hand, the robot must make a suitable motion to step over a given obstacle for which this stepping is feasible. An appropriate motion planning or walking pattern is important for a humanoid robot, and hence, gait synthesis, pattern generation, and motion planning have been critical issues in humanoid robotics. Various methods have been proposed, some of which are based on energy consumption with the target of minimizing the energy consumed in the walking [2], [22], some are based on zero moment point (ZMP) [15] where the target positions of ZMP are to be controlled, and some on the principle of an inverted pendulum [24] or the resolved momentum control (RMC) [14]. With these patterns or gaits, a robot can walk in simple environments, such as level ground clear of obstacles. However, it is very difficult for the robot to walk in complex environments, such as rough terrains and areas filled with obstacles, since the trajectories of the robot’s feet are not specified explicitly in these patterns. Moreover, some specified ZMP positions may not be achieved. A walking pattern was presented in [13] to overcome these limitations, in which the trajectories of the robot’s feet and torso were planned. This planning method specified the maximum height of the lifted leg and the lifting and landing angles of the feet, and can be applied to a biped robot walking in rough terrain and overcoming small obstacles.

1552-3098/$20.00 © 2006 IEEE

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

However, it is still difficult to directly use this planning method in stepping over relatively large obstacles, since the trajectories were not planned according to obstacle size, and, what is more, the possible collision between the legs (particularly the shanks) and the obstacle was not taken into account. An approach to path planning was presented in [18], in which dynamically stable and collision-free trajectories from full-body posture goals were computed. The configuration space of the robot was searched by using rapidly-exploring random trees (RRT) to drive a robot with fixed feet from the initial posture to the goal posture. A similar technique was applied to graphic human animations [25], in which path searching and pose computation of a character were performed to manipulate an object in a complex environment. By random search, however, the planned path is often not straightforward and short. The current planner can only handle fixed support of either one or both feet. The most difficult point of using RRT lies in how to set the terminate conditions. This planning method has not been applied to overcoming obstacles by humanoid robots. Motion planning for stepping over obstacles is more difficult than for normal walking. More constraints (e.g., collision avoidance) must be taken into account, and hence, more geometric parameters (including step length, foot positions with respect to the obstacle or foot-obstacle distances before stepping over, and the lifted heights or clearance of the feet) must be set appropriately. Furthermore, the trajectories of the feet and the waist must be planned carefully, especially for relatively large obstacles. Step sequence planning was presented in [4] for a biped robot guided by vision under conditions with barriers, but the method for setting the foot-obstacle distance and step lengths was not reported. The foot trajectories could be the same as those for normal walking, since the obstacle (a stick) was very small. Experiments of vision-guided stepping over for obstacles such as a stick were reported in [4] and [19]. Based on the concept of walking parameter (WP), [5] briefly described how to concatenate two WPs in stepping over obstacles, but the setting of the geometric parameters mentioned above and planning of the foot trajectories were not studied, and no experiments were provided. Planning of the waist motion and the possible collision between the legs (not only the feet) and the obstacle were not taken into account in these works, and how to keep the robot balanced was not specifically considered. This is reasonable in the case of stepping over small obstacles, such as sticks or small bars, where normal walking patterns with appropriate clearance can be employed. Since humanoid robots are complex systems with many degrees of freedom (DOFs), considerable nonlinearity, and a relatively small supporting area, it is challenging to realize complex behaviors like stepping over obstacles. It is advisable to study the problem from the viewpoint of biomechanics [7], since humanoid robots are biomimetic systems with an appearance and mechanical structure similar to a human’s. Reference [6] used a biomechanical model of the human body and a physiological experimental protocol to study the decision mechanism of the human body in stepping over an obstacle, in which only the motion of the hip joints and knee joints was planned. Possible collision between the ankle trajectory and the obstacle was considered. However, the foot geometry (shape and size), which plays a key role in collision avoidance, was ignored, and poten-

959

tial collision between the leg and obstacle was also neglected. The study was not complete, since it was performed only for the first phase of stepping over (in which the body lifts and places its front leg, which is Phase 1 in our case, as will be explained in the next section), not for the entire procedure. The joint motion was defined using a cycloid velocity profile, and thus, the maximum height of the ankle trajectory was much greater than the obstacle height. This may lead to reaching the limits of some joints for a tall obstacle and failure to step over the obstacle as a result. No reports on the application of this method to a real biped or humanoid robot were found. As with the feasibility analysis, to the best of our knowledge, no systematic study exists for motion planning that is adaptive to various obstacle sizes and oriented to autonomous implementation. Therefore, a novel planning method for stepping over obstacles is expected. B. Content and Organization In this paper, we systematically address two aspects of the problem of stepping over obstacles, namely, a feasibility analysis and motion planning. We use an optimization technique in the former to cast the problem into global optimization (GO) models with nonlinear constraints, including collision-free, balance, and kinematic constraints, the objectives of which are the maximum height of an obstacle with a given depth. The solutions to these models provide indications of the possibility of stepping over obstacles under some assumptions we make in the step-over procedure. We consider the obstacle geometry, the shapes, sizes, and kinematics of the robot’s legs. By a series of optimization models for different depths, we build a database for a specific humanoid robot to step over obstacles of different sizes. The presented approach provides not only a priori knowledge and a database for implementation of stepping over obstacles, but also a tool to evaluate and compare the mobility of humanoid robots related to obstacle negotiation. In motion planning, based on the results of the feasibility analysis and using a heuristic methodology, we first set the geometric parameters (step lengths, foot-obstacle distances, and lifted heights of the feet) for collision-free trajectories of the feet. We then use high-order polynomials to generate the trajectories of both the feet and the waist of the robot. We generate the motion of the upper body of the robot by the RMC proposed in [14], so that the center of mass (CoM) of the robot could be adjusted to maintain the robot’s balance. This novel planning is adaptive to various obstacle sizes, and therefore, it is possible for the robot to autonomously step over obstacles guided by vision or laser range finders. We carry out simulations and experiments on the humanoid robot HRP-2 to verify the proposed method. The rest of this paper is organized as follows. In Section II, we briefly examine the procedure of stepping over obstacles, outline the basic constraints in this procedure, and make some necessary assumptions. We study the feasibility analysis in Section III, followed by a numerical example for illustration in Section IV. In Section V, parameters for trajectory planning are set, the planning algorithm is proposed, and balance control of the robot is outlined. Simulations and experiments are provided in Section VI. Finally, conclusions are drawn and future work is outlined in Section VII.

960

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

Fig. 1. Three phases in stepping over an obstacle. (a) Phase 1. (b) and (c) Phase 2. (d) Phase 3.

II. PROCEDURE, CONSTRAINTS, AND ASSUMPTIONS In this section, we briefly examine the procedure that a humanoid robot takes to step over an obstacle and the constraints that must be satisfied in that procedure, to facilitate the feasibility analysis and motion planning. It is well known that biped walking is a periodic or cyclic procedure. Each cycle consists of two phases, the single-support phase and double-support phase. Normal walking proceeds with these two phases alternating. The procedure of stepping over obstacles is similar. The robot first walks to an obstacle to be overcome and stops at an appropriate position (the method for determining this position will be described in the following sections). It then takes the following steps, which consists of three phases—two single-support phases and one double-support phase. • Phase 1 (single-support): Supported by one leg, the robot lifts the other leg sufficiently high, swings it over the obstacle, and puts it on the ground on the other side of the obstacle [as illustrated in Fig. 1(a)]. • Phase 2 (double-support): The robot then moves its waist forward and transfers its CoM support from the rear foot [Fig. 1(b)] to the front foot [Fig. 1(c)]. • Phase 3 (single-support): Under the support of the front leg, the robot draws back the rear leg and lifts it sufficiently high to clear the obstacle, moves it forward over the obstacle, and finally puts it down onto the ground [Fig. 1(d)]. It is implicit, but obvious, that two basic requirements or constraints must be satisfied in this procedure. First, the robot must maintain its stability or keep its balance so that it will not fall over, which is called the balance constraint here. To satisfy this condition, the ZMP (in the dynamic case) or the projection of the CoM (in the static and quasi-static cases) of the robot onto the ground must be within the convex hull of the supporting area(s). Second, no collisions can occur between the robot and the obstacle, which is called the collision-free constraint. It is related to the configuration of the robot, the geometry of the obstacle, and the relative position between the robot and the obstacle. There are other intrinsic and physical constraints in addition to these two basic ones: for example, the kinematic constraint of the legs due to the closure of the mechanism when both feet

touch the ground, and the constraints on joint angles due to joint limits. Considering the general conditions, we make the following assumptions to simplify and facilitate the analysis. 1) We use rectangular boxes as typical obstacles to overcome. For a nonrectangular obstacle, we use the minimal rectangular box or the minimal convex hull to approximate it. 2) The two feet move in planes parallel to the sagittal plane; thus, the lateral distance between them is kept constant, which is equal to the step width in normal walking. 3) The robot is oriented perpendicularly to the obstacle; in other words, the longer axis of the obstacle is perpendicular to the sagittal plane of the robot. 4) We consider quasi-static conditions and focus on kinematics. Having the robot motors be powerful enough through the selection of motor models is a task of system design. Dynamic computation for joint torque is beyond the scope of this paper. III. FEASIBILITY ANALYSIS The problem of the feasibility analysis can be described as follows. Given a humanoid robot and an obstacle, determine whether the robot can step over the obstacle, subject to various constraints, including balance and collision-free constraints. This qualitative statement must be cast into mathematical models in the analysis. The method for formulating the constraints clearly plays a key role. In the following, we first describe the constraints on the leg joints imposed by leg kinematics, formulate the balance and collision-free constraints, and then build GO models based on this formulation. A. Constraint Formulation 1) Kinematic Constraint: When the robot stands with two feet on the ground, its waist, the two legs, and the ground form a closed mechanical chain. The leg joints under this condition are not completely free as variables: they are constrained by this closed mechanism, which can be described by the kinematics of the two legs.

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

961

Fig. 3. Relationship between two line segments.

Fig. 2. Mechanical model of the robot and its geometric parameters.

Refer to Fig. 2. The configuration (position and orientation) (fixed on the waist) with respect to the of the body frame world frame can be calculated according to the kinematics and as the configurations of that of each leg. Denote are computed according to the kinematics of the two legs. They are functions of the leg joints and foot positions, and must be equal, that is

where and are the joint-angle vectors of the two legs, and indicate the positions of the two ankles. This requires that the corresponding entries of the two matrices match, and imposes a kinematic constraint on the leg joint angles. It is not necessary to list all of the equalities for the matrix entries in a practical computation, since not all of them are independent. 2) Balance Constraint: A humanoid robot generally does not walk rapidly. The speed of a robot stepping (not running or jumping) over an obstacle, especially if the obstacle is large, should be slower than that of normal walking. We regard the robot as a quasi-static system to be conservative and to simplify the analysis; hence, the balance of the robot relies on the location of its CoM with respect to the supporting area(s). Specifically, it is necessary and sufficient for the robot CoM projected onto the ground to be within the convex hull of the supporting area(s) to maintain the robot’s balance. For example, if the robot is supported by one leg (e.g., the right leg in Fig. 2) and the sole is rectangular, then the balance condition can be simply described as

where and are the lengths of the toe part and the heel and are the widths of sole sides with part, respectively, and are respect to the ankle joint (see Fig. 2), and the coordinates of the CoM with respect to the local frame of the supporting ankle. Note that the CoM, in general, varies, and depends on the robot configuration, i.e., it is a function of all joint angles. The stability constraint in dynamic case can be described in a similar manner, where ZMP rather than CoM should be used. The calculation would be more complex, since the ZMP depends not only on the configuration and kinematics of the robot, but also on the motion and dynamics (the mass, inertia, velocity, and acceleration of each link) of the robot. 3) Collision-Free Constraint: Collision detection can be performed in the sagittal plane, according to the assumptions 1)–3) in the preceding section. In other words, we can describe the collision-free constraint under 2-D conditions. In the following sections, we use line segments to model and approximate the robot legs and the obstacle. Collision avoidance can then be described by the geometric relationship between two line segments, or between one point and one line segment. To do so, let us first review a basic lemma from computational geometry [21], which states the following. Given three points of the directed line is collinear with

,

, and , is to the left (right) if and only if . if and only if ,

where is the area of the triangle formed by the three or, , and , and is easily dered points calculated as

It may be positive, negative, or zero, depending on the relationship between the three ordered points. Thus, the relationship between three points, or one point and a directed line segment, can be described by a signed triangular area. The constraint on collision avoidance between two line segments can be formulated accordingly as follows. Refer to Fig. 3. Two segments intersect if and only if each segment is split by the other one, as in case (a). If the two end-points of one segment are on the same side of the other segment, then the two segments do not collide, as in cases (b) and (c); and vice versa. This condition can be formulated as follows according to the above lemma: or

962

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

Fig. 5. Distances from the sole to the hip and knee (the shaded triangles indicate the foot at different configurations when the ankle rotates).

with the shank to reach the hip joint limit. arc in Fig. 4 is the arc swept by the point on the sole or the knee that is farthest away from the hip joint. Since the foot can pitch freely around the ankle joint in this phase, the radius of arc should be the maximum of the minimal distances from the sole and the knee to the hip joint, calculated as

Fig. 4. Phase 1 of humanoid step over (the robot lifts its front leg).

which can be equivalently described by using the maximum as function

For details and applications, refer to [10] and [11]. This formulation will be used as the collision-free constraint in the models in the following subsection. B. Global Optimization (GO) Models Given the depth (the width in 2-D) of an obstacle, there must be a maximum height, and vice versa, of the obstacle that a robot can step over, subject to the constraints formulated in the preceding section. The robot can step over an obstacle if the height of the obstacle is less than the maximum height; otherwise, it cannot. Therefore, we can analyze the feasibility by determining the maximum height (depth) of an obstacle for a given depth (height). To do so, we cast the problem into GO models. Below, we examine each phase of the step-over procedure to build the corresponding GO models and then integrate them. As mentioned previously, we check the possible collision between the robot’s legs and the obstacle in 2-D by projecting the related key points into the sagittal plane. At this point, we do not consider the actual sizes and shapes of the legs for the simplicity of the models. In the first phase, we must examine several extreme actions and configurations of the robot to determine the maximum height of the obstacle. The robot stands in an appropriate position with respect to the obstacle, supported by one leg (say, the left one). It first bends the knee of the other leg to reach its limit (see Fig. 4), then moves its waist backward as far as possible to position with the highest hip position while maintaining its ). It then swings the thigh forward balance (i.e.,

where is the length of the thigh, is the radius of the knee [as is the foot height (the distance from shown in Fig. 5(a)], and the ankle joint to the sole, refer to Fig. 4). is the distance from the ankle joint to the hip joint when the leg bends comis the distance pletely (the knee joint reaches its limit). from the toe to the hip joint when the leg bends completely and the foot pitches counterclockwise to its limit (the ankle joint is the distance from the heel to reaches its lower limit); the hip under the same leg condition and when the foot pitches clockwise to its limit (the ankle joint is at its upper limit). and can be easily calculated according to foot size ( , , and ), the lengths of the thigh and shank ( and ), and the limits of the knee and ankle joint angles. The ankle can rotate freely during this procedure, and thus, the max-minimum dis, tance from the sole to the hip joint is the maximum of , and , where is the distance from the hip joint to the sole when the leg bends completely and the sole is . perpendicular to The robot then moves its waist forward by rotating the supporting leg around its ankle joint, under the condition of . The lifted leg sweeps in another arc (arc ) during of arc is the maximum distance in this motion. The radius the sagittal plane from the supporting ankle joint to the lifted sole, which can be computed according to the distance from to , , , and the limits of the hip joint and knee joint. Finally, the robot swings its shank forward, forming the third arc. The radius of arc is calculated as

where and are the distances from the heel and the toe to the knee joint when the foot pitches to its two limits, similar and . They can be obtained according to the previous to , , , the shank length, and the limits of the ankle joint [refer to Fig. 5(b)].

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

963

Fig. 6. Phase 2 of humanoid step over (the robot moves its CoM forward). (a) Beginning state. (b) End state.

To avoid collisions in this phase, the obstacle vertices and must obviously be outside of arc and arc , and within arc , where is the obstacle position in and are the depth and height of the the foot frame, and obstacle, respectively. Now we build the following GO model to obtain the maximum height of the obstacle in this phase:

, which are used to calculate and , respectively. Considering all constraints, we build the following GO model for this state:

s.t. s.t.

(2)

(1)

where the variables include the obstacle height and position, and the joint angles (affecting the robot’s CoM). and are the coordinates of the hip and the front knee in the is half of the step width (usually world frame, respectively, is the maximum step length fixed in normal walking), and of the robot, which can be obtained from the following model:

s.t.

where is the step length, is the vector of represents the joint-angle vector of all joint angles involved ( the upper body), and and are its lower and upper bounds, . Note that the coordinate of the ankle respectively, is in the calculation of . In Phase 2, we examine the robot in two extreme states. The robot is still supported by the rear leg in the beginning state [Fig. 6(a)]. The two ankles are at positions and

where the inequalities with and are constraints for collision avoidance between the obstacle and the legs, obtained by the method in Section III-A.3. Note that besides the joint angles , the obstacle height , obstacle position , and robot step length are variables too in the above model. At the end state of Phase 2 [Fig. 6(b)], the CoM has been moved forward and is supported only by the front foot. The GO model is almost the same as the one above, but with different balance constraints (3) Note that theoretically, the feasibility should be analyzed in a similar manner for the entire Phase 2 when the robot moves from the beginning state to the end one. This can be achieved in practice using a sampling method for possible waist positions. direction For example, we can fix the waist position in the (i.e., add one more constraint , where ), and then perform the feasibility analysis at this sampling point. Since the above two states are two extremes in Phase 2, they (especially the first one) play the critical roles

964

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

taking the maximum height as the objective and gathering all constraints together, but with different variables for the joint angles in different phases and states. The solution to this integrated GO model is what we want. In practice, we can perform a series of calculations for the maximum heights corresponding to different depths, and then build a database for online and real-time applications. It should be pointed out that while only rectangular obstacles are used here to illustrate the GO model setup, the feasibility is not limited to only this type of obstacle. This method can also be applied to other obstacles, such as cylindric obstacles or irregular obstacles. As mentioned before, we can approximate an irregular obstacle using the minimum rectangular box which can enclose it, or more accurately, using a series of facets, and then employ their edges for the collision-free constraints. However, this would increase the complexity and computational time of the GO models. IV. AN EXAMPLE OF FEASIBILITY

(4)

We provide an example in this section to illustrate the feasibility analysis. In the example, we take the humanoid robot HRP-2 as our robot model, and use the open architecture simulation software OpenHRP [16] to demonstrate the robot configuration. HRP-2 has 30 DOFs in total. Each leg has six DOFs: three in the hip joint, one in the knee joint, and two in the ankle joint. The chest has two DOFs; the neck also has two DOFs, and each arm has seven DOFs. The standing height of the robot is about 154 cm, and the total mass is about 58 kg. The thighs and shanks are 300 mm long, and the feet are 105 mm high. Refer to [17] for the details about the robot and the associated parameters. We do not consider the motion of the head and arm joints in the example, for simplicity. Rather, we regard the head, the chest, and each fully stretched arm as rigid bodies. The arms can rotate around the shoulder joints, and the chest can bend and rotate around the chest joints. We assume that the waist/hip is constantly kept vertical. We also take the actual sizes and shapes of the legs into account. The shapes of the thighs and shanks are not regular, as shown in Fig. 8. For simplicity and conservative collision avoidance, we use line segments , , , and two arcs (for the front and rear part of the knee, respectively) to approxito approximate mate the shank, and use line segments and the two sides of the thigh. These segments, rather than the pre, , , and , are then projected onto vious ones, the sagittal plane for collision-avoidance computation. mm. From Suppose that the depth of the obstacle is the GO model which integrates the modified (1)–(4) (due to the sizes and shapes of the legs), we obtain the following solution:

The GO models can be solved with commercial optimization software. The solutions are, in general, different when the above models are solved separately. Our solution is the one that satisfies all constraints in the three phases, and the obstacle height , the position , and the robot step length must be the same for all phases. To do so, we integrate (1)–(4) into one model by

where the unit is millimeters (hereafter the same for all lengths, unless otherwise specified). It is found from the computation that the maximum height of the obstacle is limited primarily by the beginning state of Phase 2. The robot configuration at this critical state is depicted in Fig. 9, where the chest rotates backwards and the arms swing backwards to their limit positions

Fig. 7. Phase 3 of humanoid step over (the robot withdraws its rear leg).

in the feasibility. Hence, examining these two special states is generally sufficient in the feasibility analysis. The last phase (Fig. 7) is similar to the first one. Supported by the front leg, the robot draws back the shank of the rear leg fully, and then rotates its hip joint to lift the knee as high as possible. Maintaining this configuration, the robot then moves forward by rotating around the supporting ankle. The knee sweeps in an arc (arc centered at ), the radius of which can be computed according to the maximum distance from the ankle to the hip joint, thigh length , the knee radius , and the limit of the hip joint. The robot swings the thigh forward to the joint limit after the waist reaches its extreme position under the balance condition. The lifted leg sweeps in arc (similar to arc in Fig. 4, and with the same radius). Finally, the robot releases the shank, and the foot sweeps in arc (similar to that in Fig. 4, and with the same radius). The condition for collision avoidance is that the obstacle is within arc and outside of arc and arc . The GO model in this phase is similar to (1), formulated as

s.t.

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

Fig. 8. Actual shape and size of the right leg of humanoid robot HRP-2. (a) Thigh. (b) Shank.

965

robot step length, and the depth and the waist position are depicted in Fig. 10. According to the curve in Fig. 10(a), given a depth, we can determine the corresponding maximum height of the rectangular obstacle over which the robot can step; and vice versa, given a height, we can determine the corresponding maximum depth of the rectangular obstacle. Fig. 10(b) reveals that for the obstacles with a depth greater than 310, their positions are the same (the toe contacts the obstacle edge). The results also indicate that the obstacle depth cannot be greater than 362.6 (the maximum step length 603.8, minus the sole length 241.2). For each specific humanoid robot, we can build an individual feasibility database, such as that in Fig. 10. This database is a unique feature of the robot and can be used as a criterion of humanoid mobility. We employ the test version of TOMLAB/SOL solver [12] to solve the GO models in this example. The typical running time is under 0.3 s on a Pentium IV PC (1.5 GHz) for one given depth, which is quite acceptable in offline cases. Note that the results are obtained without consideration of the safety margin for the robot’s balance. In practice, we can provide balance margins in the feasibility calculation (say, by setting , where and are safety margins) to enhance the safety. V. MOTION PLANNING

Fig. 9. Critical configuration of the robot in stepping over an obstacle. (a) Side view. (b) Front view.

to keep the CoM projection on the ground within the supporting area. There are no problems in Phase 1 and Phase 3 in realizing the step over, so we omit here the corresponding configurations of the robot in these phases. The analysis indicates that the size and shape of the robot shanks significantly influence the feasibility. As shown in Fig. 8, the shanks of HRP-2 are large and irregular in shape, with big knees, which are apt to collide with the obstacle [refer to Fig. 9(a)], and hence, limit to a considerable extent the capacity of the robot to step over obstacles. We calculate a series of maximum heights with different obstacle depths, and create a database and mappings for online and real-time applications. The mappings between the depth and the maximum height, the depth and the obstacle position and the

The feasibility analysis performed previously enables us to address the second aspect of stepping over obstacles. The step patterns used by a robot stepping over an obstacle, especially those for relatively large obstacles, should differ from those for normal walking on even ground without obstacles. Some basic geometric parameters should first be set appropriately—the step length must be sufficiently long, the feet must be lifted sufficiently high to surmount the obstacle without collision, and the position of the robot with respect to the obstacle is also important. After these parameters are set, the trajectories of both the feet and the waist must be designed properly to satisfy the collision-free constraint. Once these trajectories are determined, the joint trajectories can be easily attained according to the inverse kinematics of the legs. Motion planning of the lower body of the robot is thus fulfilled. The motion of the upper body can be generated by RMC under conditions of maintaining the robot’s balance. In this section, we follow the above process in the motion planning. We discuss only trajectories in the sagittal plane. If lateral motion is involved (e.g., the motion of the robot’s waist in Phase 2), the corresponding trajectory can be planned in a similar manner. A. Basic Parameters The robot’s step length and the distance between the robot and the obstacle, or the relative position of the robot with respect to the obstacle, must first be properly set. And for the robot to autonomously step over an obstacle, they must be determined automatically according to the obstacle size. The step length is set the same for both legs. It must be related to obstacle size. A wider obstacle requires a greater step length, and a taller obstacle requires a smaller step length, since a longer step length requires a lower waist position, which may result in a collision between the legs and the obstacle. If the

966

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006







Fig. 10. Feasibility mappings of stepping over obstacles. (a) Depth Height. (b) Depth Position/step-length. (c) Depth Waist-position.

obstacle height is close to the maximum for the given depth, then the step length should also be near the length obtained in the feasibility analysis. Considering these points, the following is a simple choice: (5) and are the two feasible step lengths for the where robot to step over two virtual obstacles VO and VO , respectively, as shown in Fig. 11. VO is an obstacle with the same and a height equal to the maxdepth as the real obstacle obtained in the feasibility analysis for this imum height depth; and VO is an obstacle with the same height as the real obstacle and a depth equal to the maximum obtained in the and feasibility analysis for this height [refer to Fig. 10(a)]. can be obtained by looking up and interpolating the feasibility mapping [see Fig. 10(b)]. Obviously, the bigger is, the bigger will be; and the smaller is, the bigger will be. for a given If the height is close to the corresponding for a given depth, or the depth is close to its maximum and approach height, then VO and VO are close, and

Fig. 11. Virtual obstacles and the related parameters.

each other, and hence, the step length calculated by (5) ap. Thus, the step length set in this way is adaptive proaches

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

967

the feet are described by planar curves. Four (path control) points are specified for each foot, and third- and fourth-order polynomials are then used to generate the trajectories. Once step length is determined, the first and last path points (end points), and in Fig. 12, are set. Their coordinates are and , respectively, if the ground at these points is even and horizontal. The end points of the two foot trajectories are the same in the sagittal plane, since the same step length is set for both feet. Two more points, and , are to be set next, and the possible collision between the feet and the obstacle must be taken into account in the procedure. For better avoidance of collision, the orientation of the feet is also controlled when stepping over an obstacle. The foot orientation is defined here as the with respect to the ground, the direction definisole angle tion of which is the same as that of the ankle pitch. Suppose the ( ), corresponding to the four foot orientation is for flat path control points . This would yield and horizontal ground. The ankle joint limits must be considand . Their determination depends ered when specifying not only on the ankle joint position, but also on the shank orientation. First, suppose that and are at positions

Fig. 12. Geometric parameters for foot trajectories (side view).

respectively. According to above setting and the corresponding waist positions (determined in the next subsection), the minof the ankle at and the maximum angle imum sole angle at can be trivially calculated by the inverse kinematics and can be set as follows in relation to the obof the leg. stacle height:

Fig. 13. Waist trajectory (top view).

to various obstacles, including VO and VO . Alternatively, the step length can be set as

where is the ratio of the obstacle height over the maximum . The sole angle may be small when the height, obstacle height is relatively small with respect to the maximum is used here as a coeffiheight, and hence, the height ratio cient. and are specified, the positions of and Once are modified as follows (refer to Fig. 12):

(6) where is a coefficient. For instance, we can set for HRP-2. We use (6), rather than (5), to obtain a smaller to easily maintain collision avoidance and stability. After the step length is specified, the distance between the (refer to Figs. 12 and 13), is set as robot and the obstacle, follows: (7) where and are the distances or the relative positions between the robot and the two virtual obstacles, VO and VO , which were obtained in the feasibility analysis, as shown in Fig. 10(b). B. Trajectory Planning for the Lower Body 1) Foot Trajectories: According to assumption 2) in Section II, the front and rear feet perform planar motions in phases 1 and 3, respectively. Therefore, the trajectories of

where and are the lengths from the ankle joint to the toe and are the angles of the toe and the and the heel, and heel, respectively, which are the geometric parameters of the feet, as shown in Fig. 12. , , and , are the margins used to determine the distances between the toe and the heel and the obstacle vertices (all are positive here) for collision avoidance. Three polynomials may be used for three segments to define a smooth curve passing through the four path points (8) is the normalized parameter for time. The funcwhere may be , , or , the and coordition nates of the foot positions and sole orientation. The following boundary conditions are necessary to obtain coefficients , ,

968

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

, , and for the polynomials: 1) the curve is continuous at the interior control points; 2) it is also smooth at these points, i.e., the first derivatives of adjacent segments at these points are equal; 3) the second derivatives match at the interior control points; 4) the first derivatives at the end-points ( and , or and ) are zero; and 5) the second derivatives at end-points are also zero. There are 14 boundary conditions, in total. The curve would be very smooth under these conditions. We let the second polynomial (for the middle segment of the curve) be of . We then have 14 coefficients third order, or equivalently, to determine for the three polynomials, and they can be easily and uniquely obtained according to the above 14 boundary conditions [1]. The curve consists of two fourth-order polynomials and one third-order polynomial

2) Waist Trajectory: The waist motion of the robot must also be planned carefully in the step-over procedure. If the waist is too high, then the robot may not put its leg down onto the ground on the other side of the obstacle with the desired step length; if the waist is too low, then it is likely that the legs will collide with the obstacle. It is often desired that the motion of the robot waist is kept on a plane parallel to the ground, for simplicity. In other words, the height of the waist is kept constant, if possible, as shown by the in Fig. 12. Suppose that the waist (the original point of line the robot’s base frame) is initially vertical over the ankle joint of the supporting foot ( in Figs. 12 and 13), and it is finally vertical over the ankle joint of the other supporting foot after stepping over the obstacle (end of Phase 3) ( in Figs. 12 and 13). The robot moves its waist only in the direction from to , , and in Phase 1, while it lifts its front foot from to , , and . It correspondingly moves its waist only in the direction from to in Phase 3, while it draws back the rear leg from to . In Phase 2, it moves its waist in both and directions from to (Fig. 13). and can be set so that the ratios beWaist-path points tween the lengths of line segments , , and are , , and . The waist-path equal to those between in Phase 3 can be set in a similar manner. points is initially set as The waist position (9) respectively, where and are the positions of the waist in the -axis at the end of Phase 1 for the robot to step over and are the the two virtual obstacles VO and VO ; corresponding waist heights. They are obtained in the feasibility and analysis [see Fig. 10(c)]. Although are feasible waist positions for the robot to step over the two virtual obstacles, we still verify the feasibility of the waist position here by examining the inverse kinematics of the two legs when the robot waist is at , and the two feet are at and , respectively, and by checking for a possible collision between the obstacle and the two legs. If the inverse kinematics is not

Fig. 14. Algorithm for trajectory planning.

satisfied, then the waist height is reduced by a suitable amount and checked again until a satisfactory height is found. This inverse kinematics check is also performed in Phase 3 when the and , waist is at , and the rear foot and front foot are at respectively. Collision detection is also performed in the planning, especially at these path points, using the method outlined in Section III-A. If a potential collision is detected at some path points of the waist and the feet, then the step length is reduced by a suitable amount, and the waist height is reset in the manner described above. If the robot waist is set to move little in Phases and are small, then the 1 and 3, that is, the distances corresponding waist height would also be reduced to reach the step length set previously. As a result, the legs may collide with the obstacle in Phase 2 if the waist height is kept constantly. In that case, the waist must arise in the middle of Phase 2. And for this, one more path point ( in Fig. 12) must be added ; its height is determined according to at the middle of the effectiveness of the leg inverse kinematics and collision detection. Once it is set, the waist trajectory can be generated in a way similar to that for foot trajectories. 3) Algorithm Diagram: In summary, the algorithm for trajectory planning is depicted by the block diagram shown in Fig. 14. It is in a heuristic methodology.

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

969

After the trajectories of the feet and the waist have been generated, the motion of the leg joints can easily be obtained through the inverse kinematics of the legs. C. Upper-Body Motion and Balance Maintenance As stated previously, collision avoidance and robot stability must be satisfied throughout the step-over procedure. While the lower-body motion of the robot is planned in the preceding subsection to satisfy collision avoidance, the upper-body motion of the robot can be generated by RMC to facilitate the robot’s balance. We can express the linear momentum and the angular momentum of the robot in terms of waist motion, foot motion, and upper body motion as follows, based on [14]:

Fig. 15. Foot trajectories in the 1). (b) Rear foot (in Phase 3).

X -Z (sagittal) plane. (a) Front foot (in Phase

CoM, and , and the position of the CoM have the following relationship [20]: (11)

where

is the velocity of the body frame of the robot, with linear and angular component . is the foot vecomponent ), and is the joint-angle vector of the upper locity ( body (including the chest, two arms, and the head) of the robot. is the total mass of the robot, is the identity matrix, is the inertia matrix with respect to the CoM, and and are the vectors of the robot’s CoM and the foot with respect to the body frame, respectively. The symbol (hat) is an operator that translates a 3 1 vector into a skew symmetric 3 3 matrix, and are inertia which is equivalent to the cross product. matrices that indicate how the leg joint-angle speeds affect the linear and angular momenta of the robot, respectively. Similarly, and are inertia matrices related to joint-angle speeds of ( ) is the leg Jacobian matrix. the upper body. From the above equation, we can solve for the upper body motion as follows:

where and are coordinates of the ZMP with respect to the world frame, is the vector of the CoM with respect to , and the same frame, is the gravity vector, and the suffixes indicate the corresponding elements with respect to the world frame. This formula states that we can maintain ZMP within the supporting polygon by setting suitable values for the total linear and angular momenta, and the position of CoM, as well, for (10). At the current stage, we conservatively control the CoM of the robot so that it is always within the convex hull of the supporting polygon to maintain the robot’s balance. The linear momentum depends on the time derivative of the CoM position as ; thus, we control the CoM position by manipulating the linear momentum using (12) where the bar denotes the reference value, so represents the reference linear momentum to be used in (10), and is the gain of the control scheme. The reference value of angular momentum can be set to zero. According to (11), the reference ZMP can then be controlled to remain in the convex hull of the supporting area(s). Note that the robot’s balance can always be realized in this way, since the motion planning is based on the previous feasibility analysis, in which the whole body motion and the constraint on the robot’s balance have already been considered.

(10) where

VI. SIMULATIONS AND EXPERIMENTS In this section, we carry out some simulations and experiments on the platform of humanoid robot HRP-2 to verify the proposed planning method. A. Basic Results

is the pseudoinverse of , and is a reference value for the solution of . Equation (10) indicates that the motion of the robot’s upper body (the free part of the robot) can be determined by that of the lower body (target part) through the linear and angular momenta of the robot. The linear and angular momenta are to be specified. We consider the robot’s balance when specifying them. The ZMP, the time derivatives of the linear and angular momenta around the

We use a box with a depth of 50 mm and height of 150 mm as the obstacle. The previous feasibility analysis confirms that this obstacle can be stepped over by HRP-2, since its height is less than the corresponding maximum height. The trajectories and orientation of the two feet in the (sagittal) plane are shown in Fig. 15, where the curves indicate the trajectories, the four shaded and filled triangles indicate the foot configurations at the four path-control points, and the filled

970

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

However, the performance decreases in accordance with the reduced boundary conditions. For a comparison, refer to [8]. B. Discussion

Fig. 16. Time histories of trajectory components (X; Z , and nents of front foot. (b) Components of rear foot.

). (a) Compo-

Fig. 17. Foot trajectories for an obstacle with height of 100 mm. (a) Front foot (in Phase 1). (b) Rear foot (in Phase 3).

Fig. 18. Foot trajectories for an obstacle with height of 200 mm. (a) Front foot (in Phase 1). (b) Rear foot (in Phase 3).

rectangle on the -axis represents the obstacle. It can be seen that the feet surmount the obstacle without any collision. While the orientation angle of the front foot first becomes negative (the ankle pitches in the negative direction) and then positive, that of the rear foot is constantly positive (though the ankle pitches in the negative direction), because of the limit of ankle pitch in the negative direction. Fig. 16 provides the time history of the trajectory components, in which the smoothness of the curves can be observed. For comparison, Figs. 17 and 18 show the foot trajectories for obstacles with heights of 100 and 200 mm, respectively, where the line segments indicate the sole at different path points. These figures demonstrate the wide adaptation of the planning method to different obstacles. Fig. 19 shows some simulation configurations in Phase 1, and Figs. 20–22 contain snapshots of the robot in the experiment. We have conducted additional experiments with other obstacles, including a bar with mm . size We note from these results that the trajectories are very smooth and collision-free. We also note that the upper body of the robot has its own motion (primarily that of the chest) generated by the RMC to maintain the robot’s balance. The motion-planning time by this algorithm (Fig. 14) is about 0.4 ms in the simulation on an Intel Xeon CPU (2.2 GHz). The trajectories may be interpolated by using only third-order polynomials with fewer boundary conditions, as used in [13].

In our simulations without dynamic stability, the robot could step over the obstacle with a constant waist height of 590 mm. However, the actual waist height in Phases 1 and 3 is reduced to about 540 mm in the experiment. This is because it is easier to maintain balance with our current RMC if the waist moves little during those single-support phases. The less the waist moves forward, the lower the waist height should be to validate the inverse kinematics of the legs at the beginning and end states in Phase 2. In addition, the HRP-2 control system has a stabilizer, which can adjust to some extent the robot’s motion, and, in turn, affects the original trajectory implementation. The stabilizer takes a particularly significant effect when the lifted front leg touches the ground and causes vibration. Therefore, for safety reasons, we let the robot waist move forward only a little, and as a result, its height is slightly less than the original one. The height is then increased at the middle of Phase 2, to avoid a collision between the shank and the obstacle, as shown , in Fig. 23. Each component of the waist trajectory, , is defined by three control points (two end-points and and the middle point), and consists of two fourth-order polynomials. HRP-2 is a humanoid robot with a height and weight similar to a human, and with relatively small soles. The mass of the upper body and the waist/hip comprises 72% of the total mass. It is challenging to control the stability of such a robot. We are improving the RMC so that the robot’s CoM and ZMP can vary over a wider range, and hence, the robot can move its waist forward more in the step-over procedure. We did not use the maximum height of 242.1 mm for the depth of 50 mm in the experiments for two main reasons. First, the maximum height is obtained without any margins for balance safety, as stated in Section IV. Second, our current RMC is not perfect and requires further development in the area of robot stability. Besides improving the RMC, we will attempt to obtain a new database of feasibility with reasonable and practical safety margins, so that stepping over an obstacle with the maximum height for a given depth can be implemented. The planning algorithm illustrated in Fig. 14 should always yield a feasible trajectory. However, it may occasionally fail in some modified versions for special needs (e.g., for better stability or balance, the waist motion is modified so that there is no waist motion in Phases 1 and 3 of stepping over an obstacle whose height is close to the maximum). This failure did not occur in our experiments. VII. CONCLUSION AND FUTURE WORK We have addressed the problem of stepping over obstacles, with the ultimate goal of enabling humanoid robots to walk in complex environments cluttered with obstacles. We have systematically and thoroughly studied two aspects of the problem, which are feasibility analysis and motion planning. The feasibility analysis has yielded the answer to the question of whether the robot can step over a given obstacle, subject to the constraints on collision avoidance and the robot’s balance. The results provide a priori knowledge for obstacle negotiation by a

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

971

Fig. 19. Simulation in Phase 1 (the robot lifts its front leg).

Fig. 20. Experimental snapshots in Phase 1 (HRP-2 lifts its front leg).

Fig. 21. Experimental snapshots in Phase 2 (HRP-2 moves its waist forward).

Fig. 22. Experimental snapshots in Phase 3 (HRP-2 withdraws its rear leg).

humanoid robot, and can be used as a mobility criterion for a robot. The database obtained from the analysis can be used for motion planning in the implementation of stepping over obstacles. The presented approach to a feasibility analysis can also serve as a tool to evaluate and compare the capabilities of humanoid robots related to obstacle negotiation. This approach can be extended to a feasibility analysis of obstacle negotiation by stepping on and stepping down [9]. We have proposed a novel algorithm to obtain the parameters for trajectory planning and to then generate the trajectories

automatically, based on the results of the feasibility analysis. The algorithm has been designed for adaptation to various obstacles, and therefore, it is oriented to autonomous stepping over obstacles. In the motion planning, we have decomposed the motion of the robot into two parts corresponding to the upper and lower body of the robot, to realize collision-free trajectories and robot balance. Simulations and experiments conducted with humanoid platform HRP-2 have verified the success and effectiveness of this strategy and planning method. It is possible to extend the proposed planning method to stair

972

IEEE TRANSACTIONS ON ROBOTICS, VOL. 22, NO. 5, OCTOBER 2006

Fig. 23. Wait trajectory of the robot in Phase 2. (a) Trajectory in 3-D space. (b) Component histories.

climbing and overcoming obstacles by stepping on them and stepping down. Future work includes autonomous stepping over obstacles with humanoid robots guided by vision. The obstacle size and position measured by the visual system mounted on the robot will be used first to determine the feasibility of stepping over, and then input to a motion planner designed according to the algorithm presented in this paper. It is also a prospective work that the feasibility analysis and motion planning proposed in this paper is extended to the dynamic case of humanoid stepping over obstacles. The robot’s capability to overcome obstacles under dynamic stability would be better than that under a static or quasi-static condition. REFERENCES [1] R. Bartels and J. Beatty et al., An Introduction to Splines for Use in Computer Graphics and Geometric Modelling. San Mateo, CA: Morgan Kaufmann, 1998. [2] P. Channon, S. Hopkins, and D. Phan, “Derivation of optimal walking motions for a biped walking robot,” Robotica, vol. 10, no. 2, pp. 165–172, 1992. [3] J. Chestnutt, J. Kuffner, K. Nishiwaki, and S. Kagami, “Planning biped navigation strategies in complex environments,” in Proc. IEEE/RAS Int. Conf. Humanoid Robots, 2003, CD-ROM. [4] R. Cupec, O. Lorch, and G. Schmidt, “Vision-guided humanoid walking—Concepts and experiments,” in Proc. 12th Int. Workshop Robot. Alpe-Adria-Danube Region, 2003, CD-ROM. [5] J. Denk and G. Schmidt, “Synthesis of walking primitive database for biped robots in 3D environments,” in Proc. IEEE Int. Conf. Robot. Autom., 2003, pp. 1343–1349. [6] P. Gorce and F. El Hafi, “Modeling of human body control scheme in stepping motion over obstacle,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 1998, pp. 64–69. [7] P. Gorce and O. Vanel, “Behaviour synthesis of the erect stance for a biped control,” J. Intell. Robot. Syst., vol. 18, no. 2, pp. 127–145, 1997. [8] Y. Guan and K. Yokoi et al., “On robotic trajectory planning using polynomial interpolation,” in Proc. IEEE Int. Conf. Robot. Biomimetics, 2005, pp. 111–116. [9] Y. Guan, K. Yokoi, and K. Tanie, “Feasibility: Can humanoid robots overcome given obstacles,” in Proc. IEEE Int. Conf. Robot. Autom., 2005, pp. 1066–1071. [10] Y. Guan and H. Zhang, “Kinematic graspability of a 2D multifingered hand,” in Proc. IEEE Int. Conf. Robot. Autom., 2000, pp. 3591–3596. [11] ——, “Kinematic feasibility of 3D multifingered grasps,” IEEE Trans. Robot. Autom., vol. 19, no. 3, pp. 507–513, Jun. 2003. [12] K. Holmstrom, A. Goran, and M. Edvall, User’s Guide for TOMLAB 4.2. [Online]. Available: http://tomlab.biz 2004

[13] Q. Huang, K. Yokoi, and S. Kajita et al., “Planning walking patterns for a biped robot,” IEEE Trans. Robot. Autom., vol. 17, no. 3, pp. 280–288, Jun. 2001. [14] S. Kajita and F. Kanehiro et al., “Resolved momentum control: Humanoid motion planning based on the linear and anular momentum,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2003, pp. 1644–1650. [15] S. Kajita, F. Kanehiro, and K. Kaneko et al., “Biped walking pattern generation by using preview control of zero-moment point,” in Proc. IEEE Int. Conf. Robot. Autom., 2003, pp. 1620–1626. [16] F. Kanehiro, K. Fujiwara, and S. Kajita et al., “Open architecture humanoid robot platform,” in Proc. IEEE Int. Conf. Robot. Autom., 2002, pp. 24–30. [17] K. Kaneko, F. Kanehiro, and S. Kajita et al., “Humanoid robot HRP-2,” in Proc. IEEE Int. Conf. Robot. Autom., 2004, pp. 1083–1090. [18] J. Kuffner, S. Kagami, and K. Nishiwaki et al., “Dynamically-stable motion planning for humanoid robots,” J. Auton. Robots, vol. 12, no. 1, pp. 105–118, 2002. [19] O. Lorch and A. Albert et al., “Experiments in vision-guided biped walking,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2002, pp. 2484–2490. [20] E. S. Neo, K. Yokoi, and S. Kajita et al., “Whole body teleoperation of a humanoid robot—A method integrating operator’s intention and robot’s autonomy,” in Proc. IEEE Int. Conf. Robot. Autom., 2003, pp. 1613–1619. [21] J. O’Rourke, Computational Geometry in C. Cambridge, U.K.: Cambridge Univ. Press, 1993. [22] L. Roussel, C. Canudas de Wit, and A. Goswami, “Generation of energy optimal complete gait cycles for biped robots,” in Proc. IEEE Int. Conf. Robot. Autom., 1998, pp. 2036–2041. [23] K. Sabe, M. Fukuchi, and J.-S. Gutmann et al., “Obstacle avoidance and path planning for humanoid robots using stereo vision,” in Proc. IEEE Int. Conf. Robot. Autom., 2004, pp. 592–597. [24] T. Sugihara, Y. Nakamura, and H. Inoue, “Realtime humanoid motion generation through ZMP manipulation based on inverted pendulum control,” in Proc. IEEE Int. Conf. Robot. Autom., 2002, pp. 1404–1409. [25] K. Yamane, J. Kuffner, and J. K. Hodgins, “Synthesizing animations of human manipulation tasks,” in ACM Trans. Graph. (Proc. SIGGRAPH’04), 2004, pp. 532–539. Yisheng Guan received the B.Sc. degree from Hunan University of Agriculture, Changsha, China, the M.Sc. degree from Harbin Institute of Technology, Harbin, China, and the Ph.D. degree from Beijing University of Aeronautics and Astronautics, Beijing, China. He conducted research as a Postdoctoral Fellow from 1998 to 2000, in the Department of Computing Science, University of Alberta, Edmonton, AB, Canada. From 2003 to 2005, he conducted research on humanoid robotics with a Fellowship from the Japan Society for the Promotion of Science (JSPS), with the Intelligent Systems Institute, National Institute of Advanced Industrial Science and Technology, Tokyo, Japan. His research interests include robotics (humanoid robotics, multifingered hands, telerobotics) and biomimetics.

GUAN et al.: STEPPING OVER OBSTACLES WITH HUMANOID ROBOTS

Ee Sian Neo (S’01) was born in Johor, Malaysia, in 1975. He received the B.E., M.E., and Ph.D. degrees from the University of Tsukuba, Tsukuba, Japan, in 2001, 2003, and 2006 respectively. Currently, he is with the Intelligent Systems Research Institute, National Institute of Advanced Industrial Science and Technology, Tsukuba, Japan. His research interests include mobile robotics, humanoid robotics, and teleoperation systems.

Kazuhito Yokoi (M’91) was born in Nagoya, Japan, in 1961. He received the B.E. degree in mechanical engineering from the Nagoya Institute of Technology, Nagoya, Japan, in 1984, and the M.E. and Ph.D. degrees in mechanical engineering science from the Tokyo Institute of Technology, Tokyo, Japan, in 1986 and 1994, respectively. In 1986, he joined the Mechanical Engineering Laboratory, Ministry of International Trade and Industry. He is currently a Codirector of the National Institute of Advanced Industrial Science and Technology (AIST)-CNRS Joint Robotics Laboratory (JRL), Intelligent Systems Research Institute, AIST, Tsukuba, Japan. He is also an Adjunct Professor of the Cooperative Graduate School, University of Tsukuba, Tsukuba, Japan. From November 1994 to October 1995, he was a Visiting Scholar at the Robotics Laboratory, Computer Science Department, Stanford University, Stanford, CA. His research interests include humanoids and human-centered robotics. Dr. Yokoi is a member of the IEEE Robotics and Automation Society.

973

Kazuo Tanie (M’85–F’04) was born in 1946. He received the B.S., M.S., and Dr. Eng. degrees in mechanical engineering from Waseda University, Tokyo, Japan, in 1969, 1971, and 1980, respectively. In 1971, soon after receiving the master’s degree, he entered the Mechanical Engineering Laboratory, AIST-MITI, Tokyo, Japan, and served as the Director of the Cybernetics Division and Biorobotics Division in the Robotics Department, and also as Director of the Robotics Department. On April 1, 2001, when all MITI’s laboratories were reformed, he moved to the Intelligent Systems Institute, National Institute of Advanced Industrial Science and Technology (AIST), Tokyo, Japan, and served as the Director till the end of March, 2004. From April 1, 2004 to March 31, 2005, he was a Principal Reviewer of AIST. On April 1, 2005, he moved to the Tokyo Metropolitan University, Tokyo, Japan, and is currently a Professor of the Faculty of System Design. Also, he has been a Visiting Professor at the Advanced Research Center of Science and Technology, Waseda University, since 1996, and at the Graduate School of Law, Nihon University, Tokyo, Japan, since 2004. He was an Adjunct Professor of the Cooperative Graduate School, University of Tsukuba, Tsukuba, Japan, from 1992 to 2004. From 1981 to 1982, he was a Visiting Scholar at the University of California at Los Angeles, and in September, 1995, a Visiting Professor at the Scuola Superiore S. Anna, Pisa, Italy. His research interests include compliant robotic arm control, multifingered hand control with tactile sensors, virtual reality and its application to telerobotic systems, and human-friendly robotics and humanoids. He has published more than 300 papers in Japanese and international journals and international conference proceedings. Dr. Tanie served as the General Chair and Program Chair for several international conferences. He has been the Japanese contact person of the International Advanced Robotics Program (IARP) since 1998, and the President of the IEEE Robotics and Automation Society (RAS) since 2004. He was a Founding Chairman of the Robotics and Mechatronics Division, Japan Society of Mechanical Engineers (JSME) in 1988 and 1989, and a Vice President of the Robotics Society of Japan (RSJ) in 1999 and 2000. He is a Fellow of the JSME, and RSJ. He received the Joseph Engerburger Technical Award in 2001, and also several best paper awards from Japanese academic societies.