Robot Motion Planning Steven M. LaValle Presented by Vera - - PowerPoint PPT Presentation

robot motion planning
SMART_READER_LITE
LIVE PREVIEW

Robot Motion Planning Steven M. LaValle Presented by Vera - - PowerPoint PPT Presentation

Computational Geometry and Geometric Computing Robot Motion Planning Steven M. LaValle Presented by Vera Bazhenova 2010 Introduction Motion Planning Configuration Space Sampling-Based Motion Planning Comparaison of related


slide-1
SLIDE 1

Presented by Vera Bazhenova 2010 Computational Geometry and Geometric Computing

Steven M. LaValle

Robot Motion Planning

slide-2
SLIDE 2

 Introduction  Motion Planning  Configuration Space  Sampling-Based Motion Planning  Comparaison of related Algorithms

Page 2

slide-3
SLIDE 3

Page 3

slide-4
SLIDE 4

Page 4

 Robot motion planning encompasses several different disciplines  Most notably robotics, computer science, control theory and mathematics  This volume presents an interdisciplinary account of recent developments in the field

slide-5
SLIDE 5

Page 5

 Most important in robotics is to have algorithms that convert high- level specifications of tasks from humans into low-level descriptions of how to move  Motion planning and trajectory planning are often used for these kinds of problems

slide-6
SLIDE 6

Page 6

Motion Planning  Given a robot, find a sequence of valid configurations that moves the robot from the source to destination

slide-7
SLIDE 7

Page 7

Piano Mover’s Motion Planning  Assume: A computer-aided design (CAD) model of a house and a piano as input to an algorithm  Required: Move the piano from one room to another in the house without hitting anything

slide-8
SLIDE 8

Page 8

Robot motion planning usually ignores dynamics and other differential constraints and focuses primarily on the translations and rotations required to move the piano Piano Mover’s Motion Planning

slide-9
SLIDE 9

Page 9

Trajectory Planning  By Trajectory Planning we are using robot coordinates because it’s easier, but we loose visualization

slide-10
SLIDE 10

Page 10

 Taking the solution from a robot motion planning algorithm  Determining how to move along the solution in a way that respects the mechanical limitations of the robot Piano Mover’s Trajectory planning

slide-11
SLIDE 11

Page 11

 We consider planning as a branch of algorithms  The focus here includes numerous concepts that are not necessarily algorithmic but aid in modeling, solving, and analyzing planning problems

slide-12
SLIDE 12

Page 12

Planning involves:  State Space: captures all possible situations that could arise (Position, Orientation)  Time: Sequence of decisions that must be applied over time  Action: Manipulate the state and it must be specified how the state changes when action are applied

slide-13
SLIDE 13

Page 13

 Initial and goal states: Starting in some initial state and trying to arrive at a specified goal state  A criterion: Encodes the desired

  • utcome of a plan in terms of the state

and actions that are executed and consist of two types, Feasibility and Optimality  A plan: imposes a specific strategy or behavior on a decision maker

slide-14
SLIDE 14

Page 14

Compute motion strategies:  Geometric paths  Time-parameterized trajectories  Sequence of sensor-based motion commands Achieve high-level goals:  Go to the door and do not collide with obstacles  Build a map of the hallway  Find and track the target

slide-15
SLIDE 15

 Introduction  Motion Planning  Configuration Space  Sampling-Based Motion Planning  Comparaison of related Algorithms

Page 15

slide-16
SLIDE 16

 Introduction  Motion Planning

 Geometric Representation and Transformation  Configuration Space

 Configuration Space  Comparaison of related Algorithms

Page 16

slide-17
SLIDE 17

Page 17

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

slide-18
SLIDE 18

Page 18

Continuous representation Discretization Graph searching

(blind, best-first, A*)

slide-19
SLIDE 19

Geometric modeling consist on two alternatives:  A Boundary Representation  A Solid Representation

Page 19

slide-20
SLIDE 20

Let’s define the world W for which there are two possible choices: 1) a 2D world, in which W = R2 2) a 3D world, in which W = R3

Page 20

