Διπλωματική εργασία. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διπλωματική εργασία. του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜOY ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ Διπλωματική εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Πατέρα Θωμά του Δημητρίου Αριθμός Μητρώου: 6612 Θέμα «ΠΡΟΗΓΜΕΝΟ ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΛΑΠΑΡΟΣΚΟΠΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΕΡΓΑΛΕΙΟΥ» Επιβλέπων Τζες Αντώνιος Καθηγητής Αριθμός Διπλωματικής Εργασίας: Πάτρα, Οκτώβριος 2012

2 2

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «ΠΡΟΗΓΜΕΝΟ ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΛΑΠΑΡΟΣΚΟΠΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΕΡΓΑΛΕΙΟΥ» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Πατέρα Θωμά του Δημητρίου Αριθμός Μητρώου: 6612 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Ο Διευθυντής του Τομέα Τζες Αντώνιος Καθηγητής Κούσουλας Νικόλαος Καθηγητής 3

4 4

5 Αριθμός Διπλωματικής Εργασίας: Θέμα: «ΠΡΟΗΓΜΕΝΟ ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΥ ΛΑΠΑΡΟΣΚΟΠΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΕΡΓΑΛΕΙΟΥ» Φοιτητής Πατέρας Θωμάς Επιβλέπων Τζες Αντώνιος Καθηγητής Περίληψη Η παρούσα διπλωματική εργασία πραγματεύεται την ανάπτυξη ενός αποδοτικού συστήματος ελέγχου που θα επιτυγχάνει τον ακριβή έλεγχο της θέσης ενός λαπαροσκοπικού ρομποτικού εργαλείου που χρησιμοποιεί έξυπνα μορφομνήμονα κράματα ως τένοντες-επενεργητές. Το γεγονός ότι το εργαλείο που χρησιμοποιείται είναι με πλεονάζοντες βαθμούς ελευθερίας, καθιστά ιδιαίτερα δύσκολο πρόβλημα την επίλυση της αντίστροφης κινηματικής. Στόχος της παρούσας εργασίας είναι, μέσω τεχνικών υπολογιστικής όρασης, να επιλυθεί προσεγγιστικά η αντίστροφη κινηματική ανάλυση της θέσης των αρθρώσεων του ρομποτικού εργαλείου. Ο προτεινόμενος νόμος ελέγχου χρησιμοποιεί την αριθμητική επίλυση των γωνιών των αρθρώσεων από την αντίστροφη κινηματική για την επιτυχή παρακολούθηση της επιθυμητής τροχιάς του ρομποτικού εργαλείου. Abstract This thesis deals with the development of a robust control system responsible for the precise position control of an innovative, SMA-based tendon-driven endoscopic robotic surgical tool. Given the hyper-redundant features of this robotic tool, the solution to the inverse kinematics problem is quite complicated. Henceforth, the main objective of this thesis is the numerical solution of the joints' positions using image processing techniques. The proposed control law utilizes this information for trajectory tracking purposes of the tool's end-effector. 5

6 6

7 Ευχαριστίες Με την ευκαιρία συγγραφής της διπλωματικής μου εργασίας θα ήθελα να αποδώσω τις ευχαριστίες μου σε όλους όσους συνέβαλαν με τον έναν ή τον άλλο τρόπο στην διεκπεραίωση της. Αρχικά, θα ήθελα να ευχαριστήσω τον καθηγητή μου και επιβλέποντα της παρούσας εργασίας κ. Τζε Αντώνιο, για την εμπιστοσύνη που μου έδειξε σε όλη τη διάρκεια της συνεργασίας μας. Ήταν αυτός που με ενέπνευσε να ασχοληθώ με το συγκεκριμένο θέμα και χωρίς την βοήθεια και καθοδήγησή του, δεν θα είχε ολοκληρωθεί η διπλωματική μου εργασία. Ακόμη, θα ήθελα να ευχαριστήσω τη μεταπτυχιακή φοιτήτρια Ελένη Κελασίδη που με βοήθησε να αντιμετωπίσω τις πρώτες δυσκολίες που παρουσιάστηκαν, καθώς και τους μεταπτυχιακούς φοιτητές του εργαστηρίου Νίκο Ευαγγελίου, Ράνια Τσιλομήτρου και Γιάννη Αρβανιτάκη που μοιράστηκαν μαζί μου τις γνώσεις και την εμπειρία τους. Βασικά, μεγάλο ευχαριστώ οφείλω σε όλους τους μεταπτυχιακούς φοιτητές του εργαστηρίου, οι οποίοι ανταποκρίθηκαν με προθυμία κάθε φορά που παρουσιαζόταν κάποιο πρόβλημα. Τέλος, οφείλω ένα μεγάλο ευχαριστώ στους γονείς μου, Δημήτρη και Φώφη, και στην αδερφή μου, Λουκρητία, για την αμέριστη συμπαράσταση και κατανόηση που μου έδειξαν καθ όλη τη διάρκεια της ακαδημαϊκής μου πορείας. Πατέρας Θωμάς, Οκτώβριος

8 Εισαγωγή Α Εισαγωγή πό τη στιγμή που η ρομποτική χειρουργική αναγνωρίστηκε ως η πιο υποσχόμενη επιστήμη για την αντιμετώπιση δύσκολων εγχειρήσεων, αυτόματα αυξήθηκαν και οι απαιτήσεις της ιατρικής για τα ρομποτικά εργαλεία. Η κατασκευή ενός εργαλείου για το σκοπό αυτό δεν είναι καθόλου εύκολη υπόθεση. Από την άλλη πλευρά, όσο σημαντικό είναι το κομμάτι της κατασκευής άλλο τόσο σημαντικό είναι και το κομμάτι που αφορά τον έλεγχό της. Μια καλή κατασκευή ρομποτικού εργαλείου δεν θα είναι αποτελεσματική, εάν δεν συνοδεύεται και από έναν αλγόριθμο-λογισμικό, υπεύθυνο για τον έλεγχο της. Εξάλλου, είναι σαφές ότι, κατά τη διάρκεια μιας χειρουργικής επέμβασης, είναι καθοριστικής σημασίας το ρομποτικό σύστημα που χρησιμοποιείται να είναι εύχρηστο και παράλληλα ακριβές. Στόχος της διπλωματικής εργασίας είναι η ανάπτυξη ενός συστήματος ελέγχου που θα επιτυγχάνει τον ακριβή (απόλυτο) έλεγχο της θέσης ενός λαπαροσκοπικού ρομποτικού εργαλείου κατά τη διάρκεια μιας χειρουργικής επέμβασης. Το εργαλείο που χρησιμοποιείται στη παρούσα διπλωματική αποτελείται από οκτώ σειριακούς βαθμούς ελευθερίας, είναι, δηλαδή, αρκετά ευέλικτο και με μεγάλο εύρος κινήσεων, όπως επιτάσσουν οι ανάγκες της σύγχρονης χειρουργικής. Όμως, η κατασκευαστική αυτή ιδιότητα του εργαλείου καθιστά ιδιαίτερα δύσκολη την επίλυση της αντίστροφης κινηματικής του. Συγκεκριμένα, το πρόβλημα επίλυσης της αντίστροφης κινηματικής απαιτεί μια αρκετά σύνθετη ανάλυση μαθηματικής φύσης, που αφορά την επίλυση πολύπλοκων μη-γραμμικών εξισώσεων με σκοπό τον προσδιορισμό των γωνιών περιστροφής των αρθρώσεων του ρομπότ. Συνεπώς, η επίτευξη, αφενός μιας ακριβούς και αφετέρου γρήγορης λύσης του προβλήματος συνεπάγεται καλό έλεγχο του εργαλείου και άρα επιτυχία της χειρουργικής επέμβασης. Σκοπός μας, λοιπόν, είναι η υλοποίηση εκείνου του αλγορίθμου που θα επιλύει με ακρίβεια το πρόβλημα της αντίστροφης κινηματικής με παράλληλη μείωση του υπολογιστικού κόστους. Ο αλγόριθμος που υλοποιήθηκε γι αυτό το σκοπό, χρησιμοποιεί τεχνικές υπολογιστικής όρασης ώστε να εκμεταλλεύεται πληροφορίες από το περιβάλλον του ρομποτικού εργαλείου. Οι πληροφορίες αυτές είναι οι θέσεις των αρθρώσεων κάθε χρονική στιγμή και οι οποίες χρησιμοποιούνται ως ανατροφοδότηση στο βρόχο ελέγχου. Βασική δομή της διπλωματικής εργασίας: ΚΕΦΑΛΑΙΟ 1: Εισαγωγικά στοιχεία για το ρομποτικό εργαλείο Στο πρώτο κεφάλαιο, αρχικά, αναφέρονται κάποιες εισαγωγικές λεπτομέρειες για τα χαρακτηριστικά του ρομποτικού εργαλείου που χρησιμοποιείται στην παρούσα διπλωματική. Στη συνέχεια, παρουσιάζεται η ορθή κινηματική (forward kinematics) του συγκεκριμένου ρομπότ. Στο τέλος του κεφαλαίου δίνονται οι μη γραμμικές εξισώσεις που περιγράφουν την κίνηση των

9 Εισαγωγή αρθρώσεων στο 3D χώρο. Οι εξισώσεις αυτές χρειάζονται στο κεφάλαιο 4 για την επίλυση της αντίστροφης κινηματικής. ΚΕΦΑΛΑΙΟ 2: Υπολογιστική όραση και Ρομποτική Στο κεφάλαιο αυτό παρουσιάζεται αναλυτικά ο τρόπος με τον οποίο είναι δυνατό να αξιοποιηθούν οι τεχνικές υπολογιστικής όρασης στον έλεγχο του ρομποτικού μας συστήματος. Συγκεκριμένα, σε πρώτη φάση αναλύονται οι δύο μέθοδοι επεξεργασίας εικόνας που δοκιμάστηκαν για τον εντοπισμό χαρακτηριστικών σε μια εικόνα και, στη συνέχεια, παρατίθενται και τα αποτελέσματα της εφαρμογής τους κατά την πειραματική διαδικασία. ΚΕΦΑΛΑΙΟ 3: Αξιοποίηση του χώρου εργασίας των αρθρώσεων στη βελτιστοποίηση του νόμου ελέγχου Το τρίτο κεφάλαιο είναι αφιερωμένο εξ ολοκλήρου στη περιγραφή της ιδέας για τον τρόπο βελτιστοποίησης του συστήματος ελέγχου κίνησης του ρομποτικού εργαλείου, μέσω της αξιοποίησης των πληροφοριών που μας δίνει ο χώρος εργασίας της κάθε άρθρωσης. Στο τέλος του κεφαλαίου παρουσιάζεται αναλυτικά ο τελικός αλγόριθμος που χρησιμοποιήθηκε για το σκοπό αυτό. ΚΕΦΑΛΑΙΟ 4: Αντίστροφη κινηματική Σε αυτό το κεφάλαιο, γίνεται περιγραφή του προβλήματος επίλυσης της αντίστροφης κινηματικής του ρομποτικού εργαλείου που χρησιμοποιήθηκε και στη συνέχεια, παρουσιάζεται ο συνολικός αλγόριθμος που δημιουργήθηκε, στα πλαίσια της διπλωματικής αυτής, για την επίλυσή του. ΚΕΦΑΛΑΙΟ 5: Πειραματική διάταξη Στο πέμπτο και προτελευταίο κεφάλαιο, παρουσιάζονται η συνολική πειραματική διάταξη που χρησιμοποιήθηκε στη παρούσα εργασία, καθώς και τα πειραματικά αποτελέσματα που προκύπτουν από την εφαρμογή του ολοκληρωμένου αλγόριθμου που ελέγχει την κίνηση του ρομποτικού εργαλείου. ΚΕΦΑΛΑΙΟ 6: Συμπεράσματα και μελλοντική έρευνα Στο έκτο και τελευταίο κεφάλαιο επισημαίνονται τα συμπεράσματα που προκύπτουν όσον αφορά τον τελικό έλεγχο της θέσης του ρομποτικού εργαλείου που επετεύχθη στην παρούσα διπλωματική. Εξετάζεται κατά πόσο τα συμπεράσματα ανταποκρίνονται στους αρχικά επιδιωκόμενους στόχους, ενώ το κεφάλαιο κλείνει με προτάσεις για μελλοντική εξέλιξη της ήδη διεξαχθείσας έρευνας. ΒΙΒΛΙΟΓΡΑΦΙΑ 9

10 Εισαγωγή ΠΑΡΑΡΤΗΜΑ A: Παρουσιάζονται οι αλγόριθμοι που εκπονήθηκαν στο περιβάλλον Labview στα πλαίσια των αναγκών της συγκεκριμένης διπλωματικής εργασίας. ΠΑΡΑΡΤΗΜΑ B: Παρουσιάζονται οι αλγόριθμοι που εκπονήθηκαν στο περιβάλλον Matlab στα πλαίσια των αναγκών της συγκεκριμένης διπλωματικής εργασίας. 10

11 Περιεχόμενα Περιεχόμενα Περιεχόμενα Κεφάλαιο ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΟ ΡΟΜΠΟΤΙΚΟ ΕΡΓΑΛΕΙΟ Εισαγωγή Σειριακοί Bραχίονες Βραχίονες με πλεονάζοντες βαθμούς ελευθερίας Κινηματική ανάλυση - Ορθή Κινηματική Η Κινηματική στην Ρομποτική Ορισμός της Ορθής Κινηματικής Ορθή Κινηματική του ρομποτικού μας εργαλείου Κατασκευαστικές προδιαγραφές Συμβάσεις σχετικές με την κινηματική ανάλυση Ομογενής μήτρα μετασχηματισμού Σύμβαση Denavit-Hartenberg Εξαγωγή των μητρών για το ρομποτικό μας εργαλείο Επίλογος του κεφαλαίου Κεφάλαιο ΥΠΟΛΟΓΙΣΤΙΚΗ ΟΡΑΣΗ ΚΑΙ ΡΟΜΠΟΤΙΚΗ Visual Servoing Επεξεργασία Εικόνας Ψηφιακή Επεξεργασία Εικόνας Ταύτιση Προτύπων Θεωρία Ανίχνευσης Ακμών και Σημείων Εισαγωγή Αλγόριθμοι Ανίχνευσης Ακμών Αλγόριθμοι Ανίχνευσης Γωνιών Αλγόριθμος Harris για την ανίχνευση γωνιών Εφαρμογή του αλγορίθμου Ηarris στη διπλωματική Συμπεράσματα... 46

12 Περιεχόμενα Χρωματική Ταύτιση Προτύπων Εισαγωγικά στοιχεία Επιλογή του κατάλληλου template image Αλγόριθμος IMAQ Match Color Pattern Αλγόριθμος Αντιστοίχισης Αρθρώσεων (Joint Pairing VI) Υπολογισμός των πραγματικών συντεταγμένων (RWC) Ρύθμιση Καμερών με βάση τον αλγόριθμο CPM Παραδείγματα εφαρμογής του συνολικού αλγορίθμου που αφορά το image processing στο πείραμά μας Επίλογος του κεφαλαίου Κεφάλαιο ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΧΩΡΟΥ ΕΡΓΑΣΙΑΣ ΤΩΝ ΑΡΘΡΩΣΕΩΝ ΣΤΗΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΤΟΥ ΝΟΜΟΥ ΕΛΕΓΧΟΥ Η έννοια του χώρου εργασίας ενός ρομποτικού εργαλείου Περιγραφή του προβλήματος Υπολογισμός του χώρου εργασίας της κάθε άρθρωσης Αξιοποίηση του χώρου εργασίας της κάθε άρθρωσης στο νόμο ελέγχου Μέθοδος βασισμένη στην ευκλείδια απόσταση Μέθοδος βασισμένη στην hausdorff distance Μέθοδος βασισμένη στον υπολογισμό του convex hull της κάθε άρθρωσης H έννοια του Convex Set Ορισμός του Convex Hull Υπολογισμός των Convex Hull των αρθρώσεων Χρησιμοποίηση των υπολογισμένων convex hulls στον τελικό αλγόριθμο Τρόποι για να ελέγξουμε αν ένα σημείο ανήκει σε ένα convex hull σημείων Προσαρμογή της συνάρτηση inhull στο πείραμά μας Επίλογος του κεφαλαίου Κεφάλαιο

13 Περιεχόμενα ΑΝΤΙΣΤΡΟΦΗ ΚΙΝΗΜΑΤΙΚΗ ΤΟΥ ΡΟΜΠΟΤΙΚΟΥ ΕΡΓΑΛΕΙΟΥ Ορισμός του προβλήματος Μέθοδοι επίλυσης του προβλήματος της αντίστροφης κινηματικής για redundant manipulators Μέθοδοι βασισμένες στην Ιακωβιανή μήτρα Αριθμητικές Μέθοδοι Μέθοδοι βασισμένες στα νευρωνικά δίκτυα Αλγόριθμοι βελτιστοποίησης μη-γραμμικών προβλημάτων Εφαρμογή της μεθόδου της αντίστροφης της Ιακωβιανής μήτρας για την επίλυση του προβλήματος της αντίστροφης κινηματικής του ρομποτικού μας εργαλείου Εφαρμογή αλγορίθμου βελτιστοποίησης για την επίλυση του προβλήματος της αντίστροφης κινηματικής του ρομποτικού μας εργαλείου Ο αλγόριθμος που υλοποιήθηκε στην παρούσα διπλωματική εργασία για την επίλυση του προβλήματος της αντίστροφης κινηματικής Περίπτωση που έχουν εντοπιστεί επιτυχώς όλες τις αρθρώσεις Περίπτωση Πρώτη Περίπτωση που έχουν εντοπιστεί δύο αρθρώσεις Περίπτωση Δεύτερη Περίπτωση Τρίτη Περίπτωση Τέταρτη Περίπτωση που έχει εντοπιστεί μία μόνο άρθρωση Περίπτωση Πέμπτη Περίπτωση Έκτη Περίπτωση Έβδομη Περίπτωση που δεν έχει εντοπιστεί καμία άρθρωση Περίπτωση Όγδοη Επίλογος του κεφαλαίου Κεφάλαιο ΠΕΙΡΑΜΑΤΙΚΗ ΔΙΑΤΑΞΗ ΚΑΙ ΠΕΙΡΑΜΑΤΙΚΗ ΔΙΑΔΙΚΑΣΙΑ Γενική περιγραφή του ρομποτικού εργαλείου και της συνολικής πειραματικής διάταξης

14 Περιεχόμενα Σχεδιασμός του εργαλείου Τα ηλεκτρονικά Σύστημα Καμερών Πειραματική Διαδικασία Έλεγχος κλειστού βρόχου Πειραματικά αποτελέσματα Επίλογος του κεφαλαίου Κεφάλαιο ΣΥΜΠΕΡΑΣΜΑΤΑ-ΜΕΛΛΟΝΤΙΚΗ ΕΡΕΥΝΑ Βιβλιογραφία ΠΑΡΑΡΤΗΜΑ Α ΕΙΚΟΝΙΚΑ ΟΡΓΑΝΑ (VIs) ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ LABVIEW ΠΑΡΑΡΤΗΜΑ B ΚΩΔΙΚΑΣ ΜΑΤLAB

15 Κεφάλαιο 1 Κεφάλαιο 1 ΕΙΣΑΓΩΓΙΚΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΟ ΡΟΜΠΟΤΙΚΟ ΕΡΓΑΛΕΙΟ 1.1 Εισαγωγή Η παρούσα διπλωματική εργασία ασχολείται με την αναβάθμιση ενός πολυαρθρωτού ρομποτικού εργαλείου του οποίου η κίνηση βασίζεται σε μορφομνήμονα κράματα μνήμης, γνωστά ως SMA (shape memory alloys) [1]. Το συγκεκριμένο εργαλείο ανήκει στην κατηγορία των λεγόμενων snake robots και δημιουργήθηκε από τους φοιτητές Νίκο Ευαγγελίου και Πέτρο Γιαταγάνα στο πλαίσιο της διπλωματικής τους εργασίας [2]. Στόχος τους ήταν η κατασκευή ενός εργαλείου που θα μπορεί να χρησιμοποιηθεί σε ελάχιστα επεμβατικές χειρουργικές επεμβάσεις [3], όπως είναι, για παράδειγμα, οι γνωστές σε όλους λαπαροσκοπήσεις [4]. Από τη στιγμή που η ρομποτική χειρουργική αναγνωρίστηκε ως η πιο υποσχόμενη επιστήμη για την αντιμετώπιση δύσκολων εγχειρήσεων, αυτόματα αυξήθηκαν και οι απαιτήσεις της ιατρικής για τα ρομποτικά εργαλεία. Για να κριθεί ένα ρομποτικό εργαλείο κατάλληλο για ελάχιστα επεμβατικές επεμβάσεις θα πρέπει να ακολουθεί σε γενικές γραμμές τις ακόλουθες προδιαγραφές: πολύ μικρό βάρος μικρό μέγεθος (για τομές το πολύ 2 εκατοστών) μικρή σκληρότητα της κατασκευής δυνατότητα κίνησης σε μικρό χώρο ευλυγισία στην κίνηση (δηλαδή μεγάλο εύρος κίνησης) αποφυγή, όσο είναι δυνατό, μεταλλικών μερών (είναι ανεπιθύμητα κυρίως λόγω του βάρους τους, ενώ η χρήση τους κρίνεται απαγορευτική κατά τη διάρκεια μιας επέμβασης, εάν, για παράδειγμα, χρειαστεί να γίνει μαγνητική τομογραφία) να είναι εύχρηστο (φιλικός προς τον χρήστη-ιατρό χειρισμός του εργαλείου) σύστημα ελέγχου της κίνησης του εργαλείου ακρίβεια στον προσδιορισμό της θέσης του end-effector που θα πραγματοποιεί την επέμβαση

16 Κεφάλαιο 1 Με γνώμονα τις παραπάνω κατασκευαστικές προδιαγραφές για εργονομικό σχεδιασμό δημιουργήθηκε το ρομποτικό εργαλείο που φαίνεται στην επόμενη εικόνα: Εικόνα 1.1 Η πειραματική διάταξη Το συγκεκριμένο ρομπότ έχει μικρό βάρος (150g) και μέγεθος μέσα στα επιτρεπτά όρια (περίπου 2 εκατοστά διατομή) για να μπορεί να θεωρηθεί η επέμβαση ελάχιστα επεμβατική. Είναι σημαντικό να τονιστεί ότι ως ενεργοποιητές του εργαλείου χρησιμοποιήθηκαν, αντί για κινητήρες, έξυπνα μορφομνήμονα κράματα (SMA). Η χρήση των SMA επέτρεψε να μειωθεί σημαντικά το συνολικό βάρος της κατασκευής και να αποφευχθούν τα μεταλλικά μέρη των κινητήρων. Γενικώς, τα SMA χρησιμοποιούνται όλο και περισσότερο σήμερα στην κατασκευή ρομποτικών εργαλείων λόγω των προσαρμοστικών ικανοτήτων τους. Προσφέρουν μεγάλες κινηματικές δυνατότητες (μεγάλο εύρος κίνησης) και μαζί με το κατάλληλο σύστημα ελέγχου μπορεί να επιτευχθεί μεγάλη ακρίβεια στην κίνηση του εργαλείου. Τα πιο σοβαρά μειονεκτήματά τους είναι τα φαινόμενα υψηλής υστέρησης [5] που παρουσιάζουν και η έκλυση θερμότητας, τα οποία όμως είναι αντιμετωπίσιμα από τους ερευνητές. Για να ικανοποιηθεί η απαίτηση για ευλυγισία στην κίνηση, ήταν φανερή η ανάγκη να χρησιμοποιηθούν πολλοί βαθμοί ελευθερίας. Έτσι, το εργαλείο μας κατασκευάστηκε, ώστε να έχει 8 σειριακούς βαθμούς ελευθερίας. Συγκεκριμένα, αποτελείται από 4 universal συνδέσμους με 2 περιστροφικούς βαθμούς ελευθερίας σε κάθε σύνδεσμο, σύνολο δηλαδή 8 βαθμούς ελευθερίας, κάτι που εντάσσει το ρομποτικό εργαλείο μας στην κατηγορία των serial redundant manipulators. 16

17 Κεφάλαιο Σειριακοί Bραχίονες Στην κατηγορία των Serial manipulators ή αλλιώς σειριακών χειριστών ανήκουν τα πιο κοινά βιομηχανικά ρομπότ. Το κατασκευαστικό χαρακτηριστικό τους είναι ότι αποτελούνται από έναν αριθμό άκαμπτων συνδέσμων (links) που ενώνονται μεταξύ τους με αρθρώσεις. Η κάθε άρθρωση μπορεί να ενεργοποιείται από αντίστοιχο κινητήρα που συνδέεται κατάλληλα μ αυτή. Συχνά οι σειριακοί χειριστές έχουν δομή όμοια με αυτή ενός ανθρωπόμορφου βραχίονα και είναι γνωστοί με τις ονομασίες shoulder, elbow και wrist. Tα Serial ρομπότ έχουν συνήθως έξι αρθρώσεις, επειδή απαιτούνται τουλάχιστον έξι βαθμοί ελευθερίας για να τοποθετηθεί ένα αντικείμενο σε μία αυθαίρετη θέση στο χώρο εργασίας του ρομπότ. Έχει επικρατήσει να χρησιμοποιούνται, για λόγους απλότητας, περιστροφικοί ή πρισματικοί βαθμοί ελευθερίας, των οποίων μάλιστα, οι άξονες περιστροφής ή κίνησης τέμνονται μεταξύ τους. Το κύριο πλεονέκτημα των σειριακών χειριστών είναι ο μεγάλος χώρος εργασίας που καλύπτουν σε σχέση με το μέγεθός τους. Από την άλλη, τα κυριότερα μειονεκτήματα που εμφανίζουν τέτοια ρομπότ είναι: η συσσώρευση σφαλμάτων που συνεχώς αυξάνεται από σύνδεσμο σε σύνδεσμο το γεγονός ότι στο συνολικό βάρος του ρομπότ προστίθεται και αυτό των ενεργοποιητών, κάτι που δυσκολεύει την κίνηση το σχετικά μικρό ωφέλιμο φορτίο που μπορούν να χειριστούν η δυσκολία στην κινηματική τους ανάλυση Στο σημείο αυτό είναι σημαντικό να τονιστεί ότι το κυριότερο πρόβλημα σε ρομπότ με πολλούς βαθμούς ελευθερίας είναι η δυσκολία στην επίλυση της αντίστροφης κινηματικής. Τη λύση την έδωσε το 1968 ο Donald L. Pieper [6], ο οποίος πρώτος διατύπωσε την πρόταση ότι η αντίστροφη κινηματική ενός σειριακού χειριστή με 6 περιστροφικούς βαθμούς ελευθερίας, από τους οποίους υπάρχουν 3 διαδοχικοί που τέμνονται, μπορεί να επιλυθεί σε κλειστή μορφή. Το πόρισμα που εκφράζει η πρόταση αυτή άσκησε, έκτοτε, σημαντική επιρροή στο σχεδιασμό βιομηχανικών ρομπότ. Σήμερα τα περισσότερα βιομηχανικά ρομπότ που κατασκευάζονται έχουν τα χαρακτηριστικά των serial manipulators. Για παράδειγμα αναφέρουμε το SCARA Robot που είναι το πιο δημοφιλές σειριακό ρομπότ που παράγεται σε ευρεία κλίμακα. Το ρομπότ SCARA αποτελείται από 4 βαθμούς ελευθερίας, γεγονός που του επιτρέπει να χρησιμοποιηθεί σε πληθώρα εφαρμογών. Παρόλα αυτά οι 4 βαθμοί ελευθερίας δεν είναι αρκετοί για να πραγματοποιήσει το SCARA μια χειρουργική επέμβαση. Στις περιπτώσεις αυτές, που απαιτείται ευελιξία κινήσεων, τα ρομποτικά εργαλεία πρέπει να είναι πολυαρθρωτά (redundant). Εικόνα 1.2 Το ρομπότ SCARA 17

18 Κεφάλαιο Βραχίονες με πλεονάζοντες βαθμούς ελευθερίας Οι Redundant manipulators ανήκουν στη κατηγορία των Serial manipulators. Ένα ρομπότ ονομάζεται redundant (στα ελληνικά μεταφράζεται ως πλεονάζων) όταν έχει περισσότερους βαθμούς ελευθερίας από ότι χρειάζεται, για να εκτελέσει ένα συγκεκριμένο έργο. Είναι σημαντικό ένα ρομπότ να έχει την ιδιότητα του Redundancy καθώς αυτή μπορεί εύκολα να αξιοποιηθεί για την επίτευξη πιο επιδέξιων κινήσεων. Δεν είναι τυχαίο ότι στην ρομποτική χειρουργική όπου απαιτείται μεγάλη ακρίβεια και ευελιξία κινήσεων, χρησιμοποιούνται τα λεγόμενα snake-like robots [7] τα οποία δεν είναι παρά redundant manipulators (διαθέτουν πάρα πολλούς βαθμούς ελευθερίας ανάλογα με το είδος της επέμβασης). Συνήθως ένα redundant ρομπότ έχει περισσότερους από έξι βαθμούς ελευθερίας, κάτι που σημαίνει ότι έχει πρόσθετες παραμέτρους (αρθρώσεις) που επιτρέπουν στη διαμόρφωση του σώματος του ρομπότ να αλλάξει, ενώ ο endeffector βρίσκεται σε μία σταθερή θέση και προσανατολισμό. Αυτό είναι και το βασικό πλεονέκτημα τέτοιων ρομπότ, αφού επιτρέπουν μια μεγαλύτερη γκάμα κινήσεων απ ότι οι συνηθισμένοι βραχίονες. Αυτό που παρουσιάζει ιδιαίτερο ενδιαφέρον όταν μιλάμε για redundant manipulators είναι το πρόβλημα της αντίστροφης κινηματικής, δεδομένου ότι κατά την ανάλυση μπορεί να προκύπτουν άπειρες λύσεις. Για το σκοπό αυτό έχουν αναπτυχθεί διάφοροι κινηματικοί αλγόριθμοι κατάλληλοι για redundant ρομπότχειριστές, υιοθετώντας την λεγόμενη task space augmentation technique [8]. Κάθε κίνηση του end-effector (αρπάγης) ενός redundant ρομπότ συνοδεύεται παράλληλα και από περιορισμούς, όπως την αποφυγή εμποδίων, το περιορισμένο εύρος κίνησης της κάθε άρθρωσης του ρομπότ, πρόληψη για την αποφυγή των λεγόμενων singularities. Συνεπώς, είναι απαραίτητο κάθε φορά να προσέχουμε να ικανοποιούνται, μαζί με την επιθυμητή θέση του end-effector και οι περιορισμοί που θα κρύβει η αντίστοιχη κίνηση για να επιτευχθεί η επιθυμητή τροχιά. Από τα όσα αναφέρθηκαν παραπάνω για τους redundant manipulators είναι κατανοητό ότι για να καταστεί αποτελεσματικό ένα redundant ρομποτικό χειρουργικό εργαλείο, πρέπει πρώτα να λυθούν τα προβλήματα που αφορούν την αντίστροφη κινηματική ανάλυση και τους σχετικούς με αυτή περιορισμούς. Πριν προχωρήσουμε, όμως, στην ανάλυση του προβλήματος της αντίστροφης κινηματικής και στον τρόπο επίλυσής της, που αποτελεί και το κύριο αντικείμενο της διπλωματικής αυτής, πρέπει πρώτα να γίνει εκτενής ανάλυση της ορθής κινηματικής. Στην επόμενη ενότητα αναλύονται λεπτομερώς όλα τα στοιχεία που αφορούν την ορθή κινηματική του ρομποτικού εργαλείου μας τα οποία θα χρειαστούν σε επόμενα κεφάλαια. 18

19 Κεφάλαιο Κινηματική ανάλυση - Ορθή Κινηματική Η Κινηματική στην Ρομποτική Όταν αναφερόμαστε στο όρο Kinematics στο τομέα της Ρομποτικής εννοούμε την αναλυτική μελέτη της κίνησης ενός οποιοδήποτε μηχανισμού. Το πρόβλημα της κινηματικής είναι καθαρά γεωμετρικό. Η ανάλυσή του βασίζεται πάντα σε ένα συγκεκριμένο σύστημα αναφοράς χωρίς να λαμβάνουμε ποτέ υπόψη μας τις δυνάμεις ή τις ροπές που προκαλούν την κίνηση του μηχανισμού. Η μελέτη της κινηματικής συμπεριφοράς ενός ρομπότ είναι απαραίτητη όταν θέλουμε να το προγραμματίσουμε και να το ελέγξουμε γιατί μας δίνει τις απαραίτητες πληροφορίες για τη χωρική του διάταξη αλλά και την αλληλεπίδραση που μπορεί να έχει με το περιβάλλον. Γενικά, το πρόβλημα της κινηματικής μπορεί να χωριστεί σε 2 υπόπροβλήματα. Το πρόβλημα της ορθής κινηματικής (Forward Kinematics) και το πρόβλημα της αντίστροφης κινηματικής (Inverse Kinematics). Στην ενότητα αυτή θα γίνει αναλυτική παρουσίαση μόνο της ορθής κινηματικής για το ρομποτικό εργαλείο μας. Εκτενής αναφορά στην αντίστροφη κινηματική γίνεται στο κεφάλαιο Ορισμός της Ορθής Κινηματικής Με τον όρο Forward Kinematics εννοούμε τη χρησιμοποίηση των κινηματικών εξισώσεων ενός ρομπότ με σκοπό να υπολογίσουμε τη θέση και τον προσανατολισμό της αρπάγης (end-effector) στο χώρο, για δεδομένες τιμές των γωνιών των αρθρώσεών του. Στη γενική του μορφή ένας ρομποτικός βραχίονας αποτελείται από ένα σύνολο συνδέσμων οι οποίοι συνδέονται μεταξύ τους με αρθρώσεις. Οι αρθρώσεις αυτές μπορεί να είναι απλές (περιστροφικός, πρισματικός DOF) αλλά μπορεί να είναι και πιο σύνθετες (όπως είναι οι λεγόμενες ball and socket αρθρώσεις, σφαιροειδής κ.α.). Εικόνα 1.3 Άρθρωση τύπου ball and socket Η διαφορά μεταξύ των δύο περιπτώσεων είναι ότι, στην πρώτη η άρθρωση έχει μόνο ένα βαθμό ελευθερίας (single DOF), τη γωνία περιστροφής αν έχουμε περιστροφικό βαθμό ή τη γραμμικό εκτόπισμα (displacement) αν έχουμε πρισματικό βαθμό. Αντίθετα, στη δεύτερη περίπτωση μια άρθρωση τύπου ball and socket έχει 2 βαθμούς ελευθερίας. Πρέπει να τονιστεί ότι παρά τη διαφορά αυτή, η ανάλυση της ορθής κινηματικής γίνεται και στις 2 περιπτώσεις με τον ίδιο τρόπο θεωρώντας ότι στην δεύτερη περίπτωση κάθε βαθμός ελευθερίας μπορεί να μελετηθεί ξεχωριστά, γιατί το τμήμα που συνδέει τις δύο αρθρώσεις μεταξύ τους έχει μηδενικό μήκος. Παρόμοια θεώρηση με αυτήν χρησιμοποιήθηκε και στην παρούσα εργασία για την μελέτη της ορθής κινηματικής του εργαλείου μας. 19

20 Κεφάλαιο Ορθή Κινηματική του ρομποτικού μας εργαλείου Κατασκευαστικές προδιαγραφές Το ρομπότ που χρησιμοποιείται στη διπλωματική αποτελείται από 4 ελεύθερες αρθρώσεις σε σειρά. Οι σύνδεσμοι είναι τύπου σταυρός (universal joints) και η κάθε άρθρωση αποτελείται από 2 περιστροφικούς βαθμούς ελευθερίας. Συνεπώς το ρομπότ μας έχει συνολικά 8 περιστροφικούς βαθμούς ελευθερίας (Degrees Of Freedom). Οι γωνίες περιστροφής για όλους τους βαθμούς ελευθερίας είναι ίδιες και ίσες με από την μέση θέση. Επομένως η ολική δυνατότητα περιστροφής του κάθε DOF φτάνει συνολικά τις. Η επιλογή των συγκεκριμένων αρθρώσεων δεν έγινε τυχαία. Είναι σημαντικό ότι οι 2 άξονες της κίνησης του συνδέσμου είναι νοητικά, τοποθετημένοι κάθετα μεταξύ τους στη μέση, χωρίς ωστόσο στην πραγματικότητα να επηρεάζουν ο ένας τον άλλο σχετικά με την περιστροφή τους. Αυτό σημαίνει ότι ο κάθε βαθμός ελευθερίας της κατασκευής μπορεί Εικόνα 1.4 Σύνδεσμος τύπου σταυρός να θεωρηθεί ως ανεξάρτητο τμήμα της κίνησης και επομένως ως διαδοχή συνδέσμων με μόνο ένα βαθμό ελευθερίας και απόσταση μεταξύ τους μηδέν. Επίσης πρέπει να παρατηρήσουμε και το εξής: Όταν έχουμε ταυτόχρονη περιστροφή και των 2 βαθμών ελευθερίας σε ακραίες γωνίες, υπάρχει μια μεταξύ τους επαφή, με αποτέλεσμα να διακόπτεται η περιστροφή στις. Το γεγονός αυτό δημιουργεί μια εξάρτηση των 2 συνεχόμενων πεπλεγμένων βαθμών ελευθερίας η οποία μπορεί να θεωρηθεί αμελητέα καθώς αφορά μόλις το 5% της ολικής περιστροφής (αφορά την κίνηση στις ακραίες θέσεις). Γι αυτό δόθηκε ιδιαίτερη προσοχή κατά τη διάρκεια των πειραμάτων να αποφευχθεί οποιαδήποτε κίνηση του βραχίονα σε ακραίες θέσεις του χώρου εργασίας του. 20

