You are on page 1of 246

ΗΛΙΑΣ ΞΥΔΙΑΣ

Επίκουρος Καθηγητής
Τμήμα Μηχανικών Σχεδίασης Προϊόντων και Συστημάτων
Πανεπιστήμιο Αιγαίου

Μεθοδολογίες Σχεδιασμού Κίνησης με


Εφαρμογές σε Ρομποτικά Συστήματα
και σε Ευφυή Οχήματα

Σχεδιασμός Κίνησης Ρομπότ


Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές
σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα

Συγγραφή
Ηλίας Ξυδιάς

Συντελεστές έκδοσης
Γλωσσική Επιμέλεια: Καλλή Πιτσόλη
Γραφιστική Επιμέλεια: Φαίδρα Στραγάλη

Κεντρική Ομάδα Υποστήριξης


Γλωσσικός Έλεγχος: Γεωργία Τριανταφυλλίδου
Γραφιστικός Έλεγχος: Ηλίας Τσιώνης
Βιβλιοθηκονομική Επεξεργασία: Έλενα Αδαμοπούλου
Copyright © 2023, ΚΑΛΛΙΠΟΣ, ΑΝΟΙΚΤΕΣ ΑΚΑΔΗΜΑΪΚΕΣ ΕΚΔΟΣΕΙΣ

Το παρόν έργο αδειοδοτείται υπό τους όρους της άδειας Creative Commons Αναφορά Δημιουργού - Μη Εμπορική
Χρήση - Παρόμοια Διανομή 4.0. Για να δείτε ένα αντίγραφο της άδειας αυτής επισκεφτείτε τον ιστότοπο
https://creativecommons.org/licenses/by-nc-sa/4.0/deed.el

Αν τυχόν κάποιο τμήμα του έργου διατίθεται με διαφορετικό καθεστώς αδειοδότησης,


αυτό αναφέρεται ρητά και ειδικώς στην οικεία θέση.

ΚΑΛΛΙΠΟΣ
Εθνικό Μετσόβιο Πολυτεχνείο
Ηρώων Πολυτεχνείου 9, 15780 Ζωγράφου

www.kallipos.gr

ISBN: 978-618-228-012-6

Βιβλιογραφική Αναφορά: Ξυδιάς, Η. (2023). Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε


Ρομποτικά Συστήματα και σε Ευφυή Οχήματα [Προπτυχιακό εγχειρίδιο]. Κάλλιπος, Ανοικτές
Ακαδημαϊκές Εκδόσεις. http://dx.doi.org/10.57713/kallipos-241
Στη Λία και τη Δήμητρα
Πίνακας Περιεχομένων

Πίνακας Περιεχομένων ....................................................................................................................................... 9


Πρόλογος ........................................................................................................................................................... 13
Εισαγωγή ........................................................................................................................................................... 15
Κεφάλαιο 1ο Ανασκόπηση Βιβλιογραφίας ........................................................................................................ 17
Εισαγωγή ........................................................................................................................................................... 17
1.1 Το Βασικό Πρόβλημα Σχεδιασμού Κίνησης ............................................................................................... 17
1.2 Χώρος Διαμορφώσεων ................................................................................................................................ 20
1.3 Βασικές Προσεγγίσεις ................................................................................................................................. 21
1.3.1 Κατάτμηση σε Κελιά ............................................................................................................................ 22
1.3.2 Τεχνητά Δυναμικά Πεδία ..................................................................................................................... 27
1.3.3 Χάρτες Διαδρομών ............................................................................................................................... 29
1.4 Επεκτάσεις του Βασικού Προβλήματος ...................................................................................................... 31
1.4.1 Πολλαπλά Κινούμενα Αντικείμενα ...................................................................................................... 31
1.4.1.1 Κινούμενα Εμπόδια ....................................................................................................................... 31
1.4.1.2 Ομάδα Ρομποτικών Συστημάτων .................................................................................................. 33
1.4.1.3 Αρθρωτά Ρομποτικά Συστήματα ................................................................................................... 34
1.4.2 Κινηματικοί Περιορισμοί ..................................................................................................................... 35
1.4.2.1 Ολονομικοί Περιορισμοί ............................................................................................................... 35
1.4.2.2 Μη-ολονομικοί Περιορισμοί ......................................................................................................... 35
1.5 Υπολογιστική Πολυπλοκότητα ................................................................................................................... 37
1.6 Αλληλεπίδραση με άλλα Προβλήματα ........................................................................................................ 37
Βιβλιογραφία/Αναφορές ................................................................................................................................... 39
Ασκήσεις ........................................................................................................................................................... 40
Κεφάλαιο 2ο Αναπαράσταση του Χώρου Εργασίας .......................................................................................... 41
Εισαγωγή ........................................................................................................................................................... 41
2.1 Χώρος Διαμορφώσεων ................................................................................................................................ 41
2.2 Χώρος Διαμορφώσεων για ένα Ρομποτικό Σύστημα .................................................................................. 43
2.3 Παραμετροποιώντας τον Χώρο Διαμορφώσεων ......................................................................................... 44
2.4 Η Τοπολογία του Χώρου Διαμορφώσεων ................................................................................................... 46
2.4.1 Τοπολογικός Χώρος ............................................................................................................................. 47
2.4.2 Συνέχεια Συνάρτησης και Ομοιομορφισμός ........................................................................................ 49
2.4.3 Βάσεις ................................................................................................................................................... 49
2.4.4 Κλειστά Σύνολα, Κλειστή Θήκη, Σύνορο ............................................................................................ 50
2.5 Απεικόνιση των Εμποδίων στον Χώρο Διαμορφώσεων ............................................................................. 50
2.6 Task Space και Workspace .......................................................................................................................... 56
Βιβλιογραφία/Αναφορές ................................................................................................................................... 60
Ασκήσεις ........................................................................................................................................................... 61
Κεφάλαιο 3ο Κατασκευή Χάρτη Διαδρομής ..................................................................................................... 65
Εισαγωγή ........................................................................................................................................................... 65
3.1 Χάρτης Ορατότητας (Visibility Graph)....................................................................................................... 67
3.2 Διάγραμμα Voronoi ..................................................................................................................................... 70
3.3 Στοχαστικός Χάρτης.................................................................................................................................... 77
3.3.1 Στοχαστικοί/Πιθανοτικοί Χάρτες Διαδρομών ...................................................................................... 78
3.3.2 Τυχαίο Δέντρο Ταχείας Εξερεύνησης .................................................................................................. 83
3.4 Μέθοδος Silhouette ..................................................................................................................................... 86
Βιβλιογραφία/Αναφορές ................................................................................................................................... 89
Ασκήσεις ........................................................................................................................................................... 90
Κεφάλαιο 4ο Κατάτμηση σε Κελιά .................................................................................................................... 93
Εισαγωγή ........................................................................................................................................................... 93
4.1 Ακριβής Αποσύνθεση σε Κελιά .................................................................................................................. 94
4.2 Προσεγγιστική Αποσύνθεση σε Κελιά ........................................................................................................ 97
4.3 Προσαρμοστική Αποσύνθεση σε Κελιά .................................................................................................... 102
4.4 Κίνηση Ρομποτικού Συστήματος (Μετασχηματισμός Συντεταγμένων) ................................................... 106
4.4.1 Τετραγωνικό Πλέγμα ......................................................................................................................... 106
4.4.2 Εξαγωνικό Πλέγμα ............................................................................................................................. 107
4.5 Αλγόριθμοι Εύρεσης Διαδρομών που Βασίζονται σε Γραφήματα ............................................................ 108
4.5.1 Αλγόριθμος Dijkstra ........................................................................................................................... 108
4.5.2 Αλγόριθμος Greedy Best First Search ................................................................................................ 110
4.5.3 Αλγόριθμος Α-star .............................................................................................................................. 112
4.5.3.1 Ευρετική Συνάρτηση ................................................................................................................... 114
Βιβλιογραφία/Αναφορές ................................................................................................................................. 117
Ασκήσεις ......................................................................................................................................................... 118
Κεφάλαιο 5ο Κατασκευή Τεχνητών Δυναμικών Πεδίων ................................................................................. 123
Εισαγωγή ......................................................................................................................................................... 123
5.1 Εισαγωγικές Έννοιες ................................................................................................................................. 125
5.1.1 Ελκτικό/Απωθητικό Πεδίο ................................................................................................................. 125
5.1.2 To Ελκτικό Δυναμικό ......................................................................................................................... 125
5.1.3 Το Απωθητικό Δυναμικό .................................................................................................................... 128
5.1.4 Κάθοδος Βασισμένη στην Κλίση (Gradient Descent) ........................................................................ 132
5.1.5 Στοχαστική Gradient Descent............................................................................................................. 133
5.1.6 Υπολογισμός συνάρτησης απόστασης (Αλγόριθμος Brushfire) ........................................................ 133
5.1.7 Το Πρόβλημα των Τοπικών Ελαχίστων ............................................................................................. 138
5.1.8 Ο αλγόριθμος Wave-Front Expansion ................................................................................................ 140
5.2 Σχεδιασμός Διαδρομής με Δυνατότητα Καθοδήγησης ............................................................................. 143
5.2.1 Αλγόριθμος Depth-First ..................................................................................................................... 144
5.2.2 Αλγόριθμος Best-First ........................................................................................................................ 146
5.2.3 Μεταβλητός Σχεδιασμός (Variational Planning) ............................................................................... 148
5.3 Συναρτήσεις Δυναμικού ............................................................................................................................ 148
5.3.1 Συνάρτηση Δυναμικού Πλοήγησης .................................................................................................... 149
5.3.2 Κατασκευή Συνάρτησης Δυναμικού Πλοήγησης ............................................................................... 149
5.3.3 Χώρος σε Σχήμα Κύκλου (Sphere Space) .......................................................................................... 152
5.3.4 Χώρος σε Σχήμα Αστεριού (Star-Space) ........................................................................................... 157
5.3.5 Ελλειπτικά Πεδία................................................................................................................................ 159
5.4 Δυναμικές Συναρτήσεις σε Χώρους Διαμορφώσεων Μεγάλης Διάστασης .............................................. 164
5.4.1 Σχέση Μεταξύ των Δυνάμεων στον Χώρο Εργασίας και του Χώρου Διαμορφώσεων ..................... 164
5.4.2 Συναρτήσεις Δυναμικού για Άκαμπτο Αντικείμενο ........................................................................... 166
5.4.3 Δυναμικό Πεδίο για Αρθρωτό Ρομπότ ............................................................................................... 167
Βιβλιογραφία/Αναφορές ................................................................................................................................. 169
Ασκήσεις ......................................................................................................................................................... 170
Κεφάλαιο 6ο Σχεδιασμός Κίνησης για Πολλαπλά Κινούμενα Αντικείμενα .................................................... 175
Εισαγωγή ......................................................................................................................................................... 175
6.1 Κινούμενα αντικείμενα.............................................................................................................................. 176
6.1.1 Χώρος Διαμορφώσεων - Χρόνου ....................................................................................................... 176
6.1.2 Άμεσες Προσεγγίσεις ......................................................................................................................... 179
6.1.3 Ακριβής Προσέγγιση σε Κελιά .......................................................................................................... 179
6.1.4 Προσεγγιστική Αποσύνθεση σε Κελιά ............................................................................................... 180
6.1.5 Η μέθοδος Σχεδιασμού Ταχύτητας ..................................................................................................... 181
6.2 Ομάδα Ρομπότ ........................................................................................................................................... 183
6.2.1 Κεντρικός Σχεδιασμός ........................................................................................................................ 184
6.2.2 Αποκεντρωμένος Σχεδιασμός ............................................................................................................. 184
6.3 Αρθρωτά Ρομπότ ....................................................................................................................................... 185
6.3.1 Προσεγγιστική Αποσύνθεση σε Κελιά ............................................................................................... 187
6.3.2 Τεχνητά Δυναμικά Πεδία ................................................................................................................... 188
Βιβλιογραφία/Αναφορές ................................................................................................................................. 190
Ασκήσεις ......................................................................................................................................................... 191
Κεφάλαιο 7ο Σχεδιασμός Κίνησης λαμβάνοντας υπόψη Κινηματικούς Περιορισμούς .................................. 193
Εισαγωγή ......................................................................................................................................................... 193
7.1 Γενικευμένες Συντεταγμένες ..................................................................................................................... 194
7.2 Κινηματικοί Περιορισμοί .......................................................................................................................... 195
7.3 Ολονομικοί και Μη-Ολονομικοί Περιορισμοί .......................................................................................... 196
7.3.1 Ολονομικοί Περιορισμοί .................................................................................................................... 196
7.3.2 Μη-Ολονομικοί Περιορισμοί ............................................................................................................. 197
7.4 Κινηματικά Μοντέλα................................................................................................................................. 197
7.5 Κινηματικά Μοντέλα Ρομποτικών Συστημάτων με Τροχούς ................................................................... 198
7.5.1 Το Μονοκύκλιο Μοντέλο (Unicycle model) ..................................................................................... 198
7.5.2 Το Μοντέλο Διαφορικής Μετάδοσης Κίνησης .................................................................................. 199
7.6 Δυναμικά Μοντέλα.................................................................................................................................... 200
Βιβλιογραφία/Αναφορές ................................................................................................................................. 202
Κεφάλαιο 8ο Σχεδιασμός Κίνησης με Αισθητήρες .......................................................................................... 203
Εισαγωγή ......................................................................................................................................................... 203
8.1 Διακριτοί Χώροι ........................................................................................................................................ 204
8.1.1 Αισθητήρες ......................................................................................................................................... 204
8.1.2 Καθορισμός του Χώρου Πληροφοριών Ιστορικού ............................................................................ 205
8.1.3 Καθορισμός του Προβλήματος Σχεδιασμού Κίνησης ........................................................................ 207
8.2 Παραδείγματα για Χώρους Διακριτών Καταστάσεων .............................................................................. 208
8.3 Συνεχείς Χώροι.......................................................................................................................................... 211
8.3.1 Χώροι Πληροφοριών Διακριτών Σταδίων .......................................................................................... 211
8.3.2 Χώροι Πληροφοριών Συνεχούς Χρόνου ............................................................................................ 211
8.4 Παραδείγματα Συνεχών Χώρων ................................................................................................................ 212
8.4.1 Μοντέλα Αισθητήρων ........................................................................................................................ 212
Βιβλιογραφία/Αναφορές ................................................................................................................................. 220
Κεφάλαιο 9ο Σχεδιασμός Κίνησης υπό Αβεβαιότητα Εμποδίων ..................................................................... 221
Εισαγωγή ......................................................................................................................................................... 221
9.1 Το Πρόβλημα Σχεδιασμού Κίνησης .......................................................................................................... 222
9.1.1 Ο Χώρος Διαμορφώσεων ................................................................................................................... 222
9.1.2 Αίσθηση .............................................................................................................................................. 225
9.2 Έλεγχος Ρομποτικού Συστήματος ............................................................................................................. 226
9.2.1 Εντολή Κίνησης.................................................................................................................................. 226
9.2.2 Έλεγχος Συμβατός με τη Δύναμη ....................................................................................................... 226
9.2.3 Αβεβαιότητα στον Έλεγχο ................................................................................................................. 229
9.3 Στρατηγικές Κίνησης................................................................................................................................. 230
9.4 Preimage Backchaining ............................................................................................................................. 232
9.5 Επίσημος Ορισμός μιας Προεικόνας ......................................................................................................... 234
9.6 Υπολογισμός Προεικόνας ......................................................................................................................... 235
9.6.1 Διαχωρισμός Προσβασιμότητας και Αναγνωρισιμότητας ................................................................. 235
9.6.2 Η Έννοια της Οπισθοπροβολής (Backprojection) .............................................................................. 236
9.6.3 Υπολογισμός της Οπισθοπροβολής .................................................................................................... 237
9.7 Οπισθοπροβολή από τις Κολλημένες Ακμές (Backprojection from Sticking Edges) ............................... 240
Βιβλιογραφία/Αναφορές ................................................................................................................................. 243
Πρόλογος

Το σύγγραμμα αυτό περιλαμβάνει το γνωστικό περιεχόμενο των μαθημάτων της Ρομποτικής και της Σχεδίασης
Οχημάτων & Νέες Τεχνολογίες Υποστήριξης Οδηγού, τα οποία απευθύνονται στους προπτυχιακούς φοιτητές
του Τμήματος Μηχανικών Σχεδίασης Προϊόντων και Συστημάτων της Πολυτεχνικής Σχολής του
Πανεπιστημίου Αιγαίου. Συγκεκριμένα, το υλικό του συγγράμματος καλύπτει συστηματικά το γνωστικό
αντικείμενο του Σχεδιασμού Κίνησης Ρομπότ και αποτελεί μέρος του ευρύτερου πεδίου της Ρομποτικής.
Η μελέτη των μεθοδολογιών που χρησιμοποιούνται για τον σχεδιασμό κίνησης ευφυών συστημάτων
στηρίχθηκε στις σημειώσεις των μαθημάτων της Ρομποτικής και της Σχεδίασης Οχημάτων & Νέες Τεχνολογίες
Υποστήριξης Οδηγού.
Εκφράζω τις θερμές μου ευχαριστίες σε όλους εκείνους που με βοήθησαν, με άμεσο ή έμμεσο τρόπο,
στη συγγραφή αυτού του βιβλίου.
Η.Ξ., Ιούλιος 2021

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 13


Εισαγωγή

Ένας από τους απώτερους στόχους της Ρομποτικής είναι η δημιουργία ευφυών συστημάτων (ρομπότ). Αυτά τα
συστήματα θα πρέπει να έχουν την ικανότητα να δέχονται περιγραφές υψηλού επιπέδου των εργασιών που
καλούνται να εκτελέσουν και να τις εκτελούν χωρίς περαιτέρω ανθρώπινη παρέμβαση. Οι περιγραφές υψηλού
επιπέδου των εργασιών που πρέπει να πραγματοποιηθούν καθορίζουν το τι θέλει να κάνει ο χρήστης, παρά το
πώς να το κάνει.
Η πρόοδος που έχει σημειωθεί τα τελευταία χρόνια στα ευφυή συστήματα έχει ως αποτέλεσμα να
χρησιμοποιούνται για την εκτέλεση διαφόρων εργασιών, όπως είναι η διαχείριση απορριμμάτων, η εξερεύνηση
του διαστήματος, η θαλάσσια/υποθαλάσσια εργασία, τα αυτόνομα οχήματα, οι ιατρικές εφαρμογές κ.λπ. Η
ανάπτυξη των απαραίτητων τεχνολογιών για τη δημιουργία ευφυών συστημάτων τα οποία θα μπορούν να
συνυπάρχουν με τον άνθρωπο, να συνεργάζονται με αυτόν αλλά και μεταξύ τους και, γενικότερα, να
μοιράζονται το ίδιο περιβάλλον είναι μια προοπτική η οποία, για να επιτευχθεί, πρέπει να επιλυθούν πολλά
σημαντικά προβλήματα. Ένα από αυτά είναι ο σχεδιασμός κίνησης, το κεντρικό θέμα αυτού του βιβλίου.
Το πρόβλημα σχεδιασμού κίνησής μπορεί να διατυπωθεί ως εξής: Πώς μπορεί ένα ευφυές σύστημα να
αποφασίσει ποιες κινήσεις πρέπει να εκτελέσει, προκειμένου να μετακινηθεί από μια αρχική διαμόρφωση σε
μια τελική διαμόρφωση; Αυτή η ικανότητα είναι εξαιρετικά απαραίτητη, δεδομένου ότι, εξ ορισμού, ένα ευφυές
σύστημα για να μπορέσει να εκτελέσει τις εργασίες που του έχουν ανατεθεί πρέπει να μετακινηθεί στον
πραγματικό κόσμο. Το ελάχιστο που θα περίμενε κανείς από ένα ευφυές σύστημα είναι η ικανότητα να
σχεδιάζει τις δικές του κινήσεις.
Το παρόν βιβλίο αποτελείται από 9 κεφάλαια. Πιο αναλυτικά:
Στο 1ο Κεφάλαιο θα παρουσιαστεί το βασικό πρόβλημα σχεδιασμού κίνησης. Υποθέτουμε ότι το ευφυές
σύστημα (από εδώ και στο εξής θα καλείται ρομπότ) είναι ένα άκαμπτο αντικείμενο, από το οποίο ζητείται να
κινηθεί σε ένα περιβάλλον με στατικά (ακίνητα) εμπόδια και, επιπλέον, χωρίς να ληφθεί υπόψη η δυναμική
συμπεριφορά του ρομπότ. Επίσης, θα γίνει εισαγωγή της έννοιας του χώρου διαμορφώσεων και θα αναφερθούν
οι βασικές προσεγγίσεις για τον σχεδιασμό κίνησης ρομπότ. Τέλος, θα παρουσιαστούν διάφορες επεκτάσεις
του βασικού προβλήματος σχεδιασμού κίνησης και θα γίνει αναφορά στις βασικές εργασίες που έχουν συμβάλει
στην ανάπτυξη του πεδίου σχεδιασμού κίνησης.
Στο 2ο Κεφάλαιο θα αναπτυχθεί η έννοια του χώρου των διαμορφώσεων για ένα άκαμπτο αντικείμενο
που μπορεί να κινηθεί (μετατόπιση και περιστροφή) ελεύθερα ανάμεσα σε εμπόδια, σε έναν διδιάστατο ή
τριδιάστατο χώρο εργασίας. Επίσης, θα γίνει αναφορά στη διαφορική και τοπολογική δομή του χώρου και στις
μαθηματικές έννοιες που θα χρησιμοποιηθούν στο υπόλοιπο βιβλίο. Τέλος, θα μελετηθεί ο τρόπος με τον οποίο
τα «εμπόδια» απεικονίζονται στον χώρο διαμορφώσεων.
Στο 3ο Κεφάλαιο θα γίνει η περιγραφή μιας πρώτης προσέγγισης που χρησιμοποιείται για τον σχεδιασμό
κίνησης ρομπότ, η οποία ονομάζεται «χάρτης διαδρομών». Αυτή η προσέγγιση βασίζεται στην ακόλουθη
γενική ιδέα: αρχικά κατασκευάζεται ένα δίκτυο από καμπύλες (χάρτης διαδρομών), το οποίο αναπαριστά τη
συνδεσιμότητα του ελεύθερου χώρου του ρομπότ. Στη συνέχεια, ενώνεται η αρχική και τελική θέση του ρομπότ
με τον χάρτη. Τέλος, αναζητείται στον κατασκευασμένο χάρτη μια ελεύθερη διαδρομή, η οποία ενώνει την
αρχική και τελική θέση του ρομπότ. Το βασικό ζητούμενο σε αυτήν την προσέγγιση είναι προφανώς η
κατασκευή του χάρτη διαδρομών. Έχουν προταθεί διάφορες μεθοδολογίες για τον σχεδιασμό κίνησης ρομπότ,
που βασίζονται σε διαφορετικές αρχές, παράγοντας αντίστοιχα είδη χαρτών. Οι κυριότερες μεθοδολογίες που
ακολουθούν τις βασικές αρχές του χάρτη διαδρομών είναι: Χάρτες Ορατότητας (Visibility Graph),
Διαγράμματα Voronoi (Voronoi Diagrams), Στοχαστικοί Χάρτες (Probabilistic Roadmaps) και Μέθοδος
Silhouette (Silhouette Method).
Στο 4ο Κεφάλαιο θα παρουσιαστεί μια δεύτερη προσέγγιση για τον σχεδιασμό κίνησης ρομπότ, η οποία
καλείται «αποσύνθεση σε κελιά» ή «μέθοδος πλέγματος». Σε αυτήν την κατηγορία ανήκουν οι μεθοδολογίες
αποσύνθεσης του ελεύθερου από συγκρούσεις χώρου διαμορφώσεων του ρομπότ σε απλές περιοχές, οι οποίες
καλούνται κελιά (cells). Στη συνέχεια κατασκευάζεται και ερευνάται ένας μη κατευθυνόμενος γράφος, που
αναπαριστά τη σχέση γειτνίασης μεταξύ των κελιών. Κόμβοι του γράφου είναι τα παραγόμενα κελιά. Δύο
κόμβοι ενώνονται με μια ακμή, αν και μόνο αν τα αντίστοιχα κελιά είναι γειτονικά. Το αποτέλεσμα της

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 15


αναζήτησης του γράφου είναι μια ακολουθία κελιών, η οποία καλείται «κανάλι». Μια συνεχής ελεύθερη
διαδρομή μπορεί να υπολογιστεί αν χρησιμοποιηθεί το παραγόμενο κανάλι. Οι μέθοδοι, οι οποίες βασίζονται
στην «αποσύνθεση σε κελιά», ταξινομούνται σε τρεις βασικές κατηγορίες: στην Ακριβή (Exact), στην
Προσεγγιστική (Approximate) και στην Προσαρμοστική (Adaptive).
Στα δύο προηγούμενα κεφάλαια παρουσιάστηκαν μεθοδολογίες οι οποίες στοχεύουν στη δημιουργία
ενός γράφου, πάνω στον οποίο αναζητείται ο σχεδιασμός κίνησης του ρομπότ. Η προσέγγιση που
παρουσιάζεται στο 5ο Κεφάλαιο βασίζεται σε μια διαφορετική ιδέα. Πιο συγκεκριμένα, το ρομπότ, το οποίο
αναπαρίσταται ως σημείο, κινείται στον χώρο διαμορφώσεων υπό την επίδραση ενός τεχνητού δυναμικού
πεδίου, δημιουργούμενου από την τελική διαμόρφωση του ρομπότ σε συνδυασμό με τα εμπόδια-
διαμορφώσεων. Αφενός μεν, η τελική διαμόρφωση του ρομπότ δημιουργεί ένα «ελκτικό δυναμικό», το οποίο
έλκει το ρομπότ προς τον στόχο, αφετέρου δε, τα εμπόδια-διαμορφώσεων παράγουν ένα «απωθητικό
δυναμικό», το οποίο σπρώχνει το ρομπότ μακριά από αυτά.
Στα Κεφάλαια 1 έως και 5 μελετάμε το βασικό πρόβλημα στο πλαίσιο του οποίου θεωρούμε ότι το μόνο
αντικείμενο το οποίο κινείται στον χώρο εργασίας είναι το ρομπότ. Στο 6ο Κεφάλαιο παρουσιάζεται μια
σημαντική επέκταση του προβλήματος σχεδιασμού κίνησης: ο χώρος εργασίας περιέχει αντικείμενα τα οποία
κινούνται στον χώρο εργασίας. Το πρόβλημα αυτό είναι γνωστό ως πρόβλημα Δυναμικού Σχεδιασμού Κίνησης
(Dynamic Motion Planning Problem). Σε αντίθεση με το βασικό πρόβλημα, το πρόβλημα δυναμικού
σχεδιασμού κίνησης δεν μπορεί να επιλυθεί με την κατασκευή μιας γεωμετρικής διαδρομής. Αντ’ αυτής,
ζητείται ο προσδιορισμός μιας συνεχούς συνάρτησης ως προς τον χρόνο, η οποία έχει τη δυνατότητα να
προσδιορίζει τη διαμόρφωση του ρομπότ κάθε χρονική στιγμή. Αρκετές από τις μεθοδολογίες που έχουν
προταθεί για την επίλυση του βασικού προβλήματος μπορούν, με τις κατάλληλες τροποποιήσεις, να
χρησιμοποιηθούν και σε αυτό το πρόβλημα.
Στο 7ο Κεφάλαιο μελετάμε το πρόβλημα σχεδιασμού κίνησης ενός ρομπότ, λαμβάνοντας υπόψη τους
κινηματικούς περιορισμούς, δηλαδή θεωρώντας πως ένα αντικείμενο (ή μια συλλογή αντικειμένων) δεν μπορεί
να μετακινηθεί και να περιστραφεί ελεύθερα στον χώρο εργασίας του. Πράγματι, μέχρι τώρα εξετάσαμε μόνο
την περίπτωση κατά την οποία το ρομπότ μπορεί να κινείται ελεύθερα, χωρίς κανέναν περιορισμό. Η μόνη
εξαίρεση εντοπίζεται στο 6ο Κεφάλαιο (μάλιστα στην 3η ενότητα), όπου εξετάζονται αρθρωτά ρομπότ, δηλαδή
επιμέρους στοιχεία που συνδέονται με αρθρώσεις. Σε αυτήν την περίπτωση ο περιορισμός που επιβάλλεται από
έναν σύνδεσμο στη σχετική κίνηση των δύο στοιχείων αποτελεί ένα απλό παράδειγμα κινηματικού
περιορισμού.
Μέχρι τώρα έχει θεωρηθεί ότι το ρομπότ έχει πλήρη εικόνα του χώρου εργασίας και της θέσης του. Τι
γίνεται όταν τα δεδομένα αυτά δεν είναι γνωστά; Στο 8ο Κεφάλαιο εξετάζουμε την περίπτωση κατά την οποία
οι πληροφορίες σχετικά με τη θέση του ίδιου του ρομπότ ή τη θέση/μορφή των αντικειμένων στον χώρο
εργασίας λαμβάνονται από αισθητήρες. Αυτή η κατάσταση, το να μην έχει το ρομπότ την πλήρη εικόνα του
χώρου εργασίας του, συμβαίνει σε πολλές εφαρμογές που περιλαμβάνουν αλληλεπίδραση με τον φυσικό
κόσμο. Για παράδειγμα, στη ρομποτική είναι σχεδόν αδύνατο για ένα ρομπότ να γνωρίζει με ακρίβεια την
κατάστασή του, εκτός από περιορισμένες περιπτώσεις. Τι πρέπει να γίνει εάν υπάρχουν περιορισμένες
πληροφορίες σχετικά με την κατάστασή του; Μια κλασική προσέγγιση είναι να συγκεντρώσουμε όλες τις
διαθέσιμες πληροφορίες και να επιδιώξουμε μια εκτίμηση. Εάν οι εκτιμήσεις είναι αρκετά αξιόπιστες, τότε
μπορούμε να προσποιούμαστε με ασφάλεια ότι δεν υπάρχει αβεβαιότητα στις πληροφορίες της κατάστασης.
Κατ’ αυτόν τον τρόπο πολλές από τις μεθόδους σχεδιασμού κίνησης που έχουν αναφερθεί μπορούν να
εφαρμοστούν με λίγες ή και με καμία προσαρμογή.
Στο 9ο Κεφάλαιο διερευνούμε το πρόβλημα του σχεδιασμού της κίνησης ενός άκαμπτου αντικειμένου
μεταξύ σταθερών εμποδίων, σε συνθήκες αβεβαιότητας. Εν προκειμένω, βασική παράμετρος είναι ότι τα
περιβάλλοντα στα οποία καλούνται να δουλέψουν τα ρομπότ είναι από τη φύση τους απρόβλεπτα. Παρόλο που
ο βαθμός αβεβαιότητας σε καλά δομημένα περιβάλλοντα, όπως οι γραμμές συναρμολόγησης είναι μικρός,
αντιθέτως, οι αυτοκινητόδρομοι και τα σπίτια είναι εξαιρετικά δυναμικά και πολύ απρόβλεπτα περιβάλλοντα.
Επίσης, η αβεβαιότητα είναι εξαιρετικά μεγάλη για τα ρομπότ που λειτουργούν κοντά σε ανθρώπους.

Ηλίας Ξυδιάς 16
Κεφάλαιο 1ο
Ανασκόπηση Βιβλιογραφίας

Σύνοψη
Τα τελευταία χρόνια, έχουν αναπτυχθεί πάρα πολλές μεθοδολογίες που υποστηρίζουν την αυτονομία ενός ευφυούς
συστήματος, που επιτρέπουν επομένως στο ρομποτικό σύστημα να σχεδιάσει τις κινήσεις του στο περιβάλλον στο
οποίο καλείται να εργαστεί. Ο στόχος αυτού του κεφαλαίου είναι διττός: αρχικά θα γίνει μια εισαγωγή στο
πρόβλημα σχεδιασμού κίνησης ρομποτικού συστήματος και στη συνέχεια θα γίνει μια ανασκόπηση των κεφαλαίων
που θα ακολουθήσουν.

Προαπαιτούμενη γνώση
Δεν απαιτούνται εξειδικευμένες γνώσεις.

Εισαγωγή
Ρομπότ ή ευφυές σύστημα ονομάζεται οποιαδήποτε μηχανική συσκευή που μπορεί να υποκαθιστά τον άνθρωπο
σε διάφορες εργασίες. Ένα ρομπότ μπορεί να δράσει υπό τον απευθείας έλεγχο ενός ανθρώπου ή αυτόνομα,
υπό τον έλεγχο ενός υπολογιστή.
Τα ρομποτικά συστήματα, εφοδιασμένα με τα κατάλληλα στοιχεία (αισθητήρες, κινητήρες κτλ.) και
κάτω από την εποπτεία ενός ελεγκτή, μπορούν να χρησιμοποιηθούν είτε για να κάνουν εργασίες δύσκολες ή
επικίνδυνο να γίνουν απευθείας από άνθρωπο είτε για να τον ψυχαγωγήσουν. Σε όλες τις περιπτώσεις, ένα
ρομπότ καλείται να ενεργήσει (να κινηθεί), να συνυπάρξει σε έναν περιβάλλον το οποίο περιέχει αντικείμενα
και ανθρώπους. Πρέπει να σημειωθεί ότι στις περισσότερες περιπτώσεις η δομή του περιβάλλοντος δεν είναι
εκ των προτέρων γνωστή.
Η δημιουργία αυτόνομων ρομπότ είναι ο απώτερος στόχος του ερευνητικού πεδίου της Ρομποτικής. Η
αύξηση της αυτονομίας μπορεί να επιτευχθεί εάν δοθεί στο ρομποτικό σύστημα η ικανότητα να αντιλαμβάνεται
το περιβάλλον του, να αντλεί πληροφορίες από αυτό και να τις αξιοποιεί κατά τον καλύτερο δυνατό τρόπο για
τη λήψη μιας απόφασης. Είναι προφανώς ανεφάρμοστο να περιγράψουμε όλες τις πιθανές κινήσεις που μπορεί
να κάνει ένα ρομπότ, προκειμένου να εκτελέσει τις εργασίες που του έχουν ανατεθεί. Ακόμη και στις
περιπτώσεις όπου η δομή του περιβάλλοντος είναι πλήρως γνωστή, μια περιγραφή του συνόλου των πιθανών
κινήσεων δεν είναι εφικτή. Για αυτόν τον λόγο κρίνεται απαραίτητο το ρομπότ να ενσωματώνει εργαλεία
αυτόματου σχεδιασμού κίνησης. Μια τέτοια δυνατότητα θα επέτρεπε στον χρήστη/χειριστή να ορίσει μια
εργασία, δηλώνοντας στο ρομπότ τι θέλει να κάνει και όχι πώς να το κάνει.

1.1 Το Βασικό Πρόβλημα Σχεδιασμού Κίνησης


Ο όρος «Σχεδιασμός» (Planning) προσλαμβάνει διαφορετική ερμηνεία, ανάλογα με τον κλάδο των
επιστημόνων μηχανικής που τον χρησιμοποιεί. Για παράδειγμα, στον διεπιστημονικό κλάδο της Θεωρίας
Ελέγχου (Control Theory), ο όρος «σχεδιασμός κίνησης» αναφέρεται στην κατασκευή εισόδων οι οποίες
κατευθύνουν ένα μη γραμμικό δυναμικό σύστημα από μια αρχική κατάσταση σε μια καθορισμένη τελική
κατάσταση. Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να μετακινήσουμε ένα αυτόνομο αυτοκίνητο από ένα
αρχικό σημείο σε ένα άλλο προκαθορισμένο σημείο. Το ζητούμενο είναι να σχεδιαστεί ένας αλγόριθμος που
θα έχει τη δυνατότητα να υπολογίζει τις επιθυμητές εισόδους του συστήματος ώστε το αυτοκίνητο να οδηγηθεί
στην προκαθορισμένη θέση. Στη θεωρία ελέγχου, είσοδο ονομάζουμε τη διέγερση, εντολή ή αιτία η οποία
εφαρμόζεται στο σύστημα, ώστε να επιτελεστεί το ζητούμενο έργο. Σύστημα ονομάζουμε ένα σύνολο στοιχείων
κατάλληλα συνδεδεμένων μεταξύ τους για να επιτελέσουν κάποιο έργο.
Στον κλάδο της Τεχνητής Νοημοσύνης, ο όρος «σχεδιασμός» αναφέρεται στην κατασκευή μιας
ακολουθίας ενεργειών, η εκτέλεση των οποίων προκαλεί την επίτευξη ενός συγκεκριμένου στόχου, τη
μετάβαση από την αρχική στην πλήρως γνωστή τελική κατάσταση. Για παράδειγμα, ο στόχος μπορεί να είναι
η επίλυση ενός παζλ (Εικόνα 1.1).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 17


Εικόνα 1.1 Ο σχεδιασμός στην τεχνητή νοημοσύνη.

Στον κλάδο της Ρομποτικής, στον οποίο κατατάσσεται και αυτό το βιβλίο, με τον όρο «σχεδιασμός κίνησης»
περιγράφεται η διαδικασία σχεδιασμού της πορείας που πρέπει να ακολουθήσει το ευφυές σύστημα, ώστε να
μετακινηθεί από ένα αρχικό σε ένα τελικό σημείο, αποφεύγοντας τη σύγκρουση με τα εμπόδια που μπορεί να
υπάρχουν στο περιβάλλον. Μερικές φορές αναφέρεται μια κλασική εκδοχή του σχεδιασμού κίνησης, η οποία
είναι γνωστή ως «το πρόβλημα της μετακίνησης του πιάνο» (Piano Mover’s Problem) (Εικόνα 1.2).
Φανταστείτε ότι έχετε έναν αλγόριθμο ο οποίος δέχεται ως είσοδο τα CAD μοντέλα του σπιτιού και του πιάνου.
Ο αλγόριθμος πρέπει να καθορίσει πώς πρέπει να μετακινηθεί το πιάνο από το ένα δωμάτιο στο άλλο, χωρίς να
χτυπάει τα αντικείμενα που συναντά. Πρέπει να αναφέρουμε ότι κατά τον Σχεδιασμό Κίνησης ενός ρομπότ,
συνήθως αγνοούνται οι δυναμικοί και άλλοι διαφορικοί περιορισμοί, υπάρχει εστίαση μόνο στις μετατοπίσεις
και τις περιστροφές που πρέπει να γίνουν ώστε να μετακινηθεί το πιάνο.

Εικόνα 1.2 Το πρόβλημα μετακίνησης του πιάνο.

Ηλίας Ξυδιάς 18
Tο βασικό πρόβλημα σχεδιασμού κίνησης διατυπώνεται ως εξής 0: υποθέτουμε ότι το ρομπότ είναι το μόνο
κινούμενο αντικείμενο στον χώρο εργασίας του και δεν λαμβάνουμε υπόψη τη δυναμική συμπεριφορά του. Επίσης,
θεωρούμε ότι οι περιορισμοί στην κίνηση του ρομπότ οφείλονται μόνο στη διαδρομή που πρέπει να ακολουθήσει
και όχι στη μηχανική του συστήματός του, π.χ. στην τριβή που αναπτύσσεται ανάμεσα σε δύο μηχανικά μέρη. Αυτές
οι υποθέσεις μετασχηματίζουν ουσιαστικά το «φυσικό» πρόβλημα σχεδιασμού κίνησης σε ένα αμιγώς γεωμετρικό
πρόβλημα σχεδιασμού κίνησης. Απλοποιούμε ακόμα περισσότερο το πρόβλημα, θεωρώντας ότι το ρομποτικό
σύστημα είναι ένα ενιαίο άκαμπτο αντικείμενο. Έτσι, η κίνησή του περιορίζεται μόνο από τα εμπόδια που μπορεί
να υπάρχουν στον χώρο εργασίας του.
Λαμβάνοντας υπόψη τις παραπάνω υποθέσεις, το βασικό πρόβλημα σχεδιασμού κίνησης διαμορφώνεται
ως εξής:
• Έστω 𝒜 ένα ρομπότ (άκαμπτο αντικείμενο) το οποίο καλείται να κινηθεί σε έναν χώρο ο οποίος
περιέχει ακίνητα αντικείμενα (εμπόδια) 𝒪𝑖 , 𝑖 = 1, … , 𝑛, όπου 𝑛 το πλήθος των εμποδίων.
• Η γεωμετρία και η θέση των 𝒪𝑖 , 𝑖 = 1, … , 𝑛 είναι γνωστή.
• Ο χώρος στον οποίο πρόκειται να κινηθεί το 𝒜 καλείται χώρος εργασίας και συμβολίζεται με
𝒲 = ℝ𝟐 ή ℝ𝟑 .
• Το 𝒜 κινείται «ελεύθερα» χωρίς κινηματικούς περιορισμούς.
Το πρόβλημα διατυπώνεται ως εξής: Δοθείσης μιας αρχικής θέσης και προσανατολισμού (Αρχή) και μιας
τελικής θέσης και προσανατολισμού (Τέλος) του 𝒜 στο 𝒲, κατασκεύασε μια διαδρομή 𝜏, η οποία αποφεύγει
την επαφή με τα εμπόδια και ενώνει την Αρχή με το Τέλος (Εικόνα 1.3).

Εικόνα 1.3 Η αλληλουχία κινήσεων ενός ρομποτικού συστήματος, ορθογωνίου σχήματος, το οποίο κινείται από την Αρχή
προς το Τέλος, αποφεύγοντας την επαφή με τα εμπόδια 0.

Αν και το βασικό πρόβλημα σχεδιασμού κίνησης παρουσιάζεται αρκετά απλοποιημένο, στη συνέχεια θα δούμε
ότι πρόκειται για ένα δύσκολο πρόβλημα, υψηλής πολυπλοκότητας, αρκετές από τις λύσεις του οποίου μπορούν
να εφαρμοστούν σε πιο σύνθετα προβλήματα. Για παράδειγμα, ορισμένα προβλήματα που αφορούν τον
σχεδιασμό κίνησης για ευφυή οχήματα μπορούν να εκφραστούν ως περιπτώσεις του βασικού προβλήματος.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 19


1.2 Χώρος Διαμορφώσεων
Διαμόρφωση 𝓆 ενός ρομπότ 𝒜 καλείται μια πλήρης περιγραφή της θέσης και του προσανατολισμού κάθε
σημείου του 𝒜. Χώρος διαμορφώσεων 𝒞 (Configuration Space: 𝒞 -Space) του 𝒜 είναι ο χώρος όλων των
πιθανών διαμορφώσεων του συστήματος 0. Η βασική ιδέα του χώρου διαμορφώσεων είναι η δημιουργία ενός
χώρου, όπου το ρομπότ αναπαρίσταται ως σημείο, ενώ τα εμπόδια «διογκώνονται» κατάλληλα. Αυτός ο
μετασχηματισμός του χώρου εργασίας 𝒲, στον οποίο εργάζεται το ρομπότ, έχει ως αποτέλεσμα τη μετατροπή
του προβλήματος σχεδιασμού κίνησης ενός αντικειμένου με διάσταση σε πρόβλημα σχεδιασμού κίνησης ενός
σημείου. Οι βαθμοί ελευθερίας του 𝒜 ή οι ελάχιστες παράμετροι που απαιτούνται για τον ορισμό μιας
διαμόρφωσης του 𝒜 αποτελούν τη διάσταση του χώρου διαμορφώσεων 𝒞.
Για να γίνουν κατανοητοί οι παραπάνω ορισμοί, ας υποθέσουμε ότι ένα ρομπότ κυκλικού σχήματος
καλείται να μετακινηθεί, χωρίς να περιστρέφεται, στο επίπεδο (𝒲 = ℝ𝟐 )( Εικόνα 1.4). Ένας απλός τρόπος να
αναπαραστήσουμε τη διαμόρφωση 𝓆 του 𝒜 είναι να προσδιορίσουμε τη θέση του κέντρου του (𝑥, 𝑦) ως προς
ένα σταθερό σύστημα συντεταγμένων. Αν γνωρίζουμε την ακτίνα ρ του 𝒜, τότε μπορούμε πολύ εύκολα να
ορίσουμε το σύνολο των σημείων 𝒜(𝓆) που ανήκουν στο 𝒜, χρησιμοποιώντας τη διαμόρφωση 𝓆 = (𝑥, 𝑦). Το
σύνολο 𝒜(𝓆) ορίζεται ως εξής:
𝒜 (𝓆) = {(𝑥 ′ , 𝑦 ′ )| (𝑥 ′ − 𝑥)2 + (𝑦 ′ − 𝑦)2 ≤ 𝜌2 } (1.1)
από την οποία παρατηρούμε ότι οι δύο παράμετροι 𝑥 και 𝑦 επαρκούν για να προσδιορίσουν πλήρως τη
διαμόρφωση του 𝒜.

Εικόνα 1.4 Το σύνολο 𝒜(𝓆) που ορίζει το 𝒜 (μπλε κυκλικός δίσκος).

Ας υποθέσουμε τώρα ότι το ρομπότ 𝒜 καλείται να κινηθεί, χωρίς να περιστρέφεται, στο επίπεδο (𝒲 = ℝ𝟐 ).
Επιπλέον, ας θεωρήσουμε ότι ο χώρος εργασίας του 𝒲 περιέχει ένα ακίνητο εμπόδιο (ορθογωνίου σχήματος)
(Εικόνα 1.5). Ο χώρος διαμορφώσεων 𝒞 κατασκευάζεται μετατρέποντας το 𝒜 σε σημείο και «αλλάζοντας»
κατάλληλα τη γεωμετρία του εμποδίου, ώστε να συμπεριλάβει τις διαμορφώσεις του 𝒜 που οδηγούν σε
συγκρούσεις (Εικόνα 1.6). Οι διαμορφώσεις οι οποίες οδηγούν σε συγκρούσεις μεταξύ του 𝒜 και των εμποδίων
καλούνται εμπόδια διαμορφώσεων 𝒞𝒪 (Configuration Obstacles ή C-Obstacles) (Εικόνα 1.6). Ένα σημείο το
οποίο βρίσκεται μέσα σε ένα 𝒞𝒪 αντιστοιχεί στην κατάσταση κατά την οποία το 𝒜 συγκρούεται με το εμπόδιο.
Όταν ένα σημείο βρίσκεται στο σύνορο/περιφέρεια ενός 𝒞𝒪, αντιστοιχεί στην κατάσταση κατά την οποία το 𝒜
βρίσκεται στις παρυφές του εμποδίου.

Ηλίας Ξυδιάς 20
Εικόνα 1.5 Ο χώρος εργασίας 𝒲 του 𝒜, ο οποίος περιέχει ένα πολυγωνικό εμπόδιο σε σχήμα ορθογωνίου και το σύνολο
𝒜(𝓆) (μπλε κυκλικός δίσκος).

Εικόνα 1.6 Ο αντίστοιχος χώρος διαμορφώσεων.

Με βάση τα παραπάνω, ένα εμπόδιο-διαμορφώσεων 𝒞𝒪 ορίζεται από το σύνολο διαμορφώσεων στις οποίες το
𝒜 τέμνει (επικαλύπτει) ένα εμπόδιο και εκφράζεται ως εξής:
𝒞𝒪𝑖 = {𝓆𝜖𝒞| 𝒜(𝓆)⋂𝒪𝑖 ≠ ∅}, 𝑖 = 1, … , 𝑛 (1.2)
Ο Ελεύθερος χώρος ή ελεύθερος χώρος διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 ορίζεται ως το σύνολο των διαμορφώσεων κατά
το οποίο το 𝒜 δεν τέμνει (επικαλύπτει) κάποιο εμπόδιο και εκφράζεται ως εξής:
𝒞𝑓𝑟𝑒𝑒 = 𝒞\⋃𝑖 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑛 (1.3)
Μια διαδρομή για το 𝒜 χωρίς συγκρούσεις στο 𝒞 ορίζεται ως μια συνεχής απεικόνιση 𝜏𝜖[0,1] → 𝒞𝑓𝑟𝑒𝑒 , η οποία
δεν επιτρέπει την επαφή με τα εμπόδια. Μια ημι-ελεύθερη διαδρομή για το 𝒜 ορίζεται ως μια διαδρομή κατά
την οποία επιτρέπεται η επαφή με τα εμπόδια και εκφράζεται ως μια συνεχής απεικόνιση 𝜏𝜖[0,1] → 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ),
όπου 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ) είναι η κλειστή θήκη του 𝒞𝑓𝑟𝑒𝑒 .

1.3 Βασικές Προσεγγίσεις


Τα τελευταία χρόνια έχουν προταθεί πολλές μεθοδολογίες για την επίλυση του βασικού προβλήματος
σχεδιασμού κίνησης ρομπότ. Κάποιες από αυτές μπορούν να εφαρμοστούν στο γενικευμένο πρόβλημα
σχεδιασμού κίνησης, ενώ κάποιες άλλες έχουν περιορισμένη εφαρμογή. Για παράδειγμα, ορισμένες από τις
προτεινόμενες μεθοδολογίες απαιτούν ο χώρος εργασίας του 𝒜 να είναι δύο διαστάσεων και τα εμπόδια να

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 21


είναι πολυγωνικά, ενώ κάποιες άλλες μέθοδοι μπορούν να εφαρμοστούν και σε πολυδιάστατους χώρους
εργασίας.
Στη βιβλιογραφία, οι μεθοδολογίες σχεδιασμού κίνησης που βασίζονται στον χώρο των διαμορφώσεων
𝒞 για την αναπαράσταση του χώρου εργασίας του 𝒜 ταξινομούνται σε τρείς γενικές κατηγορίες 0:
1. σε αυτές που βασίζονται στην Κατάτμηση σε κελιά (Cell Decomposition),
2. σε αυτές που βασίζονται στα Τεχνητά Δυναμικά πεδία (Artificial Potential Fields) και
3. σε αυτές που βασίζονται στους Χάρτες διαδρομών (Roadmaps).

1.3.1 Κατάτμηση σε Κελιά


Σε αυτήν την κατηγορία ανήκουν οι μεθοδολογίες οι οποίες βασίζονται στην κατάτμηση του ελεύθερου από
συγκρούσεις χώρου διαμορφώσεων του 𝒜 σε περιοχές οι οποίες καλούνται κελιά (cells). Στη συνέχεια,
κατασκευάζεται ένας μη κατευθυνόμενος γράφος που αναπαριστά τη σχέση γειτνίασης μεταξύ των κελιών. Οι
κόμβοι του γράφου είναι τα παραγόμενα κελιά. Δύο κόμβοι ενώνονται μεταξύ τους με μια ακμή, αν και μόνο
αν τα αντίστοιχα κελιά είναι γειτονικά. Τέλος, ο γράφος ερευνάται για την εύρεση της διαδρομής που ενώνει
το αρχικό σημείο με το τελικό σημείο. Το αποτέλεσμα της αναζήτησης είναι μια ακολουθία κελιών, η οποία
καλείται «κανάλι» και η οποία αποτελεί μια συνεχή ελεύθερη διαδρομή για το 𝒜.
Σύμφωνα με το 0, οι μεθοδολογίες οι οποίες βασίζονται στην κατάτμηση σε κελιά ταξινομούνται σε δύο
βασικές κατηγορίες:
1. στις Ακριβείς (Exact) και,
2. στις μεθοδολογίες Προσέγγισης (Approximate), η οποία εξελίχθηκε στις Προσαρμοστικές
Μεθοδολογίες (Adaptive).
Οι Ακριβείς μεθοδολογίες αποσυνθέτουν τον ελεύθερο από συγκρούσεις χώρο διαμορφώσεων του 𝒜 σε κελιά,
των οποίων η ένωση οδηγεί στην ακριβή σύνθεση του 𝒞𝑓𝑟𝑒𝑒 . Στην Εικόνα 1.7 απεικονίζεται ένας δύο
διαστάσεων χώρος 𝒞, όπου το 𝒜 καλείται να μετακινηθεί από το σημείο με ετικέτα Αρχή στο σημείο με ετικέτα
Τέλος, αποφεύγοντας τη σύγκρουση με δύο πολυγωνικά εμπόδια. Ο 𝒞𝑓𝑟𝑒𝑒 του 𝒜 κατατέμνεται σε περιοχές
που έχουν σχήμα ορθογωνίου και τραπεζίου (Εικόνα 1.8). Αυτές οι περιοχές κατασκευάζονται φέρνοντας
παράλληλες γραμμές στον κάθετο άξονα (sweep line algorithm 0), οι οποίες περνάνε από τις κορυφές των
εμποδίων διαμόρφωσης. Δύο περιοχές (κελιά) είναι γειτονικές όταν έχουν μια κοινή ακμή. Μόλις
κατασκευαστεί ο συνδετικός γράφος και βρεθεί ένα κανάλι (Εικόνα 1.9), υπολογίζεται μια ελεύθερη από
συγκρούσεις διαδρομή, η οποία ενώνει την αρχική διαμόρφωση (Αρχή) και την τελική διαμόρφωση (Τέλος).
Έχοντας ως κριτήριο το ελάχιστο δυνατό μήκος, η προτεινομένη διαδρομή περνά από τα μέσα των ακμών των
ορθογώνιων και τραπέζιων που έχουν σχηματιστεί κατά την αποσύνθεση του 𝒞𝑓𝑟𝑒𝑒 (Εικόνα 1.10). Οι Ακριβείς
μέθοδοι είναι πλήρεις (complete), δηλαδή εγγυώνται να βρουν μια ελεύθερη από συγκρούσεις διαδρομή, αν
υπάρχει.

Ηλίας Ξυδιάς 22
Εικόνα 1.7 Ο χώρος εργασίας 𝒲 του 𝒜.

Εικόνα 1.8 Η κατάτμηση σε κελιά του 𝒞𝑓𝑟𝑒𝑒 .

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 23


Εικόνα 1.9 Ο αντίστοιχος γράφος και το κανάλι που συνδέει το κελί στο οποίο βρίσκεται η Αρχή με το κελί στο οποίο
βρίσκεται το Τέλος.

Εικόνα 1.10 Η προτεινόμενη διαδρομή.

Οι μέθοδοι Προσέγγισης (Approximate cell decomposition) κατασκευάζουν κελιά προκαθορισμένου σχήματος


(π.χ. τετράγωνα), των οποίων η ένωση είναι ένα υποσύνολο του 𝒞𝑓𝑟𝑒𝑒 . Αρχικά, ο χώρος διαμορφώσεων του 𝒜
διαιρείται σε τέσσερα τεταρτημόρια (4 κελιά). Στη συνέχεια χρησιμοποιείται μια αναδρομική μέθοδος, κατά
την οποία τα παραγόμενα κελιά αποσυντίθενται, έως ότου εμφανιστεί μία από τις ακόλουθες περιπτώσεις:
• το κελί βρίσκεται είτε εντελώς στο 𝒞𝑓𝑟𝑒𝑒 είτε εντελώς στο 𝒞𝒪𝑖 , , 𝑖 = 1, … , 𝑛.
• Επιτυγχάνεται η επιθυμητή κατάτμηση του χώρου.
Μόλις ένα κελί πληροί ένα από τα παραπάνω κριτήρια, σταματά να διαχωρίζεται. Αυτή η μέθοδος ονομάζεται
κατάτμηση “quadtree”, επειδή ένα κελί χωρίζεται σε τέσσερα μικρότερα κελιά του ίδιου σχήματος κάθε φορά
που αποσυντίθεται. Όταν φτάσουμε στην επιθυμητή ανάλυση, κατασκευάζουμε τον συνδετικό γράφο,
χρησιμοποιώντας μόνο τα κελιά τα οποία κείνται ολόκληρα στον ελεύθερο χώρο. Αν το αποτέλεσμα της
έρευνας τελειώσει με επιτυχία, τότε μια διαδρομή, η οποία ενώνει την αρχική και τελική διαμόρφωση, μπορεί
να παραχθεί εύκολα. Στην αντίθετη περίπτωση, είτε η ανάλυση που κάναμε δεν ήταν αρκετή είτε δεν υπάρχει
μια ελεύθερη διαδρομή που ενώνει την αρχική και τελική διαμόρφωση. Στην Εικόνα 1.12, απεικονίζεται ένα
παράδειγμα της κατά Προσέγγιση Κατάτμησης σε κελιά, στην οποία ο δύο διαστάσεων χώρος διαμορφώσεων
𝒞 του 𝒜 περιορίζεται εξωτερικά από ένα τετράγωνο και εσωτερικά από τρεις πολυγωνικές περιοχές (Εικόνα
1.11).

Ηλίας Ξυδιάς 24
Εικόνα 1.11 Ένας δύο διαστάσεων χώρος διαμορφώσεων ο οποίος περιέχει τρία 𝒞𝒪𝑖 , , 𝑖 = 1, … ,3 πολυγωνικού σχήματος.

Εικόνα 1.12 Το αποτέλεσμα της κατά προσέγγιση αποσύνθεσης σε κελιά. Τα άσπρα κελιά κείνται έξω από τα εμπόδια
διαμόρφωσης, τα γκρι κελιά περιέχουν ένα μέρος των εμποδίων διαμόρφωσης και τα μαύρα κελιά κείνται ολόκληρα μέσα
στα εμπόδια-διαμόρφωσης.

Οι μέθοδοι Προσέγγισης δεν είναι πλήρεις (complete). Βέβαια, για τις περισσότερες μεθόδους που βασίζονται
στην κατά Προσέγγιση Κατάτμηση σε κελιά, η ακρίβεια της προσέγγισης μπορεί να βελτιωθεί, αυξάνοντας την
ανάλυση της κατάτμησης και μειώνοντας το μέγεθος του κελιού, γι’ αυτό αυτές οι μέθοδοι καλούνται resolution
complete.
Οι μεθοδολογίες που βασίζονται στην κατάτμηση σε κελιά παρουσιάζουν πλεονεκτήματα και
μειονεκτήματα. Κάποια από τα πλεονεκτήματά τους είναι ότι (α) μπορούν να υλοποιηθούν πολύ γρήγορα και
(β) είναι εύκολο μέσω αυτών να κατασκευαστεί μια διαδρομή, αν υπάρχει. Το μεγαλύτερο μειονέκτημά τους
είναι ότι απαιτούν μεγάλο αποθηκευτικό χώρο. Για να αντιμετωπιστεί αυτό το πρόβλημα, αναπτύχθηκαν
μεθοδολογίες (Προσαρμοστική κατάτμηση σε κελιά) που βασίζονται στα “quadtree”, όταν ο 𝒞 είναι 2-
διαστάσεων ή στα “octree”, όταν ο 𝒞 είναι 3-διαστάσεων Error! Reference source not found.. Είναι από τις
πιο αποτελεσματικές μεθόδους στην αντιμετώπιση του παραπάνω προβλήματος, αλλά παρόλα αυτά δεν είναι

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 25


ικανές να βρουν διαδρομές που ικανοποιούν κάποιο κριτήριο, π.χ. αυτό της μικρότερης σε μήκος διαδρομής.
Οι Chen και λοιποί 0 εισήγαγαν μια μεθοδολογία η οποία συνδυάζει την αποτελεσματικότητα των «quadtree»
προσεγγίσεων και την ακρίβεια των μεθοδολογιών που είναι ακριβείς ως προς τον υπολογισμό της
συντομότερης σε μήκος διαδρομής. Η μεθοδολογία που αναπτύχθηκε και η οποία συγκαταλέγεται στην
Προσαρμοστική Κατάτμηση σε κελιά καλείται «Framed-Quadtree» και κατασκευάζεται με τρόπο παρόμοιο με
αυτόν που κατασκευάζονται τα «quadtree» (ή τα «octree» στις τρεις-διαστάσεις), με τη διαφορά ότι τα κελιά
με την υψηλότερη ανάλυση (το μέγεθος της ανάλυσης εξαρτάται από τον χρήστη και συνήθως επιλέγεται να
είναι το φυσικό μέγεθος του ρομποτικού συστήματος) τοποθετούνται στην περιφέρεια κάθε quadtree περιοχής.
Ένα παράδειγμα κατάτμησης του χώρου διαμορφώσεων του 𝒜 (Εικόνα 1.13), το οποίο βασίζεται στη Framed-
Quadtree κατάτμηση, παρουσιάζεται στην Εικόνα 1.14.

Εικόνα 1.13 Ένας δύο διαστάσεων χώρος διαμορφώσεων, ο οποίος περιέχει ένα 𝒞𝒪1 πολυγωνικού σχήματος.

Εικόνα 1.14 Η αντίστοιχη framed – quadtree κατάτμηση σε κελιά.

Η αναζήτηση της διαδρομής στις μεθόδους που βασίζονται στην Κατάτμηση σε κελιά γίνεται συνήθως
χρησιμοποιώντας τον αλγόριθμο τον Α* 0.

Ηλίας Ξυδιάς 26
1.3.2 Τεχνητά Δυναμικά Πεδία
Τα τεχνητά δυναμικά πεδία χρησιμοποιήθηκαν πρώτη φορά για τον σχεδιασμό κίνησης ρομποτικού
συστήματος από τον Khatib το 1990 0. Η κύρια ιδέα αυτής της προσέγγισης είναι η δημιουργία ελκτικών και
απωθητικών δυνάμεων, οι οποίες κατευθύνουν το ρομπότ 𝒜 προς τον επιθυμητό στόχο. Ο στόχος έλκει το 𝒜
ενώ αντίθετα κάθε ένα από τα εμπόδια που βρίσκονται στον χώρο διαμορφώσεων του 𝒜 το απωθούν, έτσι ώστε
να αποφευχθεί η σύγκρουση με αυτά.
Γενικά, στο 𝒜 επιδρά ένα βαθμωτό δυναμικό πεδίο 𝑈, το οποίο ορίζεται ως εξής:
𝑈 = 𝑈𝑎𝑡𝑡 + 𝑈𝑟𝑒𝑝 (1.4)
όπου 𝑈𝑎𝑡𝑡 και 𝑈𝑟𝑒𝑝 είναι το ελκτικό και το απωθητικό δυναμικό αντιστοίχως. Το ελκτικό δυναμικό τείνει να
«τραβήξει» το 𝒜 προς τον στόχο, ενώ το απωθητικό δυναμικό τείνει να «σπρώξει» το 𝒜 μακριά από τα
εμπόδια. Το δυναμικό πεδίο των τεχνητών δυνάμεων 𝐅(𝓆) δίνεται από τη σχέση,
𝐅(𝓆) = −∇𝑈𝑎𝑡𝑡 + ∇𝑈𝑟𝑒𝑝 = 𝐅𝑎𝑡𝑡 (𝓆) + 𝐅𝑟𝑒𝑝 (𝓆) (1.5)
όπου ∇𝑈 είναι η κλίση του δυναμικού πεδίου 𝑈 όταν το 𝒜 βρίσκεται στη θέση 𝓆 = (𝑥, 𝑦) ∈ 𝒞 2 , 𝐅𝑎𝑡𝑡 (𝓆) =
−∇𝑈𝑎𝑡𝑡 and 𝐅𝑟𝑒𝑝 (𝓆) = ∇𝑈𝑟𝑒𝑝 . Σε κάθε διαμόρφωση του 𝒜, η διεύθυνση αυτής της δύναμης μας δίνει τη
διεύθυνση της κίνησης του 𝒜. Στις Εικόνες 1.15,1.16,1.17 και 1.18 απεικονίζεται ένα παράδειγμα εφαρμογής
των τεχνητών δυναμικών πεδίων σε έναν δύο διαστάσεων χώρο διαμορφώσεων. Ο χώρος διαμορφώσεων 𝒞 2
του 𝒜 αποτελείται από 4 εμπόδια (σχήματα με μαύρο χρώμα) (Εικόνες 1.15), ενώ η επιθυμητή θέση του 𝒜 με
μια κόκκινη τελεία. Το αντίστοιχο ελκτικό και απωθητικό δυναμικό απεικονίζονται στις εικόνες 1.16 και 1.17,
ενώ το συνολικό δυναμικό στην Εικόνα 1.18.

Εικόνα 1.15 Ο αρχικός χώρος διαμορφώσεων.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 27


Εικόνα 1.16 Το ελκτικό δυναμικό πεδίο.

Εικόνα 1.17 Το απωθητικό δυναμικό πεδίο.

Ηλίας Ξυδιάς 28
Εικόνα 1.18 Το συνολικό δυναμικό πεδίο.

Σε σύγκριση με την αποσύνδεση σε κελιά, τα τεχνητά δυναμικά πεδία είναι πιο αποτελεσματικά και μπορούν
να λειτουργήσουν εξίσου καλά σε διάφορες παραλλαγές του βασικού προβλήματος σχεδιασμού κίνησης.
Παρόλα αυτά, έχουν ένα σημαντικό μειονέκτημα. Οι δυναμικές συναρτήσεις συνήθως παρουσιάζουν
περισσότερα από ένα τοπικά ελάχιστα (δηλ. σημεία όπου η απωθητική δύναμη γίνεται ίση με την ελκτική
δύναμη), εκτός από αυτό της επιθυμητής τελικής διαμόρφωσης, τα οποία μπορούν να δυσκολέψουν το
ρομποτικό σύστημα.

1.3.3 Χάρτες Διαδρομών


Οι μεθοδολογίες που βασίζονται στους Χάρτες Διαδρομών μειώνουν τον Ν-διαστάσεων χώρο διαμορφώσεων
του 𝒜 σε ένα σύνολο μονοδιάστατων καμπυλών, οι οποίες σχηματίζουν έναν χάρτη διαδρομών 𝑅, στον οποίο
γίνεται η αναζήτηση της διαδρομής για το 𝒜. Ο χάρτης 𝑅 βρίσκεται μέσα στο 𝒞𝑓𝑟𝑒𝑒 ή στο 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ).
Μόλις κατασκευαστεί ο χάρτης 𝑅, η αρχική και τελική διαμόρφωση του 𝒜 προστίθενται στο 𝑅 και στη
συνέχεια αυτός ερευνάται για μια διαδρομή, η οποία ενώνει την αρχική και τελική διαμόρφωση. Η διαδρομή
του 𝒜, αν υπάρχει, αποτελείται από τρία τμήματα:
• το πρώτο τμήμα της διαδρομής ενώνει την αρχική διαμόρφωση του 𝒜 με τον 𝑅,
• το δεύτερο τμήμα της διαδρομής αποτελεί ένα μέρος του 𝑅 και
• το τρίτο τμήμα της διαδρομής ενώνει τον χάρτη 𝑅 με την τελική διαμόρφωση του 𝒜.
Στη συνέχεια, με τη βοήθεια ενός δείκτη βελτιστοποίησης (π.χ. της Ευκλείδειας μετρικής), μπορεί να
αναζητηθεί η βέλτιστη λύση στο πρόβλημα σχεδιασμού διαδρομών, η οποία στις περισσότερες περιπτώσεις
αντιπροσωπεύει τη συντομότερη διαδρομή.
Στην Εικόνα 1.19 παρουσιάζεται ενδεικτικά ο χάρτης διαδρομών, ο οποίος καλείται Χάρτης Ορατότητας
(Visibility Graph). Η μέθοδος Χάρτης Ορατότητας είναι μια από τις παλαιότερες μεθόδους σχεδιασμού κίνησης
για ένα ρομποτικό σύστημα και εισήχθη από τους Lozano-Perez and Wesley το 1979 0. Κατασκευάζει έναν μη
κατευθυνόμενο γράφο στον χώρο των διαμορφώσεων 𝒞, ο οποίος ερευνάται για μια διαδρομή με το μικρότερο
μήκος. Οι κόμβοι του γράφου είναι η Αρχική και Τελική διαμόρφωση του 𝒜 και κορυφές των εμποδίων, οι
ακμές του γράφου, είναι όλα τα ευθύγραμμα τμήματα τα οποία ενώνουν δύο κόμβους και δεν τέμνονται με τα

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 29


εμπόδια. Ο Χάρτης Ορατότητας μπορεί να κατασκευαστεί σε χρόνο 𝛰(𝑛2 log (𝑛)), όπου 𝑛 είναι ο αριθμός των
κορυφών των εμποδίων. Συνήθως, εφαρμόζεται σε Χώρους Διαμορφώσεων δύο διαστάσεων, οι οποίοι
περιέχουν πολυγωνικά εμπόδια.

Εικόνα 1.19 Ο χάρτης ορατότητας, όπου ο χώρος διαμορφώσεων περιέχει 2 πολυγωνικά εμπόδια.

Μια άλλη μέθοδος σχεδιασμού κίνησης, η οποία βασίζεται στον σχεδιασμό χαρτών, είναι το διάγραμμα
Voronoi (Voronoi Diagram) 0. Το διάγραμμα Voronoi ορίζεται ως ένα σύνολο από σημεία τα οποία ισαπέχουν
από 2 ή περισσότερα 𝒞𝒪, συμπεριλαμβανομένων και των ορίων του χώρου εργασίας του 𝒜. H Εικόνα 1.20
παρουσιάζει έναν χώρο διαμορφώσεων ο οποίος αποτελείται από 3 πολυγωνικά 𝒞𝒪 και το αντίστοιχο
διάγραμμα Voronoi. Το βασικότερο πλεονέκτημα των διαγραμμάτων Voronoi είναι ότι δημιουργούν διαδρομές
οι οποίες τείνουν να μεγιστοποιήσουν την απόσταση ανάμεσα στο 𝒜 και τα 𝒞𝒪. Στην περίπτωση κατά την
οποία τα εμπόδια είναι πολυγωνικά, το αντίστοιχο διάγραμμα Voronoi αποτελείται από ευθύγραμμα τμήματα
και παραβολικές καμπύλες. Το διάγραμμα Voronoi μπορεί να κατασκευαστεί σε 𝛰(𝑛log (𝑛)) χρόνο όπου 𝑛
είναι ο αριθμός των κορυφών.

Ηλίας Ξυδιάς 30
Εικόνα 1.20 Το διάγραμμα Voronoi για έναν διδιάστατο χώρο διαμορφώσεων, ο οποίος περιέχει 3 πολυγωνικά εμπόδια.

1.4 Επεκτάσεις του Βασικού Προβλήματος


Όπως παρουσιάστηκε στις προηγούμενες ενότητες, ένα «πραγματικό» πρόβλημα σχεδιασμού κίνησης μπορεί,
με τους κατάλληλους μετασχηματισμούς και υποθέσεις, να αναχθεί στο βασικό πρόβλημα, στη συνέχεια να
λυθεί και, τέλος, η προτεινόμενη λύση να προσαρμοστεί στο «πραγματικό» πρόβλημα. Σε αυτήν την υπο-
ενότητα θα παρουσιαστούν κάποιες από τις κύριες προεκτάσεις του βασικού προβλήματος σχεδιασμού
κίνησης.

1.4.1 Πολλαπλά Κινούμενα Αντικείμενα


Σε αυτήν την εκδοχή αναιρούμε μια από τις πιο βασικές υποθέσεις του βασικού προβλήματος σχεδιασμού
κίνησης, ότι δηλαδή το ρομποτικό σύστημα είναι το μόνο κινούμενο αντικείμενο στον χώρο εργασίας του.
Κάτω από τον τίτλο «Πολλαπλά κινούμενα αντικείμενα» μπορούν να ενταχθούν τρία προβλήματα:
• Ο χώρος εργασίας του ρομποτικού συστήματος περιέχει κινούμενα και ακίνητα εμπόδια.
• Μια ομάδα από ρομποτικά συστήματα είτε ομογενή είτε ετερογενή καλούνται να
συνυπάρξουν/να συνεργαστούν στον χώρο εργασίας τους.
• Το ρομποτικό σύστημα είναι ένα αρθρωτό ρομποτικό σύστημα, δηλαδή αποτελείται από ένα
πεπερασμένο σύνολο άκαμπτων αντικειμένων (σύνδεσμοι) τα οποία ενώνονται με αρθρώσεις.

1.4.1.1 Κινούμενα Εμπόδια


Σε αυτήν την παραλλαγή του βασικού προβλήματος, ο χώρος εργασίας του ρομποτικού συστήματος περιέχει
κινούμενα και ακίνητα εμπόδια. Κατ’ επέκταση, το πρόβλημα πλέον δεν μπορεί να λυθεί με την κατασκευή
μιας γεωμετρικής διαδρομής. Αντιθέτως, πρέπει να κατασκευαστεί μια διαδρομή η οποία είναι συνεχής
συνάρτηση ως προς τον χρόνο και για κάθε χρονική στιγμή θα παρέχει την πληροφορία για τη θέση και τον
προσανατολισμό του ρομποτικού συστήματος. Οι σχετικές μεθοδολογίες που αναπτυχθήκαν μπορούν να
ταξινομηθούν σε δύο βασικές κατηγορίες 0: (α) σε αυτές που βασίζονται στα τεχνητά δυναμικά πεδία και (β)
σε αυτές που βασίζονται στους γράφους.
Στις μεθοδολογίες που βασίζονται στα τεχνητά δυναμικά πεδία 0 το ρομποτικό σύστημα κινείται από τον
συνδυασμό της επίδρασης ενός ελκτικού και ενός απωθητικού πεδίου. Το ελκτικό πεδίο δημιουργείται από την
επιθυμητή τελική διαμόρφωση (θέση και προσανατολισμό) του ρομποτικού συστήματος, ενώ το απωθητικό

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 31


πεδίο δημιουργείται από τα ακίνητα εμπόδια και από τη σχετική θέση και ταχύτητα του ρομποτικού συστήματος
ως προς τα κινούμενα εμπόδια. Το βασικό μειονέκτημα αυτών των μεθόδων είναι ότι παρουσιάζονται τοπικά
ελάχιστα τα οποία μπορεί να παγιδέψουν το ρομπότ.
Οι μεθοδολογίες που βασίζονται στους γράφους εισάγουν στον χώρο των διαμορφώσεων 𝒞 μια νέα
διάσταση, η οποία αναπαριστά τον χρόνο. Ο νέος χώρος που σχηματίζεται ονομάζεται Configuration -Time
Space (𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒) 0 και είναι σταθερός. Αυτό σημαίνει ότι τόσο τα ακίνητα εμπόδια όσο και τα κινούμενα
εμπόδια απεικονίζονται ως ακίνητες περιοχές στις οποίες δεν επιτρέπεται να εισέλθει το ρομποτικό σύστημα.
Οι περιοχές αυτές καλούνται Configuration -Time Obstacles (𝒞𝒯 − 𝑜𝑏𝑠𝑡𝑎𝑐𝑙𝑒𝑠). Παρακάτω παρουσιάζεται ένα
παράδειγμα του 𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒, στο οποίο ένα κυκλικό αντικείμενο μετακινείται από το start στο end
ακολουθώντας τη διακεκομμένη καμπύλη χρώματος μπλε (Εικόνα 1.21). Στην Εικόνα 1.22 παρουσιάζεται το
αντίστοιχο 𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒, στο οποίο ο χρόνος έχει προστεθεί ως η 3η διάσταση του 𝒞 και το αντικείμενο
μετατρέπεται σε τριδιάστατο.

Εικόνα 1.21 Ένα κυκλικό αντικείμενο το οποίο κινείται στον χώρο των διαμορφώσεων.

Εικόνα 1.22 Ο αντίστοιχος 𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒.

Ο γράφος κατασκευάζεται σε έναν χώρο μεγαλύτερης διάστασης, όπου τα κινούμενα εμπόδια μετατρέπονται
σε ακίνητα (𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒) 0. Έτσι ο σχεδιασμός κίνησης μεταξύ κινούμενων και ακίνητων εμποδίων
απλοποιείται σε σχεδιασμό κίνησης μεταξύ ακίνητων εμποδίων. Το βασικό μειονέκτημα που παρουσιάζεται
είναι ότι όταν ο χώρος εργασίας του ρομποτικού συστήματος είναι πολύ μεγάλος, η εφαρμογή του 𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒

Ηλίας Ξυδιάς 32
δεν είναι μια εύκολη διαδικασία. Επίσης, δεδομένου ότι ο χρόνος είναι μη αναστρέψιμος, δηλαδή δεν μπορούμε
να πάμε πίσω στον χρόνο, η προτεινόμενη διαδρομή πρέπει να είναι αύξουσα ως προς τον χρόνο.

1.4.1.2 Ομάδα Ρομποτικών Συστημάτων


Ο σχεδιασμός κίνησης για μια ομάδα ρομποτικών συστημάτων, είτε ομογενών είτε ετερογενών, διαφέρει από
τον σχεδιασμό κίνησης για ένα ρομποτικό σύστημα που κινείται σε χώρο που περιέχει κινούμενα εμπόδια ως
προς το ότι οι κινήσεις των ρομποτικών συστημάτων πρέπει να ορισθούν, ενώ η κίνηση των εμποδίων είναι
τυχαία. Οι μεθοδολογίες που έχουν αναπτυχθεί μπορούν να ταξινομηθούν σε δύο κατηγορίες 0:
• Τη Συγκεντρωτική (Centralized) προσέγγιση,
• Την Αποκεντρωμένη (Decoupled ή Decentralized) προσέγγιση.
Οι μεθοδολογίες που βασίζονται στη Συγκεντρωτική (Centralized) προσέγγιση θεωρούν ότι τα ρομποτικά
συστήματα 𝒜1 , 𝒜2 , … , 𝒜𝑘 (όπου 𝑘 είναι το πλήθος των ρομποτικών συστημάτων) που εργάζονται στον χώρο
εργασίας αποτελούν μια οντότητα. Πρόκειται δηλαδή για ένα πολύ-σώμα (multi body), το οποίο ορίζεται ως
𝓐 = {𝒜1 , 𝒜2 , … , 𝒜𝑘 }. Ο χώρος διαμορφώσεων που χρησιμοποιείται για να αναπαραστήσει τον χώρο
εργασίας του ρομποτικού συστήματος 𝓐 προκύπτει από το καρτεσιανό γινόμενο των χώρων διαμορφώσεων
για κάθε ένα από τα 𝒜𝑗 , 𝑗 = 1, … , 𝑘 και δίνεται από την σχέση 𝒞 = 𝒞1 × 𝒞2 × … × 𝒞𝑘 . Στον χώρο
διαμορφώσεων 𝒞 κάθε διαμόρφωση του 𝓐 ορίζει μια μοναδική θέση και προσανατολισμό για κάθε ένα από τα
𝒜𝑗 , 𝑗 = 1, … , 𝑘. Κάθε ένα από τα εμπόδια διαμόρφωσης 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑛 του χώρου 𝒞 προκύπτουν από την
επίδραση καθενός από τα 𝒜𝑗 , 𝑗 = 1, … , 𝑘 με κάθε ένα από τα 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑛. Οι μεθοδολογίες που βασίζονται
στη Συγκεντρωτική προσέγγιση μπορούν να βρουν τη βέλτιστη λύση, αν υπάρχει. Εν τούτοις, απαιτείται
μεγάλος υπολογιστικός χρόνος και μεγάλος χώρος αποθήκευσης, εξαιτίας της πολυπλοκότητας του χώρου 𝒞.
Αξίζει να σημειωθεί ότι η πολυπλοκότητα των πιο διαδεδομένων αλγορίθμων είναι εκθετική.
Οι μεθοδολογίες που βασίζονται στην Αποκεντρωμένη προσέγγιση (Decentralized approach) αρχικά
σχεδιάζουν μια διαδρομή για κάθε ένα από τα ρομποτικά συστήματα 𝒜𝑗 , 𝑗 = 1, … , 𝑘 που υπάρχουν στον χώρο
διαμορφώσεων 𝒞. Στη συνέχεια, εντοπίζουν τα σημεία στα οποία υπάρχουν συγκρούσεις και ρυθμίζουν την
ταχύτητα κάθε ενός από τα 𝒜𝑗 , 𝑗 = 1, … , 𝑘 που εμπλέκονται, έτσι ώστε να αποφευχθούν οι συγκρούσεις μεταξύ
τους. Ακολουθώντας αυτή τη διαδικασία, το πλήθος των υπολογισμών μειώνεται αρκετά αλλά εις βάρος της
πληρότητας (completeness) της μεθόδου. Στις Εικόνες 1.23 και 1.24 παρουσιάζεται ένα πρόβλημα σχεδιασμού
κίνησης κατά το οποίο δύο ρομποτικά συστήματα 𝒜𝑗 , 𝑗 = 1,2 (κυκλικοί δίσκοι) καλούνται να αλλάξουν θέσεις
σε ένα σημείο του χώρου που είναι στενό και δεν επιτρέπει αυτήν την αλλαγή. Είναι προφανές ότι η μέθοδος
της αποκέντρωσης, η οποία εφαρμόζεται για την επίλυση του προβλήματος, αποτυγχάνει να βρει λύση. Το
πρόβλημα έγκειται στο γεγονός ότι προτείνει ανταλλαγή των θέσεων των 𝒜𝑗 , 𝑗 = 1,2 στον στενό διάδρομο,
από όπου προφανώς δεν μπορούν να περάσουν και όχι στην περιοχή στην οποία υπάρχει αρκετός χώρος. Αυτό
συμβαίνει διότι η αποκεντρωμένη προσέγγιση δεν περιλαμβάνει εκείνον τον μηχανισμό ο οποίος θα επέτρεπε
στα 𝒜𝑗 , 𝑗 = 1,2 να μετακινηθούν πρώτα στην περιοχή του χώρου εργασίας που έχει αρκετό χώρο, να αλλάξουν
θέσεις και στη συνέχεια να κατευθυνθούν προς τις τελικές διαμορφώσεις.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 33


Εικόνα 1.23 Αρχική διαμόρφωση για τα ρομποτικά συστήματα 𝒜𝑗 , 𝑗 = 1,2.

Εικόνα 1.24 Τελική διαμόρφωση για τα ρομποτικά συστήματα 𝒜𝑗 , 𝑗 = 1,2.

1.4.1.3 Αρθρωτά Ρομποτικά Συστήματα


Ένα αρθρωτό ρομποτικό σύστημα 𝒜 αποτελείται από κινούμενα αντικείμενα, τους συνδέσμους (links), τα
οποία συνδέονται με αρθρώσεις (joints) είτε πρισματικές, είτε περιστροφικές, είτε συνδυασμό αυτών (Εικόνα
1.25). Κάθε άρθρωση περιορίζει τις κινήσεις των δύο συνδέσμων που ενώνει.
Για να εφαρμοστεί κάποια από τις μεθοδολογίες που έχει παρουσιαστεί παραπάνω (κατάτμηση σε κελιά,
τεχνητά δυναμικά πεδία και χάρτες διαδρομών) πρέπει να θεωρηθεί κάθε ένας από τους συνδέσμους του
αρθρωτού ρομποτικού συστήματος ως κινούμενο αντικείμενο. Οι περιορισμοί που δημιουργεί κάθε μία από
τις αρθρώσεις στο ζεύγος συνδέσμων που ενώνει ορίζουν ένα υποσύνολο του χώρου διαμορφώσεων 𝒞. Κάθε
διαμόρφωση σε αυτό το υποσύνολο ορίζει μια μοναδική θέση και προσανατολισμό για κάθε έναν από τους
συνδέσμους του αρθρωτού ρομποτικού συστήματος. Το μεγαλύτερο μειονέκτημα που παρουσιάζεται κατά την
εφαρμογή των παραπάνω προσεγγίσεων είναι η διάσταση του 𝒞 η οποία είναι ίση με τους βαθμούς ελευθερίας
του ρομποτικού συστήματος 0.

Ηλίας Ξυδιάς 34
Εικόνα 1.25 Ένα αρθρωτό ρομποτικό σύστημα (ρομποτικός βραχίονας τύπου puma).

1.4.2 Κινηματικοί Περιορισμοί


Στο βασικό πρόβλημα σχεδιασμού κίνησης υποθέσαμε ότι η κίνηση του ρομποτικού συστήματος περιορίζεται
μόνο από τα εμπόδια που υπάρχουν στον χώρο εργασίας του. Στην πραγματικότητα, όμως, όταν καλούμαστε
να σχεδιάσουμε την κίνηση για ένα κινούμενο ρομποτικό σύστημα (mobile robot) πρέπει να λάβουμε υπόψη
κάποιους κινηματικούς περιορισμούς. Αυτοί οι περιορισμοί έχουν να κάνουν με τα χαρακτηριστικά του
ρομποτικού συστήματος και περιορίζουν την κίνησή του. Υπάρχουν δύο είδη κινηματικών περιορισμών: οι
ολονομικοί (holonomic) περιορισμοί και οι μη-ολονομικοί (nonholonomic) περιορισμοί 0.

1.4.2.1 Ολονομικοί Περιορισμοί


Ένα σύστημα μπορεί να οριστεί ως ολονομικό αν όλοι οι περιορισμοί του συστήματος είναι ολονομικοί.
Ειδικότερα, οι περιορισμοί αυτοί πρέπει να εξαρτώνται μόνο από τις συντεταγμένες (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) που ορίζουν
τη θέση ενός ρομποτικού συστήματος και από τον χρόνο 𝑡, και όχι από την ταχύτητά του. Οι παραπάνω
περιορισμοί μπορούν να εκφραστούν ως εξής:
𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 , 𝑡) = 0 (1.6)
Οι ολονομικοί περιορισμοί αναμφίβολα επηρεάζουν τον ορισμό του χώρου διαμορφώσεων του ρομπότ,
μειώνοντας τη διάστασή του. Εντούτοις, δεν δημιουργούν νέα ζητήματα και καθιστούν πολλές από τις βασικές
μεθόδους σχεδιασμού κίνησης εφαρμόσιμες.
Για να γίνει περισσότερο κατανοητή η έννοια των ολονομικών περιορισμών, ας υποθέσουμε την
περίπτωση ενός αρθρωτού ρομποτικού συστήματος 6-βαθμών ελευθερίας, το οποίο καλείται να μεταφέρει ένα
ποτήρι νερό από ένα αρχικό σημείο σε ένα τελικό σημείο. Η απαίτηση το ποτήρι να μένει όρθιο κατά τη
διάρκεια της κίνησης αντιστοιχεί στην επιβολή δύο ολονομικών περιορισμών στο αρθρωτό ρομπότ. Αυτό έχει
ως αποτέλεσμα η διάσταση του χώρου διαμορφώσεων να είναι τέσσερα (4).

1.4.2.2 Μη-ολονομικοί Περιορισμοί


Γενικά, ένας μη-ολονομικός περιορισμός είναι μια μη ολοκληρώσιμη εξίσωση, η οποία εμπεριέχει τις
παραμέτρους διαμόρφωσης του ρομπότ και τις παραγώγους τους 0. Ένας μη ολονομικός περιορισμός δεν
μειώνει τη διάσταση του χώρου διαμορφώσεων του ρομποτικού συστήματος, μειώνει, όμως, τη διάσταση του
χώρου των κατευθύνσεων της ταχύτητας του ρομποτικού συστήματος. Δηλαδή, οι μη ολονομικοί περιορισμοί
περιορίζουν τις επιτρεπόμενες κινήσεις που μπορεί να εκτελέσει ένα ρομποτικό σύστημα. Πρέπει να ληφθούν

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 35


υπόψη κατά τη σχεδίαση της κίνησης ενός ρομποτικού συστήματος αλλά και στον έλεγχό του, ειδάλλως το
σύστημα δεν θα μπορέσει να εκτελέσει σωστά τις κινήσεις που του έχουν ανατεθεί.
Για παράδειγμα, ας υποθέσουμε ένα αυτοκινούμενο ρομποτικό σύστημα 𝒜, τύπου οχήματος (car-like
robot), το οποίο καλείται να κινηθεί σε έναν χώρο χωρίς εμπόδια (Εικόνα 1.26). Η διάσταση του χώρου
διαμορφώσεων είναι τρία (3): δύο διαστάσεις οι οποίες χρησιμοποιούνται για την περιγραφή της θέσης και μία
διάσταση που χρησιμοποιείται για να περιγράψει τον προσανατολισμό του. Έτσι, η διαμόρφωση του 𝒜
περιγράφεται από την τριάδα (𝑥, 𝑦, 𝜃), όπου το ζεύγος (𝑥, 𝑦) δείχνει τη θέση του ρομποτικού συστήματος και
η μεταβλητή 𝜃𝜖[0,2𝜋) τον προσανατολισμό του ρομποτικού συστήματος, όπου 𝜃 είναι η γωνία που
σχηματίζεται από τον άξονα x και τον «κεντρικό» άξονα του 𝒜.
Το κινηματικό μοντέλο του 𝒜 εκφράζεται ως εξής:
𝑥̇ (𝑡) = 𝑢(𝑡)𝑐𝑜𝑠(𝜃(𝑡)) (1.7)
𝑦̇ (𝑡) = 𝑢(𝑡)𝑠𝑖𝑛(𝜃(𝑡))
{
𝑢 (𝑡 )
𝜃̇(𝑡) = 𝑡𝑎𝑛(𝜑(𝑡))

𝜋 𝜋
όπου 𝜑(𝑡) ∈ [− , ] είναι η γωνία στρέψης του 𝒜, ℎ είναι το μήκος του «κεντρικού» άξονα, δηλαδή η
2 2
απόσταση μεταξύ του εμπρός και πίσω άξονα του οχήματος, και 𝑢(𝑡) είναι η ταχύτητα του 𝒜 μια χρονική
στιγμή 𝑡. Η κίνηση του 𝒜 περιορίζεται από τη σχέση:
𝑦̇ (𝑡) cos(𝜃 (𝑡)) − 𝑥̇ (𝑡) sin(𝜃 (𝑡)) = 0 (1.8)
η οποία καλείται μη-ολονομικός περιορισμός και περιορίζει τη διάσταση του 𝒞 από τρία σε δύο.

Εικόνα 1.26 Μια αναπαράσταση του 𝒜, όπου 𝑤 είναι το πλάτος του και 𝑝 είναι η ακτίνα καμπυλότητας.

Οι μη-ολονομικοί περιορισμοί περιορίζουν τη γεωμετρία των πιθανών διαδρομών μεταξύ δύο διαμορφώσεων
του 𝒜. Στις περισσότερες περιπτώσεις, το πρόβλημα σχεδιασμού κίνησης για ένα αυτοκινούμενο ρομποτικό
σύστημα αφορά στον καθορισμό μιας ελεύθερης από συγκρούσεις διαδρομής, η οποία ικανοποιεί τη σχέση
(1.8) και κάποια κριτήρια βελτιστοποίησης, όπως είναι το μήκος της διαδρομής (εύρεση της συντομότερης
διαδρομής).

Ηλίας Ξυδιάς 36
1.5 Υπολογιστική Πολυπλοκότητα
Όπως αναφέρθηκε στην ενότητα 1.Α.1, ο σχεδιασμός κίνησης ενός ρομποτικού συστήματος στην πιο βασική
του μορφή συνίσταται στην εύρεση διαδρομών χωρίς σύγκρουση σε έναν (διδιάστατο ή τριδιάστατο) χώρο
εργασίας γεμάτο με στατικά εμπόδια. Η διαμόρφωσή του 𝒜, ορίζεται μοναδικά από τους βαθμούς ελευθερίας
του. Ο χώρος διαμορφώσεων 𝒞 του 𝒜 αποσυντίθεται σε δύο υποσύνολα: το υποσύνολο 𝒞𝒪𝑖 =
{𝓆𝜖𝒞| 𝒜(𝓆)⋂𝒪𝑖 ≠ ∅}, 𝑖 = 1, … , 𝑚, και το υποσύνολο 𝒞𝑓𝑟𝑒𝑒 = 𝒞\⋃𝑖 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑚, όπου 𝑚 το σύνολο των
εμποδίων.
Οι βαθμοί ελευθερίας 𝑑 του 𝒜 είναι ίσως η πιο κρίσιμη παράμετρος για τον προσδιορισμό της
πολυπλοκότητας του προβλήματος σχεδιασμού κίνησης. Οι πιο πλήρεις αλγόριθμοι δημιουργούν και διατηρούν
επακριβώς τον ελεύθερο χώρο 𝒞𝑓𝑟𝑒𝑒 του 𝒜, του οποίου η διάσταση είναι ίση με 𝑑. Επιπλέον, η πολυπλοκότητα
που προκύπτει στην αναπαράσταση του 𝒞𝑓𝑟𝑒𝑒 είναι συνήθως εκθετική στο 𝑑. Επομένως, δεν προκαλεί έκπληξη
ότι ο πιο γνωστός αλγόριθμος σχεδιασμού κίνησης για ένα ρομποτικό σύστημα με βαθμούς ελευθερίας 𝑑 είναι
𝛰(𝑛2𝑑−1 𝑙𝑜𝑔𝑛), όπου 𝑛 είναι η πολυπλοκότητα του χώρου εργασίας, Error! Reference source not found..
Είναι επίσης γνωστό ότι ο σχεδιασμός κίνησης γενικά είναι PSPACE-hard όταν το 𝑑 αποτελεί μέρος της
εισόδου. Η απόδειξη ότι το πρόβλημα σχεδιασμού κίνησης είναι PSPACE-hard υποδηλώνει ότι πιθανώς δεν
είναι καρποφόρα η αναζήτηση ενός αποτελεσματικού αλγορίθμου, ο οποίος θα επιλύει το πρόβλημα με τον
καλύτερο δυνατό τρόπο. Αντ' αυτού, είναι προτιμητέο να αναπτυχθούν ευρετικές (heuristic) προσεγγίσεις για
το πρόβλημα σχεδιασμού κίνησης, οι οποίες μπορούν να «εγγυηθούν» την εύρεση μιας σχεδόν βέλτιστης λύσης
και όχι της βέλτιστης.
Για παράδειγμα, ας υποθέσουμε την περίπτωση κατά την οποία ένα πολυγωνικό ρομποτικό σύστημα 𝒜
καλείται να κινηθεί (χωρίς να περιστρέφεται) σε έναν διδιάστατο χώρο εργασίας που περιέχει πολυγωνικά
εμπόδια. Στην περίπτωση που το 𝒜 είναι κυρτό, όπως και τα εμπόδια του χώρου εργασίας του, τότε το
πρόβλημα σχεδιασμού κίνησης μπορεί να λυθεί σε χρόνο 𝛰(𝑘 + 𝑛), όπου 𝑘 η πολυπλοκότητα του 𝒜 και 𝑛 η
πολυπλοκότητα του χώρου εργασίας 0. Στην πιο γενική περίπτωση, κατά την οποία, τόσο το 𝒜 όσο και τα
εμπόδια είναι μη-κυρτά, τότε ο χρόνος που απαιτείται για την επίλυση του προβλήματος είναι 𝛰(𝑘 2 𝑛2 ) 0.
Τέλος, αν επιτρέπουμε στο 𝒜 να περιστρέφεται, τότε ο χρόνος που απαιτείται για την επίλυση του προβλήματος
είναι 𝛰(𝑘 2+𝜀 𝑛2+𝜀 ), 𝜀 > 0.

1.6 Αλληλεπίδραση με άλλα Προβλήματα


Όπως αναφέρθηκε στην αρχή αυτού του κεφαλαίου, η αυτοματοποίηση της διαδικασίας σχεδιασμού κίνησης
μπορεί να χρησιμοποιηθεί σε πάρα πολλές εφαρμογές. Για παράδειγμα, μπορεί να συμπεριληφθεί σε ένα
σύστημα προγραμματισμού βιομηχανικών ρομπότ (ρομποτικών βραχιόνων), προκειμένου να απλοποιηθεί η
διαδικασία της περιγραφής των τροχιών του άκρου του ρομπότ για την εκτέλεση μιας εργασίας. Μπορεί επίσης
να είναι μέρος ενός διαδραστικού συστήματος σχεδιασμού γραφικών διεργασιών (π.χ. για τον προγραμματισμό
της μηχανικής επεξεργασίας ενός μηχανικού εξαρτήματος, της συναρμολόγησης μιας ηλεκτρομηχανικής
συσκευής ή της κατασκευής μιας μονάδας παραγωγής ενέργειας) και να χρησιμοποιηθεί για τον έλεγχο της
γεωμετρικής σκοπιμότητας μιας προγραμματισμένης εργασίας (π.χ. διάτρηση τρύπας, συγκόλληση δύο μερών,
ανέγερση σωλήνα). Επίσης, μπορεί να χρησιμοποιηθεί για την αυτόματη δημιουργία γραφικών κινούμενων
σκηνών. Παρ’ όλα αυτά, πέρα από αυτές τις επιμέρους εφαρμογές, ο απώτερος σκοπός του αυτοματοποιημένου
σχεδιασμού κίνησης είναι η δημιουργία αυτόνομων ρομποτικών συστημάτων.
Η αυτοματοποίηση της διαδικασίας σχεδιασμού κίνησης μπορεί να συμβάλει σημαντικά στη δημιουργία
αυτόνομων ρομποτικών συστημάτων. Ωστόσο, δεν αποτελεί το μοναδικό πρόβλημα. Πρέπει να αντιμετωπιστεί
ένα πλήθος προβλημάτων, όπως:
Ο έλεγχος κίνησης σε πραγματικό χρόνο: πρόκειται για το πρόβλημα κατά το οποίο το ρομποτικό σύστημα
θα πρέπει να εκτελέσει τη δεδομένη διαδρομή. Αυτό το πρόβλημα μπορεί να θεωρηθεί ως η σύνθεση δύο
επιμέρους προβλημάτων:
• Του προβλήματος δημιουργίας τροχιάς (trajectory generation), το οποίο συνίσταται στην
απόφαση σχετικά με το προφίλ της ταχύτητας που πρέπει να έχει το ρομποτικό σύστημα κατά
μήκος της διαδρομής και

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 37


• του προβλήματος παρακολούθησης της τροχιάς (trajectory tracking), το οποίο συνίσταται στον
υπολογισμό των δυνάμεων που πρέπει να ασκούν οι ενεργοποιητές/κινητήρες κάθε φορά, για να
εκτελεί (το ρομποτικό σύστημα) την επιθυμητή κίνηση.
Η αίσθηση: Όπως έχει αναφερθεί, στο βασικό πρόβλημα σχεδιασμού κίνησης θεωρούμε ότι το ρομποτικό
σύστημα έχει πλήρη γνώση για το περιβάλλον στο οποίο πρόκειται να κινηθεί. Όμως αυτή η υπόθεση δεν είναι
πάντοτε ρεαλιστική. Υπάρχουν πολλά προβλήματα στα οποία η γεωμετρία του χώρου είναι μερικώς γνωστή.
Για αυτόν το λόγο θα πρέπει να αναπτυχθούν μεθοδολογίες σχεδιασμού κίνησης οι οποίες θα βασίζονται στους
αισθητήρες. Οι αισθητήρες θα χρησιμοποιούνται για να «αντιλαμβάνονται» τον χώρο εργασίας του ρομποτικού
συστήματος και να εποπτεύουν την εκτέλεση των κινήσεών του.
H ανάπτυξη ενός πραγματικά αυτόνομου ρομποτικού συστήματος σίγουρα απαιτεί τη δυνατότητα
ταυτόχρονης επίλυσης ενός συνόλου προβλημάτων. Όμως, σήμερα, η γνώση για τα παραπάνω θέματα δεν
επαρκεί για να παρουσιάσουμε μια ολοκληρωμένη λύση ενός τέτοιου σχεδιασμού.

Ηλίας Ξυδιάς 38
Βιβλιογραφία/Αναφορές

[1] Yap Chee-Keng (2016). Algorithmic Motion Planning,In Algorithmic and Geometric Aspects of Robotics
(Routledge Revivals), pp. 111–160.
[2] Canny, J. (1993). Computing roadmaps of general semi-algebraic sets. The Computer Journal, 36(5), 504–
514. https://doi.org/10.1093/comjnl/36.5.504
[3] Canny, John, & Donald, B. (1988). Simplified Voronoi diagrams. Discrete & Computational Geometry,
3(3), 219–236.
[4] Chen, Z., Szezebra, R. J., & Uhran, J. J. (1997). A Framed-quadtree approach for determining euclidean
shortest paths in a 2D environment. IEEE Trans. Robot Auto, 13(5), 668–681.
[5] Choset, H., Lynch, K., Hutchinson, S., Kantor, G., Burgard, W., Kavraki, L., & Thrun, S. (2005). Principles
of Robot Motion: Theory, Algorithms, and Implementations. Boston, MA: The MIT Press.
[6] Ge, S. S., & Cui, Y. J. (2002). Dynamic motion planning for mobile robots using potential field method.
Autonomous Robots, 13(3), 207–222.
[7] Halperin, D., & Sharir, M. (1996). A near-quadratic algorithm for planning the motion of a polygon in a
polygonal environment. Discrete & Computational Geometry, 16(2), 121–134.
[8] Kedem, K., Livne, R., Pach, J., & Sharir, M. (1986). On the union of Jordan regions and collision-free
translational motion amidst polygonal obstacles. Discrete & Computational Geometry, 1(1), 59–71.
[9] Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots. The International
Journal of Robotics Research, 5(1), 90–98.
[10] Latombe, J. C. (1991). Robot Motion Planning. Springer.
[11] M. (2009). Planning Algorithms. Cambridge. England: Cambridge University Press.
[12] Lozano-Pérez, T., & Wesley, M. A. (1979). An algorithm for planning collision-free paths among
polyhedral obstacles. Communications of the ACM, 22(10), 560–570.
[13] Preparata, F. P., & Shamos, M. I. (2012). Computational Geometry: An Introduction. New York, NY:
Springer.
[14] Samet, H. (1988). An overview of quadtrees, octrees, and related hierarchical data structures. In Theoretical
Foundations of Computer Graphics and CAD (pp. 51–68). Springer Berlin Heidelberg.
[15] Ξυδιάς, Η. K. (2008). Σχεδιασμός κίνησης ρομπότ σε περιβάλλον εμποδίων. Διδακτορική Διατριβή,
Πανεπιστήμιο Πατρών, Σχολή Πολυτεχνική, Τμήμα Μηχανολόγων Μηχανικών και Αεροναυπηγών
Μηχανικών.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 39


Ασκήσεις

1. Να σχεδιάσετε έναν αλγόριθμο ο οποίος θα μπορεί να ελέγχει αν δύο πολύγωνα τέμνονται.


2. Να αναφερθεί μια επέκταση του βασικού προβλήματος σχεδιασμού κίνησης, η οποία δεν έχει
παρουσιαστεί σε κάποια από τις παραπάνω ενότητες.
3. Να αναφέρετε τι είναι κινηματική και τι δυναμική.
4. Ας θεωρήσουμε την περίπτωση τριών κυκλικών ρομποτικών συστημάτων με ακτίνες 𝑟1 , 𝑟2 , 𝑟3
αντιστοίχως, όπου 𝑟1 < 𝑟2 < 𝑟3 . Τα τρία αυτά κυκλικά ρομποτικά συστήματα κινούνται στον ίδιο χώρο
εργασίας, ο οποίος περιέχει 2 κυρτά πολυγωνικά εμπόδια. Να σχεδιάσετε τον αντίστοιχο χώρο
διαμορφώσεων και να ορίσετε τα 𝒞𝒪𝑖 , 𝑖 = 1,2 και 𝒞𝑓𝑟𝑒𝑒 .
5. Να συζητήστε τις υποθέσεις υπό τις οποίες είναι ρεαλιστικό να θεωρήσετε ένα ρομποτικό όχημα ως
διδιάστατο αντικείμενο που κινείται ελεύθερα στο επίπεδο.

Ηλίας Ξυδιάς 40
Κεφάλαιο 2ο
Αναπαράσταση του Χώρου Εργασίας

Σύνοψη
Σε αυτό το κεφάλαιο θα αναπτυχθεί η έννοια του χώρου διαμορφώσεων για ένα άκαμπτο αντικείμενο που μπορεί
να κινηθεί (μετατόπιση και περιστροφή) ελεύθερα ανάμεσα σε εμπόδια σε έναν διδιάστατο ή τριδιάστατο χώρο
εργασίας. Επίσης, θα γίνει αναφορά στη διαφορική και τοπολογική δομή του χώρου και στις μαθηματικές έννοιες
που θα χρησιμοποιηθούν στο υπόλοιπο βιβλίο. Τέλος, θα αναφερθεί ο τρόπος με τον οποίο τα «εμπόδια»
απεικονίζονται στον χώρο διαμορφώσεων.

Προαπαιτούμενη γνώση
Γενική Τοπολογία.

Εισαγωγή
Για να ορίσουμε την κίνηση ενός ρομποτικού συστήματος, πρέπει να γνωρίζουμε τη θέση του συστήματος στον
χώρο εργασίας του. Πιο συγκεκριμένα, πρέπει να μπορούμε να περιγράψουμε τη θέση κάθε σημείου του
ρομποτικού συστήματος, ώστε να διασφαλίσουμε ότι κανένα σημείο του συστήματος δεν συγκρούεται με
κάποιο από τα αντικείμενα που ενδεχομένως υπάρχουν στον χώρο εργασίας του.
Αυτό εγείρει ορισμένα θεμελιώδη ερωτήματα για τον ορισμό της κίνησης του συστήματος:
• Πόσες πληροφορίες απαιτούνται για τον πλήρη προσδιορισμό της θέσης κάθε σημείου του
ρομποτικού συστήματος;
• Πώς πρέπει να αναπαρίστανται αυτές οι πληροφορίες;
• Ποιες πρέπει να είναι οι μαθηματικές ιδιότητες αυτών των αναπαραστάσεων;
• Πώς πρέπει να είναι ο «κόσμος» του ρομποτικού συστήματος για να ληφθούν υπόψη τα εμπόδια
του χώρου εργασίας κατά τον σχεδιασμό της διαδρομής του;
Σε αυτό το κεφάλαιο θα εξετάσουμε κάποια από τα ανωτέρω ερωτήματα. Κυρίως θα δούμε τι σημαίνει μια
διαμόρφωση για ένα ρομποτικό σύστημα, θα γίνει παρουσίαση της έννοιας του χώρου διαμορφώσεων, μιας
έννοιας σημαντικής στον σχεδιασμό κίνησης. Επίσης, θα παρουσιάσουμε τον τρόπο αναπαράστασης των
εμποδίων στον χώρο διαμορφώσεων και τέλος θα δοθούν ορισμένα παραδείγματα για το πώς αναπαρίσταται ο
«κόσμος» του ρομποτικού συστήματος και πώς απεικονίζονται σε αυτόν τα αντικείμενα που υπάρχουν στον
χώρο εργασίας του.

2.1 Χώρος Διαμορφώσεων


Όπως έχει αναφερθεί και στο προηγούμενο κεφάλαιο, μπορεί να θεωρηθεί ότι ένα ρομποτικό σύστημα
αποτελείται από σώματα (μέρη) τα οποία συνδέονται μεταξύ τους με διαφόρους τύπους αρθρώσεων. Το
ρομποτικό σύστημα μπορεί να κινηθεί στον χώρο του όταν οι αρθρώσεις του αρχίσουν να ενεργοποιούνται,
επομένως όταν κινητοποιούνται από τους ενεργοποιητές που φέρει το σύστημα και οι οποίοι παρέχουν στα
διάφορα μέρη την ενέργεια που απαιτείται για την κίνηση τους. Για να γίνει πιο «εύκολη» η παρουσίαση του
χώρου διαμορφώσεων, θα θεωρήσουμε ότι ένα ρομποτικό σύστημα μπορεί να μοντελοποιηθεί ως ένας
ρομποτικός βραχίονας.
Για οποιοδήποτε ρομποτικό σύστημα ίσως η πιο θεμελιώδης ερώτηση που μπορεί κάποιος να κάνει είναι
«Ποια είναι η θέση του ρομποτικού συστήματος στον χώρο εργασίας του;». Η απάντηση σε αυτό το ερώτημα
είναι η διαμόρφωση του ρομποτικού συστήματος, δηλαδή μια περιγραφή των θέσεων όλων των σημείων του
συστήματος. Με δεδομένο ότι ένα ρομποτικό σύστημα αποτελείται από ένα σύνολο από άκαμπτα μέρη τα οποία
συνδέονται μεταξύ τους με αρθρώσεις γνωστής γεωμετρίας, απαιτούνται μόνο μερικές παράμετροι για την
αναπαράστασή του. Για παράδειγμα, στην περίπτωση που θέλουμε να περιγράψουμε τη διαμόρφωση μιας
πόρτας, απαιτείται μόνο μία παράμετρος, η γωνία 𝜃, γωνία περιστροφής της πόρτας γύρω από τον μεντεσέ της
(Εικόνα 2.1). Αν θέλαμε να περιγράψουμε τη διαμόρφωση ενός σημείου το οποίο κείται στο επίπεδο, τότε αυτό

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 41


μπορεί να περιγραφεί με δύο παραμέτρους, τις συντεταγμένες του σημείου στο επίπεδο. Τέλος, αν θέλαμε να
περιγράψουμε τη διαμόρφωση ενός κέρματος το οποίο βρίσκεται πάνω σε ένα τραπέζι, τότε θα χρειαζόμασταν
τρεις παραμέτρους: δύο παραμέτρους για να περιγραφεί η θέση του κέρματος στο επίπεδο και μία παράμετρος
που θα προσδιορίζει τον προσανατολισμό του κέρματος (Εικόνα 2.2).

Εικόνα 2.1 Η διαμόρφωση της πόρτας.

Εικόνα 2.2 Η διαμόρφωση του κέρματος.

Ο ελάχιστος αριθμός παραμέτρων που απαιτείται για να περιγραφεί η διαμόρφωση ενός σώματος είναι οι
βαθμοί ελευθερίας του (degrees of freedom). Έτσι, στα ανωτέρω παραδείγματα, η πόρτα έχει έναν βαθμό
ελευθερίας, το σημείο που κείται στο επίπεδο έχει δύο βαθμούς ελευθερίας και, τέλος, το κέρμα έχει τρεις
βαθμούς ελευθερίας.
Βάσει αυτών, μπορούμε να διατυπώσουμε τους εξής ορισμούς:

Ηλίας Ξυδιάς 42
• Διαμόρφωση ενός ρομποτικού συστήματος είναι μια πλήρης περιγραφή των θέσεων κάθε σημείου
του συστήματος.
• Ο ελάχιστος αριθμός 𝑛 των παραμέτρων που απαιτούνται για την αναπαράσταση της
διαμόρφωσης καλείται βαθμός ελευθερίας του ρομποτικού συστήματος.
• Ο 𝑛 −διάστατος χώρος που περιέχει όλες τις πιθανές διαμορφώσεις του ρομποτικού συστήματος
ονομάζεται χώρος διαμορφώσεων.

2.2 Χώρος Διαμορφώσεων για ένα Ρομποτικό Σύστημα


Για να αποδώσουμε τον χώρο διαμορφώσεων για ένα ρομποτικό σύστημα ας λάβουμε υπόψη το παράδειγμα
της πόρτας της προηγούμενης ενότητας. Όπως προαναφέρθηκε, η πόρτα έχει μόνον έναν βαθμό ελευθερίας, ο
οποίος αναφέρεται στη γωνία 𝜃 του μεντεσέ της πόρτας. Ο λόγος που έχει μόνον έναν βαθμό ελευθερίας είναι
ο ακόλουθος:
Αν δεν υπήρχε ο μεντεσές, η πόρτα θα ήταν ελεύθερη να κινείται στον τριδιάστατο χώρο, με αποτέλεσμα
να έχει έξι βαθμούς ελευθερίας (τρεις παράμετροι για τη θέση και τρεις για τον προσανατολισμό). Συνδέοντας
την πόρτα στον τοίχο μέσω της άρθρωσης του μεντεσέ, επιβάλλονται πέντε ανεξάρτητοι περιορισμοί στην
κίνηση της πόρτας. Σύμφωνα με την ακόλουθη εξίσωση,
𝑑𝑒𝑔𝑟𝑒𝑒𝑠 𝑜𝑓 𝑓𝑟𝑒𝑒𝑑𝑜𝑚 (2.1)
= (𝑠𝑢𝑚 𝑜𝑓 𝑓𝑟𝑒𝑒𝑑𝑜𝑚𝑠 𝑜𝑓 𝑡ℎ𝑒 𝑏𝑜𝑑𝑖𝑒𝑠)
− (𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡 𝑐𝑜𝑛𝑠𝑡𝑟𝑎𝑖𝑛𝑠𝑡)
μπορούμε να συμπεράνουμε ότι η πόρτα έχει έναν βαθμό ελευθερίας. Εναλλακτικά, μπορούμε να δούμε την
πόρτα από ψηλά και να τη θεωρήσουμε ως ένα επίπεδο σώμα, το οποίο έχει τρεις βαθμούς ελευθερίας. Ο χώρος
διαμορφώσεων για το παράδειγμα της πόρτας ορίζεται στο διάστημα [0, 2π].
Ας υποθέτουμε ότι ένα ρομποτικό σύστημα 𝒜 καλείται να κινηθεί σε έναν χώρο εργασίας 𝒲 = ℝ2 ή
3
ℝ στο οποίο είναι προσαρτημένο ένα Καρτεσιανό σύστημα συντεταγμένων ℱ𝒲 . Στο 𝒜 προσαρτάται ένα
καρτεσιανό σύστημα συντεταγμένων ℱ𝒜 με αποτέλεσμα κάθε σημείο του 𝒜 να έχει σταθερές συντεταγμένες
ως προς αυτό (Εικόνα 2.3). Πρέπει να αναφερθεί ότι το 𝒜 ορίζεται ως ένα σύνολο από σημεία.

Εικόνα 2.3 Μία αναπαράσταση του 𝒜 καθώς κινείται στο 𝒲 = ℝ3 , και τα δύο συστήματα συντεταγμένων ℱ𝒲 και ℱ𝒜 ,
όπου 𝑂𝒲 είναι η αρχή του ℱ𝒲 και 𝑂𝒜 είναι η αρχή του ℱ𝒜 .

Ο χώρος διαμορφώσεων του 𝒜 ορίζεται ως εξής: Χώρος διαμορφώσεων του 𝒜 καλείται ο χώρος 𝒞 όλων των
πιθανών διαμορφώσεων του 𝒜. Μια διαμόρφωση 𝓆 του 𝒜 είναι προσδιορισμός της θέσης και του
προσανατολισμού του ℱ𝒜 ως προς το ℱ𝒲 .
Πρέπει να σημειωθεί ότι ο χώρος διαμορφώσεων 𝒞 του 𝒜 είναι ανεξάρτητος από την επιλογή των ℱ𝒲
και ℱ𝒜 . Αντιθέτως, η αναπαράσταση του 𝒞 εξαρτάται από την επιλογή των ℱ𝒲 και ℱ𝒜 . Το υποσύνολο του 𝒲,
το οποίο καταλαμβάνεται από το 𝒜, έχοντας μια διαμόρφωση 𝓆, ορίζεται ως 𝒜(𝓆).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 43


Στην Εικόνα 2.3 αναπαρίσταται το 𝒜 ως μια περιοχή με γκρι χρώμα. Ένα σημείο 𝒶𝜖𝒜 ορίζεται ως
𝒶(𝓆)𝜖𝒲, όταν το 𝒜 έχει τη διαμόρφωση 𝓆. Έτσι, για δύο τυχαίες διαμορφώσεις 𝓆 και 𝓆′, τα σημεία 𝒶(𝓆) και
𝒶(𝓆′ ) του 𝒜 ταυτίζονται, αλλά αυτό δεν συμβαίνει απαραίτητα και στο 𝒲. Γενικά, αν το 𝒜 βρίσκεται σε μια
διαμόρφωση 𝓆, μπορούμε να διατυπώσουμε την πρόταση πως, αν 𝓍 είναι ένα γεωμετρικό χαρακτηριστικό (π.χ.
ένα διάνυσμα ή ένα σύνολο σημείων) του 𝒜, το 𝓍(𝓆) ορίζει το ίδιο χαρακτηριστικό και στο 𝒲.

2.3 Παραμετροποιώντας τον Χώρο Διαμορφώσεων


Όπως αναφέρθηκε και στην προηγούμενη ενότητα, η διαμόρφωση ενός ρομποτικού συστήματος είναι μια
πλήρης περιγραφή των θέσεων κάθε σημείου του και το σύνολο όλων των διαμορφώσεων αποτελεί τον χώρο
διαμορφώσεων του ρομποτικού συστήματος. Για ένα επίπεδο άκαμπτο σώμα, επί παραδείγματι για το κέρμα
της ενότητας 2.1, η διαμόρφωσή του μπορεί να περιγραφεί πλήρως προσδιορίζοντας τρεις ανεξάρτητες
μεταβλητές: (𝑥, 𝑦, 𝜃), όπου (𝑥, 𝑦) ∈ ℝ2 και 𝜃𝜖[0,2𝜋]. Ο χώρος διαμορφώσεων είναι επομένως τριδιάστατος
και οι συντεταγμένες (𝑥, 𝑦, 𝜃) αποτελούν μια σαφή - άμεση (explicit) παραμετροποίηση του χώρου.
Εναλλακτικά, θα μπορούσαμε να επιλέξουμε να παραμετροποιήσουμε τη διαμόρφωσή του από τις
συντεταγμένες δύο σημείων Α και Β που ανήκουν στο σώμα του, με 𝜜 = (𝑥𝛢 , 𝑦𝛢 ) και 𝜝 = (𝑥𝛣 , 𝑦𝛣 ),
αντίστοιχα. Φυσικά, υπάρχει ο περιορισμός που αφορά τη μεταξύ τους απόσταση και είναι ο ακόλουθος,
𝑑𝐴𝐵 = √(𝑥𝛢 − 𝑥𝐵 )2 + (𝑦𝛢 − 𝑦𝐵 )2 (2.2)
που σημαίνει ότι οι συντεταγμένες των σημείων Α και Β είναι εξαρτημένες. Έτσι η ισότητα 2.2 αποτελεί μια
έμμεση (implicit) παραμετροποίηση του χώρου διαμορφώσεων του κέρματος.
Γενικότερα, ο χώρος διαμορφώσεων ενός ρομποτικού συστήματος δέχεται συνήθως άμεσες και έμμεσες
παραμετροποιήσεις. Στην περίπτωση ανοιχτών αλυσίδων, όπως του ρομποτικού βραχίονα της Εικόνας 2.4, ο
χώρος διαμορφώσεων είναι άμεσα παραμετροποιημένος από τις μεταβλητές των αρθρώσεων. Στο παράδειγμα
της Εικόνας 2.4 ο χώρος διαμορφώσεων (;) ορίζεται από τις μεταβλητές 𝜃1 και 𝜃2 , οι οποίες περιγράφουν
πλήρως τη θέση και τον προσανατολισμό των συνδέσμων του βραχίονα. Ο χώρος διαμορφώσεων σε αυτήν την
περίπτωση είναι ο [0,2𝜋] × [0,2𝜋].

Εικόνα 2.4 Ο επίπεδος ρομποτικός βραχίονας με περιστροφικές αρθρώσεις.

Ο αντίστοιχος χώρος διαμορφώσεων, όπως θα δούμε και στις επόμενες ενότητες, μπορεί να αναπαρασταθεί ως
ένας τόρος (Εικόνα 2.5).

Ηλίας Ξυδιάς 44
Εικόνα 2.5 Ο αντίστοιχος χώρος διαμορφώσεων.

Στην περίπτωση που το ρομποτικό σύστημα έχει κλειστές αλυσίδες (όπως συμβαίνει με τους ρομποτικούς
βραχίονες που περιέχουν έναν ή περισσότερους κλειστούς βρόγχους), συνήθως ορίζεται μια έμμεση
παραμετροποίηση. Σε αυτήν την περίπτωση, για να οριστεί ο αντίστοιχος χώρος διαμορφώσεων, θα πρέπει να
επιλυθεί ένα σύστημα μη γραμμικών εξισώσεων. Για παράδειγμα, ας υποθέσουμε τον ρομποτικό βραχίονα της
Εικόνας 2.6, ο οποίος έχει 4 περιστροφικές αρθρώσεις και αποτελείται από τρεις συνδέσμους.

Εικόνα 2.6 Ο ρομποτικός βραχίονας κλειστού βρόγχου.

Το γεγονός ότι οι τέσσερις σύνδεσμοι σχηματίζουν πάντα κλειστό βρόγχο μπορεί να εκφραστεί με τη μορφή
των ακόλουθων τριών εξισώσεων:
𝑙1 cos(𝜃1 ) + 𝑙2 cos(𝜃1 + 𝜃2 ) + 𝑙3 cos(𝜃1 + 𝜃2 + 𝜃3 ) + 𝑙3 cos(𝜃1 + 𝜃2 + 𝜃3 + 𝜃4 ) = 0 (2.3)

𝑙1 sin(𝜃1 ) + 𝑙2 sin(𝜃1 + 𝜃2 ) + 𝑙3 𝑠𝑖𝑛(𝜃1 + 𝜃2 + 𝜃3 ) + 𝑙4 sin(𝜃1 + 𝜃2 + 𝜃3 + 𝜃4 ) = 0 (2.4)

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 45


𝜃1 + 𝜃2 + 𝜃3 + 𝜃4 − 2𝜋 = 0 (2.5)
όπου 𝑙𝑗 , 𝑗 = 1, … ,4 είναι τα μήκη των συνδέσμων του βραχίονα. Σε αυτήν την περίπτωση, ο χώρος
διαμορφώσεων απεικονίζεται ως μια επιφάνεια διάστασης 𝑛 − 𝑘 που κείται στο ℝ𝑛 , όπου 𝑛 είναι ο αριθμός
των αρθρώσεων και 𝑘 είναι ο αριθμός των ανεξάρτητων εξισώσεων.

2.4 Η Τοπολογία του Χώρου Διαμορφώσεων


Στις προηγούμενες ενότητες είδαμε πώς μπορούμε να προσδιορίσουμε τον χώρο διαμορφώσεων ενός
ρομποτικού συστήματος. Σε αυτήν την ενότητα, θα διερευνήσουμε την τοπολογία και τη γεωμετρία του
ρομποτικού συστήματος, καθεμία από τις οποίες παίζει ζωτικό ρόλο στην ανάπτυξη και ανάλυση μεθοδολογιών
σχεδιασμού κίνησης.
Η τοπολογία είναι ένας κλάδος των μαθηματικών ο οποίος λαμβάνει υπόψη τις αμετάβλητες ιδιότητες
των αντικειμένων, όταν αυτά υπόκεινται σε αυθαίρετους συνεχείς μετασχηματισμούς, όπως τέντωμα ή κάμψη.
Για τον λόγο αυτόν, η τοπολογία αναφέρεται μερικές φορές ως «γεωμετρία λαστιχένιου φύλλου». Φανταστείτε
ένα πολύγωνο, ζωγραφισμένο σε λαστιχένιο φύλλο. Καθώς το φύλλο τεντώνεται σε διάφορες κατευθύνσεις, το
σχήμα του πολυγώνου αλλάζει. Ωστόσο, ορισμένες ιδιότητες του πολυγώνου δεν αλλάζουν. Για παράδειγμα,
τα σημεία που βρίσκονται μέσα στο πολύγωνο δεν μετακινούνται προς το εξωτερικό του πολυγώνου μόνο
επειδή το φύλλο είναι τεντωμένο.
Ας θεωρήσουμε τον ρομποτικό βραχίονα της Εικόνας 2.4, ο οποίος έχει δύο περιστροφικές αρθρώσεις.
Υποθέτουμε, επίσης, ότι κάθε μια από τις αρθρώσεις 𝜃1 και 𝜃2 μπορεί να πάρει τιμές στο διάστημα [0°, 360°).
Για αυτόν τον λόγο κάθε ένας από τους συνδέσμους μπορεί να διαγράψει έναν κύκλο. Ο αντίστοιχος χώρος
διαμορφώσεων, δηλ. το σύνολο των σημείων που διαγράφουν οι δύο σύνδεσμοι, είναι ένας τόρος (Εικόνα 2.5).
Για κάθε διαμόρφωση του ρομποτικού βραχίονα, υπάρχει ένα μοναδικό σημείο του τόρου και
αντιστρόφως. Έτσι, μια τυχαία διαμόρφωση του ρομποτικού βραχίονα μπορεί να αναπαρασταθεί στον τόρο ως
ένα σημείο (θ1 , θ2 ) (Εικόνα 2.7).

Εικόνα 2.7 Μία τυχαία διαμόρφωση του ρομποτικού βραχίονα και η αναπαράστασή του στον χώρο διαμορφώσεων.

Στο παραπάνω παράδειγμα είδαμε ότι ο χώρος διαμορφώσεων του ρομποτικού βραχίονα είναι ένας τόρος. Το
σχήμα του χώρου διαμορφώσεων καλείται τοπολογία του χώρου.

Ηλίας Ξυδιάς 46
Ορισμένοι χώροι διαμορφώσεων μπορούν να εκφραστούν ως το καρτεσιανό γινόμενο δύο ή
περισσότερων χώρων χαμηλότερης διάστασης. Δηλαδή, τα σημεία ενός χώρου διαμορφώσεων μπορούν να
αναπαρασταθούν ως η ένωση των αναπαραστάσεων των σημείων στους χώρους χαμηλότερης διάστασης. Για
παράδειγμα:
• Ο χώρος διαμορφώσεων ενός στερεού σώματος στο επίπεδο μπορεί να γραφτεί ως ℝ2 × 𝑆 1 , όπου
(𝑥, 𝑦)𝜖ℝ2 και 𝜃𝜖𝑆 1 .
• Ο χώρος διαμορφώσεων ενός ρομποτικού βραχίονα με μία πρισματική άρθρωση και μία
περιστροφική άρθρωση μπορεί να γραφτεί ως ℝ1 × 𝑆 1 , ενώ ο χώρος διαμορφώσεων ενός
ρομποτικού βραχίονα με δύο περιστροφικές αρθρώσεις μπορεί να γραφτεί ως 𝑆 1 × 𝑆 1 = 𝑇 2 ,
όπου 𝑇 𝑛 είναι η 𝑛 −διάστατη επιφάνεια ενός τόρου στον (𝑛 + 1) −διάστατο χώρο.
• Ο χώρος διαμορφώσεων ενός στερεού σώματος, το οποίο κείται στο επίπεδο (π.χ. το σασί ενός
αυτοκινούμενου οχήματος) και φέρει έναν ρομποτικό βραχίονα με δύο περιστροφικές αρθρώσεις,
μπορεί να γραφεί ως ℝ2 × 𝑆 1 × 𝛵 2 = ℝ2 × 𝛵 3 .
Ένας λόγος για τον οποίο ενδιαφερόμαστε για την τοπολογία του χώρου διαμορφώσεων είναι διότι επηρεάζει
την αναπαράσταση του χώρου. Ένας άλλος λόγος είναι ότι εάν μπορούμε να κατασκευάσουμε έναν αλγόριθμο
σχεδίασης διαδρομών για ένα είδος τοπολογικού χώρου, δηλαδή για έναν χώρο διαμορφώσεων, τότε αυτός ο
αλγόριθμος μπορεί να λειτουργήσει και σε άλλους χώρους που είναι τοπολογικά ισοδύναμοι.
Δεδομένου ότι η τοπολογία ασχολείται με τις ιδιότητες που διατηρούνται υπό συνεχείς
μετασχηματισμούς, θα περιγράψουμε στις επόμενες υπο-ενότητες βασικές έννοιες από τη θεωρία της
τοπολογίας. Όλες οι παραπάνω έννοιες καθώς και η δομή της εργασίας, είναι βασισμένες στο βιβλίο του
M.Frechet-K.Fan, «Initiation to Combinatorial Topology» [2].

2.4.1 Τοπολογικός Χώρος


Τοπολογικός χώρος [1]: Μια συλλογή υποσυνόλων 𝒯 ενός συνόλου 𝒳 καλείται τοπολογία στο 𝒳 αν:
• ∅, 𝒳 ∈ 𝒯.
• η ένωση οποιουδήποτε πλήθους στοιχείων της 𝒯 ανήκει στην 𝒯.
• η τομή οποιουδήποτε πεπερασμένου πλήθους στοιχείων της 𝒯 ανήκει στην 𝒯.
Τα σύνολα στην 𝒯 καλούνται 𝒯-ανοικτά ή απλώς ανοικτά και το ζεύγος (𝒳, 𝒯) καλείται τοπολογικός
χώρος. Τα στοιχεία του 𝒳 καλούνται σημεία του (𝒳, 𝒯), ενώ τα στοιχεία του συνόλου 𝒯 καλούνται ανοικτά
σύνολα του τοπολογικού χώρου.
Τοπολογικά ισοδύναμα χώροι: Ας θεωρήσουμε ένα σημείο που κινείται στην επιφάνεια μιας σφαίρας.
Ο χώρος διαμορφώσεων 𝒞 του σημείου είναι δύο διαστάσεων, καθώς η διαμόρφωσή του μπορεί να περιγραφεί
από δύο στοιχεία, το γεωγραφικό πλάτος και το γεωγραφικό μήκος. Ας υποθέσουμε, επίσης, ένα σημείο που
κινείται σε ένα επίπεδο. Ο αντίστοιχος χώρος 𝒞 είναι επίσης δύο διαστάσεων, γιατί για να περιγραφεί
χρειάζονται 2 αριθμοί, οι συντεταγμένες (𝑥, 𝑦). Τόσο το επίπεδο όσο και η επιφάνεια μιας σφαίρας είναι δύο
διαστάσεων, σαφώς δεν έχουν το ίδιο σχήμα - το επίπεδο εκτείνεται απείρως, ενώ η σφαίρα «τυλίγεται». Σε
αντίθεση με το επίπεδο, μια μεγαλύτερη σφαίρα έχει το ίδιο σχήμα με την αρχική σφαίρα, μόνο το μέγεθός τους
είναι διαφορετικό. Μια μπάλα του αμερικάνικου ποδοσφαίρου, η οποία έχει ελλειψοειδές σχήμα, μπορεί να
θεωρηθεί ως μια σφαίρα με παραμορφωμένο σχήμα (Εικόνες 2.8, 2.9 και 2.10).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 47


Εικόνα 2.8 Μια σφαίρα ακτίνας ρ.

Εικόνα 2.9 Μια σφαίρα ακτίνας Ρ με 𝛲 > 𝜌.

Ηλίας Ξυδιάς 48
Εικόνα 2.10 Ένα ελλειψοειδές.

Οι δύο σφαίρες καθώς και το ελλειψοειδές μπορούμε να πούμε ότι είναι τοπολογικά ισοδύναμα. Γενικά, δύο
σχήματα θεωρούνται τοπολογικά ισοδύναμα αν μπορούμε να περάσουμε από το ένα στο άλλο µέσω ενός
συνεχούς μετασχηματισμού. Υπό αυτήν την έννοια, ένα τρίγωνο, ένα τετράγωνο, ένας κύκλος και ένα
ελλειψοειδές είναι τοπολογικά ισοδύναμα, γιατί το κάθε ένα από αυτά μπορεί να μετασχηματιστεί µέσω μιας
συνεχούς 1-1 και επί απεικόνισης στο άλλο. Πρέπει να σημειωθεί ότι η τοπολογία ενός χώρου είναι μια
θεμελιώδης ιδιότητα του ίδιου του χώρου και είναι ανεξάρτητη από τον τρόπο με τον οποίο επιλέγουμε
συντεταγμένες για την αναπαράσταση σημείων στον χώρο.

2.4.2 Συνέχεια Συνάρτησης και Ομοιομορφισμός


Έστω (𝒳, 𝒯𝒳 ) και (𝒴, 𝒯𝒴 ) δύο τοπολογικοί χώροι. Μια συνάρτηση 𝑓: 𝒳 → 𝒴 θα λέγεται:
1. Συνεχής αν για κάθε ανοιχτό υποσύνολο ℬ του 𝒴 το 𝑓 −1 (ℬ) είναι ανοιχτό υποσύνολο του 𝒳.
2. Ανοιχτή αν για κάθε υποσύνολο 𝒜 του 𝒳 το 𝑓 −1 (𝒜) είναι ανοιχτό υποσύνολο του 𝒴.
3. Ομοιομορφισμός αν είναι συνεχής 1-1 και επί και η αντίστροφη συνάρτηση 𝑓 −1 : 𝒴 → 𝒳 είναι συνεχής.
Αν υπάρχει ομοιομορφισμός 𝑓: 𝒳 → 𝒴, οι χώροι (𝒳, 𝒯𝒳 ) και (𝒴, 𝒯𝒴 ) λέγονται τοπολογικά ομοιομορφικοί ή
απλά ομοιομορφικοί και σε αυτήν την περίπτωση γράφουμε (𝒳, 𝒯𝒳 ) ≅ (𝒴, 𝒯𝒴 ) ή 𝒳 ≅ 𝒴.
Προφανώς μια 1-1 και επί συνάρτηση 𝑓: 𝒳 → 𝒴 είναι ομοιομορφισμός αν είναι συνεχής και ανοιχτή. Η
σχέση ≅ είναι σχέση ισοδυναμίας στην κλάση των τοπολογικών χώρων.
Αν 𝒳, 𝒴, 𝒵 είναι τοπολογικοί χώροι τότε ισχύουν τα εξής:
1. 𝒳 ≅ 𝒳.
2. Αν 𝒳 ≅ 𝒴 τότε 𝒴 ≅ 𝒳.
3. Αν 𝒳 ≅ 𝒴 και 𝒴 ≅ 𝒵 τότε 𝒳 ≅ 𝒵.

2.4.3 Βάσεις
Ένας συνηθισμένος τρόπος για να κατασκευάζουμε τοπολογίες είναι μέσω βάσεων και γενικότερα υποβάσεων.
Έστω ένα σύνολο 𝒳. Ένα σύνολο ℬ από υποσύνολα του 𝒳 λέγεται βάση τοπολογίας του 𝒳, αν έχει τις
παρακάτω ιδιότητες:
1. Αν 𝛣1 , 𝛣2 𝜖ℬ υπάρχει 𝛣3 𝜖ℬ με 𝛣3 ⊆ 𝛣1 ∩ 𝛣2 .
2. ∪ ℬ = 𝒳, δηλαδή για κάθε 𝑥𝜖𝒳 τότε υπάρχει 𝛣𝜖ℬ με 𝑥𝜖𝛣.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 49


Αν ℬ είναι μια βάση τοπολογίας του 𝒳, τότε ορίζουμε ένα υποσύνολο του 𝒳 ως ανοιχτό, αν είναι ένωση
στοιχείων της ℬ. Δηλαδή το 𝛢 είναι ανοιχτό, αν για κάθε 𝛼𝜖𝛢 υπάρχει ένα 𝛣𝜖ℬ, με 𝛼𝜖𝛣 και 𝛣 ⊆ 𝛢. Το σύνολο
όλων των ανοιχτών υποσυνόλων του 𝒳 συνιστά την τοπολογία που παράγει η βάση ℬ.

2.4.4 Κλειστά Σύνολα, Κλειστή Θήκη, Σύνορο


Όπως θα δούμε στη συνέχεια, σε πολλές κατασκευές που περιέχουν συνεχείς συναρτήσεις είναι προτιμότερο
να τις μελετάμε πάνω σε κλειστά σύνολα παρά σε ανοικτά σύνολα.
Ένα σύνολο 𝛢 ⊂ 𝒳 ονομάζεται κλειστό αν το 𝛢𝑐 είναι ανοικτό.
Έστω 𝑓: 𝛢 → 𝛣 είναι συνεχής, αν και μόνον αν η αντίστροφη εικόνα κλειστών συνόλων είναι κλειστό
σύνολο, δηλαδή για κάθε 𝐺 του 𝛣 το 𝑓 −1 (𝐺) είναι κλειστό στον 𝛢.
Έστω ένα σύνολο 𝛢 ⊂ 𝒳:
1. Η κλειστή θήκη του Α είναι η τομή όλων των κλειστών συνόλων που περιέχουν το Α και τη
συμβολίζουμε με Α̅.
̅ ∩ ̅̅̅
2. Το σύνορο του Α είναι η τομή της Α Αc και συμβολίζεται με Bd(A). Αν ένα σημείο ανήκει στο σύνορο
του Α, ονομάζεται συνοριακό σημείο του Α.

2.5 Απεικόνιση των Εμποδίων στον Χώρο Διαμορφώσεων


Ο έλεγχος για το αν υπάρχει σύγκρουση μεταξύ ενός εμποδίου και μιας διαμόρφωσης ενός ρομποτικού
συστήματος σε έναν χώρο εργασίας με γνωστή γεωμετρία, απαιτεί γενικά μια πολύπλοκη διαδικασία. Στις μέρες
μας υπάρχουν πολλά λογισμικά, είτε «ελεύθερα» είτε εμπορικά, που μπορούν να κάνουν πολύ εύκολα αυτήν
τη διαδικασία. Σε αυτήν την ενότητα θα παρουσιάσουμε τον τρόπο με τον οποίο ένα εμπόδιο απεικονίζεται
στον χώρο διαμορφώσεων, χωρίς να αναφέρουμε λεπτομέρειες. Ο αναγνώστης μπορεί να ανατρέξει στα 0, 0
για μια λεπτομερέστερη ανάλυση του τρόπου με τον οποίο ένα εμπόδιο απεικονίζεται στον χώρο των
διαμορφώσεων.
Ας υποθέσουμε έναν χώρο εργασίας 𝒲 = ℝ𝒏 , ο οποίος περιέχει ένα εμπόδιο 𝒪 ⊂ 𝒲, το οποίο
αναπαρίσταται ως μια κλειστή περιοχή. Δοθείσης μίας περιοχής 𝑆 σε ένα τοπολογικό χώρο 𝒳, ορίζουμε το
εσωτερικό, το σύνορο και την κλειστότητα με 𝑖𝑛𝑡(𝑆), 𝜗(𝑆) και 𝑐𝑙(𝑆), αντιστοίχως, και το συμπλήρωμα του 𝑆
στο 𝒳 με 𝒳\𝑆. Εξ’ ορισμού, 𝜗(𝑆) = 𝑐𝑙(𝑆)\𝑖𝑛𝑡(𝑆).
Ένα εμπόδιο 𝒪, το οποίο απεικονίζεται στον χώρο των διαμορφώσεων, καλείται εμπόδιο-διαμορφώσεων
(C-Obstacle) και ορίζεται ως εξής: Ένα εμπόδιο 𝒪 ⊂ 𝒲 απεικονίζεται στο 𝒞 δημιουργώντας μια περιοχή 𝒞𝒪 =
{𝓆𝜖𝒞| 𝒜(𝓆)⋂𝒪 ≠ ∅}, που ορίζεται ως το σύνολο όλων των διαμορφώσεων 𝓆, κατά τις οποίες το ρομποτικό
σύστημα 𝒜(𝓆) τέμνει το εμπόδιο 𝒪. Η ένωση όλων των 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑚 που βρίσκονται στον χώρο των
διαμορφώσεων 𝒞 καλείται περιοχή εμποδίων-διαμορφώσεων (C-Obstacle region).
Οι εναπομείνασες διαμορφώσεις αποτελούν τον ελεύθερο χώρο, ο οποίος συμβολίζεται και ορίζεται ως
𝒞𝑓𝑟𝑒𝑒 = 𝒞\⋃𝑖 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑛. Καθώς ο χώρος διαμορφώσεων 𝒞 είναι ένας τοπολογικός χώρος και 𝒞𝒪𝑖 , 𝑖 =
1, … , 𝑛 είναι ένα κλειστό σύνολο, το 𝒞𝑓𝑟𝑒𝑒 είναι ένα ανοιχτό σύνολο. Αυτό σημαίνει ότι το ρομπότ μπορεί να
έρθει «κοντά» στα εμπόδια ενώ παραμένει στο 𝒞𝑓𝑟𝑒𝑒 . Αν ένα ρομποτικό σύστημα 𝒜 «αγγίζει» ένα 𝒪, τότε
𝑖𝑛𝑡(𝒪 )⋂𝑖𝑛𝑡(𝒜 (𝓆)) = ∅ και 𝒪⋂𝒜 (𝓆) = ∅.
Για να γίνει περισσότερο κατανοητός ο τρόπος με τον οποίο τα εμπόδια απεικονίζονται στον χώρο
διαμορφώσεων, θα αναφέρουμε μερικά παραδείγματα:
Παράδειγμα 1: Ας θεωρήσουμε έναν δύο διαστάσεων ρομποτικό βραχίονα με δύο περιστροφικές αρθρώσεις
(𝜃1 , 𝜃2 ) (Εικόνα 2.11), ο οποίος πρέπει να κινηθεί από το σημείο «αρχή» στο σημείο «τέλος», αποφεύγοντας
την επαφή με τα εμπόδια 𝒪1 και 𝒪2 (Εικόνα 2.12). Ο χώρος των διαμορφώσεων του ρομποτικού βραχίονα
αναπαρίσταται από ένα τμήμα του επιπέδου, όπου (𝜃1 , 𝜃1 )𝜖[0,2𝜋)2 (Εικόνα 2.13), όπου τα εμπόδια 𝒪1 και 𝒪2
αναπαρίστανται ως εμπόδια διαμορφώσεων. Οποιαδήποτε από τις διαμορφώσεις του ρομποτικού βραχίονα,
που βρίσκονται μέσα στα εμπόδια διαμορφώσεων, αντιστοιχεί σε «σύγκρουση» του βραχίονα με τα εμπόδια
στον χώρο εργασίας του βραχίονα. Πρέπει να σημειωθεί ότι τα εμπόδια διαμορφώσεων χωρίζουν το 𝒞𝑓𝑟𝑒𝑒 σε
τρία συνδεμένα στοιχεία.

Ηλίας Ξυδιάς 50
Εικόνα 2.11 Ο επίπεδος ρομποτικός βραχίονας με δύο περιστροφικές αρθρώσεις.

Εικόνα 2.12 Ο βραχίονας καλείται να κινηθεί από το σημείο «αρχή» στο σημείο «τέλος» αποφεύγοντας την τομή με τα
εμπόδια. Επίσης παρουσιάζονται και κάποιες ενδιάμεσες διαμορφώσεις του βραχίονα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 51


Εικόνα 2.13 Ο χώρος διαμορφώσεων του βραχίονα.

Παράδειγμα 2: Ας θεωρήσουμε ένα επίπεδο ρομποτικό όχημα σε σχήμα κύκλου, του οποίου η διαμόρφωση
δίνεται από τη θέση του κέντρου του, (𝑥, 𝑦)𝜖ℝ2 . Το ρομποτικό όχημα μπορεί να κινείται χωρίς να
περιστρέφεται, σε έναν χώρο ο οποίος περιέχει ένα εμπόδιο (Εικόνα 2.14). Το αντίστοιχο εμπόδιο
διαμορφώσεων κατασκευάζεται με την «ανάπτυξη» (διεύρυνση) του εμποδίου στον χώρο εργασίας από την
ακτίνα του ρομπότ (Εικόνα 2.15). Οποιοδήποτε σημείο έξω από αυτό το εμπόδιο-διαμορφώσεων
αντιπροσωπεύει μια ελεύθερη διαμόρφωση του ρομπότ.

Εικόνα 2.14 Το επίπεδο ρομποτικό όχημα και ένα πολυγωνικό εμπόδιο.

Ηλίας Ξυδιάς 52
Εικόνα 2.15 Ο αντίστοιχος χώρος διαμορφώσεων.

Παράδειγμα 3: Ας υποθέσουμε ότι το ρομποτικό όχημα του 2ου παραδείγματος καλείται να κινηθεί σε έναν
διδιάστατο χώρο με δύο πολυγωνικά εμπόδια, 𝒪1 και 𝒪2 (Εικόνα 2.16). Στον αντίστοιχο χώρο διαμορφώσεων,
όπως αυτός απεικονίζεται στην Εικόνα 2.17, παρατηρούμε πως το ρομποτικό σύστημα δεν μπορεί να περάσει
από την περιοχή στην οποία τα δύο εμπόδια αλληλοκαλύπτονται.

Εικόνα 2.16 Το επίπεδο ρομποτικό όχημα και δύο πολυγωνικά εμπόδια τα οποία κείνται στον χώρο εργασίας του.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 53


Εικόνα 2.17 Ο αντίστοιχος χώρος διαμορφώσεων.

Παράδειγμα 4: Έστω ότι ένα ρομποτικό όχημα με τριγωνικό σχήμα καλείται να κινηθεί σε έναν δύο
διαστάσεων χώρο με ένα πολυγωνικό εμπόδιο. Το ρομποτικό όχημα μπορεί να κινείται (μετατοπίζεται) και να
περιστρέφεται (Εικόνα 2.18 και Εικόνα 2.19). Στις Εικόνες 2.20 και 2.21 αναπαρίστανται τα εμπόδια-
διαμορφώσεων για 𝜃 = 0° και 𝜃 = 20°, αντιστοίχως. Ο αντίστοιχος χώρος διαμορφώσεων είναι τριών
διαστάσεων και ορίζεται από την τριάδα (𝑥, 𝑦, 𝜃)𝜖ℝ2 × 𝑆 1 . Το τριών διαστάσεων εμπόδιο-διαμορφώσεων
προκύπτει από την ένωση των διδιάστατων τεμαχίων του εμποδίου-διαμορφώσεων για κάθε 𝜃𝜖[0,2𝜋) (Εικόνα
2.22). Πρέπει να σημειωθεί ότι η ακριβής αναπαράσταση ενός εμποδίου-διαμορφώσεων δεν είναι εύκολη
υπόθεση, όπως παρατηρούμε και στο συγκεκριμένο παράδειγμα.

Εικόνα 2.18 Η διαμόρφωση του ρομποτικού οχήματος για 𝜃 = 0°.

Ηλίας Ξυδιάς 54
Εικόνα 2.19 Η διαμόρφωση του ρομποτικού οχήματος για 𝜃 = 20°.

Εικόνα 2.20 Το αντίστοιχο εμπόδιο-διαμορφώσεων για 𝜃 = 0°.

Εικόνα 2.21 Το αντίστοιχο εμπόδιο-διαμορφώσεων για 𝜃 = 20°.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 55


Εικόνα 2.22 Ο τριών διαστάσεων χώρος διαμορφώσεων.

2.6 Task Space και Workspace


Σε αυτήν την ενότητα θα εισάγουμε δύο ακόμη έννοιες που σχετίζονται με τη διαμόρφωση ενός ρομποτικού
συστήματος και ιδιαίτερα με τη διαμόρφωση ενός ρομποτικού βραχίονα. Αυτοί είναι:
• Task space και
• Workspace
Οι δύο χώροι σχετίζονται με τη διαμόρφωση του άκρου εργασίας ενός ρομποτικού βραχίονα και όχι με τη
διαμόρφωση ολόκληρου του ρομπότ.
Το Task Space είναι ένας χώρος στον οποίο η εργασία του ρομπότ μπορεί να εκφραστεί «φυσικά». Για
παράδειγμα, εάν η «αποστολή» του ρομπότ είναι να σχεδιάσει με ένα στυλό σε ένα κομμάτι χαρτί, το Task
Space θα ήταν o ℝ2 . Εάν ο στόχος είναι να χειριστεί ένα άκαμπτο σώμα, μία «φυσική» αναπαράσταση του
Task Space είναι ο χώρος διαμορφώσεων για ένα άκαμπτο σώμα, ο οποίος αναπαριστά τη θέση και τον
προσανατολισμό του πλαισίου που προσαρτάται στο άκρο εργασίας του ρομπότ. Η απόφαση για το πώς θα
αναπαραστήσουμε το Task Space εξαρτάται από την εργασία (task) και όχι από το ρομπότ.
Το Workspace είναι ένας προσδιορισμός των διαμορφώσεων που μπορεί να έχει το άκρο εργασίας του
ρομποτικού βραχίονα. Ο ορισμός του Workspace βασίζεται στη δομή του ρομποτικού βραχίονα και είναι
ανεξάρτητος από την εργασία (task) που καλείται να εκτελέσει.
Για να γίνει κατανοητή η διαφορά ανάμεσα στο Task space και στο Workspace, αναφέρουμε το ακόλουθο
παράδειγμα: Ας υποθέσουμε έναν ρομποτικό βραχίονα με τρεις περιστροφικές αρθρώσεις και μία πρισματική
άρθρωση (τύπου RRRP), ο οποίος είναι γνωστός ως ρομποτικός βραχίονας τύπου SCARA (Εικόνα 2.23). Ένας
βραχίονας όπως ο SCARA χρησιμοποιείται σε εφαρμογές pick – and – place. Η διαμόρφωση του άκρου
εργασίας περιγράφεται από τέσσερις παραμέτρους (𝑥, 𝑦, 𝑧, 𝜃). Η τριάδα (𝑥, 𝑦, 𝑧) ορίζει τη θέση του άκρου
εργασίας στον Καρτεσιανό χώρο, ενώ το 𝜃 ορίζει τον προσανατολισμό του άκρου εργασίας στο επίπεδο 𝑥 − 𝑦.
Το Task space ορίζεται ως ℝ3 × 𝑆 1 , ενώ το Workspace ορίζεται ως το σύνολο των σημείων (𝑥, 𝑦, 𝑧) στον
Καρτεσιανό χώρο, τα οποία μπορεί να προσεγγίσει το άκρο εργασίας του ρομπότ.

Ηλίας Ξυδιάς 56
Εικόνα 2.23 Ένας ρομποτικός βραχίονας τύπου SCARA.

Τόσο το Task Space όσο και το Workspace εξαρτώνται από την επιλογή του χρήστη, καθώς και το τι θέλει
αυτός να αναπαραστήσει. Πιο συγκεκριμένα, ο χρήστης μπορεί να αποφασίσει ποιοι βαθμοί ελευθερίας του
άκρου εργασίας του είναι «χρήσιμοι» και επιθυμεί να αναπαρασταθούν. Για παράδειγμα, σε αρκετά
προβλήματα σχεδιασμού κίνησης για έναν ρομποτικό βραχίονα που καλείται να εργαστεί σε ένα περιβάλλον
με εμπόδια, οι βαθμοί ελευθερίας του άκρου εργασίας δεν λαμβάνονται υπόψη.
Το Task Space και το Workspace διαφέρουν από τον χώρο διαμορφώσεων του ρομπότ. Ένα σημείο στο
Task Space ή στο Workspace μπορεί να προσεγγιστεί από το ρομπότ με περισσότερες από μία διαμορφώσεις,
πράγμα που σημαίνει ότι το σημείο δεν αποτελεί πλήρη προδιαγραφή της διαμόρφωσης του ρομπότ. Για
παράδειγμα, για ένα ρομπότ ανοικτής αλυσίδας με επτά αρθρώσεις, η θέση και ο προσανατολισμός του άκρου
εργασίας δεν καθορίζει πλήρως τη διαμόρφωση του ρομπότ.
Δυο ρομποτικά συστήματα με διαφορετικούς χώρους διαμορφώσεων μπορεί να έχουν το ίδιο Workspace.
Για παράδειγμα, ας θεωρήσουμε την περίπτωση ενός ρομποτικού βραχίονα με δύο περιστροφικές αρθρώσεις
με ίσα μήκη συνδέσμων και συνολικό μήκος 𝐿 και έναν ρομποτικό βραχίονα με τρεις περιστροφικές αρθρώσεις
και ίσα μήκη συνδέσμων συνολικού μήκους 𝛬 = 𝐿. Και στις δύο περιπτώσεις αγνοούμε τον προσανατολισμό
του άκρου εργασίας. Μπορούμε να διαπιστώσουμε ότι οι δύο βραχίονες έχουν διαφορετικό χώρο
διαμορφώσεων αλλά το ίδιο Workspace (Εικόνα 2.24 και Εικόνα 2.25). Επίσης, υπάρχουν περιπτώσεις στις
οποίες δύο ρομποτικά συστήματα, ενώ έχουν τον ίδιο χώρο διαμορφώσεων, έχουν διαφορετικό workspace. Για
παράδειγμα, ας υποθέσουμε τον ρομποτικό βραχίονα της Εικόνας 2.24, όπου το Workspace είναι ένας κυκλικός
δίσκος, ενώ ο ρομποτικός βραχίονας, με επίσης 2 περιστροφικές αρθρώσεις, το αντίστοιχο Workspace ορίζεται
ως η επιφάνεια μιας σφαίρας, Εικόνα 2.26.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 57


Εικόνα 2.24 Η κυκλική περιοχή ακτίνας 𝐿 περιγράφει το workspace του ρομπότ.

Εικόνα 2.25 Η κυκλική περιοχή ακτίνας 𝛬 = 𝐿 περιγράφει το workspace του ρομπότ.

Ηλίας Ξυδιάς 58
Εικόνα 2.26 Η σφαιρική επιφάνεια περιγράφει το workspace του ρομπότ.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 59


Βιβλιογραφία/Αναφορές

[1] Fadell, E. R., & Husseini, S. Y. (2012). Geometry and topology of configuration spaces. Berlin, Germany:
Springer.
[2] Frechet, M., & Fan, K. (1988). Initiation to Combinatorial Topology (2nd ed.; H. W. Eves, Trans.). Florence,
KY: Brooks/Cole.
[3] Latombe, J.-C. (1991). Robot Motion Planning. Dordrecht, Netherlands: Springer.
[4] LaValle, S. M. (2009). Planning Algorithms. Cambridge, England: Cambridge University Press.
[5] Lynch, K. M., & Park, F. C. (2017). Modern robotics: Mechanics, planning, and control. Cambridge,
England: Cambridge University Press.

Ηλίας Ξυδιάς 60
Ασκήσεις

1. Θεωρήστε ένα ρομποτικό σύστημα της επιλογής σας. Θα μπορούσε να αποτελείται από έναν ή
περισσότερους ρομποτικούς βραχίονες ή/και κινητές πλατφόρμες. Επίσης, ο χώρος εργασίας του θα
μπορούσε να περιέχει σταθερά ή κινούμενα εμπόδια. Περιγράψτε μαθηματικά τον χώρο διαμόρφωσης.
Εξηγήστε εάν ο χώρος διαμόρφωσης είναι συμπαγής ή όχι και περιγράψτε τις συμπαγείς παραμέτρους.
2. Να δώσετε τη διάσταση του χώρου διαμορφώσεων για τα ακόλουθα συστήματα. Να αιτιολογήσετε την
απάντησή σας.
• Δύο ρομποτικά οχήματα τα οποία μπορούν να περιστρέφονται και να μετατοπίζονται στο
επίπεδο.
• Δύο ρομποτικά οχήματα τα οποία συνδέονται μεταξύ τους με μία μπάρα και τα οποία μπορούν
να περιστρέφονται και να μετατοπίζονται στο επίπεδο.
• Ένα διαστημόπλοιο στο οποίο έχει προσαρτηθεί ένας ρομποτικός βραχίονας με έξι περιστροφικές
αρθρώσεις.
3. Ας θεωρήσουμε ένα ρομποτικό όχημα με κυρτό σχήμα, το οποίο μετακινείται (χωρίς να περιστρέφεται)
σε έναν χώρο εργασίας, ο οποίος περιέχει ένα κυρτό εμπόδιο, στον διδιάστατο Ευκλείδειο χώρο. Να
αποδείξετε ότι το εμπόδιο διαμόρφωσης που δημιουργείται είναι κυρτό.
4. Γράψτε ένα πρόγραμμα για τον υπολογισμό του χώρου διαμορφώσεων ενός ρομπότ με σχήμα κυκλικού
δίσκου ακτίνας 𝑟 που μετακινείται, χωρίς να περιστρέφεται, σε ένα διδιάστατο περιβάλλον, το οποίο
περιέχει κυρτά εμπόδια.
5. Γράψτε ένα πρόγραμμα για τον υπολογισμό του χώρου διαμορφώσεων για έναν ρομποτικό βραχίονα ο
οποίος έχει δύο περιστροφικές αρθρώσεις 2R και καλείται να εργαστεί σε ένα πολυγωνικό περιβάλλον.
Το πρόγραμμα πρέπει να διαβάζει ένα αρχείο που περιέχει τη θέση της βάσης του ρομπότ, το μήκος
των συνδέσμων και τις λίστες κορυφών που αντιπροσωπεύουν τα εμπόδια. Ο χώρος εργασίας είναι ο
διδιάστατος Ευκλείδειος χώρος.
6. Ας υποθέσουμε ότι κάθε ένα από τα χέρια μας έχει n βαθμούς ελευθερίας. Ας υποθέσουμε επίσης ότι
καθόμαστε στο κάθισμα ενός αυτοκίνητου, όπου ο κορμός μας παραμένει ακίνητος, ενώ με τα χέρια
μας πιάνουμε το τιμόνι, έτσι ώστε τα χέρια μας να μην κινούνται σε σχέση με το τιμόνι. Πόσους
βαθμούς ελευθερίας έχει το σύστημα χέρια-τιμόνι; Εξηγήστε την απάντησή σας.
7. Οι συντεταγμένες του άκρου εργασίας ενός επίπεδου ρομποτικού βραχίονα που αποτελείται από δύο
περιστροφικές αρθρώσεις (Εικόνα 2.27) δίνονται από τις σχέσεις:
𝑥 = 2 cos(𝜃1 ) + cos(𝜃1 + 𝜃2 ) (2.6)

𝑦 = 2 sin(𝜃1 ) + sin(𝜃1 + 𝜃2 ) (2.7)

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 61


Εικόνα 2.27 Ο επίπεδος ρομποτικός βραχίονας.

• Ποιος είναι ο χώρος διαμορφώσεων του ρομπότ;


• Ποιο είναι το Workspace;
8. Θεωρήστε έναν επίπεδο ρομποτικό βραχίονα με μία περιστροφική άρθρωση 𝜃1 𝜖[0,2𝜋) και μια
πρισματική 𝑙2 𝜖[0, 𝑙1 ] (Εικόνα 2.28), ο οποίος καλείται να κινηθεί σε έναν χώρο που περιέχει
πολυγωνικά εμπόδια (Εικόνα 2.29). Να αναπαραστήσετε τον χώρο των διαμορφώσεων.

Εικόνα 2.28 Ο ρομποτικός βραχίονας.

Ηλίας Ξυδιάς 62
Εικόνα 2.29 Ο χώρος εργασίας του ρομποτικού βραχίονα.

9. Ας θεωρήσουμε ένα αυτοοδηγούμενο όχημα (ορθογωνίου σχήματος) το οποίο καλείται να κινηθεί σε


χώρο εργασίας με πολυγωνικά εμπόδια (Εικόνα 2.30). Μια διαμόρφωση του οχήματος ορίζεται από
την τριάδα (𝑥, 𝑦, 𝜃)𝜖ℝ2 × [−45°, 45°], όπου θ ο προσανατολισμός του οχήματος. Να κατασκευάσετε
τον αντίστοιχο χώρο διαμορφώσεων.

Εικόνα 2.30 Το αυτό-οδηγούμενο όχημα και ο χώρος εργασίας του.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 63


Κεφάλαιο 3ο
Κατασκευή Χάρτη Διαδρομής

Σύνοψη
Σε αυτό το κεφάλαιο θα περιγραφεί μια προσέγγιση η οποία καλείται Χάρτης Διαδρομών (Roadmap Approach)
και χρησιμοποιείται για τον σχεδιασμό κίνησης ρομποτικών συστημάτων. Για την κατασκευή του Χάρτη
Διαδρομών ακολουθείται η εξής διαδικασία: Αρχικά, κατασκευάζεται ένα δίκτυο από καμπύλες (Χάρτης
Διαδρομών), το οποίο αναπαριστά τη συνδεσιμότητα του ελεύθερου χώρου του ρομποτικού συστήματος. Στη
συνέχεια, στον χάρτη που έχει κατασκευαστεί, συνδέονται η αρχική και τελική θέση του ρομποτικού συστήματος.
Τέλος, γίνεται αναζήτηση μιας ελεύθερης διαδρομής η οποία ενώνει την αρχική και τελική θέση του ρομποτικού
συστήματος. Το βασικό ζητούμενο σε αυτήν την προσέγγιση είναι προφανώς η κατασκευή του Χάρτη Διαδρομών.
Έχουν προταθεί διάφορες μεθοδολογίες για τον σχεδιασμό κίνησης ρομπότ που βασίζονται σε διαφορετικές αρχές,
εκ των οποίων παράγονται διάφορα είδη χαρτών. Οι κυριότερες μεθοδολογίες που ακολουθούν τις βασικές αρχές
του χάρτη διαδρομών είναι: Χάρτες Ορατότητας (Visibility Graph), Διαγράμματα Voronoi (Voronoi Diagrams),
Στοχαστικοί Χάρτες (Probabilistic Roadmaps) και Μέθοδος Silhouette (Silhouette Method).

Προαπαιτούμενη γνώση
Υπολογιστική Γεωμετρία.

Εισαγωγή
Όπως έχει αναφερθεί και στα προηγούμενα κεφάλαια, οι προσεγγίσεις που έχουν αναπτυχθεί για τον σχεδιασμό
διαδρομής ενός ρομποτικού συστήματος έχουν ως στόχο να κατευθύνουν το ρομποτικό σύστημα από μια
δοσμένη αρχική διαμόρφωση σε μια δοσμένη τελική διαμόρφωση. Αν γνωρίζαμε ότι πρέπει να σχεδιάσουμε
πολλές διαδρομές που συνδέουν την αρχική και τελική διαμόρφωση, τότε θα ήταν λογικό να κατασκευαστεί
άπαξ μια δομή δεδομένων, η οποία στη συνέχεια θα χρησιμοποιηθεί για να σχεδιάσουμε ταχύτερα το σύνολο
των επιθυμητών διαδρομών. Αυτή η δομή δεδομένων ονομάζεται Χάρτης. Χαρτογράφηση είναι το έργο της
δημιουργίας μοντέλων του περιβάλλοντος στο οποίο ενεργεί το ρομποτικό σύστημα από δεδομένα αισθητήρων.
Πρέπει να σημειωθεί ότι η χαρτογράφηση είναι σημαντική όταν το ρομποτικό σύστημα δεν έχει εκ των
προτέρων πληροφορίες για το περιβάλλον εργασίας του και πρέπει να βασίζεται στους αισθητήρες του για να
συλλέξει πληροφορίες και να κατασκευάσει σταδιακά τον χάρτη του. Στο πλαίσιο των συστημάτων εσωτερικού
χώρου, επικρατούν τρεις βασικές κατηγορίες χαρτών (Εικόνες 3.1, 3.2 και 3.3):
• Τοπολογικοί Χάρτες (Topological maps)
• Γεωμετρικοί Χάρτες (Geometrical models)
• Πλέγματα πληρότητας (Occupancy grids)
Οι Τοπολογικοί Χάρτες 0 στοχεύουν στην αναπαράσταση του χώρου εργασίας του ρομποτικού συστήματος με
δομές που μοιάζουν με γραφήματα, όπου οι κόμβοι αντιστοιχούν σε «κάτι ιδιαίτερο/διακριτό» και οι ακμές
αντιπροσωπεύουν μια σχέση γειτνίασης μεταξύ των κόμβων. Για παράδειγμα, οι κόμβοι μπορεί να είναι
τοποθεσίες με διακριτά χαρακτηριστικά, όπως οι διασταυρώσεις σε ένα κτίριο γραφείων, ενώ οι ακμές μπορεί
να αντιστοιχούν σε συγκεκριμένες συμπεριφορές ή εντολές κίνησης που επιτρέπουν στο ρομποτικό σύστημα
να μετακινηθεί από τη μία θέση στην άλλη.
Οι Γεωμετρικοί Χάρτες 0 χρησιμοποιούν γεωμετρικά πρότυπα για την αναπαράσταση του χώρου
εργασίας. Η γεωμετρική αναπαράσταση του χώρου εργασίας είναι πιο κοντά στον «κόσμο» των αισθητήρων
και των ενεργοποιητών και είναι η καλύτερη για την εκτέλεση τοπικής πλοήγησης. Πολλοί ερευνητές
χρησιμοποιούν σύνολα από ευθύγραμμα τμήματα για να αναπαραστήσουν τα διάφορα μέρη του χώρου
εργασίας. Επίσης, στην περίπτωση των τριδιάστατων δομών, η αναπαράσταση πραγματοποιείται με πλέγματα
τριγώνων.
Τέλος, τα Πλέγματα Πληρότητας χρησιμοποιούν ένα πλέγμα από τετραγωνικά κελιά για να
αναπαραστήσουν τον χώρο εργασίας του ρομποτικού συστήματος. Το σημαντικότερο χαρακτηριστικό είναι ότι
κάθε κελί/θέση του χάρτη αντιστοιχεί σε μία δεκαδική τιμή από το 0 έως το 1, που ονομάζεται πιθανότητα

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 65


κατάληψης του κελιού. Η τιμή αυτή εκφράζει την πιθανότητα το συγκεκριμένο κελί του χάρτη να είναι
κατειλημμένο. Η τιμή αυτής της πιθανότητας μειώνεται έως και την τιμή 0, όταν ο αισθητήρας που είναι
ενσωματωμένος στο ρομποτικό σύστημα «ανακαλύπτει» ότι το συγκεκριμένο κελί είναι κατειλημμένο από
κάποιο αντικείμενο. Αντιθέτως, η τιμή αυτή αυξάνεται μέχρι και τον αριθμό 1, στην περίπτωση κατά την οποία
ο αισθητήρας δείχνει ότι το κελί είναι ελεύθερο.

Εικόνα 3.1 Τοπολογική αναπαράσταση του χώρου εργασίας.

Εικόνα 3.2 Γεωμετρική αναπαράσταση του χώρου εργασίας.

Ηλίας Ξυδιάς 66
Εικόνα 3.3 Αναπαράσταση του χώρου εργασίας με τη χρήση πλέγματος πληρότητας.

Αυτό το 3ο, λοιπόν, κεφάλαιο επικεντρώνεται σε μια κατηγορία τοπολογικών χαρτών που ονομάζονται οδικοί
χάρτες (Roadmaps). Ένας οδικός χάρτης είναι ενσωματωμένος στον ελεύθερο χώρο και ως εκ τούτου οι κόμβοι
και τα άκρα του έχουν επίσης φυσική σημασία. Για παράδειγμα, ένας κόμβος οδικού χάρτη αντιστοιχεί σε μια
συγκεκριμένη τοποθεσία και ένα άκρο αντιστοιχεί σε μια διαδρομή μεταξύ γειτονικών τοποθεσιών. Έτσι, εκτός
από γραφική παράσταση, ένας οδικός χάρτης είναι μια συλλογή από μονοδιάστατες πολλαπλότητες που
αποτυπώνουν την τοπολογία του ελεύθερου χώρου. Σε αυτό το κεφάλαιο εξετάζουμε πέντε τύπους οδικών
χαρτών:
• Χάρτες Ορατότητας (Visibility Graph),
• Διαγράμματα Voronoi (Voronoi Diagrams),
• Στοχαστικοί Χάρτες (Probabilistic Roadmaps) και,
• Μέθοδος Σιλουέτας (Silhouette Method).

3.1 Χάρτης Ορατότητας (Visibility Graph)


Ο χάρτης (ή γράφος) ορατότητας (Visibility Graph) είναι μια θεμελιώδης γεωμετρική δομή, η οποία βρίσκει
πάρα πολλές εφαρμογές. Αρχικά προτάθηκε από τον Nilson 0, πιθανότατα ως η πρώτη προσέγγιση του
σχεδιασμού κίνησης ενός ρομποτικού συστήματος. Το χαρακτηριστικό γνώρισμα ενός χάρτη ορατότητας είναι
ότι οι κόμβοι του γράφου που σχηματίζεται μοιράζονται μια ακμή, αν είναι σε οπτική επαφή μεταξύ τους, και
ότι όλα τα σημεία στον ελεύθερο χώρο του ρομποτικού συστήματος βρίσκονται σε οπτική επαφή τουλάχιστον
με έναν κόμβο του γράφου.
Ένας χάρτης (γράφος) ορατότητας είναι ένας μη κατευθυνόμενος γράφος, ο οποίος ορίζεται σε έναν
πολυγωνικό χώρο διαμορφώσεων 𝒞 (Εικόνα 3.4). Οι κόμβοι 𝑣𝑖 του γράφου περιλαμβάνουν την αρχική και

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 67


τελική θέση του ρομποτικού συστήματος 𝒜 και όλες τις κορυφές των εμποδίων-διαμορφώσεων. Οι ακμές 𝑒𝑖𝑗
του γράφου είναι ευθύγραμμα τμήματα που ενώνουν δύο κόμβους 𝑣𝑖 και 𝑣𝑗 του γράφου ορατούς μεταξύ τους.

Εικόνα 3.4 Ένας πολυγωνικός δύο διαστάσεων χώρος διαμορφώσεων, με την αρχική και τελική θέση του ρομποτικού
συστήματος.

Πρέπει να σημειωθεί ότι στον γράφο ορατότητας που κατασκευάζεται συμπεριλαμβάνονται και οι ακμές των
πολυγωνικών εμποδίων. Χρησιμοποιώντας ως κριτήριο την Ευκλείδεια μετρική, μπορούμε να αναζητήσουμε
στον γράφο ορατότητας τη συντομότερη διαδρομή (Εικόνα 3.5). Επίσης, ο γράφος ορατότητας μπορεί να
κατασκευαστεί και σε τριών διαστάσεων χώρους διαμορφώσεων, των οποίων τα εμπόδια είναι πολύεδρα. Σε
αυτήν την περίπτωση δεν είναι απαραίτητο ότι θα μπορέσει να βρει τη συντομότερη διαδρομή για το ρομποτικό
σύστημα.

Ηλίας Ξυδιάς 68
Εικόνα 3.5 Ο κατασκευασμένος χάρτης ορατότητας και η προτεινομένη διαδρομή, η οποία αναπαρίσταται με την κόκκινη
διακεκομμένη γραμμή.

Αν υποθέσουμε ότι ο χώρος διαμορφώσεων στον οποίο καλείται να κινηθεί το ρομποτικό σύστημα περιέχει 𝑛
πολυγωνικά εμπόδια διαμορφώσεων με 𝑉 = {𝑣1 , … , 𝑣𝑛 } το σύνολο των κορυφών των εμποδίων
(συμπεριλαμβανομένων των σημείων της αρχής και του τέλους), τότε ο αριθμός των ακμών του γράφου είναι
𝛰(𝑛2 ) και ο υπολογιστικός χρόνος που απαιτείται για την κατασκευή του είναι 𝛰(𝑛2 ), [1].
Πρέπει να σημειωθεί ότι έχει συντελεστεί σημαντική μελέτη στην ανάπτυξη αλγορίθμων για την
κατασκευή ενός γράφου ορατότητας. Οι αλγόριθμοι αυτοί εκμεταλλεύονται τη δομή ολόκληρου του γράφου
για να είναι αποτελεσματικοί. Ένα τέτοιο παράδειγμα είναι η χρήση των γραμμών στήριξης και διαχωρισμού.
Ένας γράφος ορατότητας περιέχει αρκετές ακμές, οι οποίες δεν είναι απαραίτητες. Η χρήση γραμμών στήριξης
(supporting lines) και διαχωρισμού (separating lines) μπορούν να μειώσουν τον αριθμό των ακμών ενός γράφου
(Εικόνα 3.6). Σε αυτήν την περίπτωση, ο γράφος ορατότητας αποτελείται από ακμές, οι οποίες κείνται σε
γραμμές στήριξης και διαχωρισμού. Η χρήση των γραμμών διαχωρισμού και στήριξης για τη μείωση των
ακμών ενός γράφου ορατότητας μπορεί να γίνει και στην περίπτωση που ο χώρος διαμορφώσεων του
ρομποτικού συστήματος περιέχει μη κυρτά εμπόδια ή και εμπόδια που ορίζονται ως κλειστές καμπύλες.

Εικόνα 3.6 Ο κατασκευασμένος χάρτης ορατότητας μετά την εφαρμογή των γραμμών στήριξης και διαχωρισμού.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 69


Γραμμή στήριξης ονομάζεται η γραμμή η οποία εφάπτεται σε δύο εμπόδια, ώστε και τα δύο να βρίσκονται στην
ίδια πλευρά της γραμμής (Εικόνα 3.7). Στην περίπτωση μη-κυρτών εμποδίων, η γραμμή στήριξης μπορεί να
είναι εφαπτόμενη στην κορυφή ενός εμποδίου. Γραμμή διαχωρισμού ονομάζεται η γραμμή η οποία εφάπτεται
σε δύο εμπόδια, έτσι ώστε να βρίσκονται σε αντίθετες πλευρές της γραμμής, Εικόνα 3.7.

Εικόνα 3.7 Η γραμμή υποστήριξης με μπλε χρώμα και η γραμμή διαχωρισμού με πορτοκαλί χρώμα.

3.2 Διάγραμμα Voronoi


Τα διαγράμματα Voronoi είναι γεωμετρικές κατασκευές οι οποίες προτάθηκαν από τον Georgi Voronoi το
1908 0, από τον οποίο πήραν και το όνομά τους. Διαθέτουν ένα ευρύ φάσμα εφαρμογών που περιλαμβάνει τον
σχεδιασμό κίνησης ρομποτικών συστημάτων, την κρυσταλλογραφία και την αναγνώριση προτύπων 0. Τα
διαγράμματα Voronoi είναι μια μέθοδος διαμέρισης του διδιάστατου χώρου των διαμορφώσεων του
ρομποτικού συστήματος, η οποία βασίζεται στον κανόνα του πλησιέστερου σημείου, εφαρμόζοντας την
Ευκλείδεια μετρική.
Γενικά, ένα διάγραμμα Voronoi χωρίζει τον χώρο σε κελιά-περιοχές. Αν υποθέσουμε ότι έχουμε ένα
πεπερασμένο σύνολο σημείων 𝑆 στο επίπεδο, τότε κάθε κελί του διαγράμματος που αντιστοιχεί σε ένα σημείο
𝜎 ∈ 𝑆, είναι ο γεωμετρικός τόπος των σημείων του επιπέδου που βρίσκονται σε κοντινότερη απόσταση από το
𝜎. Πρέπει να αναφερθεί, ότι δεν υπάρχουν κενά κελιά. Στην Εικόνα 3.8 παρουσιάζεται ένα σύνολο πέντε
σημείων τα οποία κείνται στο επίπεδο. Στην Εικόνα 3.9 παρουσιάζεται το αντίστοιχο διάγραμμα Voronoi, στο
οποίο τα μεσοκάθετα τμήματα μεταξύ γειτονικών σημείων ονομάζονται ακμές Voronoi και τα σημεία με
πορτοκαλί χρώμα, στα οποία τέμνονται οι ακμές, ονομάζονται κόμβοι Voronoi. Οι ακμές Voronoi αποτελούν
τα κοινά όρια μεταξύ των κελιών, ενώ οι κόμβοι Voronoi υποδεικνύουν μεμονωμένα σημεία, τα οποία
ισαπέχουν από τρία ή περισσότερα σημεία του επιπέδου.

Ηλίας Ξυδιάς 70
Εικόνα 3.8 Ένα τυχαίο σύνολο πέντε σημείων στο επίπεδο.

Εικόνα 3.9 Το αντίστοιχο διάγραμμα Voronoi, όπου με πορτοκαλί χρώμα αναπαρίστανται οι κόμβοι Voronoi.

Έστω 𝑃 = {𝑝1 , 𝑝2 , … , 𝑝𝑛 } ένα σύνολο από σημεία (κόμβοι) στο επίπεδο. Σε κάθε ένα από τα σημεία αναθέτουμε
όλα τα σημεία που είναι πιο κοντά σ’ αυτόν από ότι σε οποιοδήποτε άλλο σημείο. Ο έλεγχος γίνεται με βάση
την Ευκλείδεια απόσταση. Όλα αυτά τα σημεία σχηματίζουν την «περιοχή» Voronoi του σημείου. Ο
αντίστοιχος μαθηματικός ορισμός της «περιοχής» Voronoi 𝑉(𝑝𝑖 ) του κόμβου 𝑝𝑖 είναι:
𝑥
𝑉 (𝑝𝑖 ) = { ≠ 𝑖, 𝑑(𝑥, 𝑝𝑖 ) ≤ 𝑑(𝑥, 𝑝𝑗 )} (3.1)
∀𝑗

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 71


όπου 𝑑(𝛼, 𝛽) είναι η Ευκλείδεια απόσταση μεταξύ δύο σημείων 𝛼 και 𝛽. Πρέπει να σημειωθεί ότι κάθε
«περιοχή» Voronoi είναι ένα κλειστό σύνολο, δηλαδή έχει σύνορο αποτελούμενο από σημεία τα οποία δεν
έχουν έναν κοντινότερο κόμβο, αλλά ισαπέχουν από δύο ή περισσότερους κόμβους. Τα σημεία αυτά
σχηματίζουν το διάγραμμα Voronoi του συνόλου των κόμβων.
Το διάγραμμα Voronoi για δύο κόμβους συμπίπτει με τη μεσοκάθετο 𝜆 του ευθύγραμμου τμήματος που
τα συνδέει. Η μεσοκάθετος αποτελεί μια ακμή για το διάγραμμα Voronoi, ενώ οι «περιοχές» Voronoi για τους
δύο κόμβους είναι τα (κλειστά) ημιεπίπεδα που ορίζει η μεσοκάθετος 𝜆. Πιο συγκεκριμένα, ας θεωρήσουμε
δύο σημεία 𝑉1 και 𝑉2 του επιπέδου. Στην συνέχεια χωρίζουμε το επίπεδο σε δύο τομείς με τέτοιο τρόπο, ώστε
κάθε σημείο να ανήκει σε έναν μόνο τομέα και, επιπλέον, κάθε σημείο του τομέα να απέχει την μικρότερη
απόσταση από το σημείο που αντιστοιχεί στον τομέα.
Για τρεις κόμβους, το διάγραμμα Voronoi αποτελείται από τρεις μεσοκαθέτους που ξεκινούν από το ίδιο
σημείο, το οποίο συνιστά κέντρο του κύκλου που περνά από τα τρία σημεία. Το σημείο αυτό αποτελεί μια
«κορυφή» για το διάγραμμα Voronoi. Πιο συγκεκριμένα, ας θεωρήσουμε τρία μη συνευθειακά σημεία 𝑉1 , 𝑉2
και 𝑉3 . Στη συνέχεια, χωρίζουμε το επίπεδο στο οποίο βρίσκονται σε τρεις τομείς, των οποίων τα σημεία έχουν
την ίδια ιδιότητα με την περίπτωση των δύο κόμβων.
Για να γίνει κατανοητή η παραπάνω διαδικασία, θα περιγράψουμε τη διαδικασία κατασκευής του
διαγράμματος Voronoi για τέσσερα μη συνευθειακά σημεία. Αρχικά, χωρίζουμε το τετράπλευρο σε τρίγωνα
(τριγωνοποίηση). Στη συνέχεια βρίσκουμε τα περίκεντρα 𝛫1 και 𝛫2 των τριγώνων 𝑉1 𝑉2 𝑉4 και 𝑉2 𝑉3 𝑉4 . Να
θυμίσουμε από την Ευκλείδεια γεωμετρία ότι περίκεντρο ονομάζεται το σημείο τομής των τριών μεσοκαθέτων
των πλευρών ενός τριγώνου. Ενώνουμε τα 𝛫1 και 𝛫2 με τα μέσα των μη κοινών πλευρών 𝑉1 𝑉2 , 𝑉1 𝑉4 , 𝑉2 𝑉3 και
𝑉3 𝑉4 . Τέλος, ενώνουμε τα 𝛫1 και 𝛫2 με την κοινή πλευρά 𝑉2 𝑉4 (Εικόνα 3.10). Η Εικόνα 3.11 παρουσιάζει το
διάγραμμα Voronoi ενός συνόλου 30 κόμβων (μαύρες τελείες).

Εικόνα 3.10 Το διάγραμμα Voronoi για τέσσερα σημεία.

Ηλίας Ξυδιάς 72
Εικόνα 3.11 Το διάγραμμα Voronoi.

Το διάγραμμα Voronoi ενός συνόλου σημείων σχετίζεται με την τριγωνοποίηση Delaunay 0. Στα μαθηματικά
και στην υπολογιστική γεωμετρία, η τριγωνοποίηση Delaunay για ένα δεδομένο σύνολο P διακεκριμένων
σημείων σε ένα επίπεδο προϋποθέτει κανένα σημείο του Ρ να μην είναι μέσα στον περίκεντρο κύκλο
οποιουδήποτε τριγώνου. Δεδομένων αυτών, το αποτέλεσμα της ένωσης των κέντρων των περίκεντρων κύκλων
παράγει το διάγραμμα Voronoi.
Ο πιο διαδεδομένος αλγόριθμος κατασκευής του διαγράμματος Voronoi είναι ο Fortune. Πρόκειται για
έναν αλγόριθμο σάρωσης (sweep line algorithm) για τη δημιουργία ενός διαγράμματος Voronoi από ένα σύνολο
σημείων σε ένα επίπεδο. Αρχικά, δημοσιεύτηκε από τον Steven Fortune το 1986 στην εργασία του «A sweep
line algorithm for Voronoi diagram».Error! Reference source not found. Ο αλγόριθμος διατηρεί τόσο μια
γραμμή σάρωσης (sweep line) όσο και μια γραμμή παραλίας (beach line), οι οποίες κινούνται μέσα στο επίπεδο
καθώς προχωρά ο αλγόριθμος. Η γραμμή σάρωσης είναι μια ευθεία, για την οποία κατά σύμβαση μπορούμε να
υποθέσουμε ότι είναι κάθετη και κινείται από αριστερά προς τα δεξιά κατά μήκος του επιπέδου. Ανά πάσα
στιγμή, κατά τη διάρκεια του αλγορίθμου, τα σημεία εισόδου αριστερά της γραμμής σάρωσης θα έχουν
ενσωματωθεί στο διάγραμμα Voronoi, ενώ τα σημεία δεξιά της γραμμής σάρωσης δεν θα έχουν ακόμη ληφθεί
υπόψη.
Η γραμμή της παραλίας δεν είναι μια ευθεία, αλλά μια περίπλοκη καμπύλη στα αριστερά της γραμμής
σάρωσης, που αποτελείται από κομμάτια παραβολών. Διαιρεί το τμήμα του επιπέδου, μέσα στο οποίο μπορεί
να είναι γνωστό το διάγραμμα Voronoi από το υπόλοιπο επίπεδο, ανεξάρτητα από το ποια άλλα σημεία μπορεί
να βρίσκονται ακριβώς στη γραμμή σάρωσης. Για κάθε σημείο αριστερά της γραμμής σάρωσης, μπορεί κανείς
να ορίσει μια παραβολή σημείων που ισαπέχει από το ίδιο το σημείο και από τη γραμμή σάρωσης. Η παραλία
είναι το όριο της ένωσης αυτών των παραβολών. Καθώς η γραμμή σάρωσης προχωρά, οι κορυφές της παραλίας,
στις οποίες διασταυρώνονται δύο παραβολές, εντοπίζουν τις άκρες του διαγράμματος Voronoi. Η γραμμή της
παραλίας προχωρά, διατηρώντας κάθε βάση παραβολής ακριβώς στη μέση μεταξύ των σημείων που σάρωσε
αρχικά με τη γραμμή σάρωσης και της νέας θέσης της γραμμής σάρωσης. Μαθηματικά, αυτό σημαίνει ότι κάθε
παραβολή σχηματίζεται, χρησιμοποιώντας τη γραμμή σάρωσης ως κατευθυντήριο και το σημείο εισόδου ως
εστίαση.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 73


Ο αλγόριθμος Fortune διατηρεί ως δομές δεδομένων ένα δυαδικό δέντρο αναζήτησης, που περιγράφει
τη συνδυαστική δομή της γραμμής παραλίας και μια ουρά προτεραιότητας η οποία αναφέρει πιθανά μελλοντικά
γεγονότα που θα μπορούσαν να αλλάξουν τη δομή της γραμμής παραλίας. Αυτά τα γεγονότα περιλαμβάνουν
την προσθήκη μιας άλλης παραβολής στη γραμμή της παραλίας (όταν η γραμμή σάρωσης διασχίζει άλλο
σημείο εισόδου) και την αφαίρεση μιας καμπύλης από τη γραμμή της παραλίας (όταν η γραμμή σάρωσης
γίνεται εφαπτομένη σε έναν κύκλο μέσω τριών σημείων εισόδου, των οποίων οι παραβολές σχηματίζονται ως
διαδοχικά τμήματα της γραμμής της παραλίας). Κάθε τέτοιο συμβάν μπορεί να έχει προτεραιότητα από τη
συντεταγμένη x της γραμμής σάρωσης στο σημείο που συμβαίνει το συμβάν. Ο ίδιος ο αλγόριθμος αποτελείται
από την επανειλημμένη αφαίρεση του επόμενου συμβάντος από την ουρά προτεραιότητας, την εύρεση των
αλλαγών που προκαλεί το συμβάν στη γραμμή παραλίας και την ενημέρωση των δομών δεδομένων. Στις
Εικόνες 3.12, 3.13, 3.14 και 3.15 παρουσιάζεται η διαδικασία υλοποίησης του αλγορίθμου Fortune.

Εικόνα 3.12 Η εκκίνηση του αλγορίθμου Fortune, ο υπό εξέταση χώρος περιέχει 11 σημεία στο επίπεδο.

Ηλίας Ξυδιάς 74
Εικόνα 3.13 Οι αλγόριθμοι sweep line και beach line «σαρώνουν» το επίπεδο.

Εικόνα 3.14 Η εξέλιξη της «σάρωσης» ενώ παράλληλα σχηματίζεται το διάγραμμα Voronoi.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 75


Εικόνα 3.15 Tο διάγραμμα Voronoi.

Στην Εικόνα 3.16 παρουσιάζεται το διάγραμμα Voronoi για έναν χώρο διαμορφώσεων, ο οποίος περιέχει τρία
πολυγωνικά εμπόδια τετραγωνικού σχήματος και οριοθετείται από ένα τετράγωνο. Το κατασκευασμένο
διάγραμμα Voronoi αποτελείται από έναν πεπερασμένο αριθμό ευθυγράμμων τμημάτων και παραβολικών
καμπυλών, τα οποία καλούνται τόξα. Ευθύ τόξο καλείται το σύνολο των διαμορφώσεων οι οποίες είναι κοντά
σε ένα ζεύγος ακμής-ακμής ή κορυφής-κορυφής. Παραβολικό τόξο καλείται το σύνολο των διαμορφώσεων οι
οποίες είναι κοντά σε ένα ζεύγος ακμής – κορυφής.

Ηλίας Ξυδιάς 76
Εικόνα 3.16 Το διάγραμμα Voronoi για έναν δύο διαστάσεων χώρο διαμορφώσεων, ο οποίος περιέχει 3 πολυγωνικά
εμπόδια.

Ας υποθέσουμε ότι το συμπλήρωμα του χώρου των εμποδίων διαμορφώσεων αποτελείται από 𝑛 κορυφές. Ο
χρόνος που απαιτείται για την κατασκευή του διαγράμματος Voronoi είναι 𝛰(𝑛4 ), ενώ έχουν προταθεί
αλγόριθμοί κατασκευής του διαγράμματος σε χρόνο 𝛰(𝑛𝑙𝑜𝑔2 𝑛) 0 και σε χρόνο 𝛰(𝑛𝑙𝑜𝑔𝑛)Error! Reference
source not found.. Επίσης, ένα διάγραμμα Voronoi χαρακτηρίζεται από τις ακόλουθες ιδιότητες:
• Κάθε περιοχή Voronoi είναι κυρτή.
• Μια περιοχή Voronoi είναι ανοικτή, εάν και μόνο εάν ο κόμβος που περιέχει ανήκει στο σύνορο
του κυρτού περιβλήματος του συνόλου των κόμβων.
• Εάν 𝑣 είναι μια κορυφή Voronoi στο σημείο που συναντώνται οι περιοχές Voronoi 𝑉 (𝑝𝑖 ), 𝑉(𝑝𝑗 )
και 𝑉 (𝑝𝜅 ), τότε το 𝑣 είναι το κέντρο του κύκλου 𝐶 που περνά από τις κορυφές 𝑝𝑖 , 𝑝𝑗 και 𝑝𝜅 .
• Ο κύκλος 𝐶 δεν περιέχει κόμβους στο εσωτερικό του.
Τα διαγράμματα Voronoi δεν είναι αποδοτικά όταν πρέπει να εφαρμοστούν σε προβλήματα σχεδιασμού
κίνησης στα οποία ο χώρος των διαμορφώσεων είναι διάστασης μεγαλύτερης του δύο. Επίσης, η μορφή του
διαγράμματος αλλάζει όταν διαφορετικά χαρακτηριστικά ενός αντικειμένου, όπως κορυφές, άκρες ή ακόμα και
όλο το αντικείμενο, λαμβάνονται ως τοποθεσίες..

3.3 Στοχαστικός Χάρτης


Σε αυτήν την κατηγορία ανήκουν οι προσεγγίσεις στις οποίες η κατασκευή του χάρτη βασίζεται στην τυχαία
δειγματοληψία του χώρου διαμορφώσεων 𝒞 0. Το βασικό πλεονέκτημα αυτών των προσεγγίσεων είναι ότι η
πολυπλοκότητα του προβλήματος σχεδιασμού κίνησης δεν εξαρτάται από τη διάσταση του 𝒞 ή από το είδος
του ρομποτικού συστήματος, αλλά από το πλήθος των «δειγμάτων» που λαμβάνονται από το 𝒞. Για τον λόγο
αυτόν, χαρακτηρίζονται και στοχαστικά/πιθανοτικά πλήρη, δηλαδή δεν μπορούν να εγγυηθούν ότι θα βρουν
λύση (μια διαδρομή για το ρομποτικό σύστημα) ή να αναφέρουν ότι δεν υπάρχει λύση. Οι πιο διαδεδομένες
προσεγγίσεις είναι οι στοχαστικοί/πιθανοτικοί χάρτες διαδρομών (Probabilistic Roadmaps) και τα τυχαία
δέντρα ταχείας εξερεύνησης (Rapidly – Exploring Random Trees) 0, των οποίων θα περιγράψουμε τον τρόπο
λειτουργίας στις επόμενες ενότητες.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 77


3.3.1 Στοχαστικοί/Πιθανοτικοί Χάρτες Διαδρομών
O Στοχαστικός Χάρτης μπορεί να περιγραφεί με γενικούς όρους χωρίς να συσχετιστεί με κάποιον συγκεκριμένο
τύπο ρομποτικού συστήματος. Η ιδέα είναι ότι, κατά τη φάση κατασκευής του στοχαστικού χάρτη, μια δομή
δεδομένων δημιουργείται σταδιακά με στοχαστικό τρόπο. Αυτή η δομή δεδομένων στη συνέχεια
χρησιμοποιείται για την επίλυση προβλημάτων σχεδιασμού διαδρομών.
Στη βασική του μορφή, κατά την κατασκευή της δομής δεδομένων, πρώτα κατασκευάζεται ένας
χάρτης/γράφος διαδρομών με έναν πιθανολογικό τρόπο για έναν δεδομένο χώρο εργασίας. Ο χάρτης
αναπαρίσταται από ένα μη κατευθυνόμενο γράφημα 𝐺 = (𝑉, 𝐸). Οι κόμβοι του χάρτη 𝑉 αποτελούνται από ένα
σύνολο διαμορφώσεων του ρομποτικού συστήματος που επιλέγονται με στοχαστικό τρόπο, για παράδειγμα
ακολουθώντας την ομοιόμορφη κατανομή, από τις ελεύθερες περιοχές του χώρου διαμορφώσεων του
ρομποτικού συστήματος 𝒞𝑓𝑟𝑒𝑒 .
Ας υποθέσουμε ότι η επιλογή των διαμορφώσεων γίνεται ακολουθώντας την ομοιόμορφη κατανομή. Οι
ακμές 𝐸 του γράφου αντιστοιχούν σε ελεύθερες από συγκρούσεις διαδρομές. Για παράδειγμα, μια ακμή
(𝓆1 , 𝓆2 ) αντιστοιχεί σε μια διαδρομή χωρίς συγκρούσεις που συνδέει τις διαμορφώσεις/κόμβους του γράφου
𝐺, 𝓆1 και 𝓆2 . Αυτές οι διαδρομές, οι οποίες αναφέρονται ως τοπικές διαδρομές, υπολογίζονται από έναν τοπικό
«σχεδιαστή» διαδρομών. Στην απλούστερη μορφή του, ο τοπικός «σχεδιαστής» συνδέει δύο διαμορφώσεις με
ένα ευθύγραμμο τμήμα στο 𝒞𝑓𝑟𝑒𝑒 , εάν βέβαια υπάρχει μια τέτοια διαδρομή.
Στη φάση του ερωτήματος για το αν υπάρχει μια διαδρομή για το ρομποτικό σύστημα, ο
κατασκευασμένος γράφος 𝐺 χρησιμοποιείται για την επίλυση μεμονωμένων προβλημάτων σχεδιασμού
διαδρομής. Δεδομένης μιας αρχικής διαμόρφωσης 𝓆𝛼𝜌𝜒𝜄𝜅ή και τελικής διαμόρφωσης 𝓆𝜏𝜀𝜆𝜄𝜅ή , η μέθοδος
προσπαθεί πρώτα να συνδέσει το 𝓆𝛼𝜌𝜒𝜄𝜅ή και το 𝓆𝜏𝜀𝜆𝜄𝜅ή σε δύο κόμβους 𝓆′ και 𝓆′′, αντίστοιχα, από το 𝑉. Αν
υπάρχει μία τέτοια σύνδεση, τότε στον γράφο γίνεται αναζήτηση για μια αλληλουχία από ακμές του 𝐸 που
συνδέουν το 𝓆′ και 𝓆′′. Στη συνέχεια, η αλληλουχία από ακμές μετατρέπεται σε μια εφικτή διαδρομή για το
ρομποτικό σύστημα, υπολογίζοντας ξανά τις αντίστοιχες τοπικές διαδρομές και συνδέοντάς τες. Οι τοπικές
διαδρομές μπορούν να αποθηκευτούν στον γράφο, αλλά αυτό θα αυξήσει τις απαιτήσεις αποθήκευσης του
γράφου. Ο γράφος μπορεί να επαναχρησιμοποιηθεί και να αυξηθεί περαιτέρω για να αποτυπώσει τη
συνδεσιμότητα του 𝒞𝑓𝑟𝑒𝑒 . Αν και η φάση μάθησης πραγματοποιείται συνήθως πριν από οποιοδήποτε ερώτημα
σχεδιασμού διαδρομής, οι δύο φάσεις μπορούν επίσης να συγχωνευτούν.
Για να γίνει περισσότερο κατανοητή η παραπάνω διαδικασία, στις επόμενες παραγράφους θα
παραθέσουμε τον τρόπο κατασκευής του γράφου. Ας υποθέσουμε, αρχικά, ότι ο γράφος 𝐺 = (𝑉, 𝐸) είναι
άδειος, δηλαδή δεν έχει προστεθεί κάποιος κόμβος ή ακμή. Στη συνέχεια, επαναλαμβανόμενα, μια διαμόρφωση
του ρομποτικού συστήματος λαμβάνεται τυχαία από το 𝒞. Όπως αναφέραμε και παραπάνω, η δειγματοληψία
γίνεται σύμφωνα με την ομοιόμορφη κατανομή. Εάν η διαμόρφωση είναι χωρίς σύγκρουση (δεν πέφτει πάνω
σε εμπόδιο), προστίθεται στον 𝐺. Η διαδικασία επαναλαμβάνεται μέχρι να ληφθούν 𝑛 δείγματα διαμορφώσεων,
ελεύθερα από συγκρούσεις. Ο αριθμός των δειγμάτων που επιλέγεται από το 𝒞 καθορίζεται από τον χρήστη
και συνήθως εξαρτάται από την πολυπλοκότητα του 𝒞. Ο νέος κόμβος συνδέεται με τους πλησιέστερους
κόμβους μέσω ευθυγράμμων τμημάτων (Εικόνα 3.17).

Ηλίας Ξυδιάς 78
Εικόνα 3.17 Τυχαία δειγματοληψία κόμβων από το 𝒞 και η μεταξύ τους ένωση με ακμές.

Στη συνέχεια, ο «σχεδιαστής» ελέγχει εάν η ακμή που συνδέει δύο κόμβους βρίσκεται σε ελεύθερο χώρο ή όχι.
Εάν βρίσκεται σε ελεύθερο χώρο, η ακμή προστίθεται στον γράφο 𝐺, διαφορετικά απορρίπτεται (Εικόνα 3.18).
Ο αλγόριθμος 3.2 που ακολουθεί περιγράφει τη διαδικασία κατασκευής του γράφου 𝐺.

Εικόνα 3.18 Ο νέος κόμβος (μαύρη τελεία) προστίθεται στον γράφο και ενώνεται με τους γειτονικούς κόμβους, με ακμές
που δεν «πέφτουν» πάνω σε εμπόδια (μαύρο χρώμα) ενώ οι ακμές που πέφτουν πάνω σε εμπόδιο δεν λαμβάνονται υπόψη
(κόκκινο χρώμα).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 79


Αλγόριθμος 3.2 Κατασκευή του 𝐺 = (𝑉, 𝐸)
Είσοδος:
𝑛: ο αριθμός των κόμβων που θα επιλεγούν για την κατασκευή του γράφου
𝑘: ο αριθμός των κοντινότερων γειτόνων για εξέταση για κάθε κόμβο
Έξοδος:
Ο γράφος 𝐺 = (𝑉, 𝐸)
10. 𝑉 → ∅
11. 𝛦 → ∅
1. while |𝑉| → 𝑛 do
2. repeat
3. 𝓆 ← μια τυχαία διαμόρφωση στο 𝒞
4. until 𝑞 δεν «πέφτει» πάνω σε εμπόδιο
5. 𝑉 ← 𝑉 ∪ {𝓆}
6. end while
7. for all 𝓆𝜖𝑉 do
8. 𝑁𝓆 ← οι 𝑘 κοντινότεροι γείτονες στον κόμβο 𝓆 οι οποίοι επιλέγονται για το 𝑉 σύμφωνα με την
απόσταση 𝑑𝑖𝑠𝑡
9. For all 𝓆′𝜖𝑁𝑞 do
10. If (𝓆, 𝓆′) ∉ 𝐸 and 𝛥(𝓆, 𝓆′) ≠ 𝑁𝐼𝐿 then
11. 𝐸 ← 𝐸 ∪ {(𝓆, 𝓆′)}
12. end if
13. end for
14. end for
Αφού ο «σχεδιαστής» τελειώσει με την κατασκευή του γράφου 𝐺, μπορούμε να προσθέσουμε το επιθυμητό
αρχικό και τελικό σημείο σε αυτό, για να καταλήξουμε σε μια λύση για το πρόβλημα σχεδιασμού διαδρομής,
Εικόνα 3.19.

Ηλίας Ξυδιάς 80
Εικόνα 3.19 Ο τελικός γράφος.

Αφού ολοκληρωθεί το πλήρες γράφημα στο οποίο έχουν ενσωματωθεί το επιθυμητό αρχικό και τελικό σημείο,
αντιστοίχως, η συντομότερη διαδρομή μπορεί να βρεθεί χρησιμοποιώντας αλγορίθμους, όπως ο αλγόριθμος
του Dijkstra 0 ή ο αλγόριθμος αναζήτησης A*, που θα έδινε μια διαδρομή, όπως φαίνεται και στην Εικόνα 3.20.
Ο αλγόριθμος 3.3 που ακολουθεί περιγράφει τη διαδικασία ένωσης της επιθυμητής αρχικής και τελικής
διαμόρφωσης με τον γράφο 𝐺, καθώς επίσης και τη διαδικασία εύρεσης της συντομότερης διαδρομής.

Εικόνα 3.20 Η προτεινόμενη διαδρομή (ευθύγραμμα τμήματα με πορτοκαλί χρώμα).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 81


Αλγόριθμος 3.3 Επίλυση του προβλήματος σχεδιασμού κίνησης.
Είσοδος:
𝓆𝛼𝜌𝜒𝜄𝜅ή : αρχική διαμόρφωση
𝓆𝜏𝜀𝜆𝜄𝜅ή : τελική διαμόρφωση
𝑘: ο αριθμός των κοντινότερων γειτόνων για εξέταση για κάθε κόμβο
𝐺 = (𝑉, 𝐸) ο κατασκευασμένος γράφος
Έξοδος:
Η διαδρομή που συνδέει το 𝓆𝛼𝜌𝜒𝜄𝜅ή και 𝓆𝜏𝜀𝜆𝜄𝜅ή ή δεν υπάρχει
1. 𝛮𝓆𝛼𝜌𝜒𝜄𝜅ή → οι 𝑘 κοντινότεροι γείτονες στο 𝓆𝛼𝜌𝜒𝜄𝜅ή από το 𝑉 σύμφωνα με την απόσταση 𝑑𝑖𝑠𝑡
2. 𝛮𝓆𝜏𝜀𝜆𝜄𝜅ή → οι 𝑘 κοντινότεροι γείτονες στο 𝓆𝜏𝜀𝜆𝜄𝜅ή από το 𝑉 σύμφωνα με την απόσταση 𝑑𝑖𝑠𝑡
3. 𝑉 ← {𝓆𝛼𝜌𝜒𝜄𝜅ή } ∪ {𝓆𝜏𝜀𝜆𝜄𝜅ή } ∪ 𝑉
4. βάλε τη διαμόρφωση 𝓆′ η οποία είναι κοντινότερη στο 𝓆𝛼𝜌𝜒𝜄𝜅ή στο 𝛮𝓆𝛼𝜌𝜒𝜄𝜅ή
5. Repeat
6. If 𝛥(𝓆𝛼𝜌𝜒𝜄𝜅ή , 𝓆′) ≠ 𝑁𝐼𝐿 then
7. 𝐸 ← (𝓆𝛼𝜌𝜒𝜄𝜅ή , 𝓆′) ∪ 𝐸
8. else
9. βάλε τη διαμόρφωση 𝓆′ η οποία είναι κοντινότερη στο 𝓆𝛼𝜌𝜒𝜄𝜅ή στο 𝛮𝓆𝛼𝜌𝜒𝜄𝜅ή
10. endif
11. until μία σύνδεση ήταν επιτυχής ή το σύνολο 𝛮𝓆𝛼𝜌𝜒𝜄𝜅ή είναι άδειο
12. βάλε τη διαμόρφωση 𝓆′ η οποία είναι κοντινότερη στο 𝓆𝜏𝜀𝜆𝜄𝜅ή στο 𝛮𝓆𝜏𝜀𝜆𝜄𝜅ή
13. repeat
14. If 𝛥(𝓆𝜏𝜀𝜆𝜄𝜅ή , 𝓆′) ≠ 𝑁𝐼𝐿 then
15. 𝐸 ← (𝓆𝜏𝜀𝜆𝜄𝜅ή , 𝓆′) ∪ 𝐸
16. else
17. βάλε τη διαμόρφωση 𝓆′ η οποία είναι κοντινότερη στο 𝓆𝜏𝜀𝜆𝜄𝜅ή στο 𝛮𝓆𝜏𝜀𝜆𝜄𝜅ή
18. endif
19. until μία σύνδεση ήταν επιτυχής ή το σύνολο 𝛮𝓆𝜏𝜀𝜆𝜄𝜅ή είναι άδειο
20. 𝑃 ← 𝜎𝜐𝜈𝜏𝜊𝜇ό𝜏𝜀𝜌𝜂 𝛿𝜄𝛼𝛿𝜌𝜊𝜇ή (𝓆𝛼𝜌𝜒𝜄𝜅ή , 𝓆𝜏𝜀𝜆𝜄𝜅ή , 𝐺)
21. If 𝑃 δεν είναι άδειο then
22. return 𝑃
23. else
24. return δεν υπάρχει διαδρομή
25. endif
Ενώ οι στοχαστικοί χάρτες διαδρομών γνωρίζουν μεγάλη απήχηση και εφαρμόζονται σε πολλές από τις
προεκτάσεις του βασικού προβλήματος σχεδιασμού κίνησης ενός ρομποτικού συστήματος, ωστόσο
παρουσιάζουν ορισμένα μειονεκτήματα. Το βασικό μειονέκτημα είναι ότι δεν δίνει τη βέλτιστη λύση κάθε
φορά. Ας υποθέσουμε την περίπτωση κατά την οποία ο χώρος διαμορφώσεων του ρομποτικού συστήματος έχει
έναν μεγάλο αριθμό εμποδίων, πολύ κοντά το ένα στο άλλο. Ας υποθέσουμε, επίσης, ότι η απόσταση μεταξύ
δύο εμποδίων είναι πολύ μικρή. Λόγω αυτού, εξίσου μικρή είναι και η πιθανότητα δημιουργίας κόμβων μεταξύ
των «στενών» περασμάτων. Το σύστημα μπορεί να δημιουργήσει κόμβους σε αυτήν την περιοχή εάν
αυξήσουμε τον αριθμό των επαναλήψεων ή τον αριθμό των δειγμάτων. Πρέπει να τονίσουμε ότι η αύξηση του
αριθμού των επαναλήψεων λύνει το πρόβλημα, αλλά δεν συμβαίνει. Όταν το σύστημα αποτυγχάνει να

Ηλίας Ξυδιάς 82
δημιουργήσει μια διαδρομή για τέτοιες διαμορφώσεις του χώρου, δεν θα γνωρίζουμε αν οφείλεται στο ότι η
διαδρομή δεν υπάρχει ή ο αριθμός των επαναλήψεων είναι μικρός για αυτό το περιβάλλον. Αυτό είναι το μόνο
μειονέκτημα αυτού του αλγορίθμου. Δεν μας δίνει μια σαφή εικόνα σε περίπτωση αποτυχίας.
Εάν τα ερωτήματα για την ύπαρξη μιας διαδρομής αποτυγχάνουν συχνά, ο γράφος διαδρομών μπορεί να
μην καταγράφει επαρκώς τη συνδεσιμότητα του 𝒞𝑓𝑟𝑒𝑒 . Όταν συμβαίνει αυτό, ο τρέχων γράφος μπορεί να
επεκταθεί, συνεχίζοντας τον αλγόριθμο βημάτων κατασκευής, εξαιρώντας δηλαδή τις γραμμές (1) και (2) από
τον αλγόριθμο 3.1 και εισάγοντας ως παράμετρο τον τρέχοντα γράφο.

3.3.2 Τυχαίο Δέντρο Ταχείας Εξερεύνησης


Η βασική ιδέα αυτής της προσέγγισης είναι η κατασκευή ενός δέντρου από σημεία που βρίσκονται στον
ελεύθερο χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 του ρομποτικού συστήματος. Η «ρίζα» του υπό κατασκευή δέντρου είναι
η αρχική διαμόρφωση του ρομποτικού συστήματος, ενώ η τελική διαμόρφωση αποτελεί φύλλο του δέντρου.
Σε κάθε βήμα, επιλέγεται μια τυχαία διαμόρφωση του ρομποτικού συστήματος από το 𝒞𝑓𝑟𝑒𝑒 και ενώνεται με
το δέντρο μέσω του πλησιέστερου κόμβου. Η διαδικασία τερματίζει όταν η τελική διαμόρφωση ενωθεί με το
δέντρο ή όταν βρεθεί μια διαμόρφωση – κόμβος αρκετά κοντά στην τελική διαμόρφωση ή όταν συμπληρωθεί
ο προκαθορισμένος από τον χρήστη αριθμός των επαναλήψεων.
Στην απλή εκδοχή, η δημιουργία ενός τυχαίου δέντρου υπαγορεύει την επιλογή μιας τυχαίας
διαμόρφωσης (κόμβου) από την περιοχή του χώρου εργασίας που έχει ανιχνεύσει. Όπως και στην περίπτωση
των στοχαστικών χαρτών, η επιλογή γίνεται ακολουθώντας την ομοιόμορφη κατανομή. Στη συνέχεια,
ερευνάται το δέντρο, ώστε να βρεθεί ο πλησιέστερος κόμβος του δέντρου. Έχοντας δύο σημεία στη διάθεσή
του, ο «σχεδιαστής» υπολογίζει την κλίση της ευθείας που τα ενώνει, πάνω στην οποία θα βρίσκεται ο επόμενος
πιθανός κόμβος του δέντρου. Η απόσταση του νέου κόμβου από τον κόμβο που έχει τυχαία θεωρηθεί ως
πλησιέστερος και ορίζεται από τον «χρήστη», έχοντας ως κριτήριο την πολυπλοκότητα του περιβάλλοντας στο
οποίο καλείται να εργαστεί το ρομποτικό σύστημα. Με αυτόν τον τρόπο οι ακμές του γράφου δεν τέμνουν τα
εμπόδια του περιβάλλοντος. Πρέπει να σημειωθεί ότι ο νέος κόμβος συνδέεται με τον κόμβο που έχει
χαρακτηρισθεί ως πλησιέστερος και αποκτούν σχέση «γονέα-παιδιού». Η κατασκευή του δέντρου σταματά
όταν ο νεοεισαχθείς κόμβος απέχει από τον στόχο που θέλει να προσεγγίσει το ρομποτικό σύστημα απόσταση
μικρότερη από το διπλάσιο της μέγιστης απόστασης που έχει ορισθεί από τον «χρήστη». Η Εικόνα 3.21
περιγράφει παραστατικά τη διαδικασία κατασκευής του τυχαίου δέντρου ταχείας εξερεύνησης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 83


Εικόνα 3.21 Η εξάπλωση του τυχαίου δέντρου.

Πρέπει να τονισθεί ότι η κατασκευή του δέντρου διενεργείται με επαναλαμβανόμενες εξαπλώσεις, έως ότου το
υπό κατασκευή δέντρο πλησιάσει τον επιθυμητό στόχο. Ο αριθμός των επαναλήψεων είναι πεπερασμένος,
καθώς ο «σχεδιαστής» μπορεί να «παγιδευτεί» σε μια κατάσταση ατέρμονα βρόγχου, αν ο στόχος βρίσκεται σε
«δυσπρόσιτο» σημείο. Σε αυτήν την περίπτωση θεωρείται ότι δεν μπορεί να προταθεί μια διαδρομή η οποία
ενώνει το αρχικό και τελικό σημείο. Ο αλγόριθμος 3.3 παρουσιάζει ενδεικτικά τη ροή κατασκευής του δέντρου.
Είσοδος:
𝓆0 : η διαμόρφωση η οποία αποτελεί την αρχή (ρίζα) του δέντρου
𝑛: ο αριθμός των επαναλήψεων (προσπαθειών επέκτασης) του δέντρου, ο οποίος ορίζεται από τον
«σχεδιαστή»
Έξοδος:
Ένα δέντρο (γράφος) 𝑇 = (𝑉, 𝐸 ), το οποίο έχει αρχή το 𝓆0 και αποτελείται από ≤ 𝑛 κόμβους
(διαμορφώσεις)
1. 𝑉 ← {𝓆0 }
2. 𝛦 → ∅
3. For i=1 έως 𝑛 do
4. 𝓆𝜏𝜐𝜒𝛼ί𝛼 ← ένας κόμβος (διαμόρφωση) τυχαία επιλεγμένος στο 𝒞𝑓𝑟𝑒𝑒
5. Επέκτεινε (Extend) το δέντρο (𝑇, 𝓆𝜏𝜐𝜒𝛼ί𝛼 )
6. End for
7. Return 𝑇
Η προσέγγιση ταχείας εξερεύνησης τυχαίων δέντρων είναι κατάλληλη για προβλήματα εύρεσης διαδρομής σε
περιβάλλοντα με εμπόδια και, ειδικότερα, όταν υπάρχουν διαφορικοί περιορισμοί για το ρομποτικό σύστημα,
αλλά και σε περιπτώσεις που απαιτούνται πολλοί βαθμοί ελευθερίας. Συνήθως, ένα δέντρο δεν είναι επαρκές
για να λύσει ένα πρόβλημα σχεδιασμού διαδρομής. Για τον λόγο αυτόν, συχνά θεωρείται ως ένα στοιχείο που
μπορεί να ενσωματωθεί στην ανάπτυξη μιας ποικιλίας διαφορετικών προσεγγίσεων για την εξερεύνηση χώρου.

Ηλίας Ξυδιάς 84
Στις Εικόνες 3.22, 3.23 3.24 παρουσιάζονται τρία στιγμιότυπα από τη δημιουργία του δέντρου κατά τη
10η, την 100ή και τη 1000ή επανάληψη, αντιστοίχως. Παρατηρούμε ότι το δέντρο που δημιουργείται
επεκτείνεται ομοιόμορφα στον χώρο εργασίας του ρομποτικού συστήματος, δηλαδή ο βαθμός πυκνότητας είναι
σχεδόν ίδιος σε όλες τις πλευρές του. Αυτή είναι η πιο σημαντική ιδιότητα της προσέγγισης και οφείλεται στο
γεγονός ότι κάθε νέος κόμβος συνδέεται με τον κοντινότερό του και όχι με τον τελευταίο που εισήχθη στο
δέντρο. Ένα δέντρο ταχείας εξερεύνησης μπορεί να θεωρηθεί ως μία μέθοδος τύπου Monte-Carlo, με στόχο
την κατευθυνόμενη αναζήτηση σε μεγάλες περιοχές Voronoi, οι οποίες σχηματίζονται από τους κόμβους του
δέντρου.

Εικόνα 3.22 Ανάπτυξη του δέντρου κατά τη 10η επανάληψη.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 85


Εικόνα 3.23 Ανάπτυξη του δέντρου κατά την 100ή επανάληψη.

Εικόνα 3.24 Ανάπτυξη του δέντρου κατά τη 1000ή επανάληψη.

3.4 Μέθοδος Silhouette


Σε αυτήν την ενότητα θα παρουσιάσουμε μία μέθοδο δημιουργίας γράφου για τον σχεδιασμό κίνησης
ρομποτικού συστήματος για χώρους διαμορφώσεων ανεξαρτήτως διάστασης, η οποία βασίζεται στην
επαναλαμβανόμενη προβολή του χώρου διαμορφώσεων σε χώρους μικρότερης διάστασης, έως ότου επιτευχθεί
μια μονοδιάστατη αναπαράσταση. Η μέθοδος Silhouette η οποία εισήχθη το 1987 από τον Canny 0, δημιουργεί

Ηλίας Ξυδιάς 86
ένα δίκτυο από ελεύθερες από συγκρούσεις διαδρομές στον 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ). Επίσης, είναι η μόνη πλήρης μέθοδος
(δηλ. μπορεί να εγγυηθεί ότι θα βρει μια λύση, αν υπάρχει) η οποία «τρέχει» σε εκθετικό χρόνο.
Η μέθοδος Silhouette μπορεί να χρησιμοποιηθεί για την επίλυση του βασικού προβλήματος σχεδιασμού
κίνησης με κατάλληλη παραμετροποίηση του χώρου των διαμορφώσεων 𝒞 και των προεκτάσεών του. Πιο
συγκεκριμένα, μπορεί να εφαρμοστεί σε οποιοδήποτε πρόβλημα στο οποίο ο σχεδιασμός διαδρομής μπορεί να
μειωθεί σε ένα συμπαγές ημι - αλγεβρικό σετ. Τέτοια προβλήματα σχετίζονται με τον σχεδιασμό διαδρομής σε
χώρους που ενεργούν πολλαπλά ρομποτικά συστήματα ή αρθρωτά ρομποτικά συστήματα.
Ας υποθέσουμε ότι 𝑆 = 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ) είναι ένα συμπαγές υποσύνολο του ℝ𝑚 , όπου 𝑚 είναι η διάσταση του
χώρου διαμορφώσεων 𝒞. Για να απλουστεύσουμε το παράδειγμα που θα παρουσιαστεί, ας υποθέσουμε ότι 𝑚 =
3 και το 𝑆 αναπαρίσταται από ένα ελλειψοειδές, το οποίο διαπερνάται από μία κυλινδρική οπή (Εικόνα 3.25).
𝑃𝑐 είναι ένα υπερ-επίπεδο διάστασης 𝑚 = 2, το οποίο είναι κάθετο στον άξονα 𝑥 και «σαρώνει» το 𝑆 στη
διεύθυνση 𝑥 (η επιλογή της διεύθυνσης είναι τυχαία, θα μπορούσε να είναι η διεύθυνση 𝑦 ή 𝑧). Στη συνέχεια,
θεωρούμε ένα σύνολο 𝑅, στο οποίο αποθηκεύονται όλα τα κρίσιμα σημεία που προκύπτουν από την τομή 𝑆 ∩
𝑃𝑐 (Εικόνα 3.26). Μόλις η σάρωση ολοκληρωθεί, τα κρίσιμα σημεία που έχουν προκύψει ενώνονται στο 𝑅 με
μια διαδρομές, οι οποίες κείνται στο 𝑆 ∩ 𝑃𝑐 και καλούνται καμπύλες Silhouette. Τέλος, στον χάρτη διαδρομών
𝑅 που προκύπτει, ενώνονται η αρχική και τελική διαμόρφωση του ρομποτικού συστήματος, τα οποία
καταχωρούνται ως κρίσιμα σημεία. Πρέπει να σημειωθεί ότι η διαδρομή που θα βρεθεί οδηγεί το ρομποτικό
σύστημα να κινείται κατά μήκος των ορίων των εμποδίων διαμορφώσεων (Εικόνα 3.27).

Εικόνα 3.25 Ο χώρος 𝑆 και το υπερ-επίπεδο 𝑃𝑐1 .

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 87


Εικόνα 3.26 Η «σάρωση» του 𝑆.

Εικόνα 3.27 Η τελική διαδρομή που ενώνει την αρχική με την τελική διαμόρφωση.

Ηλίας Ξυδιάς 88
Βιβλιογραφία/Αναφορές

[1] Hertzberg, J., & Kirchner, F. (2002). Landmark-based autonomous navigation in sewerage
pipes. Proceedings of the First Euromicro Workshop on Advanced Mobile Robots (EUROBOT ’96).
IEEE Comput. Soc. Press.
[2] Arras, K., Tomatis, N., Jensen, B., & Siegwart, R. (2001). Multisensor on-the-fly localization: Precision and
reliability for applications. Robotics and Autonomous Systems, 34(2–3).
[3] Nils, J., Nilsson. (1969). A mobile automaton: An application of artificial intelligence techniques.
Proceedings of the 1st International Conference on Artificial Intelligence, pages 509–520.
[4] Welzl, E. (1985). Constructing the visibility graph for n-line segments in O(n2) time. Information Processing
Letters, 20(4), 167–171.
[5] (1908). Nouvelles applications des paramètres continus à la théorie des formes quadratiques. Premier
mémoire. Sur quelques propriétés des formes quadratiques positives parfaites. Journal Für Die Reine
Und Angewandte Mathematik. [Crelle’s Journal], 1908(133), 97–102.
[6] Εμίρης Γ. (2008). Υπολογιστική Γεωμετρία: Μια Σύγχρονη Αλγοριθμική Προσέγγιση. Εκδόσεις Κλειδάριθμος
ΕΠΕ.
[7] Fortune, S. (1987). A sweep line algorithm for Voronoi diagrams. Algorithmica. An International Journal in
Computer Science, 2(1–4), 153–174.
[8] LaValle, S. M. (2009). Planning Algorithms. Cambridge University Press.
[9] Kavraki, L. E., Svestka, P., Latombe, J.-C., & Overmars, M. H. (1996). Probabilistic roadmaps for path
planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation:
A Publication of the IEEE Robotics and Automation Society, 12(4), 566–580.
[10] LaValle, S. M. 1998b. Rapidly-exploring random trees: A new tool for path planning. Report No. TR 98-
11, Computer Science Department, Iowa State University. Availlable at
http://janowiec.cs.iastate.edu/papers/rrt.p
[11] Canny, J., & Reif, J. (1987). New lower bound techniques for robot motion planning problems. 28th Annual
Symposium on Foundations of Computer Science (Sfcs 1987).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 89


Ασκήσεις

1. Εφαρμόστε τη μέθοδο του γραφήματος ορατότητας για έναν δύο διαστάσεων πολυγωνικό χώρο
διαμορφώσεων.
2. Δοσμένης της αρχικής και τελικής θέσης για ένα σημειακό ρομποτικό σύστημα, το οποίο καλείται να
κινηθεί σε έναν δύο διαστάσεων πολυγωνικό χώρο διαμορφώσεων (Εικόνα 3.28), να γράψετε
πρόγραμμα που να σχεδιάζει τη βέλτιστη διαδρομή (ως προς το μήκος) που ενώνει τα δύο σημεία,
χρησιμοποιώντας τη μέθοδο του γράφου ορατότητας.

Εικόνα 3.28 Ο δύο διαστάσεων πολυγωνικός χώρος διαμορφώσεων.

3. Να συγκρίνετε τα πλεονεκτήματα και τα μειονεκτήματα της μεθόδου γράφου ορατότητας και της
μεθόδου του διαγράμματος Voronoi, για τον σχεδιασμό της διαδρομής ενός σημειακού ρομποτικού
συστήματος που καλείται να κινηθεί ανάμεσα σε πολυγωνικά εμπόδια.
4. Να κατασκευαστεί το διάγραμμα Voronoi για ένα σύνολο 15 σημείων, τα οποία κείνται στο επίπεδο.
5. Να κατασκευαστεί το διάγραμμα Voronoi σε έναν δύο διαστάσεων πολυγωνικό χώρο διαμορφώσεων.
6. Οι εφαρμογές των διαγραμμάτων Voronoi αγγίζουν σήμερα πολλούς και διαφορετικούς τομείς των
επιστημών και της τεχνολογίας. Να αναφέρετε πιθανές εφαρμογές των διαγραμμάτων Voronoi στους
παραπάνω τομείς.
7. Να υλοποιήσετε τον αλγόριθμο Fortune για ένα σύνολο σημείων 15 τα οποία κείνται στο επίπεδο.
8. Ας υποθέσουμε έναν επίπεδο ρομποτικό βραχίονα με περιστροφικές αρθρώσεις, ο οποίος είναι
τοποθετημένος σε χώρο που περιέχει ένα κυκλικό εμπόδιο. Να λύσετε το πρόβλημα σχεδιασμού
κίνησης για να μπορέσει το άκρο εργασίας του βραχίονα να κινηθεί από ένα δοσμένο αρχικό σημείο
σε ένα δοσμένο τελικό σημείο, αποφεύγοντας την επαφή με τα εμπόδια (Εικόνα 3.29). Για να το
υλοποιήσετε, να γράψετε ένα πρόγραμμα το οποίο πρέπει να διαβάζει ένα αρχείο που περιέχει τη θέση
της βάσης του ρομπότ, το μήκος των συνδέσμων και το κέντρο και την ακτίνα του κυκλικού εμποδίου.

Ηλίας Ξυδιάς 90
Εικόνα 3.29 Ο ρομποτικός βραχίονας και ο χώρος εργασίας του.

9. Γράψτε ένα πρόγραμμα για τον υπολογισμό του χώρου διαμορφώσεων ενός ρομποτικού βραχίονα, ο
οποίος έχει μια περιστροφική άρθρωση και μία πρισματική και καλείται να εργαστεί σε ένα πολυγωνικό
περιβάλλον. Το πρόγραμμα πρέπει να διαβάζει σε ένα αρχείο που περιέχει τη θέση της βάσης του
ρομπότ, το μήκος των συνδέσμων και τις λίστες κορυφών που αντιπροσωπεύουν τα εμπόδια. Ο χώρος
εργασίας είναι ο διδιάστατος Ευκλείδειος χώρος. Στη συνέχεια, να γράψετε πρόγραμμα που μπορεί να
σχεδιάσει τη διαδρομή που πρέπει να ακολουθήσει το άκρο του για να μετακινηθεί από ένα αρχικό
σημείο σε ένα τελικό σημείο, χρησιμοποιώντας τη μέθοδο των στοχαστικών χαρτών.
10. Γράψτε πρόγραμμα το οποίο, σε έναν γράφο ορατότητας που έχει κατασκευαστεί για έναν δύο
διαστάσεων χώρο με πολυγωνικά εμπόδια, να μπορεί να εντοπίζει τις γραμμές στήριξης (supporting
lines) και διαχωρισμού (separating lines).
11. Ας υποθέσουμε τον δύο διαστάσεων πολυγωνικό χώρο διαμορφώσεων της Εικόνας 3.30. Δοθείσας της
αρχικής και τελικής θέσης για ένα σημειακό ρομποτικό σύστημα, να σχεδιάσετε τη συντομότερη
διαδρομή που ενώνει τα δύο σημεία, χρησιμοποιώντας τη μέθοδο των στοχαστικών χαρτών και τη
μέθοδο των τυχαίων δέντρων ταχείας εξερεύνησης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 91


Εικόνα 3.30 Ο δύο διαστάσεων πολυγωνικός χώρος διαμορφώσεων.

Ηλίας Ξυδιάς 92
Κεφάλαιο 4ο
Κατάτμηση σε Κελιά

Σύνοψη
Σε αυτό το κεφάλαιο θα παρουσιαστεί μια ακόμη προσέγγιση για τον σχεδιασμό κίνησης ενός ρομποτικού
συστήματος, η οποία καλείται αποσύνθεση σε κελιά ή μέθοδος πλέγματος. Σε αυτήν την κατηγορία ανήκουν οι
μεθοδολογίες οι οποίες βασίζονται στην αποσύνθεση του ελεύθερου από συγκρούσεις χώρου διαμορφώσεων του
ρομποτικού συστήματος σε περιοχές οι οποίες καλούνται κελιά (cells). Στη συνέχεια, ένας μη κατευθυνόμενος
γράφος, που αναπαριστά τη σχέση γειτνίασης μεταξύ των κελιών, κατασκευάζεται και, ακολούθως, ερευνάται.
Κόμβοι του γράφου είναι τα παραγόμενα κελιά. Δύο κόμβοι ενώνονται μεταξύ τους με μια ακμή, αν και μόνο αν
τα αντίστοιχα κελιά είναι γειτονικά. Το αποτέλεσμα της αναζήτησης του γράφου είναι μια ακολουθία κελιών η
οποία καλείται κανάλι. Μια συνεχής ελεύθερη διαδρομή μπορεί να υπολογιστεί χρησιμοποιώντας το παραγόμενο
κανάλι. Οι μέθοδοι, οι οποίες βασίζονται στην αποσύνθεση σε κελιά ταξινομούνται σε τρεις βασικές κατηγορίες:
στην Ακριβή (Exact), στην Προσεγγιστική (Approximate) και στην Προσαρμοστική (Adaptive).

Προαπαιτούμενη γνώση
Υπολογιστική Γεωμετρία.

Εισαγωγή
Όπως έχει ειπωθεί και στα προηγούμενα κεφάλαια, για έναν «σχεδιαστή» διαδρομών, ο τρόπος της απεικόνισης
του χώρου στον οποίο καλείται να εργαστεί ένα ρομποτικό σύστημα επιδρά καθοριστικά στην αποδοτικότητα
και την ποιότητα της τελικής διαδρομής. Οι προσεγγίσεις οι οποίες βασίζονται στην αποσύνθεση σε κελιά,
αναπαριστούν τον χώρο ως ένα πλέγμα κόμβων και προσδιορίζουν το μονοπάτι που πρόκειται να ακολουθηθεί
μέσα σε αυτό. Το πλέγμα δομείται από την επανάληψη απλών σχημάτων, για παράδειγμα τετραγώνων ή
εξαγώνων. Με αυτόν τον τρόπο, η περιοχή διερεύνησης ανάγεται σε έναν απλό διδιάστατο πίνακα. Κάθε
στοιχείο του πίνακα αποτελεί έναν κόμβο του πλέγματος και αντιστοιχεί σε μια θέση στον φυσικό χώρο. Η
κατάσταση κάθε κόμβου μπορεί να χαρακτηριστεί ως προσπελάσιμη ή μη-προσπελάσιμη, ανάλογα με το αν
υπάρχει εμπόδιο σε αυτήν τη θέση ή όχι. Από άποψη μετακίνησης, ο κόμβος αποτελεί τη βασική μονάδα
κίνησης ή, διαφορετικά, το βήμα.
Η αποσύνθεση (ή κατάτμηση) σε κελιά είναι μια εδραιωμένη κατηγορία μεθόδων επίλυσης του
προβλήματος σχεδιασμού κίνησης για ένα ρομποτικό σύστημα. Το πρωταρχικό βήμα αυτών των αλγορίθμων
είναι να αποσυνθέτουν τον ελεύθερο από συγκρούσεις χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 σε ένα σύνολο μη
επικαλυπτόμενων περιοχών 𝒦, που ονομάζονται κελιά. Το σχήμα αυτών των κελιών μπορεί να είναι αυθαίρετο,
αλλά πρέπει να είναι τέτοιο ώστε να είναι κυρτά και ελεύθερα από εμπόδια. Οι προσεγγίσεις που έχουν
αναπτυχθεί για τον σχεδιασμό κίνησης και βασίζονται στη μέθοδο της αποσύνθεσης σε κελιά μπορούν να
κατηγοριοποιηθούν σε δύο βασικές κατηγορίες 0, 0: τις ακριβείς και τις προσεγγιστικές. Κατά την ακριβή
αποσύνθεση σε κελιά (Exact Cell Decomposition), η ένωση των κελιών 𝒦 συνθέτει επακριβώς τον ελεύθερο
από συγκρούσεις χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 , δηλ. ∪ 𝒦 = 𝒞𝑓𝑟𝑒𝑒 . Η ακριβής αποσύνθεση σε κελιά έχει
μελετηθεί λεπτομερώς, καθώς πρόκειται για μια πλήρη μέθοδο σχεδιασμού κίνησης. Ωστόσο, η αποσύνθεση
ενός 𝒞𝑓𝑟𝑒𝑒 δεν είναι πάντα μια υπολογιστικά ρεαλιστική διαδικασία, καθώς η πολυπλοκότητα μιας τέτοιας
αποσύνθεσης αυξάνεται δραστικά με τη διάσταση και το μέγεθος του χώρου εργασίας στον οποίο καλείται να
λειτουργήσει το ρομποτικό σύστημα. Αυτό έχει ως αποτέλεσμα, η ακριβής αποσύνθεση σε κελιά να
περιορίζεται συνήθως σε προβλήματα που περιέχουν επίπεδα ή κυρτά πολυεδρικά εμπόδια ή σε περιπτώσεις
ρομποτικών συστημάτων τα οποία κινούνται χωρίς να περιστρέφονται.
Η προσεγγιστική αποσύνθεση σε κελιά κατατμίζει τον ελεύθερο χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 του
ρομποτικού συστήματος σε ένα σύνολο κυρτών κελιών, μη επικαλυπτόμενων πολυγώνων, προκαθορισμένου
σχήματος (π.χ. ορθογώνια). Η ένωση των κελιών περιλαμβάνεται αυστηρά στον ελεύθερο χώρο. Οι
μεθοδολογίες που βασίζονται στην προσεγγιστική αποσύνθεση σε κελιά περιλαμβάνουν επαναληπτικό απλό

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 93


υπολογισμό, επομένως είναι πολύ πιο εύκολο να εφαρμοστούν από τις ακριβείς μεθόδους, αλλά είναι ελλιπείς,
καθώς μπορεί να αποτύχουν να βρουν μια ελεύθερη διαδρομή, εάν υπάρχει.
Μετά την αποσύνθεση σε κελιά, και στις δύο περιπτώσεις, κατασκευάζεται ένας μη κατευθυνόμενος
γράφος, του οποίου οι κόμβοι αναπαριστούν τα κελιά και οι ακμές δηλώνουν τη σχέση γειτνίασης μεταξύ των
κελιών. Με αυτόν τον τρόπο, ο σχεδιασμός κίνησης μετατρέπεται σε ένα πρόβλημα εύρεσης μιας ακολουθίας
κελιών (γνωστής ως κανάλι) που συνδέει το κελί που περιέχει την αρχική διαμόρφωση με το κελί που περιέχει
την τελική (επιθυμητή) διαμόρφωση του ρομποτικού συστήματος. Η προτεινόμενη διαδρομή (λύση του
προβλήματος) στη συνέχεια εξάγεται από αυτό το κανάλι.
Υποθέτοντας ότι η αποσύνθεση χώρου διαμορφώσεων έχει γίνει και έχει κατασκευαστεί, ο σχεδιασμός
διαδρομής γίνεται συνήθως σε δύο βήματα:
• Αρχικά, ένας αλγόριθμος καθορίζει τα κελιά που περιέχουν την αρχική διαμόρφωση και την
τελική διαμόρφωση, αντίστοιχα.
• Στη συνέχεια, πραγματοποιείται αναζήτηση για ένα κανάλι, δηλαδή μία αλληλουχία από κόμβους
του γράφου, που συνδέει τα κελιά που περιέχουν την αρχική και τελική διαμόρφωση,
αντιστοίχως, στον κατασκευασμένο μη κατευθυνόμενο γράφο.
Τα τελευταία χρόνια έχουν αναπτυχθεί αρκετές μεθοδολογίες που βασίζονται στην αποσύνθεση του 𝒞𝑓𝑟𝑒𝑒 σε
κελιά, όπως,
• Η ακριβής αποσύνθεση σε κελιά (Exact Cell Decomposition).
• H προσεγγιστική αποσύνθεση σε κελιά (Approximate Cell Decomposition).
• H προσαρμοστική αποσύνθεση σε κελιά (Adaptive Cell Decomposition), η οποία αποτελεί
εξέλιξη της προσεγγιστικής αποσύνθεσης σε κελιά.

4.1 Ακριβής Αποσύνθεση σε Κελιά


Στην ακριβή αποσύνθεση σε κελιά, το σχήμα και το μέγεθος των κελιών 𝒸𝑖 , 𝑖 = 1, … , 𝑛, όπου 𝑛 το πλήθος των
παραγόμενων κελιών, εξαρτάται από τον χώρο, στον οποίο καλείται να εργαστεί το ρομποτικό σύστημα, καθώς
και από τη θέση και το σχήμα των εμποδίων εντός αυτού του χώρου. Με βάση τη διάσταση του χώρου εργασίας
και τη γεωμετρία των εμποδίων, έχουν αναπτυχθεί πολλές μέθοδοι για την αποσύνθεση του 𝒞𝑓𝑟𝑒𝑒 . Η πιο
διαδεδομένη ακριβής αποσύνθεση σε κελιά είναι η κάθετη (vertical) ή τραπεζοειδής (trapezoidal) αποσύνθεση
σε κελιά (Εικόνα 4.1).

Εικόνα 4.1 Η κάθετη (ή τραπεζοειδής) αποσύνθεση σε κελιά.

Ηλίας Ξυδιάς 94
Αυτή η μέθοδος εφαρμόζεται κυρίως σε 2 διαστάσεων χώρους διαμορφώσεων που περιέχουν πολυγωνικά
εμπόδια διαμορφώσεων. Ο αλγόριθμος που χρησιμοποιείται για την αποσύνθεση του ελεύθερου χώρου
διαμορφώσεων του ρομποτικού συστήματος είναι ο Sweep Line Algorithm 0. O Sweep Line Algorithm σαρώνει
τον χώρο διαμόρφωσης με μια γραμμή κατακόρυφης ή οριζόντιας κατεύθυνσης και δημιουργεί ένα κομμάτι
(slice) όταν η γραμμή, κατά τη σάρωση, συναντά μία κορυφή ενός εμποδίου. Μετά το πέρας της αποσύνθεσης
του χώρου, δημιουργείται ένας μη-κατευθυνόμενος γράφος (Εικόνα 4.2).

Εικόνα 4.2 Ο αντίστοιχος μη κατευθυνόμενος γράφος και το παραγόμενο κανάλι το οποίο απεικονίζεται με κόκκινο
χρώμα.

Στη συνέχεια, με τη χρήση κατάλληλου αλγορίθμου, γίνεται αναζήτηση στον κατασκευασμένο γράφο για μια
διαδρομή που συνδέει την αρχική με την τελική διαμόρφωση. Το αποτέλεσμα της αναζήτησης είναι μια
ακολουθία κόμβων και όχι μια ακολουθία διαμορφώσεων στο 𝒞𝑓𝑟𝑒𝑒 που θα αποτελούσαν τη διαδρομή για το
ρομποτικό σύστημα. Ένας συνήθης τρόπος για τη δημιουργία της διαδρομής είναι η σύνδεση των μέσων των
κοινών ακμών κάθε τραπεζοειδούς (κελιού) που ανήκουν στον κανάλι, ώστε να συνδεθεί η αρχική και τελική
διαμόρφωση (Εικόνα 4.3).

Εικόνα 4.3 Η παραγόμενη διαδρομή που συνδέει την αρχική με την τελική διαμόρφωση.

Ένα μειονέκτημα της τραπεζοειδούς αποσύνθεσης σε κελιά είναι ότι σχηματίζονται πολλά μικρά κελιά που,
φαινομενικά, μπορούν να ενσωματωθούν με γειτονικά κελιά. Αυτή η αναδιοργάνωση/σύμπτυξη των κελιών

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 95


μπορεί να οδηγήσει σε μια διαδρομή για το ρομποτικό σύστημα η οποία είναι μικρότερη και πιο
αποτελεσματική. Για την αντιμετώπιση αυτού του ζητήματος, εισήχθη η Boustrophedon Αποσύνθεση σε κελιά
0. Κατά την Boustrophedon αποσύνθεση, τα κελιά σχηματίζονται λαμβάνοντας υπόψη τις κορυφές των
εμποδίων στις οποίες η κατακόρυφη γραμμή που σαρώνει τον χώρο διαμορφώσεων μπορεί να επεκταθεί τόσο
πάνω όσο και κάτω στον 𝒞𝑓𝑟𝑒𝑒 (Εικόνα 4.4). Οι κορυφές των εμποδίων που χρησιμοποιούνται για την
αποσύνθεση του χώρου καλούνται «κρίσιμα σημεία» (critical points). Μετά το πέρας της Boustrophedon
Αποσύνθεσης, δημιουργείται ένας μη-κατευθυνόμενος γράφος, που δείχνει τη σχέση γειτνίασης μεταξύ των
κελιών (Εικόνα 4.5). Στη συνέχεια, χρησιμοποιώντας έναν depth-first search αλγόριθμο 0, δημιουργείται μια
διαδρομή που επισκέπτεται όλους τους κόμβους του γράφου και είναι γνωστή ως exhaustive walk. Τέλος, η
διαδρομή σε κάθε κελί αποτελείται από μια επαναλαμβανόμενη ακολουθία τμημάτων ευθείας γραμμής που
διαχωρίζονται από το πλάτος ενός ρομποτικού συστήματος και μικρά τμήματα που συνδέουν τα τμήματα
ευθείας γραμμής. Συνήθως, αυτά τα μικρά τμήματα ακολουθούν τα όρια του περιβάλλοντος (Εικόνα 4.6).

Εικόνα 4.4 Η Boustrophedon Αποσύνθεση σε κελιά και τα αντίστοιχα κρίσιμα σημεία.

Εικόνα 4.5 Ο μη-κατευθυνόμενος γράφος.

Ηλίας Ξυδιάς 96
Εικόνα 4.6 Η διαδρομή Boustrophedon.

Γενικά, η Ακριβής Αποσύνθεση σε κελιά χαρακτηρίζεται ως πλήρης, στην περίπτωση βέβαια κατά την οποία
και ο χώρος διαμορφώσεων των εμποδίων αναπαρίσταται πλήρως. Όσον αφορά στην ποιότητα της λύσης που
αποδίδει η ακριβής αποσύνθεση σε κελιά, πρέπει να σημειωθεί ότι δεν είναι η βέλτιστη. Αυτό συμβαίνει διότι
τα κελιά μιας ακριβούς αποσύνθεσης είναι συνήθως αρκετά μεγάλου μεγέθους (εξαρτάται από τον χώρο των
εμποδίων διαμορφώσεων). Έτσι, η εκχώρηση κόστους σε ένα κελί μπορεί να μην έχει το επιθυμητό αποτέλεσμα
μιας βέλτιστης διαδρομής υπό την έννοια αυτού του κόστους, π.χ. η βέλτιστη διαδρομή ως προς το μήκος της.
Τέλος, η υπολογιστική πολυπλοκότητα της προσέγγισης εξαρτάται από τον αριθμό των κορυφών των εμποδίων
διαμορφώσεων και είναι 𝛰(𝛮𝑙𝑜𝑔𝑁) 0.

4.2 Προσεγγιστική Αποσύνθεση σε Κελιά


Σε αντίθεση με την Ακριβή Αποσύνθεση σε κελιά, στην Προσεγγιστική Αποσύνθεση σε κελιά τα όρια των
εμποδίων δεν συμπίπτουν απαραίτητα με τα όρια των κελιών που προκύπτουν κατά την αποσύνθεση. Ο χώρος
των διαμορφώσεων 𝒞 του ρομποτικού συστήματος αποσυντίθεται σε κελιά με προκαθορισμένο μέγεθος και
σχήμα (Εικόνα 4.7).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 97


Εικόνα 4.7 Αποσύνθεση του χώρου σε τετραγωνικά κελιά.

Τα συνηθέστερα σχήματα των κελιών που χρησιμοποιούνται για την αποσύνθεση του χώρου είναι
τετραγωνικής και ορθογώνιας μορφής. Η ένωση αυτών των κελιών προσεγγίζει μόνο το 𝒞. Όταν ένα κελί
περιέχει ένα αντικείμενο, επισημαίνεται ως εμπόδιο. Διαφορετικά θεωρείται ελεύθερος χώρος (Εικόνα 4.8). Το
κέντρο κάθε κελιού γίνεται ένας κόμβος στον μη-κατευθυνόμενο γράφο που δημιουργείται, ο οποίος στην
συνέχεια ελέγχεται για να προσδιοριστεί μια διαδρομή, αν υπάρχει. Επίσης, υποτίθεται ότι μόλις το ρομποτικό
σύστημα εισέλθει σε ένα κελί, τότε θεωρείται ότι έχει καλύψει ολόκληρο το κελί στο οποίο βρίσκεται.

Εικόνα 4.8 Αποσύνθεση του χώρου σε τετραγωνικά κελιά.

Ηλίας Ξυδιάς 98
Πρέπει να σημειωθεί ότι κατά την προσεγγιστική αποσύνθεση σε κελιά ένα ρομποτικό σύστημα είναι
υποχρεωμένο να κινείται σε ευθύγραμμες διευθύνσεις, π.χ. σε ένα διδιάστατο περιβάλλον ένα ρομποτικό
σύστημα μπορεί να κινείται στις τέσσερις βασικές διευθύνσεις (4-connected): Πάνω, Κάτω, Αριστερά και Δεξιά
(Εικόνα 4.9) ή να επιτρέπονται επιπλέον και οι διαγώνιες διευθύνσεις (8-connected) (Εικόνα 4.10).

Εικόνα 4.9 4-connected.

Εικόνα 4.10 8-connected.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 99


Η αποσύνθεση του χώρου σε τετράγωνα απαντάται στην πλειονότητα των εφαρμογών που σχετίζονται με τον
σχεδιασμό κίνησης ενός ρομποτικού συστήματος, κυρίως λόγω της ευχρηστίας του. Ένα άλλο είδος πλέγματος
που χρησιμοποιείται για την αποσύνθεση του χώρου είναι το εξαγωνικό, δηλαδή τα κελιά να έχουν εξαγωνικό
σχήμα, 0,0. Στην Εικόνα 4.11 παρουσιάζεται ένας χώρος 𝒞, ο οποίος περιέχει ένα πολυγωνικό εμπόδιο
σχήματος ορθογωνίου (με μαύρο περίγραμμα) και την αντίστοιχη αποσύνθεση του χώρου σε εξαγωνικά κελιά.
Επίσης, με κόκκινα χρώμα έχουν χρωματιστεί τα κελιά στα οποία κείται το εμπόδιο.

Εικόνα 4.11 Αποσύνθεση του χώρου 𝒞 σε εξαγωνικά κελιά.

Το πλεονέκτημα έναντι των τετραγωνικών κελιών είναι ότι η απόσταση μεταξύ όλων των γειτονικών κόμβων
σε ένα εξαγωνικό πλέγμα είναι η ίδια, ενώ στην περίπτωση του τετραγωνικού πλέγματος η απόσταση διαφέρει
για την κίνηση σε οριζόντιο και κάθετο επίπεδο από την κίνηση ανάμεσα σε κόμβους που γειτνιάζουν
διαγωνίως.
Ένας ακόμα τρόπος για την αποσύνθεση του ελεύθερου χώρου διαμορφώσεων είναι με τη χρήση
πολυγωνικού πλέγματος, 0. Το πολυγωνικό πλέγμα αποτελείται από κόμβους των οποίων η μορφή είναι
ακανόνιστη και δεν επαναλαμβάνεται (Εικόνα 4.12). Για αυτόν τον λόγο, οι αλγόριθμοι που έχουν αναπτυχθεί
για τον προσδιορισμό της κίνησης χρησιμοποιούν τις επιφάνειες, τις ακμές ή τις κορυφές κελιών και όχι τις
συντεταγμένες τους. Αυτό συμβαίνει διότι οι αποστάσεις μεταξύ των κέντρων των κελιών δεν είναι σταθερές.

Ηλίας Ξυδιάς 100


Εικόνα 4.12 Αποσύνθεση του χώρου 𝒞 σε εξαγωνικά κελιά.

Τέλος, στην περίπτωση που ο χώρος 𝒞 του ρομποτικού συστήματος είναι τριδιάστατος, η συνηθέστερη επιλογή
για το σχήμα των κελιών είναι η τριγωνική. Αυτό συμβαίνει διότι, το τρίγωνο είναι το μόνο σχήμα που
παραμένει επίπεδο, ενώ όλα τα υπόλοιπα στρεβλώνονται. Το μεγάλο τους όμως μειονέκτημα είναι ότι η
επιφάνεια ενός τριγωνικού κελιού είναι μικρή που σημαίνει ότι το ρομποτικό σύστημα είναι δύσκολο να
τοποθετηθεί μέσα σε ένα κελί. Στην Εικόνα 4.13 απεικονίζεται ένα παράδειγμα αποσύνθεσης ενός διδιάστατου
χώρου 𝒞, ο οποίος περιέχει ένα πολυγωνικό εμπόδιο σε σχήμα ορθογωνίου (μαύρη κλειστή γραμμή) σε
τριγωνικά κελιά.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 101
Εικόνα 4.13 Αποσύνθεση του χώρου 𝒞 σε τριγωνικά κελιά.

Γενικά, παρόλο που η προσεγγιστική αποσύνθεση σε κελιά είναι εύκολο να εφαρμοστεί, υπάρχουν τα ακόλουθα
μειονεκτήματα:
• Στην περίπτωση κατά την οποία ένα εμπόδιο είναι πολύ μικρότερο από τη διάσταση του κελιού,
οδηγεί στον χαρακτηρισμό ολόκληρου του κελιού ως δεσμευμένου. Αυτό έχει ως αποτέλεσμα να
μειώνεται ο ελεύθερος χώρος διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 στον οποίο μπορεί να κινηθεί το ρομποτικό
σύστημα.
• Στην αντίθετη περίπτωση, κατά την οποία επιλέγεται το μέγεθος των κελιών να είναι μεγάλο, με
αποτέλεσμα να έχουμε μια «χονδροειδή» ανάλυση του πλέγματος, μπορεί η προσέγγισή μας να
μην είναι πλήρης, δηλαδή δεν μπορεί να εγγυηθεί την εύρεση λύσης (διαδρομής), ακόμα και αν
αυτή υπάρχει.

4.3 Προσαρμοστική Αποσύνθεση σε Κελιά


Η εξέλιξη της Προσεγγιστικής Αποσύνθεσης σε κελιά (Approximate Cell Decomposition) είναι η
Προσαρμοστική Αποσύνθεση σε κελιά (Adaptive Cell Decomposition), η οποία, όπως και στην περίπτωση της
προσεγγιστικής αποσύνθεσης σε κελιά, αντί να εντοπίζει αντικείμενα ή σχήματα, «δειγματίζει» τον χώρο
διαμορφώσεων 𝒞 του ρομποτικού συστήματος. Στην περίπτωση της Προσαρμοστικής Αποσύνθεσης σε κελιά,
κατά την αποσύνθεση του 𝒞, δημιουργούνται τρεις τύποι κελιών (Εικόνα 4.14):
• Ελεύθερα κελιά, των οποίων το εσωτερικό βρίσκεται εντελώς εντός του 𝒞𝑓𝑟𝑒𝑒 (αναπαρίστανται
με λευκά κελιά στην Εικόνα 4.14).
• Μεικτά κελιά, τα οποία βρίσκονται και στο 𝒞𝑓𝑟𝑒𝑒 και στο 𝒞𝒪 (αναπαρίστανται με γκρι κελιά στην
Εικόνα 4.14).
• Δεσμευμένα (occupied) κελιά, των οποίων το εσωτερικό βρίσκεται εξολοκλήρου εντός 𝒞𝒪
(αναπαρίστανται με μαύρα κελιά στην Εικόνα 4.14).

Ηλίας Ξυδιάς 102


Εικόνα 4.14 Προσεγγιστική αποσύνθεση σε κελιά.

Μετά το πέρας της Προσαρμοστικής Αποσύνθεσης σε κελιά, κατασκευάζεται ένας μη κατευθυνόμενος γράφος,
του οποίου οι κόμβοι είναι τα ελεύθερα ή μεικτά κελιά, ενώ οι ακμές του δείχνουν τη σχέση γειτνίασης μεταξύ
αυτών των κελιών. Στη συνέχεια αναζητείται μια διαδρομή «κανάλι», το οποίο ενώνει την αρχική και τελική
διαμόρφωση.
Όπως αναφέρθηκε στην αρχή της ενότητας, η συνηθέστερη επιλογή μεθόδου αποσύνθεσης του χώρου 𝒞
είναι το τετραγωνικό πλέγμα. Η έμπνευση για αυτόν τον τύπο αποσύνθεσης προέρχεται από τα τετραδικά
δέντρα (quadtree) 0, ιεραρχικές αποσυνθέσεις που χρησιμοποιούνται κυρίως στην επιστήμη των υπολογιστών
για την οργάνωση δεδομένων ή την συμπίεση εικόνων. Ένα τετραδικό δέντρο προκύπτει από την αναδρομική
διαίρεση του χώρου αναπαράστασης σε υπο-περιοχές (φύλλα-κόμβους). Κάθε κόμβος μπορεί να έχει το πολύ
4 υπο-κόμβους και αντιστοιχεί σε ένα τετράγωνο (κελί) του περιβάλλοντος, το οποίο φέρει μια από τις
ακόλουθες ετικέτες:
• ελεύθερο
• μεικτό
• δεσμευμένο
Η βασική ιδέα αυτής της αποσύνθεσης είναι να διαχωριστεί αναδρομικά κάθε μεικτό τετράγωνο κελί, το οποίο
καλείται «γονέας», σε τέσσερα ίσα υπο-τετράγωνα, τα οποία καλούνται «παιδιά», διαιρώντας κάθε μία από τις
πλευρές του σε δύο ίσα μέρη, δημιουργώντας τετράγωνα-κελιά μικρότερου μεγέθους. Ένα κελί δεν χωρίζεται
σε μικρότερα είτε είναι ελεύθερο, είτε δεσμευμένο είτε μεικτό, εάν έχει διαστάσεις μικρότερες από μια
δεδομένη ακρίβεια. Σε αυτήν την περίπτωση το κελί δηλώνεται ως δεσμευμένο. Πρέπει να σημειωθεί ότι η
ακρίβεια επιλέγεται από τον χρήστη και συνήθως είναι όση το μέγεθος του ρομποτικού συστήματος. Με αυτόν
τον τρόπο, τα κελιά της αποσύνθεσης φέρουν τις εξής δύο ετικέτες:
• ελεύθερο
• δεσμευμένο
Στην Εικόνα 4.15 παρουσιάζεται ένα παράδειγμα στο οποίο ένα μεικτό κελί της Εικόνας 4.15 διαιρείται σε
τέσσερα υπο-τετράγωνα. Πρόκειται για μια διαδικασία η οποία πραγματοποιείται και επαναλαμβάνεται μέχρις
ότου το μέγεθος του κελιού (παιδιού) φτάσει στο επιθυμητό.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 103
Εικόνα 4.15 Το τετραδικό δέντρο.

Η Προσαρμοστική Αποσύνθεση σε κελιά μπορεί να εφαρμοστεί σε χώρους 𝒞 αυθαίρετης διάστασης. Για


παράδειγμα, σε τριδιάστατο χώρο μπορεί να χρησιμοποιηθεί ένα δέντρο με οκτώ φύλλα που ονομάζεται
οκταδικό δέντρο (octree), 0. Επίσης, μπορεί να εφαρμοστεί και σε περιπτώσεις όπου τα εμπόδια 𝒞𝒪 είναι
πολυγωνικά ή μη-πολυγωνικά, κυρτά ή μη-κυρτά.
Οι προσεγγίσεις σχεδιασμού κίνησης που βασίζονται στα τετραδικά δέντρα δεν μπορούν να εγγυηθούν
τον προσδιορισμό της συντομότερης διαδρομής, επειδή η αποσύνθεση του χώρου επηρεάζεται από τον τρόπο
που είναι τα εμπόδια τοποθετημένα στον χώρο εργασίας. Το πρόβλημα παρουσιάζεται κυρίως όταν ένα εμπόδιο
βρίσκεται πάνω ή κοντά στα όρια ενός τετραγώνου (κελιού). Για να γίνει κατανοητό το πρόβλημα εύρεσης της
βέλτιστης διαδρομής, στην Εικόνα 4.16 παρουσιάζεται είναι παράδειγμα, στο οποίο ο χώρος 𝒞 του ρομποτικού
συστήματος περιέχει ένα πολυγωνικό εμπόδιο, απεικονιζόμενο με μπλε χρώμα. Το ρομποτικό σύστημα
καλείται να μετακινηθεί από το αρχικό σημείο Α στο τελικό σημείο Τ. Κατά την εφαρμογή ενός αλγορίθμου
ευρετικής αναζήτησης, όπως είναι ο αλγόριθμος Α*, παρατηρούμε ότι αποδίδει ως λύση τη διαδρομή Α (μπλε
βέλη), ενώ η βέλτιστη διαδρομή είναι η διαδρομή Β (κόκκινα βέλη).

Εικόνα 4.16 Προσαρμοστική αποσύνθεση σε κελιά και η αποτυχία εύρεσης της συντομότερης διαδρομής.

Ηλίας Ξυδιάς 104


Προκειμένου να εξαλειφθούν αυτά τα προβλήματα, αναπτύχθηκε το 1995 από τους Chen και λοιπούς η δομή
framed - quadtree ή f-quadtree 0. Το f-quadtree συνδυάζει τα πλεονεκτήματα της αποσύνθεσης σε κελιά και
των τετραδικών δέντρων. Το f-quadtree έχει ιδιότητες παρόμοιες με αυτές του quadtree, εκτός από το ότι τα
κελιά με την υψηλότερη ανάλυση (το μέγεθος της ανάλυσης εξαρτάται από το φυσικό μέγεθος του ρομπότ)
τοποθετούνται στην περιφέρεια κάθε quadtree περιοχής (frames).
Ένα παράδειγμα f-quadtree αποσύνθεσης παρουσιάζεται στην Εικόνα 4.18, στην οποία αποσυντίθεται
σε κελιά το περιβάλλον της Εικόνας 4.17.

Εικόνα 4.17 Ένας δύο διαστάσεων χώρος διαμορφώσεων, ο οποίος περιέχει ένα 𝒞𝒪1 πολυγωνικού σχήματος.

Εικόνα 4.18 Η αντίστοιχη framed-quadtree κατάτμηση.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 105
Η λογική αυτού του τύπου δομής βασίζεται στην ακόλουθη παρατήρηση: Για ένα f-quad κελί, που περιέχει μια
μεγάλη περιοχή ελεύθερου χώρου διάφορου της αρχικής και της τελικής θέσης του ρομποτικού συστήματος,
πρέπει να «ασχολούμαστε» μόνο με τα σημεία μιας διαδρομής -εφόσον αυτή υπάρχει- που συνιστούν είσοδο
και έξοδο διαμέσου του συγκεκριμένου f-quad. Προφανώς, αυτά τα σημεία πρέπει να βρίσκονται στα όρια του
f-quad. Στη συνέχεια μπορεί να σχεδιαστεί μια διαδρομή μέσω του f-quad, συνδέοντας τα σημεία εισόδου και
εξόδου με ένα ευθύγραμμο τμήμα. Γενικά, αυτή η αναπαράσταση επιτρέπει πολλές γωνίες κατεύθυνσης, έναντι
των οκτώ στην περίπτωση του τετραγωνικού πλέγματος. Με αυτόν τον τρόπο μπορεί να δημιουργηθεί διαδρομή
που να προσεγγίζει τη βέλτιστη.
Τα χαρακτηριστικά της Προσαρμοστικής Αποσύνθεσης σε κελιά είναι τα εξής:
• Η προσεγγιστική αποσύνθεση σε κελιά δεν είναι πλήρης, δηλαδή δεν μπορεί να εγγυηθεί ότι
μπορεί να βρει μια λύση (διαδρομή), ακόμα και αν αυτή υπάρχει. Οι πιθανότητες για την εύρεση
μιας λύσης, αν υπάρχει, αυξάνονται, όσο αυξάνεται το επίπεδο αποσύνθεσης, και για αυτόν τον
λόγο καλείται resolution complete.
• Η ποιότητα της λύσης εξαρτάται από το επίπεδο της αποσύνθεσης. Όσο μεγαλύτερη είναι η
αποσύνθεση, τόσο η λύση τείνει να γίνει η βέλτιστη.
• Η υπολογιστική πολυπλοκότητα της προσεγγιστικής αποσύνθεσης σε κελιά είναι εκθετική στην
διάσταση του χώρου 𝒞 και ορίζεται ως 𝛰(𝛮 𝐷 ), όπου 𝛮 είναι ο αριθμός των κόμβων ο οποίος
εξαρτάται από την ανάλυση του πλέγματος.

4.4 Κίνηση Ρομποτικού Συστήματος (Μετασχηματισμός Συντεταγμένων)


Όπως έχει αναφερθεί στις προηγούμενες ενότητες, για να μπορέσει ένα ρομποτικό σύστημα να κινηθεί στον
χώρο εργασίας του, θα πρέπει πρώτα σε συνθήκες προσομοίωσης να αναπαρασταθεί ο χώρος στον οποίο
καλείται να εργασθεί. Στην περίπτωση που ο χώρος αναπαρίσταται με τη χρήση της προσέγγισης αποσύνθεσης
σε κελιά, δηλαδή με τη χρήση ενός πλέγματος, αφού προσδιοριστεί η διαδρομή που θα ακολουθήσει, θα πρέπει
να μετατραπούν οι συντεταγμένες του πλέγματος σε συντεταγμένες φυσικού χώρου. Ο μετασχηματισμός αυτός
λαμβάνει χώρα σε σημεία, καθένα εκ των οποίων παριστάνει τη θέση του ρομποτικού συστήματος. Κατά τον
μετασχηματισμό από τις συντεταγμένες πλέγματος σε αυτές του φυσικού χώρου, συνήθως μετασχηματίζονται
τα κέντρα των κελιών του πλέγματος. Ακολουθεί η περιγραφή της διαδικασίας μετασχηματισμού για την
περίπτωση του τετραγωνικού και του εξαγωνικού πλέγματος, μιας και είναι οι πιο διαδεδομένες μορφές κελιών
που χρησιμοποιούνται για την αποσύνθεση σε κελιά.

4.4.1 Τετραγωνικό Πλέγμα


Στην περίπτωση που κατά την αποσύνθεση σε κελιά χρησιμοποιούνται κελιά τετραγωνικού σχήματος, τότε,
εάν η πλευρά του κελιού έχει μήκος 𝑠 και οι ακμές του είναι παράλληλες με τους άξονες 𝑥 και 𝑦, για να
προκύψουν οι συντεταγμένες του φυσικού χώρου πολλαπλασιάζεται το 𝑠 με τις συντεταγμένες κάθε κορυφής.
Κατά την αντίστροφη διαδικασία, δηλαδή για τη μετάβαση από το πλέγμα κελιών στον φυσικό χώρο,
πρέπει να διαιρεθούν οι συντεταγμένες του φυσικού χώρου με το μήκος 𝑠 και να στρογγυλοποιηθεί το πηλίκο
που θα προκύψει κατά τη διαίρεση σε ακέραιο αριθμό. Σε κάθε κελί του πλέγματος ανατίθεται ένας αύξων
αριθμός, ξεκινώντας από το μηδέν. Ο υπολογισμός των συντεταγμένων (𝑥, 𝑦) του φυσικού χώρου γίνεται με
χρήση των σχέσεων,
𝑥 =𝑖∗𝑗−1 (4.1)
{
𝑦 =𝑖∗𝑗−1
όπου (𝑖, 𝑗) η αρίθμηση κάθε κελιού του πλέγματος ισούται με 𝑖, 𝑗 ≥ 1 (Εικόνα 4.19).

Ηλίας Ξυδιάς 106


Εικόνα 4.19 Η αρίθμηση κάθε κελιού του πλέγματος και ο συσχετισμός με τις συντεταγμένες του φυσικού κόσμου.

4.4.2 Εξαγωνικό Πλέγμα


Στην περίπτωση που η αποσύνδεση του φυσικού χώρου του ρομποτικού συστήματος γίνεται με τη χρήση
κελιών εξαγωνικού σχήματος, τότε ισχύουν τα ακόλουθα για κάθε εξαγωνικό κελί:
• Η μεταβλητή size είναι η απόσταση από το κέντρο του κελιού προς την κορυφή του κελιού
(Εικόνα 4.20).
• Το πλάτος 𝑤 ορίζεται ως 𝑤 = 2 ∗ 𝑠𝑖𝑧𝑒 και το ύψος height ορίζεται ως ℎ = √3 ∗ 𝑠𝑖𝑧𝑒.
3
• Η οριζόντια απόσταση μεταξύ των κέντρων δύο γειτονικών κελιών είναι 𝑤 ∗ .
4
• Η κατακόρυφη απόσταση μεταξύ των κέντρων δύο γειτονικών κελιών είναι ℎ.

Εικόνα 4.20 Το εξαγωνικό πλέγμα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 107
Ο μετασχηματισμός από τις συντεταγμένες του πλέγματος (𝑢, 𝑣) σε συντεταγμένες του φυσικού χώρου (𝑥, 𝑦)
γίνεται με τη βοήθεια των ακόλουθων εξισώσεων,
4∗𝑥 (4.2)
𝑢=
{ 3 ∗ 𝑤
𝑦 1
𝑣 = − ∗𝑢
ℎ 2

4.5 Αλγόριθμοι Εύρεσης Διαδρομών που Βασίζονται σε Γραφήματα

4.5.1 Αλγόριθμος Dijkstra


Ο αλγόριθμος Dijkstra πήρε το όνομά του από τον Ολλανδό Edsger Dijkstra, ο οποίος τον επινόησε το 1956
και τον δημοσίευσε το 1959, 0. Εφαρμόζεται για να λύνει προβλήματα συντομότερης διαδρομής μίας πηγής,
στην περίπτωσή μας ενός ρομποτικού συστήματος, για έναν γράφο με μη αρνητικά κόστη στις ακμές του, αφού
είναι αλγόριθμος αναζήτησης γράφου. Το κύριο χαρακτηριστικό του αλγορίθμου Dijkstra είναι ότι μπορεί να
βρίσκει τη διαδρομή με το ελάχιστο κόστος μεταξύ του κόμβου (του κελιού που περιέχει την αρχική
διαμόρφωση) και οποιουδήποτε άλλου κόμβου στον γράφο.
Ο αλγόριθμος Dijkstra ξεκινά την αναζήτηση από το κελί που περιέχει την αφετηρία του ρομποτικού
συστήματος, το οποίο καλείται «κόμβος έναρξης», και συνεχίζει σε ένα ανοιχτό σύνολο κόμβων προς επιλογή,
με κοινό χαρακτηριστικό ότι απέχουν ένα «βήμα» από τη θέση στην οποία είναι τοποθετημένη η κινούμενη
μονάδα. Πρόκειται για τα κελιά που έχουν σχέση γειτνίασης με τον κόμβο έναρξης. Σε κάθε «βηματισμό»
μελετάται ο κόμβος που περιέχεται στο ανοιχτό (open) σύνολο και απέχει τη μικρότερη απόσταση από την
αφετηρία. Τότε ο κόμβος αυτός χαρακτηρίζεται ως κλειστός (closed) και όλοι οι εφαπτόμενοι σε αυτόν κόμβοι
εισέρχονται στο ανοιχτό σύνολο, εάν δεν έχουν ελεγχθεί ήδη. Η διαδικασία αυτή επαναλαμβάνεται, έως ότου
βρεθεί το μονοπάτι που οδηγεί στον προορισμό. Εφόσον μελετώνται πρώτα οι κόμβοι που απέχουν τη
μικρότερη απόσταση από την αφετηρία, την πρώτη φορά που προσεγγίζεται ο επιθυμητός στόχος επιτυγχάνεται
και η συντομότερη διαδρομή. Επίσης, έχει τη δυνατότητα να υπολογίζει την απόσταση μεταξύ δύο κόμβων του
γράφου μέχρι να εντοπίσει τον κόμβο-στόχο.
Ο αλγόριθμος Dijkstra επεκτείνεται περιμετρικά της αφετηρίας, έως ότου να εντοπίσει τον στόχο, όπως
φαίνεται στην Εικόνα 4.21. Πρέπει να σημειωθεί ότι ο αλγόριθμος Dijkstra έχει τη δυνατότητα να προσδιορίσει
τη συντομότερη διαδρομή από την αφετηρία προς τον στόχο, εάν βέβαια υπάρχει διαδρομή.

Ηλίας Ξυδιάς 108


Εικόνα 4.21 Υλοποίηση του αλγορίθμου Dijkstra σε φυσικό χώρο χωρίς εμπόδια.

Στην Εικόνα 4.21 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα τον
τερματισμό, ενώ με μαύρο χρώμα δηλώνονται τα κελιά που έχουν διερευνηθεί από τον αλγόριθμο. Με άσπρες
διακεκομμένες γραμμές δηλώνεται η διαδρομή που πρέπει να ακολουθηθεί από το ρομποτικό σύστημα. Στον
χάρτη δεν επιτρέπεται η διαγώνια κίνηση (4-connected).
Στην περίπτωση που ο χώρος εργασίας του ρομποτικού συστήματος περιέχει εμπόδια, ο αλγόριθμος
Dijkstra διερευνά μεγαλύτερη περιοχή και η αναζήτηση εκτείνεται προς όλες τις δυνατές κατευθύνσεις. Αυτό
έχει ως αποτέλεσμα να απαιτείται μεγαλύτερος χρόνος για τη μελέτη περιοχών οι οποίες είναι απομακρυσμένες
από τον στόχο. Ωστόσο, και σε αυτήν την περίπτωση έχει τη δυνατότητα να εντοπίσει τη συντομότερη διαδρομή
(Εικόνα 4.22). Στην Εικόνα 4.22 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα
τον τερματισμό, τα κελιά τα οποία είναι καλυμμένα με μπλε χρώμα καλύπτονται από ένα μη-κυρτό πολυγωνικό
εμπόδιο και, τέλος, η άσπρη διακεκομμένη γραμμή δηλώνει τη διαδρομή που πρέπει να ακολουθήσει το
ρομποτικό σύστημα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 109
Εικόνα 4.22 Υλοποίηση του αλγορίθμου Dijkstra σε φυσικό χώρο με ένα εμπόδιο

Ο αλγόριθμος Dijkstra υλοποιείται σε Ο(𝑉 2 ), όπου 𝑉 είναι ο αριθμός των κόμβων του γράφου. Η υλοποίησή
του βασίζεται στην ουρά προτεραιότητας, υλοποιημένη με Fibonacci Heap και τρέχει σε χρόνο Ο(𝐸 + 𝑉𝑙𝑜𝑔𝑉),
όπου 𝐸 είναι ο αριθμός των ακμών του γράφου. Αυτός είναι ασυμπτωτικά ο γρηγορότερος γνωστός αλγόριθμος
εύρεσης της συντομότερης διαδρομής.

4.5.2 Αλγόριθμος Greedy Best First Search


Ο αλγόριθμος Greedy Best First Search 0 έχει πολλά κοινά χαρακτηριστικά με τον αλγόριθμο Dijkstra, όμως
επιπλέον διαθέτει τη δυνατότητα υπολογισμού της απόστασης του κάθε κόμβου (κελιού) από τον στόχο. Αυτό
σημαίνει ότι επιλέγει το κελί που βρίσκεται πλησιέστερα προς το κελί-στόχο, αντί αυτής που βρίσκεται
πλησιέστερα προς το κελί έναρξης. Αυτή η επιπλέον παράμετρος που υπεισέρχεται στον καθορισμό της
διαδρομής ονομάζεται ευρετική (heuristic).
Αν και ο αλγόριθμος Greedy Best First Search εντοπίζει πολύ ταχύτερα τον στόχο από ό, τι ο αλγόριθμος
του Dijkstra, εξαιτίας της ευρετικής συνάρτησης, δεν βρίσκει πάντοτε τη βέλτιστη διαδρομή. Στο παράδειγμα
που ακολουθεί είναι εμφανές ότι η περιοχή που σαρώνει ο Greedy Best First Search είναι πολύ μικρότερη από
την περιοχή σάρωσης του Dijkstra. Η περιορισμένη περιοχή αναζήτησης είναι και ο κύριος λόγος της ταχύτερης
εύρεσης του στόχου σε σχέση με τον αλγόριθμο του Dijkstra (Εικόνα 4.23). Οι κόμβοι που απέχουν
περισσότερο από το κελί-στόχο έχουν υψηλή ευρετική αξία και αναπαρίστανται στο διάγραμμα με κίτρινο
χρώμα, ενώ όσο σκουραίνει προς το μαύρο αναπαρίστανται οι κόμβοι με χαμηλή ευρετική αξία. Επίσης, το
κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα τον τερματισμό, ενώ με άσπρες
διακεκομμένες γραμμές δηλώνεται η διαδρομή που πρέπει να ακολουθηθεί από το ρομποτικό σύστημα. Στον
χάρτη δεν επιτρέπεται η διαγώνια κίνηση (4-connected).

Ηλίας Ξυδιάς 110


Εικόνα 4.23 Υλοποίηση του αλγορίθμου Greedy Best First Search σε φυσικό χώρο χωρίς εμπόδια.

Στην περίπτωση που ο χώρος εργασίας του ρομποτικού συστήματος περιέχει εμπόδια (Εικόνα 4.24) ο
αλγόριθμος Greedy Best First Search, ενώ δεν καθυστερεί στην αναζήτηση του κελιού-στόχου με το να ερευνά
μια μεγάλη περιοχή, δεν μπορεί να προσδιορίσει τη διαδρομή με το μικρότερο μήκος. Αυτό οφείλεται στην
«απληστία» του για την εύρεση του κελιού-στόχου. Ο στόχος τον έλκει, με τρόπο ώστε να λαμβάνει υπόψη του
μόνο το κόστος του να καταλήξει σε αυτόν, αγνοώντας το κόστος της μακρύτερης πορείας που ακολουθεί. Στην
Εικόνα 4.24 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα τον τερματισμό, τα
κελιά τα οποία είναι καλυμμένα με μπλε χρώμα καλύπτονται από ένα μη-κυρτό πολυγωνικό εμπόδιο και, τέλος,
η άσπρη διακεκομμένη διαδρομή δηλώνει τη διαδρομή που πρέπει να ακολουθήσει το ρομποτικό σύστημα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 111
Εικόνα 4.24 Υλοποίηση του αλγορίθμου Greedy Best First Search σε φυσικό χώρο με ένα μη-κυρτό εμπόδιο.

4.5.3 Αλγόριθμος Α-star


Ο αλγόριθμος Α-star 0 είναι ο δημοφιλέστερος αλγόριθμος αναζήτησης διαδρομών και είναι μία παραλλαγή
του αλγορίθμου Dijkstra βελτιστοποιημένη για την εύρεση μιας και μόνο διαδρομής προς το κελί-στόχο. Ο
αλγόριθμος του Dijkstra μπορεί να βρει διαδρομές προς όλες τις τοποθεσίες. Ο A - Star βρίσκει διαδρομές προς
μία τοποθεσία ή την πλησιέστερη από πολλές τοποθεσίες και δίνει προτεραιότητα σε μονοπάτια που φαίνεται
να οδηγούν πιο κοντά σε έναν στόχο.
Ο αλγόριθμος Α-star χρησιμοποιεί μία ευρετική συνάρτηση με τη βοήθεια της οποίας αξιολογούνται οι
επόμενες πιθανές καταστάσεις και επιλέγεται η καλύτερη από αυτές.
Ο αλγόριθμος Α-Star είναι αποτέλεσμα συνδυασμού της «άπληστης» αναζήτησης με την αναζήτηση με
βάση το κόστος. Πραγματοποιεί μία ταξινόμηση των καταστάσεων με βάση τη συνάρτηση 𝑓(𝑘) = 𝑔(𝑘) +
ℎ(𝑘), όπου:
• Η συνάρτηση 𝑔 αντιπροσωπεύει το κόστος για να φθάσουμε από το κελί έναρξης στο κελί 𝑘.
• Η συνάρτηση ℎ είναι μία ευρετική συνάρτηση που εκτιμά την απόσταση από το κελί 𝑘, στο οποίο
βρισκόμαστε, μέχρι το κελί-στόχο. Ο περιορισμός που διέπει τη συνάρτηση ℎ είναι ότι
απαγορεύεται να παίρνει την τιμή 0.
• H συνάρτηση 𝑓 είναι μία εκτίμηση της καλύτερης λύσης που οδηγεί από τo κελί έναρξης στο
κελί-στόχο, διαμέσου του κελιού 𝑘.
Ακολουθεί περιγραφή του Α - Star με ψευδοκώδικα:
• Δημιούργησε μία ουρά (queue) που αρχικά έχει τη ρίζα (root).
• Έως ότου η ουρά είναι άδεια ή ο στόχος έχει βρεθεί, έλεγξε αν το πρώτο στοιχείο είναι ο στόχος.
• Αν είναι, μην κάνεις τίποτα.

Ηλίας Ξυδιάς 112


• Αν δεν είναι, τότε :
• βγάλε το πρώτο στοιχείο
• βάλε τα παιδιά του πρώτου στοιχείου πίσω στην ουρά
• ταξινόμησε όλη την ουρά με βάση την 𝑓
• Αν έχει βρεθεί ο στόχος, τότε έχουμε επιτυχία, αλλιώς, αποτυχία.
Με τον αλγόριθμο A - Star μπορούμε να πετύχουμε βελτίωση της συμπεριφοράς του Dijkstra στη μέση
περίπτωση. Επίσης, πρέπει να σημειωθεί ότι ο αλγόριθμος A - Star «τρέχει» πολύ γρήγορα για τους δύο
παρακάτω λόγους :
• Το δένδρο της συντομότερης διαδρομής μεγαλώνει προς την κατεύθυνση του κελιού-στόχου.
• Η αναζήτηση της συντομότερης διαδρομής μπορεί να τερματιστεί μόλις το κελί στόχος προστεθεί
στο δένδρο συντομότερης διαδρομής.
Το μόνο μειονέκτημα που μπορεί να εντοπισθεί είναι το ακόλουθο:
• Επειδή ο αλγόριθμος A - Star «χειρίζεται» τα κελιά με βάση την τιμή της συνάρτησης 𝑓, υπάρχει
μία περίπτωση ο αλγόριθμος να μην τερματίσει ποτέ. Αυτό μπορεί να συμβεί εάν υπάρχουν
άπειρα κελιά με τιμή της συνάρτησης 𝑓 μικρότερη του κόστους της καλύτερης λύσης. Σε αυτήν
την περίπτωση, ο Α – Star δεν θα μπορέσει να βρει λύση, ακόμη και αν υπάρχει. Βέβαια, πρέπει
να σημειωθεί ότι η περίπτωση αυτή είναι ακραία και εάν την εντοπίσουμε, θα πρέπει να
αποφύγουμε τη χρήση του αλγορίθμου A - Star.
Για να γίνει περισσότερο κατανοητός ο αλγόριθμος A-Star, παραθέτουμε το ακόλουθο παράδειγμα:
Ας υποθέσουμε τον γράφο της Εικόνας 4.25, ο οποίος περιέχει 4 κόμβους και τις ακμές που τους συνδέει,
καθώς επίσης και τα αντίστοιχα βάρη στις ακμές, που δηλώνουν τις αποστάσεις μεταξύ των κόμβων.

Εικόνα 4.25 Ο γράφος με τους κόμβους Α, Β, C και D.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 113
Το κελί έναρξης είναι ο κόμβος Α και το κελί στόχος είναι ο κόμβος D. Υποθέτουμε, ότι η αρχική τιμή της
ευρετικής συνάρτηση ℎ(𝛢) = 6, οπότε,
𝑓 (𝐴 ) = 𝑔 (𝐴 ) + ℎ (𝐴 )
𝑓 (𝐴 ) = 0 + 6
Κατά τη μετακίνηση από τον κόμβο Α προς τους γειτονικούς κόμβους Β και C έχουμε,
𝑓 (𝐴 − 𝐵 ) = 1 + 4
𝑓 (𝐴 − 𝐶 ) = 5 + 2
Στη συνέχεια κατά τη μετακίνηση προς το κελί στόχο D έχουμε,
𝑓(𝐴 − 𝛣 − 𝐷) = (1 + 7) + 0
𝑓 (𝐴 − 𝐶 − 𝐷) = (5 + 10) + 0
Από τα παραπάνω είναι ξεκάθαρο πως η διαδρομή 𝐴 − 𝛣 − 𝐷 είναι η συντομότερη.

4.5.3.1 Ευρετική Συνάρτηση


Ανεξαρτήτως της μορφής του πλέγματος, η ευρετική συνάρτηση ℎ καθορίζει τον τρόπο με τον οποίο
επιτρέπεται να κινηθεί το ρομποτικό σύστημα, το αν δηλαδή θα του επιτραπεί να κινηθεί στις 4 κατευθύνσεις
(4-connected) ή στις 8 κατευθύνσεις (8-connected). Η ευρετική συνάρτηση ανήκει σε μια από τις ακόλουθες
κατηγορίες:
• Η απόσταση Manhattan (𝐿1 ) επιτρέπει την κίνηση στις 4 κατευθύνσεις.
• Σε εξαγωνικό πλέγμα που επιτρέπεται η κίνηση στις 6 κατευθύνσεις.
• Η απόσταση Diagonal (𝐿∞ ) επιτρέπει την κίνηση στις 8 κατευθύνσεις.
• Η Ευκλείδεια απόσταση (𝐿2 ) επιτρέπει την κίνηση προς κάθε κατεύθυνση.
Η απόσταση Manhattan είναι η κλασικότερη ευρετική συνάρτηση που χρησιμοποιείται στο τετραγωνικό
πλέγμα. Το κύριο πλεονέκτημά της είναι ότι, συγκριτικά με τις εναλλακτικές ευρετικές, καταλήγει ταχύτερα
στον στόχο. Αντιθέτως, το κύριο μειονέκτημά της είναι ότι επιτρέπει την κίνηση στις 4 κατευθύνσεις, δηλαδή
παράλληλα με τους άξονες του πλέγματος, με αποτέλεσμα το μονοπάτι που θα βρεθεί να μην είναι το
συντομότερο δυνατό, αν και θα πλησιάζει πολύ το βέλτιστο. Επίσης, επειδή στην 𝑓 το ℎ έχει μεγαλύτερη
βαρύτητα από το 𝑔, η απόσταση Manhattan αγνοεί τις ρυθμίσεις που ίσως να χρειαστεί να γίνουν στον ορισμό
της 𝑔. Ο προσδιορισμός της ℎ γίνεται ως εξής:
• Πρέπει να δοθεί προσοχή στο ελάχιστο κόστος 𝑑 του «βηματισμού» από τον ένα κόμβο στον
γειτονικό. Στην απλούστερη περίπτωση τίθεται 𝑑 = 1.
• Η ℎ πρέπει να είναι 𝑑 φορές η απόσταση Manhattan, δηλαδή:
𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑥: 𝑑𝑥 = |𝑘. 𝑥 − 𝑔𝑜𝑎𝑙. 𝑥| (4.3)
{𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑦: 𝑑𝑦 = |𝑘. 𝑦 − 𝑔𝑜𝑎𝑙. 𝑦|
ℎ = 𝑑 ∗ (𝑑𝑥 + 𝑑𝑦)
όπου (𝑘. 𝑥, 𝑘. 𝑦) οι συντεταγμένες του τρέχοντος κελιού και (𝑔𝑜𝑎𝑙. 𝑥, 𝑔𝑜𝑎𝑙. 𝑦) οι συντεταγμένες του
κελιού στόχος.
• Η επιλογή του κόστους 𝑑 (κόστος «βηματισμού») γίνεται ως εξής:
Πρέπει να δοθεί προσοχή στο να είναι η χρησιμοποιούμενη κλίμακα ίδιας τάξης μεγέθους με την κλίμακα της
𝑔. Για την κίνηση μεταξύ γειτονικών κελιών θα πρέπει να δοθεί η χαμηλότερη δυνατή τιμή. Σε περίπτωση
απουσίας εμποδίων, η κίνηση προς τον στόχο θα πρέπει να αυξάνει το 𝑔 κατά 𝑑 και να μειώνει αντίστοιχα το
ℎ κατά 𝑑. Με αυτόν τον τρόπο, το 𝑓 θα παραμένει σταθερό κατά μήκος της διαδρομής.
Στην Εικόνα 4.26 παρουσιάζεται το αποτέλεσμα της εφαρμογής της απόστασης Manhattan. Το κελί
έναρξης σημειώνεται με κόκκινο χρώμα, ενώ το κελί-στόχος με μωβ. Οι χρωματιστοί κόμβοι του πλέγματος
αντιστοιχούν στους κόμβους τους οποίους διερεύνησε κατά την αναζήτηση ο αλγόριθμος A-Star. Με κίτρινο
συμβολίζεται το υψηλότερο κόστος και με κυανό το χαμηλότερο της ευρετικής συνάρτησης ℎ.

Ηλίας Ξυδιάς 114


Εικόνα 4.26 Εφαρμογής της απόστασης Manhattan σε φυσικό χώρο χωρίς εμπόδια.

Στην περίπτωση που επιθυμούμε το ρομποτικό σύστημα να κινηθεί και διαγώνια (8-connected),
χρησιμοποιείται η απόσταση Diagonal. Η μέθοδος αυτή εξισορροπεί τις συναρτήσεις 𝑔 και ℎ. Με αυτόν τον
τρόπο είναι δυνατός ο υπολογισμός μικρότερων ρυθμιστικών παραμέτρων, όπως το επιπλέον κόστος στροφής.
Πρέπει να σημειωθεί ότι μειονεκτεί συγκριτικά με την απόσταση Manhattan από άποψη ταχύτητας εύρεσης
του κελιού-στόχου.
Κατά την απόσταση Diagonal, υπολογίζεται ο αριθμός των κινήσεων που θα μπορούσαν να γίνουν εάν
οι διαγώνιες κινήσεις απαγορεύονταν και, στη συνέχεια, από αυτόν τον αριθμό αφαιρείται ο αριθμός των
«βημάτων» που εξοικονομούνται, χρησιμοποιώντας τη διαγώνια κίνηση. Γενικά, υπάρχουν min (𝑑𝑥, 𝑑𝑦)
διαγώνια βήματα, καθένα εκ των οποίων κοστίζει 𝑑√2, αλλά αυτά τα διαγώνια βήματα εξοικονομούν 2𝑑 μη
διαγώνιες κινήσεις. Το κόστος 𝑑√2 προκύπτει ως εξής: αν θεωρήσουμε ότι το κόστος κίνησης μεταξύ δύο
γειτονικών κελιών είναι 𝑑, τότε με χρήση του Πυθαγόρειου θεωρήματος καταλήγουμε ότι η διαγώνια κίνηση
στο κελί είναι 𝑑√2.
𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑥: 𝑑𝑥 = |𝑘. 𝑥 − 𝑔𝑜𝑎𝑙. 𝑥| (4.4)
{𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑦: 𝑑𝑦 = |𝑘. 𝑦 − 𝑔𝑜𝑎𝑙. 𝑦|
ℎ = 𝑑 ∗ (𝑑𝑥 + 𝑑𝑦) + 𝑑√2 ∗ 𝑚𝑖𝑛(𝑑𝑥, 𝑑𝑦)
Στη Εικόνα 4.27 παρουσιάζεται το αποτέλεσμα της εφαρμογής της απόστασης Diagonal. Το κελί έναρξης
σημειώνεται με κόκκινο χρώμα, ενώ το κελί-στόχος με μωβ. Οι χρωματιστοί κόμβοι του πλέγματος
αντιστοιχούν στους κόμβους τους οποίους διερεύνησε κατά την αναζήτηση ο αλγόριθμος A-Star. Παρατηρούμε
ότι η περιοχή που σαρώνει ο A-Star είναι ελάχιστα μεγαλύτερη από αυτή που σαρώθηκε με τη χρήση της
απόστασης Manhattan, επομένως και ο χρόνος ολοκλήρωσης της αναζήτησης είναι μεγαλύτερος. Ωστόσο, η
τελική διαδρομή είναι συντομότερη.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 115
Εικόνα 4.27 Εφαρμογής της απόστασης Diagonal σε φυσικό χώρο χωρίς εμπόδια.

Στην περίπτωση που επιθυμούμε το ρομποτικό σύστημα να κινηθεί προς όλες τις κατευθύνσεις, και όχι μόνο
σε αυτές των κατευθύνσεων του πλέγματος, τότε γίνεται η χρήση της Ευκλείδειας απόστασης. Σε αυτήν την
περίπτωση ο αλγόριθμος A – Star δεν είναι αποδοτικός, επειδή η συνάρτηση 𝑔 δεν είναι της ίδιας κλίμακας με
τη συνάρτηση ℎ. Επίσης, η Ευκλείδεια απόσταση μπορεί να οδηγήσει στην εύρεση της συντομότερης
διαδρομής αλλά, επειδή είναι μικρότερη από την Manhattan και Diagonal, χρειάζεται περισσότερο χρόνο για
την ολοκλήρωση της αναζήτησης.
𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑥: 𝑑𝑥 = |𝑘. 𝑥 − 𝑔𝑜𝑎𝑙. 𝑥| (4.5)
{ 𝜅ί𝜈𝜂𝜎𝜂 𝜎𝜏𝜊𝜈 ά𝜉𝜊𝜈𝛼 𝑦: 𝑑𝑦 = |𝑘. 𝑦 − 𝑔𝑜𝑎𝑙. 𝑦|
ℎ = 𝑑 ∗ √(𝑑𝑥 2 + 𝑑𝑦 2 )
Στη Εικόνα 4.28 παρουσιάζεται το αποτέλεσμα της εφαρμογής της Ευκλείδειας απόστασης Diagonal. Το κελί
έναρξης σημειώνεται με κόκκινο χρώμα, ενώ το κελί-στόχος με μωβ. Οι χρωματιστοί κόμβοι του πλέγματος
αντιστοιχούν στους κόμβους τους οποίους διερεύνησε κατά την αναζήτηση ο αλγόριθμος A-Star. Παρατηρούμε
ότι η περιοχή που σαρώνει ο A-Star είναι κατά πολύ μεγαλύτερη από αυτή που σαρώθηκε με τη χρήση της
απόστασης Manhattan και Diagonal, επομένως και ο χρόνος ολοκλήρωσης της αναζήτησης είναι μεγαλύτερος.
Ωστόσο, η τελική διαδρομή είναι συντομότερη σε σχέση με τις άλλες δύο αποστάσεις.

Εικόνα 4.28 Εφαρμογής της Ευκλείδειας απόστασης σε φυσικό χώρο χωρίς εμπόδια.

Ηλίας Ξυδιάς 116


Βιβλιογραφία/Αναφορές

[1] Choset, H., & Pignon, P. (1998b). Coverage path planning: The boustrophedon cellular decomposition. In
Field and Service Robotics (pp. 203–209). Springer London.
[2] de Berg, M., van Kreveld, M., Overmars, M., & Schwarzkopf, O. (2013a). Computational geometry:
Algorithms and applications (2nd ed.). Springer.
[3] Finkel, R. A., & Bentley, J. L. (1974). Quad trees a data structure for retrieval on composite keys. Acta
Informatica, 4(1), 1–9.
[4] Galceran, E., & Carreras, M. (2013). A survey on coverage path planning for robotics. Robotics and
Autonomous Systems, 61(12), 1258–1276.
[5] Gondran, M., & Minoux, M. (1984). Graphs and Algorithms. John Wiley & Sons.
[6] Hamada, K., & Hori, Y. (2002). Octree-based approach to real-time collision-free path planning for robot
manipulator. Proceedings of 4th IEEE International Workshop on Advanced Motion Control - AMC
’96 - MIE.
[7] Latombe, J.-C. (1991a). Robot Motion Planning. Springer.
[8] LaValle, S. M. (2009b). Planning Algorithms. Cambridge University Press.
[9] Yahja, A., Stentz, A., Singh, S., & Brumitt, B. L. (2002). Framed-quadtree path planning for mobile robots
operating in sparse environments. Proceedings. 1998 IEEE International Conference on Robotics and
Automation (Cat. No.98CH36146).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 117
Ασκήσεις

1. Κατασκευάστε έναν αλγόριθμο αναζήτησης διαδρομής για ένα σημειακό ρομποτικό σύστημα, που
κινείται ανάμεσα σε πολυγωνικά εμπόδια, χρησιμοποιώντας την αποσύνθεση σε κελιά.
2. Κατασκευάστε έναν αλγόριθμο αναζήτησης διαδρομής, που βασίζεται στην προσεγγιστική
αποσύνθεση σε κελιά, για ένα πολυγωνικό ρομποτικό σύστημα που μπορεί να μετατοπίζεται και να
περιστρέφεται ελεύθερα μεταξύ πολυγωνικών εμποδίων (Εικόνα 4.29).

Εικόνα 4.29 Ο χώρος εργασίας του πολυγωνικού ρομποτικού συστήματος.

3. Να υλοποιήσετε την ακριβή αποσύνθεση σε κελιά και την προσεγγιστική αποσύνθεση σε κελιά στον
πολυγωνικό χώρο της Εικόνας 4.30. Τι παρατηρείτε;

Ηλίας Ξυδιάς 118


Εικόνα 4.30 Ο δύο διαστάσεων πολυγωνικός χώρος.

4. Δίνεται ο γράφος της Εικόνας 4.31, με την ευρετική τιμή ℎ για κάθε κόμβο του. Λύστε το πρόβλημα
μετάβασης από τον κόμβο 𝐴 στον κόμβο 𝐷 με δύο διαφορετικούς αλγορίθμους και, συγκεκριμένα, με
τον αλγόριθμο Greedy Best First και με τον αλγόριθμο A- Star. Τι παρατηρείτε;

Εικόνα 4.31 Ο γράφος στον οποίο αποτυπώνονται οι τιμές της ευρετικής συνάρτησης ℎ, καθώς και οι τιμές της συνάρτησης
κόστους 𝑔.

5. Στην Εικόνα 4.32 παρουσιάζεται ένας κατευθυνόμενος γράφος έξι κόμβων. Πάνω στις ακμές φαίνονται
οι αποστάσεις των κόμβων που συνδέονται άμεσα μεταξύ τους. Θεωρήστε το πρόβλημα εύρεσης
διαδρομής από τον κόμβο 𝛢 στον κόμβο 𝐹. Θεωρήστε, επίσης, την ευρετική συνάρτηση ℎ, η οποία
εκτιμά ως απόσταση δύο κόμβων την ευθεία απόστασή τους (Ευκλείδεια απόσταση). Στον πίνακα που
ακολουθεί φαίνονται οι τιμές της ευρετικής συνάρτησης μεταξύ όλων των κόμβων από τον κόμβο 𝐹.
Λύστε το πρόβλημα της συντομότερης διαδρομής χρησιμοποιώντας τους αλγορίθμους Greedy Best-
First και Α- Star. Τι παρατηρείτε όσον αφορά στη συμπεριφορά των δύο αλγορίθμων;
Πίνακας 4.1 Οι τιμές της ευρετικής συνάρτησης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 119
Κόμβος Ευκλείδεια απόσταση από τον κόμβο 𝑭
𝑨 30
𝑩 22
𝑪 10
𝑫 18
𝑭 11

Εικόνα 4.32 Ο κατευθυνόμενος γράφος.

6. Να εφαρμόσετε τον αλγόριθμο του Dijkstra στο παρακάτω δίκτυο ώστε να υπολογίσετε τους
ελάχιστους δρόμους από τον κόμβο A προς όλους τους υπόλοιπους κόμβους (Εικόνα 4.33).

Ηλίας Ξυδιάς 120


Εικόνα 4.33 Ο κατευθυνόμενος γράφος.

7. Στον χώρο εργασίας της Εικόνας 4.34 να υλοποιήσετε την κατά προσέγγιση αποσύνθεση σε κελιά,
χρησιμοποιώντας το εξαγωνικό πλέγμα και το τετραγωνικό πλέγμα. Στη συνέχεια να βρείτε τη
συντομότερη διαδρομή για ένα σημειακό ρομπότ που ενώνει το αρχικό και τελικό σημείο για κάθε μία
από τις περιπτώσεις. Τι παρατηρείτε;

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 121
Εικόνα 4.34 Ο χώρος εργασίας του ρομποτικού συστήματος.

8. Χρησιμοποιήστε τον αλγόριθμο του Dijkstra για να δημιουργήσετε συναρτήσεις πλοήγησης σε 2D


πλέγμα με εμπόδια. Πειραματιστείτε με την προσθήκη ποινής στο λειτουργικό κόστος για πολύ κοντινά
εμπόδια.
9. Ας υποθέσουμε το ρομποτικό σύστημα, κυκλικού σχήματος της Εικόνας 4.35, το οποίο καλείται να
μετακινηθεί από ένα αρχικό σημείο σε ένα τελικό σημείο. Να βρεθεί η συντομότερη διαδρομή που
ενώνει τα δύο δοσμένα σημεία, διακριτοποιώντας τον χώρο εργασίας, χρησιμοποιώντας το
τετραγωνικό πλέγμα και αναζητώντας τη συντομότερη διαδρομή με τον A-Star. Αξιοποιήστε ως
ευρετική συνάρτηση την εξής:
• Η απόσταση Manhattan (𝐿1 ).
• Η απόσταση Diagonal (𝐿∞ ).
• Η Ευκλείδεια απόσταση (𝐿2 ).

Εικόνα 4.35 Ο χώρος εργασίας του ρομποτικού συστήματος.

Ηλίας Ξυδιάς 122


Κεφάλαιο 5ο
Κατασκευή Τεχνητών Δυναμικών Πεδίων

Σύνοψη
Στα δύο προηγούμενα κεφάλαια παρουσιάστηκαν μεθοδολογίες δημιουργίας ενός γράφου πάνω στον οποίο γίνεται
η αναζήτηση για τον σχεδιασμό κίνησης του ρομπότ. Η προσέγγιση που παρουσιάζεται στο παρόν Κεφάλαιο
βασίζεται σε μια διαφορετική ιδέα. Πιο συγκεκριμένα, το ρομποτικό σύστημα το οποίο αναπαρίσταται ως ένα
σημείο, κινείται στον χώρο διαμορφώσεων υπό την επίδραση ενός τεχνητού δυναμικού πεδίου δημιουργούμενου
από την τελική διαμόρφωση του ρομπότ και τα εμπόδια-διαμορφώσεων. Η τελική διαμόρφωση του ρομποτικού
συστήματος δημιουργεί ένα «ελκτικό δυναμικό», το οποίο έλκει το ρομπότ προς τον στόχο, ενώ τα εμπόδια-
διαμορφώσεων παράγουν ένα «απωθητικό δυναμικό», το οποίο σπρώχνει το ρομπότ μακριά από αυτά.

Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.

Εισαγωγή
Οι μεθοδολογίες σχεδιασμού κίνησης για ένα ρομποτικό σύστημα που περιγράφονται στα δύο προηγούμενα
κεφάλαια στοχεύουν στην αποτύπωση του ελεύθερου χώρου του ρομποτικού συστήματος σε έναν γράφο, πάνω
στον οποίο αναζητείται μια διαδρομή σύνδεσης της αρχικής με την τελική διαμόρφωση. Η προσέγγιση που
παρουσιάζεται σε αυτό το κεφάλαιο προέρχεται από μια διαφορετική ιδέα. Θεωρεί το ρομποτικό σύστημα, που
αναπαρίσταται ως σημείο στον χώρο διαμόρφωσης, ως σωματίδιο. Αυτό κινείται υπό την επίδραση ενός
τεχνητού δυναμικού πεδίου 𝑈, του οποίου οι τοπικές παραλλαγές αναμένεται να αντικατοπτρίζουν τη «δομή»
του ελεύθερου χώρου. Η συνάρτηση δυναμικού ορίζεται ως το άθροισμα ενός ελκυστικού δυναμικού, που
ελκύει το ρομποτικό σύστημα προς τη διαμόρφωση του στόχου, και ενός απωθητικού δυναμικού, που ωθεί το
ρομπότ μακριά από τα εμπόδια. Ο σχεδιασμός κίνησης εκτελείται με επαναληπτικό τρόπο. Σε κάθε επανάληψη,
η τεχνητή δύναμη 𝐹 (𝓆) = ∇⃗ 𝑈(𝓆), που προκαλείται από τη συνάρτηση δυναμικού στην τρέχουσα διαμόρφωση
του ρομποτικού συστήματος, το κινεί προς τον επιθυμητό στόχο.
Μια συνάρτηση δυναμικού είναι μια διαφορίσιμη συνάρτηση 𝑈: ℝ𝑚 → ℝ. H τιμή μιας δυνητικής
συνάρτησης μπορεί να θεωρηθεί ως ενέργεια και ως εκ τούτου η κλίση του δυναμικού είναι δύναμη. Η κλίση
𝜕𝑈 𝜕𝑈
είναι ένα διάνυσμα ⃗∇𝑈(𝓆) = 𝐷𝑈(𝓆)𝑇 = [ (𝓆), … , (𝓆)]𝑇 που δείχνει προς την κατεύθυνση που αυξάνει
𝜕𝓆1 𝜕𝓆𝑚
τοπικά το μέγιστο της 𝑈(𝓆). Χρησιμοποιούμε την κλίση για να ορίσουμε ένα διανυσματικό πεδίο, το οποίο
εκχωρεί ένα διάνυσμα σε κάθε σημείο μιας πολλαπλότητας. Ένα διανυσματικό πεδίο κλίσης, όπως υποδηλώνει
το όνομά του, εκχωρεί την κλίση της συνάρτησης σε κάθε σημείο του. Όταν το 𝑈 αντιπροσωπεύει την ενέργεια,
το διανυσματικό πεδίο κλίσης φέρει την ιδιότητα ότι η εργασία που εκτελείται σε οποιαδήποτε κλειστή
διαδρομή είναι μηδέν.
Η μέθοδος των δυναμικών πεδίων αναπτύχθηκε αρχικά ως μέθοδος αποφυγής σύγκρουσης για
πραγματικού χρόνου εφαρμογές. Εφαρμόζεται όταν το ρομποτικό σύστημα δεν έχει προγενέστερη γνώση του
χώρου εργασίας του, αλλά έχει τη δυνατότητα να τον αντιλαμβάνεται κατά την εκτέλεση της κίνησής του, με
τη βοήθεια των αισθητήρων του 0. Η συνάρτηση κατευθύνει ένα ρομπότ σαν να ήταν ένα σωματίδιο που
κινείται σε διανυσματικό πεδίο κλίσης. Οι κλίσεις μπορούν διαισθητικά να θεωρηθούν ως δυνάμεις που δρουν
σε ένα θετικά φορτισμένο ρομπότ, το οποίο έλκεται από τον αρνητικά φορτισμένο στόχο. Παράλληλα, το θετικό
φορτίο των εμποδίων σχηματίζει μια δύναμη που απωθεί το ρομποτικό σύστημα από αυτά. Ο συνδυασμός
απωθητικών και ελκυστικών δυνάμεων κατευθύνει το ρομποτικό σύστημα από την τοποθεσία εκκίνησης στη
θέση-στόχο, αποφεύγοντας τα εμπόδια (Εικόνα 5.1).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 123
Εικόνα 5.1 Το ρομποτικό σύστημα, το οποίο είναι φορτισμένο με θετικό φορτίο, έλκεται από τον στόχο, ο οποίος είναι
αρνητικά φορτισμένος και απωθείται από το εμπόδιο το οποίο είναι θετικά φορτισμένο. Η διακεκομμένη γραμμή δηλώνει
τη διαδρομή που θα ακολουθήσει το ρομποτικό σύστημα.

Πρέπει να σημειωθεί ότι στο παρόν κεφάλαιο, ασχολούμαστε κυρίως με συστήματα πρώτης τάξης (δηλαδή
αγνοούμε τη δυναμική του ρομποτικού συστήματος), οπότε βλέπουμε τις κλίσεις ως διανύσματα ταχύτητας,
αντί για διανύσματα δύναμης. Οι δυναμικές συναρτήσεις μπορούν να θεωρηθούν ως ένα τοπίο, όπου το
ρομποτικό σύστημα μετακινείται από μια κατάσταση «υψηλής τιμής» σε μια κατάσταση «χαμηλής τιμής». Το
ρομπότ κινείται βάσει της αρνητικής κλίσης της δυνητικής συνάρτησης (χρήση του αλγορίθμου σύγκλισης με
ελάττωση της παραγώγου – gradient descent), δηλαδή
⃗ 𝑈(𝓆(𝑡))
𝓆̇ (𝑡) = −∇ (5.1)
Οι περισσότερες από τις μεθοδολογίες σχεδιασμού κίνησης που βασίζονται στα Τεχνητά Δυναμικά Πεδία
αξιοποιούν τη γνώση που αποκτάται από την εμπειρία. Συνήθως αυτές οι μεθοδολογίες δεν είναι πλήρεις,
δηλαδή μπορεί να αποτύχουν να βρουν μια διαδρομή που να ενώνει την αρχική και τελική διαμόρφωση, ακόμα
κι αν υπάρχει. Από την άλλη πλευρά, έχουν τη δυνατότητα να βρίσκουν μια διαδρομή ιδιαίτερα γρήγορα για
ένα ευρύ φάσμα καταστάσεων. Το πλεονέκτημά τους είναι ότι, με κάποια περιορισμένη μηχανική, καθιστούν
δυνατή τη δημιουργία μιας διαδρομής που είναι αρκετά αποτελεσματική και αξιόπιστη και για αυτόν τον λόγο
είναι αρκετά δημοφιλείς.
Το παρόν κεφάλαιο θα αναλυθεί σε 6 ενότητες. Οι ενότητες είναι οι ακόλουθες:
• Στην 1η Ενότητα, θα δώσουμε έναν ορισμό για τη συνάρτηση δυναμικού και του παραγόμενου
δυναμικού πεδίου. Επίσης, θα εξετάσουμε την περίπτωση κατά την οποία το ρομποτικό σύστημα
μπορεί μόνο να μετατοπίζεται.
• Στη 2η Ενότητα, θα εξετάσουμε τη γενικότερη περίπτωση κατά την οποία το ρομποτικό σύστημα
μπορεί επιπλέον και να περιστρέφεται.
• Στην 3η Ενότητα, θα περιγράψουμε τρεις απλές τεχνικές σχεδιασμού διαδρομής: depth-first, best-
first και variational planning.
• Στην 4η Ενότητα, θα εισάγουμε την έννοια της συνάρτησης-πλοήγησης (Navigation Function).
• Στην 5η Ενότητα, θα παρουσιάσουμε τεχνικές «απόδρασης» από τοπικά ελάχιστα. Επιπλέον, θα
περιγράψουμε μια μεθοδολογία που βασίζεται στα τεχνητά δυναμικά πεδία, η οποία έχει τη
δυνατότητα να σχεδιάσει ελεύθερες διαδρομές σε χώρους διαμόρφωσης υψηλής διάστασης.

Ηλίας Ξυδιάς 124


• Στην 6η Ενότητα, θα περιγράψουμε μια απλή τεχνική μάθησης που μπορεί να χρησιμοποιηθεί για
την αποφυγή τοπικών ελαχίστων, όταν η γεωμετρία του ελεύθερου χώρου παραμένει αμετάβλητη
σε πολλές διαδοχικές εργασίες.

5.1 Εισαγωγικές Έννοιες


Οι περισσότερες από τις προτεινόμενες συναρτήσεις δυναμικού βασίζονται στην ακόλουθη γενική ιδέα: το
ρομποτικό σύστημα 𝒜 πρέπει να προσελκύεται προς τον επιθυμητό στόχο και να απωθείται από τα εμπόδια
του χώρου στον οποίο καλείται να κινηθεί. Σε αυτήν την ενότητα θα ορίσουμε μία συνάρτηση δυναμικού για
την περίπτωση που το 𝒜 μπορεί να μετακινείται ελεύθερα, χωρίς να περιστρέφεται (δηλ. κινείται με σταθερό
προσανατολισμό) στον διδιάστατο ή τριδιάστατο χώρο. Η συνάρτηση δυναμικού που θα παρουσιάσουμε
παρακάτω χρησιμοποιείται σε πολλά υλοποιημένα συστήματα 0.

5.1.1 Ελκτικό/Απωθητικό Πεδίο


Το πεδίο των τεχνητών δυνάμεων 𝐹 (𝓆 ) ∈ 𝒞 δημιουργείται από τη διαφορίσιμη συνάρτηση δυναμικού
𝑈: 𝒞𝑓𝑟𝑒𝑒 → ℝ, όπου
⃗ 𝑈 (𝓆 )
𝐹 (𝓆) = −∇ (5.2)
όπου ⃗∇𝑈(𝓆) ορίζει το διάνυσμα κλίσης του 𝑈(𝓆) με 𝓆 = (𝑥, 𝑦) ή 𝓆 = (𝑥, 𝑦, 𝑧) και

𝜕𝑈
𝜕𝑈
𝜕𝑥
⃗ 𝑈(𝓆) = ( 𝜕𝑥 ) ή ∇
∇ ⃗ 𝑈 (𝓆 ) =𝜕𝑈
𝜕𝑈 (5.3)
𝜕𝑦
𝜕𝑦
𝜕𝑈
( 𝜕𝑧 )
Για να προσελκύσει το ρομποτικό σύστημα 𝒜 προς τη διαμόρφωση του επιθυμητού στόχου του, απωθώντας
το παράλληλα από τα εμπόδια διαμορφώσεων, το 𝑈 κατασκευάζεται ως το άθροισμα δύο συναρτήσεων
δυναμικού,
𝑈(𝓆) = 𝑈𝑎𝑡𝑡 (𝓆) + 𝑈𝑟𝑒𝑝 (𝓆) (5.4)
όπου 𝑈𝑎𝑡𝑡 είναι η ελκτική συνάρτηση δυναμικού, η οποία συνδέεται με την τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 και
είναι ανεξάρτητη από τα εμπόδια διαμορφώσεων, ενώ 𝑈𝑟𝑒𝑝 είναι η απωθητική συνάρτηση δυναμικού, η οποία
συνδέεται με τα εμπόδια διαμορφώσεων και είναι ανεξάρτητη της τελικής διαμόρφωσης του 𝒜. Κατά
αντιστοιχία, το δυναμικό πεδίο 𝐹 ορίζεται ως το άθροισμα δύο διανυσμάτων,

⃗ 𝑈𝑎𝑡𝑡 (𝓆) και 𝐹𝑟𝑒𝑝 = −∇


𝐹𝑎𝑡𝑡 = −∇ ⃗ 𝑈𝑟𝑒𝑝 (𝓆) (5.5)
όπου 𝐹𝑎𝑡𝑡 καλείται ελκτική δύναμη και 𝐹𝑟𝑒𝑝 καλείται απωθητική δύναμη.

5.1.2 To Ελκτικό Δυναμικό


Υπάρχουν πολλά κριτήρια που πρέπει να πληροί το ελκτικό δυνητικό πεδίο 𝑈𝑎𝑡𝑡 . Αρχικά, το 𝑈𝑎𝑡𝑡 θα πρέπει να
είναι γνησίως αύξουσα συνάρτηση ως προς την απόσταση του ρομποτικού συστήματος από τον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
Η απλούστερη επιλογή είναι να αναπαριστήσουμε 𝑈𝑎𝑡𝑡 με το κωνικό δυναμικό (conic potential), υπολογίζοντας
μια κλιμακωτή απόσταση (scaled distance) προς τον στόχο, δηλαδή, 𝑈𝑎𝑡𝑡 (𝓆 ) = 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |. Το 𝜁 είναι
ένας τελεστής που χρησιμοποιείται για την εξομάλυνση της επίδρασης του ελκτικού δυναμικού και
εφαρμόζεται σε όλα τα σημεία εκτός του στόχου. Συνήθως, η τιμή της ορίζεται από τον χρήστη. Η κλίση του
ελκτικού πεδίου ορίζεται ως εξής:
𝜁 (5.6)
⃗ 𝑈𝑎𝑡𝑡 (𝓆) =
∇ (𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 )
|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 125
Ο τελεστής 𝜁 συμβάλλει στον σχηματισμό ενός ομαλού δυναμικού πεδίου, αποδίδοντας μία αναλογική
σχέση της τρέχουσας θέσης από τον στόχο. Όσο πιο μακριά βρίσκεται το τρέχον σημείο 𝓆 από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 ,
τόσο μεγαλύτερη επίδραση έχει ο τελεστής στο διάνυσμα. Πρακτικά, όταν το 𝒜 βρίσκεται σε μακρινή
απόσταση από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , τόσο πιο έντονα κινείται προς την περιοχή του. Σε αντίθετη περίπτωση, όταν το 𝒜
βρίσκεται κοντά στην περιοχή του 𝓆𝜎𝜏ό𝜒𝜊𝜍 , η επίδραση της έλξης του 𝜁 αυτού είναι πιο ήπια. Η ιδιότητα αυτή
είναι πολύ χρήσιμη για τα κινούμενα ρομποτικά συστήματα, καθώς μειώνεται η πιθανότητα να προσπεράσει
το 𝒜 το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , λόγω της ορμής που αναπτύσσει.
Κατά την αριθμητική εφαρμογή του παραπάνω 𝑈𝑎𝑡𝑡 (𝓆), παρατηρούμε ότι παρουσιάζει κάποια προβλήματα
ασυνέχειας στο αρχικό σημείο. Για αυτόν τον λόγο προτιμάται η συνάρτηση δυναμικού να είναι συνεχώς
διαφορίσιμη, καθώς ο παράγοντας του ελκτικού πεδίου μειώνεται όταν το 𝒜 πλησιάζει το 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Επιλέγεται,
λοιπόν, μία παραβολική συνάρτηση, η οποία δίνεται από τη σχέση,
1 2 (5.7)
𝑈𝑎𝑡𝑡 (𝓆) = 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |
2
όπου η 𝑈𝑎𝑡𝑡 (𝓆) είναι θετική ή κενή και παρουσιάζει ελάχιστο στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 με 𝑈𝑎𝑡𝑡 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ) = 0. Η κλίση της
παραπάνω συνάρτησης δίνεται από τη σχέση,
1
⃗ 𝑈𝑎𝑡𝑡 (𝓆) = ∇ ( 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |2 )
∇ (5.8)
2
1 2
= 𝜁∇ (|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ) = 𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 )
2

Η αντίστοιχη ελκτική δύναμη δίνεται από τη σχέση 𝐹𝑎𝑡𝑡 = −∇ ⃗ 𝑈𝑎𝑡𝑡 (𝓆) = −𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ). Στην Εικόνα 5.1
απεικονίζεται το ελκτικό δυναμικό πεδίο και η διεύθυνσή του, ο στόχος 𝓆𝜎𝜏ό𝜒𝜊𝜍 βρίσκεται στο κέντρο του.
Στην Εικόνα 5.2 απεικονίζονται οι ισοϋψείς του 𝑈𝑎𝑡𝑡 , όπου κάθε κύκλος αντιστοιχεί σε ένα σύνολο σημείων 𝓆,
όπου το 𝑈𝑎𝑡𝑡 (𝓆) είναι σταθερό. Τέλος, στην Εικόνα 5.3 απεικονίζεται η επιφάνεια του 𝑈𝑎𝑡𝑡 .

Εικόνα 5.2 Το ελκτικό δυναμικό πεδίο.

Ηλίας Ξυδιάς 126


Εικόνα 5.3 Οι ισοϋψείς καμπύλες.

Εικόνα 5.4 Η κωνική επιφάνεια του ελκτικού πεδίου.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 127
Είναι σημαντικό να σημειωθεί ότι, καθώς το δυναμικό πεδίο συγκλίνει γραμμικά προς το μηδέν, το ρομποτικό
σύστημα πλησιάζει προς το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ όταν το δυναμικό μεγαλώνει, τότε το ρομποτικό σύστημα κινείται
μακριά από αυτόν. Στις περιπτώσεις που το σημείο εκκίνησης βρίσκεται μακριά από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , προκαλείται
στο ρομποτικό σύστημα μεγάλη ταχύτητα. Για τον λόγο αυτόν γίνεται συχνά συνδυασμός δύο ελκτικών
δυναμικών πεδίων: του τετραγωνικού και του κωνικού. Με αυτόν τον τρόπο το κωνικό δυναμικό ελκύει το
ρομποτικό σύστημα όταν βρίσκεται πολύ μακριά από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ το τετραγωνικό δυναμικό ενεργοποιείται
όταν το ρομποτικό σύστημα κείται κοντά στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Επίσης, είναι σημαντικό να οριστεί η τιμή που πρέπει
να έχει το ελκτικό πεδίο στο σύνορο μεταξύ του κωνικού και του τετραγωνικού πεδίου. Παρακάτω,
παρουσιάζεται το συνδυαστικό ελκτικό πεδίο, καθώς επίσης και η κλίση του,
1 2 ∗
𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | , |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍
𝑈𝑎𝑡𝑡 (𝓆) = { 2 (5.9)
∗ 1 ∗ ∗
𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | − 𝜁(𝑑𝜎𝜏ό𝜒𝜊𝜍 )2 , |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | > 𝑑𝜎𝜏ό𝜒𝜊𝜍
2


𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ), |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍

⃗ 𝑈𝑎𝑡𝑡 (𝓆) = {𝑑𝜎𝜏ό𝜒𝜊𝜍
∇ 𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ) ∗ (5.10)
, |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | > 𝑑𝜎𝜏ό𝜒𝜊𝜍
|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |

όπου 𝑑𝜎𝜏ό𝜒𝜊𝜍 είναι το όριο της απόστασης από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , με βάση το οποίο πραγματοποιείται η εναλλαγή
μεταξύ του κωνικού και του τετραγωνικού δυναμικού. Το πεδίο θεωρείται καλώς ορισμένο στη συνοριακή
περιοχή των δύο πεδίων, καθώς το κωνικό πεδίο έχει ίση τιμή με το τετραγωνικό.

5.1.3 Το Απωθητικό Δυναμικό


Η κύρια ιδέα που διέπει τον ορισμό του απωθητικού δυναμικού είναι να δημιουργηθεί ένα δυναμικό φράγμα
γύρω από την περιοχή του εμποδίου διαμορφώσεων 𝒞𝒪. Επιπλέον, είναι συνήθως επιθυμητό το απωθητικό
δυναμικό να μην επηρεάζει την κίνηση του ρομποτικού συστήματος όταν βρίσκεται αρκετά μακριά από τα
εμπόδια 𝒞𝒪 (Εικόνα 5.5).

Εικόνα 5.5 Το απωθητικό δυναμικό.

Ηλίας Ξυδιάς 128


Ο απλούστερος τρόπος για να εκφραστούν οι παραπάνω περιορισμοί είναι μέσω μιας συνάρτησης, η οποία
ορίζεται με βάση την απόσταση 𝐷𝒞𝒪 (𝓆) από το πιο κοντινό εμπόδιο και είναι η ακόλουθη:
1 1 1 ∗
𝜂( − ∗ )2 , 𝐷𝒞𝒪 (𝓆) ≤ 𝐷𝒞𝒪
𝑈𝑟𝑒𝑝 (𝓆) = {2 𝐷𝒞𝒪 (𝓆) 𝐷𝒞𝒪 (5.11)

0, 𝐷𝒞𝒪 (𝓆) > 𝐷𝒞𝒪

όπου η σταθερά 𝜂 μπορεί να χρησιμοποιηθεί ως κάποιο είδος κέρδους για το πεδίο, ενώ η σταθερά 𝐷𝒞𝒪 ορίζεται
ως μια απόσταση «ασφαλείας», όταν το ρομποτικό σύστημα αγνοεί την ύπαρξη του εμποδίου στον χώρο

εργασίας. Οι σταθερές 𝜂 και 𝐷𝒞𝒪 ορίζονται από τον χρήστη, συνήθως μετά από δοκιμές (trial and error). Η
κλίση του 𝑈𝑎𝑡𝑡 (𝓆) ορίζεται ως εξής:
1 1 1 1 ∗
𝜂( − ∗ ) 2 ∇𝐷 (𝓆), 𝐷𝒞𝒪 (𝓆) ≤ 𝐷𝒞𝒪
⃗∇𝑈𝑟𝑒𝑝 (𝓆) = {2 𝐷𝒞𝒪 (𝓆) 𝐷𝒞𝒪 𝐷𝒞𝒪 (𝓆) 𝒞𝒪 (5.12)

0, 𝐷𝒞𝒪 (𝓆) > 𝐷𝒞𝒪
Η εφαρμογή του απωθητικού δυναμικού, όπως αυτό που περιγράφεται από την Εξίσωση 5.9, δημιουργεί
ταλαντώσεις γύρω από τις περιοχές των εμποδίων, ιδιαίτερα στα σημεία εκείνα που ισαπέχουν από εμπόδια.
Για να αποφευχθούν αυτές οι ταλαντώσεις, αντί να οριστεί η συνάρτηση απωθητικού δυναμικού ως προς την
απόσταση στο πλησιέστερο εμπόδιο, η συνάρτηση απωθητικού δυναμικού επαναπροσδιορίζεται ως προς τις
𝑖 ( )
αποστάσεις προς μεμονωμένα εμπόδια 𝐷𝒞𝒪 𝓆 , δηλαδή,
𝑖 ( )
𝐷𝒞𝒪 𝓆 = min 𝑑(𝓆, 𝑐) (5.13)
𝒞𝒪

όπου 𝑐 είναι το κοντινότερο σημείο του εμποδίου 𝒞𝒪 από την τρέχουσα θέση 𝓆 του ρομποτικού συστήματος
και 𝑑 (𝓆, 𝑐 ) = |𝓆 − 𝑐|.
Στην περίπτωση κατά την οποία ο χώρος εργασίας περιέχει κυρτά εμπόδια, τότε έχει δειχθεί ότι η κλίση
𝑖 ( )
της απόστασης 𝐷𝒞𝒪 𝓆 δίνεται από τη σχέση:
𝑖 ( ) 𝓆−𝑐
∇𝐷𝒞𝒪 𝓆 = (5.14)
𝑑(𝓆, 𝑐)
Με τον τρόπο αυτό, κάθε εμπόδιο μπορεί να έχει τη δική του συνάρτηση δυναμικού, η οποία δίνεται από την
εξίσωση (4.10),
1 1 1 ∗
𝜂( 𝑖 − ∗ )2 , 𝐷𝒞𝒪 (𝓆) ≤ 𝐷𝒞𝒪
𝑖 ( )
𝑈𝑟𝑒𝑝 𝓆 = {2 𝐷𝒞𝒪 (𝓆) 𝐷𝒞𝒪 (5.15)
𝑖 ( ) ∗
0, 𝐷𝒞𝒪 𝓆 > 𝐷𝒞𝒪
Με βάση τα παραπάνω το συνολικό απωθητικό δυναμικό, δίνεται από τη σχέση 𝑈𝑟𝑒𝑝 = ∑𝑛𝑖=1 𝑈𝑟𝑒𝑝 𝑖 ( )
𝓆 , όπου 𝑛
είναι ο συνολικός αριθμός των εμποδίων που βρίσκονται στον χώρο εργασίας. Στην περίπτωση που ο χώρος
εργασίας περιέχει μη κυρτά εμπόδια, τότε αυτά αποσυντίθενται σε κυρτά. Το μειονέκτημα της αποσύνθεσης
των κυρτών εμποδίων είναι ότι δημιουργούνται πολλά μικρά κυρτά εμπόδια που βρίσκονται κοντά το ένα στο
άλλο, με αποτέλεσμα να δημιουργείται ένα συνδυασμένο απωθητικό δυναμικό που είναι μεγαλύτερο από αυτό
που παράγεται από ένα μόνο μεγαλύτερο εμπόδιο. Ένας εμπειρικός τρόπος για να αντιμετωπίσουμε αυτό το
μειονέκτημα είναι να «ζυγίσουμε» το δυναμικό που δημιουργείται από κάθε μονωμένο κομμάτι με έναν
συντελεστή, ανάλογα με το «μέγεθος» του 𝒞𝒪 από το οποίο δημιουργείται.
Στην Εικόνα 5.6 παρουσιάζεται ο χώρος εργασίας στον οποίο καλείται να κινηθεί ένα ρομποτικό
σύστημα. Ο χώρος αποτελείται από ένα εμπόδιο κυκλικού σχήματος και από ένα εμπόδιο ορθογώνιου
σχήματος. Η διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 αναπαρίσταται με κόκκινο χρώμα. Στην Εικόνα 5.7 απεικονίζεται το ελκτικό
δυναμικό της Εξ. 5.7, ενώ η Εικόνα 5.8 απεικονίζει το απωθητικό δυναμικό που περιγράφεται από την Εξ. 5.13.
Τέλος, η Εικόνα 5.9 παρουσιάζει το συνολικό δυναμικό όπως αυτό περιγράφεται από την Εξ. 5.4.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 129
Εικόνα 5.6 Ο χώρος εργασίας με 2 εμπόδια και το 𝓆𝜎𝜏ό𝜒𝜊𝜍 .

Εικόνα 5.7 Το ελκτικό δυναμικό.

Ηλίας Ξυδιάς 130


Εικόνα 5.8 Το απωθητικό δυναμικό.

Εικόνα 5.9 Το συνολικό δυναμικό.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 131
5.1.4 Κάθοδος Βασισμένη στην Κλίση (Gradient Descent)
Η προσέγγιση Gradient Descent είναι πολύ γνωστή και χρησιμοποιείται κυρίως στα προβλήματα
βελτιστοποίησης. Η ιδέα υλοποίησής της είναι απλή: Ξεκινώντας από την αρχική διαμόρφωση, κάντε ένα μικρό
βήμα προς την κατεύθυνση με τη μεγαλύτερη κλίση. Αυτό δίνει μια νέα διαμόρφωση και η διαδικασία
επαναλαμβάνεται μέχρι να μηδενιστεί η κλίση (Αλγόριθμος 5.1).
Αλγόριθμος 5.1 Gradient Descent
Input: A means to compute the gradient 𝛻⃗𝑈(𝓆) at the
configuration 𝓆
Output: A sequence of points {𝓆(0), 𝓆(1), … , 𝓆(𝑖)}
1: 𝓆(0) = 𝓆𝛼𝜌𝜒ή
2: 𝑖=0
3: While ⃗∇𝑈(𝓆(𝑖)) ≠ 0 do
4: 𝓆(𝑖 + 1) = 𝓆(𝑖) + 𝑎(𝑖)∇⃗ 𝑈(𝓆(𝑖))
5: 𝑖 =𝑖+1
6: End while
Στον παραπάνω αλγόριθμο με 𝑎(𝑖) συμβολίζουμε το μήκος βήματος 0. Το μήκος βήματος πρέπει να επιλεχθεί
προσεκτικά, καθώς, αν είναι πολύ μεγάλο, η υπολογισμένη τιμή θα υπερβεί το ολικό ελάχιστο και ο αλγόριθμος
θα συνεχίσει να υπολογίζει λανθασμένες τιμές που θα περνάνε από τη διαμόρφωση-στόχο, χωρίς να την
προσεγγίσουμε ποτέ. Αν αντίθετα δώσουμε στο μήκος βήματος πολύ μικρή τιμή, η επίλυση θα γίνει τόσο αργή
που η σύγκλιση στη βέλτιστη τιμή δεν θα είναι ποτέ πραγματικά εφικτή. Αφού βρεθεί η κατάλληλη τιμή για το
μήκος του βήματος, αυτό διατηρείται σταθερό μέχρι την ολοκλήρωση της διαδικασίας, ενώ η κατεύθυνση
υπολογίζεται εκ νέου για κάθε ανανεωμένη τιμή της συνάρτησης, δηλαδή σε κάθε επανάληψη. Όπως είναι
προφανές, όσο πιο κοντά φτάνει η επίλυση στη βέλτιστη τιμή, τόσο λιγότερο απότομη θα είναι η κλίση της.
Σε κάθε επανάληψη, για να υπολογίσουμε την ανανεωμένη τιμή της συνάρτησης, προσθέτουμε στην τιμή
της προηγούμενης επανάληψης το γινόμενο του μήκους του βήματος και της κλίσης της αντικειμενικής
συνάρτησης της προηγούμενης επανάληψης. Η κλίση της συνάρτησης είναι μία παράμετρος που αποδίδει την
κατεύθυνση ως προς την οποία η επίλυση έχει απότομη κάθοδο.
Για να γίνει περισσότερο κατανοητός ο μηχανισμός λειτουργίας της, θα περιγράψουμε το ακόλουθο
παράδειγμα: Φανταστείτε ότι ένας σκιέρ βρίσκεται πάνω σε μία βουνοκορφή. Η κοιλάδα που βλέπει κάτω είναι
γεμάτη από βουνοκορφές, λόφους και πεδιάδες (Εικόνα 5.10). Σκοπός του είναι να φτάσει στην πεδιάδα, όπου
το έδαφος είναι ίσιο (δηλ. έχει την ελάχιστη κλίση). Επιθυμεί να κατέβει και να φτάσει σε κάποια από τις
πεδιάδες όσο πιο γρήγορα γίνεται (δηλ., με τον βέλτιστο τρόπο). Αρχικά κοιτάζει γύρω του και προσπαθεί να
δει ποια είναι η κλίση του εδάφους σε κάθε σημείο. Η λογική μας λέει ότι αν ακολουθήσει το πιο απότομο
σημείο αυτό θα μας κατευθύνει με τον γρηγορότερο τρόπο σε κάποια πεδιάδα (υποθέτουμε ότι αγνοεί τους
κινδύνους). Έτσι, λοιπόν, κάνει ένα βήμα προς την κατεύθυνση με την πιο απότομη κλίση. Στη συνέχεια
κοιτάζει πάλι γύρω του και εκτελεί πάλι άλλο ένα βήμα προς την κατεύθυνση με την πιο απότομη κλίση.
Επαναλαμβάνει τη διαδικασία, μέχρις ότου βρεθεί εκεί όπου οποιοδήποτε σημείο γύρω του έχει κλίση θετική,
δηλαδή ανηφορική. Σε αυτήν την περίπτωση θεωρεί ότι βρίσκεται πλέον σε ένα τοπικό ελάχιστο, δηλαδή στον
στόχο του.

Εικόνα 5.10 Ο σκιέρ έφτασε στον στόχο.

Ηλίας Ξυδιάς 132


5.1.5 Στοχαστική Gradient Descent
Παρατηρώντας τη σχέση που ορίζει την ακολουθία ελαχιστοποίησης της μεθόδου gradient descent,
⃗ 𝑈(𝓆(𝑖))
𝓆(𝑖 + 1) = 𝓆(𝑖 ) + 𝑎(𝑖)∇ (5.16)
βλέπουμε ότι για κάθε επανάληψη της μεθόδου απαιτείται ο υπολογισμός της κλίσης ∇ ⃗ 𝑈(𝓆(𝑖)). Δηλαδή,
απαιτείται ο υπολογισμός μίας μερικής παραγώγου για κάθε συντεταγμένη της διαμόρφωσης 𝓆.
Επειδή οι παραπάνω υπολογισμοί είναι χρονοβόροι, μπορούμε να εφαρμόσουμε μία δραστικά
απλοποιημένη, στοχαστική, προσεγγιστική παραλλαγή της μεθόδου Gradient Descent, αν σε κάθε βήμα της
επαναληπτικής διαδικασίας μετακινούμε το 𝓆, λαμβάνοντας υπόψη μόνο μία από τις μερικές παραγώγους του,
την οποία επιλέγουμε τυχαία. Η παραλλαγή που προκύπτει ονομάζεται Στοχαστική Gradient Descent.
Για κάθε επανάληψη, η Στοχαστική Gradient Descent απαιτεί γνώση μόνο για μία από τις μερικές
παραγώγους που συναποτελούν την κλίση ∇ ⃗ 𝑈(𝓆(𝑖)) και, μάλιστα, η μερική παράγωγος αυτή επιλέγεται τυχαία,
ανεξάρτητα από το ιστορικό προηγούμενων επιλογών. Αυτό σημαίνει ότι η μέθοδος αυτή, όχι μόνο δεν
χρειάζεται πλήρη γνώση όλων των μερικών παραγώγων της ⃗∇𝑈(𝓆(𝑖)) για κάθε της βήμα, αλλά μπορεί να
προχωράει κάθε φορά που η πληροφορία οποιασδήποτε από αυτές της γίνει γνωστή.
Ο προσεγγιστικός χαρακτήρας της Στοχαστικής Gradient Descent καθιστά τη σύγκλισή της με τη
διαμόρφωση-στόχο μια περίπλοκη διαδικασία. Την ανεπιθύμητη, όσο πλησιάζουμε προς τη βέλτιστη λύση,
συμπεριφορά αυτή, μπορούμε να αντισταθμίσουμε μειώνοντας το μέγεθος του βήματος. Στην περίπτωση αυτή,
τόσο η Gradient Descent όσο και η Στοχαστική Gradient Descent συγκλίνουν σχεδόν πάντα στη βέλτιστη λύση.

5.1.6 Υπολογισμός συνάρτησης απόστασης (Αλγόριθμος Brushfire)


Σε αυτή την υπο-ενότητα θα περιγράψουμε τη συνάρτηση απόστασης, μια μέθοδο υπολογισμού του ελκτικού
και του απωθητικού πεδίου που αποτελεί σημαντικό εργαλείο. Για τον σχηματισμό του ελκτικού πεδίου, η
εφαρμογή είναι απλή, εφόσον είναι γνωστό το σημείο εκκίνησης του ρομποτικού συστήματος καθώς επίσης
και το σημείο του στόχου. Η δυσκολία έγκειται στον υπολογισμό του απωθητικού πεδίου, καθώς είναι
περίπλοκο να υπολογιστούν οι αποστάσεις από τα εμπόδια. Οι «κλασικές» μέθοδοι υπολογισμού των
αποστάσεων πραγματοποιούνται με τη χρήση των αισθητήρων που φέρει το ρομποτικό όχημα. Η μέθοδος που
θα περιγράψουμε αναπαριστά τον επίπεδο χώρο του ρομποτικού συστήματος με ένα πλέγμα από κελιά
τετραγωνικού σχήματος και υπολογίζει τις αποστάσεις στο πλέγμα αυτό. Η μέθοδος ονομάζεται αλγόριθμος
Brushfire.
Συγκεκριμένα, σε αυτόν τον αλγόριθμο, υπολογίζονται οι αποστάσεις Manhattan των σημείων ενός
χάρτη με βάση την αναπαράστασή του ως πλέγματος. Ο χάρτης αυτός συνιστά έναν διδιάστατο πίνακα
αποτελούμενο από τετραγωνικά κελιά, το οποία θα ονομάζουμε pixels. Σε ένα pixel αντιστοιχεί η τιμή 0, εάν
κείται σε ελεύθερες περιοχές, και η τιμή 1, εάν κείται εξολοκλήρου ή μερικώς σε κάποιο εμπόδιο. Σε αυτήν τη
μέθοδο ορίζονται δύο τύποι γειτονικών pixels:
• Πρώτος τύπος: 4-Connected. Όταν το βόρειο, το νότιο, το ανατολικό και το δυτικό pixel ορίζονται
ως γείτονες, το πλέγμα διαθέτει 4 γειτονικά σημεία σύνδεσης.
• Δεύτερος τύπος: 8-Connected. Αν συμπεριληφθούν επίσης και τα διαγώνια γειτονικά pixels, τότε
παρουσιάζονται 8 σημεία σύνδεσης.
Στις παρακάτω Εικόνες 5.11 και 5.12 φαίνεται ο τρόπος συνδεσιμότητας των γειτόνων για ένα pixel
(αναπαρίσταται με πορτοκαλί χρώμα).

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 133
Εικόνα 5.11 4-connected.

Εικόνα 5.12 8-connected.

Η κεντρική ιδέα του αλγορίθμου Brushfire είναι η εκκίνησή του από συγκεκριμένα σημεία του χώρου και η
εξάπλωσή του προς όλες τις κατευθύνσεις υπό κάποια συνθήκη. Ο αλγόριθμος τερματίζει εάν ισχύσει μία
προκαθορισμένη συνθήκη. Tο όνομα του αλγορίθμου είναι ενδεικτικό της εξάπλωσης. Tο «Brushfire»

Ηλίας Ξυδιάς 134


υποδηλώνει εξάπλωση παρόμοια με αυτή της φωτιάς, η οποία ξεκινάει από κάποια σημεία και αναπτύσσεται
σταδιακά σε κυκλικό μοτίβο. Tα κύρια χαρακτηριστικά του αλγορίθμου είναι τα ακόλουθα:
• Τα σημεία εκκίνησης
• Η συνθήκη εξάπλωσης
• Η συνθήκη τερματισμού
Στο πρώτο βήμα του αλγορίθμου όλα τα σημεία του πλέγματος με μηδενική τιμή που γειτονεύουν με τα εμπόδια
σημειώνονται με την τιμή 2. Ο αλγόριθμος μπορεί να «εξαπλωθεί» 4-connected ή 8–connected για να καθορίσει
τη συνδεσιμότητα των γειτόνων του κάθε pixel. Έπειτα, όλα τα σημεία με μηδενική τιμή που γειτονεύουν με
pixels που έχουν τιμή 2 σημειώνονται με 3. Η διαδικασία αυτή επαναλαμβάνεται έτσι ώστε για κάθε μηδενικό
pixel που γειτονεύει με pixel που έχει κάποια τιμή διάφορη του μηδενός να προσδίδεται αυτή η τιμή. Η
διαδικασία τερματίζει όταν όλα τα pixels έχουν τιμή διάφορη του μηδενός. Στις παρακάτω Εικόνες 5.13, 5.14,
5.15 και 5.16, παρατίθεται ολόκληρη η διαδικασία εφαρμογής του Brushfire σε βήματα με χρήση 8-connected
γειτονικών σημείων για έναν χώρο που περιέχει δυο πολυγωνικά εμπόδια.

Εικόνα 5.13 Ο αλγόριθμος Brushfire ξεκινά τη διαδικασία εξάπλωσης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 135
Εικόνα 5.14 Ο αλγόριθμος συνεχίζει τη διαδικασία εξάπλωσης.

Εικόνα 5.15 Ο αλγόριθμος οδηγείται προς την ολοκλήρωσή του.

Ηλίας Ξυδιάς 136


Εικόνα 5.15 Ο αλγόριθμος ολοκλήρωσε την εξάπλωσή του.

Με βάση τα παραπάνω, μπορούμε να πούμε ότι το αποτέλεσμα του αλγορίθμου είναι ένας διδιάστατος πίνακας
(Εικόνα 5.15), που περιέχει τις τιμές εξάπλωσης, με όνομα Brushfire. Τα βήματα του αλγορίθμου
περιγράφονται στον αλγόριθμο 5.2.
Αλγόριθμος 5.2 Αλγόριθμος Brushfire
1. Αρχικοποίηση του αλγορίθμου: Ορισμός τιμής 0 στον πίνακα στα σημεία εκκίνησης.
2. Επαναληπτική διαδικασία ανανέωσης: Εάν βρισκόμαστε στην 𝑁 −οστή εξάπλωση
Αναγνωρίζονται τα pixels με τιμή Brushfire[𝑖, 𝑗] = 𝑁.
Ανανεώνονται όλοι οι γείτονες των παρακάτω pixels με
τιμή 𝑁 + 1, εάν ισχύει η συνθήκη εξάπλωσης και τα
pixels των γειτόνων δεν έχουν λάβει τιμή Brushfire.
3. Ο αλγόριθμος τελειώνει όταν ισχύσει η συνθήκη τερματισμού
Για τον υπολογισμό ενός ελκτικού πεδίου με τη χρήση του αλγορίθμου Brushfire δουλεύουμε ως εξής:
• Αφού ορισθούν οι ελεύθερες και οι κατειλημμένες με εμπόδια περιοχές, το σημείο έναρξης
ορίζεται ως το σημείο pixel του στόχου που λαμβάνει την τιμή 2.
• Ανάλογα με την επιλογή ορισμού των γειτονικών σημείων σε 4-connected ή 8-connected, γύρω
από το σημείο του στόχου σημειώνεται η τιμή 3 και στη συνέχεια γύρω από το κάθε pixel με τιμή
3 σημειώνεται στις γειτονικές θέσεις η τιμή 4.
• Η διαδικασία επαναλαμβάνεται μέχρι να μην υπάρχει pixel στον χώρο που να έχει μηδενική τιμή.
Στην Εικόνα 5.17 που ακολουθεί, δίνεται η τελική μορφή μιας τέτοιας διαδικασίας, στη συγκεκριμένη
περίπτωση έχει γίνει ορισμός 4-connected γειτονικών σημείων για το κάθε pixel.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 137
Εικόνα 5.17 Υπολογισμός του ελκτικού πεδίου με χρήση του Brushfire.

5.1.7 Το Πρόβλημα των Τοπικών Ελαχίστων


Όπως αναφέρθηκε στην αρχή αυτού του κεφαλαίου, το σημαντικότερο μειονέκτημα των Δυναμικών Πεδίων
είναι η ύπαρξη των τοπικών ελαχίστων, τα οποία μπορούν να παγιδέψουν το ρομποτικό σύστημα. Το πρόβλημα
των τοπικών ελαχίστων πλήττει τους αλγορίθμους καθόδου κλίσης ή άλλων μεθόδων ευρέσεως ολικού
ελαχίστου. Είναι εφικτό να δειχθεί ότι σε ένα δυναμικό πεδίο μία μέθοδος κλίσης μπορεί να εξασφαλίσει τη
σύγκλιση σε κάποιο ελάχιστο, ωστόσο οι μέθοδοι αυτές δεν εξασφαλίζουν με σίγουρο τρόπο ότι το τελικό
ελάχιστο της διαδρομής θα είναι το ολικό, δηλαδή ο επιθυμητός στόχος. Αυτό έχει ως αποτέλεσμα πολλές
φορές στην κατασκευή μιας διαδρομής που εκτρέπεται από την επιθυμητή πορεία προς τον τελικό στόχο.
Στην Εικόνα 5.18 παρουσιάζεται η περίπτωση κατά την οποία, ενώ το ρομποτικό σύστημα αρχικά
έλκεται προς τον στόχο, πλησιάζει ένα εμπόδιο. Το εμπόδιο, όπως δίνεται στην παρακάτω εικόνα, έχει κυρτό
σχήμα. Το ρομποτικό σύστημα, καθώς εισέρχεται μέσα στο κυρτό εμπόδιο, δέχεται απώθηση από το πάνω
μέρος, με αποτέλεσμα να οδηγείται προς το κάτω μέρος της περιοχής του εμποδίου μέχρις ότου να δεχθεί
αντίστοιχη απώθηση από το κάτω τείχος του εμποδίου. Σε αυτήν την περίπτωση, το ρομποτικό σύστημα δέχεται
μία δύναμη έλξης προς τον στόχο αλλά συγχρόνως δέχεται δύο αντίρροπες και ισοδύναμες απωθητικές
δυνάμεις από τα τοιχώματα του εμποδίου. Τελικά, στο ρομποτικό σύστημα υπερισχύει η επίδραση που δέχεται
από τα εμπόδια σε σχέση με την έλξη που δέχεται από τον στόχο. Το ρομποτικό σύστημα έχει καταφέρει να
φτάσει σε ένα σημείο με κλίση ⃗∇𝑈(𝓆) = 0 που δεν αντιστοιχεί στον στόχο.

Ηλίας Ξυδιάς 138


Εικόνα 5.18 Το ρομποτικό σύστημα παγιδεύεται στην κοιλότητα του κυρτού εμποδίου.

Πρέπει να σημειωθεί ότι αυτό το πρόβλημα δεν περιορίζεται μόνο σε μη-κυρτά εμπόδια, όπως φαίνεται και
στην Εικόνα 5.19. Τα τοπικά ελάχιστα παρουσιάζουν ένα σημαντικό μειονέκτημα στα δυναμικά πεδία και έτσι
δεν χαρακτηρίζονται πλήρη.

Εικόνα 5.19 Τοπικό ελάχιστο χωρίς κοίλα εμπόδια. Το ρομποτικό σύστημα απομακρύνεται από τα δύο κυρτά εμπόδια
μέχρι να φτάσει σε ένα σημείο, όπου η κλίση εξαφανίζεται. Σε αυτό το σημείο, το άθροισμα της ελκτικής και της
απωθητικής κλίσης είναι μηδέν, με αποτέλεσμα να παγιδεύεται.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 139
5.1.8 Ο αλγόριθμος Wave-Front Expansion
Ο αλγόριθμος Wave-Front 0, 0 προσφέρει την απλούστερη λύση για την αντιμετώπιση των τοπικών ελάχιστων.
Όμως περιορίζεται σε χώρους που αναπαρίστανται ως πλέγματα. Για να γίνει κατανοητός ο μηχανισμός
λειτουργίας του, ας θεωρήσουμε διδιάστατο χώρο. Αρχικά, ο αλγόριθμος ξεκινά με το τυπικό δυαδικό πλέγμα,
τοποθετώντας 0 στα κελιά/pixels, τα οποία κείνται σε ελεύθερες περιοχές και την τιμή 1 στα κελιά/pixels που
βρίσκονται σε εμπόδια. Θεωρούμε, επίσης, ότι ο αλγόριθμος γνωρίζει τις θέσεις των pixels στα οποία
βρίσκονται η αρχή και ο στόχος του ρομποτικού συστήματος. Στο pixel στο οποίο βρίσκεται ο στόχος
ανατίθεται η τιμή 2. Κατά το πρώτο βήμα, όλα τα pixels με τιμή 0 που γειτνιάζουν με τον στόχο επισημαίνονται
με την 3. Στη συνέχεια, όλα τα pixels μηδενικής αξίας που γειτνιάζουν με τα pixels που έχουν τιμή 3
επισημαίνονται με 4. Αυτή η διαδικασία ουσιαστικά αναπτύσσει ένα μέτωπο κύματος από τον στόχο, σε κάθε
επανάληψη του οποίου, όλα τα pixels στο μέτωπο κύματος (wave-front) έχουν το ίδιο μήκος διαδρομής,
μετρούμενο σε σχέση με το πλέγμα, προς τον στόχο. Αυτή η διαδικασία τερματίζεται όταν το μέτωπο κύματος
(wave-front) φτάσει στο pixel που περιέχει τη θέση εκκίνησης του ρομποτικού συστήματος.
Στη συνέχεια ο αλγόριθμος καθορίζει μια διαδρομή μέσω του Gradient Descent στο πλέγμα ξεκινώντας
από το pixel στο οποίο βρίσκεται η αρχή του ρομποτικού συστήματος (αρχικό pixel). Ουσιαστικά, ο αλγόριθμος
καθορίζει τη διαδρομή προσθέτοντας ένα pixel κάθε φορά. Ας υποθέσουμε ότι η τιμή του αρχικού pixel είναι
33. Το επόμενο pixel στη διαδρομή είναι οποιοδήποτε γειτονικό pixel του οποίου η τιμή είναι μικρότερη,
δηλαδή 32. Θα μπορούσαν να υπάρχουν πολλαπλές επιλογές, δηλαδή pixels με την ίδια τιμή, απλά επιλέγουμε
οποιαδήποτε από τα pixels. Το επόμενο pixel είναι τότε ένα του οποίου η τιμή είναι 31. Ο περιορισμός του
ελεύθερου χώρου (και επομένως η διακριτοποίηση) και η συνέχεια της συνάρτησης απόστασης διασφαλίζουν
ότι η κατασκευή του wave-front εγγυάται ότι θα υπάρχει πάντα ένα γειτονικό pixel, του οποίου η τιμή είναι
μικρότερη κατά ένα από την τιμή του τρέχοντος pixel και ότι αυτή η διαδικασία σχηματίζει μια διαδρομή στο
πλέγμα προς το pixel που περιέχει τον στόχο, δηλαδή προς το pixel του οποίου η τιμή είναι δύο.
Στις εικόνες που ακολουθούν παρουσιάζονται έξι panels που δείχνουν διάφορα στάδια της εξάπλωσης
του wave-front, θεωρώντας ότι μεταξύ των pixels κινούμαστε χρησιμοποιώντας συνδεσιμότητα τεσσάρων
σημείων (4-connected). Πρέπει να σημειωθεί ότι όλα τα σημεία κατά το wave front έχουν την ίδια απόσταση
Manhattan από τον στόχο. Στην Εικόνα 5.24 σημειώστε πώς το Wave-Front συγκρούεται φαινομενικά από
μόνο του. Θα δούμε αργότερα ότι το σημείο αρχικής σύγκρουσης αντιστοιχεί σε ένα saddle point της
συνάρτησης που μετρά την απόσταση από τον στόχο. Αυτό το σημείο στη συνέχεια διαδίδεται και μακριά από
την αρχή. Το ίχνος αυτής της διάδοσης αντιστοιχεί σε ένα σύνολο σημείων που έχουν δύο επιλογές για τα
συντομότερα μονοπάτια προς τον στόχο, είτε γύρω από την κορυφή του τριγώνου είτε κάτω από αυτό.
Ο αλγόριθμος Wave-Front ουσιαστικά σχηματίζει μια δυναμική συνάρτηση στο πλέγμα, η οποία έχει
ένα μόνο τοπικό ελάχιστο, τον στόχο του ρομποτικού συστήματος, επομένως μπορεί να θεωρηθεί πλήρης.
Επίσης, ο αλγόριθμος μπορεί να προσδιορίσει τη συντομότερη διαδρομή, αλλά με κόστος να πλησιάζει
επικίνδυνα τα εμπόδια. Το κύριο μειονέκτημα αυτής της μεθόδου είναι ότι ο αλγόριθμος πρέπει να αναζητήσει
ολόκληρο τον χώρο για μια διαδρομή.
Τέλος, ακριβώς όπως και αλγόριθμος Brushfire, ο αλγόριθμος Wave-Front γενικεύεται επίσης σε
υψηλότερες διαστάσεις. Σε χώρο εργασίας τριών διαστάσεων, όπως ένα pixel έχει τέσσερις κορυφές, ένα voxel
έχει έξι έδρες. Επομένως, η αναλογία με τη συνδεσιμότητα τεσσάρων σημείων με pixel είναι συνδεσιμότητα
έξι σημείων με voxels. Για ένα voxel με τιμή i, εάν υποθέσουμε συνδεσιμότητα έξι σημείων, τότε εκχωρούμε i
+ 1 στα γύρω έξι voxels που μοιράζονται μια έδρα με το τρέχον voxel. Ομοίως, εάν υποθέσουμε συνδεσιμότητα
είκοσι έξι σημείων (ανάλογη με συνδεσιμότητα οκτώ σημείων: 8-connected), τότε εκχωρούμε i + 1 σε όλα τα
περιμετρικά voxels που μοιράζονται μια έδρα, μία ακμή ή μία κορυφή. Θα πρέπει να σημειωθεί, ωστόσο, ότι η
εφαρμογή του αλγορίθμου Wave-front σε υψηλότερες διαστάσεις καθίσταται υπολογιστικά δυσεπίλυτη.

Ηλίας Ξυδιάς 140


Εικόνα 5.20 Η εφαρμογή του Wave-front σε χώρο που περιέχει δύο πολυγωνικά εμπόδια.

Εικόνα 5.21 Η εξάπλωση του Wave-front στον χώρο.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 141
Εικόνα 5.22 Η εφαρμογή του Wave-front σε χώρο που περιέχει δύο πολυγωνικά εμπόδια.

Εικόνα 5.23 Η εξάπλωση του Wave-front κατέκλεισε το πρώτο εμπόδιο που συνάντησε.

Ηλίας Ξυδιάς 142


Εικόνα 5.24 Η εξάπλωση του Wave-front οδηγείται προς το τέλος.

Εικόνα 5.25 Ο Wave-front εξαπλώθηκε σε όλο τον χώρο.

5.2 Σχεδιασμός Διαδρομής με Δυνατότητα Καθοδήγησης


Σε αυτήν την ενότητα θα περιγράψουμε απλές τεχνικές σχεδιασμού διαδρομής με δυνατότητα καθοδήγησης.
Αυτές οι τεχνικές δεν υποθέτουν την ύπαρξη κάποιας συνάρτησης δυναμικού. Ως εκ τούτου, μπορούν να

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 143
εφαρμοστούν σε συνδυασμό με τη συνάρτηση δυναμικού που παρουσιάστηκε στην προηγούμενη ενότητα,
καθώς επίσης και με άλλες συναρτήσεις δυναμικού.
Στην ενότητα 5.1 παρουσιάστηκε μια συνάρτηση δυναμικού στην πιο απλή της μορφή, στην οποία το
ρομποτικό σύστημα αναπαρίσταται ως ένα σωματίδιο, κινούμενο υπό την επίδραση μιας δύναμης 𝐹 (𝓆) =
−∇⃗ 𝑈(𝓆). Σε κάθε διαμόρφωση 𝓆 του ρομποτικού συστήματος, η τεχνητή δύναμη 𝐹 (𝓆) έχει τη δυνατότητα να
καθορίζει την επιτάχυνση του σωματιδίου/ρομποτικού συστήματος. Έχοντας υπόψη τις δυναμικές/κινηματικές
εξισώσεις που περιγράφουν τα κινηματικά και δυναμικά χαρακτηριστικά του ρομποτικού συστήματος και
υποθέτοντας ότι δεν υπάρχει περιορισμός στην ισχύ των ενεργοποιητών, είναι εφικτό να υπολογιστούν οι
δυνάμεις/ροπές που πρέπει να αποδίδονται από τους ενεργοποιητές κάθε χρονική στιγμή. Έτσι το ρομποτικό
σύστημα μπορεί να συμπεριφέρεται όπως και ένα σωματίδιο 0.
Αυτός ο τρόπος χρήσης της συνάρτησης δυναμικού εφαρμόζεται για τη δημιουργία διαδρομών σε
προβλήματα πραγματικού χρόνου. Επίσης, είναι κατάλληλο όταν τα εμπόδια δεν είναι γνωστά εκ των
προτέρων, αλλά γίνονται αισθητά κατά την εκτέλεση της κίνησης από τους αισθητήρες του ρομποτικού
συστήματος. Στις επόμενες υπο-ενότητες, παρουσιάζουμε τέτοιες τεχνικές όπως:
• Την Αναζήτηση Πρώτα κατά βάθος (Depth – First Search), η οποία αν και είναι ιδιαίτερα γρήγορη
στο να βρει μια διαδρομή, μπορεί εύκολα να «κολλήσει» σε τοπικά ελάχιστα.
• Την best – first, η οποία μπορεί να αντιμετωπίζει τα τοπικά ελάχιστα «γεμίζοντάς» τα.
• Η variational planning συνίσταται στη βελτιστοποίηση μιας συνάρτησης που έχει κατασκευαστεί
με την ενσωμάτωση του δυναμικού κατά μήκος μιας πλήρους διαδρομής μεταξύ της αρχικής και
της διαμόρφωσης στόχου.

5.2.1 Αλγόριθμος Depth-First


Αυτή η τεχνική κατασκευάζει μια διαδρομή ως προϊόν διαδοχικών τμημάτων που ξεκινούν από την αρχική
διαμόρφωση 𝓆𝛼𝜌𝜒ή . Κάθε τμήμα της διαδρομής δημιουργείται από το σημείο εκκίνησής του προς την
κατεύθυνση του προκύπτοντος δυναμικού πεδίου στο σημείο εκκίνησής του. Το μήκος του τμήματος είναι ίσο
με κάποιο προκαθορισμένο μήκος. Το σημείο υπολογισμού ή το σημείο έναρξης για το επόμενο τμήμα είναι το
τελικό σημείο του προηγούμενου τμήματος. Το μήκος του τμήματος επιλέγεται να είναι αρκετά μικρό, ώστε να
μην υπάρχει σύγκρουση με τα εμπόδια διαμορφώσεων και να μην υπερβεί τον στόχο. Αυτή η μέθοδος
κατεβαίνει στο πιο απότομο τμήμα της συνάρτησης δυναμικού μέχρι να προσεγγίσει τη διαμόρφωση-στόχο
𝓆𝜎𝜏ό𝜒𝜊𝜍 . Ωστόσο, παρουσιάζει αρκετά προβλήματα με τα τοπικά ελάχιστα, στα οποία μπορεί εύκολα να
παγιδευτεί.
Ας υποθέσουμε ότι οι διαμορφώσεις 𝓆𝑖 και 𝓆𝑖+1 είναι η αρχή και το τέλος του 𝑖 −τμήματος που αποτελεί
μέρος της διαδρομής του ρομποτικού συστήματος. Επιπλέον, ας υποθέσουμε ότι 𝑥𝑗 (𝓆𝑖 ), 𝑗 = 1, … , 𝑚 είναι οι
συντεταγμένες της 𝓆𝑖 𝜖(𝑈, 𝜑). Ορίζουμε το εσωτερικό γινόμενο στον εφαπτόμενο χώρο 𝛵𝓆 (𝒞) έτσι ώστε η βάση
𝛽 που προκαλείται από αυτό το διάγραμμα στο 𝛵𝓆 (𝒞) είναι ορθοκανονική. Τότε έχουμε,
𝜕𝑈 𝜕𝑈 𝑇 (5.17)
⃗ 𝑈] = (−
[𝐹 ]𝛽 = −[∇ ,…,− )
𝛽 𝜕𝑥1 𝜕𝑥𝑚
Ορίζουμε τα στοιχεία του μοναδιαίου διανύσματος 𝑡(𝓆𝑖 ) = 𝐹 (𝓆𝑖 )/‖𝐹 (𝓆𝑖 )‖ στη 𝛽 με 𝑡𝑗 (𝓆𝑖 ). Οι συντεταγμένες
της 𝓆𝑖+1 𝜖(𝑈, 𝜑) που επιτεύχθηκε κατά την 𝑖 επανάληψη είναι οι ακόλουθες:
𝑥𝑗 (𝓆𝑖+1 ) = 𝑥𝑗 (𝓆𝑖 ) + 𝛿𝑖 𝑡𝑗 (𝓆𝑖 ), 𝑗 = 1, … , 𝑚 (5.18)
όπου 𝛿𝑖 είναι το μήκος του 𝑖 τμήματος της διαδρομής, το οποίο υπολογίζεται με τη χρήση της Ευκλείδειας
μετρικής. Το τμήμα 𝓆𝑖 𝓆𝑖+1 είναι η αντίστροφη εικόνα στον χώρο διαμορφώσεων 𝒞 του ευθυγράμμου τμήματος
το οποίο συνδέει το 𝜑(𝓆𝑖 ) με το 𝜑(𝓆𝑖+1 ) στο ℝ𝑚 .
Για να γίνουν τα παραπάνω κατανοητά, ας υποθέσουμε ότι το ρομποτικό σύστημα 𝒜 είναι ένα επίπεδο
αντικείμενο το οποίο κινείται (μετατοπίζεται και περιστρέφεται) στο επίπεδο. Κάθε διαμόρφωση του 𝒜 μπορεί
να περιγραφεί από την τριάδα (𝑥, 𝑦, 𝜃) ∈ ℝ2 × [0,2𝜋), όπου (𝑥, 𝑦) είναι οι συντεταγμένες του 𝒜 ως προς το
𝑂𝒜 και 𝜃 είναι η γωνία μεταξύ των ℱ𝒜 και ℱ𝒲 . Έχουμε,

Ηλίας Ξυδιάς 144


𝜕𝑈
𝑥 (𝓆𝑖+1 ) = 𝑥 (𝓆𝑖 ) + 𝛿𝑖(𝑥, 𝑦, 𝜃)
𝜕𝑥
𝜕𝑈
𝑦(𝓆𝑖+1 ) = 𝑦(𝓆𝑖 ) + 𝛿𝑖 (𝑥, 𝑦, 𝜃) (5.19)
𝜕𝑦
𝜕𝑈
( ) ( )
{𝜃 𝓆𝑖+1 = 𝜃 𝓆𝑖 + 𝛿𝑖 𝜕𝜃 (𝑥, 𝑦, 𝜃)
Προκειμένου να «κανονικοποιηθούν» οι μετατοπίσεις κατά μήκος του άξονα 𝜃 σε σχέση με τις μετατοπίσεις
κατά μήκος των αξόνων 𝑥 και 𝑦, μπορεί κανείς να παραμετροποιήσει το 𝓆 με (𝑥, 𝑦, 𝜑) ∈ ℝ2 × [0,2𝜋𝑅), με το
να θέσει 𝜑 = 𝜃𝑅, όπου 𝑅 = max ‖𝑂𝒜 − 𝑎‖ είναι η μέγιστη απόσταση μεταξύ του σημείου αναφοράς 𝑂𝒜 και
𝑎𝜖𝜕𝒜
του συνόρου του 𝒜. Οπότε έχουμε,
𝜕𝑈 𝛿𝑖 𝜕𝑈
𝜑(𝓆𝑖+1 ) = 𝜑(𝓆𝑖 ) + 𝛿𝑖 (𝑥, 𝑦, 𝜑) ή 𝜃 (𝓆𝑖+1 ) = 𝜃(𝓆𝑖 ) + (𝑥, 𝑦, 𝜃𝑅) (5.20)
𝜕𝜑 𝑅 𝜕𝜑
Πρέπει να σημειωθεί ότι είναι αρκετοί οι παράγοντες που επιδρούν στην επιλογή μιας τιμής για το 𝛿𝑖 . Πρώτον,
το 𝛿𝑖 θα πρέπει να ληφθεί αρκετά μικρό, ώστε η κατεύθυνση της δύναμης και η χαρτογράφηση αυτής της
κατεύθυνσης στο τοπικό σύστημα συντεταγμένων να διατηρεί κάποιο νόημα κατά μήκος του τμήματος 𝓆𝑖 𝓆𝑖+1 .
Συνήθως, το 𝛿𝑖 λαμβάνεται ίσο με κάποια μικρή προκαθορισμένη τιμή 𝛿.
Το 𝛿𝑖 θα πρέπει επίσης να επιλεγεί αρκετά μικρό, ώστε να μην συμβαίνει σύγκρουση κατά μήκος του
τμήματος 𝓆𝑖 𝓆𝑖+1 . Ας υποθέσουμε ότι το 𝛿𝑖 είναι ίσο με το 𝛿. Η κίνηση από το 𝓆𝑖 στο 𝓆𝑖+1 μπορεί να εκφραστεί
ως μια μικρή περιστροφή γύρω από την 𝑂𝒜 , ακολουθούμενη από μια μικρή μετατόπιση. Το σημείο του 𝒜 που
κινείται κατά τη μεγαλύτερη απόσταση κατά τη διάρκεια της περιστροφής είναι το σημείο 𝑎𝜖𝜃𝒜 που απέχει
περισσότερο από το 𝑂𝒜 . Έστω ότι είναι το μήκος αυτής της μετατόπισης και 𝑙1 είναι το μήκος της απόστασης
από το 𝑎 στο 𝑂𝒜 είναι 𝑙2 . Το άθροισμα 𝑙 = 𝑙1 + 𝑙2 είναι ένα ανώτερο όριο στη μέγιστη μετατόπιση ενός σημείου
του 𝒜 κατά την κίνηση από το 𝓆𝑖 στο 𝓆𝑖+1 . Εάν το 𝑙 είναι μικρότερο από την ελάχιστη απόσταση του 𝒜 από
τα εμπόδια, τότε το τμήμα 𝓆𝑖 𝓆𝑖+1 βρίσκεται στον ελεύθερο χώρο. Διαφορετικά, πρέπει να επιλέξουμε μια
διαφορετική τιμή για το 𝛿𝑖 , ας πούμε 𝛿/2, και να ελέγξουμε ξανά για σύγκρουση.
Τέλος, η τιμή 𝛿𝑖 δεν πρέπει να οδηγεί τη διαδρομή του 𝒜 πιο πέρα από τη διαμόρφωση του στόχου
𝓆𝜎𝜏ό𝜒𝜊𝜍 , με λίγα λόγια να μην επιτρέπει να προσπεράσει το 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Ας υποθέσουμε ότι το (𝑈, 𝜑) στο οποίο
απεικονίσαμε το 𝓆𝑖 μας επιτρέπει επίσης να απεικονίσουμε το 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Θα πρέπει να επιλέξουμε μια τιμή για
το 𝛿𝑖 μικρότερη από την Ευκλείδεια απόσταση μεταξύ των 𝜑(𝓆𝑖 ) και 𝜑(𝓆𝑖+1 ).
Η τεχνική αναζήτηση κατά βάθος ακολουθεί την steepest descent της συνάρτησης δυναμικού, έως ότου
το ρομποτικό σύστημα προσεγγίσει τη διαμόρφωση-στόχο. Ωστόσο, μπορεί να κολλήσει σε ένα τοπικό
ελάχιστο της συνάρτησης δυναμικού εκτός από τη διαμόρφωση-στόχο (Εικόνα 5.26). Η αντιμετώπιση των
τοπικών ελάχιστων κατά την αναζήτηση κατά βάθος σε βάθος δεν είναι απλή:
• Πρώτον, πρέπει να αναγνωριστεί το γεγονός ότι το ρομποτικό σύστημα έχει παγιδευτεί σε ένα
τοπικό ελάχιστο. Δεδομένου ότι οι κινήσεις είναι διακριτές, ο «σχεδιαστής» της διαδρομής
συνήθως δεν σταματά ακριβώς στη διαμόρφωση μηδενικής δύναμης. Αντιθέτως, συνήθως
δημιουργούν έναν βρόγχο γύρω από τη διαμόρφωση που παρουσιάζει τοπικό ελάχιστο. Αυτό
μπορεί να γίνει αντιληπτό αν πολλές διαδοχικές διαμορφώσεις δεν είναι πολύ κοντά μεταξύ τους.
• Δεύτερον, ο «σχεδιαστής» πρέπει να ξεφύγει από το τοπικό ελάχιστο. Μια απλή τεχνική
συνίσταται στην κίνηση κατά μήκος μιας συγκεκριμένης κατεύθυνσης κατά κάποια απόσταση
πριν από την επανέναρξη της δημιουργίας της πρώτης διαδρομής βάθους. Μια πιθανή κατεύθυνση
κίνησης είναι οποιαδήποτε κατεύθυνση στο εφαπτομενικό επίπεδο της απωθητικής ισοδυναμικής
επιφάνειας στο τοπικό ελάχιστο. Αυτό αντιστοιχεί στη μετακίνηση γύρω από τα εμπόδια που
δημιουργούν το τοπικό ελάχιστο. Ένας πιο συστηματικός τρόπος αντιμετώπισης των τοπικών
ελάχιστων συνίσταται στην προβολή της παραγόμενης διαδρομής ως διαδρομής σε ένα γράφημα
αναζήτησης, του οποίου οι κόμβοι είναι οι διαμορφώσεις.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 145
Εικόνα 5.26 Το ελκτικό δυναμικό οδηγεί το ρομποτικό σύστημα μέσα σε ένα εμπόδιο διαμορφώσεων. Τότε, σε μια
διαμόρφωση 𝓆𝜏𝜊𝜋𝜄𝜅ό 𝜀𝜆ά𝜒𝜄𝜎𝜏𝜊 , το εμπόδιο δημιουργεί ένα απωθητικό δυναμικό το οποίο «ακυρώνει» το ελκτικό δυναμικό,
με αποτέλεσμα το ρομποτικό σύστημα να σταματά να κινείται. Αυτό συμβαίνει, διότι οι δυνάμεις που δημιουργούνται από το
ελκτικό και το απωθητικό πεδίο είναι ίσου μέτρου στη συγκεκριμένη διαμόρφωση.

5.2.2 Αλγόριθμος Best-First


O αλγόριθμος Best-First στα δυναμικά πεδία 0 διατηρεί έναν μεγάλο αριθμό διαδρομών αναζήτησης
ταυτόχρονα και είναι πιο ισχυρή στην αντιμετώπιση των τοπικών ελαχίστων σε σχέση με τον αλγόριθμο Depth-
First. Περιλαμβάνει την κατασκευή ενός δέντρου του οποίου οι κόμβοι είναι διαμορφώσεις στον χώρο
διαμορφώσεων του ρομποτικού συστήματος 𝒞 και του οποίου η ρίζα είναι η αρχική θέση του ρομποτικού
συστήματος. Σε κάθε επανάληψη, ο αλγόριθμος αξιολογεί τους γείτονες στον 𝒞 των φύλλων που έχουν τη
χαμηλότερη δυναμική τιμή στο πεδίο των έως τώρα διερευνημένων διαμορφώσεων. Στη συνέχεια, οι γείτονες
εγκαθίστανται στη λίστα των κόμβων για να αξιολογηθούν με έναν δείκτη προς τον γονέα τους και ο
αλγόριθμος επαναλαμβάνεται μέχρι να επιτευχθεί ο στόχος. Εάν το πιο ενεργό «κλαδί» του δέντρου τερματίσει
σε ένα τοπικό ελάχιστο, ένα άλλο «κλαδί» θα διερευνηθεί ενεργά, έως ότου είτε να είναι επιτυχές είτε να
ξεπεράσει το τοπικό ελάχιστο του προηγούμενου «κλαδιού» (το ελάχιστο έχει «συμπληρωθεί»). Μόλις
επιτευχθεί ο στόχος, ο αλγόριθμος ακολουθεί τους back-pointers στην αρχική θέση για να καθορίσει την
προγραμματισμένη διαδρομή.
Ας υποθέσουμε ότι ο χώρος διαμορφώσεων 𝒞 του ρομποτικού συστήματος έχει διακριτοποιηθεί
δημιουργώντας ένα πλέγμα από τετραγωνικά κελιά. Το πλέγμα συμβολίζεται ως 𝒢𝒞. Αν για παράδειγμα
υποθέσουμε ότι το ρομποτικό σύστημα 𝒜 είναι ένα αντικείμενο το οποίο μπορεί να κινείται ελεύθερα (free-
flying object) στο επίπεδο 𝒲 = ℝ2 , το πλέγμα αποτελείται από διαμορφώσεις (𝑘𝑥 𝛿𝑥 , 𝑘𝑦 𝛿𝑦 , 𝑘𝜃 𝛿𝜃 ) με
𝑘𝑥 , 𝑘𝑦 , 𝑘𝜃 𝜖ℤ και το modulo 2𝜋 αριθμητικά στο 𝜃. Η γωνιακή αύξηση 𝛿𝜃 είναι ένα ακέραιο κλάσμα του 2𝜋.
Δοσμένης μιας διαμόρφωσης 𝓆 στο 𝑚 −διαστάσεων πλέγμα 𝒢𝒞, οι 𝑝 −γείτονες του, όπου 1 ≤ 𝑝 ≤ 𝑚
ορίζονται ως όλες οι διαμορφώσεις στο 𝒢𝒞 οι οποίες έχουν το πολύ 𝑝 συντεταγμένες που διαφέρουν από εκείνες
του 𝓆, με το ποσό της διαφοράς να είναι ακριβώς μία αύξηση σε απόλυτη τιμή (με κατάλληλη αρθρωτή
αριθμητική εφαρμογή στις γωνιακές παραμέτρους). Υπάρχουν 2𝑚 1 − γείτονες, 2𝑚2 2 − γείτονες,….,
3𝑚 𝑚 − γείτονες. Σε αυτήν την υπο-ενότητα θεωρούμε ότι δύο διαμορφώσεις στο πλέγμα 𝒢𝒞 αν και μόνο αν
υπάρχουν 𝑝 −γείτονες για ένα προκαθορισμένο 𝑝𝜖[1, 𝑚]. Στις περισσότερες περιπτώσεις επιλέγεται 𝑝 = 1 ή 2.
Επιπλέον, για να απλοποιηθεί η αναπαράσταση κάνουμε τις ακόλουθες παραδοχές:
• Οι διαμορφώσεις 𝓆𝛼𝜌𝜒ή και 𝓆𝜎𝜏ό𝜒𝜊𝜍 ανήκουν στο 𝒢𝒞.
• Αν δύο γείτονες στο 𝒢𝒞 βρίσκονται στον ελεύθερο χώρο, το ευθύγραμμο τμήμα που τις ενώνει
στο ℝ𝑚 , ανήκει επίσης στον ελεύθερο χώρο.
• Το πλέγμα 𝒢𝒞 οριοθετείται και σχηματίζει ένα ορθογώνιο.

Ηλίας Ξυδιάς 146


Ο αλγόριθμος Best-First αποτελείται από την επαναληπτική κατασκευή ενός δέντρου 𝒯 του οποίου οι κόμβοι
είναι διαμορφώσεις στο 𝒢𝒞. Η ρίζα του 𝒯 είναι η διαμόρφωση 𝓆𝛼𝜌𝜒ή . Σε κάθε επανάληψη, ο αλγόριθμος
εξετάζει τους γείτονες του φύλλου του 𝒯 που έχει τη μικρότερη τιμή δυναμικού, διατηρεί τους γείτονες που
δεν είναι ήδη στο 𝒯, όπου η συνάρτηση δυναμικού είναι μικρότερη από κάποιο μεγάλο όριο 𝛭 και εγκαθιστά
τους διατηρημένους γείτονες στο 𝒯 ως διαδόχους του υπό εξέταση φύλλου. Ο αλγόριθμος τερματίζεται όταν ο
στόχος διαμόρφωσης 𝓆𝜎𝜏ό𝜒𝜊𝜍 έχει επιτευχθεί (το ρομποτικό σύστημα έφτασε στον στόχο) ή όταν το ελεύθερο
υποσύνολο του 𝒢𝒞 που είναι προσβάσιμο από το 𝓆𝛼𝜌𝜒ή έχει διερευνηθεί πλήρως (αποτυχία: το ρομποτικό
σύστημα δεν βρήκε τον στόχο). Κάθε κόμβος στο 𝒯 έχει έναν δείκτη προς τον γονέα του. Εάν φτάσει στο
𝓆𝜎𝜏ό𝜒𝜊𝜍 , δημιουργείται μια διαδρομή ανιχνεύοντας τους δείκτες από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 στο 𝓆𝛼𝜌𝜒ή .
Η διαδικασία υλοποίησης του αλγορίθμου Best-First που δίνεται παρακάτω (Αλγόριθμος 5.3) είναι μια
τυπική υλοποίησή του. Επιπλέον, το δέντρο 𝒯, χρησιμοποιεί μια λίστα OPEN που περιέχει τα φύλλα του 𝒯
ταξινομημένα με αύξηση των τιμών της συνάρτησης δυναμικού. Η λίστα OPEN υποστηρίζει τις ακόλουθες
τρεις λειτουργίες:
• FIRST(OPEN), η οποία αφαιρεί τη διαμόρφωση του OPEN που έχει τη μικρότερη δυνητική τιμή
και την επιστρέφει.
• INSERT(𝓆, OPEN), που εισάγει τη διαμόρφωση 𝓆 στο OPEN.
• EMPTY(OPEN), που επιστρέφει την τιμή true (αντίστοιχα false) εάν η λίστα OPEN είναι κενή
(αντίστοιχα μη-κενή).
Αλγόριθμος 5.3
Begin
Install 𝓆𝛼𝜌𝜒ή 𝜖𝒯
Insert (𝓆𝛼𝜌𝜒ή , 𝑂𝑃𝐸𝑁); mark 𝓆𝛼𝜌𝜒ή visited;
SUCCESS← 𝑓𝑎𝑙𝑠𝑒
While EMPTY (OPEN) and SUCCESS do
Begin
𝓆𝛼𝜌𝜒ή ← 𝐹𝐼𝑅𝑆𝑇(𝑂𝑃𝐸𝑁)
For every neighbour 𝓆′ of 𝓆 in 𝒢𝒞 do
If 𝑈(𝓆′ ) < 𝑀 and 𝓆′ is not visited, then
Begin
Install 𝓆′𝜖𝒯 with a pointer toward 𝓆
INSERT (𝓆′ , OPEN); mark 𝓆′ visited
If 𝓆′ = 𝓆𝜎𝜏ό𝜒𝜊𝜍 then SUCCESS← 𝑡𝑟𝑢𝑒
End
End
If SUCCESS then
Return the constructed path by tracing the pointers in 𝒯
From 𝓆𝜎𝜏ό𝜒𝜊𝜍 back to 𝓆𝛼𝜌𝜒ή
Else return failure
end
Τα παραπάνω αποτελούν μια διακριτή προσέγγιση της αρνητικής κλίσης της συνάρτησης δυναμικού μέχρι να
φτάσει σε ένα τοπικό ελάχιστο. Όταν συμβεί αυτό, λειτουργεί με τρόπο που αντιστοιχεί την «οπή» του τοπικού
ελάχιστου σε πλήρωση, έως ότου επιτευχθεί ένα σημείο γεφυρώματος.
Ο αλγόριθμος Best-First μπορεί να εγγυηθεί ότι θα επιστρέψει μια διαδρομή ελεύθερη από συγκρούσεις,
όποτε υπάρχει στον ελεύθερο χώρο του 𝒢𝒞, ενώ θα αναφέρει την αποτυχία διαφορετικά. Έστω 𝛰(𝑟) αριθμός
των σημείων διακριτοποίησης κατά μήκος κάθε άξονα συντεταγμένων. Το μέγεθος του 𝒢𝒞 είναι 𝛰(𝑟 𝑚 ).
Μπορούμε να αναπαραστήσουμε τη λίστα OPEN ως ισορροπημένο δέντρο 0 έτσι ώστε κάθε πράξη FIRST και

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 147
INSERT να παίρνει λογαριθμικό χρόνο στο μέγεθος OPEN, που είναι 𝛰(𝑟 𝑚 ) στη χειρότερη περίπτωση. Η
χρονική πολυπλοκότητα του αλγορίθμου Best-First που δίνεται παραπάνω είναι 𝑂(𝑚𝑟 𝑚 𝑙𝑜𝑔𝑟).
Στις περισσότερες περιπτώσεις, ο αλγόριθμος Best-First θα ερευνήσει μόνο μια μικρή περιοχή του 𝒢𝒞.
Αντί να αντιπροσωπεύουμε επακριβώς το 𝒢𝒞 σε έναν μεγάλο πίνακα και να επισημάνουμε τις διαμορφώσεις
του ως επισκέψιμες ή μη, μπορούμε να αναπαραστήσουμε μόνο τις διαμορφώσεις που ανήκουν στο 𝒯. Στη
συνέχεια, αντί να ελέγχουμε εάν μια διαμόρφωση 𝓆′ έχει επισημανθεί ως επίσκεψη, δοκιμάζουμε αν βρίσκεται
στο 𝒯. Αποθηκεύοντας τις διαμορφώσεις στο 𝒯 σε μια δομή δεδομένων ισορροπημένου δέντρου, ταξινομημένη
σύμφωνα με τις συντεταγμένες των διαμορφώσεων, η δοκιμή παίρνει λογαριθμικό χρόνο στον αριθμό των
διαμορφώσεων στο 𝒯, που είναι 𝛰(𝑟 𝑚 ) στη χειρότερη περίπτωση. Αυτή η τροποποίηση αυξάνει ελαφρώς τον
χρόνο υλοποίησης της διαδικασίας, αλλά μειώνει τον χώρο μνήμης που χρειάζεται. Καθιστά επίσης δυνατή την
εκτέλεση του αλγορίθμου με ένα πλέγμα 𝒢𝒞 απεριόριστου μεγέθους.
Ο αλγόριθμος Best-First μπορεί να είναι αποδοτικός μόνο όταν το 𝑚 είναι μικρό (𝑚 ≤ 5). Στην
περίπτωση που το ρομποτικό σύστημα είναι ένα αντικείμενο το οποίο μπορεί να κινείται ελεύθερα στο χώρο
(free flying object) σε έναν διδιάστατο χώρο εργασίας (𝑚 = 3), παρέχει ένα μέσο για την εφαρμογή ενός πολύ
γρήγορου και αξιόπιστου αλγορίθμου σχεδιασμού διαδρομής, με αναλύσεις πλέγματος της τάξης του 2563 0.
Μπορεί ακόμη να γίνει πιο γρήγορος χρησιμοποιώντας μια πυραμίδα από πλέγματα σε διάφορες αναλύσεις.
Ωστόσο, όταν το 𝑚 γίνεται μεγαλύτερο, το γέμισμα τοπικών ελαχίστων δεν είναι πλέον εφικτό.

5.2.3 Μεταβλητός Σχεδιασμός (Variational Planning)


Μια ακόμα προσέγγιση για τον σχεδιασμό διαδρομής χρησιμοποιώντας τεχνητά δυναμικά πεδία συνίσταται
στην κατασκευή μίας συνάρτησης 𝐽 που εκφράζει μια διαδρομή 𝜏 και στη βελτιστοποίηση αυτής της
συνάρτησης για όλες τις πιθανές διαδρομές. Για παράδειγμα, εάν 𝑈 είναι μια συνάρτηση δυναμικού που
ορίζεται σε ολόκληρο τον χώρο διαμόρφωσης, με μεγάλες τιμές στις περιοχές των εμποδίων-διαμόρφωσης και
μικρές τιμές στις ελεύθερες περιοχές, ένας πιθανός ορισμός για τη συνάρτηση 𝐽 είναι ο εξής:
1 1
𝑑𝜏 (5.21)
𝐽(𝜏) = ∫ 𝑈(𝜏(𝑠))𝑑𝑠 + ∫ ‖ ‖ 𝑑𝑠
0 0 𝑑𝑠
1
Το ολοκλήρωμα ∫0 𝑈(𝜏(𝑠))𝑑𝑠 χρησιμοποιείται για τη δημιουργία μιας ελεύθερης διαδρομής. Το ολοκλήρωμα
1 𝑑𝜏
∫0 ‖𝑑𝑠‖ 𝑑𝑠 στοχεύει στη δημιουργία διαδρομών με μικρό μήκος. Η βελτιστοποίηση της συνάρτησης 𝐽(𝜏)
μπορεί να γίνει χρησιμοποιώντας τυπικές μεθόδους βελτιστοποίησης. Ο αναγνώστης θα μπορούσε να κοιτάξει
τις εργασίες 0, 0 σχετικά με την κατασκευή του δυναμικού 𝑈, μιας κατάλληλης αντικειμενικής συνάρτησης
𝐽(𝜏), καθώς επίσης και πληροφορίες για τη βελτιστοποίηση της συνάρτησης 𝐽(𝜏).
Ο μεταβλητός σχεδιασμός διαδρομής παρουσιάζει τα ίδια μειονεκτήματα με τον αλγόριθμο depth-first,
δηλαδή μπορεί να «κολλήσει» σε ένα τοπικό ελάχιστο της συνάρτησης 𝐽(𝜏) που δεν αντιστοιχεί σε μια
ελεύθερη διαδρομή για το ρομπότ. Επιπλέον, η βελτιστοποίηση της 𝐽(𝜏) διεξάγεται σε έναν χώρο πολύ
μεγαλύτερης διάστασης, κάτι το οποίο είναι αρκετά δαπανηρό υπολογιστικά. Το πλεονέκτημα του μεταβλητού
σχεδιασμού διαδρομής είναι ότι επιτρέπει την εισαγωγή πρόσθετων αντικειμενικών κριτηρίων στη 𝐽(𝜏).

5.3 Συναρτήσεις Δυναμικού


Στη βιβλιογραφία έχει προταθεί μια ποικιλία συναρτήσεων δυναμικού εκτός από αυτές που παρουσιάστηκαν
στις παραπάνω ενότητες. Οι επικρατέστερες από αυτές που έχουν προταθεί στοχεύουν στα εξής:
1. στη βελτίωση της «τοπικής δυναμικής συμπεριφοράς» του ρομπότ κατά μήκος των κατασκευασθέντων
διαδρομών και,
2. στη μείωση του αριθμού των τοπικών ελάχιστων που παρουσιάζει η συνάρτηση δυναμικού.
Ο πρώτος στόχος είναι σημαντικός όταν η μέθοδος τεχνητού δυνητικού πεδίου χρησιμοποιείται για την
κατασκευή μιας διαδρομής σε πραγματικό χρόνο (on-line) 0. Μία από τις προτεινόμενες συναρτήσεις είναι το
«γενικευμένο δυναμικό πεδίο» 0, μια συνάρτηση που εξαρτάται τόσο από τη διαμόρφωση όσο και από την
ταχύτητα του ρομπότ. Κατασκευάζεται με τέτοιο τρόπο, ώστε το ρομπότ να απωθείται από ένα εμπόδιο μόνο
όταν βρίσκεται σε κοντινή απόσταση από το εμπόδιο και η ταχύτητά του έχει διεύθυνση προς το εμπόδιο. Στην
περίπτωση που το ρομπότ κινείται παράλληλα με το εμπόδιο δεν χρειάζεται να το απωθήσει. Στην εργασία 0

Ηλίας Ξυδιάς 148


παρουσιάζεται μια μέθοδος σχεδιασμού κίνησης που συνίσταται στην ελαχιστοποίηση ενός τετραγωνικού
κριτηρίου υπό γραμμικούς περιορισμούς. Η ελαχιστοποίηση κατευθύνει το ρομπότ προς τον στόχο, ενώ κάθε
περιορισμός λειτουργεί ως αποσβεστήρας που σπρώχνει το ρομπότ μακριά από ένα εμπόδιο, στην περίπτωση
που το ρομπότ είναι κοντά του και κινείται προς το μέρος του. Τέτοιες συναρτήσεις δυναμικού, αν και είναι
ενδιαφέρουσες, αντιμετωπίζουν το ζήτημα της παρουσίας τοπικών ελάχιστων.
Στις υπο-ενότητες που θα ακολουθήσουν θα παρουσιαστούν συναρτήσεις δυναμικού που δεν θα
παρουσιάζουν τοπικά ελάχιστα ή, αν παρουσιάζουν, θα είναι λίγα. Ο ορισμός της συνάρτησης δυναμικού είναι
ένα καλό σημείο για να ξεκινήσουμε την επίλυση του προβλήματος των τοπικών ελάχιστων.

5.3.1 Συνάρτηση Δυναμικού Πλοήγησης


Σε αυτήν την ενότητα, εισάγουμε μία νέα συνάρτηση δυναμικού, που εξαρτάται από την απόσταση του ρομπότ
από τα εμπόδια, παρουσιάζει μόνο ένα ελάχιστο και ισχύει για μια περιορισμένη κατηγορία χώρων
διαμόρφωσης που έχουν διάσταση δύο, τρία και περισσότερα. Αυτές οι συναρτήσεις δυναμικού ονομάζονται
συναρτήσεις πλοήγησης (Navigation Potential Functions) 0.
Ορισμός 5.1: Μια συνάρτηση 𝜑: 𝒞𝑓𝑟𝑒𝑒 → [0,1] καλείται συνάρτηση πλοήγησης αν ισχύουν τα
ακόλουθα:
• είναι ομαλή,
• παρουσιάζει ένα ελάχιστο στο σημείο στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 ,
• παρουσιάζει μέγιστο στις παρυφές του χώρου εργασίας του ρομπότ,
• είναι Μορς.
Η θεωρία Μορς αποτελεί τμήμα της διαφορικής γεωμετρίας, καθώς και της διαφορικής τοπολογίας στον κλάδο
των μαθηματικών. Μέσω της συνάρτησης Μορς μελετάται η μορφή μιας διαφορικής πολλαπλότητας μέσα από
το πλήθος και το είδος των κρίσιμων σημείων μιας συνάρτησης. Η θεωρία του Μορς αναδεικνύει τη σχέση
ανάμεσα στην τοπολογία της πολλαπλότητας, στην οποία ορίζεται η συνάρτηση, και το πλήθος των
εμφανιζόμενων μη εκφυλισμένων κρίσιμων σημείων της. Μια συνάρτηση καλείται Μορς, αν κάθε σημείο (δηλ.
ένα σημείο στο οποίο η κλίση είναι μηδέν) απομονώνεται.

5.3.2 Κατασκευή Συνάρτησης Δυναμικού Πλοήγησης


Ας υποθέσουμε ότι διακριτοποιούμε τον χώρο 𝒞 δημιουργώντας ένα πλέγμα από τετραγωνικά κελιά 𝒢𝒞, όπως
κάναμε και στην προηγούμενη ενότητα. Κάθε τετραγωνικό κελί στο 𝒢𝒞 παίρνει την τιμή «0», αν κείται στον
ελεύθερο χώρο του ρομπότ και την τιμή «1» σε διαφορετική περίπτωση. Το υποσύνολο των διαμορφώσεων
(των κελιών) που χαρακτηρίζονται με την ετικέτα «0» σχηματίζουν το 𝒢𝒞𝑓𝑟𝑒𝑒 . Υποθέτουμε επίσης ότι τα 𝓆𝛼𝜌𝜒ή
και 𝓆𝜎𝜏ό𝜒𝜊𝜍 ανήκουν στο 𝒢𝒞𝑓𝑟𝑒𝑒 .
Μια απλή συνάρτηση πλοήγησης 𝑈 είναι η απόσταση 𝐿1 , η οποία ονομάζεται επίσης «απόσταση
Μανχάταν» από τον στόχο στον χώρο 𝒢𝒞𝑓𝑟𝑒𝑒 . Μπορεί να υπολογιστεί εύκολα, χρησιμοποιώντας τον
αλγόριθμο Wave-Front (υπο-ενότητα 5.1.8). Αρχικά, η τιμή του 𝑈 ορίζεται 0 στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Στη συνέχεια,
ορίζεται με τιμή 1 σε κάθε 1-γείτονα του 𝓆𝜎𝜏ό𝜒𝜊𝜍 στο 𝒢𝒞, με την τιμή 2 σε κάθε 1-γείτονα αυτών των νέων
διαμορφώσεων (εάν δεν έχει υπολογιστεί ακόμα) κ.λπ. Ο αλγόριθμος σταματά όταν έχει διερευνηθεί πλήρως
το 𝒢𝒞𝑓𝑟𝑒𝑒 .
Στην Εικόνα 5.27 απεικονίζεται η λειτουργία του αλγορίθμου Wave-Front σε έναν διδιάστατο χώρο
διαμόρφωσης που έχει διακριτοποιηθεί σε ένα πλέγμα τετραγωνικών κελιών μεγέθους 642 . Η διαμόρφωση
𝓆𝜎𝜏ό𝜒𝜊𝜍 βρίσκεται στην επάνω αριστερή γωνία του πλέγματος. Οι εικόνες 5.27(α) έως 5.27(η) δείχνουν διάφορα
στάδια της επέκτασης του αλγορίθμου Wave-Front. Οι εμφανιζόμενες μπροστινές γραμμές είναι ισοδυναμικά
περιγράμματα του δυναμικού 𝑈 που υπολογίζονται από τον αλγόριθμο Wave-Front. Στην εικόνα 5.27(θ) δείχνει
μια διαδρομή που ακολουθεί την πιο απότομη κάθοδο του 𝑈 από μια αρχική διαμόρφωση 𝓆𝛼𝜌𝜒ή . Αυτή η
διαδρομή είναι μια διαδρομή ελάχιστου μήκους (για την απόσταση 𝐿1 ) μεταξύ των 𝓆𝛼𝜌𝜒ή και 𝓆𝜎𝜏ό𝜒𝜊𝜍 .

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 149
(α) (β)

(γ) (δ)

Ηλίας Ξυδιάς 150


(ε) (ζ)

(η) (θ)
Εικόνα 5.27 (α)-(η) Το μέτωπο επέκτασης του αλγορίθμου Wave-front. (θ) Μια διαδρομή που ακολουθεί την πιο απότομη
κλίση της συνάρτησης από μια αρχική διαμόρφωση 𝓆𝛼𝜌𝜒ή .

Ο αλγόριθμος Wave-Front υπολογίζει το 𝑈 μόνο στο συνδεδεμένο υποσύνολο του 𝒢𝒞𝑓𝑟𝑒𝑒 που περιέχει το
𝓆𝜎𝜏ό𝜒𝜊𝜍 . Επομένως, εάν το 𝑈(𝓆𝛼𝜌𝜒ή ) δεν έχει υπολογιστεί από τον αλγόριθμο, γνωρίζουμε ότι κανένα ελεύθερο
μονοπάτι δεν συνδέει το 𝓆𝛼𝜌𝜒ή με το 𝓆𝜎𝜏ό𝜒𝜊𝜍 στην ανάλυση του πλέγματος. Η χρονική πολυπλοκότητα αυτού
του αλγορίθμου είναι γραμμική ως προς τον αριθμό των διαμορφώσεων στο πλέγμα 𝒢𝒞. Είναι ανεξάρτητο από
τον αριθμό και το σχήμα των εμποδίων-διαμόρφωσης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 151
5.3.3 Χώρος σε Σχήμα Κύκλου (Sphere Space)
Αυτή η προσέγγιση αρχικά προϋποθέτει ότι ο χώρος διαμόρφωσης οριοθετείται από έναν κύκλο με κέντρο το
𝓆0 και περιέχει 𝑛 κυκλικά εμπόδια με κέντρο το 𝓆1 , … , 𝓆𝑛 . Οι συναρτήσεις απόστασης των εμποδίων από το
ρομπότ 𝓆 ορίζονται ως εξής:
𝛽0 (𝓆) = −𝑑 2 (𝓆, 𝓆0 ) + 𝑟02 (5.22)
𝛽𝑖 (𝓆) = 𝑑 2 (𝓆, 𝓆𝑖 ) − 𝑟𝑖2 (5.23)
όπου 𝑟𝑖 είναι η ακτίνα του 𝑖 − κυκλικού εμποδίου. Η συνάρτηση 𝛽𝑖 (𝓆) αυξάνεται, καθώς το ρομπότ 𝓆
απομακρύνεται από το 𝑖 − κυκλικού εμποδίου. Αντί να εξετάζουμε την απόσταση από το πλησιέστερο 𝑖 −
κυκλικού εμποδίου ή την απόσταση από κάθε μεμονωμένο εμπόδιο, εξετάζουμε τη συνάρτηση
𝑛
(5.24)
𝛽 (𝓆 ) = ∏ 𝛽𝑖 (𝓆)
𝑖=0
Η συνάρτηση 𝛽 (𝓆) γίνεται μηδέν στο σύνορο κάθε εμποδίου και θετική σε οποιοδήποτε σημείο του ελεύθερου
χώρου. Αυτό προϋποθέτει ότι τα εμπόδια δεν συνδέονται με κάποιον τρόπο μεταξύ τους.
Αυτή η προσέγγιση χρησιμοποιεί τη συνάρτηση 𝛽 (𝓆) για να σχηματίσει μια απωθητική συνάρτηση
δυναμικού. Το ελκυστικό τμήμα της συνάρτησης πλοήγησης είναι μια δύναμη που δημιουργείται από την
απόσταση μεταξύ του ρομπότ και του στόχου, δηλ.,
𝛾𝜅 (𝓆) = 𝑑(𝓆, 𝓆𝜎𝜏ό𝜒𝜊𝜍 )2𝜅 (5.25)
όπου η συνάρτηση 𝛾𝜅 έχει μηδενική τιμή στον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ αυξάνεται, καθώς το ρομπότ 𝓆
𝛾
απομακρύνεται από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Η συνάρτηση 𝜅 (𝓆) γίνεται με μηδέν μόνο στον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ τείνει στο
𝛽
άπειρο, καθώς το ρομπότ 𝓆 πλησιάζει το σύνορο οποιουδήποτε εμποδίου. Επίσης, για μια μεγάλη τιμή κ, η
𝛾 𝜕𝛾 𝛾
συνάρτηση 𝜅 (𝓆) έχει ένα μοναδικό ελάχιστο. Αυτό ισχύει γιατί καθώς αυξάνεται το κ, η κλίση 𝜅 του 𝜅 (𝓆)
𝛽 𝜕𝛽 𝛽
𝛾𝜅
δείχνει προς τον στόχο. Δηλαδή, η αύξηση του κ κάνει τη συνάρτηση (𝓆) να πάρει τη μορφή ενός απότομου
𝛽
παραβολοειδούς με κέντρο τον στόχο. Τέλος, η αύξηση του κ δημιουργεί και άλλα κρίσιμα σημεία, τα οποία
έλκονται προς τα εμπόδια, καθώς το εύρος της απωστικής επιρροής των εμποδίων γίνεται μικρό σε σχέση με
την επιρροή του ελκυστικού πεδίου.
Όταν το ρομπότ βρίσκεται κοντά σε ένα εμπόδιο, τότε μόνο αυτό το εμπόδιο έχει σημαντική επίδραση
𝛾
στην τιμή της συνάρτησης 𝜅 (𝓆). Επομένως, η μόνη περίπτωση να εμφανιστεί ένα τοπικό ελάχιστο είναι κατά
𝛽
μήκος μιας ακτινικής γραμμής μεταξύ του εμποδίου και του στόχου. Σε αυτήν τη γραμμή κοντά στο όριο ενός
𝛾 𝛾
εμποδίου, το Hessian του 𝜅 (𝓆) δεν μπορεί να είναι θετικά ορισμένο, επειδή η τιμή της 𝜅 (𝓆) μειώνεται
𝛽 𝛽
γρήγορα, καθώς το ρομπότ μετακινείται από το εμπόδιο προς τον στόχο. Επομένως, δεν μπορεί να υπάρξει
κανένα τοπικό ελάχιστο για μία μεγάλη τιμή για το κ, εκτός από τον στόχο 0.
𝛾𝜅
Με βάση τα παραπάνω, η συνάρτηση (𝓆) έχει ένα μοναδικό ελάχιστο, αλλά δυστυχώς μπορεί να έχει
𝛽
αυθαίρετα μεγάλες τιμές, καθιστώντας δύσκολο τον υπολογισμό. Επομένως, εισάγουμε έναν «διακόπτη», ο
οποίος ορίζεται ως
𝓆
𝜎𝜆 (𝓆) = ,𝜆 > 0 (5.26)
𝜆+𝓆
Επειδή η συνάρτηση 𝜎𝜆 (𝓆) γίνεται μηδέν για 𝓆 = 0, συγκλίνει στο ένα, καθώς το 𝓆 τείνει στο ∞ και είναι
συνεχής (Εικόνα 5.28), μπορούμε να χρησιμοποιήσουμε το 𝜎𝜆 (𝓆) για να δεσμεύσουμε την τιμή της συνάρτησης
𝛾𝜅
(𝓆 ), δηλ.
𝛽
𝛾𝜅
𝑠(𝓆, λ) = ( ) (𝓆 ) (5.27)
𝜆𝛽 + 𝛾𝜅
Η συνάρτηση 𝑠(𝓆, λ) έχει μηδενική τιμή στον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 , παίρνει την τιμή 1 στο όριο οποιουδήποτε
εμποδίου και μεταβάλλεται συνεχώς στον ελεύθερο χώρο. Επίσης, παρουσιάζει ένα μοναδικό ελάχιστο για μία
αρκετά μεγάλη τιμή για το κ. Ωστόσο, εξακολουθεί να μην είναι απαραιτήτως μια συνάρτηση Μορς, επειδή

Ηλίας Ξυδιάς 152


μπορεί να έχει εκφυλισμένα κρίσιμα σημεία. Για αυτόν τον λόγο εισάγουμε μια συνάρτηση που ουσιαστικά
οξύνει το 𝑠(𝓆, λ) και τα κρίσιμα σημεία της γίνονται μη εκφυλισμένα, ώστε η 𝑠(𝓆, λ) να μπορεί να γίνει
συνάρτηση Μορς. Η συνάρτηση όξυνσης δίνεται από
𝜉𝜅 (𝓆) = 𝓆1/𝜅 (5.28)
Για λ = 1, η αντίστοιχη συνάρτηση δυναμικού για έναν κυκλικό κόσμο δίνεται από τη σχέση,
𝑑 2 (𝓆, 𝓆𝜎𝜏ό𝜒𝜊𝜍 ) (5.29)
𝜑 (𝓆 ) =
[𝛾𝜅 (𝓆) + 𝛽(𝜅)]1/𝜅
η οποία παρουσιάζει ένα και μόνο ελάχιστο στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 για ένα αρκετά μεγάλο 𝜅 0.

Εικόνα 5.28 Η σύγκλιση της 𝜎𝜆 (𝓆) στο 1 καθώς το 𝓆 τείνει στο άπειρο.

Ας εξετάσουμε τον χώρο που απεικονίζεται στην Εικόνα 5.29. Το αποτέλεσμα της αύξησης του κ φαίνεται στην
Εικόνα 5.30, το οποίο σχεδιάζει τις γραμμές περιγράμματος για τη συνάρτηση 𝜑, καθώς το κ αυξάνεται. Εδώ
παρατηρούμε ότι, για 𝜅 = 3, το 𝜑 έχει τρία τοπικά ελάχιστα, ένα από τα οποία είναι το συνολικό ελάχιστο. Για
𝜅 = 4 και 6, τα τοπικά ελάχιστα γίνονται πιο εμφανή επειδή είναι ευκολότερο να δούμε τις γραμμές
περιγράμματος που περιβάλλουν τα τοπικά ελάχιστα. Για 𝜅 = 7 και 8, τα «κακά» ελάχιστα είναι εκεί, αλλά
είναι δύσκολο να τα δεις. Τελικά, τα «κακά» ελάχιστα μεταμορφώνονται σε σημεία σέλας, τα οποία είναι
ασταθή. Για 𝜅 = 10, η συνάρτηση 𝜑 έχει ένα μοναδικό ελάχιστο. Επομένως, η μέθοδος κλίσης θα κατευθύνει
το ρομπότ 𝓆 προς τον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
Τέλος, μπορούμε να δούμε την επίδραση της κλίσης της συνάρτησης δυναμικού, τα κρίσιμα σημεία που
έλκονται προς τον στόχο και τα τοπικά ελάχιστα που μετατρέπονται σε σέλες, στην Εικόνα 5.31. Δυστυχώς,
αυτή η οξεία επίδραση έχει αρνητικές συνέπειες. Το μειονέκτημα αυτής της συγκεκριμένης συνάρτησης
πλοήγησης είναι ότι είναι επίπεδη κοντά στον στόχο και μακριά από αυτόν, αλλά έχει απότομες μεταβάσεις στο
μεταξύ τους (Εικόνα 5.31). Αυτό καθιστά την εφαρμογή μιας προσέγγισης κλίσης αρκετά δύσκολη εξαιτίας
των αριθμητικών σφαλμάτων.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 153
Εικόνα 5.29 Ένας κυκλικός χώρος διαμορφώσεων ο οποίος αποτελείται από κυκλικά εμπόδια 0.

(α) (β)

Ηλίας Ξυδιάς 154


(γ) (δ)

(ε) (ζ)
Εικόνα 5.30 (α)-(ζ) Η απεικόνιση της συνάρτησης πλοήγησης για έναν κυκλικό χώρο διαμορφώσεων ο οποίος αποτελείται
από 5 κυκλικά εμπόδια για 𝜅 = 3, 𝜅 = 4, 𝜅 = 6, 𝜅 = 7, 𝜅 = 8 και 𝜅 = 10 0.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 155
(α) (β)

(γ) (δ)

Ηλίας Ξυδιάς 156


(ε) (ζ)
Εικόνα 5.31 (α)-(ζ) Η απεικόνιση της συνάρτησης πλοήγησης για έναν κυκλικό χώρο διαμορφώσεων ο οποίος αποτελείται
από 5 κυκλικά εμπόδια για 𝜅 = 3, 𝜅 = 4, 𝜅 = 6, 𝜅 = 7, 𝜅 = 8 και 𝜅 = 10 0.

5.3.4 Χώρος σε Σχήμα Αστεριού (Star-Space)


Ένας χώρος σε σχήμα κύκλου μπορεί να χρησιμεύσει ως «πρότυπος χώρος» για οποιονδήποτε χώρο
διαμορφώσεων που είναι αμφιδιαφορίσιμος (diffeomorphism) με τον κυκλικό χώρο. Μόλις έχουμε μια
συνάρτηση πλοήγησης για τον χώρο του μοντέλου, για να βρούμε μια συνάρτηση πλοήγησης για τον
αμφιδιαφορίσιμο χώρο διαμορφώσεων, είναι απαραίτητο να βρούμε την αμφιδιαφορίσιμη σχέση μεταξύ του
χώρου σε σχήμα κύκλου και του υπό εξέταση χώρου. Πρέπει να σημειώσουμε ότι:
Μια διαφορίσιμη απεικόνιση f: M1 → M2 μεταξύ δύο κανονικών επιφανειών που ανήκουν στο 3Δ-
Ευκλείδιο χώρο ονομάζεται αμφιδιαφόριση (diffeomorphism) εάν είναι 1 – 1, επί και η αντίστροφη f −1 είναι
διαφορίσιμη. Τότε οι επιφάνειες M1 και M2 ονομάζονται αμφιδιαφορικές.
Σε αυτήν την υπο-ενότητα εξετάζουμε τους χώρους σχήματος αστεριού, που αποτελούνται από μια
διάταξη σε σχήμα αστεριού με εμπόδια τα οποία έχουν επίσης σχήμα αστεριού. Ένα σύνολο σε σχήμα αστεριού
𝑆 είναι ένα σύνολο όπου υπάρχει τουλάχιστον ένα σημείο το οποίο είναι ορατό από όλα τα άλλα σημεία του
συνόλου, δηλαδή ισχύει ότι:
∃𝓆 τέτοιο ώστε ∀𝑦𝜖𝑆, 𝑡𝓆 + (1 − 𝑡)𝑦𝜖𝑆, ∀𝑡𝜖[0,1] (5.30)
Στην Εικόνα 5.32 όλα τα κυρτά σύνολα έχουν σχήμα αστεριού, αλλά το αντίστροφο δεν ισχύει.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 157
(α) (β)
Εικόνα 5.32 (α) Ένα σύνολο σε σχήμα αστεριού. (β) Ένα σύνολο σε σχήμα που δεν είναι αστεροειδές.

Στόχος αυτής της προσέγγισης είναι να απεικονίσουμε έναν χώρο διαμορφώσεων, ο οποίος περιέχει εμπόδια
σε σχήμα αστεριού, σε έναν χώρο που περιέχει εμπόδια σε σχήμα κύκλου. Μπορεί να αποδειχθεί 0 ότι για δύο
ελεύθερους χώρους διαμορφώσεων 𝛭 και 𝛷, εάν 𝜑: 𝛭 → [0,1] είναι μια συνάρτηση πλοήγησης στο 𝛭 και
υπάρχει μια αντιστοίχιση 𝜂: 𝛷 → 𝛭 που είναι αμφιδιαφορίσιμη, δηλ. είναι ομαλή, διχοτομική και έχει ομαλή
αντίστροφη, τότε 𝜑 = 𝜑°𝜂 είναι μια συνάρτηση πλοήγησης στο 𝛷 (βλ. Εικόνα 5.33). Αυτή η
αμφιδιαφοροσιμότητα διασφαλίζει ότι υπάρχει αντιστοιχία ένα προς ένα μεταξύ των κρίσιμων σημείων. Θα
χρησιμοποιήσουμε αυτήν την ιδιότητα για να ορίσουμε συναρτήσεις πλοήγησης σε χώρους με σχήμα αστεριού
χρησιμοποιώντας αποτελέσματα από χώρους σε σχήμα κύκλου.

Εικόνα 5.33 Η αμφιδιαφορίσιμη απεικόνιση η οποία απεικονίζει τον χώρο σχήματος αστεριού 𝛷 στον χώρο κυκλικού
σχήματος 𝛭.

Η απεικόνιση 𝜂 μεταξύ των χώρων κυκλικού σχήματος και σχήματος αστεριού θα κατασκευαστεί
χρησιμοποιώντας τον ακόλουθο χάρτη,

Ηλίας Ξυδιάς 158


𝑟𝑖 √(1+𝛽𝑖 (𝓆) (5.31)
𝑇𝑖 (𝓆) = (𝓆 − 𝓆𝑖 ) + 𝑝𝑖
𝑑(𝓆,𝓆𝑖 )
όπου 𝓆𝑖 είναι το κέντρο του 𝑖 −εμποδίου σε σχήματος αστεριού, ενώ 𝑝𝑖 και 𝑟𝑖 είναι το κέντρο και η ακτίνα ενός
𝑖 −εμποδίου κυκλικού σχήματος. Η συνάρτηση 𝛽𝑖 (𝓆) ορίζει ένα σύνολο σε σχήμα αστεριού με τέτοιον τρόπο
ώστε η 𝛽𝑖 (𝓆) να είναι αρνητική στο εσωτερικό του, μηδέν στο σύνορό του και θετική οπουδήποτε αλλού.
Πρέπει να σημειωθεί ότι, αν το ρομπότ 𝓆 βρίσκεται στο σύνορο του εμποδίου με σχήμα αστεριού,
𝑟𝑖
ισχύει ότι 𝑇𝑖 (𝓆) = (𝓆 − 𝓆𝑖 ) + 𝑝𝑖 . Αυτό σημαίνει ότι η συνάρτηση 𝑇𝑖 (𝓆) μπορεί να απεικονίσει τα
𝑑(𝓆,𝓆𝑖 )
σημεία που βρίσκονται στο σύνορο του εμποδίου σχήματος αστεριού σε έναν κύκλο.
Για ένα εμπόδιο διαμορφώσεων σχήματος αστεριού 𝒞𝒪𝑖 , ορίζουμε τη συνάρτηση
̅𝑖
𝛾𝜅 𝛽
𝑠𝑖 (𝓆, λ) = ( ̅𝑖 )
(𝓆), 𝛽𝑖̅ = ∏𝑛𝑗=0,𝑗≠𝑖 𝛽𝑗 (5.32)
𝜆𝛽𝑖 +𝛾𝜅 𝛽
Πρέπει να αναφέρουμε ότι 𝛽𝑖̅ γίνεται 0 στο σύνορο των εμποδίων εκτός από το 𝒞𝒪𝑖 . Επίσης, η συνάρτηση
𝑠𝑖 (𝓆, λ) γίνεται 1 στο σύνορο του 𝒞𝒪𝑖 , αλλά γίνεται 0 στον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 και στα σύνορα όλων των εμποδίων
εκτός από το 𝒞𝒪𝑖 . Κατασκευάζουμε μια συνάρτηση για τον στόχο, η οποία γίνεται 1 και παίρνει την τιμή 0 στο
σύνορο του ελεύθερου χώρου δηλ.
𝑀
(5.33)
𝑠𝜎𝜏ό𝜒𝜊𝜍 (𝓆, λ) = 1 − ∑ 𝑠𝑖
𝑖=0
Χρησιμοποιώντας τις παραπάνω συναρτήσεις, μπορούμε να ορίσουμε την απεικόνιση μεταξύ του
κυκλικού χώρου και του χώρου σε σχήμα αστεριού ως εξής,
𝑀
(5.34)
𝜂𝜆 (𝓆) = 𝑠𝜎𝜏ό𝜒𝜊𝜍 (𝓆, λ)𝛵𝓆𝜎𝜏ό𝜒𝜊𝜍 (𝓆) + ∑ 𝑠𝑖 (𝓆, λ)𝛵i (𝓆)
𝑖=0
όπου 𝛵𝓆𝜎𝜏ό𝜒𝜊𝜍 (𝓆) = 𝓆 είναι η ταυτοτική απεικόνιση.
Σημειώστε ότι το 𝜂𝜆 (𝓆) = 𝛵i (𝓆) ε στο όριο του 𝒞𝒪𝑖 επειδή το 𝑠𝑖 γίνεται 1 στο όριο του 𝒞𝒪𝑖 και για
όλα τα 𝑗 = 𝑖, το 𝑠𝑗 γίνεται 0 στο όριο του 𝒞𝒪𝑖 . Με άλλα λόγια, για κάθε i, το 𝜂𝜆 (𝓆) είναι ίσο με 𝛵i στο όριο του
εμποδίου 𝒞𝒪𝑖 , το οποίο χαρτογραφεί το όριο ενός αστεριού σε έναν κύκλο. Επιπλέον, το 𝜂𝜆 (𝓆) είναι συνεχής
συνάρτηση και έτσι το 𝜂𝜆 (𝓆) απεικονίζει ολόκληρο τον χώρο σχήματος αστεριού σε έναν χώρο κυκλικού
σχήματος. Μπορεί να αποδειχθεί ότι για ένα κατάλληλο 𝜆, το 𝜂𝜆 (𝓆) είναι ομαλή, αμφιμονοσήμαντη και έχει
ομαλή αντίστροφο, δηλ. είναι αμφιδιαφορίσιμη 0. Επομένως, εφόσον έχουμε συνάρτηση πλοήγησης σε χώρο
κυκλικού σχήματος, έχουμε και συνάρτηση πλοήγησης στον χώρο σχήματος αστεριού.

5.3.5 Ελλειπτικά Πεδία


Μια άλλη προσέγγιση για τη μείωση του αριθμού των τοπικών ελάχιστων της δυναμικής συνάρτησης 𝑈
συνίσταται στον ορισμό της συνάρτησης 𝑈 ως τον συνδυασμό ενός ελκυστικού δυναμικού πεδίου που έχει μια
περιστροφική συμμετρία γύρω από τη διαμόρφωση του στόχου 𝓆𝜎𝜏ό𝜒𝜊𝜍 και από ένα ελλειπτικό απωθητικό
πεδίο. Η βασική ιδέα είναι να ορίσουμε το απωθητικό πεδίο γύρω από ένα εμπόδιο διαμορφώσεων 𝒞𝒪 με
τέτοιον τρόπο, ώστε τα ισοδυναμικά περιγράμματα να συγκλίνουν προς το όριο του εμποδίου 𝒞𝒪, όταν η
απόσταση από το 𝒞𝒪 τείνει προς το μηδέν και προς τις σφαιρικές επιφάνειες, όταν η απόσταση αυξάνεται 0.
Για να γίνει κατανοητή η προσέγγιση των ελλειπτικών πεδίων, θα την εφαρμόσουμε σε έναν διδιάστατο χώρο
διαμορφώσεων 𝒞.
Ας υποθέσουμε ότι στον χώρο διαμορφώσεων 𝒞 υπάρχει ένα μόνο ορθογώνιο εμπόδιο διαμορφώσεων
𝒞𝒪 και ότι η τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 βρίσκεται στον άξονα συμμετρίας 𝑦𝑦′ του εμποδίου 𝒞𝒪 (Εικόνα
5.34).
Έστω ότι η συνολική συνάρτηση δυναμικού ορίζεται από τη σχέση 𝑈 = 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό + 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό , η οποία
έχει οριστεί στις αρχικές ενότητες. Τα ισοδυναμικά περιγράμματα του 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό είναι ομόκεντροι κύκλοι με
κέντρο τη διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Εντός της απόστασης επιρροής 𝜌𝜊 από το εμπόδιο 𝒞𝒪, τα ισοδυναμικά
περιγράμματα του 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό είναι ορθογώνια με ομαλοποιημένες γωνίες. Στην Εικόνα 5.35 απεικονίζεται η

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 159
σύνθεση των δύο πεδίων 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό και 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό , στα οποία δημιουργείται ένα τοπικό ελάχιστο στο δυναμικό
𝑈 κατά μήκος του άξονα συμμετρίας του εμποδίου 𝒞𝒪 που περιέχει την τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 :
• Θεωρούμε την ημι-ευθεία ΠΣ. Το σημείο Π βρίσκεται στο σύνορο του εμποδίου 𝒞𝒪, ενώ το Σ
βρίσκεται στο «άπειρο» (∞). Έστω 𝓆 μια διαμόρφωση στο ΠΣ το οποίο βρίσκεται σε μια
πεπερασμένη μη μηδενική απόσταση από το Π. Το δυναμικό 𝑈(𝓆) είναι πεπερασμένο. Όταν το
𝓆 τείνει είτε προς το Π είτε προς το Σ, το 𝑈(𝓆) τείνει προς το +∞.
• Έστω Γ ένα σημείο στο ΠΣ σε μια πεπερασμένη μη μηδενική απόσταση από το Π. Το 𝛾𝛼𝜋𝜔𝜃 (Γ)
είναι το ισοδυναμικό περίγραμμα του 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό που περιέχει το Γ και το 𝛾𝜀𝜆𝜅𝜏𝜄𝜅ό (Γ) είναι το
ισοδυναμικό περίγραμμα του 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό που εφάπτεται στο 𝛾𝜀𝜆𝜅𝜏𝜄𝜅ό (Γ) σε δύο διακριτά σημεία Α
και Β. Καθώς η διαμόρφωση 𝓆 κινείται κατά μήκος του 𝛾𝛼𝜋𝜔𝜃 (Γ) από το Α στο Β, το δυναμικό
𝑈(𝓆) πρώτα μειώνεται μέχρι να προσεγγίσουμε το σημείο Γ, μετά αυξάνεται μέχρι να
προσεγγίσουμε το σημείο Β.
H συνάρτηση δυναμικού 𝑈 έχει ένα τοπικό ελάχιστο σε μια διαμόρφωση 𝓆 που βρίσκεται στο ΠΣ μεταξύ των
Π και Σ. Αυτό το ελάχιστο προκύπτει από το γεγονός ότι η ακτίνα καμπυλότητας της απωθητικής ισοδυναμικής
καμπύλης στο 𝓆 είναι μεγαλύτερη από την ακτίνα καμπυλότητας του ελκυστικού ισοδυναμικού σε 𝓆. Για αυτόν
τον λόγο, το συνολικό δυναμικό είναι μη κυρτό, παρά το γεγονός ότι τόσο το ελκτικό δυναμικό όσο και το
απωθητικό δυναμικό είναι κυρτά.

Εικόνα 5.34 Τα ισοδυναμικά περιγράμματα του ελκυστικού πεδίου δυναμικού οι οποίοι είναι ομόκεντροι με κέντρο το
𝓆𝜎𝜏ό𝜒𝜊𝜍 . Τα ισοδυναμικά περιγράμματα του απωστικού δυναμικού πεδίου τα οποία είναι είναι «ορθογώνια με ομαλές
γωνίες» 0.

Ηλίας Ξυδιάς 160


Η παραπάνω παρατήρηση υποδηλώνει ότι πρέπει να προσεγγίσουμε την περιοχή του εμποδίου-διαμορφώσεων
𝒞𝒪 με μια συλλογή ασύνδετων δίσκων. Εάν η τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 βρίσκεται εκτός οποιουδήποτε από
αυτούς τους δίσκους, μπορούμε να επιλέξουμε την απόσταση επιρροής 𝜌𝜊 να είναι μικρότερη από την ελάχιστη
του μισού της ελάχιστης απόστασης μεταξύ οποιωνδήποτε δύο δίσκων και της απόστασης μεταξύ του 𝓆𝜎𝜏ό𝜒𝜊𝜍
και του πλησιέστερου δίσκου. Τότε, είναι εγγυημένο ότι η ακτίνα της απωθητικής καμπύλης ισοδυναμικού, σε
οποιαδήποτε διαμόρφωση 𝓆, είναι μικρότερη από την ακτίνα του ελκυστικού ισοδυναμικού στο 𝓆. Το συνολικό
δυναμικό είναι μια συνάρτηση πλοήγησης που παρουσιάστηκε στην υπο-ενότητα 5.1.3. Ωστόσο, το
μειονέκτημα της προσέγγισης της περιοχής 𝒞𝒪 με ασυνεχείς δίσκους είναι ότι μπορεί να εμποδίσει την
πρόσβαση του ρομπότ σε ένα μεγάλο υποσύνολο του ελεύθερου χώρου. Αυτό ισχύει ιδιαίτερα εάν η περιοχή
του 𝒞𝒪 αποτελείται από επιμήκη αντικείμενα. Ένα ελλειπτικό απωθητικό δυναμικό, όπως ορίζεται παρακάτω,
είναι ένας συμβιβασμός μεταξύ του απωθητικού δυναμικού της υπο-ενότητας 5.1.3, το οποίο τείνει να
δημιουργεί μεγάλα τοπικά ελάχιστα, και του κυκλικού απωθητικού δυναμικού που παρουσιάζεται παραπάνω,
το οποίο εμποδίζει την πρόσβαση σε ένα μεγάλο υποσύνολο του ελεύθερου χώρου.

Εικόνα 5.35 Το τοπικό ελάχιστο βρίσκεται στον άξονα συμμετρίας 𝑦 του εμποδίου 𝒞𝒪, ο οποίος περιέχει το 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
Γενικότερα, ένα τοπικό ελάχιστο μπορεί να εμφανίζεται κάθε φορά που η ακτίνα καμπυλότητας μιας απωστικής καμπύλης
ισοδυναμικού σε μια διαμόρφωση είναι μεγαλύτερη από την ακτίνα καμπυλότητας της ελκυστικής καμπύλης ισοδυναμικού
για την ίδια διαμόρφωση 0.

Ας υποθέσουμε ξανά την απλή περίπτωση κατά την οποία η περιοχή εμποδίου-διαμορφώσεων 𝒞𝒪 είναι ένα
ορθογώνιο. Έστω ότι οι διαστάσεις του 𝒞𝒪 είναι: 𝑙 το μήκος του 𝒞𝒪 και ℎ το πλάτος του 𝒞𝒪. Επίσης, θεωρούμε
ότι το κέντρο των συντεταγμένων ορίζεται με αρχή το κέντρο του 𝒞𝒪 και με άξονα 𝑥 να δείχνει κατά μήκος

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 161
της μεγάλης πλευράς του 𝒞𝒪. Το ελλειπτικό απωθητικό δυναμικό που δημιουργείται από το 𝒞𝒪 ορίζεται σε
δύο στάδια 0. Αρχικά, καθορίζονται τα ισοδυναμικά περιγράμματα. Στη συνέχεια, ορίζεται η τιμή του
δυναμικού σε κάθε ένα από τα ισοδυναμικά περιγράμματα.
Έστω η γενικευμένη 𝑛 −έλλειψη (𝑛 ≥ 1) η οποία περιγράφεται από την εξίσωση,
𝑥 2𝑛 𝑦 2𝑛 (5.35)
( ) + ( ) = 1, 𝑛 ≥ 1
𝛼 𝛽
όπου 𝛼 είναι το μήκος του μεγάλου ημιάξονα και 𝛽 είναι το μήκος του μικρού ημιάξονα. Αν θέσουμε,
𝑙 1 ℎ 1 (5.36)
𝛼 = (22𝑛 ) 𝜅𝛼𝜄 𝛽 = (22𝑛 )
2 2
παίρνουμε μια 𝑛 −έλλειψη που «αγγίζει» το εμπόδιο 𝒞𝒪 στις τέσσερις γωνίες του. Επιπλέον, η επιφάνεια της
περιοχής μεταξύ του ορθογωνίου και της 𝑛 −έλλειψης είναι η ελάχιστη. Όταν 𝑛 → ∞, η 𝑛 −έλλειψη συγκλίνει
προς το σύνορο του 𝒞𝒪.
Για να γίνει η 𝑛 −έλλειψη κύκλος όταν 𝑛 = 1, πολλαπλασιάζουμε τον όρο 𝑦 της εξίσωσης 5.34 με
𝛽⁄ 2
( 𝛼 ) . Η 𝑛 −έλλειψη γίνεται
𝑥 2𝑛 𝛽 2 𝑦 2𝑛 (5.37)
( ) + ( ) ( ) = 1, 𝑛 ≥ 1
𝛼 𝛼 𝛽
Συνεπώς, η 𝑛 −έλλειψη γίνεται κύκλος όταν 𝑛 = 1. Για κάθε 𝑛 ≥ 1, περιέχει το εμπόδιο 𝒞𝒪 και συγκλίνει προς
το σύνορο του 𝒞𝒪 όταν 𝑛 → ∞.
Για ένα δοσμένο 𝑛, αντιμετωπίζουμε την ποσότητα
1/𝑛
𝑥 2𝑛 𝛽 2 𝑦 2𝑛 (5.38)
𝜉𝑛 (𝑥, 𝑦) = (( ) + ( ) ( ) ) − 1, 𝑛 ≥ 1
𝛼 𝛼 𝛽
ως ψευδο-απόσταση μεταξύ της διαμόρφωσης (𝑥, 𝑦) και του 𝒞𝒪. Είναι μηδέν στην καμπύλη 𝑛 −έλλειψης και
αυξάνεται στο άπειρο για διαμορφώσεις που απομακρύνονται από αυτήν την καμπύλη. Για κάθε δεδομένη
σταθερή τιμή 𝛫, η καμπύλη 𝜉𝑛 (𝑥, 𝑦) = 𝛫 θεωρείται ως απωθητικό ισοδυναμικό, για κάποιο n που ορίζεται
από,
1 (5.39)
𝑛=
1 − 𝑒 −𝑎𝐾
όπου 𝑎 είναι ρυθμιζόμενη παράμετρος. Έτσι, όταν 𝛫 → ∞, 𝑛 → 1, το ισοδυναμικό τείνει προς έναν κύκλο. Όταν
𝛫 → 0, 𝑛 → ∞, το ισοδυναμικό τείνει προς το σύνορο του 𝒞𝒪. Η παράμετρος 𝑎 καθορίζει πόσο γρήγορα
αυξάνεται το 𝑛 της έλλειψης όταν 𝛫 → 0.
Η Εικόνα 5.36 παρουσιάζει τα ισοδυναμικά περιγράμματα γύρω από το εμπόδιο διαμορφώσεων 𝒞𝒪
για διάφορες τιμές του 𝛫. Έστω 𝑅(𝛫) το απωθητικό ισοδυναμικό περίγραμμα που αντιστοιχεί στην ψευδο-
απόσταση 𝛫.
Τώρα που έχει καθοριστεί η μορφή των περιγραμμάτων απωθητικής ισοδυναμικής, ορίζουμε την τιμή
του απωθητικού δυναμικού σε καθένα από αυτά. Είναι επιθυμητό το απωθητικό δυναμικό του 𝒞𝒪 να έχει
περιορισμένο εύρος επιρροής, με αντίστροφη εξάρτηση από την απόσταση από το εμπόδιο-διαμορφώσεων.
Αυτό μπορεί (σχεδόν) να επιτευχθεί με το δυναμικό,
𝑒 −𝛽𝛫 (5.40)
∀(𝑥, 𝑦)𝜖𝑅(𝛫 ): 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό (𝑥, 𝑦) = 𝑛
𝐾
όπου 𝑛 είναι ένας παράγοντας κλιμάκωσης. Ο εκθετικός όρος κάνει το δυναμικό να τείνει προς το 0 πιο γρήγορα
από το 𝐾 −1 , όταν το 𝐾 αυξάνεται. Η εικόνα 5.37 παρουσιάζει το απωθητικό δυναμικό το οποίο δημιουργείται
από το 𝒞𝒪.

Ηλίας Ξυδιάς 162


Εικόνα 5.36 Τα ελλειπτικά ισοδυναμικά περιγράμματα για τιμές του 𝐾 μεταξύ 0.1 και 2.6, και 𝑎 = 1.5. Τα περιγράμματα
είναι κοντά στο ορθογώνιο, όταν το 𝐾 είναι μικρό, ενώ είναι σχεδόν κυκλικά, όταν το 𝐾 είναι μεγάλο 0.

Όταν το παραπάνω απωθητικό δυναμικό προστεθεί στο ελκυστικό δυναμικό, μπορεί να δημιουργηθούν
τοπικά ελάχιστα «ανηφορικά» από το 𝒞𝒪. Ωστόσο, το μέγεθος του πεδίου έλξης αυτού του ελάχιστου μπορεί
να συντονιστεί ρυθμίζοντας κατάλληλα τα 𝑛, 𝛼 και 𝛽. Είναι δυνατόν να αποφευχθεί το τοπικό ελάχιστο,
κάνοντας το ελάχιστο του συνολικού δυναμικού κατά μήκος του άξονα 𝑦 να συμβεί σε ένα σημείο (0, 𝑦0 ), όπου
η ακτίνα καμπυλότητας του απωθητικού ισοδυναμικού περιγράμματος είναι μικρότερη ή ίση με την ακτίνα του
ελκυστικού ισοδυναμικού περιγράμματος. Ο χαμένος χώρος είναι ελάχιστος όταν οι παράμετροι έχουν
ρυθμιστεί έτσι ώστε το 𝑦0 να είναι όσο το δυνατόν πιο κοντά στο 𝒞𝒪. Ο χαμένος ελεύθερος χώρος μπορεί να
είναι ακόμα πολύ μεγάλος, οπότε οι παράμετροι ενδέχεται να ρυθμιστούν διαφορετικά. Τότε, το πεδίο έλξης
του δημιουργημένου τοπικού ελάχιστου είναι συνήθως μικρότερο από το τοπικό ελάχιστο που δημιουργείται
από τη συνάρτηση απωθητικού δυναμικού της υποενότητας 5.1.3.
Ωστόσο, τα ελλειπτικά δυναμικά έχουν αρκετά μειονεκτήματα που καθιστούν δύσκολη την εφαρμογή
τους σε πρακτικά προβλήματα. Πρώτον, μπορούν να γενικευθούν μόνο σε απλά κυρτά σχήματα σε
διδιάστατους και τριδιάστατους χώρους, χρησιμοποιώντας υπερτετράγωνη διαμόρφωση με μη σταθερές
παραμέτρους κλιμάκωσης 0. Δεύτερον, απαιτούν τα εμπόδια-διαμορφώσεων να είναι αρκετά μακριά το ένα
από το άλλο, έτσι ώστε κανένα εμπόδιο να μην βρίσκεται εντός της απόστασης επιρροής ενός άλλου εμποδίου-
διαμορφώσεων. Τρίτον, ο ορισμός τους δεν παρέχει έναν άμεσο τρόπο υπολογισμού του δυναμικού σε μια
δεδομένη διαμόρφωση. Απαιτεί παρεμβολή μεταξύ προϋπολογισμένων τιμών σε κοντινές διαμορφώσεις.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 163
Εικόνα 5.37 Το ελλειπτικό απωθητικό δυναμικό το οποίο δημιουργείται από το 𝒞𝒪 για 𝑛 = 𝛼 = 𝛽 = 1 0.

5.4 Δυναμικές Συναρτήσεις σε Χώρους Διαμορφώσεων Μεγάλης Διάστασης


Αφήνοντας για λίγο στην άκρη το ζήτημα των τοπικών ελάχιστων, μια άλλη σημαντική πρόκληση για την
υλοποίηση δυναμικών συναρτήσεων είναι η κατασκευή του χώρου διαμορφώσεων του ρομπότ. Η κατασκευή
της συνάρτησης δυναμικού είναι ιδιαίτερα δύσκολη όταν ο χώρος διαμόρφωσης είναι μη Ευκλείδειος και
μεγάλης διάστασης. Για να αντιμετωπίσουμε αυτήν τη δυσκολία, θα ορίσουμε μια συνάρτηση δυναμικού στον
χώρο εργασίας, ο οποίος θεωρούμε αρχικά ότι είναι ο Ευκλείδειος χώρος, και στη συνέχεια θα την
εφαρμόσουμε στον χώρο διαμορφώσεων. Εδώ, υπολογίζουμε μια κλίση στον χώρο διαμόρφωσης ως
συνάρτηση των διαβαθμίσεων στον χώρο εργασίας. Για να το κάνουμε αυτό, αντί να σκεφτόμαστε τις
διαβαθμίσεις ως διανύσματα ταχύτητας, θα τις σκεφτόμαστε τώρα ως δυνάμεις. Στη συνέχεια, καθιερώνουμε
μια σχέση μεταξύ μιας δύναμης στον χώρο εργασίας και μιας δύναμης στον χώρο των διαμορφώσεων. Έπειτα,
εφαρμόζουμε αυτήν τη σχέση σε ένα ρομπότ άκαμπτου σώματος. Τέλος, εφαρμόζουμε αυτήν τη σχέση σε ένα
ρομπότ που έχει αρθρωτό σώμα.

5.4.1 Σχέση Μεταξύ των Δυνάμεων στον Χώρο Εργασίας και του Χώρου Διαμορφώσεων
Δεδομένου ότι ο χώρος εργασίας είναι ένα υποσύνολο ενός Ευκλείδειου χώρου διάστασης δύο ή τρία, είναι
πολύ πιο εύκολο να υλοποιηθούν και να αξιολογηθούν οι συναρτήσεις δυναμικού στον χώρο εργασίας παρά
στον χώρο των διαμορφώσεων. Τώρα, θα διαχειριστούμε την κλίση στον χώρο εργασίας ως δυνάμεις. Οι
συναρτήσεις δυναμικού στον χώρο εργασίας δημιουργούν δυνάμεις, αλλά θα χρειαστούμε δυνάμεις δυναμικού
στον χώρο των διαμορφώσεων για να καθορίσουμε τη διαδρομή για το ρομπότ.
Έστω 𝑥 και 𝓆 τα διανύσματα συντεταγμένων που αντιπροσωπεύουν ένα σημείο στον χώρο εργασίας
και τη διαμόρφωση του ρομπότ, αντίστοιχα, όπου οι συντεταγμένες 𝑥 και 𝓆 συσχετίζονται με το ευθύ
κινηματικό δηλ. 𝑥 = 𝜑(𝓆). Έστω ότι 𝑓 και 𝑢 υποδηλώνουν τις γενικευμένες δυνάμεις στον χώρο εργασίας και
στον χώρο των διαμορφώσεων, αντίστοιχα. Για να αναπαραστήσουμε μια δύναμη 𝑓, που ενεργεί σε ένα σημείο
𝑥 = 𝜑(𝓆) στον χώρο εργασίας, ως γενικευμένη δύναμη 𝑢, που ενεργεί στον χώρο διαμόρφωσης του ρομπότ,
χρησιμοποιούμε την αρχή της εικονικής εργασίας, κατά την οποία ουσιαστικά το έργο (ή η ισχύς) είναι μια
ανεξάρτητη ποσότητα. Αυτό σημαίνει ότι η ισχύς που μετριέται σε συντεταγμένες του χώρου εργασίας πρέπει
να είναι ίση με την ισχύ που μετριέται στις συντεταγμένες του χώρου διαμορφώσεων. Στον χώρο εργασίας, η
ισχύς που ασκείται από μια δύναμη 𝑓 είναι η γνωστή ως 𝑓 𝑇 𝑥̇ . Στον χώρο διαμορφώσεων, η ισχύς δίνεται από

Ηλίας Ξυδιάς 164


𝜕𝜑
το 𝑢𝑇 𝓆̇ . Γνωρίζουμε ότι 𝑥̇ = 𝐽𝓆̇ , όπου 𝐽 = είναι ο Ιακωβιανός πίνακας 0 . Επομένως, η αντιστοίχιση από τις
𝜕𝓆
δυνάμεις του χώρου εργασίας στις δυνάμεις του χώρου διαμορφώσεων δίνεται από
𝑓 𝑇 𝐽𝓆̇ = 𝑢𝑇 𝓆̇ (5.41)
𝑓 𝑇 𝐽 = 𝑢𝑇
𝐽𝑇 𝑓 = 𝑢

Για να γίνει κατανοητή η παραπάνω διαδικασία ας εξετάσουμε το ακόλουθο παράδειγμα:


Ας υποθέσουμε το ρομποτικό σύστημα που απεικονίζεται στην Εικόνα 5.38. Η κορυφή 𝛼 του ρομποτικού
συστήματος έχει συντεταγμένες (𝛼𝑥 , 𝛼𝑦 )𝑇 , ως προς το τοπικό σύστημα συντεταγμένων. Επομένως, εάν το
σύστημα συντεταγμένων του ρομποτικού συστήματος βρίσκεται στο (𝑥, 𝑦)𝑇 με προσανατολισμό 𝜃, η
απεικόνιση του ευθύ κινηματικού για την κορυφή 𝛼 δίνεται από
𝑥 + 𝛼𝑥 𝑐𝑜𝑠𝜃 − 𝛼𝑦 𝑠𝑖𝑛𝜃 (5.42)
𝜑(𝓆) = [ ]
𝑦 + 𝛼𝑥 𝑠𝑖𝑛𝜃 + 𝛼𝑦 𝑐𝑜𝑠𝜃

Ο αντίστοιχος Ιακωβιανός πίνακας δίνεται από


1 0 −𝛼𝑥 𝑠𝑖𝑛𝜃 − 𝛼𝑦 𝑐𝑜𝑠𝜃 (5.43)
𝐽(𝓆) = [ ]
0 1 𝛼𝑥 𝑐𝑜𝑠𝜃 − 𝛼𝑦 𝑠𝑖𝑛𝜃
Επομένως, δύναμη που εφαρμόζεται στον χώρο των διαμορφώσεων δίνεται από
𝑢𝑥 𝑓𝑥 (5.44)
𝑓𝑥 𝑓𝑦
𝑇
[𝑢𝑦 ] = 𝐽 (𝓆) [ ] = [ ]
𝑓𝑦
𝑢𝑧 𝑓𝑥 (−𝛼𝑥 𝑠𝑖𝑛𝜃 − 𝛼𝑦 𝑐𝑜𝑠𝜃) + 𝑓𝑦 (𝛼𝑥 𝑐𝑜𝑠𝜃 − 𝛼𝑦 𝑠𝑖𝑛𝜃)

Εικόνα 5.38 Το ρομποτικό σύστημα, το γενικό σύστημα συντεταγμένων και το τοπικό σύστημα συντεταγμένων.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 165
5.4.2 Συναρτήσεις Δυναμικού για Άκαμπτο Αντικείμενο
Όπως έχει αναφερθεί αρκετές φορές σε αυτό το κεφάλαιο, ο στόχος μας στον ορισμό των συναρτήσεων
δυναμικού είναι να κατασκευάσουμε μια συνάρτηση που να απωθεί το ρομπότ από τα εμπόδια, με ένα συνολικό
ελάχιστο που αντιστοιχεί στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Στον χώρο των διαμορφώσεων, αυτή η εργασία ήταν σχετικά απλή,
επειδή το ρομπότ αναπαρίσταται από ένα σημείο, το οποίο αντιμετωπίσαμε ως σημειακή μάζα υπό την
επίδραση ενός δυναμικού πεδίου. Στην περίπτωση του χώρου εργασίας, τα πράγματα δεν είναι τόσο απλά· εδώ
το ρομπότ έχει πεπερασμένη περιοχή στο επίπεδο και όγκο στις τρεις διαστάσεις. Η αξιολόγηση της επίδρασης
ενός δυναμικού πεδίου στο ρομπότ θα περιλαμβάνει τον υπολογισμό ενός ολοκληρώματος στην περιοχή/όγκο,
που ορίζεται από το ρομπότ, και αυτό μπορεί να είναι αρκετά περίπλοκο (τόσο μαθηματικά όσο και
υπολογιστικά). Μια εναλλακτική προσέγγιση είναι να επιλέξουμε ένα υποσύνολο σημείων στο ρομπότ, που
ονομάζονται σημεία ελέγχου και να ορίσουμε ένα δυναμικό για καθένα από αυτά τα σημεία. Η αξιολόγηση της
επίδρασης του δυναμικού πεδίου σε ένα μόνο σημείο δεν διαφέρει από τις αξιολογήσεις που απαιτούνται στην
ενότητα 5.1.4. Στη συνέχεια, χρησιμοποιούμε τη σχέση που αναπτύχθηκε στην προηγούμενη υπο-ενότητα, για
να μετατρέψουμε τις μεμονωμένες δυνάμεις του χώρου εργασίας σε δυνάμεις του χώρου διαμορφώσεων.
Ακολούθως, προσθέτουμε τα ευρήματα για να λάβουμε τη συνολική δύναμη για τον χώρο διαμορφώσεων. Το
αποτέλεσμα είναι οι δυνάμεις του χώρου εργασίας στο ρομπότ να μετατρέπονται σε μια γενικευμένη δύναμη
στο χώρο των διαμορφώσεων.
Στην περίπτωση λοιπόν που το ρομπότ αποτελείται από ένα άκαμπτο σώμα, είναι απαραίτητο να
επιλέξουμε ένα σύνολο σημείων 𝑛 από το «σώμα» του, τα οποία ονομάζονται σημεία ελέγχου 𝑟𝑖 , 𝑖 = 1, … , 𝑛. Ο
αριθμός των σημείων 𝑛 είναι ο ελάχιστος αριθμός σημείων ελέγχου που εξαρτάται από τον αριθμό των βαθμών
ελευθερίας του ρομπότ. Με άλλα λόγια, είναι ο αριθμός των σημείων που απαιτούνται για να «ορίσουμε» το
σώμα του ρομπότ. Για παράδειγμα, για ένα ρομπότ με άκαμπτο σώμα στο επίπεδο, μπορούμε να ορίσουμε τη
θέση του ρομπότ χρησιμοποιώντας τη θέση δύο από τα σημεία του. Για κάθε 𝑟𝑗 , το ελκτικό δυναμικό ορίζεται
ως εξής:
𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό,𝑖 (𝓆) (5.45)
1 2 (𝑟 ( ) ∗
𝜁𝑑 𝑖 𝓆 , 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆 ), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍
={ 2 𝑖
∗ 1 ∗ ∗
𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁𝑖 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) − 𝜁𝑖 𝑑𝜎𝜏ό𝜒𝜊𝜍 , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) > 𝑑𝜎𝜏ό𝜒𝜊𝜍
2
όπου 𝜁𝑖 είναι μια σταθερά που καθορίζει την επίδραση του ελκτικού πεδίου στο σημείο 𝑟𝑖 , 𝑖 = 1, … , 𝑛. Η κλίση
του ελκτικού πεδίου είναι

𝜁𝑖 (𝑟𝑖 (𝓆) − 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍 (5.46)

∇𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό,𝑖 (𝓆) = 𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁𝑖 (𝑟𝑖 (𝓆) − 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ))

, 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) > 𝑑𝜎𝜏ό𝜒𝜊𝜍
{ 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ))

1 0 −𝛼𝑥 𝑠𝑖𝑛𝜃 − 𝛼𝑦 𝑐𝑜𝑠𝜃 (5.47)


𝐽(𝓆) = [ ]
0 1 𝛼𝑥 𝑐𝑜𝑠𝜃 − 𝛼𝑦 𝑠𝑖𝑛𝜃
Για την κατασκευή του απωθητικού πεδίου χρησιμοποιούμε τα ίδια σημεία 𝑟𝑖 , 𝑖 = 1, … , 𝑛 και ορίζεται ως εξής:
2
1 1 1 (5.48)
𝑛𝑖 ( − ∗ ) , 𝛼𝜈 𝑑𝑗 (𝑟𝑖 (𝓆)) ≤ 𝑄𝑗∗
𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό,𝑗,𝑖 (𝓆) = {2 𝑑𝑗 (𝑟𝑖 (𝓆)) 𝑄𝑗
0, 𝛼𝜈 𝑑𝑗 (𝑟𝑖 (𝓆)) > 𝑄𝑗∗

όπου 𝑑𝑗 (𝑟𝑖 (𝓆)) είναι η ελάχιστη απόσταση μεταξύ του σημείου 𝑟𝑖 , 𝑖 = 1, … , 𝑛 και του εμποδίου 𝒞𝒪𝑗 και 𝑄𝑗∗
είναι η επίδραση του εμποδίου 𝒞𝒪𝑗 , 𝑗 = 1, … , 𝑚. Η κλίση του απωθητικού πεδίου είναι

Ηλίας Ξυδιάς 166


∇𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό,𝑗,𝑖 (𝓆) (5.49)
2
1 1 1
−𝑛𝑖 ( − ∗) ( ) ∇𝑑𝑗 (𝑟𝑖 (𝓆)), 𝛼𝜈 𝑑𝑗 (𝑟𝑖 (𝓆)) ≤ 𝑄𝑗∗
={ ( )
𝑑𝑗 (𝑟𝑖 𝓆 ) 𝑄 𝑗 ( )
𝑑𝑗 (𝑟𝑖 𝓆 )
0, 𝛼𝜈 𝑑𝑗 (𝑟𝑖 (𝓆)) > 𝑄𝑗∗
Το συνολικό δυναμικό πεδίο το οποίο εφαρμόζεται στον χώρο των διαμορφώσεων και όχι στο χώρον εργασίας
δίνεται από
𝑛 𝑚 𝑛
(5.50)
𝑈(𝓆) = ∑ 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό,𝑖 (𝓆) + ∑ ∑ 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό,𝑗,𝑖 (𝓆)
𝑖=1 𝑗=1 𝑖=1
Πρέπει να σημειωθεί ότι η επιλογή των σημείων ελέγχου 𝑟𝑖 , 𝑖 = 1, … , 𝑛 δεν εγγυάται ότι το ρομπότ δεν μπορεί
να συγκρουστεί με ένα εμπόδιο. Στην Εικόνα 5.39 παρουσιάζεται ένα παράδειγμα κατά το οποίο τα σημεία
ελέγχου 𝑟1 και 𝑟2 δεν είναι αρκετά για να δημιουργηθεί, υπό την επίδραση του εμποδίου 𝒞𝒪, ένα απωθητικό
πεδίο αρκετά μεγάλο, ώστε να αποτρέψει τη σύγκρουση της άκρης του ρομπότ με το εμπόδιο. Για τον λόγο
αυτόν, θα μπορούσαμε να προσθέσουμε ένα επιπλέον απωθητικό σημείο ελέγχου, το 𝑟0 . Το «νέο» σημείο
ελέγχου 𝑟0 ορίζεται ως εκείνο το σημείο στο όριο του ρομπότ που βρίσκεται πιο κοντά σε οποιοδήποτε εμπόδιο
του χώρου εργασίας. Προφανώς η επιλογή του 𝑟0 εξαρτάται από τη διαμόρφωση 𝓆. Για το παράδειγμα της
Εικόνας 5.39, το 𝑟0 θα βρίσκεται στο μέσο μεταξύ των 𝑟1 και 𝑟2 , απωθώντας έτσι το ρομπότ από το εμπόδιο. Η
απωστική δύναμη που επενεργεί στο 𝑟0 ορίζεται με τον ίδιο τρόπο όπως και για τα άλλα σημεία ελέγχου,
χρησιμοποιώντας τη σχέση της εξ. 5.46.

Εικόνα 5.39 Τα σημεία ελέγχου 𝑟𝑖 , 𝑖 = 1, … ,4, το βοηθητικό σημείο 𝑟0 και το εμπόδιο 𝒞𝒪.

5.4.3 Δυναμικό Πεδίο για Αρθρωτό Ρομπότ


Οι μέθοδοι κατασκευής ενός δυναμικού πεδίου, για ένα ρομποτικό σύστημα το οποίο έχει άκαμπτο σώμα, σε
ένα περιβάλλον που περιέχει εμπόδια (βλ. προηγούμενη υποενότητα), είναι εύκολο να επεκταθούν στην
περίπτωση των αρθρωτών ρομποτικών συστημάτων. Συνήθως, ένα σύνολο από σημεία ελέγχου 𝑟𝑖 , 𝑖 = 1, … , 𝑛

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 167
τοποθετούνται τυχαία σε όλο το σώμα του αρθρωτού ρομπότ. Τα σημεία κατανέμονται σε όλους τους
συνδέσμους, καθώς κάθε σύνδεσμος είναι ένα άκαμπτο σώμα και θα θέλαμε να αποτρέψουμε τη σύγκρουση
των συνδέσμων με τα εμπόδια. Στη συνέχεια, δημιουργούμε ένα συνολικό δυναμικό, όπως αυτό της Εξ. 5.48.
Εάν η κίνηση σε μια άρθρωση περιορίζεται μηχανικά, αυτοί οι περιορισμοί μπορούν να ληφθούν υπόψη
στη συνάρτηση δυναμικού. Ένας τρόπος για να το επιτύχουμε είναι να χρησιμοποιήσουμε την προσέγγιση που
αναπτύχθηκε από τον Khatib 0. Έστω, λοιπόν, μια συντεταγμένη διαμόρφωση 𝓆𝑖 𝜖(𝓆𝑖𝐴 , 𝓆𝑖𝐵 ) στον χώρο των
διαμορφώσεων, όπου το εύρος της κίνησης του 𝓆𝑖 περιορίζεται στο διάστημα (𝓆𝑖𝐴 , 𝓆𝑖𝐵 ). Και τα δύο οριακά
σημεία του διαστήματος 𝓆𝑖𝐴 και 𝓆𝑖𝐵 μπορούν να αντιμετωπιστούν ως «εμπόδια» που δημιουργούν πεδία
απωθητικού δυναμικού 𝑊 𝐴 (𝓆𝑖 ) και 𝑊 𝐵 (𝓆𝑖 ). Χρησιμοποιώντας την ίδια γενική μορφή με τις συναρτήσεις
απωθητικού δυναμικού που περιγράφονται στην παραπάνω υπο-ενότητα, οι συναρτήσεις 𝑊 𝐴 (𝓆𝑖 ) και 𝑊 𝐵 (𝓆𝑖 )
ορίζονται ως εξής:
2
1 1 1 (5.51)
𝐴 𝑛( 𝐴 − ) , 𝛼𝜈 𝓆𝑖 − 𝓆𝑖𝐴 ≤ 𝑄𝜊
𝑊 (𝓆𝑖 ) = {2 𝓆𝑖 − 𝓆𝑖 𝑄𝜊
0, 𝛼𝜈 𝓆𝑖 − 𝓆𝑖𝐴 > 𝑄𝜊

2
1 1 1
𝐵 𝑛( 𝐵 − ) , 𝛼𝜈 𝓆𝑖𝐵 − 𝓆𝑖 ≤ 𝑄𝜊
𝑊 (𝓆𝑖 ) = {2 𝓆𝑖 − 𝓆𝑖 𝑄𝜊
0, 𝛼𝜈 𝓆𝑖𝐵 − 𝓆𝑖 > 𝑄𝜊
όπου 𝑛 είναι μια θετική σταθερά και 𝑄𝜊 είναι η απόσταση επιρροής των οριακών σημείων 𝓆𝑖𝐴 και 𝓆𝑖𝐵 . Οι
αντίστοιχες δυνάμεις δίνονται από τις ακόλουθες σχέσεις:
1 1 𝐴 (5.52)
𝑑𝑊 𝐴 (𝓆𝑖 ) 𝑛( 𝐴 − 𝑄 ) , 𝛼𝜈 𝓆𝑖 − 𝓆𝑖 ≤ 𝑄𝜊
− = { 𝓆𝑖 − 𝓆𝑖 𝜊
𝑑𝓆𝑖
0, 𝛼𝜈 𝓆𝑖 − 𝓆𝑖𝐴 > 𝑄𝜊

1 1
𝑑𝑊 𝑩 (𝓆𝑖 ) 𝑛( 𝐵 − ) , 𝛼𝜈 𝓆𝑖𝐵 − 𝓆𝑖 ≤ 𝑄𝜊
− = { 𝓆𝑖 − 𝓆𝑖 𝑄𝜊
𝑑𝓆𝑖
0, 𝛼𝜈 𝓆𝑖𝐵 − 𝓆𝑖 > 𝑄𝜊
Πρέπει να σημειωθεί ότι η μέθοδος των τεχνητών δυναμικών πεδίων, ενώ μπορεί να εφαρμοστεί πολύ εύκολα
σε ρομπότ με αρθρωτό σώμα, «υποφέρει» από την παρουσία τοπικών ελάχιστων, τα οποία επηρεάζουν το
τελικό αποτέλεσμα.

Ηλίας Ξυδιάς 168


Βιβλιογραφία/Αναφορές

[1] Khatib, O. (1980) Commande Dynamique dans l'Espace Operationnel des Robots Manipulateurs en
Presence d'Obstacles, Thesis Dissertation, Ecole Nationale Superieure de l'Aeronautique et de l'Espace,
Toulouse (in French).
[2] Whitcomb, L. L., & Koditschek, D. E. (2002). Automatic assembly planning and control via potential
functions. Proceedings IROS ’91: IEEE/RSJ International Workshop on Intelligent Robots and Systems
’91.
[3] Bertsekas D.(1999). Nonlinear Programming. Athena Scientific, Belmont, MA, second edition, 1999.
[4] Jarvis R. (1985). Collision free trajectory planning using distance transforms. Mech Eng Trans of the IE
Aust, ME10:197–191.
[5] Barraquand J., Langlois B., and Latombe J. C. (1992). Numerical potential field techniques for robot path
planning. IEEE Transactions on Man and Cybernetics, 22(2):224–241, Mar/Apr.
[6] Latombe J. (1991). Robot Motion Planning. Kluwer Academic Publishers.
[7] Aho, A.V., Hopcroft, J.E. and Ullman, J.D. (1983). Data Structures and Algorithms, Addison-Wesley,
Reading, MA.
[8] Barraquand, J., Langlois, B. and Latombe, J.C. (1989a). Robot Motion Planning with Many Degrees of
Freedom and Dynamic Constraints, Preprints of the Fifth International Symposium of Robotics
Research, Tokyo, 74-83.
[9] Buckley, C.E. (1985). The Application of Continuum Methods to Path Planning, Ph.D. Dissertation,
Department of Mechanical Engineering, Stanford University.
[10] Hwang, Y.K. and Ahuja, N. (1988). Path Planning Using a Potential Field Representation. Proceedings
of the IEEE International Conference on Robotics and Automation, Philadelphia, PA, 648-649.
[11] Tilove, R.B. (1990). Local Obstacle Avoidance for Mobile Robots Based on the Method of Artificial
Potentials. Proceedings of the IEEE International Conference on Robotics and Automation, Cincinnati,
OH, 566-571.
[12] Krogh, B.H. (1984). A Generalized Potential Field Approach to Obstacle Avoidance Control. SME Paper
MS84-484.
[13] Faverjon, B. and Tournassoud, P. (1987). A Local Based Approach for Path Planning of Manipulators with
a High Number of Degrees of Freedom. Proceedings of the IEEE International Conference on Robotics
and Automation, Raleigh, NC, 1152-1159.
[14] Koditschek, D. E., & Rimon, E. (1990). Robot navigation functions on manifolds with boundary. Advances
in Applied Mathematics, 11(4), 412–442.
[15] Choset, H., Lynch, K. M., Hutchinson, S., Kantor, G., Burgard, W., Kavraki, L. E., & Thrun, S. (2005).
Principles of robot motion: Theory, algorithms, and implementations. MIT Press.
[16] Rimon, E., & Koditschek, D. E. (1992). Exact robot navigation using artificial potential functions. IEEE
Transactions on Robotics and Automation: A Publication of the IEEE Robotics and Automation
Society, 8(5), 501–518.
[17] Khosla, P., & Volpe, R. (2003). Superquadric artificial potentials for obstacle avoidance and
approach. Proceedings. 1988 IEEE International Conference on Robotics and Automation.
[18] Volpe, R., & Khosla, P. (1987). Artificial potentials with elliptical isopotential contours for obstacle
avoidance. 26th IEEE Conference on Decision and Control.
[19] Khatib, O. (1986). Real-Time Obstacle Avoidance for Manipulators and Mobile Robots. International
Journal of Robotics Research, 5(1), 90-98.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 169
Ασκήσεις

1. Ας υποθέσουμε ότι έχουμε ένα ρομποτικό σύστημα, το οποίο αναπαρίσταται ως ένα σωματίδιο και
καλείται να κινηθεί σε έναν χώρο, ο οποίος περιέχει τρία πολυγωνικά εμπόδια (Εικόνα 5.40). Να
γράψετε αλγόριθμο που να βασίζεται στα δυναμικά πεδία, με τον οποίο το ρομποτικό σύστημα θα
κινηθεί από το δοθέν αρχικό σημείο στο επιθυμητό τελικό σημείο, αποφεύγοντας τη σύγκρουση με τα
εμπόδια.

Εικόνα 5.40 Ο χώρος εργασίας στον οποίο καλείται να κινηθεί το ρομποτικό σύστημα.

2. Να υλοποιήσετε τον αλγόριθμο Brushfire στον χώρο εργασίας που απεικονίζεται στην Εικόνα 5.41.
Θεωρήστε την 8-connected εξάπλωση. Αρχικά, να δημιουργηθεί ένα απλό γραμμικό δυναμικό πεδίο
απώθησης από τα εμπόδια του χώρου. Τα χαρακτηριστικά είναι τα εξής:
• Σημεία εκκίνησης: Τα κελιά τα οποία αντιστοιχούν σε εμπόδια.
• Συνθήκη εξάπλωσης: Η εξάπλωση γίνεται σε πλησίον κελί εάν αντιστοιχεί σε ελεύθερο χώρο.
• Συνθήκη τερματισμού: Εάν καμία άλλη εξάπλωση δεν είναι δυνατή (η εξάπλωση έχει γίνει σε
όλο τον ελεύθερο χώρο).
Στη συνέχεια, να δημιουργηθεί ένα απλό δυναμικό πεδίο έλξης προς ένα σημείο του χώρου από τα εμπόδια του
χώρου. Τα χαρακτηριστικά είναι τα εξής:
• Σημείο εκκίνησης: Ένα συγκεκριμένο κελί του ελεύθερου χώρου.
• Συνθήκη εξάπλωσης: Εξάπλωση γίνεται σε πλησίον κελί εάν αντιστοιχεί σε ελεύθερο χώρο.
• Συνθήκη τερματισμού: Ένα συγκεκριμένο κελί του ελεύθερου χώρου.
Τι παρατηρείτε από τα παραπάνω;

Ηλίας Ξυδιάς 170


Εικόνα 5.41 Ο χώρος εργασίας στον οποίο καλείται να εφαρμοστεί ο αλγόριθμος Brushfire.

3. Να επαναλάβετε τη διαδικασία της άσκησης 2, χρησιμοποιώντας τον αλγόριθμο Wave-Front.


4. Ας θεωρήσουμε τον ρομποτικό βραχίονα της Εικόνας 5.42, του οποίου το άκρο εργασίας καλείται να
κινηθεί από ένα αρχικό σημείο σε ένα τελικό σημείο, αποφεύγοντας την επαφή με τα εμπόδια. Επίσης,
στις αρθρώσεις του βραχίονα δεν υπάρχουν κάποιοι περιορισμοί. Αφού δημιουργήσετε τον χώρο
διαμορφώσεων, στη συνέχεια, χρησιμοποιώντας ένα δυναμικό πεδίο, να σχεδιάσετε τη διαδρομή που
πρέπει να ακολουθήσει ο ρομποτικός βραχίονας, ώστε να προσεγγίσει το σημείο-στόχο.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 171
Εικόνα 5.42 Ο χώρος εργασίας στον οποίο καλείται να κινηθεί ο ρομποτικός βραχίονας.

5. Υλοποιήστε τη συνάρτηση ελκτικού/απωθητικού δυναμικού για ένα ρομποτικό σύστημα που


απεικονίζεται ως σωματίδιο σε έναν χώρο διαμόρφωσης με τα ακόλουθα εμπόδια:
• Πολύγωνα,
• Πολύγωνα και κύκλοι,
• Πολύεδρα,
• Πολύεδρα και σφαίρες,
• Πολύεδρα, σφαίρες και κύλινδροι.
6. Γράψτε ένα πρόγραμμα που σχεδιάζει τη διαδρομή μεταξύ δύο σημείων σε ένα επίπεδο πλέγμα
χρησιμοποιώντας τον αλγόριθμο wave-front. Εισαγάγετε από ένα αρχείο ένα σύνολο εμποδίων σε έναν
γνωστό χώρο εργασίας. Αυτό το αρχείο θα πρέπει να έχει μια λίστα κορυφών και το πρόγραμμα θα
πρέπει να αναπαράγει αυτόματα τον χώρο εργασίας σε ένα δυαδικό πλέγμα pixel. Εισάγετε από το
πληκτρολόγιο μια θέση έναρξης και στόχου για το ρομποτικό σύστημα και γράψτε ένα πρόγραμμα για
να εμφανίσετε μια ουσιαστική έξοδο ότι μια διαδρομή είναι πράγματι καθορισμένη. Χρησιμοποιήστε
τη σχέση γειτνίασης 4-connected και 8-connected. Τι παρατηρείτε για τις δύο διαδρομές που εξάγονται;
7. Γράψτε ένα πρόγραμμα που καθορίζει μια διαδρομή για ένα επίπεδο ρομποτικό σύστημα σχήματος
ορθογωνίου, που μπορεί να κινηθεί από την αρχική έως την τελική διαμόρφωση χρησιμοποιώντας τον
αλγόριθμο Brushfire. Εισάγετε από ένα αρχείο ένα ρομπότ και από ένα ξεχωριστό αρχείο ένα σύνολο
εμποδίων σε έναν γνωστό χώρο εργασίας. Εισάγετε, επίσης, μια διαμόρφωση έναρξης και στόχου από
το πληκτρολόγιο. Εξάγετε το σύνολο των σημείων που ορίζουν τη διαδρομή του ρομποτικού
συστήματος για να φτάσει από την αρχή στον στόχο.
8. Να εφαρμόσετε τις μεθοδολογίες που αναπτύχθηκαν σε αυτό το κεφάλαιο για να μετακινήσετε άκρο
του ρομποτικού βραχίονα της Εικόνας 5.43 από το σημείο Α στο σημείο Β, αποφεύγοντας την επαφή
με τα εμπόδια. Ο ρομποτικός βραχίονας αποτελείται από 7 περιστροφικές αρθρώσεις. Χρησιμοποιήστε

Ηλίας Ξυδιάς 172


ένα σημείο ελέγχου, τοποθετώντας το στο άκρο εργασίας του ρομποτικού βραχίονα, και στη συνέχεια
τοποθετήστε από ένα σημείο ελέγχου σε κάθε έναν από τους συνδέσμους. Τι παρατηρείτε;

Εικόνα 5.43 Ο χώρος εργασίας στον οποίο καλείται να κινηθεί ο ρομποτικός βραχίονας.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 173
Κεφάλαιο 6ο
Σχεδιασμός Κίνησης για Πολλαπλά Κινούμενα Αντικείμενα

Σύνοψη
Στο βασικό πρόβλημα σχεδιασμού κίνησης θεωρούμε ότι το μόνο αντικείμενο το οποίο κινείται στον χώρο
εργασίας είναι το ρομπότ. Μια σημαντική επέκταση του προβλήματος σχεδιασμού κίνησης είναι όταν ο χώρος
εργασίας περιέχει αντικείμενα, τα οποία έχουν τη δυνατότητα να κινούνται στον χώρο εργασίας. Το πρόβλημα
αυτό είναι γνωστό ως Δυναμικός Σχεδιασμός Κίνησης (Dynamic Motion Planning Problem). Σε αντίθεση με το
βασικό πρόβλημα, το πρόβλημα δυναμικού σχεδιασμού κίνησης δεν μπορεί να επιλυθεί με την κατασκευή μιας
γεωμετρικής διαδρομής. Αντ’ αυτής, ζητείται ο προσδιορισμός μιας συνεχούς συνάρτησης ως προς τον χρόνο, η
οποία έχει τη δυνατότητα να προσδιορίζει τη διαμόρφωση του ρομπότ κάθε χρονική στιγμή. Αρκετές από τις
μεθοδολογίες που έχουν προταθεί για την επίλυση του βασικού προβλήματος μπορούν με τις κατάλληλες
τροποποιήσεις να χρησιμοποιηθούν και σε αυτό το πρόβλημα.

Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.

Εισαγωγή
Σε αυτό το κεφάλαιο θα διερευνήσουμε επεκτάσεις του βασικού προβλήματος σχεδιασμού κίνησης που
περιλαμβάνουν πολλαπλά κινούμενα αντικείμενα. Αρχικά, εξετάζουμε την περίπτωση όπου κάποια από τα
εμπόδια στον χώρο εργασίας κινούνται. Το πρόβλημα που προκύπτει αναφέρεται ως δυναμικός σχεδιασμός
κίνησης. Σε αντίθεση με το (στατικό) βασικό πρόβλημα, δεν μπορεί να λυθεί με την απλή κατασκευή μιας
γεωμετρικής διαδρομής. Αντίθετα, πρέπει να δημιουργηθεί μια συνεχής συνάρτηση ως προς τον χρόνο, που
ορίζει τη διαμόρφωση του ρομπότ σε κάθε στιγμή. Η γενική προσέγγιση που ακολουθείται σε αυτό το κεφάλαιο
είναι να προστεθεί μια διάσταση - ο χρόνος - στον χώρο διαμόρφωσης του ρομπότ. Με αυτόν τον τρόπο, ο
χώρος διαμορφώσεων-χρόνου μετατρέπεται σε σταθερό, οπότε το ρομπότ είναι ένα σημείο που κινείται
ανάμεσα σε σταθερά εμπόδια. Επίσης, πρέπει να σημειωθεί ότι η διάσταση του χρόνου είναι μη αντιστρέψιμη,
όποτε η διαδρομή που θα προκύψει πρέπει να είναι γνησίως αύξουσα ως προς τον χρόνο. Αρκετές μέθοδοι
σχεδιασμού διαδρομής που παρουσιάστηκαν στα προηγούμενα κεφάλαια εξακολουθούν να εφαρμόζονται στο
πρόβλημα του δυναμικού σχεδιασμού κίνησης, αλλά με ορισμένες παραλλαγές και επεκτάσεις, οι οποίες πρέπει
(;;) να λάβουν υπόψη την ιδιαιτερότητα της διάστασης του χρόνου.
Το δυναμικό πρόβλημα σχεδιασμού κίνησης μπορεί να γίνει πιο ρεαλιστικό όταν λαμβάνουμε υπόψη
περιορισμούς στην ταχύτητα και την επιτάχυνση του ρομπότ. Στο παρόν κεφάλαιο θα εξετάσουμε μόνο δύο
περιπτώσεις στις οποίες
• η ταχύτητα του ρομπότ δεν έχει κάποιο άνω όριο και
• η ταχύτητα του ρομπότ έχει άνω όριο (χωρίς άλλο περιορισμό στην ταχύτητα και την επιτάχυνση).
Όπως θα δούμε, από υπολογιστική άποψη, το πρόβλημα με περιορισμό στη ταχύτητα του ρομπότ είναι
ουσιαστικά πιο δύσκολο από το πρόβλημα χωρίς περιορισμό στην ταχύτητά του.
Ακολούθως, εξετάζουμε μία επέκταση στην οποία μία ομάδα ρομπότ καλούνται να κινηθούν ανεξάρτητα
στον ίδιο χώρο εργασίας, μεταξύ σταθερών εμποδίων. Μια απλή προσέγγιση σε αυτό το πρόβλημα είναι να
θεωρήσουμε τα ρομπότ ως μέρη ενός σύνθετου ρομπότ και να σχεδιάσουμε μια ελεύθερη διαδρομή στον χώρο
διαμορφώσεων αυτού του σύνθετου ρομπότ (κεντρικός σχεδιασμός – centralized planning). Μια δυσκολία,
φυσικά, είναι ότι η διάσταση του χώρου διαμορφώσεων που δημιουργείται είναι συνήθως μεγάλη και, όπως
έχουμε αναφέρει, η χρονική πολυπλοκότητα των μεθόδων σχεδιασμού διαδρομής είναι εκθετική ως προς τη
διάσταση. Μια άλλη προσέγγιση συνίσταται στον σχεδιασμό μιας διαδρομής για κάθε ένα από τα ρομπότ που
βρίσκονται στο χώρο και, στη συνέχεια, στην εξέταση των αλληλεπιδράσεων μεταξύ των προτεινόμενων
διαδρομών (αποσυνδεδεμένος σχεδιασμός – decoupled planning). Με αυτόν τον τρόπο, μειώνουμε σημαντικά
το υπολογιστικό κόστος, αλλά χάνουμε ως προς την πληρότητα της προσέγγισης.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 175
Τέλος, εξετάζουμε μια επέκταση στην οποία το ρομπότ είναι αρθρωτό, δηλαδή αποτελείται από πολλά
κινούμενα άκαμπτα αντικείμενα συνδεδεμένα με αρθρώσεις (π.χ. περιστροφικές, πρισματικές) που περιορίζουν
τις σχετικές κινήσεις των συνδέσμων. Πρέπει να σημειωθεί ότι σε αυτό το κεφάλαιο θα διερευνήσουμε το
πρόβλημα σχεδιασμού διαδρομής για ένα αρθρωτό ρομπότ (ρομποτικό βραχίονα), το οποίο δεν είναι κλειστός
βρόγχος.

6.1 Κινούμενα αντικείμενα

6.1.1 Χώρος Διαμορφώσεων - Χρόνου


Ας υποθέσουμε ότι ένα άκαμπτο ρομποτικό σύστημα καλείται να κινηθεί σε έναν χώρο δύο ή τριών διαστάσεων
με εμπόδια τα οποία έχουν τη δυνατότητα να κινούνται στον χώρο εργασίας του ρομποτικού συστήματος. Έστω
𝒯 ⊂ ℝ ορίζει το χρονικό διάστημα, το οποίο μπορεί να είναι ή να μην είναι φραγμένο. Αν υποθέσουμε ότι το
𝒯 είναι φραγμένο, τότε 𝒯 = [0, 𝜏𝜏έ𝜆𝜊𝜍 ], όπου 0 είναι ο χρόνος έναρξης και 𝜏𝜏έ𝜆𝜊𝜍 είναι ο χρόνος λήξης της
κίνησης. Αν το 𝒯 δεν είναι φραγμένο, τότε 𝒯 = [0, ∞). Πρέπει να σημειωθεί ότι ο χρόνος έναρξης μπορεί να
είναι διάφορος του 0, αλλά αυτό δεν θα το εξετάσουμε στο παρόν κεφάλαιο.
Έστω ότι ο χώρος όλων των πιθανών διαμορφώσεων (state space) 𝒳 ορίζεται ως 𝒳 = 𝒞 × 𝒯, όπου 𝒞
είναι ο χώρος διαμορφώσεων του ρομπότ. Μια κατάσταση 𝓍 αναπαρίσταται ως 𝓍 = (𝓆, τ), για να υποδείξει τη
διαμόρφωση 𝓆 του ρομπότ κατά τη χρονική στιγμή τ. Ο σχεδιασμός διαδρομής θα γίνει στον χώρο 𝒳, τον
οποίο μπορούμε να αντιμετωπίσουμε όπως τον χώρο-διαμορφώσεων 𝒞, αλλά με μια κρίσιμη διαφορά: Ο χρόνος
προχωρά προς τα εμπρός.
Για παράδειγμα, ας υποθέσουμε μια διαδρομή που ορίζεται στον χώρο 𝒳. Εάν αυτή η διαδρομή περνά
πρώτα από το σημείο (𝓆1 , 5) και στη συνέχεια περνά από το σημείο (𝓆2 , 3), σημαίνει ότι το ρομπότ κινείται
προς τα πίσω στον χρόνο! Δεν υπάρχει μαθηματικό πρόβλημα στο οποίο να επιτρέπεται τέτοιο ταξίδι στον
χρόνο. Επομένως, μια διαδρομή που ορίζεται στον χώρο 𝒳 πρέπει να είναι αύξουσα ως προς τον χρόνο.
Για να μπορέσουμε να ορίσουμε τον χώρο διαμορφώσεων – χρόνου θα εισαγάγουμε στις μεταβλητές που
χρησιμοποιήσαμε κατά τον ορισμό του χώρου των διαμορφώσεων την μεταβλητή τ, δηλαδή τον χρόνο:
Ένα κινούμενο εμπόδιο στον χώρο των διαμορφώσεων 𝒳 ορίζεται ως εξής,
𝒞𝒪𝑖 (τ) = {𝓆ϵ𝒞 / 𝒜(𝓆)⋂𝒪𝑖 (τ) ≠ ∅}. (6.1)
όπου 𝒜(𝓆) είναι το ρομποτικό σύστημα το οποίο καλείται να κινηθεί χωρίς συγκρούσεις, από μια αρχική
διαμόρφωση 𝓆𝛼𝜌𝜒𝜄𝜅ή τη χρονική στιγμή 0 σε μια τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 τη χρονική στιγμή 𝒯 ≥ 0. Η
μορφή του 𝒞𝒪𝑖 (τ) δεν εξαρτάται από τον χρόνο τ, ενώ η θέση του στο 𝒞 εξαρτάται. Ο χρόνος 𝒯 καλείται χρόνος
άφιξης. Το πρόβλημα σχεδιασμού διαδρομής απαιτεί να δημιουργηθεί μια συνάρτηση ως προς τον χρόνο που
καθορίζει τη διαμόρφωση του 𝒜 σε κάθε στιγμή στο διάστημα [0, 𝒯]. Πιο τυπικά, μια λύση του προβλήματος
είναι ο προσδιορισμός μιας συνεχούς συνάρτησης που ορίζεται ως εξής:
𝑚
(6.2)
τϵ[0, 𝒯] → 𝓆(τ)ϵ𝒞 \ ⋃ 𝒞𝒪𝑖 (τ)
𝑖=1
όπου τ είναι ο χρόνος, 𝓆(0) = 𝓆𝛼𝜌𝜒𝜄𝜅ή και 𝓆(𝒯 ) = 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Η συνάρτηση 𝓆(τ) καλείται τροχιά του 𝒜.
Δεδομένου ότι οι θέσεις των εμποδίων-διαμορφώσεων μπορεί να ποικίλλουν κάθε χρονική στιγμή τ,
δεν μπορούμε να τις αναπαραστήσουμε στον χώρο των διαμορφώσεων 𝒞 με τέτοιον τρόπο, ώστε να
αποδώσουμε την κίνηση του 𝒜 ως κίνηση ενός σημείου μεταξύ σταθερών περιορισμών. Αυτή η δυσκολία
λύνεται δημιουργώντας έναν νέο χώρο, τον 𝒞𝒯 = 𝒞 × [0, +∞], που ονομάζεται χώρος διαμόρφωσης-χρόνου
του 𝒜. Το 𝒞𝒯 είναι μια ομαλή πολλαπλότητα με διάσταση n + 1, όπου n είναι η διάσταση του 𝒞. Μία συνεχής
απεικόνιση 𝜉: [0,1] → 𝒞𝒯 καλείται 𝒞𝒯 − διαδρομή.
Το ρομπότ 𝒜 απεικονίζεται στο 𝒞𝒯 με το ζεύγος (𝓆, τ), που σημαίνει ότι η διαμόρφωση του 𝒜 τη
χρονική στιγμή τ είναι 𝓆. Η διατομή μέσω του 𝒞𝒯 κάθε χρονική στιγμή τ είναι ο χώρος 𝒞, ο οποίος αποτελείται
από τα εμπόδια - διαμορφώσεων 𝒞𝒪𝑖 (τ), 𝑖 = 1, … , 𝓆. Έτσι, κάθε εμπόδιο 𝒞𝒪𝑖 απεικονίζεται στο 𝒞𝒯 σε μια
σταθερή περιοχή 𝒞𝒯𝒞𝒪𝑖 , η οποία καλείται 𝒞𝒯 − εμπόδιο, που ορίζεται ως εξής:

Ηλίας Ξυδιάς 176


𝒞𝒯𝒞𝒪𝑖 = {(𝓆, τ) / 𝒜(𝓆)⋂𝒪𝑖 (τ) ≠ ∅} (6.3)
Για να γίνει κατανοητός ο χώρος 𝒞𝒯, ας υποθέσουμε τον διδιάστατο χώρο εργασίας ενός ρομποτικού
συστήματος 𝒜, 𝒲 = ℝ𝟐 , το οποίο έχει τη δυνατότητα να μετατοπίζεται με σταθερό προσανατολισμό (ο
προσανατολισμός του δεν αλλάζει). Έτσι, ο χώρος διαμορφώσεων ορίζεται ως 𝒞 = ℝ𝟐 και ο χώρος 𝒞𝒯 =
ℝ𝟐 × [0, +∞]. Επιπλέον, ας υποθέσουμε ότι στον χώρο υπάρχει να κινούμενο εμπόδιο 𝒪, το οποίο μετακινείται
με σταθερό προσανατολισμό και σταθερή γραμμική ταχύτητα 𝑣̃𝒪 μόνο κατά το χρονικό διάστημα [τ1 , τ2 ]. Για
τϵ[τ1 , τ2 ], το εμπόδιο 𝒞𝒪 (τ) σχηματίζεται μετατοπίζοντας το 𝒞𝒪 (0) κατά 𝑣̃𝒪 (τ1 − τ2 ) στο 𝒞 (Εικόνα 6.1 και
Εικόνα 6.2). Έχουμε
𝒞𝒯𝒞𝒪 = {(𝓆, τ)/𝓆ϵ𝒞𝒪 (0) 𝜅𝛼𝜄 τϵ[0, τ1 ]} ∪ {(𝓆 + 𝑣̃𝒪 (τ − τ1 ), τ)/𝓆ϵ𝒞𝒪 (0) 𝜅𝛼𝜄 τϵ[τ1 , τ2 ]} (6.4)
∪ {(𝓆 + 𝑣̃𝒪 (τ2 − τ1 ), τ)/𝓆ϵ𝒞𝒪 (0) 𝜅𝛼𝜄 τ ≥ τ2 }

Εικόνα 6.1 Το ρομπότ 𝒜 κινείται ελεύθερα χωρίς να περιστρέφεται σε έναν χώρο που περιέχει ένα πολυγωνικό εμπόδιο, το
οποίο κινείται χωρίς να περιστρέφεται, κατά το χρονικό διάστημα [𝜏1 , 𝜏2 ].

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 177
Εικόνα 6.2 Ο αντίστοιχος χώρος 𝒞𝒯, καθώς επίσης και το εμπόδιο 𝒞𝒯𝒞𝒪.

Ο ελεύθερος χώρος στο 𝒞𝒯 ορίζεται ως εξής:


n
(6.5)
𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 = 𝒞𝒯\ ⋃ 𝒞𝒯𝒞𝒪𝑖
𝑖=1
Ένα κλειστό σύνολο στο 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 καλείται ημι-ελεύθερος χώρος στο 𝒞𝒯. Μία συνεχής απεικόνιση
𝜉: [0,1] → 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 καλείται ελεύθερη 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 − διαδρομή. Το πρόβλημα σχεδιασμού κίνησης σε
δυναμικό περιβάλλον μπορεί τώρα να θεωρηθεί πρόβλημα σχεδιασμού μιας ελεύθερης διαδρομής στο
𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 μεταξύ δύο δοθέντων καταστάσεων (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) και (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯). Έτσι, μετασχηματίζεται σε ένα
πρόβλημα προσδιορισμού διαδρομής μεταξύ στατικών εμποδίων, δηλαδή μεταξύ των 𝒞𝒯𝒞𝒪𝑖 , 𝜄 = 1, . . . , 𝑛.
Σε σύγκριση με το βασικό πρόβλημα σχεδιασμού κίνησης, υπάρχει μια σημαντική διαφορά.
Λαμβάνοντας υπόψη ότι κανένα αντικείμενο δεν μπορεί να μετακινηθεί πίσω στον χρόνο, μια διαδρομή στο
𝒞𝒯 θα πρέπει (τουλάχιστον) να είναι αυστηρά αύξουσα ως προς τον χρόνο, δηλαδή να ικανοποιεί την ακόλουθη
συνθήκη,
∀𝑠, 𝑠 ′ 𝜖[0,1] με 𝜉 (𝑠) = (𝓆, 𝜏) και 𝜉 (𝑠 ′ ) = (𝓆, 𝜏 ′ ); 𝑠 < 𝑠′ ⇒ 𝜏 < 𝜏′ (6.6)
όπου 𝜉 ορίζει μια τροχιά 𝓆(τ) έτσι ώστε ∀𝑠𝜖 [0,1]: 𝜉 (𝑠) = (𝓆(𝜏), 𝜏).
Στην πράξη, η προϋπόθεση ότι μία διαδρομή στο 𝒞𝒯 είναι αυστηρά μονότονη ως προς τον χρόνο μπορεί
να μην είναι επαρκής, καθώς επιτρέπει απεριόριστη ταχύτητα και επιτάχυνση. Μια παραλλαγή του
προβλήματος σχεδιασμού κίνησης σε δυναμικό περιβάλλον αποτελείται από την επιβολή περιορισμών στην
ταχύτητα και την επιτάχυνση του ρομπότ 𝒜, δηλαδή στην κλίση και την καμπυλότητά του σε σχέση με τον
χρόνο. Αυτοί οι περιορισμοί αυξάνουν την πολυπλοκότητα του προβλήματος, κάνοντάς το πιο δύσκολο.
Μια ακόμα παραλλαγή του προβλήματος σχεδιασμού κίνησης σε δυναμικό περιβάλλον είναι να
θεωρήσουμε την ώρα άφιξης απροσδιόριστη. Αυτό σημαίνει ότι θέλουμε το ρομπότ 𝒜 να φτάσει σε ένα
𝓆𝜎𝜏ό𝜒𝜊𝜍 κάποια χρονική στιγμή 𝒯 ≥ 0. Οι περισσότερες από τις μεθόδους που λύνουν το δυναμικό πρόβλημα
με καθορισμένο χρόνο άφιξης 𝒯 μπορούν να λύσουν το πρόβλημα και με απροσδιόριστο 𝒯, με μικρές
προσαρμογές στη μεθοδολογία σχεδιασμού κίνησης που χρησιμοποιείται.
Ενδεικτικά θα αναφέρουμε κάποιες από τις προσεγγίσεις που παρουσιάστηκαν στα προηγούμενα
κεφάλαια, όπως αυτές εφαρμόζονται σε χώρους με κινούμενα εμπόδια που κινούνται σε γνωστές τροχιές.

Ηλίας Ξυδιάς 178


6.1.2 Άμεσες Προσεγγίσεις
Οι προσεγγίσεις που βασίζονται σε δειγματοληψία του χώρου εργασίας του ρομπότ μπορούν να
προσαρμοστούν για τη μετάβαση από τον χώρο 𝒞 στον χώρο 𝒞𝒯, χωρίς μεγάλη δυσκολία. Η χρονική εξάρτηση
των κινούμενων εμποδίων πρέπει να λαμβάνεται υπόψη όταν επαληθεύεται ότι τα τμήματα διαδρομής είναι
ελεύθερα από συγκρούσεις. Ένα πρόβλημα που δημιουργείται είναι η μετρική που θα χρησιμοποιηθεί στον
χώρο 𝒞𝒯. Σε ορισμένες προσεγγίσεις, επιτρέπεται η χρήση μιας ψευδο-μετρικής, επειδή η συμμετρία διασπάται
από τον χρόνο (η μετάβαση προς τα πίσω στον χρόνο δεν είναι τόσο εύκολη όσο η μετάβαση προς τα εμπρός).
Για παράδειγμα, ας υποθέσουμε ότι στον χώρο 𝒞 έχουμε μια μετρική (𝒞, 𝑝). Η μετρική (𝒞, 𝑝) μπορεί να
συμπεριλάβει τον χρόνο και να κατασκευασθεί η ψευδο-μετρική 𝑝𝑥 ως εξής:
Για ένα ζεύγος καταστάσεων 𝑥 και 𝑥′ με 𝑥 = (𝓆, 𝜏) και 𝑥′ = (𝓆′ , 𝜏΄) έχουμε ότι:
0, 𝛼𝜈 𝓆 = 𝓆′ (6.7)
𝑝𝑥 (𝑥, 𝑥′) = {∞, 𝛼𝜈 𝓆 ≠ 𝓆′ 𝜅𝛼𝜄 𝜏′ ≤ 𝜏
𝑝(𝓆, 𝓆′ ), 𝛿𝜄𝛼𝜑𝜊𝜌𝜀𝜏𝜄𝜅ά
Χρησιμοποιώντας την ψευδο-μετρική 𝑝𝑥 , πολλές προσεγγίσεις που βασίζονται σε δειγματοληψία του χώρου
εργασίας του ρομπότ λειτουργούν χωρίς να είναι απαραίτητη κάποια αλλαγή. Για παράδειγμα, η προσέγγιση
που παρουσιάστηκε στην Ενότητα 3.3.2 μπορεί να προσαρμοστεί στον χώρο 𝒞𝒯. Η χρήση της 𝑝𝑥 διασφαλίζει
ότι όλα τα τμήματα της διαδρομής ταξιδεύουν προς τα εμπρός στον χρόνο (είναι αύξουσες ως προς τον χρόνο).
Η χρήση αμφίδρομων προσεγγίσεων είναι πιο δύσκολη για χρονικά μεταβαλλόμενα προβλήματα, επειδή η
κατάσταση (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯) συνήθως δεν είναι ένα μόνο σημείο. Δεν είναι σαφές ποια (𝓆, 𝜏) πρέπει να είναι η
αρχική κορυφή για το δέντρο από τον στόχο. Μια επιλογή που δίνεται είναι η αρχικοποίηση του δέντρου στόχων
σε ένα ολόκληρο τμήμα το οποίο είναι αμετάβλητο στον χρόνο. Οι προσεγγίσεις που βασίζονται στον χάρτη
διαδρομών είναι ίσως οι πιο απλές για προσαρμογή. Χρειάζεται η ιδέα ενός κατευθυνόμενου οδικού χάρτη,
στον οποίο κάθε άκρο πρέπει να κατευθύνεται για να δώσει μια χρονικά μονότονη διαδρομή. Για κάθε ζεύγος
των καταστάσεων, (𝓆, 𝜏) και (𝓆′ , 𝜏΄), για το οποίο τ ≠ τ′ , είναι δυνατόν να υπάρχει ακριβώς μία έγκυρη
κατεύθυνση για τη δημιουργία μιας ακμής δυναμικού. Εάν τ = τ′ , τότε δεν μπορεί να επιχειρηθεί καμία ακμή,
γιατί θα απαιτούσε από το ρομπότ να «τηλεμεταφερθεί» στιγμιαία από το ένα μέρος του χώρου εργασίας στο
άλλο. Εφόσον η πρόοδος του χρόνου προς τα εμπρός λαμβάνεται ήδη υπόψη από τις κατευθυνόμενες ακμές
του γράφου, μια συμμετρική μετρική μπορεί να είναι προτιμότερη αντί αυτής που παρουσιάζεται την Εξίσωση
6.7 για την προσέγγιση του χάρτη διαδρομών που βασίζεται στη δειγματοληψία.

6.1.3 Ακριβής Προσέγγιση σε Κελιά


Όταν το μέτρο της ταχύτητας του ρομπότ 𝒜 δεν είναι περιορισμένο και οι τροχιές των εμποδίων εκφράζονται
σε αλγεβρική μορφή, ο γενικός αλγόριθμος σχεδιασμού διαδρομής που βασίζεται στην αποσύνθεση σε κελιά,
όπως αυτή παρουσιάστηκε στο Κεφαλαίο 4, είναι εφαρμόσιμος με μικρές αλλαγές. Τα διάφορα εμπόδια -
διαμορφώσεων 𝒞𝒪𝑖 (τ) αναπαρίστανται ως ημι-αλγεβρικά σύνολα στο 𝒞𝒯 και ο σχεδιασμός διαδρομής
εκτελείται με τον πρόσθετο περιορισμό ότι η διαδρομή πρέπει να είναι αύξουσα ως προς τον χρόνο.
Αυτός ο περιορισμός μπορεί να ληφθεί υπόψη με την αναπαράσταση του χώρου 𝒞𝒯 ως λίστας
(𝜏, 𝓆1 , 𝓆2 , … , 𝓆𝑚 )𝜖ℝ𝑚+1 , όπου 𝑚 είναι η διάσταση του χώρου του 𝒞 του 𝒜 και ο χρόνος τ είναι η πρώτη
συντεταγμένη στα διαγράμματα που τοποθετούνται στο 𝒞𝒯. Ως εκ τούτου, όλα τα κελιά που προκύπτουν από
την αποσύνθεση του 𝒞𝒯 προβάλλονται τελικά πάνω στον άξονα του χρόνου. Περιέχονται, δηλαδή, σε
«κυλίνδρους» πάνω από διαστήματα ή σημεία κατά μήκος του άξονα του χρόνου. Επομένως, δύο κελιά κ και
κ' βρίσκονται στον ίδιο κύλινδρο, δηλαδή «συμβαίνουν» στο ίδιο χρονικό διάστημα, εάν και μόνο εάν τα σημεία
δείγματος σ(κ) και σ(κ') προβάλλονται στην ίδια συντεταγμένη του χρόνου. Αν, αντί αυτού, τα σημεία
δείγματος προβάλλονται σε διαφορετικές χρονικές συντεταγμένες, το ένα κελί «εμφανίζεται» πριν από το άλλο.
Το γράφημα συνδεσιμότητας ορίζεται τώρα ως ένα κατευθυνόμενο γράφημα, του οποίου οι κόμβοι είναι τα
κελιά διαστάσεων 𝑚 + 1, όπου 𝑚 είναι η διάσταση των κελιών που προκύπτουν από την αποσύνθεση σε κελιά
του χώρου 𝒞𝒯. Ένα κελί κ συνδέεται με ένα κελί κ' με ένα τόξο, αν και μόνο αν τα κελιά είναι γειτονικά και
είτε το κ εμφανίζεται πριν από το κ' είτε το κ και το κ' εμφανίζονται ταυτόχρονα, δηλ. η χρονική συντεταγμένη
του σ(κ) είναι μικρότερη ή ίση με τη χρονική συντεταγμένη του σ(κ').

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 179
Προκειμένου να κατασκευαστεί μια ελεύθερη διαδρομή μεταξύ (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) και (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯), ο
«σχεδιαστής» αναζητά στον συνδετικό γράφο για μια ακολουθία γειτονικών κελιών 𝜅1 , 𝜅2 , … , 𝜅𝑔 , έτσι ώστε
𝜅1 𝜖(𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) και 𝜅𝑔 𝜖(𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯). Από αυτήν την ακολουθία, εάν υπάρχει, δημιουργεί μια διαδρομή στον
χώρο 𝒞𝒯 από (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) έως (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯) με τον ίδιο τρόπο όπως και για το στατικό πρόβλημα. Σαφώς, η
κλίση ενός τέτοιου μονοπατιού ως προς τον άξονα του χρόνου δεν οριοθετείται.
Παρόλο που η Ακριβής Αποσύνδεση σε κελιά εφαρμόζεται χωρίς ιδιαίτερες αλλαγές σε ένα περιβάλλον
με κινούμενα εμπόδια, παρουσιάζει μεγάλη υπολογιστική πολυπλοκότητα, ακόμα και όταν η διάσταση του
χώρου 𝒞𝒯 είναι μικρή.

6.1.4 Προσεγγιστική Αποσύνθεση σε Κελιά


Η προσέγγιση της αποσύνθεσης σε κελιά, που παρουσιάστηκε στο 4ο κεφάλαιο, μπορεί να εφαρμοστεί όπως η
πλήρης αποσύνθεση σε κελιά, και στο πρόβλημα σχεδιασμού κίνησης για ένα περιβάλλον που περιέχει
κινούμενα εμπόδια. Απαιτεί μόνο να τροποποιηθεί ελαφρώς ο ορισμός του γραφήματος συνδεσιμότητας.
Ας υποθέσουμε ότι το σύνολο των πιθανών χρόνων διαμορφώσεων στο 𝒞𝒯 είναι ένα ορθογώνιο
παραλληλόγραμμο που έχει αποσυντεθεί σε μικρότερα κελιά ίδιου σχήματος, καθένα από τα οποία ταξινομείται
ως,
• ΚΕΝΟ αν το εσωτερικό του δεν τέμνει κανένα εμπόδιο 𝒞𝒯𝒞𝒪,
• ΓΕΜΑΤΟ αν περιέχεται εξ ολοκλήρου σε ένα εμπόδιο 𝒞𝒯𝒞𝒪,
• ΜΕΙΚΤΟ διαφορετικά.
Το γράφημα συνδεσιμότητας που αντιστοιχεί σε αυτήν την αποσύνθεση είναι ένα κατευθυνόμενο γράφημα,
του οποίου οι κόμβοι είναι τα κελιά ΚΕΝΟ (ή και τα ΚΕΝΟ και ΜΕΙΚΤΟ κελιά) της αποσύνθεσης. Ένα κελί
𝜅 συνδέεται με ένα κελί 𝜅′ με ένα προσανατολισμένο τόξο, εάν και μόνο εάν:
• είτε γειτνιάζουν με μια όψη που είναι παράλληλη με τον άξονα του χρόνου
• ή γειτνιάζουν με μια όψη που είναι κάθετη στον άξονα του χρόνου και το κελί 𝜅 προβάλλεται
στον άξονα του χρόνου πριν από το κελί 𝜅′.
Η διαδικασία ολοκληρώνεται με την αναζήτηση του γράφου συνδεσιμότητας για μια ακολουθία γειτονικών
κελιών με την ετικέτα ΚΕΝΟ ή ΜΕΙΚΤΟ, έτσι ώστε το πρώτο κελί της ακολουθίας να περιέχει το (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0)
και το τελευταίο κελί το (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯). Στην Εικόνα 6.3 παρουσιάζεται ένας χώρος που περιέχει 7 κενά κελιά,
ενώ η Εικόνα 6.4 παρουσιάζει τον αντίστοιχο γράφο συνδεσιμότητας.
Για να εξασφαλιστεί ότι το κατασκευασμένο κανάλι κελιών περιέχει μια διαδρομή μονότονη ως προς
τον χρόνο, είναι απαραίτητο να τεθεί στο 𝒞𝒯 ένας επιπλέον περιορισμός στην αναζήτηση του γραφήματος.
Αυτή η ανάγκη απεικονίζεται στο γράφημα της Εικόνας 6.4. Αν και υπάρχει μια μονότονη διαδρομή μεταξύ
των κελιών 𝜅2 και 𝜅3 και μια αυστηρά μονότονη διαδρομή μεταξύ των 𝜅3 και 𝜅4 , δεν υπάρχει τέτοια διαδρομή
μεταξύ των 𝜅2 και 𝜅4 . Αυτό το γεγονός δεν αναπαρίσταται στο γράφημα συνδεσιμότητας επειδή εξαρτάται από
τα κελιά που διασχίστηκαν πριν από την εισαγωγή του 𝜅4 και, ως εκ τούτου, περιλαμβάνει περισσότερα από
δύο κελιά. Ο «σχεδιαστής» μπορεί να αντιμετωπίσει αυτήν τη δυσκολία κατά τη διάρκεια της αναζήτησης του
γραφήματος, διατηρώντας την πιο πρώιμη χρονική στιγμή 𝜏′, κατά την οποία μπορεί να βρίσκεται στο τρέχον
κελί 0. Έστω [𝜏𝑚𝑖𝑛 (𝜅), 𝜏𝑚𝑎𝑥 (𝜅)] είναι το χρονικό διάστημα στο οποίο το κελί 𝜅: προβάλλεται στον άξονα του
χρόνου. Η χρονική στιγμή 𝜏′ υπολογίζεται ως εξής:
• όταν ο «σχεδιαστής» ξεκινά την αναζήτηση και βρίσκεται στο αρχικό κελί: 𝜏′ ← 0.
• όταν ο «σχεδιαστής» αποφασίζει να κινηθεί από το κελί 𝜅 στο κελί 𝜅′: 𝜏′ ← max {𝜏 ′ , 𝜏𝑚𝑖𝑛 (𝜅′)}.
Ας υποθέσουμε ότι ο «σχεδιαστής» βρίσκεται στο κελί 𝜅. Μπορεί να επιλέξει το κελί 𝜅′ ως διάδοχο του 𝜅 εάν
και μόνο εάν υπάρχει τόξο από το 𝜅 έως το 𝜅′ στον γράφο συνδεσιμότητας και 𝜏 ′ < 𝜏𝑚𝑎𝑥 (𝜅′). Ας υποθέσουμε
το παράδειγμα της Εικόνας 2, στο οποίο η αναζήτηση ξεκινά από το κελί 𝜅1 . Ο χρόνος 𝜏 ′ = 0. Η αναζήτηση
κατευθύνεται προς το κελί 𝜅2 σε χρόνο 𝜏 ′ = 𝜏𝑚𝑖𝑛 (𝜅2 ), στη συνέχεια το κελί 𝜅3 σε χρόνο 𝜏 ′ = 𝜏𝑚𝑖𝑛 (𝜅2 ). Από
το κελί 𝜅3 μπορεί να κατευθυνθεί προς δύο κελιά, τα 𝜅4 και 𝜅5 . Ωστόσο, το κελί 𝜅4 δεν μπορεί να επιλεγεί ως
διάδοχος του 1𝜅3 στην αναζήτηση, επειδή 𝜏 ′ > 𝜏𝑚𝑎𝑥 (𝜅4 ).
Στην περίπτωση που κατασκευασθεί ένα κανάλι από κελιά με την ετικέτα ΚΕΝΟ, τότε μπορεί να εξαχθεί
εύκολα μια μονότονη διαδρομή στο 𝒞𝒯.

Ηλίας Ξυδιάς 180


Για έναν χώρο διαμορφώσεων 𝒞 διάστασης 𝑚, η χρονική πολυπλοκότητα της προσέγγισης αυξάνεται
από το γεγονός ότι εφαρμόζεται πλέον στον (𝑚 + 1) − διάστασης που είναι ο χώρος 𝒞𝒯. Αλλά ο περιορισμός
στην αναζήτηση δεν αυξάνει περαιτέρω την πολυπλοκότητα. Στην πραγματικότητα, μπορεί να μειώσει μόνο το
μέγεθος του χώρου αναζήτησης.

Εικόνα 6.3 Ο χώρος περιέχει 7 κελιά με την ετικέτα ΚΕΝΟ.

Εικόνα 6.4 Ο αντίστοιχος γράφος συνδεσιμότητας.

6.1.5 Η μέθοδος Σχεδιασμού Ταχύτητας


Μια εναλλακτική λύση για τον επίλυση του προβλήματος σχεδιασμού κίνησης στον χώρο 𝒞𝒯 είναι να το
αποσυνδέσουμε σε δύο προβλήματα: το ένα πρόβλημα είναι ο σχεδιασμός διαδρομής σε ένα περιβάλλον που

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 181
περιέχει ακίνητα εμπόδια και σε ένα πρόβλημα χρονικής ρύθμισης της κίνησης 0. Οι αλγόριθμοι που βασίζονται
σε αυτήν τη μέθοδο δεν είναι πλήρεις, αλλά η ρύθμιση της ταχύτητας είναι μια σημαντική ιδέα που μπορεί να
εφαρμοστεί σχετικά εύκολα. Ας υποθέσουμε ότι στο περιβάλλον του ρομπότ υπάρχουν σταθερά και κινούμενα
εμπόδια. Αρχικά, κατασκευάζεται μια διαδρομή, θεωρώντας μόνο τα σταθερά εμπόδια στον χώρο του ρομπότ.
Ας υποθέσουμε ότι υπάρχει μια διαδρομή 𝜉: [0,1] → 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 , η οποία έχει υπολογιστεί χρησιμοποιώντας
οποιαδήποτε από τις προσεγγίσεις που περιγράφονται στα προηγούμενα κεφάλαια.
Στη συνέχεια ο χρόνος λαμβάνεται υπόψη. Σχεδιάζουμε μία συνάρτηση ως προς τον χρόνο 𝜎: 𝒯 → [0,1]
που υποδεικνύει τη θέση του ρομπότ 𝒜 κάθε χρονική στιγμή τ κατά μήκος της διαδρομής 𝜉. Αυτό
επιτυγχάνεται ορίζοντας τη συνάρτηση 𝜑, η οποία προκύπτει ως σύνδεση των συναρτήσεων 𝜑 = 𝜉 ∘ 𝜎 όπου
𝜑: 𝒯 → 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 . Η διαμόρφωση του 𝒜 τη χρονική στιγμή τ𝜖𝒯 δίνεται από 𝜑(𝜏) = 𝜉(𝜎(𝜏)).
Ένας διδιάστατος χώρος καταστάσεων μπορεί να οριστεί όπως φαίνεται στην Εικόνα 6.5. Σκοπός είναι
η μετατροπή του 𝜎 (και κατά συνέπεια του 𝜑) σε ένα «απλό» πρόβλημα σχεδιασμού κίνησης. Το ρομπότ πρέπει
να κινείται κατά μήκος της διαδρομής του από 𝜉(0) έως 𝜉 (1), ενώ ένα εμπόδιο 𝒪 (τ) κινείται κατά μήκος της
διαδρομής του στο χρονικό διάστημα 𝒯. Έστω 𝑆 = [0,1] συμβολίζει το πεδίο ορισμού του 𝜉. Στην Εικόνα 6.6
φαίνεται ένας χώρος 𝒞𝒯στον οποίο κάθε σημείο (τ, 𝑠) δείχνει τη θέση 𝑠𝜖[0,1] του ρομπότ τη χρονική στιγμή
τ.

Εικόνα 6.5 Αν το 𝒜 ακολουθήσει τη δοθείσα διαδρομή, τότε μπορεί να συγκρουστεί με το κινούμενο εμπόδιο 𝒪(𝜏).

Η περιοχή εμποδίου στο 𝒞𝒯 ορίζεται ως εξής:


𝒞𝒪 = {(𝜏, 𝑠)𝜖𝒞𝒯\𝒜(𝜉(𝑠)) ∩ 𝒪(𝜏) ≠ ∅} (6.8)
Ο χώρος 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 ορίζεται ως 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 = 𝒞𝒯\𝒞𝒪. Το πρόβλημα είναι να βρεθεί μια συνεχής διαδρομή
στον ελεύθερο χώρο του 𝒞𝒯 έτσι ώστε 𝛾: [0,1] → 𝒞𝒯𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 . Αν η συνάρτηση 𝛾 είναι μονότονη ως προς τον
χρόνο, τότε εκχωρείται μια θέση 𝑠𝜖𝑆, ∀𝜏𝜖𝒯. Αυτές οι εκχωρήσεις μπορούν να οργανωθούν με τη συνάρτηση
χρονισμού 𝜑: 𝒯 → 𝑆, από την οποία προκύπτει το 𝜑 ως σύνδεση των συναρτήσεων 𝜑 = 𝜉 ∘ 𝜎, για να
προσδιοριστεί πού θα βρίσκεται το ρομπότ κάθε χρονική στιγμή. Το να είναι μονότονη ως προς τον χρόνο
σημαίνει ότι η διαδρομή πρέπει πάντα να προχωρά από αριστερά προς τα δεξιά (Εικόνα 6.6). Μπορεί, ωστόσο,
να μην είναι μονότονη προς τη θετική κατεύθυνση. Αυτό αντιστοιχεί στην κίνηση εμπρός και πίσω κατά μήκος
τ, προκαλώντας την επανεξέταση ορισμένων διαμορφώσεων.

Ηλίας Ξυδιάς 182


Εικόνα 6.6 Ο αντίστοιχος χώρος 𝒞𝒯.

Η μέθοδος σχεδιασμού ταχύτητας δεν είναι πλήρης. Δοθείσας μιας διαδρομής του 𝒜 που αποφεύγει τις
συγκρούσεις με τα ακίνητα εμπόδια, μπορεί να μην υπάρχει προφίλ ταχύτητας κατά μήκος αυτής της διαδρομής
που να επιτρέπει στο 𝒜 να αποφεύγει τις συγκρούσεις με τα κινούμενα εμπόδια. Αυτό συμβαίνει, για
παράδειγμα, όταν ένα εμπόδιο έρχεται στο ρομπότ στην ίδια περίπου γεωμετρική διαδρομή (για παράδειγμα,
σε έναν στενό διάδρομο). Ίσως μια άλλη διαδρομή θα μπορούσε να καταστήσει δυνατή την αποφυγή
σύγκρουσης, τόσο με τα σταθερά όσο και με τα κινούμενα εμπόδια. Κάθε φορά που η φάση σχεδιασμού της
ταχύτητας αποτυγχάνει, ο «σχεδιαστής» μπορεί να προσπαθήσει να δημιουργήσει μια άλλη διαδρομή μεταξύ
των στατικών εμποδίων. Αλλά η προσέγγιση δεν παρέχει έναν συστηματικό τρόπο επιλογής της άλλης
διαδρομής.
Επιπλέον, η μέθοδος σχεδιασμού ταχύτητας, η οποία ωστόσο μπορεί να λύσει πολλά πρακτικά
προβλήματα, είναι ουσιαστικά πιο αποδοτική χρονικά από τις συστηματικές μεθόδους. Ο υπολογιστικός χρόνος
είναι πολυωνυμικός (και όχι εκθετικός) ως προς τον αριθμό των εμποδίων και τον συνολικό αριθμό των
κορυφών τους. Επίσης, η μέθοδος σχεδιασμού ταχύτητας μπορεί εύκολα να επεκταθεί στην περίπτωση που ο
χρόνος άφιξης 𝒯 δεν είναι καθορισμένος.

6.2 Ομάδα Ρομπότ


Σε αυτήν την ενότητα θα εξετάσουμε την περίπτωση από μια ομάδα 𝑝 ρομπότ, 𝒜𝑖 , 𝑖 = 1, … , 𝑝, τα οποία
κινούνται στον ίδιο χώρο εργασίας 𝒲 = ℝ2 ή ℝ3 ο οποίος περιέχει σταθερά εμπόδια 𝒪𝑗 , 𝑗 = 1, … , 𝑞. Τα ρομπότ
κινούνται ανεξάρτητα το ένα από το άλλο, αλλά δεν μπορούν να βρίσκονται στον ίδιο χώρο την ίδια χρονική
στιγμή. Το πρόβλημα είναι να σχεδιάσουμε για κάθε ένα από τα 𝒜𝑖 , 𝑖 = 1, … , 𝑝 μια διαδρομή χωρίς
𝑖 𝑖
συγκρούσεις που θα ενώνει μια αρχική διαμόρφωση 𝓆𝛼𝜌𝜒𝜄𝜅ή σε μια τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
O χώρος διαμορφώσεων 𝒞 λαμβάνει υπόψη τις διαμορφώσεις όλων των ρομπότ 𝒜𝑖 , 𝑖 = 1, … , 𝑝
ταυτόχρονα και ορίζεται ως εξής:
𝒞 = 𝒞1 × 𝒞 2 × … × 𝒞 𝑝 (6.9)
Μια διαμόρφωση 𝒙𝜖𝒞 καθορίζει όλες τις διαμορφώσεις των ρομπότ και ορίζεται ως 𝒙 = {𝓆1 , 𝓆2 , … , 𝓆𝑝 }. Η
𝑝
διάσταση του χώρου 𝒞 είναι 𝑃 = ∑𝑖=1 dim (𝒞 𝑖 ). Στον χώρο διαμορφώσεων 𝒞 ορίζονται δύο περιοχές ως
εμπόδια διαμορφώσεων 𝒪:
• Το εμπόδιο-διαμορφώσεων που ορίζεται από τις συγκρούσεις ρομπότ και εμποδίου 𝒪 και ορίζεται
ως εξής 𝒞𝒪 𝑖 = {𝒙𝜖𝒞\𝒜𝑖 (𝓆𝑖 ) ∩ 𝒪 ≠ ∅}.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 183
• Το εμπόδιο-διαμορφώσεων που ορίζεται από τις συγκρούσεις μεταξύ δύο ρομπότ 𝒜𝑖 και 𝒜𝑗
ορίζεται ως εξής 𝒞𝒪 𝑖𝑗 = {𝒙𝜖𝒞\𝒜𝑖 (𝓆𝑖 ) ∩ 𝒜𝑗 (𝓆 𝑗 ) ≠ ∅} με 𝑖 ≠ 𝑗.
Έχοντας υπόψη τα παραπάνω, μπορούμε να ορίσουμε ένα εμπόδιο διαμορφώσεων 𝒞𝒪 στο χώρο διαμορφώσεων
𝒞 ως εξής:
𝑝
(6.10)
𝒞𝒪 = (⋃ 𝒞𝒪 𝑖 ) ∪ (⋃ 𝒞𝒪 𝑖𝑗 )
𝑖=1 𝑖≠𝑗

Αντίστοιχα, ο ελεύθερος χώρος στο 𝒞 ορίζεται ως εξής:


𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 = 𝒞\𝒞𝒪 (6.11)
Μια ελεύθερη διαδρομή που ενώνει μια αρχική διαμόρφωση 𝓺𝛼𝜌𝜒𝜄𝜅ή σε μια τελική διαμόρφωση 𝓺𝜎𝜏ό𝜒𝜊𝜍 είναι
μια συνεχής συνάρτηση 𝜉: [0,1] → 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 με 𝜉 (0) = 𝓺𝛼𝜌𝜒𝜄𝜅ή και 𝜉 (1) = 𝓺𝜎𝜏ό𝜒𝜊𝜍 .
Ως εκ τούτου, το πρόβλημα σχεδιασμού μιας ελεύθερης διαδρομής για μια ομάδα ρομπότ που κινούνται
στον ίδιο χώρο εργασίας διατυπώνεται ως το πρόβλημα του σχεδιασμού μιας ελεύθερης διαδρομής 𝜉 για ένα
σύνθετο ρομπότ 𝓐 = {𝒜1 , 𝒜2 , … , 𝒜𝑝 }. Η προβολή του 𝜉 σε κάθε χώρο 𝒞 𝑖 , 𝑖 = {1, 𝑝}] είναι η αντίστοιχη
διαδρομή του 𝒜𝑖 . Αν και η προσάρτηση του χρόνου δεν είναι εμφανής, η εκτέλεση του 𝜉 απαιτεί από τα ρομπότ
𝒜𝑖 , 𝑖 = 1, … , 𝑝 να ακολουθούν τις δικές τους διαδρομές με συντονισμένο τρόπο. Η αλλαγή της ταχύτητας ενός
ρομπότ απαιτεί να αλλάξουν οι ταχύτητες των άλλων ρομπότ στην ίδια αναλογία.

6.2.1 Κεντρικός Σχεδιασμός


Ονομάζουμε κεντρικό σχεδιασμό (centralized planning) την προσέγγιση που συνίσταται στον σχεδιασμό των
συντονισμένων διαδρομών για μια ομάδα ρομπότ ως διαδρομής στον σύνθετο χώρο διαμόρφωσής τους. Αυτή
η προσέγγιση μας επιτρέπει να χρησιμοποιήσουμε χωρίς ιδιαίτερες αλλαγές τις προσεγγίσεις που
αναπτύχθηκαν στα προηγούμενα κεφάλαια.
Οι Barraquand, Langlois και Latombe 0 εισήγαγαν μια προσέγγιση η οποία βασίζεται στην ταυτόχρονη
κατασκευή και αναζήτηση ενός γράφου, του οποίου κόμβοι είναι τα τοπικά ελάχιστα ενός δυναμικού πεδίου.
Το προτεινόμενο δυναμικό πεδίο ορίζεται στον χώρο διαμορφώσεων 𝒞 = 𝒞 1 × 𝒞 2 × … × 𝒞 𝑝 του σύνθετου
ρομπότ 𝓐 = {𝒜1 , 𝒜2 , … , 𝒜𝑝 }. Μια παρόμοια ιδέα προτάθηκε στη συνέχεια από τους Egerstedt και Hu 0, στην
οποία τα κριτήρια και οι περιορισμοί του προβλήματος σχεδιασμού κίνησης εκφράζονται μέσω μιας
συνάρτησης αποκαλούμενης formation function. Αυτή η συνάρτηση εξασφαλίζει ότι κανένα ρομπότ δεν θα
συγκρουστεί με τα εμπόδια ή με τα υπόλοιπα ρομπότ. Οι Kavraki και οι άλλοι 0 πρότειναν μια γενική μέθοδο,
η οποία επιλύει το πρόβλημα σε δύο στάδια. Στο πρώτο στάδιο, ένας στοχαστικός χάρτης διαδρομών
𝑖
κατασκευάζεται στον χώρο διαμορφώσεων 𝒞. Στο δεύτερο στάδιο, η αρχική διαμόρφωση 𝓆𝛼𝜌𝜒𝜄𝜅ή και τελική
𝑖
διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 κάθε ρομπότ 𝒜𝑖 , 𝑖 = 1, … , 𝑝 ενώνεται με τον γράφο. Η διάσταση του χώρου 𝒞 εξαρτάται
από τους βαθμούς ελευθερίας των ρομπότ. Επιπλέον, το πρώτο στάδιο περιλαμβάνει έναν στοχαστικό εκτιμητή,
ο οποίος βρίσκει τις «επικίνδυνες» περιοχές του χώρου (π.χ. στενά περάσματα) και στη συνέχεια αυξάνει τη
δειγματοληψία σε αυτές τις περιοχές.
Οι προσεγγίσεις που βασίζονται στον Κεντρικό Σχεδιασμό (Centralized Planning) μπορούν να βρουν τη
βέλτιστη λύση, τουλάχιστον θεωρητικά, αν υπάρχει. Εν τούτοις, απαιτούνται μεγάλος υπολογιστικός χρόνος
και μεγάλος χώρος αποθήκευσης, εξαιτίας της πολυπλοκότητας του χώρου διαμορφώσεων 𝒞. Η
πολυπλοκότητα των πιο διαδεδομένων από τις προσεγγίσεις που βασίζονται στον Κεντρικό Σχεδιασμό είναι
εκθετική.

6.2.2 Αποκεντρωμένος Σχεδιασμός


Μια άλλη προσέγγιση για τον σχεδιασμό κίνησης μιας ομάδας ρομπότ είναι ο Αποκεντρωμένος Σχεδιασμός
(Decoupled approach ή Decentralized approach) 0. Κατά την Αποκεντρωμένη Σχεδίαση, αρχικά σχεδιάζεται
μια διαδρομή για κάθε ένα από τα ρομπότ λαμβάνοντας υπόψη τα εμπόδια που υπάρχουν στον χώρο. Στη
συνέχεια μεταβάλλεται η ταχύτητα των ρομπότ, έτσι ώστε να αποφευχθούν οι συγκρούσεις μεταξύ τους.

Ηλίας Ξυδιάς 184


Ακολουθώντας αυτήν τη διαδικασία το πλήθος των πράξεων μειώνεται αρκετά αλλά εις βάρος της πληρότητας
του αλγορίθμου.
Μια παραλλαγή του Αποκεντρωμένου Σχεδιασμού είναι ο προγραμματισμός προτεραιοτήτων, κατά τον
οποίο σε κάθε ρομπότ καθορίζονται προτεραιότητες και στη συνέχεια υπολογίζονται οι διαδρομές τους,
λαμβάνοντας υπόψη τα εμπόδια του χώρου εργασίας και τις προτεραιότητες που έχουν καθοριστεί 0. Οι Alami
και οι υπόλοιποι 0 πρότειναν μια προσέγγιση για συνεργασία μεταξύ ρομπότ τα οποία κινούνται σε ένα
προκαθορισμένο δίκτυο διαδρομών, ανταλλάσσοντας πληροφορίες για τη θέση τους και για τις επόμενες
κινήσεις τους. Οι Bennewitz και οι υπόλοιποι 0 πρότειναν μια μέθοδο βελτίωσης της σειράς των
προτεραιοτήτων που καθορίζονται στα ρομπότ. Η προτεινόμενη μέθοδος εκτελεί μια τυχαία αναζήτηση,
χρησιμοποιώντας τον αλγόριθμο Hill-Climbing 0, ούτως ώστε να ορίσει μια λύση και να βελτιώσει το συνολικό
μήκος των διαδρομών. Οι Guo και Parker 0 «έσπασαν» το πρόβλημα σχεδιασμού διαδρομών για μια ομάδα
ρομπότ σε δύο υπο-προβλήματα:
• στο πρόβλημα σχεδιασμού διαδρομών και
• στο πρόβλημα σχεδιασμού ταχυτήτων για κάθε ένα από τα ρομπότ.
Αρχικά υπολογίζεται η διαδρομή για κάθε ρομπότ ξεχωριστά. Στη συνέχεια, κατασκευάζεται ένα διάγραμμα
συντονισμού, το οποίο βασίζεται στους ελέγχους συγκρούσεων μεταξύ των διαδρομών των ρομπότ και στο
οποίο το μήκος τους (η ευκλείδεια απόσταση), χρησιμοποιείται ως παράμετρος. Έπειτα, ένας αλγόριθμος
αναζήτησης εκτελείται στο διάγραμμα συντονισμού και επιλέγεται ένα διάγραμμα (profile) ταχυτήτων που
ελαχιστοποιεί μια γενική συνάρτηση απόδοσης. Η μέθοδος αναζήτησης D* χρησιμοποιείται ως τοπική μέθοδος
αναζήτησης.
Οι προσεγγίσεις, οι οποίες βασίζονται στον Αποκεντρωμένο Σχεδιασμό, είναι πολύ αποτελεσματικές
αλλά παρουσιάζουν δυο βασικά μειονεκτήματα. Πρώτον, αυτές οι μέθοδοι δεν είναι πλήρεις, επειδή μπορεί μια
διαδρομή να μην υπάρξει στο διάγραμμα συντονισμού και δεύτερον οι λύσεις που προτείνονται δεν είναι οι
βέλτιστες.

6.3 Αρθρωτά Ρομπότ


Σε αυτήν την ενότητα θα εξετάσουμε την περίπτωση κατά την οποία το ρομπότ αποτελείται από πολλά
κινούμενα άκαμπτα αντικείμενα συνδεδεμένα με μηχανικές αρθρώσεις που περιορίζουν τη σχετική κίνησή
τους. Ένας ρομποτικός βραχίονας ή απλά βραχίονας είναι ένα χαρακτηριστικό παράδειγμα τέτοιου ρομπότ.
Ας θεωρήσουμε ένα ρομπότ 𝓐 το οποίο είναι κατασκευασμένο από 𝑝 άκαμπτα αντικείμενα
𝒜1 , 𝒜2 , … , 𝒜𝑝 . Οποιαδήποτε δύο αντικείμενα 𝒜𝑖 και 𝒜𝑗 ενδέχεται να συνδέονται με μία άρθρωση. Για να
απλουστεύσουμε τη διαδικασία, θα υποθέσουμε ότι η άρθρωση μπορεί να είναι είτε περιστροφική άρθρωση
είτε πρισματική άρθρωση.
Μια περιστροφική άρθρωση είναι μια άρθρωση που περιορίζει τη σχετική κίνηση του 𝒜𝑖 και του 𝒜𝑗
ώστε να είναι μια περιστροφή γύρω από έναν άξονα σταθερό ως προς τα δύο αντικείμενα. Ένας πρισματικός
σύνδεσμος είναι μια ολισθαίνουσα σύνδεση που περιορίζει τη σχετική κίνηση να είναι μετατόπιση κατά μήκος
ενός άξονα σταθερού ως προς τα δύο αντικείμενα 𝒜𝑖 και 𝒜𝑗 . Αυτές είναι οι πιο συνηθισμένες αρθρώσεις, αλλά
είναι δυνατοί και άλλοι τύποι αρθρώσεων. Πολλές από αυτές θα αντιμετωπίζονταν με τον ίδιο τρόπο που θα
αντιμετωπίσουμε τις περιστροφικές και τις πρισματικές αρθρώσεις.
Έστω ℱ𝒜𝑖 ένα σύστημα συντεταγμένων το οποίο προσαρτάται στο αντικείμενο 𝒜𝑖 , 𝑖 = 1, … , 𝑝. Όπως
έχει αναφερθεί στο 2ο Κεφάλαιο, η διαμόρφωση του 𝒜 ορίζεται από τη θέση και τον προσανατολισμό κάθε
συστήματος ℱ𝒜𝑖 , 𝑖 = 1, . . . , 𝑝 ως το σύστημα ℱ𝒲 . Αν τα διάφορα αντικείμενα ήταν ανεξάρτητα, οπότε μπορούν
να κινούνται ελεύθερα στον χώρο 𝒲 = ℝ𝛮 , ο χώρος διαμορφώσεων του 𝒜 ορίζεται ως εξής:
𝒞 ′ = (ℝ𝛮 × 𝑆𝑂(𝑁)) × … × (ℝ𝛮 × 𝑆𝑂(𝑁)), p φορές (6.12)
Ωστόσο, οι διάφοροι σύνδεσμοι επιβάλλουν περιορισμούς στις εφικτές διαμορφώσεις στο 𝒞 ′ . Αυτοί οι
περιορισμοί δημιουργούν έναν υποχώρο 𝒞 του 𝒞′ χαμηλότερης διάστασης, που είναι ο πραγματικός χώρος
διαμορφώσεων του 𝒜. Για να γίνει κατανοητός ο χώρος 𝒞′, ας θεωρήσουμε τον επίπεδο βραχίονα δύο
αρθρώσεων που παρουσιάζεται στην Εικόνα 6.7. Ο βραχίονας αποτελείται από δύο συνδέσμους 𝒜1 και 𝒜2 .
Ο σύνδεσμος 𝒜1 συνδέεται με τη βάση με έναν περιστροφικό σύνδεσμο, ενώ ο σύνδεσμος 𝒜2 συνδέεται με

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 185
το 𝒜1 με μία πρισματική άρθρωση. Ο χώρος εργασίας είναι 𝒲 = ℝ2 . Σε αυτό το παράδειγμα, το 𝒞 ′ =
(ℝ2 × 𝑆𝑂(2)) × (ℝ2 × 𝑆𝑂(2)) είναι ένας εξαδιάστατος χώρος. Η πρώτη άρθρωση επιβάλλει δύο
περιορισμούς, ότι το σημείο γύρω από το οποίο μπορεί να περιστραφεί το 𝒜1 είναι σταθερό στον χώρο
εργασίας. Ο δεύτερος σύνδεσμος επιβάλλει δύο επιπλέον περιορισμούς στη θέση και τον προσανατολισμό του
𝒜2 σε σχέση με το 𝒜1 . Οι τέσσερις περιορισμοί είναι ανεξάρτητοι και ορίζουν έναν υπόχωρο 𝒞 με διάσταση
2 του 𝒞 ′ .

Εικόνα 6.7 Ο επίπεδος ρομποτικός βραχίονας.

Ο χώρος διαμορφώσεων 𝒞 ενός αρθρωτού ρομπότ με 𝑝 περιστροφικές και πρισματικές αρθρώσεις και χωρίς
κινητικό βρόχο είναι μια ομαλή πολλαπλότητα 𝑝 διάστασης. Μια διαμόρφωση 𝓆 αναπαρίσταται από μια λίστα
(𝓆1 , … , 𝓆𝑝 ) συντεταγμένων. Καθεμία περιγράφει τη σχετική θέση και τον προσανατολισμό δύο αντικειμένων
του ρομπότ 𝓐. Τα ρομπότ με περιστροφικούς συνδέσμους έχουν έναν πολλαπλά συνδεδεμένο χώρο
διαμόρφωσης και πολλά γραφήματα είναι απαραίτητα για να σχηματιστεί ένας άτλαντας. Ωστόσο, στην πράξη,
είναι συχνά αρκετό να εξετάσουμε ένα ενιαίο διάγραμμα, με κάθε γωνιακή συντεταγμένη να ανήκει στο
διάστημα [0,2𝜋).
Οι έννοιες του εμποδίου-διαμορφώσεων, του ελεύθερου χώρου και της ελεύθερης διαδρομής που
ορίζονται στην υπο-ενότητα 6.1.1 επεκτείνονται σε ένα αρθρωτό ρομπότ χωρίς να είναι απαραίτητη κάποια
τροποποίηση. Επίσης, υπάρχουν δύο είδη εμποδίων-διαμορφώσεων:
• αυτά που οφείλονται στην αλληλεπίδραση ενός αντικειμένου 𝒜𝑖 και ενός εμποδίου 𝒪, και
• εκείνα που οφείλονται στην αλληλεπίδραση μεταξύ δύο αντικειμένων 𝒜𝑖 και 𝒜𝑗 .
Γενικά, η σχετική κίνηση δύο αντικειμένων που συνδέονται με μια άρθρωση περιορίζεται περαιτέρω από ένα
ζεύγος μηχανικών αναστολέων ως προς το εύρος τιμών της αντίστοιχης συντεταγμένης διαμόρφωσης σε ένα
συνδεδεμένο διάστημα. Τα μηχανικά στοπ λειτουργούν έτσι ως «αόρατα εμπόδια». Το σύνολο των
διαμορφώσεων στις οποίες κανένας σύνδεσμος δεν έχει φτάσει σε μηχανική στάση είναι ένα ανοιχτό
υποσύνολο του 𝒞. Το συμπλήρωμα αυτού του υποσυνόλου είναι η «περιοχή» του εμποδίου-διαμορφώσεων,
στην οποία χαρτογραφούνται τα αόρατα εμπόδια, λόγω των μηχανικών στάσεων. Τα μηχανικά στοπ σε κάθε
άρθρωση είναι συνήθως ανεξάρτητα από τη διαμόρφωση του ρομπότ. Τότε το υποσύνολο των διαμορφώσεων
που καθίστανται εφικτές από τις μηχανικές στάσεις είναι απλώς ένα διασταυρούμενο γινόμενο διαστημάτων
στον καρτεσιανό χώρο (διάγραμμα) που αντιπροσωπεύει τον χώρο 𝒞.
Ας υποθέσουμε μια περιστροφική άρθρωση που συνδέει τον σύνδεσμο 𝒜𝑖 με τον 𝒜𝑗 . Εάν οι μηχανικές
στάσεις σε αυτήν την άρθρωση εμποδίζουν τον 𝒜𝑗 να κάνει πλήρη περιστροφή 360° σε σχέση με το 𝒜𝑖 , ο
περιορισμός εξαλείφει την ανάγκη εφαρμογής 360° στην αντίστοιχη συντεταγμένη διαμόρφωσης. Αν, αντ'
αυτού, οι μηχανικές στάσεις επιτρέπουν στον 𝒜𝑖 να εκτελεί 𝑟(𝑟 > 1) πλήρεις περιστροφές, τότε είναι σκόπιμο
να αφήσουμε την αντίστοιχη συντεταγμένη διαμόρφωσης να ποικίλλει σε ένα διάστημα μήκους 𝑟 ∗ 360°, όπου

Ηλίας Ξυδιάς 186


το 𝑟 δεν χρειάζεται να είναι ακέραιος. Με αυτόν τον τρόπο, η διαμόρφωση αναπαρίσταται ρητά σε σχέση με
τα δύο μηχανικά στοπ. Ωστόσο, ένα μειονέκτημα αυτής της αναπαράστασης είναι ότι το ίδιο εμπόδιο μπορεί
να αντιστοιχιστεί σε πολλές περιοχές εμποδίου-διαμορφώσεων ίδιου σχήματος.
Ενδεικτικά θα αναφέρουμε πως κάποιες από τις προσεγγίσεις που παρουσιάστηκαν στα προηγούμενα
κεφάλαια εφαρμόζονται σε χώρους που περιέχουν αρθρωτά ρομπότ.

6.3.1 Προσεγγιστική Αποσύνθεση σε Κελιά


Η μέθοδος της προσεγγιστικής αποσύνθεσης σε κελιά είναι αρκετά γενική ώστε να μπορεί να εφαρμοστεί και
στην περίπτωση του αρθρωτού ρομπότ. Το κύριο ζήτημα είναι η κατασκευή, τόσο του ελεύθερου χώρου όσο
και της περιοχής των εμποδίων-διαμορφώσεων στον καρτεσιανό χώρο που αντιπροσωπεύει τον χώρο
διαμορφώσεων 𝒞. Στα προηγούμενα κεφάλαια χρησιμοποιήσαμε τις εξισώσεις που ορίζουν τα όρια των
εμποδίων-διαμορφώσεων για να επισημάνουμε τα ορθογώνια κελιά που δημιουργούνται από την αποσύνθεση
του χώρου 𝒞. Αυτές οι εξισώσεις καθορίστηκαν στο Κεφάλαιο 4 για ένα πολυγωνικό/πολυεδρικό αντικείμενο
που κινείται ελεύθερα ανάμεσα σε πολυγωνικά/πολυεδρικά εμπόδια. Θα μπορούσαμε να χρησιμοποιήσουμε
μια παρόμοια προσέγγιση εδώ, αλλά προφανώς, οι εξισώσεις των ορίων των εμποδίων-διαμορφώσεων είναι
πλέον πολύ πιο δύσκολο να καθοριστούν και να αξιοποιηθούν.
Σε αυτήν την ενότητα, θα περιγράψουμε μια μέθοδο 0 που δημιουργεί μια συντηρητική προσέγγιση του
ελεύθερου χώρου με διακριτοποίηση της κίνησης κάθε άρθρωσης σε μικρά διαστήματα. Αυτή η κατά
προσέγγιση αναπαράσταση χρησιμοποιείται στη συνέχεια για την κατασκευή του γραφήματος συνδεσιμότητας,
το οποίο αναζητείται για ένα κανάλι που συνδέει την αρχική διαμόρφωση με την τελική διαμόρφωση.
Για να απλουστεύσουμε την παρουσίασή της προσέγγισης, θα κάνουμε μερικές υποθέσεις. Αρχικά, θα
υποθέσουμε ότι το 𝒜 είναι μια ακολουθία 𝑝 αντικειμένων 𝒜1 έως 𝒜𝑝 , κατά την οποία κάθε δύο διαδοχικά
αντικείμενα 𝒜𝑖 και 𝒜𝑖+1 συνδέονται είτε με περιστροφική είτε με πρισματική άρθρωση. Το 𝒜1 είναι το πρώτο
αντικείμενο (ο πρώτος σύνδεσμος του ρομποτικού βραχίονα) και συνδέεται με τον χώρο εργασίας με μία
άρθρωση. Όπως έχει αναφερθεί και στις προηγούμενες ενότητες αυτού του κεφαλαίου, αναπαριστούμε μια
διαμόρφωση 𝓆 του 𝒜 με μια λίστα παραμέτρων 𝑝, (𝓆1 , … , 𝓆𝑝 ). Κάθε παράμετρος 𝓆𝑖 , με 𝑖𝜖{1,2, … , 𝑝}
καθορίζει τη θέση και τον προσανατολισμό του ℱ𝒜𝑖 σε σχέση με το ℱ𝒜𝑖−1 με ℱ𝒜0 = ℱ𝒲 . Η επόμενη υπόθεση
είναι ότι κάθε 𝓆𝑖 μεταβάλλεται σε ένα οριοθετημένο διάστημα 𝛪𝑖 = (𝓆𝑖− , 𝓆𝑖+ ). Εάν το 𝓆𝑖 αντιστοιχεί σε μια
περιστροφική άρθρωση χωρίς μηχανικό σταμάτημα, το διάστημα είναι 𝛪𝑖 = [0,2𝜋). Η τελευταία υπόθεση είναι
ότι δύο αντικείμενα 𝒜𝑖 και 𝒜𝑗 δεν μπορούν ποτέ να συγκρουστούν μεταξύ τους. Ως εκ τούτου, οι μόνες
συγκρούσεις που θεωρούμε είναι αυτές μεταξύ των αντικειμένων 𝒜𝑖 , 𝑖𝜖{1, 𝑝} και των εμποδίων 𝒪𝑗 , 𝑗𝜖{1, 𝓆}.
Η θέση και ο προσανατολισμός του ℱ𝒜𝑖 σε σχέση με το ℱ𝒲 για κάθε 𝑖𝜖{1,2, … , 𝑝}, ορίζεται πλήρως από
τις παραμέτρους 𝓆1 εως 𝓆𝜄 . Έτσι, ορίζουμε με 𝒜𝑖 (𝓆1 , … , 𝓆𝑝 ) την περιοχή του 𝒲 η οποία καταλαμβάνεται από
το αντικείμενο 𝒜𝑖 . Επίσης, μπορούμε να κατασκευάσουμε μια προσέγγιση της περιοχής του εμποδίου-
διαμορφώσεων 𝛪1 × 𝛪2 × … × 𝛪𝑝 ⊂ ℝ𝑝 ως ακολούθως: Κάθε διάστημα 𝛪𝑖 , 𝑖 = 1, … , 𝑝 διακριτοποείται σε
μικρότερα μη επικαλυπτόμενα διαστήματα 𝛿𝑖,𝑘𝑖 , 𝑘𝑖 = 1,2, …, έχοντας υπόψη κάποια προκαθορισμένη ανάλυση.
Εάν η περιοχή που σαρώθηκε από το 𝒜 στον χώρο εργασίας, όπου (𝓆1 , … , 𝓆𝑝 ) καλύπτουν τα ορθογώνια κελιά
𝛿1,𝑘1 × … × 𝛿𝑝,𝑘𝑝 , δεν τέμνεται με κανένα εμπόδιο, τότε τα κελιά 𝛿1,𝑘1 × … × 𝛿𝑝,𝑘𝑝 είναι μέρος του ελεύθερου
χώρου, διαφορετικά, θεωρείται ότι βρίσκεται στην περιοχή του εμποδίου-διαμορφώσεων. Λαμβάνοντας υπόψη
όλα τα κελιά, κατασκευάζουμε μια συντηρητική προσέγγιση του ελεύθερου χώρου ως μια συλλογή μικρών
ορθογώνιων κελιών. Το γράφημα συνδεσιμότητας που αντιπροσωπεύει τη σχέση γειτνίασης μεταξύ αυτών των
κελιών μπορεί στη συνέχεια να δημιουργηθεί και να αναζητηθεί για ένα κανάλι κελιών. Ωστόσο, η μέθοδος
σχεδιασμού κίνησης είναι πιθανό να μην είναι πολύ αποτελεσματική από την άποψη του υπολογιστικού χρόνου
και του χώρου μνήμης. Ευτυχώς, στις περισσότερες περιπτώσεις, απλές τροποποιήσεις επιτρέπουν τη
σημαντική μείωση του αριθμού των κελιών που πρέπει να ελέγχονται με αυτήν τη μέθοδο. Αυτές οι
τροποποιήσεις περιγράφονται στις επόμενες παραγράφους.
Ας εξετάσουμε το πρώτο αντικείμενο 𝒜1 του 𝓐. Η θέση και ο προσανατολισμός του στο 𝒲 εξαρτώνται
μόνο από την τιμή της συντεταγμένης 𝓆1 . Εάν για μια δεδομένη τιμή της, αυτή η συντεταγμένη τέμνεται με ένα
εμπόδιο, τότε δεν χρειάζεται να ελέγξουμε το 𝒜𝑖 , 𝑖 = 2, … , 𝑝 για συγκρούσεις με τα εμπόδια. Πράγματι,
ολόκληρο το τμήμα διαστάσεων (𝑝 − 1) του 𝒞 που προβάλλεται στη δεδομένη τιμή του 𝓆1 είναι μέρος της

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 187
περιοχής του εμποδίου-διαμορφώσεων. Με τον ίδιο τρόπο, ενεργούμε και για τα υπόλοιπα αντικείμενα 𝒜𝑖 , 𝑖 =
2, … , 𝑝.
Κάθε κελί χαρακτηρίζεται ως ΚΕΝΟ ή ΠΛΗΡΕΣ. Ένα κελί παίρνει την ετικέτα ΚΕΝΟ, όταν δεν περιέχει
κάποιο εμπόδιο διαμορφώσεων, ενώ παίρνει την ετικέτα ΠΛΗΡΕΣ όταν περιέχει κάποιο εμπόδιο
διαμορφώσεων. Όταν ένα κελί έχει την ετικέτα ΠΛΗΡΕΣ, τότε αυτό υποδιαιρείται σε μικρότερα κελιά, μέχρι
μια προκαθορισμένη ανάλυση. Όταν ολοκληρωθεί η κατασκευή του δέντρου, έχουμε μια κατά προσέγγιση
αναπαράσταση του ελεύθερου χώρου και της περιοχής των εμποδίων-διαμορφώσεων. Συγκεκριμένα, με
δεδομένη (;;;) μια διαμόρφωση (𝓆1 , … , 𝓆𝑝 ), μπορούμε εύκολα να ελέγξουμε αν ανήκει στον κατά προσέγγιση
ελεύθερο χώρο ή όχι.
Πράγματι, η διαμόρφωση καθορίζει μια μοναδική διαδρομή στο δέντρο. Εάν αυτή η διαδρομή τερματίζει
σε ένα ΠΛΗΡΕΣ διάστημα (αυτό μπορεί να συμβεί σε οποιοδήποτε βάθος στο δέντρο), η διαμόρφωση
θεωρείται ότι βρίσκεται στην περιοχή ενός εμποδίου-διαμορφώσεων. Αντίθετα, εάν η διαδρομή τερματίζεται
σε ένα διάστημα ΚΕΝΟ, η διαμόρφωση είναι σε ελεύθερο χώρο.

6.3.2 Τεχνητά Δυναμικά Πεδία


Η μέθοδος των τεχνητών δυναμικών πεδίων που παρουσιάστηκε στο 5ο Κεφάλαιο μπορεί να εφαρμοστεί και
στην περίπτωση των αρθρωτών ρομπότ. Όπως συμβαίνει και στην περίπτωση ενός μεμονωμένου άκαμπτου
αντικείμενου, έχουν αναπτυχθεί αρκετές προσεγγίσεις που βασίζονται σε αυτήν τη μεθοδολογία.
Συνήθως, θεωρούμε μια συλλογή σημείων ελέγχου 𝑎𝑗 𝜖𝓐, 𝑗 = 1, … , 𝑀 όπου 𝑀 είναι το σύνολο των
σημείων που κατανέμονται σε ολόκληρο το 𝓐 = {𝒜1 , 𝒜2 , … , 𝒜𝑝 }. Σε κάθε σημείο 𝑎𝑗 επιδρά ένα δυναμικό
πεδίο 𝑉𝑗 (𝓆), 𝑗 = 1, … , 𝑀 που ορίζεται στον χώρο εργασίας του 𝓐. Αυτό το δυναμικό μπορεί να είναι είτε ένα
ελκτικό δυναμικό, ανάλογα με τη θέση στόχου του 𝑎𝑗 στο 𝒲, είτε ένα απωθητικό δυναμικό, ανάλογα με τα
εμπόδια στον χώρο εργασίας, είτε ένα μικτό δυναμικό που διαμορφώνεται τόσο από τη θέση του στόχου του
𝑎𝑗 όσο και από τη θέση των εμπόδιων που βρίσκονται στο 𝒲.
Η συνάρτηση δυναμικού 𝑈(𝓆) στον χώρο των διαμορφώσεων του 𝓐 ορίζεται ως εξής,
𝑀
(6.13)
𝑈(𝓆) = ∑ 𝑉𝑗 (𝑎𝑗 (𝓆))
𝑗=1
το οποίο προκαλεί την ελκτική δύναμη που ορίζεται ως εξής:
⃗ 𝑈 (𝓆 )
𝐹 (𝓆 ) = −∇ (6.14)
Ας εξετάσουμε μια περιοχή στον χώρο διαμορφώσεων 𝒞 του ρομπότ 𝓐, έτσι ώστε μια διαμόρφωση 𝓆 να
παραμετροποιείται με (𝓆1 , … , 𝓆𝑝 ), με κάθε 𝓆𝑖 να ορίζει τη σχετική θέση δύο αντικειμένων (συνδέσμων) που
συνδέονται με μία άρθρωση. Οι συνιστώσες του 𝐹 (𝓆) στη βάση του 𝛵𝓆 (𝒞 ) (εφαπτομενικός χώρος του 𝒞 στο
𝓆) που προκαλούνται από αυτήν την περιοχή είναι οι δυνάμεις/ροπές που εφαρμόζονται σε κάθε
πρισματική/περιστροφική άρθρωση του ρομπότ. Επιπλέον, ας υποθέσουμε ότι ο χώρος εργασίας του 𝓐 είναι
τριδιάστατος, δηλ., 𝒲 = ℝ3 με 𝒙 = (𝑥, 𝑦, 𝑧) είναι ένα σημείο του 𝒲 που ορίζεται στο ℱ𝒲 . Έστω ότι
𝑋𝑗 (𝓆1 , … , 𝓆𝑝 ), 𝑌𝑗 (𝓆1 , … , 𝓆𝑝 ) και 𝛧𝑗 (𝓆1 , … , 𝓆𝑝 ) είναι οι συντεταγμένες ενός σημείου 𝑎𝑗 (𝓆) στο ℱ𝒲 .Το 𝑖 −οστό
στοιχείο του 𝐹 (𝓆) δίνεται από:
𝑀
𝜕 𝜕𝑉𝑗 𝜕𝛸𝑗 𝜕𝑉𝑗 𝜕𝑌𝑗 𝜕𝑉𝑗 𝜕𝑍𝑗 (6.15)
− 𝑈(𝓆1 , … , 𝓆𝑝 ) = − ∑ ( + + )
𝜕𝓆𝑖 𝜕𝑥 𝜕𝓆𝑖 𝜕𝑦 𝜕𝓆𝑖 𝜕𝑧 𝜕𝓆𝑖
𝑗=1
Έχουμε ότι:
𝑀
(6.16)
𝐹 (𝓺) = − ∑ 𝐽𝑗𝑇 (𝓺) ∇
⃗ 𝑉𝑗 (𝑎𝑗 (𝓆))
𝑗=1
όπου 𝐽𝑗𝑇 είναι η μετάθεση του Ιακωβιανού πίνακα 𝐽𝑗 της απεικόνισης:

Ηλίας Ξυδιάς 188


(𝓆1 , … , 𝓆𝑝 )𝜖ℝ𝑝 → (𝑋𝑗 (𝓆1 , … , 𝓆𝑝 ), 𝑌𝑗 (𝓆1 , … , 𝓆𝑝 ), 𝛧𝑗 (𝓆1 , … , 𝓆𝑝 )) 𝜖ℝ3 (6.17)

Ομοίως εργαζόμαστε και στην περίπτωση που ο χώρος εργασίας 𝒲 είναι διδιάστατος, δηλ. 𝒲 = ℝ2 .
Στην περίπτωση που η κίνηση σε μια άρθρωση του ρομπότ 𝓐 περιορίζεται μηχανικά, αυτοί οι
περιορισμοί μπορούν να ληφθούν υπόψη στην κατασκευή της συνάρτησης δυναμικού. Ένας από τους αρχικούς
τρόπους που προτάθηκε είναι ο ακόλουθος 0:
Έστω μια συντεταγμένη διαμόρφωσης 𝓆𝑖, η οποία περιορίζεται στο διάστημα (𝓆𝑖− , 𝓆𝑖+ ) από τα μηχανικά
στοπ στην αντίστοιχη άρθρωση. Και τα δύο τελικά σημεία του διαστήματος μπορούν να αντιμετωπιστούν ως
εμπόδια που δημιουργούν πεδία απωθητικού δυναμικού τα 𝑊 − (𝓆𝑖 ) και 𝑊 + (𝓆𝑖 ). Χρησιμοποιώντας την ίδια
γενική μορφή με τις συναρτήσεις απωθητικού δυναμικού που περιγράφονται στο 5ο Κεφάλαιο, ορίζουμε τα
𝑊 − (𝓆𝑖 ) και 𝑊 + (𝓆𝑖 ) ως εξής:
2
1 1 1 (6.18)
𝜂( − − ) , 𝛼𝜈 𝓆𝑖 − 𝓆𝑖− ≤ 𝜌𝜊
𝑊 − (𝓆𝑖 ) = {2 𝓆𝑖 −𝓆𝑖 𝜌𝜊
0, 𝛼𝜈 𝓆𝑖 − 𝓆𝑖− > 𝜌𝜊

και

2
1 1 1
𝜂( − ) , 𝛼𝜈 𝓆𝑖+ − 𝓆𝑖 ≤ 𝜌𝜊
𝑊 + (𝓆𝑖 ) = {2 𝓆𝑖+ − 𝓆𝑖 𝜌𝜊
0, 𝛼𝜈 𝓆𝑖+ − 𝓆𝑖 > 𝜌𝜊
όπου 𝜂 είναι μια θετική σταθερά και 𝜌𝜊 είναι η απόσταση επιρροής των μηχανικών περιορισμών των
αρθρώσεων του ρομπότ 𝓐. Οι συναρτήσεις 𝑊𝑖− (𝓆𝑖 ) και 𝑊𝑖+ (𝓆𝑖 ) προστίθενται στη συνάρτηση 𝑈(𝓆1 , … , 𝓆𝑝 ),
έτσι ώστε να δημιουργήσουμε μια συνάρτηση δυναμικού η οποία λαμβάνει υπόψη αυτούς τους περιορισμούς.
Πρέπει, να σημειώσουμε ότι όλες οι δυνάμεις που δημιουργούνται από 𝑊𝑖− (𝓆𝑖 ) και 𝑊𝑖+ (𝓆𝑖 ) είναι μηδέν, εκτός
από την 𝑖 −οστή. Το 𝑖 −οστό στοιχείο αυτών των δυνάμεων είναι:
1 1 (6.19)
𝑑𝑊 − (𝓆𝑖 ) 𝜂( − − ) , 𝛼𝜈 𝓆𝑖 − 𝓆𝑖− ≤ 𝜌𝜊
− = { 𝓆𝑖 − 𝓆𝑖 𝜌𝜊
𝑑𝓆𝑖
0, 𝛼𝜈 𝓆𝑖 − 𝓆𝑖− > 𝜌𝜊

Και

1 1
𝑑𝑊 + (𝓆𝑖 ) 𝜂( + − ) , 𝛼𝜈 𝓆𝑖+ − 𝓆𝑖 ≤ 𝜌𝜊
− = { 𝓆𝑖 − 𝓆𝑖 𝜌𝜊
𝑑𝓆𝑖
0, 𝛼𝜈 𝓆𝑖+ − 𝓆𝑖 > 𝜌𝜊

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 189
Βιβλιογραφία/Αναφορές

[1] Kant, K., & Zucker, S. W. (1986). Toward efficient trajectory planning: The path velocity
decomposition. International Journal of Robotics Research, 5(3), 72–89.
[2] Erdmann, M. and Lozano-Perez, T. (1986) On Multiple Moving Objects, AI Memo No. 883, Artificial
Intelligence Laboratory, MIT.
[3] Barraquand, J., Langlois, B., & Latombe, J.-C. (1992). Numerical potential field techniques for robot path
planning. IEEE Transactions on Systems, Man, and Cybernetics, 22(2), 224–241.
https://doi.org/10.1109/21.148426
[4] Egerstedt, M., & Hu, X. (2001). Formation constrained multi-agent control. IEEE Transactions on Robotics
and Automation: A Publication of the IEEE Robotics and Automation Society, 17(6), 947–951.
https://doi.org/10.1109/70.976029
[5] Kavraki, L. E., Svestka, P., Latombe, J.-C., & Overmars, M. H. (1996). Probabilistic roadmaps for path
planning in high-dimensional configuration spaces. IEEE Transactions on Robotics and Automation:
A Publication of the IEEE Robotics and Automation Society, 12(4), 566–580.
https://doi.org/10.1109/70.508439
[6] Laumond, J.-P. (Ed.). (1997). Robot motion planning and control (1998th ed.). Springer.
[7] Alami, R., Robert, F., Ingrand, F., & Suzuki, S. (2002). Multi-robot cooperation through incremental plan-
merging. Proceedings of 1995 IEEE International Conference on Robotics and Automation.
[8] Bennewitz, M., Burgard, W., & Thrun, S. (2002). Optimizing schedules for prioritized path planning of
multi-robot systems. Proceedings 2001 ICRA. IEEE International Conference on Robotics and
Automation (Cat. No.01CH37164).
[9] Kreher, D. L., & Stinson, D. R. (2020). Combinatorial algorithms: Generation, enumeration, and search.
CRC Press.
[10] Guo, Y., & Parker, L. E. (2003). A distributed and optimal motion planning approach for multiple mobile
robots. Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat.
No.02CH37292).
[11] Gouzemes, L. (1984). Strategies for Solving Collision-Free Trajectories Problems for Mobile and
Manipulator Robots. International Journal of Robotics Research, 3(4), 51–65.
[12] Khatib, Oussama. (1986). Real-time obstacle avoidance for manipulators and mobile robots. The
International Journal of Robotics Research, 5(1), 90–98.

Ηλίας Ξυδιάς 190


Ασκήσεις

1. Ας υποθέσουμε ότι έχουμε ένα ρομποτικό σύστημα σχήματος ορθογωνίου, το οποίο κινείται (χωρίς να
περιστρέφεται) σε έναν διδιάστατο χώρο με ταχύτητα |𝑣⃑| ≤ 𝑣𝑚𝑎𝑥 . Το ρομποτικό σύστημα πρέπει να
κινηθεί από ένα αρχικό σημείο Α προς ένα τελικό σημείο Β. Επίσης, υποθέτουμε ότι ο χώρος περιέχει
δύο κινούμενα εμπόδια ίδιου σχήματος (ορθογώνιο σχήμα), τα οποία κινούνται με σταθερές γραμμικές
ταχύτητες |𝑣⃑𝒪 | <≤ 𝑣𝑚𝑎𝑥 και των οποίων μπορούμε να γνωρίζουμε τη θέση οποιαδήποτε χρονική
στιγμή. Τα δύο εμπόδια δεν συγκρούονται μεταξύ τους. Το ζητούμενο είναι να αναπτυχθεί μια
μεθοδολογία που να σχεδιάζει τη διαδρομή του ρομποτικού συστήματος από το Α στο Β αποφεύγοντας
την επαφή με τα εμπόδια (Εικόνα 6.8).

Εικόνα 6.8 Ο χώρος εργασίας του ρομποτικού συστήματος.

2. Ποιος είναι ο χώρος διαμόρφωσης ενός ρομπότ που αποτελείται από έναν βραχίονα χειριστή έξι
περιστροφικών συνδέσμων τοποθετημένο σε μια πλατφόρμα; (Ο βραχίονας λειτουργεί σε έναν
τριδιάστατο χώρο εργασίας. Η πλατφόρμα μετατοπίζεται και περιστρέφεται ελεύθερα στο επίπεδο).
3. Αναπτύξτε μια μέθοδο για την επίλυση του προβλήματος σχεδιασμού της συντονισμένης κίνησης δύο
ρομποτικών βραχιόνων ρομπότ που φέρουν το ίδιο αντικείμενο (κινηματική δομή κλειστού βρόχου)
ανάμεσα σε εμπόδια.
4. Ας υποθέσουμε ότι έχουμε ένα ρομποτικό βραχίονα, ο οποίος κινείται σε έναν διδιάστατο χώρο που
περιέχει ακίνητα εμπόδια. Ο ρομποτικός βραχίονας, ο οποίος αποτελείται από 4 περιστροφικές
αρθρώσεις (Εικόνα 6.9), καλείται να κινηθεί από ένα αρχικό σημείο Α προς ένα τελικό σημείο Β. Το
ζητούμενο είναι να αναπτυχθεί μια μεθοδολογία που να σχεδιάζει τη διαδρομή που πρέπει να
ακολουθήσει το άκρο εργασίας του ρομποτικού βραχίονα από το Α στο Β, αποφεύγοντας την επαφή
με τα εμπόδια. Σημειώστε ότι οι αρθρώσεις δεν δημιουργούν μηχανικούς περιορισμούς στην κίνηση
του ρομποτικού βραχίονα και 𝜃𝑖 𝜖 [0,2𝜋), 𝑖 = 1, … ,4.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 191
Εικόνα 6.9 Ο ρομποτικός βραχίονας και ο χώρος εργασίας του.

Ηλίας Ξυδιάς 192


Κεφάλαιο 7ο
Σχεδιασμός Κίνησης λαμβάνοντας υπόψη Κινηματικούς Περιορισμούς

Σύνοψη
Σε αυτό το κεφάλαιο μελετάμε το πρόβλημα σχεδιασμού κίνησης για ένα ρομπότ, λαμβάνοντας υπόψη τους
κινηματικούς περιορισμούς, δηλαδή θεωρώντας ένα αντικείμενο (ή μια συλλογή αντικειμένων) που δεν μπορεί να
μετακινηθεί και να περιστραφεί ελεύθερα στον χώρο εργασίας του. Πράγματι, μέχρι τώρα, εξετάσαμε μόνο την
περίπτωση κατά την οποία το ρομπότ μπορεί να κινείται ελεύθερα, χωρίς κανέναν περιορισμό. Η μόνη εξαίρεση
συνέβη στην τελευταία ενότητα 6.3 του προηγούμενου κεφαλαίου, όταν εξετάσαμε αρθρωτά ρομπότ
κατασκευασμένα από διάφορα αντικείμενα που συνδέονται με αρθρώσεις. Σε αυτήν την περίπτωση, ο περιορισμός
που επιβάλλεται από έναν σύνδεσμο στη σχετική κίνηση των δύο αντικειμένων αποτελεί ένα απλό παράδειγμα
κινηματικού περιορισμού.

Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.

Εισαγωγή
Ο σχεδιασμός και ο έλεγχος κίνησης είναι θεμελιώδη στοιχεία για την επίτευξη της ρομποτικής αυτονομίας 0.
Για παράδειγμα, για να επιτύχει ένα αυτόνομο όχημα έναν στόχο (π.χ. να μετακινηθεί από το σημείο Α στο Β)
πρέπει πρώτα να σχεδιάσει μια τροχιά και να καθορίσει ποιες εισόδους ελέγχου (π.χ. γκάζι και τιμόνι) θα του
επιτρέψουν να ακολουθήσει τη δοσμένη τροχιά. Και τα δύο αυτά στοιχεία απαιτούν κατανόηση της φυσικής
συμπεριφοράς του ρομπότ/αυτόνομου συστήματος, προκειμένου να αναπτυχθούν λογικά/πρακτικά σχέδια
διαδρομών και έλεγχοι κίνησης. Στο πλαίσιο του σχεδιασμού και του ελέγχου κίνησης, η φυσική συμπεριφορά
ενός ρομπότ χαρακτηρίζεται γενικά από τη δυναμική και την κινηματική του.
Ορισμός 7.1: (Δυναμική). Η δυναμική ενός αυτόνομου συστήματος περιγράφει τη σχέση μεταξύ των δυνάμεων
που δρουν στο σύστημα και των αλλαγών στη φυσική κατάσταση του συστήματος.
Με άλλα λόγια, η δυναμική μπορεί να θεωρηθεί ως το αποτέλεσμα του δεύτερου νόμου του
Νεύτωνα (𝐹 = 𝑚 ∗ 𝑎) στο πλαίσιο ενός συγκεκριμένου αυτόνομου συστήματος. Για παράδειγμα, η
δυναμική ενός αυτόνομου οχήματος θα περιέγραφε τη σχέση μεταξύ της επιτάχυνσης και των
δυνάμεων που προκαλούνται από τα ελαστικά, τη βαρύτητα, την αεροδυναμική και ούτω καθεξής.
Ορισμός 7.2: (Κινηματική). Η κινηματική ενός αυτόνομου συστήματος περιγράφει πρόσθετους περιορισμούς
στην κίνηση του συστήματος που δεν προκαλούνται από δυνάμεις.
Το πιο τετριμμένο παράδειγμα είναι το εξής: ο ρυθμός αλλαγής της θέσης του αυτόνομου
συστήματος πρέπει να είναι ίσος με την ταχύτητά του. Γενικότερα, η κινηματική ενός αυτόνομου
συστήματος περιγράφει περιορισμούς στην κίνησή του, που είναι συνάρτηση της φυσικής κατάστασης
ή της γεωμετρίας του συστήματος. Για παράδειγμα, ένας ρομποτικός βραχίονας με πολλαπλούς
συνδέσμους είναι κινηματικά περιορισμένος, καθώς οι άκαμπτες συνδέσεις σε κάθε άρθρωση
επιτρέπουν την περιστροφή γύρω από έναν μόνο άξονα.
Από τις παραπάνω περιγραφές για τη δυναμική και την κινηματική θα πρέπει να σημειωθεί ότι
η δυναμική και η κινηματική ενός αυτόνομου συστήματος περιγράφουν περιορισμούς στην κίνησή
του με διαφορετικούς τρόπους. Όχι μόνο είναι σημαντικό να αναγνωρίσουμε και να περιγράψουμε τη
δυναμική και την κινηματική ενός αυτόνομου συστήματος, αλλά κάποιος θα πρέπει να θέσει τα
ακόλουθα ερωτήματα:
• Πρέπει κάποιος να λάβει όλους τους δυναμικούς/κινητικούς περιορισμούς, για να μπορέσει ένα
αυτόνομο σύστημα να εκτελέσει την εργασία που του έχει ανατεθεί;
• Μπορεί κάποιος από τις δυναμικούς/κινηματικούς περιορισμούς να απλοποιηθεί/προσεγγιστεί,
για να γίνει ευκολότερη η εργασία σχεδιασμού και ελέγχου κίνησης του αυτόνομου συστήματος;

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 193
Ο συνδυασμός δυναμικής και κινηματικής συνθέτει ένα μοντέλο της φυσικής συμπεριφοράς του ρομπότ.
Ανάλογα με την εργασία του ρομπότ, ορισμένα μοντέλα μπορεί να είναι πιο κατάλληλο από άλλα. Ειδικότερα,
η πολυπλοκότητα του μοντέλου πρέπει συχνά να εξισορροπηθεί ως προς την ακρίβεια/σχετικότητά του για την
εκάστοτε εργασία.
Για να το δείξετε αυτό, εξετάστε ξανά το παράδειγμα του αυτόνομου αυτοκινήτου. Το πιο ακριβές
μοντέλο θα αξιοποιούσε τη δυναμική του αυτοκινήτου και θα περιελάμβανε τη δυναμική του κινητήρα, τη
δυναμική της ανάρτησης, τη δυναμική των ελαστικών και ούτω καθεξής. Ειδικότερα, η ενσωμάτωση της
δυναμικής των ελαστικών είναι κρίσιμη για την κατανόηση του φαινομένου της ολίσθησης, το οποίο μπορεί να
είναι σημαντικό για τον σχεδιασμό και τον έλεγχο της κίνησης σε εφαρμογές αγώνων με αυτόνομα οχήματα.
Ωστόσο, σε άλλες εφαρμογές, μπορεί να είναι πιο σκόπιμο να απλοποιηθεί το μοντέλο, αντικαθιστώντας τη
δυναμική του ελαστικού με τον απλό κινηματικό περιορισμό ότι τα ελαστικά δεν μπορούν να κινηθούν
πλευρικά (δηλ. έναν περιορισμό «χωρίς πλευρική ολίσθηση»).
Στην πραγματικότητα, στο πλαίσιο του σχεδιασμού και του ελέγχου κίνησης για τη ρομποτική, τα
μοντέλα που κατασκευάζονται, λαμβάνοντας υπόψη την κινηματική του συστήματος, μπορεί να είναι πολύ
χρήσιμα (και πολύ πιο απλά). Για τον λόγο αυτόν, αυτό το κεφάλαιο εστιάζει ειδικά στην κινηματική των
αυτόνομων συστημάτων/ρομπότ, μελετώντας ειδικότερα:
• Πώς να εκφράσουμε τη διαμόρφωση ενός ρομπότ σε γενικές συντεταγμένες.
• Πώς να εκφράσουμε μαθηματικά τους κινηματικούς περιορισμούς ως προς τις γενικές
συντεταγμένες.
• Πώς να προσδιορίσουμε διαφορετικούς τύπους κινηματικών περιορισμών.
• Παραδείγματα κινηματικών μοντέλων, κυρίως για τροχοφόρα ρομπότ (οχήματα).

7.1 Γενικευμένες Συντεταγμένες


Η διαμόρφωση ενός ρομπότ μπορεί συνήθως να αναπαρασταθεί (δηλ. ποσοτικοποιηθεί) με διαφορετικούς
τρόπους. Η συγκεκριμένη επιλογή αναπαράστασης ορίζει ένα πεπερασμένο σύνολο αριθμών, γνωστών ως
«γενικευμένες συντεταγμένες».
Ορισμός 7.3: Οι γενικευμένες συντεταγμένες αναφέρονται σε ένα σύνολο από συντεταγμένες που μπορούν να
καθορίσουν πλήρως τη μοναδική θέση του ρομπότ σας.

Εικόνα 7.1 Ο ρομποτικός βραχίονας και ο χώρος εργασίας του.

Για παράδειγμα, η κίνηση ενός τροχού σε ένα επίπεδο 𝑥𝑦 (Σχήμα 1.1) μπορεί να αναπαρασταθεί με τρεις
παραμέτρους: 𝑥, 𝑦 και 𝜃, όπου (𝑥, 𝑦) υποδεικνύει τη θέση στην οποία ο τροχός αγγίζει το έδαφος και 𝜃 δείχνει
την κατεύθυνση του τροχού στο γενικό πλαίσιο. Αυτό το σύνολο παραμέτρων (𝑥, 𝑦, 𝜃) που καθορίζουν τη
διαμόρφωση του τροχού είναι γενικευμένες συντεταγμένες για αυτό το σύστημα. Πρέπει να σημειωθεί ότι, στην
πράξη, οι επιστήμονες χρησιμοποιούν συχνά τους όρους «διαμόρφωση» και «γενικευμένες συντεταγμένες»

Ηλίας Ξυδιάς 194


εναλλάξ, παρόλο που η συγκεκριμένη επιλογή γενικευμένων συντεταγμένων δεν είναι απαραίτητα η μόνη
δυνατή αναπαράσταση της διαμόρφωσης για ένα ρομπότ.
̃ ∈ ℝ𝑛 , στο οποίο 𝑛 είναι ο
Οι γενικευμένες συντεταγμένες εκφράζονται μαθηματικά από το διάνυσμα 𝜸
αριθμός των συντεταγμένων που χρησιμοποιούνται για την περιγραφή της διαμόρφωσης του ρομπότ. Η τροχιά
ενός ρομπότ εκφράζεται από τη συνάρτηση,
𝛾 (𝜏): ℝ → ℝ𝑛 (7.1)
στην οποία 𝜏 είναι ο χρόνος. Στην περίπτωση του παραδείγματος της Εικόνας 7.1, το γενικευμένο διάνυσμα
ορίζεται ως εξής:
̃ = [𝑥, 𝑦, 𝜃]𝛵
𝜸 (7.2)

7.2 Κινηματικοί Περιορισμοί


Μόλις αναγνωριστεί ένα σύνολο γενικευμένων συντεταγμένων 𝜸 ̃, μπορούν να χρησιμοποιηθούν για τον
μαθηματικό καθορισμό των κινηματικών περιορισμών που καθορίζουν την κίνηση ενός ρομπότ. Αρχικά θα
παρουσιαστεί ένας πιο επίσημος ορισμός των γενικών κινηματικών περιορισμών:
Ορισμός 7.4: Ας υποθέσουμε ότι οι γενικευμένες συντεταγμένες ενός ρομπότ ορίζονται ως εξής 𝛄̃ = [γ1 , … , γn ]Τ .
Οι περιορισμοί που εξαρτώνται από αυτές τις γενικευμένες συντεταγμένες, καθώς επίσης και από τις ταχύτητές
τους, ονομάζονται κινηματικοί περιορισμοί και εκφράζονται ως εξής,
𝑎𝑖 (𝜸
̃, 𝜸̇ ) = 0, 𝑖 = 1, … , 𝑘 < 𝑛 (7.3)
̃
𝑑𝜸
όπου 𝜸̇ = είναι το διάνυσμα των ταχυτήτων.
𝑑𝜏
Οι κινηματικοί περιορισμοί σε εφαρμογές ρομποτικής είναι συχνά γραμμικοί σε σχέση με τις γενικευμένες
ταχύτητες. Οι περιορισμοί αυτού του είδους αναφέρονται ως περιορισμοί Pfaffian 0 και εκφράζονται ως εξής,
𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = 0, 𝑖 = 1, … , 𝑘 < 𝑛 (7.4)
̃) ∈ ℝ𝑛 . Οι περιορισμοί που εκφράζονται από την εξίσωση 7.4 μπορούν για λόγους απλότητας να
όπου 𝑎𝑖 (𝜸
εκφραστούν με τη βοήθεια μήτρας, ως εξής,
𝛢𝛵 (𝜸
̃)𝜸̇ = 0 (7.5)
όπου 𝛢(𝜸 ̃)𝜖ℝ𝑛×𝑘 .
Στην Εικόνα 7.2 παρουσιάζεται ένα παράδειγμα στο οποίο ένα εκκρεμές υποτίθεται ότι περιστρέφεται
γύρω από ένα σταθερό σημείο. Έστω ότι η θέση του σώματος δίνεται από τις καρτεσιανές συντεταγμένες (𝑥, 𝑦),
οι οποίες μπορούν να χρησιμοποιηθούν ως γενικευμένες συντεταγμένες για αυτό το σύστημα (δηλαδή 𝜸 ̃=
𝛵
[𝑥, 𝑦] ). Εφόσον η ράβδος που συνδέει το σημείο περιστροφής με τo σώμα θεωρείται άκαμπτη, αυτό
συνεπάγεται έναν κινηματικό περιορισμό.

Εικόνα 7.2 Οι γενικευμένες συντεταγμένες του εκκρεμούς.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 195
Υποθέτοντας ότι το σημείο περιστροφής βρίσκεται στην αρχή (0, 0), αυτός ο περιορισμός μπορεί να εκφραστεί
ως εξής,
̃) = 𝑥 2 + 𝑦 2 − 𝐿2 = 0
𝑎1 (𝜸 (7.6)
όπου 𝐿 είναι το μήκος της ράβδου του εκκρεμούς. Πρέπει να σημειωθεί ότι, ενώ η εξίσωση 7.6 δεν φαίνεται
να είναι περιορισμός Pfaffian, μπορεί να εκφραστεί ως τέτοιος. Ειδικότερα, η παράγωγος της έκφρασης σε
σχέση με τον χρόνο, η οποία αποδίδει τον περιορισμό Pfaffian είναι:
𝑑𝑎1 (𝜸
̃) (7.7)
= 2𝑥𝑥̇ + 2𝑦𝑦̇ = 0
𝑑𝜏

Στη συγκεκριμένη περίπτωση θα ήταν απλώς μια πιο φυσική επιλογή συντεταγμένων η 𝜸
̃ = [𝜃], το οποίο
επίσης καθορίζει πλήρως τη διαμόρφωση του συστήματος και εξαλείφει την ανάγκη επιβολής πρόσθετων
κινηματικών περιορισμών. Πράγματι, εφόσον 𝑥 = 𝐿𝜂𝜇𝜃 και 𝑥 = −𝐿𝜎𝜐𝜈𝜃, ο παραπάνω κινηματικός
περιορισμός ικανοποιείται για όλες τις γωνίες 𝜃.

7.3 Ολονομικοί και Μη-Ολονομικοί Περιορισμοί


Σε αυτήν την ενότητα θα ταξινομηθούν περαιτέρω οι διάφοροι τύποι κινηματικών περιορισμών, με βάση τον
τρόπο με τον οποίο περιορίζουν την κίνηση του ρομποτικού συστήματος. Ειδικότερα, θα αναφερθούμε στους
ολονομικούς και μη-ολονομικούς περιορισμούς.

7.3.1 Ολονομικοί Περιορισμοί


Οι Ολονομικοί περιορισμοί είναι κινηματικοί περιορισμοί που μπορούν να εκφραστούν ως συνάρτηση μόνο
των γενικευμένων συντεταγμένων (χωρίς εξάρτηση από γενικευμένες ταχύτητες). Σε εφαρμογές της
ρομποτικής, οι Ολονομικοί περιορισμοί προκύπτουν γενικά λόγω μηχανικών διασυνδέσεων, όπως οι άκαμπτοι
σύνδεσμοι και οι αρθρώσεις ενός ρομποτικού βραχίονα.
Ορισμός 7.5: Ολονομικοί περιορισμοί καλούνται οι περιορισμοί οι οποίοι να εκφραστούν με την ακόλουθη
μορφή,
ℎ 𝑖 (𝜸
̃) = 0, 𝑖 = 1, … , 𝑘 < 𝑛 (7.8)
Αντίστοιχα, ένα ολονομικό σύστημα είναι ένα σύστημα που υπόκειται μόνο σε ολονομικούς περιορισμούς.
Αυτοί οι περιορισμοί μπορούν πάντα να εκφραστούν και/εξίσου ως Pfaffian περιορισμοί, δηλαδή:

𝑑ℎ𝑖 (𝜸
̃) (7.9)
= 𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = 0, 𝑖 = 1, … , 𝑘 < 𝑛
𝑑𝜏
Ωστόσο, είναι σημαντικό να σημειωθεί ότι δεν είναι όλοι οι περιορισμοί Pfaffian ολονομικοί. Ένας περιορισμός
Pfaffian είναι ολονομικός μόνο εάν μπορεί να αποδοθεί όπως στη μορφή 7.5.
Οι ολονομικοί περιορισμοί είναι μια μοναδική υποκατηγορία κινηματικών περιορισμών που περιορίζουν
τις εφικτές διαμορφώσεις του ρομποτικού συστήματος. Μάλιστα, ο χώρος των εφικτών διαμορφώσεων για ένα
σύστημα με 𝑛 γενικευμένες συντεταγμένες κάτω από 𝑘 ολονομικούς περιορισμούς θα έχει διάσταση 𝑛 − 𝑘.
Για παράδειγμα, ας υποθέσουμε το εκκρεμές της εικόνας 7.2, στο οποίο οι κινηματικοί περιορισμοί που
εκφράζονται στην εξίσωση 7.6 μπορούν να εκφραστούν ως ℎ𝑖 (𝜸 ̃) = 0. Αυτός ο περιορισμός περιορίζει το σώμα
που βρίσκεται στο εκκρεμές να κινείται σε έναν κύκλο ακτίνας 𝐿, ο οποίος είναι ένα μονοδιάστατο υποσύνολο,
διότι 𝑛 − 𝑘 = 2 − 1 = 1.
Στο παράδειγμα του τροχού της εικόνας 7.1 οι περιορισμοί που το διέπουν κατά την κίνησή του δεν
μπορούν να ενσωματωθούν για να δώσουν έναν περιορισμό της μορφής ℎ𝑖 (𝜸 ̃) = 0. Σε αντίθεση με το εκκρεμές,
αυτό το σύστημα δεν έχει περιορισμό, καθώς μπορεί να μετακινηθεί σε οποιοδήποτε σημείο (𝑥, 𝑦) του
επιπέδου.

Ηλίας Ξυδιάς 196


7.3.2 Μη-Ολονομικοί Περιορισμοί
Ενώ οι ολονομικοί περιορισμοί είναι κινηματικοί περιορισμοί που περιορίζουν τις εφικτές διαμορφώσεις του
συστήματος, δεν είναι όλοι οι κινηματικοί περιορισμοί ολονομικοί. Συγκεκριμένα, είναι δυνατό να υπάρχουν
κινηματικοί περιορισμοί που δεν περιορίζουν τις εφικτές διαμορφώσεις, αντιθέτως περιορίζουν την κίνηση
μεταξύ των διαμορφώσεων. Αυτοί οι περιορισμοί αναφέρονται ως μη-ολονομικοί περιορισμοί.
Ορισμός 7.6: Οι περιορισμοί που μπορούν να περιγραφούν σε μορφή Pfaffian, αλλά δεν μπορούν να εκφραστούν
στη μορφή hi (𝛄̃) = 0 ονομάζονται μη-ολονομικοί.
Επιπλέον, ένα μη-ολονομικό σύστημα είναι ένα σύστημα που υπόκειται σε τουλάχιστον έναν μη-ολονομικό
περιορισμό.
Ο περιορισμός της στιγμιαίας κίνησης που προκαλείται από έναν μη-ολονομικό περιορισμό μπορεί να
ερμηνευτεί θεωρώντας την Pfaffian μορφή 𝑎𝑖𝑇 (𝜸 ̃)𝜸̇ = 0. Είναι σαφές ότι για οποιαδήποτε συντεταγμένη 𝜸̃,
αυτός ο περιορισμός περιορίζει την κίνηση 𝜸̇ να βρίσκεται στο κενό διάστημα του 𝑎𝑖𝑇 (𝜸
̃ ).
Για παράδειγμα, ας υποθέσουμε τον τροχό της εικόνας 7.1, ο οποίος έχει τον μη-ολονομικό περιορισμό
𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = [𝜂𝜇𝜃 −𝜎𝜐𝜈𝜃 0]𝜸̇ = 0 (7.10)
Ο κενός χώρος του 𝑎𝑖𝑇 (𝜸
̃) σε αυτήν την περίπτωση ορίζεται από τα διανύσματα [𝜎𝜐𝜈𝜃 𝜂𝜇𝜃 0] και [0 0 1]
και υποδηλώνει ότι οποιαδήποτε δυναμική κίνηση πρέπει να αποτελείται από έναν γραμμικό συνδυασμό αυτών
των διανυσμάτων. Διαισθητικά αυτό θα ήταν αναμενόμενο, γιατί [𝜎𝜐𝜈𝜃 𝜂𝜇𝜃 0] είναι το μοναδιαίο
διάνυσμα προς την κατεύθυνση της κύλισης και το [0, : 0, 1], που αντιστοιχεί στην περιστροφή του τροχού
αλλά όχι στην κύλισή του.

7.4 Κινηματικά Μοντέλα


Μόλις ένα κατάλληλο σύνολο γενικευμένων συντεταγμένων 𝜸 ̃ ∈ ℝ𝑛 και όλοι οι σχετικοί κινηματικοί
περιορισμοί έχουν εντοπιστεί για ένα ρομποτικό σύστημα, το επόμενο βήμα είναι η ανάπτυξη του κινηματικού
μοντέλου. Αυτά τα κινηματικά μοντέλα θα αποτελούνται από ένα σύνολο διαφορικών εξισώσεων της μορφής
𝜸̇ (𝜏) = 𝑮(𝜸̃(𝜏))𝒖(𝜏), όπου το 𝒖(𝜏) αναφέρεται ως είσοδος ή έλεγχος συστήματος. Με δεδομένη μια
συγκεκριμένη είσοδο 𝒖(𝜏) και μια αρχική συνθήκη 𝜸 ̃(0), αυτό το μοντέλο θα καθορίσει μια τροχιά του
συστήματος.
Ορισμός 7.7: Με δεδομένο ένα γενικευμένο διάνυσμα συντεταγμένων 𝛄̃ ∈ ℝn και k Pfaffian κινηματικούς
περιορισμούς ΑΤ (𝛄̃)𝛄̇ = 0, ένα κινηματικό μοντέλο μπορεί να οριστεί ως 𝛄̇ (τ) = 𝐆(𝛄̃(τ))𝐮(τ), του οποίου ο
χώρος στηλών 𝐆(𝛄̃(τ)) ∈ ℝn×n−k εκτείνεται στο κενό σύνολο του ΑΤ (𝛄̃). Επιπλέον, για οποιαδήποτε είσοδο
𝐮(τ), οι λύσεις του κινηματικού μοντέλου ικανοποιούν τους περιορισμούς Pfaffian.
Ας θεωρήσουμε 𝑘 Pfaffian περιορισμούς γραμμένους σε μορφή πίνακα ως 𝛢𝛵 (𝜸 ̃)𝜸̇ = 0 (που μπορεί να
είναι ένας συνδυασμός ολονομικών και μη ολονομικών περιορισμών). Όπως σημειώθηκε προηγουμένως, αυτοί
οι περιορισμοί υπονοούν ότι μια γενικευμένη ταχύτητα 𝜸̇ είναι αποδεκτή μόνο σε μια διαμόρφωση 𝛾, εάν
βρίσκεται στον κενό χώρο διάστασης 𝑛 − 𝑘 του πίνακα 𝛢𝛵 (𝜸 ̃). Ένας νέος πίνακας, 𝑮(𝜸 ̃) ∈ ℝ𝑛×𝑛−𝑘 μπορεί,
̃) να εκτείνονται στον κενό χώρο του 𝛢𝛵 (𝜸
επομένως, να οριστεί έτσι, ώστε οι στήλες του 𝑮(𝜸 ̃). Με άλλα λόγια,
𝛵 (̃)
για κάθε στήλη 𝑔𝑖 του 𝑮 ισχύει ότι 𝛢 𝜸 𝑔𝑖 = 0. Για να διασφαλιστεί ότι η γενικευμένη ταχύτητα 𝜸̇ ικανοποιεί
τους κινηματικούς περιορισμούς, αρκεί επομένως να απαιτηθεί ότι 𝜸̇ = 𝑮(𝜸 ̃)𝒖 όπου 𝒖 ∈ ℝ𝑛−𝑘 μπορεί να είναι
οποιοδήποτε διάνυσμα. Για να δείξετε γιατί αυτό ισχύει, θεωρήστε οποιοδήποτε διάνυσμα 𝒖 και γράψτε 𝜸̇ =
𝑮 (𝜸̃)𝒖 = ∑𝑛−𝑘 ̃)𝑢𝑖 . Όταν αυτό αντικαθίσταται στους περιορισμούς Pfaffian, η έκφραση παίρνει την
𝑖=𝟏 𝑔𝑖 (𝜸
ακόλουθη μορφή,
𝑛−𝑘
(7.11)
𝛵 (̃ ) 𝛵 (̃ ) ̃)𝑢𝑖 = 0
𝛢 𝜸 𝜸̇ = 𝛢 𝜸 ∑ 𝑔𝑖 (𝜸
𝑖=𝟏
που δείχνει ότι ικανοποιούνται οι κινηματικοί περιορισμοί.
Για παράδειγμα, ας υποθέσουμε τον τροχό που απεικονίζεται στην εικόνα 7.1, ο οποίος, όπως αναφέραμε
και στην προηγούμενη ενότητα, έχει ένα μη-ολονομικό περιορισμό:

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 197
𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = [𝜂𝜇𝜃 −𝜎𝜐𝜈𝜃 0]𝜸̇ = 0 (7.12)

Ο κενός χώρος 𝑎𝑖𝑇 (𝜸


̃) ορίζεται από τα διανύσματα [𝜎𝜐𝜈𝜃 𝜂𝜇𝜃 0] και [0 0 1] και, για αυτόν τον λόγο, το
κινηματικό μοντέλο δίνεται από την ισότητα:
𝑥 𝜎𝜐𝜈𝜃 0 𝑢
1 (7.13)
[𝑦] = [ 𝜂𝜇𝜃 0] [𝑢 ]
2
𝜃 0 1
Πρέπει να σημειωθεί ότι σε πολλές περιπτώσεις οι είσοδοι ελέγχου 𝑢1 και 𝑢2 έχουν επίσης μια φυσική σημασία.
Σε αυτό το πρόβλημα 𝑢1 είναι η ταχύτητα με την οποία κινείται ο τροχός και 𝑢2 είναι η γωνιακή ταχύτητα.

7.5 Κινηματικά Μοντέλα Ρομποτικών Συστημάτων με Τροχούς


Όπως έχει αναφερθεί και στα προηγούμενα κεφάλαια, ένα ρομποτικό σύστημα, ανάλογα τις απαιτήσεις του
χώρου εργασίας, «παίρνει» το αντίστοιχο σχήμα, μέγεθος και διαμορφώσεις και, επιπλέον, έχει ποικίλες μορφές
κινητικότητας. Ωστόσο, τα τροχοφόρα ρομποτικά συστήματα είναι ίσως τα πιο ευρέως χρησιμοποιούμενα,
λόγω της υψηλής κινητικότητας και του απλού σχεδιασμού τους. Για τον λόγο αυτό, θα δοθούν σε αυτήν την
ενότητα κάποια από τα τυπικά κινηματικά μοντέλα, για διαφορετικές διαμορφώσεις ρομποτικών συστημάτων
με τροχούς.

7.5.1 Το Μονοκύκλιο Μοντέλο (Unicycle model)


Το μονοκύκλιο μοντέλο ενός ρομποτικού συστήματος είναι το απλούστερο κινηματικό μοντέλο και υποθέτει
ότι το ρομποτικό σύστημα έχει έναν μόνο τροχό για να κινείται στον χώρο εργασίας του. Στην περίπτωση αυτή,
οι κινητικοί περιορισμοί είναι ακριβώς οι ίδιοι με την κύλιση του τροχού σε ένα επίπεδο, όπως συζητήθηκε
προηγουμένως στο παράδειγμα της Εικόνας 7.1. Ένα απλοποιημένο διάγραμμα που δείχνει τις γενικευμένες
συντεταγμένες αυτού του μοντέλου δίνεται στην Εικόνα 7.3, ενώ το κινηματικό μοντέλο είναι το εξής,
𝑥 𝜎𝜐𝜈𝜃 0 𝑢 (7.14)
𝑦
[ ] = [ 𝜂𝜇𝜃 0] [ ]
𝜔
𝜃 0 1
στο οποίο 𝑢 είναι η γραμμική ταχύτητα και 𝜔 είναι η γωνιακή ταχύτητα.
Το πλεονέκτημα του μονοκύκλιου μοντέλου έγκειται στην απλότητά του και στην ικανότητά του να
συλλαμβάνει μια από τις πιο θεμελιώδεις συμπεριφορές των τροχοφόρων ρομπότ. Ένα τέτοιο μοντέλο μπορεί
να είναι κατάλληλο για εργασίες σχεδιασμού κίνησης υψηλότερου επιπέδου, όπως ο σχεδιασμός γεωμετρικών
διαδρομών για τη μεταφορά ενός ρομπότ από ένα αρχικό σημείο σε ένα τελικό σημείο. Συχνά, ένα τέτοιο
μοντέλο μπορεί να συμπληρώνεται από μοντέλα υψηλότερης πιστότητας (π.χ. μοντέλα δυναμικής) για απόδοση
εργασιών χαμηλότερου επιπέδου, όπως ο έλεγχος ή η βελτίωση σχεδίων κίνησης που δημιουργούνται από το
μοντέλο του μονοκυκλίου.

Εικόνα 7.3 Οι γενικευμένες συντεταγμένες του μονοκύκλιου μοντέλου.

Ηλίας Ξυδιάς 198


7.5.2 Το Μοντέλο Διαφορικής Μετάδοσης Κίνησης
Το μοντέλο διαφορικής μετάδοσης κίνησης είναι μια μικρή παραλλαγή του μονοκύκλιου μοντέλου, χωρίς να
συγκεντρώνει όλους τους τροχούς μαζί. Αντίθετα, αυτό το μοντέλο υποθέτει ότι δύο τροχοί είναι στερεωμένοι
σε έναν οπίσθιο κοινό άξονα, με έναν παθητικό τροχό που δεν προκαλεί κινηματικούς περιορισμούς στο
μπροστινό μέρος. Όπως φαίνεται στην Εικόνα 7.4, αυτό το μοντέλο έχει τις ίδιες γενικευμένες συντεταγμένες
με αυτές του μονοκύκλιου μοντέλου, αλλά περιλαμβάνει επίσης και τη γεωμετρία του ρομποτικού συστήματος,
υποθέτοντας ότι το μήκος του πίσω άξονα συμβολίζεται με 𝐿.

Εικόνα 7.4 Οι γενικευμένες συντεταγμένες του μοντέλου διαφορικής μετάδοσης κίνησης.

Όπως και στο μοντέλο του μονoκυκλίου, και σε αυτό το μοντέλο υποθέτουμε ότι οι τροχοί κυλούν χωρίς να
γλιστρούν. Η εξαγωγή των κινηματικών περιορισμών γίνεται με παρόμοιο τρόπο όπως και με το παράδειγμα
του τροχού που απεικονίζεται στην Εικόνα 7.2. Πιο συγκεκριμένα, η κατεύθυνση κάθε τροχού δίνεται πάντα
από 𝑤 = [𝜎𝜐𝜈𝜃 𝜂𝜇𝜃 ]𝛵 , η πλευρική κατεύθυνση δίνεται από 𝑙 = [𝜂𝜇𝜃 −𝜎𝜐𝜈𝜃 ]𝛵 κι έτσι οι δύο κινηματικοί
περιορισμοί χωρίς ολίσθηση μπορούν να εκφραστούν ως εξής,
𝒑̇ 𝛿 𝑤 = 0 και 𝒑̇ 𝛼 𝑙 = 0 (7.15)
όπου 𝒑̇ 𝛿 και 𝒑𝛼 είναι η ταχύτητα του δεξιού και του αριστερού τροχού, αντιστοίχως. Το επόμενο βήμα είναι
να προσδιοριστεί πώς θα εκφραστούν οι ταχύτητες 𝒑̇ 𝛿 και 𝒑̇ 𝛼 ως συναρτήσεις των γενικευμένων
συντεταγμένων και των γενικευμένων ταχυτήτων. Από τη γεωμετρία του ρομποτικού συστήματος μπορούμε
να εξάγουμε τα εξής,
𝑝𝛿 𝑥 − 0,5 ∗ 𝐿𝜂𝜇𝜃 𝑦 + 0,5 ∗ 𝐿𝜎𝜐𝜈𝜃 (7.16)
[𝑝 ] = [ ]
𝛼 𝑥 + 0,5 ∗ 𝐿𝜂𝜇𝜃 𝑦 − 0,5 ∗ 𝐿𝜎𝜐𝜈𝜃
όπου 𝑝𝛿 και 𝑝𝛼 είναι η θέση του δεξιού και του αριστερού τροχού, αντιστοίχως. Παραγωγίζοντας τις θέσεις
των 2 τροχών ως προς τον χρόνο 𝜏 προκύπτει ότι:
𝒑̇ 𝑥̇ − 𝜃̇ ∗ 0,5 ∗ 𝐿 ∗ 𝜎𝜐𝜈𝜃 𝑦̇ − 𝜃̇ ∗ 0,5 ∗ 𝐿 ∗ 𝜂𝜇𝜃 (7.17)
[ 𝛿] = [ ]
𝒑̇ 𝛼 𝑥̇ + 𝜃̇ ∗ 0,5 ∗ 𝐿 ∗ 𝜎𝜐𝜈𝜃 𝑦̇ + 𝜃̇ ∗ 0,5 ∗ 𝐿 ∗ 𝜂𝜇𝜃
Αποδεικνύεται ότι μετά από τους κατάλληλους χειρισμούς των παραπάνω σχέσεων οι κινηματικοί περιορισμοί
χωρίς ολίσθηση παίρνουν την ακόλουθη μορφή,
𝒑̇ 𝛿 𝑤 = 𝒑̇ 𝛼 𝑤 = 𝑥̇ 𝜂𝜇𝜃 − 𝑦̇ 𝜎𝜐𝜈𝜃 = 0 (7.18)
πράγμα που σημαίνει ότι ο κινηματικός περιορισμός απαγόρευσης της ολίσθησης και στους δύο τροχούς είναι
πραγματικά περιττός! Αυτό έχει επίσης διαισθητικό νόημα, επειδή οι τροχοί είναι άκαμπτα συνδεδεμένοι
μεταξύ τους, επομένως εάν ο ένας τροχός δεν μπορεί να κινηθεί πλευρικά, τότε ο άλλος δεν πρέπει να μπορεί

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 199
να κινηθεί. Επιπρόσθετα, σημειώνεται ότι αυτός ο μη ολονομικός περιορισμός είναι πανομοιότυπος με αυτόν
του μονοκυκλίου κι έτσι το κινηματικό μοντέλο είναι επίσης πανομοιότυπο με αυτόν της Σχέσης 7.10. Ωστόσο,
η διαφορά είναι ότι οι είσοδοι ελέγχου μπορούν τώρα να εκφραστούν με μια πιο ρεαλιστική μορφή σε σχέση
με την πραγματική γεωμετρία του ρομποτικού συστήματος.
Ειδικότερα, αντί οι είσοδοι να είναι η γραμμική ταχύτητα 𝑢 και η γωνιακή ταχύτητα 𝑤, όπως και στην
ισότητα (7.10), οι είσοδοι θα επιλεγούν ως οι ρυθμοί περιστροφής του αριστερού και του δεξιού τροχού, 𝑤𝛿
και 𝑤𝛼 . Μια σχέση μεταξύ αυτών των συνόλων εισόδων μπορεί να προκύψει με τη χρησιμοποίηση της
γεωμετρίας του ρομποτικού συστήματος και της υπόθεσης ότι οι τροχοί δεν ολισθαίνουν. Συγκεκριμένα,
δεδομένου ότι η θέση 𝑝 = [𝑥 𝑦] μπορεί να γραφεί ως 𝑝 = 0.5 ∗ ( 𝑝𝛿 + 𝑝𝑎 ), ενώ το διάνυσμα της ταχύτητας
γράφεται ως 𝑝̇ = 0.5 ∗ ( 𝑝̇𝛿 + 𝑝̇𝑎 ), η ταχύτητα του τροχού χωρίς ολίσθηση μπορεί να εκφραστεί ως εξής,
𝑢 = 𝑤𝑝̇ (7.19)
= 𝑤 ∗ 0.5 ∗ ( 𝑝̇𝛿 + 𝑝̇𝑎 )
= 0.5 ∗ ( 𝑢𝛿 + 𝑢𝑎 )
= 𝜌 ∗ 0.5 ∗ (𝜔𝛿 + 𝜔𝑎 )

όπου 𝜌 είναι η ακτίνα του τροχού και 𝑢𝛿 , 𝑢𝑎 είναι η ταχύτητα του δεξιού και αριστερού τροχού.
Επιπλέον, η συνθήκη ότι οι τροχοί δεν ολισθαίνουν μπορεί να εκφραστεί ως εξής:
𝑢𝛼 = 𝑤𝑝̇𝛼 (7.20)
= 𝑥̇ ∗ 𝜎𝜐𝜈𝜃 + 𝑦̇ ∗ 𝜂𝜇𝜃 − 𝜃̇ ∗ 0,5 ∗ 𝐿

𝑢𝛿 = 𝑤𝑝̇𝛿 (7.21)
= 𝑥̇ ∗ 𝜎𝜐𝜈𝜃 + 𝑦̇ ∗ 𝜂𝜇𝜃 + 𝜃̇ ∗ 0,5 ∗ 𝐿
Συνδυάζοντας τις παραπάνω σχέσεις προκύπτει ότι:
𝜃̇ ∗ 𝐿 = 𝑢𝛿 − 𝑢𝛼 (7.22)
= 𝜌 ∗ (𝜔𝛿 − 𝜔𝛼 )
Συνοπτικά, δίνεται μια αντιστοίχιση ένα προς ένα μεταξύ των εισόδων:
𝑢 = 0.5 ∗ 𝜌 ∗ (𝜔𝛿 + 𝜔𝛼 ) (7.23)
𝜌
𝜔= ∗ (𝜔𝛿 − 𝜔𝛼 ) (7.24)
𝐿
Τέλος, το κινηματικό μοντέλο διαφορικής μετάδοσης κίνησης δίνεται από:
𝜌 𝜌
∗ 𝜎𝜐𝜈𝜃 ∗ 𝜎𝜐𝜈𝜃 (7.25)
𝑥̇ 2 2
𝜌 𝜌 𝜔𝛿
[𝑦̇ ] = ∗ 𝜂𝜇𝜃 ∗ 𝜂𝜇𝜃 [𝜔 ]
2 2 𝛼
𝜃̇ 𝜌 𝜌
[ −
𝐿 𝐿 ]

Συνολικά, η πολυπλοκότητα αυτού του μοντέλου σε σχέση με το μοντέλο του μονοκυκλίου δεν έχει αυξηθεί.
Ωστόσο, αξιοποιώντας τη γεωμετρία του ρομποτικού συστήματος, οι είσοδοι σε αυτό το μοντέλο μπορεί να
είναι πιο εύχρηστες για εργασίες σχεδιασμού και ελέγχου κίνησης, καθώς ο πραγματικός μηχανισμός ελέγχου
είναι γενικά ένας κινητήρας συνδεδεμένος στους άξονες των τροχών.

7.6 Δυναμικά Μοντέλα


Όπως συζητήθηκε στην εισαγωγή, τα κινηματικά μοντέλα κινητών ρομπότ είναι χρήσιμα για την περιγραφή
της θεμελιώδους φυσικής συμπεριφοράς με απλό τρόπο, αλλά δεν αποτυπώνουν πλήρως όλες τις επιρροές του
πραγματικού κόσμου στην κίνηση του ρομπότ. Το μονόκυκλο και τα μοντέλα διαφορικής κίνησης είναι
παραδείγματα κινηματικών μοντέλων που είναι προσεγγίσεις της πραγματικής συμπεριφοράς του συστήματος.
Και οι δύο κάνουν την υπόθεση μη ολισθηρότητας του τροχού, η οποία οδηγεί άμεσα στους κινηματικούς
περιορισμούς. Επιπλέον, η επιλογή των εισόδων για τα κινηματικά μοντέλα αγνοεί άλλες σημαντικές δυναμικές

Ηλίας Ξυδιάς 200


του ρομπότ. Στο μοντέλο μονοκύκλου θεωρείται ότι η ταχύτητα είναι η είσοδος, αλλά στην πράξη η άμεση
εντολή μιας επιθυμητής ταχύτητας δεν είναι πάντα απλή, καθώς το ποσό της δύναμης που απαιτείται για την
αλλαγή των ταχυτήτων ποικίλλει ανάλογα με τη μάζα του ρομπότ. Στο μοντέλο διαφορικής μετάδοσης κίνησης,
οι είσοδοι είναι οι ρυθμοί περιστροφής των τροχών, αλλά και πάλι στην πράξη η ποσότητα της ροπής εξόδου,
που απαιτείται από τον κινητήρα για να αλλάξει τον ρυθμό περιστροφής, μπορεί να ποικίλλει, ανάλογα με τη
μάζα του ρομπότ, καθώς και με άλλες δυναμικές του κινητήρα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 201
Βιβλιογραφία/Αναφορές

[1] Siegwart, R., & Nourbakhsh, I. R. (2004). Introduction to Autonomous Mobile Robots. MIT Press.
[2] Choset, H.M. (2005). Principles of Robot Motion: Theory, Algorithms, and Implementation. The MIT Press.

Ηλίας Ξυδιάς 202


Κεφάλαιο 8ο
Σχεδιασμός Κίνησης με Αισθητήρες

Σύνοψη
Μέχρι τώρα έχει θεωρηθεί ότι το ρομπότ έχει πλήρη εικόνα του χώρου εργασίας και της θέσης του. Τι γίνεται στην
περίπτωση που δεν είναι γνωστά; Σε αυτήν την περίπτωση, οι πληροφορίες σχετικά με τη θέση του ή τη θέση/μορφή
των αντικειμένων λαμβάνονται από αισθητήρες. Το να μην έχει το ρομπότ την πλήρη εικόνα συμβαίνει σε πολλές
εφαρμογές που περιλαμβάνουν αλληλεπίδραση με τον φυσικό κόσμο. Για παράδειγμα, στη ρομποτική είναι σχεδόν
αδύνατο για ένα ρομπότ να γνωρίζει με ακρίβεια την κατάστασή του, εκτός από μερικές περιορισμένες
περιπτώσεις. Τι πρέπει να γίνει εάν υπάρχουν περιορισμένες πληροφορίες σχετικά με την κατάστασή του; Μια
κλασική προσέγγιση είναι να πάρουμε όλες τις διαθέσιμες πληροφορίες και να προσπαθήσουμε να κάνουμε μια
εκτίμηση. Εάν οι εκτιμήσεις είναι αρκετά αξιόπιστες, τότε μπορούμε να προσποιούμαστε με ασφάλεια ότι δεν
υπάρχει αβεβαιότητα στις πληροφορίες της κατάστασης. Αυτό επιτρέπει πολλές από τις μεθόδους σχεδιασμού
κίνησης που έχουν αναφερθεί να εφαρμοστούν, με λίγες ή και με καμία προσαρμογή.

Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.

Εισαγωγή
Στην περίπτωση που δεν είναι γνωστή η τρέχουσα κατάσταση του ρομποτικού συστήματος, οι απαιτούμενες
πληροφορίες λαμβάνονται από αισθητήρες που φέρει το ρομποτικό σύστημα. Το δεδομένο ότι το ρομποτικό
σύστημα έχει αισθητήρες, εμφανίζεται στις περισσότερες εφαρμογές που περιλαμβάνουν αλληλεπίδραση με
τον φυσικό κόσμο. Στη ρομποτική είναι σχεδόν αδύνατο για ένα ρομπότ να γνωρίζει με ακρίβεια την κατάστασή
του, εκτός από ορισμένες περιορισμένες περιπτώσεις, επί παραδείγματι στην περίπτωση ενός ρομποτικού
βραχίονα που «εργάζεται» σε ένα βιομηχανικό περιβάλλον. Όταν υπάρχουν περιορισμένες πληροφορίες, μια
κλασική προσέγγιση είναι η λήψη όλων των διαθέσιμων πληροφοριών και η προσπάθεια εκτίμησης της
κατάστασης.
Η πιο ενδιαφέρουσα περίπτωση εμφανίζεται όταν αποφεύγεται τελείως η εκτίμηση κατάστασης –
διαμόρφωσης του ρομποτικού συστήματος. Μπορεί να προκαλεί έκπληξη, αλλά πολλές σημαντικές εργασίες
μπορούν να οριστούν και να επιλυθούν χωρίς να απαιτείται η «αίσθηση» συγκεκριμένων διαμορφώσεων,
παρόλο που έχει οριστεί ένας χώρος διαμορφώσεων για το πρόβλημα σχεδιασμού κίνησης. Για να επιτευχθεί
αυτό, το πρόβλημα σχεδιασμού κίνησης θα εκφραστεί με όρους ενός χώρου πληροφοριών. Οι χώροι
πληροφοριών εξυπηρετούν τον ίδιο σκοπό την ανίχνευση προβλημάτων, όπως ο χώρος διαμορφώσεων που
παρουσιάστηκε στα προηγούμενα κεφάλαια για προβλήματα που περιλαμβάνουν γεωμετρικούς
μετασχηματισμούς. Κάθε χώρος πληροφοριών αντιπροσωπεύει το μέρος όπου «ζει» φυσικά ένα πρόβλημα, που
περιλαμβάνει την αίσθηση της αβεβαιότητας. Η επιτυχής διατύπωση και επίλυση τέτοιων προβλημάτων
εξαρτάται από την ικανότητά μας να χειριζόμαστε, να απλοποιούμε και να ελέγχουμε τον χώρο των
πληροφοριών. Σε ορισμένες περιπτώσεις, υπάρχουν κομψές λύσεις. Είναι πολλά τα συναρπαστικά προβλήματα
ανοιχτής έρευνας που εστιάζονται στην ανάκτηση πληροφοριών και την αίσθηση της αβεβαιότητας.
Ας θεωρήσουμε την κατάσταση που απεικονίζεται στην Εικόνα 8.1, κατά την οποία υποτίθεται ότι η
διαμόρφωση του χώρου εργασίας δεν είναι γνωστή. Υπάρχουν τρεις γενικές πηγές πληροφοριών σχετικά με τη
διαμόρφωση (τη θέση και τον προσανατολισμό):
• Οι αρχικές συνθήκες μπορούν να παρέχουν ισχυρές πληροφορίες πριν από την εφαρμογή
οποιασδήποτε ενέργειας. Ίσως να δίνεται η αρχική διαμόρφωση. Στο άλλο άκρο, οι αρχικές
συνθήκες μπορεί να μην περιέχουν πληροφορίες.
• Οι παρατηρήσεις του αισθητήρα παρέχουν μετρήσεις που σχετίζονται με την κατάσταση κατά
την εκτέλεση. Αυτές οι μετρήσεις είναι συνήθως ατελείς ή περιλαμβάνουν διαταραχές που
παραμορφώνουν τις τιμές τους.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 203
• Οι ενέργειες που έχουν ήδη εκτελεστεί στο σχέδιο παρέχουν πολύτιμες πληροφορίες σχετικά με
το κράτος. Για παράδειγμα, εάν ένα ρομπότ λάβει εντολή να κινηθεί ανατολικά (χωρίς άλλες
αβεβαιότητες εκτός από μια άγνωστη κατάσταση), τότε αναμένεται ότι η κατάσταση είναι πιο
ανατολικά από ό,τι ήταν προηγουμένως. Έτσι, οι εφαρμοζόμενες ενέργειες παρέχουν σημαντικές
ενδείξεις για την εξαγωγή πιθανών καταστάσεων.

Εικόνα 8.1 H μηχανή M αλληλεπιδρά με το περιβάλλον E μέσω της αίσθησης και της ενεργοποίησης.

Πρέπει να λάβουμε υπόψη ότι υπάρχουν γενικά δύο τρόποι χρήσης του χώρου πληροφοριών:
1. Να λάβουμε υπόψη όλες τις διαθέσιμες πληροφορίες και να προσπαθήσουμε να υπολογίσουμε τη
διαμόρφωση. Αυτή είναι η κλασική προσέγγιση. Πρέπει να προσποιηθούμε ότι δεν υπάρχει πλέον
καμία αβεβαιότητα στη διαμόρφωση, αλλά πρέπει να αποδείξουμε ότι το σχέδιο που προκύπτει
λειτουργεί με ένα εύλογο σφάλμα εκτίμησης.
2. Να λύσουμε το πρόβλημα εξ ολοκλήρου από την άποψη ενός χώρου πληροφοριών. Πολλές εργασίες
μπορούν να επιτευχθούν χωρίς να γνωρίζουμε ποτέ την ακριβή διαμόρφωση. Οι στόχοι και η ανάλυση
διατυπώνονται στον χώρο της πληροφορίας, χωρίς να χρειάζεται να επιτευχθούν ιδιαίτερες
καταστάσεις. Για πολλά προβλήματα αυτό οδηγεί σε δραματικές απλοποιήσεις.
Η πρώτη προσέγγιση μπορεί να θεωρηθεί κλασική. Το μεγαλύτερο μέρος του κεφαλαίου εστιάζει στη δεύτερη
προσέγγιση, η οποία αντιπροσωπεύει έναν ισχυρό τρόπο έκφρασης και επίλυσης προβλημάτων σχεδιασμού.
Για συντομία, η λέξη «πληροφορίες» θα αντικατασταθεί από "ℐ" (Information). Ως εκ τούτου, ο χώρος
πληροφοριών και οι καταστάσεις πληροφοριών γίνονται ℐ-χώρος και ℐ-καταστάσεις, αντίστοιχα, παρόμοια με
τη συντόμευση των χώρων διαμόρφωσης σε χώρους 𝒞.

8.1 Διακριτοί Χώροι

8.1.1 Αισθητήρες
Οι αισθητήρες έχουν σχεδιαστεί για να αντιλαμβάνονται την κατάσταση και τον χώρο στον οποίο βρίσκεται
ένα ρομποτικό σύστημα. Σε αυτήν την ενότητα θεωρούμε ο χώρος καταστάσεων 𝒳 είναι πεπερασμένος ή
μετρήσιμα άπειρος. Ένας αισθητήρας ορίζεται ως προς δύο στοιχεία:
• τον χώρο παρατήρησης, ο οποίος είναι το σύνολο των πιθανών μετρήσεων για τον αισθητήρα,
και
• την απεικόνιση από τον αισθητήρα, η οποία χαρακτηρίζει τις μετρήσεις που μπορούν να
αναμένονται εάν δοθεί η τρέχουσα κατάσταση ή άλλες πληροφορίες.
Έστω ότι 𝛶 υποδηλώνει έναν χώρο παρατήρησης, που είναι ένα πεπερασμένο ή μετρήσιμα άπειρο σύνολο.
Έστω 𝒽 η απεικόνιση από τον αισθητήρα. Θα εξεταστούν τρία διαφορετικά είδη απεικονίσεων από αισθητήρες,
καθένα από τα οποία είναι πιο περίπλοκο και γενικό από το προηγούμενο:
• Απεικόνιση κατάστασης: Σε αυτήν την περίπτωση, η απεικόνιση 𝒽: 𝒳 → 𝛶 σημαίνει ότι,
δεδομένης της κατάστασης, η παρατήρηση προσδιορίζεται πλήρως.
• Απεικόνιση κατάστασης – φύσης: Σε αυτήν την περίπτωση ορίζεται ένα πεπερασμένο σύνολο
𝛹(𝑥) ενεργειών ανίχνευσης της φύσης για κάθε 𝑥𝜖𝒳. Κάθε δράση ανίχνευσης της φύσης 𝜓𝜖𝛹(𝑥)
παρεμβαίνει στην παρατήρηση του αισθητήρα. Επομένως, η απεικόνιση κατάστασης - φύσης 𝒽
παράγει μια παρατήρηση 𝑦 = 𝒽(𝑥, 𝜓)𝜖𝛹 , για κάθε 𝑥𝜖𝒳 και 𝜓𝜖𝛹(𝑥). Το συγκεκριμένο 𝜓 που

Ηλίας Ξυδιάς 204


επιλέγεται από τη φύση θεωρείται ότι είναι άγνωστο κατά τον σχεδιασμό και την εκτέλεση.
Ωστόσο, προσδιορίζεται ως μέρος του μοντέλου ανίχνευσης.
• Απεικόνιση με βάση το ιστορικό: Σε αυτήν την περίπτωση, η παρατήρηση θα μπορούσε να
βασίζεται στην τρέχουσα κατάσταση ή σε τυχόν προηγούμενες καταστάσεις. Επιπλέον, θα
μπορούσε να εφαρμοστεί μια δράση ανίχνευσης της φύσης. Ας υποθέσουμε ότι το τρέχον στοιχείο
είναι 𝑘. Το σύνολο των ενεργειών που ανιχνεύουν τη φύση συμβολίζεται με 𝛹𝑘 (𝑥) και η
συγκεκριμένη δράση αίσθησης της φύσης είναι 𝜓𝑘 𝜖𝛹𝑘 (𝑥). Αυτό δίνει μια πολύ γενική
απεικόνιση,
𝜓𝑘 = 𝒽𝑘 (𝑥1 , 𝑥2 , … , 𝑥𝑘 , 𝜓𝑘 ) (8.1)
όπου 𝜓𝑘 είναι η παρατήρηση που προκύπτει στο στάδιο 𝑘. Πρέπει να σημειωθεί ότι η απεικόνιση συμβολίζεται
ως 𝒽𝑘 , επειδή το πεδίο ορισμού είναι διαφορετικό για κάθε 𝑘. Γενικά, οποιαδήποτε από τις απεικονίσεις του
αισθητήρα μπορεί να εξαρτώνται από την κατάσταση του ρομποτικού συστήματος, εάν αυτό είναι επιθυμητό.
Ακολουθούν μερικά παραδείγματα αισθητήρων. Αυτά παρέχονται για να επεξηγήσουν τους παραπάνω
ορισμούς και να παράσχουν δομικά στοιχεία που θα χρησιμοποιηθούν σε μεταγενέστερα παραδείγματα ℐ -
χώρων.
Παράδειγμα 1: (Μονός/Ζυγός Αισθητήρας): Έστω 𝒳 = ℤ το σύνολο των ακεραίων, επιπλέον έστω 𝛹 = {0,1}.
Η απεικόνιση του αισθητήρα είναι:
0, 𝛼𝜈 𝑥 𝜀ί𝜈𝛼𝜄 𝜇𝜊𝜈ό𝜍 (8.2)
𝜓 = 𝒽 (𝑥 ) = {
1, 𝛼𝜈 𝑥 𝜀ί𝜈𝛼𝜄 𝜁𝜐𝛾ό𝜍
Ο περιορισμός αυτού του αισθητήρα είναι ότι λέει μόνο αν το 𝑥𝜖𝒳 είναι περιττό ή ζυγό. Όταν συνδυάζεται με
άλλες πληροφορίες, αυτό μπορεί να είναι αρκετό για να συμπεράνουμε την κατάσταση του ρομποτικού
συστήματος, αλλά γενικά παρέχει ελλιπείς πληροφορίες.
Παράδειγμα 2: (Αισθητήρας Mod): Το παράδειγμα 1 μπορεί εύκολα να γενικευτεί για να δώσει το υπόλοιπο
όταν το 𝑥 διαιρείται με το 𝑘 για κάποιο σταθερό ακέραιο 𝑘. Έστω 𝒳 = ℤ και έστω 𝛹 = {0,1,2, … , 𝑘 − 1}. Η
απεικόνιση είναι:
𝜓 = 𝒽(𝑥 ) = 𝑚𝑜𝑑𝑘 (8.3)
Παράδειγμα 3: (Αισθητήρας πρόσημου): Έστω 𝒳 = ℤ και έστω 𝛹 = {−1,0,1}. Η απεικόνιση είναι:
𝜓 = 𝒽(𝑥 ) = 𝑠𝑔𝑛𝑥 (8.4)
Αυτός ο αισθητήρας παρέχει πολύ περιορισμένες πληροφορίες, επειδή υποδεικνύει μόνο σε ποια πλευρά του
ορίου 𝑥 = 0 μπορεί να βρίσκεται η κατάσταση του ρομποτικού συστήματος. Μπορεί, ωστόσο, να προσδιορίσει
με ακρίβεια αν 𝑥 = 0.
Παράδειγμα 4: (Επιλεκτικός Αισθητήρας): Έστω 𝒳 = ℤ × ℤ και έστω (𝑖, 𝑗)𝜖𝒳 ορίζει μια κατάσταση στην
οποία 𝑖, 𝑗𝜖ℤ. Ας υποθέσουμε ότι μπορούμε να παρατηρήσουμε μόνο το πρώτο στοιχείο του (𝑖, 𝑗). Η απεικόνιση
που προκύπτει είναι:
𝜓 = 𝒽(𝑖, 𝑗) = 𝑖 (8.5)
Μια προφανής γενίκευση μπορεί να γίνει για κάθε χώρο κατάστασης που σχηματίζεται από καρτεσιανά
προϊόντα. Ο αισθητήρας μπορεί να αποκαλύψει τις τιμές ενός ή περισσότερων στοιχείων και τα υπόλοιπα να
παραμένουν κρυφά.
Παράδειγμα 5: (Αμφιμονοσήμαντος Αισθητήρας: Έστω 𝒳 οποιοσδήποτε χώρος κατάστασης και έστω 𝛹 =
𝒳. Έτις ότι η απεικόνιση του αισθητήρα είναι οποιαδήποτε αμφιμονοσήμαντη συνάρτηση 𝒽: 𝒳 → 𝛹. Αυτός ο
αισθητήρας παρέχει πληροφορίες που ισοδυναμούν με τη γνώση της κατάστασης. Εφόσον το 𝒽 είναι
αμφιμονοσήμαντη συνάρτηση, μπορεί να αντιστραφεί για να ληφθεί 𝒽−1 : 𝛹 → 𝒳. Για οποιοδήποτε 𝜓𝜖𝛹, η
κατάσταση μπορεί να προσδιοριστεί ως 𝑥 = 𝒽−1 (𝜓).

8.1.2 Καθορισμός του Χώρου Πληροφοριών Ιστορικού


Σε αυτήν την ενότητα θα ορίσουμε τον πιο βασικό και φυσικό χώρο. Έχει διατυπωθεί ότι ο χώρος δράσης 𝑈(𝑥)
εξαρτάται από το 𝑥. Εφόσον το 𝑥 είναι άγνωστο στην τρέχουσα ρύθμιση, θα φαινόταν παράξενο να

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 205
επιτρέψουμε στις ενέργειες να εξαρτώνται από το 𝑥. Αυτό θα σήμαινε ότι θα μπορούσαν να εξαχθούν
συμπεράσματα σχετικά με την κατάσταση απλώς παρατηρώντας ποιες ενέργειες είναι διαθέσιμες. Αντίθετα, θα
θεωρηθεί εξ’ ορισμού ότι η 𝑈 είναι ό χώρος δράσης για όλα τα 𝑥𝜖𝒳. Σε ειδικές περιπτώσεις, ωστόσο, ενδέχεται
η δυνατότητα μεταβολής του 𝑈(𝑥 )..
Αρχικές συνθήκες: Όπως αναφέρθηκε στην αρχή του κεφαλαίου, οι αρχικές συνθήκες παρέχουν μία από
τις τρεις γενικές πηγές πληροφοριών σχετικά με την κατάσταση του ρομποτικού συστήματος. Επομένως, θα
επιτρέπονται τρεις εναλλακτικοί τύποι συνθηκών:
• Γνωστή κατάσταση: Δίνεται η αρχική κατάσταση, 𝑥1 𝜖𝒳. Αυτό ξεκινά το πρόβλημα με τις
πληροφορίες τέλειας κατάστασης. Αν υποθέσουμε ότι οι ενέργειες της φύσης παρεμβαίνουν στη
συνάρτηση μετάβασης κατάστασης 𝑓, γενικά θα αναπτυχθεί η αβεβαιότητα στην τρέχουσα
κατάσταση.
• Μη ντετερμινιστικό: Δίνεται ένα σύνολο καταστάσεων 𝒳1 ⊂ 𝒳. Σε αυτήν την περίπτωση, η
αρχική κατάσταση είναι γνωστό ότι βρίσκεται μόνο μέσα σε ένα συγκεκριμένο υποσύνολο του
𝒳. Αυτό μπορεί να θεωρηθεί ως γενίκευση του πρώτου τύπου, που επιτρέπει μόνο υποσύνολα.
• Πιθανοτική: Δίνεται κατανομή πιθανότητας, 𝑃(𝑥1 ), πάνω από το 𝒳.
Γενικά, έστω 𝓃0 υποδηλώνει την αρχική συνθήκη, η οποία μπορεί να είναι οποιαδήποτε από τους τρεις
εναλλακτικούς τύπους.
• Ιστορία: Ας υποθέσουμε ότι το 𝑘-οστό στάδιο έχει περάσει. Ποιες πληροφορίες είναι διαθέσιμες;
Θεωρούμε ότι σε κάθε στάδιο, γίνεται μια παρατήρηση με αισθητήρα. Αυτό έχει ως αποτέλεσμα
ένα ιστορικό ανίχνευσης:
𝜓̃𝑘 = (𝜓1 , 𝜓2 , … , 𝜓𝑘 ) (8.6)
Σε κάθε στάδιο μπορεί επίσης να εφαρμοστεί μια ενέργεια, η οποία παράγει ένα ιστορικό ενεργειών:
𝑢̃𝑘−1 = (𝑢1 , 𝑢2 , … , 𝑢𝑘−1 ) (8.7)
Σημειώστε ότι το ιστορικό ενεργειών εκτελείται μόνο στο 𝑢𝑘−1 . Εάν εφαρμοστεί το 𝑢𝑘 , λαμβάνεται η
κατάσταση 𝑥𝑘+1 και το στάδιο 𝑘 + 1, τα οποία βρίσκονται πέρα από το τρέχον στάδιο, 𝑘. Συνδυάζοντας την
ιστορία αίσθησης και δράσης, η ιστορία στο στάδιο 𝑘 είναι (𝑢̃𝑘−1 , 𝜓̃𝑘 ).
• Δηλώσεις ιστορικών πληροφοριών: Το ιστορικό, (𝑢̃𝑘−1 , 𝜓̃𝑘 ), σε συνδυασμό με την αρχική
συνθήκη 𝓃0 , αποδίδει την κατάσταση ℐ ιστορικού, η οποία συμβολίζεται με 𝓃𝑘 . Αυτό αντιστοιχεί
σε όλες τις πληροφορίες που είναι γνωστές μέχρι το στάδιο 𝑘. Παρά το γεγονός ότι οι καταστάσεις
𝑥1 , . . . , 𝑥𝑘 μπορεί να μην είναι γνωστές, οι καταστάσεις ℐ του ιστορικού είναι πάντα γνωστές,
επειδή ορίζονται απευθείας από την άποψη των διαθέσιμων πληροφοριών. Έτσι, η ιστορία ℐ -
κατάσταση είναι
𝓃𝑘 = (𝓃0 , 𝑢̃𝑘−1 , 𝜓̃𝑘 ) (8.8)
Για παράδειγμα, το 8.8 αντιμετωπίζεται με μία μόνο αλληλουχία, αντί για μια αλληλουχία που περιέχει δύο
αλληλουχίες. Αυτή η διάκριση είναι ασήμαντη για τους σκοπούς της λήψης αποφάσεων.
Η ιστορία ℐ −κατάσταση 𝓃𝑘 μπορεί επίσης να εκφραστεί ως,
𝓃𝑘 = (𝓃𝑘−1 , 𝑢𝑘−1 , 𝜓𝑘 ) (8.9)
παρατηρώντας ότι η κατάσταση ℐ − ιστορίας στο στάδιο 𝑘 περιέχει όλες τις πληροφορίες από την κατάσταση
ℐ − ιστορίας στο στάδιο 𝑘 − 1. Η μόνη νέα πληροφορία είναι η πιο πρόσφατα εφαρμοσμένη ενέργεια 𝑢𝑘−1 και
η τρέχουσα παρατήρηση αισθητήρα 𝜓𝑘 .
• Ο χώρος πληροφοριών ιστορίας: Το ιστορικό ℐ −χώρος είναι απλώς το σύνολο όλων των
πιθανών καταστάσεων ℐ της ιστορίας. Αν και η ιστορία που αναφέρεται φαίνεται να είναι αρκετά
περίπλοκη, είναι χρήσιμο να τα θεωρούμε αφηρημένα ως σημεία σε έναν νέο χώρο. Για να
ορίσουμε το σύνολο όλων των πιθανών καταστάσεων ℐ της ιστορίας, τα σύνολα όλων των
αρχικών συνθηκών, ενεργειών και παρατηρήσεων πρέπει να οριστούν με ακρίβεια.
̃𝑘 και προκύπτει από ένα καρτεσιανό γινόμενο
Το σύνολο όλων των ιστοριών παρατήρησης συμβολίζεται ως 𝛹
𝑘 αντιγράφων του χώρου παρατήρησης,

Ηλίας Ξυδιάς 206


̃𝑘 = 𝛹 × 𝛹 × … × 𝛹 (k φορές)
𝛹 (8.10)
Είναι λίγο πιο περίπλοκο να ορίσουμε το σύνολο όλων των πιθανών συνθηκών, επειδή είναι δυνατοί τρεις
διαφορετικοί τύποι αρχικών συνθηκών. Έστω ℐ𝜊 ο χώρος της αρχικής συνθήκης. Ανάλογα με το ποιος από τους
τρεις τύπους αρχικών συνθηκών χρησιμοποιείται, χρησιμοποιείται ένας από τους ακόλουθους τρεις ορισμούς
για το ℐ𝜊 :
• Γνωστή κατάσταση: Εάν δίνεται η αρχική κατάσταση 𝑥1 , τότε ℐ𝜊 ⊆ 𝒳 . Τυπικά, ℐ𝜊 = 𝒳.
Ωστόσο, μπορεί να είναι γνωστό σε ορισμένες περιπτώσεις ότι ορισμένες αρχικές καταστάσεις
είναι αδύνατες. Επομένως, γενικά γράφεται ότι ℐ𝜊 ⊆ 𝒳.
• Μη ντετερμινιστικό: Αν δίνεται 𝒳1 , τότε ℐ𝜊 ⊆ 𝑝𝑜𝑤(𝒳) (το σύνολο ισχύος του 𝒳). Και πάλι,
μια τυπική κατάσταση είναι ℐ𝜊 ⊆ 𝑝𝑜𝑤(𝑥); Ωστόσο, μπορεί να είναι γνωστό ότι ορισμένα
υποσύνολα του 𝒳 είναι αδύνατα ως αρχικές συνθήκες.
• Πιθανολογικό: Τέλος, αν δίνεται 𝑃(𝑥), τότε ℐ𝜊 ⊆ 𝑃(𝑥), όπου 𝑃(𝑥) είναι το σύνολο όλων των
κατανομών πιθανοτήτων πάνω από το 𝒳.
Ο ιστορικός χώρος ℐ στο στάδιο 𝑘 εκφράζεται ως
̃𝑘−1 , 𝛹
ℐ𝑘 = ℐ0 × 𝑈 ̃𝑘 (8.11)
Κάθε 𝓃𝑘 𝜖ℐ𝑘 δίνει μια αρχική συνθήκη, ένα ιστορικό ενεργειών και ένα ιστορικό παρατήρησης. Θα είναι βολικό
να ληφθούν υπόψη οι χώροι ℐ που δεν εξαρτώνται από το 𝓃𝑘 . Αυτό θα οριστεί λαμβάνοντας μια ένωση
(προσέξτε να μην σκεφτείτε κατά λάθος αυτήν την κατασκευή ως καρτεσιανό προϊόν). Εάν υπάρχουν 𝛫 στάδια,
τότε το ιστορικό ℐ είναι,
ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 = ℐ0 ∪ ℐ1 ∪ ℐ2 ∪ … ∪ ℐ𝛫 (8.12)
Τις περισσότερες φορές, ο αριθμός των σταδίων δεν είναι σταθερός. Σε αυτήν την περίπτωση, το ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼
ορίζεται ως η ένωση του ℐ𝑘 σε όλα τα 𝑘𝜖{0} ∪ ℕ:
ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 = ℐ0 ∪ ℐ1 ∪ ℐ2 ∪ … (8.13)
Το ιστορικό ℐ εξαρτάται από τη σκηνή, επειδή οι πληροφορίες συσσωρεύονται με την πάροδο του χρόνου. Στο
διακριτό μοντέλο, η αναφορά στο χρόνο είναι σιωπηρή μόνο μέσω της χρήσης σταδίων. Ως εκ τούτου, ορίζονται
χώροι ℐ που εξαρτώνται από τη σκηνή.

8.1.3 Καθορισμός του Προβλήματος Σχεδιασμού Κίνησης


Το πρόβλημα σχεδιασμού κίνησης θα οριστεί απευθείας στον ιστορικό ℐ −χώρο, γεγονός που τον κάνει να
εμφανίζεται ως ένας συνηθισμένος χώρος κατάστασης με πολλούς τρόπους. Λάβετε υπόψη, ωστόσο, ότι
προήλθε από έναν χώρο κατάστασης για τον οποίο δεν μπορούσαν να ληφθούν τέλειες παρατηρήσεις
κατάστασης. Στις προηγούμενες ενότητες ένα σχέδιο ανατροφοδότησης ορίστηκε ως συνάρτηση της
κατάστασης. Εδώ, ένα σχέδιο ανατροφοδότησης είναι αντίθετα μια συνάρτηση της κατάστασης ℐ. Οι
αποφάσεις δεν μπορούν να βασίζονται στην κατάσταση, γιατί θα είναι γενικά άγνωστη κατά την εκτέλεση της
κίνησης. Ωστόσο, η κατάσταση ℐ είναι πάντα γνωστή. Επομένως, είναι λογικό να βασίζονται οι αποφάσεις σε
αυτό.
Έστω ότι 𝜋𝐾 υποδηλώνει ένα σχέδιο πληροφοριών, το οποίο είναι μια ακολουθία (𝜋1 , 𝜋2 , … 𝜏𝜄𝜍) 𝐾
συναρτήσεων, 𝜋𝑘 : ℐ𝑘 → 𝑈. Έτσι, σε κάθε στάδιο 𝑘, η ℐ κατάσταση 𝓃𝑘 𝜖ℐ𝐾 χρησιμοποιείται ως βάση για την
επιλογή της δράσης 𝑢𝑘 = 𝜋𝑘 (𝓃𝑘 ). Λόγω της παρεμβολής της φύσης, τόσο μέσω της εξίσωσης μετάβασης
κατάστασης, όσο και της χαρτογράφησης του αισθητήρα, η ακολουθία ενεργειών (𝑢1 , 𝑢2 , … , 𝑢𝐾 ) που
παράγεται από ένα σχέδιο 𝜋𝐾 δεν θα είναι γνωστή μέχρι να τερματιστεί το σχέδιο.
Είναι βολικό να υποθέσουμε ότι το 𝑈 περιέχει μια ενέργεια τερματισμού 𝑢 𝑇 . Εάν το 𝑢 𝑇 εφαρμόζεται
στο στάδιο 𝑘, τότε εφαρμόζεται επανειλημμένα για πάντα. Θεωρείται η κατάσταση 𝑥𝑘 παραμένει σταθερή μετά
την εφαρμογή της συνθήκης τερματισμού. Θυμηθείτε, ωστόσο, ότι το 𝑥𝑘 εξακολουθεί να είναι άγνωστο γενικά,
παρ’ ότι καθίσταται σταθερό. Τεχνικά, με βάση τον ορισμό του χώρου ℐ της ιστορίας, η κατάσταση ℐ πρέπει
να αλλάξει αφού εφαρμοστεί το 𝑢 𝑇 , επειδή το ιστορικό μεγαλώνει. Ωστόσο, αυτές οι αλλαγές μπορούν να
αγνοηθούν, επειδή δεν λαμβάνονται νέες αποφάσεις μετά την εφαρμογή του 𝑢 𝑇 . Ένα σχέδιο που χρησιμοποιεί
μια συνθήκη τερματισμού μπορεί να οριστεί ως 𝜋 = (𝜋1 , 𝜋2 , … ), επειδή ο αριθμός των σταδίων μπορεί να

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 207
ποικίλλει κάθε φορά που εκτελείται το σχέδιο. Χρησιμοποιώντας τον ορισμό του ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 , ένα σχέδιο
πληροφοριών-ανατροφοδότησης εκφράζεται ως,
𝜋 = ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 → 𝑈 (8.14)
Είμαστε σχεδόν έτοιμοι να ορίσουμε το πρόβλημα σχεδιασμού. Αυτό θα απαιτήσει την προδιαγραφή ενός
λειτουργικού κόστους. Το 𝜋 εξαρτάται από το ιστορικό των καταστάσεων 𝑥̃ και των ενεργειών 𝑢̃. Η διατύπωση
σχεδιασμού κίνησης περιλαμβάνει τα ακόλουθα στοιχεία:
Σχεδιασμός Χώρου Διακριτών Πληροφοριών:
• Ένας μη κενός χώρος 𝒳 που είναι πεπερασμένος είτε μετρήσιμα άπειρος και ο πεπερασμένος
χώρος δράσης 𝑈. Υποτίθεται ότι το 𝑈 περιέχει μια ειδική ενέργεια τερματισμού.
• Μια συνάρτηση μετάβασης 𝑓, η οποία παράγει μια κατάσταση 𝑓𝜏𝜄𝜍ια κάθε 𝑥𝜖𝒳, 𝑢𝜖U και
𝜃𝜖Θ(𝑥, 𝑢).
• Ένας πεπερασμένος ή μετρήσιμος άπειρος χώρος παρατήρησης 𝑌.
• Ένας πεπερασμένος χώρος δράσης που ανιχνεύει τη φύση 𝛹(𝑥) για κάθε 𝑥𝜖𝒳.
• Ένας αισθητήρας που απεικονίζει το ℎ που παράγει μια παρατήρηση 𝑦 = ℎ(𝑥, 𝜓), για κάθε 𝑥𝜖𝒳
και 𝜓𝜖Ψ(𝑥). Αυτός ο ορισμός προϋποθέτει αντιστοιχίσεις αισθητήρα φύσης κατάστασης,
χαρτογράφηση αισθητήρα κατάστασης ή χαρτογράφηση αισθητήρα βάσει ιστορικού.
• Ένα σύνολο σταδίων, καθένα από τα οποία συμβολίζεται με 𝑘, το οποίο ξεκινά από 𝑘 = 1 και
συνεχίζει απεριόριστα.
• Μια αρχική συνθήκη 𝓃0 , η οποία είναι στοιχείο ενός χώρου αρχικής συνθήκης ℐ0 .
• Ο χώρος ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 είναι η ένωση του ℐ0 και ℐ𝑘 = ℐ0 × 𝑈 ̃𝑘−1 × 𝑌̃𝑘−1 για κάθε 𝑘𝜖ℕ.
• Έστω ότι 𝐿 υποδηλώνει μια συνάρτηση κόστους προσθετικού σταδίου, η οποία μπορεί να
εφαρμοστεί σε οποιοδήποτε ζεύγος (𝑥̃𝐾+1 , 𝑢̃𝐾 ) ιστορικών καταστάσεων και ενεργειών για
απόδοση
𝐾
(8.15)
𝐿(𝑥̃𝐾+1 , 𝑢̃𝐾 ) = ∑ 𝑙 (𝑥̃𝐾+1 , 𝑢̃𝐾 ) + 𝑙𝐹 (𝑥𝐾+1 )
𝑘=1
Εάν η ενέργεια τερματισμού 𝑢 𝑇 εφαρμοστεί σε κάποιο στάδιο 𝑘, τότε για όλα τα 𝑖 ≥ 𝑘, 𝑢𝑖 = 𝑢 𝑇 , 𝑥𝑖 = 𝑥𝑇 και
𝑙 (𝑥𝑖 , 𝑢 𝑇 ) = 0.

8.2 Παραδείγματα για Χώρους Διακριτών Καταστάσεων


Παράδειγμα 1: (Χρησιμοποιώντας τον αισθητήρα σήματος). Έστω 𝒳 = ℤ, 𝑈 = {−1,1, 𝑢 𝑇 }, 𝑌 = {−1,0,1} και
𝑦 = ℎ(𝑥 ) = 𝑠𝑔𝑛(𝑥). Για την εξίσωση μετάβασης κατάστασης 𝑥𝑘+1 = 𝑓 (𝑥𝑘 , 𝑢𝑘 ) = 𝑥𝑘 + 𝑢𝑘 , καμία ενέργεια
φύσης δεν παρεμβαίνει στην εξίσωση μετάβασης κατάστασης ή στη χαρτογράφηση του αισθητήρα. Επομένως,
οι μελλοντικές καταστάσεις Ι της ιστορίας είναι προβλέψιμες. Η εξίσωση μετάβασης πληροφοριών είναι
𝓃𝑘+1 = 𝑓𝑥 (𝓃𝑘 , 𝑢𝑘 ). Ας υποθέσουμε ότι, αρχικά, 𝓃0 = 𝒳, που σημαίνει ότι οποιαδήποτε αρχική κατάσταση
είναι δυνατή. Ο στόχος είναι να τερματιστεί στο 0𝜖𝒳.
Η γενική έκφραση για μια ιστορική κατάσταση ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 στο στάδιο 𝑘 είναι
𝓃𝑘 = (𝒳, 𝑢1 , 𝑢2 , … , 𝑢𝑘−1 , 𝑦1 , … , 𝑦𝑘 ) (8.16)
Μια πιθανή κατάσταση ℐ είναι 𝓃5 = (𝒳, −1,1,1, −1,1,1,1,1,0). Χρησιμοποιώντας τον μη ντετερμινιστικό
χώρο ℐ, έχουμε ότι ℐ𝑛𝑑𝑒𝑡 = 𝑝𝑜𝑤(𝒳), που είναι άπειρο. Κοιτάζοντας προσεκτικά το πρόβλημα, ωστόσο, μπορεί
να φανεί ότι οι περισσότερες από τις μη ντετερμινιστικές καταστάσεις ℐ δεν είναι προσβάσιμες. Αν 𝑦𝑘 = 0,
είναι γνωστό ότι 𝑥𝑘 = 0;, ως εκ τούτου 𝒳𝑘 (𝓃𝑘 ) = {0}. Αν 𝑦𝑘 = 1, θα συμβαίνει πάντα ότι 𝒳𝑘 (𝓃𝑘 ) = {1,2, … },
εκτός αν παρατηρείται 0. Αν 𝑦𝑘 = −1, τότε 𝒳𝑘 (𝓃𝑘 ) = {… , −2, −1}. Από αυτό, ένα σχέδιο 𝜋 μπορεί να
καθοριστεί πάνω από τις τρεις μη ντετερμινιστικές καταστάσεις ℐ που αναφέρονται παραπάνω. Για το πρώτο,
𝜋(𝒳𝑘 (𝓃𝑘 )) = 𝑢 𝑇 . Για τα άλλα δύο, 𝜋(𝒳𝑘 (𝓃𝑘 )) = −1 και 𝜋(𝒳𝑘 (𝓃𝑘 )) = 1, αντίστοιχα. Με βάση το πρόσημο
(sign), το σχέδιο προσπαθεί να κινηθεί προς το 0. Εάν επιτρέπονται διαφορετικές αρχικές συνθήκες, τότε
μπορούν να επιτευχθούν πιο μη ντετερμινιστικές καταστάσεις ℐ, αλλά αυτό δεν απαιτήθηκε, καθώς το
πρόβλημα καθορίστηκε. Σημειώστε ότι οι λύσεις βέλτιστου μήκους παράγονται από το σχέδιο.

Ηλίας Ξυδιάς 208


Η λύση μπορεί να εφαρμοστεί ακόμη και με ανάδραση αισθητήρα, επειδή η ενέργεια εξαρτάται μόνο
από την τρέχουσα τιμή του αισθητήρα. Έστω 𝜋: 𝑌 → 𝑈 ορίζεται ως
−1, 𝛼𝜈 𝑦 = 1 (8.17)
𝜋(𝑦) = {1, 𝛼𝜈 𝑦 = −1
𝑢 𝑇 , 𝛼𝜈 𝑦 = 0
Αυτό παρέχει δραματική εξοικονόμηση μνήμης σε σχέση με τον καθορισμό ενός σχεδίου στο ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 .
Παράδειγμα 2: (Αναγνώριση στόχου) Έστω 𝒳 = ℤ, 𝑈 = {−1,1, 𝑢 𝑇 } και 𝛶 = ℤ. Για την εξίσωση μετάβασης
κατάστασης 𝑥𝑘+1 = 𝑓(𝑥𝑘 , 𝑢𝑘 ) = 𝑥𝑘 + 𝑢𝑘 . Τώρα, ας υποθέσουμε ότι μια παραλλαγή του Παραδείγματος 1
χρησιμοποιείται για τη μοντελοποίηση της ανίχνευσης: 𝑥 = ℎ(𝑥, 𝜓) = 𝑥 + 𝜓 και 𝛹 = {−5, −4, … ,5}. Ας
υποθέσουμε ότι, για άλλη μια φορά, 𝓃0 = 𝒳. Σε αυτήν την περίπτωση, είναι αδύνατο να εγγυηθούμε ότι ένας
στόχος 𝒳𝐺 = {0} επιτυγχάνεται λόγω του προβλήματος αναγνώρισης στόχου. Η διαταραχή στη χαρτογράφηση
του αισθητήρα δεν επιτρέπει αρκετά ακριβείς μετρήσεις κατάστασης για να συμπεράνουμε την ακριβή επίτευξη
της κατάστασης. Εάν η περιοχή στόχου 𝒳𝐺 μεγεθύνεται σε {−5, −4, … ,5}, τότε το πρόβλημα μπορεί να λυθεί.
Λόγω της διαταραχής, η μη ντετερμινιστική κατάσταση ℐ είναι πάντα ένα υποσύνολο μιας διαδοχικής
ακολουθίας 11 καταστάσεων. Είναι απλό να εξαχθεί ένα σχέδιο που μετακινεί αυτό το διάστημα έως ότου η μη
ντετερμινιστική κατάσταση ℐ γίνει υποσύνολο του 𝒳𝐺 . Όταν συμβεί αυτό, τότε το σχέδιο εφαρμόζεται 𝑢 𝑇 . Για
την επίλυση αυτού του προβλήματος, δεν χρειάστηκε ποτέ να γίνει γνωστή η ακριβής κατάσταση.
Παράδειγμα 3: (Κίνηση σε διάδρομο σχήματος Γ) Ο χώρος κατάστασης 𝒳 για το παράδειγμα που φαίνεται
στην Εικόνα 8.2 έχει 19 καταστάσεις, καθεμία από τις οποίες αντιστοιχεί σε μια θέση σε ένα από τα λευκά
πλακίδια. Για ευκολία, κάθε κατάσταση να συμβολίζεται με (𝑖, 𝑗). Υπάρχουν 10 καταστάσεις, που
συμβολίζονται με (1,1), (2,1), … , (10,1), και 10 αριστερές καταστάσεις, που συμβολίζονται με
(1,1), (1,2), … , (1,10). Εφόσον το (1,1) είναι και κάτω και αριστερή κατάσταση, ονομάζεται γωνιακή
κατάσταση.

Εικόνα 8.2 Ένα παράδειγμα που αφορά 19 καταστάσεις. Δεν υπάρχουν δεδομένα από τους αισθητήρες. Ωστόσο, μπορούν
να επιλεγούν ενέργειες που επιτρέπουν την εκτίμηση της κατάστασης.

Δεν υπάρχουν παρατηρήσεις αισθητήρων για αυτό το πρόβλημα. Ωστόσο, η φύση παρεμβαίνει στις μεταβάσεις
των καταστάσεων, γεγονός που οδηγεί σε μια μορφή μη ντετερμινιστικής αβεβαιότητας. Εάν εφαρμοστεί μια
ενέργεια που προσπαθεί να κάνει ένα βήμα, η φύση μπορεί να προκαλέσει τη λήψη δύο ή τριών βημάτων. Αυτό
μπορεί να διαμορφωθεί ως εξής. Έστω

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 209
𝑈 = {(1,0), (−1,0), (0,1), (0, −1)} (8.18)
και έστω 𝛩 = {1,2,3}. Η εξίσωση μετάβασης κατάστασης ορίζεται ως 𝑓 (𝑥, 𝑢, 𝜃) = 𝑥 + 𝜃𝑢, όποτε δεν
εμποδίζεται μια τέτοια κίνηση (πατώντας σε αδιέξοδο). Για παράδειγμα, αν 𝑥 = (5,1), 𝑢 = (−1,0) και 𝜃 = 2,
τότε η επόμενη κατάσταση που προκύπτει είναι (5,1) + 2(−1,0) = (3,1). Εάν είναι δυνατός ο αποκλεισμός, η
κατάσταση αλλάζει όσο το δυνατόν περισσότερο μέχρι να αποκλειστεί. Λόγω μπλοκαρίσματος, είναι ακόμη
πιθανό 𝑓(𝑥, 𝑢, 𝜃) = 𝑥.
Δεδομένου ότι δεν υπάρχουν παρατηρήσεις αισθητήρων, η κατάσταση ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 στο στάδιο k είναι
𝓃𝑘 = (𝓃0 , 𝑢1 , 𝑢2 , … , 𝑢𝑘−1 ) (8.19)
Τώρα χρησιμοποιήστε τον μη ντετερμινιστικό χώρο ℐ, ℐ𝑛𝑑𝑒𝑡 = 𝑝𝑜𝑤(𝒳). Δίνεται η αρχική κατάσταση, 𝑥1 =
(10,1), που σημαίνει ότι η αρχική κατάσταση ℐ, 𝓃0 , είναι {(10,1)}. Ο στόχος είναι να φτάσετε στην κατάσταση
ℐ, {(1,10)}, που σημαίνει ότι η εργασία είναι να σχεδιάσετε ένα σχέδιο που να κινείται από κάτω δεξιά προς τα
πάνω αριστερά.
Με τέλειες πληροφορίες, αυτό θα ήταν ασήμαντο. Ωστόσο, χωρίς αισθητήρες η αβεβαιότητα μπορεί να
αυξηθεί πολύ γρήγορα. Για παράδειγμα, μετά την εφαρμογή της ενέργειας 𝑢1 = (−1,0) από την αρχική
κατάσταση, η μη ντετερμινιστική κατάσταση ℐ γίνεται {(7,1), (8,1), (9,1)}. Μετά το 𝑢2 = (−1,0) γίνεται
{(4,1), … , (8,1)}. Ένα ωραίο χαρακτηριστικό αυτού του προβλήματος, ωστόσο, είναι ότι η αβεβαιότητα μπορεί
να μειωθεί χωρίς αίσθηση. Ας υποθέσουμε ότι για 100 στάδια, εφαρμόζουμε επανειλημμένα το 𝑢𝑘 = (−1,0).
Ποια είναι η κατάσταση ℐ που προκύπτει; Καθώς προσεγγίζεται η γωνιακή κατάσταση, η αβεβαιότητα
μειώνεται επειδή η κατάσταση δεν μπορεί να αλλάξει περαιτέρω από τη φύση της. Είναι γνωστό ότι κάθε
ενέργεια 𝑢𝑘 = (−1,0) μειώνει τη συντεταγμένη 𝒳 κατά τουλάχιστον μία κάθε φορά. Επομένως, μετά από
εννέα ή περισσότερα στάδια, είναι γνωστό ότι 𝓃𝑘 = {(1,1)}. Μόλις γίνει αυτό γνωστό, τότε μπορεί να
εφαρμοστεί η ενέργεια (0,1). Αυτό θα αυξήσει και πάλι την αβεβαιότητα, καθώς το κράτος κινείται μέσα από
το σύνολο των αριστερών κρατών. Εάν το (0, 1) εφαρμοστεί εννέα ή περισσότερες φορές, τότε είναι γνωστό
ότι 𝑥𝑘 = (1,10), που είναι η απαιτούμενη κατάσταση στόχου.
Έχει πλέον επιτευχθεί ένα επιτυχημένο σχέδιο: 1) Εφαρμόστε (−1, 0) για εννέα στάδια, 2) στη συνέχεια
εφαρμόστε (0, 1) για εννέα στάδια. Αυτό το σχέδιο θα μπορούσε να καθοριστεί μέσω του ℐ𝑛𝑑𝑒𝑡 . Ωστόσο, είναι
απλούστερο να χρησιμοποιήσετε το ℐ −απεικόνιση 𝑘𝜎𝜏ά𝛿𝜄𝜊 για να ορίσετε ένα σχέδιο ως 𝜋: ℕ → 𝑈. Για ένα 𝑘
τέτοιο ώστε 1 ≤ 𝑘 ≤ 9, 𝜋(𝑘) = (−1,0). Για 𝑘 τέτοιο ώστε 10 ≤ 𝑘 ≤ 18, 𝜋(𝑘) = (0,1). Για 𝑘 > 18, 𝜋(𝑘) =
𝑢 𝑇 . Σημειώστε ότι το σχέδιο λειτουργεί ακόμη και αν η αρχική συνθήκη είναι οποιοδήποτε υποσύνολο του 𝒳.
Από αυτό το σημείο και μετά, υποθέστε ότι οποιοδήποτε υποσύνολο μπορεί να δοθεί ως αρχική συνθήκη.
Ορισμένα εναλλακτικά σχέδια θα εξεταστούν τώρα με τη δημιουργία άλλων παραγόμενων ℐ -χώρων από
το ℐ𝑛𝑑𝑒𝑡 . Έστω 𝑘3 ένας χάρτης ℐ από το ℐ𝑛𝑑𝑒𝑡 σε ένα σύνολο ℐ3 τριών παραγόμενων καταστάσεων ℐ. Έστω
ℐ3 = {𝑔, 𝑙, 𝑎}, όπου το 𝑔 δηλώνει «στόχος», το 𝑙 σημαίνει «αριστερά» και 𝑎 δηλώνει «οποιοδήποτε».
Έστω ένας χάρτης ℐ, 𝑘3 είναι
𝑔, 𝛼𝜈 𝒳 (𝓃) = {(1,10)} (8.20)
𝒳(𝓃) = {𝑙, 𝛼𝜈 𝒳 (𝓃)𝜀ί𝜈𝛼𝜄 έ𝜈𝛼 𝜐𝜋𝜊𝜎ύ𝜈𝜊𝜆𝜊 𝜏𝜔𝜈 𝛼𝜌𝜄𝜎𝜏𝜀𝜌ώ𝜈 𝜅𝛼𝜏𝛼𝜎𝜏ά𝜎𝜀𝜔𝜈
𝑎, 𝛿𝜄𝛼𝜑𝜊𝜌𝜀𝜏𝜄𝜅ά
Με βάση το σχέδιο που περιγράφηκε μέχρι τώρα, μια λύση στο ℐ3 ορίζεται ως 𝜋(𝑔) = 𝑢 𝑇 , 𝜋(𝑙 ) = (0,1) και
𝜋(𝑎) = (−1,0). Αυτό το σχέδιο είναι πιο απλό στην αναπαράσταση από αυτό στο ℕ;, ωστόσο, υπάρχει ένα
μειονέκτημα. Ο χάρτης ℐ, 𝑘3 δεν επαρκεί. Αυτό συνεπάγεται ότι περισσότερο από τη μη ντετερμινιστική
κατάσταση ℐ πρέπει να διατηρηθεί κατά την εκτέλεση. Διαφορετικά, δεν υπάρχει τρόπος να γνωρίζουμε πότε
συμβαίνουν ορισμένες μεταβάσεις. Για παράδειγμα, εάν το (−1, 0) εφαρμόζεται από το 𝑎, πώς μπορεί το ρομπότ
να προσδιορίσει εάν το l ή το 𝑎 επιτυγχάνεται στο επόμενο στάδιο; Αυτό μπορεί εύκολα να προσδιοριστεί από
τη μη ντετερμινιστική κατάσταση ℐ.
Για να αντιμετωπίσετε αυτό το πρόβλημα, σκεφτείτε έναν νέο χάρτη ℐ, 𝑘19 : ℐ𝑛𝑑𝑒𝑡 → ℐ19 , το οποίο είναι
αρκετό. Υπάρχουν 19 παραγόμενες καταστάσεις ℐ, οι οποίες περιλαμβάνουν 𝑔 όπως ορίστηκε προηγουμένως,
𝑙𝑖 για 1 ≤ 𝑗 ≤ 9 και 𝑎𝑖 για 2 ≤ 𝑖 ≤ 10. O χάρτης ℐ ορίζεται ως 𝑘19 (𝒳 (𝓃)) = 𝑔 εάν 𝒳 (𝓃) = {(1,10)}.
Διαφορετικά, 𝑘19 (𝒳 (𝓃)) = 𝑙𝑖 για τη μικρότερη τιμή του 𝑖, έτσι ώστε το 𝒳 (𝓃) να είναι υποσύνολο του
{(1, 𝑖 ), … , (1,10)}. Αν δεν υπάρχει τέτοια τιμή για το 𝑖, τότε 𝑘19 (𝒳 (𝓃)) = 𝑎𝑖 , για τη μικρότερη τιμή του 𝑖

Ηλίας Ξυδιάς 210


τέτοια ώστε το 𝒳 (𝓃) να είναι υποσύνολο του {(1,1), … , (1,10), (2,1), … , (𝑖, 1)}. Τώρα το σχέδιο ορίζεται ως
𝜋(𝑔) = 𝑢 𝑇 , 𝜋(𝑙𝑖 ) = (0,1) και 𝜋(𝑎𝑖 ) = (−1,0). Αν και το σχέδιο είναι μεγαλύτερο, το ρομπότ δεν το κάνει,
πρέπει να αντιπροσωπεύει την πλήρη μη ντετερμινιστική κατάσταση ℐ κατά την εκτέλεση. Γίνονται οι σωστές
μεταβάσεις. Για παράδειγμα, αν εφαρμοστεί 𝑢𝑘 = (−1,0) στο 𝑎5 , τότε προκύπτει το 𝑎4 . Εάν εφαρμοστεί 𝑢 =
(−1,0) στο 𝑎2 , τότε προκύπτει το 𝑙1 . Από εκεί, 𝑢 = (0,1) εφαρμόζεται για να δώσει 𝑙2 . Αυτές οι ενέργειες
μπορούν να επαναληφθούν μέχρι να φτάσουμε τελικά τα 𝑙9 και 𝑔.
Το σχέδιο που προκύπτει, ωστόσο, δεν είναι βελτίωση σε σχέση με το αρχικό σχέδιο ανοιχτού βρόχου.

8.3 Συνεχείς Χώροι


Σε αυτήν την ενότητα, ο χώρος κατάστασης μπορεί να είναι ένας χώρος διαμόρφωσης 𝒳 = 𝒞, όπως ορίζεται
στο Κεφάλαιο 2, ή οποιοσδήποτε άλλος χώρος συνεχούς κατάστασης. Δεδομένου ότι μπορεί να είναι ένας
χώρος διαμόρφωσης, πολλά ενδιαφέροντα προβλήματα μπορούν να αντληθούν από τη ρομποτική.
Κατά την παρουσίαση των εννοιών αυτής της ενότητας, θα είναι χρήσιμο να θυμηθούμε ανάλογες έννοιες
που είχαν ήδη αναπτυχθεί για διακριτούς χώρους καταστάσεων. Σε πολλές περιπτώσεις, τα σκευάσματα
φαίνονται πανομοιότυπα. Σε άλλες, η συνεχής περίπτωση είναι πιο περίπλοκη, αλλά συνήθως διατηρεί
ορισμένες από τις ιδιότητες από τη διακριτή περίπτωση. Θα φανεί μετά την εισαγωγή μοντέλων συνεχούς
ανίχνευσης ότι ορισμένα προβλήματα που διατυπώνονται σε συνεχείς χώρους είναι ακόμη πιο κομψά και
ευκολονόητα από τα διακριτά αντίστοιχα.

8.3.1 Χώροι Πληροφοριών Διακριτών Σταδίων


Ας υποθέσουμε ότι υπάρχουν διακριτά στάδια. Έστω 𝒳 = ℝ𝑚 μια 𝑛 − διάστατη πολλαπλότητα για 𝑛 ≤ 𝑚,
που ονομάζεται χώρος καταστάσεων. Έστω 𝒴 ⊆ ℝ𝑚 μια πολλαπλότητα 𝑛𝑦 −διαστάσεων για 𝑛𝑦 ≤ 𝑚, που
ονομάζεται χώρος παρατήρησης. Για κάθε 𝑥𝜖𝒳, έστω 𝛹(𝑥) ⊆ ℝ𝑚 μια πολλαπλότητα 𝑛𝑛 − διαστάσεων για
𝑛𝑛 ≤ 𝑚, που ονομάζεται σύνολο ενεργειών ανίχνευσης της φύσης. Τα τρία είδη αντιστοιχίσεων αισθητήρων ℎ,
που ορίζονται στην προηγούμενη ενότητα, είναι πιθανό, για να δώσουν είτε μια αντιστοίχιση κατάστασης 𝑦 =
ℎ(𝑥), μια αντιστοίχιση κατάστασης-φύσης 𝑦 = ℎ(𝑥, 𝜓) είτε μια χαρτογράφηση κατάστασης- με βάση 𝑦 =
ℎ𝑘 (𝑥1 , 𝑥2 , … , 𝑥𝑘 , 𝑦). Για την περίπτωση μιας αντιστοίχισης κατάστασης, οι προεικόνες 𝐻(𝑦) επάγουν και πάλι
μια κατάτμηση του 𝒳. Οι προεικόνες μπορούν επίσης να οριστούν για αντιστοιχίσεις καταστάσεων, αλλά δεν
προκαλούν απαραίτητα μια κατάτμηση του 𝒳.
Πολλά ενδιαφέροντα μοντέλα αίσθησης μπορούν να διαμορφωθούν σε χώρους συνεχούς κατάστασης.
Υπάρχει για άλλη μια φορά η επιλογή της μη ντετερμινιστικής ή πιθανολογικής αβεβαιότητας, εάν
χρησιμοποιούνται ενέργειες ανίχνευσης της φύσης. Εάν χρησιμοποιείται μη ντετερμινιστική αβεβαιότητα, οι
εκφράσεις είναι ίδιες με τη διακριτή περίπτωση. Τα πιθανοτικά μοντέλα ορίζονται ως συνάρτηση πυκνότητας
πιθανότητας, 𝑝: 𝛹 → [0, ∞) στην οποία το 𝑝(𝜓) υποδηλώνει την αντικατάσταση συνεχούς χρόνου για το 𝛲(𝜓).
Το μοντέλο μπορεί επίσης να εκφραστεί ως 𝑝(𝑦|𝑥), με τον ίδιο τρόπο που λήφθηκε το 𝑃(𝑦|𝑥) για χώρους
διακριτών καταστάσεων.
Οι συνήθεις τρεις επιλογές υπάρχουν για τις αρχικές συνθήκες:
• Δίνεται είτε 𝑥1 𝜖𝒳.
• Δίνεται ένα υποσύνολο 𝒳1 𝜖𝒳.
• Δίνεται μια συνάρτηση πυκνότητας πιθανότητας 𝑝(𝑥). Οι χώροι αρχικής κατάστασης στις δύο
τελευταίες περιπτώσεις μπορεί να είναι τεράστιοι. Για παράδειγμα, εάν το 𝒳 = [0,1] και
οποιοδήποτε υποσύνολο είναι πιθανά ως αρχική συνθήκη, τότε ℐ0 = 𝑝𝑜𝑤(ℝ), που έχει
υψηλότερη ιδιότητα από το ℝ. Εάν είναι δυνατή οποιαδήποτε συνάρτηση πυκνότητας
πιθανότητας, τότε το ℐ0 είναι ένα διάστημα λειτουργίες.

8.3.2 Χώροι Πληροφοριών Συνεχούς Χρόνου


Τώρα υποθέστε ότι υπάρχει μια συνέχεια σταδίων. Τα περισσότερα από τα στοιχεία της προηγούμενης υπο-
ενότητας παραμένουν τα ίδια. Η χαρτογράφηση του αισθητήρα παραμένει επίσης η ίδια. Η κύρια διαφορά
εμφανίζεται στην εξίσωση μετάβασης της κατάστασης, επειδή η επίδραση της φύσης πρέπει να εκφράζεται με

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 211
όρους ταχυτήτων. Στο τρέχον πλαίσιο ενδέχεται να υπάρχουν αβεβαιότητες, τόσο στην προβλεψιμότητα, όσο
και στην αίσθηση της τρέχουσας κατάστασης.
Για την περίπτωση διακριτού σταδίου, οι καταστάσεις ℐ της ιστορίας βασίστηκαν σε ακολουθίες δράσης
και παρατήρησης. Για την περίπτωση συνεχούς χρόνου, η ιστορία γίνεται αντίθετα συνάρτηση του χρόνου.
Έστω ότι το 𝛵 υποδηλώνει ένα χρονικό διάστημα, το οποίο μπορεί να είναι περιορισμένο ή απεριόριστο. Έστω
𝑦̃𝑡 : [0, 𝑡] → 𝑌 το ιστορικό παρατήρησης μέχρι τον χρόνο 𝑡𝜖𝑇. Ομοίως, έστω 𝑢̃𝑡 : [0, 𝑡) → 𝑈 και 𝑥̃𝑡 : [0, 𝑡] → 𝒳
ονομάζονται ιστορικό ενεργειών και ιστορικό κατάστασης, αντίστοιχα, μέχρι τη στιγμή 𝑡𝜖𝑇.
Έτσι, τα τρία είδη αντιστοιχίσεων αισθητήρων στην περίπτωση συνεχούς χρόνου είναι τα εξής:
• Μια αντιστοίχιση κατάστασης-αισθητήρα εκφράζεται ως 𝑦(𝑡) = ℎ(𝑥(𝑡)), στην οποία 𝑥(𝑡) και
𝑦(𝑡) είναι η κατάσταση και η παρατήρηση, αντίστοιχα, τη χρονική στιγμή 𝑡𝜖𝑇.
• Μια αντιστοίχιση κατάστασης-φύσης εκφράζεται ως 𝑦(𝑡) = ℎ(𝑥 (𝑡), 𝜓(𝑡)), που σημαίνει ότι η
φύση επιλέγει κάποια 𝜓(𝑡)𝜖𝛹(𝑥 (𝑡)) για κάθε 𝑡𝜖𝑇.
• Μια χαρτογράφηση αισθητήρα με βάση το ιστορικό, η οποία θα μπορούσε να εξαρτάται από όλες
τις καταστάσεις που έχουν ληφθεί μέχρι τώρα. Επομένως, εξαρτάται από ολόκληρη τη συνάρτηση
𝑥̃(𝑡). Αυτό θα μπορούσε να συμβολιστεί ως 𝑦(𝑡) = ℎ(𝑥̃ (𝑡), 𝜓(𝑡)), εάν η φύση μπορεί επίσης να
παρέμβει στην παρατήρηση.
Εάν τα 𝑢̃𝑡 και 𝑦̃𝑡 συνδυάζονται με την αρχική συνθήκη 𝓃0 , η κατάσταση ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 τη στιγμή 𝑡 λαμβάνεται ως
𝓃𝑡 = (𝓃0 , 𝑢̃𝑡 , 𝑦̃𝑡 ) (8.21)
Το ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 τη χρονική στιγμή 𝑡 είναι το σύνολο όλων των πιθανών 𝓃𝑡 και συμβολίζεται ως ℐ𝑡 . Σημειώστε ότι
είναι χώρος συναρτήσεων, γιατί κάθε 𝓃𝑡 𝜖ℐ𝑡 είναι συνάρτηση του χρόνου. Θυμηθείτε ότι στην περίπτωση του
διακριτού σταδίου, κάθε ℐ𝑘 συνδυάστηκε σε έναν ενιαίο χώρο ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 . Το ανάλογο συνεχούς χρόνου
λαμβάνεται ως
ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 = ⋃𝑡𝜖𝑇 ℐ𝑡 ) (8.22)
που είναι μια ακανόνιστη συλλογή συναρτήσεων, επειδή έχουν διαφορετικούς τομείς. Αυτή η παρατυπία
συνέβη επίσης στην περίπτωση του διακριτού σταδίου, στην οποία το ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 αποτελούνταν από ακολουθίες
διαφορετικού μήκους.
Έστω 𝐿 μια συνάρτηση κόστους που μπορεί να εφαρμοστεί σε οποιοδήποτε ιστορικό ενεργειών
κατάστασης (𝑥̃𝑡 , 𝑢̃𝑡 ) για να αποδώσει
𝑡
𝐿(𝑥̃𝑡 , 𝑢̃𝑡 ) = ∫0 𝑙(𝑥 (𝑡 ′ ), 𝑢(𝑡 ′ ))𝑑𝑡 + 𝑙𝐹 (𝑥(𝑡)) ) (8.23)
όπου 𝑙(𝑥 (𝑡 ′ ), 𝑢(𝑡 ′ )) είναι το στιγμιαίο κόστος και 𝑙𝐹 (𝑥(𝑡)) είναι ένα τελικό κόστος.

8.4 Παραδείγματα Συνεχών Χώρων

8.4.1 Μοντέλα Αισθητήρων


Μια αξιοσημείωτη ποικιλία μοντέλων αίσθησης προκύπτει σε εφαρμογές που περιλαμβάνουν χώρους συνεχούς
κατάστασης. Αυτή η ενότητα παρουσιάζει έναν κατάλογο διαφορετικών ειδών μοντέλων αισθητήρων, που
εμπνέεται κυρίως από προβλήματα ρομποτικής. Τα μοντέλα συγκεντρώνονται σε ένα μέρος για να παρέχουν
μια «βολική» αναφορά. Μερικά από αυτά θα χρησιμοποιηθούν σε επόμενες ενότητες και άλλα
περιλαμβάνονται για να βοηθήσουν στην κατανόηση των χώρων ℐ. Για κάθε αισθητήρα, υπάρχουν συνήθως
δύο διαφορετικές εκδόσεις, με βάση το αν περιλαμβάνονται ενέργειες ανίχνευσης του χώρου εργασίας.
Μοντέλα γραμμικής ανίχνευσης Τα μοντέλα γραμμικής ανίχνευσης που αναπτύχθηκαν κυρίως στη
βιβλιογραφία της θεωρίας ελέγχου, είναι μερικά από τα πιο κοινά και σημαντικά. Για όλους τους αισθητήρες
αυτής της οικογένειας, υποθέστε ότι 𝒳 = 𝑌 = ℝ𝑛 (μη μοναδικοί γραμμικοί μετασχηματισμοί επιτρέπουν στον
χώρο του αισθητήρα να έχει αποτελεσματικά χαμηλότερη διάσταση, εάν είναι επιθυμητό). Η απλούστερη
περίπτωση αυτής της οικογένειας είναι ο αισθητήρας ταυτότητας, στον οποίο 𝑦 = 𝑥. Σε αυτήν την περίπτωση,
η κατάσταση είναι άμεσα γνωστή. Εάν αυτός ο αισθητήρας είναι διαθέσιμος σε κάθε στάδιο, τότε το ℐ
συμπτύσσεται στο 𝒳 από το ℐ − χάρτη 𝜅𝑠𝑓 : ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 → 𝒳.

Ηλίας Ξυδιάς 212


Τώρα οι ενέργειες ανίχνευσης του χώρου εργασίας μπορούν να χρησιμοποιηθούν για να αλλοιώσουν
αυτήν την παρατήρηση τέλειας κατάστασης για να λάβουμε 𝑦 = ℎ(𝑥, 𝜓)= 𝑥 + 𝜓. Ας υποθέσουμε ότι το 𝑦 είναι
μια εκτίμηση του 𝑥, της τρέχουσας κατάστασης, με το σφάλμα να περιορίζεται από μια σταθερά 𝑟𝜖(0, ∞). Αυτό
μπορεί να μοντελοποιηθεί εκχωρώντας για κάθε 𝑥𝜖𝒳, 𝛹(𝑥) ως μια κλειστή σφαίρα ακτίνας 𝑟, με κέντρο στην
αρχή:
𝛹 = {𝜓𝜖ℝ𝑛 |‖𝜓‖ ≤ 𝑟} ) (8.24)
Η Εικόνα 8.3 απεικονίζει το προκύπτον μη ντετερμινιστικό αισθητήριο μοντέλο. Εάν ληφθεί η παρατήρηση 𝑦,
τότε είναι γνωστό ότι η αληθινή κατάσταση βρίσκεται μέσα σε μια μπάλα ακτίνας 𝑟, με κέντρο το 𝑦. Αυτή η
μπάλα είναι το preimage 𝛨(𝑦), όπως ορίζεται στο [1]. Για να γίνει το μοντέλο πιθανολογικό, μπορεί να οριστεί
μια συνάρτηση πυκνότητας πιθανότητας πάνω από το 𝛹. Για παράδειγμα, θα μπορούσε να υποτεθεί ότι το 𝑝(𝜓)
είναι μια ομοιόμορφη πυκνότητα (αν και αυτό το μοντέλο δεν είναι πολύ ρεαλιστικό σε πολλές εφαρμογές,
επειδή υπάρχει ένα όριο στο οποίο η μάζα πιθανότητας μεταβαίνει ασυνεχώς στο μηδέν).

Εικόνα 8.3 Ένα απλό μοντέλο ανίχνευσης στο οποίο το σφάλμα παρατήρησης δεν είναι μεγαλύτερο από το r: (α) ο χώρος
δράσης ανίχνευσης φύσης. (β) η προεικόνα στο 𝒳 με βάση την παρατήρηση 𝑦.

Ένα πιο τυπικό μοντέλο ανίχνευσης πιθανοτήτων μπορεί να γίνει αφήνοντας 𝛹 (𝑥 ) = ℝ𝑛 και ορίζοντας μια
συνάρτηση πυκνότητας πιθανότητας σε όλο το ℝ𝑛 . (Σημειώστε ότι η μη ντετερμινιστική έκδοση αυτού του
αισθητήρα είναι εντελώς άχρηστη). Μία από τις πιο εύκολες επιλογές για εργασία είναι η πολυμεταβλητή
συνάρτηση πυκνότητας πιθανότητας Gauss
1 1 𝛵
(8.25)
𝑝(𝜓) = 𝑒 −2𝜓 𝛴𝜓
√(2𝜋)𝑛 |𝛴|
όπου 𝛴 είναι ο πίνακας συνδιακύμανσης [1], |𝛴| είναι ο προσδιοριστής του και το 𝜓 𝛵 𝛴𝜓 είναι μια τετραγωνική
μορφή, η οποία πολλαπλασιάζεται για να δώσει
𝑛 𝑛
(8.26)
𝜓 𝛵 𝛴𝜓 = ∑ ∑ 𝜎𝑖,𝑗 𝜓𝑖 𝜓𝑗
𝑖=1 𝑗=1
Εάν το 𝑝(𝑥) είναι Gaussian και το 𝑦 λαμβάνεται, τότε το 𝑝(𝑦|𝑥) πρέπει επίσης να είναι Gaussian σε αυτό το
μοντέλο.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 213
Τα αισθητήρια μοντέλα που παρουσιάζονται μέχρι τώρα μπορούν να γενικευθούν εφαρμόζοντας
γραμμικούς μετασχηματισμούς. Για παράδειγμα, έστω ότι το 𝒞 υποδηλώνει έναν μη ενικό 𝑛 × 𝑛 πίνακα με
καταχωρήσεις πραγματικής αξίας. Εάν η αντιστοίχιση του αισθητήρα είναι 𝑦 = ℎ(𝑥 ) = 𝒞𝑥, τότε η κατάσταση
μπορεί ακόμα να προσδιοριστεί αμέσως, επειδή η αντιστοίχιση 𝑦 = 𝒞𝑥 είναι διττή. Κάθε 𝐻 (𝑦) περιέχει ένα
μοναδικό σημείο του 𝒳. Ένας γραμμικός μετασχηματισμός μπορεί επίσης να σχηματιστεί στη δράση
ανίχνευσης της φύσης. Έστω 𝒲 συμβολίζει έναν 𝑛 × 𝑛 πίνακα. Η χαρτογράφηση του αισθητήρα είναι
𝑦 = ℎ(𝑥 ) = 𝒞𝑥 + 𝒲𝜓 (8.27)
Γενικά, το 𝒞 και το 𝒲 μπορεί να είναι ακόμη και μοναδικά, και ένα γραμμικό μοντέλο ανίχνευσης εξακολουθεί
να λαμβάνεται. Ας υποθέσουμε ότι 𝒲 = 0. Εάν το 𝒞 είναι ενικό, ωστόσο, είναι αδύνατο να συναχθεί η
κατάσταση απευθείας από μια μόνο παρατήρηση αισθητήρα. Αυτό γενικά αντιστοιχεί σε μια προβολή από έναν
χώρο κατάστασης 𝑛-διάστατο σε ένα υποσύνολο του 𝑌, του οποίου η διάσταση είναι η κατάταξη του 𝒞. Για
παράδειγμα, αν
0 1 (8.28)
𝒞=( )
0 0
τότε το 𝑦 = 𝒞𝑥 αποδίδει 𝑦1 = 𝑥2 και 𝑦2 = 0. Μόνο 𝑥2 από το καθένα (𝑥1 , 𝑥2 )𝜖𝒳 μπορεί να παρατηρηθεί,
επειδή το 𝒞 έχει κατάταξη 1. Έτσι, για ορισμένες ειδικές περιπτώσεις, οι μοναδικοί πίνακες μπορούν να
μετρήσουν ορισμένες μεταβλητές κατάστασης, ενώ αφήνουν άλλες αόρατες. Για έναν γενικό ενικό πίνακα 𝒞,
η ερμηνεία είναι ότι το 𝒳 προβάλλεται σε κάποιον υποχώρο k-διαστάσεων από τον αισθητήρα, στον οποίο k
είναι η κατάταξη του 𝒞. Εάν το 𝒲 είναι ενικό, αυτό σημαίνει ότι η επίδραση της φύσης είναι περιορισμένη. Οι
βαθμοί ελευθερίας με τους οποίους η φύση μπορεί να παραμορφώσει τις παρατηρήσεις του αισθητήρα είναι ο
βαθμός του 𝒲. Αυτές οι ιδέες παρακινούν το επόμενο σύνολο μοντέλων αισθητήρων.
Απλοί αισθητήρες προβολής: Πολλά κοινά μοντέλα αισθητήρων μπορούν να οριστούν, παρατηρώντας
συγκεκριμένες συντεταγμένες του 𝒳 κι αφήνοντας άλλες αόρατες. Φανταστείτε, για παράδειγμα, ένα κινητό
ρομπότ που κυλά σε έναν κόσμο 2 διαστάσεων 𝒲 = ℝ2 και είναι ικανό να περιστρέφεται. Ο χώρος κατάστασης
(ή χώρος διαμόρφωσης) είναι 𝒳 = ℝ2 × 𝕊1 . Για λόγους οπτικοποίησης, μπορεί να είναι χρήσιμο να
φανταστούμε ότι το ρομπότ είναι πολύ μικροσκοπικό, έτσι ώστε να μπορεί να ερμηνευθεί ως ένα σημείο. Έστω
𝑝 = (𝑝1 , 𝑝2 ) που υποδηλώνει τις συντεταγμένες του σημείου, και έστω 𝑠𝜖𝕊1 , 𝜋𝜊𝜐 𝜐𝜋𝜊𝛿𝜂𝜆ώ𝜈𝜀𝜄 τον
προσανατολισμό του. Έτσι, μια κατάσταση στο ℝ2 × 𝕊1 προσδιορίζεται ως (𝑝1 , 𝑝2 , 𝑠) (αντί για (𝑥, 𝑦, 𝜃), το
οποίο μπορεί να προκαλέσει σύγχυση με σημαντικούς χώρους όπως 𝒳, 𝛶 και 𝛩.
Ας υποθέσουμε ότι το ρομπότ μπορεί να εκτιμήσει τη θέση του, αλλά δεν γνωρίζει τον προσανατολισμό
του. Αυτό οδηγεί σε έναν αισθητήρα θέσης που ορίζεται ως 𝛶 = ℝ2 , με 𝑦1 = 𝑝1 και 𝑦2 = 𝑝2 (συμβολίζεται
επίσης ως 𝑦 = ℎ(𝑥 ) = 𝑝). Η τρίτη μεταβλητή κατάστασης 𝑠 παραμένει άγνωστη. Φυσικά, μπορεί να προστεθεί
οποιοδήποτε από τα προηγουμένως θεωρημένα μοντέλα δράσης ανίχνευσης φύσης. Για παράδειγμα, η φύση
μπορεί να προκαλέσει σφάλματα που μοντελοποιούνται με πυκνότητες πιθανότητας Gauss.
Μια πυξίδα ή αισθητήρας προσανατολισμού μπορεί επίσης να γίνει παρατηρώντας μόνο τη μεταβλητή
τελικής κατάστασης 𝑠. Σε αυτήν την περίπτωση, 𝛶 = 𝕊1 και 𝑦 = 𝑠. Μπορούν να συμπεριληφθούν δράσεις
ανίχνευσης της φύσης. Για παράδειγμα, ο αισθητός προσανατολισμός μπορεί να είναι 𝑦, αλλά είναι γνωστό
μόνο ότι |𝑠 − 𝑦| ≤ 𝜀 για κάποια σταθερά, που είναι το μέγιστο σφάλμα αισθητήρα. Ένα μοντέλο Gauss δεν
μπορεί να εφαρμοστεί ακριβώς, επειδή ο τομέας του είναι απεριόριστος και ο 𝕊1 είναι περιορισμένος. Αυτό
μπορεί να διορθωθεί με περικοπή του Gaussian ή χρησιμοποιώντας μια πιο κατάλληλη κατανομή.
Οι αισθητήρες θέσης και προσανατολισμού γενικεύονται όμορφα σε έναν τριδιάστατο κόσμο, 𝒲 = ℝ3 .
Ένας αισθητήρας θέσης μετρά τις τρεις πρώτες συντεταγμένες, ενώ ένας αισθητήρας προσανατολισμού μετρά
τις τρεις τελευταίες συντεταγμένες. Ένας φυσικός αισθητήρας που μετρά τον προσανατολισμό στο ℝ3
ονομάζεται συχνά γυροσκόπιο. Αυτά βασίζονται συνήθως στην αρχή της μετάπτωσης, που σημαίνει ότι
περιέχουν έναν περιστρεφόμενο δίσκο που είναι απρόθυμος να αλλάξει τον προσανατολισμό του, λόγω της
γωνιακής ορμής. Για την περίπτωση μιας σύνδεσης σωμάτων που συνδέονται με περιστροφικούς συνδέσμους,
ένα σημείο στον χώρο κατάστασης δίνει τις γωνίες μεταξύ κάθε ζεύγους συνδεδεμένων συνδέσμων. Ένας
κοινός κωδικοποιητής είναι ένας αισθητήρας που δίνει μία από αυτές τις γωνίες.
Η δυναμική των μηχανικών συστημάτων δεν θα ληφθεί υπόψη, όπως έχει ήδη αναφερθεί, ωστόσο αξίζει
να επισημάνουμε αρκετούς αισθητήρες. Σε αυτά τα προβλήματα, ο χώρος κατάστασης θα επεκταθεί, ώστε να
περιλαμβάνει παραμέτρους ταχύτητας και, πιθανώς, ακόμη και παραμέτρους επιτάχυνσης. Σε αυτήν την
περίπτωση, ένα ταχύμετρο μπορεί να ανιχνεύσει ένα διάνυσμα ταχύτητας ή μια βαθμωτή ταχύτητα. Υπάρχουν

Ηλίας Ξυδιάς 214


ακόμη και αισθητήρες για τη μέτρηση της γωνιακής ταχύτητας, η οποία δείχνει την ταχύτητα με την οποία
συμβαίνει η περιστροφή. Τέλος, ένα επιταχυνσιόμετρο μπορεί να χρησιμοποιηθεί για την ανίχνευση
παραμέτρων επιτάχυνσης. Με οποιοδήποτε από αυτά τα μοντέλα, οι ενέργειες ανίχνευσης της φύσης μπορούν
να χρησιμοποιηθούν για να ληφθούν υπόψη τα σφάλματα μέτρησης.
Αισθητήρες ορίων: Εάν ο χώρος καταστάσεων έχει ένα ενδιαφέρον όριο, όπως στην περίπτωση του
𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 για προβλήματα σχεδιασμού κίνησης, τότε πολλοί σημαντικοί αισθητήρες ορίων μπορούν να
διαμορφωθούν με βάση την ανίχνευση του ορίου. Η Εικόνα 8.4 δείχνει αρκετές ενδιαφέρουσες περιπτώσεις
στις οποίες βασίζονται οι αισθητήρες.
Ας υποθέσουμε ότι ο χώρος κατάστασης είναι ένα κλειστό σύνολο με κάποιο καλά καθορισμένο όριο.
Για να παράσχετε μια σύνδεση με τον προγραμματισμό κίνησης, υποθέστε ότι 𝒳 = 𝑐𝑙(𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 ), το κλείσιμο
του 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 . Ένας αισθητήρας επαφής καθορίζει εάν γίνεται επαφή με το όριο. Σε αυτήν την περίπτωση, το
𝑌 = {0,1} και το ℎ ορίζεται ως ℎ(𝑥 ) = 1 εάν 𝑥𝜖𝜕𝒳, και ℎ(𝑥 ) = 0 διαφορετικά. Αυτές οι δύο περιπτώσεις
φαίνονται στις Εικόνες 8.3(α) και 8.3(β), αντίστοιχα. Χρησιμοποιώντας αυτόν τον αισθητήρα, δεν υπάρχουν
πληροφορίες σχετικά με το πού κατά μήκος του ορίου μπορεί να εμφανίζεται η επαφή. Στην φορητή ρομποτική,
μπορεί να είναι καταστροφικό εάν το ρομπότ είναι σε επαφή με εμπόδια. Αντίθετα, χρησιμοποιείται συχνά ένας
αισθητήρας εγγύτητας, ο οποίος υποχωρεί ℎ(𝑥 ) = 1 εάν η κατάσταση ή η θέση είναι εντός κάποιας
καθορισμένης σταθεράς 𝑟 του 𝜕𝒳 και ℎ(𝑥 ) = 0 διαφορετικά. Αυτό φαίνεται στην Εικόνα 8.4.

Εικόνα 8.4 Οι αισθητήρες ορίων υποδεικνύουν εάν έχει συμβεί επαφή με το όριο. Στην τελευταία περίπτωση, ένας
αισθητήρας εγγύτητας μπορεί να υποδεικνύει εάν το όριο βρίσκεται εντός μιας καθορισμένης απόστασης.

Σε ρομποτικό βραχίονα, απτικές διεπαφές και άλλες εφαρμογές στις οποίες λαμβάνει χώρα φυσική
αλληλεπίδραση μεταξύ μηχανών και περιβάλλοντος, μπορεί να χρησιμοποιηθεί ένας αισθητήρας δύναμης.
Εκτός από την απλή ένδειξη της επαφής, ένας αισθητήρας δύναμης μπορεί να υποδείξει το μέγεθος και την
κατεύθυνση της δύναμης. Το μοντέλο ρομπότ πρέπει να διαμορφωθεί έτσι ώστε να είναι δυνατός ο υπολογισμός
της αναμενόμενης τιμής δύναμης από μια δεδομένη κατάσταση.
Αισθητήρες ορόσημων: Πολλά σημαντικά μοντέλα ανίχνευσης μπορούν να οριστούν ως ορόσημα. Ένα
ορόσημο είναι ένα ειδικό σημείο ή περιοχή στον χώρο κατάστασης, που μπορεί να ανιχνευθεί με κάποιον τρόπο
από τον αισθητήρα. Οι μετρήσεις του ορόσημου μπορούν να χρησιμοποιηθούν για την εξαγωγή
συμπερασμάτων σχετικά με την τρέχουσα κατάσταση. Ένα παράδειγμα από την αρχαιότητα είναι η χρήση
αστεριών για την πλοήγηση στον ωκεανό. Με βάση τη θέση των αστεριών σε σχέση με ένα πλοίο, μπορεί να
συναχθεί ο προσανατολισμός του. Μπορεί να έχετε βρει ορόσημα χρήσιμα για να προσπαθήσετε να βρείτε τον
δρόμο σας μέσα από μια άγνωστη πόλη. Για παράδειγμα, βουνά γύρω από την Πόλη του Μεξικό ή τον Πύργο

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 215
του Άιφελ στο Παρίσι μπορεί να χρησιμοποιηθούν για να συμπεράνουμε την κατεύθυνσή σας. Παρόλο που οι
δρόμοι του Παρισιού είναι πολύ περίπλοκοι, ίσως είναι δυνατό να περπατήσετε μέχρι τον Πύργο του Άιφελ
περπατώντας προς αυτόν όποτε είναι ορατός. Τέτοια μοντέλα είναι κοινά στο πλαίσιο ανταγωνιστικών
αναλογιών για την ανάλυση αλγορίθμων on-line [2].
Γενικά, ένα σύνολο καταστάσεων μπορούν να χρησιμεύσουν ως ορόσημα. Ένα κοινό μοντέλο είναι να
γίνει το 𝑥𝐺 ένα μοναδικό ορόσημο. Σε εφαρμογές ρομποτικής, αυτά τα ορόσημα μπορούν, αντ' αυτού, να
θεωρηθούν ως σημεία στον κόσμο 𝒲. Είναι, επίσης, δυνατές οι γενικεύσεις από σημεία σε περιοχές ορόσημα.
Μετά από αυτήν την παρουσίαση, μπορείτε να φανταστείτε μια μεγάλη ποικιλία από γενικεύσεις. Ας
υποθέσουμε για όλα τα παραδείγματα ορόσημων ότι 𝒳 = ℝ2 , και έστω ότι μια κατάσταση συμβολίζεται με
𝑥 = (𝑥1 , 𝑥2 ).
Για τα πρώτα παραδείγματα, ας υποθέσουμε ότι υπάρχει μόνο ένα ορόσημο 𝑙𝜖𝒳 με συντεταγμένες
(𝑙1 , 𝑙2 ). Ένας αισθητήρας υποδοχής απεικονίζεται στην Εικόνα 8.5 και αποδίδει τιμές σε 𝑌 = 𝕊1 . Η
αντιστοίχιση του αισθητήρα είναι ℎ(𝑥) = 𝑎𝑡𝑎𝑛2(𝑙1 − 𝑥1 , 𝑙2 − 𝑥2 ), στην οποία το atan2 δίνει τη γωνία στο
σωστό τεταρτημόριο.

Εικόνα 8.5 Ο πιο βασικός αισθητήρας ορόσημο υποδεικνύει μόνο την κατεύθυνσή του.

Μια άλλη δυνατότητα είναι ένας αισθητήρας μετρητή Geiger (επίπεδο ακτινοβολίας), στον οποίο 𝑌 = [0, ∞)
και ℎ(𝑥) = ||𝑥 − 𝑙||. Σε αυτήν την περίπτωση, αναφέρεται μόνο η απόσταση από το ορόσημο, αλλά δεν
υπάρχουν πληροφορίες κατεύθυνσης.
Ένας αισθητήρας επαφής θα μπορούσε επίσης να συνδυαστεί με την ιδέα ορόσημο για να δώσει έναν
αισθητήρα που ονομάζεται βότσαλο. Αυτός ο αισθητήρας αναφέρει 1, εάν το βότσαλο έχει «αγγίξει».
Διαφορετικά, αναφέρει 0. Αυτή η ιδέα μπορεί να γενικευτεί επιτυχώς σε πλήθος περιοχών. Φανταστείτε ότι
υπάρχει μια περιοχή ορόσημο 𝒳𝑙 ⊂ 𝒳. Εάν 𝑥𝜖𝒳𝑙 , τότε ο ανιχνευτής περιοχής ορόσημου αναφέρει 1.
Διαφορετικά, αναφέρει 0.
Πολλά χρήσιμα και ενδιαφέροντα μοντέλα ανίχνευσης μπορούν να διαμορφωθούν χρησιμοποιώντας
ιδέες που εξηγήθηκαν μέχρι τώρα με πολλά ορόσημα. Για παράδειγμα, χρησιμοποιώντας τρεις αισθητήρες
υποδοχής που δεν είναι συγγραμμικοί, είναι δυνατή η ανακατασκευή της ακριβούς κατάστασης. Πολλά
ενδιαφέροντα προβλήματα μπορούν να δημιουργηθούν συμπληρώνοντας τον χώρο κατάστασης με περιοχές
ορόσημα και τους σχετικούς ανιχνευτές τους. Σε κινητές εφαρμογές ρομποτικής, αυτό μπορεί να εφαρμοστεί
με την τοποθέτηση σταθερών καμερών ή άλλων αισθητήρων σε ένα περιβάλλον. Οι αισθητήρες μπορούν να
υποδείξουν ποιες κάμερες μπορούν αυτήν τη στιγμή να δουν το ρομπότ. Μπορεί, επίσης, να παρέχουν την
απόσταση από κάθε κάμερα.
Αισθητήρες χαρτογράφησης βάθους: Σε πολλές εφαρμογές ρομποτικής, το ρομπότ μπορεί να μην έχει
χάρτη με τα εμπόδια στον κόσμο. Σε αυτήν την περίπτωση, η αίσθηση χρησιμοποιείται, τόσο για την εκμάθηση
του περιβάλλοντος, όσο και για τον προσδιορισμό της θέσης και του προσανατολισμού του μέσα στο
περιβάλλον. Ας υποθέσουμε ότι ένα ρομπότ πέφτει σε ένα περιβάλλον, όπως φαίνεται στην Εικόνα 8.6(α). Για
προβλήματα όπως αυτό, το κράτος αντιπροσωπεύει, τόσο τη θέση του ρομπότ, όσο και τα ίδια τα εμπόδια. Εδώ,
δίνονται ορισμένα μοντέλα αισθητήρων για προβλήματα αυτού του τύπου. Αυτά σχετίζονται με τους

Ηλίας Ξυδιάς 216


αισθητήρες ορίων και εγγύτητας της Εικόνας 8.5, αλλά παρέχουν περισσότερες πληροφορίες όταν το ρομπότ
δεν βρίσκεται στο όριο.
Ένας από τους παλαιότερους αισθητήρες που χρησιμοποιούνται στην κινητή ρομποτική είναι ένα
ακουστικό σόναρ, το οποίο εκπέμπει ένα ηχητικό κύμα υψηλής συχνότητας σε μια συγκεκριμένη κατεύθυνση
και μετρά τον χρόνο που χρειάζεται για να ανακλαστεί το κύμα από έναν τοίχο και να επιστρέψει στο βυθόμετρο
(συχνά το σόναρ χρησιμεύει και ως ηχείο και ως μικρόφωνο). Με βάση την ταχύτητα του ήχου και τον χρόνο
πτήσης, μπορεί να εκτιμηθεί η απόσταση από τον τοίχο. Μερικές φορές, το κύμα δεν επιστρέφει ποτέ. Αυτό
μπορεί να διαμορφωθεί με τη φύση. Επίσης, τα σφάλματα στην εκτίμηση της απόστασης μπορούν να
μοντελοποιηθούν με τη φύση. Γενικά, ο χώρος παρατήρησης 𝑌 για ένα μόνο βυθόμετρο είναι [0, ∞], στο οποίο
το ∞ δείχνει ότι το κύμα δεν επέστρεψε. Η ερμηνεία του 𝑌 θα μπορούσε να είναι ο χρόνος πτήσης ή θα
μπορούσε ήδη να μετατραπεί σε εκτιμώμενη απόσταση. Εάν υπάρχουν 𝑘 σόναρ, καθένα από τα οποία δείχνει
προς διαφορετική κατεύθυνση, τότε 𝑌 = [0, ∞]𝑘 , που δείχνει ότι μπορεί να ληφθεί μία ένδειξη για κάθε
βυθόμετρο. Για παράδειγμα, στην Εικόνα 8.6(β) δείχνει τέσσερα σόναρ και τις αποστάσεις που μπορούν να
μετρήσουν. Επομένως, κάθε παρατήρηση δίνει ένα σημείο στο ℝ4 .

Εικόνα 8.6 (α) Ένα κινητό ρομπότ κινείται σε ένα άγνωστο περιβάλλον. (β) Τέσσερα βυθόμετρα χρησιμοποιούνται για τη
μέτρηση αποστάσεων από τους τοίχους.

Η σύγχρονη τεχνολογία σάρωσης λέιζερ επιτρέπει πολύ ακριβείς μετρήσεις απόστασης με πολύ υψηλή γωνιακή
πυκνότητα. Για παράδειγμα, το SICK LMS-200 μπορεί να λάβει μια μέτρηση απόστασης για τουλάχιστον κάθε
1/2 μοίρες και να σαρώσει τις πλήρεις 360 μοίρες τουλάχιστον 30 φορές το δευτερόλεπτο. Η ακρίβεια μέτρησης
σε ένα εσωτερικό περιβάλλον είναι συχνά της τάξης των λίγων χιλιοστών. Φανταστείτε την περιοριστική
περίπτωση, που είναι σαν να έχετε μια συνέχεια σόναρ, ένα για κάθε γωνία στο 𝕊1 . Αυτό έχει ως αποτέλεσμα
έναν αισθητήρα, που ονομάζεται σαρωτής εμβέλειας ή αισθητήρας ορατότητας, ο οποίος παρέχει μια μέτρηση
απόστασης για κάθε 𝑠𝜖𝕊1 , όπως φαίνεται στην Εικόνα 8.7.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 217
Εικόνα 8.7 Ένας σαρωτής εμβέλειας ή ένας αισθητήρας ορατότητας είναι σαν να έχετε μια συνέχεια σόναρ, με πολύ
μεγαλύτερη ακρίβεια. Παρέχεται μια τιμή απόστασης για το καθένα 𝑠𝜖𝕊1 .

Ένας πιο αδύναμος αισθητήρας μπορεί να δημιουργηθεί υποδεικνύοντας μόνο σημεία στο 𝕊1 στα οποία
εμφανίζονται ασυνέχειες (ή κενά) στη σάρωση βάθους. Αναφερθείτε σε αυτό ως αισθητήρα κενού. Ένα
παράδειγμα φαίνεται στην Εικόνα 8.8. Ίσως μάλιστα να συμβαίνει ότι μόνο η κυκλική διάταξη αυτών των
διακένων δίνεται γύρω από το 𝕊1 , χωρίς να γνωρίζουμε τις σχετικές γωνίες μεταξύ τους ή την απόσταση από
κάθε διάκενο.

Εικόνα 8.8 Ένας αισθητήρας κενού υποδεικνύει μόνο τις κατευθύνσεις στις οποίες συμβαίνουν ασυνέχειες σε βάθος, αντί
να παρέχει πληροφορίες απόστασης.

Αισθητήρες οδομετρίας: Τα κινητά ρομπότ έχουν συχνά αισθητήρες οδομετρίας, οι οποίοι υποδεικνύουν πόσο
μακριά έχει πάει το ρομπότ, με βάση την ποσότητα που έχουν γυρίσει οι τροχοί. Τέτοιες μετρήσεις είναι συχνά
ανακριβείς λόγω ολίσθησης τροχού, ατελειών επιφάνειας και μικρών σφαλμάτων μοντελοποίησης. Για ένα
δεδομένο ιστορικό κατάστασης 𝑥̃𝑡 , ένας αισθητήρας μπορεί να εκτιμήσει τη συνολική απόσταση που
διανύθηκε. Για αυτό το μοντέλο, 𝑌 = [0, ∞) και 𝑦 = ℎ(𝑥̃𝑡 ), στο οποίο το όρισμα 𝑥̃𝑡 στο h είναι ολόκληρο το
ιστορικό κατάστασης μέχρι τη στιγμή t. Ένας άλλος τρόπος για να μοντελοποιήσετε την οδομετρία είναι να
έχετε έναν αισθητήρα που υποδεικνύει την εκτιμώμενη απόσταση που διανύθηκε από το τελευταίο στάδιο.
Αυτό αποφεύγει την εξάρτηση από ολόκληρο το ιστορικό, αλλά μπορεί να είναι πιο δύσκολο να
μοντελοποιηθούν τα προκύπτοντα σφάλματα στην εκτίμηση της απόστασης.
Σε κάποια βιβλιογραφία (π.χ. [3]) το ιστορικό δράσης 𝑢̃𝑡 αναφέρεται ως οδομετρία. Αυτή η ερμηνεία
είναι κατάλληλη σε ορισμένες εφαρμογές. Για παράδειγμα, κάθε ενέργεια μπορεί να αντιστοιχεί σε περιστροφή
των πεντάλ κατά μία πλήρη περιστροφή σε ένα ποδήλατο. Ο αριθμός των φορών που έχουν γυρίσει τα πεντάλ

Ηλίας Ξυδιάς 218


μπορεί να χρησιμεύσει ως ένδειξη οδομετρίας. Εφόσον αυτές οι πληροφορίες εμφανίζονται ήδη στο 𝓃𝑘 , δεν
διαμορφώνονται σε αυτό το βιβλίο ως μέρος της διαδικασίας ανίχνευσης. Για το παράδειγμα του ποδηλάτου,
μπορεί να υπάρχει ένας αισθητήρας οδομετρίας που να βασίζεται στις μετρήσεις του σε άλλους παράγοντες
εκτός από τις κινήσεις του πεντάλ. Θα ήταν σκόπιμο να μοντελοποιηθεί αυτό ως αισθητήρας που βασίζεται στο
ιστορικό.
Ένα άλλο είδος αισθητήρα που βασίζεται στο ιστορικό είναι η παρατήρηση ενός ρολογιού τοίχου που
υποδεικνύει πόσος χρόνος έχει περάσει από το αρχικό στάδιο. Αυτό, σε συνδυασμό με άλλες πληροφορίες,
όπως η ταχύτητα του ρομπότ, θα μπορούσε να επιτρέψει την εξαγωγή ισχυρών συμπερασμάτων σχετικά με την
κατάσταση.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 219
Βιβλιογραφία/Αναφορές

[1] LaValle, S. M. (2006). Planning Algorithms. Cambridge University Press


[2] Manasse, M., McGeoch, L., & Sleator, D. (1988). Competitive algorithms for on-line problems. Proceedings
of the Twentieth Annual ACM Symposium on Theory of Computing - STOC ’88.
[3] Fox, D., Thrun, S., Burgard, W., & Dellaert, F. (2001). Particle filters for mobile robot localization. In
Sequential Monte Carlo Methods in Practice (pp. 401–428). Springer New York.

Ηλίας Ξυδιάς 220


Κεφάλαιο 9ο
Σχεδιασμός Κίνησης υπό Αβεβαιότητα Εμποδίων

Σύνοψη
Σε αυτό το κεφάλαιο διερευνούμε το πρόβλημα του σχεδιασμού της κίνησης ενός άκαμπτου αντικειμένου μεταξύ
σταθερών εμποδίων, παρουσία αβεβαιότητας. Ο πρώτος και ο κύριος παράγοντας είναι ότι τα περιβάλλοντα στα
οποία καλούνται να δουλέψουν τα ρομπότ είναι από τη φύση τους απρόβλεπτα. Παρόλο που ο βαθμός
αβεβαιότητας σε καλά δομημένα περιβάλλοντα, όπως οι γραμμές συναρμολόγησης, είναι μικρός, οι
αυτοκινητόδρομοι και τα σπίτια είναι εξαιρετικά δυναμικά και πολύ απρόβλεπτα περιβάλλοντα. Επίσης, η
αβεβαιότητα είναι εξαιρετικά μεγάλη για τα ρομπότ που λειτουργούν κοντά σε ανθρώπους.

Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.

Εισαγωγή
Στα προηγούμενα κεφάλαια υποθέσαμε ότι το ρομπότ ήταν σε θέση να ελέγχει τέλεια τις κινήσεις του, δηλαδή
να ακολουθεί ακριβώς τις γεωμετρικές διαδρομές που δημιουργούνται από τον σχεδιαστή. Αυτή η υπόθεση
είναι ρεαλιστική όταν ο χώρος εργασίας είναι σχετικά ακατάστατος και η διαμόρφωση του στόχου δεν
χρειάζεται να επιτευχθεί με μεγάλη ακρίβεια. Σε αυτές τις περιπτώσεις, εάν είναι απαραίτητο, η αβεβαιότητα
στον έλεγχο του ρομπότ μπορεί να ληφθεί υπόψη με ελαφρά «μεγέθυνση» των 𝒞-εμποδίων και σχεδιασμό μιας
ελεύθερης διαδρομής μεταξύ των αναπτυσσόμενων 𝒞-εμποδίων. Οι κινήσεις που μπορούν να
προγραμματιστούν με αυτόν τον τρόπο ονομάζονται συχνά «χονδρικές κινήσεις».
Ωστόσο, όταν ο χώρος εργασίας καταλαμβάνεται πολύ πυκνά από εμπόδια, η ανάπτυξη των εμποδίων C
μπορεί να οδηγήσει σε έναν νέο ελεύθερο χώρο, όπου η αρχική και η διαμόρφωση στόχου δεν συνδέονται πλέον
με μια ελεύθερη διαδρομή. Επιπλέον, ακόμα κι αν εξακολουθούν να συνδέονται με μια διαδρομή, η εκτέλεση
αυτής της διαδρομής μπορεί να μην επιτρέψει στο ρομπότ να επιτύχει τη διαμόρφωση στόχου με την επιθυμητή
ακρίβεια, εάν η τελευταία είναι πολύ στενή. Σε αυτές τις περιπτώσεις, κάποια αίσθηση πρέπει να ενσωματωθεί
ρητά στα σχέδια κίνησης τόσο για να παρακολουθούνται οι επιπτώσεις των κινήσεων του ρομπότ όσο και να
δίνονται οι κατάλληλες διορθωτικές κινήσεις. Στη συνέχεια, ένα σχέδιο κίνησης αποτελείται από έναν
συνδυασμό εντολών κίνησης και ενδείξεων αισθητήρων που αλληλεπιδρούν για να μειώσουν την αβεβαιότητα
και να καθοδηγήσουν το ρομπότ προς τον στόχο. Ένα τέτοιο σχέδιο συνήθως ονομάζεται στρατηγική κίνησης
και οι κινήσεις που παράγει ονομάζονται «λεπτές κινήσεις».
Γενικά, ούτε η αίσθηση είναι τέλεια και δεν παρέχει ακριβή γνώση της τρέχουσας διαμόρφωσης του
ρομπότ κατά την εκτέλεση. Ως εκ τούτου, μια θεμελιώδης δυσκολία είναι ότι υπάρχει αβεβαιότητα, όχι μόνο
κατά τον χρόνο προγραμματισμού, αλλά και κατά τον χρόνο εκτέλεσης. Είναι επομένως απαραίτητο για τον
σχεδιαστή να προβλέψει τη γνώση που θα είναι διαθέσιμη κατά την εκτέλεση, προκειμένου να εγγυηθεί ότι
αυτή η γνώση θα είναι αρκετά ακριβής, ώστε το ρομπότ να φτάσει στην περιοχή-στόχο και να σταματήσει σε
αυτήν την περιοχή αξιόπιστα. Η στρατηγική κίνησης δεν πρέπει να είναι τυχερή για να επιτευχθεί ο στόχος
αναγνωρίσιμα! Αυτό τυπικά απαιτεί από τον σχεδιαστή να παράγει εντολές κίνησης που θα κάνουν ορισμένα
συγκεκριμένα χαρακτηριστικά του χώρου εργασίας («ορόσημα») αξιόπιστα αναγνωρίσιμα και εντοπισμένα
από τους αισθητήρες. Ο σχεδιασμός μιας στρατηγικής κίνησης μπορεί να περιπλέκεται περαιτέρω από το
γεγονός ότι η γεωμετρία τόσο του ρομπότ όσο και του χώρου εργασίας, και επομένως της περιοχής 𝒞-εμποδίου
στον χώρο διαμόρφωσης, είναι επίσης ασαφώς γνωστή (αβεβαιότητα στο μοντέλο).
Σε αυτό το κεφάλαιο διερευνούμε το πρόβλημα του σχεδιασμού της κίνησης ενός άκαμπτου αντικειμένου
μεταξύ σταθερών εμποδίων, παρουσία αβεβαιότητας. Η εισαγωγή της αβεβαιότητας εγείρει νέα
μοντελοποίηση, υπολογιστικά και συνδυαστικά ζητήματα που καθιστούν το πρόβλημα σημαντικά πιο δύσκολο
από αυτά που εξετάστηκαν στα προηγούμενα κεφάλαια. Αυτό μας οδηγεί στην απλοποίηση των περιεχομένων
αυτού του κεφαλαίου, κάνοντας πολλές υποθέσεις που παρουσιάζονται στην Ενότητα 1. Αυτές οι παραδοχές,
ωστόσο, δεν μετουσιώνουν τα θεμελιώδη ζητήματα που διέπουν τον σχεδιασμό της κίνησης, παρουσία

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 221
αβεβαιότητας. Σε διάφορα μέρη, θα συζητήσουμε το αποτέλεσμα της χαλάρωσης ορισμένων από αυτές τις
υποθέσεις.

9.1 Το Πρόβλημα Σχεδιασμού Κίνησης

9.1.1 Ο Χώρος Διαμορφώσεων


Υποθέτουμε ότι το ρομπότ 𝒜 είναι ένα πολύγωνο που μπορεί να μεταφραστεί ελεύθερα σε σταθερό
προσανατολισμό στο επίπεδο μεταξύ πολυγωνικών εμποδίων. Έτσι, ο χώρος διαμόρφωσης είναι 𝒞 = ℝ2 και η
περιοχή 𝒞 − εμποδίου είναι πολυγωνική. Μια διαμόρφωση αναπαρίσταται ως 𝓆 = (𝑥, 𝑦), όπου 𝑥 και 𝑦 είναι
οι συντεταγμένες του σημείου αναφοράς του 𝒜 στον χώρο εργασίας.
Επιτρέπουμε στο 𝒜 να αγγίζει εμπόδια, έτσι ώστε ο χώρος των κινήσεων του ρομπότ να είναι ο έγκυρος
χώρος 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Για την αποφυγή παθολογικών περιστατικών, απαιτείται ο χώρος αυτός να είναι πολλαπλός
με όριο. Αυτή η απαίτηση συνεπάγεται ότι 𝒞𝜀𝜋𝛼𝜑ή = 𝜕𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 και 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 = 𝑐𝑙(𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 ); Ως εκ τούτου,
μια επαφή μεταξύ του 𝒜 και της περιοχής εμποδίου μπορεί να σπάσει με μια αυθαίρετα μικρή μετατόπιση του
𝒜. Υπονοεί επίσης ότι κάθε κορυφή στον χώρο επαφής 𝒞𝜀𝜋𝛼𝜑ή είναι το άκρο μόνο δύο ακμών. Έτσι, 𝒞𝜀𝜋𝛼𝜑ή
αποτελείται από ένα πεπερασμένο σύνολο ασύνδετων απλών πολυγωνικών γραμμών. Μια άκρη (αντίστοιχα
μια κορυφή) στο 𝒞𝜀𝜋𝛼𝜑ή ονομάζεται ακμή επαφής (αντίστοιχη κορυφή επαφής). Η εξερχόμενη κανονική μιας
ακμής επαφής 𝐸 είναι το μοναδιαίο διάνυσμα 𝑣̃(𝐸) κάθετο στο 𝐸 που δείχνει προς το 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 . Το διάνυσμα
−𝑣̃(𝐸) είναι το εισερχόμενο κανονικό του 𝐸.
Σε όλο το κεφάλαιο, το 𝑛 υποδηλώνει τον αριθμό των κορυφών στην 𝒞𝜀𝜋𝛼𝜑ή .
Επιτρέποντας στο 𝒜 να κινηθεί στον χώρο επαφής, καθίσταται χρήσιμος ο εξοπλισμός του ρομπότ με
έναν αισθητήρα δύναμης για τη μέτρηση των δυνάμεων αντίδρασης που ασκούνται από τα εμπόδια. Η
ανίχνευση δύναμης είναι τότε μια σημαντική πηγή πληροφοριών για το ρομπότ, ώστε να προσδιορίσει
καλύτερα τη θέση του σε σχέση με τα εμπόδια. Απαιτεί, ωστόσο, οι δυνάμεις αντίδρασης να χαρτογραφηθούν
στον χώρο διαμόρφωσης. Η υπόλοιπη υποενότητα πραγματεύεται αυτό το ζήτημα.
Σύμφωνα με τις παραπάνω παραδοχές, ο χώρος εργασίας 𝒲, ο χώρος διαμόρφωσης 𝒞 και όλοι οι
εφαπτόμενοι χώροι του 𝒞 είναι αντίγραφα του ℝ2 . Εξοπλίζουμε όλους αυτούς τους χώρους με την Ευκλείδεια
μετρική και χρησιμοποιούμε ένα μόνο αντίγραφο του ℝ2 για να τα αναπαραστήσουμε όλα. Τότε μια δύναμη
που ασκεί το 𝒜 έχει την ίδια διανυσματική παράσταση στο 𝒲 και στο 𝒞. Πράγματι, μια εικονική μετάφραση
του 𝒜 με (𝛿𝑥, 𝛿𝑦) στο 𝒲 προκαλεί την ίδια μετάφραση της διαμόρφωσης του 𝒜 στο 𝒞. Ειδικότερα, εάν το 𝒜
σπρώξει ένα εμπόδιο, το εμπόδιο ασκεί μια δύναμη αντίδρασης στο 𝒜. Υποθέτοντας ότι η διαμόρφωση του 𝒜
το 𝓆 βρίσκεται στο εσωτερικό ενός άκρου επαφής Ε και ότι η επαφή μεταξύ του 𝒜 και του εμποδίου είναι
χωρίς τριβή, η δύναμη στον χώρο διαμόρφωσης είναι ένα διάνυσμα που εφαρμόζεται στο 𝓆 και δείχνει κατά
μήκος της εξερχόμενης κανονικής του Ε, όπως φαίνεται στην Εικόνα 1.

Εικόνα 9.1 Όταν το κινούμενο αντικείμενο 𝒜 μπορεί να μετατοπιστεί μόνο στο επίπεδο, ο χώρος εργασίας 𝒲, ο χώρος
διαμόρφωσης 𝒞 και όλοι οι εφαπτόμενοι χώροι του 𝒞 είναι αντίγραφα του ℝ2 . Εξοπλίζουμε όλα αυτά τα κενά με την
Ευκλείδεια μετρική και τα αντιπροσωπεύουμε ως ένα ενιαίο αντίγραφο του ℝ2 . Τότε μια δύναμη που επενεργεί στο 𝒜, για

Ηλίας Ξυδιάς 222


παράδειγμα η δύναμη αντίδρασης που ασκείται από ένα εμπόδιο, έχει την ίδια αναπαράσταση στο 𝒲 και στο 𝒞, όπως
φαίνεται στην Εικόνα 1(a) και (β), αντίστοιχα.

Στην πράξη, οι επαφές δεν είναι χωρίς τριβές. Η παρουσία τριβής αυξάνει το εύρος των δυνάμεων αντίδρασης
που μπορεί να παράγει το εμπόδιο. Αφήστε την επαφή να συμβεί μεταξύ μιας κορυφής του 𝒜 και μιας ακμής
εμποδίου. Ο κλασικός νόμος τριβής του Κουλόμπ αντιπροσωπεύει την τριβή από έναν κώνο, που ονομάζεται
κώνος τριβής, ο οποίος καθορίζει το εύρος των πιθανών δυνάμεων αντίδρασης. Ο άξονας του κώνου τριβής
δείχνει κατά μήκος της εξερχόμενης κανονικής του άκρου του εμποδίου και οι πλευρές του σχηματίζουν γωνία
𝜑 = 𝑡𝑎𝑛−1 𝜇 (0 ≤ 𝜑 ≤ 𝜋⁄2) με αυτόν τον άξονα, όπου 𝜇 (𝜇 ≥ 0) είναι ο συντελεστής τριβής μεταξύ του 𝒜
και του εμποδίου στο σημείο επαφής (βλ. Εικόνα 2.α). Σε όλο το υπόλοιπο κεφάλαιο, υποθέτουμε ότι οι
στατικοί και δυναμικοί συντελεστές τριβής έχουν την ίδια τιμή p. και ότι αυτή η τιμή είναι γνωστή και
παραμένει σταθερή για κάθε πιθανό σημείο επαφής μεταξύ του 𝒜 και των εμποδίων. Το εύρος των πιθανών
δυνάμεων αντίδρασης στο σημείο επαφής αποτελείται από όλα τα διανύσματα δύναμης που εφαρμόζονται στο
σημείο επαφής και δείχνουν προς τον κώνο τριβής. Επομένως, εάν το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας
γραμμής που περιέχεται στον κώνο, το εμπόδιο παράγει μια δύναμη αντίδρασης που ακυρώνει πλήρως την
ασκούμενη δύναμη (βλ. Εικόνα 2.β). Αν, αντί αυτού, το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας γραμμής που
δεν περιέχεται στον κώνο, η δύναμη αντίδρασης ακυρώνει μόνο εν μέρει την ασκούμενη δύναμη και η
προκύπτουσα καθαρή δύναμη εφάπτεται στην άκρη του εμποδίου (βλ. Εικόνα 2.γ). Η επαφή μεταξύ μιας
κορυφής του 𝒜 και μιας ακμής εμποδίου αντιστοιχεί σε μια διαμόρφωση του 𝒜 που βρίσκεται σε μια άκρη
εμποδίου 𝒞. Εφόσον μια δύναμη έχει την ίδια αναπαράσταση στο 𝒲 και 𝒞, η τριβή αντιπροσωπεύεται στην
ακμή του εμποδίου 𝒞 από τον ίδιο κώνο όπως και στην ακμή του εμποδίου. Είναι εύκολο να επεκταθεί αυτό το
αποτέλεσμα σε όλες τις άκρες του 𝒞𝜀𝜋𝛼𝜑ή . Δεδομένου ότι ο συντελεστής τριβής είναι σταθερός στον χώρο
εργασίας, ο κώνος τριβής στον χώρο διαμόρφωσης έχει την ίδια γωνία 2𝜑 σε κάθε άκρο επαφής.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 223
Εικόνα 9.2 (a) Παρουσία τριβής, το εύρος των πιθανών δυνάμεων αντίδρασης στο σημείο επαφής μεταξύ του 𝒜 και ενός
εμποδίου αποτελείται από όλα τα διανύσματα δύναμης που εφαρμόζονται στο σημείο επαφής και δείχνουν προς έναν κώνο,
που ονομάζεται κώνος τριβής. (β) Εάν το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας γραμμής που περιέχεται στον κώνο, το
εμπόδιο παράγει μια δύναμη αντίδρασης που ακυρώνει εντελώς την ασκούμενη δύναμη. (γ) Εάν το 𝒜 σπρώξει το εμπόδιο
κατά μήκος μιας γραμμής που δεν περιέχεται στον κώνο, η δύναμη αντίδρασης ακυρώνει μόνο εν μέρει την ασκούμενη
δύναμη και η προκύπτουσα καθαρή δύναμη εφάπτεται στην άκρη του εμποδίου.

Για την πληρότητα του μοντέλου, πρέπει να εξετάσουμε την περίπτωση κατά την οποία η διαμόρφωση του 𝒜
είναι σε μια κορυφή επαφής Χ. Αυτή η περίπτωση συμβαίνει όταν είτε μια κορυφή του 𝒜 βρίσκεται σε επαφή
με μια κορυφή εμποδίου, είτε υπάρχουν δύο (ή περισσότερες) αποσυνδεδεμένες ζώνες επαφής μεταξύ του 𝒜
και των εμποδίων, με διαφορετικούς προσανατολισμούς των κώνων τριβής. Στη δεύτερη περίπτωση, η δύναμη
αντίδρασης στο X μπορεί να είναι οποιοσδήποτε μη αρνητικός γραμμικός συνδυασμός των δυνάμεων
αντίδρασης που μπορεί να δημιουργηθεί από τις δύο ακμές 𝒞 -εμποδίου 𝛦1 και 𝛦2 που εφάπτονται στο X. Στην
πρώτη περίπτωση, υποθέτουμε το ίδιο, αν και η δύναμη αντίδρασης μπορεί να μην προσδιορίζεται φυσικά
(λόγω των ελλείψεων της πολυγωνικής αναπαράστασης των αντικειμένων). Ως εκ τούτου, ο κώνος τριβής στο
X είναι ο κώνος του οποίου οι πλευρές είναι αντίστοιχα παράλληλες με τις δύο πιο ακραίες ακτίνες των κώνων
τριβής στο 𝛦1 και στο 𝛦2 (Εικόνα 3).
Το παραπάνω μοντέλο τριβής μπορεί εύκολα να επεκταθεί στον χώρο διαμόρφωσης ενός πολυεδρικού
αντικειμένου που μεταφράζεται ανάμεσα σε πολυεδρικά εμπόδια. Το να επιτρέπεται στο ρομπότ να
περιστρέφεται έχει ως αποτέλεσμα 𝒞 −εμπόδια που οριοθετούνται από καμπύλες όψεις. Η τριβή ποικίλλει με
μη γραμμικό τρόπο σε αυτές τις όψεις, γεγονός που καθιστά την περιγραφή της σημαντικά πιο περίπλοκη [2].

Ηλίας Ξυδιάς 224


Εικόνα 9.3 Το εύρος των δυνάμεων αντίδρασης σε μια κορυφή στον χώρο επαφής μπορεί να είναι οποιοσδήποτε μη
αρνητικός γραμμικός συνδυασμός των δυνάμεων αντίδρασης, που μπορεί να δημιουργηθεί από τις δύο εφαπτόμενες ακμές
𝐸1 και 𝐸2 . Ο αντίστοιχος κώνος τριβής έχει τις πλευρές του παράλληλες με τις δύο πιο ακραίες ακτίνες των κώνων τριβής
στο 𝐸1 και 𝐸2 .

9.1.2 Αίσθηση
Υποθέτουμε ότι το ρομπότ 𝒜 είναι εξοπλισμένο με δύο αισθητήρες, έναν αισθητήρα θέσης και έναν αισθητήρα
δύναμης, τους οποίους μοντελοποιούμε παρακάτω. Άλλοι αισθητήρες θα μπορούσαν να μοντελοποιηθούν με
παρόμοιο τρόπο.
Ο αισθητήρας θέσης μετρά την τρέχουσα διαμόρφωση του 𝒜. Η αισθητή διαμόρφωση συμβολίζεται με
𝓆*, ενώ η τρέχουσα πραγματική διαμόρφωση συμβολίζεται με 𝓆. Η αβεβαιότητα στην ανίχνευση θέσης
μοντελοποιείται ως ανοιχτός δίσκος 𝒰𝓆 (𝓆 ∗) ⊂ ℝ2 σταθερής ακτίνας 𝑝𝓆 με κέντρο στη μετρούμενη
διαμόρφωση 𝓆*. Αυτό σημαίνει ότι εάν ο αισθητήρας θέσης επιστρέψει 𝓆*, η τρέχουσα πραγματική
διαμόρφωση 𝓆 του 𝒜 μπορεί να είναι οπουδήποτε στο 𝒰𝓆 (𝓆 ∗) ∩ 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Παρατηρήστε ότι παρόλο που το
q μπορεί να είναι μόνο σε 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , η αισθητή διαμόρφωση q* μπορεί να είναι σε 𝒞\𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Ωστόσο, σε
αυτήν την περίπτωση πρέπει να έχουμε ότι 𝒰𝓆 (𝓆 ∗) ∩ 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 ≠ ∅, καθώς διαφορετικά η αβεβαιότητα στην
ανίχνευση θέσης θα μοντελοποιούνταν εσφαλμένα. Εφόσον το 𝒰𝓆 είναι ένας δίσκος, αν 𝓆 είναι η πραγματική
διαμόρφωση, τότε η μετρούμενη διαμόρφωση 𝓆* βρίσκεται αναγκαστικά στο 𝒰𝓆 (𝓆).
Σε αυτό το σημείο, το μοντέλο αβεβαιότητάς μας αξίζει μια εξήγηση. Αφήστε το ρομπότ να είναι σε μια
πραγματική διαμόρφωση 𝓆 (την οποία φυσικά δεν γνωρίζουμε) και αφήστε την αισθητή διαμόρφωση να είναι
𝓆 *. Η διαφορά 𝓆 − 𝓆* είναι το σφάλμα αίσθησης, το οποίο ποικίλλει από τη μια μέτρηση στην άλλη. Το
μοντέλο αβεβαιότητας δεσμεύει το μέτρο αυτού του λάθους, δηλ. ‖𝓆 − 𝓆 ∗‖ < 𝑝𝓆 , και δέχεται όλες τις
διαμορφώσεις στο 𝒰𝓆 (𝓆 ∗) ως εξίσου πιθανές. Παρακάτω, μοντελοποιούμε την αβεβαιότητα στην ανίχνευση
δύναμης και στον έλεγχο ρομπότ με παρόμοιο τρόπο. Αυτό το μοντέλο είναι απλό, αλλά δεν είναι δύσκολο να
φανταστεί κανείς πιο περίπλοκα (και ίσως πιο ρεαλιστικά). Ωστόσο, είναι ενδιαφέρον γιατί θα μας επιτρέψει
να ορίσουμε με ακρίβεια στρατηγικές εγγυημένης κίνησης, δηλαδή στρατηγικές που είναι εγγυημένο ότι θα
πετύχουν εφόσον τα σφάλματα στον έλεγχο και την αίσθηση κατά την εκτέλεση παραμένουν εντός των ορίων
που καθορίζονται από τις περιοχές αβεβαιότητας.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 225
Ο αισθητήρας δύναμης μετρά τη δύναμη που ασκείται στο 𝒜. Η έξοδος του αισθητήρα είναι ένα
διάνυσμα που συμβολίζεται με ⃗𝒇*. Ο αισθητήρας χρησιμοποιείται για τη λήψη πληροφοριών σχετικά με το εάν
το 𝒜 αγγίζει εμπόδια ή όχι. Εάν αγγίζει ένα εμπόδιο, λαμβάνει πληροφορίες για τον προσανατολισμό της
εξερχόμενης κανονικής του χώρου επαφής στη διαμόρφωση επαφής. Όταν η αισθητή δύναμη είναι ⃗𝒇*, η
πραγματική δύναμη αντίδρασης που ενεργεί στο 𝒜 είναι μια δύναμη ⃗𝒇*𝜖𝒰𝑓 (𝒇 ⃗ ∗), όπου 𝒰𝑓 είναι η περιοχή
αβεβαιότητας δύναμης, η οποία καθορίζεται ως εξής: η αβεβαιότητα στον συντελεστή αισθητής δύναμης
μοντελοποιείται από το ‖𝒇⃗ ‖𝜖Δ𝑓 (𝒇
⃗ ∗), όπου το Δ𝑓 (𝒇
⃗ ∗) είναι ένα διάστημα που περιλαμβάνει ‖𝒇
⃗ ∗‖. Επιπλέον,
το μέγεθος της γωνίας, αν κανένα από τα δύο δεν είναι μηδέν, είναι μικρότερο από μια σταθερή γωνία 𝜀𝑓 <
𝜋\2. Ως εκ τούτου, ⃗𝒇 βρίσκεται σε ανοιχτό κώνο γωνίας 2𝜀𝑓 του οποίου ο άξονας δείχνει κατά μήκος ⃗𝒇*.

9.2 Έλεγχος Ρομποτικού Συστήματος

9.2.1 Εντολή Κίνησης


Για μια δεδομένη γεωμετρία του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , μια εντολή κίνησης είναι μια εφαρμογή που αντιστοιχίζει
οποιαδήποτε διαμόρφωση 𝓺𝒔 𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 (που ονομάζεται αρχική διαμόρφωση της εντολής κίνησης) σε μια
ονομαστική κίνηση του ρομποτικού συστήματος. Αυτή η κίνηση θα ήταν η κίνηση του συστήματος εάν δεν
υπήρχε αβεβαιότητα στον έλεγχο.
Μια εντολή κίνησης ℳ περιγράφεται ως ζεύγος (𝑪𝑺, 𝑻𝑪). Το 𝑪𝑺 ονομάζεται δήλωση ελέγχου.
Δεδομένης μιας αρχικής διαμόρφωσης 𝓺𝒔 𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , καθορίζεται μια διατεταγμένη τροχιά 𝜏 𝑐 του 𝒜, δηλαδή
μια καμπύλη που ορίζεται ως εξής:
𝜏 𝑐 : 𝑡𝜖[0, +∞) → 𝜏 𝑐 (𝑡)𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 (9.1)
όπου 𝜏 𝑐 (0) = 𝓺𝒔 και 𝑡 είναι ο χρόνος. Το 𝑻𝑪 καλείται συνθήκη τερματισμού (Termination Condition). Η πιο
γενική μορφή της συνθήκης 𝑻𝑪 είναι:
⃗ ∗ [0, 𝑡])
𝑻𝑪 = 𝑡𝑝(𝑡, 𝓆∗ [0, 𝑡], 𝒇 (9.2)
όπου 𝑡𝑝 είναι η «ειδοποίηση» τερματισμού, το 𝑡 δηλώνει την τρέχουσα χρονική στιγμή και 𝓆∗ [0, 𝑡], ⃗𝒇∗ [0, 𝑡]
είναι το ιστορικό ανίχνευσης θέσης και δύναμης αντίστοιχα, από την αρχή της κίνησης, δηλ.,
𝓆∗ [0, 𝑡] = {(𝑡 ′ , 𝓆∗ (𝑡 ′ ))/𝑡′𝜖[0, 𝑡] } (9.3)
⃗𝒇∗ [0, 𝑡] = {(𝑡 ′ , ⃗𝒇(𝑡 ′ )) /𝑡′𝜖[0, 𝑡] } (9.4)

όπου 𝓆∗ (𝑡 ′ ) και ⃗𝒇∗ (𝑡 ′ ) είναι η αισθητή διαμόρφωση και δύναμη τη στιγμή 𝑡 ′ . Το 𝑻𝑪 αξιολογείται συνεχώς
κατά την εκτέλεση της εντολής και το 𝒜 σταματά να κινείται αμέσως, όταν το 𝑻𝑪 γίνει αληθινό. Αυτό
προφανώς προσδιορίζει μια ιδανική συμπεριφορά που δεν μπορεί να επιτευχθεί ακριβώς.

9.2.2 Έλεγχος Συμβατός με τη Δύναμη


Σε όλα τα προηγούμενα κεφάλαια, το ρομπότ ελεγχόταν από τη θέση κατά μήκος των σχεδιαζόμενων
γεωμετρικών μονοπατιών. Ένα μειονέκτημα του καθαρού ελέγχου θέσης είναι ότι μπορεί να είναι αρκετά
ευαίσθητο σε διάφορα είδη σφαλμάτων. Για παράδειγμα, εάν το ρομπότ λάβει εντολή να κινηθεί κατά μήκος
μιας διαδρομής κοντά σε ένα εμπόδιο και αν χτυπήσει απροσδόκητα το εμπόδιο (ας πούμε, λόγω ατελούς
ελέγχου), η κανονική συμπεριφορά ενός ρομπότ ελεγχόμενης θέσης είναι να σταματήσει. Μια πιο
ενδιαφέρουσα συμπεριφορά θα ήταν για το ρομπότ να συμμορφώνεται με τη δύναμη αντίδρασης που ασκείται
από τα εμπόδια (έτσι ώστε να μηδενίζεται), ενώ κινείται κατά μήκος της προβολής της εντολής κατεύθυνσης
στον υποχώρο, ορθογώνια προς τη δύναμη αντίδρασης [3]. Παρουσία αβεβαιότητας, μια τέτοια συμβατή
συμπεριφορά είναι προτιμότερη από την προηγούμενη, επειδή η ικανότητά της να επιτυγχάνει στόχους είναι
λιγότερο ευαίσθητη στα λάθη και έτσι καθιστά δυνατή την κατασκευή στρατηγικών κίνησης με λιγότερες
εντολές κίνησης. Αυτή η συμπεριφορά απαιτεί τον έλεγχο του ρομπότ τόσο σε θέση όσο και σε δύναμη.

Ηλίας Ξυδιάς 226


Υπάρχουν διάφορα μοντέλα ελέγχου συμβατά με τη δύναμη [4]. Προκειμένου να δημιουργηθεί ένα
ακριβές πλαίσιο για το υπόλοιπο κεφάλαιο, υποθέτουμε ότι ο έλεγχος του 𝒜 ακολουθεί το λεγόμενο
γενικευμένο μοντέλο απόσβεσης που προτάθηκε αρχικά από τον Whitney [5]. Αυτό σημαίνει ότι το 𝑪𝑺
παραμετροποιείται από ένα διάνυσμα 𝒗 ⃗ 𝒄𝜽 προσανατολισμού 𝜃𝜖𝕊1 , που ονομάζεται «εντολόμενη ταχύτητα», και
𝒄
ότι η εντολόμενη τροχιά 𝜏𝜽 στο 𝒞 του 𝒜 καθορίζεται από την ακόλουθη διαφορική εξίσωση πρώτης τάξης:
⃗𝒇(𝑡) = 𝐵(𝒗 ⃗ 𝒄𝜽 )
⃗ 𝒄 (𝑡) − 𝒗 (9.5)
όπου 𝒇 ⃗ (𝑡) είναι η πραγματική δύναμη αντίδρασης που ασκείται από τα εμπόδια στο 𝒜 τη χρονική στιγμή t, το
𝑑𝜏 𝒄 (𝑡)
B είναι ένας πίνακας 2x2 που ονομάζεται μήτρα αποσβεστήρα και 𝒗 ⃗ 𝒄 (𝑡) = 𝜽 ⁄𝑑𝑡 είναι η ταχύτητα του 𝒜
στο t. Στη συνέχεια, παίρνουμε το Β ως σταθερό διαγώνιο πίνακα με ίσους θετικούς διαγώνιους συντελεστές.
Παίρνουμε επίσης το 𝒗 ⃗ 𝒄𝜽 ως μοναδιαίο διάνυσμα, έτσι ώστε να καθορίζεται πλήρως από τον προσανατολισμό
του 𝜃.
Στην εξίσωση (9.5), το διάνυσμα 𝐵𝒗 ⃗ 𝒄𝜽 ερμηνεύεται ως η δύναμη που ασκείται από το 𝒜 και το διάνυσμα
𝐵𝒗⃗ 𝒄 (𝑡) ως συνιστώσα αυτής της δύναμης που δεν ακυρώνεται από το περιβάλλον και έτσι παράγει κίνηση. Σε
κάθε στιγμή t, δεδομένης της γεωμετρίας του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 και της γωνίας τριβής 𝜑, η δύναμη αντίδρασης 𝒇 ⃗ (𝑡)
𝒄
καθορίζεται πλήρως από την εφαρμοζόμενη δύναμη 𝐵𝒗 ⃗ 𝜽 και την τρέχουσα διαμόρφωση. Επομένως, για μια
δεδομένη αρχική διαμόρφωση 𝓺𝒔 , η γενικευμένη εξίσωση απόσβεσης (9.5) καθορίζει μια μοναδική τροχιά 𝜏𝜽𝒄
που περιγράφουμε παρακάτω.
Όταν το 𝒜 βρίσκεται σε ελεύθερο χώρο, κινείται με σταθερή ταχύτητα 𝒗 ⃗ 𝒄𝜽 , αφού η δύναμη αντίδρασης
είναι μηδέν. Όταν το 𝒜 βρίσκεται σε χώρο επαφής στο εσωτερικό ενός άκρου Ε, μπορεί να απομακρυνθεί από
το Ε, να γλιστρήσει κατά μήκος του Ε ή να κολλήσει στο Ε. Εάν η προβολή του 𝒗 ⃗ 𝒄𝜽 στην εξερχόμενη κανονική
του Ε είναι θετική ή μηδενική, το 𝒜 απομακρύνεται ή κινείται εφαπτομενικά στην ταχύτητα 𝒗 ⃗ 𝒄𝜽 . Διαφορετικά,
𝒄 𝒄 𝒄
έστω 𝒗 ⃗ 𝜽𝜠 η προβολή του 𝒗 ⃗ 𝜽 στο E. Εάν 𝒗⃗ 𝜽𝜠 είναι το μηδενικό διάνυσμα, τότε ο χώρος επαφής δημιουργεί τη
δύναμη αντίδρασης 𝒇 ⃗ (𝑡) = 𝐵𝒗 ⃗ 𝒄𝜽 και 𝒜 κολλάει στο E, δηλαδή ‖𝒗 ⃗ 𝒄 (𝑡)‖ = 0 διαφορετικά, υποθέτοντας χώρο
επαφής χωρίς τριβές, το 𝒜 ολισθαίνει κατά μήκος του E με ταχύτητα 𝒗 ⃗ 𝒄 (𝑡 ) = 𝒗⃗ 𝒄𝜽𝜠 (βλ. Εικόνα 4). Δεδομένου
ότι το μοντέλο της κίνησης είναι πρώτης τάξης, οπότε αγνοεί τις αδρανειακές δυνάμεις, επιτρέπει στην
ταχύτητα του ρομπότ να αλλάξει στιγμιαία. Αυτή η εξιδανίκευση είναι μια άλλη πηγή λάθους που οδηγεί σε
αβεβαιότητα στον έλεγχο.
Η τριβή στο χώρο επαφής έχει απλώς ως αποτέλεσμα την αύξηση του εύρους των εντολών ταχυτήτων
που αναγκάζουν το 𝒜 να κολλήσει σε μια άκρη επαφής. Χωρίς σφάλμα ελέγχου, μια γενικευμένη κίνηση
απόσβεσης με εντολή ταχύτητας vo κολλάει σε ένα άκρο E εάν −𝒗 ⃗ 𝒄𝜽 βρίσκεται στον κώνο τριβής, δηλαδή εάν
𝒄
το μέγεθος της γωνίας μεταξύ −𝒗 ⃗ 𝜽 και της εξερχόμενης κανονικής 𝒗 ⃗ (𝛦) είναι μικρότερο ή ίσο με ∅.
Διαφορετικά, ολισθαίνει κατά μήκος του Ε. Η Εικόνα 9.5 απεικονίζει αυτήν τη συμπεριφορά.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 227
Εικόνα 9.4 Αυτό το σχήμα απεικονίζει την ονομαστική συμπεριφορά του 𝒜 σε ένα άκρο επαφής χωρίς τριβή Ε κάτω από
το γενικευμένο μοντέλο ελέγχου απόσβεσης. Η κίνηση καθορίζεται από την εξίσωση
⃗ (𝑡) = 𝐵(𝒗
𝒇 ⃗ 𝒄𝜽 ). Το ρομπότ ολισθαίνει κατά μήκος της άκρης E με ταχύτητα 𝒗
⃗ 𝒄 (𝑡) − 𝒗 ⃗ 𝒄𝜽𝜠 ίση με την προβολή του 𝒗
⃗ 𝒄𝜽 στο E.

Εικόνα 9.5 (a) Η τριβή στον χώρο επαφής αυξάνει το εύρος των εντολών ταχυτήτων που οδηγούν το ρομπότ να κολλήσει
όταν χτυπήσει ένα 𝒞-εμπόδιο. Εάν η ανεστραμμένη ορισθείσα ταχύτητα δείχνει στον κώνο τριβής, η κίνηση κολλάει στο E,
⃗ 𝒄 (𝑡)‖ = ‖𝒗
(β) διαφορετικά ολισθαίνει κατά μήκος του E με ταχύτητα ‖𝒗 ⃗ 𝒄𝜽 ‖𝜎𝜐𝜈𝛼[1 − 𝜀𝜑𝜑𝜀𝜑𝛼], όπου a < π/ 2 είναι η
𝒄
γωνία μεταξύ 𝒗
⃗ 𝜽 και E.

Όταν η διαμόρφωση του 𝒜 φτάσει σε μια κορυφή επαφής 𝒳, η κίνηση κολλάει στο 𝒳 εάν το −𝒗 ⃗ 𝒄𝜽 βρίσκεται
𝒄
στον κώνο τριβής στο 𝒳. Εάν το −𝒗 ⃗ 𝜽 δεν βρίσκεται στον κώνο τριβής στο 𝒳, το 𝒜 απομακρύνεται σταθερά
από το 𝒳 σαν να είχε μόλις φτάσει στο 𝒳 ολισθαίνοντας κατά μήκος μιας από τις δύο παρακείμενες άκρες.
Πιο τυπικά, έστω το ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) είναι η συνάρτηση που αξιολογεί τη δύναμη αντίδρασης που ασκείται
από τον χώρο επαφής στο 𝒜 στη διαμόρφωση 𝓺, όταν δίδεται εντολή κατά μήκος 𝒗 ⃗ 𝒄𝜽 . Το ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) ορίζεται
ως εξής:
• Αν 𝓺𝜖𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 , τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗 ⃗ 𝒄𝜽 ) = 0;
• ⃗ 𝒄𝜽 προβάλλεται θετικά στην εξερχόμενη
Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και η 𝒗
κανονική του E, τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) = 0;
• Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και −𝒗 ⃗ 𝒄𝜽 βρίσκεται στον κώνο τριβής στο
⃗ 𝑟𝑒𝑎𝑐 (𝓺, 𝒗
σημείο επαφής, τότε 𝒇 ⃗ 𝒄𝜽 ) = 𝐵𝒗⃗ 𝒄𝜽 .
• Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και −𝒗⃗ 𝒄𝜽 προβάλλεται θετικά στην εξερχόμενη
κανονική του E, η οποία βρίσκεται στον κώνο τριβής στο σημείο επαφής, τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) = ⃗𝒇.

Ηλίας Ξυδιάς 228


• Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 βρίσκεται σε μια κορυφή επαφής 𝒳 και το −𝒗 ⃗ 𝒄𝜽 δεν βρίσκεται στον κώνο τριβής
⃗ 𝟏 και 𝒇
στο 𝒳, τότε έστω 𝒇 ⃗ 𝟐 οι δυνάμεις αντίδρασης που θα δημιουργηθούν από της δύο ακμές
⃗ 𝑟𝑒𝑎𝑐 (𝓺, 𝒗
που εφάπτονται του 𝒳; 𝒇 ⃗ 𝟏 ,𝒇
⃗ 𝒄𝜽 ) = 𝒎𝒂𝒙(𝒇 ⃗ 𝟐 ).

⃗ 𝒄𝜽 έχουμε ότι ⃗𝒇 = ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗


Σε κάθε χρονική στιγμή t κατά τη διάρκεια μιας κίνησης με εντολή κατά μήκος 𝒗 ⃗ 𝒄𝜽 ).
Η εντολόμενη τροχιά 𝜏𝜽𝒄 ορίζεται έτσι από την ακόλουθη διαφορική εξίσωση:
𝑑𝜏𝜽𝒄 (𝑡)⁄ 1
⃗ 𝒄 (9.6)
⃗ 𝒄𝜽 ) + 𝒗
𝑑𝑡 = 𝐵 𝒇𝑟𝑒𝑎𝑐 (𝜏𝜽 (𝑡), 𝒗 ⃗ 𝒄𝜽
με αρχική συνθήκη 𝜏𝜽𝒄 (0) = 𝓺𝒔 .
Το γενικευμένο μοντέλο απόσβεσης κίνησης παραμένει εφαρμόσιμο σε χώρους διαμόρφωσης
υψηλότερων διαστάσεων. Ωστόσο, όταν επιτρέπεται στο 𝒜 να περιστρέφεται, αυτό το μοντέλο προκαλεί μια
πολύ πιο περίπλοκη συμπεριφορά.

9.2.3 Αβεβαιότητα στον Έλεγχο


Σε όλο το υπόλοιπο κεφάλαιο θα υποθέτουμε τον γενικευμένο έλεγχο απόσβεσης. Υποδηλώνουμε μια εντολή
κίνησης με 𝛭 = (𝒗 ⃗ 𝒄𝜽 , 𝑻𝑪), όπου 𝒗 ⃗ 𝒄𝜽 είναι η ορισθείσα ταχύτητα.
Η αβεβαιότητα στον έλεγχο διαμορφώνεται ως εξής: έστω 𝒗 ⃗ 𝒄𝜽 η ορισθείσα ταχύτητα. Σε οποιαδήποτε
στιγμή t κατά τη διάρκεια της κίνησης, η αποτελεσματική ορισθείσα ταχύτητα είναι ένα διάνυσμα
⃗ 𝜃 (𝑡)𝜖𝒰𝑢 (𝒗
𝒗 ⃗ 𝒄𝜽 ), έτσι ώστε το μέγεθος της γωνίας μεταξύ 𝒗 ⃗ 𝜃 (𝑡) και 𝒗 ⃗ 𝒄𝜽 να είναι μικρότερο από μια σταθερή
γωνία 𝓃𝑢 < 𝜋/2. Με άλλα λόγια, το 𝒗 ⃗ 𝜃 (𝑡) βρίσκεται σε έναν ανοιχτό κώνο γωνίας 2𝓃𝑢 του οποίου ο άξονας
𝒄
δείχνει κατά μήκος του 𝒗 ⃗ 𝜽 . Ο κώνος ονομάζεται κώνος αβεβαιότητας ελέγχου. Επιπλέον, η αβεβαιότητα στον
συντελεστή ταχύτητας μοντελοποιείται από το ‖𝒗 ⃗ 𝜃 (𝑡)‖𝜖𝛥𝑢 (𝒗 ⃗ 𝒄𝜽 ), όπου το 𝛥𝑢 (𝒗 ⃗ 𝒄𝜽 ) είναι ένα διάστημα (𝑢1 , 𝑢2 ),
με 0 < 𝑢1 < ‖𝒗 ⃗ 𝜃 (𝑡)‖ = 1 < 𝑢2 . Ο προσανατολισμός και το μέτρο της ενεργού εντολής ταχύτητας μπορεί να
ποικίλλει αυθαίρετα, αλλά συνεχώς, εντός αυτών των ορίων αβεβαιότητας.
Η κίνηση του 𝒜 καθορίζεται από τη γενικευμένη εξίσωση απόσβεσης (9.5) με το 𝒗 ⃗ 𝜃 (𝑡) να αντικαθιστά
το 𝒗 𝒄
⃗ 𝜽 , δηλαδή 𝒇 ⃗ (𝑡) = 𝐵(𝒗 ⃗ 𝜃 (𝑡)), όπου 𝒗
⃗ (𝑡 ) − 𝒗 ⃗ (𝑡) είναι η πραγματική ταχύτητα του 𝒜. Για μια δεδομένη
αρχική διαμόρφωση 𝓺𝒔 , οποιοσδήποτε συνεχής χάρτης 𝒗 ⃗ 𝜃 : 𝑡𝜖[0, +∞) → 𝒗 ⃗ 𝜃 (𝑡)𝜖𝒰𝑢 (𝒗 ⃗ 𝒄𝜽 ) καθορίζει μια
μοναδική πραγματική τροχιά 𝜏: 𝑡𝜖[0, +∞) → 𝜏(𝑡)𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , έτσι ώστε:
𝑑𝜏(𝑡)⁄ 1 (9.7)
⃗ ⃗ 𝜃 (𝑡 ) ) + 𝒗 ⃗ 𝜃 (𝑡 )
𝑑𝑡 = 𝐵 𝒇𝑟𝑒𝑎𝑐 (𝜏(𝑡), 𝒗
𝑑𝜏(𝑡)⁄
με 𝜏(0) = 𝓺𝒔 . Οι μόνες διαμορφώσεις στο 𝜏 όπου η πραγματική ταχύτητα 𝒗 ⃗ (𝑡 ) = 𝑑𝑡 ποικίλλει
ασυνεχώς είναι εκείνες όπου η τροχιά αλλάζει από ελεύθερο σε χώρο επαφής και αντίστροφα. Δεδομένου ότι
υπάρχει της πεπερασμένος αριθμός ακμών επαφής, το 𝜏 είναι τμηματικά κλάσης 𝐶 1 .
Σύμφωνα με το παραπάνω μοντέλο αβεβαιότητας, εάν το 𝒜 βρίσκεται σε ελεύθερο χώρο, κινείται κατά
μήκος μιας τροχιάς της οποίας η εφαπτομένη σε οποιαδήποτε διαμόρφωση περιέχεται στον κώνο αβεβαιότητας
ελέγχου που είναι αγκυρωμένος σε αυτή τη διαμόρφωση. Εάν η διαμόρφωση του 𝒜 βρίσκεται σε ένα άκρο
επαφής Ε, μπορεί να απομακρυνθεί, να γλιστρήσει ή να κολλήσει, ανάλογα με τον προσανατολισμό της
πραγματικής εντολής ταχύτητας 𝒗 ⃗ 𝜃 σε σχέση με την εξερχόμενη κάθετο του Ε. Ειδικότερα, εάν όλα τα
διανύσματα βρίσκονται στον κώνο αβεβαιότητας ελέγχου ο οποίος προβάλλεται θετικά στο 𝒗 ⃗ (𝛦 ), τότε το 𝒜
είναι εγγυημένο ότι θα απομακρυνθεί από την άκρη. Αντίθετα, εάν ο κώνος αβεβαιότητας ανεστραμμένου
ελέγχου περιέχεται εξ ολοκλήρου στον κώνο τριβής, το 𝒜 κολλάει στην άκρη. Εάν είναι εντελώς έξω από τον
κώνο τριβής και όλα τα διανύσματα στον κώνο αβεβαιότητας ελέγχου προβάλλουν θετικά στην εισερχόμενη
κανονική της ακμής, το 𝒜 είναι εγγυημένο ότι θα ολισθαίνει προς την κατεύθυνση της προβολής του 𝒗 ⃗ 𝒄𝜽 στο
Ε. Η Εικόνα 9.6 απεικονίζει τις συνθήκες «κρατήματος» και ολίσθησης με αβεβαιότητα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 229
Εικόνα 9.6 Ας υποθέσουμε ότι όλες οι αποτελεσματικές ταχύτητες που βρίσκονται στον κώνο αβεβαιότητας ελέγχου
προβάλλουν θετικά στην εισερχόμενη ακμής επαφής Ε. Τρεις περιπτώσεις είναι πιθανές. (α) Εάν ο ανεστραμμένος κώνος
αβεβαιότητας ελέγχου (εμφανίζεται με γαλάζιο) περιέχεται πλήρως στον κώνο τριβής, (β) η κίνηση είναι εγγυημένη ότι θα
κολλήσει κατά μήκος της ακμής. Εάν οι δύο κώνοι έχουν μηδενική τομή, η κίνηση είναι εγγυημένη ότι θα ολισθαίνει κατά
μήκος της άκρης. Εάν οι δύο κώνοι τέμνονται όπως στο σχήμα γ, η κίνηση μπορεί να γλιστρήσει ή να κολλήσει.

Συμβολίζουμε το σύνολο όλων των πιθανών δυνάμεων αντίδρασης που μπορούν να δημιουργηθούν στη
διαμόρφωση 𝓺 όταν η ορισθείσα ταχύτητα είναι 𝒗⃗ 𝒄𝜽 με 𝒇 ⃗ 𝑟𝑒𝑎𝑐 (𝓺, 𝜃). Έχουμε ότι
𝑭𝑟𝑒𝑎𝑐 (𝓺, 𝜃) =∪𝒗⃗𝜃 𝜖𝒰𝑢 (𝒗⃗𝒄𝜽 ) ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝜃) (9.8)

9.3 Στρατηγικές Κίνησης


Περιγράφουμε μια στρατηγική κίνησης από ένα δέντρο (Εικόνα 9.7). Οι κόμβοι του δέντρου είναι εντολές
κίνησης και τα τόξα του είναι συνθήκες. Η εκτέλεση της στρατηγικής συνίσταται στη διαδοχική εκτέλεση των
εντολών κίνησης που επισημαίνουν τους κόμβους που περιέχονται σε μια διαδρομή που συνδέει τη ρίζα με ένα
φύλλο του δέντρου. Αφού εκτελεστεί μια εντολή κίνησης, αξιολογούνται οι συνθήκες που σχετίζονται με τα
εξερχόμενα τόξα της και η επόμενη εντολή που εκτελείται είναι τέτοια ώστε η κατάσταση του εισερχόμενου
τόξου της να αξιολογείται ως αληθής.

Ηλίας Ξυδιάς 230


Εικόνα 9.7 Μια στρατηγική υπό όρους περιγράφεται από ένα δέντρο. Οι κόμβοι του δέντρου επισημαίνονται με εντολές
κίνησης και τα τόξα του επισημαίνονται από συνθήκες. Η εκτέλεση της στρατηγικής συνίσταται στη διαδοχική εκτέλεση των
εντολών κίνησης που επισημαίνουν τους κόμβους μιας διαδρομής (που συνδέει τη ρίζα με ένα φύλλο του δέντρου) των
οποίων τα τόξα επισημαίνονται από συνθήκες που αξιολογούνται ως αληθείς. Μια πιθανή εκτέλεση της στρατηγικής που
απεικονίζεται στο σχήμα είναι η ακόλουθη: πρώτα εκτελείται η εντολή κίνησης 𝑀1 . Στη συνέχεια, εάν η συνθήκη 𝐶13
αξιολογηθεί ως αληθής και 𝐶12 και 𝐶14 αξιολογηθούν ως ψευδείς, εκτελείται η εντολή κίνησης 𝛭3 . Δεδομένου ότι έχει έναν
μόνο διάδοχο, το 𝐶34 θα πρέπει να αξιολογηθεί ως αληθές (διαφορετικά η στρατηγική επιστρέφει αποτυχία) και το 𝛭7
εκτελείται στη συνέχεια.

Εάν πολλές συνθήκες αξιολογηθούν ως αληθείς, μία από τις αντίστοιχες εντολές (οποιαδήποτε) εκτελείται στη
συνέχεια. Εάν καμία συνθήκη δεν αξιολογηθεί ως αληθής, η εκτέλεση της στρατηγικής τερματίζεται με
αποτυχία. Η εκτέλεση της στρατηγικής τερματίζεται με επιτυχία μετά την εκτέλεση της εντολής κίνησης που
επισημαίνει ένα φύλλο του δέντρου.
Μια στρατηγική κίνησης που περιγράφεται από ένα δέντρο που περιέχει ένα μόνο μονοπάτι ονομάζεται
διαδοχική στρατηγική. Μια στρατηγική κίνησης που περιγράφεται από ένα δέντρο με πολλαπλές διαδρομές
ονομάζεται στρατηγική υπό όρους. Ο αριθμός των βημάτων μιας στρατηγικής είναι ο μέγιστος αριθμός εντολών
κίνησης που μπορεί να χρειαστεί να εκτελέσει η στρατηγική για να μπορέσει να επιστρέψει με επιτυχία.
Υποθέτουμε ότι η γεωμετρία του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , η γωνία τριβής 𝜑 και οι περιοχές αβεβαιότητας 𝒰𝑞 , 𝒰𝑓 και
𝒰𝑣 δίνονται όπως περιγράφεται παραπάνω. Δεδομένων δύο περιοχών ℐ και 𝒢 του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , που ονομάζονται
«αρχική περιοχή» και «περιοχή στόχου», αντίστοιχα, το πρόβλημα σχεδιασμού κίνησης με αβεβαιότητα στον
έλεγχο και την αίσθηση είναι να δημιουργηθεί μια στρατηγική κίνησης Σ της οποίας η εκτέλεση είναι εγγυημένη
ότι θα επιστρέψει στην επιτυχία με τη διαμόρφωση του 𝒜 στην πραγματικότητα στο 𝒢, όποτε η αρχική
διαμόρφωση του 𝒜 είναι στο ℐ και η είσοδος 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , 𝜑, 𝒰𝑞 , 𝒰𝑓 , και 𝒰𝑣 είναι μια σωστή περιγραφή της
πραγματικότητας. Αυτή η στρατηγική λέγεται ότι είναι απόλυτα εγγυημένη. Ένας πλήρης σχεδιαστής θα πρέπει
να κατασκευάσει μια τέτοια στρατηγική, όποτε υπάρχει, και υποδεικνύει ότι δεν υπάρχει τέτοια στρατηγική
διαφορετικά.
Οι Canny και Reif [6] έδειξαν ότι η τριδιάστατη έκδοση του παραπάνω προβλήματος (𝒞 = ℝ3 ) είναι μη
ντετερμινιστικός εκθετικός χρόνος σκληρός (EXPTIME-hard). Όταν ο αριθμός των εδρών στο 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 δεν

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 231
είναι σταθερός, υποδηλώνει ότι η εύρεση σχεδίων μπορεί να πάρει διπλάσια εκθετικό χρόνο στις «χειρότερες»
περιπτώσεις. Έχουν επίσης δείξει ότι ο αριθμός των βημάτων σε μια στρατηγική μπορεί να αυξηθεί εκθετικά
με την πολυπλοκότητα του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Προηγουμένως, ο Natarajan [7] είχε δείξει ότι το τριδιάστατο πρόβλημα
είναι επίσης PSPACE-hard.

9.4 Preimage Backchaining


Σε αυτήν την ενότητα εισάγουμε μια γενική προσέγγιση για τον σχεδιασμό κίνησης με αβεβαιότητα, που
ονομάζεται Preimage Backchaining. Αυτή η προσέγγιση θα διερευνηθεί λεπτομερώς στο υπόλοιπο κεφάλαιο.
Αρχικά προτάθηκε στο [8].
Έστω 𝒯 ένα υποσύνολο του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 και 𝛭 = (𝒗 ⃗ 𝒄𝜽 , 𝑻𝑪) μια εντολή κίνησης. Μια προεικόνα (preimage)
του 𝒯 για το M ορίζεται ως οποιοδήποτε υποσύνολο 𝒫 του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 έτσι ώστε: εάν η διαμόρφωση του 𝒜 είναι
στο 𝒫 όταν ξεκινά η εκτέλεση του M, τότε είναι εγγυημένο ότι το 𝒜 θα φτάσει στο 𝒯 και ότι θα είναι στο 𝒯
όταν το 𝑻𝑪 τερματίσει την κίνηση.
Παράδειγμα: Εξετάστε το πρόβλημα σημείο σε τρύπα (point-in-hole) που απεικονίζεται στο Σχήμα
9.8(α). Η περιοχή 𝒯 είναι το κάτω άκρο της κοιλότητας (η «τρύπα / hole») της περιοχής 𝒞𝜀𝜇𝜋ό𝛿𝜄𝜊 . Έστω η
διατεταγμένη ταχύτητα 𝒗⃗ 𝒄𝜽 , όπως φαίνεται στο σχήμα. Κάνουμε τις ακόλουθες υποθέσεις: ο χώρος επαφής είναι
χωρίς τριβή. Ο συντελεστής της αισθητής δύναμης είναι ακριβής. Το σφάλμα στον προσανατολισμό της
αισθητής δύναμης οριοθετείται από 𝜀𝑓 < 𝜋/4 και το βάθος της οπής είναι μεγαλύτερο από 2𝑝𝑞 . Η περιοχή που
φαίνεται με ένα ριγέ περίγραμμα στο Σχήμα 9.8(β) είναι μια προεικόνα 𝒫 του 𝒯 για την εντολή γενικευμένης
κίνησης απόσβεσης 𝛭 = (𝒗 ⃗ 𝒄𝜽 , 𝑻𝑪), με το 𝑻𝑪 να τερματίζει την κίνηση, όταν ο αισθητήρας θέσης μετρά μια
διαμόρφωση σύμφωνα με το 𝒯 και o αισθητήρας δύναμης μετρά μια μη μηδενική δύναμη σύμφωνη με την
εξερχόμενη κανονική του 𝒯. Η εκτέλεση του 𝛭 δημιουργεί μια τροχιά που (σε ελεύθερο χώρο) περιέχεται
τοπικά στον κώνο αβεβαιότητας ελέγχου και (στον χώρο επαφής) ολισθαίνει πάνω από ακμές που δεν είναι
ορθογώνιες σε μια κατεύθυνση που περιέχεται στον κώνο αβεβαιότητας ελέγχου. Έτσι, είναι εγγυημένο ότι θα
φτάσει στο 𝒯, όποτε η αρχική διαμόρφωση του 𝒜 είναι στο 𝒫. Επειδή 𝜀𝑓 < 𝜋/4, η δεύτερη συνθήκη του 𝑻𝑪,
εγγυάται ότι η κίνηση θα τερματιστεί σε ένα από τα τρία οριζόντια άκρα επαφής. Δεδομένου ότι το βάθος της
οπής είναι μεγαλύτερο από 2𝑝𝑞 , η πρώτη συνθήκη επιτρέπει στο 𝑻𝑪 να διακρίνει μεταξύ του κάτω άκρου 𝒯
και των δύο οριζόντιων πλευρικών άκρων που οριοθετούν την είσοδο της οπής. Ως εκ τούτου, το 𝑻𝑪 θα
σταματήσει την κίνηση στο 𝒯, και το 𝒫 είναι μια προεικόνα του 𝒯 για το 𝛭.

Εικόνα 9.8 (α)Το πρόβλημα σημείο στην τρύπα συνίσταται στη μετακίνηση της διαμόρφωσης του 𝒜 στην άκρη 𝒯 στο κάτω
μέρος της οπής. (β) Η περιοχή που φαίνεται στο κόκκινο περίγραμμα απεικονίζει μια προεικόνα του 𝒯 για την εντολή
γενικευμένης κίνησης απόσβεσης (𝒗⃗ 𝒄𝜽 , 𝑻𝑪).

Ηλίας Ξυδιάς 232


Έστω προεικόνα (Preimage) ένας αλγόριθμος που, δεδομένης μιας διατεταγμένης ταχύτητας 𝒗 ⃗ 𝒄𝜽 και μιας
περιοχής 𝒯𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , επιστρέφει μια περιοχή 𝒫 και μια συνθήκη τερματισμού 𝑻𝑪 τέτοια, ώστε το 𝒫 να είναι
μια προεικόνα του 𝒯 για την εντολή κίνησης (𝒗 ⃗ 𝒄𝜽 , 𝑻𝑪). Δεδομένων των αρχικών περιοχών και των περιοχών
στόχου, ℐ και 𝒢, η preimage backchaining ουσιαστικά προχωρά σύμφωνα με τον ακόλουθο αλγόριθμο PB:
Procedure PB
Begin
𝒫0 ← 𝒢; 𝑖 ← 0;
While ℐ ≰ 𝒫𝑖 do
Begin
𝑖 ← 𝑖 + 1;
Select 𝜃𝑖 in 𝕊1
⃗ 𝒄𝜽 , 𝒫𝑖−1 )
𝒫𝑖 ← 𝑃𝑅𝐸𝐼𝑀𝐴𝐺𝐸(𝒗
end
end
Δεδομένου ότι επιλέγει μια διατεταγμένη ταχύτητα σε κάθε επανάληψη, η διαδικασία backchaining στην
πραγματικότητα αποτελείται από την αναζήτηση ενός άπειρου δέντρου προεικόνων. Εάν η αναζήτηση
τερματιστεί με επιτυχία, το αποτέλεσμά της είναι μια ακολουθία προεικόνων 𝒫1 , … , 𝒫𝑟 έτσι ώστε:
• 𝒫𝑖 , ∀𝑖𝜖 [1, 𝑟], είναι η προεικόνα του 𝒫𝑖−1 υπολογισμένη από τον αλγόριθμο PB για την ταχύτητα
⃗ 𝒄𝜽 και την συνθήκη τερματισμού 𝑻𝑪𝑖 .
𝒗
• ℐ ⊆ 𝒫𝑟 .
Η αντίστροφη ακολουθία των εντολών κίνησης, (𝑀𝑟 , 𝑀𝑟−1 , … , 𝑀1 ), με 𝑀𝑖 = (𝒗⃗ 𝒄𝜽𝒊 , 𝑻𝑪𝑖 ), είναι η παραγόμενη
(διαδοχική, ισχυρά εγγυημένη) στρατηγική κίνησης r-βήματος.
Ο αλγόριθμος PB που δόθηκε παραπάνω είναι προφανώς υπεραπλουστευμένος. Προκειμένου να
κατασκευαστεί ένας αποτελεσματικός σχεδιαστής, πρέπει να διερευνηθούν τα ακόλουθα τρία ζητήματα:
• Υπολογισμός μέγιστων προεικόνων: Για μια δεδομένη ορισθείσα ταχύτητα και μια δεδομένη
περιοχή 𝒯, ο ιδανικός αλγόριθμος PB θα υπολόγιζε τη μέγιστη προεικονική εικόνα του 𝒯 σε όλες
τις πιθανές συνθήκες τερματισμού και θα επέστρεφε μια συνθήκη τερματισμού ικανή να
αναγνωρίσει την επίτευξη του στόχου. Πράγματι, μια μεγάλη προεικόνα έχει περισσότερες
πιθανότητες να συμπεριλάβει την αρχική περιοχή ℐ παρά μια μικρότερη προεικόνα. Επιπλέον,
εάν θεωρηθεί αναδρομικά ως ενδιάμεσος στόχος, μια μεγάλη προεικόνα έχει περισσότερες
πιθανότητες να δεχθεί μεγάλες προεικόνες από μια μικρότερη. Έτσι, η λήψη μέγιστων
προεικόνων μπορεί να μειώσει το μέγεθος του χώρου αναζήτησης. Μπορεί επίσης να παράγει
συντομότερες στρατηγικές. Από την άλλη πλευρά, η χρήση μη μέγιστων προεικόνων μπορεί να
μην εγγυάται ότι θα δημιουργηθεί τελικά μια στρατηγική κίνησης, ακόμα κι αν υπάρχει.
Υπάρχουν όμως μέγιστες προεικόνες;
• Επιλογή των εντολών ταχυτήτων: Το πρόβλημα της δημιουργίας μιας διαδοχικής στρατηγικής
μπορεί να μετατραπεί στο συνδυαστικό πρόβλημα της αναζήτησης ενός δέντρου, επιλέγοντας
εντολές ταχύτητας από ένα πεπερασμένο σύνολο τιμών στο 𝕊1 . Η ρίζα αυτού του δέντρου είναι
η περιοχή στόχου 𝒢 και κάθε άλλος κόμβος είναι μια περιοχή προεικόνας. Κάθε τόξο είναι μια
εντολή κίνησης, που συνδέει μια περιοχή με την προεικόνα της, που υπολογίζεται από το PB για
αυτήν την εντολή. Ωστόσο, μια προκαθορισμένη διακριτοποίηση του 𝕊1 μπορεί να μην εγγυάται
στον σχεδιαστή να δημιουργήσει μια διαδοχική στρατηγική, όποτε υπάρχει. Υπάρχει τρόπος να
διακριτοποιήσουμε το 𝕊1 με τέτοιο τρόπο ώστε να είμαστε σίγουροι ότι δεν θα χάσουμε κανένα
σημαντικό προσανατολισμό ταχύτητας;
• Δημιουργία στρατηγικών υπό όρους: Η αναζήτηση ενός δέντρου προεικόνων, όπως προτείνεται
παραπάνω, επιτρέπει στον σχεδιαστή να δημιουργήσει μόνο διαδοχικές στρατηγικές. Υπάρχουν
προβλήματα των οποίων οι μόνες λύσεις είναι οι στρατηγικές υπό όρους. Μια υπό όρους

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 233
διακλάδωση συμβαίνει όταν μια κίνηση είναι εγγυημένο ότι θα επιτύχει έναν από τους πολλούς
ενδιάμεσους στόχους, χωρίς να γνωρίζουμε ποιον εκ των προτέρων, με τέτοιο τρόπο ώστε κατά
τον προγραμματισμό να είναι δυνατόν να αναγνωριστεί κατά τη στιγμή της εκτέλεσης ποιος
ενδιάμεσος στόχος έχει επιτευχθεί. Για αυτά τα προβλήματα, πρέπει να εξεταστεί ένας άλλος
χώρος αναζήτησης, ο οποίος θα επιτρέπει στον σχεδιαστή να υπολογίζει τις προεικόνες συνόλων
στόχων και όχι μεμονωμένων στόχων. Πώς πρέπει να οριστεί και να αναζητηθεί αυτός ο χώρος;
Σημειώστε ότι η προσέγγιση Preimage Backchaining είναι εφαρμόσιμη ακόμα και όταν δεν υπάρχει
αβεβαιότητα. Ισχύει επίσης για μοντέλα ελέγχου εκτός της γενικευμένης απόσβεσης. Στην πραγματικότητα, το
preimage backchaining βασίζεται σε μια πολύ γενική ιδέα σχεδιασμού. Μια προεικόνα μπορεί να θεωρηθεί ως
προϋπόθεση (ιδανικά, η πιο αδύναμη) της οποίας η ικανοποίηση πριν από την εκτέλεση μιας ενέργειας εγγυάται
ότι κάποια συνθήκη θα ικανοποιηθεί μετά την εκτέλεση της ενέργειας.

9.5 Επίσημος Ορισμός μιας Προεικόνας


Η έννοια της προεικόνας ενός στόχου 𝒯 για μια εντολή κίνησης 𝛭 = (𝒗 ⃗ 𝒄𝜽 , 𝑻𝑪) συνδυάζει δύο βασικές έννοιες,
γνωστές ως δυνατότητα προσέγγισης στόχου και αναγνωρισιμότητα στόχου [Erdmann, 1984].
Η ικανότητα επίτευξης στόχου σχετίζεται με το γεγονός ότι οποιαδήποτε τροχιά που επιτυγχάνεται με
την εκτέλεση μιας κίνησης με εντολή κατά μήκος του 𝒗⃗ 𝒄𝜽 από μια προεικόνα του 𝒯 θα πρέπει να φτάσει στο 𝒯.
Δεδομένης μιας αρχικής διαμόρφωσης, το 𝒗 ⃗ 𝜽 καθορίζει μόνο μια εντολόμενη τροχιά 𝝉𝒄𝜽 . Λόγω της
𝒄

αβεβαιότητας στον έλεγχο, οποιαδήποτε εκτέλεση παράγει μια πραγματική τροχιά 𝝉 που είναι ελαφρώς
διαφορετική. Ο σχεδιαστής πρέπει να είναι σίγουρος ότι όλες οι πιθανές πραγματικές τροχιές που συνάδουν
⃗ 𝒄𝜽 όσο και με το 𝒰𝑣 θα φτάσουν στο 𝒯 κάποια στιγμή.
τόσο με το 𝒗
Η δυνατότητα πρόσβασης στον στόχο, ωστόσο, δεν είναι αρκετή, καθώς η συνθήκη τερματισμού θα
μπορούσε απλώς να αφήσει το ρομπότ να διασχίσει τον στόχο χωρίς να τον σταματήσει ή, αντ' αυτού, θα
μπορούσε να σταματήσει την κίνηση πρόωρα πριν επιτευχθεί ο στόχος. Ο σχεδιαστής πρέπει επίσης να είναι
βέβαιος ότι η συνθήκη τερματισμού 𝑻𝑪 θα σταματήσει το 𝒜 στο 𝒯. Αυτό είναι το ζήτημα της αναγνώρισης
του στόχου. Ο 𝑻𝑪 είναι παρατηρητής της πραγματικής τροχιάς 𝝉 που εκτελείται. Δεδομένου ότι η αίσθηση
είναι ατελής, αντιλαμβάνεται την πραγματική τροχιά ως μια παρατηρούμενη τροχιά 𝝉∗ η οποία είναι πολύ
πιθανό να μην είναι ούτε η διατεταγμένη ούτε η πραγματική. Έτσι, το πρόβλημα για τον σχεδιαστή είναι να
είναι σίγουρος ότι, για κάθε πιθανή παρατηρούμενη τροχιά 𝝉∗ , (1) το 𝑻𝑪 γίνεται αληθές σε κάποια στιγμή 𝑡𝑓 ,
και (2) όταν το 𝑻𝑪 γίνει για πρώτη φορά αληθές, όλες οι πραγματικές τροχιές 𝝉 συνεπείς με το 𝝉∗ (δηλαδή οι
τροχιές που μπορεί να παρατηρηθούν ως 𝝉∗ δεδομένης της αβεβαιότητας στην αίσθηση) έχουν φτάσει στον
στόχο, δηλ. 𝜏(𝑡𝑓 )𝜖𝒯.
Αυτή η συζήτηση μας οδηγεί στον ορισμό της έννοιας της διεύθυνσης τροχιών:
Ορισμός 9.1: Ο κατάλογος των πραγματικών τροχιών για μια περιοχή 𝒫 και μια ορισθείσα ταχύτητα 𝒗 ⃗ 𝒄𝜽
𝒄
είναι το σύνολο 𝒟𝜃 (𝒫) όλων των τροχιών που ξεκινούν μέσα στο 𝒫 και συνάδουν με το 𝒗 ⃗ 𝜽 , την αβεβαιότητα
ελέγχου 𝒰𝑐 και την περιοχή 𝒞 −εμποδίου. Πιο τυπικά, το 𝒟𝜃 (𝒫) είναι το σύνολο όλων των τροχιών
𝜏: 𝑡𝜖[0, +∞) → 𝜏(𝑡)𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 έγκυρο τμηματικά της κλάσης 𝐶 1 , έτσι ώστε 𝜏(𝑡)𝜖𝒫:
𝑑𝜏(𝑡)⁄ 1 (9.9)
⃗ ⃗ 𝜃 (𝑡 ) ) + 𝒗
⃗ 𝜃 (𝑡 )
𝑑𝑡 = 𝐵 𝒇𝑟𝑒𝑎𝑐 (𝜏(𝑡), 𝒗
με 𝒗 ⃗ 𝒄𝜽 ) ανήκει στην κλάση 𝐶 0 .
⃗ 𝜃 (𝑡)𝜖𝒰𝑢 (𝒗
Έχουμε ότι,
• 𝒟𝜃 (𝒫 ) = ⋃𝓺𝒔 𝝐𝒫 𝒟𝜃 ({𝓺𝒔 })
• 𝒟𝜃 (𝒫1 ∪ 𝒫2 ) = 𝒟𝜃 (𝒫1 ) ∪ 𝒟𝜃 (𝒫2 )
Με κάθε τροχιά 𝜏 στο 𝒟𝜃 (𝒫 ) συνδέουμε δύο συναρτήσεις, 𝒗 ⃗ 𝝉 (𝑡). Αντιστοίχως, αξιολογούν σε κάθε
⃗ 𝝉 (𝑡) και 𝒇
στιγμή 𝑡 την αποτελεσματική ορισθείσα ταχύτητα που παράγει 𝜏 και τη δύναμη αντίδρασης που ασκείται στο
⃗ 𝝉 (𝑡 ) = 𝒇
𝒜. Έχουμε ότι: 𝒇 ⃗ 𝑟𝑒𝑎𝑐 (𝜏(𝑡), 𝒗
⃗ 𝜏 (𝑡)).

Ηλίας Ξυδιάς 234


Αντιπροσωπεύουμε μια παρατηρούμενη τροχιά 𝝉∗ με ένα ζεύγος (𝓺𝝉∗ (𝑡), ⃗𝒇𝝉∗ (𝑡)), όπου 𝓺𝝉∗ και ⃗𝒇𝝉∗ είναι
συναρτήσεις που αντιστοιχίζουν τον χρόνο 𝑡 που έχει παρέλθει από την αρχή της κίνησης μέχρι την αισθητή
διαμόρφωση και την αισθητή δύναμη αυτήν τη στιγμή.
Η συνέπεια μεταξύ μιας πραγματικής και μιας παρατηρούμενης τροχιάς ορίζεται ως εξής:
Ορισμός 9.2: Μια πραγματική τροχιά 𝜏 και μια παρατηρούμενη τροχιά 𝝉∗ = (𝓺𝝉∗ , ⃗𝒇𝝉∗ ) είναι συνεπείς
εάν και μόνο εάν:
∀𝑡𝜖 (0, +∞): (𝜏(𝑡), ⃗𝒇𝝉 (𝑡)) 𝜖𝒰𝓺 (𝓺𝝉∗ (𝑡)) × 𝒰𝑓 (𝒇
⃗ 𝝉∗ (𝑡)) (9.10)
𝜏∗
𝓚∗𝑡𝑟𝑎𝑗 (𝜏) = { και 𝜏 είναι συνεπείς} είναι το σύνολο όλων των πιθανών παρατηρήσεων των 𝜏.
𝜏∗
Η συνθήκη τερματισμού 𝑻𝑪 = 𝑡𝑝(𝑡, 𝓺∗ [0, 𝑡], ⃗𝒇∗ [0, 𝑡]) ισχύει για την παρατηρούμενη τροχιά. Η
διεύθυνση 𝒟𝜃 (𝒫 ) περιέχει όλες τις πιθανές πραγματικές τροχιές. Κάθε τροχιά 𝜏𝜖𝒟𝜃 (𝒫 ) μπορεί να παρατηρηθεί
από το 𝑻𝑪 ως οποιαδήποτε τροχιά στο 𝓚∗𝑡𝑟𝑎𝑗 (𝜏). Ορίζουμε 𝐴𝑐ℎ𝑖𝑒𝑣𝑒(𝒯, ℳ, 𝒫) ως συνθήκη που εκφράζει ότι
η εκτέλεση του ℳ είναι εγγυημένο ότι θα τερματίζεται στο 𝒯 όποτε η αρχική διαμόρφωση είναι στο 𝒫:
⃗ 𝒄𝜽 , 𝑡𝑝(𝑡, 𝓺∗ [0, 𝑡], ⃗𝒇∗ [0, 𝑡])).
Ορισμός 9.3: Έστω ℳ = (𝒗
𝐴𝑐ℎ𝑖𝑒𝑣𝑒(𝒯, ℳ, 𝒫 ) = ∀𝜏𝜖𝒟𝜃 (𝒫 ), ∀𝜏 ∗ 𝓚∗𝑡𝑟𝑎𝑗 (𝜏):
∃𝑡 𝑣𝑒𝑟𝑖𝑓𝑦𝑖𝑛𝑔 𝑡𝑝(𝑡, 𝓺𝝉∗ [0, 𝑡], ⃗𝒇𝝉∗ [0, 𝑡]);
𝜏(𝑡𝑓 )𝜖𝒯 όπου
⃗ ∗ [0, 𝑡])}.
𝑡𝑓 = inf {𝑡/𝑡𝑝(𝑡, 𝓺∗ [0, 𝑡], 𝒇
Αυτό δίνει τον ακόλουθο ορισμό της προεικόνας:
Ορισμός 9.4: Μια προεικόνα ενός στόχου 𝒯 για την εντολή κίνησης ℳ είναι οποιαδήποτε περιοχή 𝒫
που επαληθεύει την επίτευξη (𝒯, ℳ, 𝒫).
Οι ακόλουθες ιδιότητες είναι άμεσες συνέπειες αυτού του ορισμού:
• Αν το 𝒫 είναι προεικόνα του 𝒯 για το ℳ, τότε οποιοδήποτε υποσύνολο του 𝒫 είναι επίσης
προεικόνα του 𝒯 για το ℳ.
• Εάν το 𝒫1 και το 𝒫2 είναι και τα δύο προεικόνα του 𝒯 για το ℳ, τότε το 𝒫1 ∪ 𝒫2 είναι επίσης
προεικόνα του 𝒯 για το ℳ.
Αυτές οι δύο ιδιότητες αποδίδουν άμεσα την έννοια της μέγιστης προεικόνας ενός στόχου για μια δεδομένη
εντολή κίνησης:
𝑚𝑎𝑥 ( )
Ορισμός 9.5: Η περιοχή, 𝒫ℳ 𝒯 = {𝓺𝒔 / Achieve(𝒯, ℳ, {𝓺𝒔 })} είναι η μέγιστη προεικόνα του 𝒯 στο
ℳ.
⃗ 𝒄𝜽 , το μέγεθος της μέγιστης προεικόνας ενός στόχου 𝒯 εξαρτάται
Με δεδομένη μια ορισθείσα ταχύτητα 𝒗
από την ικανότητα της συνθήκης τερματισμού να αναγνωρίζει την επίτευξη του 𝒯.

9.6 Υπολογισμός Προεικόνας

9.6.1 Διαχωρισμός Προσβασιμότητας και Αναγνωρισιμότητας


⃗ 𝒄𝜽 και μια δεδομένη
Όπως προτείνεται και στις προηγούμενες ενότητες, για μια δεδομένη ορισθείσα ταχύτητα 𝒗
περιοχή στόχου 𝒯, ο αλγόριθμος PB θα υπολόγιζε τη μέγιστη προεικόνα του 𝒯 σε όλες τις πιθανές συνθήκες
τερματισμού και θα επέστρεφε την αντίστοιχη συνθήκη τερματισμού. Ωστόσο, θα αποδειχθεί στη συνέχεια ότι:
(1) εάν επιτρέψουμε τη διακύμανση της συνθήκης τερματισμού, δεν υπάρχει πάντα μια μέγιστη προεικόνα. (2)
εάν υπάρχει, μπορεί να μην είναι μοναδικό και (3) εάν υπάρχει μια μοναδική μέγιστη προεικόνα, μπορεί να
εξαρτάται με διακριτικό τρόπο από τη γνώση που χρησιμοποιείται από τη συνθήκη τερματισμού. Οι
περισσότερες από τις δυσκολίες που σχετίζονται με τον υπολογισμό των «μεγάλων» προεικόνων οφείλονται
στην αλληλεξάρτηση μεταξύ της δυνατότητας επίτευξης στόχου και της αναγνώρισης στόχων, δηλαδή στο
γεγονός ότι η απόφαση σε κάθε στιγμή, εάν το 𝒜 βρίσκεται στον στόχο ή όχι, μπορεί να εξαρτάται από το
παρελθόν.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 235
Ο Erdmann [Erdmann, 1984] πρότεινε την προσέγγιση του προβλήματος υπολογισμού της προεικόνας,
περιορίζοντας την ισχύ αναγνώρισης της συνθήκης τερματισμού, έτσι ώστε τα ζητήματα προσβασιμότητας και
αναγνώρισης να μπορούν να αντιμετωπιστούν χωριστά. Η βασική ιδέα είναι να κατασκευαστεί μια συνθήκη
τερματισμού, η οποία αρχικά μπορεί να αξιολογηθεί ως αληθής, μόνο εάν το 𝒜 βρίσκεται στον στόχο 𝒯 και,
δεύτερον, είναι εγγυημένο ότι θα αξιολογηθεί ως αληθές όταν επιτευχθεί ένα ορισμένο υποσύνολο 𝒮 ⊆ 𝒯. Στη
συνέχεια, απομένει να υπολογιστεί μια περιοχή ℒ από όπου το 𝒜 είναι εγγυημένο ότι θα φτάσει στο 𝒮 όταν
δοθεί εντολή κατά μήκος κάποιας δεδομένης ταχύτητας 𝒗 ⃗ 𝒄𝜽 . Το ℒ ονομάζεται οπισθοπροβολή του 𝒮 για 𝒗
⃗ 𝒄𝜽 .
Είναι μια προεικόνα του 𝒯.

9.6.2 Η Έννοια της Οπισθοπροβολής (Backprojection)


Η οπισθοπροβολή (backprojection) ορίζεται ως εξής [Erdmann, 1984]:
Ορισμός 9.6: 𝑅𝑒𝑎𝑐ℎ(𝒮, 𝜃, ℒ ) = ∀𝜏𝜖𝒟𝜃 (ℒ ), ∃𝑡 ≥ 0: 𝜏(𝑡)𝜖𝒮
Η οπισθοπροβολή του 𝒮 για 𝒗 ⃗ 𝒄𝜽 είναι οποιαδήποτε περιοχή ℒ που επαληθεύει την 𝑅𝑒𝑎𝑐ℎ(𝒮, 𝜃, ℒ ). Αν
δύο περιοχές ℒ1 και ℒ2 είναι οπισθοπροβολές του 𝒮 για 𝒗 ⃗ 𝒄𝜽 , τότε η ένωση τους ℒ1 ∪ ℒ2 είναι επίσης
𝒄
οπισθοπροβολή του 𝒮 για 𝒗 ⃗ 𝜽 . Έτσι,
Ορισμός 9.7: Η περιοχή {𝓆𝑠 𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 /𝑅𝑒𝑎𝑐ℎ(𝒮, 𝜃, {𝓆𝑠 })} είναι η μέγιστη οπισθοπροβολή του 𝒮 για 𝒗 ⃗ 𝒄𝜽 .
Αυτή ορίζεται ως ℒ𝜃 (𝒮).
Από εδώ και στο εξής, θα εξετάζουμε μόνο οπισθοπροβολές που είναι μέγιστες. Ως εκ τούτου, συνήθως
παραλείπουμε αυτόν τον προσδιορισμό.
Η οπισθοπροβολή ενός στόχου διαφέρει από την προεικονική εικόνα από το γεγονός ότι αγνοεί την
ανάγκη αναγνώρισης της επίτευξης του στόχου. Σαφώς, οποιαδήποτε προεικόνα ενός στόχου 𝒯 περιλαμβάνεται
στην οπίσθια προβολή του 𝒯 για την ίδια εντολόμενη ταχύτητα. Ως εκ τούτου, η οπίσθια προβολή του 𝒯 για
οποιαδήποτε δεδομένη εντολόμενη ταχύτητα είναι ένα άνω όριο της μέγιστης προεικόνας, εάν υπάρχει, του
ίδιου στόχου για την ίδια ορισθείσα ταχύτητα, σε όλες τις πιθανές συνθήκες τερματισμού.
Όπως και με τις μέγιστες προεικόνες, γενικά έχουμε:

ℒ𝜃 (𝒮1 ) ∪ ℒ𝜃 (𝒮2 ) ⊆ ℒ𝜃 (𝒮1 ∪ 𝒮2 ) (9.11)


Πράγματι, μπορεί να υπάρχουν διαμορφώσεις από τις οποίες μια κίνηση με εντολή κατά μήκος του 𝒗 ⃗ 𝒄𝜽 είναι
εγγυημένη ότι θα φτάσει σε μία από τις δύο περιοχές 𝒮1 και 𝒮2 , χωρίς να γνωρίζουμε ποια εκ των προτέρων. Η
εικόνα 9.9 δείχνει τις οπισθοπροβολές (κόκκινα περιγράμματα) για ένα άκρο επαφής 𝒮 για δύο εντολές
⃗ 𝒄𝜽𝟏 και 𝒗
ταχύτητες 𝒗 ⃗ 𝒄𝜽𝟐 .

Ηλίας Ξυδιάς 236


Εικόνα 9.9 Οι περιοχές που περιγράφονται με κόκκινο περίγραμμα και στα δύο σχήματα είναι οι μέγιστες οπισθοπροβολές
ℒ𝜃1 (𝒮) και ℒ𝜃2 (𝒮) της ακμής 𝒮 για τις ορισθείσες ταχύτητες 𝒗⃗ 𝒄𝜽𝟏 και 𝒗
⃗ 𝒄𝜽𝟐 αντίστοιχα. Οποιαδήποτε κίνηση με εντολή κατά
𝒄 𝒄
μήκος 𝒗
⃗ 𝜽𝟏 (αντιστοιχ. 𝒗
⃗ 𝜽𝟐 ) και ξεκινώντας από ℒ𝜃1 (𝒮) (αντίστοιχα ℒ𝜃2 (𝒮)) είναι εγγυημένη ότι θα φτάσει στο 𝒮.

9.6.3 Υπολογισμός της Οπισθοπροβολής


Δεδομένης μιας ορισθείσας ταχύτητας 𝒗 ⃗ 𝒄𝜽 , ο ακόλουθος αλγόριθμος υπολογίζει τη μέγιστη οπισθοπροβολή μιας
περιοχής στόχου 𝒮 που αποτελείται από ένα μόνο άκρο επαφής [Erdmann, 1984]:
1. Εξετάστε κάθε κορυφή στο 𝒞𝜀𝜋𝛼𝜑ή . Σημειώστε κάθε κορυφή χωρίς στόχο στην οποία είναι δυνατή η
προσκόλληση. Σημειώστε κάθε κορυφή στόχου, εάν είναι δυνατό να κολλήσετε στην άκρη που δεν
είναι στόχος, η οποία εφάπτεται αυτής της κορυφής. Σημειώστε κάθε κορυφή τέρματος, εάν είναι
δυνατή η ολίσθηση μακριά από την κορυφή, προς την άκρη χωρίς στόχο.
2. Σε κάθε σημειωμένη κορυφή, ανυψώστε δύο ακτίνες παράλληλες προς τις πλευρές του ανεστραμμένου
κώνου αβεβαιότητας ελέγχου. Υπολογίστε τη διασταύρωση αυτών των ακτινών μεταξύ τους και με το
𝒞𝜀𝜋𝛼𝜑ή . Αγνοήστε κάθε ακτίνα πέρα από την πρώτη διασταύρωση. Το υπόλοιπο τμήμα σε κάθε ακτίνα
ονομάζεται ελεύθερη ακμή. Η σημειωμένη κορυφή στην οποία ανεγέρθηκε η ακτίνα ονομάζεται
κορυφή αγκύρωσης της ελεύθερης ακμής.
3. Ανιχνεύστε την περιοχή οπισθοπροβολής. Για τον σκοπό αυτόν, χαράξτε την άκρη 𝒮 προς την
κατεύθυνση που αφήνει την περιοχή του 𝒞 −εμποδίου στη δεξιά πλευρά, μέχρι να επιτευχθεί ένα τελικό
σημείο 𝒮. Στη συνέχεια, αφήστε όλες τις επαφές και τις ελεύθερες ακμές που προσπίπτουν σε αυτό το
σημείο να ταξινομηθούν δεξιόστροφα σε μια κυκλική λίστα. Ανιχνεύστε το πρώτο άκρο που ακολουθεί
το 𝒮 σε αυτήν τη λίστα. Προχωρήστε με τον ίδιο τρόπο μέχρι να συναντήσετε ξανά το 𝒮.
Αυτός ο αλγόριθμος απαιτεί η οπισθοπροβολή να είναι οριοθετημένη, κάτι που μπορεί να επιτευχθεί
επιβάλλοντας ότι ο 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 όταν η περιοχή 𝒞 −εμποδίου είναι οριοθετημένη. Επιπλέον, ο αλγόριθμος δεν
καλύπτει κάποιες συγκεκριμένες περιπτώσεις, τις οποίες θα συζητήσουμε παρακάτω.
Η κατασκευή των οπισθοπροβολών που φαίνονται στην Εικόνα 9.9 από αυτόν τον αλγόριθμο
απεικονίζεται στην Εικόνα 9.12. Οι κορυφές που σημειώνονται στο βήμα 1 απεικονίζονται ως μικροί κύκλοι.
Η ανέγερση του κώνου αβεβαιότητας ανεστραμμένου ελέγχου στις σημειωμένες κορυφές δημιουργεί
περιορισμούς - τις ελεύθερες ακμές - που εμποδίζουν να περιέχει η οπίσθια προβολή διαμορφώσεις στις οποίες
μια κίνηση μπορεί να φτάσει σε μια κορυφή ή μια άκρη με πιθανότητα προσκόλλησης ή ολίσθησης μακριά από
τον στόχο, χωρίς δυνατότητα επιστροφής σε αυτόν. Παρατηρήστε ότι ο αλγόριθμος κατασκευάζει μόνο το όριο
της οπίσθιας προβολής του 𝒮. Η περιοχή που βρίσκεται μέσα σε αυτό το όριο και τα τμήματα των άκρων επαφής
που περιέχονται είναι μέρος της οπισθοπροβολής. Υποθέτοντας ότι ο κώνος αβεβαιότητας ελέγχου είναι
ανοιχτός, κάθε ελεύθερη ακμή στο όριο είναι επίσης μέρος της οπίσθιας προβολής, με εξαίρεση την κορυφή
της αγκύρωσης, εάν η τελευταία είναι μια κορυφή χωρίς στόχο.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 237
(α) (β)
Εικόνα 9.10 Αυτή η εικόνα απεικονίζει τον υπολογισμό των δύο οπισθοπροβολών που φαίνονται στην Εικόνα 9.9, με τον
⃗ 𝒄𝜽𝟏 όσο και τις
αλγόριθμο [10]. Το σχήμα α δείχνει τόσο τις κορυφές που σημειώνονται στο βήμα 1 για την ταχύτητα 𝒗
ακτίνες που ανυψώνονται στο βήμα 2 από αυτά τα σημεία (τις κορυφές 1,2,3,4,5). Η κορυφή 1 επισημαίνεται επειδή είναι
δυνατό να γλιστρήσει μακριά από το 𝒮. Οι κορυφές 2 έως 5 επισημαίνονται επειδή είναι κορυφές χωρίς στόχο, όπου είναι
δυνατή η προσκόλληση. Το σχήμα β δείχνει τις σημειωμένες κορυφές και τις ανορθωμένες ακτίνες για την ορισθείσα
⃗ 𝒄𝜽𝟐 .
ταχύτητα 𝒗

Ο παραπάνω αλγόριθμος αντιμετωπίζει μόνο την περίπτωση κατά την οποία όλες οι κατευθύνσεις που
περιέχονται στον κώνο αβεβαιότητας ελέγχου προβάλλονται θετικά στο εισερχόμενο κανονικό του 𝒮. Στην
περίπτωση που ορισμένες κατευθύνσεις (ή και όλες) προβάλλονται αρνητικά, θα μπορούσαμε να κάνουμε τον
αλγόριθμο να επιστρέψει απλώς το 𝒮 ως οπίσθια προβολή. Αυτό είναι σωστό, καθώς το 𝒮 είναι πάντα μια
(πιθανώς μη μέγιστη) οπισθοπροβολή του εαυτού του, αλλά είναι πολύ συντηρητικό, όπως απεικονίζουμε στην
Εικόνα 9.11.
Το κόκκινο τρίγωνο στην Εικόνα 9.11(α) περιέχει αρχικές διαμορφώσεις, από τις οποίες η κίνηση κατά
μήκος του 𝒗⃗ 𝒄𝜽 εγγυάται ότι θα φτάσει στην αριστερή κορυφή του 𝒮, ολισθαίνοντας κατά μήκος της άκρης 𝛦1 ,
που εφάπτεται σε αυτήν την κορυφή και, επομένως, αποτελεί μέρος του ℒ𝜃 (𝒮). Το ριγέ τρίγωνο στην Εικόνα
9.11(β) είναι επίσης μέρος του ℒ𝜃 (𝒮), αφού όλες οι κινήσεις που ξεκινούν σε αυτό φτάνουν τελικά στη δεξιά
κορυφή του 𝒮, ολισθαίνοντας κατά μήκος του 𝛦2 . Η Εικόνα 9.11(γ) δείχνει το ℒ𝜃 (𝒮). Περιέχει τα δύο
προηγούμενα τρίγωνα και την άκρη 𝒮. Ο Erdmann [Erdmann, 1986] περιέγραψε μια τροποποίηση του αρχικού
του αλγορίθμου για τον χειρισμό των περιπτώσεων που απεικονίζονται στην Εικόνα 9.11 με γενικό τρόπο.

Ηλίας Ξυδιάς 238


Εικόνα 9.11 Αυτή η εικόνα απεικονίζει ειδικές περιπτώσεις που μπορεί να συμβούν, όταν ορισμένες από τις κατευθύνσεις
που περιέχονται στον κώνο αβεβαιότητας ελέγχου προβάλλουν αρνητικά στο εισερχόμενο κανονικό του άκρου στόχου 𝒮.

Ο αλγόριθμος του Erdmann έχει γενικευτεί από τον Donald [Donald, 1987a] σε έναν αλγόριθμο που δημιουργεί
τη μέγιστη οπισθοπροβολή οποιασδήποτε περιοχής 𝒮, η οποία περιγράφεται ως η ένωση ακμών επαφής και
πολυγωνικών περιοχών στο 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Η αρχή του αλγορίθμου είναι η εξής:
Σαρώνει μια ευθεία L κατά μήκος του επιπέδου, κάθετα προς την εντολόμενη ταχύτητα 𝒗 ⃗ 𝒄𝜽 . Η σάρωση
ξεκινά από μια θέση L, η οποία εφάπτεται στο 𝒮, με το 𝒮 να βρίσκεται εξ ολοκλήρου στην πλευρά του L που
δείχνει το διάνυσμα −𝒗 ⃗ 𝒄𝜽 . Η σάρωση προχωρά προς την κατεύθυνση του διανύσματος −𝒗⃗ 𝒄𝜽 . Κατά τη διάρκεια
της σάρωσης, ο αλγόριθμος διατηρεί την κατάσταση του L, δηλαδή την περιγραφή της τομής του με το 𝒞𝜀𝜋𝛼𝜑ή ,
𝜏𝜊 𝒮 και τις ελεύθερες ακμές που δημιουργούνται από κορυφές επαφής και κορυφές στόχου. Αυτή η κατάσταση
αλλάζει ποιοτικά σε γεγονότα που συμβαίνουν όταν το L διέρχεται από μια κορυφή 𝒞𝜀𝜋𝛼𝜑ή , μια κορυφή 𝒮, την
τομή δύο ελεύθερων άκρων, την τομή μιας ελεύθερης ακμής και την 𝒞𝜀𝜋𝛼𝜑ή ή την τομή μιας ελεύθερης ακμής
και 𝒮. Αξιοποιώντας αυτά τα συμβάντα, ο αλγόριθμος ενημερώνει την κατάσταση της γραμμής και τη λίστα
μελλοντικών συμβάντων. Κατά τη διάρκεια της σάρωσης, ο αλγόριθμος ανιχνεύει την οπίσθια προβολή. Η
σάρωση σταματά όταν συναντηθεί το τελευταίο συμβάν.
Η βασική ιδέα που υπάρχει πίσω από αυτόν τον αλγόριθμο είναι ότι το όριο της οπισθοπροβολής
αποτελείται από ευθύγραμμα τμήματα και ότι σε κάθε συμβάν υπάρχει ένα τοπικό κριτήριο (το οποίο δεν
εξαρτάται από το τι θα συμβεί αργότερα κατά τη διάρκεια της σάρωσης) για να αποφασίσετε πώς να
ανιχνεύσετε το όριο της οπισθοπροβολής. Αυτό το κριτήριο οδηγεί σε όρθιες ακτίνες (που αποδίδουν ελεύθερα
άκρα), τόσο από τις κορυφές επαφής όσο και από τις κορυφές στόχου. Επιδιώκεται να μην περιέχει η οπίσθια
προβολή διαμορφώσεις στις οποίες μια κίνηση μπορεί να φτάσει σε μια κορυφή ή μια άκρη και να κολλήσει ή
να γλιστρήσει μακριά από τον στόχο, χωρίς να υπάρχει δυνατότητα επιστροφής σε αυτόν. Ο αλγόριθμος δεν
απαιτεί οριοθέτηση της οπισθοπροβολής.
Στην Εικόνα 9.12 απεικονίζεται η λειτουργία της μεθόδου σάρωσης σε ένα παράδειγμα.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 239
Εικόνα 9.12 Αυτή η εικόνα απεικονίζει τον υπολογισμό μιας οπισθοπροβολής χρησιμοποιώντας τον αλγόριθμο sweep-line.
Η περιοχή στόχου είναι η άκρη 𝒮. Η Εικόνα 9.12(α) δείχνει τη θέση της γραμμής ℒ1 όταν ξεκινά η σάρωση. Στις εικόνες
9.12(β) έως 9.12 (ζ) δείχνουν τη θέση του στα διαδοχικά κρίσιμα γεγονότα. Σε κάθε εικόνα το κόκκινο περίγραμμα
απεικονίζει το τμήμα της οπισθοπροβολής που έχει κατασκευαστεί μέχρι τώρα.

Έστω n ο αριθμός των κορυφών στο 𝒞𝜀𝜋𝛼𝜑ή . Υποθέστε ότι η συνδυασμένη πολυπλοκότητα του Ccontact και
του 8, δηλαδή ο αριθμός των κορυφών στο 𝒞𝜀𝜋𝛼𝜑ή , συν τον αριθμό των κορυφών του 8, συν τον αριθμό των
τομών μεταξύ 𝒮 και𝒞𝜀𝜋𝛼𝜑ή , είναι O(n). Ο αλγόριθμος της γραμμής σάρωσης ανορθώνει ακτίνες O(n). Το
περίγραμμα των ℒ𝜃 (𝒮) αποτελείται από άκρα τέρματος (άκρες που οριοθετούν το 𝒮), ελεύθερες ακμές και
άκρες επαφής. Κάθε ανορθωμένη ακτίνα μπορεί να συμβάλει το πολύ σε ένα άκρο στην οπίσθια προβολή. Κάθε
άκρο στόχου συνεισφέρει το πολύ ένα άκρο οπισθοπροβολής. Κάθε μη στόχος ακμή στον χώρο επαφής μπορεί
να συνεισφέρει μία ή περισσότερες ακμές οπίσθιας προβολής, αλλά όποτε συνεισφέρει k ακμές οπίσθιας
προβολής, καταναλώνει επίσης ελεύθερες άκρες O(k). Επομένως, το όριο της οπίσθιας προβολής αποτελείται
από άκρες O(n). Κάθε ακτίνα διακόπτεται στην πρώτη της τομή με μια ακμή στόχου, μια άκρη επαφής ή άλλη
ακτίνα, οπότε (;;;) το όριο της οπισθοπροβολής υπολογίζεται σε χρόνο O(nlogn).

9.7 Οπισθοπροβολή από τις Κολλημένες Ακμές (Backprojection from Sticking


Edges)
Η οπισθoπροβολή από κολλημένες άκρες είναι μια απλή μέθοδος για τον υπολογισμό των προεικόνων. Με
δεδομένη μια διατεταγμένη ταχύτητα 𝒗 ⃗ 𝒄𝜽 και έναν στόχο 𝒯, αποτελείται από:
1. Προσδιορισμός του υποσυνόλου 𝒯 𝑠 του 𝒯 ∩ 𝒞𝜀𝜋𝛼𝜑ή στο οποίο οι κινήσεις που δίνονται εντολή κατά
μήκος του 𝒗 ⃗ 𝒄𝜽 είναι εγγυημένο ότι θα κολλήσουν.
2. Υπολογισμός της οπισθοπροβολής ℒ𝜃 (𝒯 𝑠 ).
Ο υπολογισμός του 𝒯 𝑠 γίνεται απλά συγκρίνοντας τον σχετικό προσανατολισμό κάθε ακμής επαφής στο 𝒯 με
⃗ 𝒄𝜽 . Το 𝒯 𝑠 είναι κατασκευασμένο από κάθε ακμή E του 𝒯 ∩ 𝒞𝜀𝜋𝛼𝜑ή έτσι ώστε,
𝒗
⃗ 𝒄𝜽 , 𝑣(𝐸 ))| ≤ 𝜑 − 𝑛𝑣
|𝛾𝜔𝜈ί𝛼(−𝒗 (9.12)
Ας υποθέσουμε ότι το 𝒯 𝑠 δεν είναι κενό (διαφορετικά, η κατασκευασμένη προεικόνα είναι το κενό σύνολο).
Πρέπει ακόμα να κατασκευάσουμε τη συνθήκη τερματισμού που αναγνωρίζει το κόλλημα. Πράγματι, ενώ το

Ηλίας Ξυδιάς 240


κόλλημα «φυσικά» τερματίζει μια κίνηση, το 𝒜 πρέπει να αναγνωρίσει το κόλλημα για να τερματίσει «λογικά»
την κίνηση και να εκτελέσει την επόμενη εντολή κίνησης στη στρατηγική κίνησης ή με επιτυχία επιστροφής.
Ένας τρόπος κατασκευής της συνθήκης τερματισμού είναι η προβολή ℒ𝜃 (𝒯 𝑠 ) σε μια γραμμή παράλληλη προς
⃗ 𝒄𝜽 . Έστω D το μήκος της προβολής. Δεδομένου ότι ο κώνος τριβής είναι μεγαλύτερος από τον κώνο
το 𝒗
αβεβαιότητας ελέγχου, η πραγματική ταχύτητα 𝑣 του 𝒜 έχει μια θετική συνιστώσα κατά μήκος του 𝒗 ⃗ 𝒄𝜽 παντού
𝑠 𝑠
στο ℒ𝜃 (𝒯 ). Εξετάζοντας όλα τα άκρα επαφής στο όριο των ℒ𝜃 (𝒯 ), μπορεί κανείς να υπολογίσει την ελάχιστη
τιμή 𝑣𝑚𝑖𝑛 του 𝑣 ∙ 𝒗⃗ 𝒄𝜽 σε ℒ𝜃 (𝒯 𝑠 ). Μια πιθανή συνθήκη τερματισμού είναι:
𝐷 (9.13)
𝑇𝐶 ≡ 𝑡 >
𝑣𝑚𝑖𝑛
Η περιοχή ℒ𝜃 (𝒯 𝑠 ) είναι μια προεικόνα του 𝒯 για αυτήν την συνθήκη τερματισμού, η οποία θα αναφέρεται ως
συνθήκη τερματισμού κολλήματος (sticking termination condition).
Έστω 𝒯 μια λίστα ακμών επαφής O(n). Ο υπολογισμός των 𝒯 𝑠 και του ℒ𝜃 (𝒯 𝑠 ) απαιτεί χρόνο O(n) και
O(nlogn) χρόνο, αντίστοιχα. Η κατασκευή της έκφρασης 𝑇𝐶 διαρκεί Ο(n) χρόνο.

Εικόνα 9.13 Απεικονίζεται μια στρατηγική που παράγεται από έναν απλό σχεδιαστή χρησιμοποιώντας τη μέθοδο
backprojection-from-sticking-edges. Η αρχική περιοχή ℐ είναι ο δίσκος πάνω δεξιά και η περιοχή στόχου είναι 𝒢. Η
στρατηγική αποτελείται από 8 εντολές κίνησης των οποίων οι ταχύτητες, 𝒗 ⃗ 𝒄𝟏 έως 𝒗
⃗ 𝒄𝟖 , εμφανίζονται στην αριστερή πλευρά.
Αυτές οι ταχύτητες επιλέχθηκαν από το σύνολο {𝑘𝜋/4}𝑘=0,…,7 . Κάθε περιοχή εμφανίζεται ως ένα έντονο κόκκινο τμήμα
γραμμής και συμβολίζεται με 𝒯𝑖 (i = 1, ... , 7) αντιπροσωπεύει το υποσύνολο κολλήματος της προεικόνας του 𝒯𝑖+1 (𝒯8 =
𝒢).

Η Εικόνα 9.13 απεικονίζει μια στρατηγική που δημιουργείται από έναν απλό σχεδιαστή που υπολογίζει
προεικόνες χρησιμοποιώντας τη μέθοδο backprojection from sticking edges [Latombe, Lazanas and Shekhar,
1989]. Ο σχεδιαστής κατασκευάζει και αναζητά ένα γράφημα προεικόνων λαμβάνοντας υπόψη τις εντολές
ταχύτητας προσανατολισμών {𝑘𝜋/4}𝑘=0,…,7 . Η περιοχή στόχου 𝒢 είναι ένα υποσύνολο μιας ακμής επαφής. Η
αρχική περιοχή ℐ είναι ο δίσκος ακτίνας 𝑝𝑞 που φαίνεται πάνω δεξιά στην Εικόνα 9.13. Η στρατηγική που
⃗ 𝒄𝟏 έως 𝒗
δημιουργείται αποτελείται από 8 εντολές κίνησης. Οι ταχύτητες 𝒗 ⃗ 𝒄𝟖 αυτών των εντολών απεικονίζονται
στην αριστερή πλευρά της Εικόνας 9.13. Το 𝒯𝑖 (𝑖𝜖[1,7])υποδηλώνει το υποσύνολο κολλήματος (για 𝒗 ⃗ 𝒄𝒊 ) της
𝒄
προεικόνας του 𝒯𝑖+1 (𝒯8 = 𝒢). Ως εκ τούτου, μια κίνηση κατά μήκος 𝒗 ⃗ 𝒊+𝟏 που ξεκινά από μέσα 𝒯𝑖 τελειώνει

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 241
κολλώντας στο 𝒯𝑖+1 . Το παράδειγμα της Εικόνας 9.13 είναι ένα τυπικό παράδειγμα, στο οποίο η μέθοδος
backprojection-from-stickingedges λειτουργεί καλά. Τα 𝒞 −εμπόδια είναι τέτοια ώστε το 𝒜 μπορεί να
«αναπηδήσει» από τη μια άκρη προσκόλλησης στην άλλη. Αντίθετα, η μέθοδος λειτουργεί άσχημα ή
αποτυγχάνει όταν τα 𝒞 − εμπόδια είναι πολύ μακριά μεταξύ τους και όταν ο στόχος βρίσκεται κυρίως (ή
εντελώς) σε ελεύθερο χώρο.

Ηλίας Ξυδιάς 242


Βιβλιογραφία/Αναφορές

[1] LaValle, S. M. (2006). Planning Algorithms. Cambridge University Press.


[2] Erdmann, M. (1984). On Motion Planning with Uncertainty. Technical Report 810, AI Laboratory, MIT.
[3] Mason, M. T. (1981). Compliance and force control for computer-controlled manipulators. IEEE
Transactions on Systems, Man, and Cybernetics, 11(6), 418–432.
[4] Hogan, N. (1984). Impedance control: An approach to manipulation. 1984 American Control Conference.
[5] Whitney, D. E. (1977). Force feedback control of manipulator fine motions. Journal of Dynamic Systems,
Measurement, and Control, 99(2), 91–97.
[6] Canny, J., & Reif, J. (1987). New lower bound techniques for robot motion planning problems. 28th Annual
Symposium on Foundations of Computer Science (Sfcs 1987).
[7] Natarajan, B. K. (1988). The complexity of fine motion planning. The International Journal of Robotics
Research, 7(2), 36–42.
[8] Lozano-Pérez, T., Mason, M. T., & Taylor, R. H. (1984). Automatic synthesis of fine-motion strategies for
robots. The International Journal of Robotics Research, 3(1), 3–24.
[9] Erdmann, M. (1984). On Motion Planning with Uncertainty, Technical Report 810, AI Laboratory, MIT.
[10] Erdmann, M. (1986). Using Back projections for Fine Motion Planning with Uncertainty. International
Journal of Robotics Research, 5(1), 19-45.
[11] Donald, B.R. (1987a). Error Detection and Recovery for Robot Motion Planning with Uncertainty, Ph.D.
Dissertation, Department of Electrical Engineering and Computer Science, MIT.
[12] Latombe, J.C., Lazanas, A. and Shekhar, S. (1989). Robot Motion Planning with Uncertainty in Control
and Sensing, Report No. STAN-CS-89-1292, Department of Computer Science, Stanford University.
[13] Latombe, J.-C. (1991). Robot Motion Planning. Springer.

Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 243
Ένας από τους απώτερους στόχους της Ρομποτικής είναι η δημιουργία ευφυών συστημάτων (ρομπότ). Αυτά τα
συστήματα θα πρέπει να έχουν την ικανότητα να δέχονται περιγραφές υψηλού επιπέδου των εργασιών που
καλούνται να εκτελέσουν και να τις εκτελούν χωρίς περαιτέρω ανθρώπινη παρέμβαση. Οι περιγραφές υψηλού
επιπέδου των εργασιών καθορίζουν το τι θέλει να κάνει ο χρήστης παρά πώς να το κάνει. Η πρόοδος που έχει
σημειωθεί τα τελευταία χρόνια προς τα ευφυή συστήματα έχει ως αποτέλεσμα να χρησιμοποιούνται για την
εκτέλεση διαφόρων εργασιών, όπως είναι η διαχείριση απορριμμάτων, η εξερεύνηση του διαστήματος, η
θαλάσσια/υποθαλάσσια εργασία, τα αυτόνομα οχήματα, οι ιατρικές εφαρμογές κλπ. Η ανάπτυξη των
απαραίτητων τεχνολογιών για τη δημιουργία ευφυών συστημάτων, τα οποία θα μπορούν να συνυπάρχουν με
τον άνθρωπο, να συνεργάζονται με αυτόν αλλά και μεταξύ τους και γενικότερα να μοιράζονται το ίδιο
περιβάλλον, είναι μια προοπτική η οποία για να επιτευχθεί πρέπει να επιλυθούν πολλά σημαντικά προβλήματα.
Ένα από αυτά είναι ο σχεδιασμός κίνησης, ο οποίος είναι και το κεντρικό θέμα αυτού του βιβλίου. Μπορεί να
διατυπωθεί ως εξής: Πώς μπορεί ένα ευφυές σύστημα να αποφασίσει ποιες κινήσεις πρέπει να εκτελέσει
προκειμένου να μετακινηθεί από μια αρχική διαμόρφωση σε μια τελική διαμόρφωση; Αυτή η ικανότητα είναι
εξαιρετικά απαραίτητη, δεδομένου ότι εξ ορισμού ένα ευφυές σύστημα, για να μπορέσει να εκτελέσει τις
εργασίες που του έχουν ανατεθεί, πρέπει να μετακινηθεί στον πραγματικό κόσμο. Το ελάχιστο που θα περίμενε
κανείς από ένα ευφυές σύστημα είναι η ικανότητα να σχεδιάζει τις δικές του κινήσεις. Το παρόν βιβλίο
αποτελείται από 9 κεφάλαια και κάθε κεφάλαιο του βιβλίου περιλαμβάνει λυμένα παραδείγματα, ασκήσεις
προς λύση και ερωτήσεις κατανόησης.

Το παρόν σύγγραμμα δημιουργήθηκε στο πλαίσιο του Έργου ΚΑΛΛΙΠΟΣ+


Χρηματοδότης Υπουργείο Παιδείας και Θρησκευμάτων,
Προγράμματα ΠΔΕ, ΕΠΑ 2020-2025
Φορέας υλοποίησης ΕΛΚΕ ΕΜΠ
Φορέας λειτουργίας ΣΕΑΒ/Παράρτημα ΕΜΠ/Μονάδα Εκδόσεων
Διάρκεια 2ης Φάσης 2020-2023
Σκοπός Η δημιουργία ακαδημαϊκών ψηφιακών συγγραμμάτων
ανοικτής πρόσβασης (περισσότερων από 700)
• Προπτυχιακών και μεταπτυχιακών εγχειριδίων
• Μονογραφιών
• Μεταφράσεων ανοικτών textbooks
• Βιβλιογραφικών Οδηγών
Επιστημονικά Υπεύθυνος Νικόλαος Μήτρου, Καθηγητής ΣΗΜΜΥ ΕΜΠ

ISBN: 978-618-228-012-6 DOI: http://dx.doi.org/10.57713/kallipos-241

παρόν σύγγραμμα χρηματοδοτήθηκε από το Πρόγραμμα Δημοσίων Επενδύσεων του Υπουργείου Παιδεί

Το παρόν σύγγραμμα χρηματοδοτήθηκε από το Πρόγραμμα Δημοσίων Επενδύσεων του Υπουργείου Παιδείας.

You might also like