Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Λιάκος Χαράλαμπος Αρμενόπουλος Γιώργος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Λιάκος Χαράλαμπος Αρμενόπουλος Γιώργος."— Μεταγράφημα παρουσίασης:

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

2 Περιγραφή θέματος Στόχος αυτής της πτυχιακής εργασίας είναι να διερευνήσει τον τρόπο με τον οποίον προγραμματίζεται ένα Lego Mindstorms NXT και δημιουργία εφαρμογής σε περιβάλλον Matlab ενός αυτοκινήτου ρομπότ το οποίο θα επιλύει διάφορα προβλήματα όπως να οδηγείται ασύρματα μέσω joystick, να ακολουθεί παράλληλα έναν τυχαίο τοίχο καθώς και να καλύπτει ακτινωτά ένα περιφραγμένο χώρο. Η Lego Mindstorms είναι μια εταιρεία της οποίας τα προϊόντα καθιστούν την κατασκευή ρομπότ και εφαρμογών αυτοματισμού προσιτή στο μη επαγγελματικό κοινό. Ένα από αυτά τα προϊόντα είναι το ΝΧΤ με το οποίο ασχολείται η παρούσα πτυχιακή εργασία.

3 Εισαγωγή στα Lego Mindstorm Τα Lego Mindstorms NXT είναι τα γνωστά τουβλάκια Lego με προηγμένες δυνατότητες όπως κίνηση, προγραμματισμό και επικοινωνία με υπολογιστή. Είναι μια γραμμή παραγωγής της Lego που συνδυάζει προγραμματίσημα τούβλα με ηλεκτρικές μηχανές, αισθητήρες, τούβλα Lego, και τεχνικά κομμάτια Lego (όπως εργαλεία, άξονες, ακτίνες, και υδραυλικά μέρη) κατάλληλα για να χτίσει ο χρήστης ρομπότ και άλλα αυτοματοποιημένα ή διαλογικά συστήματα.

4 Το περιβάλλον προγραμματισμού Οι πιο διαδεδομένες γλώσσες προγραμματισμού ειδικά για την πλατφόρμα Mindstorms είναι οι RCXCode και ROBOLAB. Άλλες γνωστές γλώσσες είναι οι C και C++ under BrickOS/LegOS, Java under LeJOS ή TinyVM, NQS(Not quite C), pbFORTH(επέκταση της Forth),Visual Basic και RobotC(επέκταση της C). Embedded Coder Περιβάλλον ανάπτυξης βασισμένο στα Matlab και Simulink Περιβάλλον ανάπτυξης βασισμένο στα Matlab και Simulink Παρέχει ικανότητα προγραμματισμού, έλεγχου του ΝΧΤ καθώς και προγραμματισμό σε πραγματικό χρόνο Παρέχει ικανότητα προγραμματισμού, έλεγχου του ΝΧΤ καθώς και προγραμματισμό σε πραγματικό χρόνο

5 Απαραίτητα προγράμματα-εργαλεία MATLAB MATLAB Simulink Simulink Real-Time Workshop Real-Time Workshop Real-Time Workshop Embedded Coder Real-Time Workshop Embedded Coder GNU ARM GNU ARM NXT USB NXT USB NeXTTool NeXTTool NXT standard firmware NXT standard firmware Embedded Coder Robot NXT Embedded Coder Robot NXT NXT GamePad NXT GamePad

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

