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

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

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Επίλυση προβλημάτων αυτομάτου ελέγχου.

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


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

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 Παρέχει ικανότητα προγραμματισμού, έλεγχου του ΝΧΤ καθώς και προγραμματισμό σε πραγματικό χρόνο

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

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

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

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 Παράλληλης κίνησης

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

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

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

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

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

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

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

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

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

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

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


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

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


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