|
|
| Topics Covered |
| Basic Motion Planning Problem - Configuration Space Formulation : |
| The basic idea is to represent
a robot as a point in a space (called the configuration space) and to map
the obstacles in this space. This mapping transforms the problem
of planning the motion of a dimensioned object into the problem of planning
the motion of a point. The motion planning problem thus becomes defining
a set of configurations from the initial state to the goal state in the
free space.
Assumptions :
Let A be the
robot (rigid object) moving in a Euclidean space W (called workspace),
represented RN, with N = 2 or 3 (depending on dimension - 2d
or 3d).
Let q be the
configuration of the Robot A. q of A is thus a specification of position
T and orientation 0 of FA with respect to FW.
Let B1,
... , Bi be fixed rigid objects distributed in W, called obstacles.
The problem can be defined thus;
|
| Planning Approaches : |
|
| Roadmap Methods : |
| Visibility Graph : |
The basic algorithm :
1. Construct the visibility Graph G.Construction of the Visibility Graph (a naive algorithm): ![]()
[To find references for algorithms refer Latombe, pg 157] Searching G for a path : Searching G can be done using various graph searching techniques. Whenever a path exists, it is returned; otherwise, a failure is reported. The search is done in time O(n2) or O(k log n) depending on the search technique. [Refer Latombe, pg 157 for reference to algorithms] |
| Voronoi Graph : |
| The Voronoi graph gives the network
of paths as far away from the obstacle as possible. Hence it tends
to maximise the clearance between the robot and the obstacles. When
C-Obstacles are polygons, the voronoi diagram consists of straight and
parabolic segments (eg. between two lines - V graph is a straight line
; between two points - V graph is a straight line; between a point and
a line - V graph is a parabolic segment).
Construction : ![]()
Let n be the number of vertices.
|
| Randomized Roadmap : |
| The Randomized roadmaps are used
when the dimension of Cfree is high.
Construction : ![]()
|