Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεΜυρρίνη Βιλαέτης Τροποποιήθηκε πριν 8 χρόνια
1
ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΗ
2
Περιεχόμενα ενότητας: Επιπλέον: Εφαρμογές PID Ασαφής έλεγχος Γενετικοί αλγόριθμοι
3
ΑΥΤΟΜΑΤΟΣ ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ένα Ρομπότ απαρτίζεται από πολλά επιμέρους συστήματα Αισθητήρες Επενεργητές Κυκλώματα επικοινωνίας Τροφοδοσία τα οποία πρέπει να συνεργάζονται αρμονικά ώστε να αποτελούν ένα ενιαίο σύνολο. Στο σημείο αυτό υπεισέρχεται ο Αυτόματος Έλεγχος. Αυτόματος, γιατί πρέπει να γίνεται με την ελάχιστη δυνατή ανθρώπινη παρέμβαση. Έλεγχος, γιατί συντονίζει όλα τα επιμέρους συστήματα και ευθύνεται για τη συνολική εικόνα του Ρομπότ
16
ΕΠΙΠΕΔΑ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ Η σχεδίαση και η κατασκευή οποιουδήποτε συστήματος, χωρίζεται σε επίπεδα. Αρχίζοντας από το χαμηλότερο, όπου βρίσκονται τα μηχανικά μέρη, μέχρι το υψηλότερο, όπου συναντάμε προγράμματα σχετικά με τη στρατηγική δράσης κ.α. Έτσι και ο Αυτόματος Έλεγχος, χωρίζεται σε επίπεδα υλοποίησης. Έχουμε τα ηλεκτρονικά ελέγχου, που τα προγραμματίζουμε με ρουτίνες, οι οποίες ευθύνονται π.χ. για την κίνηση ή για τη λήψη μετρήσεων. (Χαμηλού Επιπέδου Έλεγχος – Low Level Control) Οι ρουτίνες αυτές ελέγχονται από ένα υψηλότερου επιπέδου προγραμματισμό, υπεύθυνο π.χ. για τον αλγόριθμο χαρτογράφησης ενός τόπου. (Υψηλού Επιπέδου Έλεγχος – High Level Control)
17
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΡΟΜΠΟΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Έργο του προγραμματιστή είναι να γράψει κώδικα, ώστε να διαχωρίσει τις λειτουργίες του Ρομπότ στα διάφορα αυτά επίπεδα και να τις συνδυάσει ικανοποιητικά. Αυτή η δουλειά απαιτεί Αφαιρετικότητα. Φορητότητα. Προτυποποίηση. Ώστε να Αποφεύγονται λάθη (bugs) τα οποία, αργότερα, δύσκολα ανακαλύπτονται. Χρησιμοποιούμε τις ίδιες ρουτίνες σε διαφορετικά συστήματα. Μπορεί εύκολα να γίνει αντιληπτό, το πρόγραμμα, από τρίτους.
18
Αρχικά, θα μελετήσουμε το πεδίο του αυτομάτου ελέγχου, αναλύοντας τις σημαντικότερες μεθόδους ελέγχου, που αποτελούν το λεγόμενο Στρατηγικό Έλεγχο. Διάσπαση Λειτουργιών (Functional Decomposition) Έλεγχος Αντίδρασης (Reaction Control) Νευρωνικά Δίκτυα (Neuron Networks) Γενετικοί Αλγόριθμοι (Genetic Algorithms) Στη συνέχεια θα προχωρήσουμε αναλύοντας κλασσικές τεχνικές ελέγχου των επενεργητών, που αποτελούν το λεγόμενο Εκτελεστικό Έλεγχο. Έλεγχος Ανοικτού Βρόγχου Έλεγχος Κλειστού Βρόγχου ΑΥΤΟΜΑΤΟΣ ΕΛΕΓΧΟΣ ΡΟΜΠΟΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
19
ΔΙΑΣΠΑΣΗ ΛΕΙΤΟΥΡΓΙΩΝ Είναι κλασσική μέθοδος ελέγχου και από τις πρώτες που εφαρμόστηκαν σε Ρομποτικά συστήματα. Οι παρακάτω λειτουργίες υλοποιούνται βήμα-βήμα, μέχρι το Ρομπότ να φτάσει στο στόχο του. ΕΛΕΓΧΟΣ ΕΠΕΝΕΡΓΗΤΩΝ ΕΚΤΕΛΕΣΗ ΣΧΕΔΙΑΣΜΟΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΑΝΤΙΛΗΨΗ ΠΕΡΙΒΑΛΛΟΝ ΑΙΣΘΗΤΗΡΙΑ ΕΠΕΝΕΡΓΗΤΕΣ
20
Η μέθοδος αυτή είναι αρκετά εύκολη στην υλοποίηση της, αλλά παρουσιάζει ορισμένα βασικά προβλήματα. Η επιτυχία κάθε βήματος βασίζεται στο προηγούμενο του. Εάν για κάποιο λόγο, ένα βήμα αποτύχει να ολοκληρωθεί, ολόκληρο το σύστημα καταρρέει. Ο χρόνος ολοκλήρωσης κάθε βήματος αυξάνει, πολλές φορές ανεπίτρεπτα, τον χρόνο απόκρισης του Ρομπότ. Συχνά, στις περιπτώσεις όπου χρησιμοποιείται η μέθοδος αυτή, θεωρούμε ότι το μόνο ενεργό στοιχείο του περιβάλλοντος είναι το Ρομπότ. Διαφορετικά, γίνεται η παραδοχή, ότι το περιβάλλον παραμένει σταθερό, μέχρι την ολοκλήρωση των επιμέρους βημάτων ελέγχου. ΔΙΑΣΠΑΣΗ ΛΕΙΤΟΥΡΓΙΩΝ
21
ΕΛΕΓΧΟΣ ΑΝΤΙΔΡΑΣΗΣ Η δράση του Ρομπότ αναλύεται σε επίπεδα συμπεριφοράς και όχι σε επίπεδα λειτουργιών. Τέτοιου είδους έλεγχο, έχει διαπιστωθεί ότι εφαρμόζουν νοήμονες μορφές ζωής. ΚΙΝΗΣΗ ΑΠΟΦΥΓΗ ΕΜΠΟΔΙΩΝ ΠΕΡΙΠΛΑΝΗΣΗ ΧΑΡΤΟΓΡΑΦΗΣΗ ΠΕΡΙΒΑΛΛΟΝ ΑΙΣΘΗΤΗΡΙΑ ΕΠΕΝΕΡΓΗΤΕΣ
22
ΕΛΕΓΧΟΣ ΑΝΤΙΔΡΑΣΗΣ Τα επίπεδα συμπεριφοράς είναι ιεραρχημένα. Τα χαμηλά επίπεδα ασχολούνται με τις βασικότερες λειτουργίες του Ρομπότ, ενώ τα υψηλά επίπεδα με δευτερεύουσες λειτουργίες. Κάθε επίπεδο, βασίζεται στα προηγούμενα, ώστε να εκπληρώσει τον στόχο του. ΚΙΝΗΣΗ ΑΠΟΦΥΓΗ ΕΜΠΟΔΙΩΝ ΠΕΡΙΠΛΑΝΗΣΗ ΧΑΡΤΟΓΡΑΦΗΣΗ ΠΕΡΙΒΑΛΛΟΝ ΑΙΣΘΗΤΗΡΙΑ ΕΠΕΝΕΡΓΗΤΕΣ
23
ΕΛΕΓΧΟΣ ΑΝΤΙΔΡΑΣΗΣ Η “ταυτόχρονη” εκτέλεση λειτουργιών προϋποθέτει ένα από τα παρακάτω Πολλαπλούς επεξεργαστές Έναν επεξεργαστή με χρήση διακοπών (Interrupts) Χρονική εναλλαγή λειτουργιών (Time slots) ΚΙΝΗΣΗ ΑΠΟΦΥΓΗ ΕΜΠΟΔΙΩΝ ΠΕΡΙΠΛΑΝΗΣΗ ΧΑΡΤΟΓΡΑΦΗΣΗ ΠΕΡΙΒΑΛΛΟΝ ΑΙΣΘΗΤΗΡΙΑ ΕΠΕΝΕΡΓΗΤΕΣ
24
ΕΛΕΓΧΟΣ ΑΝΤΙΔΡΑΣΗΣ Τέτοιοι μηχανισμοί, που διαμορφώνονται βάση συμπεριφοράς, ξεπερνούν αρκετά από τα προβλήματα που παρουσιάζει η μέθοδος Διάσπασης Λειτουργιών. Πολλαπλοί Στόχοι. Το Ρομπότ μπορεί να ικανοποιεί πολλούς στόχους ταυτόχρονα, ενώ πριν μόνο ένα στόχο κάθε φορά. Χρόνος Απόκρισης. Μειώνεται αρκετά, καθώς η εκτέλεση του αλγορίθμου ελέγχου δεν σταματάει, εάν για κάποιο λόγο υπάρχει καθυστέρηση σε κάποια λειτουργία. π.χ. διαφορετικοί αισθητήρες μπορούν να χρησιμοποιούνται ταυτόχρονα, δίνοντας προτεραιότητα στους πιο γρήγορους. Αξιοπιστία Δεν επηρεάζεται ιδιαίτερα από την κακή λειτουργία κάποιου από τα μέρη του Ρομπότ.
25
Έχουν εφαρμοστεί αρκετά στη Ρομποτική, ιδιαίτερα τα τελευταία χρόνια. Χρησιμοποιούνται κυρίως σε εφαρμογές, όπου η είσοδος από οπτικά αισθητήρια, μετασχηματίζεται άμεσα σε σήματα ελέγχου κίνησης, μέσω ειδικών συναρτήσεων. Στροφή ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
26
Κάθε συνάρτηση έχει τη δική της βαρύτητα, στην τελική απόφαση. Για να καθοριστούν τα βάρη αυτά, το σύστημα πρέπει να εκπαιδευτεί. Η εκπαίδευση αυτή γίνεται είτε με προσομοίωση, είτε σε πραγματικό περιβάλλον. Στροφή ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
27
Η κατάλληλη εκπαίδευση του δικτύου είναι ίσως το σημαντικότερο μέρος αυτής της μεθόδου ελέγχου. Για παράδειγμα, εάν ο οδηγός που εκπαιδεύει το Ρομπότ, οδηγεί αλάνθαστα, τότε το Ρομπότ δεν θα μπορεί να επανέλθει από τυχόν λάθος χειρισμούς. Επίσης, θα πρέπει να εκπαιδευτεί σε διαφορετικά περιβάλλοντα. Όπως, δρόμους μονής ή διπλής κατεύθυνσης κ.ο.κ. Πρόκειται για σύστημα που αποκτά εμπειρία, αφού η συναρτήσεις αλλάζουν μορφή καθώς κινείται. Για το λόγο αυτό, η συμπεριφορά του δεν μπορεί να είναι απόλυτα προβλέψιμη.
28
ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ Χρησιμοποιεί συναρτήσεις βαρών και ανήκει στη κατηγορία των μη ντετερμινιστικών αλγορίθμων, όπως τα Νευρωνικά Δίκτυα. Σε κάθε βήμα “γεννώνται” νέα βάρη, από τα οποία επιλέγεται αυτό, που θα δώσει τα καλύτερα αποτελέσματα, βάσει κάποιων κριτηρίων. Βήμα-βήμα η συνάρτηση παίρνει τη μορφή, που οδηγεί το σύστημα στην βέλτιστη συμπεριφορά. Εφαρμόζονται κυρίως σε περιπτώσεις, όπου δεν υπάρχει βέλτιστη λύση ή είναι πολύ δύσκολο να υπολογιστεί. π.χ. βηματισμός δίποδων Ρομπότ.
29
ΥΒΡΙΔΙΚΑ ΣΥΣΤΗΜΑΤΑ Ένας συνδυασμός των Μεθόδων Ελέγχου που περιγράψαμε, συχνά φέρνει το καλύτερο αποτέλεσμα. Η πολυπλοκότητα, όμως, του συστήματος ανεβαίνει κατά πολύ. Συνήθως, για τα χαμηλότερα επίπεδα ελέγχου (επενεργητές – αισθητήρια) χρησιμοποιείται η μέθοδος Ελέγχου Αντίδρασης, κυρίως διότι θέλουμε αδιάλειπτη λειτουργία. Ενώ, για τα υψηλότερα επίπεδα (στρατηγική – σκοποί) χρησιμοποιείται η μέθοδος της Διάσπασης Λειτουργιών, όπου θέλουμε να εκπληρωθούν μια σειρά από στόχοι.
30
Στη συνέχεια θα ασχοληθούμε με διατάξεις, που ελέγχουν τους επενεργητές του Ρομπότ και κυρίως, την κίνηση του. Σε οποιοδήποτε σύστημα, που θέλουμε να εκτελέσει κάποια ενέργεια, πρέπει να δώσουμε το κατάλληλο σήμα στους επενεργητές. Αυτό προϋποθέτει ότι γνωρίζουμε εκ των προτέρων το σήμα που πρέπει να στείλουμε. Διαφορετικά, θα πρέπει να ελέγχουμε συνεχώς την αντίδραση του συστήματος, ώστε να σιγουρευτούμε ότι εκτέλεσε την ενέργεια που θέλαμε. ΚΛΑΣΣΙΚΟΣ ΑΥΤΟΜΑΤΟΣ ΕΛΕΓΧΟΣ
31
Στην περίπτωση που το σήμα ελέγχου, είναι γνωστό εκ των προτέρων, έχουμε Έλεγχο Ανοικτού Βρόγχου. ΕΛΕΓΧΟΣ ΑΝΟΙΚΤΟΥ ΒΡΟΓΧΟΥ Α Actuator Είσοδος e in Έξοδος e out Παράδειγμα τέτοιου ελέγχου, είναι η οδήγηση του αυτοκινήτου. Όσο πατάμε το γκάζι, τόσο αυξάνεται η ταχύτητα.
32
Η μέθοδος αυτή σπάνια εφαρμόζεται σε Ρομποτικά συστήματα, για τους παρακάτω λόγους. ΕΛΕΓΧΟΣ ΑΝΟΙΚΤΟΥ ΒΡΟΓΧΟΥ Πρέπει να γνωρίζουμε, με μεγάλη ακρίβεια, την απόκριση του επενεργητή, ώστε να διαμορφώσουμε το σήμα ελέγχου. Το περιβάλλον λειτουργίας του Ρομπότ μεταβάλλεται, οπότε το ίδιο σήμα ελέγχου δεν θα έχει πάντα το ίδιο αποτέλεσμα. Οι επενεργητές ποτέ δεν αποκρίνονται με τον ίδιο ακριβώς τρόπο, ιδίως οι πιο φτηνοί που χρησιμοποιούνται σε μικρές ρομποτικές εφαρμογές. Τα Ρομπότ χάνουν πλέον τον αυτόνομο χαρακτήρα τους, καθώς δεν γνωρίζουν το αποτέλεσμα των ενεργειών τους.
33
Στην περίπτωση αυτή, το σήμα ελέγχου που στέλνουμε στο σύστημα, εξαρτάται, πλέον, από τις μετρήσεις των αισθητηρίων. Το σήμα που παίρνουμε από τα διάφορα αισθητήρια ονομάζεται Ανάδραση (Feedback). ΕΛΕΓΧΟΣ ΚΛΕΙΣΤΟΥ ΒΡΟΓΧΟΥ Παράδειγμα αποτελεί ο έλεγχος περιστροφής ενός τροχού (A), με γωνιακό κωδικοποιητή (S) για την μέτρηση της ταχύτητας. Α Actuator Είσοδος e in Έξοδος e out S Sensor + - Ανάδραση e f Σήμα Ελέγχου e e
34
Η πιο απλή περίπτωση ελέγχου κλειστού βρόγχου. Το αισθητήριο λειτουργεί ως διακόπτης, που ξεκινάει (On) ή σταματάει (Off) τη λειτουργία του συστήματος. ΕΛΕΓΧΟΣ ON / OFF Κλασσικό παράδειγμα τέτοιας αρχιτεκτονικής αποτελεί το Air Condition. Κεντρική Μονάδα Επιθυμητή θερμοκρασία Λειτουργία Ζεστού / Κρύου Αισθητήριο Θερμ/σιας + - Επικρατούσα θερμοκρασία Χρειάζεται να ενσωματώσουμε υστέρηση, ώστε το σύστημα να μην ταλαντώνει γύρω από το σημείο ισορροπίας.
35
Το σήμα ελέγχου e e πολλαπλασιάζετε με ένα τελεστή (κέρδος) Κ p. ΑΝΑΛΟΓΙΚΟΣ ΕΛΕΓΧΟΣ – PROPORTIONAL CONTROL Α Actuator e in e out S Sensor + - efef Kp·eeKp·ee KpKp e Ο τελεστής αυτός επιταχύνει την απόκριση του συστήματος. Τέτοιου είδους έλεγχος, όμως, δεν διορθώνει τα σφάλματα μόνιμης κατάστασης.
36
Παράδειγμα Ο κινητήρας για κάθε Volt εισόδου, αποκτά ταχύτητα 5cm/sec. Το αισθητήριο είναι προγραμματισμένο ώστε για κάθε cm μετατόπισης να μειώνει κατά 0,5 Volt την είσοδο. 5 Actuator Είσοδος e in Έξοδος e out 0,5 Sensor + - Ανάδραση e f Σήμα Ελέγχου e e sec e in e f e e V Pos. 0,005,000,005,0025,002,50 0,105,001,253,7518,754,38 0,205,002,192,8114,065,78 0,305,002,892,1110,556,84 0,405,003,421,587,917,63 0,505,003,811,195,938,22 0,605,004,110,894,458,67 0,705,004,330,673,349,00 0,805,004,500,502,509,25 0,905,004,620,381,889,44 1,005,004,720,281,419,58 1,105,004,790,211,069,68 1,205,004,840,160,799,76 1,305,004,880,120,599,82 1,405,004,910,090,459,87 1,505,004,930,070,339,90 1,605,004,950,050,259,92 1,705,004,960,040,199,94
37
ΑΝΑΛΟΓΙΚΟΣ ΕΛΕΓΧΟΣ – PROPORTIONAL CONTROL
38
Χρησιμοποιεί ολοκλήρωμα, ώστε να μηδενίσει το σφάλμα μόνιμης κατάστασης. ΑΝΑΛΟΓΙΚΟΣ ΟΛΟΚΛΗΡΩΤΙΚΟΣ ΕΛΕΓΧΟΣ PROPORTIONAL INTEGRAL CONTROL Προσέξτε ότι, ακόμη και όταν το σφάλμα e e μηδενιστεί, το σήμα ελέγχου δεν μηδενίζεται Α Actuator e in e out S Sensor + - efef KpKp e ∫e e dt Σ KiKi
39
Χρησιμοποιεί την παράγωγο του σφάλματος, ώστε να περιορίσει την υπέρβαση (overshoot). ΑΝΑΛΟΓΙΚΟΣ ΟΛΟΚΛΗΡΩΤΙΚΟΣ ΔΙΑΦΟΡΙΚΟΣ ΕΛΕΓΧΟΣ PROPORTIONAL INTEGRAL DERIVATIVE CONTROL PID Controller Είναι ο πλέον χρησιμοποιούμενος ελεγκτής βιομηχανικών εφαρμογών. Α Actuator e in e out S Sensor + - efef KpKp e ∫e e dt Σ KiKi de e /dt KiKi
40
ΑΝΑΛΟΓΙΚΟΣ ΔΙΑΦΟΡΙΚΟΣ ΕΛΕΓΧΟΣ PROPORTIONAL DERIVATIVE CONTROL
44
ΑΝΑΛΟΓΙΚΟΣ ΟΛΟΚΛΗΡΩΤΙΚΟΣ ΔΙΑΦΟΡΙΚΟΣ ΕΛΕΓΧΟΣ PROPORTIONAL INTEGRAL DERIVATIVE CONTROL Για την εύρεση των κατάλληλων τελεστών (K p, K i και K d ) ακολουθούμε εμπειρικούς κανόνες. Αυξάνοντας την τιμή ενός από τα κέρδη, έχουμε τις παρακάτω επιπτώσεις. Χρόνος Ανόδου (Rise Time) Χρόνος Σταθεροποίησης (Settling Time) Υπέρβαση (Overshoot) Σφάλμα Μόνιμης Κατάστασης (Steady State Error) KpKp ΕΛΑΤΤΩΝΕΤΑΙΜΙΚΡΗ ΜΕΤΑΒΟΛΗΑΥΞΑΝΕΤΑΙΕΛΑΤΤΩΝΕΤΑΙ KiKi ΑΥΞΑΝΕΤΑΙ ΜΗΔΕΝΙΖΕΤΑΙ KdKd ΜΙΚΡΗ ΜΕΤΑΒΟΛΗΕΛΑΤΤΩΝΕΤΑΙ ΜΙΚΡΗ ΜΕΤΑΒΟΛΗ
45
The Mercedes A-class Moose Test (το τεστ του τάρανδου)
47
The Mercedes A-class Electronic Stability Program (ESP) ESP
54
ESP 2006
56
Η ΚΡΥΜΜΕΝΗ ΤΕΧΝΟΛΟΓΙΑ Πλατιά διαδεδομένη Πλατιά διαδεδομένη Πολύ επιτυχημένη Πολύ επιτυχημένη Σπάνια αναφέρεται Εκτός όταν είναι ανάγκη… Γιατί; Είναι πιο εύκολο να μιλάς για συσκευές παρά για έννοιες
57
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δρ. Κανακάκης Βαγγέλης www.robolab.dpem.tuc.gr vkanakak@dpem.tuc.gr 1.Εισαγωγή στην Ασαφή Λογική 2.Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS) 3.Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox 4.Δημιουργία και επεξεργασία FIS από την γραμμή εντολών 5.Χρησιμοποίηση FIS στην Simulink
58
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Η Ασαφής Λογική στηρίζεται στα Ασαφή Σύνολα. Ένα Ασαφές Σύνολο (fuzzy set) περιλαμβάνει στοιχεία τα οποία έχουν μια ιδιότητα σε κάποιο βαθμό. Ο βαθμός στον οποίο ικανοποιείται η ιδιότητα που περιγράφει το ασαφές σύνολο περιγράφεται από την συνάρτηση συμμετοχής (membership function). Η συνάρτηση συμμετοχής παίρνει τιμές στο [0, 1]. Παράδειγμα: Ασαφές Σύνολο: «Ψηλοί άνθρωποι» Ψηλός θεωρείται όποιος περνάει την κόκκινη γραμμή
59
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Παράδειγμα: Ασαφές Σύνολο: «Ψηλοί άνθρωποι» Όσο πιο μεγάλο ύψος έχει κάποιος, τόσο πιο «Ψηλός άνθρωπος» θεωρείται. Συμπέρασμα: Ένα ασαφές σύνολο ορίζεται από την συνάρτηση συμμετοχής του.
60
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Τριγωνική Σ.Σ. Τραπεζοειδής Σ.Σ. Gauss Σ.Σ. Gauss2 Σ.Σ. Καμπανοειδής Σ.Σ. Συναρτήσεις Συμμετοχής της Fuzzy Logic Toolbox
61
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Συναρτήσεις Συμμετοχής της Fuzzy Logic Toolbox Σιγμοειδής Σ.Σ.Διπλή σιγμοειδής Σ.Σ. Γινόμενο σιγμοειδών Σ.Σ. Ζ σχήματος Σ.Σ.Π σχήματος Σ.Σ.S σχήματος Σ.Σ.
62
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Συναρτήσεις Συμμετοχής της Fuzzy Logic Toolbox Οι συναρτήσεις συμμετοχής ορίζονται από τις παραμέτρους τους. Παράδειγμα: Οι εντολές: x=0:0.1:10; y=trimf(x,[3 6 8]); plot(x,y) xlabel('trimf, P=[3 6 8]') σχηματίζουν και κάνουν την γραφική παράσταση μιας τριγωνικής συνάρτησης συμμετοχής με πεδίο ορισμού από 0 έως 10 και με κορυφές του τριγώνου στο 3, στο 6 και στο 8.
63
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εισαγωγή στην Ασαφή Λογική Ασαφείς τελεστές Ένωση ασαφών συνόλων Η συνάρτηση συμμετοχής της ένωσης 2 ασαφών συνόλων είναι το μέγιστο των συναρτήσεων συμμετοχής Τομή ασαφών συνόλων Συμπλήρωμα ασαφών συνόλων Η συνάρτηση συμμετοχής της τομής 2 ασαφών συνόλων είναι το ελάχιστο των συναρτήσεων συμμετοχής Η συνάρτηση συμμετοχής του συμπληρωματικού ενός ασαφούς συνόλου ισούται με 1- είναι την τιμή της συνάρτησης συμμετοχής
64
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Εάν – Τότε κανόνες Η εξαγωγή συμπερασμάτων γίνεται με την χρήση κανόνων που έχουν την μορφή: ΕΑΝ «υπόθεση», ΤΟΤΕ «συμπέρασμα». Παράδειγμα: για τον υπολογισμό του κατάλληλου φιλοδωρήματος μπορεί να εφαρμοστεί ο κανόνας: ΕΑΝ «το φαγητό είναι καλό», ΤΟΤΕ «το φιλοδώρημα είναι μέτριο». Εισαγωγή στην Ασαφή Λογική Στους παραπάνω κανόνες οι λέξεις καλό, μέτριο, κακό, μέτριο, μικρό είναι ασαφή σύνολα που χαρακτηρίζουν το φαγητό, την εξυπηρέτηση και το φιλοδώρημα.
65
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Σκοπός είναι η εξαγωγή ενός συμπεράσματος βασισμένο σε μια παρατήρηση. Περιλαμβάνουν την βάση κανόνων που αναπαριστά την ανθρώπινη γνώση. Η λήψη απόφασης γίνεται σε τρία βήματα: ασαφοποίηση εισόδου ενεργοποίηση κανόνων αποασαφοποιηση Το σύστημα συνεπαγωγής αυτό ονομάζεται σύστημα Mamdani. Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
66
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Ένας ασαφής κανόνας ενεργοποιείται μέχρι την συνάρτηση συμμετοχής της εισόδου του. είσοδος έξοδος κανόνα Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
67
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Σε ένα σύστημα εξαγωγής συμπεράσματος μπορεί να υπάρχουν πολλοί κανόνες. Η έξοδος από τον κάθε κανόνα αθροίζεται, οπότε προκύπτει το ασαφές σύνολο εξόδου. Κανόνας 1 Κανόνας 2 Ασαφές σύνολο εξόδου Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
68
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Ασαφές σύνολο εξόδου Για την εξαγωγή συμπεράσματος το ασαφές σύνολο αποασαφοποιείεται. Σαν έξοδος λαμβάνεται το κέντρο βάρους του. Έξοδος =κέντρο βάρους Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
69
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Το αποτέλεσμα ενός κανόνα είναι ένα νέο ασαφές σύνολο με μια νέα συνάρτηση συμμετοχής: υπόθεση συμπέρασμα Υπολογίζεται η συνάρτηση συμμετοχής των εισόδων Υπολογίζεται η συνάρτηση συμμετοχής της υπόθεσης Η έξοδος του κανόνα: ένα ασαφές σύνολο με Σ.Σ. την Σ.Σ. του συμπεράσματος του κανόνα μέχρι την Σ.Σ. της υπόθεσης Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
70
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Στην υπόθεση ενός κανόνα μπορεί να υπάρχουν παραπάνω από μια είσοδοι. Παράδειγμα: ΕΑΝ «το φαγητό είναι κακό και η εξυπηρέτηση είναι κακή », ΤΟΤΕ «το φιλοδώρημα είναι μικρό». Είσοδος 1 Είσοδος 2Είσοδος 3 Ασαφές σύνολο εξόδου Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
71
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Σύστημα ασαφούς συνεπαγωγής με 2 εισόδους και 2 κανόνες Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS)
72
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Το πρόβλημα του υπολογισμού φιλοδωρήματος Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS) Σύστημα ασαφούς συνεπαγωγής με 2 εισόδους και 3 κανόνες:
73
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Συστήματα Ασαφούς Συνεπαγωγής (Fuzzy Inference Systems-FIS) Συνοπτικά: Ένα σύστημα ασαφούς συνεπαγωγής περιλαμβάνει τις εισόδους και τις εξόδους οι οποίες ασαφοποιούνται με τις αντίστοιχες συναρτήσεις συμμετοχής. Για την εξαγωγή συμπεράσματος απαιτούνται κανόνες, οι οποίοι αναπαριστούν την ανθρώπινη γνώση. Η υλοποίηση και κατόπιν η τροποποίηση ενός συστήματος ασαφούς συνεπαγωγής γίνεται με την εργαλειοθήκη ασαφούς λογικής της Matlab.
74
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Η εργαλειοθήκη ασαφούς λογικής περιλαμβάνει ένα GUI, το οποίο ανοίγει όταν πληκτρολογήσουμε στην γραμμή εντολών: >> fuzzy Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox
75
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox Το γραφικό περιβάλλον περιλαμβάνει συνολικά 5 οθόνες:
76
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox FIS editor
77
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox Menu bars του FIS editor Εισαγωγή/εξαγωγή FIS από/προς workspace και δίσκο Προσθήκη μεταβλητής εισόδου/εξόδου Άνοιγμα membership function editor Άνοιγμα Rule editor Άνοιγμα Surface viewer Rule viewer
78
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox FIS editor- Άνοιγμα FIS από τον δίσκο: Σύστημα ελέγχου βαλβίδας για διατήρηση σταθερής στάθμης δεξαμενής Στον φάκελο: C/programfiles/matlab/toolbox/fuzzy/fuzdemos ανοίγουμε το αρχείο tank.fis File Import From Disk
79
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox FIS editor: Σύστημα ελέγχου βαλβίδας για διατήρηση σταθερής στάθμης δεξαμενής
80
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox Membership function editor
81
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox RULE editor
82
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox RULE viewer
83
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox Surface viewer
84
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS με το GUI του Fuzzy Logic Toolbox File Export to Workspace Μπορούμε να εξάγουμε το FIS με το οποίο εργαζόμαστε στο workspace: To FIS αποθηκεύεται σαν μια δομή (structure) με όνομα ‘tank’.
85
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS από την γραμμή εντολών Τα πεδία της δομής ‘tank’ Ένα FIS που είναι αποθηκευμένο σαν μια δομή μπορεί να δημιουργηθεί και να τροποποιηθεί και από την γραμμή εντολών.
86
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS από την γραμμή εντολών Η εντολή : >>showfis(tank) τυπώνει στην οθόνη τα περιεχόμενα της δομής ‘tank’ Η εντολή : >>plotfis(tank) ανοίγει ένα figure με τα περιεχόμενα της δομής ‘tank’
87
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS από την γραμμή εντολών Η εντολή : >>plotmf(tank,'input',1) ανοίγει ένα figure με τις συναρτήσεις συμμετοχής της εισόδου 1 της δομής ‘tank’
88
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS από την γραμμή εντολών Η εντολή : >>gensurf(tank) ανοίγει ένα figure με την επιφάνεια ελέγχου της δομής ‘tank’
89
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Δημιουργία και επεξεργασία FIS από την γραμμή εντολών Η εντολή : >> evalfis([0.5 ; 0.05], tank) υπολογίζει το αποτέλεσμα της δομής ‘tank’ για τιμές εισόδων 0.5, 0.05 και επιστρέφει: ans = 0.3447
90
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Χρησιμοποίηση FIS στην Simulink Ένα FIS που έχουμε δημιουργήσει μπορεί να χρησιμοποιηθεί σε ένα μοντέλο της Simulink. Από τον Library Browser της Simulink:
91
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Χρησιμοποίηση FIS στην Simulink Ένα FIS που έχουμε δημιουργήσει μπορεί να χρησιμοποιηθεί σε ένα μοντέλο της Simulink. Από τον Library Browser της Simulink: Ανοίγουμε την βιβλιοθήκη ασαφούς λογικής:
92
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Χρησιμοποίηση FIS στην Simulink Σε ένα μοντέλο Simulink μπορούμε να ενσωματώσουμε Ασαφείς ελεγκτές (τα αντίστοιχα FIS πρέπει να περιέχονται στις μεταβλητές του workspace).
93
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Χρησιμοποίηση FIS στην Simulink Σε ένα μοντέλο Simulink μπορούμε να ενσωματώσουμε Ασαφείς ελεγκτές με οθόνη ενεργοποίησης κανόνων (ruleviewer).
94
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Χρησιμοποίηση FIS στην Simulink Tέλος μπορούμε να ενσωματώσουμε blocks στα οποία υπολογίζονται συναρτήσεις συμμετοχής.
95
Εισαγωγή στην Matlab - Εργαλειοθήκη Ασαφούς Λογικής Επιπλέον εργαλεία της Fuzzy Logic Toolbox αφορούν στα: Συστήματα ασαφούς συνεπαγωγής Sugeno όπου η έξοδος είναι γραμμικός συνδυασμός των ασαφών συνόλων εισόδου και Νευροασαφή συστήματα (Anfis-adaptive neuro-fuzzy inference systems) όπου χρησιμοποιείται νευρωνικό δίκτυο για την εκπαίδευση του συστήματος ασαφούς συνεπαγωγής ώστε η έξοδος του να συμφωνεί με τα δεδομένα εκπαίδευσης.
96
ΟΙ γενετικοί αλγόριθμοι αποτελούν ευρετική μέθοδο βελτιστοποίησης κατά την οποία προσομοιώνεται στον υπολογιστή η διαδικασία εξέλιξης βέλτιστων βιολογικών πληθυσμών. Προτάθηκαν από τον Holland την δεκαετία του ’70 και είναι μέθοδος που συνδυάζει την ικανότητα προσδιορισμού της βέλτιστης λύσης ενός προβλήματος με αναζήτηση σε όλο τον χώρο των πιθανών λύσεων. Στην φύση τα ικανά άτομα χαρακτηρίζονται από τον βαθμό ανταπόκρισής τους στις συνθήκες του περιβάλλοντος. Τα χαρακτηριστικά των έμβιων οργανισμών είναι αποτυπωμένα στον γενετικό τους κώδικα που είναι η ακολουθία των χρωμοσωμάτων τους. Τα ικανότερα άτομα ενός είδους έχουν περισσότερες πιθανότητες να αναπαραχθούν και να περάσουν τα γονίδια τους στις επόμενες γενιές. Η εξέλιξη των βιολογικών πληθυσμών γίνεται αφενός με την διασταύρωση και αφετέρου με την μετάλλαξη των γονιδίων, σε μια διαδικασία επιλογής των βέλτιστων γονιδίων, η οποία γίνεται με την βελτίωση από γενιά σε γενιά, βασισμένη στην επιβίωση των ικανότερων ατόμων ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ
97
Για τον προσδιορισμό της βέλτιστης λύσης σε ένα πρόβλημα με γενετικό αλγόριθμο, οι μεταβλητές από τις οποίες αποτελείται μια πιθανή λύση του προβλήματος ονομάζονται χρωμοσώματα. Το σύνολο των χρωμοσωμάτων που αναπαριστούν μια πιθανή λύση ονομάζεται άτομο, ενώ το σύνολο των ατόμων που αποτελούν πιθανές λύσεις ονομάζεται πληθυσμός. Τα χρωμοσώματα μπορεί να αναπαρίστανται δυαδικά ως μια ακολουθία ψηφίων 0 και 1, που ονομάζονται γονίδια, ή με δεκαδικό τρόπο ως ακέραιοι αριθμοί ή ως αριθμοί κινητής υποδιαστολής. Η δυαδική αναπαράσταση προτάθηκε από τον Holland και έχει το πλεονέκτημα της ευκολότερης αναπαραγωγής νέων ατόμων με διασταύρωση και μετάλλαξη, μειονεκτεί όμως στην εύκολη κατανόηση των αποτελεσμάτων. Στην παρούσα εργασία ακολουθήθηκε η δεκαδική αναπαράσταση των χρωμοσωμάτων. Η ποιότητα της λύσης που αναπαριστά το κάθε άτομο μετριέται από μια αντικειμενική συνάρτηση, που περιγράφει το πρόβλημα βελτιστοποίησης που εξετάζεται. Η αναζήτηση της βέλτιστης λύσης γίνεται με την εξέλιξη ενός αρχικού πληθυσμού, που δημιουργείται στην αρχή του γενετικού αλγόριθμου. Τα άτομα του αρχικού πληθυσμού έχουν τιμές χρωμοσωμάτων, που επιλέγονται τυχαία μέσα σε ένα προκαθορισμένο διάστημα. Μετά τον υπολογισμό της αντικειμενικής συνάρτησης για κάθε άτομο ακολουθεί η δημιουργία νέου πληθυσμού με τους τελεστές αντιμετάθεσης (crossover) και μετάλλαξης (mutation). Η επιλογή των ατόμων που θα σχηματίσουν τον νέο πληθυσμό γίνεται ανάλογα με την τιμή της αντικειμενικής συνάρτησης για κάθε άτομο, ώστε να εξασφαλίζεται ότι τα ικανότερα άτομα θα επιβιώσουν. Η διαδικασία βαθμολόγησης των ατόμων με την αντικειμενική συνάρτηση και δημιουργίας νέων πληθυσμών επαναλαμβάνεται, έτσι ώστε να δημιουργούνται πληθυσμοί τα άτομα των οποίων δίνουν μεγάλες (ή μικρές) τιμές της αντικειμενικής συνάρτησης, όπως φαίνεται στο Σχήμα.
98
Η αντικειμενική συνάρτηση υπολογίζεται για κάθε άτομο του αρχικού πληθυσμού, οπότε όλα τα άτομα αξιολογούνται με την τιμή της αντικειμενικής συνάρτησης που τους δίνεται. Στην συνέχεια ελέγχεται εάν εκπληρώνεται κάποιο κριτήριο τερματισμού. Κριτήρια τερματισμού είναι: α. ο έλεγχος εάν η αντικειμενική συνάρτηση κάποιου ατόμου του πληθυσμού είναι καλύτερη από την βέλτιστη που αναμένεται, οπότε η μέθοδος τερματίζεται για εξοικονόμηση υπολογιστικού χρόνου και β. Ο έλεγχος για το εάν ο αριθμός της τρέχουσας γενιάς είναι ίσος με τον μέγιστο αριθμό των γενεών που εξετάζονται. Εάν πληρείται κάποιο κριτήριο τερματισμού τότε η βέλτιστη λύση είναι αυτή με την βέλτιστη τιμή της αντικειμενικής συνάρτησης. Εάν δεν πληρείται η κάποιο κριτήριο τερματισμού, τότε ξεκινά η διαδικασία δημιουργίας του επόμενου πληθυσμού. Τα άτομα του επόμενου πληθυσμού στην παρούσα εργασία προκύπτουν από τα άτομα του προηγούμενου πληθυσμού με τους τελεστές διασταύρωσης (ή επιχιασμού) και μετάλλαξης. ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ
99
Σχήμα 4-7: Τελεστής διαστάυρωσης Σχήμα 4-8: Τελεστής μετάλλαξης ΓΕΝΕΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ
101
Συναρτήσεις συμμετοχής εισόδου “Αισθητήρας 1” και εξόδου “Σύγκρουση εμπρός” ασαφούς μηχανής συμπεράσματος ανάγνωσης ενδείξεων αισθητήρων
102
Μετάβαση από συμπεριφορά στόχου σε συμπεριφορά αντίδρασης. (α): το εμπόδιο δεν έχει ανιχνευτεί -συμπεριφορά στόχου (β): το εμπόδιο έχει ανιχνευτεί- συμπεριφορά αντίδρασης
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.