33
Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Embed Size (px)

Citation preview

Page 1: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Computational Geometry

Piyush Kumar(Lecture 10: Robot Motion Planning)

Welcome to CIS5930

Page 2: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Reading

Chapter 13 in Textbook David Mount’s Lecture notes. Slides Sources

Lecture notes from Dr. Bayazit Dr. Spletzer, Dr. Latombe.Pictures from the web and David Mount’s notes.

Page 3: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Robots

Real WorldFiction

Page 4: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Robot Motion Planning

Free space

Obstacles

Page 5: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Robot Motion Planning

Work Space : Environment in which robot operates Obstacles : Already occupied spaces of the world. Free Space : Unoccupied space of the world.

Page 6: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Space OR C-space

Helps in determining where a robot can go.

Modelling a robotConfiguration: Values which

specify the position of a robotGeometric shape description

Page 7: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Motion Planning

Given a robot, find a sequence of valid configurationsthat moves the robot from the source to destination.

start

goal obstacles

Page 8: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Space

Configuration: Specification of the robot position relative to a fixed coordinate system.

Usually a set of values expressed as a vector of positions/orientations.

Configuration Space: is the space of all possible robot configurations.

Page 9: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Space Example

reference point

x

y

robotreference direction

workspace

– 3-parameter representation: q = (x,y,)

– In 3D? 6-parameters - (x,y,z,)

Page 10: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Space

X

Y

A robot which can translate in the plane

X

Y A robot which can translate and rotate in the plane

x

Y

C-space:

C-space:

2-D (x, y)

3-D (x, y, )

Euclidean space: 2R

Courtesy J.Xiao

Page 11: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

C-Space

qq11

qq22

q = (q1,q2,…,q10)

Page 12: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Space /Obstacles

Circular Robot

Page 13: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

C-Obstacles

Convex polygonal robot

Page 14: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Minkowski Sum

A B = { a+b | a A, b B }

Page 15: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Minkowski Sums

3D Minkowski sum difficult to compute

Many ApplicationsConfiguration Space Computation

Offset

Morphing

Packing and Layout

Friction model

Page 16: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Configuration Obstacle

Only for robots in 2d that can translate.

CP = { p | R(p) ∩ P ≠ Null }

Page 17: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

C-Obstacles

Lemma : CP = P Lemma : CP = P (-R) (-R) Proof: Show that R(q) intersects

P iff q є P (-R). q є P (-R) iff there exists p є P

and (-r) є (-R) such that q = p – r R(q) intersects P iff there exists

r є R and p є P such that r+q = p.

Equ

ival

ent

Page 18: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

An illustration

Page 19: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Computing Minkowski sum For a given convex polygonal

obstacle (with n vertices) and a convex footprint robot (with m vertices), how fast can we compute the CP?

O(m + n)O(m + n)Idea: Walk.Idea: Walk.

Page 20: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Complexity of Minkowski Sums? Can we bound the complexity

of the minkowski sum of disjoint convex obstacles with n vertices in the plane?

Naïve bound? Triangulate the obstacles : O(n) edges.

Minkowski sum of R with triangles =

O(nm)

Complexity of the union? O((nm)O((nm)22)?)?

Page 21: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Pseudodisks: Defn.

A set of convex objects {o1,o2,…,on} is called a collection of pseudodisks if for any two distinct objects oi and oj both of the set theoretic differences oi\oj and oj\oi are connected.

Page 22: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Lemma 1

Given a set of convex objects {T1, T2,…, Tn,} with disjoint

interiors and convex R, the set {Ti R | i = 1..n } is a collection of psedodisks.

Proof: On the chalkboard

Page 23: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Lemma 2

Given a collection of pseudodisks with n vertices, the complexity of their union is O(n).

Why?

Page 24: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Planning approaches in C-spaceRoadmap Approach:

Visibility Graph Methods

Cell Decomposition Approach

Potential Fields

Many other Algorithms…

Page 25: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Visibility Graph in C-space

start

goal

Each path in c-space from s to t represents a viable move from s to t of the Robot in the original space.

Page 26: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Visibility Graph in C-space

start

goal

Each path in c-space from s to t represents a viable move from s to t of the Robot in the original space.

Computation time?

Page 27: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Vis Graph in higher dimensions?

Will it work?

Page 28: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Cell Decomp: Trapezoidal Decomp.

GOAL

START

1

3

2

4

5 8

7

9

10

11

12

13

6

1) Decompose Region Into Cells

Page 29: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Cell Decomp: Trapezoidal Decomp.

1) Decompose Region Into Cells

GOAL

START

1

3

2

4

5 8

7

9

10

11

12

13

6

2) Construct Adjacency Graph

Page 30: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Cell Decomp: Trapezoidal Decomp.

GOAL

START

Page 31: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Cell Decomposition: Other approaches

Uniform Quadtree

Page 32: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Potential field approach

The field is modeled by a potential function U(x,y) over C

Motion policy control law is akin to gradient descent on the potential function

Page 33: Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930

Next Class

Final Review: Q&A session.