Η παρούσα διπλωματική εργασία ασχολείται με θέματα που αφορούν τα κινητά (mobile) ρομπότ όπως ο εντοπισμός θέσης (localization) του κινούμενου ρομπότ και η πλοήγηση του (navigation) στο χώρο, και ειδικότερα ο σχεδιασμός τροχιάς και ο έλεγχος της κίνησης του ρομπότ. Ειδικότερα μελετώνται τα κινητά ρομπότ που ονομάζονται πανκατευθυντικά (omni-directional). Ακόμη παρουσιάζονται θέματα προγραμματισμού μικρο-ελεγκτών, ασύρματης επικοινωνίας μεταξύ τους, επικοινωνίας με υπολογιστή και ανάπτυξης προγράμματος διεπαφής χρήστη.
Στην αρχή της εργασίας γίνεται μια εισαγωγή στα omni-directional ρομπότ και μια αναφορά στην βιβλιογραφία και στα ήδη υπάρχοντα συστήματα. Αναλύονται οι έννοιες που θα μας απασχολήσουν, τα προβλήματα που προέκυψαν στην διαδικασία και η μεθοδολογία που ακολουθήσαμε. Τα omni-directional ρομπότ είναι συστήματα που έχουν την δυνατότητα να κινούνται προς κάθε κατεύθυνση χωρίς να χρειάζεται να αλλάξουν τον προσανατολισμό τους. Αυτή η δυνατότητα δίνεται στο σύστημα από ειδικού τύπου τροχούς, όπως αναλύεται στην εργασία. Στην παρούσα εργασία επιλέχθηκαν τα omni-directional ρομπότ με caster-type τροχούς. Αυτού του είδους οι τροχοί παρουσιάζουν αρκετά πλεονεκτήματα σε σχέση με τους υπόλοιπους και είναι πολύ πιο εύχρηστοι.
Σκοπός της εργασίας είναι η ανάπτυξη ενός συστήματος ελέγχου omni-directional ρομπότ με διεπαφή χρήστη. Το σύστημα πρέπει να περιλαμβάνει αλγορίθμους εντοπισμού θέσης (localization) και σχεδιασμού τροχιάς (path generator), οδήγηση κινητήρων και επικοινωνία με αισθητήρες. Ακόμη, το σύστημα πρέπει να είναι ευέλικτο ώστε να μπορεί να εφαρμόζεται σε όλων των ειδών τις συνθέσεις omni-directional ρομπότ με caster τροχούς (δύο τροχών, τριών τροχών κτλ) χωρίς ιδιαίτερες αλλαγές στον προγραμματισμό. Ο σχεδιασμός του συστήματος πρέπει να γίνει σε ανεξάρτητες μονάδες οι οποίες θα επικοινωνούν μεταξύ τους. Έτσι, θα μπορούμε να προσθέτουμε μεθόδους localization ή path generator, με συνέπεια ως προς το πρωτόκολλο επικοινωνίας με τα υπόλοιπα κομμάτια του συστήματος, χωρίς να χρειάζεται να αλλάξουμε κάτι άλλο στο σύστημα.
Αρχικά το σύστημα σχεδιάστηκε για ένα omni-directional ρομπότ με τρεις caster τροχούς. Στην εργασία αναπτύσσεται το κινηματικό μοντέλο αυτού του ρομπότ, που όμως μπορεί εύκολα να τροποποιηθεί ώστε να εφαρμοστεί σε άλλου είδους συνθέσεις omni-directional ρομπότ με caster τροχούς. Το κινηματικό μοντέλο θεωρεί ότι κάθε τροχός είναι ανεξάρτητος από τους υπόλοιπους και εκφράζει τις εξισώσεις κίνησης ως προς το κέντρο του ρομπότ. Αυτό δίνει την δυνατότητα να έχουμε όσους τροχούς θέλουμε και σε όποια θέση. Με βάση αυτό το κινηματικό μοντέλο αναπτύσσουμε μεθοδολογίες υπολογισμού οδομετρίας για τον εντοπισμό θέσης (localization) του ρομπότ.
Το σύστημα αποτελείται από διάφορες συνιστώσες. Τα κυριότερα από αυτά είναι το πρόγραμμα των μικροελεγκτών PIC που οδηγούν τους κινητήρες στους τροχούς και το πρόγραμμα διεπαφής χρήστη που εκτελείται σε υπολογιστή με περιβάλλον Windows που βρίσκεται πάνω στο ρομπότ. Ακόμα και τα ίδια τα προγράμματα αποτελούνται από λογισμικές μονάδες, όπως ασύρματη και ενσύρματη επικοινωνία, επικοινωνία με αισθητήρες, υπολογισμός οδομετρίας κ.ά. Αυτός ο διαμερισμός του συστήματος το καθιστά περισσότερο ευέλικτο. Αλλάζοντας μια συνιστώσα και κρατώντας σταθερά τα πρότυπα εισόδου/εξόδου, η αλλαγή είναι απόλυτα διαφανής στο ολικό σύστημα.
Παράλληλα, αναπτύχθηκε μια προσομοίωση του ρομπότ σε περιβάλλον Matlab για την μελέτη διαφόρων αλγορίθμων σχεδιασμού τροχιάς (path generators). Ζητούμενο είναι η επιλογή ενός αλγόριθμου που θα χρησιμοποιηθεί στο σύστημα, ο οποίος θα υπολογίζει το ζητούμενο προφίλ κίνησης (θέσης-ταχύτητας) που θα δίνεται ως είσοδος στο σύστημα. Κριτήρια για την επιλογή του αλγορίθμου είναι η δυνατότητα επιλογής μέγιστης ταχύτητας αλλά και κίνηση στην μεγίστη ταχύτητα για το μεγαλύτερο μέρος της κίνησης. Τέλος, προσομοιώνουμε το ρομπότ και βλέπουμε πώς το κινηματικό μοντέλο συμπεριφέρεται σε κάθε αλγόριθμο.
Το σύστημα εφαρμόζεται τελικώς σε δύο ρομπότ, ένα με τρεις τροχούς και ένα με δύο τροχούς (στην πραγματικότητα είναι με τέσσερις τροχούς, αλλά μόνο οι δύο είναι ενεργοί, οι άλλοι είναι μόνο για θέματα σταθερότητας) ώστε να ελεγχθεί η ευελιξία του. Μελλοντική εργασία αφορά στην πραγματοποίηση πειραμάτων για μέτρηση και επικύρωση της οδομετρίας ή και αναζήτηση καλύτερων μεθόδων εντοπισμού θέσης (localization) και σχεδιασμού τροχιάς (path planning) που μπορούν να εφαρμοστούν στο σύστημα.
This diploma thesis deals with issues that concern mobile robots, such as localization of the mobile robot and its navigation in space, specifically motion planning and control of the robot's movement. Particularly omni-directional mobile robots with caster wheels are studied. Furthermore, issues of micro-controller programming, wireless communication, communication with host computer and development of user interface, are presented.
The purpose of the work is to develop a system for controlling an omni-directional robot. The system must include localization methods and trajectory planning, motor driving and communication with sensors. Furthermore, the system must be flexible so that it can be applied to several kind of configurations of omni-directional robot with caster wheels (two wheels, three wheels, etc.) without major changes in programming. The system design should be modular, with individual components that will communicate internally.
Initially the system was designed for an omni-directional robot with three caster wheels. In this dissertation the kinematic model for this robot is developed, but may easily modified to apply to other configurations of omni-directional robot with caster wheels. Based on this kinematic model we develop methodologies for calculating the odometry for localizing the robot.
The most important components are the micro-controller PIC program to drive the wheel motors and the user interface program running on a computer with Windows environment. Even the programs themselves are composed of software modules, including wireless and wired communication, communication with sensors, odometry calculation etc.
Moreover, a simulation of the robot is developed in MatLAB environment for the study of various motion planning algorithms. Goal is to find the best algorithm to be used in the system, which calculates the desired motion profile (position-velocity) to give as input to the system.
Finally the system is applied on two different omni-directional robots (with different configurations) to test its versatility.