the problem of the shortest path the classic dijkstra algorithm solution to this problem the...
TRANSCRIPT
INTRODUCTION TO MOTION PLANNINGJUREK CZYZOWICZ
UQO
• The problem of the shortest path• The classic Dijkstra algorithm solution to this problem • The adaptation of this solution to the problem of
robot motion planning• Point robot• Polygonal robot
• Other robot motion related problems
University of Liverpool, February 24th 2011 1
ALGORITHMICS
• Algorithm• Algorithm data• Example of an algorithm: searching in a
sequence• Sorting • Algorithm efficiency
University of Liverpool, February 24th 2011 2
EXAMPLES OF THE SHORTEST PATH PROBLEMS
• Compute the shortest mileage between Ottawa and San Francisco along North American roads
• Determine the earliest time of plane arrival to Liverpool departing from Ottawa after 4 p.m. today
• Determine if it is possible to reach a goal by a robot, moving in the plane among obstacles (starting from a given initial position)
• Find a path taking the smallest amount of time for a soldier traversing a terrain composed of regions of various maximal speeds
University of Liverpool, February 24th 2011 3
4
MODELISING THE SHORTEST PATH PROBLEM
The « crossings » of the path are represented by the vertices of the graph
The « traversals » between the crossings are represented by the arcs of the graph
The distances are represented by the weights of the arcs
University of Liverpool, February 24th 2011
200
550
320
660
Ottawa
Montréal
Boston
New York
5
F
D
E
B
C
THE DIJKSTRA ALGORITHM INTUITIVELY
Dijkstra (G, w, s) Initialize (G,s) Reds ¬ Æ Greens ¬ S While Greens ≠ Æ do X ¬ vertex from Greens with minimal d(X) Move vertex X from Greens to Reds Release all arcs outgoing from X
University of Liverpool, February 24th 2011
2
1
7
5
8
AB
D
C
F
E
3
4
24
6
5
2
7
1
9
6
5
7
Initialize (G,s): d(A) ¬ O for each other vertex X: d(X) ¬ ∞
Release (X,Y): if d(Y) < d(X) + weight (X,Y) then d(Y) ¬ d(X) + weight (X,Y)
0
Animation of the Dijkstra algorithm
A
6
MOTION PLANNING FOR POINT ROBOTS
University of Liverpool, February 24th 2011
I
F
A
B C
D
E
175
25
67
128
92
83
14593
85
1. Consider the obstacles’ sides
4. Compute the lengths of all segments (arcs) from points 1 to 35. For the weighted graph obtained above (visibility graph) execute the Dijkstra algorithm having the robot initial position as the source vertex
3. Determine the tangents to obstacles and initial et final robot positions
2. Determine the tangents to pairs of obstacles (visibility segments)
7
MOTION PLANNING FOR POLYGONAL ROBOT IN THE PLANE (MOVING BY TRANSLATION ONLY)
University of Liverpool, February 24th 2011
1. Fixe a reference point of the robot
4. The movement of the polygonal robot among the obstacles is equivalent to the movement of its reference point de amidst the enlarged obstacles
3. The curve traced by the reference point of the robot contouring the obstacle (staying in contact with it) forms an enlarged obstacle – the Minkowski sum of the robot and the obstacle
2. Determine the positions of the robot’s reference point while the robot is in contact with the obstacle
8
THE MOTION PLANNING ALGORITHM FOR A POLYGONAL ROBOT MOVING BY TRANSLATION IN THE POLYGONAL
ENVIRONMENT
University of Liverpool, February 24th 2011
1. Fix a reference point of the robot.
3. Solve the motion planning problem for the point robot moving among the enlarged obstacles.
2. Enlarge each obstacle of the environment (i.e. obtain the Minkowski sum of the obstacle and the robot).
An animation of the motion planning of polygonal robot
9
OTHER PROBLEMS CONCERNING ROBOT MOTION
Cégep de University of Liverpool, February 24th 2011
• General movement of the robot (admitting possibility of rotation)
• Motion in 3-dim• Environment evolution• Motion admitting bounded curvature• Motion admitting robot morphism • Exploration and searching • Visibility full or restraint
• Searching for an intruder• Collaborative work
• Other problems for mobile robots• Rendezvous• Pattern formation