whole body motion planning for humanoid robots
play

Whole-Body Motion Planning for Humanoid Robots (slides prepared by - PowerPoint PPT Presentation

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo Whole-Body Motion Planning for Humanoid Robots (slides prepared by Paolo Ferrari) introduction task-constrained motion planning: find feasible, collision-free motions for a humanoid that


  1. Autonomous and Mobile Robotics Prof. Giuseppe Oriolo Whole-Body Motion Planning for Humanoid Robots (slides prepared by Paolo Ferrari)

  2. introduction • task-constrained motion planning: find feasible, collision-free motions for a humanoid that is assigned a certain task whose execution may require stepping • it is challenging since humanoids: • have a high number of degrees of freedom • are not free-flying systems • must maintain equilibrium at all times Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 2

  3. introduction • literature approaches • separate locomotion from task execution (e.g., Burget et al., 2013 and Hauser and Ng-Thow-Hing, 2011) • compute a collision-free, statically stable path for a free-flying humanoid base, and then approximate it with a dynamically stable walking motion (e.g., Dalibar et al., 2013) • achieve acyclic locomotion and task execution through whole-body contact planning (e.g, Bouyarmane and Kheddar, 2012) • our approach • does not separate locomotion from task execution, taking advantage of the whole-body structure of the humanoid • walking emerges naturally from the solution of the planning problem Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 3

  4. topics • Planning based on CoM movement primitives • Planning for loco-manipulation tasks • Anytime planning/replanning Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 4

  5. Planning based on CoM movement primitives Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 5

  6. CoM movement primitives • main idea: build a solution by concatenating various feasible whole- body motions that realize CoM movement primitives contained in a precomputed catalogue • a CoM movement primitive • represents an elementary humanoid motion (e.g., walking, jumping) • describes the history 𝒗 CoM 𝑢 of the CoM pose displacement • is characterized by a duration 𝑈 , a CoM reference trajectory ∗ ∗ 𝑢 and a swing foot reference trajectory 𝒜 swg 𝒜 CoM 𝑢 • does not specify a whole-body joint motion Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 6

  7. humanoid motion model • robot configuration 𝒓 CoM is the pose of the CoM frame 𝒓 CoM 𝒓 = 𝒓 jnt is the 𝑜 -vector of joint angles 𝒓 jnt • hybrid motion model 𝒓 CoM 𝑢 = 𝒓 CoM 𝑢 𝑙 + 𝑩 𝒓 CoM 𝑢 𝑙 𝒗 CoM 𝑢 𝑢 ∈ 𝑢 𝑙 , 𝑢 𝑙 + 𝑈 𝑙 𝒓 jnt 𝑢 = 𝒘 jnt 𝑢 where 𝒓 CoM 𝑢 𝑙 is the pose of the CoM frame at 𝑢 𝑙 is the transformation matrix between the CoM frame 𝑩 𝒓 CoM 𝑢 𝑙 at 𝑢 𝑙 and the world frame 𝒗 CoM 𝑢 is the CoM displacement at 𝑢 relative to 𝑢 𝑙 𝒘 jnt 𝑢 is the vector of joint velocity commands Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 7

  8. task-constrained planning • task definition: assigned trajectory 𝒛 ∗ 𝑢 (or a geometric path 𝒛 ∗ 𝑡 or a single point 𝒛 ∗ 𝑢 𝑔 ) for a specific point of the humanoid 𝒛 ∗ 𝑢 𝑔 𝒛 ∗ 𝑢 • formal definition of the solution: a whole-body motion in terms of a joint trajectory 𝒓 jnt 𝑢 such that • the assigned task is exponentially realized • collisions with workspace obstacles and self-collisions are avoided • position and velocity limits on the robot joints are satisfied • the robot is in equilibrium at all times Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 8

  9. motion generation • the planner works iteratively, by repeated calls to a motion generator • the motion generator is invoked to produce a feasible, collision-free elementary motion that realizes a portion of the assigned task • it consists of two procedures 1. CoM movement selection: choose a particular CoM movement from the set of primitives 2. joint motion generation: compute the corresponding joint motions Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 9

  10. CoM movement selection • it is invoked from the current configuration 𝒓 𝑙 at time 𝑢 𝑙 • a CoM movement is selected by picking one primitive from the catalogue 𝑇 𝐸 𝑉 = 𝑉 CoM ∪ 𝑉 CoM ∪ free_CoM where 𝑇 is the subset of static steps 𝑉 CoM 𝐸 is the subset of dynamic steps 𝑉 CoM free_CoM is a non-stepping, stretchable primitive Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 10

  11. joint motion generation • it produces joint motion from 𝒓 𝑙 at 𝑢 𝑙 that realizes the selected CoM primitive and the portion of the assigned task in 𝑢 𝑙 , 𝑢 𝑙+1 # 𝒓 ∗ + 𝑳𝒇 + 𝑱 − 𝑲 𝑏 # 𝒓 𝑲 𝑏 𝒓 𝒘 jnt = 𝑲 𝑏 𝒛 𝑏 𝝏 where 𝑈 : augmented task vector 𝑈 𝒛 𝑏 = 𝒛 𝑈 𝑈 𝒜 CoM 𝒜 swg 𝑲 𝑏 𝒓 : Jacobian matrix of 𝒛 𝑏 wrt 𝒓 ∗ − 𝒛 𝑏 : augmented task error 𝒇 = 𝒛 𝑏 𝝏 : arbitrary 𝑜 -vector Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 11

  12. the planner iteratively build a tree ∗ 1. choose a random sample 𝒛 rand on the assigned task trajectory 2. extract a configuration 𝒓 near with probability proportional to a task ∗ compatibility function 𝛿 ∙, 𝒛 rand 3. select a random CoM movement and extract the portion of the task trajectory to be executed 4. generate the joint motion to realize the CoM movement and the portion of the task 5. if the motion is feasible and collision-free, add the final configuration 𝒓 new to the tree Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 12

  13. planning experiments: video https://youtu.be/78xujXc29ig Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 13

  14. Planning for loco-manipulation tasks Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 14

  15. motivation • plan a fluid, natural reaching motion to fulfil a loco-manipulation task • loco-manipulation task: manipulation task that implicitly requires ∗ ) locomotion, i.e., bring one hand to a certain position (set-point 𝒛 𝑁 1. 2. 3. 1. manipulation task always active 2. manipulation task activated close to the set-point 3. synchronization of locomotion and manipulation tasks Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 15

  16. operation zones depending on the distance between the CoM and the set-point 𝒛 𝑁 ∗ • locomotion zone: only locomotion task is considered • loco-manipulation zone: both tasks are considered, with a local manipulation task driven by locomotion • manipulation zone: only manipulation task is considered Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 16

  17. synchronizing locomotion and manipulation • in the loco-manipulation zone, synchronize the motion of the hand with the motion of the CoM ∗ • progressively approach the desired set-point 𝒛 𝑁 𝑙+1 = 𝒜 CoM 𝑙+1 + 𝒆 𝑙 + 𝑳 𝑒 𝒆 𝑙 ∗ − 𝒆 𝑙 • local set-point definition 𝒛 𝑁 ∗ = 𝛽𝒆 ∗ + 1 − 𝛽 ∗ − 𝒜 CoM 𝑙 𝒆 𝑙 𝒛 𝑁 𝑙 ∗ 𝒜 CoM − 𝒛 𝑁 − 𝑒 0 𝛽 = 1 1 + 𝑓𝑦𝑞 𝛾 1 + 𝛾 2 𝑒 1 − 𝑒 0 Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 17

  18. the planner iteratively build a tree 1. extract a vertex 𝒘 near with probability proportional to a task ∗ compatibility function 𝛿 ∙, 𝒛 𝑁 2. invoke the motion generator • select a CoM movement using the weights in 𝒘 near as probabilities identify the operation zone associated to 𝒘 near • • compute the locomotion task 𝑙+1 • define the local manipulation set-point 𝒛 𝑁 generate the joint motion through the task-priority approach • # ′ + 𝑸 𝑀 𝑲 𝑁 𝑸 𝑀 # ′ − 𝑲 𝑁 𝑲 𝑀 ′ ′ 𝒘 jnt = 𝑲 𝑀 𝒛 𝑀 𝒛 𝑁 𝒛 𝑀 + 𝑸 𝑀𝑁 𝒘 0 3. if the motion is feasible and collision-free, add a new vertex 𝒘 new to the tree, otherwise update the weights in 𝒘 near Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 18

  19. planning experiments: video https://youtu.be/KG8NR2aKC0M Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 19

  20. Anytime planning/replanning Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 20

  21. overview • motivation • computing a complete solution for the planning problem can be computationally expensive, requiring high planning times • the robot is forced to wait for the solution before being able to start moving • our approach • does not compute (off-line) a complete solution • simultaneously performs planning and execution of local plans • the complete motion is constituted by a sequence of on-line computed partial solutions • naturally extends to the case of sensor-based planning Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 21

  22. anytime planning/replanning scheme • interleave planning and execution phases; i.e., at the 𝑗 -th generic iteration simultaneously: • execute the current local plan • generate a novel local plan, within a given time budget, for the next execution phase • during the 𝑗 -th planning phase compute a local plan, i.e., a whole-body motion that • starts at the final configuration 𝑟 𝑗+1 of the simultaneously executed local plan • is feasible within a limited planning zone 𝑇 𝑟 𝑗+1 Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend