Path planning in mobile robotics (PDF, 1.7Mb, 48 σελίδες) - Εθνικό ...
Path planning in mobile robotics (PDF, 1.7Mb, 48 σελίδες) - Εθνικό ...
Path planning in mobile robotics (PDF, 1.7Mb, 48 σελίδες) - Εθνικό ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Ε.Μ.Π., ΣΗΜΜΥ, Ακαδημαϊκό Έτος 2010-11, 8ο Εξάμηνο<br />
Μάθημα: Ρομποτική ΙΙ. Διδάσκων: Κ.Τζαφέστας<br />
ΕΝΟΤΗΤΑ 2:<br />
Αυτόνομα Ευφυή Κινούμενα<br />
Ρομποτικά Συστήματα<br />
Σχεδιασμός Δρόμου – Πλοήγηση<br />
(path-<strong>plann<strong>in</strong>g</strong>, navigation)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Αυτόνομα Ευφυή Κινούμενα Ρομπότ<br />
– Περιεχόμενα Ενότητας<br />
• Μηχανισμοί Κίνησης στο χώρο (locomotion)<br />
• Αισθητήριες Διατάξεις (sens<strong>in</strong>g)<br />
– Proprioception (<strong>in</strong>ternal state ) / Exteroception etc.<br />
– Σύνθεση αισθητηρίων πληροφοριών (sensor fusion)<br />
• Αρχιτεκτονικές ελέγχου<br />
(<strong>mobile</strong> robot control architectures)<br />
• Αυτοεντοπισμός θέσης / Χαρτογράφηση<br />
(self-localisation / map-build<strong>in</strong>g)<br />
• Σχεδιασμός Δρόμου - Πλοήγηση<br />
(path <strong>plann<strong>in</strong>g</strong> / navigation)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
perception<br />
action<br />
1<br />
motion<br />
control<br />
sens<strong>in</strong>g<br />
reason<strong>in</strong>g<br />
2
Βασικό Σχήμα Αρχιτεκτονικής Ελέγχου<br />
Αντίληψη<br />
(Perception)<br />
Αίσθηση<br />
(sens<strong>in</strong>g)<br />
Μοντελοποίηση<br />
(Model)<br />
Σχεδιασμός Δράσης<br />
(Plan)<br />
Περιβάλλον<br />
(environment)<br />
Εκτέλεση εργασίας<br />
(Execute)<br />
Έλεγχος<br />
(Motor Control)<br />
Δράση<br />
(action)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Σχεδιασμός Κίνησης / Δρόμου<br />
(motion / path <strong>plann<strong>in</strong>g</strong>)<br />
Motion / <strong>Path</strong> Planner<br />
Ενδιάμεσοι στόχοι<br />
Trajectory Generator<br />
Controller<br />
Ομαλή τροχιά<br />
Motors / sensors / hardware<br />
Σήματα ελέγχου (to jo<strong>in</strong>t controllers/drivers)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
3<br />
4
Σχεδιασμός Κίνησης: Το βασικό πρόβλημα<br />
Πρόβλημα: Αρχική θέση (διάταξη) C 0 Τελική θέση C f<br />
Σχεδιασμός δρόμου: εύρεση «βέλτιστης» ακολουθίας ενδιάμεσων θέσεων C i<br />
Σχεδιασμός τροχιάς: υπολογισμός «ομαλής» τροχιάς ...<br />
C 0<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Αλγόριθμοι Σχεδιασμού Δρόμου<br />
Αλγόρθμοι σχεδιασμού δρόμου: υποθέσεις / απαιτήσεις<br />
• Παράσταση/μοντελοποίηση περιβάλλοντος & ρομπότ<br />
• Εγκυρότητα λύσεων (soundness)<br />
• Πληρότητα αλγορίθμων (completeness)<br />
• «Βέλτιστες» λύσεις (optimality)<br />
• Πολυπλοκότητα αλγορίθμων (space/time complexity)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
C f<br />
5<br />
6
Παράσταση Χώρου Κίνησης (1)<br />
Mobile Robot Workspace Obstacles | Free-space<br />
1. Spatial Decomposition<br />
Grid-based representations (occupancy grids)<br />
Sample environment Uniform decomposition<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Παράσταση Χώρου Κίνησης (2)<br />
1. Spatial Decomposition (occupancy grids) (συνέχεια)<br />
Quadtree (or octree) representations<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
7<br />
8
Παράσταση Χώρου Κίνησης (3)<br />
1. Spatial Decomposition (occupancy grids) (συνέχεια)<br />
B<strong>in</strong>ary Space Partition<strong>in</strong>g trees (BSP) Exact Decomposition<br />
1<br />
2 3<br />
4<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Παράσταση Χώρου Κίνησης (4)<br />
2. Geometric Representations (Γεωμετρικά μοντέλα χώρου κίνησης)<br />
• 2D maps: po<strong>in</strong>ts, l<strong>in</strong>es, l<strong>in</strong>e segments, polynomials etc.<br />
(π.χ. παράσταση κάτοψης χώρου κίνησης: τοίχοι, πόρτες, διάδρομοι κλπ.)<br />
• 3D maps: po<strong>in</strong>ts, planar surfaces, polyhedra, ellipsoids etc.<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
2<br />
1<br />
3<br />
4<br />
Μετρικοί χάρτες<br />
(metric maps)<br />
9<br />
10
Παράσταση Χώρου Κίνησης (5)<br />
3. Topological Representations (Τοπολογικά μοντέλα χώρου κίνησης)<br />
Metric vs. Topological representations<br />
Metric: exact, analytical representations<br />
Topological: graph representations approximate (global) regions<br />
1 2 3<br />
[1] [2] [3]<br />
[4]<br />
5<br />
4<br />
1 2 3<br />
4<br />
Metric representation Topological representation<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Παράσταση του κινούμενου ρομπότ (1)<br />
Configuration Space (C-space) (Χώρος Διάταξης του Ρομπότ)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
[1]<br />
5<br />
[2]<br />
[4]<br />
[3]<br />
11<br />
12
Παράσταση του κινούμενου ρομπότ (2)<br />
Configuration Space (C-space) (συνέχεια)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Παράσταση του κινούμενου ρομπότ (3)<br />
Configuration Space (C-space) (συνέχεια)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
13<br />
14
Παράσταση του κινούμενου ρομπότ (4)<br />
Configuration Space (C-space) (συνέχεια)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Παράσταση του κινούμενου ρομπότ (5)<br />
Configuration Space (C-space) (συνέχεια)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
15<br />
16
Μεθοδολογίες Σχεδιασμού Δρόμου<br />
Σχεδιασμός δρόμου κινούμενων ρομπότ (robot path <strong>plann<strong>in</strong>g</strong>)<br />
• Μέθοδοι «οδικού χάρτη» (roadmap methods)<br />
Visibility graph, Voronoi diagrams, silhouettes,<br />
probabilistic roadmaps, etc.<br />
• Γράφοι συννεκτικότητας (connectivity graphs)<br />
Exact or Approximate cell decomposition<br />
• Μέθοδος Δυναμικών πεδίων (potential fields)<br />
Local collision avoidance / Global navigation functions<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Σχεδιασμός Δρόμου σε Διακριτό Χώρο<br />
Γενική Ρουτίνα Αναζήτησης σε Γράφο (graph search)<br />
1. Procedure GraphSearch(s, goal)<br />
2. OPEN = {s}; CLOSED = {};<br />
3. found=false;<br />
4. while (OPEN ≠∅) and (not found)<br />
5. Select a node n from OPEN;<br />
6. OPEN = OPEN –{n}; CLOSED = CLOSED ∪ {n}<br />
«Επισκέψιμοι κόμβοι»<br />
Εαν OPEN: ουρά (queue) breadth-first<br />
Εαν OPEN: στοίβα (stack) depth-first<br />
Εαν OPEN: ordered us<strong>in</strong>g an evaluation<br />
function f (n) best-first<br />
7. if n ∈ goal then<br />
8. found = true;<br />
9. else<br />
10. Let M the set of all nodes accessible from n and not <strong>in</strong> CLOSED<br />
11. OPEN = OPEN ∪ M ;<br />
12. end-if<br />
13. end-while<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
17<br />
18
Αλγόριθμος Dijkstra<br />
(S<strong>in</strong>gle-Source Shortest <strong>Path</strong>)<br />
Procedure Dijkstra(G, s)<br />
1. Initialize_S<strong>in</strong>gle_Source(G, s)<br />
2. OPEN = {s}; CLOSED = {};<br />
3. found=false;<br />
4. while (OPEN ≠∅) and (not found)<br />
5. Select a node: u Extract_M<strong>in</strong>(OPEN);<br />
6. OPEN = OPEN –{u}; CLOSED = CLOSED ∪ {u}<br />
7. if u ∈ goal then found = true;<br />
8. else<br />
9. for each node v ∈ Adjacency(u) and v ∉ CLOSED<br />
10. OPEN = OPEN ∪ v;<br />
11. Relax(u, v, w);<br />
12. end-if<br />
13. end-while<br />
Weights(G)<br />
(Υπόθεση: w≥0)<br />
Initialize_S<strong>in</strong>gle_Source(G, s)<br />
1. For each node v ∈ V(G)<br />
2. d[v] = ∞;<br />
3. π[v] = NULL;<br />
4. d[s] = 0;<br />
Relax(u, v, w)<br />
1. if d[u] + w(u, v) < d[v]<br />
2. d[v] = d[u] + w(u, v);<br />
3. π[v] = u;<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Αλγόριθμος Dijkstra –<br />
Παράδειγμα Εφαρμογής (1)<br />
Start with upper bound<br />
(d[u]: shortest-path distance to u)<br />
(π[v]: predecessor of v, <strong>in</strong><br />
shortest-path tree)<br />
Relax bounds at each step<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
19<br />
20
«Μέτωπο εξερεύνησης»<br />
αλγορίθμου Dijkstra<br />
Αλγόριθμος Dijkstra –<br />
Παράδειγμα Εφαρμογής (2)<br />
Αποτέλεσμα αλγορίθμου Dijkstra σε<br />
πρόβλημα με «παγίδα»<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Αλγόριθμος Α*<br />
(S<strong>in</strong>gle-Pair Shortest <strong>Path</strong>)<br />
1.<br />
Procedure A*(G, s, goal)<br />
Initialization: d[s]=0; f[s]=d[s]+h(s); π[s]=null;<br />
2.<br />
3.<br />
OPEN = {s}; CLOSED = {};<br />
while (OPEN ≠∅)<br />
f[.]: cost associated with each node<br />
d[.]: distance from start node s<br />
h(.): heuristic estimated distance to goal<br />
4. Select a node: u Get_Best_Node(OPEN); /* m<strong>in</strong> f[u] */<br />
5. if (u == goal) then return true;<br />
6. for each node v ∈ Adjacency(u)<br />
7. new_f = d[u] + w(u, v) + h(v) ; Heuristic function h[.]:<br />
8. if (new_f < f[v]) then<br />
estimated distance to target<br />
9. d[v] = d[u] + w(u, v); f[v] = new_f; π[v] = u;<br />
10. Add v to OPEN;<br />
11.<br />
12.<br />
end-if<br />
end-for<br />
π[v]: predecessor of v, <strong>in</strong><br />
shortest-path tree<br />
13. Remove u from OPEN ; Add u to CLOSED;<br />
14. end-while<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
21<br />
22
«Μέτωπο εξερεύνησης»<br />
αλγορίθμου αναζήτησης Α*<br />
Αλγόριθμος Α*<br />
Παράδειγμα Εφαρμογής<br />
Αποτέλεσμα αλγορίθμου Α* σε<br />
πρόβλημα με «παγίδα»<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Μεθοδολογίες «Οδικού Χάρτη»<br />
(roadmap path-<strong>plann<strong>in</strong>g</strong> methods) (1)<br />
1. Γράφος «ορατότητας» (visibility graph <strong>plann<strong>in</strong>g</strong>):<br />
G = (V,E), V: κορυφές εμποδίων (vertices), Ε: ακμές που<br />
συνδέουν «ορατές» μεταξύ τους κορυφές (edges)<br />
start<br />
s<br />
goal<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
23<br />
24
Μεθοδολογίες «Οδικού Χάρτη»<br />
(roadmap path-<strong>plann<strong>in</strong>g</strong> methods) (2)<br />
2. Διάγραμμα Voronoi (Voronoi diagrams):<br />
γεωμετρικός τόπος σημείων που απέχουν εξίσου (equidistant)<br />
από τα πλησιέστερα δύο εμπόδια του χώρου<br />
V 1<br />
V 5<br />
E 5<br />
E 4<br />
E7<br />
E 1<br />
V 4<br />
V 7<br />
V 2<br />
E 3<br />
E 6<br />
E 2<br />
V 6<br />
V 3<br />
Vor(C free ): maximizes “clearance”<br />
straight-l<strong>in</strong>es: {configurations} closest<br />
to a pair of edges, or vertices, i.e.<br />
(edge,edge) or (vertex,vertex)<br />
(διχοτόμος) (μεσοκάθετος)<br />
parabolic arc: {configurations} closest<br />
to a pair (edge, vertex)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Μεθοδολογίες «Οδικού Χάρτη» (3):<br />
Πιθανοτικές Μέθοδοι<br />
Πιθανοτικοί Οδικοί Χάρτες<br />
(Probabilistic Roadmaps – PRM)<br />
Πιθανοτικές Μέθοδοι<br />
Μέθοδοι «δειγματοληψίας»<br />
Rapidly explor<strong>in</strong>g Random Trees<br />
(RRT)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
25<br />
26
Πιθανοτικοί «Οδικοί Χάρτες» (1)<br />
(Probabilistic Roadmaps – PRM)<br />
3. «Πιθανοτικοί» οδικοί χάρτες δειγματοληψία χώρου<br />
Α* αναζήτηση<br />
Έλεγχος συμβατότητας<br />
Αρχική θέση Στόχος Δειγματοληψία χώρου κίνησης<br />
Κατασκευή Γράφου<br />
Βέλτιστη Διαδρομή<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Πιθανοτικοί «Οδικοί Χάρτες» (2)<br />
(Probabilistic Roadmaps)<br />
Δειγματοληψία Χώρου<br />
(χώρος διατάξεων - configuration space)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
27<br />
28
Πιθανοτικοί «Οδικοί Χάρτες» (3)<br />
(Probabilistic Roadmaps)<br />
Δειγματοληψία Χώρου (Sampl<strong>in</strong>g_strategy)<br />
Δημιουργία τυχαίων σημείων στο χώρο ρομποτικών διατάξεων<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Πιθανοτικοί «Οδικοί Χάρτες» (4)<br />
(Probabilistic Roadmaps)<br />
Έλεγχος Συμβατότητας ( free configurations)<br />
Διατήρηση τυχαίων σημείων στον «ελεύθερο» χώρο διατάξεων<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
29<br />
30
Πιθανοτικοί «Οδικοί Χάρτες» (5)<br />
(Probabilistic Roadmaps)<br />
Διασύνδεση «γειτονικών» κόμβων<br />
(neighbour_strategy + verify_path)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Πιθανοτικοί «Οδικοί Χάρτες» (6)<br />
(Probabilistic Roadmaps)<br />
Αλγόριθμος κατασκευής πιθανοτικού γράφου PRM<br />
{V, E}<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
31<br />
32
Πιθανοτικοί «Οδικοί Χάρτες» (7)<br />
(Probabilistic Roadmaps)<br />
Γράφος στον «ελεύθερο» χώρο διατάξεων<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Πιθανοτικοί «Οδικοί Χάρτες» (8)<br />
(Probabilistic Roadmaps)<br />
Αναζήτηση βέλτιστης διαδρομής στο γράφο<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
33<br />
34
Σχεδιασμός Δρόμου με «Γράφους Συννεκτικότητας»<br />
(connectivity graphs) (1)<br />
1. Exact cell decomposition: Διάσπαση του χώρου C free σε ένα<br />
υποσύνολο από μη-επικαλυπτόμενες υποπεριοχές (cells), και<br />
δημιουργία του «γράφου συννεκτικότητας» (connectivity graph)<br />
start<br />
s<br />
1<br />
2<br />
10<br />
8<br />
9<br />
7<br />
3<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
6<br />
5<br />
13<br />
4<br />
12<br />
11<br />
goal<br />
Σχεδιασμός Δρόμου με «Γράφους Συννεκτικότητας»<br />
(connectivity graphs) (2)<br />
1. Exact cell decomposition (συνέχεια)<br />
start<br />
s<br />
1<br />
2<br />
10<br />
8<br />
9<br />
7<br />
3<br />
goal<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
6<br />
5<br />
13<br />
4<br />
12<br />
11<br />
35<br />
36
Μεθοδολογίες «Δυναμικών Πεδίων»<br />
(potential fields methods) (1)<br />
• «Τεχνητά δυναμικά πεδία» (artificial potential fields)<br />
Εμπόδια: “repulsive” potential field Urep (q)<br />
Στόχος: “attractive” potential field Uatt (q)<br />
• Ένα τεχνητό δυναμικό πεδίο πλοήγησης μπορεί:<br />
να αντανακλά την τοπική πληροφορία ύπαρξης εμποδίων<br />
στο χώρο κίνησης «τοπική αποφυγή εμποδίων»<br />
(Πρόβλημα: ύπαρξη τοπικών ελαχίστων – local m<strong>in</strong>ima)<br />
να αντανακλά τη συνολική εικόνα του ελεύθερου χώρου<br />
διατάξεων Cfree , μέσω μιας ιδανικής συνάρτησης πλοήγησης<br />
(navigation function) με ένα μόνο ολικό ελάχιστο στο στόχο.<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Μεθοδολογίες «Δυναμικών Πεδίων»<br />
(potential fields methods) (2)<br />
• Γενική δομή μεθοδολογίας δυναμικών πεδίων:<br />
F(q) = –∇U(q), και U(q) = U att (q) + U rep (q)<br />
Στόχος: “attractive” potential field U att (q)<br />
1<br />
2<br />
Uatt ( q) = ⋅Katt ⋅ρgoal(<br />
q)<br />
2<br />
όπου<br />
ρ ( q) = q−qgoal F ( q) =−∇ U ( q) =−K ⋅ρ ( q) ∇ ρ ( q) =−K ⋅ q−q και att att att goal goal att ( goal)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
37<br />
38
Μεθοδολογίες «Δυναμικών Πεδίων»<br />
(potential fields methods) (3)<br />
Εμπόδια: “repulsive” potential field<br />
όπου<br />
και<br />
ρ<br />
U<br />
rep<br />
n<br />
=∑<br />
k= 1<br />
obstk<br />
U ( q) U ( q)<br />
2<br />
⎧1 ⎛ 1 1 ⎞<br />
⎪ ⋅K ⋅⎜ − ⎟ , óταν ρ ( q)<br />
≤ρ0<br />
= ⎨ ⎝ ⎠<br />
⎪<br />
⎩ 0 , óταν ρk ( q)<br />
> ρ0<br />
rep k<br />
obst ( q) k 2 ρk( q)<br />
ρ0<br />
q = q−q′ k ( ) m<strong>in</strong><br />
q′∈<br />
obstk<br />
F ( q) =−∇U ( q)<br />
obstk obstk<br />
⎛ 1 1 ⎞ 1<br />
⇒ Fobst ( q) = K ( ), ( )<br />
k<br />
rep ⋅⎜ − ρ 2<br />
k ρkρ0 ρk( ) ρ<br />
⎟⋅<br />
⋅∇ q óταν q ≤<br />
⎝ q 0 ⎠ ρk(<br />
q)<br />
F rep<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
q<br />
U rep<br />
Μεθοδολογίες «Δυναμικών Πεδίων»<br />
(potential fields methods) (4)<br />
(a) (b) (c)<br />
U att(q)<br />
(d)<br />
U rep(q)<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
q<br />
39<br />
U(q) = U att+U rep<br />
40
Ρομποτικός Σχεδιασμός Δρόμου<br />
οδηγούμενος από «Δυναμικά Πεδία» (1)<br />
“Potential-guided” path <strong>plann<strong>in</strong>g</strong>: local collision avoidance<br />
Το ρομπότ μοντελοποιείται ως μια σημειακή μάζα στο χώρο<br />
κατάστασης, κινούμενη υπό την επίδραση του πεδίου δυνάμεων:<br />
F(q) = –∇U(q) on-l<strong>in</strong>e path generation<br />
a. Depth-First, without backtrack<strong>in</strong>g (σε κάθε βήμα i: qi qi+1 )<br />
a(qi) = F(qi)/||F(qi)|| και<br />
( <strong>in</strong>crement δi : no collision <strong>in</strong><br />
the segment qi qi+1 )<br />
qi+ 1 = qi + δi⋅ ai<br />
qi ∂U<br />
= qi + δi⋅<br />
∂qi<br />
qi<br />
(i) Steepest-descent of the potential function<br />
(ii) Problem of local-m<strong>in</strong>ima<br />
( ) ( )<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Ρομποτικός Σχεδιασμός Δρόμου<br />
οδηγούμενος από «Δυναμικά Πεδία» (2)<br />
“Reactive” collision avoidance based on artificial potential fields<br />
Παράδειγμα: Τοπική («ανακλαστική») αποφυγή εμποδίων<br />
Σύγκλιση σε στόχο με παράλληλη τοπική αποφυγή εμποδίων<br />
Πρόβλημα: πιθανή ύπαρξη τοπικών ελαχίστων<br />
local<br />
Σύγκλιση στο στόχο Αποφυγή εμποδίου Τοπικό ελάχιστο<br />
στόχος<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
goal<br />
41<br />
42
Ρομποτικός Σχεδιασμός Δρόμου<br />
οδηγούμενος από «Δυναμικά Πεδία» (3)<br />
b. (Greedy) Best-First με backtrack<strong>in</strong>g (GC: grid of configurations q i )<br />
Αναδρομική κατασκευή ενός δέντρου T, με κόμβους στο GC και το qstart ως «ρίζα».<br />
Σε κάθε βήμα, ο αλγόριθμος «επισκέπτεται» όλους τους p-γείτονες (p-connectivity,<br />
συνήθως p=4 ή p=8) του φύλλου του Τ με τη μικρότερη τιμή δυναμικού (best-first),<br />
και προσθέτει ως παιδιά τους κόμβους του GC που δεν ανήκουν ήδη στο Τ, και που<br />
το δυναμικό τους δεν ξεπερνά κάποιο ανώτατο κατώφλι ( εμπόδιο).<br />
Για κάθε κόμβο του Τ διατηρούμε και ένα δείκτη προς τον «πατέρα», με στόχο την<br />
ανακατασκευή της βέλτιστης διαδρομής, όταν φτάσουμε στο qgoal .<br />
Best-First με backtrack<strong>in</strong>g (επανιχνηλάτηση): Διακριτή προσέγγιση του steepestdecent<br />
(πλέον απότομης κατάβασης ή μέγιστης κλίσης), αλλά όταν φτάσουμε σε<br />
κάποιο τοπικό ελάχιστο ο αλγόριθμος «οπισθοδρομεί»(«πλημμυρίζοντας το<br />
πηγάδι» του τοπικού ελαχίστου) μέχρις ότου «ξεφύγει», συνεχίζοντας την<br />
αναζήτηση της βέλτιστης διαδρομής προς το στόχο.<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Ρομποτικός Σχεδιασμός Δρόμου<br />
οδηγούμενος από «Δυναμικά Πεδία» (4)<br />
b. Αλγόριθμος Best-First-Plann<strong>in</strong>g (συνέχεια)<br />
1. Procedure BFP;<br />
2. Install q<strong>in</strong>it <strong>in</strong> T; INSERT(q<strong>in</strong>it <strong>in</strong> OPEN); Mark q<strong>in</strong>it as visited;<br />
3. success=false;<br />
4. while (OPEN ≠∅) and (not success)<br />
5. (Select a node q from OPEN) ⇒ q = BEST(OPEN);<br />
6. For every neighbor q’of q <strong>in</strong> GC do<br />
7. if U( q’) < Max and q’not visited, then<br />
8. Install q’ <strong>in</strong> T; INSERT(q’, OPEN); Mark q’as visited;<br />
9. if q’= qgoal then success = true;<br />
10. end-if<br />
11. end-while<br />
12. if (success) then return the constructed path by trac<strong>in</strong>g back the po<strong>in</strong>ters<br />
<strong>in</strong> T from qgoal to q<strong>in</strong>it <strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
43<br />
44
Ρομποτικός Σχεδιασμός Δρόμου με<br />
«Συνάρτηση Πλοήγησης» (1)<br />
Κατασκευή Γενικής Συνάρτησης Πλοήγησης (global navigation<br />
function) με βάση αλγορίθμους “wavefront expansion”<br />
α. Κατασκευή «χάρτη απόστασης» (distance map) από το στόχο<br />
Global Distance Map: Global vs. Local <strong>Path</strong> Plann<strong>in</strong>g<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Ρομποτικός Σχεδιασμός Δρόμου με<br />
«Συνάρτηση Πλοήγησης» (2)<br />
Κατασκευή Συνάρτησης Πλοήγησης (global navigation function)<br />
με βάση αλγορίθμους “wavefront expansion” (συνέχεια)<br />
β. Κατασκευή «χάρτη απόστασης» (distance map) από εμπόδια<br />
8<br />
7<br />
6<br />
5<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
3<br />
3<br />
3<br />
3<br />
3<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
2<br />
2<br />
2<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
1<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
0<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
1<br />
1<br />
1<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
2<br />
2<br />
2<br />
2<br />
2<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
3<br />
3<br />
3<br />
3<br />
3<br />
3<br />
3<br />
4<br />
5<br />
8<br />
7<br />
6<br />
5<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
4<br />
5<br />
Δημιουργία “skeletons”as roadmaps<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
45<br />
46
Ρομποτικός Σχεδιασμός Δρόμου με<br />
«Συνάρτηση Πλοήγησης» – Εφαρμογή<br />
«Human-Demonstration» of Desired Mobile Robot Trajectory<br />
(Tele-<strong>plann<strong>in</strong>g</strong>)<br />
Active Assistance Functions:<br />
collision avoidance / motion guides<br />
Animation–1<br />
Video Clip<br />
Pre-View<strong>in</strong>g / Playback<br />
Automatic Waypo<strong>in</strong>t<br />
Computation / Edit<strong>in</strong>g<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
Βιβλιογραφία<br />
• J-C. Latombe, Robot Motion Plann<strong>in</strong>g, Kluwer, 1991.<br />
• G. Dudek, M.Jenk<strong>in</strong>, Computational Pr<strong>in</strong>ciples of Mobile<br />
Robotics, Cambridge University Press, 2000.<br />
• H. Choset, K. M. Lynch, S. Hutch<strong>in</strong>son, G. Kantor, W. Burgard,<br />
L. E. Kavraki and S. Thrun, Pr<strong>in</strong>ciples of Robot Motion –<br />
Theory, Algorithms and Implementations, The MIT Press,<br />
Cambridge, Massachusetts, 2005<br />
<strong>Εθνικό</strong> Μετσόβιο Πολυτεχνείο, Σχολή ΗΜ&ΜΥ. Μάθημα: Ρομποτική ΙΙ (Κ. Τζαφέστας)<br />
47<br />
<strong>48</strong>