Professional Documents
Culture Documents
Επίκουρος Καθηγητής
Τμήμα Μηχανικών Σχεδίασης Προϊόντων και Συστημάτων
Πανεπιστήμιο Αιγαίου
Συγγραφή
Ηλίας Ξυδιάς
Συντελεστές έκδοσης
Γλωσσική Επιμέλεια: Καλλή Πιτσόλη
Γραφιστική Επιμέλεια: Φαίδρα Στραγάλη
Το παρόν έργο αδειοδοτείται υπό τους όρους της άδειας 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
Το σύγγραμμα αυτό περιλαμβάνει το γνωστικό περιεχόμενο των μαθημάτων της Ρομποτικής και της Σχεδίασης
Οχημάτων & Νέες Τεχνολογίες Υποστήριξης Οδηγού, τα οποία απευθύνονται στους προπτυχιακούς φοιτητές
του Τμήματος Μηχανικών Σχεδίασης Προϊόντων και Συστημάτων της Πολυτεχνικής Σχολής του
Πανεπιστημίου Αιγαίου. Συγκεκριμένα, το υλικό του συγγράμματος καλύπτει συστηματικά το γνωστικό
αντικείμενο του Σχεδιασμού Κίνησης Ρομπότ και αποτελεί μέρος του ευρύτερου πεδίου της Ρομποτικής.
Η μελέτη των μεθοδολογιών που χρησιμοποιούνται για τον σχεδιασμό κίνησης ευφυών συστημάτων
στηρίχθηκε στις σημειώσεις των μαθημάτων της Ρομποτικής και της Σχεδίασης Οχημάτων & Νέες Τεχνολογίες
Υποστήριξης Οδηγού.
Εκφράζω τις θερμές μου ευχαριστίες σε όλους εκείνους που με βοήθησαν, με άμεσο ή έμμεσο τρόπο,
στη συγγραφή αυτού του βιβλίου.
Η.Ξ., Ιούλιος 2021
Ένας από τους απώτερους στόχους της Ρομποτικής είναι η δημιουργία ευφυών συστημάτων (ρομπότ). Αυτά τα
συστήματα θα πρέπει να έχουν την ικανότητα να δέχονται περιγραφές υψηλού επιπέδου των εργασιών που
καλούνται να εκτελέσουν και να τις εκτελούν χωρίς περαιτέρω ανθρώπινη παρέμβαση. Οι περιγραφές υψηλού
επιπέδου των εργασιών που πρέπει να πραγματοποιηθούν καθορίζουν το τι θέλει να κάνει ο χρήστης, παρά το
πώς να το κάνει.
Η πρόοδος που έχει σημειωθεί τα τελευταία χρόνια στα ευφυή συστήματα έχει ως αποτέλεσμα να
χρησιμοποιούνται για την εκτέλεση διαφόρων εργασιών, όπως είναι η διαχείριση απορριμμάτων, η εξερεύνηση
του διαστήματος, η θαλάσσια/υποθαλάσσια εργασία, τα αυτόνομα οχήματα, οι ιατρικές εφαρμογές κ.λπ. Η
ανάπτυξη των απαραίτητων τεχνολογιών για τη δημιουργία ευφυών συστημάτων τα οποία θα μπορούν να
συνυπάρχουν με τον άνθρωπο, να συνεργάζονται με αυτόν αλλά και μεταξύ τους και, γενικότερα, να
μοιράζονται το ίδιο περιβάλλον είναι μια προοπτική η οποία, για να επιτευχθεί, πρέπει να επιλυθούν πολλά
σημαντικά προβλήματα. Ένα από αυτά είναι ο σχεδιασμός κίνησης, το κεντρικό θέμα αυτού του βιβλίου.
Το πρόβλημα σχεδιασμού κίνησής μπορεί να διατυπωθεί ως εξής: Πώς μπορεί ένα ευφυές σύστημα να
αποφασίσει ποιες κινήσεις πρέπει να εκτελέσει, προκειμένου να μετακινηθεί από μια αρχική διαμόρφωση σε
μια τελική διαμόρφωση; Αυτή η ικανότητα είναι εξαιρετικά απαραίτητη, δεδομένου ότι, εξ ορισμού, ένα ευφυές
σύστημα για να μπορέσει να εκτελέσει τις εργασίες που του έχουν ανατεθεί πρέπει να μετακινηθεί στον
πραγματικό κόσμο. Το ελάχιστο που θα περίμενε κανείς από ένα ευφυές σύστημα είναι η ικανότητα να
σχεδιάζει τις δικές του κινήσεις.
Το παρόν βιβλίο αποτελείται από 9 κεφάλαια. Πιο αναλυτικά:
Στο 1ο Κεφάλαιο θα παρουσιαστεί το βασικό πρόβλημα σχεδιασμού κίνησης. Υποθέτουμε ότι το ευφυές
σύστημα (από εδώ και στο εξής θα καλείται ρομπότ) είναι ένα άκαμπτο αντικείμενο, από το οποίο ζητείται να
κινηθεί σε ένα περιβάλλον με στατικά (ακίνητα) εμπόδια και, επιπλέον, χωρίς να ληφθεί υπόψη η δυναμική
συμπεριφορά του ρομπότ. Επίσης, θα γίνει εισαγωγή της έννοιας του χώρου διαμορφώσεων και θα αναφερθούν
οι βασικές προσεγγίσεις για τον σχεδιασμό κίνησης ρομπότ. Τέλος, θα παρουσιαστούν διάφορες επεκτάσεις
του βασικού προβλήματος σχεδιασμού κίνησης και θα γίνει αναφορά στις βασικές εργασίες που έχουν συμβάλει
στην ανάπτυξη του πεδίου σχεδιασμού κίνησης.
Στο 2ο Κεφάλαιο θα αναπτυχθεί η έννοια του χώρου των διαμορφώσεων για ένα άκαμπτο αντικείμενο
που μπορεί να κινηθεί (μετατόπιση και περιστροφή) ελεύθερα ανάμεσα σε εμπόδια, σε έναν διδιάστατο ή
τριδιάστατο χώρο εργασίας. Επίσης, θα γίνει αναφορά στη διαφορική και τοπολογική δομή του χώρου και στις
μαθηματικές έννοιες που θα χρησιμοποιηθούν στο υπόλοιπο βιβλίο. Τέλος, θα μελετηθεί ο τρόπος με τον οποίο
τα «εμπόδια» απεικονίζονται στον χώρο διαμορφώσεων.
Στο 3ο Κεφάλαιο θα γίνει η περιγραφή μιας πρώτης προσέγγισης που χρησιμοποιείται για τον σχεδιασμό
κίνησης ρομπότ, η οποία ονομάζεται «χάρτης διαδρομών». Αυτή η προσέγγιση βασίζεται στην ακόλουθη
γενική ιδέα: αρχικά κατασκευάζεται ένα δίκτυο από καμπύλες (χάρτης διαδρομών), το οποίο αναπαριστά τη
συνδεσιμότητα του ελεύθερου χώρου του ρομπότ. Στη συνέχεια, ενώνεται η αρχική και τελική θέση του ρομπότ
με τον χάρτη. Τέλος, αναζητείται στον κατασκευασμένο χάρτη μια ελεύθερη διαδρομή, η οποία ενώνει την
αρχική και τελική θέση του ρομπότ. Το βασικό ζητούμενο σε αυτήν την προσέγγιση είναι προφανώς η
κατασκευή του χάρτη διαδρομών. Έχουν προταθεί διάφορες μεθοδολογίες για τον σχεδιασμό κίνησης ρομπότ,
που βασίζονται σε διαφορετικές αρχές, παράγοντας αντίστοιχα είδη χαρτών. Οι κυριότερες μεθοδολογίες που
ακολουθούν τις βασικές αρχές του χάρτη διαδρομών είναι: Χάρτες Ορατότητας (Visibility Graph),
Διαγράμματα Voronoi (Voronoi Diagrams), Στοχαστικοί Χάρτες (Probabilistic Roadmaps) και Μέθοδος
Silhouette (Silhouette Method).
Στο 4ο Κεφάλαιο θα παρουσιαστεί μια δεύτερη προσέγγιση για τον σχεδιασμό κίνησης ρομπότ, η οποία
καλείται «αποσύνθεση σε κελιά» ή «μέθοδος πλέγματος». Σε αυτήν την κατηγορία ανήκουν οι μεθοδολογίες
αποσύνθεσης του ελεύθερου από συγκρούσεις χώρου διαμορφώσεων του ρομπότ σε απλές περιοχές, οι οποίες
καλούνται κελιά (cells). Στη συνέχεια κατασκευάζεται και ερευνάται ένας μη κατευθυνόμενος γράφος, που
αναπαριστά τη σχέση γειτνίασης μεταξύ των κελιών. Κόμβοι του γράφου είναι τα παραγόμενα κελιά. Δύο
κόμβοι ενώνονται με μια ακμή, αν και μόνο αν τα αντίστοιχα κελιά είναι γειτονικά. Το αποτέλεσμα της
Ηλίας Ξυδιάς 16
Κεφάλαιο 1ο
Ανασκόπηση Βιβλιογραφίας
Σύνοψη
Τα τελευταία χρόνια, έχουν αναπτυχθεί πάρα πολλές μεθοδολογίες που υποστηρίζουν την αυτονομία ενός ευφυούς
συστήματος, που επιτρέπουν επομένως στο ρομποτικό σύστημα να σχεδιάσει τις κινήσεις του στο περιβάλλον στο
οποίο καλείται να εργαστεί. Ο στόχος αυτού του κεφαλαίου είναι διττός: αρχικά θα γίνει μια εισαγωγή στο
πρόβλημα σχεδιασμού κίνησης ρομποτικού συστήματος και στη συνέχεια θα γίνει μια ανασκόπηση των κεφαλαίων
που θα ακολουθήσουν.
Προαπαιτούμενη γνώση
Δεν απαιτούνται εξειδικευμένες γνώσεις.
Εισαγωγή
Ρομπότ ή ευφυές σύστημα ονομάζεται οποιαδήποτε μηχανική συσκευή που μπορεί να υποκαθιστά τον άνθρωπο
σε διάφορες εργασίες. Ένα ρομπότ μπορεί να δράσει υπό τον απευθείας έλεγχο ενός ανθρώπου ή αυτόνομα,
υπό τον έλεγχο ενός υπολογιστή.
Τα ρομποτικά συστήματα, εφοδιασμένα με τα κατάλληλα στοιχεία (αισθητήρες, κινητήρες κτλ.) και
κάτω από την εποπτεία ενός ελεγκτή, μπορούν να χρησιμοποιηθούν είτε για να κάνουν εργασίες δύσκολες ή
επικίνδυνο να γίνουν απευθείας από άνθρωπο είτε για να τον ψυχαγωγήσουν. Σε όλες τις περιπτώσεις, ένα
ρομπότ καλείται να ενεργήσει (να κινηθεί), να συνυπάρξει σε έναν περιβάλλον το οποίο περιέχει αντικείμενα
και ανθρώπους. Πρέπει να σημειωθεί ότι στις περισσότερες περιπτώσεις η δομή του περιβάλλοντος δεν είναι
εκ των προτέρων γνωστή.
Η δημιουργία αυτόνομων ρομπότ είναι ο απώτερος στόχος του ερευνητικού πεδίου της Ρομποτικής. Η
αύξηση της αυτονομίας μπορεί να επιτευχθεί εάν δοθεί στο ρομποτικό σύστημα η ικανότητα να αντιλαμβάνεται
το περιβάλλον του, να αντλεί πληροφορίες από αυτό και να τις αξιοποιεί κατά τον καλύτερο δυνατό τρόπο για
τη λήψη μιας απόφασης. Είναι προφανώς ανεφάρμοστο να περιγράψουμε όλες τις πιθανές κινήσεις που μπορεί
να κάνει ένα ρομπότ, προκειμένου να εκτελέσει τις εργασίες που του έχουν ανατεθεί. Ακόμη και στις
περιπτώσεις όπου η δομή του περιβάλλοντος είναι πλήρως γνωστή, μια περιγραφή του συνόλου των πιθανών
κινήσεων δεν είναι εφικτή. Για αυτόν τον λόγο κρίνεται απαραίτητο το ρομπότ να ενσωματώνει εργαλεία
αυτόματου σχεδιασμού κίνησης. Μια τέτοια δυνατότητα θα επέτρεπε στον χρήστη/χειριστή να ορίσει μια
εργασία, δηλώνοντας στο ρομπότ τι θέλει να κάνει και όχι πώς να το κάνει.
Στον κλάδο της Ρομποτικής, στον οποίο κατατάσσεται και αυτό το βιβλίο, με τον όρο «σχεδιασμός κίνησης»
περιγράφεται η διαδικασία σχεδιασμού της πορείας που πρέπει να ακολουθήσει το ευφυές σύστημα, ώστε να
μετακινηθεί από ένα αρχικό σε ένα τελικό σημείο, αποφεύγοντας τη σύγκρουση με τα εμπόδια που μπορεί να
υπάρχουν στο περιβάλλον. Μερικές φορές αναφέρεται μια κλασική εκδοχή του σχεδιασμού κίνησης, η οποία
είναι γνωστή ως «το πρόβλημα της μετακίνησης του πιάνο» (Piano Mover’s Problem) (Εικόνα 1.2).
Φανταστείτε ότι έχετε έναν αλγόριθμο ο οποίος δέχεται ως είσοδο τα CAD μοντέλα του σπιτιού και του πιάνου.
Ο αλγόριθμος πρέπει να καθορίσει πώς πρέπει να μετακινηθεί το πιάνο από το ένα δωμάτιο στο άλλο, χωρίς να
χτυπάει τα αντικείμενα που συναντά. Πρέπει να αναφέρουμε ότι κατά τον Σχεδιασμό Κίνησης ενός ρομπότ,
συνήθως αγνοούνται οι δυναμικοί και άλλοι διαφορικοί περιορισμοί, υπάρχει εστίαση μόνο στις μετατοπίσεις
και τις περιστροφές που πρέπει να γίνουν ώστε να μετακινηθεί το πιάνο.
Ηλίας Ξυδιάς 18
Tο βασικό πρόβλημα σχεδιασμού κίνησης διατυπώνεται ως εξής 0: υποθέτουμε ότι το ρομπότ είναι το μόνο
κινούμενο αντικείμενο στον χώρο εργασίας του και δεν λαμβάνουμε υπόψη τη δυναμική συμπεριφορά του. Επίσης,
θεωρούμε ότι οι περιορισμοί στην κίνηση του ρομπότ οφείλονται μόνο στη διαδρομή που πρέπει να ακολουθήσει
και όχι στη μηχανική του συστήματός του, π.χ. στην τριβή που αναπτύσσεται ανάμεσα σε δύο μηχανικά μέρη. Αυτές
οι υποθέσεις μετασχηματίζουν ουσιαστικά το «φυσικό» πρόβλημα σχεδιασμού κίνησης σε ένα αμιγώς γεωμετρικό
πρόβλημα σχεδιασμού κίνησης. Απλοποιούμε ακόμα περισσότερο το πρόβλημα, θεωρώντας ότι το ρομποτικό
σύστημα είναι ένα ενιαίο άκαμπτο αντικείμενο. Έτσι, η κίνησή του περιορίζεται μόνο από τα εμπόδια που μπορεί
να υπάρχουν στον χώρο εργασίας του.
Λαμβάνοντας υπόψη τις παραπάνω υποθέσεις, το βασικό πρόβλημα σχεδιασμού κίνησης διαμορφώνεται
ως εξής:
• Έστω 𝒜 ένα ρομπότ (άκαμπτο αντικείμενο) το οποίο καλείται να κινηθεί σε έναν χώρο ο οποίος
περιέχει ακίνητα αντικείμενα (εμπόδια) 𝒪𝑖 , 𝑖 = 1, … , 𝑛, όπου 𝑛 το πλήθος των εμποδίων.
• Η γεωμετρία και η θέση των 𝒪𝑖 , 𝑖 = 1, … , 𝑛 είναι γνωστή.
• Ο χώρος στον οποίο πρόκειται να κινηθεί το 𝒜 καλείται χώρος εργασίας και συμβολίζεται με
𝒲 = ℝ𝟐 ή ℝ𝟑 .
• Το 𝒜 κινείται «ελεύθερα» χωρίς κινηματικούς περιορισμούς.
Το πρόβλημα διατυπώνεται ως εξής: Δοθείσης μιας αρχικής θέσης και προσανατολισμού (Αρχή) και μιας
τελικής θέσης και προσανατολισμού (Τέλος) του 𝒜 στο 𝒲, κατασκεύασε μια διαδρομή 𝜏, η οποία αποφεύγει
την επαφή με τα εμπόδια και ενώνει την Αρχή με το Τέλος (Εικόνα 1.3).
Εικόνα 1.3 Η αλληλουχία κινήσεων ενός ρομποτικού συστήματος, ορθογωνίου σχήματος, το οποίο κινείται από την Αρχή
προς το Τέλος, αποφεύγοντας την επαφή με τα εμπόδια 0.
Αν και το βασικό πρόβλημα σχεδιασμού κίνησης παρουσιάζεται αρκετά απλοποιημένο, στη συνέχεια θα δούμε
ότι πρόκειται για ένα δύσκολο πρόβλημα, υψηλής πολυπλοκότητας, αρκετές από τις λύσεις του οποίου μπορούν
να εφαρμοστούν σε πιο σύνθετα προβλήματα. Για παράδειγμα, ορισμένα προβλήματα που αφορούν τον
σχεδιασμό κίνησης για ευφυή οχήματα μπορούν να εκφραστούν ως περιπτώσεις του βασικού προβλήματος.
Ας υποθέσουμε τώρα ότι το ρομπότ 𝒜 καλείται να κινηθεί, χωρίς να περιστρέφεται, στο επίπεδο (𝒲 = ℝ𝟐 ).
Επιπλέον, ας θεωρήσουμε ότι ο χώρος εργασίας του 𝒲 περιέχει ένα ακίνητο εμπόδιο (ορθογωνίου σχήματος)
(Εικόνα 1.5). Ο χώρος διαμορφώσεων 𝒞 κατασκευάζεται μετατρέποντας το 𝒜 σε σημείο και «αλλάζοντας»
κατάλληλα τη γεωμετρία του εμποδίου, ώστε να συμπεριλάβει τις διαμορφώσεις του 𝒜 που οδηγούν σε
συγκρούσεις (Εικόνα 1.6). Οι διαμορφώσεις οι οποίες οδηγούν σε συγκρούσεις μεταξύ του 𝒜 και των εμποδίων
καλούνται εμπόδια διαμορφώσεων 𝒞𝒪 (Configuration Obstacles ή C-Obstacles) (Εικόνα 1.6). Ένα σημείο το
οποίο βρίσκεται μέσα σε ένα 𝒞𝒪 αντιστοιχεί στην κατάσταση κατά την οποία το 𝒜 συγκρούεται με το εμπόδιο.
Όταν ένα σημείο βρίσκεται στο σύνορο/περιφέρεια ενός 𝒞𝒪, αντιστοιχεί στην κατάσταση κατά την οποία το 𝒜
βρίσκεται στις παρυφές του εμποδίου.
Ηλίας Ξυδιάς 20
Εικόνα 1.5 Ο χώρος εργασίας 𝒲 του 𝒜, ο οποίος περιέχει ένα πολυγωνικό εμπόδιο σε σχήμα ορθογωνίου και το σύνολο
𝒜(𝓆) (μπλε κυκλικός δίσκος).
Με βάση τα παραπάνω, ένα εμπόδιο-διαμορφώσεων 𝒞𝒪 ορίζεται από το σύνολο διαμορφώσεων στις οποίες το
𝒜 τέμνει (επικαλύπτει) ένα εμπόδιο και εκφράζεται ως εξής:
𝒞𝒪𝑖 = {𝓆𝜖𝒞| 𝒜(𝓆)⋂𝒪𝑖 ≠ ∅}, 𝑖 = 1, … , 𝑛 (1.2)
Ο Ελεύθερος χώρος ή ελεύθερος χώρος διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 ορίζεται ως το σύνολο των διαμορφώσεων κατά
το οποίο το 𝒜 δεν τέμνει (επικαλύπτει) κάποιο εμπόδιο και εκφράζεται ως εξής:
𝒞𝑓𝑟𝑒𝑒 = 𝒞\⋃𝑖 𝒞𝒪𝑖 , 𝑖 = 1, … , 𝑛 (1.3)
Μια διαδρομή για το 𝒜 χωρίς συγκρούσεις στο 𝒞 ορίζεται ως μια συνεχής απεικόνιση 𝜏𝜖[0,1] → 𝒞𝑓𝑟𝑒𝑒 , η οποία
δεν επιτρέπει την επαφή με τα εμπόδια. Μια ημι-ελεύθερη διαδρομή για το 𝒜 ορίζεται ως μια διαδρομή κατά
την οποία επιτρέπεται η επαφή με τα εμπόδια και εκφράζεται ως μια συνεχής απεικόνιση 𝜏𝜖[0,1] → 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ),
όπου 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ) είναι η κλειστή θήκη του 𝒞𝑓𝑟𝑒𝑒 .
Ηλίας Ξυδιάς 22
Εικόνα 1.7 Ο χώρος εργασίας 𝒲 του 𝒜.
Ηλίας Ξυδιάς 24
Εικόνα 1.11 Ένας δύο διαστάσεων χώρος διαμορφώσεων ο οποίος περιέχει τρία 𝒞𝒪𝑖 , , 𝑖 = 1, … ,3 πολυγωνικού σχήματος.
Εικόνα 1.12 Το αποτέλεσμα της κατά προσέγγιση αποσύνθεσης σε κελιά. Τα άσπρα κελιά κείνται έξω από τα εμπόδια
διαμόρφωσης, τα γκρι κελιά περιέχουν ένα μέρος των εμποδίων διαμόρφωσης και τα μαύρα κελιά κείνται ολόκληρα μέσα
στα εμπόδια-διαμόρφωσης.
Οι μέθοδοι Προσέγγισης δεν είναι πλήρεις (complete). Βέβαια, για τις περισσότερες μεθόδους που βασίζονται
στην κατά Προσέγγιση Κατάτμηση σε κελιά, η ακρίβεια της προσέγγισης μπορεί να βελτιωθεί, αυξάνοντας την
ανάλυση της κατάτμησης και μειώνοντας το μέγεθος του κελιού, γι’ αυτό αυτές οι μέθοδοι καλούνται resolution
complete.
Οι μεθοδολογίες που βασίζονται στην κατάτμηση σε κελιά παρουσιάζουν πλεονεκτήματα και
μειονεκτήματα. Κάποια από τα πλεονεκτήματά τους είναι ότι (α) μπορούν να υλοποιηθούν πολύ γρήγορα και
(β) είναι εύκολο μέσω αυτών να κατασκευαστεί μια διαδρομή, αν υπάρχει. Το μεγαλύτερο μειονέκτημά τους
είναι ότι απαιτούν μεγάλο αποθηκευτικό χώρο. Για να αντιμετωπιστεί αυτό το πρόβλημα, αναπτύχθηκαν
μεθοδολογίες (Προσαρμοστική κατάτμηση σε κελιά) που βασίζονται στα “quadtree”, όταν ο 𝒞 είναι 2-
διαστάσεων ή στα “octree”, όταν ο 𝒞 είναι 3-διαστάσεων Error! Reference source not found.. Είναι από τις
πιο αποτελεσματικές μεθόδους στην αντιμετώπιση του παραπάνω προβλήματος, αλλά παρόλα αυτά δεν είναι
Εικόνα 1.13 Ένας δύο διαστάσεων χώρος διαμορφώσεων, ο οποίος περιέχει ένα 𝒞𝒪1 πολυγωνικού σχήματος.
Η αναζήτηση της διαδρομής στις μεθόδους που βασίζονται στην Κατάτμηση σε κελιά γίνεται συνήθως
χρησιμοποιώντας τον αλγόριθμο τον Α* 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.
Ηλίας Ξυδιάς 28
Εικόνα 1.18 Το συνολικό δυναμικό πεδίο.
Σε σύγκριση με την αποσύνδεση σε κελιά, τα τεχνητά δυναμικά πεδία είναι πιο αποτελεσματικά και μπορούν
να λειτουργήσουν εξίσου καλά σε διάφορες παραλλαγές του βασικού προβλήματος σχεδιασμού κίνησης.
Παρόλα αυτά, έχουν ένα σημαντικό μειονέκτημα. Οι δυναμικές συναρτήσεις συνήθως παρουσιάζουν
περισσότερα από ένα τοπικά ελάχιστα (δηλ. σημεία όπου η απωθητική δύναμη γίνεται ίση με την ελκτική
δύναμη), εκτός από αυτό της επιθυμητής τελικής διαμόρφωσης, τα οποία μπορούν να δυσκολέψουν το
ρομποτικό σύστημα.
Εικόνα 1.19 Ο χάρτης ορατότητας, όπου ο χώρος διαμορφώσεων περιέχει 2 πολυγωνικά εμπόδια.
Μια άλλη μέθοδος σχεδιασμού κίνησης, η οποία βασίζεται στον σχεδιασμό χαρτών, είναι το διάγραμμα
Voronoi (Voronoi Diagram) 0. Το διάγραμμα Voronoi ορίζεται ως ένα σύνολο από σημεία τα οποία ισαπέχουν
από 2 ή περισσότερα 𝒞𝒪, συμπεριλαμβανομένων και των ορίων του χώρου εργασίας του 𝒜. H Εικόνα 1.20
παρουσιάζει έναν χώρο διαμορφώσεων ο οποίος αποτελείται από 3 πολυγωνικά 𝒞𝒪 και το αντίστοιχο
διάγραμμα Voronoi. Το βασικότερο πλεονέκτημα των διαγραμμάτων Voronoi είναι ότι δημιουργούν διαδρομές
οι οποίες τείνουν να μεγιστοποιήσουν την απόσταση ανάμεσα στο 𝒜 και τα 𝒞𝒪. Στην περίπτωση κατά την
οποία τα εμπόδια είναι πολυγωνικά, το αντίστοιχο διάγραμμα Voronoi αποτελείται από ευθύγραμμα τμήματα
και παραβολικές καμπύλες. Το διάγραμμα Voronoi μπορεί να κατασκευαστεί σε 𝛰(𝑛log (𝑛)) χρόνο όπου 𝑛
είναι ο αριθμός των κορυφών.
Ηλίας Ξυδιάς 30
Εικόνα 1.20 Το διάγραμμα Voronoi για έναν διδιάστατο χώρο διαμορφώσεων, ο οποίος περιέχει 3 πολυγωνικά εμπόδια.
Εικόνα 1.21 Ένα κυκλικό αντικείμενο το οποίο κινείται στον χώρο των διαμορφώσεων.
Ο γράφος κατασκευάζεται σε έναν χώρο μεγαλύτερης διάστασης, όπου τα κινούμενα εμπόδια μετατρέπονται
σε ακίνητα (𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒) 0. Έτσι ο σχεδιασμός κίνησης μεταξύ κινούμενων και ακίνητων εμποδίων
απλοποιείται σε σχεδιασμό κίνησης μεταξύ ακίνητων εμποδίων. Το βασικό μειονέκτημα που παρουσιάζεται
είναι ότι όταν ο χώρος εργασίας του ρομποτικού συστήματος είναι πολύ μεγάλος, η εφαρμογή του 𝒞𝒯 − 𝑠𝑝𝑎𝑐𝑒
Ηλίας Ξυδιάς 32
δεν είναι μια εύκολη διαδικασία. Επίσης, δεδομένου ότι ο χρόνος είναι μη αναστρέψιμος, δηλαδή δεν μπορούμε
να πάμε πίσω στον χρόνο, η προτεινόμενη διαδρομή πρέπει να είναι αύξουσα ως προς τον χρόνο.
Ηλίας Ξυδιάς 34
Εικόνα 1.25 Ένα αρθρωτό ρομποτικό σύστημα (ρομποτικός βραχίονας τύπου puma).
Εικόνα 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.
Ηλίας Ξυδιάς 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). Σχεδιασμός κίνησης ρομπότ σε περιβάλλον εμποδίων. Διδακτορική Διατριβή,
Πανεπιστήμιο Πατρών, Σχολή Πολυτεχνική, Τμήμα Μηχανολόγων Μηχανικών και Αεροναυπηγών
Μηχανικών.
Ηλίας Ξυδιάς 40
Κεφάλαιο 2ο
Αναπαράσταση του Χώρου Εργασίας
Σύνοψη
Σε αυτό το κεφάλαιο θα αναπτυχθεί η έννοια του χώρου διαμορφώσεων για ένα άκαμπτο αντικείμενο που μπορεί
να κινηθεί (μετατόπιση και περιστροφή) ελεύθερα ανάμεσα σε εμπόδια σε έναν διδιάστατο ή τριδιάστατο χώρο
εργασίας. Επίσης, θα γίνει αναφορά στη διαφορική και τοπολογική δομή του χώρου και στις μαθηματικές έννοιες
που θα χρησιμοποιηθούν στο υπόλοιπο βιβλίο. Τέλος, θα αναφερθεί ο τρόπος με τον οποίο τα «εμπόδια»
απεικονίζονται στον χώρο διαμορφώσεων.
Προαπαιτούμενη γνώση
Γενική Τοπολογία.
Εισαγωγή
Για να ορίσουμε την κίνηση ενός ρομποτικού συστήματος, πρέπει να γνωρίζουμε τη θέση του συστήματος στον
χώρο εργασίας του. Πιο συγκεκριμένα, πρέπει να μπορούμε να περιγράψουμε τη θέση κάθε σημείου του
ρομποτικού συστήματος, ώστε να διασφαλίσουμε ότι κανένα σημείο του συστήματος δεν συγκρούεται με
κάποιο από τα αντικείμενα που ενδεχομένως υπάρχουν στον χώρο εργασίας του.
Αυτό εγείρει ορισμένα θεμελιώδη ερωτήματα για τον ορισμό της κίνησης του συστήματος:
• Πόσες πληροφορίες απαιτούνται για τον πλήρη προσδιορισμό της θέσης κάθε σημείου του
ρομποτικού συστήματος;
• Πώς πρέπει να αναπαρίστανται αυτές οι πληροφορίες;
• Ποιες πρέπει να είναι οι μαθηματικές ιδιότητες αυτών των αναπαραστάσεων;
• Πώς πρέπει να είναι ο «κόσμος» του ρομποτικού συστήματος για να ληφθούν υπόψη τα εμπόδια
του χώρου εργασίας κατά τον σχεδιασμό της διαδρομής του;
Σε αυτό το κεφάλαιο θα εξετάσουμε κάποια από τα ανωτέρω ερωτήματα. Κυρίως θα δούμε τι σημαίνει μια
διαμόρφωση για ένα ρομποτικό σύστημα, θα γίνει παρουσίαση της έννοιας του χώρου διαμορφώσεων, μιας
έννοιας σημαντικής στον σχεδιασμό κίνησης. Επίσης, θα παρουσιάσουμε τον τρόπο αναπαράστασης των
εμποδίων στον χώρο διαμορφώσεων και τέλος θα δοθούν ορισμένα παραδείγματα για το πώς αναπαρίσταται ο
«κόσμος» του ρομποτικού συστήματος και πώς απεικονίζονται σε αυτόν τα αντικείμενα που υπάρχουν στον
χώρο εργασίας του.
Ο ελάχιστος αριθμός παραμέτρων που απαιτείται για να περιγραφεί η διαμόρφωση ενός σώματος είναι οι
βαθμοί ελευθερίας του (degrees of freedom). Έτσι, στα ανωτέρω παραδείγματα, η πόρτα έχει έναν βαθμό
ελευθερίας, το σημείο που κείται στο επίπεδο έχει δύο βαθμούς ελευθερίας και, τέλος, το κέρμα έχει τρεις
βαθμούς ελευθερίας.
Βάσει αυτών, μπορούμε να διατυπώσουμε τους εξής ορισμούς:
Ηλίας Ξυδιάς 42
• Διαμόρφωση ενός ρομποτικού συστήματος είναι μια πλήρης περιγραφή των θέσεων κάθε σημείου
του συστήματος.
• Ο ελάχιστος αριθμός 𝑛 των παραμέτρων που απαιτούνται για την αναπαράσταση της
διαμόρφωσης καλείται βαθμός ελευθερίας του ρομποτικού συστήματος.
• Ο 𝑛 −διάστατος χώρος που περιέχει όλες τις πιθανές διαμορφώσεις του ρομποτικού συστήματος
ονομάζεται χώρος διαμορφώσεων.
Εικόνα 2.3 Μία αναπαράσταση του 𝒜 καθώς κινείται στο 𝒲 = ℝ3 , και τα δύο συστήματα συντεταγμένων ℱ𝒲 και ℱ𝒜 ,
όπου 𝑂𝒲 είναι η αρχή του ℱ𝒲 και 𝑂𝒜 είναι η αρχή του ℱ𝒜 .
Ο χώρος διαμορφώσεων του 𝒜 ορίζεται ως εξής: Χώρος διαμορφώσεων του 𝒜 καλείται ο χώρος 𝒞 όλων των
πιθανών διαμορφώσεων του 𝒜. Μια διαμόρφωση 𝓆 του 𝒜 είναι προσδιορισμός της θέσης και του
προσανατολισμού του ℱ𝒜 ως προς το ℱ𝒲 .
Πρέπει να σημειωθεί ότι ο χώρος διαμορφώσεων 𝒞 του 𝒜 είναι ανεξάρτητος από την επιλογή των ℱ𝒲
και ℱ𝒜 . Αντιθέτως, η αναπαράσταση του 𝒞 εξαρτάται από την επιλογή των ℱ𝒲 και ℱ𝒜 . Το υποσύνολο του 𝒲,
το οποίο καταλαμβάνεται από το 𝒜, έχοντας μια διαμόρφωση 𝓆, ορίζεται ως 𝒜(𝓆).
Ο αντίστοιχος χώρος διαμορφώσεων, όπως θα δούμε και στις επόμενες ενότητες, μπορεί να αναπαρασταθεί ως
ένας τόρος (Εικόνα 2.5).
Ηλίας Ξυδιάς 44
Εικόνα 2.5 Ο αντίστοιχος χώρος διαμορφώσεων.
Στην περίπτωση που το ρομποτικό σύστημα έχει κλειστές αλυσίδες (όπως συμβαίνει με τους ρομποτικούς
βραχίονες που περιέχουν έναν ή περισσότερους κλειστούς βρόγχους), συνήθως ορίζεται μια έμμεση
παραμετροποίηση. Σε αυτήν την περίπτωση, για να οριστεί ο αντίστοιχος χώρος διαμορφώσεων, θα πρέπει να
επιλυθεί ένα σύστημα μη γραμμικών εξισώσεων. Για παράδειγμα, ας υποθέσουμε τον ρομποτικό βραχίονα της
Εικόνας 2.6, ο οποίος έχει 4 περιστροφικές αρθρώσεις και αποτελείται από τρεις συνδέσμους.
Το γεγονός ότι οι τέσσερις σύνδεσμοι σχηματίζουν πάντα κλειστό βρόγχο μπορεί να εκφραστεί με τη μορφή
των ακόλουθων τριών εξισώσεων:
𝑙1 cos(𝜃1 ) + 𝑙2 cos(𝜃1 + 𝜃2 ) + 𝑙3 cos(𝜃1 + 𝜃2 + 𝜃3 ) + 𝑙3 cos(𝜃1 + 𝜃2 + 𝜃3 + 𝜃4 ) = 0 (2.3)
Εικόνα 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].
Ηλίας Ξυδιάς 48
Εικόνα 2.10 Ένα ελλειψοειδές.
Οι δύο σφαίρες καθώς και το ελλειψοειδές μπορούμε να πούμε ότι είναι τοπολογικά ισοδύναμα. Γενικά, δύο
σχήματα θεωρούνται τοπολογικά ισοδύναμα αν μπορούμε να περάσουμε από το ένα στο άλλο µέσω ενός
συνεχούς μετασχηματισμού. Υπό αυτήν την έννοια, ένα τρίγωνο, ένα τετράγωνο, ένας κύκλος και ένα
ελλειψοειδές είναι τοπολογικά ισοδύναμα, γιατί το κάθε ένα από αυτά μπορεί να μετασχηματιστεί µέσω μιας
συνεχούς 1-1 και επί απεικόνισης στο άλλο. Πρέπει να σημειωθεί ότι η τοπολογία ενός χώρου είναι μια
θεμελιώδης ιδιότητα του ίδιου του χώρου και είναι ανεξάρτητη από τον τρόπο με τον οποίο επιλέγουμε
συντεταγμένες για την αναπαράσταση σημείων στον χώρο.
2.4.3 Βάσεις
Ένας συνηθισμένος τρόπος για να κατασκευάζουμε τοπολογίες είναι μέσω βάσεων και γενικότερα υποβάσεων.
Έστω ένα σύνολο 𝒳. Ένα σύνολο ℬ από υποσύνολα του 𝒳 λέγεται βάση τοπολογίας του 𝒳, αν έχει τις
παρακάτω ιδιότητες:
1. Αν 𝛣1 , 𝛣2 𝜖ℬ υπάρχει 𝛣3 𝜖ℬ με 𝛣3 ⊆ 𝛣1 ∩ 𝛣2 .
2. ∪ ℬ = 𝒳, δηλαδή για κάθε 𝑥𝜖𝒳 τότε υπάρχει 𝛣𝜖ℬ με 𝑥𝜖𝛣.
Ηλίας Ξυδιάς 50
Εικόνα 2.11 Ο επίπεδος ρομποτικός βραχίονας με δύο περιστροφικές αρθρώσεις.
Εικόνα 2.12 Ο βραχίονας καλείται να κινηθεί από το σημείο «αρχή» στο σημείο «τέλος» αποφεύγοντας την τομή με τα
εμπόδια. Επίσης παρουσιάζονται και κάποιες ενδιάμεσες διαμορφώσεις του βραχίονα.
Παράδειγμα 2: Ας θεωρήσουμε ένα επίπεδο ρομποτικό όχημα σε σχήμα κύκλου, του οποίου η διαμόρφωση
δίνεται από τη θέση του κέντρου του, (𝑥, 𝑦)𝜖ℝ2 . Το ρομποτικό όχημα μπορεί να κινείται χωρίς να
περιστρέφεται, σε έναν χώρο ο οποίος περιέχει ένα εμπόδιο (Εικόνα 2.14). Το αντίστοιχο εμπόδιο
διαμορφώσεων κατασκευάζεται με την «ανάπτυξη» (διεύρυνση) του εμποδίου στον χώρο εργασίας από την
ακτίνα του ρομπότ (Εικόνα 2.15). Οποιοδήποτε σημείο έξω από αυτό το εμπόδιο-διαμορφώσεων
αντιπροσωπεύει μια ελεύθερη διαμόρφωση του ρομπότ.
Ηλίας Ξυδιάς 52
Εικόνα 2.15 Ο αντίστοιχος χώρος διαμορφώσεων.
Παράδειγμα 3: Ας υποθέσουμε ότι το ρομποτικό όχημα του 2ου παραδείγματος καλείται να κινηθεί σε έναν
διδιάστατο χώρο με δύο πολυγωνικά εμπόδια, 𝒪1 και 𝒪2 (Εικόνα 2.16). Στον αντίστοιχο χώρο διαμορφώσεων,
όπως αυτός απεικονίζεται στην Εικόνα 2.17, παρατηρούμε πως το ρομποτικό σύστημα δεν μπορεί να περάσει
από την περιοχή στην οποία τα δύο εμπόδια αλληλοκαλύπτονται.
Εικόνα 2.16 Το επίπεδο ρομποτικό όχημα και δύο πολυγωνικά εμπόδια τα οποία κείνται στον χώρο εργασίας του.
Παράδειγμα 4: Έστω ότι ένα ρομποτικό όχημα με τριγωνικό σχήμα καλείται να κινηθεί σε έναν δύο
διαστάσεων χώρο με ένα πολυγωνικό εμπόδιο. Το ρομποτικό όχημα μπορεί να κινείται (μετατοπίζεται) και να
περιστρέφεται (Εικόνα 2.18 και Εικόνα 2.19). Στις Εικόνες 2.20 και 2.21 αναπαρίστανται τα εμπόδια-
διαμορφώσεων για 𝜃 = 0° και 𝜃 = 20°, αντιστοίχως. Ο αντίστοιχος χώρος διαμορφώσεων είναι τριών
διαστάσεων και ορίζεται από την τριάδα (𝑥, 𝑦, 𝜃)𝜖ℝ2 × 𝑆 1 . Το τριών διαστάσεων εμπόδιο-διαμορφώσεων
προκύπτει από την ένωση των διδιάστατων τεμαχίων του εμποδίου-διαμορφώσεων για κάθε 𝜃𝜖[0,2𝜋) (Εικόνα
2.22). Πρέπει να σημειωθεί ότι η ακριβής αναπαράσταση ενός εμποδίου-διαμορφώσεων δεν είναι εύκολη
υπόθεση, όπως παρατηρούμε και στο συγκεκριμένο παράδειγμα.
Ηλίας Ξυδιάς 54
Εικόνα 2.19 Η διαμόρφωση του ρομποτικού οχήματος για 𝜃 = 20°.
Ηλίας Ξυδιάς 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.
Ηλίας Ξυδιάς 58
Εικόνα 2.26 Η σφαιρική επιφάνεια περιγράφει το workspace του ρομπότ.
[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)
Ηλίας Ξυδιάς 62
Εικόνα 2.29 Ο χώρος εργασίας του ρομποτικού βραχίονα.
Σύνοψη
Σε αυτό το κεφάλαιο θα περιγραφεί μια προσέγγιση η οποία καλείται Χάρτης Διαδρομών (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, που ονομάζεται πιθανότητα
Ηλίας Ξυδιάς 66
Εικόνα 3.3 Αναπαράσταση του χώρου εργασίας με τη χρήση πλέγματος πληρότητας.
Αυτό το 3ο, λοιπόν, κεφάλαιο επικεντρώνεται σε μια κατηγορία τοπολογικών χαρτών που ονομάζονται οδικοί
χάρτες (Roadmaps). Ένας οδικός χάρτης είναι ενσωματωμένος στον ελεύθερο χώρο και ως εκ τούτου οι κόμβοι
και τα άκρα του έχουν επίσης φυσική σημασία. Για παράδειγμα, ένας κόμβος οδικού χάρτη αντιστοιχεί σε μια
συγκεκριμένη τοποθεσία και ένα άκρο αντιστοιχεί σε μια διαδρομή μεταξύ γειτονικών τοποθεσιών. Έτσι, εκτός
από γραφική παράσταση, ένας οδικός χάρτης είναι μια συλλογή από μονοδιάστατες πολλαπλότητες που
αποτυπώνουν την τοπολογία του ελεύθερου χώρου. Σε αυτό το κεφάλαιο εξετάζουμε πέντε τύπους οδικών
χαρτών:
• Χάρτες Ορατότητας (Visibility Graph),
• Διαγράμματα Voronoi (Voronoi Diagrams),
• Στοχαστικοί Χάρτες (Probabilistic Roadmaps) και,
• Μέθοδος Σιλουέτας (Silhouette Method).
Εικόνα 3.4 Ένας πολυγωνικός δύο διαστάσεων χώρος διαμορφώσεων, με την αρχική και τελική θέση του ρομποτικού
συστήματος.
Πρέπει να σημειωθεί ότι στον γράφο ορατότητας που κατασκευάζεται συμπεριλαμβάνονται και οι ακμές των
πολυγωνικών εμποδίων. Χρησιμοποιώντας ως κριτήριο την Ευκλείδεια μετρική, μπορούμε να αναζητήσουμε
στον γράφο ορατότητας τη συντομότερη διαδρομή (Εικόνα 3.5). Επίσης, ο γράφος ορατότητας μπορεί να
κατασκευαστεί και σε τριών διαστάσεων χώρους διαμορφώσεων, των οποίων τα εμπόδια είναι πολύεδρα. Σε
αυτήν την περίπτωση δεν είναι απαραίτητο ότι θα μπορέσει να βρει τη συντομότερη διαδρομή για το ρομποτικό
σύστημα.
Ηλίας Ξυδιάς 68
Εικόνα 3.5 Ο κατασκευασμένος χάρτης ορατότητας και η προτεινομένη διαδρομή, η οποία αναπαρίσταται με την κόκκινη
διακεκομμένη γραμμή.
Αν υποθέσουμε ότι ο χώρος διαμορφώσεων στον οποίο καλείται να κινηθεί το ρομποτικό σύστημα περιέχει 𝑛
πολυγωνικά εμπόδια διαμορφώσεων με 𝑉 = {𝑣1 , … , 𝑣𝑛 } το σύνολο των κορυφών των εμποδίων
(συμπεριλαμβανομένων των σημείων της αρχής και του τέλους), τότε ο αριθμός των ακμών του γράφου είναι
𝛰(𝑛2 ) και ο υπολογιστικός χρόνος που απαιτείται για την κατασκευή του είναι 𝛰(𝑛2 ), [1].
Πρέπει να σημειωθεί ότι έχει συντελεστεί σημαντική μελέτη στην ανάπτυξη αλγορίθμων για την
κατασκευή ενός γράφου ορατότητας. Οι αλγόριθμοι αυτοί εκμεταλλεύονται τη δομή ολόκληρου του γράφου
για να είναι αποτελεσματικοί. Ένα τέτοιο παράδειγμα είναι η χρήση των γραμμών στήριξης και διαχωρισμού.
Ένας γράφος ορατότητας περιέχει αρκετές ακμές, οι οποίες δεν είναι απαραίτητες. Η χρήση γραμμών στήριξης
(supporting lines) και διαχωρισμού (separating lines) μπορούν να μειώσουν τον αριθμό των ακμών ενός γράφου
(Εικόνα 3.6). Σε αυτήν την περίπτωση, ο γράφος ορατότητας αποτελείται από ακμές, οι οποίες κείνται σε
γραμμές στήριξης και διαχωρισμού. Η χρήση των γραμμών διαχωρισμού και στήριξης για τη μείωση των
ακμών ενός γράφου ορατότητας μπορεί να γίνει και στην περίπτωση που ο χώρος διαμορφώσεων του
ρομποτικού συστήματος περιέχει μη κυρτά εμπόδια ή και εμπόδια που ορίζονται ως κλειστές καμπύλες.
Εικόνα 3.6 Ο κατασκευασμένος χάρτης ορατότητας μετά την εφαρμογή των γραμμών στήριξης και διαχωρισμού.
Εικόνα 3.7 Η γραμμή υποστήριξης με μπλε χρώμα και η γραμμή διαχωρισμού με πορτοκαλί χρώμα.
Ηλίας Ξυδιάς 70
Εικόνα 3.8 Ένα τυχαίο σύνολο πέντε σημείων στο επίπεδο.
Εικόνα 3.9 Το αντίστοιχο διάγραμμα Voronoi, όπου με πορτοκαλί χρώμα αναπαρίστανται οι κόμβοι Voronoi.
Έστω 𝑃 = {𝑝1 , 𝑝2 , … , 𝑝𝑛 } ένα σύνολο από σημεία (κόμβοι) στο επίπεδο. Σε κάθε ένα από τα σημεία αναθέτουμε
όλα τα σημεία που είναι πιο κοντά σ’ αυτόν από ότι σε οποιοδήποτε άλλο σημείο. Ο έλεγχος γίνεται με βάση
την Ευκλείδεια απόσταση. Όλα αυτά τα σημεία σχηματίζουν την «περιοχή» Voronoi του σημείου. Ο
αντίστοιχος μαθηματικός ορισμός της «περιοχής» Voronoi 𝑉(𝑝𝑖 ) του κόμβου 𝑝𝑖 είναι:
𝑥
𝑉 (𝑝𝑖 ) = { ≠ 𝑖, 𝑑(𝑥, 𝑝𝑖 ) ≤ 𝑑(𝑥, 𝑝𝑗 )} (3.1)
∀𝑗
Ηλίας Ξυδιάς 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. Η γραμμή της
παραλίας προχωρά, διατηρώντας κάθε βάση παραβολής ακριβώς στη μέση μεταξύ των σημείων που σάρωσε
αρχικά με τη γραμμή σάρωσης και της νέας θέσης της γραμμής σάρωσης. Μαθηματικά, αυτό σημαίνει ότι κάθε
παραβολή σχηματίζεται, χρησιμοποιώντας τη γραμμή σάρωσης ως κατευθυντήριο και το σημείο εισόδου ως
εστίαση.
Εικόνα 3.12 Η εκκίνηση του αλγορίθμου Fortune, ο υπό εξέταση χώρος περιέχει 11 σημεία στο επίπεδο.
Ηλίας Ξυδιάς 74
Εικόνα 3.13 Οι αλγόριθμοι sweep line και beach line «σαρώνουν» το επίπεδο.
Εικόνα 3.14 Η εξέλιξη της «σάρωσης» ενώ παράλληλα σχηματίζεται το διάγραμμα 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 δεν είναι αποδοτικά όταν πρέπει να εφαρμοστούν σε προβλήματα σχεδιασμού
κίνησης στα οποία ο χώρος των διαμορφώσεων είναι διάστασης μεγαλύτερης του δύο. Επίσης, η μορφή του
διαγράμματος αλλάζει όταν διαφορετικά χαρακτηριστικά ενός αντικειμένου, όπως κορυφές, άκρες ή ακόμα και
όλο το αντικείμενο, λαμβάνονται ως τοποθεσίες..
Ηλίας Ξυδιάς 78
Εικόνα 3.17 Τυχαία δειγματοληψία κόμβων από το 𝒞 και η μεταξύ τους ένωση με ακμές.
Στη συνέχεια, ο «σχεδιαστής» ελέγχει εάν η ακμή που συνδέει δύο κόμβους βρίσκεται σε ελεύθερο χώρο ή όχι.
Εάν βρίσκεται σε ελεύθερο χώρο, η ακμή προστίθεται στον γράφο 𝐺, διαφορετικά απορρίπτεται (Εικόνα 3.18).
Ο αλγόριθμος 3.2 που ακολουθεί περιγράφει τη διαδικασία κατασκευής του γράφου 𝐺.
Εικόνα 3.18 Ο νέος κόμβος (μαύρη τελεία) προστίθεται στον γράφο και ενώνεται με τους γειτονικούς κόμβους, με ακμές
που δεν «πέφτουν» πάνω σε εμπόδια (μαύρο χρώμα) ενώ οι ακμές που πέφτουν πάνω σε εμπόδιο δεν λαμβάνονται υπόψη
(κόκκινο χρώμα).
Ηλίας Ξυδιάς 80
Εικόνα 3.19 Ο τελικός γράφος.
Αφού ολοκληρωθεί το πλήρες γράφημα στο οποίο έχουν ενσωματωθεί το επιθυμητό αρχικό και τελικό σημείο,
αντιστοίχως, η συντομότερη διαδρομή μπορεί να βρεθεί χρησιμοποιώντας αλγορίθμους, όπως ο αλγόριθμος
του Dijkstra 0 ή ο αλγόριθμος αναζήτησης A*, που θα έδινε μια διαδρομή, όπως φαίνεται και στην Εικόνα 3.20.
Ο αλγόριθμος 3.3 που ακολουθεί περιγράφει τη διαδικασία ένωσης της επιθυμητής αρχικής και τελικής
διαμόρφωσης με τον γράφο 𝐺, καθώς επίσης και τη διαδικασία εύρεσης της συντομότερης διαδρομής.
Ηλίας Ξυδιάς 82
δημιουργήσει μια διαδρομή για τέτοιες διαμορφώσεις του χώρου, δεν θα γνωρίζουμε αν οφείλεται στο ότι η
διαδρομή δεν υπάρχει ή ο αριθμός των επαναλήψεων είναι μικρός για αυτό το περιβάλλον. Αυτό είναι το μόνο
μειονέκτημα αυτού του αλγορίθμου. Δεν μας δίνει μια σαφή εικόνα σε περίπτωση αποτυχίας.
Εάν τα ερωτήματα για την ύπαρξη μιας διαδρομής αποτυγχάνουν συχνά, ο γράφος διαδρομών μπορεί να
μην καταγράφει επαρκώς τη συνδεσιμότητα του 𝒞𝑓𝑟𝑒𝑒 . Όταν συμβαίνει αυτό, ο τρέχων γράφος μπορεί να
επεκταθεί, συνεχίζοντας τον αλγόριθμο βημάτων κατασκευής, εξαιρώντας δηλαδή τις γραμμές (1) και (2) από
τον αλγόριθμο 3.1 και εισάγοντας ως παράμετρο τον τρέχοντα γράφο.
Πρέπει να τονισθεί ότι η κατασκευή του δέντρου διενεργείται με επαναλαμβανόμενες εξαπλώσεις, έως ότου το
υπό κατασκευή δέντρο πλησιάσει τον επιθυμητό στόχο. Ο αριθμός των επαναλήψεων είναι πεπερασμένος,
καθώς ο «σχεδιαστής» μπορεί να «παγιδευτεί» σε μια κατάσταση ατέρμονα βρόγχου, αν ο στόχος βρίσκεται σε
«δυσπρόσιτο» σημείο. Σε αυτήν την περίπτωση θεωρείται ότι δεν μπορεί να προταθεί μια διαδρομή η οποία
ενώνει το αρχικό και τελικό σημείο. Ο αλγόριθμος 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, οι οποίες σχηματίζονται από τους κόμβους του
δέντρου.
Ηλίας Ξυδιάς 86
ένα δίκτυο από ελεύθερες από συγκρούσεις διαδρομές στον 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ). Επίσης, είναι η μόνη πλήρης μέθοδος
(δηλ. μπορεί να εγγυηθεί ότι θα βρει μια λύση, αν υπάρχει) η οποία «τρέχει» σε εκθετικό χρόνο.
Η μέθοδος Silhouette μπορεί να χρησιμοποιηθεί για την επίλυση του βασικού προβλήματος σχεδιασμού
κίνησης με κατάλληλη παραμετροποίηση του χώρου των διαμορφώσεων 𝒞 και των προεκτάσεών του. Πιο
συγκεκριμένα, μπορεί να εφαρμοστεί σε οποιοδήποτε πρόβλημα στο οποίο ο σχεδιασμός διαδρομής μπορεί να
μειωθεί σε ένα συμπαγές ημι - αλγεβρικό σετ. Τέτοια προβλήματα σχετίζονται με τον σχεδιασμό διαδρομής σε
χώρους που ενεργούν πολλαπλά ρομποτικά συστήματα ή αρθρωτά ρομποτικά συστήματα.
Ας υποθέσουμε ότι 𝑆 = 𝑐𝑙(𝒞𝑓𝑟𝑒𝑒 ) είναι ένα συμπαγές υποσύνολο του ℝ𝑚 , όπου 𝑚 είναι η διάσταση του
χώρου διαμορφώσεων 𝒞. Για να απλουστεύσουμε το παράδειγμα που θα παρουσιαστεί, ας υποθέσουμε ότι 𝑚 =
3 και το 𝑆 αναπαρίσταται από ένα ελλειψοειδές, το οποίο διαπερνάται από μία κυλινδρική οπή (Εικόνα 3.25).
𝑃𝑐 είναι ένα υπερ-επίπεδο διάστασης 𝑚 = 2, το οποίο είναι κάθετο στον άξονα 𝑥 και «σαρώνει» το 𝑆 στη
διεύθυνση 𝑥 (η επιλογή της διεύθυνσης είναι τυχαία, θα μπορούσε να είναι η διεύθυνση 𝑦 ή 𝑧). Στη συνέχεια,
θεωρούμε ένα σύνολο 𝑅, στο οποίο αποθηκεύονται όλα τα κρίσιμα σημεία που προκύπτουν από την τομή 𝑆 ∩
𝑃𝑐 (Εικόνα 3.26). Μόλις η σάρωση ολοκληρωθεί, τα κρίσιμα σημεία που έχουν προκύψει ενώνονται στο 𝑅 με
μια διαδρομές, οι οποίες κείνται στο 𝑆 ∩ 𝑃𝑐 και καλούνται καμπύλες Silhouette. Τέλος, στον χάρτη διαδρομών
𝑅 που προκύπτει, ενώνονται η αρχική και τελική διαμόρφωση του ρομποτικού συστήματος, τα οποία
καταχωρούνται ως κρίσιμα σημεία. Πρέπει να σημειωθεί ότι η διαδρομή που θα βρεθεί οδηγεί το ρομποτικό
σύστημα να κινείται κατά μήκος των ορίων των εμποδίων διαμορφώσεων (Εικόνα 3.27).
Εικόνα 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).
1. Εφαρμόστε τη μέθοδο του γραφήματος ορατότητας για έναν δύο διαστάσεων πολυγωνικό χώρο
διαμορφώσεων.
2. Δοσμένης της αρχικής και τελικής θέσης για ένα σημειακό ρομποτικό σύστημα, το οποίο καλείται να
κινηθεί σε έναν δύο διαστάσεων πολυγωνικό χώρο διαμορφώσεων (Εικόνα 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. Δοθείσας της
αρχικής και τελικής θέσης για ένα σημειακό ρομποτικό σύστημα, να σχεδιάσετε τη συντομότερη
διαδρομή που ενώνει τα δύο σημεία, χρησιμοποιώντας τη μέθοδο των στοχαστικών χαρτών και τη
μέθοδο των τυχαίων δέντρων ταχείας εξερεύνησης.
Ηλίας Ξυδιάς 92
Κεφάλαιο 4ο
Κατάτμηση σε Κελιά
Σύνοψη
Σε αυτό το κεφάλαιο θα παρουσιαστεί μια ακόμη προσέγγιση για τον σχεδιασμό κίνησης ενός ρομποτικού
συστήματος, η οποία καλείται αποσύνθεση σε κελιά ή μέθοδος πλέγματος. Σε αυτήν την κατηγορία ανήκουν οι
μεθοδολογίες οι οποίες βασίζονται στην αποσύνθεση του ελεύθερου από συγκρούσεις χώρου διαμορφώσεων του
ρομποτικού συστήματος σε περιοχές οι οποίες καλούνται κελιά (cells). Στη συνέχεια, ένας μη κατευθυνόμενος
γράφος, που αναπαριστά τη σχέση γειτνίασης μεταξύ των κελιών, κατασκευάζεται και, ακολούθως, ερευνάται.
Κόμβοι του γράφου είναι τα παραγόμενα κελιά. Δύο κόμβοι ενώνονται μεταξύ τους με μια ακμή, αν και μόνο αν
τα αντίστοιχα κελιά είναι γειτονικά. Το αποτέλεσμα της αναζήτησης του γράφου είναι μια ακολουθία κελιών η
οποία καλείται κανάλι. Μια συνεχής ελεύθερη διαδρομή μπορεί να υπολογιστεί χρησιμοποιώντας το παραγόμενο
κανάλι. Οι μέθοδοι, οι οποίες βασίζονται στην αποσύνθεση σε κελιά ταξινομούνται σε τρεις βασικές κατηγορίες:
στην Ακριβή (Exact), στην Προσεγγιστική (Approximate) και στην Προσαρμοστική (Adaptive).
Προαπαιτούμενη γνώση
Υπολογιστική Γεωμετρία.
Εισαγωγή
Όπως έχει ειπωθεί και στα προηγούμενα κεφάλαια, για έναν «σχεδιαστή» διαδρομών, ο τρόπος της απεικόνισης
του χώρου στον οποίο καλείται να εργαστεί ένα ρομποτικό σύστημα επιδρά καθοριστικά στην αποδοτικότητα
και την ποιότητα της τελικής διαδρομής. Οι προσεγγίσεις οι οποίες βασίζονται στην αποσύνθεση σε κελιά,
αναπαριστούν τον χώρο ως ένα πλέγμα κόμβων και προσδιορίζουν το μονοπάτι που πρόκειται να ακολουθηθεί
μέσα σε αυτό. Το πλέγμα δομείται από την επανάληψη απλών σχημάτων, για παράδειγμα τετραγώνων ή
εξαγώνων. Με αυτόν τον τρόπο, η περιοχή διερεύνησης ανάγεται σε έναν απλό διδιάστατο πίνακα. Κάθε
στοιχείο του πίνακα αποτελεί έναν κόμβο του πλέγματος και αντιστοιχεί σε μια θέση στον φυσικό χώρο. Η
κατάσταση κάθε κόμβου μπορεί να χαρακτηριστεί ως προσπελάσιμη ή μη-προσπελάσιμη, ανάλογα με το αν
υπάρχει εμπόδιο σε αυτήν τη θέση ή όχι. Από άποψη μετακίνησης, ο κόμβος αποτελεί τη βασική μονάδα
κίνησης ή, διαφορετικά, το βήμα.
Η αποσύνθεση (ή κατάτμηση) σε κελιά είναι μια εδραιωμένη κατηγορία μεθόδων επίλυσης του
προβλήματος σχεδιασμού κίνησης για ένα ρομποτικό σύστημα. Το πρωταρχικό βήμα αυτών των αλγορίθμων
είναι να αποσυνθέτουν τον ελεύθερο από συγκρούσεις χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 σε ένα σύνολο μη
επικαλυπτόμενων περιοχών 𝒦, που ονομάζονται κελιά. Το σχήμα αυτών των κελιών μπορεί να είναι αυθαίρετο,
αλλά πρέπει να είναι τέτοιο ώστε να είναι κυρτά και ελεύθερα από εμπόδια. Οι προσεγγίσεις που έχουν
αναπτυχθεί για τον σχεδιασμό κίνησης και βασίζονται στη μέθοδο της αποσύνθεσης σε κελιά μπορούν να
κατηγοριοποιηθούν σε δύο βασικές κατηγορίες 0, 0: τις ακριβείς και τις προσεγγιστικές. Κατά την ακριβή
αποσύνθεση σε κελιά (Exact Cell Decomposition), η ένωση των κελιών 𝒦 συνθέτει επακριβώς τον ελεύθερο
από συγκρούσεις χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 , δηλ. ∪ 𝒦 = 𝒞𝑓𝑟𝑒𝑒 . Η ακριβής αποσύνθεση σε κελιά έχει
μελετηθεί λεπτομερώς, καθώς πρόκειται για μια πλήρη μέθοδο σχεδιασμού κίνησης. Ωστόσο, η αποσύνθεση
ενός 𝒞𝑓𝑟𝑒𝑒 δεν είναι πάντα μια υπολογιστικά ρεαλιστική διαδικασία, καθώς η πολυπλοκότητα μιας τέτοιας
αποσύνθεσης αυξάνεται δραστικά με τη διάσταση και το μέγεθος του χώρου εργασίας στον οποίο καλείται να
λειτουργήσει το ρομποτικό σύστημα. Αυτό έχει ως αποτέλεσμα, η ακριβής αποσύνθεση σε κελιά να
περιορίζεται συνήθως σε προβλήματα που περιέχουν επίπεδα ή κυρτά πολυεδρικά εμπόδια ή σε περιπτώσεις
ρομποτικών συστημάτων τα οποία κινούνται χωρίς να περιστρέφονται.
Η προσεγγιστική αποσύνθεση σε κελιά κατατμίζει τον ελεύθερο χώρο διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 του
ρομποτικού συστήματος σε ένα σύνολο κυρτών κελιών, μη επικαλυπτόμενων πολυγώνων, προκαθορισμένου
σχήματος (π.χ. ορθογώνια). Η ένωση των κελιών περιλαμβάνεται αυστηρά στον ελεύθερο χώρο. Οι
μεθοδολογίες που βασίζονται στην προσεγγιστική αποσύνθεση σε κελιά περιλαμβάνουν επαναληπτικό απλό
Ηλίας Ξυδιάς 94
Αυτή η μέθοδος εφαρμόζεται κυρίως σε 2 διαστάσεων χώρους διαμορφώσεων που περιέχουν πολυγωνικά
εμπόδια διαμορφώσεων. Ο αλγόριθμος που χρησιμοποιείται για την αποσύνθεση του ελεύθερου χώρου
διαμορφώσεων του ρομποτικού συστήματος είναι ο Sweep Line Algorithm 0. O Sweep Line Algorithm σαρώνει
τον χώρο διαμόρφωσης με μια γραμμή κατακόρυφης ή οριζόντιας κατεύθυνσης και δημιουργεί ένα κομμάτι
(slice) όταν η γραμμή, κατά τη σάρωση, συναντά μία κορυφή ενός εμποδίου. Μετά το πέρας της αποσύνθεσης
του χώρου, δημιουργείται ένας μη-κατευθυνόμενος γράφος (Εικόνα 4.2).
Εικόνα 4.2 Ο αντίστοιχος μη κατευθυνόμενος γράφος και το παραγόμενο κανάλι το οποίο απεικονίζεται με κόκκινο
χρώμα.
Στη συνέχεια, με τη χρήση κατάλληλου αλγορίθμου, γίνεται αναζήτηση στον κατασκευασμένο γράφο για μια
διαδρομή που συνδέει την αρχική με την τελική διαμόρφωση. Το αποτέλεσμα της αναζήτησης είναι μια
ακολουθία κόμβων και όχι μια ακολουθία διαμορφώσεων στο 𝒞𝑓𝑟𝑒𝑒 που θα αποτελούσαν τη διαδρομή για το
ρομποτικό σύστημα. Ένας συνήθης τρόπος για τη δημιουργία της διαδρομής είναι η σύνδεση των μέσων των
κοινών ακμών κάθε τραπεζοειδούς (κελιού) που ανήκουν στον κανάλι, ώστε να συνδεθεί η αρχική και τελική
διαμόρφωση (Εικόνα 4.3).
Εικόνα 4.3 Η παραγόμενη διαδρομή που συνδέει την αρχική με την τελική διαμόρφωση.
Ένα μειονέκτημα της τραπεζοειδούς αποσύνθεσης σε κελιά είναι ότι σχηματίζονται πολλά μικρά κελιά που,
φαινομενικά, μπορούν να ενσωματωθούν με γειτονικά κελιά. Αυτή η αναδιοργάνωση/σύμπτυξη των κελιών
Ηλίας Ξυδιάς 96
Εικόνα 4.6 Η διαδρομή Boustrophedon.
Γενικά, η Ακριβής Αποσύνθεση σε κελιά χαρακτηρίζεται ως πλήρης, στην περίπτωση βέβαια κατά την οποία
και ο χώρος διαμορφώσεων των εμποδίων αναπαρίσταται πλήρως. Όσον αφορά στην ποιότητα της λύσης που
αποδίδει η ακριβής αποσύνθεση σε κελιά, πρέπει να σημειωθεί ότι δεν είναι η βέλτιστη. Αυτό συμβαίνει διότι
τα κελιά μιας ακριβούς αποσύνθεσης είναι συνήθως αρκετά μεγάλου μεγέθους (εξαρτάται από τον χώρο των
εμποδίων διαμορφώσεων). Έτσι, η εκχώρηση κόστους σε ένα κελί μπορεί να μην έχει το επιθυμητό αποτέλεσμα
μιας βέλτιστης διαδρομής υπό την έννοια αυτού του κόστους, π.χ. η βέλτιστη διαδρομή ως προς το μήκος της.
Τέλος, η υπολογιστική πολυπλοκότητα της προσέγγισης εξαρτάται από τον αριθμό των κορυφών των εμποδίων
διαμορφώσεων και είναι 𝛰(𝛮𝑙𝑜𝑔𝑁) 0.
Τα συνηθέστερα σχήματα των κελιών που χρησιμοποιούνται για την αποσύνθεση του χώρου είναι
τετραγωνικής και ορθογώνιας μορφής. Η ένωση αυτών των κελιών προσεγγίζει μόνο το 𝒞. Όταν ένα κελί
περιέχει ένα αντικείμενο, επισημαίνεται ως εμπόδιο. Διαφορετικά θεωρείται ελεύθερος χώρος (Εικόνα 4.8). Το
κέντρο κάθε κελιού γίνεται ένας κόμβος στον μη-κατευθυνόμενο γράφο που δημιουργείται, ο οποίος στην
συνέχεια ελέγχεται για να προσδιοριστεί μια διαδρομή, αν υπάρχει. Επίσης, υποτίθεται ότι μόλις το ρομποτικό
σύστημα εισέλθει σε ένα κελί, τότε θεωρείται ότι έχει καλύψει ολόκληρο το κελί στο οποίο βρίσκεται.
Ηλίας Ξυδιάς 98
Πρέπει να σημειωθεί ότι κατά την προσεγγιστική αποσύνθεση σε κελιά ένα ρομποτικό σύστημα είναι
υποχρεωμένο να κινείται σε ευθύγραμμες διευθύνσεις, π.χ. σε ένα διδιάστατο περιβάλλον ένα ρομποτικό
σύστημα μπορεί να κινείται στις τέσσερις βασικές διευθύνσεις (4-connected): Πάνω, Κάτω, Αριστερά και Δεξιά
(Εικόνα 4.9) ή να επιτρέπονται επιπλέον και οι διαγώνιες διευθύνσεις (8-connected) (Εικόνα 4.10).
Το πλεονέκτημα έναντι των τετραγωνικών κελιών είναι ότι η απόσταση μεταξύ όλων των γειτονικών κόμβων
σε ένα εξαγωνικό πλέγμα είναι η ίδια, ενώ στην περίπτωση του τετραγωνικού πλέγματος η απόσταση διαφέρει
για την κίνηση σε οριζόντιο και κάθετο επίπεδο από την κίνηση ανάμεσα σε κόμβους που γειτνιάζουν
διαγωνίως.
Ένας ακόμα τρόπος για την αποσύνθεση του ελεύθερου χώρου διαμορφώσεων είναι με τη χρήση
πολυγωνικού πλέγματος, 0. Το πολυγωνικό πλέγμα αποτελείται από κόμβους των οποίων η μορφή είναι
ακανόνιστη και δεν επαναλαμβάνεται (Εικόνα 4.12). Για αυτόν τον λόγο, οι αλγόριθμοι που έχουν αναπτυχθεί
για τον προσδιορισμό της κίνησης χρησιμοποιούν τις επιφάνειες, τις ακμές ή τις κορυφές κελιών και όχι τις
συντεταγμένες τους. Αυτό συμβαίνει διότι οι αποστάσεις μεταξύ των κέντρων των κελιών δεν είναι σταθερές.
Τέλος, στην περίπτωση που ο χώρος 𝒞 του ρομποτικού συστήματος είναι τριδιάστατος, η συνηθέστερη επιλογή
για το σχήμα των κελιών είναι η τριγωνική. Αυτό συμβαίνει διότι, το τρίγωνο είναι το μόνο σχήμα που
παραμένει επίπεδο, ενώ όλα τα υπόλοιπα στρεβλώνονται. Το μεγάλο τους όμως μειονέκτημα είναι ότι η
επιφάνεια ενός τριγωνικού κελιού είναι μικρή που σημαίνει ότι το ρομποτικό σύστημα είναι δύσκολο να
τοποθετηθεί μέσα σε ένα κελί. Στην Εικόνα 4.13 απεικονίζεται ένα παράδειγμα αποσύνθεσης ενός διδιάστατου
χώρου 𝒞, ο οποίος περιέχει ένα πολυγωνικό εμπόδιο σε σχήμα ορθογωνίου (μαύρη κλειστή γραμμή) σε
τριγωνικά κελιά.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 101
Εικόνα 4.13 Αποσύνθεση του χώρου 𝒞 σε τριγωνικά κελιά.
Γενικά, παρόλο που η προσεγγιστική αποσύνθεση σε κελιά είναι εύκολο να εφαρμοστεί, υπάρχουν τα ακόλουθα
μειονεκτήματα:
• Στην περίπτωση κατά την οποία ένα εμπόδιο είναι πολύ μικρότερο από τη διάσταση του κελιού,
οδηγεί στον χαρακτηρισμό ολόκληρου του κελιού ως δεσμευμένου. Αυτό έχει ως αποτέλεσμα να
μειώνεται ο ελεύθερος χώρος διαμορφώσεων 𝒞𝑓𝑟𝑒𝑒 στον οποίο μπορεί να κινηθεί το ρομποτικό
σύστημα.
• Στην αντίθετη περίπτωση, κατά την οποία επιλέγεται το μέγεθος των κελιών να είναι μεγάλο, με
αποτέλεσμα να έχουμε μια «χονδροειδή» ανάλυση του πλέγματος, μπορεί η προσέγγισή μας να
μην είναι πλήρης, δηλαδή δεν μπορεί να εγγυηθεί την εύρεση λύσης (διαδρομής), ακόμα και αν
αυτή υπάρχει.
Μετά το πέρας της Προσαρμοστικής Αποσύνθεσης σε κελιά, κατασκευάζεται ένας μη κατευθυνόμενος γράφος,
του οποίου οι κόμβοι είναι τα ελεύθερα ή μεικτά κελιά, ενώ οι ακμές του δείχνουν τη σχέση γειτνίασης μεταξύ
αυτών των κελιών. Στη συνέχεια αναζητείται μια διαδρομή «κανάλι», το οποίο ενώνει την αρχική και τελική
διαμόρφωση.
Όπως αναφέρθηκε στην αρχή της ενότητας, η συνηθέστερη επιλογή μεθόδου αποσύνθεσης του χώρου 𝒞
είναι το τετραγωνικό πλέγμα. Η έμπνευση για αυτόν τον τύπο αποσύνθεσης προέρχεται από τα τετραδικά
δέντρα (quadtree) 0, ιεραρχικές αποσυνθέσεις που χρησιμοποιούνται κυρίως στην επιστήμη των υπολογιστών
για την οργάνωση δεδομένων ή την συμπίεση εικόνων. Ένα τετραδικό δέντρο προκύπτει από την αναδρομική
διαίρεση του χώρου αναπαράστασης σε υπο-περιοχές (φύλλα-κόμβους). Κάθε κόμβος μπορεί να έχει το πολύ
4 υπο-κόμβους και αντιστοιχεί σε ένα τετράγωνο (κελί) του περιβάλλοντος, το οποίο φέρει μια από τις
ακόλουθες ετικέτες:
• ελεύθερο
• μεικτό
• δεσμευμένο
Η βασική ιδέα αυτής της αποσύνθεσης είναι να διαχωριστεί αναδρομικά κάθε μεικτό τετράγωνο κελί, το οποίο
καλείται «γονέας», σε τέσσερα ίσα υπο-τετράγωνα, τα οποία καλούνται «παιδιά», διαιρώντας κάθε μία από τις
πλευρές του σε δύο ίσα μέρη, δημιουργώντας τετράγωνα-κελιά μικρότερου μεγέθους. Ένα κελί δεν χωρίζεται
σε μικρότερα είτε είναι ελεύθερο, είτε δεσμευμένο είτε μεικτό, εάν έχει διαστάσεις μικρότερες από μια
δεδομένη ακρίβεια. Σε αυτήν την περίπτωση το κελί δηλώνεται ως δεσμευμένο. Πρέπει να σημειωθεί ότι η
ακρίβεια επιλέγεται από τον χρήστη και συνήθως είναι όση το μέγεθος του ρομποτικού συστήματος. Με αυτόν
τον τρόπο, τα κελιά της αποσύνθεσης φέρουν τις εξής δύο ετικέτες:
• ελεύθερο
• δεσμευμένο
Στην Εικόνα 4.15 παρουσιάζεται ένα παράδειγμα στο οποίο ένα μεικτό κελί της Εικόνας 4.15 διαιρείται σε
τέσσερα υπο-τετράγωνα. Πρόκειται για μια διαδικασία η οποία πραγματοποιείται και επαναλαμβάνεται μέχρις
ότου το μέγεθος του κελιού (παιδιού) φτάσει στο επιθυμητό.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 103
Εικόνα 4.15 Το τετραδικό δέντρο.
Εικόνα 4.16 Προσαρμοστική αποσύνθεση σε κελιά και η αποτυχία εύρεσης της συντομότερης διαδρομής.
Εικόνα 4.17 Ένας δύο διαστάσεων χώρος διαμορφώσεων, ο οποίος περιέχει ένα 𝒞𝒪1 πολυγωνικού σχήματος.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 105
Η λογική αυτού του τύπου δομής βασίζεται στην ακόλουθη παρατήρηση: Για ένα f-quad κελί, που περιέχει μια
μεγάλη περιοχή ελεύθερου χώρου διάφορου της αρχικής και της τελικής θέσης του ρομποτικού συστήματος,
πρέπει να «ασχολούμαστε» μόνο με τα σημεία μιας διαδρομής -εφόσον αυτή υπάρχει- που συνιστούν είσοδο
και έξοδο διαμέσου του συγκεκριμένου f-quad. Προφανώς, αυτά τα σημεία πρέπει να βρίσκονται στα όρια του
f-quad. Στη συνέχεια μπορεί να σχεδιαστεί μια διαδρομή μέσω του f-quad, συνδέοντας τα σημεία εισόδου και
εξόδου με ένα ευθύγραμμο τμήμα. Γενικά, αυτή η αναπαράσταση επιτρέπει πολλές γωνίες κατεύθυνσης, έναντι
των οκτώ στην περίπτωση του τετραγωνικού πλέγματος. Με αυτόν τον τρόπο μπορεί να δημιουργηθεί διαδρομή
που να προσεγγίζει τη βέλτιστη.
Τα χαρακτηριστικά της Προσαρμοστικής Αποσύνθεσης σε κελιά είναι τα εξής:
• Η προσεγγιστική αποσύνθεση σε κελιά δεν είναι πλήρης, δηλαδή δεν μπορεί να εγγυηθεί ότι
μπορεί να βρει μια λύση (διαδρομή), ακόμα και αν αυτή υπάρχει. Οι πιθανότητες για την εύρεση
μιας λύσης, αν υπάρχει, αυξάνονται, όσο αυξάνεται το επίπεδο αποσύνθεσης, και για αυτόν τον
λόγο καλείται resolution complete.
• Η ποιότητα της λύσης εξαρτάται από το επίπεδο της αποσύνθεσης. Όσο μεγαλύτερη είναι η
αποσύνθεση, τόσο η λύση τείνει να γίνει η βέλτιστη.
• Η υπολογιστική πολυπλοκότητα της προσεγγιστικής αποσύνθεσης σε κελιά είναι εκθετική στην
διάσταση του χώρου 𝒞 και ορίζεται ως 𝛰(𝛮 𝐷 ), όπου 𝛮 είναι ο αριθμός των κόμβων ο οποίος
εξαρτάται από την ανάλυση του πλέγματος.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 107
Ο μετασχηματισμός από τις συντεταγμένες του πλέγματος (𝑢, 𝑣) σε συντεταγμένες του φυσικού χώρου (𝑥, 𝑦)
γίνεται με τη βοήθεια των ακόλουθων εξισώσεων,
4∗𝑥 (4.2)
𝑢=
{ 3 ∗ 𝑤
𝑦 1
𝑣 = − ∗𝑢
ℎ 2
Στην Εικόνα 4.21 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα τον
τερματισμό, ενώ με μαύρο χρώμα δηλώνονται τα κελιά που έχουν διερευνηθεί από τον αλγόριθμο. Με άσπρες
διακεκομμένες γραμμές δηλώνεται η διαδρομή που πρέπει να ακολουθηθεί από το ρομποτικό σύστημα. Στον
χάρτη δεν επιτρέπεται η διαγώνια κίνηση (4-connected).
Στην περίπτωση που ο χώρος εργασίας του ρομποτικού συστήματος περιέχει εμπόδια, ο αλγόριθμος
Dijkstra διερευνά μεγαλύτερη περιοχή και η αναζήτηση εκτείνεται προς όλες τις δυνατές κατευθύνσεις. Αυτό
έχει ως αποτέλεσμα να απαιτείται μεγαλύτερος χρόνος για τη μελέτη περιοχών οι οποίες είναι απομακρυσμένες
από τον στόχο. Ωστόσο, και σε αυτήν την περίπτωση έχει τη δυνατότητα να εντοπίσει τη συντομότερη διαδρομή
(Εικόνα 4.22). Στην Εικόνα 4.22 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα
τον τερματισμό, τα κελιά τα οποία είναι καλυμμένα με μπλε χρώμα καλύπτονται από ένα μη-κυρτό πολυγωνικό
εμπόδιο και, τέλος, η άσπρη διακεκομμένη γραμμή δηλώνει τη διαδρομή που πρέπει να ακολουθήσει το
ρομποτικό σύστημα.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 109
Εικόνα 4.22 Υλοποίηση του αλγορίθμου Dijkstra σε φυσικό χώρο με ένα εμπόδιο
Ο αλγόριθμος Dijkstra υλοποιείται σε Ο(𝑉 2 ), όπου 𝑉 είναι ο αριθμός των κόμβων του γράφου. Η υλοποίησή
του βασίζεται στην ουρά προτεραιότητας, υλοποιημένη με Fibonacci Heap και τρέχει σε χρόνο Ο(𝐸 + 𝑉𝑙𝑜𝑔𝑉),
όπου 𝐸 είναι ο αριθμός των ακμών του γράφου. Αυτός είναι ασυμπτωτικά ο γρηγορότερος γνωστός αλγόριθμος
εύρεσης της συντομότερης διαδρομής.
Στην περίπτωση που ο χώρος εργασίας του ρομποτικού συστήματος περιέχει εμπόδια (Εικόνα 4.24) ο
αλγόριθμος Greedy Best First Search, ενώ δεν καθυστερεί στην αναζήτηση του κελιού-στόχου με το να ερευνά
μια μεγάλη περιοχή, δεν μπορεί να προσδιορίσει τη διαδρομή με το μικρότερο μήκος. Αυτό οφείλεται στην
«απληστία» του για την εύρεση του κελιού-στόχου. Ο στόχος τον έλκει, με τρόπο ώστε να λαμβάνει υπόψη του
μόνο το κόστος του να καταλήξει σε αυτόν, αγνοώντας το κόστος της μακρύτερης πορείας που ακολουθεί. Στην
Εικόνα 4.24 το κελί με πορτοκαλί χρώμα δηλώνει την αφετηρία, το κελί με κόκκινο χρώμα τον τερματισμό, τα
κελιά τα οποία είναι καλυμμένα με μπλε χρώμα καλύπτονται από ένα μη-κυρτό πολυγωνικό εμπόδιο και, τέλος,
η άσπρη διακεκομμένη διαδρομή δηλώνει τη διαδρομή που πρέπει να ακολουθήσει το ρομποτικό σύστημα.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 111
Εικόνα 4.24 Υλοποίηση του αλγορίθμου Greedy Best First Search σε φυσικό χώρο με ένα μη-κυρτό εμπόδιο.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 113
Το κελί έναρξης είναι ο κόμβος Α και το κελί στόχος είναι ο κόμβος D. Υποθέτουμε, ότι η αρχική τιμή της
ευρετικής συνάρτηση ℎ(𝛢) = 6, οπότε,
𝑓 (𝐴 ) = 𝑔 (𝐴 ) + ℎ (𝐴 )
𝑓 (𝐴 ) = 0 + 6
Κατά τη μετακίνηση από τον κόμβο Α προς τους γειτονικούς κόμβους Β και C έχουμε,
𝑓 (𝐴 − 𝐵 ) = 1 + 4
𝑓 (𝐴 − 𝐶 ) = 5 + 2
Στη συνέχεια κατά τη μετακίνηση προς το κελί στόχο D έχουμε,
𝑓(𝐴 − 𝛣 − 𝐷) = (1 + 7) + 0
𝑓 (𝐴 − 𝐶 − 𝐷) = (5 + 10) + 0
Από τα παραπάνω είναι ξεκάθαρο πως η διαδρομή 𝐴 − 𝛣 − 𝐷 είναι η συντομότερη.
Στην περίπτωση που επιθυμούμε το ρομποτικό σύστημα να κινηθεί και διαγώνια (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 Εφαρμογής της Ευκλείδειας απόστασης σε φυσικό χώρο χωρίς εμπόδια.
[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).
3. Να υλοποιήσετε την ακριβή αποσύνθεση σε κελιά και την προσεγγιστική αποσύνθεση σε κελιά στον
πολυγωνικό χώρο της Εικόνας 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
6. Να εφαρμόσετε τον αλγόριθμο του Dijkstra στο παρακάτω δίκτυο ώστε να υπολογίσετε τους
ελάχιστους δρόμους από τον κόμβο A προς όλους τους υπόλοιπους κόμβους (Εικόνα 4.33).
7. Στον χώρο εργασίας της Εικόνας 4.34 να υλοποιήσετε την κατά προσέγγιση αποσύνθεση σε κελιά,
χρησιμοποιώντας το εξαγωνικό πλέγμα και το τετραγωνικό πλέγμα. Στη συνέχεια να βρείτε τη
συντομότερη διαδρομή για ένα σημειακό ρομπότ που ενώνει το αρχικό και τελικό σημείο για κάθε μία
από τις περιπτώσεις. Τι παρατηρείτε;
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 121
Εικόνα 4.34 Ο χώρος εργασίας του ρομποτικού συστήματος.
Σύνοψη
Στα δύο προηγούμενα κεφάλαια παρουσιάστηκαν μεθοδολογίες δημιουργίας ενός γράφου πάνω στον οποίο γίνεται
η αναζήτηση για τον σχεδιασμό κίνησης του ρομπότ. Η προσέγγιση που παρουσιάζεται στο παρόν Κεφάλαιο
βασίζεται σε μια διαφορετική ιδέα. Πιο συγκεκριμένα, το ρομποτικό σύστημα το οποίο αναπαρίσταται ως ένα
σημείο, κινείται στον χώρο διαμορφώσεων υπό την επίδραση ενός τεχνητού δυναμικού πεδίου δημιουργούμενου
από την τελική διαμόρφωση του ρομπότ και τα εμπόδια-διαμορφώσεων. Η τελική διαμόρφωση του ρομποτικού
συστήματος δημιουργεί ένα «ελκτικό δυναμικό», το οποίο έλκει το ρομπότ προς τον στόχο, ενώ τα εμπόδια-
διαμορφώσεων παράγουν ένα «απωθητικό δυναμικό», το οποίο σπρώχνει το ρομπότ μακριά από αυτά.
Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.
Εισαγωγή
Οι μεθοδολογίες σχεδιασμού κίνησης για ένα ρομποτικό σύστημα που περιγράφονται στα δύο προηγούμενα
κεφάλαια στοχεύουν στην αποτύπωση του ελεύθερου χώρου του ρομποτικού συστήματος σε έναν γράφο, πάνω
στον οποίο αναζητείται μια διαδρομή σύνδεσης της αρχικής με την τελική διαμόρφωση. Η προσέγγιση που
παρουσιάζεται σε αυτό το κεφάλαιο προέρχεται από μια διαφορετική ιδέα. Θεωρεί το ρομποτικό σύστημα, που
αναπαρίσταται ως σημείο στον χώρο διαμόρφωσης, ως σωματίδιο. Αυτό κινείται υπό την επίδραση ενός
τεχνητού δυναμικού πεδίου 𝑈, του οποίου οι τοπικές παραλλαγές αναμένεται να αντικατοπτρίζουν τη «δομή»
του ελεύθερου χώρου. Η συνάρτηση δυναμικού ορίζεται ως το άθροισμα ενός ελκυστικού δυναμικού, που
ελκύει το ρομποτικό σύστημα προς τη διαμόρφωση του στόχου, και ενός απωθητικού δυναμικού, που ωθεί το
ρομπότ μακριά από τα εμπόδια. Ο σχεδιασμός κίνησης εκτελείται με επαναληπτικό τρόπο. Σε κάθε επανάληψη,
η τεχνητή δύναμη 𝐹 (𝓆) = ∇⃗ 𝑈(𝓆), που προκαλείται από τη συνάρτηση δυναμικού στην τρέχουσα διαμόρφωση
του ρομποτικού συστήματος, το κινεί προς τον επιθυμητό στόχο.
Μια συνάρτηση δυναμικού είναι μια διαφορίσιμη συνάρτηση 𝑈: ℝ𝑚 → ℝ. 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η Ενότητα, θα παρουσιάσουμε τεχνικές «απόδρασης» από τοπικά ελάχιστα. Επιπλέον, θα
περιγράψουμε μια μεθοδολογία που βασίζεται στα τεχνητά δυναμικά πεδία, η οποία έχει τη
δυνατότητα να σχεδιάσει ελεύθερες διαδρομές σε χώρους διαμόρφωσης υψηλής διάστασης.
𝜕𝑈
𝜕𝑈
𝜕𝑥
⃗ 𝑈(𝓆) = ( 𝜕𝑥 ) ή ∇
∇ ⃗ 𝑈 (𝓆 ) =𝜕𝑈
𝜕𝑈 (5.3)
𝜕𝑦
𝜕𝑦
𝜕𝑈
( 𝜕𝑧 )
Για να προσελκύσει το ρομποτικό σύστημα 𝒜 προς τη διαμόρφωση του επιθυμητού στόχου του, απωθώντας
το παράλληλα από τα εμπόδια διαμορφώσεων, το 𝑈 κατασκευάζεται ως το άθροισμα δύο συναρτήσεων
δυναμικού,
𝑈(𝓆) = 𝑈𝑎𝑡𝑡 (𝓆) + 𝑈𝑟𝑒𝑝 (𝓆) (5.4)
όπου 𝑈𝑎𝑡𝑡 είναι η ελκτική συνάρτηση δυναμικού, η οποία συνδέεται με την τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 και
είναι ανεξάρτητη από τα εμπόδια διαμορφώσεων, ενώ 𝑈𝑟𝑒𝑝 είναι η απωθητική συνάρτηση δυναμικού, η οποία
συνδέεται με τα εμπόδια διαμορφώσεων και είναι ανεξάρτητη της τελικής διαμόρφωσης του 𝒜. Κατά
αντιστοιχία, το δυναμικό πεδίο 𝐹 ορίζεται ως το άθροισμα δύο διανυσμάτων,
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 125
Ο τελεστής 𝜁 συμβάλλει στον σχηματισμό ενός ομαλού δυναμικού πεδίου, αποδίδοντας μία αναλογική
σχέση της τρέχουσας θέσης από τον στόχο. Όσο πιο μακριά βρίσκεται το τρέχον σημείο 𝓆 από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 ,
τόσο μεγαλύτερη επίδραση έχει ο τελεστής στο διάνυσμα. Πρακτικά, όταν το 𝒜 βρίσκεται σε μακρινή
απόσταση από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , τόσο πιο έντονα κινείται προς την περιοχή του. Σε αντίθετη περίπτωση, όταν το 𝒜
βρίσκεται κοντά στην περιοχή του 𝓆𝜎𝜏ό𝜒𝜊𝜍 , η επίδραση της έλξης του 𝜁 αυτού είναι πιο ήπια. Η ιδιότητα αυτή
είναι πολύ χρήσιμη για τα κινούμενα ρομποτικά συστήματα, καθώς μειώνεται η πιθανότητα να προσπεράσει
το 𝒜 το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , λόγω της ορμής που αναπτύσσει.
Κατά την αριθμητική εφαρμογή του παραπάνω 𝑈𝑎𝑡𝑡 (𝓆), παρατηρούμε ότι παρουσιάζει κάποια προβλήματα
ασυνέχειας στο αρχικό σημείο. Για αυτόν τον λόγο προτιμάται η συνάρτηση δυναμικού να είναι συνεχώς
διαφορίσιμη, καθώς ο παράγοντας του ελκτικού πεδίου μειώνεται όταν το 𝒜 πλησιάζει το 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Επιλέγεται,
λοιπόν, μία παραβολική συνάρτηση, η οποία δίνεται από τη σχέση,
1 2 (5.7)
𝑈𝑎𝑡𝑡 (𝓆) = 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |
2
όπου η 𝑈𝑎𝑡𝑡 (𝓆) είναι θετική ή κενή και παρουσιάζει ελάχιστο στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 με 𝑈𝑎𝑡𝑡 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ) = 0. Η κλίση της
παραπάνω συνάρτησης δίνεται από τη σχέση,
1
⃗ 𝑈𝑎𝑡𝑡 (𝓆) = ∇ ( 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |2 )
∇ (5.8)
2
1 2
= 𝜁∇ (|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ) = 𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 )
2
Η αντίστοιχη ελκτική δύναμη δίνεται από τη σχέση 𝐹𝑎𝑡𝑡 = −∇ ⃗ 𝑈𝑎𝑡𝑡 (𝓆) = −𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ). Στην Εικόνα 5.1
απεικονίζεται το ελκτικό δυναμικό πεδίο και η διεύθυνσή του, ο στόχος 𝓆𝜎𝜏ό𝜒𝜊𝜍 βρίσκεται στο κέντρο του.
Στην Εικόνα 5.2 απεικονίζονται οι ισοϋψείς του 𝑈𝑎𝑡𝑡 , όπου κάθε κύκλος αντιστοιχεί σε ένα σύνολο σημείων 𝓆,
όπου το 𝑈𝑎𝑡𝑡 (𝓆) είναι σταθερό. Τέλος, στην Εικόνα 5.3 απεικονίζεται η επιφάνεια του 𝑈𝑎𝑡𝑡 .
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 127
Είναι σημαντικό να σημειωθεί ότι, καθώς το δυναμικό πεδίο συγκλίνει γραμμικά προς το μηδέν, το ρομποτικό
σύστημα πλησιάζει προς το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ όταν το δυναμικό μεγαλώνει, τότε το ρομποτικό σύστημα κινείται
μακριά από αυτόν. Στις περιπτώσεις που το σημείο εκκίνησης βρίσκεται μακριά από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , προκαλείται
στο ρομποτικό σύστημα μεγάλη ταχύτητα. Για τον λόγο αυτόν γίνεται συχνά συνδυασμός δύο ελκτικών
δυναμικών πεδίων: του τετραγωνικού και του κωνικού. Με αυτόν τον τρόπο το κωνικό δυναμικό ελκύει το
ρομποτικό σύστημα όταν βρίσκεται πολύ μακριά από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , ενώ το τετραγωνικό δυναμικό ενεργοποιείται
όταν το ρομποτικό σύστημα κείται κοντά στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Επίσης, είναι σημαντικό να οριστεί η τιμή που πρέπει
να έχει το ελκτικό πεδίο στο σύνορο μεταξύ του κωνικού και του τετραγωνικού πεδίου. Παρακάτω,
παρουσιάζεται το συνδυαστικό ελκτικό πεδίο, καθώς επίσης και η κλίση του,
1 2 ∗
𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | , |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍
𝑈𝑎𝑡𝑡 (𝓆) = { 2 (5.9)
∗ 1 ∗ ∗
𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | − 𝜁(𝑑𝜎𝜏ό𝜒𝜊𝜍 )2 , |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | > 𝑑𝜎𝜏ό𝜒𝜊𝜍
2
∗
𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ), |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍
∗
⃗ 𝑈𝑎𝑡𝑡 (𝓆) = {𝑑𝜎𝜏ό𝜒𝜊𝜍
∇ 𝜁(𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 ) ∗ (5.10)
, |𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 | > 𝑑𝜎𝜏ό𝜒𝜊𝜍
|𝓆 − 𝓆𝜎𝜏ό𝜒𝜊𝜍 |
∗
όπου 𝑑𝜎𝜏ό𝜒𝜊𝜍 είναι το όριο της απόστασης από το 𝓆𝜎𝜏ό𝜒𝜊𝜍 , με βάση το οποίο πραγματοποιείται η εναλλαγή
μεταξύ του κωνικού και του τετραγωνικού δυναμικού. Το πεδίο θεωρείται καλώς ορισμένο στη συνοριακή
περιοχή των δύο πεδίων, καθώς το κωνικό πεδίο έχει ίση τιμή με το τετραγωνικό.
όπου 𝑐 είναι το κοντινότερο σημείο του εμποδίου 𝒞𝒪 από την τρέχουσα θέση 𝓆 του ρομποτικού συστήματος
και 𝑑 (𝓆, 𝑐 ) = |𝓆 − 𝑐|.
Στην περίπτωση κατά την οποία ο χώρος εργασίας περιέχει κυρτά εμπόδια, τότε έχει δειχθεί ότι η κλίση
𝑖 ( )
της απόστασης 𝐷𝒞𝒪 𝓆 δίνεται από τη σχέση:
𝑖 ( ) 𝓆−𝑐
∇𝐷𝒞𝒪 𝓆 = (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 εμπόδια και το 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 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). Σκοπός του είναι να φτάσει στην πεδιάδα, όπου
το έδαφος είναι ίσιο (δηλ. έχει την ελάχιστη κλίση). Επιθυμεί να κατέβει και να φτάσει σε κάποια από τις
πεδιάδες όσο πιο γρήγορα γίνεται (δηλ., με τον βέλτιστο τρόπο). Αρχικά κοιτάζει γύρω του και προσπαθεί να
δει ποια είναι η κλίση του εδάφους σε κάθε σημείο. Η λογική μας λέει ότι αν ακολουθήσει το πιο απότομο
σημείο αυτό θα μας κατευθύνει με τον γρηγορότερο τρόπο σε κάποια πεδιάδα (υποθέτουμε ότι αγνοεί τους
κινδύνους). Έτσι, λοιπόν, κάνει ένα βήμα προς την κατεύθυνση με την πιο απότομη κλίση. Στη συνέχεια
κοιτάζει πάλι γύρω του και εκτελεί πάλι άλλο ένα βήμα προς την κατεύθυνση με την πιο απότομη κλίση.
Επαναλαμβάνει τη διαδικασία, μέχρις ότου βρεθεί εκεί όπου οποιοδήποτε σημείο γύρω του έχει κλίση θετική,
δηλαδή ανηφορική. Σε αυτήν την περίπτωση θεωρεί ότι βρίσκεται πλέον σε ένα τοπικό ελάχιστο, δηλαδή στον
στόχο του.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 133
Εικόνα 5.11 4-connected.
Η κεντρική ιδέα του αλγορίθμου Brushfire είναι η εκκίνησή του από συγκεκριμένα σημεία του χώρου και η
εξάπλωσή του προς όλες τις κατευθύνσεις υπό κάποια συνθήκη. Ο αλγόριθμος τερματίζει εάν ισχύσει μία
προκαθορισμένη συνθήκη. Tο όνομα του αλγορίθμου είναι ενδεικτικό της εξάπλωσης. Tο «Brushfire»
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 135
Εικόνα 5.14 Ο αλγόριθμος συνεχίζει τη διαδικασία εξάπλωσης.
Με βάση τα παραπάνω, μπορούμε να πούμε ότι το αποτέλεσμα του αλγορίθμου είναι ένας διδιάστατος πίνακας
(Εικόνα 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.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 σε υψηλότερες διαστάσεις καθίσταται υπολογιστικά δυσεπίλυτη.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 141
Εικόνα 5.22 Η εφαρμογή του Wave-front σε χώρο που περιέχει δύο πολυγωνικά εμπόδια.
Εικόνα 5.23 Η εξάπλωση του Wave-front κατέκλεισε το πρώτο εμπόδιο που συνάντησε.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 143
εφαρμοστούν σε συνδυασμό με τη συνάρτηση δυναμικού που παρουσιάστηκε στην προηγούμενη ενότητα,
καθώς επίσης και με άλλες συναρτήσεις δυναμικού.
Στην ενότητα 5.1 παρουσιάστηκε μια συνάρτηση δυναμικού στην πιο απλή της μορφή, στην οποία το
ρομποτικό σύστημα αναπαρίσταται ως ένα σωματίδιο, κινούμενο υπό την επίδραση μιας δύναμης 𝐹 (𝓆) =
−∇⃗ 𝑈(𝓆). Σε κάθε διαμόρφωση 𝓆 του ρομποτικού συστήματος, η τεχνητή δύναμη 𝐹 (𝓆) έχει τη δυνατότητα να
καθορίζει την επιτάχυνση του σωματιδίου/ρομποτικού συστήματος. Έχοντας υπόψη τις δυναμικές/κινηματικές
εξισώσεις που περιγράφουν τα κινηματικά και δυναμικά χαρακτηριστικά του ρομποτικού συστήματος και
υποθέτοντας ότι δεν υπάρχει περιορισμός στην ισχύ των ενεργοποιητών, είναι εφικτό να υπολογιστούν οι
δυνάμεις/ροπές που πρέπει να αποδίδονται από τους ενεργοποιητές κάθε χρονική στιγμή. Έτσι το ρομποτικό
σύστημα μπορεί να συμπεριφέρεται όπως και ένα σωματίδιο 0.
Αυτός ο τρόπος χρήσης της συνάρτησης δυναμικού εφαρμόζεται για τη δημιουργία διαδρομών σε
προβλήματα πραγματικού χρόνου. Επίσης, είναι κατάλληλο όταν τα εμπόδια δεν είναι γνωστά εκ των
προτέρων, αλλά γίνονται αισθητά κατά την εκτέλεση της κίνησης από τους αισθητήρες του ρομποτικού
συστήματος. Στις επόμενες υπο-ενότητες, παρουσιάζουμε τέτοιες τεχνικές όπως:
• Την Αναζήτηση Πρώτα κατά βάθος (Depth – First Search), η οποία αν και είναι ιδιαίτερα γρήγορη
στο να βρει μια διαδρομή, μπορεί εύκολα να «κολλήσει» σε τοπικά ελάχιστα.
• Την best – first, η οποία μπορεί να αντιμετωπίζει τα τοπικά ελάχιστα «γεμίζοντάς» τα.
• Η variational planning συνίσταται στη βελτιστοποίηση μιας συνάρτησης που έχει κατασκευαστεί
με την ενσωμάτωση του δυναμικού κατά μήκος μιας πλήρους διαδρομής μεταξύ της αρχικής και
της διαμόρφωσης στόχου.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 145
Εικόνα 5.26 Το ελκτικό δυναμικό οδηγεί το ρομποτικό σύστημα μέσα σε ένα εμπόδιο διαμορφώσεων. Τότε, σε μια
διαμόρφωση 𝓆𝜏𝜊𝜋𝜄𝜅ό 𝜀𝜆ά𝜒𝜄𝜎𝜏𝜊 , το εμπόδιο δημιουργεί ένα απωθητικό δυναμικό το οποίο «ακυρώνει» το ελκτικό δυναμικό,
με αποτέλεσμα το ρομποτικό σύστημα να σταματά να κινείται. Αυτό συμβαίνει, διότι οι δυνάμεις που δημιουργούνται από το
ελκτικό και το απωθητικό πεδίο είναι ίσου μέτρου στη συγκεκριμένη διαμόρφωση.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 147
INSERT να παίρνει λογαριθμικό χρόνο στο μέγεθος OPEN, που είναι 𝛰(𝑟 𝑚 ) στη χειρότερη περίπτωση. Η
χρονική πολυπλοκότητα του αλγορίθμου Best-First που δίνεται παραπάνω είναι 𝑂(𝑚𝑟 𝑚 𝑙𝑜𝑔𝑟).
Στις περισσότερες περιπτώσεις, ο αλγόριθμος Best-First θα ερευνήσει μόνο μια μικρή περιοχή του 𝒢𝒞.
Αντί να αντιπροσωπεύουμε επακριβώς το 𝒢𝒞 σε έναν μεγάλο πίνακα και να επισημάνουμε τις διαμορφώσεις
του ως επισκέψιμες ή μη, μπορούμε να αναπαραστήσουμε μόνο τις διαμορφώσεις που ανήκουν στο 𝒯. Στη
συνέχεια, αντί να ελέγχουμε εάν μια διαμόρφωση 𝓆′ έχει επισημανθεί ως επίσκεψη, δοκιμάζουμε αν βρίσκεται
στο 𝒯. Αποθηκεύοντας τις διαμορφώσεις στο 𝒯 σε μια δομή δεδομένων ισορροπημένου δέντρου, ταξινομημένη
σύμφωνα με τις συντεταγμένες των διαμορφώσεων, η δοκιμή παίρνει λογαριθμικό χρόνο στον αριθμό των
διαμορφώσεων στο 𝒯, που είναι 𝛰(𝑟 𝑚 ) στη χειρότερη περίπτωση. Αυτή η τροποποίηση αυξάνει ελαφρώς τον
χρόνο υλοποίησης της διαδικασίας, αλλά μειώνει τον χώρο μνήμης που χρειάζεται. Καθιστά επίσης δυνατή την
εκτέλεση του αλγορίθμου με ένα πλέγμα 𝒢𝒞 απεριόριστου μεγέθους.
Ο αλγόριθμος Best-First μπορεί να είναι αποδοτικός μόνο όταν το 𝑚 είναι μικρό (𝑚 ≤ 5). Στην
περίπτωση που το ρομποτικό σύστημα είναι ένα αντικείμενο το οποίο μπορεί να κινείται ελεύθερα στο χώρο
(free flying object) σε έναν διδιάστατο χώρο εργασίας (𝑚 = 3), παρέχει ένα μέσο για την εφαρμογή ενός πολύ
γρήγορου και αξιόπιστου αλγορίθμου σχεδιασμού διαδρομής, με αναλύσεις πλέγματος της τάξης του 2563 0.
Μπορεί ακόμη να γίνει πιο γρήγορος χρησιμοποιώντας μια πυραμίδα από πλέγματα σε διάφορες αναλύσεις.
Ωστόσο, όταν το 𝑚 γίνεται μεγαλύτερο, το γέμισμα τοπικών ελαχίστων δεν είναι πλέον εφικτό.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 149
(α) (β)
(γ) (δ)
(η) (θ)
Εικόνα 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 στο όριο οποιουδήποτε
εμποδίου και μεταβάλλεται συνεχώς στον ελεύθερο χώρο. Επίσης, παρουσιάζει ένα μοναδικό ελάχιστο για μία
αρκετά μεγάλη τιμή για το κ. Ωστόσο, εξακολουθεί να μην είναι απαραιτήτως μια συνάρτηση Μορς, επειδή
Εικόνα 5.28 Η σύγκλιση της 𝜎𝜆 (𝓆) στο 1 καθώς το 𝓆 τείνει στο άπειρο.
Ας εξετάσουμε τον χώρο που απεικονίζεται στην Εικόνα 5.29. Το αποτέλεσμα της αύξησης του κ φαίνεται στην
Εικόνα 5.30, το οποίο σχεδιάζει τις γραμμές περιγράμματος για τη συνάρτηση 𝜑, καθώς το κ αυξάνεται. Εδώ
παρατηρούμε ότι, για 𝜅 = 3, το 𝜑 έχει τρία τοπικά ελάχιστα, ένα από τα οποία είναι το συνολικό ελάχιστο. Για
𝜅 = 4 και 6, τα τοπικά ελάχιστα γίνονται πιο εμφανή επειδή είναι ευκολότερο να δούμε τις γραμμές
περιγράμματος που περιβάλλουν τα τοπικά ελάχιστα. Για 𝜅 = 7 και 8, τα «κακά» ελάχιστα είναι εκεί, αλλά
είναι δύσκολο να τα δεις. Τελικά, τα «κακά» ελάχιστα μεταμορφώνονται σε σημεία σέλας, τα οποία είναι
ασταθή. Για 𝜅 = 10, η συνάρτηση 𝜑 έχει ένα μοναδικό ελάχιστο. Επομένως, η μέθοδος κλίσης θα κατευθύνει
το ρομπότ 𝓆 προς τον στόχο 𝓆𝜎𝜏ό𝜒𝜊𝜍 .
Τέλος, μπορούμε να δούμε την επίδραση της κλίσης της συνάρτησης δυναμικού, τα κρίσιμα σημεία που
έλκονται προς τον στόχο και τα τοπικά ελάχιστα που μετατρέπονται σε σέλες, στην Εικόνα 5.31. Δυστυχώς,
αυτή η οξεία επίδραση έχει αρνητικές συνέπειες. Το μειονέκτημα αυτής της συγκεκριμένης συνάρτησης
πλοήγησης είναι ότι είναι επίπεδη κοντά στον στόχο και μακριά από αυτόν, αλλά έχει απότομες μεταβάσεις στο
μεταξύ τους (Εικόνα 5.31). Αυτό καθιστά την εφαρμογή μιας προσέγγισης κλίσης αρκετά δύσκολη εξαιτίας
των αριθμητικών σφαλμάτων.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 153
Εικόνα 5.29 Ένας κυκλικός χώρος διαμορφώσεων ο οποίος αποτελείται από κυκλικά εμπόδια 0.
(α) (β)
(ε) (ζ)
Εικόνα 5.30 (α)-(ζ) Η απεικόνιση της συνάρτησης πλοήγησης για έναν κυκλικό χώρο διαμορφώσεων ο οποίος αποτελείται
από 5 κυκλικά εμπόδια για 𝜅 = 3, 𝜅 = 4, 𝜅 = 6, 𝜅 = 7, 𝜅 = 8 και 𝜅 = 10 0.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 155
(α) (β)
(γ) (δ)
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 157
(α) (β)
Εικόνα 5.32 (α) Ένα σύνολο σε σχήμα αστεριού. (β) Ένα σύνολο σε σχήμα που δεν είναι αστεροειδές.
Στόχος αυτής της προσέγγισης είναι να απεικονίσουμε έναν χώρο διαμορφώσεων, ο οποίος περιέχει εμπόδια
σε σχήμα αστεριού, σε έναν χώρο που περιέχει εμπόδια σε σχήμα κύκλου. Μπορεί να αποδειχθεί 0 ότι για δύο
ελεύθερους χώρους διαμορφώσεων 𝛭 και 𝛷, εάν 𝜑: 𝛭 → [0,1] είναι μια συνάρτηση πλοήγησης στο 𝛭 και
υπάρχει μια αντιστοίχιση 𝜂: 𝛷 → 𝛭 που είναι αμφιδιαφορίσιμη, δηλ. είναι ομαλή, διχοτομική και έχει ομαλή
αντίστροφη, τότε 𝜑 = 𝜑°𝜂 είναι μια συνάρτηση πλοήγησης στο 𝛷 (βλ. Εικόνα 5.33). Αυτή η
αμφιδιαφοροσιμότητα διασφαλίζει ότι υπάρχει αντιστοιχία ένα προς ένα μεταξύ των κρίσιμων σημείων. Θα
χρησιμοποιήσουμε αυτήν την ιδιότητα για να ορίσουμε συναρτήσεις πλοήγησης σε χώρους με σχήμα αστεριού
χρησιμοποιώντας αποτελέσματα από χώρους σε σχήμα κύκλου.
Εικόνα 5.33 Η αμφιδιαφορίσιμη απεικόνιση η οποία απεικονίζει τον χώρο σχήματος αστεριού 𝛷 στον χώρο κυκλικού
σχήματος 𝛭.
Η απεικόνιση 𝜂 μεταξύ των χώρων κυκλικού σχήματος και σχήματος αστεριού θα κατασκευαστεί
χρησιμοποιώντας τον ακόλουθο χάρτη,
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 159
σύνθεση των δύο πεδίων 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό και 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό , στα οποία δημιουργείται ένα τοπικό ελάχιστο στο δυναμικό
𝑈 κατά μήκος του άξονα συμμετρίας του εμποδίου 𝒞𝒪 που περιέχει την τελική διαμόρφωση 𝓆𝜎𝜏ό𝜒𝜊𝜍 :
• Θεωρούμε την ημι-ευθεία ΠΣ. Το σημείο Π βρίσκεται στο σύνορο του εμποδίου 𝒞𝒪, ενώ το Σ
βρίσκεται στο «άπειρο» (∞). Έστω 𝓆 μια διαμόρφωση στο ΠΣ το οποίο βρίσκεται σε μια
πεπερασμένη μη μηδενική απόσταση από το Π. Το δυναμικό 𝑈(𝓆) είναι πεπερασμένο. Όταν το
𝓆 τείνει είτε προς το Π είτε προς το Σ, το 𝑈(𝓆) τείνει προς το +∞.
• Έστω Γ ένα σημείο στο ΠΣ σε μια πεπερασμένη μη μηδενική απόσταση από το Π. Το 𝛾𝛼𝜋𝜔𝜃 (Γ)
είναι το ισοδυναμικό περίγραμμα του 𝑈𝛼𝜋𝜔𝜃𝜂𝜏𝜄𝜅ό που περιέχει το Γ και το 𝛾𝜀𝜆𝜅𝜏𝜄𝜅ό (Γ) είναι το
ισοδυναμικό περίγραμμα του 𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό που εφάπτεται στο 𝛾𝜀𝜆𝜅𝜏𝜄𝜅ό (Γ) σε δύο διακριτά σημεία Α
και Β. Καθώς η διαμόρφωση 𝓆 κινείται κατά μήκος του 𝛾𝛼𝜋𝜔𝜃 (Γ) από το Α στο Β, το δυναμικό
𝑈(𝓆) πρώτα μειώνεται μέχρι να προσεγγίσουμε το σημείο Γ, μετά αυξάνεται μέχρι να
προσεγγίσουμε το σημείο Β.
H συνάρτηση δυναμικού 𝑈 έχει ένα τοπικό ελάχιστο σε μια διαμόρφωση 𝓆 που βρίσκεται στο ΠΣ μεταξύ των
Π και Σ. Αυτό το ελάχιστο προκύπτει από το γεγονός ότι η ακτίνα καμπυλότητας της απωθητικής ισοδυναμικής
καμπύλης στο 𝓆 είναι μεγαλύτερη από την ακτίνα καμπυλότητας του ελκυστικού ισοδυναμικού σε 𝓆. Για αυτόν
τον λόγο, το συνολικό δυναμικό είναι μη κυρτό, παρά το γεγονός ότι τόσο το ελκτικό δυναμικό όσο και το
απωθητικό δυναμικό είναι κυρτά.
Εικόνα 5.34 Τα ισοδυναμικά περιγράμματα του ελκυστικού πεδίου δυναμικού οι οποίοι είναι ομόκεντροι με κέντρο το
𝓆𝜎𝜏ό𝜒𝜊𝜍 . Τα ισοδυναμικά περιγράμματα του απωστικού δυναμικού πεδίου τα οποία είναι είναι «ορθογώνια με ομαλές
γωνίες» 0.
Εικόνα 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 παρουσιάζει το απωθητικό δυναμικό το οποίο δημιουργείται
από το 𝒞𝒪.
Όταν το παραπάνω απωθητικό δυναμικό προστεθεί στο ελκυστικό δυναμικό, μπορεί να δημιουργηθούν
τοπικά ελάχιστα «ανηφορικά» από το 𝒞𝒪. Ωστόσο, το μέγεθος του πεδίου έλξης αυτού του ελάχιστου μπορεί
να συντονιστεί ρυθμίζοντας κατάλληλα τα 𝑛, 𝛼 και 𝛽. Είναι δυνατόν να αποφευχθεί το τοπικό ελάχιστο,
κάνοντας το ελάχιστο του συνολικού δυναμικού κατά μήκος του άξονα 𝑦 να συμβεί σε ένα σημείο (0, 𝑦0 ), όπου
η ακτίνα καμπυλότητας του απωθητικού ισοδυναμικού περιγράμματος είναι μικρότερη ή ίση με την ακτίνα του
ελκυστικού ισοδυναμικού περιγράμματος. Ο χαμένος χώρος είναι ελάχιστος όταν οι παράμετροι έχουν
ρυθμιστεί έτσι ώστε το 𝑦0 να είναι όσο το δυνατόν πιο κοντά στο 𝒞𝒪. Ο χαμένος ελεύθερος χώρος μπορεί να
είναι ακόμα πολύ μεγάλος, οπότε οι παράμετροι ενδέχεται να ρυθμιστούν διαφορετικά. Τότε, το πεδίο έλξης
του δημιουργημένου τοπικού ελάχιστου είναι συνήθως μικρότερο από το τοπικό ελάχιστο που δημιουργείται
από τη συνάρτηση απωθητικού δυναμικού της υποενότητας 5.1.3.
Ωστόσο, τα ελλειπτικά δυναμικά έχουν αρκετά μειονεκτήματα που καθιστούν δύσκολη την εφαρμογή
τους σε πρακτικά προβλήματα. Πρώτον, μπορούν να γενικευθούν μόνο σε απλά κυρτά σχήματα σε
διδιάστατους και τριδιάστατους χώρους, χρησιμοποιώντας υπερτετράγωνη διαμόρφωση με μη σταθερές
παραμέτρους κλιμάκωσης 0. Δεύτερον, απαιτούν τα εμπόδια-διαμορφώσεων να είναι αρκετά μακριά το ένα
από το άλλο, έτσι ώστε κανένα εμπόδιο να μην βρίσκεται εντός της απόστασης επιρροής ενός άλλου εμποδίου-
διαμορφώσεων. Τρίτον, ο ορισμός τους δεν παρέχει έναν άμεσο τρόπο υπολογισμού του δυναμικού σε μια
δεδομένη διαμόρφωση. Απαιτεί παρεμβολή μεταξύ προϋπολογισμένων τιμών σε κοντινές διαμορφώσεις.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 163
Εικόνα 5.37 Το ελλειπτικό απωθητικό δυναμικό το οποίο δημιουργείται από το 𝒞𝒪 για 𝑛 = 𝛼 = 𝛽 = 1 0.
5.4.1 Σχέση Μεταξύ των Δυνάμεων στον Χώρο Εργασίας και του Χώρου Διαμορφώσεων
Δεδομένου ότι ο χώρος εργασίας είναι ένα υποσύνολο ενός Ευκλείδειου χώρου διάστασης δύο ή τρία, είναι
πολύ πιο εύκολο να υλοποιηθούν και να αξιολογηθούν οι συναρτήσεις δυναμικού στον χώρο εργασίας παρά
στον χώρο των διαμορφώσεων. Τώρα, θα διαχειριστούμε την κλίση στον χώρο εργασίας ως δυνάμεις. Οι
συναρτήσεις δυναμικού στον χώρο εργασίας δημιουργούν δυνάμεις, αλλά θα χρειαστούμε δυνάμεις δυναμικού
στον χώρο των διαμορφώσεων για να καθορίσουμε τη διαδρομή για το ρομπότ.
Έστω 𝑥 και 𝓆 τα διανύσματα συντεταγμένων που αντιπροσωπεύουν ένα σημείο στον χώρο εργασίας
και τη διαμόρφωση του ρομπότ, αντίστοιχα, όπου οι συντεταγμένες 𝑥 και 𝓆 συσχετίζονται με το ευθύ
κινηματικό δηλ. 𝑥 = 𝜑(𝓆). Έστω ότι 𝑓 και 𝑢 υποδηλώνουν τις γενικευμένες δυνάμεις στον χώρο εργασίας και
στον χώρο των διαμορφώσεων, αντίστοιχα. Για να αναπαραστήσουμε μια δύναμη 𝑓, που ενεργεί σε ένα σημείο
𝑥 = 𝜑(𝓆) στον χώρο εργασίας, ως γενικευμένη δύναμη 𝑢, που ενεργεί στον χώρο διαμόρφωσης του ρομπότ,
χρησιμοποιούμε την αρχή της εικονικής εργασίας, κατά την οποία ουσιαστικά το έργο (ή η ισχύς) είναι μια
ανεξάρτητη ποσότητα. Αυτό σημαίνει ότι η ισχύς που μετριέται σε συντεταγμένες του χώρου εργασίας πρέπει
να είναι ίση με την ισχύ που μετριέται στις συντεταγμένες του χώρου διαμορφώσεων. Στον χώρο εργασίας, η
ισχύς που ασκείται από μια δύναμη 𝑓 είναι η γνωστή ως 𝑓 𝑇 𝑥̇ . Στον χώρο διαμορφώσεων, η ισχύς δίνεται από
Εικόνα 5.38 Το ρομποτικό σύστημα, το γενικό σύστημα συντεταγμένων και το τοπικό σύστημα συντεταγμένων.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 165
5.4.2 Συναρτήσεις Δυναμικού για Άκαμπτο Αντικείμενο
Όπως έχει αναφερθεί αρκετές φορές σε αυτό το κεφάλαιο, ο στόχος μας στον ορισμό των συναρτήσεων
δυναμικού είναι να κατασκευάσουμε μια συνάρτηση που να απωθεί το ρομπότ από τα εμπόδια, με ένα συνολικό
ελάχιστο που αντιστοιχεί στο 𝓆𝜎𝜏ό𝜒𝜊𝜍 . Στον χώρο των διαμορφώσεων, αυτή η εργασία ήταν σχετικά απλή,
επειδή το ρομπότ αναπαρίσταται από ένα σημείο, το οποίο αντιμετωπίσαμε ως σημειακή μάζα υπό την
επίδραση ενός δυναμικού πεδίου. Στην περίπτωση του χώρου εργασίας, τα πράγματα δεν είναι τόσο απλά· εδώ
το ρομπότ έχει πεπερασμένη περιοχή στο επίπεδο και όγκο στις τρεις διαστάσεις. Η αξιολόγηση της επίδρασης
ενός δυναμικού πεδίου στο ρομπότ θα περιλαμβάνει τον υπολογισμό ενός ολοκληρώματος στην περιοχή/όγκο,
που ορίζεται από το ρομπότ, και αυτό μπορεί να είναι αρκετά περίπλοκο (τόσο μαθηματικά όσο και
υπολογιστικά). Μια εναλλακτική προσέγγιση είναι να επιλέξουμε ένα υποσύνολο σημείων στο ρομπότ, που
ονομάζονται σημεία ελέγχου και να ορίσουμε ένα δυναμικό για καθένα από αυτά τα σημεία. Η αξιολόγηση της
επίδρασης του δυναμικού πεδίου σε ένα μόνο σημείο δεν διαφέρει από τις αξιολογήσεις που απαιτούνται στην
ενότητα 5.1.4. Στη συνέχεια, χρησιμοποιούμε τη σχέση που αναπτύχθηκε στην προηγούμενη υπο-ενότητα, για
να μετατρέψουμε τις μεμονωμένες δυνάμεις του χώρου εργασίας σε δυνάμεις του χώρου διαμορφώσεων.
Ακολούθως, προσθέτουμε τα ευρήματα για να λάβουμε τη συνολική δύναμη για τον χώρο διαμορφώσεων. Το
αποτέλεσμα είναι οι δυνάμεις του χώρου εργασίας στο ρομπότ να μετατρέπονται σε μια γενικευμένη δύναμη
στο χώρο των διαμορφώσεων.
Στην περίπτωση λοιπόν που το ρομπότ αποτελείται από ένα άκαμπτο σώμα, είναι απαραίτητο να
επιλέξουμε ένα σύνολο σημείων 𝑛 από το «σώμα» του, τα οποία ονομάζονται σημεία ελέγχου 𝑟𝑖 , 𝑖 = 1, … , 𝑛. Ο
αριθμός των σημείων 𝑛 είναι ο ελάχιστος αριθμός σημείων ελέγχου που εξαρτάται από τον αριθμό των βαθμών
ελευθερίας του ρομπότ. Με άλλα λόγια, είναι ο αριθμός των σημείων που απαιτούνται για να «ορίσουμε» το
σώμα του ρομπότ. Για παράδειγμα, για ένα ρομπότ με άκαμπτο σώμα στο επίπεδο, μπορούμε να ορίσουμε τη
θέση του ρομπότ χρησιμοποιώντας τη θέση δύο από τα σημεία του. Για κάθε 𝑟𝑗 , το ελκτικό δυναμικό ορίζεται
ως εξής:
𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό,𝑖 (𝓆) (5.45)
1 2 (𝑟 ( ) ∗
𝜁𝑑 𝑖 𝓆 , 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆 ), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍
={ 2 𝑖
∗ 1 ∗ ∗
𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁𝑖 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) − 𝜁𝑖 𝑑𝜎𝜏ό𝜒𝜊𝜍 , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) > 𝑑𝜎𝜏ό𝜒𝜊𝜍
2
όπου 𝜁𝑖 είναι μια σταθερά που καθορίζει την επίδραση του ελκτικού πεδίου στο σημείο 𝑟𝑖 , 𝑖 = 1, … , 𝑛. Η κλίση
του ελκτικού πεδίου είναι
∗
𝜁𝑖 (𝑟𝑖 (𝓆) − 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) , 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) ≤ 𝑑𝜎𝜏ό𝜒𝜊𝜍 (5.46)
∗
∇𝑈𝜀𝜆𝜅𝜏𝜄𝜅ό,𝑖 (𝓆) = 𝑑𝜎𝜏ό𝜒𝜊𝜍 𝜁𝑖 (𝑟𝑖 (𝓆) − 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ))
∗
, 𝛼𝜈 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 )) > 𝑑𝜎𝜏ό𝜒𝜊𝜍
{ 𝑑 (𝑟𝑖 (𝓆), 𝑟𝑖 (𝓆𝜎𝜏ό𝜒𝜊𝜍 ))
όπου 𝑑𝑗 (𝑟𝑖 (𝓆)) είναι η ελάχιστη απόσταση μεταξύ του σημείου 𝑟𝑖 , 𝑖 = 1, … , 𝑛 και του εμποδίου 𝒞𝒪𝑗 και 𝑄𝑗∗
είναι η επίδραση του εμποδίου 𝒞𝒪𝑗 , 𝑗 = 1, … , 𝑚. Η κλίση του απωθητικού πεδίου είναι
Εικόνα 5.39 Τα σημεία ελέγχου 𝑟𝑖 , 𝑖 = 1, … ,4, το βοηθητικό σημείο 𝑟0 και το εμπόδιο 𝒞𝒪.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 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, 𝛼𝜈 𝓆𝑖𝐵 − 𝓆𝑖 > 𝑄𝜊
Πρέπει να σημειωθεί ότι η μέθοδος των τεχνητών δυναμικών πεδίων, ενώ μπορεί να εφαρμοστεί πολύ εύκολα
σε ρομπότ με αρθρωτό σώμα, «υποφέρει» από την παρουσία τοπικών ελάχιστων, τα οποία επηρεάζουν το
τελικό αποτέλεσμα.
[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 εξάπλωση. Αρχικά, να δημιουργηθεί ένα απλό γραμμικό δυναμικό πεδίο
απώθησης από τα εμπόδια του χώρου. Τα χαρακτηριστικά είναι τα εξής:
• Σημεία εκκίνησης: Τα κελιά τα οποία αντιστοιχούν σε εμπόδια.
• Συνθήκη εξάπλωσης: Η εξάπλωση γίνεται σε πλησίον κελί εάν αντιστοιχεί σε ελεύθερο χώρο.
• Συνθήκη τερματισμού: Εάν καμία άλλη εξάπλωση δεν είναι δυνατή (η εξάπλωση έχει γίνει σε
όλο τον ελεύθερο χώρο).
Στη συνέχεια, να δημιουργηθεί ένα απλό δυναμικό πεδίο έλξης προς ένα σημείο του χώρου από τα εμπόδια του
χώρου. Τα χαρακτηριστικά είναι τα εξής:
• Σημείο εκκίνησης: Ένα συγκεκριμένο κελί του ελεύθερου χώρου.
• Συνθήκη εξάπλωσης: Εξάπλωση γίνεται σε πλησίον κελί εάν αντιστοιχεί σε ελεύθερο χώρο.
• Συνθήκη τερματισμού: Ένα συγκεκριμένο κελί του ελεύθερου χώρου.
Τι παρατηρείτε από τα παραπάνω;
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 171
Εικόνα 5.42 Ο χώρος εργασίας στον οποίο καλείται να κινηθεί ο ρομποτικός βραχίονας.
Εικόνα 5.43 Ο χώρος εργασίας στον οποίο καλείται να κινηθεί ο ρομποτικός βραχίονας.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 173
Κεφάλαιο 6ο
Σχεδιασμός Κίνησης για Πολλαπλά Κινούμενα Αντικείμενα
Σύνοψη
Στο βασικό πρόβλημα σχεδιασμού κίνησης θεωρούμε ότι το μόνο αντικείμενο το οποίο κινείται στον χώρο
εργασίας είναι το ρομπότ. Μια σημαντική επέκταση του προβλήματος σχεδιασμού κίνησης είναι όταν ο χώρος
εργασίας περιέχει αντικείμενα, τα οποία έχουν τη δυνατότητα να κινούνται στον χώρο εργασίας. Το πρόβλημα
αυτό είναι γνωστό ως Δυναμικός Σχεδιασμός Κίνησης (Dynamic Motion Planning Problem). Σε αντίθεση με το
βασικό πρόβλημα, το πρόβλημα δυναμικού σχεδιασμού κίνησης δεν μπορεί να επιλυθεί με την κατασκευή μιας
γεωμετρικής διαδρομής. Αντ’ αυτής, ζητείται ο προσδιορισμός μιας συνεχούς συνάρτησης ως προς τον χρόνο, η
οποία έχει τη δυνατότητα να προσδιορίζει τη διαμόρφωση του ρομπότ κάθε χρονική στιγμή. Αρκετές από τις
μεθοδολογίες που έχουν προταθεί για την επίλυση του βασικού προβλήματος μπορούν με τις κατάλληλες
τροποποιήσεις να χρησιμοποιηθούν και σε αυτό το πρόβλημα.
Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.
Εισαγωγή
Σε αυτό το κεφάλαιο θα διερευνήσουμε επεκτάσεις του βασικού προβλήματος σχεδιασμού κίνησης που
περιλαμβάνουν πολλαπλά κινούμενα αντικείμενα. Αρχικά, εξετάζουμε την περίπτωση όπου κάποια από τα
εμπόδια στον χώρο εργασίας κινούνται. Το πρόβλημα που προκύπτει αναφέρεται ως δυναμικός σχεδιασμός
κίνησης. Σε αντίθεση με το (στατικό) βασικό πρόβλημα, δεν μπορεί να λυθεί με την απλή κατασκευή μιας
γεωμετρικής διαδρομής. Αντίθετα, πρέπει να δημιουργηθεί μια συνεχής συνάρτηση ως προς τον χρόνο, που
ορίζει τη διαμόρφωση του ρομπότ σε κάθε στιγμή. Η γενική προσέγγιση που ακολουθείται σε αυτό το κεφάλαιο
είναι να προστεθεί μια διάσταση - ο χρόνος - στον χώρο διαμόρφωσης του ρομπότ. Με αυτόν τον τρόπο, ο
χώρος διαμορφώσεων-χρόνου μετατρέπεται σε σταθερό, οπότε το ρομπότ είναι ένα σημείο που κινείται
ανάμεσα σε σταθερά εμπόδια. Επίσης, πρέπει να σημειωθεί ότι η διάσταση του χρόνου είναι μη αντιστρέψιμη,
όποτε η διαδρομή που θα προκύψει πρέπει να είναι γνησίως αύξουσα ως προς τον χρόνο. Αρκετές μέθοδοι
σχεδιασμού διαδρομής που παρουσιάστηκαν στα προηγούμενα κεφάλαια εξακολουθούν να εφαρμόζονται στο
πρόβλημα του δυναμικού σχεδιασμού κίνησης, αλλά με ορισμένες παραλλαγές και επεκτάσεις, οι οποίες πρέπει
(;;) να λάβουν υπόψη την ιδιαιτερότητα της διάστασης του χρόνου.
Το δυναμικό πρόβλημα σχεδιασμού κίνησης μπορεί να γίνει πιο ρεαλιστικό όταν λαμβάνουμε υπόψη
περιορισμούς στην ταχύτητα και την επιτάχυνση του ρομπότ. Στο παρόν κεφάλαιο θα εξετάσουμε μόνο δύο
περιπτώσεις στις οποίες
• η ταχύτητα του ρομπότ δεν έχει κάποιο άνω όριο και
• η ταχύτητα του ρομπότ έχει άνω όριο (χωρίς άλλο περιορισμό στην ταχύτητα και την επιτάχυνση).
Όπως θα δούμε, από υπολογιστική άποψη, το πρόβλημα με περιορισμό στη ταχύτητα του ρομπότ είναι
ουσιαστικά πιο δύσκολο από το πρόβλημα χωρίς περιορισμό στην ταχύτητά του.
Ακολούθως, εξετάζουμε μία επέκταση στην οποία μία ομάδα ρομπότ καλούνται να κινηθούν ανεξάρτητα
στον ίδιο χώρο εργασίας, μεταξύ σταθερών εμποδίων. Μια απλή προσέγγιση σε αυτό το πρόβλημα είναι να
θεωρήσουμε τα ρομπότ ως μέρη ενός σύνθετου ρομπότ και να σχεδιάσουμε μια ελεύθερη διαδρομή στον χώρο
διαμορφώσεων αυτού του σύνθετου ρομπότ (κεντρικός σχεδιασμός – centralized planning). Μια δυσκολία,
φυσικά, είναι ότι η διάσταση του χώρου διαμορφώσεων που δημιουργείται είναι συνήθως μεγάλη και, όπως
έχουμε αναφέρει, η χρονική πολυπλοκότητα των μεθόδων σχεδιασμού διαδρομής είναι εκθετική ως προς τη
διάσταση. Μια άλλη προσέγγιση συνίσταται στον σχεδιασμό μιας διαδρομής για κάθε ένα από τα ρομπότ που
βρίσκονται στο χώρο και, στη συνέχεια, στην εξέταση των αλληλεπιδράσεων μεταξύ των προτεινόμενων
διαδρομών (αποσυνδεδεμένος σχεδιασμός – decoupled planning). Με αυτόν τον τρόπο, μειώνουμε σημαντικά
το υπολογιστικό κόστος, αλλά χάνουμε ως προς την πληρότητα της προσέγγισης.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 175
Τέλος, εξετάζουμε μια επέκταση στην οποία το ρομπότ είναι αρθρωτό, δηλαδή αποτελείται από πολλά
κινούμενα άκαμπτα αντικείμενα συνδεδεμένα με αρθρώσεις (π.χ. περιστροφικές, πρισματικές) που περιορίζουν
τις σχετικές κινήσεις των συνδέσμων. Πρέπει να σημειωθεί ότι σε αυτό το κεφάλαιο θα διερευνήσουμε το
πρόβλημα σχεδιασμού διαδρομής για ένα αρθρωτό ρομπότ (ρομποτικό βραχίονα), το οποίο δεν είναι κλειστός
βρόγχος.
Εικόνα 6.1 Το ρομπότ 𝒜 κινείται ελεύθερα χωρίς να περιστρέφεται σε έναν χώρο που περιέχει ένα πολυγωνικό εμπόδιο, το
οποίο κινείται χωρίς να περιστρέφεται, κατά το χρονικό διάστημα [𝜏1 , 𝜏2 ].
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 177
Εικόνα 6.2 Ο αντίστοιχος χώρος 𝒞𝒯, καθώς επίσης και το εμπόδιο 𝒞𝒯𝒞𝒪.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 179
Προκειμένου να κατασκευαστεί μια ελεύθερη διαδρομή μεταξύ (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) και (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯), ο
«σχεδιαστής» αναζητά στον συνδετικό γράφο για μια ακολουθία γειτονικών κελιών 𝜅1 , 𝜅2 , … , 𝜅𝑔 , έτσι ώστε
𝜅1 𝜖(𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) και 𝜅𝑔 𝜖(𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯). Από αυτήν την ακολουθία, εάν υπάρχει, δημιουργεί μια διαδρομή στον
χώρο 𝒞𝒯 από (𝓆𝛼𝜌𝜒𝜄𝜅ή , 0) έως (𝓆𝜎𝜏ό𝜒𝜊𝜍 , 𝒯) με τον ίδιο τρόπο όπως και για το στατικό πρόβλημα. Σαφώς, η
κλίση ενός τέτοιου μονοπατιού ως προς τον άξονα του χρόνου δεν οριοθετείται.
Παρόλο που η Ακριβής Αποσύνδεση σε κελιά εφαρμόζεται χωρίς ιδιαίτερες αλλαγές σε ένα περιβάλλον
με κινούμενα εμπόδια, παρουσιάζει μεγάλη υπολογιστική πολυπλοκότητα, ακόμα και όταν η διάσταση του
χώρου 𝒞𝒯 είναι μικρή.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 181
περιέχει ακίνητα εμπόδια και σε ένα πρόβλημα χρονικής ρύθμισης της κίνησης 0. Οι αλγόριθμοι που βασίζονται
σε αυτήν τη μέθοδο δεν είναι πλήρεις, αλλά η ρύθμιση της ταχύτητας είναι μια σημαντική ιδέα που μπορεί να
εφαρμοστεί σχετικά εύκολα. Ας υποθέσουμε ότι στο περιβάλλον του ρομπότ υπάρχουν σταθερά και κινούμενα
εμπόδια. Αρχικά, κατασκευάζεται μια διαδρομή, θεωρώντας μόνο τα σταθερά εμπόδια στον χώρο του ρομπότ.
Ας υποθέσουμε ότι υπάρχει μια διαδρομή 𝜉: [0,1] → 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 , η οποία έχει υπολογιστεί χρησιμοποιώντας
οποιαδήποτε από τις προσεγγίσεις που περιγράφονται στα προηγούμενα κεφάλαια.
Στη συνέχεια ο χρόνος λαμβάνεται υπόψη. Σχεδιάζουμε μία συνάρτηση ως προς τον χρόνο 𝜎: 𝒯 → [0,1]
που υποδεικνύει τη θέση του ρομπότ 𝒜 κάθε χρονική στιγμή τ κατά μήκος της διαδρομής 𝜉. Αυτό
επιτυγχάνεται ορίζοντας τη συνάρτηση 𝜑, η οποία προκύπτει ως σύνδεση των συναρτήσεων 𝜑 = 𝜉 ∘ 𝜎 όπου
𝜑: 𝒯 → 𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 . Η διαμόρφωση του 𝒜 τη χρονική στιγμή τ𝜖𝒯 δίνεται από 𝜑(𝜏) = 𝜉(𝜎(𝜏)).
Ένας διδιάστατος χώρος καταστάσεων μπορεί να οριστεί όπως φαίνεται στην Εικόνα 6.5. Σκοπός είναι
η μετατροπή του 𝜎 (και κατά συνέπεια του 𝜑) σε ένα «απλό» πρόβλημα σχεδιασμού κίνησης. Το ρομπότ πρέπει
να κινείται κατά μήκος της διαδρομής του από 𝜉(0) έως 𝜉 (1), ενώ ένα εμπόδιο 𝒪 (τ) κινείται κατά μήκος της
διαδρομής του στο χρονικό διάστημα 𝒯. Έστω 𝑆 = [0,1] συμβολίζει το πεδίο ορισμού του 𝜉. Στην Εικόνα 6.6
φαίνεται ένας χώρος 𝒞𝒯στον οποίο κάθε σημείο (τ, 𝑠) δείχνει τη θέση 𝑠𝜖[0,1] του ρομπότ τη χρονική στιγμή
τ.
Εικόνα 6.5 Αν το 𝒜 ακολουθήσει τη δοθείσα διαδρομή, τότε μπορεί να συγκρουστεί με το κινούμενο εμπόδιο 𝒪(𝜏).
Η μέθοδος σχεδιασμού ταχύτητας δεν είναι πλήρης. Δοθείσας μιας διαδρομής του 𝒜 που αποφεύγει τις
συγκρούσεις με τα ακίνητα εμπόδια, μπορεί να μην υπάρχει προφίλ ταχύτητας κατά μήκος αυτής της διαδρομής
που να επιτρέπει στο 𝒜 να αποφεύγει τις συγκρούσεις με τα κινούμενα εμπόδια. Αυτό συμβαίνει, για
παράδειγμα, όταν ένα εμπόδιο έρχεται στο ρομπότ στην ίδια περίπου γεωμετρική διαδρομή (για παράδειγμα,
σε έναν στενό διάδρομο). Ίσως μια άλλη διαδρομή θα μπορούσε να καταστήσει δυνατή την αποφυγή
σύγκρουσης, τόσο με τα σταθερά όσο και με τα κινούμενα εμπόδια. Κάθε φορά που η φάση σχεδιασμού της
ταχύτητας αποτυγχάνει, ο «σχεδιαστής» μπορεί να προσπαθήσει να δημιουργήσει μια άλλη διαδρομή μεταξύ
των στατικών εμποδίων. Αλλά η προσέγγιση δεν παρέχει έναν συστηματικό τρόπο επιλογής της άλλης
διαδρομής.
Επιπλέον, η μέθοδος σχεδιασμού ταχύτητας, η οποία ωστόσο μπορεί να λύσει πολλά πρακτικά
προβλήματα, είναι ουσιαστικά πιο αποδοτική χρονικά από τις συστηματικές μεθόδους. Ο υπολογιστικός χρόνος
είναι πολυωνυμικός (και όχι εκθετικός) ως προς τον αριθμό των εμποδίων και τον συνολικό αριθμό των
κορυφών τους. Επίσης, η μέθοδος σχεδιασμού ταχύτητας μπορεί εύκολα να επεκταθεί στην περίπτωση που ο
χρόνος άφιξης 𝒯 δεν είναι καθορισμένος.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 183
• Το εμπόδιο-διαμορφώσεων που ορίζεται από τις συγκρούσεις μεταξύ δύο ρομπότ 𝒜𝑖 και 𝒜𝑗
ορίζεται ως εξής 𝒞𝒪 𝑖𝑗 = {𝒙𝜖𝒞\𝒜𝑖 (𝓆𝑖 ) ∩ 𝒜𝑗 (𝓆 𝑗 ) ≠ ∅} με 𝑖 ≠ 𝑗.
Έχοντας υπόψη τα παραπάνω, μπορούμε να ορίσουμε ένα εμπόδιο διαμορφώσεων 𝒞𝒪 στο χώρο διαμορφώσεων
𝒞 ως εξής:
𝑝
(6.10)
𝒞𝒪 = (⋃ 𝒞𝒪 𝑖 ) ∪ (⋃ 𝒞𝒪 𝑖𝑗 )
𝑖=1 𝑖≠𝑗
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 185
το 𝒜1 με μία πρισματική άρθρωση. Ο χώρος εργασίας είναι 𝒲 = ℝ2 . Σε αυτό το παράδειγμα, το 𝒞 ′ =
(ℝ2 × 𝑆𝑂(2)) × (ℝ2 × 𝑆𝑂(2)) είναι ένας εξαδιάστατος χώρος. Η πρώτη άρθρωση επιβάλλει δύο
περιορισμούς, ότι το σημείο γύρω από το οποίο μπορεί να περιστραφεί το 𝒜1 είναι σταθερό στον χώρο
εργασίας. Ο δεύτερος σύνδεσμος επιβάλλει δύο επιπλέον περιορισμούς στη θέση και τον προσανατολισμό του
𝒜2 σε σχέση με το 𝒜1 . Οι τέσσερις περιορισμοί είναι ανεξάρτητοι και ορίζουν έναν υπόχωρο 𝒞 με διάσταση
2 του 𝒞 ′ .
Ο χώρος διαμορφώσεων 𝒞 ενός αρθρωτού ρομπότ με 𝑝 περιστροφικές και πρισματικές αρθρώσεις και χωρίς
κινητικό βρόχο είναι μια ομαλή πολλαπλότητα 𝑝 διάστασης. Μια διαμόρφωση 𝓆 αναπαρίσταται από μια λίστα
(𝓆1 , … , 𝓆𝑝 ) συντεταγμένων. Καθεμία περιγράφει τη σχετική θέση και τον προσανατολισμό δύο αντικειμένων
του ρομπότ 𝓐. Τα ρομπότ με περιστροφικούς συνδέσμους έχουν έναν πολλαπλά συνδεδεμένο χώρο
διαμόρφωσης και πολλά γραφήματα είναι απαραίτητα για να σχηματιστεί ένας άτλαντας. Ωστόσο, στην πράξη,
είναι συχνά αρκετό να εξετάσουμε ένα ενιαίο διάγραμμα, με κάθε γωνιακή συντεταγμένη να ανήκει στο
διάστημα [0,2𝜋).
Οι έννοιες του εμποδίου-διαμορφώσεων, του ελεύθερου χώρου και της ελεύθερης διαδρομής που
ορίζονται στην υπο-ενότητα 6.1.1 επεκτείνονται σε ένα αρθρωτό ρομπότ χωρίς να είναι απαραίτητη κάποια
τροποποίηση. Επίσης, υπάρχουν δύο είδη εμποδίων-διαμορφώσεων:
• αυτά που οφείλονται στην αλληλεπίδραση ενός αντικειμένου 𝒜𝑖 και ενός εμποδίου 𝒪, και
• εκείνα που οφείλονται στην αλληλεπίδραση μεταξύ δύο αντικειμένων 𝒜𝑖 και 𝒜𝑗 .
Γενικά, η σχετική κίνηση δύο αντικειμένων που συνδέονται με μια άρθρωση περιορίζεται περαιτέρω από ένα
ζεύγος μηχανικών αναστολέων ως προς το εύρος τιμών της αντίστοιχης συντεταγμένης διαμόρφωσης σε ένα
συνδεδεμένο διάστημα. Τα μηχανικά στοπ λειτουργούν έτσι ως «αόρατα εμπόδια». Το σύνολο των
διαμορφώσεων στις οποίες κανένας σύνδεσμος δεν έχει φτάσει σε μηχανική στάση είναι ένα ανοιχτό
υποσύνολο του 𝒞. Το συμπλήρωμα αυτού του υποσυνόλου είναι η «περιοχή» του εμποδίου-διαμορφώσεων,
στην οποία χαρτογραφούνται τα αόρατα εμπόδια, λόγω των μηχανικών στάσεων. Τα μηχανικά στοπ σε κάθε
άρθρωση είναι συνήθως ανεξάρτητα από τη διαμόρφωση του ρομπότ. Τότε το υποσύνολο των διαμορφώσεων
που καθίστανται εφικτές από τις μηχανικές στάσεις είναι απλώς ένα διασταυρούμενο γινόμενο διαστημάτων
στον καρτεσιανό χώρο (διάγραμμα) που αντιπροσωπεύει τον χώρο 𝒞.
Ας υποθέσουμε μια περιστροφική άρθρωση που συνδέει τον σύνδεσμο 𝒜𝑖 με τον 𝒜𝑗 . Εάν οι μηχανικές
στάσεις σε αυτήν την άρθρωση εμποδίζουν τον 𝒜𝑗 να κάνει πλήρη περιστροφή 360° σε σχέση με το 𝒜𝑖 , ο
περιορισμός εξαλείφει την ανάγκη εφαρμογής 360° στην αντίστοιχη συντεταγμένη διαμόρφωσης. Αν, αντ'
αυτού, οι μηχανικές στάσεις επιτρέπουν στον 𝒜𝑖 να εκτελεί 𝑟(𝑟 > 1) πλήρεις περιστροφές, τότε είναι σκόπιμο
να αφήσουμε την αντίστοιχη συντεταγμένη διαμόρφωσης να ποικίλλει σε ένα διάστημα μήκους 𝑟 ∗ 360°, όπου
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 187
περιοχής του εμποδίου-διαμορφώσεων. Με τον ίδιο τρόπο, ενεργούμε και για τα υπόλοιπα αντικείμενα 𝒜𝑖 , 𝑖 =
2, … , 𝑝.
Κάθε κελί χαρακτηρίζεται ως ΚΕΝΟ ή ΠΛΗΡΕΣ. Ένα κελί παίρνει την ετικέτα ΚΕΝΟ, όταν δεν περιέχει
κάποιο εμπόδιο διαμορφώσεων, ενώ παίρνει την ετικέτα ΠΛΗΡΕΣ όταν περιέχει κάποιο εμπόδιο
διαμορφώσεων. Όταν ένα κελί έχει την ετικέτα ΠΛΗΡΕΣ, τότε αυτό υποδιαιρείται σε μικρότερα κελιά, μέχρι
μια προκαθορισμένη ανάλυση. Όταν ολοκληρωθεί η κατασκευή του δέντρου, έχουμε μια κατά προσέγγιση
αναπαράσταση του ελεύθερου χώρου και της περιοχής των εμποδίων-διαμορφώσεων. Συγκεκριμένα, με
δεδομένη (;;;) μια διαμόρφωση (𝓆1 , … , 𝓆𝑝 ), μπορούμε εύκολα να ελέγξουμε αν ανήκει στον κατά προσέγγιση
ελεύθερο χώρο ή όχι.
Πράγματι, η διαμόρφωση καθορίζει μια μοναδική διαδρομή στο δέντρο. Εάν αυτή η διαδρομή τερματίζει
σε ένα ΠΛΗΡΕΣ διάστημα (αυτό μπορεί να συμβεί σε οποιοδήποτε βάθος στο δέντρο), η διαμόρφωση
θεωρείται ότι βρίσκεται στην περιοχή ενός εμποδίου-διαμορφώσεων. Αντίθετα, εάν η διαδρομή τερματίζεται
σε ένα διάστημα ΚΕΝΟ, η διαμόρφωση είναι σε ελεύθερο χώρο.
Ομοίως εργαζόμαστε και στην περίπτωση που ο χώρος εργασίας 𝒲 είναι διδιάστατος, δηλ. 𝒲 = ℝ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.
1. Ας υποθέσουμε ότι έχουμε ένα ρομποτικό σύστημα σχήματος ορθογωνίου, το οποίο κινείται (χωρίς να
περιστρέφεται) σε έναν διδιάστατο χώρο με ταχύτητα |𝑣⃑| ≤ 𝑣𝑚𝑎𝑥 . Το ρομποτικό σύστημα πρέπει να
κινηθεί από ένα αρχικό σημείο Α προς ένα τελικό σημείο Β. Επίσης, υποθέτουμε ότι ο χώρος περιέχει
δύο κινούμενα εμπόδια ίδιου σχήματος (ορθογώνιο σχήμα), τα οποία κινούνται με σταθερές γραμμικές
ταχύτητες |𝑣⃑𝒪 | <≤ 𝑣𝑚𝑎𝑥 και των οποίων μπορούμε να γνωρίζουμε τη θέση οποιαδήποτε χρονική
στιγμή. Τα δύο εμπόδια δεν συγκρούονται μεταξύ τους. Το ζητούμενο είναι να αναπτυχθεί μια
μεθοδολογία που να σχεδιάζει τη διαδρομή του ρομποτικού συστήματος από το Α στο Β αποφεύγοντας
την επαφή με τα εμπόδια (Εικόνα 6.8).
2. Ποιος είναι ο χώρος διαμόρφωσης ενός ρομπότ που αποτελείται από έναν βραχίονα χειριστή έξι
περιστροφικών συνδέσμων τοποθετημένο σε μια πλατφόρμα; (Ο βραχίονας λειτουργεί σε έναν
τριδιάστατο χώρο εργασίας. Η πλατφόρμα μετατοπίζεται και περιστρέφεται ελεύθερα στο επίπεδο).
3. Αναπτύξτε μια μέθοδο για την επίλυση του προβλήματος σχεδιασμού της συντονισμένης κίνησης δύο
ρομποτικών βραχιόνων ρομπότ που φέρουν το ίδιο αντικείμενο (κινηματική δομή κλειστού βρόχου)
ανάμεσα σε εμπόδια.
4. Ας υποθέσουμε ότι έχουμε ένα ρομποτικό βραχίονα, ο οποίος κινείται σε έναν διδιάστατο χώρο που
περιέχει ακίνητα εμπόδια. Ο ρομποτικός βραχίονας, ο οποίος αποτελείται από 4 περιστροφικές
αρθρώσεις (Εικόνα 6.9), καλείται να κινηθεί από ένα αρχικό σημείο Α προς ένα τελικό σημείο Β. Το
ζητούμενο είναι να αναπτυχθεί μια μεθοδολογία που να σχεδιάζει τη διαδρομή που πρέπει να
ακολουθήσει το άκρο εργασίας του ρομποτικού βραχίονα από το Α στο Β, αποφεύγοντας την επαφή
με τα εμπόδια. Σημειώστε ότι οι αρθρώσεις δεν δημιουργούν μηχανικούς περιορισμούς στην κίνηση
του ρομποτικού βραχίονα και 𝜃𝑖 𝜖 [0,2𝜋), 𝑖 = 1, … ,4.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 191
Εικόνα 6.9 Ο ρομποτικός βραχίονας και ο χώρος εργασίας του.
Σύνοψη
Σε αυτό το κεφάλαιο μελετάμε το πρόβλημα σχεδιασμού κίνησης για ένα ρομπότ, λαμβάνοντας υπόψη τους
κινηματικούς περιορισμούς, δηλαδή θεωρώντας ένα αντικείμενο (ή μια συλλογή αντικειμένων) που δεν μπορεί να
μετακινηθεί και να περιστραφεί ελεύθερα στον χώρο εργασίας του. Πράγματι, μέχρι τώρα, εξετάσαμε μόνο την
περίπτωση κατά την οποία το ρομπότ μπορεί να κινείται ελεύθερα, χωρίς κανέναν περιορισμό. Η μόνη εξαίρεση
συνέβη στην τελευταία ενότητα 6.3 του προηγούμενου κεφαλαίου, όταν εξετάσαμε αρθρωτά ρομπότ
κατασκευασμένα από διάφορα αντικείμενα που συνδέονται με αρθρώσεις. Σε αυτήν την περίπτωση, ο περιορισμός
που επιβάλλεται από έναν σύνδεσμο στη σχετική κίνηση των δύο αντικειμένων αποτελεί ένα απλό παράδειγμα
κινηματικού περιορισμού.
Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.
Εισαγωγή
Ο σχεδιασμός και ο έλεγχος κίνησης είναι θεμελιώδη στοιχεία για την επίτευξη της ρομποτικής αυτονομίας 0.
Για παράδειγμα, για να επιτύχει ένα αυτόνομο όχημα έναν στόχο (π.χ. να μετακινηθεί από το σημείο Α στο Β)
πρέπει πρώτα να σχεδιάσει μια τροχιά και να καθορίσει ποιες εισόδους ελέγχου (π.χ. γκάζι και τιμόνι) θα του
επιτρέψουν να ακολουθήσει τη δοσμένη τροχιά. Και τα δύο αυτά στοιχεία απαιτούν κατανόηση της φυσικής
συμπεριφοράς του ρομπότ/αυτόνομου συστήματος, προκειμένου να αναπτυχθούν λογικά/πρακτικά σχέδια
διαδρομών και έλεγχοι κίνησης. Στο πλαίσιο του σχεδιασμού και του ελέγχου κίνησης, η φυσική συμπεριφορά
ενός ρομπότ χαρακτηρίζεται γενικά από τη δυναμική και την κινηματική του.
Ορισμός 7.1: (Δυναμική). Η δυναμική ενός αυτόνομου συστήματος περιγράφει τη σχέση μεταξύ των δυνάμεων
που δρουν στο σύστημα και των αλλαγών στη φυσική κατάσταση του συστήματος.
Με άλλα λόγια, η δυναμική μπορεί να θεωρηθεί ως το αποτέλεσμα του δεύτερου νόμου του
Νεύτωνα (𝐹 = 𝑚 ∗ 𝑎) στο πλαίσιο ενός συγκεκριμένου αυτόνομου συστήματος. Για παράδειγμα, η
δυναμική ενός αυτόνομου οχήματος θα περιέγραφε τη σχέση μεταξύ της επιτάχυνσης και των
δυνάμεων που προκαλούνται από τα ελαστικά, τη βαρύτητα, την αεροδυναμική και ούτω καθεξής.
Ορισμός 7.2: (Κινηματική). Η κινηματική ενός αυτόνομου συστήματος περιγράφει πρόσθετους περιορισμούς
στην κίνηση του συστήματος που δεν προκαλούνται από δυνάμεις.
Το πιο τετριμμένο παράδειγμα είναι το εξής: ο ρυθμός αλλαγής της θέσης του αυτόνομου
συστήματος πρέπει να είναι ίσος με την ταχύτητά του. Γενικότερα, η κινηματική ενός αυτόνομου
συστήματος περιγράφει περιορισμούς στην κίνησή του, που είναι συνάρτηση της φυσικής κατάστασης
ή της γεωμετρίας του συστήματος. Για παράδειγμα, ένας ρομποτικός βραχίονας με πολλαπλούς
συνδέσμους είναι κινηματικά περιορισμένος, καθώς οι άκαμπτες συνδέσεις σε κάθε άρθρωση
επιτρέπουν την περιστροφή γύρω από έναν μόνο άξονα.
Από τις παραπάνω περιγραφές για τη δυναμική και την κινηματική θα πρέπει να σημειωθεί ότι
η δυναμική και η κινηματική ενός αυτόνομου συστήματος περιγράφουν περιορισμούς στην κίνησή
του με διαφορετικούς τρόπους. Όχι μόνο είναι σημαντικό να αναγνωρίσουμε και να περιγράψουμε τη
δυναμική και την κινηματική ενός αυτόνομου συστήματος, αλλά κάποιος θα πρέπει να θέσει τα
ακόλουθα ερωτήματα:
• Πρέπει κάποιος να λάβει όλους τους δυναμικούς/κινητικούς περιορισμούς, για να μπορέσει ένα
αυτόνομο σύστημα να εκτελέσει την εργασία που του έχει ανατεθεί;
• Μπορεί κάποιος από τις δυναμικούς/κινηματικούς περιορισμούς να απλοποιηθεί/προσεγγιστεί,
για να γίνει ευκολότερη η εργασία σχεδιασμού και ελέγχου κίνησης του αυτόνομου συστήματος;
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 193
Ο συνδυασμός δυναμικής και κινηματικής συνθέτει ένα μοντέλο της φυσικής συμπεριφοράς του ρομπότ.
Ανάλογα με την εργασία του ρομπότ, ορισμένα μοντέλα μπορεί να είναι πιο κατάλληλο από άλλα. Ειδικότερα,
η πολυπλοκότητα του μοντέλου πρέπει συχνά να εξισορροπηθεί ως προς την ακρίβεια/σχετικότητά του για την
εκάστοτε εργασία.
Για να το δείξετε αυτό, εξετάστε ξανά το παράδειγμα του αυτόνομου αυτοκινήτου. Το πιο ακριβές
μοντέλο θα αξιοποιούσε τη δυναμική του αυτοκινήτου και θα περιελάμβανε τη δυναμική του κινητήρα, τη
δυναμική της ανάρτησης, τη δυναμική των ελαστικών και ούτω καθεξής. Ειδικότερα, η ενσωμάτωση της
δυναμικής των ελαστικών είναι κρίσιμη για την κατανόηση του φαινομένου της ολίσθησης, το οποίο μπορεί να
είναι σημαντικό για τον σχεδιασμό και τον έλεγχο της κίνησης σε εφαρμογές αγώνων με αυτόνομα οχήματα.
Ωστόσο, σε άλλες εφαρμογές, μπορεί να είναι πιο σκόπιμο να απλοποιηθεί το μοντέλο, αντικαθιστώντας τη
δυναμική του ελαστικού με τον απλό κινηματικό περιορισμό ότι τα ελαστικά δεν μπορούν να κινηθούν
πλευρικά (δηλ. έναν περιορισμό «χωρίς πλευρική ολίσθηση»).
Στην πραγματικότητα, στο πλαίσιο του σχεδιασμού και του ελέγχου κίνησης για τη ρομποτική, τα
μοντέλα που κατασκευάζονται, λαμβάνοντας υπόψη την κινηματική του συστήματος, μπορεί να είναι πολύ
χρήσιμα (και πολύ πιο απλά). Για τον λόγο αυτόν, αυτό το κεφάλαιο εστιάζει ειδικά στην κινηματική των
αυτόνομων συστημάτων/ρομπότ, μελετώντας ειδικότερα:
• Πώς να εκφράσουμε τη διαμόρφωση ενός ρομπότ σε γενικές συντεταγμένες.
• Πώς να εκφράσουμε μαθηματικά τους κινηματικούς περιορισμούς ως προς τις γενικές
συντεταγμένες.
• Πώς να προσδιορίσουμε διαφορετικούς τύπους κινηματικών περιορισμών.
• Παραδείγματα κινηματικών μοντέλων, κυρίως για τροχοφόρα ρομπότ (οχήματα).
Για παράδειγμα, η κίνηση ενός τροχού σε ένα επίπεδο 𝑥𝑦 (Σχήμα 1.1) μπορεί να αναπαρασταθεί με τρεις
παραμέτρους: 𝑥, 𝑦 και 𝜃, όπου (𝑥, 𝑦) υποδεικνύει τη θέση στην οποία ο τροχός αγγίζει το έδαφος και 𝜃 δείχνει
την κατεύθυνση του τροχού στο γενικό πλαίσιο. Αυτό το σύνολο παραμέτρων (𝑥, 𝑦, 𝜃) που καθορίζουν τη
διαμόρφωση του τροχού είναι γενικευμένες συντεταγμένες για αυτό το σύστημα. Πρέπει να σημειωθεί ότι, στην
πράξη, οι επιστήμονες χρησιμοποιούν συχνά τους όρους «διαμόρφωση» και «γενικευμένες συντεταγμένες»
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 195
Υποθέτοντας ότι το σημείο περιστροφής βρίσκεται στην αρχή (0, 0), αυτός ο περιορισμός μπορεί να εκφραστεί
ως εξής,
̃) = 𝑥 2 + 𝑦 2 − 𝐿2 = 0
𝑎1 (𝜸 (7.6)
όπου 𝐿 είναι το μήκος της ράβδου του εκκρεμούς. Πρέπει να σημειωθεί ότι, ενώ η εξίσωση 7.6 δεν φαίνεται
να είναι περιορισμός Pfaffian, μπορεί να εκφραστεί ως τέτοιος. Ειδικότερα, η παράγωγος της έκφρασης σε
σχέση με τον χρόνο, η οποία αποδίδει τον περιορισμό Pfaffian είναι:
𝑑𝑎1 (𝜸
̃) (7.7)
= 2𝑥𝑥̇ + 2𝑦𝑦̇ = 0
𝑑𝜏
Στη συγκεκριμένη περίπτωση θα ήταν απλώς μια πιο φυσική επιλογή συντεταγμένων η 𝜸
̃ = [𝜃], το οποίο
επίσης καθορίζει πλήρως τη διαμόρφωση του συστήματος και εξαλείφει την ανάγκη επιβολής πρόσθετων
κινηματικών περιορισμών. Πράγματι, εφόσον 𝑥 = 𝐿𝜂𝜇𝜃 και 𝑥 = −𝐿𝜎𝜐𝜈𝜃, ο παραπάνω κινηματικός
περιορισμός ικανοποιείται για όλες τις γωνίες 𝜃.
𝑑ℎ𝑖 (𝜸
̃) (7.9)
= 𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = 0, 𝑖 = 1, … , 𝑘 < 𝑛
𝑑𝜏
Ωστόσο, είναι σημαντικό να σημειωθεί ότι δεν είναι όλοι οι περιορισμοί Pfaffian ολονομικοί. Ένας περιορισμός
Pfaffian είναι ολονομικός μόνο εάν μπορεί να αποδοθεί όπως στη μορφή 7.5.
Οι ολονομικοί περιορισμοί είναι μια μοναδική υποκατηγορία κινηματικών περιορισμών που περιορίζουν
τις εφικτές διαμορφώσεις του ρομποτικού συστήματος. Μάλιστα, ο χώρος των εφικτών διαμορφώσεων για ένα
σύστημα με 𝑛 γενικευμένες συντεταγμένες κάτω από 𝑘 ολονομικούς περιορισμούς θα έχει διάσταση 𝑛 − 𝑘.
Για παράδειγμα, ας υποθέσουμε το εκκρεμές της εικόνας 7.2, στο οποίο οι κινηματικοί περιορισμοί που
εκφράζονται στην εξίσωση 7.6 μπορούν να εκφραστούν ως ℎ𝑖 (𝜸 ̃) = 0. Αυτός ο περιορισμός περιορίζει το σώμα
που βρίσκεται στο εκκρεμές να κινείται σε έναν κύκλο ακτίνας 𝐿, ο οποίος είναι ένα μονοδιάστατο υποσύνολο,
διότι 𝑛 − 𝑘 = 2 − 1 = 1.
Στο παράδειγμα του τροχού της εικόνας 7.1 οι περιορισμοί που το διέπουν κατά την κίνησή του δεν
μπορούν να ενσωματωθούν για να δώσουν έναν περιορισμό της μορφής ℎ𝑖 (𝜸 ̃) = 0. Σε αντίθεση με το εκκρεμές,
αυτό το σύστημα δεν έχει περιορισμό, καθώς μπορεί να μετακινηθεί σε οποιοδήποτε σημείο (𝑥, 𝑦) του
επιπέδου.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 197
𝑎𝑖𝑇 (𝜸
̃)𝜸̇ = [𝜂𝜇𝜃 −𝜎𝜐𝜈𝜃 0]𝜸̇ = 0 (7.12)
Όπως και στο μοντέλο του μον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 𝛼
𝜃̇ 𝜌 𝜌
[ −
𝐿 𝐿 ]
Συνολικά, η πολυπλοκότητα αυτού του μοντέλου σε σχέση με το μοντέλο του μονοκυκλίου δεν έχει αυξηθεί.
Ωστόσο, αξιοποιώντας τη γεωμετρία του ρομποτικού συστήματος, οι είσοδοι σε αυτό το μοντέλο μπορεί να
είναι πιο εύχρηστες για εργασίες σχεδιασμού και ελέγχου κίνησης, καθώς ο πραγματικός μηχανισμός ελέγχου
είναι γενικά ένας κινητήρας συνδεδεμένος στους άξονες των τροχών.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 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.
Σύνοψη
Μέχρι τώρα έχει θεωρηθεί ότι το ρομπότ έχει πλήρη εικόνα του χώρου εργασίας και της θέσης του. Τι γίνεται στην
περίπτωση που δεν είναι γνωστά; Σε αυτήν την περίπτωση, οι πληροφορίες σχετικά με τη θέση του ή τη θέση/μορφή
των αντικειμένων λαμβάνονται από αισθητήρες. Το να μην έχει το ρομπότ την πλήρη εικόνα συμβαίνει σε πολλές
εφαρμογές που περιλαμβάνουν αλληλεπίδραση με τον φυσικό κόσμο. Για παράδειγμα, στη ρομποτική είναι σχεδόν
αδύνατο για ένα ρομπότ να γνωρίζει με ακρίβεια την κατάστασή του, εκτός από μερικές περιορισμένες
περιπτώσεις. Τι πρέπει να γίνει εάν υπάρχουν περιορισμένες πληροφορίες σχετικά με την κατάστασή του; Μια
κλασική προσέγγιση είναι να πάρουμε όλες τις διαθέσιμες πληροφορίες και να προσπαθήσουμε να κάνουμε μια
εκτίμηση. Εάν οι εκτιμήσεις είναι αρκετά αξιόπιστες, τότε μπορούμε να προσποιούμαστε με ασφάλεια ότι δεν
υπάρχει αβεβαιότητα στις πληροφορίες της κατάστασης. Αυτό επιτρέπει πολλές από τις μεθόδους σχεδιασμού
κίνησης που έχουν αναφερθεί να εφαρμοστούν, με λίγες ή και με καμία προσαρμογή.
Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.
Εισαγωγή
Στην περίπτωση που δεν είναι γνωστή η τρέχουσα κατάσταση του ρομποτικού συστήματος, οι απαιτούμενες
πληροφορίες λαμβάνονται από αισθητήρες που φέρει το ρομποτικό σύστημα. Το δεδομένο ότι το ρομποτικό
σύστημα έχει αισθητήρες, εμφανίζεται στις περισσότερες εφαρμογές που περιλαμβάνουν αλληλεπίδραση με
τον φυσικό κόσμο. Στη ρομποτική είναι σχεδόν αδύνατο για ένα ρομπότ να γνωρίζει με ακρίβεια την κατάστασή
του, εκτός από ορισμένες περιορισμένες περιπτώσεις, επί παραδείγματι στην περίπτωση ενός ρομποτικού
βραχίονα που «εργάζεται» σε ένα βιομηχανικό περιβάλλον. Όταν υπάρχουν περιορισμένες πληροφορίες, μια
κλασική προσέγγιση είναι η λήψη όλων των διαθέσιμων πληροφοριών και η προσπάθεια εκτίμησης της
κατάστασης.
Η πιο ενδιαφέρουσα περίπτωση εμφανίζεται όταν αποφεύγεται τελείως η εκτίμηση κατάστασης –
διαμόρφωσης του ρομποτικού συστήματος. Μπορεί να προκαλεί έκπληξη, αλλά πολλές σημαντικές εργασίες
μπορούν να οριστούν και να επιλυθούν χωρίς να απαιτείται η «αίσθηση» συγκεκριμένων διαμορφώσεων,
παρόλο που έχει οριστεί ένας χώρος διαμορφώσεων για το πρόβλημα σχεδιασμού κίνησης. Για να επιτευχθεί
αυτό, το πρόβλημα σχεδιασμού κίνησης θα εκφραστεί με όρους ενός χώρου πληροφοριών. Οι χώροι
πληροφοριών εξυπηρετούν τον ίδιο σκοπό την ανίχνευση προβλημάτων, όπως ο χώρος διαμορφώσεων που
παρουσιάστηκε στα προηγούμενα κεφάλαια για προβλήματα που περιλαμβάνουν γεωμετρικούς
μετασχηματισμούς. Κάθε χώρος πληροφοριών αντιπροσωπεύει το μέρος όπου «ζει» φυσικά ένα πρόβλημα, που
περιλαμβάνει την αίσθηση της αβεβαιότητας. Η επιτυχής διατύπωση και επίλυση τέτοιων προβλημάτων
εξαρτάται από την ικανότητά μας να χειριζόμαστε, να απλοποιούμε και να ελέγχουμε τον χώρο των
πληροφοριών. Σε ορισμένες περιπτώσεις, υπάρχουν κομψές λύσεις. Είναι πολλά τα συναρπαστικά προβλήματα
ανοιχτής έρευνας που εστιάζονται στην ανάκτηση πληροφοριών και την αίσθηση της αβεβαιότητας.
Ας θεωρήσουμε την κατάσταση που απεικονίζεται στην Εικόνα 8.1, κατά την οποία υποτίθεται ότι η
διαμόρφωση του χώρου εργασίας δεν είναι γνωστή. Υπάρχουν τρεις γενικές πηγές πληροφοριών σχετικά με τη
διαμόρφωση (τη θέση και τον προσανατολισμό):
• Οι αρχικές συνθήκες μπορούν να παρέχουν ισχυρές πληροφορίες πριν από την εφαρμογή
οποιασδήποτε ενέργειας. Ίσως να δίνεται η αρχική διαμόρφωση. Στο άλλο άκρο, οι αρχικές
συνθήκες μπορεί να μην περιέχουν πληροφορίες.
• Οι παρατηρήσεις του αισθητήρα παρέχουν μετρήσεις που σχετίζονται με την κατάσταση κατά
την εκτέλεση. Αυτές οι μετρήσεις είναι συνήθως ατελείς ή περιλαμβάνουν διαταραχές που
παραμορφώνουν τις τιμές τους.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 203
• Οι ενέργειες που έχουν ήδη εκτελεστεί στο σχέδιο παρέχουν πολύτιμες πληροφορίες σχετικά με
το κράτος. Για παράδειγμα, εάν ένα ρομπότ λάβει εντολή να κινηθεί ανατολικά (χωρίς άλλες
αβεβαιότητες εκτός από μια άγνωστη κατάσταση), τότε αναμένεται ότι η κατάσταση είναι πιο
ανατολικά από ό,τι ήταν προηγουμένως. Έτσι, οι εφαρμοζόμενες ενέργειες παρέχουν σημαντικές
ενδείξεις για την εξαγωγή πιθανών καταστάσεων.
Εικόνα 8.1 H μηχανή M αλληλεπιδρά με το περιβάλλον E μέσω της αίσθησης και της ενεργοποίησης.
Πρέπει να λάβουμε υπόψη ότι υπάρχουν γενικά δύο τρόποι χρήσης του χώρου πληροφοριών:
1. Να λάβουμε υπόψη όλες τις διαθέσιμες πληροφορίες και να προσπαθήσουμε να υπολογίσουμε τη
διαμόρφωση. Αυτή είναι η κλασική προσέγγιση. Πρέπει να προσποιηθούμε ότι δεν υπάρχει πλέον
καμία αβεβαιότητα στη διαμόρφωση, αλλά πρέπει να αποδείξουμε ότι το σχέδιο που προκύπτει
λειτουργεί με ένα εύλογο σφάλμα εκτίμησης.
2. Να λύσουμε το πρόβλημα εξ ολοκλήρου από την άποψη ενός χώρου πληροφοριών. Πολλές εργασίες
μπορούν να επιτευχθούν χωρίς να γνωρίζουμε ποτέ την ακριβή διαμόρφωση. Οι στόχοι και η ανάλυση
διατυπώνονται στον χώρο της πληροφορίας, χωρίς να χρειάζεται να επιτευχθούν ιδιαίτερες
καταστάσεις. Για πολλά προβλήματα αυτό οδηγεί σε δραματικές απλοποιήσεις.
Η πρώτη προσέγγιση μπορεί να θεωρηθεί κλασική. Το μεγαλύτερο μέρος του κεφαλαίου εστιάζει στη δεύτερη
προσέγγιση, η οποία αντιπροσωπεύει έναν ισχυρό τρόπο έκφρασης και επίλυσης προβλημάτων σχεδιασμού.
Για συντομία, η λέξη «πληροφορίες» θα αντικατασταθεί από "ℐ" (Information). Ως εκ τούτου, ο χώρος
πληροφοριών και οι καταστάσεις πληροφοριών γίνονται ℐ-χώρος και ℐ-καταστάσεις, αντίστοιχα, παρόμοια με
τη συντόμευση των χώρων διαμόρφωσης σε χώρους 𝒞.
8.1.1 Αισθητήρες
Οι αισθητήρες έχουν σχεδιαστεί για να αντιλαμβάνονται την κατάσταση και τον χώρο στον οποίο βρίσκεται
ένα ρομποτικό σύστημα. Σε αυτήν την ενότητα θεωρούμε ο χώρος καταστάσεων 𝒳 είναι πεπερασμένος ή
μετρήσιμα άπειρος. Ένας αισθητήρας ορίζεται ως προς δύο στοιχεία:
• τον χώρο παρατήρησης, ο οποίος είναι το σύνολο των πιθανών μετρήσεων για τον αισθητήρα,
και
• την απεικόνιση από τον αισθητήρα, η οποία χαρακτηρίζει τις μετρήσεις που μπορούν να
αναμένονται εάν δοθεί η τρέχουσα κατάσταση ή άλλες πληροφορίες.
Έστω ότι 𝛶 υποδηλώνει έναν χώρο παρατήρησης, που είναι ένα πεπερασμένο ή μετρήσιμα άπειρο σύνολο.
Έστω 𝒽 η απεικόνιση από τον αισθητήρα. Θα εξεταστούν τρία διαφορετικά είδη απεικονίσεων από αισθητήρες,
καθένα από τα οποία είναι πιο περίπλοκο και γενικό από το προηγούμενο:
• Απεικόνιση κατάστασης: Σε αυτήν την περίπτωση, η απεικόνιση 𝒽: 𝒳 → 𝛶 σημαίνει ότι,
δεδομένης της κατάστασης, η παρατήρηση προσδιορίζεται πλήρως.
• Απεικόνιση κατάστασης – φύσης: Σε αυτήν την περίπτωση ορίζεται ένα πεπερασμένο σύνολο
𝛹(𝑥) ενεργειών ανίχνευσης της φύσης για κάθε 𝑥𝜖𝒳. Κάθε δράση ανίχνευσης της φύσης 𝜓𝜖𝛹(𝑥)
παρεμβαίνει στην παρατήρηση του αισθητήρα. Επομένως, η απεικόνιση κατάστασης - φύσης 𝒽
παράγει μια παρατήρηση 𝑦 = 𝒽(𝑥, 𝜓)𝜖𝛹 , για κάθε 𝑥𝜖𝒳 και 𝜓𝜖𝛹(𝑥). Το συγκεκριμένο 𝜓 που
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 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 και
η τρέχουσα παρατήρηση αισθητήρα 𝜓𝑘 .
• Ο χώρος πληροφοριών ιστορίας: Το ιστορικό ℐ −χώρος είναι απλώς το σύνολο όλων των
πιθανών καταστάσεων ℐ της ιστορίας. Αν και η ιστορία που αναφέρεται φαίνεται να είναι αρκετά
περίπλοκη, είναι χρήσιμο να τα θεωρούμε αφηρημένα ως σημεία σε έναν νέο χώρο. Για να
ορίσουμε το σύνολο όλων των πιθανών καταστάσεων ℐ της ιστορίας, τα σύνολα όλων των
αρχικών συνθηκών, ενεργειών και παρατηρήσεων πρέπει να οριστούν με ακρίβεια.
̃𝑘 και προκύπτει από ένα καρτεσιανό γινόμενο
Το σύνολο όλων των ιστοριών παρατήρησης συμβολίζεται ως 𝛹
𝑘 αντιγράφων του χώρου παρατήρησης,
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 207
ποικίλλει κάθε φορά που εκτελείται το σχέδιο. Χρησιμοποιώντας τον ορισμό του ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 , ένα σχέδιο
πληροφοριών-ανατροφοδότησης εκφράζεται ως,
𝜋 = ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 → 𝑈 (8.14)
Είμαστε σχεδόν έτοιμοι να ορίσουμε το πρόβλημα σχεδιασμού. Αυτό θα απαιτήσει την προδιαγραφή ενός
λειτουργικού κόστους. Το 𝜋 εξαρτάται από το ιστορικό των καταστάσεων 𝑥̃ και των ενεργειών 𝑢̃. Η διατύπωση
σχεδιασμού κίνησης περιλαμβάνει τα ακόλουθα στοιχεία:
Σχεδιασμός Χώρου Διακριτών Πληροφοριών:
• Ένας μη κενός χώρος 𝒳 που είναι πεπερασμένος είτε μετρήσιμα άπειρος και ο πεπερασμένος
χώρος δράσης 𝑈. Υποτίθεται ότι το 𝑈 περιέχει μια ειδική ενέργεια τερματισμού.
• Μια συνάρτηση μετάβασης 𝑓, η οποία παράγει μια κατάσταση 𝑓𝜏𝜄𝜍ια κάθε 𝑥𝜖𝒳, 𝑢𝜖U και
𝜃𝜖Θ(𝑥, 𝑢).
• Ένας πεπερασμένος ή μετρήσιμος άπειρος χώρος παρατήρησης 𝑌.
• Ένας πεπερασμένος χώρος δράσης που ανιχνεύει τη φύση 𝛹(𝑥) για κάθε 𝑥𝜖𝒳.
• Ένας αισθητήρας που απεικονίζει το ℎ που παράγει μια παρατήρηση 𝑦 = ℎ(𝑥, 𝜓), για κάθε 𝑥𝜖𝒳
και 𝜓𝜖Ψ(𝑥). Αυτός ο ορισμός προϋποθέτει αντιστοιχίσεις αισθητήρα φύσης κατάστασης,
χαρτογράφηση αισθητήρα κατάστασης ή χαρτογράφηση αισθητήρα βάσει ιστορικού.
• Ένα σύνολο σταδίων, καθένα από τα οποία συμβολίζεται με 𝑘, το οποίο ξεκινά από 𝑘 = 1 και
συνεχίζει απεριόριστα.
• Μια αρχική συνθήκη 𝓃0 , η οποία είναι στοιχείο ενός χώρου αρχικής συνθήκης ℐ0 .
• Ο χώρος ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 είναι η ένωση του ℐ0 και ℐ𝑘 = ℐ0 × 𝑈 ̃𝑘−1 × 𝑌̃𝑘−1 για κάθε 𝑘𝜖ℕ.
• Έστω ότι 𝐿 υποδηλώνει μια συνάρτηση κόστους προσθετικού σταδίου, η οποία μπορεί να
εφαρμοστεί σε οποιοδήποτε ζεύγος (𝑥̃𝐾+1 , 𝑢̃𝐾 ) ιστορικών καταστάσεων και ενεργειών για
απόδοση
𝐾
(8.15)
𝐿(𝑥̃𝐾+1 , 𝑢̃𝐾 ) = ∑ 𝑙 (𝑥̃𝐾+1 , 𝑢̃𝐾 ) + 𝑙𝐹 (𝑥𝐾+1 )
𝑘=1
Εάν η ενέργεια τερματισμού 𝑢 𝑇 εφαρμοστεί σε κάποιο στάδιο 𝑘, τότε για όλα τα 𝑖 ≥ 𝑘, 𝑢𝑖 = 𝑢 𝑇 , 𝑥𝑖 = 𝑥𝑇 και
𝑙 (𝑥𝑖 , 𝑢 𝑇 ) = 0.
Εικόνα 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 (𝒳 (𝓃)) = 𝑎𝑖 , για τη μικρότερη τιμή του 𝑖
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 211
όρους ταχυτήτων. Στο τρέχον πλαίσιο ενδέχεται να υπάρχουν αβεβαιότητες, τόσο στην προβλεψιμότητα, όσο
και στην αίσθηση της τρέχουσας κατάστασης.
Για την περίπτωση διακριτού σταδίου, οι καταστάσεις ℐ της ιστορίας βασίστηκαν σε ακολουθίες δράσης
και παρατήρησης. Για την περίπτωση συνεχούς χρόνου, η ιστορία γίνεται αντίθετα συνάρτηση του χρόνου.
Έστω ότι το 𝛵 υποδηλώνει ένα χρονικό διάστημα, το οποίο μπορεί να είναι περιορισμένο ή απεριόριστο. Έστω
𝑦̃𝑡 : [0, 𝑡] → 𝑌 το ιστορικό παρατήρησης μέχρι τον χρόνο 𝑡𝜖𝑇. Ομοίως, έστω 𝑢̃𝑡 : [0, 𝑡) → 𝑈 και 𝑥̃𝑡 : [0, 𝑡] → 𝒳
ονομάζονται ιστορικό ενεργειών και ιστορικό κατάστασης, αντίστοιχα, μέχρι τη στιγμή 𝑡𝜖𝑇.
Έτσι, τα τρία είδη αντιστοιχίσεων αισθητήρων στην περίπτωση συνεχούς χρόνου είναι τα εξής:
• Μια αντιστοίχιση κατάστασης-αισθητήρα εκφράζεται ως 𝑦(𝑡) = ℎ(𝑥(𝑡)), στην οποία 𝑥(𝑡) και
𝑦(𝑡) είναι η κατάσταση και η παρατήρηση, αντίστοιχα, τη χρονική στιγμή 𝑡𝜖𝑇.
• Μια αντιστοίχιση κατάστασης-φύσης εκφράζεται ως 𝑦(𝑡) = ℎ(𝑥 (𝑡), 𝜓(𝑡)), που σημαίνει ότι η
φύση επιλέγει κάποια 𝜓(𝑡)𝜖𝛹(𝑥 (𝑡)) για κάθε 𝑡𝜖𝑇.
• Μια χαρτογράφηση αισθητήρα με βάση το ιστορικό, η οποία θα μπορούσε να εξαρτάται από όλες
τις καταστάσεις που έχουν ληφθεί μέχρι τώρα. Επομένως, εξαρτάται από ολόκληρη τη συνάρτηση
𝑥̃(𝑡). Αυτό θα μπορούσε να συμβολιστεί ως 𝑦(𝑡) = ℎ(𝑥̃ (𝑡), 𝜓(𝑡)), εάν η φύση μπορεί επίσης να
παρέμβει στην παρατήρηση.
Εάν τα 𝑢̃𝑡 και 𝑦̃𝑡 συνδυάζονται με την αρχική συνθήκη 𝓃0 , η κατάσταση ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 τη στιγμή 𝑡 λαμβάνεται ως
𝓃𝑡 = (𝓃0 , 𝑢̃𝑡 , 𝑦̃𝑡 ) (8.21)
Το ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 τη χρονική στιγμή 𝑡 είναι το σύνολο όλων των πιθανών 𝓃𝑡 και συμβολίζεται ως ℐ𝑡 . Σημειώστε ότι
είναι χώρος συναρτήσεων, γιατί κάθε 𝓃𝑡 𝜖ℐ𝑡 είναι συνάρτηση του χρόνου. Θυμηθείτε ότι στην περίπτωση του
διακριτού σταδίου, κάθε ℐ𝑘 συνδυάστηκε σε έναν ενιαίο χώρο ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 . Το ανάλογο συνεχούς χρόνου
λαμβάνεται ως
ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 = ⋃𝑡𝜖𝑇 ℐ𝑡 ) (8.22)
που είναι μια ακανόνιστη συλλογή συναρτήσεων, επειδή έχουν διαφορετικούς τομείς. Αυτή η παρατυπία
συνέβη επίσης στην περίπτωση του διακριτού σταδίου, στην οποία το ℐ𝜄𝜎𝜏𝜊𝜌𝜄𝛼 αποτελούνταν από ακολουθίες
διαφορετικού μήκους.
Έστω 𝐿 μια συνάρτηση κόστους που μπορεί να εφαρμοστεί σε οποιοδήποτε ιστορικό ενεργειών
κατάστασης (𝑥̃𝑡 , 𝑢̃𝑡 ) για να αποδώσει
𝑡
𝐿(𝑥̃𝑡 , 𝑢̃𝑡 ) = ∫0 𝑙(𝑥 (𝑡 ′ ), 𝑢(𝑡 ′ ))𝑑𝑡 + 𝑙𝐹 (𝑥(𝑡)) ) (8.23)
όπου 𝑙(𝑥 (𝑡 ′ ), 𝑢(𝑡 ′ )) είναι το στιγμιαίο κόστος και 𝑙𝐹 (𝑥(𝑡)) είναι ένα τελικό κόστος.
Εικόνα 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
ονομάζεται συχνά γυροσκόπιο. Αυτά βασίζονται συνήθως στην αρχή της μετάπτωσης, που σημαίνει ότι
περιέχουν έναν περιστρεφόμενο δίσκο που είναι απρόθυμος να αλλάξει τον προσανατολισμό του, λόγω της
γωνιακής ορμής. Για την περίπτωση μιας σύνδεσης σωμάτων που συνδέονται με περιστροφικούς συνδέσμους,
ένα σημείο στον χώρο κατάστασης δίνει τις γωνίες μεταξύ κάθε ζεύγους συνδεδεμένων συνδέσμων. Ένας
κοινός κωδικοποιητής είναι ένας αισθητήρας που δίνει μία από αυτές τις γωνίες.
Η δυναμική των μηχανικών συστημάτων δεν θα ληφθεί υπόψη, όπως έχει ήδη αναφερθεί, ωστόσο αξίζει
να επισημάνουμε αρκετούς αισθητήρες. Σε αυτά τα προβλήματα, ο χώρος κατάστασης θα επεκταθεί, ώστε να
περιλαμβάνει παραμέτρους ταχύτητας και, πιθανώς, ακόμη και παραμέτρους επιτάχυνσης. Σε αυτήν την
περίπτωση, ένα ταχύμετρο μπορεί να ανιχνεύσει ένα διάνυσμα ταχύτητας ή μια βαθμωτή ταχύτητα. Υπάρχουν
Εικόνα 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(α). Για
προβλήματα όπως αυτό, το κράτος αντιπροσωπεύει, τόσο τη θέση του ρομπότ, όσο και τα ίδια τα εμπόδια. Εδώ,
δίνονται ορισμένα μοντέλα αισθητήρων για προβλήματα αυτού του τύπου. Αυτά σχετίζονται με τους
Εικόνα 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]) το ιστορικό δράσης 𝑢̃𝑡 αναφέρεται ως οδομετρία. Αυτή η ερμηνεία
είναι κατάλληλη σε ορισμένες εφαρμογές. Για παράδειγμα, κάθε ενέργεια μπορεί να αντιστοιχεί σε περιστροφή
των πεντάλ κατά μία πλήρη περιστροφή σε ένα ποδήλατο. Ο αριθμός των φορών που έχουν γυρίσει τα πεντάλ
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 219
Βιβλιογραφία/Αναφορές
Σύνοψη
Σε αυτό το κεφάλαιο διερευνούμε το πρόβλημα του σχεδιασμού της κίνησης ενός άκαμπτου αντικειμένου μεταξύ
σταθερών εμποδίων, παρουσία αβεβαιότητας. Ο πρώτος και ο κύριος παράγοντας είναι ότι τα περιβάλλοντα στα
οποία καλούνται να δουλέψουν τα ρομπότ είναι από τη φύση τους απρόβλεπτα. Παρόλο που ο βαθμός
αβεβαιότητας σε καλά δομημένα περιβάλλοντα, όπως οι γραμμές συναρμολόγησης, είναι μικρός, οι
αυτοκινητόδρομοι και τα σπίτια είναι εξαιρετικά δυναμικά και πολύ απρόβλεπτα περιβάλλοντα. Επίσης, η
αβεβαιότητα είναι εξαιρετικά μεγάλη για τα ρομπότ που λειτουργούν κοντά σε ανθρώπους.
Προαπαιτούμενη γνώση
Δεν υπάρχουν προαπαιτούμενα.
Εισαγωγή
Στα προηγούμενα κεφάλαια υποθέσαμε ότι το ρομπότ ήταν σε θέση να ελέγχει τέλεια τις κινήσεις του, δηλαδή
να ακολουθεί ακριβώς τις γεωμετρικές διαδρομές που δημιουργούνται από τον σχεδιαστή. Αυτή η υπόθεση
είναι ρεαλιστική όταν ο χώρος εργασίας είναι σχετικά ακατάστατος και η διαμόρφωση του στόχου δεν
χρειάζεται να επιτευχθεί με μεγάλη ακρίβεια. Σε αυτές τις περιπτώσεις, εάν είναι απαραίτητο, η αβεβαιότητα
στον έλεγχο του ρομπότ μπορεί να ληφθεί υπόψη με ελαφρά «μεγέθυνση» των 𝒞-εμποδίων και σχεδιασμό μιας
ελεύθερης διαδρομής μεταξύ των αναπτυσσόμενων 𝒞-εμποδίων. Οι κινήσεις που μπορούν να
προγραμματιστούν με αυτόν τον τρόπο ονομάζονται συχνά «χονδρικές κινήσεις».
Ωστόσο, όταν ο χώρος εργασίας καταλαμβάνεται πολύ πυκνά από εμπόδια, η ανάπτυξη των εμποδίων C
μπορεί να οδηγήσει σε έναν νέο ελεύθερο χώρο, όπου η αρχική και η διαμόρφωση στόχου δεν συνδέονται πλέον
με μια ελεύθερη διαδρομή. Επιπλέον, ακόμα κι αν εξακολουθούν να συνδέονται με μια διαδρομή, η εκτέλεση
αυτής της διαδρομής μπορεί να μην επιτρέψει στο ρομπότ να επιτύχει τη διαμόρφωση στόχου με την επιθυμητή
ακρίβεια, εάν η τελευταία είναι πολύ στενή. Σε αυτές τις περιπτώσεις, κάποια αίσθηση πρέπει να ενσωματωθεί
ρητά στα σχέδια κίνησης τόσο για να παρακολουθούνται οι επιπτώσεις των κινήσεων του ρομπότ όσο και να
δίνονται οι κατάλληλες διορθωτικές κινήσεις. Στη συνέχεια, ένα σχέδιο κίνησης αποτελείται από έναν
συνδυασμό εντολών κίνησης και ενδείξεων αισθητήρων που αλληλεπιδρούν για να μειώσουν την αβεβαιότητα
και να καθοδηγήσουν το ρομπότ προς τον στόχο. Ένα τέτοιο σχέδιο συνήθως ονομάζεται στρατηγική κίνησης
και οι κινήσεις που παράγει ονομάζονται «λεπτές κινήσεις».
Γενικά, ούτε η αίσθηση είναι τέλεια και δεν παρέχει ακριβή γνώση της τρέχουσας διαμόρφωσης του
ρομπότ κατά την εκτέλεση. Ως εκ τούτου, μια θεμελιώδης δυσκολία είναι ότι υπάρχει αβεβαιότητα, όχι μόνο
κατά τον χρόνο προγραμματισμού, αλλά και κατά τον χρόνο εκτέλεσης. Είναι επομένως απαραίτητο για τον
σχεδιαστή να προβλέψει τη γνώση που θα είναι διαθέσιμη κατά την εκτέλεση, προκειμένου να εγγυηθεί ότι
αυτή η γνώση θα είναι αρκετά ακριβής, ώστε το ρομπότ να φτάσει στην περιοχή-στόχο και να σταματήσει σε
αυτήν την περιοχή αξιόπιστα. Η στρατηγική κίνησης δεν πρέπει να είναι τυχερή για να επιτευχθεί ο στόχος
αναγνωρίσιμα! Αυτό τυπικά απαιτεί από τον σχεδιαστή να παράγει εντολές κίνησης που θα κάνουν ορισμένα
συγκεκριμένα χαρακτηριστικά του χώρου εργασίας («ορόσημα») αξιόπιστα αναγνωρίσιμα και εντοπισμένα
από τους αισθητήρες. Ο σχεδιασμός μιας στρατηγικής κίνησης μπορεί να περιπλέκεται περαιτέρω από το
γεγονός ότι η γεωμετρία τόσο του ρομπότ όσο και του χώρου εργασίας, και επομένως της περιοχής 𝒞-εμποδίου
στον χώρο διαμόρφωσης, είναι επίσης ασαφώς γνωστή (αβεβαιότητα στο μοντέλο).
Σε αυτό το κεφάλαιο διερευνούμε το πρόβλημα του σχεδιασμού της κίνησης ενός άκαμπτου αντικειμένου
μεταξύ σταθερών εμποδίων, παρουσία αβεβαιότητας. Η εισαγωγή της αβεβαιότητας εγείρει νέα
μοντελοποίηση, υπολογιστικά και συνδυαστικά ζητήματα που καθιστούν το πρόβλημα σημαντικά πιο δύσκολο
από αυτά που εξετάστηκαν στα προηγούμενα κεφάλαια. Αυτό μας οδηγεί στην απλοποίηση των περιεχομένων
αυτού του κεφαλαίου, κάνοντας πολλές υποθέσεις που παρουσιάζονται στην Ενότητα 1. Αυτές οι παραδοχές,
ωστόσο, δεν μετουσιώνουν τα θεμελιώδη ζητήματα που διέπουν τον σχεδιασμό της κίνησης, παρουσία
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 221
αβεβαιότητας. Σε διάφορα μέρη, θα συζητήσουμε το αποτέλεσμα της χαλάρωσης ορισμένων από αυτές τις
υποθέσεις.
Εικόνα 9.1 Όταν το κινούμενο αντικείμενο 𝒜 μπορεί να μετατοπιστεί μόνο στο επίπεδο, ο χώρος εργασίας 𝒲, ο χώρος
διαμόρφωσης 𝒞 και όλοι οι εφαπτόμενοι χώροι του 𝒞 είναι αντίγραφα του ℝ2 . Εξοπλίζουμε όλα αυτά τα κενά με την
Ευκλείδεια μετρική και τα αντιπροσωπεύουμε ως ένα ενιαίο αντίγραφο του ℝ2 . Τότε μια δύναμη που επενεργεί στο 𝒜, για
Στην πράξη, οι επαφές δεν είναι χωρίς τριβές. Η παρουσία τριβής αυξάνει το εύρος των δυνάμεων αντίδρασης
που μπορεί να παράγει το εμπόδιο. Αφήστε την επαφή να συμβεί μεταξύ μιας κορυφής του 𝒜 και μιας ακμής
εμποδίου. Ο κλασικός νόμος τριβής του Κουλόμπ αντιπροσωπεύει την τριβή από έναν κώνο, που ονομάζεται
κώνος τριβής, ο οποίος καθορίζει το εύρος των πιθανών δυνάμεων αντίδρασης. Ο άξονας του κώνου τριβής
δείχνει κατά μήκος της εξερχόμενης κανονικής του άκρου του εμποδίου και οι πλευρές του σχηματίζουν γωνία
𝜑 = 𝑡𝑎𝑛−1 𝜇 (0 ≤ 𝜑 ≤ 𝜋⁄2) με αυτόν τον άξονα, όπου 𝜇 (𝜇 ≥ 0) είναι ο συντελεστής τριβής μεταξύ του 𝒜
και του εμποδίου στο σημείο επαφής (βλ. Εικόνα 2.α). Σε όλο το υπόλοιπο κεφάλαιο, υποθέτουμε ότι οι
στατικοί και δυναμικοί συντελεστές τριβής έχουν την ίδια τιμή p. και ότι αυτή η τιμή είναι γνωστή και
παραμένει σταθερή για κάθε πιθανό σημείο επαφής μεταξύ του 𝒜 και των εμποδίων. Το εύρος των πιθανών
δυνάμεων αντίδρασης στο σημείο επαφής αποτελείται από όλα τα διανύσματα δύναμης που εφαρμόζονται στο
σημείο επαφής και δείχνουν προς τον κώνο τριβής. Επομένως, εάν το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας
γραμμής που περιέχεται στον κώνο, το εμπόδιο παράγει μια δύναμη αντίδρασης που ακυρώνει πλήρως την
ασκούμενη δύναμη (βλ. Εικόνα 2.β). Αν, αντί αυτού, το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας γραμμής που
δεν περιέχεται στον κώνο, η δύναμη αντίδρασης ακυρώνει μόνο εν μέρει την ασκούμενη δύναμη και η
προκύπτουσα καθαρή δύναμη εφάπτεται στην άκρη του εμποδίου (βλ. Εικόνα 2.γ). Η επαφή μεταξύ μιας
κορυφής του 𝒜 και μιας ακμής εμποδίου αντιστοιχεί σε μια διαμόρφωση του 𝒜 που βρίσκεται σε μια άκρη
εμποδίου 𝒞. Εφόσον μια δύναμη έχει την ίδια αναπαράσταση στο 𝒲 και 𝒞, η τριβή αντιπροσωπεύεται στην
ακμή του εμποδίου 𝒞 από τον ίδιο κώνο όπως και στην ακμή του εμποδίου. Είναι εύκολο να επεκταθεί αυτό το
αποτέλεσμα σε όλες τις άκρες του 𝒞𝜀𝜋𝛼𝜑ή . Δεδομένου ότι ο συντελεστής τριβής είναι σταθερός στον χώρο
εργασίας, ο κώνος τριβής στον χώρο διαμόρφωσης έχει την ίδια γωνία 2𝜑 σε κάθε άκρο επαφής.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 223
Εικόνα 9.2 (a) Παρουσία τριβής, το εύρος των πιθανών δυνάμεων αντίδρασης στο σημείο επαφής μεταξύ του 𝒜 και ενός
εμποδίου αποτελείται από όλα τα διανύσματα δύναμης που εφαρμόζονται στο σημείο επαφής και δείχνουν προς έναν κώνο,
που ονομάζεται κώνος τριβής. (β) Εάν το 𝒜 σπρώξει το εμπόδιο κατά μήκος μιας γραμμής που περιέχεται στον κώνο, το
εμπόδιο παράγει μια δύναμη αντίδρασης που ακυρώνει εντελώς την ασκούμενη δύναμη. (γ) Εάν το 𝒜 σπρώξει το εμπόδιο
κατά μήκος μιας γραμμής που δεν περιέχεται στον κώνο, η δύναμη αντίδρασης ακυρώνει μόνο εν μέρει την ασκούμενη
δύναμη και η προκύπτουσα καθαρή δύναμη εφάπτεται στην άκρη του εμποδίου.
Για την πληρότητα του μοντέλου, πρέπει να εξετάσουμε την περίπτωση κατά την οποία η διαμόρφωση του 𝒜
είναι σε μια κορυφή επαφής Χ. Αυτή η περίπτωση συμβαίνει όταν είτε μια κορυφή του 𝒜 βρίσκεται σε επαφή
με μια κορυφή εμποδίου, είτε υπάρχουν δύο (ή περισσότερες) αποσυνδεδεμένες ζώνες επαφής μεταξύ του 𝒜
και των εμποδίων, με διαφορετικούς προσανατολισμούς των κώνων τριβής. Στη δεύτερη περίπτωση, η δύναμη
αντίδρασης στο X μπορεί να είναι οποιοσδήποτε μη αρνητικός γραμμικός συνδυασμός των δυνάμεων
αντίδρασης που μπορεί να δημιουργηθεί από τις δύο ακμές 𝒞 -εμποδίου 𝛦1 και 𝛦2 που εφάπτονται στο X. Στην
πρώτη περίπτωση, υποθέτουμε το ίδιο, αν και η δύναμη αντίδρασης μπορεί να μην προσδιορίζεται φυσικά
(λόγω των ελλείψεων της πολυγωνικής αναπαράστασης των αντικειμένων). Ως εκ τούτου, ο κώνος τριβής στο
X είναι ο κώνος του οποίου οι πλευρές είναι αντίστοιχα παράλληλες με τις δύο πιο ακραίες ακτίνες των κώνων
τριβής στο 𝛦1 και στο 𝛦2 (Εικόνα 3).
Το παραπάνω μοντέλο τριβής μπορεί εύκολα να επεκταθεί στον χώρο διαμόρφωσης ενός πολυεδρικού
αντικειμένου που μεταφράζεται ανάμεσα σε πολυεδρικά εμπόδια. Το να επιτρέπεται στο ρομπότ να
περιστρέφεται έχει ως αποτέλεσμα 𝒞 −εμπόδια που οριοθετούνται από καμπύλες όψεις. Η τριβή ποικίλλει με
μη γραμμικό τρόπο σε αυτές τις όψεις, γεγονός που καθιστά την περιγραφή της σημαντικά πιο περίπλοκη [2].
9.1.2 Αίσθηση
Υποθέτουμε ότι το ρομπότ 𝒜 είναι εξοπλισμένο με δύο αισθητήρες, έναν αισθητήρα θέσης και έναν αισθητήρα
δύναμης, τους οποίους μοντελοποιούμε παρακάτω. Άλλοι αισθητήρες θα μπορούσαν να μοντελοποιηθούν με
παρόμοιο τρόπο.
Ο αισθητήρας θέσης μετρά την τρέχουσα διαμόρφωση του 𝒜. Η αισθητή διαμόρφωση συμβολίζεται με
𝓆*, ενώ η τρέχουσα πραγματική διαμόρφωση συμβολίζεται με 𝓆. Η αβεβαιότητα στην ανίχνευση θέσης
μοντελοποιείται ως ανοιχτός δίσκος 𝒰𝓆 (𝓆 ∗) ⊂ ℝ2 σταθερής ακτίνας 𝑝𝓆 με κέντρο στη μετρούμενη
διαμόρφωση 𝓆*. Αυτό σημαίνει ότι εάν ο αισθητήρας θέσης επιστρέψει 𝓆*, η τρέχουσα πραγματική
διαμόρφωση 𝓆 του 𝒜 μπορεί να είναι οπουδήποτε στο 𝒰𝓆 (𝓆 ∗) ∩ 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Παρατηρήστε ότι παρόλο που το
q μπορεί να είναι μόνο σε 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , η αισθητή διαμόρφωση q* μπορεί να είναι σε 𝒞\𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Ωστόσο, σε
αυτήν την περίπτωση πρέπει να έχουμε ότι 𝒰𝓆 (𝓆 ∗) ∩ 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 ≠ ∅, καθώς διαφορετικά η αβεβαιότητα στην
ανίχνευση θέσης θα μοντελοποιούνταν εσφαλμένα. Εφόσον το 𝒰𝓆 είναι ένας δίσκος, αν 𝓆 είναι η πραγματική
διαμόρφωση, τότε η μετρούμενη διαμόρφωση 𝓆* βρίσκεται αναγκαστικά στο 𝒰𝓆 (𝓆).
Σε αυτό το σημείο, το μοντέλο αβεβαιότητάς μας αξίζει μια εξήγηση. Αφήστε το ρομπότ να είναι σε μια
πραγματική διαμόρφωση 𝓆 (την οποία φυσικά δεν γνωρίζουμε) και αφήστε την αισθητή διαμόρφωση να είναι
𝓆 *. Η διαφορά 𝓆 − 𝓆* είναι το σφάλμα αίσθησης, το οποίο ποικίλλει από τη μια μέτρηση στην άλλη. Το
μοντέλο αβεβαιότητας δεσμεύει το μέτρο αυτού του λάθους, δηλ. ‖𝓆 − 𝓆 ∗‖ < 𝑝𝓆 , και δέχεται όλες τις
διαμορφώσεις στο 𝒰𝓆 (𝓆 ∗) ως εξίσου πιθανές. Παρακάτω, μοντελοποιούμε την αβεβαιότητα στην ανίχνευση
δύναμης και στον έλεγχο ρομπότ με παρόμοιο τρόπο. Αυτό το μοντέλο είναι απλό, αλλά δεν είναι δύσκολο να
φανταστεί κανείς πιο περίπλοκα (και ίσως πιο ρεαλιστικά). Ωστόσο, είναι ενδιαφέρον γιατί θα μας επιτρέψει
να ορίσουμε με ακρίβεια στρατηγικές εγγυημένης κίνησης, δηλαδή στρατηγικές που είναι εγγυημένο ότι θα
πετύχουν εφόσον τα σφάλματα στον έλεγχο και την αίσθηση κατά την εκτέλεση παραμένουν εντός των ορίων
που καθορίζονται από τις περιοχές αβεβαιότητας.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 225
Ο αισθητήρας δύναμης μετρά τη δύναμη που ασκείται στο 𝒜. Η έξοδος του αισθητήρα είναι ένα
διάνυσμα που συμβολίζεται με ⃗𝒇*. Ο αισθητήρας χρησιμοποιείται για τη λήψη πληροφοριών σχετικά με το εάν
το 𝒜 αγγίζει εμπόδια ή όχι. Εάν αγγίζει ένα εμπόδιο, λαμβάνει πληροφορίες για τον προσανατολισμό της
εξερχόμενης κανονικής του χώρου επαφής στη διαμόρφωση επαφής. Όταν η αισθητή δύναμη είναι ⃗𝒇*, η
πραγματική δύναμη αντίδρασης που ενεργεί στο 𝒜 είναι μια δύναμη ⃗𝒇*𝜖𝒰𝑓 (𝒇 ⃗ ∗), όπου 𝒰𝑓 είναι η περιοχή
αβεβαιότητας δύναμης, η οποία καθορίζεται ως εξής: η αβεβαιότητα στον συντελεστή αισθητής δύναμης
μοντελοποιείται από το ‖𝒇⃗ ‖𝜖Δ𝑓 (𝒇
⃗ ∗), όπου το Δ𝑓 (𝒇
⃗ ∗) είναι ένα διάστημα που περιλαμβάνει ‖𝒇
⃗ ∗‖. Επιπλέον,
το μέγεθος της γωνίας, αν κανένα από τα δύο δεν είναι μηδέν, είναι μικρότερο από μια σταθερή γωνία 𝜀𝑓 <
𝜋\2. Ως εκ τούτου, ⃗𝒇 βρίσκεται σε ανοιχτό κώνο γωνίας 2𝜀𝑓 του οποίου ο άξονας δείχνει κατά μήκος ⃗𝒇*.
όπου 𝓆∗ (𝑡 ′ ) και ⃗𝒇∗ (𝑡 ′ ) είναι η αισθητή διαμόρφωση και δύναμη τη στιγμή 𝑡 ′ . Το 𝑻𝑪 αξιολογείται συνεχώς
κατά την εκτέλεση της εντολής και το 𝒜 σταματά να κινείται αμέσως, όταν το 𝑻𝑪 γίνει αληθινό. Αυτό
προφανώς προσδιορίζει μια ιδανική συμπεριφορά που δεν μπορεί να επιτευχθεί ακριβώς.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 227
Εικόνα 9.4 Αυτό το σχήμα απεικονίζει την ονομαστική συμπεριφορά του 𝒜 σε ένα άκρο επαφής χωρίς τριβή Ε κάτω από
το γενικευμένο μοντέλο ελέγχου απόσβεσης. Η κίνηση καθορίζεται από την εξίσωση
⃗ (𝑡) = 𝐵(𝒗
𝒇 ⃗ 𝒄𝜽 ). Το ρομπότ ολισθαίνει κατά μήκος της άκρης E με ταχύτητα 𝒗
⃗ 𝒄 (𝑡) − 𝒗 ⃗ 𝒄𝜽𝜠 ίση με την προβολή του 𝒗
⃗ 𝒄𝜽 στο E.
Εικόνα 9.5 (a) Η τριβή στον χώρο επαφής αυξάνει το εύρος των εντολών ταχυτήτων που οδηγούν το ρομπότ να κολλήσει
όταν χτυπήσει ένα 𝒞-εμπόδιο. Εάν η ανεστραμμένη ορισθείσα ταχύτητα δείχνει στον κώνο τριβής, η κίνηση κολλάει στο E,
⃗ 𝒄 (𝑡)‖ = ‖𝒗
(β) διαφορετικά ολισθαίνει κατά μήκος του E με ταχύτητα ‖𝒗 ⃗ 𝒄𝜽 ‖𝜎𝜐𝜈𝛼[1 − 𝜀𝜑𝜑𝜀𝜑𝛼], όπου a < π/ 2 είναι η
𝒄
γωνία μεταξύ 𝒗
⃗ 𝜽 και E.
Όταν η διαμόρφωση του 𝒜 φτάσει σε μια κορυφή επαφής 𝒳, η κίνηση κολλάει στο 𝒳 εάν το −𝒗 ⃗ 𝒄𝜽 βρίσκεται
𝒄
στον κώνο τριβής στο 𝒳. Εάν το −𝒗 ⃗ 𝜽 δεν βρίσκεται στον κώνο τριβής στο 𝒳, το 𝒜 απομακρύνεται σταθερά
από το 𝒳 σαν να είχε μόλις φτάσει στο 𝒳 ολισθαίνοντας κατά μήκος μιας από τις δύο παρακείμενες άκρες.
Πιο τυπικά, έστω το ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) είναι η συνάρτηση που αξιολογεί τη δύναμη αντίδρασης που ασκείται
από τον χώρο επαφής στο 𝒜 στη διαμόρφωση 𝓺, όταν δίδεται εντολή κατά μήκος 𝒗 ⃗ 𝒄𝜽 . Το ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) ορίζεται
ως εξής:
• Αν 𝓺𝜖𝒞𝜀𝜆𝜀ύ𝜃𝜀𝜌𝜊𝜍 , τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗 ⃗ 𝒄𝜽 ) = 0;
• ⃗ 𝒄𝜽 προβάλλεται θετικά στην εξερχόμενη
Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και η 𝒗
κανονική του E, τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) = 0;
• Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και −𝒗 ⃗ 𝒄𝜽 βρίσκεται στον κώνο τριβής στο
⃗ 𝑟𝑒𝑎𝑐 (𝓺, 𝒗
σημείο επαφής, τότε 𝒇 ⃗ 𝒄𝜽 ) = 𝐵𝒗⃗ 𝒄𝜽 .
• Αν 𝓺𝜖𝒞𝜀𝜋𝛼𝜑ή , 𝓺 είναι στο εσωτερικό της ακμής Ε και −𝒗⃗ 𝒄𝜽 προβάλλεται θετικά στην εξερχόμενη
κανονική του E, η οποία βρίσκεται στον κώνο τριβής στο σημείο επαφής, τότε ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝒗
⃗ 𝒄𝜽 ) = ⃗𝒇.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 229
Εικόνα 9.6 Ας υποθέσουμε ότι όλες οι αποτελεσματικές ταχύτητες που βρίσκονται στον κώνο αβεβαιότητας ελέγχου
προβάλλουν θετικά στην εισερχόμενη ακμής επαφής Ε. Τρεις περιπτώσεις είναι πιθανές. (α) Εάν ο ανεστραμμένος κώνος
αβεβαιότητας ελέγχου (εμφανίζεται με γαλάζιο) περιέχεται πλήρως στον κώνο τριβής, (β) η κίνηση είναι εγγυημένη ότι θα
κολλήσει κατά μήκος της ακμής. Εάν οι δύο κώνοι έχουν μηδενική τομή, η κίνηση είναι εγγυημένη ότι θα ολισθαίνει κατά
μήκος της άκρης. Εάν οι δύο κώνοι τέμνονται όπως στο σχήμα γ, η κίνηση μπορεί να γλιστρήσει ή να κολλήσει.
Συμβολίζουμε το σύνολο όλων των πιθανών δυνάμεων αντίδρασης που μπορούν να δημιουργηθούν στη
διαμόρφωση 𝓺 όταν η ορισθείσα ταχύτητα είναι 𝒗⃗ 𝒄𝜽 με 𝒇 ⃗ 𝑟𝑒𝑎𝑐 (𝓺, 𝜃). Έχουμε ότι
𝑭𝑟𝑒𝑎𝑐 (𝓺, 𝜃) =∪𝒗⃗𝜃 𝜖𝒰𝑢 (𝒗⃗𝒄𝜽 ) ⃗𝒇𝑟𝑒𝑎𝑐 (𝓺, 𝜃) (9.8)
Εάν πολλές συνθήκες αξιολογηθούν ως αληθείς, μία από τις αντίστοιχες εντολές (οποιαδήποτε) εκτελείται στη
συνέχεια. Εάν καμία συνθήκη δεν αξιολογηθεί ως αληθής, η εκτέλεση της στρατηγικής τερματίζεται με
αποτυχία. Η εκτέλεση της στρατηγικής τερματίζεται με επιτυχία μετά την εκτέλεση της εντολής κίνησης που
επισημαίνει ένα φύλλο του δέντρου.
Μια στρατηγική κίνησης που περιγράφεται από ένα δέντρο που περιέχει ένα μόνο μονοπάτι ονομάζεται
διαδοχική στρατηγική. Μια στρατηγική κίνησης που περιγράφεται από ένα δέντρο με πολλαπλές διαδρομές
ονομάζεται στρατηγική υπό όρους. Ο αριθμός των βημάτων μιας στρατηγικής είναι ο μέγιστος αριθμός εντολών
κίνησης που μπορεί να χρειαστεί να εκτελέσει η στρατηγική για να μπορέσει να επιστρέψει με επιτυχία.
Υποθέτουμε ότι η γεωμετρία του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , η γωνία τριβής 𝜑 και οι περιοχές αβεβαιότητας 𝒰𝑞 , 𝒰𝑓 και
𝒰𝑣 δίνονται όπως περιγράφεται παραπάνω. Δεδομένων δύο περιοχών ℐ και 𝒢 του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , που ονομάζονται
«αρχική περιοχή» και «περιοχή στόχου», αντίστοιχα, το πρόβλημα σχεδιασμού κίνησης με αβεβαιότητα στον
έλεγχο και την αίσθηση είναι να δημιουργηθεί μια στρατηγική κίνησης Σ της οποίας η εκτέλεση είναι εγγυημένη
ότι θα επιστρέψει στην επιτυχία με τη διαμόρφωση του 𝒜 στην πραγματικότητα στο 𝒢, όποτε η αρχική
διαμόρφωση του 𝒜 είναι στο ℐ και η είσοδος 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 , 𝜑, 𝒰𝑞 , 𝒰𝑓 , και 𝒰𝑣 είναι μια σωστή περιγραφή της
πραγματικότητας. Αυτή η στρατηγική λέγεται ότι είναι απόλυτα εγγυημένη. Ένας πλήρης σχεδιαστής θα πρέπει
να κατασκευάσει μια τέτοια στρατηγική, όποτε υπάρχει, και υποδεικνύει ότι δεν υπάρχει τέτοια στρατηγική
διαφορετικά.
Οι Canny και Reif [6] έδειξαν ότι η τριδιάστατη έκδοση του παραπάνω προβλήματος (𝒞 = ℝ3 ) είναι μη
ντετερμινιστικός εκθετικός χρόνος σκληρός (EXPTIME-hard). Όταν ο αριθμός των εδρών στο 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 δεν
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 231
είναι σταθερός, υποδηλώνει ότι η εύρεση σχεδίων μπορεί να πάρει διπλάσια εκθετικό χρόνο στις «χειρότερες»
περιπτώσεις. Έχουν επίσης δείξει ότι ο αριθμός των βημάτων σε μια στρατηγική μπορεί να αυξηθεί εκθετικά
με την πολυπλοκότητα του 𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 . Προηγουμένως, ο Natarajan [7] είχε δείξει ότι το τριδιάστατο πρόβλημα
είναι επίσης PSPACE-hard.
Εικόνα 9.8 (α)Το πρόβλημα σημείο στην τρύπα συνίσταται στη μετακίνηση της διαμόρφωσης του 𝒜 στην άκρη 𝒯 στο κάτω
μέρος της οπής. (β) Η περιοχή που φαίνεται στο κόκκινο περίγραμμα απεικονίζει μια προεικόνα του 𝒯 για την εντολή
γενικευμένης κίνησης απόσβεσης (𝒗⃗ 𝒄𝜽 , 𝑻𝑪).
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 233
διακλάδωση συμβαίνει όταν μια κίνηση είναι εγγυημένο ότι θα επιτύχει έναν από τους πολλούς
ενδιάμεσους στόχους, χωρίς να γνωρίζουμε ποιον εκ των προτέρων, με τέτοιο τρόπο ώστε κατά
τον προγραμματισμό να είναι δυνατόν να αναγνωριστεί κατά τη στιγμή της εκτέλεσης ποιος
ενδιάμεσος στόχος έχει επιτευχθεί. Για αυτά τα προβλήματα, πρέπει να εξεταστεί ένας άλλος
χώρος αναζήτησης, ο οποίος θα επιτρέπει στον σχεδιαστή να υπολογίζει τις προεικόνες συνόλων
στόχων και όχι μεμονωμένων στόχων. Πώς πρέπει να οριστεί και να αναζητηθεί αυτός ο χώρος;
Σημειώστε ότι η προσέγγιση Preimage Backchaining είναι εφαρμόσιμη ακόμα και όταν δεν υπάρχει
αβεβαιότητα. Ισχύει επίσης για μοντέλα ελέγχου εκτός της γενικευμένης απόσβεσης. Στην πραγματικότητα, το
preimage backchaining βασίζεται σε μια πολύ γενική ιδέα σχεδιασμού. Μια προεικόνα μπορεί να θεωρηθεί ως
προϋπόθεση (ιδανικά, η πιο αδύναμη) της οποίας η ικανοποίηση πριν από την εκτέλεση μιας ενέργειας εγγυάται
ότι κάποια συνθήκη θα ικανοποιηθεί μετά την εκτέλεση της ενέργειας.
αβεβαιότητας στον έλεγχο, οποιαδήποτε εκτέλεση παράγει μια πραγματική τροχιά 𝝉 που είναι ελαφρώς
διαφορετική. Ο σχεδιαστής πρέπει να είναι σίγουρος ότι όλες οι πιθανές πραγματικές τροχιές που συνάδουν
⃗ 𝒄𝜽 όσο και με το 𝒰𝑣 θα φτάσουν στο 𝒯 κάποια στιγμή.
τόσο με το 𝒗
Η δυνατότητα πρόσβασης στον στόχο, ωστόσο, δεν είναι αρκετή, καθώς η συνθήκη τερματισμού θα
μπορούσε απλώς να αφήσει το ρομπότ να διασχίσει τον στόχο χωρίς να τον σταματήσει ή, αντ' αυτού, θα
μπορούσε να σταματήσει την κίνηση πρόωρα πριν επιτευχθεί ο στόχος. Ο σχεδιαστής πρέπει επίσης να είναι
βέβαιος ότι η συνθήκη τερματισμού 𝑻𝑪 θα σταματήσει το 𝒜 στο 𝒯. Αυτό είναι το ζήτημα της αναγνώρισης
του στόχου. Ο 𝑻𝑪 είναι παρατηρητής της πραγματικής τροχιάς 𝝉 που εκτελείται. Δεδομένου ότι η αίσθηση
είναι ατελής, αντιλαμβάνεται την πραγματική τροχιά ως μια παρατηρούμενη τροχιά 𝝉∗ η οποία είναι πολύ
πιθανό να μην είναι ούτε η διατεταγμένη ούτε η πραγματική. Έτσι, το πρόβλημα για τον σχεδιαστή είναι να
είναι σίγουρος ότι, για κάθε πιθανή παρατηρούμενη τροχιά 𝝉∗ , (1) το 𝑻𝑪 γίνεται αληθές σε κάποια στιγμή 𝑡𝑓 ,
και (2) όταν το 𝑻𝑪 γίνει για πρώτη φορά αληθές, όλες οι πραγματικές τροχιές 𝝉 συνεπείς με το 𝝉∗ (δηλαδή οι
τροχιές που μπορεί να παρατηρηθούν ως 𝝉∗ δεδομένης της αβεβαιότητας στην αίσθηση) έχουν φτάσει στον
στόχο, δηλ. 𝜏(𝑡𝑓 )𝜖𝒯.
Αυτή η συζήτηση μας οδηγεί στον ορισμό της έννοιας της διεύθυνσης τροχιών:
Ορισμός 9.1: Ο κατάλογος των πραγματικών τροχιών για μια περιοχή 𝒫 και μια ορισθείσα ταχύτητα 𝒗 ⃗ 𝒄𝜽
𝒄
είναι το σύνολο 𝒟𝜃 (𝒫) όλων των τροχιών που ξεκινούν μέσα στο 𝒫 και συνάδουν με το 𝒗 ⃗ 𝜽 , την αβεβαιότητα
ελέγχου 𝒰𝑐 και την περιοχή 𝒞 −εμποδίου. Πιο τυπικά, το 𝒟𝜃 (𝒫) είναι το σύνολο όλων των τροχιών
𝜏: 𝑡𝜖[0, +∞) → 𝜏(𝑡)𝜖𝒞έ𝛾𝜅𝜐𝜌𝜊𝜍 έγκυρο τμηματικά της κλάσης 𝐶 1 , έτσι ώστε 𝜏(𝑡)𝜖𝒫:
𝑑𝜏(𝑡)⁄ 1 (9.9)
⃗ ⃗ 𝜃 (𝑡 ) ) + 𝒗
⃗ 𝜃 (𝑡 )
𝑑𝑡 = 𝐵 𝒇𝑟𝑒𝑎𝑐 (𝜏(𝑡), 𝒗
με 𝒗 ⃗ 𝒄𝜽 ) ανήκει στην κλάση 𝐶 0 .
⃗ 𝜃 (𝑡)𝜖𝒰𝑢 (𝒗
Έχουμε ότι,
• 𝒟𝜃 (𝒫 ) = ⋃𝓺𝒔 𝝐𝒫 𝒟𝜃 ({𝓺𝒔 })
• 𝒟𝜃 (𝒫1 ∪ 𝒫2 ) = 𝒟𝜃 (𝒫1 ) ∪ 𝒟𝜃 (𝒫2 )
Με κάθε τροχιά 𝜏 στο 𝒟𝜃 (𝒫 ) συνδέουμε δύο συναρτήσεις, 𝒗 ⃗ 𝝉 (𝑡). Αντιστοίχως, αξιολογούν σε κάθε
⃗ 𝝉 (𝑡) και 𝒇
στιγμή 𝑡 την αποτελεσματική ορισθείσα ταχύτητα που παράγει 𝜏 και τη δύναμη αντίδρασης που ασκείται στο
⃗ 𝝉 (𝑡 ) = 𝒇
𝒜. Έχουμε ότι: 𝒇 ⃗ 𝑟𝑒𝑎𝑐 (𝜏(𝑡), 𝒗
⃗ 𝜏 (𝑡)).
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 235
Ο Erdmann [Erdmann, 1984] πρότεινε την προσέγγιση του προβλήματος υπολογισμού της προεικόνας,
περιορίζοντας την ισχύ αναγνώρισης της συνθήκης τερματισμού, έτσι ώστε τα ζητήματα προσβασιμότητας και
αναγνώρισης να μπορούν να αντιμετωπιστούν χωριστά. Η βασική ιδέα είναι να κατασκευαστεί μια συνθήκη
τερματισμού, η οποία αρχικά μπορεί να αξιολογηθεί ως αληθής, μόνο εάν το 𝒜 βρίσκεται στον στόχο 𝒯 και,
δεύτερον, είναι εγγυημένο ότι θα αξιολογηθεί ως αληθές όταν επιτευχθεί ένα ορισμένο υποσύνολο 𝒮 ⊆ 𝒯. Στη
συνέχεια, απομένει να υπολογιστεί μια περιοχή ℒ από όπου το 𝒜 είναι εγγυημένο ότι θα φτάσει στο 𝒮 όταν
δοθεί εντολή κατά μήκος κάποιας δεδομένης ταχύτητας 𝒗 ⃗ 𝒄𝜽 . Το ℒ ονομάζεται οπισθοπροβολή του 𝒮 για 𝒗
⃗ 𝒄𝜽 .
Είναι μια προεικόνα του 𝒯.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 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 με γενικό τρόπο.
Ο αλγόριθμος του 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.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 λειτουργεί καλά. Τα 𝒞 −εμπόδια είναι τέτοια ώστε το 𝒜 μπορεί να
«αναπηδήσει» από τη μια άκρη προσκόλλησης στην άλλη. Αντίθετα, η μέθοδος λειτουργεί άσχημα ή
αποτυγχάνει όταν τα 𝒞 − εμπόδια είναι πολύ μακριά μεταξύ τους και όταν ο στόχος βρίσκεται κυρίως (ή
εντελώς) σε ελεύθερο χώρο.
Μεθοδολογίες Σχεδιασμού Κίνησης με Εφαρμογές σε Ρομποτικά Συστήματα και σε Ευφυή Οχήματα 243
Ένας από τους απώτερους στόχους της Ρομποτικής είναι η δημιουργία ευφυών συστημάτων (ρομπότ). Αυτά τα
συστήματα θα πρέπει να έχουν την ικανότητα να δέχονται περιγραφές υψηλού επιπέδου των εργασιών που
καλούνται να εκτελέσουν και να τις εκτελούν χωρίς περαιτέρω ανθρώπινη παρέμβαση. Οι περιγραφές υψηλού
επιπέδου των εργασιών καθορίζουν το τι θέλει να κάνει ο χρήστης παρά πώς να το κάνει. Η πρόοδος που έχει
σημειωθεί τα τελευταία χρόνια προς τα ευφυή συστήματα έχει ως αποτέλεσμα να χρησιμοποιούνται για την
εκτέλεση διαφόρων εργασιών, όπως είναι η διαχείριση απορριμμάτων, η εξερεύνηση του διαστήματος, η
θαλάσσια/υποθαλάσσια εργασία, τα αυτόνομα οχήματα, οι ιατρικές εφαρμογές κλπ. Η ανάπτυξη των
απαραίτητων τεχνολογιών για τη δημιουργία ευφυών συστημάτων, τα οποία θα μπορούν να συνυπάρχουν με
τον άνθρωπο, να συνεργάζονται με αυτόν αλλά και μεταξύ τους και γενικότερα να μοιράζονται το ίδιο
περιβάλλον, είναι μια προοπτική η οποία για να επιτευχθεί πρέπει να επιλυθούν πολλά σημαντικά προβλήματα.
Ένα από αυτά είναι ο σχεδιασμός κίνησης, ο οποίος είναι και το κεντρικό θέμα αυτού του βιβλίου. Μπορεί να
διατυπωθεί ως εξής: Πώς μπορεί ένα ευφυές σύστημα να αποφασίσει ποιες κινήσεις πρέπει να εκτελέσει
προκειμένου να μετακινηθεί από μια αρχική διαμόρφωση σε μια τελική διαμόρφωση; Αυτή η ικανότητα είναι
εξαιρετικά απαραίτητη, δεδομένου ότι εξ ορισμού ένα ευφυές σύστημα, για να μπορέσει να εκτελέσει τις
εργασίες που του έχουν ανατεθεί, πρέπει να μετακινηθεί στον πραγματικό κόσμο. Το ελάχιστο που θα περίμενε
κανείς από ένα ευφυές σύστημα είναι η ικανότητα να σχεδιάζει τις δικές του κινήσεις. Το παρόν βιβλίο
αποτελείται από 9 κεφάλαια και κάθε κεφάλαιο του βιβλίου περιλαμβάνει λυμένα παραδείγματα, ασκήσεις
προς λύση και ερωτήσεις κατανόησης.
παρόν σύγγραμμα χρηματοδοτήθηκε από το Πρόγραμμα Δημοσίων Επενδύσεων του Υπουργείου Παιδεί
Το παρόν σύγγραμμα χρηματοδοτήθηκε από το Πρόγραμμα Δημοσίων Επενδύσεων του Υπουργείου Παιδείας.