21 Κεφάλαιο Συμβάσεις σχετικές με την κινηματική ανάλυση Στο ακόλουθο σχήμα φαίνεται η αρίθμηση που έγινε για να ξεχωρίζουμε τις αρθρώσεις μεταξύ τους. Από εδώ και πέρα αυτή την αρίθμηση θα ακολουθούμε στην εξήγηση των μετέπειτα αποτελεσμάτων που θα παρουσιάσουμε. Εικόνα 1.5 Αρίθμηση Αρθρώσεων Πρώτη άρθρωση θεωρούμε αυτή που βρίσκεται πακτωμένη στην ξύλινη βάση, δεύτερη άρθρωση την επόμενη στη σειρά κ.ο.κ. Σε κάθε άρθρωση i αντιστοιχήθηκε μια μεταβλητή. Για περιστροφικούς βαθμούς ελευθερίας η μεταβλητή περιγράφει τη γωνία περιστροφής. Στην περίπτωσή μας και οι 8 βαθμοί ελευθερίας είναι περιστροφικοί οπότε,. Στη συνέχεια, για να γίνει η κινηματική ανάλυση αντιστοιχήσαμε σε κάθε ένα σύνδεσμο και ένα σύστημα συντεταγμένων, δηλαδή o σύνδεσμος (link) i αντιστοιχήθηκε με το σύστημα συντεταγμένων. Οι σύνδεσμοι στην πραγματικότητα είναι 8 και όχι 4 γι αυτό και έχουμε ορίσει 8 διαφορετικά συστήματα συντεταγμένων. Βέβαια στην εικόνα 1.6 φαίνονται μόνο οι 4 από τους 8 συνδέσμους καθώς για τους βαθμούς ελευθερίας που βρίσκονται στην ίδια άρθρωση θεωρούμε ότι οι σύνδεσμοι (υπόλοιποι 4) έχουν μηδενικό μήκος. Ειδικότερα, θεωρούμε αρχικό σύστημα συντεταγμένων το στο κέντρο της πρώτης άρθρωσης, η οποία βρίσκεται στη ξύλινη βάση και θα είναι το αδρανειακό μας σύστημα συντεταγμένων για την κινηματική ανάλυση. Άρα οι συντεταγμένες της πρώτης άρθρωσης θα είναι πάντα γνωστές και ίσες με το σημείο Ο(0,0,0). Στην άλλη ακραία θέση του βραχίονα θεωρούμε το σύστημα συντεταγμένων όπου και βρίσκεται η αρπάγη (end-effector) του ρομπότ. 21

22 Κεφάλαιο 1 Σο επόμενο σχήμα απεικονίζονται λεπτομερώς τα συστήματα συντεταγμένων που έχουμε ορίσει για την κινηματική ανάλυση του ρομποτικού εργαλείου. Εικόνα 1.6 Ορισμός των συστημάτων συντεταγμένων Ομογενής μήτρα μετασχηματισμού Ορίζουμε την ομογενή μήτρα μετασχηματισμού που εκφράζει τη θέση και τον προσανατολισμό του συστήματος συντεταγμένων ως προς το σύστημα.για την περίπτωσή μας ο πίνακας θα εξαρτάται αποκλειστικά από τις γωνίες,. Δηλαδή: Έχει επικρατήσει η σύμβαση να συμβολίζουμε τον πίνακα μετασχηματισμού για 2 διαδοχικά συστήματα συντεταγμένων με το σύμβολο [9] όπου: Στη συνέχεια ας ορίσουμε το διάνυσμα που περιγράφει τη θέση του endeffector (στις 3 διαστάσεις) ως προς το αδρανειακό σύστημα συντεταγμένων. Επίσης, ορίζουμε την 3x3 μήτρα περιστροφής που περιγράφει τον προσανατολισμό του end-effector ως προς το αδρανειακό σύστημα συντεταγμένων. Η συνολική μήτρα: 22

23 Κεφάλαιο 1 είναι η ομογενής μήτρα μετασχηματισμού που μας δίνει όλες τις απαραίτητες πληροφορίες για τη θέση και τον προσανατολισμό του end-effector. Από τη σχέση (1.2) προκύπτει ότι η μήτρα Η ισούται με: Για την περίπτωσή μας όπου n=8 (έχουμε 8 βαθμούς ελευθερίας) και σχέση (1.4) γίνεται: η Γενικεύοντας, από τα παραπάνω καταλήγουμε στο συμπέρασμα ότι κάθε ομογενής μετασχηματισμός έχει την μορφή: Συνεπώς ισχύει ότι: Τέλος να αναφέρουμε ότι ο πίνακας εκφράζει τον προσανατολισμό του συστήματος ως προς το σύστημα συντεταγμένων και υπολογίζεται από τα περιστροφικά μέρη R των μητρών Α: Τα διανύσματα συντεταγμένων της κάθε άρθρωσης δίνονται από τον τύπο: Σύμβαση Denavit-Hartenberg Λόγω της μεγάλης πολυπλοκότητας του βραχίονά μας (8 βαθμοί ελευθερίας), η ανάλυση της ορθής κινηματικής έγινε χρησιμοποιώντας την Denavit- Hartenberg Σύμβαση (Convention). Έτσι καταφέραμε να απλοποιήσουμε την ανάλυσή μας αρκετά. Στην Denavit-Hartenberg Convention, κάθε ομογενής μετασχηματισμός παρουσιάζεται ως το γινόμενο 4 βασικών μετασχηματισμών: 23

24 Κεφάλαιο 1 H σχέση (1.9) αποτελεί και τον γενικό πίνακα μετασχηματισμού Οι 4 παράμετροι ονομάζονται αντιστοίχως joint angle, link length, link offset και link twist και είναι συσχετισμένοι με το link i και joint i. DH Coordinate Frame Στο παρακάτω σχήμα φαίνονται 2 διαδοχικά συστήματα συντεταγμένων και ο τρόπος που συνδέονται γεωμετρικά χρησιμοποιώντας τις 4 παραμέτρους Οι υποθέσεις που έχουμε κάνει είναι: Εικόνα 1.7 Denavit-Hartenberg Coordinate Frame Ο άξονας Ο άξονας είναι κάθετος στον άξονα τέμνει τον άξονα 24

25 Κεφάλαιο 1 Πριν υπολογίσουμε τις Denavit-Hartenberg παραμέτρους, θα πρέπει να λάβουμε υπόψη ότι κάθε σύνδεσμος έχει γωνιακή διαφορά σε σχέση με τον επόμενο σύνδεσμο (κατασκευαστική λεπτομέρεια), έτσι ώστε η περιστροφική ροπή που μεταδίδεται από κάθε τένοντα (κάθε SMA αγωγό δηλαδή) να είναι η μέγιστη δυνατή για κάθε έναν από τους 2 βαθμούς ελευθερίας αυτού του συγκεκριμένου καθολικού συνδέσμου. Ο συνολικός πίνακας με τις παραμέτρους Denavit-Hartenberg είναι: Σύνδεσμοι i d i (cm) l i (cm) α i θ i o θ 1 (t) o θ 2 (t) o θ 3 (t) o θ 4 (t) o θ 5 (t) o θ 6 (t) o θ 7 (t) θ 8 (t) Εξαγωγή των μητρών για το ρομποτικό μας εργαλείο Για την εξαγωγή των μητρών, χρησιμοποιήθηκε το symbolic toolbox του Matlab. Για την πρώτη άρθρωση δεν υπάρχει πίνακας που να περιγράφει τη θέση και τον προσανατολισμό της, αφού γνωρίζουμε εκ των προτέρων ότι είναι το σταθερό σημείο Ο(0,0,0) (για την κινηματική ανάλυση που κάνουμε). Παρακάτω παρατίθενται οι πίνακες που θα χρειαστούν αργότερα και είναι σημαντικοί για την κατανόηση της επίλυσης του προβλήματος της αντίστροφης κινηματικής. Πίνακας Είναι η ομογενής μήτρα μετασχηματισμού που δίνει τη θέση και τον προσανατολισμό της άρθρωσης 2 ως προς το αδρανειακό σύστημα συντεταγμένων Ο(0,0,0). Να παρατηρήσουμε εδώ ότι η άρθρωση 2 εξαρτάται από τους δύο βαθμούς ελευθερίας της προηγούμενης άρθρωσης, της 1, με μεταβλητές τις γωνίες θ 1 (=th1) και θ 2 (=th2). A02 = [ cos(th1)*cos(th2), 0.951*sin(th1) *cos(th1)*sin(th2), 0.951*cos(th1)*sin(th2) *sin(th1), 50.5*cos(th1)*cos(th2)] [ cos(th2)*sin(th1), 0.309*sin(th1)*sin(th2) *cos(th1), 0.309*cos(th1) *sin(th1)*sin(th2), 50.5*cos(th2)*sin(th1)] [ 1.0*sin(th2), *cos(th2), *cos(th2), 50.5*sin(th2)] [ 0, 0, 0, 1] Από τη σχέση (1.9) είναι προφανές ότι τα 3 πρώτα στοιχεία της τελευταίας στήλης του πίνακα μας δίνουν τις συντεταγμένες της άρθρωσης 2 στο χώρο για δεδομένα,. 25

26 Κεφάλαιο 1 Συνεπώς έχουμε: Πίνακας Είναι η ομογενής μήτρα μετασχηματισμού που δίνει τη θέση και τον προσανατολισμό της άρθρωσης 3 ως προς το αδρανειακό σύστημα συντεταγμένων. H άρθρωση 3 εξαρτάται από τους 4 βαθμούς ελευθερίας των προηγούμενων αρθρώσεων, της άρθρωσης 1 και της άρθρωσης 2, με μεταβλητές τις γωνίες θ 1 (=th1), θ 2 (=th2) και θ 3 (=th3), θ 4 (=th4) αντιστοίχως. Λόγω του μεγάλου μεγέθους του ο πίνακας αναφέρεται ολόκληρος στο παράρτημα. Στην ενότητα αυτή θα αναφερθούν μόνο τα στοιχεία της τελευταίας στήλης του που περιγράφουν τη θέση της άρθρωσης 3 στο χώρο (είναι και οι εξισώσεις που μας ενδιαφέρουν περισσότερο στην επίλυση της αντίστροφης κινηματικής που αναφέρεται σε επόμενο κεφάλαιο). Οι συντεταγμένες της άρθρωσης 3 δίνονται από τις σχέσεις: Πίνακας Είναι η ομογενής μήτρα μετασχηματισμού που δίνει τη θέση και τον προσανατολισμό της άρθρωσης 4 ως προς το αδρανειακό σύστημα συντεταγμένων. Η άρθρωση 4 εξαρτάται από τους 6 βαθμούς ελευθερίας των προηγούμενων αρθρώσεων, της 1, της 2 και της 3 με μεταβλητές τις γωνίες θ 1 (th1),θ 2 (th2),θ 3 (th3),θ 4 (th4),θ 5 (th5) και θ 6 (th6). Ομοίως, όπως και πριν, ο πίνακας δεν αναφέρεται ολόκληρος. 26

27 Κεφάλαιο 1 Οι συντεταγμένες της άρθρωσης 4 δίνονται από τις εξισώσεις : 27

28 Κεφάλαιο 1 Πίνακας Είναι η ομογενής μήτρα μετασχηματισμού που δίνει τη θέση και τον προσανατολισμό της αρπάγης (end-effector) ως προς το αδρανειακό σύστημα συντεταγμένων. H θέση του εξαρτάται από τους 8 βαθμούς ελευθερίας των προηγούμενων αρθρώσεων, 1, 2, 3 και 4 με μεταβλητές τις γωνίες θ 1 (th1), θ 2 (th2), θ 3 (th3), θ 4 (th4), θ 5 (th5), θ 6 (th6), θ 7 (th7) και θ 8 (th8). Οι συντεταγμένες του end-effector δίνονται από τις εξισώσεις: Παρατηρούμε ότι μόνο για την συντεταγμένη προκύπτει μια πολύ μεγάλη μη γραμμική έκφραση που δεν αξίζει να αναφερθεί ολόκληρη. Το ίδιο πολύπλοκες και μη γραμμικές είναι και οι εκφράσεις που μας δίνουν τις άλλες 2 συντεταγμένες και. Η ολοκληρωμένη έκφραση για το καθώς και οι εξισώσεις που δίνουν τα και αναφέρονται στο παράρτημα. Τέλος είναι σημαντικό να αναφέρουμε ότι οι παραπάνω πίνακες,, και παρουσιάζονται σε απλοποιημένη μορφή. Λόγω της μεγάλης ακρίβειας που έχει το matlab οι εκφράσεις που προέκυπταν ήταν αρκετά πιο μεγάλες και σύνθετες, κάτι που είχε σαν αποτέλεσμα να χάνουμε σημαντικό χρόνο σε υπολογισμούς. Επιλέξαμε λοιπόν όρους πολύ μικρής τάξης ( της τάξεως π.χ. -15 ) να θεωρούνται 0 ώστε να απλοποιηθούν αρκετά οι ήδη πολύπλοκες εκφράσεις χωρίς να αλλοιώνεται το αποτέλεσμα, αφού δεν χάναμε σε ακρίβεια χιλιοστού που ήταν και η επιθυμητή ακρίβεια για συντεταγμένες στο 3D χώρο. 28

29 Κεφάλαιο Επίλογος του κεφαλαίου Η παρούσα εργασία έχει ως στόχο την τελειοποίηση του ρομποτικού μας εργαλείου. Το κατασκευαστικό κομμάτι με το οποίο ασχολήθηκαν οι φοιτητές κ.ευαγγελίου και κ.γιαταγάνας ανταποκρίνεται επιτυχώς στις κατασκευαστικές απαιτήσεις που έχουν τεθεί για τη δημιουργία ενός καλού λαπαροσκοπικού ρομποτικού εργαλείου. Όμως για να επιτευχθεί η τελειοποίηση του συγκεκριμένου ρομποτικού εργαλείου απομένει να ολοκληρωθεί η απαίτηση για τη δημιουργία ενός σθεναρού συστήματος ελέγχου της κίνησής του που θα εξασφαλίζει στο χειρούργο ιατρό, που πραγματοποιεί την επέμβαση, απόλυτη ακρίβεια στον προσδιορισμό της θέσης του end-effector. Η επιτυχία για τη δημιουργία ενός τέτοιου συστήματος ελέγχου εξαρτάται στο μεγαλύτερο βαθμό από τον τρόπο προσέγγισης του προβλήματος της αντίστροφης κινηματικής. Από τη μελέτη της ορθής κινηματικής που αναλύθηκε στο παρόν κεφάλαιο γίνεται αντιληπτό πόσο δύσκολο είναι να λυθεί το πρόβλημα της αντίστροφης κινηματικής στο 3D χώρο. Η πολύπλοκη μορφή των εκφράσεων των διανυσμάτων, μπορούμε να πούμε ότι δικαιολογεί κατά κάποιο τρόπο και το σκοπό της παρούσης διπλωματικής. Ο αλγόριθμος Constrained Non Linear Optimization που χρησιμοποιήθηκε σε πρώτη φάση από τους προαναφερθέντες φοιτητές για τη λειτουργία του λαπαροσκοπικού εργαλείου επικεντρώνεται αποκλειστικά στην επίλυση εξαιρετικά μη-γραμμικών εξισώσεων. Πρόκειται για τις εξισώσεις των, και που προσδιορίζουν τη θέση του end effector. Επιπλέον, ο αλγόριθμος πρέπει να λάβει υπόψη κατά την επίλυση και τους περιορισμούς που υπάρχουν ως προς τις επιτρεπτές λύσεις. Μάλιστα, όλη αυτή η διαδικασία θα πρέπει να επαναλαμβάνεται για κάθε στιγμιότυπο της κίνησης του ρομπότ. Είναι φανερό ότι όλα αυτά καθιστούν ακόμα πιο δύσκολη την εύρεση λύσης στο ήδη απαιτητικό πρόβλημα της αντίστροφης κινηματικής. Γι αυτό στην παρούσα διπλωματική εργασία παρουσιάζεται ένας πιο αποδοτικός τρόπος προσέγγισης του προβλήματος και μάλιστα αρκετά πιο γρήγορος και ακριβής. Ο τρόπος με τον οποίο προσεγγίσαμε ακριβώς το πρόβλημα παρουσιάζεται αναλυτικά στο κεφάλαιο 4. Όπως αναφέρθηκε και στον πρόλογο, η βελτίωση του αλγορίθμου βασίστηκε, κατά κύριο λόγο, στη χρησιμοποίηση των χρήσιμων πληροφοριών που μας δίνουν οι τεχνικές υπολογιστικής όρασης για το ρομπότ. Στο επόμενο κεφάλαιο αναφέρονται αναλυτικά ποιές τεχνικές όρασης χρησιμοποιήθηκαν καθώς και ο τρόπος προσαρμογής τους στις απαιτήσεις του συστήματος ελέγχου. 29

30 30 Κεφάλαιο 1

31 Κεφάλαιο 2 Κεφάλαιο 2 ΥΠΟΛΟΓΙΣΤΙΚΗ ΟΡΑΣΗ ΚΑΙ ΡΟΜΠΟΤΙΚΗ 2.1 Visual Servoing Η μέθοδος που χρησιμοποιεί την οπτική ανατροφοδότηση (visual feedback) για τον έλεγχο των ρομπότ είναι γνωστή ως visual servoing (Vision-Based Robot Control) [10]. Πιο συγκεκριμένα το Visual Servoing ή εν συντομία VS χρησιμοποιείται στις περιπτώσεις που χρειάζεται να γίνει έλεγχος της θέσης και γενικότερα της κίνησης ενός ρομπότ χρησιμοποιώντας ένα σύστημα καμερών που λειτουργούν σαν αισθητήρες και δίνουν τη δυνατότητα στο ρομπότ να αντιληφθεί ή αλλιώς να δει το χώρο γύρω του. Εικόνα 2.1 Το βασικό μπλοκ διάγραμμα ενός τυπικού visual servoing συστήματος Το Visual Servoing δεν θα πρέπει να θεωρείται απλά μια ακόμη τεχνική ελέγχου συστημάτων ανάμεσα στις ήδη υπάρχουσες. Η απαίτηση για αυξημένη ευελιξία των ρομποτικών συστημάτων κατέστησε απαραίτητη την ενσωμάτωση της οπτικής πληροφορίας στον έλεγχο των ρομπότ. Επίσης, τo γεγονός ότι περιλαμβάνει αλλά και ταυτόχρονα συνδυάζει διάφορα επιστημονικά πεδία, όπως είναι οι τομείς του image processing, computer vision, pattern classification, και control theory, το καθιστούν βασικό εργαλείο για τον έλεγχο συστημάτων. Σήμερα το Visual Servoing χρησιμοποιείται σε πληθώρα εφαρμογών όπως η παρακολούθηση της τροχιάς κινούμενων οχημάτων, ο χειρισμός αντικειμένων σε βιομηχανίες [11 13] και γενικότερα σε εφαρμογές όπου απαιτείται ακρίβεια. Η συνηθέστερη εφαρμογή είναι ο χειρισμός αντικειμένων όπου απαιτείται: ανίχνευση του αντικειμένου, κατάτμηση, αναγνώριση, ευθυγράμμιση και τέλος το πιάσιμο αυτού [14].