7 Τηλεκατευθυνόμενο όχημα Η διαδικασία για τον έλεγχο του ρομπότ βρίσκεται στο λειτουργικό παράθυρο που φαίνεται στην εικόνα, μαζί με κάποια μπλοκ που έχουμε χρησιμοποιήσει για το συγκεκριμένο παράδειγμα και παραπέμπεται μέσω του TestBTRx στο παράθυρο στρατηγικής που θα δούμε παρακάτω. Περιγραφή θέματος: Υλοποίηση ενός τετράτροχου ρομπότ, που θα μπορεί να οδηγηθεί ασύρματα μέσω Bluetooth TestBTRx Με την τρίτη επιλογή γίνεται build το πρόγραμμα για τυχόν λάθη αλλά και για την παραγωγή του κώδικα που θα φορτώσουμε στο ρομπότ Με την τέταρτη επιλογή στέλνουμε τον κώδικα μέσω USB στο ρομπότ Χρονοπρογραμματιστής λειτουργίας κλήσεων Μπλοκ Bluetooth Μπλοκ σερβομηχανών

8 Τηλεκατευθυνόμενο όχημα Στη διπλανή εικόνα βλέπουμε το παράθυρο στρατηγικής με την χρήση γραμμικού ελεγκτή καθώς και διάφορα μπλοκ που έχουμε χρησιμοποιήσει. Δεξιά της εικόνας υπάρχουν τρεις σερβομηχανές. Οι A και B δίνουν κίνηση στους πίσω τροχούς του αυτοκινήτου και η C βρίσκεται μπροστά και λειτουργεί σαν τιμόνι

9 Διατήρηση σταθερής απόστασης από εμπόδιο Περιγραφή θέματος: Υλοποίηση ενός τετράτροχου ρομπότ, που θα μπορεί να διατηρεί σταθερή απόσταση από ένα εμπόδιο. Το λειτουργικό παράθυρο του παραδείγματος φαίνεται παρακάτω.

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

11 Διατήρηση σταθερής απόστασης από εμπόδιο Στη διπλανή εικόνα βλέπουμε το παράθυρο στρατηγικής με διάφορα μπλοκ που έχουμε χρησιμοποιήσει αλλά αυτή την φορά εκτός του γραμμικού ελεγκτή έχει υλοποιηθεί και με ελεγκτή ασαφούς ελέγχου(fuzzy logic). Fuzzy Logic Controller

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

13 Διατήρηση σταθερής απόστασης από εμπόδιο Παρακάτω βλέπουμε τον membership function editor όπου στο πρώτο παράθυρο ορίζουμε τα ασαφή σύνολα για την είσοδο του συστήματος και στην δεύτερη ορίζουμε τα ασαφή σύνολα της εξόδου.

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

15 Διατήρηση σταθερής απόστασης από εμπόδιο Στη εικόνα βλέπουμε το παράθυρο στρατηγικής με διάφορα μπλοκ που έχουμε χρησιμοποιήσει αλλά αυτή την φορά εκτός του γραμμικού ελεγκτή και του ελεγκτή ασαφούς ελέγχου (fuzzy logic), έχουμε χρησιμοποιήσει PID ελεγκτή αλλά και η επιθυμητή απόσταση να λαμβάνει από ένα παλμό και να αλλάζει κάθε 6.5sec από τα 70cm στα 20 cm και ούτω καθεξής. Παλμός ο οποίος αλλάζει την επιθυμητή απόσταση από 20cm σε 70cm PID ελεγκτής Αποτελείται από τρεις όρους καθένας από τους οποίους εκφράζει μια διαφορετική πράξη που εκτελείται στην απόκλιση της ελεγχόμενης μεταβλητής από τη τιμή αναφοράς ( e(t)=r(t)-y(t) ) PID P – Αναλογικός όρος Ι – Ολοκληρωτικός όρος D –Διαφορικός όρος

16 Διατήρηση σταθερής απόστασης από εμπόδιο Γράφημα διατήρησης σταθερής απόστασης από εμπόδιο με χρήση γραμμικού ελεγκτή

