# Introduction to Mobile Robots Motion Planning - PowerPoint PPT Presentation

PPT – Introduction to Mobile Robots Motion Planning PowerPoint presentation | free to download - id: 41db09-OTMxM

The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
Title:

## Introduction to Mobile Robots Motion Planning

Description:

### Introduction to Mobile Robots Motion Planning Prof.: S. Shiry Pooyan Fazli M.Sc Computer Science Department of Computer Eng. and IT Amirkabir Univ. of Technology – PowerPoint PPT presentation

Number of Views:310
Avg rating:3.0/5.0
Slides: 104
Provided by: Pooyan
Category:
Tags:
Transcript and Presenter's Notes

Title: Introduction to Mobile Robots Motion Planning

1
Introduction to Mobile Robots Motion Planning
• Prof. S. Shiry
• Pooyan Fazli
• M.Sc Computer Science
• Department of Computer Eng. and IT
• Amirkabir Univ. of Technology
• (Tehran Polytechnic)

2
What is Motion Planning?
• Determining where to go

3
The World consists of...
• Obstacles
• Already occupied spaces of the world
• In other words, robots cant go there
• Free Space
• Unoccupied space within the world
• Robots might be able to go here
• To determine where a robot can go, we need to
discuss what a Configuration Space is

4
Notion of Configuration Space
• Main Idea Represent the robot as a point, called
a configuration, in a parameter space, the
configuration space (or C-space).
• Importance Reduce the problem of planning the
motion of a robot in Euclidean Space to planning
the motion of a point in C-space.

5
C-space of Rigid Object
6
C-space of Rigid Object
7
C-space of Rigid Object
8
C-space of Rigid Object
• Robot Configurations Can be
• 1. Free configurations robot and obstacles do
not overlap
• 2. Contact configurations robot and obstacles
touch
• 3. Blocked configurations robot and obstacles
overlap
• Configuration Space partitioned into free
(Cfree), contact, and blocked sets.

9
Obstacles in C-space
Cspace Cfree Cobstacle
10
Example of a World (and Robot)
11
The Configuration Space
• How to create it
• First abstract the robot as a point object.
Then, enlarge the obstacles to account for the
robots footprint and degrees of freedom
• In our example, the robot was circular, so we
simply enlarged our obstacles by the robots

12
Configuration Space Accommodate Robot Size
13
Paths in C-Space
14
Motion Planning
• General Goal compute motion commands to achieve
a goal
• arrangement of physical objects from an
initial arrangement
• Basic problem Collision-free path planning for
one rigid or articulated object (the robot)
among static obstacles.
• Inputs
• geometric descriptions of the obstacles and the
robot
• kinematic and dynamic properties of the robot
• initial and goal positions (configurations) of
the robot
• Output
• Continuous sequence of collision-free
configurations connecting the initial and goal
configurations

15
Motion Planning
• Path planning
• design of only geometric (kinematic)
specifications of the positions and
• orientations of robots
• Trajectory Path assignment of time to points
along the path
• Trajectory planning
• path planning design of linear and
angular velocities
• Motion Planning (MP), a general term, either
• Path planning, or
• Trajectory planning
• Path planning lt Trajectory planning

16
Extensions to the Basic Problem
• movable obstacles
• moving obstacles
• multiple robots
• incomplete knowledge/uncertainty in geometry,
sensing, etc.

17
Multiple Robots, Moving/Movable Obstacles
18
Classification of MP algorithms
• Completeness
• Exact
• usually computationally expensive
• Heuristic
• aimed at generating a solution in a short time
• may fail to find solution or find poor one at
difficult problems
• important in engineering applications
• Probabilistically complete (probabilistic
completeness ?1)

19
Classification of MP algorithms
• Scope
• Global
• take into account all environment information
• plan a motion from start to goal configuration
• Local
• avoid obstacles in the vicinity of the robot
• use information about nearby obstacles only
• used when start and goal are close together
• used as component in global planner, or
• used as safety feature to avoid unexpected
obstacles not present in environment model, but
sensed during motion