32 Κεφάλαιο 2 Εφαρμογή του Visual Servoing Οι τεχνικές που χρησιμοποιεί το VS μπορούν να ταξινομηθούν στις επόμενες 3 κατηγορίες: Βασισμένες σε εικόνα (Image Based (IBVS)) Βασισμένες στη θέση (Position Based (PBVS) Υβριδική προσέγγιση (Hybrid Approach) H τεχνική IBVS προτάθηκε πρώτη φορά από τους Weiss and Sanderson [15].Ο νόμος ελέγχου στην συγκεκριμένη τεχνική βασίζεται στο σφάλμα που υπάρχει μεταξύ του τρέχοντος και του επιθυμητού χαρακτηριστικού (feature) πάνω στο επίπεδο της εικόνας χωρίς να γίνεται καμία εκτίμηση για τη θέση του στόχουαντικειμένου (δεν γίνεται δηλαδή 3D εκτίμηση). Τα χαρακτηριστικά αυτά (features) μπορεί να είναι συντεταγμένες σημείων, γραμμές ή και ολόκληρα τμήματα πάνω στην εικόνα. Η τεχνική IBVS είναι γνωστή και ως eye-in-hand ρύθμιση. Στις eye-in-hand εφαρμογές η κάμερα είναι τοποθετημένη πάνω στο ρομπότ και χρησιμοποιείται κυρίως όταν θέλουμε να χαρτογραφήσουμε ένα χώρο. Ο τύπος PBVS (Position Based ή Pose Based VS) είναι μια τεχνική που βασίζεται σε μοντέλα (model based technique) και χρησιμοποιεί μια μόνο κάμερα. Αυτό συμβαίνει γιατί η θέση (pose) του αντικειμένου εκτιμάται πρώτα σε σχέση με τη κάμερα και στη συνέχεια στέλνεται σήμα στον ελεγκτή που είναι υπεύθυνος για την κίνηση του ρομπότ. Όπως και στον προηγούμενο τύπο έτσι και εδώ εξάγονται χαρακτηριστικά από τις εικόνες τα οποία όμως χρησιμοποιούνται για τον υπολογισμό καρτεσιανών συντεταγμένων που περιγράφουν τη θέση του ρομπότ (Servoing in 3D). Η τεχνική PBVS είναι γνωστή και ως eye-to-hand ρύθμιση. Στις eye-to-hand εφαρμογές η κάμερα είναι τοποθετημένη στο χώρο σε σταθερό σημείο ώστε να μπορεί να παρακολουθεί όλο το χώρο εργασίας του ρομπότ. Το πλεονέκτημά της είναι ότι επιτρέπει όχι μόνο τη παρακολούθηση της κίνησης ενός ρομπότ αλλά και του χώρου-αντικειμένων που το περιβάλλουν (στα όρια του field of view της κάμερας). Η Υβριδική (Hybrid) προσέγγιση βασίζεται σε συνδυασμό 2D και 3D servoing Στο πείραμα μας χρησιμοποιήθηκε η eye-to-hand διαμόρφωση αφού οι κάμερες σε όλη τη διάρκεια διεξαγωγής των πειραμάτων παρέμειναν σε σταθερές θέσεις. Εικόνα 2.2 Παράδειγμα ενός Eye-to-hand συστήματος 32

33 Κεφάλαιο Επεξεργασία Εικόνας Οι έννοιες της επεξεργασίας εικόνας (Image Processing) [16] αλλά και της υπολογιστικής όρασης (Computer Vision) είναι στενά συνδεδεμένες με την ρομποτική και αποτελούν, στις μέρες μας σημαντικό κομμάτι της επιστήμης των υπολογιστών (computer science). Το ενδιαφέρον για την έρευνα και ανάπτυξη αυτών των δύο τομέων γεννήθηκε την δεκαετία του 70 αλλά ωρίμασε αρκετά αργότερα στις δεκαετίες του 80 και 90 όποτε και σημειώθηκε μεγάλη πρόοδος. Εκείνη τη περίοδο έχουμε και για πρώτη φορά τη δημιουργία ενεργών εφαρμογών του image processing πάνω σε ρομπότ, όπως είναι η τηλεπισκόπηση (remote sensing), τεχνικές διάγνωσης (technical diagnostics), η αυτόνομη καθοδήγηση οχημάτων (autonomous vehicle guidance), εφαρμογές στην ιατρική (medical imaging in 2D και 3D) και η αυτόματη επιτήρηση (automatic surveillance). Οι παραπάνω εφαρμογές σήμερα ανήκουν στην κατηγορία των γρήγορα αναπτυσσόμενων πεδίων και συνεχίζουν να αποτελούν πόλο έλξης για πολλούς επιστήμονες που ασχολούνται με τον κλάδο της ρομποτικής. Εάν θα θέλαμε να δώσουμε έναν ορισμό για το τι είναι το image processing θα λέγαμε ότι αφορά οποιαδήποτε μορφή επεξεργασίας σήματος που έχει σαν είσοδο μια εικόνα, όπως για παράδειγμα μια φωτογραφία ή ένα video frame. Ως έξοδο μπορεί να έχει μια οποιαδήποτε εικόνα ή ένα σύνολο χαρακτηριστικών ή παραμέτρων που έχουν άμεση σχέση με την επεξεργασθείσα εικόνα. Είναι αξιοσημείωτο να αναφέρουμε ότι οι περισσότερες τεχνικές πάνω στο image processing χρησιμοποιούν τις εικόνες ως σήμα δύο διαστάσεων. Σήμερα ο όρος image processing αναφέρεται συνήθως σε digital image processing (γνωστό στα ελληνικά ως ψηφιακή επεξεργασία εικόνας), χωρίς αυτό να σημαίνει ότι δεν υπάρχουν εφαρμογές για οπτικό ή αναλογικό image processing. Στην αγορά κυκλοφορεί πλέον μεγάλος αριθμός λογισμικών και προϊόντων που προσφέρουν διάφορες τεχνικές για την επεξεργασία εικόνων. Στην παρούσα διπλωματική εργασία χρησιμοποιήθηκε το λογισμικό LabView της εταιρίας National Instruments [17] το οποίο μας δίνει τη δυνατότητα ψηφιακής επεξεργασίας με χρήση του αντίστοιχου toolbox. 33

34 Κεφάλαιο Ψηφιακή Επεξεργασία Εικόνας Με τον όρο ψηφιακή επεξεργασία εικόνας (Digital Image Processing-DIP) εννοούμε τη χρησιμοποίηση υπολογιστικών αλγορίθμων κατάλληλων για την επεξεργασία εικόνων που είναι σε ψηφιακή μορφή. Η ψηφιακή επεξεργασία παρουσιάζει μια σειρά από πλεονεκτήματα έναντι της αναλογικής επεξεργασίας (Analog Image Processing-AIP) και γι αυτό είναι πιο διαδεδομένη. Το γεγονός ότι έχει σαν είσοδο ψηφιακή εικόνα, επιτρέπει την εφαρμογή πολύ περισσότερων αλγορίθμων επεξεργασίας σε σχέση με το AIP (και μάλιστα πολύ πιο σύνθετων). Επιπλέον οι αλγόριθμοι για DIP αντιμετωπίζουν με μεγαλύτερη ευκολία προβλήματα όπως είναι η εισαγωγή θορύβου ή η ενδεχόμενη αλλοίωση του σήματος. Το DIP είναι άρρηκτα συνδεδεμένο με την επιστήμη των υπολογιστών. Στις μέρες μας όσο αυξάνει η διαθέσιμη υπολογιστική ισχύς και όσο βελτιώνονται οι επεξεργαστές σημάτων, συνεχίζεται και η ραγδαία ανάπτυξή του που πλέον αποτελεί και τη φθηνότερη μέθοδο (πέρα της αποτελεσματικότερης) για την επεξεργασία εικόνας. Σήμερα έχουν αναπτυχθεί πάρα πολλά λογισμικά και αλγόριθμοι που προσφέρουν απεριόριστες δυνατότητες στην επεξεργασία εικόνας. Η μοντελοποίηση των περισσότερων αλγορίθμων, όπως αναφέρθηκε και πιο πάνω βασίζεται στην επεξεργασία εικόνων 2 διαστάσεων. Στις περιπτώσεις ωστόσο που μια εικόνα περιγράφεται στις 3 διαστάσεις, υπάρχει η δυνατότητα να τροποποιηθεί το DIP για πολυδιάστατα συστήματα. Γενικά, σχεδόν για όλες τις εφαρμογές που απαιτείται κάποιας μορφής επεξεργασία εικόνας, ακόμα και στις πιο απαιτητικές, έχει αναπτυχθεί και ο αντίστοιχος αλγόριθμος. Μερικές από τις εφαρμογές που η μέθοδος του DIP αποδεικνύεται ιδιαίτερα αποτελεσματική σε σχέση με την AIP είναι: Classification Feature extraction [18] [19] Pattern recognition [20] (περιλαμβάνει το template matching [21]) Projection Multi-scale signal analysis Σε ότι αφορά τη συγκεκριμένη διπλωματική από τις εφαρμογές του DIP που αναφέρθηκαν λίγο πιο πάνω επιλέξαμε αυτή του Pattern recognition. Πιο συγκεκριμένα επιλέξαμε την τεχνική του template matching για την επεξεργασία των εικόνων καθώς ήταν εύκολο να την προσαρμόσουμε στους σκοπούς των πειραμάτων μας. 34

35 Κεφάλαιο Ταύτιση Προτύπων Το template matching αποτελεί μια τεχνική του digital image processing για την εύρεση μικρών τμημάτων σε μια εικόνα. Η τεχνική χρησιμοποιεί μια template image ως αναφορά και βασίζει τα αποτελέσματά της στο ταίριασμα τμημάτων της εικόνας με την template image. Σήμερα η μέθοδος του template matching χρησιμοποιείται ευρέως σε πληθώρα εφαρμογών όπως στη βιομηχανία στο κομμάτι που αφορά έλεγχο ποιότητας [22], σε εφαρμογές που απαιτούν την ανίχνευση ακμών σε εικόνες [23] Εικόνα 2.3 Παράδειγμα ταύτισης προτύπων ή ακόμα και στην επιστήμη της ρομποτικής στο κομμάτι που αφορά την πλοήγηση ενός ρομπότ στο χώρο [24]. Η τεχνική του template matching μπορεί να προσεγγιστεί με 2 τρόπους: βασισμένη σε χαρακτηριστικά (feature-based matching) και βασισμένη σε κάποιο πρότυπο (template-based matching). Η feature-based προσέγγιση χρησιμοποιεί χαρακτηριστικά της εικόνας όπως ακμές και γωνίες ως το πιο βασικό κριτήριο για να βρει τα τμήματά της που μοιάζουν περισσότερο στο template image. Από την άλλη, η template-based τεχνική χρησιμοποιεί όλη την template image μαζί με ένα σύνολο από κριτήρια ( SAD (sum of absolute differences), SSD (sum of squares), cross-correlation κ.α.) για να βρεθούν στην εικόνα τα σημεία που μπορεί να μοιάζουν στην template image. Χαρακτηριστικό της είναι ότι εξετάζει πολύ μεγάλο αριθμό σημείων πάνω στην εικόνα με σκοπό να βρει το βέλτιστο ταίριασμα. Γενικώς, η επιλογή του τρόπου με τον οποίο θα εφαρμόσουμε την τεχνική του template matching στην επεξεργασία της εικόνας καθορίζεται σε μεγάλο βαθμό από το είδος του template image. Εάν το template image έχει ισχυρά χαρακτηριστικά συνήθως προτιμάται η feature-based προσέγγιση που μπορεί να εκμεταλλευτεί τις έντονες ακμές και γωνίες. Επιπλέον η προσέγγιση αυτή προτιμάται όταν έχουμε προς επεξεργασία εικόνες μεγάλης ανάλυσης. Ο λόγος είναι ότι η feature-based προσέγγιση δεν έχει ως κριτήριο ταιριάσματος όλη την template image, συνεπώς, σε εικόνες με πολλά σημεία αποδεικνύεται ότι είναι υπολογιστικά πιο αποτελεσματική από την template-based προσέγγιση. 35

36 Κεφάλαιο 2 Στην αντίθετη περίπτωση, που το template image δεν έχει ισχυρά χαρακτηριστικά καθώς και στην περίπτωση που αποτελεί μέρος της εικόνας προς επεξεργασία προτιμάται η template-based προσέγγιση. Συνιστάται, όταν εφαρμόζεται η συγκεκριμένη προσέγγιση, να μειώνεται η ανάλυση της επεξεργαζόμενης εικόνας για λόγους υπολογιστικής πολυπλοκότητας Ο βασικός άξονας πάνω στον οποίο βασίστηκε η συγκεκριμένη διπλωματική είναι η υλοποίηση ενός αλγορίθμου που θα επιλύει με την καλύτερη δυνατή ακρίβεια το πρόβλημα της αντίστροφης κινηματικής. Είναι σαφές ότι όσο καλύτερα αποτελέσματα δίνει η αντίστροφη κινηματική τόσο καλύτερος έλεγχος της θέσης του ρομπότ επιτυγχάνεται. Με βάση τον παραπάνω στόχο για καλό έλεγχο της θέσης του end-effector το image processing παίζει καθοριστικό ρόλο στην διεξαγωγή των πειραμάτων. Σκοπός μας είναι να χρησιμοποιήσουμε τις πληροφορίες που θα μας δώσει η επεξεργασία εικόνας ως ανάδραση για να πετύχουμε ένα καλύτερο νόμο ελέγχου και συνεπώς καλύτερο έλεγχο θέσης της αρπάγης του ρομποτικού εργαλείου. Συγκεκριμένα επιλέξαμε να εφαρμόσουμε την template matching τεχνική με σκοπό να εντοπίζονται σε κάθε στιγμιότυπο (που παίρνουν οι κάμερες) οι θέσεις των 4 αρθρώσεων του ρομπότ καθώς και η θέση του end-effector. Ο σωστός και ακριβής εντοπισμός των αρθρώσεων αποτελεί και το σημείο κλειδί της διπλωματικής αφού με τις συντεταγμένες της θέσης κάθε άρθρωσης τροφοδοτείται στη συνέχεια ο αλγόριθμος που υλοποιεί την αντίστροφη κινηματική. Έχοντας λοιπόν ως βάση την template matching τεχνική για την επεξεργασία των εικόνων το ερώτημα που προκύπτει είναι ποιά προσέγγιση θα ήταν η καταλληλότερη για την διεξαγωγή των πειραμάτων μας. Η απάντηση στο ερώτημα αυτό δεν είναι μονοσήμαντη αλλά εξαρτάται από την επιλογή του template image που θα αποφασιστεί να χρησιμοποιηθεί. Στόχος είναι ο βέλτιστος εντοπισμός της θέσης των αρθρώσεων στον πραγματικό χώρο. Συνεπώς, το template image που θα χρησιμοποιηθεί, θα πρέπει να μπορεί να εντοπίζει (μέσω του ταιριάσματος) όλες τις αρθρώσεις του εργαλείου και μάλιστα με ακρίβεια, εφόσον ο τύπος όλων των αρθρώσεων είναι κοινός. Πειραματιστήκαμε με 2 μεθόδους που θεωρητικά θα μπορούσαν να δώσουν λύση στο πρόβλημά μας, ούτως ώστε στο τέλος να επιλέξουμε την αποτελεσματικότερη.. Για feature-based προσέγγιση δοκιμάσαμε την μέθοδο του edge detection και για template-based προσέγγιση τη μέθοδο του color pattern matching. Στις επόμενες ενότητες αναλύονται συνοπτικά οι 2 μέθοδοι και παρουσιάζονται τα αποτελέσματα που δίνουν κατά την εφαρμογή τους στα πειράματα που έγιναν. 36

37 Κεφάλαιο Θεωρία Ανίχνευσης Ακμών και Σημείων Εικόνα 2.4 Παράδειγμα ανίχνευσης ακμών Εισαγωγή Η ανίχνευση ακμών αποτελεί ένα θεμελιώδες εργαλείο στον τομέα της επεξεργασίας εικόνας αλλά και της υπολογιστικής όρασης, ιδιαίτερα στη περιοχή που αφορά την ανίχνευση και εξαγωγή χαρακτηριστικών. Η συγκεκριμένη μέθοδος δέχεται προς επεξεργασία μια ψηφιακή εικόνα και στόχος της είναι ο εντοπισμός όλων των ακμών και των γωνιών σε αυτή. Όμως ποια σημεία ακριβώς πρέπει να αναγνωριστούν; Δεν υπάρχει ακόμα ακριβής και ευρέως αποδεκτός μαθηματικός ορισμός της ακμής. Παρόλα αυτά σαν ακμή είθισται να ορίζουμε το σύνορο μεταξύ δύο ομογενών περιοχών μιας εικόνας που έχουν διαφορετικές εντάσεις φωτεινότητας. Αυτός ο ορισμός σημαίνει ότι η ακμή είναι μια τοπική μεταβολή της φωτεινότητας [25]. Επίσης, μπορούμε να ορίσουμε την ακμή ως το όριο μεταξύ ενός αντικειμένου και του φόντου που το περιβάλλει. Αν θέλαμε να δώσουμε όμως ένα πιο ολοκληρωμένο μοντέλο για τις ακμές, θα μπορούσαμε να τις θεωρήσουμε ως βηματικές ασυνέχειες στο σήμα της εικόνας. Τέτοιες ασυνέχειες είναι πολύ πιθανό να συνδέονται με: ασυνέχειες στο βάθος (depth) ασυνέχειες στον προσανατολισμό της επιφάνειας (surface orientation) αλλαγές στις ιδιότητες των υλικών παραλλαγές στον φωτισμό του σκηνικού Σύμφωνα με το παραπάνω μοντέλο, ο εντοπισμός αυτών των ασυνεχειών μπορεί να αναχθεί στην εύρεση των σημείων όπου εμφανίζονται τοπικά μέγιστα για 37

38 Κεφάλαιο 2 την πρώτη παράγωγο του «σήματος» ή στην εύρεση των σημείων που μηδενίζουν την δεύτερη παράγωγο του σήματος. Γενικώς, οι ακμές αποτελούν βασικό δομικό στοιχείο μιας εικόνας. Ο προσδιορισμός τους μπορεί να μας δώσει χρήσιμες πληροφορίες για τα όρια των αντικειμένων, οι οποίες μπορούν να χρησιμοποιηθούν σε διάφορες εφαρμογές όπως: ανάλυση και επεξεργασία εικόνας αναγνώριση προτύπων (patterns) σε εικόνα προσδιορισμός αντικειμένων φιλτράρισμα μιας εικόνας τεχνικές υπολογιστικής όρασης Αλγόριθμοι Ανίχνευσης Ακμών Για την ανίχνευση ακμών (edges) έχουν αναπτυχθεί πάρα πολλοί αλγόριθμοι. Οι περισσότεροι ομαδοποιούνται σε δύο κατηγορίες, στους search based (με χρήση της πρώτης παραγώγου) και στους zero crossing based (με χρήση δεύτερης παραγώγου). Να σημειωθεί ότι, σε όλες τις μεθόδους, πριν την διαδικασία της ανίχνευσης ακμών, προηγείται η λείανση της εικόνας με χρήση συνήθως Γκαουσιανού φίλτρου για να επιτευχθεί μείωση του εμπεριεχόμενου θορύβου. Οι πιο διαδεδομένες μέθοδοι ανίχνευσης ακμών είναι: Μέθοδος Canny Τελεστής Laplacian Τελεστής Marr Hildreth Τελεστής Spacek Τελεστής Petrou Τελεστής Scharr Ανιχνευτής ακμών Prewitt Ανιχνευτής ακμών Sobel Στην παρούσα διπλωματική στόχος είναι μέσω της επεξεργασίας εικόνας να επιτυγχάνεται, σε κάθε στιγμιότυπο που λαμβάνουν οι κάμερες, εντοπισμός της θέσης όλων των αρθρώσεων του ρομπότ καθώς και του end-effector. Συνεπώς είναι προφανές ότι για να πετύχουμε το συγκεκριμένο στόχο δεν είναι απαραίτητο να γίνεται ανίχνευση των ακμών στις εικόνες που παίρνουμε αλλά ανίχνευση γωνιών (corners). Τα σημεία που θα πρέπει να ανιχνεύονται, ουσιαστικά, θα αναπαριστούν τη θέση των αρθρώσεων στην εικόνα και από την οποία, έπειτα, θα προσδιορίζεται και η πραγματική θέση τους στο 3D χώρο. Ένας επιπλέον λόγος που δεν προτιμήθηκαν οι αλγόριθμοι ανίχνευσης ακμών είναι ότι κρίνονται μη αποτελεσματικοί για εφαρμογές που περιλαμβάνουν κίνηση, όπως είναι η δικιά μας περίπτωση. 38

39 Κεφάλαιο Αλγόριθμοι Ανίχνευσης Γωνιών Η ανίχνευση γωνιών ή γενικότερα η ανίχνευση σημείων ενδιαφέροντος είναι μια προσέγγιση που χρησιμοποιείται στα συστήματα υπολογιστικής όρασης για να μπορούμε να εξαγάγουμε ορισμένα είδη χαρακτηριστικών γνωρισμάτων, έτσι ώστε να βγάλουμε χρήσιμα συμπεράσματα από μια εικόνα. Μία γωνία μπορεί να οριστεί ως η τομή δύο ακμών. Όπως αναφέρθηκε και πιο πάνω, λέγοντας ακμές εννοούμε τα σημεία στα οποία εμφανίζεται απότομη αλλαγή της φωτεινότητας. Στην πράξη βέβαια, οι ακμές ορίζονται ως σύνολα σημείων μιας εικόνας, τα οποία έχουν μεγάλη κλίση (gradient). Ως γωνία, λοιπόν, μπορεί, επίσης, να οριστεί το σημείο εκείνο για το οποίο υπάρχουν δύο ακμές διαφορετικών κατευθύνσεων σε μια γειτονική του περιοχή. Ένα σημείο ενδιαφέροντος (όρος ο οποίος χρησιμοποιείται εναλλακτικά του όρου γωνία), είναι ένα σημείο εντός της εικόνας, του οποίου η θέση είναι καλώς ορισμένη και σθεναρά εντοπίσιμη. Αυτό σημαίνει ότι ένα σημείο ενδιαφέροντος μπορεί να είναι μία γωνία, αλλά, επίσης, μπορεί να είναι ένα απομονωμένο σημείο που η έντασή του (intensity) παρουσιάζει τοπικό μέγιστο ή ελάχιστο, σημείο όπου καταλήγει κάποια γραμμή ή ένα σημείο το οποίο βρίσκεται πάνω σε μία καμπύλη όπου η καμπυλότητα είναι τοπικά μέγιστη. Η ανίχνευση σημείων χρησιμοποιείται συχνά στον εντοπισμό κίνησης, στην αναγνώριση αντικειμένου, στην παρακολούθηση τροχιάς κινητού μέσου, στη συνένωση εικόνων για τη δημιουργία πανοράματος κ.α. Μέχρι σήμερα έχουν αναπτυχθεί πολλοί αλγόριθμοι για την ανίχνευση σημείων οι οποίοι θα μπορούσαν να ταξινομηθούν σε δύο μεγάλες κατηγορίες. Στην πρώτη ανήκουν οι αλγόριθμοι οι οποίοι, αρχικά, εξάγουν ακμές και, στη συνέχεια, εντοπίζουν σημεία πάνω στις ακμές, τα οποία έχουν μέγιστη καμπυλότητα, ενώ, στη δεύτερη, περιλαμβάνονται εκείνοι οι οποίοι αναζητούν σημεία όπου οι ακμές τέμνονται. Οι κυριότεροι αλγόριθμοι ανίχνευσης σημείων είναι: Kitchen Rosenfeld Ηarris Kanade Lucas Tomasi (KLT) Trajkovic Hedley (FAST) Moravec Wang Brady SUSAN Για την επιλογή του κατάλληλου αλγορίθμου μελετήθηκε η αποτελεσματικότητά τους σε διάφορες περιπτώσεις [26] [27] [28]. Τελικά επιλέχτηκε ο πλέον διαδεδομένος ανιχνευτής Harris για την διεξαγωγή των πειραμάτων μας, λόγω των πλεονεκτημάτων που παρουσιάζει. Ο σημαντικότερος λόγος επιλογής του συγκεκριμένου αλγορίθμου είναι η καταλληλότητά του σε εφαρμογές που περιλαμβάνουν κίνηση όπως είναι η δικιά μας περίπτωση. 39

40 Κεφάλαιο Αλγόριθμος Harris για την ανίχνευση γωνιών Ο ανιχνευτής σημείων ή ανιχνευτής γωνιών Harris (Corner Detector) επινοήθηκε από τους Harris και Stephens το 1988 [29]. Αποτελεί έναν από τους κυριότερους αλγόριθμους ανίχνευσης σημείων ενδιαφέροντος. Ο συγκεκριμένος αλγόριθμος είναι ιδιαίτερα αποτελεσματικός σε εφαρμογές που: περιλαμβάνουν κίνηση οι συνθήκες φωτισμού αλλάζουν οι εικόνες περιέχουν θόρυβο Στον αλγόριθμο αυτό, η βασική ιδέα για τον εντοπισμό ενός σημείου ενδιαφέροντος είναι ότι σε μια γωνία, η ένταση της εικόνας αλλάζει απότομα σε πολλές κατευθύνσεις. Η ιδέα αυτή μπορεί να γίνει πιο κατανοητή αν θεωρήσουμε ότι έχουμε ένα μικρό παράθυρο με το οποίο μπορούμε να εξετάζουμε περιοχές μιας εικόνας για τον εντοπισμό αλλαγών στην ένταση. Εικόνα 2.5 Αναγνώριση γωνίας Ολισθαίνοντας αυτό το παράθυρο προς οποιαδήποτε κατεύθυνση, προκύπτει μεταβολή στην ένταση της εικόνας. Προκύπτουν, λοιπόν, οι περιπτώσεις που φαίνονται στην εικόνα 2.6. Εικόνα 2.6 Περιπτώσεις αναγνώρισης "επίπεδη περιοχή": καμία αλλαγή στην ένταση ως προς όλες τις κατευθύνσεις "ακμή": καμία αλλαγή στην ένταση ως προς την κατεύθυνση της ακμής "γωνία": σημαντική αλλαγή της έντασης ως προς όλες τις κατευθύνσεις 40

41 Κεφάλαιο 2 Ο αλγόριθμος Harris για ανίχνευση γωνιών βασίζεται σε μία μαθηματική προσέγγιση της τοπικής συνάρτησης αυτοσυσχέτισης (local autocorrelation function) της έντασης για μια περιοχή της εικόνας: Α= όπου Ιx και Iy είναι οι παράγωγοι της εικόνας στις κατευθύνσεις x και y αντίστοιχα. Ειδικότερα, ο αλγόριθμος εξετάζει ελάχιστες και μέγιστες τιμές των ιδιοτιμών λ 1 και λ 2 του πίνακα αυτοσυσχέτισης της εικόνας. Με την ανάλυση των ιδιοτιμών του πίνακα Α μπορούμε να καταλήξουμε στα εξής συμπεράσματα: 1. Εάν και οι δύο ιδιοτιμές έχουν μικρή τιμή (σχεδόν μηδενική) τότε δεν υπάρχει κανένα χαρακτηριστικό ενδιαφέροντος στο συγκεκριμένο pixel (x,y). 2. Εάν η μία ιδιοτιμή είναι μικρή (σχεδόν μηδενική) και η άλλη έχει μεγάλη θετική τιμή τότε μια ακμή εντοπίζεται. 3. Εάν και οι δύο ιδιοτιμές έχουν ευδιάκριτα μεγάλες θετικές τιμές τότε μια γωνία εντοπίζεται. Ο υπολογισμός των ιδιοτιμών χρησιμοποιώντας μεθόδους όπως η singular value decomposition, για παράδειγμα, είναι σχετικά πολύπλοκος. Για να αποφύγουμε λοιπόν το υπολογιστικό κόστος είναι προτιμότερο να χρησιμοποιηθεί το μέγεθος R που περιλαμβάνει την ορίζουσα και το ίχνος της μήτρας αυτοσυσχέτισης: και μία εμπειρικά ορισμένη σταθερά, με. Η τιμή του, λοιπόν, εξαρτάται μόνο από τις ιδιοτιμές του πίνακα Α, ενώ, βάσει της τιμής του προκύπτουν τα παρακάτω συμπεράσματα: Το είναι θετικό με μεγάλο πλάτος για μία γωνία Το είναι αρνητικό με μεγάλο πλάτος για μία ακμή Το είναι μικρό για μια επίπεδη περιοχή Στην επόμενη εικόνα αναπαριστώνται οι παραπάνω περιπτώσεις: Εικόνα 2.7 Ταξινόμηση των σημείων μιας εικόνας βάσει του μεγέθους 41

42 Κεφάλαιο 2 Παρατήρηση: Στις περιοχές όπου για τις δύο ιδιοτιμές ισχύει, η προηγούμενη σχέση του δημιουργεί προβλήματα, γι αυτό προτάθηκε η χρήση του αρμονικού μέσου (harmonic mean). Δηλαδή: Στάδια Υλοποίησης του Αλγόριθμου Ανίχνευσης Harris Τα στάδια υλοποίησης του αλγόριθμου Harris συνοψίζονται στα εξής: Αρχικά, υπολογίζεται η πρώτη παράγωγος κατά τη διεύθυνση x ( ) και y ( ) με χρήση φίλτρων (Prewitt, Sobel κτλ.) Έπειτα, υπολογίζονται οι όροι,, ενώ, στο κάθε αποτέλεσμα εφαρμόζεται και ένα Γκαουσιανό φίλτρο εξομάλυνσης. Στη συνέχεια, υπολογίζεται ένα βαθμωτό μέγεθος που υποδηλώνει τη δύναμη των σημείων ενδιαφέροντος. Στην περίπτωσή μας,. Τέλος, εντοπίζεται η μέγιστη δύναμη του υποψήφιου σημείου ενδιαφέροντος, στη γειτονική περιοχή του, χρησιμοποιώντας τη μέθοδο του non-maximum suppression και, έτσι, προκύπτουν τα τελικά σημεία Εφαρμογή του αλγορίθμου Ηarris στη διπλωματική Για να εφαρμοστεί με επιτυχία η μέθοδος του edge detection έπρεπε αρχικά να γίνουν οι ακόλουθες ρυθμίσεις στις κάμερες: ανάλυση στα 640x480 pixels βίντεο στα 30 fps λήψη εικόνων σε grayscale μορφή(απαραίτητη προϋπόθεση για να μπορεί να επεξεργαστεί τις εικόνες ο αλγόριθμος Harris) Να τονιστεί ότι για τη διεξαγωγή των πειραμάτων χρησιμοποιήθηκαν 3 κάμερες. Ο λόγος χρησιμοποίησης μιας κάμερας επιπλέον αναφέρεται στην επόμενη ενότητα που αναλύεται η μέθοδος του color pattern matching. Στα παραδείγματα που ακολουθούν απεικονίζονται τα αποτελέσματα του αλγορίθμου Harris μόνο για δύο από τις κάμερες. Τυχαία επιλέχτηκαν δύο κάμερες (συγκεκριμένα τη πάνω και τη κάτω ) προκειμένου να γίνουν οι απαραίτητες 42

43 Κεφάλαιο 2 συγκρίσεις ώστε να δείξουμε τη διαφορά που υπήρχε στα αποτελέσματα από κάμερα σε κάμερα ανάλογα τη θέση της καθεμιάς. Εικόνα 2.8 Grayscale εικόνες όπως λαμβάνονται από τις κάμερες Για την υλοποίηση χρησιμοποιήθηκε η συνάρτηση Harris Corner Detector του vlfeat toolbox του Matlab. Η συγκεκριμένη συνάρτηση χρησιμοποιεί φίλτρο Prewitt και δέχεται τις παρακάτω παραμέτρους ως ορίσματα: i. Τhreshold: αντιπροσωπεύει την τιμή του κατωφλίου του αλγορίθμου ανίχνευσης ακμών Harris. Η επιλογή της τιμής αυτής είναι πολύ δύσκολη ειδικά στις περιπτώσεις που η παρουσία του θορύβου είναι έντονη. ii. iii. Sigma: αντιστοιχεί στην τιμή του συντελεστή εξομάλυνσης του φίλτρου Gauss. Η βέλτιστη τιμή αυτού είναι ίση με την μονάδα. Στις περιπτώσεις που ο θόρυβος είναι έντονος μπορεί να αυξηθεί η τιμή αυτού με κόστος εξάλειψη χρήσιμης πληροφορίας. Έχει διαπιστωθεί ότι αν αυξηθεί πολύ η τιμή αυτού δεν μπορεί ο αλγόριθμος ανίχνευσης ακμών Harris να προσδιορίσει χαρακτηριστικά σημεία. Radius: αντιστοιχεί στην ακτίνα της περιοχής της εικόνας που εξετάζεται για μη μέγιστη καταστολή. Έγιναν πολλές δοκιμές για διάφορες τιμές των παραμέτρων. Σκοπός ήταν να αναγνωρίζονται σημεία μόνο πάνω στις αρθρώσεις του ρομπότ αλλά και στον endeffector. Μάλιστα ιδανικά θα θέλαμε να εντοπίζονται ακριβώς ένα σημείο για την κάθε άρθρωση για να μην χρειάζονται περαιτέρω υπολογισμοί (φιλτράρισμα δηλαδή των ανεπιθύμητων σημείων). 43

44 Κεφάλαιο 2 Για sigma=6, thresh=1000 και radius=20 καταφέραμε να πάρουμε ακριβώς 5 σημεία (για κάθε μια άρθρωση και τον end-effector) στην εικόνα που μας δίνει η κάτω κάμερα. Εικόνα 2.9 Ανίχνευση σημείων για την εικόνα της κάτω κάμερας Παρατηρούμε ότι τα σημεία που βρέθηκαν προσδιορίζουν με κάποια ακρίβεια τις θέσεις των αρθρώσεων και του end-effector. Όμως, εφαρμόζοντας τις ίδιες τιμές των παραμέτρων για την εικόνα που παίρνει η πάνω κάμερα δεν πήραμε τα επιθυμητά αποτελέσματα: Εικόνα 2.10 Ανίχνευση σημείων για την εικόνα της πάνω κάμερας Παρατηρούμε ότι υπολογίστηκαν περισσότερα από 5 σημεία και μάλιστα κανένα δεν αντιπροσωπεύει τη θέση του end-effector. Από τα παραπάνω είναι εύκολο να διαπιστώσουμε ότι σε πρώτη φάση δεν αρκεί να γίνει σωστή επιλογή των παραμέτρων. Αν και για τη κάτω κάμερα επετεύχθη ο στόχος, αποτελεί πρόβλημα το γεγονός ότι για την πάνω κάμερα χρειάζονται διαφορετικές τιμές για τις παραμέτρους. Επιπλέον μπορούμε να πούμε ότι δεν επετεύχθη πολύ μεγάλη ακρίβεια στον εντοπισμό των θέσεων. Από την άλλη, έπειτα από δοκιμές που έγιναν αποδείχτηκε ότι για ίδιες τιμές των παραμέτρων, για μια συγκεκριμένη κάμερα, δεν είχαμε πάντα το επιθυμητό αποτέλεσμα για διάφορες θέσεις του εργαλείου. Γενικά υπάρχει αβεβαιότητα για το πόσα αλλά και ποιά σημεία εντοπίζονται κάθε φορά κατά την κίνηση του ρομπότ. 44

45 Κεφάλαιο 2 Έγινε η σκέψη να βρεθούν εκείνες οι ενιαίες (και για τις 2 κάμερες) τιμές των παραμέτρων που θα υπολογίζουν αρκετά σημεία πάνω στην εικόνα εξασφαλίζοντάς μας όμως ότι κάποια από αυτά θα περιγράφουν με μεγάλη ακρίβεια τη θέση των αρθρώσεων. Η λύση αυτή βέβαια απαιτεί περαιτέρω υπολογισμούς για το φιλτράρισμα των σημείων, ώστε να κρατούνται στο τέλος μόνο τα επιθυμητά γι αυτό και τελικά εγκαταλείφθηκε. Για τους παραπάνω λόγους καταλήξαμε στο συμπέρασμα ότι δεν είναι αρκετές οι ρυθμίσεις των καμερών (δεν αρκεί μια εικόνα να είναι μόνο grayscale). Για να αποφύγουμε λοιπόν τον εντοπισμό λανθασμένων ακμών που οδηγούν σε λάθος σημεία δοκιμάσαμε να κάνουμε την εικόνα πιο θολή. Η συγκεκριμένη διαμόρφωση για μια εικόνα είναι γνωστή ως blurring an image [30]. Το θόλωμα των εικόνων το πετύχαμε αλλάζοντας τις παραμέτρους των καμερών σε κατάλληλες τιμές ώστε στο τέλος, από όλο το ρομποτικό εργαλείο, να φαίνονται μόνο τα μαύρα τμήματα των αρθρώσεων. Βέβαια, το θόλωμα μιας εικόνας, μπορεί να επιτευχθεί και με τη χρήση κατάλληλου φίλτρου. Πειραματιστήκαμε με τις παραμέτρους των καμερών ώστε να πετύχουμε τη βέλτιστη εικόνα για τον αλγόριθμό μας. Για τιμές των παραμέτρων sigma=3,thresh=1500, και radius=10 πήραμε το παρακάτω αποτέλεσμα: Για την εικόνα που παίρνει η κάτω κάμερα: Εικόνα 2.11 Εφαρμογή του αλγορίθμου Harris σε Blurred εικόνες (εικόνα κάτω κάμερας) 45

46 Κεφάλαιο 2 Για την εικόνα που παίρνει η πάνω κάμερα: Εικόνα 2.12 Εφαρμογή του αλγορίθμου Harris σε Blurred εικόνες (εικόνα πάνω κάμερας) Παρατηρούμε ότι η μέθοδος εφαρμογής του αλγορίθμου Harris σε blurred εικόνες είναι πολύ πιο αποδοτική και ακριβής. Όλες οι αρθρώσεις καθώς και ο endeffector εντοπίζονται με μεγάλη ακρίβεια με τις ίδιες τιμές στις παραμέτρους και για τις 2 κάμερες και χωρίς να χρειάζονται επιπλέον υπολογισμοί (ανιχνεύονται ακριβώς 5 σημεία και στις 2 περιπτώσεις). Το μειονέκτημα αυτής της μεθόδου είναι ότι αν και οι κάμερες είναι ίδιες, χρειάστηκε να κάνουμε διαφορετικές ρυθμίσεις στην καθεμία ώστε η blurred εικόνα που θα προκύψει να είναι η βέλτιστη προς επεξεργασία. Επίσης παρατηρήθηκε το γεγονός ότι για διαφορετικές θέσεις του εργαλείου, το φίλτρο που υλοποιεί το blurring δεν δίνει κάθε φορά το βέλτιστο αποτέλεσμα ώστε να είναι εύκολος ο εντοπισμός των αρθρώσεων από τον αλγόριθμο Harris Συμπεράσματα Από τις δοκιμές που έγιναν συνολικά μπορούμε να καταλήξουμε στα εξής σε ότι αφορά την εφαρμογή της μεθόδου του edge detection στη διπλωματική αυτή για τον εντοπισμό των αρθρώσεων: Ο αλγόριθμος ανίχνευσης σημείων Harris είναι πολύ ευαίσθητος στις μεταβολές της αντίθεσης της εικόνας, αλλά ταυτόχρονα κάνει πολύ δύσκολη την επιλογή των κατωφλίων. Επίσης η ευαισθησία αυτή δεν μας επιτρέπει να μπορούμε να προβλέπουμε, ανάλογα με την περίπτωση, πόσα και ποιά σημεία θα ανιχνευθούν. 46

47 Κεφάλαιο 2 Για κάθε μέγεθος εικόνας κι ανάλογα με το επίπεδο θορύβου, ο συνδυασμός των παραμέτρων είναι τελείως διαφορετικός. Είναι πολύ δύσκολο να βρεθούν οι κατάλληλες παράμετροι που θα δίνουν αφενός καλά αποτελέσματα και στις 2 εικόνες και επιπλέον καλά αποτελέσματα και σε όλη τη διάρκεια της κίνησης του εργαλείου. Ακόμα και στη περίπτωση που για επεξεργασία χρησιμοποιούνται blurred images υπάρχει αβεβαιότητα για το αποτέλεσμα όταν το ρομπότ κινείται. Θα πρέπει το φίλτρο που υλοποιεί το blurring να προσαρμόζεται σε κάθε frame ανάλογα με τη θέση του εργαλείου ώστε να μας εξασφαλίζει ότι πάντα ο αλγόριθμος θα εντοπίζει και τις 4 αρθρώσεις μαζί με τον end-effector. Τέλος ένα μειονέκτημα που παρουσιάζει η μέθοδος του edge detection είναι ότι μπορεί να επεξεργάζεται μόνο grayscale images. To γεγονός αυτό δεν επιτρέπει τον διαχωρισμό της διαδικασίας εντοπισμού του end-effector από τις υπόλοιπες αρθρώσεις (η σημασία εντοπισμού του εξηγείται σε επόμενο κεφάλαιο όπου αναλύεται η αντίστροφη κινηματική). Για όλους τους παραπάνω λόγους εγκαταλείφθηκε η μέθοδος του edge detection. Ο σημαντικότερος λόγος που δεν προτιμήθηκε είναι η μεγάλη ευαισθησία του αλγορίθμου στις λεπτομέρειες της εικόνας, κάτι που καθιστά αδύνατη οποιαδήποτε πρόβλεψη για το πόσα και ποιά σημεία θα ανιχνεύονται κάθε φορά. Επιλέξαμε ο εντοπισμός της θέσης των αρθρώσεων να γίνεται μέσω της μεθόδου του Color Pattern Matching (CPM) που είναι μια template-based προσέγγιση. Η μέθοδος του CPM που αποδείχτηκε αρκετά πιο αποτελεσματική από αυτή του edge detection, παρουσιάζεται αναλυτικά στην επόμενη ενότητα. Στο σημείο αυτό πρέπει να τονιστεί ότι φροντίσαμε να επιλύσουμε το πρόβλημα της αντίστροφης κινηματικής με τέτοιο τρόπο ώστε να μπορούν να εφαρμοστούν και τα αποτελέσματα που μας δίνει ο αλγόριθμος Harris (επιστρέφει τη θέση των σημείων στην εικόνα σε pixel, ακριβώς όπως και η μέθοδος του CPM) Χρωματική Ταύτιση Προτύπων Εισαγωγικά στοιχεία Η μέθοδος που χρησιμοποιεί μια color image ως πρότυπο (template) με σκοπό να εντοπίζει συγκεκριμένα χαρακτηριστικά σε μια πηγαία εικόνα ονομάζεται Color Pattern Matching (CPM). Όπως έχει αναφερθεί, το color pattern matching είναι μια template-based προσέγγιση για την αναγνώριση σημείων. Είναι μια πολύ γρήγορη μέθοδος που μπορεί να προσφέρει τις απαραίτητες πληροφορίες σχετικά με την παρουσία ή μη των ζητούμενων σημείων στην πηγαία εικόνα (source image), τον αριθμό των matches που έχουν βρεθεί καθώς και που ακριβώς εντοπίζονται τα matches πάνω στην εικόνα. 47

48 Κεφάλαιο 2 Στις μέρες μας, η μέθοδος του color pattern matching έχει ευρεία εφαρμογή σε πληθώρα εφαρμογών, οι κυριότερες των οποίων είναι: Εφαρμογές που αφορούν ευθυγράμμιση (alignment), δηλαδή τον προσδιορισμό της θέσης και του προσανατολισμού ενός γνωστού αντικειμένου εντοπίζοντας συγκεκριμένα χαρακτηριστικά πάνω στην εικόνα. Τα χαρακτηριστικά αυτά είναι το σημείο αναφοράς για να γίνει η ταύτιση (matching). Εφαρμογές που αφορούν μετρήσεις (gauging), όπως μέτρηση μηκών, διαμέτρων, γωνιών, και άλλων διαστάσεων. Όταν οι μετρήσεις που παίρνονται από την πηγαία εικόνα ξεπερνάνε τα όρια ανοχής, το σημείο απορρίπτεται. Εφαρμογές επιθεώρησης (inspection) για την ανίχνευση ελαττωμάτων όπως είναι missing parts ή unreadable printing Επιλογή του κατάλληλου template image Αρχικός στόχος μας, στην παρούσα διπλωματική εργασία είναι ο εντοπισμός της θέσης των τεσσάρων αρθρώσεων του ρομπότ καθώς και του end-effector μέσω της μεθόδου του Color Pattern Matching (CPM). Τα δεδομένα που θα προκύψουν θα χρησιμοποιηθούν στη συνέχεια για την επίλυση του προβλήματος της αντίστροφης κινηματικής. Η μέθοδος του CPM, που αποδείχτηκε αρκετά πιο αποτελεσματική από αυτή του edge detection λόγω της δυνατότητας που μας δόθηκε να επιλέξουμε το κατάλληλο template. Η χρησιμοποίηση του βέλτιστου template αναλόγως την περίπτωση αποδεικνύεται καταλυτική για την καλή ανίχνευση σημείων σε μια εικόνα. Σε ότι αφορά τον εντοπισμό του end-effector βασιστήκαμε στην ιδέα που εφαρμόστηκε στη προηγούμενη διπλωματική των κ.ευαγγελίου και κ.γιαταγάνα [2]. Τοποθετήθηκε στην άκρη του ρομπότ ένα κόκκινο σημάδι. Έτσι χρησιμοποιώντας ως template image μια εικόνα 8x8 pixel, μόνο με κόκκινο χρώμα, καταφέραμε να έχουμε πάντα πολύ καλό εντοπισμό της πραγματικής θέσης του end-effector. Όμως, η πιο σημαντική απόφαση που έπρεπε να πάρουμε στη συνέχεια αφορούσε την επιλογή εκείνου του template image που κρίνεται πιο αποτελεσματικό για τον ακριβή εντοπισμό των αρθρώσεων του εργαλείου. Ύστερα από αρκετές δοκιμές καταλήξαμε να χρησιμοποιήσουμε μια εικόνα μόνο με μαύρο χρώμα διαστάσεων 8x8 pixel. Οι λόγοι που επιλέξαμε το συγκεκριμένο template είναι οι εξής: Δεν χρησιμοποιήθηκε το κόκκινο template που χρησιμοποιούμε για τον endeffector για να υπάρχει σαφής διαχωρισμός των matches που εντοπίζονται κατά την επεξεργασία της εικόνας. Ο λόγος που θέλουμε να υπάρχει αυτή η διαφοροποίηση είναι ότι η υλοποίηση της αντίστροφης κινηματικής έχει γίνει με τέτοιο τρόπο που η θέση του end-effector πρέπει να είναι πάντα 48

49 Κεφάλαιο 2 γνωστή. Γι αυτό και οι κάμερες έχουν ρυθμιστεί έτσι χρώμα να είναι σε όλες τις συνθήκες πάντα ευδιάκριτο. ώστε το κόκκινο Οι αρθρώσεις του εργαλείου αποτελούνται από συνδέσμους που εκ κατασκευής έχουν μαύρο χρώμα. Η επιλογή αυτή σε συνδυασμό με το άσπρο περιβάλλον της κατασκευής και την κατάλληλη ρύθμιση των καμερών προσφέρει την επιθυμητή αντίθεση ώστε το μαύρο χρώμα να είναι ευδιάκριτο και συνεπώς ο εντοπισμός της θέσης των αρθρώσεων επιτυχής. Επίσης, επιλέξαμε η αναζήτηση των επιθυμητών σημείων να μην είναι βασισμένη καθόλου σε σχήμα. Εισάγοντας και σχήμα στο template image ο αλγόριθμος γίνεται πιο αργός και μάλιστα δίνει χειρότερα αποτελέσματα αφού στις δοκιμές που κάναμε δεν εντοπίζονταν πάντα όλες τις αρθρώσεις. Τέλος υπήρξε και η ιδέα να ενσωματώσουμε πάνω στις αρθρώσεις μικρές χρωματιστές σφαίρες. Η ιδέα απορρίφθηκε γιατί με αυτόν τον τρόπο προσθέταμε επιπλέον βάρος στο λαπαροσκοπικό μας εργαλείο που πρέπει να είναι ιδιαίτερα ελαφρύ. Επιπλέον η ύπαρξη των σφαιρών σηματοδοτεί την επεξεργασία χρώματος και σχήματος ταυτόχρονα, κάτι που όπως αναφέρθηκε πιο πριν είναι ανεπιθύμητο. Για να εξασφαλίσουμε τον βέλτιστο εντοπισμό όλων των αρθρώσεων σε όλες τις δυνατές συνθήκες (π.χ. λήψη φωτογραφίας υπό μεγάλη γωνία) χρησιμοποιήθηκε η μικρότερη δυνατή διάσταση για το template image. Επιλέχθηκε ανάλυση 8x8 pixel διότι για μικρότερη ανάλυση ο αλγόριθμος (το vi του Labview) δεν δεχόταν την εικόνα ως έγκυρο template Αλγόριθμος IMAQ Match Color Pattern Για την υλοποίηση της μεθόδου CPM χρησιμοποιήσαμε το vi IMAQ Match Color Pattern (του Vision Development Module toolbox) του λογισμικού Labview. Το vi μας επιτρέπει να ρυθμίσουμε τις εξής παραμέτρους: Match mode: Η συγκεκριμένη ρύθμιση έχει 2 επιλογές. Shift Invariant: ο αλγόριθμος ψάχνει για το color template pattern υποθέτοντας ότι δεν έχει περιστραφεί περισσότερο από 4 μοίρες. Rotation Invariant: ο αλγόριθμος ψάχνει για το color template pattern χωρίς κανένα περιορισμό σε ενδεχόμενη περιστροφή του. Η παράμετρος αυτή ήταν από τις πιο σημαντικές στην διεξαγωγή των πειραμάτων. Αν και αναμέναμε να έχουμε καλύτερα αποτελέσματα επιλέγοντας τη ρύθμιση rotation invariant, παρατηρήσαμε ότι ο αλγόριθμος δεν εντόπιζε πάντα όλες τις αρθρώσεις. Γι αυτό επιλέξαμε τη ρύθμιση Shift Invariant με αποτέλεσμα ο αλγόριθμος να λειτουργεί εξαιρετικά. 49

50 Κεφάλαιο 2 Match feature Mode: Έχει 3 επιλογές ανάλογα με το χαρακτηριστικό στο οποίο θέλουμε να βασιστεί ο αλγόριθμος για την αναζήτηση των σημείων. Color and Shape Color Shape Με δεδομένο ότι χρησιμοποιήσαμε ως template image μια εικόνα που έχει μόνο ένα χρώμα (κόκκινο ή μαύρο) επιλέξαμε τη ρύθμιση Color. Minimum Match Score: Εκφράζει τη μικρότερη τιμή (score) που μπορεί να έχει ένα match ώστε να θεωρείται έγκυρο. Το εύρος των τιμών που μπορεί να πάρει ένα match ανήκει στο διάστημα [0,1000]. Η παράμετρος αυτή παίζει καθοριστικό ρόλο στο να μη χάνονται μαύρα σημεία που μπορεί να ανήκουν στις αρθρώσεις. Για τα πειράματά μας επιλέξαμε την τιμή 100 που είναι κοντά στο μηδέν για να μη χάνουμε κανένα μαύρο σημάδι ακόμα και στις περιπτώσεις που μετά βίας φαίνονται από τις κάμερες. Search Strategy: Η παράμετρος αυτή αφορά την τακτική που θα ακολουθήσει ο αλγόριθμος στην αναζήτηση των σημείων και καθορίζεται από τις μεταβλητές step size, subsampling και color information. Mας δίνει τη δυνατότητα 4 επιλογών: Conservative Balanced Agrresive Very aggressive Να τονίσουμε ότι και οι 4 επιλογές μας έδιναν τον ίδιο αριθμό matches στις ίδιες θέσεις πάνω στην εικόνα. Η διαφορά έγκειται στην ταχύτητα, με την επιλογή very aggressive να είναι η πιο γρήγορη και η επιλογή conservative η πιο αργή (περίπου 1,5 sec διαφορά μεταξύ τους). Στην περίπτωσή μας, με δεδομένο ότι θέλαμε γρήγορη απόκριση του αλγορίθμου, εφόσον πρόκειται για πείραμα σε πραγματικό χρόνο, αλλά παράλληλα και ακριβή αποτελέσματα, επιλέξαμε balanced τακτική αναζήτησης. Color Sensitivity: Αφορά την ευαισθησία του αλγορίθμου στα χρώματα, δηλαδή στην ικανότητα να διακρίνει χρώματα που έχουν πολύ κοντινές αποχρώσεις. Η παράμετρος μπορεί να πάρει δύο τιμές, high ή low. Με δεδομένο ότι δίνουν τα ίδια αποτελέσματα με μόνη διαφορά στην ταχύτητα απόκρισης, για τα πειράματά μας επιλέξαμε low color sensitivity με στόχο να αυξήσουμε την ταχύτητα εκτέλεσης του αλγορίθμου. Μinimum Contrast: Καθορίζει την μικρότερη αναμενόμενη διαφορά μεταξύ της μεγαλύτερης τιμής της φωτεινότητας και της μικρότερης τιμής της φωτεινότητας των color pixels. Δεν επηρεάζει καθόλου τα αποτελέσματα για τα matches οπότε αφήσαμε την παράμετρο στην default τιμή της. 50

51 Κεφάλαιο 2 Color score Weight: Καθορίζει τη συμμετοχή % του color score στο τελικό color pattern matching score. Η παράμετρος μπορεί να πάρει τιμές στο διάστημα [0,1000]. Στα πειράματά μας δεν παίζει τόσο σημαντικό ρόλο, οπότε τη ρυθμίσαμε στην τιμή 500. Number of matches: Η παράμετρος αυτή αφορά τον αριθμό των matches που θέλουμε να εντοπίζει ο αλγόριθμος για τη κάθε κάμερα. Μπορεί να εντοπίζονται περισσότερα σημεία από αυτά που ορίζει η παράμετρος αλλά, στο τέλος, ο αλγόριθμος κρατά τόσα σημεία όσα ορίζει η παράμετρος και πιο συγκεκριμένα αυτά με το μεγαλύτερο color score. Στα πειράματά μας επιλέξαμε να εντοπίζονται 4 matches για τα μαύρα σημεία (ένα για την κάθε άρθρωση) και 1 match για τον end-effector. Συνολικά δηλαδή 5 matches για την πάνω κάμερα και 5 matches για την πλάγια κάμερα. Να τονίσουμε ότι, εκ πρώτης όψεως, ο εντοπισμός της άρθρωσης 1 φαίνεται να είναι περιττός αφού η πρώτη άρθρωση βρίσκεται στην πάκτωση που υπάρχει στην ξύλινη βάση όπου και έχουμε ορίσει το αδρανειακό σύστημα συντεταγμένων. Άρα οι πραγματικές συντεταγμένες της πρώτης άρθρωσης θα είναι πάντα γνωστές και ίσες με τις συντεταγμένες του σημείου Ο(0,0,0). Όμως, ήταν απαραίτητο να εντοπίζεται και η άρθρωση 1 γιατί οι ρυθμίσεις των καμερών επιλέγηκαν ώστε τα 4 μαύρα σημάδια να έχουν πάντα το μεγαλύτερο color score. Αν επιλέγαμε 3 matches αντί για 4 θα βρίσκαμε 3 μαύρα σημεία αλλά δεν θα μπορούσαμε να ξέρουμε σε ποιές από τις 4 αρθρώσεις αντιστοιχούν. Αν επιλέξουμε περισσότερα από 4 matches δεν υπάρχει τρόπος να ξεχωρίσουμε ποιά 4 από τα μαύρα σημεία αντιστοιχούν στους μαύρους συνδέσμους των αρθρώσεων και ποιά όχι. Επιλέξαμε λοιπόν ακριβώς 4 matches για τους εξής τρείς λόγους: Με δεδομένο ότι τα μαύρα σημάδια των αρθρώσεων θα έχουν σχεδόν πάντα το μεγαλύτερο color score, το πιθανότερο είναι, σε κάθε στιγμιότυπο, και τα 4 μαύρα σημάδια που εντοπίζονται στην εικόνα να αντιστοιχούν στις 4 αρθρώσεις. Η επιλογή αυτή ταυτόχρονα εξυπηρετεί και ένα άλλο σκοπό. Τα 5 matches (4+1) από την πλάγια κάμερα και 5 matches από την πάνω κάμερα συνδυάζονται ακριβώς μεταξύ τους ώστε να προκύψουν οι RWC (Real World Coordinates) των 4 αρθρώσεων και του end-effector (Ο τρόπος υπολογισμού των RWC καθώς και ο λόγος χρησιμοποίησης κάμερας σε πλάγια θέση για την εξαγωγή αυτών αναφέρεται λεπτομερώς στην ενότητα ). Για να λειτουργεί σωστά το VI Joint Pairing που δημιουργήσαμε για τον εξής λόγο: 51

52 Κεφάλαιο 2 Για να εξασφαλισθεί η σωστή αντιστοιχία των matches από την πάνω και πλάγια κάμερα ώστε να προκύψουν σωστές RWC, αρκεί να γνωρίζουμε για την κάθε κάμερα σε ποια άρθρωση αντιστοιχούν τα 4 μαύρα σημεία που εντοπίζονται. Για το σκοπό αυτό δημιουργήθηκε το VI Joint Pairing που εφαρμόζεται σε κάθε κάμερα ξεχωριστά. Χρειάζεται πάντα σαν είσοδο ακριβώς 5 matches και σαν έξοδο δίνει ποιο match αντιστοιχεί σε ποια άρθρωση. Στη συνέχεια θα αναφερθεί μόνο ο τρόπος λειτουργίας του συγκεκριμένου VI. Λεπτομέρειες για τον τρόπο υλοποίησης υπάρχουν στο παράρτημα. Τέλος πρέπει να τονιστεί ότι το Vi IMAQ Match Color Pattern μας έδινε και την επιλογή ρύθμισης κάποιων ακόμα παραμέτρων οι οποίες όμως δεν επηρεάζουν καθόλου τα αποτελέσματα και γι αυτό δεν αναφέρονται Αλγόριθμος Αντιστοίχισης Αρθρώσεων (Joint Pairing VI) Το VI Joint Pairing που δημιουργήθηκε, σαν είσοδο έχει τα pixels (σε 2 διαστάσεις) που προσδιορίζουν τη θέση καθενός από τα 5 matches (4 μαύρα+1 κόκκινο) πάνω στην επεξεργασθείσα εικόνα. Η αντιστοιχία για το πoιό από τα 4 μαύρα σημεία αντιστοιχεί σε ποια από τις 4 πραγματικές αρθρώσεις (1,2,3 και 4) γίνεται πολύ απλά χρησιμοποιώντας την ευκλείδια απόσταση. Το επόμενο σχήμα είναι διαφωτιστικό: Εικόνα 2.13 Τρόπος λειτουργίας του αλγορίθμου Joint Pairing Συγκεκριμένα, προσδιορίζονται αρχικά οι 4 αποστάσεις καθενός μαύρου σημείου (άρθρωσης) από το κόκκινο σημείο που αναφέρεται στον end-effector και στη συνέχεια οι αποστάσεις τοποθετούνται σε φθίνουσα σειρά. Η μεγαλύτερη απόσταση σίγουρα θα αντιστοιχεί στην άρθρωση 1, η αμέσως μικρότερη στην άρθρωση 2 κ.ο.κ. Να σημειωθεί ότι το VI Joint Pairing, σε κάθε στιγμιότυπο, εφαρμόζεται στα δεδομένα της κάθε κάμερας ξεχωριστά. 52

53 Κεφάλαιο Υπολογισμός των πραγματικών συντεταγμένων (RWC) Ο υπολογισμός των πραγματικών συντεταγμένων (Real World Coordinates- RWC) των αρθρώσεων αλλά και του end-effector του ρομποτικού μας εργαλείου είναι απαραίτητος για να μπορεί να πραγματοποιηθεί στη συνέχεια έλεγχος της θέσης του εργαλείου. Λέγοντας ότι πρέπει να υπολογιστούν οι RWC εννοούμε ότι πρέπει να μπορούν να υπολογίζονται σε κάθε καρέ οι συντεταγμένες ενός σημείου στο πεδίο όρασης των καμερών σε σχέση με τις συντεταγμένες στον πραγματικό κόσμο δεδομένου ότι μας δίνονται οι συντεταγμένες των εικονοστοιχείων (pixel). Για το σκοπό αυτό σχεδιάστηκε ένας προσαρμοσμένος αλγόριθμος βαθμονόμησης της εικόνας που βασίζεται κυρίως στον κανόνα των ομοίων τριγώνων: Εικόνα 2.14 Κανόνας όμοιων τριγώνων Ένα πολύ σημαντικό στοιχείο για τον υπολογισμό των RWC είναι η παράμετρος η οποία παρέχει όλες τις απαραίτητες πληροφορίες για την πραγματική απόσταση με ένα απλό τύπο μετατροπής: Ωστόσο, από τη στιγμή που το τελικό σημείο του βραχίονα κινείται στο τρισδιάστατο χώρο, το θεωρούμενο επίπεδο προβολής κάθε κάμερας αλλάζει σε κάθε καρέ και, επομένως, και η παράμετρος mm/pixel αλλάζει ανάλογα. Για το λόγο αυτό χρησιμοποιείται ο κανόνας των όμοιων τριγώνων καθώς δίνουν τη σχέση που συνδέει το προβολικό επίπεδο της βάσης d απέναντι από κάθε κάμερα με το προβολικό επίπεδο του ακραίου σημείου c. Από το παραπάνω σχήμα προκύπτει ότι η ζητούμενη σχέση είναι: Η διαδικασία υπολογισμού των παραμέτρων αυτών για κάθε κάμερα έχει περιγραφεί αναλυτικά στην διπλωματική εργασία των κ. Ευαγγελίου και κ. Γιαταγάνα [2]. Αυτό που πρέπει να τονιστεί εδώ είναι ότι, η παραπάνω διαδικασία, 53

54 Κεφάλαιο 2 που αναφέρεται στον προσδιορισμό των RWC για ένα σημείο, στη παρούσα διπλωματική εφαρμόζεται ξεχωριστά για τη κάθε μία άρθρωση και τον end-effector. Στο σημείο αυτό είναι απαραίτητο να αναφερθεί μια πολύ σημαντική αλλαγή που κάναμε στην κατασκευή μας και έπαιξε πολύ καθοριστικό ρόλο στον υπολογισμό σωστών RWC. Ήταν αναγκαίο να προστεθεί μια τρίτη κάμερα στο σύστημα, η οποία τοποθετήθηκε σε πλάγια θέση όπως φαίνεται στην επόμενη εικόνα: Εικόνα 2.15 Τοποθέτηση κάμερας στην πλάγια θέση, δεξιά της κατασκευής Ο λόγος για τον οποίο κατέστη αναγκαία αυτή η προσθήκη έχει άμεση σχέση με την ανάγκη υπολογισμού ακριβέστερων πραγματικών συντεταγμένων που θα χρησιμοποιηθούν μετέπειτα στην επίλυση της αντίστροφης κινηματικής. Ο αλγόριθμος που υλοποιήσαμε για την επίλυση του προβλήματος της αντίστροφης κινηματικής απαιτεί τη γνώση για το ποιές αρθρώσεις έχουν εντοπιστεί. Αυτό συνεπάγεται ότι δε χρειάζεται να γνωρίζουμε τη θέση όλων των αρθρώσεων κάθε χρονική στιγμή αλλά αρκεί να γνωρίζουμε, για τα μαύρα σημεία που έχουν εντοπιστεί, σε ποιά άρθρωση αντιστοιχεί τα καθένα. Η επόμενη εικόνα εξηγεί καλύτερα το πρόβλημα: Εικόνα 2.16 Το ρομπότ σε οριζόντια θέση όπως το βλέπει η κάτω κάμερα Στο συγκεκριμένο στιγμιότυπο το ρομπότ μας βρίσκεται σχεδόν στην οριζόντια θέση που ορίζει το επίπεδο που είναι τοποθετημένη η κάτω κάμερα. Είναι προφανές ότι πέρα από την αναγνώριση της θέσης του end-effector, καμία άρθρωση δεν είναι δυνατόν να εντοπιστεί εκτός της πρώτης (της οποίας όμως τη θέση γνωρίζουμε πάντα). Αυτό βέβαια δεν αποτελεί πρόβλημα για την επίλυση 54

55 Κεφάλαιο 2 της Α.Κ. αφού τέτοιες περιπτώσεις έχουν προβλεφθεί και αντιμετωπίζονται κατάλληλα. Το μεγάλο μας πρόβλημα είναι ότι δεν υπάρχει τρόπος ο αλγόριθμος να γνωρίζει ότι το ένα μαύρο match που θα επιστρέψει το CPM αντιστοιχεί στην άρθρωση 1 (στο σημείο αυτό να αναφέρουμε ότι η θέση των matches που βρίσκει το CPM επιστρέφεται σε pixels της πηγαίας εικόνας με κέντρο συντεταγμένων την πάνω αριστερή γωνία της εικόνας). Γι αυτό τον λόγο ήταν αναγκαία η προσθήκη της συγκεκριμένης κάμερας. Στη πλάγια θέση που τοποθετήθηκε η κάμερα, σε όποια θέση και να είναι το ρομπότ μπορούν να εντοπιστούν και οι 4 αρθρώσεις. Οπότε, με το VI Joint Pairing που αναφέραμε πιο πάνω, μπορεί να γίνεται κάθε φορά η αντιστοίχιση των μαύρων σημείων με τις αρθρώσεις. Επιπλέον το ίδιο πλεονέκτημα με την πλάγια κάμερα παρουσιάζει και η κάμερα που είναι τοποθετημένη στη πάνω θέση, αφού σε όποια θέση και να είναι το ρομπότ, πάντα μπορούν να εντοπιστούν και οι 4 αρθρώσεις. Τελικά τα 5 σημεία από την πλάγια και 5 σημεία από τη πάνω κάμερα συνδυάζονται μεταξύ τους με σκοπό να προκύψουν οι RWC των αρθρώσεων αλλά και του end-effector. Καθοριστικό είναι το γεγονός ότι τα δεδομένα της πλάγιας κάμερας επηρεάζουν τον υπολογισμό των RWC που θα προκύψουν από τα δεδομένα της πάνω κάμερας και το αντίστροφο. Για το λόγο αυτό, ήταν απαραίτητη η προσθήκη της πλάγιας κάμερας, αφού στην κάτω θέση υπάρχουν τυφλά σημεία στον εντοπισμό των αρθρώσεων συνεπώς είναι επικίνδυνο να υπολογιστούν λανθασμένες συντεταγμένες. Για το σύστημά μας λοιπόν, ουσιαστικά καταργείται η λειτουργία της κάτω κάμερας και το ρόλο της αναλαμβάνει η πλάγια κάμερα. Τέλος έχει προβλεφθεί ακόμα και η όχι τόσο πιθανή περίπτωση που κάποια από τις δύο βασικές κάμερες (η πλάγια ή η πάνω ) ή ακόμα και οι 2 ταυτόχρονα, ενώ είναι ρυθμισμένες να εντοπίζουν τα 4 επικρατέστερα μαύρα σημεία (με το μεγαλύτερο color score), αυτές δεν μπορούν να εντοπίσουν 4 μαύρα σημεία στην εικόνα (στις περιπτώσεις αυτές ο αλγόριθμος CPM δίνει ως αποτέλεσμα NaN (not a number)). Στην ακραία αυτή περίπτωση φροντίσαμε να τίθεται σε λειτουργία και η κάμερα που βρίσκεται στην κάτω θέση (θα λειτουργεί ως η τρίτη, επιπλέον κάμερα για το σύστημα) η οποία θα τροφοδοτεί τον αλγόριθμο με τα σημεία-αρθρώσεις που δεν μπορούν να εντοπιστούν από τις άλλες 2 κάμερες. Αν επιλέξουμε να μην ενεργοποιούμε την κάμερα, ο αλγόριθμος θα χρησιμοποιήσει matches του προηγούμενου frame ώστε να συμπληρωθεί ο αριθμός των 4 matches που απαιτούνται για να τρέξουν τα VIs Find Distances και Joint Pairing. Στο σημείο αυτό, πριν προχωρήσουμε στην επόμενη ενότητα πρέπει να γίνει η εξής διευκρίνιση που θα χρειαστεί ιδιαίτερα στην ανάλυση των επόμενων κεφαλαίων. Μέχρι τώρα έχουμε υλοποιήσει τρεις διαφορετικούς αλγορίθμους που αφορούν το image processing. Ο πρώτος αλγόριθμος αφορά την υλοποίηση του color pattern matching (CPM), o δεύτερος αλγόριθμος την αντιστοίχιση των αρθρώσεων με τα μαύρα σημεία του CPM (Joint Pairing VI) και ο τρίτος αλγόριθμος αφορά τον υπολογισμό των RWC. Από εδώ και στο εξής, προς χάριν ευκολίας, θα αναφερόμαστε και στους τρεις αλγορίθμους (σαν να είναι ένας αλγόριθμος που υλοποιεί συνολικά το image processing) με το όνομα αλγόριθμος CPM. 55

56 Κεφάλαιο Ρύθμιση Καμερών με βάση τον αλγόριθμο CPM Σύστημα βίντεο Η ανάλυση (resolution) των καμερών που χρησιμοποιήθηκε για τη διεξαγωγή των πειραμάτων είναι 640x480 pixels και το video ρυθμίστηκε στα 30 fps που είναι η μέγιστη δυνατή συχνότητα για τις κάμερες. Αν και οι συγκεκριμένες κάμερες προσέφεραν ακόμα μεγαλύτερη ανάλυση από τα 640x480 pixels, ο λόγος που επιλέχτηκε η χαμηλότερη είναι το υπολογιστικό κόστος αφού όσο υψηλότερη ανάλυση χρησιμοποιείται τόσο μεγαλύτερη υπολογιστική ισχύς απαιτείται για να γίνει η επεξεργασία της εικόνας. Προτιμήθηκε λοιπόν να έχουμε χαμηλότερη ποιότητα εικόνας χωρίς αυτό να έχει σοβαρή επίπτωση στη μετέπειτα επεξεργασία της. Η μέθοδος του Color Pattern Matching λειτουργούσε ικανοποιητικά με την ανάλυση των 640x480 pixels, ενώ παράλληλα καταφέραμε να κερδίσουμε σε ταχύτητα στην εκτέλεση του αλγορίθμου. Τύπος Εικόνας (image type) Ένα άλλο ζήτημα που μας απασχόλησε στο τομέα του image processing είναι αν η εικόνα προς επεξεργασία θα είναι color image (RGB) ή θα είναι grayscale image. Είναι γνωστό ότι οι εικόνες αποθηκεύονται σε 2 διαστάσεων πίνακες οι οποίοι αναπαριστούν τη θέση όλων των pixels. Όλες οι εικόνες έχουν μία Χ και μία Υ μεταβλητή που τις χαρακτηρίζει και στις οποίες μεταβλητές αποθηκεύονται color values. Στην περίπτωση που έχουμε ασπρόμαυρη εικόνα (binary), σε κάθε στοιχείο του πίνακα που αναπαριστά την εικόνα θα αποθηκευτούν 0 ή1. Αν έχουμε grayscale image τότε θα έχουμε ένα εύρος τιμών για τις διαφορετικές αποχρώσεις (range of values),ενώ αν έχουμε RGB image θα έχουμε πολλά σύνολα τιμών για τα διάφορα χρώματα. Απ όλα τα παραπάνω καταλαβαίνουμε ότι όσο λιγότερο χρώμα χρησιμοποιείται για την απεικόνιση μια εικόνας τόσο πιο γρήγορα μπορεί να γίνει η επεξεργασία της από τον υπολογιστή. Έχοντας λοιπόν ως στόχο να εξασφαλίσουμε γρήγορη επεξεργασία των εικόνων, οι πρώτες δοκιμές έγιναν χρησιμοποιώντας grayscale images. Παρατηρήθηκε όμως το πρόβλημα ότι στις περισσότερες των περιπτώσεων το VI που υλοποιεί τον αλγόριθμο του CPM δεν δεχόταν ως είσοδο grayscale image (εμφανιζόταν το σφάλμα not a color image ). Αυτό το σφάλμα σε συνδυασμό με το γεγονός ότι αποφασίστηκε να χρησιμοποιηθεί κόκκινου χρώματος template για τον end-effector συνετέλεσαν ώστε να χρησιμοποιηθούν τελικά RGB εικόνες στο image processing. Παράμετροι των καμερών Για να εκμεταλλευτούμε καλύτερα το γεγονός ότι επιλέχτηκε μαύρο template για τον εντοπισμό των αρθρώσεων, ήταν απαραίτητο να ρυθμίσουμε τις παραμέτρους των καμερών. Στόχος είναι στις εικόνες που παίρνουν οι κάμερες να 56

57 Κεφάλαιο 2 υπάρχει μεγάλη αντίθεση μεταξύ του άσπρου φόντου του χώρου εργασίας και του εργαλείου, ώστε οι μαύροι σύνδεσμοι να ξεχωρίζουν. Έτσι ρυθμίσαμε τις παραμέτρους των καμερών στις εξής τιμές: Brightness (ρυθμίστηκε στην τιμή 180) Contrast (1.4) Saturation (100) Sharpness (100) White Balance (5100) Να τονίσουμε ότι οι παραπάνω επιλογές έγιναν με γνώμονα να είναι ευδιάκριτο το κόκκινο σημάδι που βάλαμε στον end-effector για τον εντοπισμό της θέσης του. Το αποτέλεσμα από την ρύθμιση των καμερών φαίνεται στις επόμενες εικόνες. Εικόνα 2.17 H εικόνα που παίρνει η κάτω κάμερα Εικόνα 2.18 Η εικόνα που παίρνει η πάνω κάμερα Εικόνα 2.19 Η εικόνα που παίρνει η πλάγια κάμερα 57

58 Κεφάλαιο 2 Περικοπή Εικόνας (image cropping) Ένα άλλο πρόβλημα που έπρεπε να αντιμετωπίσουμε είναι το field of view της πάνω κάμερας. Πιο συγκεκριμένα, η κάμερα που βρίσκεται στο επάνω μέρος της συνολικής κατασκευής έχει τοποθετηθεί σε τέτοιο σημείο που στο field of view της ανήκουν και σημεία εκτός της κατασκευής (εκτός των τετράγωνων άσπρων πλακών). Αυτό όμως δημιουργεί πρόβλημα κατά την επεξεργασία της εικόνας διότι ο αλγόριθμος του CPM, λανθασμένα, εντοπίζει ως κυρίαρχα μαύρα σημεία (με το μεγαλύτερο color score), σημεία εκτός της συνολικής κατασκευής με αποτέλεσμα να μην προσδιορίζεται σωστά η πραγματική θέση των αρθρώσεων. Για το σκοπό αυτό αναπτύχθηκε ένα VΙ με στόχο να αποκόπτει κάθε φορά, πριν από την επεξεργασία, τα ανεπιθύμητα τμήματα της εικόνας που αναφέρονται σε σημεία εκτός της κατασκευής. Οι επόμενες εικόνες απεικονίζουν τα αποτελέσματα του αλγορίθμου CPM πριν και μετά το Image cropping. Εικόνα 2.20 Εφαρμογή του image cropping στην εικόνα που λαμβάνει η πάνω κάμερα 58

59 Κεφάλαιο Παραδείγματα εφαρμογής του συνολικού αλγορίθμου που αφορά το image processing στο πείραμά μας Πείραμα Πρώτο Κρατώντας το ρομπότ ακίνητο σε μια τυχαία θέση για περίπου 10 δευτερόλεπτα δοκιμάσαμε το συνολικό αλγόριθμο που υλοποιεί το κομμάτι του image processing στη συγκεκριμένη διπλωματική. Με κόκκινο χρώμα απεικονίζονται τα σημεία που υπολόγισε ο αλγόριθμος για την άρθρωση 2 κατά τη διάρκεια των 10 δευτερολέπτων (είναι οι θέσεις της άρθρωσης) Με πράσινο χρώμα απεικονίζονται ομοίως τα σημεία για την άρθρωση 3 Με κυανό χρώμα απεικονίζονται τα σημεία για την άρθρωση 4 Με μωβ χρώμα απεικονίζονται τα σημεία για τον end-effector Να σημειωθεί ότι στο σχήμα έχουν σημειωθεί με κύκλο τα σημεία που περιγράφουν λανθασμένες θέσεις των αρθρώσεων. Με γκρι γραμμές έχουμε σχεδιάσει τα σταθερά μέρη του ρομπότ δίνοντας μια εικόνα για τη θέση που είχε στο 3D χώρο στο συγκεκριμένο πείραμα. Με αυτό τον τρόπο γίνεται και το σχήμα πιο κατανοητό. Τα αποτελέσματα που πήραμε για τη θέση των αρθρώσεων αλλά και του end-effector φαίνονται στη παρακάτω εικόνα: Εικόνα 2.21 Τα αποτελέσματα που πήραμε για τη θέση των αρθρώσεων για το πρώτο πείραμα Παρατηρούμε ότι, αν και το ρομπότ παραμένει ακίνητο κατά τη διάρκεια του πειράματος, τα σημεία που παριστάνουν τη θέση μιας άρθρωσης σε αυτά τα 10 δευτερόλεπτα δεν ταυτίζονται απόλυτα. Αυτό οφείλεται στον αλγόριθμο CPM που δεν εντοπίζει σε κάθε frame το ίδιο μαύρο σημείο πάνω σε μια άρθρωση. Οι διαφορές στις περισσότερες περιπτώσεις δεν ξεπερνάνε τα 5 χιλιοστά, όσο δηλαδή είναι και το μήκος της κάθε άρθρωσης. Από τη στιγμή που οι αρθρώσεις έχουν όγκο ο εντοπισμός της θέσης τους θα έχει ακρίβεια μερικών χιλιοστών. 59

60 Κεφάλαιο 2 Βέβαια, παρατηρούμε ότι, μερικά από τα σημεία που έχουν υπολογιστεί από τον αλγόριθμο, περιγράφουν λανθασμένες θέσεις των αρθρώσεων (είναι τα σημεία με κύκλο στο παραπάνω σχήμα). Τα συγκεκριμένα σημεία είναι εύκολο να εντοπιστούν ποια είναι αφού το ρομπότ, κατά τη διάρκεια του πειράματος, έμεινε ακίνητο. Τέλος, το γεγονός ότι τα σημεία που περιγράφουν τη θέση του end-effector παρουσιάζουν μια μικρή διασπορά, οφείλεται στη μεγάλη διάμετρο του κόκκινου σημαδιού (περίπου 20mm) που υπάρχει πάνω στον end-effector. Πείραμα Δεύτερο Αυτή τη φορά δοκιμάσαμε την αποτελεσματικότητα του συνολικού αλγορίθμου για μια τυχαία τροχιά του εργαλείου. Τα αποτελέσματα που πήραμε για τη θέση των αρθρώσεων αλλά και του end-effector φαίνονται στην παρακάτω εικόνα: Εικόνα 2.22 Τα αποτελέσματα που πήραμε για τη θέση των αρθρώσεων για το δεύτερο πείραμα Και σε αυτή τη περίπτωση, παρατηρούμε ότι κάποια από τα σημεία που έχουν υπολογιστεί και αναπαριστούν τη πραγματική θέση των αρθρώσεων κατά τη διάρκεια της κίνησης, αποκλείεται να ανήκουν στους αντίστοιχους χώρους εργασίας των αρθρώσεων. Το γεγονός αυτό οφείλεται σε λάθος εντοπισμό κάποιων μαύρων σημείων από τον αλγόριθμο CPM αλλά επίσης και σε ενδεχόμενο κακό συγχρονισμό των καμερών, που έχουν σαν αποτέλεσμα λάθος υπολογισμό των RWC. Έτσι προκύπτουν σημεία που δεν έχουν καμία σχέση με την πραγματική τροχιά που ακολούθησε το ρομπότ. Παρ όλες τις προσπάθειες για βέλτιστη ρύθμιση των καμερών και του αλγορίθμου, ήταν αδύνατο να αποτρέψουμε εντελώς το φαινόμενο αυτό. Ειδικά στη συγκεκριμένη περίπτωση που το ρομπότ εκτέλεσε τροχιά τα αποτελέσματα είναι λίγο χειρότερα σε σχέση με πριν. Για το λόγο αυτό δημιουργήθηκε ένας αλγόριθμος για την αντιμετώπιση του προβλήματος ο οποίος φιλτράρει τα ανεπιθύμητα σημεία ώστε να μην χρησιμοποιούνται μετέπειτα κατά την επίλυση της αντίστροφης κινηματικής. Ο αλγόριθμος αυτός παρουσιάζεται αναλυτικά στο επόμενο κεφάλαιο. 60

61 Κεφάλαιο 2 Πείραμα Τρίτο Τέλος, θελήσαμε να ελέγξουμε την αποτελεσματικότητα του αλγορίθμου σε διαφορετικές συνθήκες φωτισμού. Συγκεκριμένα, δοκιμάσαμε να πάρουμε μετρήσεις αρχικά εκτελώντας το πείραμα πρωινές ώρες και έπειτα εκτελώντας το βραδινές ώρες, που οι συνθήκες φωτισμού αλλάζουν. Πήραμε τα παρακάτω αποτελέσματα: Εικόνα 2.23 Εικόνες των καμερών σε πρωινές συνθήκες φωτισμού Εικόνα 2.24 Εικόνες των καμερών σε βραδινές συνθήκες φωτισμού Από τη σύγκριση των αποτελεσμάτων παρατηρούμε τα εξής: Μεταξύ των φωτογραφιών που πάρθηκαν πρωί και βράδυ υπάρχει σημαντική διαφορά στην εικόνα. Η διαφορά αυτή εκφράζεται με το απαλό μπλε χρώμα στο φόντο που εμφανίζεται στις βραδινές φωτογραφίες. Για την ίδια κάμερα, ο εντοπισμός των μαύρων σημείων πάνω στις αρθρώσεις δεν γίνεται στα ίδια σημεία στις 2 περιπτώσεις. Το σημαντικό βέβαια είναι ότι, οι ρυθμίσεις των καμερών επιλέχτηκαν με τέτοιο τρόπο (βέλτιστες) που, ανεξαρτήτως των συνθηκών φωτισμού που επικρατούν κάθε φορά, επιτρέπουν πάντα τον ακριβή εντοπισμό και των 4 αρθρώσεων. Αυτή η αναισθησία της μεθόδου color pattern matching στις συνθήκες φωτισμού αποτέλεσε και τον κυριότερο λόγο που την επιλέξαμε έναντι της μεθόδου του edge detection για τα πειράματά μας. Η μέθοδος CPM μας έδινε καλά αποτελέσματα και για τις τρεις κάμερες κρατώντας σταθερές τις τιμές των παραμέτρων των καμερών σε όλη τη διάρκεια της κίνησης του ρομποτικού μας εργαλείου σε αντίθεση με την μέθοδο του edge detection που εξαρτιόταν σημαντικά από τις συνθήκες φωτισμού λόγω του blurring που έπρεπε να εφαρμόζεται σε κάθε καρέ. 61

62 Κεφάλαιο Επίλογος του κεφαλαίου Στο κεφάλαιο αυτό, αρχικά, έγινε μια σύντομη αναφορά στον τομέα της υπολογιστικής όρασης, στη χρησιμότητά της στη επιστήμη της Ρομποτικής αλλά και στους τρόπους εφαρμογής της σε συστήματα ελέγχου. Στην παρούσα διπλωματική χρησιμοποιήθηκε η μέθοδος της ψηφιακής επεξεργασίας εικόνας με στόχο τα αποτελέσματά της να αποτελέσουν ανάδραση στο συνολικό σύστημα ελέγχου της κίνησης του ρομποτικού μας εργαλείου. Εφαρμόστηκαν δύο τεχνικές ψηφιακής επεξεργασίας εικόνας, αυτή του edge detection και του color pattern matching. Από τις δύο, στο τέλος προτιμήθηκε η μέθοδος του CPM διότι κρίθηκε πιο αποτελεσματική για τα δεδομένα των πειραμάτων μας. Έπειτα αναλύθηκε ο τρόπος χρησιμοποίησης του αλγορίθμου CPM που έχει ως στόχο να εντοπίζει σε κάθε frame, που παίρνουν οι κάμερες, τις αρθρώσεις του ρομπότ αλλά και τον end-effector. Για τον εντοπισμό των αρθρώσεων χρησιμοποιήθηκε μαύρο template ενώ για τον εντοπισμό του end-effector κόκκινο. Τα συγκεκριμένα templates αποδείχτηκαν, ύστερα από δοκιμές, τα πιο αποτελεσματικά. Έγινε η σκέψη να τοποθετηθούν πολύχρωμα σημάδια και σχήματα πάνω στις αρθρώσεις αλλά απορρίφθηκε γιατί αφενός ο αλγόριθμος γίνεται πιο πολύπλοκος, αφετέρου υπάρχουν κατασκευαστικοί περιορισμοί. Είναι σημαντικό να τονιστεί ότι έχει προβλεφθεί o end-effector να μπορεί να εντοπίζεται πάντα από τον αλγόριθμο CPM. Αυτό θα αποδειχτεί ιδιαίτερα καθοριστικό αργότερα, στο κεφάλαιο που αναλύεται η αντίστροφη κινηματική του ρομπότ. Τέλος εξηγήθηκε ο λόγος προσθήκης κάμερας σε πλάγια θέση (πρόκειται ουσιαστικά για αλλαγή θέσης της βασικής για τον αλγόριθμο κάμερας, από την κάτω θέση στην πλάγια θέση). Η αλλαγή αυτή ήταν απαραίτητη για τον καλύτερο εντοπισμό και των 4 αρθρώσεων του ρομπότ στις περισσότερες των περιπτώσεων (αν όχι πάντα) από τον αλγόριθμο του CPM. Το σκέλος του εντοπισμού των αρθρώσεων αφορά αρχικά την εύρεση μαύρων σημείων στην εικόνα, έπειτα την ταυτοποίηση για το ποιό σημάδι αντιστοιχεί σε ποια άρθρωση και τέλος τον υπολογισμό των RWC που εκφράζουν τη θέση των αρθρώσεων αλλά και του end-effector (της πρώτης άρθρωσης δεν χρειάζεται αφού η θέση της είναι γνωστή). Όπως έχουμε τονίσει ο αλγόριθμός μας σε κάθε frame υπολογίζει RWC και για τις 4 αρθρώσεις με βάση τα matches. Αν και έχουν γίνει οι απαραίτητες ρυθμίσεις στις κάμερες και στον αλγόριθμο ώστε τα matches που εντοπίζονται να αντιστοιχούν στις περισσότερες των περιπτώσεων και στις 4 αρθρώσεις, υπάρχει πάντα ο κίνδυνος να γίνει λανθασμένος υπολογισμός κάποιας θέσης. Το γεγονός αυτό είναι ανεπιθύμητο καθώς λανθασμένος εντοπισμός των αρθρώσεων έχει σαν συνέπεια λανθασμένη επίλυση της αντίστροφης κινηματικής και, συνεπώς, αναποτελεσματικό έλεγχο του εργαλείου μας. Γι αυτό το λόγο, στο επόμενο κεφάλαιο αναλύεται η μέθοδος που ακολουθήθηκε για την αποφυγή χρησιμοποίησης λανθασμένων πληροφοριών από τη μέθοδο του CPM, όσον αφορά τη θέση των αρθρώσεων. 62

63 63 Κεφάλαιο 2

64 Κεφάλαιο 3 Κεφάλαιο 3 ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΧΩΡΟΥ ΕΡΓΑΣΙΑΣ ΤΩΝ ΑΡΘΡΩΣΕΩΝ ΣΤΗΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΤΟΥ ΝΟΜΟΥ ΕΛΕΓΧΟΥ 3.1 Η έννοια του χώρου εργασίας ενός ρομποτικού εργαλείου Με τον όρο χώρος εργασίας ενός ρομποτικού βραχίονα εννοούμε όλα εκείνα τα σημεία του 3D χώρου τα οποία μπορεί να προσεγγίσει η αρπάγη (end-effector) του βραχίονα. Για το ρομποτικό μας εργαλείο o χώρος εργασίας [2] φαίνεται στο παρακάτω γράφημα του Matlab: Εικόνα 3.1 Ο χώρος εργασίας του βραχίονά μας Έχει επικρατήσει, όταν αναφερόμαστε στο χώρο εργασίας ενός ρομποτικού βραχίονα, να εννοείται ο χώρος εργασίας της αρπάγης. Ωστόσο, χρησιμοποιώντας τον ίδιο ορισμό, μπορούμε, αντίστοιχα, να ορίσουμε και το χώρο εργασίας για κάθε άρθρωση του βραχίονα. Στόχος του κεφαλαίου αυτού είναι να αναλυθεί ο τρόπος με τον οποίο εκμεταλλευτήκαμε το χώρο εργασίας των 4 αρθρώσεων του ρομποτικού εργαλείου μας με σκοπό να βελτιστοποιήσουμε τον νόμο ελέγχου που είναι υπεύθυνος για την κίνηση του ρομπότ στο 3D χώρο. Πρέπει να σημειωθεί ότι, αν και υπολογίστηκε ο χώρος εργασίας του endeffector, τελικά δεν κρίθηκε απαραίτητο να χρησιμοποιηθεί στον τελικό αλγόριθμο ελέγχου της κίνησης του εργαλείου αφού φροντίσαμε η θέση του end-effector να μπορεί να προσδιορίζεται πάντα και με ακρίβεια σε κάθε στιγμιότυπο που λαμβάνουν οι κάμερες.

65 Κεφάλαιο Περιγραφή του προβλήματος Όπως αναλύθηκε στο προηγούμενο κεφάλαιο, η εφαρμογή της μεθόδου του CPM θα μας δώσει ως αποτέλεσμα 4 ταιριάσματα (matches) τα οποία περιγράφουν τη θέση των μαύρων σημείων στις εικόνες που παίρνουν οι κάμερες. Έπειτα υπολογίζονται οι πραγματικές συντεταγμένες και των τεσσάρων αρθρώσεων έχοντας κάνει την παραδοχή ότι πάντα, και τα 4 matches που βρίσκει ο αλγόριθμος CPM αντιστοιχούν στις 4 πραγματικές αρθρώσεις του ρομπότ. Η τελευταία πρόταση όμως δεν είναι παρά μια υπόθεση αφού δεν υπάρχει κανένας τρόπος να εξασφαλίσουμε πάντοτε την πλήρη αντιστοιχία μεταξύ μαύρων σημαδιών και αρθρώσεων. Δεν υπάρχει καμία βεβαιότητα ότι, οι συντεταγμένες που υπολογίζονται σε κάθε frame από τον αλγόριθμο με βάση τα matches, είναι όντως και οι πραγματικές συντεταγμένες των αρθρώσεων. Το πρόβλημα, λοιπόν, που πρέπει να λυθεί στο συγκεκριμένο κεφάλαιο είναι η δυνατότητα να μπορούμε να γνωρίζουμε όχι μόνο πόσες αλλά και ποιές αρθρώσεις έχουν εντοπίσει οι κάμερες. Η επίλυση αυτού του προβλήματος είναι απαραίτητη για τη συνέχεια, για τη δημιουργία ενός αποτελεσματικού αλγόριθμου επίλυσης του προβλήματος της αντίστροφης κινηματικής. Σ αυτό το σημείο υπεισέρχεται η ανάγκη χρησιμοποίησης του χώρου εργασίας (workspace) της κάθε άρθρωσης. Ο ρόλος του βασίζεται στην παραπάνω πρόταση που είναι υπογραμμισμένη. Γνωρίζοντας το χώρο εργασίας κάθε άρθρωσης μπορεί να γίνεται η εξακρίβωση, κάθε φορά, για το ποια (άρα και πόσα) από τα 4 σετ συντεταγμένων που έχουν υπολογιστεί από τον αλγόριθμο CPM όντως αντιστοιχούν (ή τουλάχιστον είναι πολύ πιθανό να αντιστοιχούν) σε συντεταγμένες κάποιας άρθρωσης. 3.3 Υπολογισμός του χώρου εργασίας της κάθε άρθρωσης Έγιναν διάφορες σκέψεις για τον τρόπο με τον οποίο θα μπορούσε, αφενός να βρεθεί ο χώρος εργασίας [31] της κάθε άρθρωσης και αφετέρου για τον τρόπο που θα εκμεταλλευόμασταν αυτό το χώρο εργασίας για να γίνεται η εξακρίβωσηταυτοποίηση των υπολογισμένων συντεταγμένων με τις πραγματικές. Σε πρώτη φάση, επιλέξαμε να προσδιορίσουμε το χώρο εργασίας κάθε άρθρωσης εφαρμόζοντας μια περισσότερο πρακτική μέθοδο παρά μαθηματική (δηλαδή υπολογισμός με λύση κλειστής μορφής). Χρησιμοποιώντας τις εξισώσεις της ορθής κινηματικής βρέθηκαν σε μορφή πινάκων τα πιθανά σημεία στα οποία μπορεί να κινηθεί η κάθε άρθρωση του ρομπότ. Αυτά τα σημεία θα αποτελούν και το workspace της κάθε άρθρωσης. Βέβαια είναι προφανές ότι τα σημεία που αποτελούν το workspace μιας άρθρωσης είναι άπειρα σε αριθμό γι αυτό και επιλέξαμε να διακριτοποιήσουμε τις γωνίες θ 1, θ 2, θ 3, θ 4, θ 5, θ 6, θ 7, και θ 8 που αποτελούν τις μεταβλητές των εξισώσεων της ορθής κινηματικής. 65

66 Κεφάλαιο 3 Επιπλέον, με δεδομένο ότι οι αρθρώσεις του εργαλείου μας έχουν όγκο, επιλέξαμε να μην τις αντιμετωπίσουμε ως σημεία, για να μπορέσουμε να πετύχουμε μεγαλύτερη ακρίβεια. Έτσι διακριτοποιήσαμε και τη διάσταση (μήκος) της άρθρωσης που φαίνεται στο διπλανό σχήμα χρησιμοποιώντας μια βοηθητική μεταβλητή (μεταβλητή u) στις κινηματικές εξισώσεις. Ουσιαστικά η μεταβλητή u είναι, για την Εικόνα 3.2 Η διάσταση της άρθρωσης που διακριτοποιήθηκε κάθε άρθρωση, η Denavit-Hartenberg παράμετρος. Ένα ζήτημα που προέκυψε είναι το βήμα της διακριτοποίησης των γωνιών αλλά και του μήκους της άρθρωσης. Είναι φανερό ότι όσο μικρότερο βήμα χρησιμοποιείται τόσα περισσότερα σημεία υπολογίζονται από τις εξισώσεις και, συνεπώς, τόσο μεγαλύτερη ακρίβεια έχουμε στο workspace (αφού θα περιγράφεται από περισσότερα σημεία). Να θυμίσουμε ότι η άρθρωση που χρησιμοποιούμε στη συγκεκριμένη διπλωματική επιτρέπει στην κάθε γωνία να πάρει τιμές στο διάστημα [-20 ο, 20 ο ]. Επίσης, μεταξύ δύο διαδοχικών αρθρώσεων, το μήκος u μπορεί να πάρει τιμές στο διάστημα [45.4, 50.5] mm. Έγιναν αρκετές δοκιμές για διάφορα βήματα γωνιών αλλά και μήκους με σκοπό να σχηματιστεί όσο το δυνατόν γίνεται πιο ακριβές workspace για την κάθε άρθρωση. Τα αποτελέσματα παρουσιάζονται στους επόμενους πίνακες: 66

67 Κεφάλαιο 3 Για την άρθρωση 2 Workspace of Joint 2 Μήκος Γωνίες Αριθμός σημείων που απαρτίζουν το workspace Βήμα u (mm) θ1 ( o ) θ2 ( o ) T (πίνακας) Δεν έγιναν περισσότερες δοκιμές διότι το βήμα στη τρίτη δοκιμή είναι αρκετά μικρό ώστε να έχουμε πολύ καλή ακρίβεια. Μια αντιπροσωπευτική εικόνα για το χώρο εργασίας της άρθρωσης 2 φαίνεται παρακάτω: Εικόνα 3.3 Ο χώρος εργασίας της άρθρωσης 2 Με μπλε χρώμα χώρος εργασίας της άρθρωσης Με κόκκινο χρώμα το αδρανειακό σύστημα συντεταγμένων Ο(0,0,0) 67

68 Κεφάλαιο 3 Για την άρθρωση 3 Workspace of Joint 3 Μήκος Γωνίες Αριθμός σημείων που απαρτίζουν το workspace Βήμα u (mm) θ1( o ) θ2( o ) θ3( o ) θ4( o ) F (πίνακας) Δεν έγιναν περισσότερες δοκιμές διότι αν και μπορούμε να πετύχουμε ακόμα μεγαλύτερη ακρίβεια, ο πίνακας F που εκφράζει τον αριθμό των σημείων που αποτελούν το workspace παίρνει πάρα πολύ μεγάλες διαστάσεις, κάτι που δημιουργεί πρόβλημα σε περαιτέρω υπολογισμούς. Μια αντιπροσωπευτική εικόνα για το χώρο εργασίας της άρθρωσης 3 φαίνεται παρακάτω: Εικόνα 3.4 Ο χώρος εργασίας της άρθρωσης 3 68

69 Κεφάλαιο 3 Για την άρθρωση 4 Workspace of Joint 4 Μήκος Γωνίες Αριθμός σημείων που απαρτίζουν το workspace Βήμα u (mm) θ1( o ) θ2( o ) θ3( o ) θ4( o ) θ5( o ) θ6( o ) G (πίνακας) Από τον παραπάνω πίνακα παρατηρούμε ότι στην τελευταία περίπτωση ο αριθμός των σημείων του χώρου εργασίας έχει γίνει πάρα πολύ μεγάλος χωρίς να έχουμε εξασφαλίσει μεγάλη ακρίβεια (βήμα γωνιών 2 ο ). Παρ όλα αυτά, δεν έγινε προσπάθεια να επιτευχθεί μεγαλύτερη ακρίβεια από εκείνη της περίπτωσης 6 για ευνόητους λόγους. Μια αντιπροσωπευτική εικόνα για το χώρο εργασίας της άρθρωσης 4 φαίνεται παρακάτω: Εικόνα 3.5 Ο χώρος εργασίας της άρθρωσης 4 69

70 Κεφάλαιο 3 Στην επόμενη εικόνα φαίνονται οι χώροι εργασίας και των τριών αρθρώσεων στο ίδιο γράφημα: Εικόνα 3.6 Οι χώροι εργασίας και των τριών αρθρώσεων (2,3 και 4) 3.4 Αξιοποίηση του χώρου εργασίας της κάθε άρθρωσης στο νόμο ελέγχου Έχοντας υπολογίσει τους χώρους εργασίας, στη συνέχεια στόχος είναι να γίνεται η απαραίτητη εξακρίβωση ότι οι υπολογισμένες από τον αλγόριθμο συντεταγμένες είναι έγκυρες (δηλαδή αντιστοιχούν σε πραγματικές συντεταγμένες των αρθρώσεων). Εικόνα 3.7 Σύστημα κλειστού βρόχου Μέθοδος βασισμένη στην ευκλείδια απόσταση Για να επιτευχθεί ο προαναφερθείς στόχος χρησιμοποιήθηκε αρχικά η ευκλείδια απόσταση των υπολογισμένων συντεταγμένων από τα σημεία του workspace. Συγκεκριμένα, η μέθοδος που ακολουθήθηκε είναι η εξής: Για κάθε άρθρωση υπολογίζουμε όλες τις αποστάσεις που δημιουργούνται μεταξύ του σημείου του αλγόριθμου (για την 70

71 Κεφάλαιο 3 εκάστοτε άρθρωση) και των σημείων που απαρτίζουν τον αντίστοιχο χώρο εργασίας. Έπειτα συγκρίνουμε όλες τις αποστάσεις μεταξύ τους για να βρούμε τη μικρότερη. Επιλέγουμε ένα κατώφλι α που εκφράζει ανοχή (toleration). Αν η μικρότερη απόσταση που βρήκαμε πριν, είναι μικρότερη ή ίση του κατωφλίου α τότε θεωρούμε ότι το σημείο που μας έχει δώσει ο αλγόριθμος είναι μέσα στο αντίστοιχο workspace της εκάστοτε άρθρωσης. Άρα το σημείο του αλγόριθμου είναι έγκυρο και μπορεί να χρησιμοποιηθεί στη συνέχεια για την επίλυση της αντίστροφης κινηματικής. Συμπεράσματα για τη μέθοδο που ακολουθήθηκε: Η ακρίβεια στα αποτελέσματά μας εξαρτάται από 2 παράγοντες, το βήμα γωνιών και το κατώφλι α. Μεγαλύτερη ακρίβεια οδηγούσε αυτομάτως σε μεγαλύτερους χρόνους εκτέλεσης. Φροντίσαμε λοιπόν να έχουμε ισορροπία ανάμεσα στους 2 αυτούς παράγοντες. Παρατηρήσαμε ότι, επιλέγοντας ένα σχετικά μικρό κατώφλι στις περιπτώσεις των αρθρώσεων 2 και 3 πήραμε καλά αποτελέσματα, διότι το workspace που είχε υπολογιστεί ήταν αρκετά ακριβές. Ενδεικτικά, αναφέρουμε ότι σε δοκιμές που κάναμε, για ακρίβεια α=1mm, το 72% των σημείων που έδινε ο αλγόριθμος CPM προέκυπταν έγκυρα σημεία, για ακρίβεια α=5mm έγκυρα προέκυπταν το 78% και τέλος, για ακρίβεια α=10mm έγκυρα προέκυπταν το 87% των συνολικών σημείων. Στις δοκιμές που κάναμε όμως για την άρθρωση 4, ακόμα και με πολύ μικρό κατώφλι α, δεν προέκυπταν τα επιθυμητά αποτελέσματα. Αυτό οφείλεται στη μικρή ακρίβεια με την οποία υπολογίστηκε ο αντίστοιχος χώρος εργασίας. Μεγαλύτερη ακρίβεια αυτομάτως οδηγούσε σε πολύ μεγάλους χρόνους εκτέλεσης (αποτρεπτικούς). Είναι πιθανό πολλές φορές να χάσουμε σημεία που βρίσκονται στα boundaries του workspace εξαιτίας κακής επιλογής του παράγοντα α Από τα παραπάνω συμπεράσματα ήταν φανερό ότι έπρεπε να αναζητήσουμε μια πιο αποτελεσματική μέθοδο ως προς την ακρίβεια και την ταχύτητα εκτέλεσής της, ώστε οι δύο αυτοί παράγοντες (κατώφλια και βήμα διακριτοποίησης των γωνιών) να μην είναι αντικρουόμενοι. Το πρόβλημα έγκειται στο γεγονός ότι οι χρόνοι εκτέλεσης είναι ανάλογοι του πλήθους των σημείων που απαρτίζουν το εκάστοτε workspace. Σκεφτήκαμε, λοιπόν, να περιορίσουμε το πλήθος των πράξεων και συνεπώς το υπολογιστικό κόστος εφαρμόζοντας την επόμενη μέθοδο. 71

72 Κεφάλαιο Μέθοδος βασισμένη στην hausdorff distance Για να γίνει πιο κατανοητή η επεξήγηση της μεθόδου ας θεωρήσουμε ότι έχουμε το χώρο εργασίας της δεύτερης άρθρωσης. Το πρώτο βήμα της συγκεκριμένης μεθόδου είναι ο υπολογισμός μόνο των συνοριακών σημείων που απαρτίζουν το workspace της άρθρωσης. Ας ονομάσουμε Κ το σημείο (θέση της άρθρωσης) που μας δίνει ο αλγόριθμος CPM προς εξακρίβωση. Εικόνα 3.8 Συνοριακά σημεία του χώρου εργασίας Με μπλε χρώμα συνοριακά σημεία του χώρου εργασίας Με κόκκινο χρώμααδρανειακό σύστημα συντεταγμένων (S) Με πράσινο χρώμα το σημείο που μας δίνει ο αλγόριθμος προς εξακρίβωση (K) Έχοντας βρει τα συνοριακά σημεία, στη συνέχεια υπολογίζουμε τα concave hulls για κάθε μία συνοριακή επιφάνεια του χώρου εργασίας. Επόμενο βήμα της μεθόδου είναι να αναγνωριστεί ποια επιφάνεια βλέπει το σημείο K που υπολογίζει ο αλγόριθμος CPM κάθε φορά. Με το όρο βλέπει εννοούμε εκείνη τη συνοριακή επιφάνεια του Workspace που βρίσκεται πιο κοντά στο σημείο. Για παράδειγμα, για το σημείο Κ, η επιφάνεια που βλέπει είναι αυτή που φαίνεται με κίτρινο χρώμα στο σχήμα: Εικόνα 3.9 Η πιο κοντινή συνοριακή επιφάνεια για το σημείο Κ 72

73 Κεφάλαιο 3 Τέλος, υπολογίζουμε τη hausdorff distance [32] του σημείου Κ από τη συνοριακή επιφάνεια (υπολογίζουμε δηλαδή τη μικρότερη απόσταση του σημείου Κ από το σύνολο σημείων που απαρτίζουν τη συνοριακή επιφάνεια). Την hausdorff distance που θα βρούμε, τη συγκρίνουμε με ένα κατώφλι α. Αν είναι μικρότερη ή ίση από το κατώφλι σημαίνει πως το σημείο ανήκει στο χώρο εργασίας της συγκεκριμένης άρθρωσης. Έτσι, με τη μέθοδο αυτή έχουμε καταφέρει να μειώσουμε σημαντικά τον αριθμό των υπολογισμών που απαιτούνται για την εξαγωγή της απόφασης για το αν το σημείο Κ θεωρείται έγκυρο. Την ίδια διαδικασία εφαρμόζουμε και για τις υπόλοιπες αρθρώσεις του ρομπότ. Συμπεράσματα: Με την παραπάνω μέθοδο ο χρόνος εκτέλεσης του αλγορίθμου μειώθηκε σημαντικά αφού το πρόβλημα έγινε αρκετά πιο απλό (ελαττώθηκαν σημαντικά οι υπολογισμοί). Σε ότι αφορά το θέμα της ακρίβειας δεν υπάρχει κάποια βελτίωση. Έχουμε ακριβώς τα ίδια αποτελέσματα με την προηγούμενη μέθοδο (αναλύθηκε στη παράγραφο 3.4.1) αφού δεν έχουμε διορθώσει τα προβλήματα που αντιμετωπίζαμε πριν. Η διακριτοποίηση των γωνιών που έχει επιλεγεί για τον σχηματισμό των workspaces εξακολουθεί να παίζει το σημαντικότερο ρόλο. Εξίσου σημαντική βέβαια, είναι και η επιλογή του κατωφλίου α. Ένα σημαντικό ζήτημα είναι ποιος θα είναι ακριβής ορισμός της συνάρτησης που θα υπολογίζει την hausdorff distance. Η hausdorff distance είναι περισσότερο μια θεωρητική έννοια και ανάλογα με το πρόβλημα, αλλάζει και ο τρόπος ορισμού της. Επιπλέον στη μέθοδο αυτή τίθεται και το θέμα για το πόσο εύκολα μπορεί να αναγνωριστεί ποια επιφάνεια βλέπει το σημείο Κ. Από τα παραπάνω καταλήγουμε στο συμπέρασμα ότι ούτε η συγκεκριμένη μέθοδος προσφέρει κάποιο ικανοποιητικό αποτέλεσμα για τα πειράματά μας. Αν και βελτιώσαμε τον αλγόριθμο στο θέμα που αφορά το συνολικό χρόνο εκτέλεσης που χρειάζεται, προβλήματα συνεχίζουν να υπάρχουν. Μάλιστα, για ορισμένα βήματα της μεθόδου παρουσιάστηκε ιδιαίτερη δυσκολία στην υλοποίησή τους. Συνεπώς, έπρεπε να αναζητήσουμε κάποια άλλη μέθοδο πιο αποτελεσματική Μέθοδος βασισμένη στον υπολογισμό του convex hull της κάθε άρθρωσης Η μέθοδος αυτή αποδείχτηκε η πιο αποτελεσματική σε σχέση με τις προηγούμενες για το πρόβλημα που θέλουμε να λύσουμε. Βασίζεται εξ ολοκλήρου στον υπολογισμό των convex hulls [33] [34] των τεσσάρων αρθρώσεων του ρομποτικού μας εργαλείου (το convex hull για τον end-effector δεν χρειάστηκε να χρησιμοποιηθεί). 73

74 Κεφάλαιο 3 Πριν αναλύσουμε όμως τον τρόπο χρησιμοποίησης των convex hull των αρθρώσεων με τον οποίο γίνεται η απαραίτητη εξακρίβωση ότι οι υπολογισμένες από τον αλγόριθμο συντεταγμένες είναι έγκυρες, είναι καλό να αναφερθούν ορισμένα εισαγωγικά στοιχεία για την έννοια του convex hull τα οποία θα βοηθήσουν στη μετέπειτα κατανόηση του προβλήματος H έννοια του Convex Set Στον ευκλείδειο χώρο, ένα αντικείμενο χαρακτηρίζεται ως convex αν, για κάθε ζεύγος σημείων που βρίσκονται μέσα στο αντικείμενο, οποιοδήποτε σημείο πάνω στην ευθεία γραμμή που τα συνδέει βρίσκεται μέσα στο αντικείμενο. Ο ορισμός αυτός μπορεί να γενικευτεί σε περισσότερες από 2 διαστάσεις. Η λέξη convex προέρχεται από την αγγλική ορολογία και σημαίνει κυρτός. Η έννοια της κυρτότητας έχει σχέση με το είδος των γωνιών. Μια γωνία φ χαρακτηρίζεται ως κυρτή όταν ανήκει στο διάστημα. Για παράδειγμα, τα πολύγωνα που σχηματίζονται μόνο από κυρτές γωνίες χαρακτηρίζονται ως convex πολύγωνα. Τα πολύγωνα που είναι non-convex (μία γωνία τουλάχιστον είναι μη-κυρτή) έχει επικρατήσει να λέγονται concave [35]. Αν θέλουμε να δώσουμε έναν ακριβή μαθηματικό ορισμό για το τι είναι ένα convex set (κυρτό σύνολο) μπορούμε να το ορίσουμε ως εξής: Έστω ένα διάνυσμα στο χώρο των πραγματικών αριθμών (ο Ευκλείδιος χώρος περιλαμβάνεται). Ένα σύνολο C στο χαρακτηρίζεται ως convex εάν για όλα τα x και y στο C και όλα τα το σημείο βρίσκεται στο σύνολο C. Επιπλέον ένα σύνολο C χαρακτηρίζεται ως απόλυτα convex εάν είναι convex και ισορροπημένο (balanced) [36]. Στις επόμενες εικόνες φαίνεται το παράδειγμα δύο σχημάτων στις 2 διαστάσεις που το ένα είναι convex ενώ το άλλο όχι. Εικόνα 3.10 α) Ένα convex σύνολο σημείων β) Ένα non-convex σύνολο (concave set) 74