17 Παράλληλη κίνηση σε τοίχο Περιγραφή θέματος: Υλοποίηση ενός τετράτροχου ρομπότ, που θα μπορεί κινείται παράλληλα από έναν τοίχο και να διατηρεί σταθερή απόσταση από αυτόν. Το λειτουργικό παράθυρο του παραδείγματος φαίνεται παρακάτω. Το καινούργιο που βλέπουμε στο συγκεκριμένο παράδειγμα σε σχέση με τα προηγούμενα είναι ότι χρησιμοποιούμε δύο συναρτήσεις και μια μεταβλητή για την αποθήκευση μιας τιμής. Η πρώτη καλείται κάθε 50 msec ενώ η δεύτερη κάθε 200 msec. Μεταβλητή start_time

18 Παράλληλη κίνηση σε τοίχο Πρώτη συνάρτηση Δεύτερη συνάρτηση Γωνία τιμονιού

19 Παράλληλη κίνηση σε τοίχο Γράφημα διατήρησης παράλληλης κίνησης σε τοίχο Video Παράλληλης κίνησης Video Παράλληλης κίνησης

20 Παράλληλη κίνηση σε τοίχο Με χρήση φίλτρου ακίδας θορύβου (spike noise) Με χρήση φίλτρου moving average

21 Κάλυψη χώρου με ακτινωτές γραμμές Περιγραφή θέματος: Υλοποίηση ενός τετράτροχου ρομπότ, το οποίο θα μπορεί να καλύπτει έναν κλειστό χώρο με ακτινωτές γραμμές Το νέο μπλοκ που βλέπουμε στο συγκεκριμένο παράδειγμα είναι το System clock το οποίο είναι ένα μπλοκ χρονισμού.

22 Κάλυψη χώρου με ακτινωτές γραμμές Εκχώρηση μεταβλητής στο μπλοκ γωνίας τιμονιού. (1 η Συνάρτηση) Αρχικοποίηση των μεταβλητών της συνάρτησης. (2 η Συνάρτηση)

23 Κάλυψη χώρου με ακτινωτές γραμμές Έλεγχος χρονικής στιγμής του προγράμματος Κριτήρια στροφής σερβοκινητήρα Λειτουργία ελέγχου στροφής αυτοκινήτου

24 Κάλυψη χώρου με ακτινωτές γραμμές 1 η λειτουργία υποσυστήματος 1 ης συνάρτησης: Έλεγχος απόστασης αυτοκινήτου από εμπόδιο Αρχικοποίηση δυαδικής μεταβλητής nowall

25 Κάλυψη χώρου με ακτινωτές γραμμές Όταν η τιμή της μεταβλητής nowall είναι false η τιμή της μεταβλητής back γίνεται true και αντίστροφα Ανάθεση της τιμής της μεταβλητής back

26 Κάλυψη χώρου με ακτινωτές γραμμές Ανανέωση της τιμής της μεταβλητής start_time Επιστρέφει true σε περίπτωση εναλλαγής της μεταβλητής back Νέα τιμή της μεταβλητής start_time

27 Κάλυψη χώρου με ακτινωτές γραμμές Έλεγχος πορείας αυτοκινήτου Υποσύστημα επιστροφής ρομπότ στην αρχική θέση

28 Κάλυψη χώρου με ακτινωτές γραμμές Video κάλυψης χώρου Video κάλυψης χώρου Υπολογισμός αρχικής θέσης της τελευταίας επανάληψης

29 ΕΥΧΑΡΙΣΤΟΥΜΕ ΓΙΑ ΤΗ ΒΟΗΘΕΙΑ ΣΕ ΟΛΗ ΤΗ ΔΙΑΡΚΕΙΑ ΑΥΤΗΣ ΤΗΣ ΕΡΓΑΣΙΑΣ ΤΟΝ ΕΠΙΒΛΕΠΟΝΤΑ ΚΑΘΗΓΗΤΗ ΤΗΣ ΠΤΥΧΙΑΚΗΣ: Δρ. Σταύρο Βολογιαννίδη

30 ΕΥΧΑΡΙΣΤΟΥΜΕ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ


Κατέβασμα ppt "ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Λιάκος Χαράλαμπος Αρμενόπουλος Γιώργος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google