20
Classification of MP Algorithms
• Point-to-point
• Region filling

21
Point-to-point Path Planning
• Point-to-point path planning looks for the best
route to move an entity
• from point A to point B while avoiding known
obstacles in its path, not
• leaving the map boundaries, and not
violating the entity's mobility
• constraints.
• This type of path planning is used in a large
number of
• robotics and gaming applications such as
finding routes for
• autonomous robots, planning the
manipulator's movement of a
• stationary robot, or for moving entities to
different locations in a map
• to accomplish certain goals in a gaming
application.

22
Region Filling Path Planning
• Tasks such as vacuuming a room, plowing a field,
or mowing a lawn
• require region filling path planning
operations that are defined as
• follows
• 1) The mobile robot must move through an entire
area, i.e., the overall travel must
• cover a whole region.
• 2) Continuous and sequential operation without
any repetition of paths is
• required of the robot.
• 3) The robot must avoid all obstacles in a
region.
• 4) An "optimal" path is desired under the
available conditions.

23
Motion Planning Statement
• The Problem
• Given an initial position and orientation POinit
• Given a goal position and orientation POgoal
• Generate continuous path t from POinit to
POgoal
• t is a continuous sequence of Pos

24
The Wavefront Planner
• A common algorithm used to determine the shortest
paths between two points
• In essence, a breadth first search of a graph
• For simplification, well present the world as a
two-dimensional grid
• Setup
• Label free space with 0
• Label C-Obstacle as 1
• Label the destination as 2

25
Representations A Grid
• Distance is reduced to discrete steps
• For simplicity, well assume distance is uniform
• Direction is now limited from one adjacent cell
to another

26
Representations Connectivity
• 4-Point Connectivity
• 8-Point Connectivity

27
The Wavefront Planner Setup
28
The Wavefront in Action (Part 1)
• Starting with the goal, set all adjacent cells
with 0 to the current cell 1
• 4-Point Connectivity or 8-Point Connectivity?
• Your Choice. Well use 8-Point Connectivity in
our example

29
The Wavefront in Action (Part 2)
• Now repeat with the modified cells
• This will be repeated until no 0s are adjacent
to cells with values gt 2
• 0s will only remain when regions are unreachable

30
The Wavefront in Action (Part 3)
• Repeat again...

31
The Wavefront in Action (Part 4)
• And again...

32
The Wavefront in Action (Part 5)
• And again until...

33
The Wavefront in Action (Done)
• Youre done
• Remember, 0s should only remain if unreachable
regions exist

34
The Wavefront, Now What?
• To find the shortest path, according to your
metric, simply always move toward a cell with a
lower number
• The numbers generated by the Wavefront planner
are roughly proportional to their distance from
the goal

Two possible shortest paths shown
35
• Idea capture the connectivity of Cfree with a
roadmap (graph or network) of one-dimensional
curves

36
37
• Accessibility there exists a collision-free path
from the start to the road map
• Departability there exists a collision-free path
from the roadmap to the goal.
• Connectivity there exists a collision-free path
from the start to the goal (on the roadmap).
• Visibility Graph
• Generalized Voronoi Graph (GVG)

38
39
Visibility Graph of C-Space
40
The Visibility Graph in Action (Part 1)
• First, draw lines of sight from the start and
goal to all visible vertices and corners of the
world.

goal
start
41
The Visibility Graph in Action (Part 2)
• Second, draw lines of sight from every vertex of
every obstacle like before. Remember lines along
edges are also lines of sight.

goal
start
42
The Visibility Graph in Action (Part 3)
• Second, draw lines of sight from every vertex of
every obstacle like before. Remember lines along
edges are also lines of sight.

goal
start
43
The Visibility Graph in Action (Part 4)
• Second, draw lines of sight from every vertex of
every obstacle like before. Remember lines along
edges are also lines of sight.