slide-21
SLIDE 21

The world W contains two kinds of entities:  Obstacles: Portions of the world that are “permanently” occupied  Robots: Bodies that are modeled geometrically and are controllable via a motion plan Both are considered as Subset of W

Page 21

slide-22
SLIDE 22

 The obstacle region O denote the set of all points in W that lie in one or more obstacles: Hence, O ⊆ W  O is a combination of Boolean primitives H  Each primitives H is easy to represent and manipulate

Page 22

slide-23
SLIDE 23

 Let’s consider obstacle O as Convex Polygons

Case of Non convex is returned to the convex representation

Convex Non Convex Page 23

slide-24
SLIDE 24

 Primitives H are presented by a set of two points (x,y)  Each two points describe a line ax + by + c = 0 f(x,y) = ax + by + c is positive from

  • ne side and negative from the
  • ther side

Page 24

slide-25
SLIDE 25

 Obstacle is defined by a set of vertices (corner) or lines (edges) described by pairs of two points

Page 25

slide-26
SLIDE 26

Example:

f1(x,y) = x-2 f2(x,y) = y-2 f3(x,y) = 1-x f4(x,y) = 1-y

i = 1.. 4 m = 1.. 4 Page 26

slide-27
SLIDE 27

 In 3D, the representation with primitives is similar to 2D  Instead of Polygons, we use Polyhedral  The lines became planes

Page 27

slide-28
SLIDE 28

Semi-Algebraic Models:

 f can be any polynomial  For example let’s take:

Page 28

slide-29
SLIDE 29

Other representation Models:

 3D triangles: Represent complex geometric shapes as a union of triangles  Nonuniform rational B-splines: find an Interpolation over a set of points

Page 29

slide-30
SLIDE 30

Other representation Models:

 3D triangles:  Nonuniform rational B-splines:

Page 30

slide-31
SLIDE 31

Other representation Models:

 Bitmaps: Discretize a bounded portion of the world into rectangular cells

W O

Page 31

slide-32
SLIDE 32

Translation:

 A is the set of Robot points  h is the transformation applied to each point of A  Transformation is defined as below:

Page 32

slide-33
SLIDE 33

Translation: Example Appling h to the Representation H of a disc:

Xt Yt

=>

Page 33

slide-34
SLIDE 34

Rotation: Given the following Rotation Matrix:

the set of Robot points get rotated to:

Page 34

slide-35
SLIDE 35

A kinematic chain  Is the assembly of several kinematic pairs connecting rigid body segments

Page 35

slide-36
SLIDE 36

2D Kinematic Chain: In the case of two unattached rigid bodies A1 and A2, there is 6 degrees of Freedom, two Rotations and four Translations:

By attaching bodies, degrees of freedom are removed

Page 36

slide-37
SLIDE 37

2D Kinematic Chain: Attaching bodies

 The place at which the links are attached is called a joint  Two types of 2D joints: Prismatic and Revolute

Page 37

slide-38
SLIDE 38

2D Kinematic Chain: Attaching bodies  Revolute Joint: allows one link to rotate with respect to the other

 Prismatic Joint: allows one link to translate with respect to the

  • ther

Page 38

slide-39
SLIDE 39

 Introduction  Motion Planning  Configuration Space  Sampling-Based Motion Planning  Comparaison of related Algorithms

Page 39

slide-40
SLIDE 40

Page 40

A vector q including all degree of freedom is called a configuration

slide-41
SLIDE 41

Page 41

Configuration space (Cspace) = set of all configurations Free space (Cfree) = set of allowed (feasible) configurations Obstacle space (Cobstacle) = set of disallowed configurations Cspace = Cfree + Cobstacle

slide-42
SLIDE 42

Page 42

Path of an object = = curve in the configuration space represented either by: Mathematical expression, or Sequence of points Trajectory = Path + assignment of time to points along the path

slide-43
SLIDE 43

Page 43

Is the set of legal configurations of the robot It also defines the topology of continuous motion For rigid-object robots (no joints) there exists:  a transformation to the robot and

  • bstacles that turns the robot into a

