Administration
Download
1 / 34

- PowerPoint PPT Presentation


  • 145 Views
  • Updated On :

Administration. Feedback on assignment Late Policy Some Matlab Sample Code makeRobot.m, moveRobot.m. Introduction to Motion Planning. CSE350/450-011 16 Sep 03. Class Objectives. Cell decomposition procedures for motion planning Review exact approaches from last week

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '' - ostinmannual


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Administration l.jpg
Administration

  • Feedback on assignment

  • Late Policy

  • Some Matlab Sample Code

    • makeRobot.m, moveRobot.m


Slide2 l.jpg

Introduction to Motion Planning

CSE350/450-011

16 Sep 03


Class objectives l.jpg
Class Objectives

  • Cell decomposition procedures for motion planning

    • Review exact approaches from last week

    • Introduce approximating approaches

    • A* Algorithm

  • Introduction to potential field approaches to motion planning


Supporting references l.jpg
Supporting References

  • Motion Planning

    • “Motion Planning Using Potential Fields”, R. Beard & T. McClain, BYU, 2003 *** PRINT THIS OUT FOR NEXT TIME ***

    • “Robot Motion Planning”, J.C. Latombe, 1991


The basic motion planning problem l.jpg
The Basic Motion Planning Problem

Given an initial robot position and orientation in a potentially cluttered workspace, how should the robot move in order to reach an objective pose?


Planning approaches l.jpg
Planning Approaches

  • Roadmap Approach:

    • Visibility Graph Methods

  • Cell Decomposition:

    • Exact Decomposition

    • Approximate: Uniform discretization & quadtree approaches

  • Potential Fields




The visibility graph method cont d9 l.jpg

GOAL

START

The Visibility Graph Method (cont’d)


The visibility graph method cont d10 l.jpg

GOAL

START

The Visibility Graph Method (cont’d)


The visibility graph method cont d11 l.jpg
The Visibility Graph Method (cont’d)

We can find the shortest path

using Dijkstra’s Algorithm

GOAL

Path

START


Exact cell decomposition method l.jpg

13

12

10

11

9

7

6

5

4

2

3

1

8

Exact Cell Decomposition Method

GOAL

START

1) Decompose Region Into Cells


Exact cell decomposition method cont d l.jpg

13

12

10

11

9

7

6

5

4

2

3

1

8

Exact Cell Decomposition Method (cont’d)

GOAL

START

2) Construct Adjacency Graph


Exact cell decomposition method cont d14 l.jpg

10

12

1

2

7

6

9

Exact Cell Decomposition Method (cont’d)

GOAL

START

  • Construct Channel from shortest cell path

  • (via Depth-First-Search)


Exact cell decomposition method cont d15 l.jpg
Exact Cell Decomposition Method (cont’d)

GOAL

START

4) Construct Motion Path P from channel cell borders




Approximate cell decomposition l.jpg

  • Perform cell tessellation of configuration space C

    • Uniform or quadtree

  • Generate the cell graph G(V,E)

    • Each cell in Cfree corresponds to a vertex in V

    • Two vertices vi,vj V are connected by an edge eij if they are adjacent (8-connected for exact)

    • Edges are weighted by Euclidean distance

  • Find the shortest path from vinit to vgoal

Approximate Cell Decomposition


Cell decomposition l.jpg
Cell Decomposition

Uniform

Quadtree


Cell decomposition issues l.jpg

r

Neighbors

Cell Decomposition Issues


So how do we find the shortest path a algorithm hart et al 1968 l.jpg

  • Explores G(V,E) iteratively by following paths originating at the initial robot position vinit

  • For each OPEN node, only keep track of its minimum weight path from vinit

  • The set of all such paths forms a spanning treeT  Gof the vertices OPEN so far

  • Define a cost function f(v) = g(v) + h(v) where

    • g(v) is the distance from vinit to v

    • h(v) is a heuristic estimate of the distance from v to vgoal

  • Define a cost function k(v1,v2) = g(v1) + distance(v1,v2)

So how do we find the shortest path?A* Algorithm [Hart et al, 1968]


