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

β–Ά
whole body motion planning for humanoid robots
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Autonomous and Mobile Robotics

  • Prof. Giuseppe Oriolo

Whole-Body Motion Planning for Humanoid Robots

(slides prepared by Paolo Ferrari)

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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)

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

5

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

Planning based on CoM movement primitives

slide-6
SLIDE 6

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

π’œCoM

βˆ—

𝑒 and a swing foot reference trajectory π’œswg

βˆ—

𝑒

  • does not specify a whole-body joint motion

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

slide-7
SLIDE 7

7

humanoid motion model

  • robot configuration

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

𝒓CoM 𝑒 = 𝒓CoM 𝑒𝑙 + 𝑩 𝒓CoM 𝑒𝑙 𝒗CoM 𝑒 𝒓jnt 𝑒 = π’˜jnt 𝑒 𝑒 ∈ 𝑒𝑙, 𝑒𝑙 + π‘ˆπ‘™ 𝒓 = 𝒓CoM 𝒓jnt 𝒓CoM is the pose of the CoM frame 𝒓jnt is the π‘œ-vector of joint angles

  • hybrid motion model

where 𝒓CoM 𝑒𝑙 is the pose of the CoM frame at 𝑒𝑙 𝑩 𝒓CoM 𝑒𝑙 is the transformation matrix between the CoM frame at 𝑒𝑙 and the world frame 𝒗CoM 𝑒 is the CoM displacement at 𝑒 relative to 𝑒𝑙 π’˜jnt 𝑒 is the vector of joint velocity commands

slide-8
SLIDE 8

8

task-constrained planning

  • 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

  • task definition: assigned trajectory π’›βˆ— 𝑒 (or a geometric path π’›βˆ— 𝑑
  • r a single point π’›βˆ— 𝑒𝑔 ) for a specific point of the humanoid

π’›βˆ— 𝑒 π’›βˆ— 𝑒𝑔

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

𝑉 = 𝑉CoM

𝑇

βˆͺ 𝑉CoM

𝐸

βˆͺ free_CoM where 𝑉CoM

𝑇

is the subset of static steps 𝑉CoM

𝐸

is the subset of dynamic steps free_CoM is a non-stepping, stretchable primitive

slide-11
SLIDE 11

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

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

π’˜jnt = 𝑲𝑏

# 𝒓

𝒛𝑏

βˆ— + 𝑳𝒇 + 𝑱 βˆ’ 𝑲𝑏 # 𝒓 𝑲𝑏 𝒓

𝝏 where 𝒛𝑏 = π’›π‘ˆ π’œCoM

π‘ˆ

π’œswg

π‘ˆ π‘ˆ: augmented task vector

𝑲𝑏 𝒓 : Jacobian matrix of 𝒛𝑏 wrt 𝒓 𝒇 = 𝒛𝑏

βˆ— βˆ’ 𝒛𝑏: augmented task error

𝝏: arbitrary π‘œ-vector

slide-12
SLIDE 12

12

the planner

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 1. choose a random sample 𝒛rand

βˆ—

  • n 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 iteratively build a tree

slide-13
SLIDE 13

13

planning experiments: video

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

slide-14
SLIDE 14

14

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

Planning for loco-manipulation tasks

slide-15
SLIDE 15

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 𝒛𝑁

βˆ— )

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 1. manipulation task always active
  • 2. manipulation task activated close to the set-point
  • 3. synchronization of locomotion and manipulation tasks

1. 2. 3.

slide-16
SLIDE 16

16

  • peration zones

depending on the distance between the CoM and the set-point 𝒛𝑁

βˆ—

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 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
slide-17
SLIDE 17

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 𝒛𝑁

βˆ—

  • local set-point definition

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

𝒛𝑁

𝑙+1 = π’œCoM 𝑙+1 + 𝒆𝑙 + 𝑳𝑒 𝒆𝑙 βˆ— βˆ’ 𝒆𝑙

𝒆𝑙

βˆ— = π›½π’†βˆ— + 1 βˆ’ 𝛽

𝒛𝑁

βˆ— βˆ’ π’œCoM 𝑙

𝛽 = 1 1 + π‘“π‘¦π‘ž 𝛾1 π’œCoM

𝑙

βˆ’ 𝒛𝑁

βˆ—

