nicolas perrin, reviewer 1 question/comment

18
1 Nicolas Perrin, LAAS, CNRS 7 Avenue du colonel Roche, 31700 Toulouse, France Email: [email protected] Dear Editor, Below please find the resubmission of the paper ”Fast humanoid robot collision-free footstep planning using swept volume approximations.” by Perrin, Nicolas* (132479), Stasse, Olivier (103148), Baudouin, L´ eo, Lamiraux, Florent (101933), Yoshida, Eiichi (103117) (reference : 10-0671). We appre- ciate the careful and detailed comments and constructive suggestions from the editors and the reviewers. In the revi- sion, we have made changes according to these comments and suggestions as much as possible. The main changes are highlighted; we also describe our modifications in the answers to the reviewers. Our main effort has been to improve our implementation and make more advanced experiments to further validate our approach. This new implementation and a new experiment are presented in the new section VI of the revised paper (and this new experiment is shown in the new video). L´ eo Baudouin, who helped us in this work, is added as a new co-author. Your edition and the reviews of our submission are highly appreciated! Yours sincerely, Nicolas Perrin, Ph.D. Candidate Reviewer 1 The authors appreciate the insightful comments and con- structive suggestions from reviewer 1, which are very helpful for the improvement of the paper. In light of these comments and suggestions, we revised the paper, addressing the concerns and questions of reviewer 1. Below, we provide explanations and clarifications about these comments and questions. Question/Comment #1 This paper several contributions, the main ones being the use of half-step for footstep planning, the swept-volume ap- proximations for collision checking during planning, and then path smoothing between the half-steps for faster and better stepping motions. In my opinion, the problem they are tackling is an im- portant one for increasing the abilities of legged robots in obstacle-filled areas, and their contributions in this paper are compelling. The authors appreciate the positive comments on the paper made by reviewer 1. Question/Comment #2 Regarding the path smoothing, figure 4 makes it appear that the resulting path needs to be statically stable, as the CoM trajectory pulls in from the ZMP, but does not leave the foot (the support change times are not shown on that figure, so we don’t know about the sections between the steps). It doesn’t seem like that should be a limitation of the algorithm. What is the limit of the smoothing? If you want to go faster, can the trajectory be smoothed more than is shown in Figure 4? We thank the reviewer for this interesting remark. As the reviewer noted it cannot be seen on figure 4 that the trajectories are actually not statically stable (even the trajectory on the left). This could be seen only with a different kind of figure displaying the time: indeed the main reason why the trajectory is not statically stable is because the speeds of the CoM and ZMP are very different, even though geometrically their trajectories remain quite quite close. The trajectory can be smoothed more than what is shown on figure 4, however, the main limit of the smoothing is the speed of the swing foot. When we increase the overlap between half-steps to smooth more, the single support phase becomes shorter, so we have to limit the smoothing in order to keep an acceptable speed for the swing foot. Question/Comment #3 When presenting the swept-volume approximations, the pre- computed nature seems to be incompatible with the smoothing that was just discussed, which makes it seem a little strange. A comment that this is used for the planning process, and that

Upload: others

Post on 11-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nicolas Perrin, Reviewer 1 Question/Comment

1

Nicolas Perrin,LAAS, CNRS7 Avenue du colonel Roche,31700 Toulouse, FranceEmail: [email protected]

Dear Editor,

Below please find the resubmission of the paper ”Fasthumanoid robot collision-free footstep planning using sweptvolume approximations.” by Perrin, Nicolas* (132479), Stasse,Olivier (103148), Baudouin, Leo, Lamiraux, Florent (101933),Yoshida, Eiichi (103117) (reference : 10-0671). We appre-ciate the careful and detailed comments and constructivesuggestions from the editors and the reviewers. In the revi-sion, we have made changes according to these commentsand suggestions as much as possible. The main changesare highlighted; we also describe our modifications in theanswers to the reviewers. Our main effort has been to improveour implementation and make more advanced experiments tofurther validate our approach. This new implementation anda new experiment are presented in the new section VI of therevised paper (and this new experiment is shown in the newvideo). Leo Baudouin, who helped us in this work, is addedas a new co-author.

Your edition and the reviews of our submission are highlyappreciated!

Yours sincerely,Nicolas Perrin, Ph.D. Candidate

Reviewer 1The authors appreciate the insightful comments and con-

structive suggestions from reviewer 1, which are very helpfulfor the improvement of the paper. In light of these commentsand suggestions, we revised the paper, addressing the concernsand questions of reviewer 1. Below, we provide explanationsand clarifications about these comments and questions.

Question/Comment # 1

This paper several contributions, the main ones being theuse of half-step for footstep planning, the swept-volume ap-proximations for collision checking during planning, and thenpath smoothing between the half-steps for faster and betterstepping motions.

In my opinion, the problem they are tackling is an im-portant one for increasing the abilities of legged robots inobstacle-filled areas, and their contributions in this paper arecompelling.

The authors appreciate the positive comments on the papermade by reviewer 1.

Question/Comment # 2

Regarding the path smoothing, figure 4 makes it appear thatthe resulting path needs to be statically stable, as the CoMtrajectory pulls in from the ZMP, but does not leave the foot(the support change times are not shown on that figure, so wedon’t know about the sections between the steps). It doesn’tseem like that should be a limitation of the algorithm. Whatis the limit of the smoothing? If you want to go faster, canthe trajectory be smoothed more than is shown in Figure 4?

We thank the reviewer for this interesting remark. As thereviewer noted it cannot be seen on figure 4 that the trajectoriesare actually not statically stable (even the trajectory on theleft). This could be seen only with a different kind of figuredisplaying the time: indeed the main reason why the trajectoryis not statically stable is because the speeds of the CoMand ZMP are very different, even though geometrically theirtrajectories remain quite quite close.

The trajectory can be smoothed more than what is shown onfigure 4, however, the main limit of the smoothing is the speedof the swing foot. When we increase the overlap betweenhalf-steps to smooth more, the single support phase becomesshorter, so we have to limit the smoothing in order to keep anacceptable speed for the swing foot.

Question/Comment # 3

When presenting the swept-volume approximations, the pre-computed nature seems to be incompatible with the smoothingthat was just discussed, which makes it seem a little strange.A comment that this is used for the planning process, and that

Page 2: Nicolas Perrin, Reviewer 1 Question/Comment

2

the smoothing uses different collision checking would help itfit better.

We apologize for the lack of clarity regarding this part. Wehave reformulated the text in the introduction to stress thedifference between the planning phase when swept volumeapproximations are used, and the smoothing phase when thehomotopy is applied (with different collision checks).

Question/Comment # 4

Along the same lines, it seems strange organizationallyto have the smoothing broken into two sections (overallsmoothing, and smoothing with obstacles) and placed at thebeginning and end of the paper. I would recommend puttingthem closer together.

We apologize for the lack of clarity. In the revised paper wehave slightly modified the structure according to this comment(smoothing with obstacles is now mentioned in section II-B).

Question/Comment # 5

My last comment is that the example environments arenicely cluttered and difficult, but the obstacles themselvesare very simple. It would be nice to see examples of morecomplicated obstacles, particularly ones that would show theknee part of the swept volumes having an effect.

We have improved our implementation and designed a newset of experiments showing 3D obstacles avoidance with morecomplex shapes such as a torus, a chair and a table. Most of ourcurrent results are in simulation, but we also realized real-timereplanning experiments on HRP-2 including stepping overmotions. The results obtained with this new implementationare briefly exposed in the revised paper (section VI), andshown in the new video.

Question/Comment # 6

The paper is generally easy to follow and understand.There are some typos and grammatical errors which shouldbe corrected. I’ve listed ones I noticed below. Corrections:Section II:Linear Inverted Pendulum Mode⇒ Linear Inverted PendulumModelon an horizontal plane ⇒ on a horizontal planeSection II.A:foot always leave and reach⇒ foot always leaves and reaches

We thank the reviewer for pointing our these mistakes, theyhave been fixed in the text.

Reviewer 3The authors appreciate the insightful comments and con-

structive suggestions from reviewer 3, which are very helpfulfor the improvement of the paper. In light of these commentsand suggestions, we revised the paper, addressing the concernsand questions of reviewer 3. Below, we provide explanationsand clarifications about these comments and questions.

Question/Comment # 7

The paper presents a novel strategy for footstep planningand walking control for humanoids robots that step oververtical obstacles. The authors combine three contributions toachieve fast planning and execution of their walking gait. Thecontributions are as follows: 1) A COM/swing foot trajectoryrepresentation that starts with a slow, high-clearance gaitthat is statically stable at each contact. They demonstrate analgorithm for adapting this trajectory to improve speed. 2)A swept volume caching method that enables fast collisiondetection for the full set of possible transitions given the initialtrajectory. 3) A randomized planning strategy based on RRTthat takes advantage of (2) to generate the walk.

Overall, the combination of the three elements presents aviable method for walking and the results as demonstrated inthe attached video are impressive.

The authors appreciate the positive comments on the papermade by reviewer 2.

Question/Comment # 8

The drawback to this work is that none of the methods arestudied or evaluated in detail. Evaluation consists of two test-cases and it is unclear whether alternative choices for methodsmight have produced equal or better results.

The evaluation of methods is primarily focused on planningand hence the reviewer recommends that the authors makethis the central topic of the paper with less focus on trajectorygeneration. The authors acknowledge that better trajectorieshave been achieved with preview control methods and itis unclear how the smoothed trajectories compare to suchstrategies. It appears that such a comparison is beyond thescope of this paper.

We apologize for the lack of comparisons.Since footstep planners of the literature are difficult to

reproduce and implement, it is quite hard to rigorously com-pare our approach with other footstep planners. However, weimproved our implementation and tested our approach in morechallenging contexts, including environments with moving 3Dobstacles. We discuss these new results in the revised paperand show a more advanced experiment in the new video.

The reason why we do not focus too much on planning isbecause we believe that our method for trajectory generation,although not the motivation of our work, is one of the keypoints of this paper. Indeed the main features of our walking

Page 3: Nicolas Perrin, Reviewer 1 Question/Comment

3

