+ All Categories
Home > Documents > 16-350 Planning Techniques for Robotics Case Study: Planning...

16-350 Planning Techniques for Robotics Case Study: Planning...

Date post: 22-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
29
16-350 Planning Techniques for Robotics Case Study: Planning for Mobile Manipulation and Articulated Robots Maxim Likhachev Robotics Institute Carnegie Mellon University
Transcript
Page 1: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

16-350

Planning Techniques for Robotics

Case Study:

Planning for

Mobile Manipulation and Articulated Robots

Maxim Likhachev

Robotics Institute

Carnegie Mellon University

Page 2: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 2

Two Examples

• Planning for Mobile Manipulation

• Planning for Articulated Robots

Page 3: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 3

Two Examples

• Planning for Mobile Manipulation

• Planning for Articulated Robots

Page 4: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 4

Robotic Bartender Demo ([Phillips et al.])

• Robot takes in a command from User Interface as to what

soda can and snack to deliver

Page 5: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 5

Typical Sequence of Operations (State Machine)

Page 6: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 6

Typical Sequence of Operations (State Machine)

How do you pick proper x,y,Ѳ

for picking up?

Page 7: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 7

Typical Sequence of Operations (State Machine)

ARA*-based planning on x,y,Ѳ with

full-body collision checking for every edge

Page 8: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 8

Graph for Navigation with Complex 3D Body [Hornung et al., ‘12]

• 3D (x,y,θ) lattice-based graph representation for full-body collision

checking

– takes set of motion primitives as input

– takes N footprints of the robot defined as polygons as input

– each footprint corresponds to the projection of a part of the body onto x,y plane

– collision checking/cost computation is done for each footprint at the

corresponding projection of the 3D map

Page 9: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 9

Graph for Navigation with Complex 3D Body [Hornung et al., ‘12]

• 3D (x,y,θ) lattice-based graph representation for full-body collision

checking

– takes set of motion primitives as input

– takes N footprints of the robot defined as polygons as input

– each footprint corresponds to the projection of a part of the body onto x,y plane

– collision checking/cost computation is done for each footprint at the

corresponding projection of the 3D map

Page 10: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 10

Typical Sequence of Operations (State Machine)

Typical perception task

Page 11: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 11

Typical Sequence of Operations (State Machine)

Pick a geometric primitive

that approximates the object the best

and use one of the grasps

pre-computed for this primitive

Page 12: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 12

Typical Sequence of Operations (State Machine)

Planning on q1,…q7 towards

an arm configuration that has its end-effector

at the pre-grasp pose (partially-defined goal)

Page 13: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 13

Typical Sequence of Operations (State Machine)

Planning on q1,…q7 towards

an arm configuration that has its end-effector

at the pre-grasp pose (partially-defined goal)

A sampling-based planner such as

RRT-Connect would work pretty well

(would have to plan towards a

full arm configuration computed by IK)

In this specific case, it ran ARA*-based planner

Page 14: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 14

Typical Sequence of Operations (State Machine)

Move the arm

from pre-grasp pose

towards grasp pose (computed via IK)

and close the gripper

Page 15: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 15

Typical Sequence of Operations (State Machine)

Sampling-based or ARA*-based

planning on q1,…q7 towards

the “home” arm configuration (fully-defined goal)

Page 16: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 16

Two Examples

• Planning for Mobile Manipulation

• Planning for Articulated Robots

Page 17: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 17

Little Dog Demo [Vernaza et al., ‘09]

• Little Dog robot needs to traverse a fully-known terrain

• Planning

– Plans footsteps first with an anytime variant of A*

– Compute COM of the robot afterwards to support execution

Page 18: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 18

Footstep Planner [Vernaza et al., ‘09]

Assumptions of the planner:

Only one leg lifted at a time to ensure static stability

Center of mass shifts during quad-support phase to prevent tipping

Footholds chosen deliberately to maximize stability

Page 19: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 19

Footstep Planner [Vernaza et al., ‘09]

Planner builds Graph:

Node (stance): 9-dimensional foothold configuration

- feet positions and current gait phase

Edge: feasible transition between stances

Edge costs for transitions computed based on risk, anticipated delay

Implicit or explicit graph?

Page 20: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 20

Footstep Planner [Vernaza et al., ‘09]

Planner builds (implicit) Graph:

Node (stance): 9-dimensional foothold configuration

- feet positions and current gait phase

Edge: feasible transition between stances

Edge costs for transitions computed based on risk, anticipated delay

Requires definition of:

GetSuccessors(state S)

GetCost(state S, state S’)

Page 21: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetSuccessors(s) Function

Carnegie Mellon University 21

Finite set of good qualitycandidate footholds selectedprior to planning

Valid stances are kinematicallyfeasible 4-tuples of candidatefootholds

Successors of a given stancecomputed by:

- determining reachable candidatefootholds that result in a validstance

Page 22: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 22

Edgecosts are weighted sum of:

Any thoughts?

Page 23: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 23

Edgecosts are weighted sum of:

Overhead

Fixed cost per step

Center of mass travel

Discourages backwards motion of COM

Incircle radius

Farthest distance from interior to exterior of support triangle

Page 24: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 24

Edgecosts are weighted sum of:

Collision

Risk of body/foot colliding with terrain

Foot height variance

Encourages robot to stay level

Page 25: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 25

Edgecosts are weighted sum of:

Reachability

Robot's ability to reach next foothold, switch to next support triangle without dragging feet

Terrain slope

Ensures terrain slope supports direction of motion

Terrain cost

Considers slippage potential given terrain

Page 26: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 26

Edgecosts are weighted sum of:

Reachability

Robot's ability to reach next foothold, switch to next support triangle without dragging feet

Terrain slope

Ensures terrain slope supports direction of motion

Terrain cost

Considers slippage potential given terrain

Lots of features make up the cost function.

Fine tuning them is not fun

Page 27: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Implementation of GetCost(s,s’) Function

Carnegie Mellon University 27

Edgecosts are weighted sum of:

Reachability

Robot's ability to reach next foothold, switch to next support triangle without dragging feet

Terrain slope

Ensures terrain slope supports direction of motion

Terrain cost

Considers slippage potential given terrain

Lots of features make up the cost function.

Fine tuning them is not fun

There are ways to learn them

but this is a topic for an advanced class

Page 28: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 28

Sometimes smart but often stupid

no footstep planning

Page 29: 16-350 Planning Techniques for Robotics Case Study: Planning …maxim/classes/robotplanning/lectures/casemanip… · full-body collision checking for every edge. Carnegie Mellon University

Carnegie Mellon University 29

What You Should Know…

• Typical pipeline for mobile manipulation

• Use of multiple planners for mobile manipulation

• Factors and cost terms involved when planning

locomotion for articulated robots (e.g., quadrupeds and

humanoids)


Recommended