75 Κεφάλαιο 3 Ο ορισμός του πότε ένα αντικείμενο είναι convex είναι απαραίτητος για να ορίσουμε στη συνέχεια την έννοια του Convex hull Ορισμός του Convex Hull Στον Ευκλείδιο χώρο, με τον όρο Convex hull ενός συνόλου Χ σημείων, εννοούμε το μικρότερο convex set που περιέχει τα Χ αυτά σημεία. Εκ πρώτης όψεως, ο ορισμός αυτός μπορεί να φαίνεται ότι δεν βγάζει νόημα. Είναι εύλογο να γεννηθεί η απορία γιατί να πρέπει να υπάρχει ένα μοναδικό ελάχιστο convex σύνολο που να περιέχει τα Χ, για κάθε Χ ; Εάν θέλουμε λοιπόν να δώσουμε έναν πιο ακριβή και κατανοητό ορισμό, ως convex hull μπορεί να οριστεί η τομή όλων των convex sets που εμπεριέχουν τα Χ σημεία ή αλλιώς, ως το σύνολο όλων των convex συνδυασμών (convex combinations) των σημείων στο Χ. Ο όρος convex combination αναφέρεται σε ένα γραμμικό συνδυασμό σημείων (μπορεί να είναι διανύσματα ή βαθμωτά μεγέθη) που όλοι οι συντελεστές είναι μη αρνητικοί αριθμοί και έχουν άθροισμα ίσο με 1. Στο σημείο αυτό είναι καλό να παρουσιάσουμε ένα απλό παράδειγμα που εξηγεί τα όσα έχουμε αναφέρει έως τώρα. Έστω το σύνολο σημείων C στις 2 διαστάσεις που απεικονίζεται με κόκκινο χρώμα: Εικόνα 3.11 Το σύνολο σημείων C Το convex hull τoυ συνόλου σημείων C θα είναι το convex set που φαίνεται με μπλε χρώμα. Εικόνα 3.12 Το convex hull του συνόλου σημείων C 75

