1 / 29

Motion Planning for Humanoid Robots

Motion Planning for Humanoid Robots. Slides from Li Yunzhen and J. Kuffner. Papers:. Footstep placement

avent
Download Presentation

Motion Planning for Humanoid Robots

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Motion Planning for Humanoid Robots Slides from Li Yunzhen and J. Kuffner NUS CS5247

  2. Papers: Footstep placement J. Kuffner, K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue. Footstep Planning Among Obstacles for Biped Robots. Proc. IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2001. Full-body motion J. Kuffner, S. Kagami, M. Inaba, and H. Inoue. Dynamically-Stable Motion Planning for Humanoid Robots. Proc. Humanoids, 2000 NUS CS5247

  3. NUS CS5247

  4. NUS CS5247

  5. What is Humanoid Robots & its balance constraints? center of mass gravity vector projection of mass center area of support Human-like Robots A configuration q is statically-stable if the projection of mass center along the gravity vector lies within the area of support. NUS CS5247

  6. 1. Footstep Placement Goal: In an obstacle-cluttered environment, compute a path from start position to goal region NUS CS5247

  7. 1.Footstep Placement—Simplifying Assumption • Flat environment floor • Stationary obstacles of known position and height • Foot placement only on floor surface (not on obstacles) • Pre-computed set of footstep placement positions • Orientation changes allow direction changing; forward • and backward motion also NUS CS5247

  8. Footstep Placement—Simplifying Assumption Path = A sequence of feet placements + trajectories for transition between footstep. • Pre-calculate statically stable motion trajectories for transition between footstep and use intermediate postures to reduce the number of transition trajectories. • Define intermediate postures Qright, Qleft, that are single foot stable. All transitions are Q1, Qleft, Q2, Qright, Q3, etc. • Thus, problem is reduced to how to find feet placements (collision-free) Qright == stable NUS CS5247

  9. 1.Footstep Placement—Overall algorithm NUS CS5247

  10. 1.Footstep Placement—Best First Search Initial Configuration • Generate successor nodes from lowest cost node • Prune nodes that result in collisions • Continue until a generated successor node falls in goal region • Number of possible footstep placements is branching factor of the tree Red Leaf nodes are pruned from the search NUS CS5247

  11. 1.Footstep Placement—Cost Heuristic • Cost of path to current configuration • Depth of node in the tree • Penalties for orientation changes, backward steps, and poor foot locations • Cost estimate to reach goal • Straight-line steps from current to goal • Weights favor fewer steps, forward motion • weighting factors are empirically-determined • D() is path length so far, rho() is penalty for rotating or going backward, X() is estimate of remaining cost to goal NUS CS5247

  12. NUS CS5247

  13. 1.Footstep Placement—Collision Checking • 2D polygon-polygon intersection test foot vs. attempted position • 3D polyhedral minimum-distance determination Robot vs. Obstacle • Lazy collision checking used: as new candidate state is chosen, check for collision • 15 discrete foot placements, 20 obstacles • Search tree has 6,700 nodes. Brute force search would require 10^21 nodes for 18 step path. NUS CS5247

  14. Full Body Motion • Challenge dues to : • The high number of degrees of freedom • Complex kinematic and dynamic models • Balance constraints that must be carefully maintained in order to prevent the robot from falling down NUS CS5247

  15. Full Body Motion • Given two statically-stable configurations, generate a statically stable, collision-free trajectory between them • --Kuffner, et. al, Dynamically-stable Motion Planning for Humanoid Robots, 2000. NUS CS5247

  16. Object Manipulation • Task: move a target object its new location. • Normally 3 steps: • Reach • Transfer • Release NUS CS5247

  17. Dynamically Stable Motion Planning Using RRT’s Decoupled Approach: Solve for kinematic path, then Transform path to a dynamically stable path NUS CS5247

  18. Rapidly-exploring Random Tree (LaValle ’98) Rendering of an RRT by James Kuffner • Efficient randomized planner for high-dim. spaces with • Algebraic constraints (obstacles) and • Differential constraints (due to nonholonomy & dynamics) • Biases exploration towards unexplored portions of the space NUS CS5247

  19. Full Body Motion—Modified RRT • Randomly select a collision-free, statically stable configuration q. q qinit qgoal NUS CS5247

  20. Full Body Motion—Modified RRT • Select nearest vertex to q already in RRT (qnear). q qinit qnear qgoal NUS CS5247

  21. Full Body Motion—Modified RRT • Make a fixed-distance motion towards q from qnear (qtarget). q qtarget qinit qnear qgoal NUS CS5247

  22. Full Body Motion—Modified RRT • Generate qnew by filtering path from qnear to qtarget through dynamic balance compensator and add it to the tree. q qtarget qinit qnew qnear qgoal NUS CS5247

  23. Extend(T,q) qnear  NEAREST_NEIGHBOR(q,T); If NEW_CONFIG(q,qnear,qnew) then T. add_vertex(qnew); T. add_edge(qnear,qnew); if qnew = q then return Reached; else return Advanced; return Trapped ) NUS CS5247

  24. RRT_CONNECT_STABLE( qinit, qgoal) 1. Ta.init( qinit); Tb.init( qgoal); 2. For k= 1 to K do 3. qrand RANDOM_STABLE_CONFIG(); 4. if not( EXTEND(Ta, qrand = Trapped ) 5. if( EXTEND(Tb, qnew) = Reached ) 6. return PATH(Ta, Tb); 7. SWAP(Ta, Tb); 8. return Failure; NUS CS5247

  25. Full Body Motion—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. • A general relative measure of how much the variation of an individual joint parameter affects the overall body posture. NUS CS5247

  26. Full Body Motion—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 stable configurations, and randomly choose one from this set then do collision checking. NUS CS5247

  27. Full Body Motion—Random stable postures NUS CS5247

  28. Full Body Motion—Experiment Dynamically-stable planned trajectory for a crouching motion Performance statistics (N = 100 trials) NUS CS5247

  29. Full Body Motion • Algorithm for computing dynamically-Stable collision-free • trajectories given full-body posture goals. • Limitations: • Assumes small set of stable configurations • Paths may need to be smoothed NUS CS5247

More Related