pattern generator (low dimensionaltiy, efficient smoothing) arevery well suited for precomputation-based footstep planning,and similar planning results could not be obtained with usualtechniques of trajectory generation. It is true that in order toobtain these features, there are some counterparts that probablymake our trajectories not as good as the ones obtained withstate-of-the-art walking pattern generator. The comparison ofour method with preview control-based trajectory generationis indeed out of the scope of this paper.

Question/Comment # 9

Specifically:- Typically, planning algorithms (esp. sampling-based ones)

are evaluated over a large set of randomly generated environ-ments with hundreds of test cases. This work presents twoenvironments with only 10 trials.

We have improved our implementation and present it inthe revised paper (section VI). With the more advancedimplementation we have made a more thorough evaluation:1000 trials for one of the two examples. We also tested ourmethod on randomly generated environments, but in the endwe focused on real-time replanning: objects are moved bythe user and the robot replans sequences of steps to avoidthem. We discuss our results in the revised paper and show anexperiment in the new video.

Question/Comment # 10

- Comparing an optimal algorithm A*(with admissibleheuristic) to RRT is not particularly informative. It is wellknown that inflated heuristics (multiply by epsilon > 1) cancause A* to find solutions much more rapidly, overcoming thesubtree height issue discussed by the authors. This variant ofA* has bounds on suboptimality which RRT does not. Alter-native RRT methods such as bi-directional search and RRT*might also be considered with regard to improving planningtime and the optimality of resulting plans respectively.

We agree with the reviewer that inflated heuristics allowto considerably reduce the size of the search tree in practice,and we discuss this possibility in the revised paper. However,inflated heuristics have the same problem as the simple A*search with local minima (created by obstacles), and in thatcase the problem of the subtree size issue re-appears, and itwould probably be better to use a mobile robot heuristic, butbecause of the difference between mobile robots and bipedrobots, using this kind of heuristic is not always satisfying –we discuss this in the revised paper (section V-A)–. Besides,it is not clear whether suboptimality bounds can be kept in thecontext of footstep planning. Based on previous experimentsdetailed in [2], RRT* was not better than RRT in the contextof footstep planning. Bi-directional search might enable us toobtain better paths, but the issue of path connection has to beaddressed carefully, which is part of our recent and on-going

work.

Question/Comment # 11

To summarize, if the paper is to focus on planning then theauthors should provide a much more detailed evaluation oftheir algorithm with respect to a broader range of experimentsand alternative planning methods.

With a new implementation we have evaluated our methodwith more complicated experiments, and present the results inthe revised paper (section VI), as well as in the new video.

Question/Comment # 12

- Did the authors consider an even simpler solution towalking where the gait is purely static and the foot lifts straightup? In the demonstrated cases of low obstacles, this wouldbypass the need for swept volume computation and still allowfor speed-up with trajectory smoothing. Such alternativesmight be considered and analyzed if trajectory generation isto be a significant focus.

This is a very interesting comment, and indeed, if we lookfirst for a solution with a purely static gait, we will obtainfaster planning, and we will still be able to progressivelysmooth it. However, the use of quasi-static trajectories hassome limitations. For example stepping-over motions arestrongly limited with quasi-static walks: it has been shown [1]that it triggers much more kinematic constraints than whenconsidering dynamic balance criteria. This means that, if asmall obstacle has to be stepped over in order to reach thegoal, then searching first for a quasi-static sequence of stepswill never succeed, even though a solution exists.

With our approach, we try to find a good compromise:restrictions on the trajectory generation that lead to fastplanning and to solutions that actually benefit from smoothing,but not too strong restrictions that would significantly reducethe set of solvable problems.

Question/Comment # 13

- Smoothing for the COM trajectory is explained in IIIA,however there does not appear to be an explanation for thechanges to the position and height of the midpoint in the foottrajectory. What yields the transformation shown in Fig. 13?

We use the same operators as the ones that do the smoothingfor the CoM. For example it can be seen that the amplitude ofthe CoM trajectory decreases during the sliding operation, andin fact the same effect will occur for the swing foot trajectory:when the overlap increases the swing foot tends to move closerto the ground. Due to the limited space, we did not derive therelated equations and did not explain in details this operation,but we rephrased some of the paragraphs of the paper to makethis point clearer (see section II-B).

Page 4: Nicolas Perrin, Reviewer 1 Question/Comment

4

Reviewer 6The authors appreciate the insightful comments and con-

structive suggestions from reviewer #6, which are very helpfulfor the improvement of the paper. In light of these commentsand suggestions, we revised the paper, addressing the concernsand questions of reviewer #6. Below, we provide explanationsand clarifications about these comments and questions.

Question/Comment # 14

In this work, collision-free footstep planning for humanoidrobots is addressed. Therefore several contributions are pro-posed:

* A specialized walking pattern generator is introduced,which is able to generate half step motions for humanoid robotand which depends on three input parameters. To achieve this,several assumptions are made, such as a partly fixed waist(height, roll and pitch) or the maximum height of the swingfoot. The advantage of reducing the control parameters of thewalking pattern generator is given by the possibility to easilydiscretize the space of all potential stepping trajectories. Theproposed pattern generator is used to build a discretized tran-sition model, in which a feasibility check (self collisions, jointlimits) of all potential motions is performed. The resulting setof half-step motions build the search space that is used forplanning foot steps sequences.

* Due to the proposed discretization of potential half-steps,spatial swept volumes of the corresponding (leg) motions canbe precomputed. This is done approximatively and stored inan efficient data structure for fast collision detection duringthe planning phase.

* In order to avoid unaesthetic stopping motions betweentwo consecutive half-steps, an approach is presented to smooththe resulting trajectories. Therefore an overlapping techniqueis introduced to generate smoother center-of-mass trajectories.

* The planning of a footstep sequence is performed with anRRT variant, that randomly picks a state and tries to extendit with a transition, that is also chosen randomly from the setof precomputed transitions. This section should explained theplanning approach in more detail. E.g. it is not clear to me,what the environment dependent compact subset of the searchspace is. Algorithm 1 is missing a stop condition (although itis noted in the text, it should be added to the algorithm).

We apologize for the lack of clarity in this part. In factthe environment dependent compact subset is simply used tobound x and y: for example if the robot stays in a 5m x 5mroom, we naturally use these dimensions to bound x and y.We added this example in the revised paper (section IV), andadded a stop condition to the algorithm 1. The reason why wedo not explain the planning approach in more details is becauseof the limited size, and also because we prefer to focus moreon the features of our trajectory generation method and theircombination with swept volume approximations.

Question/Comment # 15

Since the approach is somehow related to control-basedsampling, which is done in nonholonomic motion-planning,references to such approaches should be mentioned.

We make a reference to the KPIECE algorithm in the revisedpaper (in section V-A).

Question/Comment # 16

* The experiments show, that problems which cannot besolved with A* variants can efficiently be handled by theproposed method. The results are generated by averaging 10attempts, which seems to be a low number of test runs, sincethe randomized approach could produce misleading results.Hence, more test runs should be performed. On page 9, it iswritten, that less than 40 seconds are needed for experiment2, but in Fig. 10 it is shown, that 29.8 seconds were neededfor setup 2. So either, the 40s or the 29.8s are wrong. Theexplanation of Fig. 10 is not clear: What does it mean whenthe ground is covered by 250 or 75 points?

We have improved our implementation, and evaluated itmore thoroughly. We briefly present the results in the revisedpaper. We apologize for the lack of clarity of some parts of thepaper. The 40 seconds mentioned on page 9 are the maximumtime spent to find a solution, whereas 29.8s is the averagetime. We clarify this in the revised paper (section V-A), andalso clarify the covering by points (see section VI): in ourfirst implementation, in order to directly use the implicit sweptvolume approximations, we covered obstacles with points andused these points to test the collisions between the swept vol-umes and the obstacles. In our more advanced implementation,we convert the implicit swept volume approximations intomeshes, and use the PQP algorithm to check for collisions withthe obstacles that are now represented by classical triangularmeshes.

Question/Comment # 17

* Compared to existing footstep planners, which mostlyuse a predefined and strongly limited set of potential (half-step) motions, the proposed approach of systematically buildsuch a set is promising. Nevertheless, the discretization ofthe search space could lead to situations which could not besolved, even when a solution exists. In section VI, such prob-lems are discussed and the authors argue, that a continuoustransition model would solve such issues and several usefultechniques can be additionally applied within the framework.In a continuous case, the use of a swept volume approximationfor collision detection (as proposed in the article) is notconvincing, since the advantage of precomputing the sweptvolume with high costs in order to quickly perform collisiondetection during planning, can not be exploited. Thus, insteadof trying to compute the swept volumes more efficiently, othercollision detection routines should be taken into account (e.g.

Page 5: Nicolas Perrin, Reviewer 1 Question/Comment

5

continuous collision detection or discrete variants as used bymost sampling based planners). The discussion in section VIshould rather address problems that could arise from not usinga discrete state space during planning.

We thank the reviewer for this insightful comment. Weinclude this comment and references on such methods in therevised paper (section VII).

Reviewer 8The authors appreciate the insightful comments and con-

structive suggestions from reviewer 8, which are very helpfulfor the improvement of the paper. In light of these commentsand suggestions, we revised the paper, addressing the concernsand questions of reviewer 8. Below, we provide explanationsand clarifications about these comments and questions.

Question/Comment # 18

The paper proposes a collision-free walking motion plan-ning for humanoid robots, particularly focusing on the issueof computation time.

Basically, it well summarizes the problem to be addressed.The hurdles are the high dimensionality and complicatedgeometric and dynamical constraints, so that the efforts shouldbe put on both how to reduce the dimension of the search spaceand to approximate the constraints efficiently.

The proposed idea is also well described, sounds practical,although it is not a surprising one. The reviewer doesn’t haveanything hard to understand it. However, the reviewer wasnot satisfied with the result that it took about 30 secondsto find the solution in the second scenario, which doesn’tseem very challenging – to be honest, he was disappointed.It doesn’t convince him that the proposed technique enables’fast’ walking motion planning.

We improved our implementation, and were able to sig-nificantly speed up our results. In particular, for the secondscenario, the planning is now made in average in 1.5 seconds(1000 trials). We would like to stress the fact that in ourpreliminary implementation we used collision checks withoutbounding volume hierarchies. This was of course less efficientthan the current implementation which uses the algorithm PQPto test collisions between the obstacles and the approximatedswept volumes; however, it showed that a really high numberof calls to the approximations can be made in a short time.