76 Κεφάλαιο 3 Ο υπολογισμός του convex hull ενός συνόλου σημείων αποτελεί ένα από τα θεμελιώδη προβλήματα της υπολογιστικής γεωμετρίας. Η δυσκολία που παρουσιάζει το συγκεκριμένο πρόβλημα έγκειται στην ανάγκη να κατασκευαστεί μια όχι απλά σαφής αλλά παράλληλα και επαρκής αναπαράσταση του απαιτούμενου κυρτού σχήματος που αποτελεί το Convex hull. Μέχρι σήμερα έχουν αναπτυχθεί διάφοροι αλγόριθμοι για τον υπολογισμό του convex hull σε πολλές γλώσσες προγραμματισμού, οι οποίοι συνεχώς εξελίσσονται με σκοπό να είναι πιο γρήγοροι και αποτελεσματικοί. Το πόσο πολύπλοκος είναι ένας αλγόριθμος συχνά προσδιορίζεται από τον όρο n και τον όρο h. O όρος n εκφράζει τον αριθμό των σημείων των οποίων θέλουμε να υπολογίσουμε το convex hull και ο όρος h τα σημεία που δημιουργούν το convex hull. Τέλος, ο χρόνος υπολογισμού του convex hull είναι σημαντική παράμετρος για έναν αλγόριθμο. Για περιπτώσεις που έχουμε σημεία σε δύο ή και σε τρείς διαστάσεις, οι λεγόμενοι output-sensitive αλγόριθμοι υπολογίζουν το convex hull n σημείων σε χρόνο Για περιπτώσεις που βρισκόμαστε στις d διαστάσεις όπου d>3, ο αναμενόμενος χρόνος υπολογισμού ενός convex hull είναι, που είναι η χειρότερη περίπτωση από άποψη πολυπλοκότητας του προβλήματος. Στην παρούσα διπλωματική εργασία χρησιμοποιήσαμε τη συνάρτηση convhulln της βασικής βιβλιοθήκης του matlab για τον υπολογισμό του convex hull, όπου χρειάστηκε. Περισσότερες λεπτομέρειες για την επιλογή της συγκεκριμένης συνάρτησης καθώς και τον τρόπο εφαρμογής της κατά την πειραματική διαδικασία αναφέρονται στην επόμενη υποενότητα Υπολογισμός των Convex Hull των αρθρώσεων Αναφερόμενοι στο convex hull μιας άρθρωσης εννοούμε τον κυρτό εκείνο χώρο που σχηματίζεται από όλα τα πιθανά σημεία του 3D χώρου στα οποία μπορεί να βρεθεί η άρθρωση (τα σημεία που ανήκουν στο χώρο εργασίας της δηλαδή). Είναι σημαντικό να διευκρινιστεί ότι, για να γίνεται κάθε φορά η απαιτούμενη εξακρίβωση για το αν οι υπολογισμένες συντεταγμένες είναι έγκυρες, εκείνο που χρειάζεται να γνωρίζουμε είναι, όχι το convex hull αλλά το χώρο εργασίας (workspace) της άρθρωσης. Συνεπώς, η ανάγκη υπολογισμού του convex hull στη μέθοδο αυτή είναι έμμεση. Με την συγκεκριμένη προσέγγιση καταφέραμε να εκμεταλλευτούμε το γεγονός ότι το convex hull ενός συνόλου σημείων μπορεί να υπολογιστεί πολύ εύκολα και γρήγορα, αποφεύγοντας τις πολλές και πολύπλοκες πράξεις που συναντήσαμε στις προηγούμενες μεθόδους. Να σημειωθεί ότι το convex hull για τον end-effector αποφασίστηκε να μην χρησιμοποιηθεί. Ο λόγος είναι ότι έχουμε εξασφαλίσει, η θέση του end-effector να μπορεί να εντοπίζεται με ακρίβεια σε κάθε στιγμιότυπο μέσω κατάλληλων ρυθμίσεων που αναφέρθηκαν στο κεφάλαιο 2. Συνεπώς, δεν υπάρχει τόσο μεγάλη ανάγκη εξακρίβωσης των υπολογισμένων συντεταγμένων για τη θέση του endeffector, όπως υπάρχει για τις υπόλοιπες αρθρώσεις. Είναι προτιμότερο λοιπόν να 76

77 Κεφάλαιο 3 μην χρησιμοποιηθεί το συγκεκριμένο convex hull καταφέρνοντας να μειώσουμε έτσι το υπολογιστικό κόστος για τον συνολικό αλγόριθμο. Η διαδικασία που ακολουθήθηκε για τον υπολογισμό του convex hull κάθε άρθρωσης είναι η εξής: Μέσω της συνάρτησης convhulln [37] που ανήκει στη βασική βιβλιοθήκη του matlab υπολογίζουμε τα convex hull κάθε άρθρωσης ξεχωριστά. Η συνάρτηση αυτή σαν είσοδο παίρνει τα σημεία εκείνα των οποίων το convex hull θέλουμε να υπολογίσουμε. Στην περίπτωσή μας, ως είσοδο για τη συνάρτηση, χρησιμοποιήσαμε τον αντίστοιχο για τη κάθε άρθρωση πίνακα με τα σημεία των workspaces που αναφέρθηκαν στην ενότητα 3.3. Να σημειώσουμε ότι για την επιλογή των κατάλληλων πινάκων των workspaces δεν παίζει τόσο σημαντικό ρόλο η διακριτοποίηση των γωνιών. Αρκεί να επιλεγεί ένας πίνακας με τόσα σημεία (δεν χρειάζονται πάρα πολλά) που να δίνουν με ακρίβεια το αντίστοιχο convex hull. Άλλωστε για το σωστό σχηματισμό ενός convex hull περισσότερο σημαντικά είναι τα συνοριακά σημεία. Με την επιλογή του κατάλληλου πίνακα σημείων για την αναπαράσταση του convex hull καταφέραμε, σε πρώτη φάση, να αυξήσουμε σημαντικά την ταχύτητα εκτέλεσης του αλγορίθμου μας. Οι πίνακες που επιλέχτηκαν για το σχηματισμό των convex hull είναι: Άρθρωση Βήμα μήκους Βήμα διακριτοποίησης των Πίνακας u (mm) γωνιών του workspace ( o ) σημείων T (72171 σημεία) F ( σημεία) G ( σημεία) Για την απεικόνιση του convex hull χρησιμοποιήθηκε η συνάρτηση trisurf του Matlab, η οποία χρησιμοποιεί τη μέθοδο της τριγωνοποίησης (triangulation), γι αυτό υπάρχουν και τα τρίγωνα που φαίνονται στα σχήματα. Προφανώς για την άρθρωση 1 δεν χρειάζεται ο υπολογισμός του convex hull αφού βρίσκεται πάνω στο αδρανειακό σύστημα συντεταγμένων και αντιμετωπίζεται ως σημείο. Τα 3 convex hulls για τις αντίστοιχες αρθρώσεις του ρομπότ (καθώς και το convex hull για τον end-effector-απεικονίζεται για τυπικούς λόγους), όπως τα απεικονίζει η συνάρτηση trisurf φαίνονται στις επόμενες εικόνες: 77

78 Κεφάλαιο Εικόνα 3.13 Το Convex hull της άρθρωσης Εικόνα 3.14 Το Convex hull της άρθρωσης 3 78

79 Κεφάλαιο Εικόνα 3.15 Το Convex hull της άρθρωσης Εικόνα 3.16 Το Convex hull για τον end-effector 79

80 Κεφάλαιο Χρησιμοποίηση των υπολογισμένων convex hulls στον τελικό αλγόριθμο Στόχος της ενότητας αυτής είναι, από τα υπολογισμένα convex hulls, να πάρουμε τα αντίστοιχα workspaces των αρθρώσεων, ώστε στη συνέχεια να μπορεί να γίνει ο απαραίτητος έλεγχος εγκυρότητας των υπολογισμένων συντεταγμένων. Για να γίνει πιο κατανοητό το πρόβλημα θα χρησιμοποιήσουμε το παράδειγμα της άρθρωσης 2. Στην επόμενη εικόνα φαίνονται με κίτρινο χρώμα το convex hull της άρθρωσης 2 και με μπλε χρώμα το κομμάτι του convex hull που είναι ανεπιθύμητο και το οποίο αν το αφαιρέσουμε θα μας μείνει το χωρίο που αποτελεί και το ζητούμενο workspace. Εικόνα 3.17 Μπροστινή όψη του convex hull της άρθρωσης 2 Εικόνα 3.18 Πίσω όψη του convex hull όπου φαίνεται καλύτερα το ανεπιθύμητο κομμάτι 80

81 Κεφάλαιο 3 Η αφαίρεση ενός όγκου που είναι κομμάτι ενός μεγαλύτερου χωρίου δεν είναι εύκολη υπόθεση. Ειδικά στην περίπτωσή μας, δεν έχουμε πολλά στοιχεία για τους όγκους των παραπάνω σχημάτων, κάτι που δυσκολεύει ακόμα περισσότερο το πρόβλημα. Το μόνο που γνωρίζουμε είναι δύο πίνακες: ο πίνακας με τα σημεία των οποίων το convex hull υπολογίσαμε καθώς και ο πίνακας με τα σημεία που σχηματίζουν το convex hull. Παρατηρώντας το παραπάνω σχήμα βλέπουμε ότι είναι πολύ εύκολο να υπολογίσουμε το conxex hull του μπλε τμήματος ξεχωριστά από το κίτρινο τμήμα. Αρκεί να βρούμε όλα τα σημεία που δημιουργούν το μπλε convex hull. Για τον υπολογισμό αυτών των σημείων κάνουμε ακριβώς ότι κάναμε και στην ενότητα 3.3 που υπολογίσαμε τους χώρους εργασίας των αρθρώσεων. Δηλαδή, πάλι διακριτοποιούμε τις γωνίες με τη μόνη διαφορά ότι δεν διακριτοποιούμε το μήκος u στο διάστημα [45.4, 50.5] αλλά αντίθετα το κρατάμε σταθερό και ίσο με τη μικρότερη επιτρεπόμενη τιμή που μπορεί να πάρει δηλαδή u=l 2 =45.4 mm. Μέσω λοιπόν της ορθής κινηματικής παίρνουμε τα επιθυμητά σημεία. Έπειτα, αφού υπολογιστούν τα σημεία, μέσω της συνάρτησης convhulln υπολογίζουμε το convex hull που εκφράζει το μπλε τμήμα. Εικόνα 3.19 Τα σημεία του χώρου εργασίας της άρθρωσης 2 για u=45.4 mm και το αντίστοιχο convex hull που δημιουργούν 81

82 Κεφάλαιο 3 Και πάλι όμως δεν είναι εύκολο πρόβλημα να αφαιρέσουμε το ένα convex hull από το άλλο ώστε να μείνει μόνο ο όγκος που εκφράζει το workspace της άρθρωσης (το οποίο φαίνεται με κίτρινο χρώμα στην εικόνα 3.18). Στο σημείο αυτό είναι απαραίτητο να θυμίσουμε τον βασικό στόχο του κεφαλαίου αυτού. Πρέπει να υπολογιστεί το workspace κάθε άρθρωσης με σκοπό μετά να γίνεται η εξακρίβωση ότι οι συντεταγμένες που υπολογίζει ο αλγόριθμος CPM του κεφαλαίου 2 (για κάθε άρθρωση), όντως περιγράφουν την πραγματική θέση των αρθρώσεων στον τρισδιάστατο χώρο. Αρκεί τα υπολογισθέντα από τον αλγόριθμο CPM σημεία να βρίσκονται μέσα στο workspace της αντίστοιχης άρθρωσης. Με βάση τη τελευταία πρόταση, εκμεταλλευτήκαμε τα 2 υπολογισθέντα convex hulls (με το κίτρινο και μπλε χρώμα στις εικόνες ( ) και με τη βοήθεια της συνάρτησης inhull του Matlab [38] υλοποιήσαμε τον τελικό αλγόριθμο. Προφανώς η διαδικασία που περιγράφηκε μόλις για την άρθρωση 2 γενικεύεται εύκολα και για τις άλλες αρθρώσεις του ρομποτικού εργαλείου. Ο Τελικός αλγόριθμος που επιλύει το πρόβλημα Ακολουθεί ο αλγόριθμος που χρησιμοποιήθηκε τελικά κατά την διεξαγωγή των πειραμάτων. Σε πρώτη φάση υπολογίζονται τα δύο convex hulls για την κάθε άρθρωση του ρομπότ. Σε δεύτερη φάση, μέσω της inhull, εξετάζεται αν τα σετ συντεταγμένων που προέκυψαν από τον αλγόριθμο CPM ανταποκρίνονται σε έγκυρα ή όχι σημεία-αρθρώσεις. Στην επόμενη ενότητα αναλύονται: 1) οι διαθέσιμοι τρόποι που υπάρχουν για να ελέγξουμε εάν ένα σημείο ανήκει στο convex hull, 2) οι λόγοι που επιλέξαμε τη συνάρτηση inhull, 3) ο τρόπος που την εκμεταλλευόμαστε στον τελικό αλγόριθμο που δημιουργήσαμε Τρόποι για να ελέγξουμε αν ένα σημείο ανήκει σε ένα convex hull σημείων Εξετάσαμε 3 συναρτήσεις που o κώδικάς τους είναι γραμμένος για το Matlab: Συνάρτηση tsearchn (ανήκει στη βασική βιβλιοθήκη του Matlab). Η συνάρτηση ορίζεται ως εξής: Έχει ως εισόδους 3 παραμέτρους: Χ : ο πίνακας mxn με τα σημεία που σχηματίζουν το convex hull TRI: ο πίνακας που προκύπτει από την τριγωνοποίηση (triangulation) βάσει των σημείων Χ. Η τριγωνοποίηση επιτυγχάνεται μέσω της συνάρτησης Delaunay του Μatlab 82

83 Κεφάλαιο 3 XI: ο πίνακας pxn με τα προς εξέταση σημεία Η συνάρτηση χρησιμοποιεί τη μέθοδο Simplex για την εύρεση των σημείων που ανήκουν στο convex hull. Στην έξοδο δίνει τους δείκτες Τ των επισυναπτόμενων simplex από την Delaunay τριγωνοποίηση TRI για κάθε σημείο του πίνακα ΧΙ. Να τονίσουμε ότι η συνάρτηση tsearchn επιστρέφει στην έξοδο NaN όταν το προς εξέταση σημείο δεν ανήκει στο convex hull. Περισσότερες πληροφορίες για τη συνάρτηση αναφέρονται στη βιβλιοθήκη του λογισμικού Matlab. Συνάρτηση Ιnhull (είναι η συνάρτηση που επιλέξαμε - δεν ανήκει στη βασική βιβλιοθήκη του Matlab). Η συνάρτηση Ιnhull, σε αντίθεση με την συνάρτηση tsearchn το μόνο που εξετάζει είναι αν ένα σημείο βρίσκεται μέσα στο convex hull ενός συνόλου σημείων. Η λειτουργία της βασίζεται στη αντιμετώπιση του προβλήματος χρησιμοποιώντας το dot product. Dot Product Έστω 2 διανύσματα το a = [a 1, a 2,..., a n ] και το b = [b 1, b 2,..., b n ]. Με τον όρο dot product εννοούμε το γινόμενο: Στις 2 διαστάσεις αναφερόμενοι στο dot product εννοούμε το εσωτερικό γινόμενο 2 διανυσμάτων. H συνάρτηση inhull ορίζεται ως εξής: Έχει ως εισόδους τις εξής παραμέτρους: TESTPTS: τα σημεία που θέλουμε να εξετάσουμε αν ανήκουν ή όχι στο convex hull. Τα σημεία δίνονται με τη μορφή ενός πίνακα nxp όπου n είναι ο αριθμός των σημείων και p οι διαστάσεις του χώρου όπου κινούνται τα σημεία. ΧΥΖ: τα σημεία που αποτελούν κορυφές του convex hull. Τα σημεία αυτά προκύπτουν από τη χρήση της συνάρτησης convhulln και είναι ένας πίνακας διαστάσεων mxp. TOL: είναι μια μεταβλητή που εκφράζει την ανοχή (tolerance) και είναι προαιρετική. Λέγοντας ανοχή εννοούμε την επιτρεπόμενη απόσταση που ένα σημείο μπορεί να βρίσκεται εκτός του convex hull αλλά εμείς να θεωρούμε ότι βρίσκεται στην επιφάνεια του hull. H 83

