52
10/7/2014 S. Joo ([email protected]) 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing College of Computing Georgia Institute of Technology Differential Kinematics, Probabilistic Roadmaps *Slides based in part on Dr. Mike Stilman’s lecture slides

CS 4649/7649 Robot Intelligence: Planning · S. Joo ([email protected]) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

  • Upload
    others

  • View
    52

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 1

CS 4649/7649Robot Intelligence: Planning

Sungmoon Joo

School of Interactive Computing

College of Computing

Georgia Institute of Technology

Differential Kinematics, Probabilistic Roadmaps

*Slides based in part on Dr. Mike Stilman’s lecture slides

Page 2: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 2

Potential Fields

Page 3: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 3

Potential Fields

*Simulation by Leng-Feng Lee@Buffalo Univ.

Page 4: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 4

Summary: Navigation Algorithms

Page 5: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 5

Coordinates

Page 6: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 6

Homogeneous Transform 3D

(1) Change the representation of a vector in frame B to frame A

(2) Change a vector in a frame to another vector (rotated) in the

(3) Unit vectors of frame B represented(expressed) in frame A

Page 7: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 7

Forward(Direct) Kinematics

x

y{0}

Page 8: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 8

Forward Kinematics

Page 9: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 9

Forward Kinematics

Representation of frame2 in frame0

Representation of frame3 in frame0

Page 10: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 10

Denavit-Hartenberg (DH) Parameters

Page 11: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 11

DH Parameters

link parameters

joint variable

For a revolute joint

*For a prismatic joint: di is a joint variable

Page 12: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 12

DH Parameters

Page 13: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 13

DH Parameters

*special links – first, last

*special cases – eg. parallel links

Page 14: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 14

Kinematics

Page 15: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 15

Inverse Kinematics

Page 16: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 16

Configurations Space

Configuration SpaceWork Space

Page 17: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 17

Configuration Space: IK Solution

Page 18: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 18

Configuration Space: IK Solution

Page 19: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 19

Configuration Space: IK Solution

Page 20: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 20

Analytical Methods

Page 21: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 21

Analytical Methods

Page 22: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 22

Analytical IK

Page 23: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 23

Infinitesimal Changes

Forward Kinematics

Differential

(Forward) Kinematics

Page 24: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 24

Differential Kinematics

Page 25: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 25

Differential Kinematics

Page 26: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 26

How do we compute J? – Method1

Page 27: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 27

How do we compute J? – Method1

Page 28: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 28

How do we compute J? – Method1

Page 29: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 29

How do we compute J? – Method2

Rigid body angular motion

Rigid body linear + angular motion

{A}

{B}

Page 30: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 30

How do we compute J? – Method2

Consider the propagation of velocities: linear velocity & angular velocity

{i-1}

{i}

Linear velocity propagation

Angular velocity propagation

Page 31: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 31

Linear velocity propagation

Angular velocity propagation

How do we compute J? – Method2

Prismatic Joint

Revolute Joint

Page 32: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 32

How do we compute J? – Method2

Page 33: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 33

How do we compute J? – Method2

Page 34: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 34

How do we compute J? – Method2

Page 35: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

1. Simulate a small displacement Δθi for each joint

2. Observe Δx and numerically compute J

• Less accurate, more time consuming

• Sometimes the only option

10/7/2014S. Joo ([email protected]) 35

How do we compute J? – Method3

Page 36: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• Workspace goal

• How do we get a joint space goal?

• Assuming 6 D.O.F and J is full rank: Δq = J−1Δx

Iterate until convergence

• Otherwise Still Possible (Pseudo-Inverse & Variants): J+ = JT (JJT )−1

10/7/2014S. Joo ([email protected]) 36

Gradient IK - How do we use J?

x1x2

xn

…q1q2

qn

Page 37: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• Generally applicable to n-DOF kinematics

• Many existing implementations

• Slower and unstable around singularities

10/7/2014S. Joo ([email protected]) 37