This more advanced implementation is explained in therevised paper (section VI), and the new results are presented.We show in the new video that real-time replanning can beperformed even though complicated stepping-over motions arerequired.

A second point that we would like to stress is that our mainobjective is not only the quickness of the planning, but alsoits soundness. In fact, there are ad hoc methods that wouldprobably outperform our algorithm in environments similar tothe one of our second scenario. For example, one can definean action set with a few stepping-over motions, and if thevarious swing foot trajectories allow it, a sequence of stepsto the goal will be quickly found. However, in some casesthis action set will fail to lead to a solution, and it mightbe only because some trajectories of this action set were notwell chosen. We do not claim that we obtain completenesswith our approach; however the stepping-over capabilities ofthe robot are well considered, somehow in a sound way,whereas a lot of ad hoc methods (using for example heuristicsabout obstacle clearance) address the problem of stepping-over

Page 6: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 6

obstacles much less carefully than we do.

Question/Comment # 19

The authors may say that the future progress of computerswill resolve this concern. If we accepted such a claim, nothingwould be difficult because the problem is already mathemati-cally clear. This paper doesn’t have a big impact as a regularpaper.

We apologize for the lack of clarity on this part. Eventhough parallelism might lead to a speed up, we do not believethat the future progress of computers will resolve the problem.We removed the sentences about parallelism in the revisedpaper.

Question/Comment # 20

The reviewer found the similarity of a homotopy of walkingtrajectories to the following works by Nishiwaki et al.

Koichi Nishiwaki, Ken’ichirou Nagasaka, Masayuki Inabaand Hirochika Inoue, “Generation of Reactive Stepping Mo-tion for a Humanoid by Dynamically Stable Mixture of Pre-designed Motions” in Proceedings of 1999 IEEE InternationalConference on Systems, Man, and Cybernetics, VI-902-907,1999.

Koichi Nishiwaki, Tomomichi Sugihara, Satoshi Kagami,Masayuki Inaba and Hirochika Inoue, “Online Mixture andConnection of Basic Motions for Humanoid Walking Con-trol by Footprint Specification”, in Proceedings of the 2001IEEE International Conference on Robotics and Automation,pp.4110-4115, 2001.

We thank the reviewer for these important references thatwe did not have knowledge of. The two papers have been citedin the text and the differences are briefly highlighted (sectionII-B).

Question/Comment # 21

The authors are careless about the discussion of stability. Atypical sentence is at the bottom of P.2: ”A classical stabilitycriterion for biped walking is that the ZMP should stay atall time inside the polygon of support (see [28]).” Obviously,the authors misunderstand the paper [28]. ZMP cannot tellanything about the stability. Stability is necessarily discussedfor dynamical systems, so that the phrases “dynamicallystable” and “statically stable” do not make sense. They shouldbe simply replaced with “quick” and “slow”, respectively.

We are thankful to the reviewer for pointing out this misuseof the word “stability”. Our intent was to speak about balance,and we changed the term in the revised paper (section II).We also admit that stability often refers to notion such asthe Lyapunov stability, which is not at all what we refer to

in the paper. However, we believe that the terms “dynamicallystable” and “statically stable” are quite widespread (more than“dynamically balanced” and “statically balanced”), so for themoment we keep them in the revised paper. By “staticallystable” we mean a configuration such that the robot does notfall (i.e. its center of mass is projected inside the convexhull of its contact points with the ground), or by extensiona motion containing only statically stable configurations. Weuse the term “dynamically stable” to denote a motion such thatthe robot does not fall, but which contains configurations thatare not statically stable. We point out that in the publicationindicated by the reviewer: “Generation of Reactive SteppingMotion for a Humanoid by Dynamically Stable Mixture ofPre-designed Motions” by Nishiwaki et al., the term “dynam-ically stable” is used with the same meaning. We add verybrief comments to define more accurately the meaning of theseterms in the revised paper (section II-B).

REFERENCES

[1] O. Stasse, B. Verrelst, B. Vanderborght and K. Yokoi, “Strategies forHumanoid Robots to Dynamically Walk over Large Obstacles”, IEEETransactions on Robotics, 25(4):960-967, 2009.

[2] N. Perrin, O. Stasse, F. Lamiraux and E. Yoshida, “A Biped Walk-ing Pattern Generator based on Half-Steps for Dimensionality Reduc-tion”, IEEE/RAS International Conference on Robotics and Automation(ICRA’11), pages 1270–1275, 2011.

Page 7: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 7

Fast humanoid robot collision-free footstep planningusing swept volume approximations

Nicolas Perrin, Olivier Stasse, Leo Baudouin, Florent Lamiraux and Eiichi Yoshida

Abstract—In this paper, we propose a novel and coherentframework for fast footstep planning for legged robots on aflat ground with 3D obstacle avoidance. We use swept volumeapproximations computed offline in order to considerably reducethe time spent in collision checking during the online planningphase, in which an RRT variant is used to find collision-freesequences of half-steps (produced by a specific walking patterngenerator). Then, an original homotopy is used to smooth thesequences into natural motions avoiding gently the obstacles. Theresults are experimentally validated on the robot HRP-2.

Index Terms—footstep generation, motion planning, humanoidrobots, obstacle avoidance.

I. INTRODUCTION

ARGUABLY, the one thing that most differentiate hu-manoid robots from their wheeled counterparts is their

intrinsic ability to step over obstacles on the ground. Forthis reason a lot of work has been done on the problem ofhumanoid robot walk planning, with the aim of exploiting atbest this unique capability. Since humanoid robots combinehigh dimensionality with underactuation, two properties thattend to drastically increase the complexity of motion planning,this problem is not easy to solve. Nevertheless, and althoughthere is no completely satisfying solution so far, a lot ofpromising techniques and tools have been introduced over thepast decade.

Probably the most successful approaches are based on theuse of the A* algorithm with a finite transition model, i.e. arelatively small set of possible steps (see for example [23], [4],[6], [7]). For each step a corresponding configuration spacetrajectory is known, and it is possible to check quite quicklywhether a given step will avoid the obstacles or not. Sincethose steps need to be connectable at will, however, it oftenrequires the initial and final speed of the robot bodies to bezero for all the steps of the transition model. At least someparts of the gaits produced are thus static. This is for examplethe case in [23], and [1]. Chestnutt et al. avoid it in [7] by usinga search space which consists in sequences of two consecutivesteps. But since this search space has a higher dimensionality,in order to be expressive, transition models need to be muchlarger than when only isolated steps are considered. Yet,the use of the A* algorithm strongly constrains the size ofthe transition model. Even when the transitions are isolated

N. Perrin is with CNRS/LAAS, Universite de Toulouse UPS, INSA, INP,ISAE 7 avenue du colonel Roche, F-31077 Toulouse, France, and CNRS-AISTJoint Robotics Laboratory, UMI3218/CRT, Tsukuba, Japan.

O. Stasse and E. Yoshida are with CNRS-AIST Joint Robotics Labora-tory, UMI3218/CRT, Tsukuba, Japan.

L. Baudouin and F. Lamiraux are with CNRS/LAAS, Universite deToulouse UPS, INSA, INP, ISAE 7 avenue du colonel Roche, F-31077Toulouse, France.

steps, the stepping capabilities are often limited because thecomplexity of the A* search quickly increases with the sizeof the transition model. Recently though, some interestingrefinements have been considered in order to enhance thestepping capabilities while keeping a small transition model.In [9] for example, the steps of a set of reference actions (i.e.the transition model) can be slightly adjusted to avoid badterrain locations.

In this paper, we replace the A* search by a sampling-based algorithm in order to directly deal with a large transitionmodel, and add several other improvements to the standard{A* + finite transition model} approach. Here are our maincontributions:

• Thanks to a walking pattern generator specifically de-signed, we obtain a low-dimensional search space whichcan be densely covered by relatively few points. With anautomatically generated finite transition model of about300 points in this search space, we are able to obtainvery expressive stepping capabilities. To deal with such alarge transition model, we use, instead of the classical A*search, a specific Rapidly-exploring Random Tree (RRT)algorithm.

• Each point in the transition model corresponds to a con-figuration space trajectory of the robot. Through extensiveoffline computations, for each of them we approximatethe volume swept in the workspace by a part of the robotlower body (from the knees down) during the executionof the trajectory, and store it in an efficient data structure.It helps to drastically reduce the time consumed by theonline planning phase when checking for collisions withthe environment.

• Finally, with a simple homotopy, we quickly smoothand accelerate the trajectories obtained after the planningphase, and as a result the final motions produced arefully dynamic, a feature that often lacks with currentapproaches. On top of that, there is no incoherencebetween the planning phase and the smoothing phase,so we have the guarantee that if the planner returnsa collision free solution, then the robot will execute asequence which will also be collision free (this guaranteeis up to some details –discrepancies between simulationand real world, errors of approximation, errors due todiscretization, etc.–).

a) Pattern generation and smoothing homotopy:One of the key elements of our framework is the combina-tion between a specific walking pattern generator based on“half-steps” and a simple homotopy that can quickly smoothsequences of (half-)steps. We present both in section II (we

Page 8: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 8

introduced them in [32]). Before the use of the homotopy, thegenerated sequences are called “raw”, and simply correspondto concatenations of isolated half-steps. Isolated half-steps areobtained by fixing the position of the swing foot when it isat its maximum height: this puts us in the conditions of [23]where two statically stable “via point configurations” Qrightand Qleft are fixed and divide steps into two parts: an upwardhalf-step, and a downward half-step. In [23] this restriction wasalready used in order to reduce the number of trajectories toconsider; we use it in order to reduce the dimensionality ofthe input space. The simple homotopy that we use to smoothsequences of half-steps is, to our knowledge, new in the fieldof humanoid robotics (but it is based on the same principle asthe techniques introduced in [28] and [29]).

b) Finite transition model and swept volume approxima-tions:Our pattern generator benefits from an input space of dimen-sion only 3, and therefore we can cover it with a dense gridof only relatively few points. Each point corresponds to asequence of two half-steps. For each point of the grid we firstsimulate the sequence of half-steps and check that it is feasible,i.e. that it contains no self-collision and does not violatethe joints limits. The points which correspond to feasibletrajectories will be the elements of our transition model. Insection III we explain the construction of this transition modeland show how, for each of its elements, we approximate thevolume swept by the robot lower body during the execution ofthe corresponding trajectory. By speeding up collision checksthese approximations will enable us to save a considerablecomputation time online.

At first it might seem strange to combine precomputedswept volumes and a smoothing homotopy that modifies tra-jectories, but in fact in the whole process the homotopy isonly applied to one feasible trajectory returned by the planningprocess during which the swept volume approximations areextensively used. When the homotopy is applied we do notuse precomputed swept volumes for the collision checks.

Several efficient swept volume approximation algorithmsexist, such as for example the ones introduced in [22] andin [17]. Using such advanced specific algorithms will be partof our future work, but in this paper we validate our frameworkwith a simpler approach. Since the highest priority is theevaluation time (because approximations are used multipletimes at each iteration of the RRT algorithm), we use ageneric approximation algorithm which stores the results incompact tree structures that, in our case, can be used to veryquickly check for collisions with obstacles of the environment.This algorithm is a slight variant of the one introduced in[31]; the variant is presented in details in [30]. The use ofswept volumes is widespread in robotics, especially for pathplanning (see [34], [15]), but relatively absent in the fieldof humanoid robotics, where, for the sake of computationalefficiency, simpler bounding volumes are often preferred ([39],[10]).

c) An RRT variant for footstep planning:The last part of our framework is the planning phase. Sincewe have a large transition model, the traditional A* searchwould perform poorly. Alternatives to A* have already been

proposed. For example in [13], Harada uses a PRM (Proba-bilistic Roadmap Method, see [21]) approach to plan footsteps:a tree of “milestone configurations” is grown from an initialconfiguration to a goal configuration. At first collisions arechecked only at milestone configurations, and only once acandidate path has been found is the full trajectory verified.An issue of this approach is that even though the milestonesare collision-free, collisions might occur in the candidate path.Thus the process might have to be restarted several times,leading to lengthy computations.

The idea of using an RRT algorithm [26] for footstep plan-ning was introduced in [38], where a single-node-extendingand a multi-node-extending RRT methods are proposed. Insection IV we follow the single-node-extending method andpresent a new variant of the RRT algorithm for footstepplanning, where we deal separately with the sets of left andright footsteps. When a new transition (i.e. a new footstep) isconsidered by the RRT algorithm, we test the correspondingapproximated swept volume against all the points of the ob-jects that are close enough (we suppose that the environment isknown and that obstacles are represented by point clouds: eachobject is contained in a bounding box, and a finite set of pointsis covering the object exterior surface). If one of the pointslies inside the swept volume, the transition is discarded. Usingpoint clouds for collision detection is certainly not the safestnor the most efficient approach, but we believe that it illustrateswell the performance of our framework: indeed, it is importantto show that we are able to rapidly plan motions even if duringeach iteration of the RRT algorithm the number of collisionqueries is high, because in real applications unknown obstaclesare often acquired as untreated sets of voxels, or large trianglesoups or meshes. Preliminary experiments are presented insection V, where the robot HRP-2 quickly solves complicatedfootstep planning problems in environments cluttered with 3Dobstacles.

In section VI, we improve our implementation by usingmeshes to represent the swept volume approximations and thePQP algorithm [24] for collision checks. This yields a furtherspeed-up that enables us to perform real-time replanning.Experimental results are presented in section V which precedesa brief discussion on an extension of our framework to acontinuous transition model (section VII), and the conclusion(section VIII).

II. A WALKING PATTERN GENERATOR BASED ONHALF-STEPS AND A SMOOTHING HOMOTOPY

We use a classical simplified model of the robot dynamics:the Linear Inverted Pendulum Model (see [19]). In this modelthe mass of the robot is assumed to be concentrated in itsCoM (center of mass) which is supposed to be rigidly linkedto and above the robot waist at all time. Besides, the robot issupposed to have only point contacts with the walking surface.The contact points are coplanar on a horizontal plane. Thusit behaves like an inverted pendulum, and an analysis of thesubsequent equations leads to a further approximation whichenables the decoupling of the dynamic differential equations

Page 9: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 9

for the x-axis and y-axis. They can be written as follows:

px = Z(x) (1)

py = Z(y) (2)

with Z , Id− zcg

d

dt2(3)

(x, y) are the (x-axis,y-axis) coordinates of the CoM of therobot, and zc the height of the robot center of mass which issupposed constant during the step. Let us notice that Z is alinear operator acting on functions of time. (px, py) are the(x-axis,y-axis) coordinates of the virtual Zero Moment Point(ZMP). A classical balance criterion for biped walking is thatthe ZMP should stay at all time inside the polygon of support(see [37]).

In the article [14], Harada et al. show how analyticaltrajectories for both the CoM and the ZMP can be derivedfrom these equations. The ZMP trajectory is a polynomial ofthe time variable t, and the CoM trajectory

(x(t)y(t)

)has the

general following form:

cosh(

√g

zc·t)(VxVy

)+sinh(

√g

zc·t)(Wx

Wy

)+

(rx(t)

ry(t)

)(4)

where rx(t) and ry(t) are polynomials entirely determined bypx(t) and py(t), respectively.

From this equation we see that for a given ZMP profile,there are just enough free parameters (Vx, Vy,Wx,Wy) to setthe initial horizontal position and speed of the CoM:(

x(0)

y(0)

)=

(Vx + rx(0)

Vy + ry(0)

)(5)

(x(0)

y(0)

)=

gzc·Wx + rx(0)√

gzc·Wy + ry(0)

(6)

Using these equations, next we show how to produce theC-space (configuration space) trajectory corresponding to anisolated half-step. We just need to obtain a unique C-spacetrajectory from a small number of half-step parameters (as wewill see, in our case it will be 3 parameters). If each of therobot legs has 6 degrees of freedom or more (the redundancycan be treated using generalized inverse kinematics, see [27]),this problem can be reduced to the generation of trajectoriesfor the waist and the feet. Besides the compulsory constantwaist height, we also made a few arbitrary and convenientrestrictions (which reduce the number of parameters): the pitchand roll parameters of the waist orientation will stay at zero,and similarly the swing foot will always stay parallel to thewalking surface. Thus, the lower body trajectory is entirelydefined by 7 functions of the time:

• the waist horizontal position: x(t), y(t) (we recall thatthe waist and CoM are rigidly fixed)

• the waist orientation: θ(t)• the swing foot position: SFx(t), SFy(t), SFz(t)• the swing foot orientation SFθ(t)

A. Producing isolated half-steps

In this section we only consider upward half-steps, but themethod for the generation of downward half-steps trajectoriesis similar.

So, let us consider an upward half-step. In order to reducethe dimensionality of the parameter space, we make severalassumptions. First, we fix and denote by T the duration of anyhalf-step. Then, we assume that the initial and final speed ofthe ZMP and swing foot are 0, but we do not assume that theCoM initial and final speed are zero.

px(0) = py(0) = px(T ) = py(T ) = 0 (7)

θ(0) = θ(T ) = 0 (8)

˙SFx(0) = ˙SFy(0) = ˙SFz(0) = ˙SFθ(0) = 0 (9)

˙SFx(T ) = ˙SFy(T ) = ˙SFz(T ) = ˙SFθ(T ) = 0 (10)

Second, the initial vertical projection on the ground of theCoM is equal to the ZMP initial position, i.e. at the barycenterof the feet centers. Taking the center of the support foot asthe origin of the Euclidean space, it gives us:

x(0) = px(0) =SFx(0)

2(11)

y(0) = py(0) =SFy(0)

2(12)

We also assume that the final horizontal position of the CoMand ZMP coincide at the center of the support foot, and thatthe final orientations of the swing foot and waist are equal tothe orientation of the support foot. Besides, the line passingthrough the centers of the feet final positions is orthogonal tothis final orientation:

x(T ) = px(T ) = 0 (13)

y(T ) = py(T ) = 0 (14)

θ(T ) = SFθ(T ) = 0 (15)

SFx(T ) = 0 (16)

As a consequence of these equations, the final and initialconfigurations are entirely determined by 5 parameters (asshown on Fig. 1):

SFx(0), SFy(0), SFθ(0), SFy(T ) and SFz(T ).

Besides, concerning the derivatives at the boundaries, the onlyfree parameters are x(0), x(T ), y(0), and y(T ). This adds upto a total of 9 free parameters.

Now, we show how the ZMP trajectory is defined. Anupward half-step is divided into 3 phases: during the firstone, of duration t1, the ZMP stays at the barycenter of thefeet (and the feet keep their positions as well), so we havepx(t) = SFx(0)

2 , py(t) =SFy(0)

2 , and thus px(t) = py(t) = 0.Then there is the “shift” phase, during which the ZMP quicklyshifts from its initial position to its final position, reachedat time t2. Then, from t2 to T , the ZMP stays at its finalposition, so we have px(t) = py(t) = px(t) = py(t) = 0.During the “shift” phase we set px and py as third-degreepolynomials determined by the respective boundary conditions

Page 10: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 10

y

x

(SFx(0), SFy(0), 0)

(0, 0, 0) (0, SFy(T ), SFz(T ))

SFθ(0)

z

Fig. 1. Here we show an upward half-step from above. It is fully determinedby the 5 parameters SFx(0), SFy(0), SFθ(0), SFy(T ) and SFz(T ). Adownward half-step is also fully determined by 5 parameters.

px(t1) = SFx(0)2 , px(t2) = px(t1) = px(t2) = 0, and

py(t1) =SFy(0)

2 , py(t2) = py(t1) = py(t2) = 0. For thedownward half-step, even if the phase of double support andsingle support are inverted, we keep the same durations: theZMP shift occurs between time t1 and t2. In practice, we sett1 = T − t2.

Thanks to eq. (4), if we fix SFx(0), SFy(0), x(0), and y(0),we can get an analytical expression of the unique C2 solutionfor x(t) and y(t) over [0, T ]. The solution is unique becauseduring the first phase, Vx, Vy , Wx and Wy are fixed by thefollowing equations (obtained from eq. (5) and eq. (6)):

Vx =SFx(0)

2− rx(0) (17)

Vy =SFy(0)

2− ry(0) (18)

Wx =

√zcg

(x(0)− rx(0)) (19)

Wy =

√zcg

(y(0)− ry(0)) (20)