84 Κεφάλαιο 3 παράμετρος αυτή είναι πολύ χρήσιμη όταν έχουμε να εξετάσουμε οριακά σημεία που παίζει καθοριστικό ρόλο η αριθμητική ακρίβεια του συστήματος και πρέπει να πάρουμε την απόφαση αν τελικά το σημείο είναι μέσα ή έξω από το Convex Hull. TESS: αποτελεί την τριγωνοποίηση (triangulation ή tesselation) των σημείων που ανήκουν στο convex hull. Η μεταβλητή αυτή συνήθως προκύπτει ως έξοδος από τη συνάρτηση convhulln, αλλιώς δημιουργείται από την ίδια την συνάρτηση inhull Ως έξοδο, όπως είπαμε και πιο πάνω, έχει μόνο μια μεταβλητή, η οποία παίρνει την τιμή 1 αν το σημείο βρίσκεται μέσα στο convex hull αλλιώς παίρνει την τιμή 0. Είναι, δηλαδή, λογικού τύπου. Τέλος, να μην ξεχάσουμε να αναφέρουμε ότι η συνάρτηση inhull λειτουργεί και όταν έχουμε περισσότερες από 3 διαστάσεις. Επιπλέον, έχει το πλεονέκτημα ότι μπορεί να πάρει ως είσοδο περισσότερα από ένα σημεία αποφεύγοντας με αυτό τον τρόπο πολλαπλές της κλήσεις, κερδίζοντας τελικά και σε ταχύτητα εκτέλεσης. Ο κώδικας που υλοποιεί τη συνάρτηση inhull αναφέρεται λεπτομερώς στο παράρτημα. Συνάρτηση inpolyhedron (δεν ανήκει στη βασική βιβλιοθήκη του Matlab) Η συνάρτηση αυτή ελέγχει εάν τα δοθέντα σημεία βρίσκονται μέσα σε μια τριών διαστάσεων τριγωνοποιημένη επιφάνεια. Η συνάρτηση ορίζεται ως εξής: Η συνάρτηση αυτή έχει 2 εισόδους, τις μεταβλητές FV και QPTS και μία λογικού τύπου έξοδο. Aν τα σημεία που περιγράφονται από την QPTS βρίσκονται μέσα στο 9 8 τμήμα (patch)/επιφάνεια/πολύκεντρο που ορίζεται από τη μεταβλητή FV, τότε η έξοδος παίρνει την τιμή 1. Να αναφέρουμε ότι η μεταβλητή FV είναι μια δομή με δύο 5 5 πεδία, το πρώτο πεδίο είναι ένας πίνακας με τις κορυφές (vertices) και το άλλο πεδίο είναι ένας πίνακας με τις Εικόνα 3.20 Παράδειγμα εφαρμοτις όψεις (faces). γής της συνάρτησης inpolyhedron Ως έξοδο η συνάρτηση επιστρέφει έναν πίνακα λογικού τύπου με τιμές 0 ή 1 στα πεδία του, ανάλογα αν το αντίστοιχο στο πεδίο σημείο ανήκει στον χώρο ή όχι. 84

85 Κεφάλαιο 3 Συμπεράσματα Από τις 3 παραπάνω συναρτήσεις επιλέξαμε τη συνάρτηση inhull γιατί ταιριάζει περισσότερο στο πρόβλημα που θέλουμε να λύσουμε. Την προτιμήσαμε από την inpolyhedron αφού το πρόβλημά μας διαπραγματεύεται convex hull. Επίσης, την προτιμήσαμε από τη συνάρτηση tsearchn λόγω ταχύτητας εκτέλεσης. Στις δοκιμές που κάναμε παρατηρήσαμε ότι η συνάρτηση inhull είναι αρκετά δευτερόλεπτα γρηγορότερη από την tsearchn. Αυτό εξηγείται από το γεγονός ότι η tsearchn υπολογίζει επιπλέον και που ακριβώς μέσα στο hull εντοπίστηκε το σημείο, κάτι που δεν χρειάζεται στο πείραμά μας. Στο σημείο αυτό αξίζει να αναφέρουμε ότι για τον έλεγχο-εξακρίβωση ενός σημείου η συνάρτηση inhull χρειάζεται μόλις 0.2 δευτερόλεπτα για workspace σημείων και περίπου 0.4 δευτερόλεπτα για workspace σημείων!!. Οι χρονικές αυτές τιμές αναφέρονται στη χειρότερη περίπτωση που μπορεί να τύχει και ισχύουν με την προϋπόθεση ότι τα convex hulls υπολογίζονται κάθε φορά σε πραγματικό χρόνο Προσαρμογή της συνάρτηση inhull στο πείραμά μας Με τη βοήθεια της inhull μπορούμε να εκμεταλλευτούμε τα 2 convex hull που υπολογίσαμε στην προηγούμενη ενότητα με τον εξής τρόπο: Εφαρμόζουμε τη συνάρτηση inhull αρχικά για το convex hull που περιλαμβάνει όλα τα σημεία του workspace. Διακρίνουμε τις εξής δύο περιπτώσεις: Αν το αποτέλεσμα της inhull είναι 0 αυτό σημαίνει ότι το σημείο που υπολογίστηκε από τον αλγόριθμο CPM του κεφαλαίου 2 δεν είναι αποδεκτό γιατί εκφράζει συντεταγμένες έξω από το χώρο που μπορεί να κινηθεί η συγκεκριμένη άρθρωση. Άρα το μαύρο σημάδι που βρήκε το CPM δεν αντιστοιχεί σε άρθρωση. Αν το αποτέλεσμα της inhull είναι 1 τότε πρέπει να κάνουμε έναν επιπλέον έλεγχο. Εφαρμόζουμε για δεύτερη φορά τη συνάρτηση inhull, τώρα όμως για το λεγόμενο ανεπιθύμητο convex hull (εικόνα 3.17 με μπλε χρώμα). 1. Εάν το αποτέλεσμα είναι 1 σημαίνει ότι το υπολογισμένο σημείο ανήκει στο ανεπιθύμητο τμήμα δηλαδή βρίσκεται σε χώρο εκτός του workspace της άρθρωσης. Άρα το σημείο δεν είναι αποδεκτό για την αντίστροφη κινηματική. 2. Εάν το αποτέλεσμα είναι 0 σημαίνει ότι το σημείο που εξετάζουμε ανήκει στο workspace της άρθρωσης. Άρα ο αλγόριθμος CPM εντόπισε επιτυχώς την συγκεκριμένη άρθρωση και συνεπώς η θέση της μπορεί να χρησιμοποιηθεί για περαιτέρω υπολογισμούς στην αντίστροφη κινηματική. 85

86 Z-axis Z-axis Κεφάλαιο 3 Να τονίσουμε ότι κατά τη διάρκεια των πειραμάτων χρησιμοποιήθηκε κατάλληλη τιμή για το tolerance της συνάρτησης inhull, διαφορετική του μηδενός αλλά αρκετά μικρή για να μη χαθεί κατά τον έλεγχο κάποιο οριακό σημείο. Δοκιμάσαμε να ελέγξουμε την αποτελεσματικότητα του αλγορίθμου μας για μια τυχαία τροχιά. Η τροχιά που τελικά διήνυσε ο end-effector έχει μήκος περίπου 9 εκατοστά (στον άξονα Υ) και διήρκησε 8 δευτερόλεπτα (υπολογίστηκαν 211 σημεία από τον αλγόριθμο CPM). Στις επόμενες δυο εικόνες φαίνονται: Y-axis Εικόνα 3.21 Οι θέσεις των αρθρώσεων όπως εντοπίστηκαν αρχικά από τον αλγόριθμο CPM κατά τη διάρκεια της κίνησης Με μπλε χρώμα το αδρανειακό σύστημα συντεταγμένων Με μωβ χρώμα οι διάφορες θέσεις του end-effector που υπολογίστηκαν από τον αλγόριθμο CPM κατά τη διάρκεια της κίνησης Με κυανό χρώμα οι θέσεις της άρθρωσης 4 Με πράσινο χρώμα οι θέσεις της άρθρωσης 3 Με κόκκινο χρώμα οι θέσεις της άρθρωσης X-axis Y-axis Εικόνα 3.22 Οι θέσεις των αρθρώσεων που εντοπίστηκαν από τον αλγόριθμο και που ταυτόχρονα ανήκουν στο χώρο εργασίας κάθε άρθρωσης X-axis 86

87 Κεφάλαιο 3 Παρατηρώντας την εικόνα 3.22 φαίνεται ότι ο τελικός αλγόριθμος που δημιουργήθηκε λειτουργεί αποτελεσματικά αφού σχεδόν όλα τα λανθασμένα σημεία φιλτραρίστηκαν με επιτυχία. Συγκεκριμένα, για τη τέταρτη άρθρωση, από τα 211 σημεία που υπολογίστηκαν αρχικά, τα 155 επαληθεύτηκαν ως έγκυρα σημεία. Για τη τρίτη άρθρωση, από τα 211 σημεία, ως έγκυρα, αναγνωρίστηκαν τα 165, ενώ για τη δεύτερη άρθρωση είχαμε τα καλύτερα αποτελέσματα αφού, από τα 211 αρχικά σημεία, έγκυρα είναι, σύμφωνα με τον αλγόριθμο, τα Επίλογος του κεφαλαίου Στο σημείο αυτό ολοκληρώνεται το παρόν κεφάλαιο στο οποίο αναλύθηκε λεπτομερώς η μέθοδος που ακολουθήθηκε για να εξασφαλίσουμε ότι ο αλγόριθμος CPM (που αναλύθηκε στο κεφάλαιο 2) προσδιόρισε σωστά την πραγματική θέση των αρθρώσεων του ρομπότ (αν όχι και των 4 αρθρώσεων, τουλάχιστον όσων κατάφερε να εντοπίσει). Η μέθοδος βασίζεται στον έμμεσο προσδιορισμό του χώρου εργασίας της κάθε άρθρωσης εκμεταλλευόμενη τα convex hulls που σχηματίζονται. Εάν το σημείο που υπολογίστηκε ανήκει στον χώρο εργασίας της αντίστοιχης άρθρωσης θεωρείται αποδεκτό. Η εξακρίβωση για το αν ένα σημείο είναι αποδεκτό ή όχι επιτεύχθηκε μέσω της συνάρτησης inhull. Να τονιστεί ότι σε πρώτη φάση, είχαμε σχετικά μεγάλους χρόνους εκτέλεσης της συνάρτηση inhull (περίπου 1,12 sec στη χειρότερη περίπτωση) για την εξακρίβωση ενός σετ τριών σημείων (ένα σημείο για κάθε άρθρωση). Όμως, τόσο μεγάλοι χρόνοι είναι απαγορευτικοί για πείραμα που εκτελείται σε πραγματικό χρόνο γι αυτό ο χρόνος εκτέλεσης έπρεπε να μειωθεί αρκετά για να είναι αποδοτικός ο αλγόριθμος. Διαπιστώθηκε, ότι ο λόγος που υπάρχει τόσο μεγάλη καθυστέρηση οφείλεται στο γεγονός ότι ο αλγόριθμος υπολόγιζε κάθε φορά, για κάθε καρέ των καμερών, τουλάχιστον 3 convex hulls με βάση τα αντίστοιχα workspaces (στην χειρότερη περίπτωση υπολόγιζε 6 convex hulls, 2 για την κάθε άρθρωση-2 η, 3 η και 4 η ). Ωστόσο, κρίθηκε ότι δεν είναι απαραίτητο τα convex hulls να υπολογίζονται σε πραγματικό χρόνο αφού ο προσδιορισμός τους εξαρτάται μόνο από τα σημεία του workspace, τα οποία όμως είναι δεδομένα. Έτσι λοιπόν, υπολογίστηκαν μια φορά στην αρχή, πριν τα πειράματα, και τα 6 πιθανά convex hulls σε μορφή πινάκων ώστε αυτοί απλά να φορτώνονται σε κάθε καρέ, κατά τη διάρκεια των πειραμάτων. Το αποτέλεσμα ήταν ο χρόνος εκτέλεσης της συνάρτησης inhull να μειωθεί στα 0.19 sec! Η μέθοδος που αναπτύχθηκε στο παρόν κεφάλαιο έχει καθοριστική σημασία για τη συνέχεια καθώς, οι υπολογισμένες συντεταγμένες που αποδείχτηκε ότι παριστάνουν τη θέση των πραγματικών αρθρώσεων θα χρησιμοποιηθούν για την επίλυση του προβλήματος της αντίστροφης κινηματικής. Αν και προσπαθήσαμε να εξασφαλίσουμε τον εντοπισμό σε κάθε στιγμιότυπο και των τεσσάρων αρθρώσεων, υπάρχει περίπτωση τελικά να μην εντοπιστεί καμιά από τις αρθρώσεις (πολύ μικρή πιθανότητα βέβαια). Η περίπτωση αυτή καθώς και γενικότερα όλος ο τρόπος υλοποίησης της αντίστροφης κινηματικής για το ρομποτικό εργαλείο περιγράφονται αναλυτικά στο επόμενο κεφάλαιο. 87

88 88 Κεφάλαιο 3

89 Κεφάλαιο 4 Κεφάλαιο 4 ΑΝΤΙΣΤΡΟΦΗ ΚΙΝΗΜΑΤΙΚΗ ΤΟΥ ΡΟΜΠΟΤΙΚΟΥ ΕΡΓΑΛΕΙΟΥ 4.1 Ορισμός του προβλήματος Έστω είναι η κινηματική εξίσωση για ένα συγκεκριμένο χειριστή (manipulator). Με ορίζουμε ένα n 1 διάνυσμα που περιέχει n μεταβλητές (όσοι είναι και οι βαθμοί ελευθερίας του ρομπότ) και είναι ένα m 1 διάνυσμα στον πραγματικό χώρο R m που αντιπροσωπεύει τη θέση και τον προσανατολισμό της αρπάγης του ρομπότ. Με θα συμβολίσουμε τη συνεχή, μη γραμμική συνάρτηση της οποίας η δομή και οι παράμετροι είναι γνωστές για ένα δεδομένο βραχίονα. Το πρόβλημα λοιπόν της αντίστροφης κινηματικής αφορά την εύρεση των n μεταβλητών των αρθρώσεων για δεδομένη θέση και προσανατολισμό της αρπάγης του ρομπότ: Η ανωτέρω εξίσωση μπορεί να έχει άπειρες λύσεις για ένα δεδομένο. Αυτός είναι και ο λόγος που η αντίστροφη κινηματική, όταν έχουμε redundant manipulators, αποκτά μεγάλο ενδιαφέρον. Το πρόβλημα επίλυσής της είναι πολύ πιο δύσκολο σε σχέση με την περίπτωση ενός non-redundant manipulator του οποίου η κινηματική δεν είναι τόσο περίπλοκη. Συνήθως, υπάρχουν δύο κατηγορίες μεθόδων για την επίλυση του προβλήματος της αντίστροφης κινηματικής: λύση κλειστής μορφής [39] (closed form solution) αριθμητική λύση [40] (numerical solution) Οι λύσεις κλειστής μορφής μπορούν να βρεθούν εκμεταλλευόμενοι τη χωρική γεωμετρία του βραχίονα ή αλλιώς επιλύοντας τη μήτρα που περιέχει τις αλγεβρικές εξισώσεις κινηματικής του ρομπότ. Βέβαια, λόγω της πολυπλοκότητας της εξίσωσης (1) υπάρχουν περιπτώσεις στις οποίες δεν υπάρχει λύση κλειστής μορφής. Στις περιπτώσεις αυτές αναγκαζόμαστε να καταφύγουμε σε αριθμητικές μεθόδους και λύσεις, ώστε να μπορέσουμε πετύχουμε τις επιθυμητές μετατοπίσεις του end-effector. Οι αριθμητικές μέθοδοι που χρησιμοποιούνται στην ρομποτική και συγκεκριμένα στην επίλυση των inverse kinematics είναι κατά κανόνα επαναληπτικές μέθοδοι. Η ιδιότητα της επαναληπτικότητας όμως αποτελεί μειονέκτημα καθώς καθιστά τις μεθόδους αρκετά αργές σε σχέση με τον υπολογισμό λύσεων σε κλειστή μορφή.

90 Κεφάλαιο 4 Για το λόγο αυτό έχουν αναπτυχθεί εναλλακτικές τεχνικές-μέθοδοι που σκοπό έχουν να εκμεταλλευτούν την διαφορική κινητική σχέση μεταξύ των μετατοπίσεων των αρθρώσεων και της θέσης του end-effector. 4.2 Μέθοδοι επίλυσης του προβλήματος της αντίστροφης κινηματικής για redundant manipulators Για να αποφύγουμε τις δυσκολίες που παρουσιάζονται στην επίλυση της πολύπλοκης εξίσωσης (1) έχουν αναπτυχθεί διάφορες εναλλακτικές τεχνικές Μέθοδοι βασισμένες στην Ιακωβιανή μήτρα Ένας από τους πιο συνηθισμένους τρόπους επίλυσης του προβλήματος είναι η εκμετάλλευση της σχέσης που συνδέει τη γραμμική και τη γωνιακή ταχύτητα με την ταχύτητα των αρθρώσεων του ρομπότ. Αν είναι η γραμμική και γωνιακή ταχύτητα του end-effector και είναι η ταχύτητα των αρθρώσεων, τότε οι δύο ταχύτητες συνδέονται με τη σχέση: όπου με συμβολίζουμε την mxn Ιακωβιανή μήτρα. Επίσης, ας συμβολίσουμε με την επιθυμητή ταχύτητα και με το συνολικό χρόνο εκτέλεσης της προγραμματισμένης κίνησης. Το αντίστοιχο διάνυσμα θέσης της κάθε άρθρωσης προκύπτει με την ολοκλήρωση του για ένα δεδομένο Για την επίλυση της εξίσωσης (2) έχουν προταθεί από τους ερευνητές διάφορες μέθοδοι. Οι περισσότερες από αυτές έχουν βασιστεί στην Ιακωβιανή μήτρα. Μερικές από αυτές είναι: 1. Διάσπαση του αντίστροφου της Ιακωβιανής μήτρας σε υπομήτρες που είναι διαχειρίσιμες (manageable) [41]. 2. Μέθοδος που εξασφαλίζει πολύ μεγάλη υπολογιστική ταχύτητα στο υπολογισμό του αντίστροφου της Ιακωβιανής μήτρας [42]. 3. Υπολογισμός της ψευδοαντίστροφης Ιακωβιανής μήτρας [43] Αριθμητικές Μέθοδοι Κάποιες από τις τεχνικές που επιλύουν το πρόβλημα της αντίστροφης κινηματικής προσφέροντας αριθμητική λύση είναι: 1. Εφαρμογή της μεθόδου των ελαχίστων τετραγώνων [44] [45] [46]. 90

91 Κεφάλαιο 4 2. Εφαρμογή της μεθόδου Νewton-Raphson [44] [45] [46] Μέθοδοι βασισμένες στα νευρωνικά δίκτυα Τα τελευταία χρόνια τα νευρωνικά δίκτυα τείνουν να αποτελέσουν ένα πολύ δημοφιλές εργαλείο για την επίλυση του προβλήματος της αντίστροφης κινηματικής και γενικά για την επίλυση προβλημάτων της Ρομποτικής που σχετίζονται με θέματα ελέγχου. Συγκεκριμένα, σε ότι αφορά τον κινηματικό έλεγχο ενός ρομπότ, οι πιο συνηθισμένες εφαρμογές είναι: feedforward δίκτυα όπως είναι η πολυεπίπεδη preceptron εκπαίδευση μέσω εποπτευόμενης μάθησης, χρησιμοποιώντας τον backpropagation αλγόριθμο [47] [48]. Ο Βees αλγόριθμος που χρησιμοποιείται για να εκπαιδεύσει πολυεπίπεδα preceptron νευρωνικά δίκτυα, ώστε να μοντελοποιηθεί η αντίστροφη κινηματική ενός αρθρωτού ρομποτικού βραχίονα [49] Αλγόριθμοι βελτιστοποίησης μη-γραμμικών προβλημάτων Στην περίπτωση αυτή το πρόβλημα της αντίστροφης κινηματικής ανάγεται σε ένα μη-γραμμικό πρόβλημα βελτιστοποίησης με περιορισμούς. Οι αλγόριθμοι συνήθως διαφοροποιούνται μεταξύ τους ανάλογα με το αν είναι θετικά ορισμένη ή όχι η μήτρα που σχετίζεται με την προς βελτιστοποίηση τετραγωνική συνάρτηση (the quadratic objective function). Aς αναφέρουμε 2 παραδείγματα: Η συνάρτηση είναι μια θετικά ορισμένη συνάρτηση. Τo πρόβλημα επίλυσης της αντίστροφης κινηματικής ανάγεται σε πρόβλημα ελαχιστοποίησης του σφάλματος της θέσης του end-effector (περισσότερες λεπτομέρειες για το συγκεκριμένο πρόβλημα βελτιστοποίησης αναφέρονται παρακάτω στην ενότητα 4.4). Αντίθετα, αναφέρουμε ένα παράδειγμα που η μήτρα που σχετίζεται με την προς βελτιστοποίηση τετραγωνική συνάρτηση δεν είναι θετικά ορισμένη. Στη συγκεκριμένη περίπτωση, για να επιτύχουμε μοναδική λύση, το πρόβλημα της αντίστροφης κινηματικής μπορεί να αναχθεί σε πρόβλημα ελαχιστοποίησης της ενέργειας. Οι εξισώσεις που χρειαζόμαστε για τις ταχύτητες των αρθρώσεων θα προκύψουν με μερική διαφόριση ως προς το χρόνο της συνάρτησης της ενέργειας. Συγκεκριμένα, σε προβλήματα ελαχιστοποίησης της ενέργειας, στόχος είναι να βρεθεί το διάνυσμα για δεδομένο. Για να επιτευχθεί αυτό θα πρέπει να λυθεί το μη-γραμμικό, χρονικά μεταβαλλόμενο πρόβλημα βελτιστοποίησης [50]. 91

92 Κεφάλαιο 4 όπου με συμβολίζουμε τον ανάστροφο του και με W έναν nxn συμμετρικό πίνακα βαρών ο οποίος μπορεί να είναι ή όχι θετικά ορισμένος. Τα παραπάνω δύο παραδείγματα είναι ενδεικτικά για το πώς μπορεί να μετατραπεί ένα πρόβλημα αντίστροφης κινηματικής σε πρόβλημα βελτιστοποίησης. Αναλόγως των κριτηρίων και των περιορισμών που επιλέγονται κάθε φορά, προκύπτει και το αντίστοιχο πρόβλημα βελτιστοποίησης. Τα κριτήρια μπορεί να είναι η ελαχιστοποίηση των ταχυτήτων των αρθρώσεων, των επιταχύνσεων, των δυνάμεων ή των ροπών κ.α. Η δυσκολία στα προβλήματα αυτά είναι ότι ταυτόχρονα με την ελαχιστοποίηση των κριτηρίων πρέπει να ικανοποιούνται και οι περιορισμοί που τίθενται κάθε φορά, ανάλογα με το πρόβλημα. 4.3 Εφαρμογή της μεθόδου της αντίστροφης της Ιακωβιανής μήτρας για την επίλυση του προβλήματος της αντίστροφης κινηματικής του ρομποτικού μας εργαλείου Για το ρομποτικό εργαλείο της παρούσας διπλωματικής, αρχικά, δοκιμάστηκε από τους κ. Ευαγγελίου και κ. Γιαταγάνα να εφαρμοστεί η μέθοδος της αντίστροφης Ιακωβιανής. Η συγκεκριμένη μέθοδος θεωρείται κυρίως αριθμητική προσέγγιση η οποία χρησιμοποιεί διακριτές και πολύ συγκεκριμένες παραδοχές. Το πλεονέκτημά της είναι ότι καταλήγει πάντα σε μοναδική λύση με ακρίβεια, όταν οι παραδοχές ικανοποιούνται και έχουν εκφραστεί σωστά. Στο σημείο αυτό πρέπει να τονιστεί ότι η δυναμική συμπεριφορά της κατασκευής δεν μελετήθηκε, καθώς σχεδιάστηκε ώστε να είναι ένας ελαφρύς βραχίονας με ανεξάρτητους βαθμούς ελευθερίας. Επομένως, η δυναμική του θα είναι ουσιαστικά παρόμοια με τη δυναμική ενός SMA αγωγού, η οποία για τους στόχους της αντίστροφης κινηματικής θεωρήθηκε οριακά γραμμική. Επιπλέον, η μεταβαλλόμενη τριβή που προκαλείται σε κάθε σύνδεσμο κατά την κίνηση είναι πολύ δύσκολο να υπολογιστεί και άρα ένα θεωρητικό δυναμικό μοντέλο δεν θα ήταν αρκετά ακριβές για να χρησιμοποιηθεί στη πράξη. Η ακριβής μέθοδος που κρίθηκε ότι ικανοποιεί μεγάλο μέρος των απαιτήσεων και επιλέχθηκε, εν τέλει, προς υλοποίηση περιγράφεται στο [51]. Πρόκειται για μια μέθοδο που αρχικά διασπά το διάστημα μετάβασης [2] σε πολλά μικρότερα ενδιάμεσα διαστήματα και στη συνέχεια βασίζεται στην υπόθεση ότι ο Ιακωβιανός πίνακας δεν αλλάζει για αυτές τις πολύ μικρές μετακινήσεις. Χρησιμοποιεί δύο παραμέτρους σφάλματος για να εξασφαλίσει τη σταθερότητα και την ικανοποίηση των περιορισμών. Στην περίπτωση που η παράμετρος σφάλματος δεν ικανοποιείται τότε μειώνεται το βήμα της κίνησης. Η διαδικασία ολοκληρώνεται όταν παραχθούν γωνίες για τις οποίες ο βραχίονας φτάνει σε απόσταση 1mm από την επιθυμητή θέση. Περισσότερες λεπτομέρειες για τον τρόπο εφαρμογής της μεθόδου αναφέρονται εδώ [2] [51]. 92

93 Κεφάλαιο 4 Συμπεράσματα Αν και η προαναφερθείσα μέθοδος έμοιαζε ιδανική για τους σκοπούς της κατασκευής και στην πράξη αποδείχτηκε αρκετά γρήγορη (7msec), δεν έδωσε τελικά τα επιθυμητά αποτελέσματα, δηλαδή ικανοποιητική ακρίβεια σε ότι αφορά τη θέση του end-effector. Ο λόγος αποτυχίας της μεθόδου οφείλεται στην λανθασμένη υπόθεση ότι η δυναμική του εργαλείου δεν μεταβάλλεται, ακόμα και σε πολύ μικρά διαστήματα. Το γεγονός ότι υπάρχουν πολλοί παράγοντες που μπορεί να επηρεάζουν τη δυναμική του εργαλείου, συνεπάγεται αδυναμία στο να μπορέσουμε να τη χρησιμοποιήσουμε στην επίλυση του προβλήματος της αντίστροφης κινηματικής. Κατόπιν αρκετών δοκιμών, αποδείχτηκε ότι ο αλγόριθμος αστοχεί σημαντικά στην παρακολούθηση της τροχιάς γι αυτό και δοκιμάστηκαν πιο μοντέρνες μέθοδοι αντίστροφης κινηματικής που μπορούν να χειριστούν μεταβολές της δυναμικής του εργαλείου. 4.4 Εφαρμογή αλγορίθμου βελτιστοποίησης για την επίλυση του προβλήματος της αντίστροφης κινηματικής του ρομποτικού μας εργαλείου Λόγω της αποτυχίας της μεθόδου της αντίστροφης της Ιακωβιανής, δοκιμάστηκε να επιλυθεί το πρόβλημα της αντίστροφης κινηματικής του ρομποτικού εργαλείου μετατρέποντάς το σε πρόβλημα βελτιστοποίησης με περιορισμούς. Το πρόβλημα βελτιστοποίησης που χρησιμοποιήθηκε αφορά την ελαχιστοποίηση του σφάλματος της θέσης: με τους εξής περιορισμούς: Πρόκειται για ένα σύστημα 3 εξισώσεων με 8 αγνώστους. Tο συγκεκριμένο πρόβλημα [2] βασίζεται στην εύρεση εκείνων των γωνιών για τις οποίες ελαχιστοποιείται το σφάλμα μεταξύ της τρέχουσας θέσης και της θέσης, η οποία δίνεται από το διάνυσμα θέσης του ομογενούς πίνακα ως συνάρτηση των γωνιών. Ο όρος αντιστοιχεί στις γωνίες των αρθρώσεων που υπολογίστηκαν για το προηγούμενο καρέ που πήραν οι κάμερες (προηγούμενο 93

94 Κεφάλαιο 4 βήμα του αλγορίθμου υλοποίησης της αντίστροφης κινηματικής). Ο πρώτος περιορισμός λοιπόν έχει ως στόχο οι βέλτιστες γωνίες που υπολογίζει ο αλγόριθμος να είναι κοντά στις γωνίες του προηγούμενου βήματος. Ο δεύτερος περιορισμός που έχει τεθεί αφορά τα όρια των γωνιών των βαθμών ελευθερίας που προκύπτουν με βάση την ανάλυση της ορθής κινηματικής). To είναι μια σταθερά, που για τις ανάγκες των πειραμάτων επιλέχτηκε να είναι Οι 3 αυτές εξισώσεις είναι εξαιρετικά μη γραμμικές και πολύπλοκες, γεγονός που καθιστά το πρόβλημα βελτιστοποίησης αρκετά πολύπλοκο. Επιπλέον, οι βέλτιστες λύσεις που υπολογίζονται από τον αλγόριθμο πρέπει ταυτόχρονα να ικανοποιούν και τους περιορισμούς που έχουν οριστεί. Αυτομάτως λοιπόν περιορίζονται ακόμα περισσότερο οι πιθανές λύσεις. Για την υλοποίηση του προβλήματος βελτιστοποίησης χρησιμοποιήθηκε η συνάρτηση Constrained Non Linear Optimization (CNLO) του λογισμικού Labview (η συνάρτηση ανήκει στο gmath toolbox). Ο αλγόριθμος CNLO επιλύει τα προβλήματα βελτιστοποίησης με ισοτικούς ή ανισοτικούς περιορισμούς χρησιμοποιώντας τη Sequential Quadratic Programming μέθοδο [52]. Σε πρώτη φάση, η συνάρτηση CNLO, αποδείχτηκε η πιο αποδοτική για τις ανάγκες του προβλήματος γι αυτό και επιλέχθηκε έναντι άλλων συναρτήσεων βελτιστοποίησης όπως είναι η fmincon του Matlab. Βέβαια, στο σημείο αυτό πρέπει να σημειωθεί το εξής: αν και ο αλγόριθμος CNLO δίνει σχετικά καλά αποτελέσματα ως προς τον έλεγχο της θέσης του endeffector, ταυτόχρονα παρουσιάζει και κάποια μειονεκτήματα. Ένα σοβαρό μειονέκτημα είναι ότι η μέθοδος είναι αρκετά αργή στον προσδιορισμό των βέλτιστων λύσεων. Αυτό, αφενός οφείλεται στο ότι έχουμε επιλέξει να επιλύσουμε αρκετά πολύπλοκες μη-γραμμικές εξισώσεις που υπόκεινται μάλιστα σε περιορισμούς. Από την άλλη, οφείλεται στο γεγονός ότι με την CNLO συνάρτηση δεν βρίσκουμε κλειστής μορφής λύση αλλά αριθμητική λύση. Ο υπολογισμός όμως αριθμητικής λύσης, λόγω της μεγάλης επαναληπτικότητας του αλγόριθμου, μας κοστίζει πολύ στο χρόνο επίλυσης του προβλήματος. Το σημαντικότερο όμως μειονέκτημα του συγκεκριμένου αλγορίθμου είναι το πρόβλημα των αρχικών τιμών. Υπάρχει πάντα ο κίνδυνος ότι το αποτέλεσμα μπορεί να είναι ένα τοπικό μέγιστο ή ελάχιστο και όχι το ζητούμενο. Η αποτελεσματικότητα της μεθόδου βασίζεται, στον πολύ καλό προσδιορισμό των αρχικών τιμών που θα δοθούν για τις γωνίες. Απαραίτητη προϋπόθεση είναι οι αρχικές τιμές να βρίσκονται μέσα στο χώρο εργασίας του ρομπότ και επιπλέον να είναι και κοντά στις βέλτιστες λύσεις, γιατί αλλιώς η συνάρτηση CNLO που κάνει τη βελτιστοποίηση κολλάει κατά τη διάρκεια του πειράματος. Στη μέθοδό μας για να αντιμετωπιστεί το πρόβλημα των αρχικών τιμών, χρησιμοποιήθηκαν, ως αρχικές τιμές των γωνιών, οι προηγούμενες γωνίες που υπολογίστηκαν από τον αλγόριθμο βελτιστοποίησης (για το προηγούμενο frame των καμερών). Άμεσο συμπέρασμα της προηγούμενης πρότασης είναι ότι τυχόν λανθασμένος εντοπισμός του end-effector από τον αλγόριθμο CPM, θα οδηγήσει σε κακές αρχικές συνθήκες, στην επόμενη επανάληψη, για το πρόβλημα βελτιστοποίησης και συνεπώς σε αστοχία του αλγορίθμου CNLO. Τα παραπάνω μειονεκτήματα αποτέλεσαν και το εφαλτήριο της συγκεκριμένης διπλωματικής. Απώτερος σκοπός μας είναι η δημιουργία ενός 94

95 Κεφάλαιο 4 ρομποτικού εργαλείου που θα προσφέρει ακρίβεια στο χειρουργό-ιατρό, γρήγορη απόκριση του εργαλείου σε πραγματικό χρόνο και το πιο σημαντικό, σθεναρότητα (σταθερότητα) σε ότι αφορά τον συνολικό έλεγχο της κίνησης του εργαλείου, αφού θα χρησιμοποιηθεί σε χειρουργική επέμβαση. Είναι φανερό ότι, η χρησιμοποίηση της συνάρτησης CNLO για την επίλυση του προβλήματος της αντίστροφης κινηματικής, όπως αποδείχτηκε ύστερα από αρκετά πειράματα, δεν μπορεί να καλύψει τις προδιαγραφές που χαρακτηρίζουν ένα αποτελεσματικό ρομποτικό εργαλείο κατάλληλο για λεπτές χειρουργικές επεμβάσεις. Δημιουργήθηκε λοιπόν η ανάγκη ανάπτυξης ενός νέου συστήματος ελέγχου που θα είναι αρκετά πιο γρήγορο από το προηγούμενο, θα δίνει ακριβέστερα αποτελέσματα και δεν θα είναι ευαίσθητο σε σφάλματα. 4.5 Ο αλγόριθμος που υλοποιήθηκε στην παρούσα διπλωματική εργασία για την επίλυση του προβλήματος της αντίστροφης κινηματικής Για την επίλυση του προβλήματος της αντίστροφης κινηματικής ακολουθήθηκε η τακτική της διάσπασής του σε ένα σύνολο από οκτώ διαφορετικές περιπτώσεις, ανάλογα με το πόσες και ποιες αρθρώσεις εντοπίζονται σε κάθε στιγμιότυπο από το σύστημα καμερών. Η κινηματική ανάλυση που θα παρουσιάσουμε παρακάτω βασίζεται εξ ολοκλήρου στα αποτελέσματα που μας δίνει το image processing μέσω της μεθόδου του color pattern matching (περισσότερες λεπτομέρειες έχουν αναφερθεί στο κεφάλαιο 2). Στο σημείο αυτό πρέπει να τονιστεί ότι, στην συγκεκριμένη διπλωματική εργασία, ως ανατροφοδότηση για τον έλεγχο της θέσης του end-effector δεν έχουμε μόνο την ίδια τη θέση του end-effector την κάθε χρονική στιγμή αλλά και τη θέση των αρθρώσεων. Το γεγονός αυτό απλοποιεί σημαντικά την ανάλυση του συνολικού προβλήματος. Μετά από όλα αυτά, είναι εύλογο να αναρωτηθεί κάποιος ότι, από τη στιγμή που χρησιμοποιούμε στο σύστημα μας τρεις κάμερες για τον εντοπισμό σημείων στο 3D χώρο, γιατί χρειάζεται να διακρίνουμε περιπτώσεις για το πόσες και ποιές αρθρώσεις εντοπίζονται από τον αλγόριθμο, αφού μπορούμε πάντα να γνωρίζουμε τη θέση όλων των αρθρώσεων; Η απάντηση στο ερώτημα δεν είναι μονοσήμαντη. Από τη μια πλευρά είναι σωστός ο ισχυρισμός ότι με τρεις κάμερες μπορούμε πάντα να εντοπίσουμε τη θέση όλων των αρθρώσεων, κάτι που ήταν αδύνατο όταν είχαμε δύο. Από την άλλη, αυτό δεν αρκεί από μόνο του για να έχουμε σωστά και ακριβή αποτελέσματα. Θυμίζουμε ότι η μέθοδος του Color Pattern Matching μας δίνει τα pixel που φανερώνουν τη θέση στην οποία υπάρχει μαύρο σημείο σε μια εικόνα. Αυτό συνεπάγεται ότι ναι μεν μπορεί η CPM μέθοδος να μας επιστρέφει τη θέση τεσσάρων μαύρων σημείων στην εικόνα, τίποτε όμως δεν μας εξασφαλίζει ότι όλα αυτά τα μαύρα σημεία αντιστοιχούν σε πραγματικές αρθρώσεις. Για το λόγο αυτό και στο κεφάλαιο 3 περιγράφηκε η μέθοδος που ακολουθήθηκε για να επιλυθεί το συγκεκριμένο πρόβλημα. 95