βˆ’ 𝑒0 𝑒1 βˆ’ 𝑒0 + 𝛾2

slide-18
SLIDE 18

18

the planner

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 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
  • define the local manipulation set-point 𝒛𝑁

𝑙+1

  • generate the joint motion through the task-priority approach
  • 3. if the motion is feasible and collision-free, add a new vertex π’˜new to

the tree, otherwise update the weights in π’˜near iteratively build a tree π’˜jnt = 𝑲𝑀

#

𝒛𝑀

β€² + 𝑸𝑀 𝑲𝑁𝑸𝑀 #

𝒛𝑁

β€² βˆ’ 𝑲𝑁𝑲𝑀 β€²

𝒛𝑀

β€²

+ π‘Έπ‘€π‘π’˜0

slide-19
SLIDE 19

19

planning experiments: video

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

slide-20
SLIDE 20

20

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

Anytime planning/replanning

slide-21
SLIDE 21

21

  • verview
  • 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

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

  • 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
slide-22
SLIDE 22

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

slide-23
SLIDE 23

23

local motion planner

  • allowed to run for a given time budget βˆ†π‘ˆπ‘„
  • randomized CoM movement primitives-based planner
  • builds a tree in configuration-time space
  • works in two stages
  • lazy stage: quickly expands the tree, checking collisions only at

vertexes

  • validation stage: validate the local plan by generating the

corresponding whole-body motion and checking collisions both at vertexes and along edges

  • time budget βˆ†π‘ˆπ‘„ is split between the two stages (βˆ†π‘ˆπ‘„

𝑀 and βˆ†π‘ˆπ‘„ π‘Š)

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

slide-24
SLIDE 24

24

lazy stage

iteratively (until βˆ†π‘ˆπ‘„

𝑀 runs out)

  • 1. choose a random sample 𝒛rand

βˆ—

in the task space

  • 2. extract a vertex π’˜near according to a metric 𝑒 βˆ™, 𝒛rand

βˆ—

  • 3. select a CoM movement using the weights in π’˜near as probabilities
  • 4. compute 𝒓CoM

new according to 𝒓CoM near and the selected CoM movement

  • 5. check collisions on 𝒓CoM

new with obstacles in the planning zone using a

simplified occupancy volume for the robot

  • 6. if 𝒓CoM

new is collision-free, add a new vertex π’˜new to the tree

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

slide-25
SLIDE 25

25

validation stage

candidate local plans: branches of the tree whose ending vertexes are

  • outside the planning zone, or
  • sufficiently close to 𝒛𝑁

βˆ—

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

iteratively (until βˆ†π‘ˆπ‘„

π‘Š runs out)

  • 1. choose the best candidate local plan
  • 2. generate the whole-body motion of all edges along the plan
  • 3. check collisions on both vertexes and edges with obstacles in the

planning zone using the actual volume occupancy for the robot

slide-26
SLIDE 26

26

deadlock management

  • the fixed-shape planning zone provides only local information about

the environment

  • in principle, consecutive calls to the local motion planner might

generate movements that force the robot to repeatedly traverse the same regions of the task space (deadlock)

  • allow the planner to keep memory of previously considered planning

zones (current planning zone = union of all previous planning zones)

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots

slide-27
SLIDE 27

27

planning experiments: video

Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots https://youtu.be/ECdDM-usO-k

slide-28
SLIDE 28

28

references

  • Task-Oriented Whole-Body Planning for Humanoids based on Hybrid Motion

Generation – M. Cognetti, P. Mohammadi, G. Oriolo, M. Vendittelli, IROS 2014

  • Whole-Body Motion Planning for Humanoids based on CoM Movement Primitives –
  • M. Cognetti, P. Mohammadi, G. Oriolo, Humanoids 2015
  • Whole-Body Planning for Humanoids along Deformable Tasks – M. Cognetti, V.

Fioretti, G. Oriolo, ICRA 2016

  • Humanoid Whole-Body Planning for Loco-Manipulation Tasks – P. Ferrari, M. Cognetti,
  • G. Oriolo, ICRA 2017
  • Anytime Whole-Body Planning/Replanning for Humanoid Robots – P. Ferrari, M.

Cognetti, G. Oriolo, IROS 2018 (submitted) Oriolo: AMR - Whole-Body Motion Planning for Humanoid Robots