Moreover, the unique solution during the first phase leads tounique values for x(t1), y(t1), x(t1), and y(t1). This fixesthe free parameters of the unique C2 extension of the solutionon [t1, t2], and subsequently the free parameters of the uniqueC2 extension over [t2, T ]. Nevertheless, those two unique C2

solutions might violate the constraints x(T ) = 0 and y(T ) = 0(eq. (13) and eq. (14)). Analyzing the impact of x(0) andy(0) in the anayltical solutions, we can see that they have amonotonic influence over respectively x(T ) and y(T ), and thatto one value of x(T ) (resp. y(T )) corresponds a unique valuex(0) (resp. x(0)). We implemented a dichotomic search forthose values, and with simple methods avoided problems ofnumerical unstability (using the fact that with only one ZMPshift and the boundary conditions CoM(0) = ZMP (0) andCoM(T ) = ZMP (T ), the solution CoM trajectories x and yare necessarily monotone).

−0.1

−0.02

0

0.02

0.04

0 0.2 0.4 1 1.2

−0.08

(m)

SFy(0)

2

t2t1 (s)

the ZMP shift

T

Fig. 2. We consider the upward half-step of Fig. 1, and show thecorresponding ZMP trajectory along the y-axis: py(t) (solid line). To thistrajectory corresponds an infinity of C2 solutions for y(t) which all verifyy(0) = py(0) =

SFy(0)

2, each of them being fully defined by y(0). We

show several such C2 solutions (dotted lines); the thick dotted line is thesolution retained: it is the unique one verifying y(T ) = 0.

Fig. 2 considers the half-step of Fig. 1, and it shows thetrajectory of the ZMP along the y-axis as well as severalC2 solutions for y(t), for different values of y(0). Only onesolution is retained, the one with y(T ) = 0. If the durationst1 and T − t2 are long enough, the values obtained forx(0), x(T ), y(0) and y(T ) can be neglected, and thus theCoM trajectories obtained are supposed to be C2 continuousover (−∞,∞). Performing tests on a real humanoid robotempirically validated this asumption: time discretization of thecontrol law itself makes the neglected velocity unnoticeable.For the trajectories other than x(t) and y(t) (θ(t), SFx(t),SFy(t), SFz(t), SFθ(t)), we simply use polynomials ofdegree 3 that ensure C2 smoothness and satisfying profiles,with a few specific constraints (e.g. in our implementationthe swing foot always leaves the ground and lands vertically).So, we can completely define a half-step with 5 parameters(whether it is an upward half-step or a downward half-step).In our application, we decided to fix the maximum height ofthe swing foot (SFz(T )), and the horizontal distance betweenthe feet when the maximum height is reached (which fixesSFy(T )). This puts us in the conditions of [23] where two “viapoint configurations” Qright and Qleft are fixed. With theseconstraints only 3 parameters are needed to completely definea half-step. Once these parameters are set, we are capable ofgenerating unique analytical solutions for the 7 functions oftime that are required to produce the lower body trajectory inthe C-space.

B. Smoothing a sequence of half-steps

Using the results of the previous section, we can generateC-space trajectories for isolated half-steps. Since they start andfinish with zero speed, we can simply join them to producesequences of half-steps. Alternating upward and downwardhalf-steps will produce a walking motion. During each half-step, the motion is dynamically stable (i.e. not quasi-static,but the robot does not fall), however at the boundary of eachhalf-step motion, the configuration is statically stable (i.e. it

Page 11: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 11

half-stepfirst

t

half-stepsecond

δ2

δ3

g1∆1

(y1) + g2∆1

(y2)

g1∆1

(py1 ) + g2∆1

(py2 )

g1∆2

(y1) + g2∆2

(y2) g1∆3

(y1) + g2∆3

(y2)

g1∆2

(py1 ) + g2∆2

(py2 ) g1∆3

(py1 ) + g2∆3

(py2 )

∆2 = δ1 + δ2

∆3 = δ1 + δ2 + δ3

δ1

T

CoM ZMP

y = g10(y1) + g2

0(y2)

0

∆1 = δ1

y

T

The plot on the left shows the trajectories y(t) and py(t) for a raw sequence of two half-steps,

shown on Fig. 2. Notice that the CoM reaches the ZMP between the half-steps. On the other plots,we show the effect of progressively increasing the overlap, using the operators g1

∆ and g2∆.

We can see that the CoM trajectory becomes more natural: it does not need to reach the ZMP curvebetween the two ZMP shifts anymore. Indeed, the overlap works a bitlike a preview control: the first CoM trajectory is influenced by thesecond one during the overlap, so it is as if it already ”knew” thatthere will be another ZMP shift, and adapted consequently.

with no overlap, the first half-step being the one of Fig. 1, whose CoM and ZMP trajectories are

py = g10(py1 ) + g2

0(py2 )

000SFy(0)

2

Fig. 3. Progressively increasing the overlap between two half-steps.

is a balanced posture). This is not a satisfactory result forseveral reasons. First, between each half-step the robot comesto a stop, so that the walk motion is not visually smooth.Recent walking pattern generators achieve much better resultsby using preview control (see [19]). In this section, we showhow to continuously modify a sequence of half-steps usinga simple homotopy, in order to make it faster and smootheralong the same footstep sequence. We first show how to doso for a sequence of two half-steps, and start with the case ofan upward half-step followed by a downward half-step.

1) Upward then downward: We consider an upward half-step followed by a downward half-step. Together the two half-steps make a classical full step: double support phase, thensingle support phase, and then double support phase again.

We recall that the whole C-space trajectory of the lowerbody during one half-step is generated by inverse geometryfrom 7 functions of the time. Since here we are dealingwith two consecutive half-steps (with the same support foot),we have to consider 14 functions. Let us first consider forexample the position of the waist (or CoM) along the y-axis,respectively for the upward half-step: y1(t), and the downwardhalf-step: y2(t). We have y1(T ) = y2(0) = 0. Let us definetwo operators g1

∆ and g2∆ such that:

g1∆(f)(t) =