96 Κεφάλαιο 4 Η διάσπαση λοιπόν του προβλήματος της αντίστροφης κινηματικής σε περιπτώσεις, ανάλογα με το πόσες και ποιές αρθρώσεις έχουν εντοπιστεί, γίνεται με βάση τα αποτελέσματα που θα επιστρέψει ο αλγόριθμος του κεφαλαίου 3 και όχι με βάση τις συντεταγμένες των αρθρώσεων που έχουν υπολογιστεί από τον αλγόριθμο του κεφαλαίου 2. Πριν όμως προχωρήσουμε στην ανάλυση της κάθε περίπτωσης ξεχωριστά πρέπει πρώτα να σημειωθούν τα εξής: 1) Όλες οι περιπτώσεις είναι οκτώ συνολικά. Η αρχική ομαδοποίηση γίνεται σε τέσσερις κατηγορίες ανάλογα με το πόσες αρθρώσεις έχουν εντοπιστεί. Επιπλέον, η κάθε κατηγορία διασπάται σε επιμέρους περιπτώσεις ανάλογα και με το ποιές αρθρώσεις έχουν εντοπιστεί. 2) Η διάκριση των περιπτώσεων γίνεται με βάση τον end-effector και όλες τις αρθρώσεις, εκτός της πρώτης. Είναι προφανές ότι δεν χρειάζεται να συμπεριλάβουμε την πρώτη άρθρωση, αφού γνωρίζουμε ότι οι πραγματικές συντεταγμένες της θα είναι πάντα σταθερές και ίσες με εκείνες του σημείου Ο(0,0,0). Ο λόγος βέβαια που επιλέξαμε να βρίσκουμε τη θέση της πρώτης άρθρωσης κάθε φορά, εξυπηρετεί άλλο σκοπό (έχει αναφερθεί στο σημείο που αναλύουμε τη μέθοδο CMP στην ενότητα number of matches). 3) Η θέση του end-effector είναι πάντα γνωστή στον αλγόριθμο που επιλύει την αντίστροφη κινηματική Περίπτωση που έχουν εντοπιστεί επιτυχώς όλες τις αρθρώσεις Περίπτωση Πρώτη Μέσω του αλγορίθμου CPM και έπειτα με τη μέθοδο που χρησιμοποιεί τα convex hulls o αλγόριθμός μας τελικά έχει καταφέρει να εντοπίσει τη θέση όλων των αρθρώσεων, δηλαδή των αρθρώσεων 2, 3 και 4 (εκτός της πρώτης άρθρωσης και του end-effector που είναι γνωστές σε κάθε frame). Εικόνα 4.1 Περίπτωση Πρώτη 96

97 Κεφάλαιο 4 Στη περίπτωση αυτή έχουμε όλες τις απαραίτητες πληροφορίες για να προσδιορίσουμε μονοσήμαντα και τις οκτώ μεταβλητές θ 1, θ 2, θ 3, θ 4, θ 5, θ 6, θ 7 και θ 8 που αντιστοιχούν στους 8 βαθμούς ελευθερίας που έχει το ρομπότ-φιδάκι μας. Αν βρούμε τις οκτώ αυτές γωνίες τότε έχουμε επιλύσει το πρόβλημα της αντίστροφης κινηματικής. Τα βήματα που ακολουθούμε για την επίλυση της αντίστροφης κινηματικής αυτής της περίπτωσης είναι: Βήμα 1 Από τον ομογενή πίνακα (έχει υπολογιστεί στο κεφάλαιο 1) έχουμε τις εξισώσεις για τη θέση της δεύτερης άρθρωσης. όπου =θ 1 και =θ 2. Τα, και τα γνωρίζουμε από τον αλγόριθμο του CPM. Έχουμε λοιπόν να επιλύσουμε 3 εξισώσεις με 2 αγνώστους, τα θ 1 και θ 2. Διαιρώντας κατά μέλη τις (2)/(1) έχουμε: Διαιρώντας κατά μέλη τις (3)/(2) έχουμε: Στο σημείο αυτό πρέπει να σημειωθεί το εξής: Γενικά, η επίλυση της αντίστροφης εφαπτομένης έχει δύο λύσεις, τη γωνία και τη γωνία. Το ερώτημα είναι ποια γωνία είναι η σωστή; Η απάντηση δίνεται πολύ εύκολα αν λάβουμε υπόψη μας τους περιορισμούς στις γωνίες των βαθμών ελευθερίας. Όλοι οι βαθμοί ελευθερίας έχουν ένα εύρος κίνησης από (κατασκευαστικός περιορισμός). Όμως, με τον τρόπο που αναλύθηκε η ορθή κινηματική του ρομπότ προκύπτει ότι, ο περιορισμός ισχύει μόνο για τον πρώτο βαθμό ελευθερίας. Για τους υπόλοιπους επτά βαθμούς ελευθερίας ο περιορισμός στις γωνίες αλλάζει και γίνεται. Με βάση όλα παραπάνω, είναι εύκολο πλέον να επιλέξουμε τις επιθυμητές λύσεις. Για το σωστό υπολογισμό της γωνίας επιλέγουμε τη λύση ενώ για το σωστό υπολογισμό της γωνίας επιλέγουμε τη λύση με την προϋπόθεση ότι (αφού η γωνία εξαρτάται από την ). 97

98 Κεφάλαιο 4 Βήμα 2 Στη συνέχεια θα υπολογίσουμε τις γωνίες θ 3 και θ 4. Από τον πίνακα έχουμε τις εξισώσεις για τη θέση της τρίτης άρθρωσης. όπου =θ 3 και =θ 4. Τα, και τα γνωρίζουμε από τον αλγόριθμο του CPM. Παρατηρούμε ότι έχουμε τρεις εξισώσεις με δύο αγνώστους (τις γωνίεςμεταβλητές θ 3 και θ 4 ). Οι εξισώσεις είναι αρκετά μη γραμμικές και είναι δύσκολο να επιλυθούν όπως παραπάνω που διαιρέσαμε κατά μέλη. Έτσι, για το παραπάνω σύστημα εξισώσεων δοκιμάστηκαν τρεις διαφορετικοί τρόποι επίλυσής του. α) με τη συνάρτηση solve του λογισμικού matlab Η συνάρτηση solve δέχεται ως είσοδο τις εξισώσεις που είναι προς λύση καθώς και ως προς ποιές μεταβλητές θα λυθεί το σύστημα και υπολογίζει όλες τις πιθανές λύσεις. Χαρακτηριστικό της είναι ότι δεν δέχεται σαν όρισμα περιορισμούς για τις μεταβλητές. Για το πρόβλημά μας: Από τον πίνακα έχουμε υπολογίσει τα θ 1 και θ 2 Από τον αλγόριθμο του CPM γνωρίζουμε τα, και οι λύσεις που θέλουμε να βρούμε για τις γωνίες πρέπει να είναι αυστηρά στο διάστημα Η συνάρτηση μας έδινε τις δύο γωνίες θ 3 και θ 4 σε παραμετρική μορφή καθώς και τις τιμές της παραμέτρου για τις οποίες προκύπτουν όλες οι πιθανές λύσεις. Εμείς έπρεπε κάθε φορά να επιλέξουμε εκείνη την τιμή ώστε οι γωνίες μας να παίρνουν τιμές στο επιθυμητό διάστημα. 98

99 Κεφάλαιο 4 Παρακάτω παρατίθεται ένα παράδειγμα της μορφής των αποτελεσμάτων που δίνει η συνάρτηση solve: Warning: The solutions are parametrized by the symbols: Μόνο για την τιμή z=6.289, τα και παίρνουν τιμές στο επιθυμητό διάστημα. β) με τη συνάρτηση fsolve του λογισμικού matlab Η συνάρτηση fsolve μας δίνει μια αριθμητική λύση σε αντίθεση με την solve που μας δίνει όλες τις λύσεις σε κλειστή μορφή. Επιπλέον, η συνάρτηση fsolve παρέχει τη δυνατότητα εισαγωγής περιορισμών στις τιμές των λύσεων του συστήματος που θα υπολογιστούν. Έτσι καταφέραμε, εισάγοντας τον περιορισμό οι γωνίες να παίρνουν τιμές αυστηρά στο διάστημα, να έχουμε από τις πολλές λύσεις που μπορεί να είχε το σύστημα, κατευθείαν μόνο την επιθυμητή. γ) με το VI nd Non Linear System Solver του λογισμικού Labview (ανήκει στο gmath toolbox) Ο τρόπος λειτουργίας της συνάρτησης καθώς και οι μεταβλητές που έχει ως εισόδους και εξόδους εξηγούνται αναλυτικά στο πρόγραμμα Labview. Μειονέκτημα των δύο πρώτων μεθόδων είναι ότι χρησιμοποιούν το Matlab Script του LabView για να τρέξουν. Αυτό έχει σαν αποτέλεσμα να χρειάζεται σε κάθε επανάληψη επικοινωνία του LabView με το Matlab, γεγονός που προκαλεί στον αλγόριθμό μας μια καθυστέρηση της τάξης των 200 msec. Βήμα 3 Αφού έχουμε βρει και τα θ 3 και θ 4 στη συνέχεια θέλουμε να υπολογίσουμε τις γωνίες θ 5 και θ 6. Από τον πίνακα έχουμε τις εξισώσεις για τη θέση της τέταρτης άρθρωσης. Οι εξισώσεις που δίνουν τα, και έχουν αναφερθεί στο κεφάλαιο 1 και συγκεκριμένα στην ενότητα Οι τρεις αυτές εξισώσεις έχουν αγνώστους τις μεταβλητές και, όπου =θ 5 και =θ 6. 99

100 Κεφάλαιο 4 Τις τιμές των, και για το τρέχον στιγμιότυπο τις γνωρίζουμε από τον αλγόριθμο του CPM. Έχουμε λοιπόν να επιλύσουμε πάλι τρεις μη-γραμμικές εξισώσεις με δύο αγνώστους, τα θ 5 και θ 6 αυτή τη φορά (οι μεταβλητές,, και των εξισώσεων που δίνουν τα, και είναι οι γωνίες θ 1, θ 2, θ 3 και θ 4 αντίστοιχα που υπολογίσαμε στα προηγούμενα βήματα). Για την επίλυση των εξισώσεων χρησιμοποιούμε μια από τις τρεις προαναφερθείσες συναρτήσεις επίλυσης μη γραμμικών εξισώσεων. Βήμα 4 Τέλος μένει να υπολογίσουμε τις γωνίες θ 7 και θ 8. Τις απαραίτητες εξισώσεις για τον υπολογισμό των δύο αυτών μεταβλητών θα τις πάρουμε από τον πίνακα. Οι εξισώσεις που μας δίνουν τα, και του end-effector έχουν παρουσιαστεί στην ενότητα όπου αναλύεται η ορθή κινηματική του ρομπότ μας (αναφέρονται αναλυτικά και στο παράρτημα στο τέλος). Να τονίσουμε ότι στις εξισώσεις αυτές είναι όπου =θ 7 και όπου =θ 8. Και σε αυτή τη περίπτωση ακολουθήσαμε την διαδικασία που κάναμε στα βήματα 2 και 3. Συμπέρασμα Στην πρώτη αυτή περίπτωση ο αλγόριθμός μας εκμεταλλεύτηκε το γεγονός ότι γνωρίζουμε τη θέση όλων των αρθρώσεων του ρομπότ καθώς και του endeffector και διαδοχικά υπολόγισε τις οκτώ μεταβλητές για κάθε έναν από τους οκτώ βαθμούς ελευθερίας, επιλύοντας πάντα εξισώσεις με μόνο δύο αγνώστους. Έτσι καταφέραμε να απλοποιήσουμε αρκετά τους υπολογισμούς που πρέπει να εκτελεστούν και συνεπώς να μειώσουμε σημαντικά το συνολικό χρόνο που χρειάζεται ο αλγόριθμός μας για να επιλύσει το πρόβλημα τις αντίστροφης κινηματικής Περίπτωση που έχουν εντοπιστεί δύο αρθρώσεις Στην περίπτωση αυτή, έχουν εντοπιστεί συνολικά δύο αρθρώσεις του ρομποτικού μας εργαλείου. Συγκεκριμένα, μέσω του αλγορίθμου CPM έχουν υπολογιστεί τέσσερα σημεία που περιγράφουν την θέση των αρθρώσεων. Το σημείο που περιγράφει τη θέση της άρθρωσης 1 δεν μας ενδιαφέρει αφού γνωρίζουμε ήδη τη θέση της (είναι το σημείο Ο(0,0,0) ). Οπότε έχουμε ουσιαστικά τρία σημεία που αντιστοιχούν στη θέση των τριών εναπομεινάντων αρθρώσεων. Όμως, στη συνέχεια, με τη μέθοδο που χρησιμοποιεί τα convex hulls διαπιστώνεται ότι τελικά o αλγόριθμός μας έχει καταφέρει να εντοπίσει επιτυχώς δύο από τις τρεις αρθρώσεις (δηλαδή δύο από τις αρθρώσεις 2, 3 και 4). 100

101 Κεφάλαιο Περίπτωση Δεύτερη Ας υποθέσουμε ότι για την περίπτωση αυτή, ο αλγόριθμός μας έχει εντοπίσει επιτυχώς τη θέση των αρθρώσεων 2 και 3. Εικόνα 4.2 Περίπτωση Δεύτερη Στην περίπτωση αυτή δεν μπορούμε να εφαρμόσουμε ακριβώς ό,τι κάναμε στην πρώτη περίπτωση γιατί δεν γνωρίζουμε τις συντεταγμένες της άρθρωσης 4. Την συγκεκριμένη περίπτωση την αντιμετωπίσαμε ως εξής: Βήμα 1 Έχοντας ως δεδομένα τις συντεταγμένες των αρθρώσεων 2 και 3 από τον αλγόριθμο του CPM μπορούμε να υπολογίσουμε τις γωνίες θ 1,θ 2,θ 3 και θ 4. Για την εύρεση των γωνιών αυτών ακολουθούμε ακριβώς την διαδικασία των 2 πρώτων βημάτων της πρώτης περίπτωσης. Βήμα 2 Στο βήμα αυτό στόχος μας είναι να βρούμε τις γωνίες θ 5 και θ 6. Σε πρώτη φάση βλέπουμε ότι δεν μπορούμε να επιλύσουμε τις εξισώσεις που μας δίνει ο πίνακας για τις συντεταγμένες της άρθρωσης 4 αφού οι τιμές για τα, και είναι άγνωστα για το τρέχον στιγμιότυπο. Από εδώ και πέρα το πρόβλημα της αντίστροφης κινηματικής αντιμετωπίζεται στοχαστικά. Από τη στιγμή που ο αλγόριθμός CPM υπολόγισε λανθασμένες συντεταγμένες για τη θέση της άρθρωσης 4 (αποδείχτηκε μέσω της μεθόδου που χρησιμοποιεί τα convex hulls ότι οι συντεταγμένες του CPM προσδιορίζουν σημείο εκτός του χώρου εργασίας της άρθρωσης), δεν υπάρχει τρόπος να γνωρίζουμε την πραγματική θέση της άρθρωσης την συγκεκριμένη χρονική στιγμή. Οι μόνοι τρόποι αντιμετώπισης του συγκεκριμένου προβλήματος είναι οι εξής: 101

102 Κεφάλαιο 4 α) Να εκμεταλλευτούμε το επόμενο στιγμιότυπο (frame) των καμερών. Αυτό συνεπάγεται να μην γίνουν επιπλέον υπολογισμοί για τα δεδομένα που δίνουν οι κάμερες στο συγκεκριμένο frame αλλά να περιμένουμε την επόμενη εικόνα που θα πάρουν οι κάμερες με την ελπίδα ότι θα εντοπιστούν αυτή τη φορά όλες οι αρθρώσεις και θα επιλύσουμε το πρόβλημα της αντίστροφης κινηματικής όπως στην πρώτη περίπτωση. Η λύση αυτή απορρίφθηκε αμέσως καθώς κανένας δεν μπορεί να μας εγγυηθεί ότι στο επόμενο frame θα εντοπιστούν όλες οι αρθρώσεις. Μάλιστα το πιο πιθανό είναι στο επόμενο frame να εξακολουθεί να αγνοείται η συγκεκριμένη άρθρωση καθώς οι κάμερες είναι ρυθμισμένες να παίρνουν περίπου τριάντα frames το δευτερόλεπτο. Αυτό σημαίνει ότι από frame σε frame μεσολαβεί πολύ σύντομο χρονικό διάστημα στο οποίο το ρομπότ μας σίγουρα θα έχει μετατοπιστεί ελάχιστα ή καθόλου. Άρα δεν έχει νόημα να περιμένουμε το επόμενο frame. Βέβαια, ακόμα και στη περίπτωση που εξασφαλίσουμε ότι από frame σε frame (ή και μετά από περισσότερα από ένα frames) έχουμε μια κάποια σημαντική μετατόπιση του end effector, ενδέχεται μεν ο αλγόριθμος να εντοπίσει την συγκεκριμένη άρθρωση που δεν εντόπισε πριν αλλά υπάρχει το ενδεχόμενο να μην εντοπίσει κάποια άλλη άρθρωση που στα προηγούμενα frames εντοπιζόταν από το CPM. Για όλους αυτούς τους λόγους λοιπόν απορρίφθηκε ο τρόπος α). β) Ένας καλός τρόπος αντιμετώπισης του προβλήματος θα ήταν να δώσουμε στις συντεταγμένες, και τις τιμές των συντεταγμένων της άρθρωσης 4 από το προηγούμενο στιγμιότυπο. Έτσι μπορεί να λυθεί το σύστημα εξισώσεων που θα μας δώσει τα θ 5 και θ 6. Ο τρόπος αυτός, να θεωρήσουμε τις ίδιες συντεταγμένες για μια άρθρωση για δύο διαδοχικά frames έχει πέρα από πρακτικό και στοχαστικό νόημα. Και αυτό γιατί από την αρχή της κατασκευής του εργαλείου, η πιο βασική υπόθεση που έχει γίνει σε ότι αφορά τη λειτουργία του είναι ότι δεν μπορεί ο end-effector να έχει μεγάλες μετατοπίσεις σε πολύ μικρό χρονικό διάστημα [2]. Άρα η υπόθεση που έχουμε κάνει για την πιθανή τωρινή θέση της 4 ης άρθρωσης πιθανοτικά δεν είναι εσφαλμένη. γ) Ο ακόλουθος τρόπος είναι και ο καλύτερος από στοχαστικής απόψεως γι αυτό και προτιμήθηκε τελικά στα πειράματα μας. Η βασική ιδέα της συγκεκριμένης μεθόδου είναι να βρίσκουμε αρχικά το γεωμετρικό τόπο πάνω στον οποίο σίγουρα θα κινείται η άρθρωση που αγνοείται από τον CPM αλγόριθμο για το τρέχον στιγμιότυπο (στην προκειμένη περίπτωση είναι η άρθρωση 4). Αφού βρεθεί ο γ.τ., η πιο πιθανή θέση της άρθρωσης για το τρέχον στιγμιότυπο θα είναι το σημείο του γ.τ. που βρίσκεται πιο κοντά στο σημείο που αποτελούσε την θέση της άρθρωσης στο προηγούμενο στιγμιότυπο (frame). 102

103 Κεφάλαιο 4 Πιο αναλυτικά για τον αλγόριθμο που περιγράφει την παραπάνω ιδέα: Σε πρώτη φάση στόχος μας είναι να προσδιορίσουμε τον γ.τ. πάνω στον οποίο θα κινείται η 4 η άρθρωσή μας για το τρέχον στιγμιότυπο. Ο ζητούμενος γ.τ. προκύπτει βάσει του παρακάτω συλλογισμού: Έστω ότι επιλέγουμε μια οποιαδήποτε άρθρωση του ρομποτικού εργαλείου μας. Θα μελετήσουμε την κίνηση της στο 3D χώρο σε σχέση μόνο ως προς την αμέσως προηγούμενη άρθρωση (δηλαδή η κίνηση της άρθρωσης που επιλέξαμε να εξαρτάται μόνο από τους δύο βαθμούς ελευθερίας της αμέσως προηγούμενης άρθρωσης). Επιπλέον, ας υποθέσουμε ότι δεν υπάρχει κανένας περιορισμός στις γωνίες στις οποίες μπορεί να κινηθεί η αμέσως προηγούμενη άρθρωση. Τότε είναι εύκολο να παρατηρήσουμε ότι ο χώρος εργασίας της άρθρωσης, σύμφωνα με τις υποθέσεις που κάναμε, είναι ένα σφαιρικό κέλυφος. Και μιλάμε για σφαιρικό κέλυφος αφού η κάθε άρθρωση δεν αντιμετωπίζεται ως σημείο αλλά ως κάτι που έχει όγκο. Βέβαια, για απλοποίηση του προβλήματος, θα θεωρήσουμε (μόνο για τη συγκεκριμένη αυτή περίπτωση) την κάθε άρθρωση ως σημείο χωρίς αυτό να σημαίνει ότι θα χάσουμε πολύ σε ακρίβεια αφού το πάχος του κελύφους είναι μερικά μόλις χιλιοστά. Λόγω της τελευταίας αυτής υπόθεσης, ο χώρος εργασίας αυτομάτως από σφαιρικό κέλυφος μετατρέπεται σε σφαίρα. Στη συνέχεια της περιγραφής του προβλήματος προσδιορισμού του γ.τ., ας αγνοήσουμε την προηγούμενη άρθρωση και ας θεωρήσουμε ότι έχουμε μόνο την αμέσως επόμενη άρθρωση απ αυτή που επιλέξαμε αρχικά. Θα μελετήσουμε την κίνηση της άρθρωσης που έχουμε επιλέξει σε σχέση μόνο ως προς την αμέσως επόμενη άρθρωση (δηλαδή η κίνηση της άρθρωσης που επιλέξαμε να εξαρτάται μόνο από τους δύο βαθμούς ελευθερίας της αμέσως επόμενης άρθρωσης αγνοώντας τελείως την προηγούμενη άρθρωση). Προκύπτει ότι ο χώρος εργασίας της άρθρωσης, όπως και πριν, είναι μια σφαίρα. Επιπλέον είναι σημαντικό να αναφερθεί η εξής κατασκευαστική λεπτομέρεια: τα κέντρα οποιωνδήποτε δύο διαδοχικών αρθρώσεων απέχουν σταθερή απόσταση ίση με 50.5 mm. Η μόνη απόσταση που διαφέρει είναι η απόσταση της 4 ης άρθρωσης από τον end-effector που είναι 49.5 mm. Προς χάριν παραδείγματος, έστω ότι έχουμε επιλέξει την 4 η άρθρωση (συμφωνεί και με τα δεδομένα της δεύτερης περίπτωσης που μελετάμε στην παρούσα ενότητα) και θέλουμε να βρούμε το γ.τ. πάνω στον οποίο κινείται. Το παρακάτω σχήμα είναι κατατοπιστικό για να καταλάβει κάποιος την ιδέα που περιγράφουμε: 103

104 Κεφάλαιο 4 Εικόνα 4.3 Ο γ.τ. πάνω στον οποίο κινείται η 4 η άρθρωση Ο γ.τ. πάνω στον οποίο θα κινείται η 4 η άρθρωσή θα είναι ο κύκλος που φαίνεται στο σχήμα με μαύρο χρώμα. Ο κύκλος αυτός προκύπτει από την τομή δύο σφαιρών. Η πρώτη σφαίρα έχει κέντρο τις τρέχουσες συντεταγμένες τις 3 ης άρθρωσης (x 1,y 1,z 1 ) και ακτίνα 50.5mm. H δεύτερη σφαίρα έχει κέντρο τις τρέχουσες συντεταγμένες του end-effector (x 2,y 2,z 2 ) και ακτίνα 49.5mm. Βήμα 1 Πρωταρχικός στόχος είναι να υπολογίζουμε με μαθηματικό τρόπο την ακτίνα και το κέντρο του παραπάνω κύκλου. Έστω ότι η πρώτη σφαίρα έχει κέντρο το σημείο (x1,y1,z1) και ακτίνα r1 και έστω ότι η δεύτερη σφαίρα έχει κέντρο το σημείο (x2,y2,z2) και ακτίνα r2. Οι εξισώσεις των σφαιρών δίνονται από τις παρακάτω σχέσεις: Αφαιρούμε κατά μέλη τις εξισώσεις (2)-(1) 104

105 Κεφάλαιο 4 Κάνοντας τις πράξεις προκύπτει η εξίσωση του επιπέδου στο οποίο βρίσκεται ο ζητούμενος κύκλος. Το επίπεδο αυτό έχει εξίσωση της μορφής: όπου οι συντελεστές είναι ίσοι με: Στη συνέχεια θα βρούμε τη γραμμή που περνά μέσα από το κέντρο της πρώτης σφαίρας και είναι κάθετη στο παραπάνω επίπεδο. Η εξίσωση της γραμμής σε μορφή παραμετρικών εξισώσεων είναι: Αντικαθιστώντας το σύστημα των εξισώσεων (4) στην εξίσωση (3) του επιπέδου και λύνοντας ως προς βρίσκουμε ότι : To t0 είναι η παράμετρος που θα μας δώσει την ακτίνα και το κέντρο του ζητούμενου κύκλου. Συνεπώς το κέντρο του κύκλου θα ισούται με: ενώ η ακτίνα του δίνεται από τη εφαρμογή του Π.Θ. στο τρίγωνο HJK: Εικόνα 4.4 Το κέντρο και η ακτίνα του ζητούμενου κύκλου 105

106 Κεφάλαιο 4 Βήμα 2 Στο δεύτερο βήμα στόχο έχουμε να βρούμε την προβολή του σημείου πάνω στο επίπεδο του κύκλου. Με Μ έχουμε συμβολίσει το σημείο, οι συντεταγμένες του οποίου ταυτίζονται με τις συντεταγμένες που είχε η άρθρωση 4 στο προηγούμενο frame. Ας ονομάσουμε επίσης τη ζητούμενη προβολή. Στο βήμα 1 βρήκαμε ότι το επίπεδο στο οποίο βρίσκεται ο κύκλος έχει εξίσωση: Normal του επιπέδου (δηλαδή το διάνυσμα κάθετο στο επίπεδο) είναι το διάνυσμα. Συνεπώς η γραμμή που περνάει από το σημείο Μ και είναι κάθετη στο επίπεδο του κύκλου περιγράφεται από τις παρακάτω παραμετρικές εξισώσεις: Αντικαθιστώντας το σύστημα των εξισώσεων (5) στην εξίσωση του επιπέδου (3) και λύνοντας ως προς t έχουμε: Τελικά οι συντεταγμένες (,, ) της προβολής Β δίνονται από τις σχέσεις: 106

107 Κεφάλαιο 4 Βήμα 3 Τέλος, σ αυτό το βήμα στόχος είναι να υπολογίσουμε το σημείο πάνω στον κύκλο του βήματος 1 που είναι πιο κοντά στην προβολή που υπολογίσαμε στο βήμα 2. Στο διπλανό σχήμα με έχουμε συμβολίσει την προβολή, με το κέντρο του κύκλου και έστω η ακτίνα του. Με έχουμε συμβολίσει το ζητούμενο σημείο. Εικόνα 4.5 Προσδιορισμός της θέσης του ζητούμενου σημείου C πάνω στο κύκλο Εκμεταλλευόμενοι τις ιδιότητες των διανυσμάτων το σημείο C μπορεί να προκύψει πολύ απλά από τη σχέση: Συγκεκριμένα οι συντεταγμένες του σημείου C είναι: Όλη η παραπάνω ανάλυση έγινε για να μπορούμε να ισχυριστούμε ότι το σημείο C που μόλις βρήκαμε είναι το πιο πιθανό σημείο στο οποίο μπορεί να βρίσκεται η άρθρωσή μας (η άρθρωση 4). Στο επόμενο σχήμα φαίνεται ένα παράδειγμα της υπολογισμένης προβολής Β (το Β είναι η προβολή του σημείου Μ) και του τελικού σημείου C. 107

108 Κεφάλαιο 4 Βήμα 4 Εικόνα 4.6 Προσδιορισμός της θέσης του ζητούμενου σημείου C στο 3D χώρο Από το βήμα 3 έχουμε υπολογίσει τις συντεταγμένες του σημείου βάση τα όσα είπαμε μπορούμε να κάνουμε την αντιστοιχία: και με Τώρα λοιπόν που γνωρίζουμε τη θέση της άρθρωσης 4 (όχι ακριβή θέση αλλά πιο πιθανή για το τρέχον στιγμιότυπο) μπορούμε να συνεχίσουμε την επίλυση του προβλήματος της αντίστροφης κινηματικής. Θέλουμε να βρούμε τις γωνίες θ 5 και θ 6. Τώρα μπορούμε να επιλύσουμε τις εξισώσεις που μας δίνει ο πίνακας αφού τα, και είναι πλέον γνωστά (από το βήμα 4). Χρησιμοποιώντας μία από τις συναρτήσεις solve, fsolve ή nd Non Linear System Solver τα θ 5 και θ 6 μπορούν να υπολογιστούν εύκολα. Με τον ίδιο τρόπο, και αφού γνωρίζουμε και τις συντεταγμένες του endeffector, υπολογίζουμε και τα θ 7 και θ 8. Έτσι λύθηκε το πρόβλημα της αντίστροφης κινηματικής στην δεύτερη περίπτωση. 108

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΣΥΝΟΨΗ

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΣΥΝΟΨΗ ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - Π. ΑΣΒΕΣΤΑΣ E MAIL: pasv@uniwa.gr Εφαρμογές ρομποτικής στην Ιατρική Κλασσική χειρουργική Ορθοπεδικές επεμβάσεις Νευροχειρουργική Ακτινοθεραπεία Αποκατάσταση φυσιοθεραπεία 2 Βασικοί

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΑΣΚΗΣΕΙΣ. Π. Ασβεστάς Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Βιοϊατρικής Πανεπιστήμιο Δυτικής Αττικής

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΑΣΚΗΣΕΙΣ. Π. Ασβεστάς Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Βιοϊατρικής Πανεπιστήμιο Δυτικής Αττικής ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΑΣΚΗΣΕΙΣ Π. Ασβεστάς Αναπληρωτής Καθηγητής Τμήμα Μηχανικών Βιοϊατρικής Πανεπιστήμιο Δυτικής Αττικής E-mail: pasv@uniwa.gr ΑΣΚΗΣΗ 1 1. Έστω δύο 3Δ καρτεσιανά συστήματα συντεταγμένων,

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧ/ΚΩΝ & ΜΗΧ/ΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Θέματα Εξετάσεων Ασκήσεις στο Mάθημα: "ΡΟΜΠΟΤΙΚΗ Ι: ΑΝΑΛΥΣΗ, ΕΛΕΓΧΟΣ, ΕΡΓΑΣΤΗΡΙΟ" 1 η Σειρά Θεμάτων Θέμα 1-1 Έστω ρομποτικός

Διαβάστε περισσότερα

Αριθμητικές μέθοδοι σε ταλαντώσεις μηχανολογικών συστημάτων

Αριθμητικές μέθοδοι σε ταλαντώσεις μηχανολογικών συστημάτων ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Καθηγητής κ. Σ. Νατσιάβας Αριθμητικές μέθοδοι σε ταλαντώσεις μηχανολογικών συστημάτων Στοιχεία Φοιτητή Ονοματεπώνυμο: Νατσάκης Αναστάσιος Αριθμός Ειδικού Μητρώου:

Διαβάστε περισσότερα

Εισαγωγή στην Ρομποτική

Εισαγωγή στην Ρομποτική Τμήμα Μηχανολογίας Τ.Ε.Ι. Κρήτης Εισαγωγή στην Ρομποτική 1 Γενική περιγραφή ρομποτικού βραχίονα σύνδεσμοι αρθρώσεις αρπάγη Περιστροφική Πρισματική Βάση ρομποτικού βραχίονα 3 Βασικές ρομποτικές αρθρώσεις

Διαβάστε περισσότερα

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams Αλέκα Σεληνιωτάκη Ηράκλειο, 26/06/12 aseliniotaki@csd.uoc.gr ΑΜ: 703 1. Περίληψη Συνεισφοράς

Διαβάστε περισσότερα

3. ΥΝΑΜΙΚΗ ΡΟΜΠΟΤΙΚΩΝ ΒΡΑΧΙΟΝΩΝ

3. ΥΝΑΜΙΚΗ ΡΟΜΠΟΤΙΚΩΝ ΒΡΑΧΙΟΝΩΝ 3. ΥΝΑΜΙΚΗ ΡΟΜΠΟΤΙΚΩΝ ΒΡΑΧΙΟΝΩΝ Η δυναµική ασχολείται µε την εξαγωγή και τη µελέτη του δυναµικού µοντέλου ενός ροµποτικού βραχίονα. Το δυναµικό µοντέλο συνίσταται στις διαφορικές εξισώσεις που περιγράφουν

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 1 ΤO ΡΟΜΠΟΤ INTELLITEK ER-2u Εφαρμογή 1: Το ρομπότ INTELITEK ER-2u Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr,

Διαβάστε περισσότερα

Σύμφωνα με το Ινστιτούτο Ρομποτικής της Αμερικής

Σύμφωνα με το Ινστιτούτο Ρομποτικής της Αμερικής ΡΟΜΠΟΤΙΚΗ: ΟΡΙΣΜΟΣ: Σύμφωνα με το Ινστιτούτο Ρομποτικής της Αμερικής, ρομπότ είναι ένας αναπρογραμματιζόμενος και πολυλειτουργικός χωρικός μηχανισμός σχεδιασμένος να μετακινεί υλικά, αντικείμενα, εργαλεία

Διαβάστε περισσότερα

Έλεγχος Αλληλεπίδρασης με το. Έλεγχος «Συμμόρφωσης» ή «Υποχωρητικότητας» (Compliance Control)

Έλεγχος Αλληλεπίδρασης με το. Έλεγχος «Συμμόρφωσης» ή «Υποχωρητικότητας» (Compliance Control) Έλεγχος Αλληλεπίδρασης με το Περιβάλλον Έλεγχος «Συμμόρφωσης» ή «Υποχωρητικότητας» (Compliance Control) Έλεγχος Εμπέδησης (Impeance Control) Αλληλεπίδραση με το περιβάλλον Η αλληλεπίδραση με το περιβάλλον

Διαβάστε περισσότερα

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ

ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΑΝΩΤΑΤΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΤ. ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. ΤΟΜΕΑΣ ΚΑΤΑΣΚΕΥΑΣΤΙΚΟΣ ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ ΑΝΑΠΤΥΞΗ XLS ΓΙΑ ΤΟΝ ΥΠΟΛΟΓΙΣΜΟ ΤΩΝ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΤΩΝ

Διαβάστε περισσότερα

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ

ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ ΒΙΟΜΗΧΑΝΙΚΑ ΗΛΕΚΤΡΟΝΙΚΑ Συµπληρωµατικές Σηµειώσεις Προχωρηµένο Επίπεδο Επεξεργασίας Εικόνας Σύνθεση Οπτικού Μωσαϊκού ρ. Γ. Χ. Καρράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Μηχανολόγων Μηχανικών Τοµέας Μηχανολογικών

Διαβάστε περισσότερα

ΚΑΤΑΓΡΑΦΗ ΤΟΥ ΙΧΝΟΥΣ ΤΗΣ ΟΠΤΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ: ΜΙΑ ΜΕΘΟΔΟΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΕΠΙΛΕΚΤΙΚΟΤΗΤΑΣ ΤΗΣ ΟΠΗΣ ΩΣ ΒΑΣΙΚΟΥ ΧΑΡΑΚΤΗΡΙΣΤΙΚΟΥ ΤΟΥ ΣΧΗΜΑΤΟΣ

ΚΑΤΑΓΡΑΦΗ ΤΟΥ ΙΧΝΟΥΣ ΤΗΣ ΟΠΤΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ: ΜΙΑ ΜΕΘΟΔΟΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΕΠΙΛΕΚΤΙΚΟΤΗΤΑΣ ΤΗΣ ΟΠΗΣ ΩΣ ΒΑΣΙΚΟΥ ΧΑΡΑΚΤΗΡΙΣΤΙΚΟΥ ΤΟΥ ΣΧΗΜΑΤΟΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΑΓΡΟΝΟΜΩΝ ΚΑΙ ΤΟΠΟΓΡΑΦΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΤΟΠΟΓΡΑΦΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΧΑΡΤΟΓΡΑΦΙΑΣ ΚΑΤΑΓΡΑΦΗ ΤΟΥ ΙΧΝΟΥΣ ΤΗΣ ΟΠΤΙΚΗΣ ΑΝΑΖΗΤΗΣΗΣ: ΜΙΑ ΜΕΘΟΔΟΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΕΠΙΛΕΚΤΙΚΟΤΗΤΑΣ