goal
start
44
The Visibility Graph (Done)
• Repeat until youre done.

goal
start
45
Reduced Visibility Graphs
• Idea we don't really need all the edges in the
visibility graph (even if we want shortest paths)
• Definition Let L be the line passing through an
edge (x,y) in the visibility graph G. The segment
(x,y) is a tangent segment iff L is tangent to CB
at both x and y.

46
Reduced Visibility Graphs
47
48
49
Retraction Example Generalized Voronoi Diagrams
• A GVG is formed by paths equidistant from the two
closest objects
• This generates a very safe roadmap which avoids
obstacles as much as possible

50
Retraction Example Generalized Voronoi Diagrams
51
Retraction Example Generalized Voronoi Diagrams
52
Generalized Voronoi Diagrams
53
Generalized Voronoi Diagrams
54
Generalized Voronoi Diagrams
55
Generalized Voronoi Diagrams
56
Cell Decomposition Methods
57
Cell Decomposition Methods
58
Exact Cell Decomposition Method
59
Exact Cell Decomposition Method
60
Path Planning with a Convex Polygonal
Decomposition
61
Exact Cell Decompositions Trapezoidal
Decomposition
• A way to divide the world into smaller regions
• Assume a polygonal world

62
Exact Cell Decompositions Trapezoidal
Decomposition
63
Applications Coverage
• By reducing the world to cells, weve essentially
abstracted the world to a graph.

64
Find a path
• By reducing the world to cells, weve essentially
abstracted the world to a graph.

65
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
66
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
67
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
68
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
69
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
70
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
71
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
72
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
73
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
74
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
75
Find a path
• With an adjacency graph, a path from start to
goal can be found by simple traversal

start
goal
76
Approximate Cell Decomposition
• Idea construct a collection K of non-overlapping
cells such that the union of all the cells
approximately covers the free C-space

77
Approximate Decomposition into Rectangloids
• A rectangloid decomposition K of C is a finite
collection of interior disjoint rectangloids
(cells) such that
• Cells and are adjacent if they share a
boundry

78
Approximate Decomposition into Rectangloids
79
Channels and Paths in Rectangloid Decomposition
80
Path Planning with a Rectangloid Decomposition
81
Hierarchical Path Planning
82
Potential Field Method
83
Potential Field Methods
84
Potential Field
85
The Field of Artificial Forces
86
The Attractive Potential
87
The Attractive Potential
88
The Attractive Potential
89
The Attractive Potential
90
The Repulsive Potential
91
The Repulsive Potential
92
The Repulsive Potential
93
Local Minimum Problem with the Charge Analogy
94
Escaping Local Minima - Random Motions
95
96
RRT
• Rapidly Exploring Random Tree (LaValle 1998)
• Explores continuous spaces efficiently
• Can form the basis for a probabilistically
complete path planner
• Basic RRT Algorithm
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)

97
Basic RRT Example
98
RRT Demo
99
CMDragon Small Size Team
100
ERRT RRT Waypoint Cache
• Plain RRT planner has little bias toward plan
quality, and replanning is
• naive (all previous information is thrown
out before replanning).
• Waypoints
• Previously successful plans can guide new
search
• Biases can be encoded by modifying the
target point distribution
• Waypoint Cache
• When a plan is found, store nodes into a
bin with random replacement
• During target point selection, choose a
random item from waypoint
• cache with probability q

101
RRT-GoalBias Algorithm
configuration as root of tree
• (2) Pick a target state
• - goal configuration with probability p
• - random state from waypoint cache with
probability q
• - random configuration with probability 1 - p
- q
• (3) Find the closest node in the tree
• (4) Extend that node toward the state if
possible
• (5) Goto (2)

102
Demos
• Movie 1
• Movie 2
• Movie 3

103
References
• Seth Hutchinson at the University of Illinois at
Urbana-Champaign
• Leo Joskowicz at Hebrew University,
• Jean-Claude Latombe at Stanford University,
• Nancy Amato at Texas AM University.