single point.

slide-44
SLIDE 44

Page 44

The C-Space Transform  Turn Robot to a Point: Make the Obstacle bigger by applying the Minkowski addition 

slide-45
SLIDE 45

Page 45

The C-Space Transform 

  • 1. Robot motion

planning Problem

  • 2. Robot motion

planning Problem after C-Space Transformation

slide-46
SLIDE 46

 Introduction  Motion Planning  Configuration Space  Sampling-Based Motion Planning  Comparaison of related Algorithms

slide-47
SLIDE 47

Page 47

The motion planning problem consists of the following: Input  geometric descriptions of a robot and its

  • bstacles

 initial and goal configurations Output  a path from start to finish (or the Recognition that none exists

slide-48
SLIDE 48

Page 48

Classic Path Planning Approaches

 Roadmap  Cell decomposition  Potential field

slide-49
SLIDE 49

Page 49

Roadmap Represent the connectivity of the free space by a network of 1-D curves, as in Visibility or Voronoi Diagrams

Roadmap

Potential field Cell decomp.

slide-50
SLIDE 50

Page 50

Visibility Diagram Construct all of the line segments that connect vertices to one another From Cfree, a graph is defined Converts the problem into graph search

Roadmap

Potential field Cell decomp.

slide-51
SLIDE 51

Page 51

Visibility Diagram We start by drawing lines of sight from the start and goal to all “visible” vertices and corners of the Configuration Space

start goal

Roadmap

Potential field Cell decomp.

slide-52
SLIDE 52

Page 52

Visibility Diagram Than draw the lines of sight from every vertex of every obstacle like before

start goal

Roadmap

Potential field Cell decomp.

slide-53
SLIDE 53

Page 53

Visibility Diagram After connecting all vertices of our

  • bstacles, we obtain following graph

start goal start goal

Roadmap

Potential field Cell decomp.

slide-54
SLIDE 54

Page 54

Visibility Diagram + Through the founded Graph we could find the most shorter path

  • But the trajectory is to close to the obstacles

start goal start goal

Roadmap

Potential field Cell decomp.

slide-55
SLIDE 55

Page 55

Voronoi Diagram Set of points equidistant from the closest two or more obstacle boundaries Maximizing the clearance between the points and obstacles

Roadmap

Potential field Cell decomp.

slide-56
SLIDE 56

Page 56

Voronoi Diagram  Compute the Voronoi Diagram of C- space

Roadmap

Potential field Cell decomp.

slide-57
SLIDE 57

Page 57

Voronoi Diagram  Compute shortest straightline path from start and Goal to closest point on Voronoi Diagram

Roadmap

Potential field Cell decomp.

slide-58
SLIDE 58

Page 58

Voronoi Diagram  Compute shortest path from start to goal along Voronoi Diagram

Roadmap

Potential field Cell decomp.

slide-59
SLIDE 59

Page 59

Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells

Roadmap

Potential field Cell decomp.

slide-60
SLIDE 60

Page 60

Cell decomposition: Exact decomposition (Trapezoidal)  Decompose the free space with vertical lines through the vertices without intersecting with the forbidden space

Roadmap

Potential field Cell decomp.

slide-61
SLIDE 61

Page 61

Cell decomposition: Exact decomposition (Trapezoidal)  Add to the center of each segment and trapezoid a graph node

Roadmap

Potential field Cell decomp.

slide-62
SLIDE 62

Page 62

Cell decomposition: Exact decomposition (Trapezoidal)  Find the shortest path through the

  • btained graph with a graph search

algorithm

Roadmap

Potential field Cell decomp.

slide-63
SLIDE 63

Page 63

Cell decomposition: Approximate decomposition  One of the most convenient way to make sampling-based planning algorithms is to define a grid over C and conduct a discrete search algorithm  Neighborhoods: For each grid point q we need to define the set of nearby grid points for which an edge may be constructed

Roadmap

Potential field Cell decomp.

slide-64
SLIDE 64

Page 64

Cell decomposition: Approximate decomposition

 Once the grid and neighborhoods have been defined, a discrete planning problem is obtained

Roadmap

Potential field Cell decomp.

slide-65
SLIDE 65

Page 65

Cell decomposition: Approximate decomposition  Decompose the C-Space with a start resolution to cell grid  Each cell that intersect with obstacles is forbidden  Is there some path existing?

Roadmap

Potential field Cell decomp.

slide-66
SLIDE 66

Page 66

Cell decomposition: Approximate decomposition  If no Path is existing than refine the resolution until a solution is found

Roadmap

Potential field Cell decomp.

slide-67
SLIDE 67

Page 67

Potential field Define a potential function over the free space that has a global minimum at the goal and follow the steepest descent of the potential function

Roadmap

Potential field Cell decomp.

slide-68
SLIDE 68

Page 68

–The goal location generates an attractive potential – pulling the robot towards the goal – The obstacles generate a repulsive potential – pushing the robot far away from the obstacles – The negative gradient of the total potential is treated as an artificial force applied to the robot Potential field

Roadmap

Potential field Cell decomp.

slide-69
SLIDE 69

Page 69

The sum of the forces control of the robot Potential field

Roadmap

Potential field Cell decomp.

slide-70
SLIDE 70

Page 70

Potential field

Roadmap

Potential field Cell decomp.

slide-71
SLIDE 71

Page 71

Pros  Spatial paths are not preplanned and can be generated in real time  Planning and controlling are merged into

  • ne function

Cons Trapped in local minima in the potential field  Because of this limitation, commonly used for local path planning Potential field

Roadmap

Potential field Cell decomp.

slide-72
SLIDE 72

Page 72

 Collision detection algorithms determine whether a configuration lies in Cfree  Motion planning algorithms require that an entire path maps into Cfree  The interface between the planner and collision detection usually involves validation of a path segment

Checking Path Segment

Path Segment

SBPA Incremental Search

RRT PRM

slide-73
SLIDE 73

Page 73

 For a Path τs : [0, 1] → Cfree a sampling for the interval [0, 1] is calculated  The collision checker is called only on the samples Problem:  How a Resolution can be found?  How to guarantee that the places where the path is not sampled are collision-free?

Checking Path Segment

Path Segment

SBPA Incremental Search

RRT PRM

slide-74
SLIDE 74

Page 74

 A fixed ∆q > 0 is often chosen as the C-space step size  Points t1, t2 ∈ [0,1] are chosen close enough together to ensure that ρ(τ(t1), τ(t2)) ≤ ∆q , ρ is a metric on C

Checking Path Segment

Path Segment

SBPA Incremental Search

RRT PRM

slide-75
SLIDE 75

Page 75

 If ∆q is too small, considerable time is wasted

  • n collision checking (1)

 If ∆q is too large, then there is a chance that the robot could jump through a thin obstacle (2)

Checking Path Segment

(1) (2) Path Segment

SBPA Incremental Search

RRT PRM

slide-76
SLIDE 76

Page 76

 Suppose that for a configuration q(xt,yt,O) the collision detection algorithm indicates that A(q) is at least d units away from collision  Suppose that the next candidate configuration to be checked along τ is q’(x’t,y’t,O’)  If no point on A travels more than distance d when moving from q to q’ along τ , then q’ and all configurations between q and q’ must be collision-free

Checking Path Segment

Path Segment

SBPA Incremental Search

RRT PRM

slide-77
SLIDE 77

Page 77

The bounds d can generally be used to set a step size ∆q for collision checking that guarantees the intermediate points lie in Cfree

Checking Path Segment

Path Segment

SBPA Incremental Search

RRT PRM

slide-78
SLIDE 78

Page 78

Most sample-based planning algorithms consisting of single-query model, witch means (qI , qG) is given only once per robot and obstacle set, following this template:

  • 1. Initialization
  • 2. Vertex Selection Method (VSM)
  • 3. Local Planning Method (LPM)
  • 4. Insert an Edge in the Graph
  • 5. Check for a Solution
  • 6. Return to Step 2

Incremental Sampling and Searching

Path Segment

SBPA Incremental Search

RRT PRM

slide-79
SLIDE 79

Page 79

  • 1. Initialization:

Let G(V,E) represent an undirected search graph, for which V contains at least one vertex and E contains no edges. Typically, V contains

qI , qG, or both. In general, other points in Cfree may be included

  • 2. Vertex Selection Method:

Choose a vertex qcur ∈ V for expansion

Incremental Sampling and Searching

Path Segment

SBPA Incremental Search

RRT PRM

slide-80
SLIDE 80

Page 80

  • 3. Local Planning Method (LPM):

For some qnew ∈ Cfree that may or may not be represented by a vertex in V attempt to construct a path τs : [0, 1] →

Cfree such that τ(0) = qcur and τ(1) =

  • qnew. Using the methods of Slides

τs must be checked to ensure that it

does not cause a collision. If this step fails to produce a collision-free path segment, then go to step 2.

Incremental Sampling and Searching

Path Segment

SBPA Incremental Search

RRT PRM

slide-81
SLIDE 81

Page 81

  • 4. Insert an Edge in the Graph

Insert τs into E, as an edge from qcur to

qnew . If qnew is not already in V, then it is

inserted

  • 5. Check for a Solution

Determine whether G encodes a solution

  • path. As in the discrete case, if there is a

single search tree, then this is trivial;

  • therwise, it can become complicated and

expensive

Incremental Sampling and Searching

Path Segment

SBPA Incremental Search

RRT PRM

slide-82
SLIDE 82

Page 82

  • 6. Return to Step 2:

Iterate unless a solution has been found or some termination condition is satisfied, in which case the algorithm reports failure Incremental Sampling and Searching

Path Segment

SBPA Incremental Search

RRT PRM

slide-83
SLIDE 83

Page 83

There are several classes of algorithms based on the number of search trees:  Unidirectional (single-tree) methods  Bidirectional Methods  Multi-directional (more than two trees) methods

Sampling based Planning Algorithm:

Path Segment

SBPA Incremental Search

RRT PRM

slide-84
SLIDE 84

Page 84

 Is a single-tree Method  A* traverses the graph and follows the path with the lowest cost  Keeps a sorted priority queue of alternate path segments along the way  If by adding a new Point, a segment of the path get a higher cost than another stored path segment, the lower-cost path segment will be followed  The process continues until the goal is reached

Sampling based Planning Algorithm:

Unidirectional (single-tree) methods: A* (A-Star)

Path Segment

SBPA Incremental Search

RRT PRM

slide-85
SLIDE 85

Page 85

 The start position is (1, 1)  The successive node (1, 2)  There is no ambiguity, until the Robot reaches node (2, 4)  The successor node can be determined by evaluating the cost to the target from both the nodes (3,4) and (3,3)

Path Segment

SBPA Incremental Search

RRT PRM

slide-86
SLIDE 86

Page 86

 Bidirectional Methods: By a Bug-Trap or a challenging region problem, we better use a bidirectional approach

Sampling based Planning Algorithm:

Path Segment

SBPA Incremental Search

RRT PRM

slide-87
SLIDE 87

Page 87

 Multi-directional Methods: For a double bug- trap, multi-directional search may be needed

Sampling based Planning Algorithm:

Path Segment

SBPA Incremental Search

RRT PRM

slide-88
SLIDE 88

Page 88

 The idea is to incrementally construct a search tree that gradually improves the resolution but does not need to explicitly set any resolution parameters  Instead of one long path, there are shorter paths that are organized into a tree  If the sequence of samples is random, the resulting tree is called a rapidly exploring random tree (RRT), which indicate that a dense covering

  • f the space is obtained

Rapidly Exploring Dense Trees

Path Segment

SBPA Incremental Search

RRT PRM

slide-89
SLIDE 89

Page 89

Basic RRT Algorithm:

  • 1. Initially, start with the initial configuration as

root of tree 2.Pick a random state in the configuration space

  • 3. Find the closest node in the tree
  • 4. Extend that node toward the state if possible
  • 5. Goto (2)

Rapidly Exploring Dense Trees

Path Segment

SBPA Incremental Search

RRT PRM

slide-90
SLIDE 90

90

Basic RRT Algorithm:

Rapidly Exploring Dense Trees

Path Segment

SBPA Incremental Search

RRT PRM

slide-91
SLIDE 91

Page 91

Rapidly Exploring Dense Trees

 The algorithm for constructing RDTs (which includes RRTs)  It requires the availability of a dense sequence, α, and iteratively connects from α(i) to the nearest point among all those reached by G

Path Segment

SBPA Incremental Search

RRT PRM

slide-92
SLIDE 92

Page 92

Rapidly Exploring Dense Trees

If the nearest point in S lies in an edge (α), then the edge is split into two, and a new vertex is inserted into G

Path Segment

SBPA Incremental Search

RRT PRM

slide-93
SLIDE 93

Page 93

Rapidly Exploring Dense Trees

 Several main branches are first constructed as it rapidly reaches the far corners of the space  More and more area is filled in by smaller branches  The tree gradually improves the resolution as the iterations continue

Path Segment

SBPA Incremental Search

RRT PRM

slide-94
SLIDE 94

Page 94

Rapidly Exploring Dense Trees

 This behavior turns out to be ideal for sampling-based motion planning

Path Segment

SBPA Incremental Search

RRT PRM

slide-95
SLIDE 95

Page 95

Rapidly Exploring Dense Trees

 The RRT is dense in the limit (with probability one), which means that it gets arbitrarily to any point in the space

Path Segment

SBPA Incremental Search

RRT PRM

slide-96
SLIDE 96

Page 96

Probabilistic roadmaps (PRMs) Separate planning into two stages:

  • Learning Phase

– find random sample of free configurations (vertices) – attempt to connect pairs of nearby vertices with a local planner – if a valid plan is found, add an edge to the graph

  • Path Segment

SBPA Incremental Search

RRT PRM

slide-97
SLIDE 97

Page 97

Probabilistic roadmaps (PRMs) Learning Phase:

Path Segment

SBPA Incremental Search

RRT PRM

slide-98
SLIDE 98

Page 98

Probabilistic roadmaps (PRMs) Separate planning into two stages:

  • Query Phase

– find local connections to graph from initial and goal positions – search over roadmap graph using A* to find a plan

Path Segment

SBPA Incremental Search

RRT PRM

slide-99
SLIDE 99

Page 99

Probabilistic roadmaps (PRMs) Query phase:

Path Segment

SBPA Incremental Search

RRT PRM

slide-100
SLIDE 100

 Introduction  Motion Planning  Configuration Space  Sampling-Based Motion Planning  Comparaison of related Algorithms

slide-101
SLIDE 101

Page 101

 “Complete”: If a plan exists, the path and the trajectory are found  Optimal: The plan returned is optimal in reference to some metric  Efficient World Updates: Can change world without recomputing everything  Efficient Query Updates: Can change query without replanning from scratch  Good dof Scalability: Scales well with increasing C-space dimensions

slide-102
SLIDE 102

Page 102

Approach

Complete Optimal Efficient World Updates Efficient Query Updates Good DOF Scalability A* yes grid no no no Visuality yes yes no no no Voronoi yes no yes yes no Potential Field yes no no no yes RRT yes no semi semi yes PRM yes graph no yes yes

slide-103
SLIDE 103

Page 103 [1] D. Aarno, D. Kragic, and H. I. Christensen. Artificial potential biased probabilistic roadmap method. In Proceedings IEEE International Conference on Robotics & Automation, 2004 [2] R. Abgrall. Numerical discretization of the first-order Hamilton-Jacobi equation on triangular meshes. Communications on Pure and Applied Mathematics, 49(12):1339–1373, December 1996. [3] R. Abraham and J. Marsden. Foundations of Mechanics. Addison-Wesley, Reading,MA, 2002. [4] PLANNING ALGORITHMS, Steven M. LaValle University of Illinois / Available for downloading at http://planning.cs.uiuc.edu/ [5] Wikipedia

slide-104
SLIDE 104