Διαβάστε περισσότερα

υναµ α ι µ κή τ ων Ρ οµ ο π µ ο π τ ο ικών Βραχιόνων

υναµ α ι µ κή τ ων Ρ οµ ο π µ ο π τ ο ικών Βραχιόνων υναµική των Ροµποτικών Βραχιόνων Ροµποτική Αρχιτεκτονική: η υναµική u Ροµποτική υναµική q, q& Ροµποτική Κινηµατική Περιβάλλον Θέση, Προσανατολισµός & και αλληλε ίδραση Η δυναµική ασχολείται µε την εξαγωγή

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

«Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής»

«Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής» ΠΕΡΙΛΗΨΗ ΤΗΣ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ «Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής» του Θεμιστοκλή Τσαλκατίδη, Δρ. Πολιτικού Μηχανικού

Διαβάστε περισσότερα

Αυτόματη προσγείωση τετρακόπτερου με χρήση κάμερας

Αυτόματη προσγείωση τετρακόπτερου με χρήση κάμερας Διπλωματική εργασία Αυτόματη προσγείωση τετρακόπτερου με χρήση κάμερας Τζιβάρας Βασίλης Επιβλέπων: Κ. Κωνσταντίνος Βλάχος Τμήμα Μηχανικών Η/Υ και Πληροφορικής Ιωάννινα Φεβρουάριος 2018 Περιεχόμενα Εισαγωγή

Διαβάστε περισσότερα

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ

ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ. Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΕΧΡΩΜΩΝ ΕΓΓΡΑΦΩΝ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΣΕΡΡΩΝ Τμήμα ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΕΥΝΗΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ ΑΡΧΙΜΗΔΗΣ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑΔΩΝ ΣΤΟ ΤΕΙ ΣΕΡΡΩΝ Ενέργεια. 2.2.3.στ ΘΕΜΑ ΕΡΕΥΝΑΣ: ΔΙΑΡΘΡΩΣΗ

Διαβάστε περισσότερα

Δραστηριότητες Έρευνας και Ανάπτυξης του Εργαστηρίου Αυτοματικής Ρομποτικής του Τμήματος Μηχανολογίας του ΤΕΙ Κρήτης

Δραστηριότητες Έρευνας και Ανάπτυξης του Εργαστηρίου Αυτοματικής Ρομποτικής του Τμήματος Μηχανολογίας του ΤΕΙ Κρήτης Δραστηριότητες Έρευνας και Ανάπτυξης του Εργαστηρίου Αυτοματικής Ρομποτικής του Τμήματος Μηχανολογίας του ΤΕΙ Κρήτης των Δρ. Μανόλη Καββουσανού και Δρ. Γιάννη Φασουλά Το Εργαστήριο Αυτοματικής Ρομποτικής

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΑΥΤΟΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΑ ΤΕΧΝΟΛΟΓΙΚΑ ΕΠΑΓΓΕΛΜΑΤΙΚΑ ΕΚΠΑΙΔΕΥΤΗΡΙΑ-ΤΕΕ

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΑΥΤΟΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΑ ΤΕΧΝΟΛΟΓΙΚΑ ΕΠΑΓΓΕΛΜΑΤΙΚΑ ΕΚΠΑΙΔΕΥΤΗΡΙΑ-ΤΕΕ Αφιέρωμα στο Γ Συνέδριο «Τεχνολογία & Αυτοματισμός» ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΑΥΤΟΜΑΤΙΣΜΟ ΔΙΔΑΣΚΑΛΙΑ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΤΑ ΤΕΧΝΟΛΟΓΙΚΑ ΕΠΑΓΓΕΛΜΑΤΙΚΑ ΕΚΠΑΙΔΕΥΤΗΡΙΑ-ΤΕΕ Νίκος Γλώσσας Καθηγητής Δευτεροβάθμιας

Διαβάστε περισσότερα

ΒΕΛΤΙΣΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ. Δρ. Πολ. Μηχ. Κόκκινος Οδυσσέας

ΒΕΛΤΙΣΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ. Δρ. Πολ. Μηχ. Κόκκινος Οδυσσέας ΒΕΛΤΙΣΤΟΣ ΣΧΕΔΙΑΣΜΟΣ ΤΩΝ ΚΑΤΑΣΚΕΥΩΝ Δρ. Πολ. Μηχ. Κόκκινος Οδυσσέας Σχεδιασμός αντικειμένων, διεργασιών, δραστηριοτήτων (π.χ. τεχνικά έργα, έπιπλα, σκεύη κτλ) ΠΡΟΚΑΤΑΡΚΤΙΚΗ ΜΕΛΕΤΗ (conceptual design) ΠΡΟΜΕΛΕΤΗ

Διαβάστε περισσότερα

RobotArmy Περίληψη έργου

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

Διαβάστε περισσότερα

ΒΕΛΤΙΣΤΟΣ ΓΕΩΜΕΤΡΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΧΩΡΙΚΟΥ ΒΡΑΧΙΟΝΑ RRR ΜΕ ΧΡΗΣΗ ΥΒΡΙΔΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ

ΒΕΛΤΙΣΤΟΣ ΓΕΩΜΕΤΡΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΧΩΡΙΚΟΥ ΒΡΑΧΙΟΝΑ RRR ΜΕ ΧΡΗΣΗ ΥΒΡΙΔΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ ΒΕΛΤΙΣΤΟΣ ΓΕΩΜΕΤΡΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ ΧΩΡΙΚΟΥ ΒΡΑΧΙΟΝΑ RRR ΜΕ ΧΡΗΣΗ ΥΒΡΙΔΙΚΟΥ ΑΛΓΟΡΙΘΜΟΥ Δ. Σαγρής, Σ. Μήτση, Κ.-Δ. Μπουζάκης, Γκ. Μανσούρ Εργαστήριο Εργαλειομηχανών και Διαμορφωτικής Μηχανολογίας, Τμήμα Μηχανολόγων

Διαβάστε περισσότερα

ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ Καμπυλόγραμμες Κινήσεις Επιμέλεια: Αγκανάκης Α. Παναγιώτης, Φυσικός http://phyiccore.wordpre.com/ Βασικές Έννοιες Μέχρι στιγμής έχουμε μάθει να μελετάμε απλές κινήσεις,

Διαβάστε περισσότερα

Ρομποτικά Συστήματα Ελέγχου: Διαφορική Κινηματική Ανάλυση

Ρομποτικά Συστήματα Ελέγχου: Διαφορική Κινηματική Ανάλυση Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών «ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΙΣΜΟΥ» Ρομποτικά Συστήματα Ελέγχου: Διαφορική Κινηματική Ανάλυση Κων/νος Τζαφέστας Τομέας Σημάτων, Ελέγχου & Ρομποτικής Σχολή Ηλεκτρ. Μηχ/κών

Διαβάστε περισσότερα

2. Ανάλυση του βασικού κινηματικού μηχανισμού των εμβολοφόρων ΜΕΚ

2. Ανάλυση του βασικού κινηματικού μηχανισμού των εμβολοφόρων ΜΕΚ 2. Ανάλυση του βασικού κινηματικού μηχανισμού των εμβολοφόρων ΜΕΚ Προαπαιτούμενες γνώσεις: (α) Γνώσεις των τμημάτων κινηματικού μηχανισμού Μηχανής Εσωτερικής Καύσης (β) Αριθμητικός υπολογισμός παραγώγου

Διαβάστε περισσότερα

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση

Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση ΤΨΣ 50 Ψηφιακή Επεξεργασία Εικόνας Κατάτµηση Εικόνων: Ανίχνευση Ακµών και Κατάτµηση µε Κατωφλίωση Τµήµα ιδακτικής της Τεχνολογίας και Ψηφιακών Συστηµάτων Πανεπιστήµιο Πειραιώς Περιεχόµενα Βιβλιογραφία

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ 1 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Κατασκευή εφαρμογής ανίχνευσης κινούμενων αντικειμένων ή αντικειμένων που εναποτέθηκαν με χρήση όρασης

Διαβάστε περισσότερα

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής:

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής: ΑΝΩΤΑΤΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΤΕΧΝΟΛΟΓΙΚΟΥ ΤΟΜΕΑ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΑΥΤΟΜΑΤΙΣΜΟΥ Τ.Ε. ΤΟΜΕΑΣ ΙΙΙ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Π. Ράλλη & Θηβών 250, 12244 Αθήνα Καθηγητής Γ. Ε. Χαμηλοθώρης αρχείο: θέμα:

Διαβάστε περισσότερα

710 -Μάθηση - Απόδοση

710 -Μάθηση - Απόδοση 710 -Μάθηση - Απόδοση Διάλεξη 6η Ποιοτική αξιολόγηση της Κινητικής Συμπεριφοράς Παρατήρηση III Η διάλεξη αυτή περιλαμβάνει: Διαδικασία της παρατήρησης & της αξιολόγησης Στόχοι και περιεχόμενο παρατήρησης

Διαβάστε περισσότερα

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

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

Διαβάστε περισσότερα

710 -Μάθηση - Απόδοση

710 -Μάθηση - Απόδοση 710 -Μάθηση - Απόδοση Διάλεξη 6η Ποιοτική αξιολόγηση της Κινητικής Παρατήρηση Αξιολόγηση & Διάγνωση Η διάλεξη αυτή περιλαμβάνει: Διαδικασία της παρατήρησης & της αξιολόγησης Στόχοι και περιεχόμενο παρατήρησης

Διαβάστε περισσότερα

ΠΡΟΣΑΡΜΟΣΤΙΚΟΣ ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΜΕ ΕΞΑΣΦΑΛΙΣΗ ΠΡΟΚΑΘΟΡΙΣΜΕΝΗΣ ΕΠΙΔΟΣΗΣ ΣΤΟ ΣΦΑΛΜΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΤΡΟΧΙΑΣ ΣΤΙΣ ΑΡΘΡΩΣΕΙΣ.

ΠΡΟΣΑΡΜΟΣΤΙΚΟΣ ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΜΕ ΕΞΑΣΦΑΛΙΣΗ ΠΡΟΚΑΘΟΡΙΣΜΕΝΗΣ ΕΠΙΔΟΣΗΣ ΣΤΟ ΣΦΑΛΜΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΤΡΟΧΙΑΣ ΣΤΙΣ ΑΡΘΡΩΣΕΙΣ. ΠΡΟΣΑΡΜΟΣΤΙΚΟΣ ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΜΕ ΕΞΑΣΦΑΛΙΣΗ ΠΡΟΚΑΘΟΡΙΣΜΕΝΗΣ ΕΠΙΔΟΣΗΣ ΣΤΟ ΣΦΑΛΜΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΤΡΟΧΙΑΣ ΣΤΙΣ ΑΡΘΡΩΣΕΙΣ. Όλγα Ζωίδη, Ζωή Δουλγέρη Εργαστήριο Αυτοματοποίησης και Ρομποτικής Τμήμα

Διαβάστε περισσότερα

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Χειμερινό εξάμηνο Γραφικά με υπολογιστές Διδάσκων: Φοίβος Μυλωνάς fmlonas@ionio.gr Διαλέξεις #-# Σύνθεση Δ Μετασχηματισμών Ομογενείς Συντεταγμένες Παραδείγματα Μετασχηματισμών

Διαβάστε περισσότερα

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων Με τον όρο μη γραμμικές εξισώσεις εννοούμε εξισώσεις της μορφής: f( ) 0 που προέρχονται από συναρτήσεις f () που είναι μη γραμμικές ως προς. Περιέχουν δηλαδή

Διαβάστε περισσότερα

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

Διαβάστε περισσότερα

Δυναµική των Ροµποτικών Βραχιόνων. Κ. Κυριακόπουλος

Δυναµική των Ροµποτικών Βραχιόνων. Κ. Κυριακόπουλος Δυναµική των Ροµποτικών Βραχιόνων Κ. Κυριακόπουλος Ροµποτική Αρχιτεκτονική: η Δυναµική Περιβάλλον u Ροµποτική Δυναµική q,!q Ροµποτική Κινηµατική Θέση, Προσανατολισµός και αλληλεπίδραση Η δυναµική ασχολείται

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη του Ηλεκτρολόγου Μηχανικού (και στην Τεχνολογία Υπολογιστών;)

Εισαγωγή στην Επιστήμη του Ηλεκτρολόγου Μηχανικού (και στην Τεχνολογία Υπολογιστών;) Εισαγωγή στην Επιστήμη του Ηλεκτρολόγου Μηχανικού (και στην Τεχνολογία Υπολογιστών;) Τι είναι αυτό; 1. Διαλέξεις; 2. Σεμινάριο; 3. Μάθημα; 4. Αλλο; Θεωρία Συστημάτων, Θεωρία Αποφάσεων και (αυτόματος) Έλεγχος

Διαβάστε περισσότερα

Τμήμα Φυσικής, Παν/μιο Ιωαννίνων, Ειδική Σχετικότητα, Διάλεξη 5 Οι Μετασχηματισμοί του Lorentz και η Συστολή του μήκους

Τμήμα Φυσικής, Παν/μιο Ιωαννίνων, Ειδική Σχετικότητα, Διάλεξη 5 Οι Μετασχηματισμοί του Lorentz και η Συστολή του μήκους 1 Οι Μετασχηματισμοί του Lorentz και η Συστολή του μήκους Σκοποί της πέμπτης διάλεξης: 10.11.2011 Εξοικείωση με τους μετασχηματισμούς του Lorentz και τις διάφορες μορφές που μπορούν να πάρουν για την επίλυση

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3.

Μηχανισµοί & Εισαγωγή στο Σχεδιασµό Μηχανών Ακαδηµαϊκό έτος: Ε.Μ.Π. Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 3. ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕ ΙΑΣΜΟ ΜΗΧΑΝΩΝ - 3.1 - Cpright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο υναµικής και Κατασκευών - 2012. Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Απαγορεύεται

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΤΕΧΝΙΚΗΣ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΕΥΑΓΓΕΛΙΑΣ Π. ΛΟΥΚΟΓΕΩΡΓΑΚΗ Διπλωματούχου Πολιτικού Μηχανικού ΟΛΟΚΛΗΡΩΜΕΝΟ

Διαβάστε περισσότερα

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου

Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Χρήση του Simulation Interface Toolkit για την Εξομοίωση και Πειραματισμό Συστημάτων Αυτομάτου Ελέγχου Γ. Νικολακόπουλος, Μ. Κουνδουράκης, Α. Τζες και Γ. Γεωργούλας Πανεπιστήμιο Πατρών Τμήμα Ηλεκτρολόγων

Διαβάστε περισσότερα

Θέση και Προσανατολισμός

Θέση και Προσανατολισμός Κεφάλαιο 2 Θέση και Προσανατολισμός 2-1 Εισαγωγή Προκειμένου να μπορεί ένα ρομπότ να εκτελέσει κάποιο έργο, πρέπει να διαθέτει τρόπο να περιγράφει τα εξής: Τη θέση και προσανατολισμό του τελικού στοιχείου

Διαβάστε περισσότερα

Μάθημα: Ρομποτικός Έλεγχος

Μάθημα: Ρομποτικός Έλεγχος Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών «ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΙΣΜΟΥ» Ε.Μ.Π., Ακαδημαϊκό Έτος 011-1 Μάθημα: Ρομποτικός Έλεγχος Αυτόματος Έλεγχος Ρομπότ (Μη-Γραμμικός Ρομποτικός Έλεγχος Κων/νος Τζαφέστας

Διαβάστε περισσότερα

p& i m p mi i m Με τη ίδια λογική όπως αυτή που αναπτύχθηκε προηγουµένως καταλήγουµε στην έκφραση της κινητικής ενέργειας του ρότορα i,

p& i m p mi i m Με τη ίδια λογική όπως αυτή που αναπτύχθηκε προηγουµένως καταλήγουµε στην έκφραση της κινητικής ενέργειας του ρότορα i, Κινητική Ενέργεια Κινητήρων Περνάµε τώρα στη συνεισφορά κινητικής ενέργειας λόγω της κίνησης & ϑ m του κινητήρα που κινεί την άρθρωση µε q& και, προφανώς όπως φαίνεται στο παρακάτω σχήµα, ευρίσκεται στον

Διαβάστε περισσότερα

Ανάπτυξη Δικτύων Ελέγχου και Αυτοματισμού Ενεργειακών Εγκαταστάσεων

Ανάπτυξη Δικτύων Ελέγχου και Αυτοματισμού Ενεργειακών Εγκαταστάσεων ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Παρίντας Θεμιστοκλής Ανάπτυξη Δικτύων Ελέγχου και Αυτοματισμού Ενεργειακών Εγκαταστάσεων Επιβλέπων Καθηγητής: Ασημόπουλος Νικόλαος Εξεταστές:Ασημόπουλος Νικόλαος, Παναγιωτόπουλος Δημόκριτος

Διαβάστε περισσότερα

Κεφάλαιο 1 Εισαγωγή.

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

Διαβάστε περισσότερα

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ

ΔΕΙΓΜΑ ΠΡΙΝ ΤΙΣ ΔΙΟΡΘΩΣΕΙΣ - ΕΚΔΟΣΕΙΣ ΚΡΙΤΙΚΗ Συναρτήσεις Προεπισκόπηση Κεφαλαίου Τα μαθηματικά είναι μια γλώσσα με ένα συγκεκριμένο λεξιλόγιο και πολλούς κανόνες. Πριν ξεκινήσετε το ταξίδι σας στον Απειροστικό Λογισμό, θα πρέπει να έχετε εξοικειωθεί

Διαβάστε περισσότερα

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να:

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να: ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μεθοδολογίες και Συστήματα Βιομηχανικής Αυτοματοποίησης Κωδικός Μαθήματος Μ3 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε Τρόπος/Μέθοδοι

Διαβάστε περισσότερα

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης). Μέθοδος Euler 3. Μέθοδοι

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

Διαβάστε περισσότερα

Συστήματα συντεταγμένων

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

Διαβάστε περισσότερα

ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΝΟΣ ΕΙΚΟΝΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΤΥΠΟΥ SCARA

ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΝΟΣ ΕΙΚΟΝΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΤΥΠΟΥ SCARA ΕΚΠΑΙΔΕΥΤΙΚΟ ΛΟΓΙΣΜΙΚΟ ΓΙΑ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΝΟΣ ΕΙΚΟΝΙΚΟΥ ΡΟΜΠΟΤΙΚΟΥ ΒΡΑΧΙΟΝΑ ΤΥΠΟΥ SCARA Δρ. Φασουλάς Ιωάννης, jfasoula@ee.auth.gr jfasoulas@teemail.gr Τμήμα Πληροφορικής και Επικοινωνιών Τεχνολογικό

Διαβάστε περισσότερα

Φυσική Θετικών Σπουδών Γ τάξη Ενιαίου Λυκείου 2 0 Κεφάλαιο

Φυσική Θετικών Σπουδών Γ τάξη Ενιαίου Λυκείου 2 0 Κεφάλαιο Φυσική Θετικών Σπουδών Γ τάξη Ενιαίου Λυκείου 0 Κεφάλαιο Περιέχει: Αναλυτική Θεωρία Ερωτήσεις Θεωρίας Ερωτήσεις Πολλαπλής Επιλογής Ερωτήσεις Σωστού - λάθους Ασκήσεις ΘΕΩΡΙΑ 4- ΕΙΣΑΓΩΓΗ Στην μέχρι τώρα

Διαβάστε περισσότερα

Άσκηση 3 Υπολογισμός του μέτρου της ταχύτητας και της επιτάχυνσης

Άσκηση 3 Υπολογισμός του μέτρου της ταχύτητας και της επιτάχυνσης Άσκηση 3 Υπολογισμός του μέτρου της ταχύτητας και της επιτάχυνσης Σύνοψη Σκοπός της συγκεκριμένης άσκησης είναι ο υπολογισμός του μέτρου της στιγμιαίας ταχύτητας και της επιτάχυνσης ενός υλικού σημείου

Διαβάστε περισσότερα

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής:

Με τη σύμβαση της «κινηματικής αλυσίδας», ο μηχανισμός αποτυπώνεται σε πίνακα παραμέτρων ως εξής: ΑΝΩΤΑΤΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΕΧΝΟΛΟΓΙΚΟΥ ΤΟΜΕΑ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΑΥΤΟΜΑΤΙΣΜΟΥ Τ.Ε. ΤΟΜΕΑΣ ΙΙΙ ΣΥΣΤΗΜΑΤΩΝ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Π. Ράλλη & Θηβών 250, 12244 Αθήνα Καθηγητής Γ. Ε. Χαμηλοθώρης αρχείο: θέμα:

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εργαστηριακή και Βιομηχανική Ηλεκτρονική Ηλ. Αμφ. 2, 3. Γλώσσες Προγραμματισμού Ι. Ηλ. Αμφ. 1, 2, 3, 4, 5

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εργαστηριακή και Βιομηχανική Ηλεκτρονική Ηλ. Αμφ. 2, 3. Γλώσσες Προγραμματισμού Ι. Ηλ. Αμφ. 1, 2, 3, 4, 5 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2016-2017 Περίοδος Ιουνίου 2017 Έκδοση 08.06.2017 ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο

Διαβάστε περισσότερα

ΚΥΡΙΑ ΣΤΟΙΧΕΙΑ ΜΑΘΗΜΑΤΟΣ

ΚΥΡΙΑ ΣΤΟΙΧΕΙΑ ΜΑΘΗΜΑΤΟΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ ΣΥΣΤΗΜΑΤΑ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Ι Καθηγητής: Δ. ΔΗΜΟΓΙΑΝΝΟΠΟΥΛΟΣ Εργαστηριακοί Συνεργάτες: Σ. ΒΑΣΙΛΕΙΑΔΟΥ, Α. ΟΙΚΟΝΟΜΙΔΗΣ,

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

x=l ηλαδή η ενέργεια είναι µία συνάρτηση της συνάρτησης . Στα µαθηµατικά, η συνάρτηση µίας συνάρτησης ονοµάζεται συναρτησιακό (functional).

x=l ηλαδή η ενέργεια είναι µία συνάρτηση της συνάρτησης . Στα µαθηµατικά, η συνάρτηση µίας συνάρτησης ονοµάζεται συναρτησιακό (functional). 3. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟ ΟΥΣ Η Μέθοδος των Πεπερασµένων Στοιχείων Σηµειώσεις 3. Ενεργειακή θεώρηση σε συνεχή συστήµατα Έστω η δοκός του σχήµατος, µε τις αντίστοιχες φορτίσεις. + = p() EA = Q Σχήµα

Διαβάστε περισσότερα

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Προηγμένος έλεγχος ηλεκτρικών μηχανών Προηγμένος έλεγχος ηλεκτρικών μηχανών Ενότητα 8: Άμεσος Διανυσματικός Έλεγχος Ασύγχρονων Μηχανών με προσανατολισμό στην μαγνητική ροή του στάτη Επαμεινώνδας Μητρονίκας - Αντώνιος Αλεξανδρίδης Πολυτεχνική

Διαβάστε περισσότερα

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ Μηχανισμοί & Εισαγωγή στο Σχεδιασμό Μηχανών Ακαδημαϊκό έτος: 04-05 ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ - 5. - Μηχανισμοί & Εισαγωγή στο Σχεδιασμό Μηχανών Ακαδημαϊκό έτος: 04-05 opyight ΕΜΠ - Σχολή

Διαβάστε περισσότερα

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών 7. Εισαγωγή (ορισμός προβλήματος, αριθμητική ολοκλήρωση ΣΔΕ, αντικατάσταση ΣΔΕ τάξης n με n εξισώσεις ης τάξης) 7. Μέθοδος Euler 7.3

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδημαϊκό Έτος 2017-2018 Περίοδος Ιουνίου 2018 ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ 5ο-6ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Εφαρμοσμένη Βελτιστοποίηση

Εφαρμοσμένη Βελτιστοποίηση Εφαρμοσμένη Βελτιστοποίηση Ενότητα 1: Το πρόβλημα της βελτιστοποίησης Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διάλεξη 3 Επιλογή μοντέλου Επιλογή μοντέλου Θεωρία αποφάσεων Επιλογή μοντέλου δεδομένα επικύρωσης Η επιλογή του είδους του μοντέλου που θα χρησιμοποιηθεί σε ένα πρόβλημα (π.χ.

Διαβάστε περισσότερα

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ-ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ. ΜΕΡΟΣ Α : Άλγεβρα. Κεφάλαιο 2 ο (Προτείνεται να διατεθούν 12 διδακτικές ώρες) Ειδικότερα:

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ-ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ. ΜΕΡΟΣ Α : Άλγεβρα. Κεφάλαιο 2 ο (Προτείνεται να διατεθούν 12 διδακτικές ώρες) Ειδικότερα: ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ-ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ ΜΕΡΟΣ Α : Άλγεβρα Κεφάλαιο ο (Προτείνεται να διατεθούν διδακτικές ώρες) Ειδικότερα:. -. (Προτείνεται να διατεθούν 5 διδακτικές ώρες).3 (Προτείνεται να διατεθούν

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design)

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design) ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design) Ενότητα # 2: Στερεοί Μοντελοποιητές (Solid Modelers) Δρ Κ. Στεργίου

Διαβάστε περισσότερα

Υπολογιστικές μέθοδοι για την ανάλυση της πληροφορίας των εικόνων και την κατανόηση του περιεχομένου

Υπολογιστικές μέθοδοι για την ανάλυση της πληροφορίας των εικόνων και την κατανόηση του περιεχομένου Ανάλυση Εικόνων Εικόνα : μορφή πληροφορίας Ανάλυση : εξαγωγή γνώσης Υπολογιστικές μέθοδοι για την ανάλυση της πληροφορίας των εικόνων και την κατανόηση του περιεχομένου Θέματα ειδίκευσης Υπολογιστική Όραση

Διαβάστε περισσότερα

Παρουσίαση 2 η : Αρχές εκτίμησης παραμέτρων Μέρος 1 ο

Παρουσίαση 2 η : Αρχές εκτίμησης παραμέτρων Μέρος 1 ο Εφαρμογές Ανάλυσης Σήματος στη Γεωδαισία Παρουσίαση η : Αρχές εκτίμησης παραμέτρων Μέρος ο Βασίλειος Δ. Ανδριτσάνος Αναπληρωτής Καθηγητής Γεώργιος Χλούπης Επίκουρος Καθηγητής Τμήμα Μηχανικών Τοπογραφίας

Διαβάστε περισσότερα

Προηγμένος έλεγχος ηλεκτρικών μηχανών

Προηγμένος έλεγχος ηλεκτρικών μηχανών Προηγμένος έλεγχος ηλεκτρικών μηχανών Ενότητα 9: Άμεσος Διανυσματικός Έλεγχος Ασύγχρονων Μηχανών με προσανατολισμό στην μαγνητική ροή του δρομέα Επαμεινώνδας Μητρονίκας - Αντώνιος Αλεξανδρίδης Πολυτεχνική

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ανάπτυξη μιας προσαρμοστικής πολιτικής αντικατάστασης αρχείων, με χρήση

Διαβάστε περισσότερα

Μοντέλο φωτισμού Phong

Μοντέλο φωτισμού Phong ΚΕΦΑΛΑΙΟ 9. Στο προηγούμενο κεφάλαιο παρουσιάσθηκαν οι αλγόριθμοι απαλοιφής των πίσω επιφανειών και ακμών. Απαλοίφοντας λοιπόν τις πίσω επιφάνειες και ακμές ενός τρισδιάστατου αντικειμένου, μπορούμε να

Διαβάστε περισσότερα

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

Διαβάστε περισσότερα

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή Oι οπτικές επιδράσεις, που μπορεί να προκαλέσει μια εικόνα στους χρήστες, αποτελούν ένα από τα σπουδαιότερα αποτελέσματα των λειτουργιών γραφικών με Η/Υ. Τον όρο της οπτικοποίησης

Διαβάστε περισσότερα

Περιγραφή του εκπαιδευτικού/ μαθησιακού υλικού (Teaching plan)

Περιγραφή του εκπαιδευτικού/ μαθησιακού υλικού (Teaching plan) On-the-fly feedback, Upper Secondary Περιγραφή του εκπαιδευτικού/ μαθησιακού υλικού (Teaching plan) Τάξη: Β Λυκείου Διάρκεια ενότητας Μάθημα: Φυσική Θέμα: Ταλαντώσεις (αριθμός Χ διάρκεια μαθήματος): 6X90

Διαβάστε περισσότερα

website:

website: Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ιδρυμα Θεσσαλονίκης Τμήμα Μηχανικών Αυτοματισμού Μαθηματική Μοντελοποίηση Αναγνώριση Συστημάτων Μαάιτα Τζαμάλ-Οδυσσέας 6 Μαρτίου 2017 1 Εισαγωγή Κάθε φυσικό σύστημα

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Αρχιτεκτονική Υπολογιστών Ηλ. Αιθ. 001, 002. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004. Θεωρία Δικτύων & Κυκλωμάτων

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Αρχιτεκτονική Υπολογιστών Ηλ. Αιθ. 001, 002. Ηλ. Αιθ. 003, 004 Ηλεκτρονική ΙΙΙ Ηλ. αιθ. 003, 004. Θεωρία Δικτύων & Κυκλωμάτων ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2017-2018 Περίοδος Ιουνίου 2018 v20180517 ΗΜΕΡΟΜΗΝΙΑ ΩΡΑ 1ο-2ο ΕΞΑΜΗΝΟ 3ο-4ο ΕΞΑΜΗΝΟ

Διαβάστε περισσότερα

Η Βασική Δομή Συστημάτων Ελέγχου Κίνησης

Η Βασική Δομή Συστημάτων Ελέγχου Κίνησης Η Βασική Δομή Συστημάτων Ελέγχου Κίνησης Σύστημα ονομάζουμε ένα σύνολο στοιχείων κατάλληλα συνδεδεμένων μεταξύ τους για να επιτελέσουν κάποιο έργο Είσοδο ονομάζουμε τη διέγερση, εντολή ή αιτία η οποία

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΤΑΤΙΣΤΙΚΗ Ακαδ. Έτος 07-08 Διδάσκων: Βασίλης ΚΟΥΤΡΑΣ Επικ. Καθηγητής v.koutras@fme.aegea.gr Τηλ: 7035468 Θα μελετήσουμε

Διαβάστε περισσότερα

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ ΙΙ

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ ΙΙ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΟΜΕΑΣ ΑΣΤΡΟΝΟΜΙΑΣ ΑΣΤΡΟΦΥΣΙΚΗΣ ΚΑΙ ΜΗΧΑΝΙΚΗΣ ΣΠΟΥΔ ΑΣΤΗΡΙΟ ΜΗΧΑΝΙΚΗΣ ΑΣΚΗΣΕΙΣ ΑΝΑΛΥΤΙΚΗΣ ΔΥΝΑΜΙΚΗΣ Μεθοδολογία Κλεομένης Γ. Τσιγάνης Λέκτορας ΑΠΘ Πρόχειρες

Διαβάστε περισσότερα

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; ΚΕΦΑΛΑΙΟ 2 ο ΚΙΝΗΣΗ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης. Στην Κινηματική

Διαβάστε περισσότερα

Ειδικές Επιστηµονικές Εργασίες

Ειδικές Επιστηµονικές Εργασίες Ειδικές Επιστηµονικές Εργασίες 2005-2006 1. Ανίχνευση προσώπων από ακολουθίες video και παρακολούθηση (face detection & tracking) Η ανίχνευση προσώπου (face detection) αποτελεί το 1 ο βήµα σε ένα αυτόµατο

Διαβάστε περισσότερα

ΚΕΣ 03: Αναγνώριση Προτύπων και Ανάλυση Εικόνας. KEΣ 03 Αναγνώριση Προτύπων και Ανάλυση Εικόνας. Κατάτµηση Εικόνων:

ΚΕΣ 03: Αναγνώριση Προτύπων και Ανάλυση Εικόνας. KEΣ 03 Αναγνώριση Προτύπων και Ανάλυση Εικόνας. Κατάτµηση Εικόνων: KEΣ 3 Αναγνώριση Προτύπων και Ανάλυση Εικόνας Κατάτµηση Εικόνων: Ανίχνευση Ακµών Τµήµα Επιστήµης και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Περιεχόµενα Βιβλιογραφία Περιεχόµενα Ενότητας

Διαβάστε περισσότερα

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1

ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΛΟΓΙΣΜΟΣ ΜΙΑΣ ΜΕΤΑΒΛΗΤΗΣ, ΕΣΠΙ 1 ΣΥΝΑΡΤΗΣΕΙΣ Η έννοια της συνάρτησης είναι θεμελιώδης στο λογισμό και διαπερνά όλους τους μαθηματικούς κλάδους. Για το φοιτητή είναι σημαντικό να κατανοήσει πλήρως αυτή

Διαβάστε περισσότερα

Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού

Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού Στρατηγική Αξιολόγησης κατά την Υλοποίηση Εκπαιδευτικού Λογισμικού Μαρία Καραβελάκη, Γεώργιος Παπαπαναγιώτου, Γιάννα Κοντού INTE*LEARN Αγν.Στρατιώτη 46, Καλλιθέα τηλ. 95 91 853, fax. 95 72 098, e-mail:

Διαβάστε περισσότερα

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης.

Διαβάστε περισσότερα

1.3 Συστήματα γραμμικών εξισώσεων με ιδιομορφίες

1.3 Συστήματα γραμμικών εξισώσεων με ιδιομορφίες Κεφάλαιο Συστήματα γραμμικών εξισώσεων Παραδείγματα από εφαρμογές Παράδειγμα : Σε ένα δίκτυο (αγωγών ή σωλήνων ή δρόμων) ισχύει ο κανόνας των κόμβων όπου το άθροισμα των εισερχόμενων ροών θα πρέπει να

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 2 TO ΡΟΜΠΟΤ HITACHI A4010S

ΕΡΓΑΣΤΗΡΙΑΚΗ ΕΦΑΡΜΟΓΗ 2 TO ΡΟΜΠΟΤ HITACHI A4010S Εργαστήριο Ευφυών Συστημάτων και Ρομποτικής Τμήμα Μηχανικών Παραγωγής και Διοίκησης Πολυτεχνείο Κρήτης www.robolab.tuc.gr, τηλ: 28210 37292 / 37314 e-mail: savas@dpem.tuc.gr, kyralakis@dpem.tuc.gr ΕΡΓΑΣΤΗΡΙΑΚΗ

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εισαγωγή στα Συστήματα Ηλεκτρικής Ενέργειας (ΣΗΕ) Ηλ. Αμφ. 1, 2, 3. Ηλεκτρομαγνητικά Πεδία Β. Ηλ. Αμφ.

ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ. Εισαγωγή στα Συστήματα Ηλεκτρικής Ενέργειας (ΣΗΕ) Ηλ. Αμφ. 1, 2, 3. Ηλεκτρομαγνητικά Πεδία Β. Ηλ. Αμφ. ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΕΩΝ Ακαδημαϊκό Έτος 2018-19 Περίοδος Ιουνίου 2019 'Εκδοση 20/05/2019 03/06/2019 04/06/2019 05/06/2019 06/06/2019

Διαβάστε περισσότερα

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ

ΜΗΧΑΝΙΣΜΟΙ ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ ΜΗΧΑΝΙΣΜΟΙ & ΕΙΣΑΓΩΓΗ ΣΤΟ ΣΧΕΔΙΑΣΜΟ ΜΗΧΑΝΩΝ - Β. - Copyright ΕΜΠ - Σχολή Μηχανολόγων Μηχανικών - Εργαστήριο Δυναμικής και Κατασκευών - 06. Με επιφύλαξη παντός δικαιώµατος. All rights reserved. Απαγορεύεται

Διαβάστε περισσότερα

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j

ΠΕΙΡΑΜΑΤΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΕΙΣ ΚΕΦΑΛΑΙΟ 4. είναι η πραγματική απόκριση του j δεδομένου (εκπαίδευσης ή ελέγχου) και y ˆ j Πειραματικές Προσομοιώσεις ΚΕΦΑΛΑΙΟ 4 Όλες οι προσομοιώσεις έγιναν σε περιβάλλον Matlab. Για την υλοποίηση της μεθόδου ε-svm χρησιμοποιήθηκε το λογισμικό SVM-KM που αναπτύχθηκε στο Ecole d Ingenieur(e)s

Διαβάστε περισσότερα

Φυσική για Μηχανικούς

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

Διαβάστε περισσότερα

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας Τεχνικές Μείωσης Διαστάσεων Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας 1 Εισαγωγή Το μεγαλύτερο μέρος των δεδομένων που καλούμαστε να επεξεργαστούμε είναι πολυδιάστατα.

Διαβάστε περισσότερα

Τα ρομπότ στην βιομηχανία

Τα ρομπότ στην βιομηχανία Τεχνολογικό Eκπαιδευτικό Ίδρυμα Kρήτης Διατμηματικό Μεταπτυχιακό Πρόγραμμα "Προηγμένα συστήματα παραγωγής, αυτοματισμού και ρομποτικής" Βιομηχανική Ρομποτική «Κινηματική στερεών σωμάτων» Δρ. Φασουλάς Γιάννης

Διαβάστε περισσότερα