A algorithm cont d l.jpg

  • Define a list OPEN with the following operations

    • insert(OPEN, v) inserts node v into the list

    • delete(OPEN, v) removes node v from the list

    • minF(OPEN) returns the node v of minimum weight f(v) from OPEN, and removes it from the list

    • isMember(OPEN, v) returns TRUE if v is in the list, false otherwise

    • isEmpty(OPEN) returns TRUE if the list is empty, false otherwise

  • Define the following operations over our spanning tree T

    • insert(T, v2, v1) inserts node v2 into the tree with ancestor v1

    • delete(T, v) removes node v from the tree

A* Algorithm (cont’d)


A the algorithm latombe 1991 l.jpg
A* - The Algorithm (Latombe, 1991)

function A*(G, vinit, vgoal, h, k)

insert(T, vinit, nil); % vinit is the tree root

insert(OPEN, vinit);

while isEmpty(OPEN)==FALSE

v = minF(OPEN); % optimal node from f(v) metric

if v==vgoal

break;

end

for vPlus  adjacent(v) % All of the cells adjacent to cell v

if vPlus is NOT visited

insert(T, vPlus, v); % Expansion of spanning tree

insert(OPEN, vPlus);

else if g(vPlus)>g(v)+k(v,vPlus) % Better way to reach vPlus if true

delete(T, vPlus);

insert(T, vPlus, v); % Change ancestor to reflect better path

if isMember(OPEN, vPlus)

delete(OPEN, vPlus);

end

insert(OPEN, vPlus); % Change f(v) value to reflect better path

end

end

end % End while loop

if v==vgoal

return the path constructed from vgoal to vinit in T

else

return failure; % We didn’t find a valid path

end


The optimality of a l.jpg

  • The algorithm requires an admissible heuristich(v)

    where h*(v) is the optimal path distance from v to vgoal

  • For admissible h(v) A* is guaranteed to generate a minimum cost path from vinit to vgoal for the given cell decomposition

  • QUESTION: What would be a reasonable function choice for h(v)?

  • When h(v)=0 (a “non-informed” heuristic), A* reduces to our friend Dijkstra’s Algorithm

The Optimality of A*


A simulations l.jpg
A* Simulations

No Obstacles

Single Obstacle


A simulations cont d l.jpg
A* Simulations (cont’d)

Multiple Obstacles

No Path


Approximate cell summary l.jpg

  • PROS

    • Applicable to general obstacle geometries

    • With A*, provides shorter paths than exact decomposition

  • CONS

    • Performance a function of discretization resolution (δ)

      • Inefficiencies

      • Lost paths

      • Undetected collisions

    • Number of graph vertices |V| grows with δ2 and A* runs in O(|V|2) time -> O(δ4) running time

Approximate Cell Summary



Some background l.jpg

  • Introduced by Khatib [1986] initially as a real-time collision avoidance module, and later extended to motion planning

  • Robot motion is influenced by an artificial potential field – a force field if you will – induced by the goal and obstacles in C

  • The field is modeled by a potential functionU(x,y) over C

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

  • A shortcoming of the approach is the lack of performance guarantees: the robot can become trapped in local minima

  • Koditschek’s extension introduced the concept of a “navigation function” - a local-minima free potential function

Some Background…


Example application target tracking with obstacle avoidance l.jpg
Example Application: collision avoidance module, and later extended to motion planningTarget Tracking with Obstacle Avoidance


The idea l.jpg
The Idea… collision avoidance module, and later extended to motion planning

GOAL


Flashback what is the gradient l.jpg

  • In 2D, the gradient of a function collision avoidance module, and later extended to motion planningf is defined as

  • The gradient points in the direction where the derivative has the largest value (the greatest rate of increase in the value of f)

  • The gradient descent optimization algorithm searches in the opposite direction of the gradient to find the minimum of a function

  • Potential field methods employ a similar approach

Flashback: What is the Gradient?


Some characteristics of potential field approaches l.jpg

  • Potential fields can live in continuous space collision avoidance module, and later extended to motion planning

    • No cell decomposition issues

  • Local method

    • Implicit trajectory generation

    • Prior knowledge of obstacle positions not required

  • The bad: Weaker performance guarantees

Some Characteristics of Potential Field Approaches


Next time l.jpg

Next Time…


ad