Presented By: Huy Nguyen Kevin Hufford Humanoid Robots Presented By: Huy Nguyen Kevin Hufford
Two problems Given two statically-stable configurations, qinit and qgoal, generate a dynamically stable, collision-free trajectory from qinit to qgoal. Kuffner, et. al, Dynamically-stable Motion Planning for Humanoid Robots, 2000. In an obstacle-cluttered environment, walk toward a goal position. Kuffner, et. al, Footstep Planning Among Obstacles for Biped Robots, IROS 2001
Dynamically-stable Motion Planning for Humanoid Robots Kuffner, et. al; 2000.
Statically-stable postures area of support gravity vector center of mass X(q) projection of X(q) A configuration q is statically-stable if the projection of X(q) along the gravity vector lies within the area of support.
Modified Rapidly-exploring Random Tree (RRT) RRT introduced by LaValle ’98. Similar to SBL. Randomly extend two trees from the start and goal configurations towards each other. Bias exploration towards unexplored portions of the space. Not clear how this is done in high-dimensional space. Modified version similar to nonholonomic planning. Path must obey dynamic constraints.
Modified RRT q qinit qgoal Randomly select a collision-free, statically stable configuration q.
Modified RRT Select nearest vertex to q already in RRT (qnear). q qinit qnear qgoal Select nearest vertex to q already in RRT (qnear).
Modified RRT q qtarget qinit qnear qgoal Make a fixed-distance motion towards q from qnear (qtarget).
Modified RRT q qtarget qinit qnew qnear qgoal Generate qnew by filtering path from qnear to qtarget through dynamic balance compensator and add it to the tree.
Distance Metric Don’t want erratic movements from one step to the next. Encode in the distance metric: Assign higher relative weights to links with greater mass and proximity to trunk.
Random statically-stable postures It is unlikely that a configuration picked at random will be collision-free and statically-stable. Solution: Generate a set of statically-stable collision-free configurations, and randomly sample from this set at run time.
Random statically-stable postures Generate a random configuration. Fix head and arm positions to reduce dimensionality and improve planning efficiency. Fix right leg and use inverse kinematics to position left foot. If successful (stable and collision-free), save this point. Repeat step 2 for the left leg. Double the number of samples by leveraging the symmetry of the humanoid, and mirroring the configurations generated in steps 2 and 3.
Statically-stable postures
Results Dynamically-stable planned trajectory for a crouching motion Performance statistics (N = 100 trials)
Footstep Planning Among Obstacles for Biped Robots Kuffner, et. al; IROS 2001
Simplifying Assumptions Non-moving obstacles of known position and height Foot placement only on floor surface (not on obstacles) Pre-computed set of footstep placement positions (15)
Simplifying Assumptions Statically-stable transition trajectories Statically-stable intermediate postures Thus, problem is reduced to best-first search of foot placements (while considering environment collision)
Best-First Search Tree qinit 2 5 8 12 Generate successor nodes from qinit Assign cost to each node
Best-First Search Tree qinit 2 5 8 12 8 6 Generate successor nodes from lowest cost node Assign costs for successor nodes Prune nodes that result in collisions Continue until a generated successor node falls in goal region
Cost Heuristic Cost of path taken so far Cost estimate to reach goal Depth of node in the tree Penalties for orientation changes and backward steps Cost estimate to reach goal Straight-line steps from current to goal Empirically-determined weighting factors
Obstacle Collision Checking Two-levels 2D projections of foot and obstacle on walking surface 3D polyhedral minimum-distance determination (V-clip)
Results
Future Work Allow stepping on obstacles Environments with uneven terrain Incorporate sensor feedback Different heuristics Run algorithm on real humanoid Dynamic stepping motions (including hopping or jumping)
Conclusions General task involves a high-dimensional space Use random planning [Kuffner 2000] Restrict motion to a finite set [Kuffner 2001] Randomized planner is more general, and could solve [Kuffner 2001] problem, but would take more time Could integrate the two planners to form a more efficient, comprehensive planner Use 2001 planner to move to goal location, and 2000 planner to achieve final posture