{f(t) for t ∈ (0, T )

f(T ) for t ∈ (T, 2T −∆)(21)

g2∆(f)(t) =

{0 for t ∈ (0, T −∆)

f(t− T + ∆)− f(0) for t ∈ (T −∆, 2T −∆)(22)

g10(y1) + g2

0(y2) corresponds to the simple concatenation ofy1 and y2 without overlap. Knowing that py1 = Z(y1), py2 =Z(y2), and y1(T ) = y2(0) = 0, it is quite easy to verifythat for any 0 ≤ ∆ ≤ T , g1

∆(py1) = Z(g1∆(y1)), g2

∆(py2) =Z(g2

∆(y2)). And, since Z is a linear operator:

g1∆(py1) + g2

∆(py2) = Z(g1∆(y1) + g2

∆(y2)) (23)

Operators g1∆ and g2

∆ enable us to obtain new combinedCoM and ZMP trajectories that still verify the Linear Inverted

Pendulum equations (eq. (1) and eq. (2)). Starting with ∆ = 0and progressively increasing the value of ∆ continuouslymodifies the CoM trajectory (starting from the initial trajectoryg1

0(y1) + g20(y2)) to make the second ZMP shift (the one of

y2) happen earlier, creating an overlap of duration ∆ betweenthe two trajectories y1 and y2. Fig. II-B illustrates this effect:when we increase the value of ∆ we can see that the positionof the CoM does not need to reach the center of the supportfoot.

We use the same operators, g1∆ and g2

∆, to produce anoverlap between the functions of time corresponding to thewaist orientation and swing foot position and orientation. Sincethe inverse geometry for the legs is a continuous function aslong as we stay inside the joint limits, these operators used onthe bodies trajectories actually implement a simple homotopythat continuously deforms the initial C-space trajectory into asmoother, more dynamic trajectory. The linearity of simplifieddifferential equations has already been used in a similar way toproduce mixtures of motions ([28] and [29]), but the purposewas to create new steps, not to smooth them nor speed themup.

In the case of an upward half-step followed by a downwardhalf-step, increasing ∆ reduces the duration of the single sup-port phase, and therefore it increases the speed of the swingfoot. To limit this effect we must bound ∆. Besides, if ∆ istoo large undesirable phenomena can occur, such as a negativeswing foot height. To avoid these problems we set an upperbound such that the maximum overlap results in a moderatelyfast gait.

2) Downward then upward: We can apply the same tech-nique to produce an overlap in the case of a downward half-step followed by an upward half-step. Since the last phase ofthe downward half-step and the first phase of the upward half-step are double support phases, the constraint on the swing footmotion disappears and the maximum bound on ∆ becomessimply T (that is if t1 = T − t2, and it results in a doublesupport phase whose duration is t2− t1).

Page 12: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 12

Fig. 4. We illustrate the “smoothing” of a raw sequence of half-steps. Onthe initial raw sequence (on the left), the support paths of the ZMP and CoMtrajectories are superimposed. Then, after adjusting the overlaps, the ZMPsupport path stays the same but the CoM support path becomes smoother (onthe right). We can smooth even more, but it reduces the duration of the singlesupport phase that is directly linked with the swing foot speed. Thereforelimitations on the swing foot speed constrain the smoothing process.

Fig. 5. On the left: a raw sequence of two half-steps avoiding a box onthe ground. We can see that the swing foot reaches a high position. Aftersmoothing (on the right), the trajectory has been modified so that the footmoves very close to the obstacle.

For longer sequences of half-steps, we can simply repeatthe procedure to smooth the whole trajectory. Fig. 4 showsthe results obtained with an example of raw sequence. Afterthe smoothing, the CoM trajectory is visually smoother andbesides, the new trajectory is much faster (about 3 timesfaster).

Changing overlaps inside a sequence of half-steps modifiesthe whole C-space trajectory: not only the CoM and ZMP, butalso the swing foot trajectory: when the overlap is increased,the swing foot tends to move faster and closer to the ground.If one property must be preserved (for instance absence ofcollision), it must be checked after every modification. Sincethe smoothing by overlap is a continuous operator, we canuse dichotomies to quickly find large acceptable values ofoverlaps. Let us consider an example for two consecutive half-steps. First, we try a predefined maximum overlap ∆max: wesimulate the part of the trajectory modified by this overlap, andcheck for collisions, self-collisions or joint limits violations.If these three constraints are verified, we keep this value andgo to the next overlap. In the opposite case, we try again withoverlap ∆max/2, etc. Fig. 5 shows the effect of the smoothingprocess on the swing foot trajectory: with the dichotomy wecan quickly find a large overlap that keeps the trajectorycollision-free.

(0, 0)(0, 0)x

(x, y)

yQleft

Qright

x

y

θ

Fig. 6. Thanks to the two via point configurations Qleft and Qright, a rawsequence of two half-steps can be entirely defined by only three parameters:x, y, and θ. Qleft and Qright were chosen such that the swing foot is quitehigh. This provides good obstacle avoidance capabilities to raw sequencesof steps and in the absence of obstacles, smoothing significantly reduces theheight.

III. BUILDING THE TRANSITION MODEL AND THE SWEPTVOLUME APPROXIMATIONS

A. The transition model

Thanks to the walking pattern generator described in theprevious section, we can produce isolated half-steps with onlythree parameters. If we join a downward half-step with thecorresponding upward half-step, we obtain a trajectory thatgoes from Qleft to Qright or Qright to Qleft, and which isentirely defined by only three parameters, as shown on Fig. 6.We denote such a trajectory (expressed in the frame of the leftfoot) by 〈Qleft, (x, y, θ), Qright〉 or (expressed in the frameof the right foot) 〈Qright, (x, y, θ), Qleft〉. We also denote:

Tl = {〈Qleft, (x, y, θ), Qright〉 | (x, y, θ) ∈ R3},

and:

Tr = {〈Qright, (x, y, θ), Qleft〉 | (x, y, θ) ∈ R3}

We will interchangeably call the elements of Tl or Trpoints (because of the bijection with R3), transitions (becausethe transition model will be a finite set of elements of Tl),sequences (each element corresponds to a downward half-step- upward half-step sequence), or trajectories. By concatenatingalternatively trajectories from Tl and trajectories from Tr, weobtain walk motions. With a symmetric robot (like HRP-2),Tl and Tr are symmetric in the sense that the feasibility of asequence 〈Qleft, (x, y, θ), Qright〉 is equivalent to the feasibil-ity of the sequence 〈Qright, (x,−y,−θ), Qleft〉, and that thecorresponding swept volumes are symmetric. Therefore, onlyone transition model was built, on the space Tl, but it can beused by symmetry on Tr. To build it, as explained on Fig. 7,we first covered a reasonably large domain of Tl with regularly

Page 13: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 13

initial grid

37cm

70cm

y

x

pruned gridafter feasibility tests:the transition model

Fig. 7. An initial grid of 600 points covers the input space. To each of the120 values of (x, y) correspond 5 possible orientations. All the correspondingtrajectories (generated by the walking pattern generator presented in section II)are sequences of two half-steps. We test each of them, checking for self-collisions and joint limits violations, and remove all the unfeasible ones. The276 remaining points form the transition model Ml used for planning.

C(p) < 0

C(p) > 0

C(p) = 0On the left, a 2D representation of a cubemoving along a discretized trajectory. Wedenote its successive configurations by c0,c1, . . . , cq . For a point p of the Euclideanspace, C(p) is defined as the minimumdistance from p to any configuration ofthe cube, minus a fixed margin τ . Themargin is important to avoid errors due tothe discretization, and besides, it makes the

thus easier to approximate.level set {p ∈ R3 | C(p) = 0} smoother,

C(p) = min (dist(p, ci)− τ, i = 0, . . . , q)

The 2D plot on the bottom-left shows how the approximation algorithmrecursively divides the Euclidean space into small boxes in order to

plot on the bottom right.A view of this swept volume approximation is displayed on the 3D

adaptively approximate the surface C(p) = 0. The approximatedsurface defines an approximation of the volume swept by the cube.

Fig. 8. An example of swept volume approximation. The data structureobtained is a bit similar to an adaptively sampled distance field (see [11]).

spaced points. Considering the robot (HRP-2) dimensions andjoint limits, this domain was defined as the following box:

Bl = {〈Qleft, (x, y, θ), Qright〉 | x ∈ [−0.35m,+0.35m],

y ∈ [−0.37m,−0.02m], θ ∈ [−30◦,+30◦]}

We covered the box Bl with 600 points (15 possible valuesfor x, 8 possible values for y, 5 possible values for θ),and for each point, using discretized trajectories –one foreach body of the robot legs–, we verified the feasibilityof the corresponding downward half-step - upward half-stepsequence. If any self-collision (which were checked using thealgorithm introduced in [3]) or joint limit violation occurred,the point was discarded.

The 276 remaining points all correspond to feasible se-quences, and they form the transition model.

We denote by Ml ⊂ Bl this finite transition model, Mr ⊂Br is defined by symmetry. We denote by S(Ml,Mr) the setof finite feasible sequences (s1, s2, . . . sn) alternating left footand right foot support.

B. The swept volume approximations

For each of the 276 points of the transition model, we buildan approximation of the volume swept by the lower part of therobot (from the knees down) during the corresponding down-ward half-step - upward half-step sequence. The algorithmused is the one described in [30]: given a transition z ∈ Ml

it learns through adaptive sampling the sign of the mappingCz(p) which returns the distance (minus a fixed margin –1cmin our case–) between a point p of the Euclidean space and thefinite set of polyhedra consisting of all the configurations ofthe robot legs bodies along their discretized trajectories duringthe sequence corresponding to z. Fig. 8 illustrates an exampleof this process. The important property of the approximationalgorithm used is that it stores the result in a tree structurewhich can be evaluated extremely quickly. The computationtime saved is considerable: with the approximation, checkingwhether a point is outside or inside one of the swept volumeswe consider is done in 4µs. This is about 2,000 times fasterthan with the normal evaluation of Cz(p).

For a transition z = 〈Qleft, (x, y, θ), Qright〉 ∈ Ml, we de-note by Vz(p) the corresponding swept volume approximation(Vz(p) > 0 if and only if p is outside the approximated sweptvolume). If z′ = 〈Qleft, (x,−y,−θ), Qright〉 ∈ Mr, we caneasily obtain the approximation Vz′ by applying a symmetry toVz; thus only 276 swept volume approximations are needed.With an Intel(R) Xeon(R) 2.00Ghz CPU, it took a bit lessthan 48 hours to generate them all, but we believe that byusing state-of-the art swept volume approximation algorithms(and maybe only afterwards apply our algorithm to obtainreapproximations that can be evaluated very fast), we shouldbe able to significantly reduce this offline computation time.

Fig. 9 shows 5 of the 276 swept volume approximations.

IV. FOOTSTEP PLANNING WITH A VARIANT OF RRTIn this section, we present a simple adaptation of the

RRT algorithm for footstep planning, quite similar to the oneintroduced in [38].

Page 14: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 14

Fig. 9. 3D representations of 5 swept volumes approximations

Let us first define the search space. Since in our formal-ism we connect single support phases, the search space isS = {(q, x, y, θ) | q ∈ {Qleft, Qright}, (x, y, θ) ∈ R3}, whereq is the support foot, (x, y) the position of the support foot(relatively to a fixed reference), and θ its orientation (relativelyto a fixed reference). The transition model being an alternationbetween Ml and Mr, we can apply transitions to states ofthe search space using the operator δ:

δ ((q, x, y, θ), 〈q, (x′, y′, θ′), q〉)= (q, x′cos(θ)− y′sin(θ), x′sin(θ) + y′cos(θ), θ + θ′),

where Qleft = Qright and Qright = Qleft. In practice, wewill use only a compact subset of the search space, dependingon the environment E . We denote it by S|E . For example, ifthe robot stays in a 5m× 5m room, we naturally use thesedimensions to define S|E and bound x and y. Consideringthe classical RRT algorithm (see [26]), the only operationthat cannot be straightforwardly adapted to the context offootstep planning is the extension towards random samples(to find the nearest neighbor we use the Euclidean metric,ignoring the orientations). Let (q, x, y, θ) ∈ S be a randomsample of the search space, and (q′, x′, y′, θ′) the neareststate in the search tree. In [38], two options are considered:either add to the tree all the successors of (q′, x′, y′, θ′), orjust one random successor. Due to the size of our transitionmodel, we chose to follow the latter strategy. Fig. 10 showsone issue of this approach: in some cases, it is difficult toextend the search tree towards a given region. To cope withthis problem, many options are possible. We simply choseto alternatively look for nearest states with left support footand nearest states with right support foot. It leads to our RRTvariant presented in Algorithm 1 (we stop the while loop whena path to the goal region has been found, or when a sufficientlyshort path has been found). We based our implementation ona fast and modular open-source code by Karaman and Frazzoliwhich uses kd-trees for fast nearest neighbor queries (this codeimplements RRT and RRT*, the algorithm introduced in [20]).

Further analyses and improvements of the variants of RRTfor footstep planning can probably help to obtain faster results,but are out of the scope of this paper.

V. PRELIMINARY EXPERIMENTS

The framework presented in this paper was experimentallytested on the robot HRP-2.

Qleft

QleftQleft

Qright Qright

Qleft

Qright

3

1

2

3

1

2

Fig. 10. The advantage of separating left and right support feet during nearestneighbor queries.- On the left (global nearest neighbor): all the points in the gray region have thesame nearest neighbor (Qright, x, y, θ), but no successor of (Qright, x, y, θ)is inside the gray region. Therefore numerous samples are required beforeextending the search tree towards the gray region.- On the right (alternate nearest neighbors): when only states with left supportfoot are considered, the nearest neighbor will not be (Qright, x, y, θ), butmaybe one of its successors. With the alternation strategy, the search tree ismore likely to quickly grow inside the gray region.

We studied the two Experimental Setups described onFig. 11, where 2D obstacles (holes in the ground) are com-bined with 3D obstacles. The 3D obstacles shown on Fig. 11have the same size as the ones in the real environment (seeFig. 12), but are smaller than the ones used for the collisionchecks (a margin is needed because of the robot drift duringthe real-world experiments).

The construction of the solution trajectory is divided intotwo parts: first, during the planning phase, just as explained inthe previous section, we use a specific variant of RRT to finda sequence (s1, s2, . . . , sn) ∈ S(Ml,Mr) which reaches thegoal. Then, we use the homotopy of section II-B to smooththe sequence (s1, s2, . . . , sn), so that to obtain the final fastand dynamic trajectory that will be performed by the robot.

Page 15: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 15

A* search:

of calls to thetime to

the solution

number

is to touch the

one foot.

is to touch theSetup 2: the goal

reach asolution

Setup 1: the goal

8.60s

(average on 10 attempts)

approximations

1,700,000

– –

one foot.circled zone with

24.3 steps

6 steps7.14s

circled zone with

A* search:

RRT variant:

of steps of swept volumes

number

21.1 steps

(>10min)FAIL

1,920,00029.8s

RRT variant: (average on 10 attempts)

1,560,000

Fig. 11. Experimental setups and results of the planning. The computationsare made with an Intel(R) Xeon(R) 2.00Ghz CPU. Remark: in Setup 1, theexterior surface of the 3D obstacles (the boxes on the ground) is covered by250 points. In Setup 2, the exterior surface of the 3D obstacles is covered by75 points.

Fig. 12. Experimental results: the robot HRP-2 executing planned trajectories.Above: the so-called toy problem of walking in a child’s bedroom avoidingtoys on the ground.

Algorithm 1 RRT variant for footstep planning1: T.init(xinit ∈ S|E )2: i← 03: stop condition← false4: while ¬stop condition do5: Pick a random state xrand ∈ S|E6: i++7: if i == 0 mod 2 then8: xnear ←

{ among states with left support foot,nearest neighbor of xrand in the tree T

9: Pick a random transition srand ∈Ml.10: else11: xnear ←

{ among states with right support foot,nearest neighbor of xrand in the tree T

12: Pick a random transition srand ∈Mr.13: end if14: Using the approximated swept volumes, verify that

starting from state xnear, the transition srand does notcollide with any point of the obstacle point clouds.

15: if NO COLLISION then16: T.add node(δ(xnear, srand))17: T.add edge(xnear, srand, δ(xnear, srand))18: if δ(xnear, srand) is close enough to the goal and

the path to δ(xnear, srand) is short enough then19: stop condition← true20: end if21: end if22: end while

A. The planning phase: RRT vs. A*

We implemented a classical A* search algorithm and com-pared it with the RRT variant introduced in the previoussection. For the costs required by A* we used a simpleheuristic where the estimated remaining cost is derived fromthe Euclidean distance, and the cost of a path is the sumof each (fixed) transition cost. Better heuristics can oftenbe obtained, such as for example heuristics derived from amobile robot planner that looks for continuous paths betweenthe initial position and the goal, but because they do not takestepping over capabilities into account, such heuristics tend toseverly misjudge costs in very constrained environments likethe ones we consider here (for a review on the association {A* + heuristic } see [5], chapter 8). Finding a robust heuristicthat would perform well in challenging environments is as hardas solving the problem without using A*: that is why we triedto directly apply RRT. Other approaches of interest includeplanning algorithms based on inflated heuristics (see [12] ):they usually find solutions faster than a classical A* search, butthey are not as efficient as RRT to avoid local minima. Theirmain advantage over RRT is that they provide suboptimalitybounds; however, due to the particularity of the problem offootstep planning, it is not clear whether such bounds can stillbe obtained in our context. Finally it might be interesting totry to adapt control-based strategies such as [35] , but theadaptation would be far from straightforward.

In Setup 1 and 2 we fixed an upper bound, and stopped theexecution of RRT or A* as soon as a path of cost smaller than

Page 16: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 16

this upper bound was found.As shown by the results on Setup 1, without strong local

minima, the time needed by RRT and A* to find a solution isapproximately the same, but A* finds a better trajectory cost(it finds solutions with fewer steps).

On the other hand we can see with the results on Setup 2that when the transition model is large, A* seems much moresensitive to local minima than RRT: indeed A* fails to finda solution on Setup 2, whereas the RRT method consistentlyfinds solutions in less than 40 seconds (and 29.8 seconds inaverage).

This is easily explainable because A* usually has to explorea subtree of fixed height h (which depends on the heuristiccosts used) before being able to avoid a local minimum.Therefore it will try about (|M|h − 1)

(|M||M|−1

)transitions

(|M| being the size of the transition model) before overcomingthe local minimum. This can be done if both |M| and hare relatively small, but since in our case |M| = 276, thecomplexity can quickly become insurmountable.

As a randomized approach, RRT does not have this caveat,and that is why we think it is more suitable than A* when thetransition model is large.

A remark on the time saved thanks to the swept volumeapproximations: on the Setup 1 whose environment containa lot of points (250), we can see that during their executionboth the RRT variant and A* make about 200,000 calls toa swept volume approximation every second. Without theapproximations, these 200,000 calls would be replaced bymore than 26 minutes spent in collision checking.

B. The smoothing phase

Once a trajectory avoiding the obstacles has been found bythe planner, since it consists in a concatenation of isolated half-steps, we can use the homotopy described in section II-B tosmooth it. One overlap parameter has to be set for each pair ofconsecutive half-steps, and since the overlaps are independant,they can be set sequentially. This means that we can start toexecute the trajectory on the robot even if only a few initialoverlaps have been set, the next overlaps being computedduring the execution of the trajectory. Let us notice that thedichotomy search for the best overlap time is an “any-timeprocess” that can be interrupted if computation time is toolong, the current result being anyway not worse than the initialraw motion. Another important remark: since we cannot knowin advance the swept volumes for the trajectories involved inthe smoothing processes, we have to use classical collisionchecks. We measured the overlaps computation time for 10raw sequences of half-steps obtained in Setup 1, and 10 rawsequences obtained in Setup 2. In all cases, the duration ofthe smoothing was less than the final trajectory executiontime. For the solutions in Setup 1, the average time neededfor the smoothing was 14.4s, and the average execution timeof the final trajectory was 31.1s. For the solutions in Setup2, the average duration of the smoothing was 13.4, and theaverage execution time of the final trajectory was 41.6s. Fig. 13illustrate the effect of the smoothing on the foot trajectories.

Fig. 13. Above: a raw sequence of two half-steps. Below: the smoothedsequence. When there are no obstacles, the swing foot trajectory of thesmoothed sequence depends on the minimum time between two ZMP shifts,which is fixed in advance in order to bound the speed of the feet.

VI. A MORE ADVANCED IMPLEMENTATION

The way we deal with collisions in the preliminary ex-periments is clearly not optimal: we represent obstacles bycovering them with points on their exterior surface, and all thepoints are always taken into account. The results showed thatthe swept volume approximations can be called a great numberof times in a short period, proving that significant speed-upcan be obtained compared to frequent collision checks along apriori unknown trajectories. What is more, in some case, pointclouds are a very natural input, and it would be interesting tosee if we can organize them in a good structure so that touse our approximation functions in an efficient way. This isbeyond the scope of this paper, but we can already obtain betterresults by using state-of-the-art collision detection algorithms.First, we can notice that our swept volume approximations aredefined by intersections of small boxes with planes. Thus, itis easy to construct meshes that describe the swept volumeapproximations (we actually use simplified meshes, i.e. theyhave a slightly simpler geometry than the initially precomputedapproximations). With these 276 meshes, we will use the PQPalgorithm [24] for collision checks. The main advantage weobtain by doing so is that when the obstacles are representedby classical meshes as well, PQP stores them in boundingvolume hierarchies that reduce the complexity of collisionchecks.

With this method a significant speed-up is reached: with theSetup 2 of Fig. 11, we performed 1000 trials with a slightlyfaster CPU (Intel(R) Xeon(R) 2.40GHz) but overall in similarconditions. A solution was always found, and the average timerequired was only 1.60 seconds, which is almost 20 timesfaster than the preliminary results. The average number ofsteps of the solution was 28.5 steps, and in average 18,000collision checks were needed before finding a solution.

Page 17: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 17

Fig. 14. On the left: a sequence of steps found in a complex environment.On the right, we show for one sequence of steps the concatenation of theswept volumes which are simplified meshes obtained from the original sweptvolume approximations. For the upper body simpler bounding boxes are usedfor the collision checks.

With this new implementation we tested our algorithm inmore complex environments in simulation and also used it toperform real-time replanning in experiments where the posi-tion of the robot and obstacles is acquired by motion capture.The details of the framework used for these experiments aredescribed in [2]. Fig. 14 shows two simulations, and Fig. 15shows an experiment during which a bar placed 5cm abovethe ground is moved while the robot is executing its initialplan. The robot is then able to quickly find a new plan andsuccessfully steps over the bar in its new configuration beforereaching the goal.

VII. DISCUSSION ON AN EXTENSION TO CONTINUOUSTRANSITION MODELS

Even if the expressiveness of a continuous transition modelcan be approached by the one of a large finite transition model,a continuous transition model would still be preferable.

Several useful techniques would be easier to apply witha continuous transition model: local footstep modifications([9], [8]), extraction of convex regions in the transition modelin order to use optimization techniques to determine footplacements ([16]), path deformation ([18]), etc.

RRT and other sampling-based algorithms (e.g. PRM, see[21]) would be easier to adapt with a continuous transitionmodel, so it would cause no problem at the planning phase.Besides, it would not be difficult to approximate the feasibilityregions so as to obtain continuous transition models Ml andMr (although it might be hard to obtain the guarantee that alltransitions are indeed feasible). But then, the main issue wouldbe the need to approximate swept volumes which depend on acontinuous parameter z ∈ Ml: instead of approximating (thesign of) Cz(p) for a finite set of values of z, we would need toapproximate C(z,p) which depends on 6 parameters. It doesnot correspond anymore to the approximation of a single sweptvolume, so the state-of-the-art algorithms for swept volumeapproximation cannot be directly used, and we would probablyneed to keep a generic approximation algorithm, like the oneused in this paper. Since it took already almost 48 hours toapproximate the swept volumes of the finite transition model,for a continuous transition model an accurate approximationwould probably be excessively time consuming. In that case itis likely that instead of trying to compute the swept volumesmore efficiently, other collision detection routines should be

Fig. 15. (1): HRP-2 starts to execute the sequence initially found. (2): the baris suddenly moved, and the current sequence of step would lead to collisions.(3): while walking, HRP-2 is able to compute a new sequence of steps towardsthe goal (we show the concatenation of the swept volumes which indeed avoidthe bar). (4): the robot finally steps over the bar while at the same time it triesto optimize the rest of the path towards the goal. Remark: due to uncertaintyon positions, we use a model of bar that is thicker than the actual bar.

taken into account, such as continuous collision detection [40],GPU-based approaches [25] or other variants (e.g. [36], [33],. . . ).

VIII. CONCLUSION

In this paper, we have described a novel and coherentframework for footstep planning, which includes a walkingpattern generator based on half-steps, a simple homotopy fortrajectory smoothing, swept volume approximations for fastcollision checking, and an RRT variant for footstep planning.We used this framework on robot HRP-2 to quickly plandynamic sequences of walk in environments cluttered with3D and 2D obstacles. Although computed in a few seconds

Page 18: Nicolas Perrin, Reviewer 1 Question/Comment

IEEE TRANSACTIONS ON ROBOTICS 18

and with the theoretical guarantee that they actually avoidthe obstacles, the executed trajectories seem very natural: nopauses, no exaggerated motions to avoid small obstacles, anda large diversity of foot placements.

ACKNOWLEDGMENT

This work was supported by a grant from the RBLINKProject, Contract ANR-08-JCJC-0075-01.

REFERENCES

[1] Y. Ayaz, K. Munawar, M. Bilal Malik, A. Konno, and M. Uchiyama.Human-like approach to footstep planning among obstacles for hu-manoid robots. In IEEE/RSJ Int. Conf. on Intelligent Robots and Systems(IROS’06), 2006.

[2] L. Baudouin, N. Perrin, T. Moulard, O. Stasse, and E. Yoshida. Real-time replanning using 3D environment for humanoid robot. Sub-mitted to the 11th IEEE-RAS Int. Conf. on Humanoid Robots (Hu-manoids’11). Available at http://homepages.laas.fr/nperrin/submitted/humanoids11-lbaudouin.pdf, 2011.

[3] M. Benallegue, A. Escande, S. Miossec, and A. Kheddar. Fast c1 prox-imity queries using support mapping of sphere-torus-patches boundingvolumes. In IEEE Int. Conf. on Robotics and Automation (ICRA’09),pages 483–488, 2009.

[4] J.-M. Bourgeot, N. Cislo, and B. Espiau. Path-planning and trackingin a 3D complex environment for an anthropomorphic biped robot. InIEEE Intl. Conf. on Intelligent Robots and Systems (IROS’02), pages2509–2514, 2002.

[5] J. Chestnutt. Navigation Planning for Legged Robots. PhD thesis,Carnegie Mellon University, 2007.

[6] J. Chestnutt, J. Kuffner, K. Nishiwaki, and S. Kagami. Planning bipednavigation strategies in complex environments. In IEEE Int. Conf. onHumanoid Robots (Humanoids’03), 2003.

[7] J. Chestnutt, M. Lau, G. Cheung, J. Kuffner, J. Hodgins, and T. Kanade.Footstep planning for the honda asimo humanoid. In IEEE Int. Conf.on Robotics and Automation (ICRA’05), pages 631–636.

[8] J. Chestnutt, P. Michel, K. Nishiwaki, J. Kuffner, and S. Kagami. Anintelligent joystick for biped control. In IEEE Int. Conf. on Roboticsand Automation (ICRA’06), pages 860–865, 2006.

[9] J. Chestnutt, K. Nishiwaki, J.J. Kuffner, and S. Kagami. An adaptiveaction model for legged navigation planning. In IEEE/RAS Int. Conf.on Humanoid Robots (Humanoids’07), pages 196–202, 2007.

[10] M. Elmogy, C. Habel, and J. Zhang. Online motion planning for hoap-2humanoid robot navigation. In IEEE/RSJ Int. Conf. on Intelligent Robotsand Systems (IROS’09), 2009.

[11] S.F. Frisken, R.N. Perry, A.P. Rockwood, and T.R. Jones. Adaptivelysampled distance fields: a general representation of shape for computergraphics. In 27th annual conference on Computer graphics andinteractive techniques (SIGGRAPH’00), pages 249–254, 2000.

[12] J. P. Gonzalez and M. Likhachev. Search-based planning with provablesuboptimality bounds for continuous state spaces. In 4th AnnualSymposium on Combinatorial Search (SOCS’11), 2011.

[13] K. Harada. Motion planning for a humanoid robot based on a bipedwalking pattern generator. In Motion Planning for Humanoid Robots,pages 192–197. Springer, 2010.

[14] K. Harada, S. Kajita, K. Kaneko, and H. Hirukawa. An analyticalmethod for real-time gait planning for humanoid robots. I. J. HumanoidRobotics, 3(1):1–19, 2006.

[15] T. Hasegawa, K. Nakagawa, and K. Murakami. Collision-free path plan-ning of a telerobotic manipulator based on swept volume of teleoperatedmanipulator. In 5th IEEE Int. Symp. on Assembly and Task Planning,2003.

[16] A. Herdt, N. Perrin, and P.-B. Wieber. Walking without thinking aboutit. In IEEE Int. Conf. on Intelligent Robots and Systems (IROS’10),2010.

[17] J.C. Himmelstein, E. Ferre, and J.-P. Laumond. Swept volume approx-imation of polygon soups. IEEE Transactions on Automation Scienceand Engineering, 7(1):177–183, 2009.

[18] L. Jaillet and T. Simon. Path deformation roadmaps. In 7th Workshopon the Algorithmic Foundations of Robotics (WAFR’06), 2006.

[19] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, and K. Yokoi.Biped walking pattern generation by using preview control of zero-moment point. In IEEE Int. Conf. on Robotics and Automation(ICRA’03), pages 1620–1626, 2003.

[20] S. Karaman and E. Frazzoli. Incremental sampling-based algorithms foroptimal motion planning. In Robotics Science and Systems VI, 2010.

[21] L.E. Kavraki, P. Svestka, J.-C. Latombe, and M.H. Overmars. Proba-bilistic roadmaps for path planning in high-dimensional configurationspaces. IEEE Transactions on Robotics and Automation, 12:566–580,1996.

[22] Y.J. Kim, G. Varadhan, M.C. Lin, and D. Manocha. Fast swept volumeapproximation of complex polyhedral models. In 8th ACM symposiumon Solid modeling and applications, pages 11–22, 2003.

[23] J. Kuffner, K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue. Footstepplanning among obstacles for biped robots. In IEEE/RSJ Int. Conf. onIntelligent Robots and Systems (IROS’01), pages 500–505, 2001.

[24] E. Larsen, S. Gottschalk, M.C. Lin, and D. Manocha. Fast proximityqueries with swept sphere volumes. In IEEE Int. Conf. on Robotics andAutomation (ICRA’00), pages 3719–3726, 2000.

[25] C. Lauterbach, Q. Mo, and D. Manocha. gproximity: Hierarchical gpu-based operations for collision and distance queries. Comput. Graph.Forum, pages 419–428, 2010.

[26] S.M. LaValle and J.J. Kuffner. Rapidly-exploring random trees: Progressand prospects. In 4th Workshop on the Algorithmic Foundations ofRobotics (WAFR’00), pages 293–308, 2000.

[27] Y. Nakamura and H. Hanafusa. Optimal redundancy control of robotmanipulators. Int. Journal of Robotics Research, 6:32–42, 1987.

[28] K. Nishiwaki, K. Nagasaka, M. Inaba, and H. Inoue. Generation ofreactive stepping motion for a humanoid by dynamically stable mixtureof pre-designed motions. In IEEE Int. Conf. on Systems, Man, andCybernetics, pages 902 – 907, 1999.

[29] K. Nishiwaki, T. Sugihara, S. Kagami, M. Inaba, and H. Inoue. On-line mixture and connection of basic motions for humanoid walkingcontrol by footprint specification. In IEEE Int. Conf. on Robotics andAutomation (ICRA’01), pages 4110–4115, 2001.

[30] N. Perrin, O. Stasse, F. Lamiraux, and E. Yoshida. Adaptive sampling-based approximation of the sign of multivariate real-valued functions.Technical report, 2010. Available at http://hal.archives-ouvertes.fr/docs/00/54/48/91/PDF/approx.pdf.

[31] N. Perrin, O. Stasse, F. Lamiraux, and E. Yoshida. Approximationof feasibility tests for reactive walk on hrp-2. In IEEE Int. Conf. onRobotics and Automation (ICRA’10), pages 4243–4248, 2010.

[32] N. Perrin, O. Stasse, F. Lamiraux, and E. Yoshida. A biped walkingpattern generator based on ”half-steps” for dimensionality reduction. InIEEE Int. Conf. on Robotics and Automation (ICRA’11), pages 1270–1275, 2011.

[33] H. Schmidl, N. Walker, and M. C. Lin. Cab: Fast update of obb treesfor collision detection between articulated bodies. Journal of GraphicsTools, 9:1–9, 2004.

[34] F. Schwarzer, M. Saha, and J.-C. Latombe. Exact collision checkingof robot paths. In 5th Workshop on the Algorithmic Foundations ofRobotics (WAFR’02), 2002.

[35] I.A. Sucan and L.E. Kavraki. Kinodynamic motion planning byinterior-exterior cell exploration. In 8th Workshop on the AlgorithmicFoundations of Robotics (WAFR’08), 2008.

[36] M. Tang, Y. J. Kim, and D. Manocha. CCQ: Efficient local planningusing connection collision query. In 9th Workshop on the AlgorithmicFoundations of Robotics (WAFR’10), pages 229–247, 2010.

[37] M. Vukobratovic and B. Borovac. Zero-moment point – thirty five yearsof its life. Int. Journal of Humanoid Robotics, 1(1):157–173, 2004.

[38] Z. Xia, G. Chen, J. Xiong, Q. Zhao, and K. Chen. A randomsampling-based approach to goal-directed footstep planning for hu-manoid robots. In IEEE/ASME Int. Conf. on Advanced IntelligentMechatronics (AIM’09), pages 168–173, 2009.

[39] E. Yoshida, I. Belousov, C. Esteves, and J.-P. Laumond. Humanoidmotion planning for dynamic tasks. In IEEE/RAS Int. Conf. onHumanoid Robots (Humanoids’05), pages 1–6, 2005.

[40] X. Zhang, S. Redon, M. Lee, and Y. J. Kim. Continuous collisiondetection for articulated models using taylor models and temporalculling. ACM Transactions on Graphics (Proceedings of SIGGRAPH2007), 26(3):15, 2007.