Gradient IK

Page 38: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

Goals for manipulators are really that complicated!

Add what it takes to represent obstacles:

But, does this remind you of anything?

Δq = J−1Δx

10/7/2014S. Joo ([email protected]) 38

Planning

Page 39: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 39

Planning – Manipulator + Potential Field

Page 40: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• First effective planning method for high-DOF robot arms

• Very fast (potential fields)

However:

• Local Minima

• Complex obstacle representation

• For Soundness must define obstacles with respect to each link

10/7/2014S. Joo ([email protected]) 40

Planning – Manipulator + Potential Field

Page 41: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

● Roadmap Methods:

– Visibility Graphs

No polygons in C-space. How would you get polygons?

– Voronoi Diagrams

Canny’s Thesis: NP-hard Algorithms for Motion Planning

● Cell Decomposition:

– Exact

Same troubles as Visibility Graphs.

– Approximate

Ok for 2-3 dimensions

Good luck in 4+ dimensions

10/7/2014S. Joo ([email protected]) 41

Planning – Manipulator + Potential Field

Combine Kinematics & Geometric Planning

Page 42: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• Pre-1980

– Mainly 2D, 3D planners

– In case of kinematics:

Ignore robot geometry

Robot is an ethereal entity that obeys kinematics

• 1980s

– Potential Fields!

First feasible SOUND solution

Locally optimal control strategy

Not globally complete or optimal

10/7/2014S. Joo ([email protected]) 42

Kinematic Planning Algorithms

Page 43: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 43

Can we solve these planning problems?

http://www.kavrakilab.org/robotics/prm.html“Planning Algorithms”, S. Lavalle

Page 44: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• What did Visibility, Voronoi, Cells, Fields have in common?

- Some form of explicit environment representation

- Attempt at some form of optimality

• New concepts from 1990s:

- Forget optimality altogether

- Focus on Completeness

- Think about Free Space

10/7/2014S. Joo ([email protected]) 44

Key Idea

Page 45: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

• Previous roadmaps used features

related to actual obstacle features.

• Probabilistic Roadmaps (PRM)

- Features: Sampled free points

- Edges: Verified connections

10/7/2014S. Joo ([email protected]) 45

A New Kind of Roadmap

• Lydia Kavraki ‘94, ‘96 – Present• Mark Overmars ’92, ‘96 - Present

“Probabilistic roadmaps for path planning in high-dimensional configuration spaces”

By Kavraki, Svestka, Latombe, and Overmars, 1996, IEEE Transactions on

Robotics and Automation

Page 46: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 46

Probabilistic Roadmap: Step 1

Randomly sample a configuration: P Keep only if P is in Free Space

Page 47: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 47

Probabilistic Roadmap: Step 1

Randomly sample a configuration: P Keep only if P is in Free Space

Page 48: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 48

Probabilistic Roadmap: Step 2

For each node P find k nearest neighbors: Q1 … Qk

Page 49: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 49

Probabilistic Roadmap: Step 3

For each node P find k nearest neighbors: Q1 … Qk

Use a local planner to test connectivity between P and Qi

Page 50: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 50

Probabilistic Roadmap: Step 3

For each node P find k nearest neighbors: Q1 … Qk

Use a local planner to test connectivity between P and Qi

What could be a local planner? What happens next?

Page 51: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 51

Probabilistic Roadmap: Step 4

For each node P find k nearest neighbors: Q1 … Qk

Use a local planner to test connectivity between P and Qi

Find a path: Uniform Cost, A*, …

Page 52: CS 4649/7649 Robot Intelligence: Planning · S. Joo (sungmoon.joo@cc.gatech.edu) 10/7/2014 1 CS 4649/7649 Robot Intelligence: Planning Sungmoon Joo School of Interactive Computing

10/7/2014S. Joo ([email protected]) 52

We can solve these planning problem

http://www.kavrakilab.org/robotics/prm.html http://www.youtube.com/watch?v=FRGzsyXHBqQ