ΕΚΠ 413 Αυτόνομοι Πράκτορες Παρουσίαση Εργασίας Εξαμήνου AIBO in Wumpus Cave Βασιλικός Βασίλης
Γενικά περι Πρακτόρων Γνώση + Συμπερασμός: Καίριο πλεονέκτημα σε μερικώς παρατηρήσιμα περιβάλλοντα Συνδυασμός υπάρχουσας γνώσης και παρατηρήσεων για την αποκάλυψη νέας γνώσης που δεν έχει/μπορεί να παρατηρηθεί και αντίστοιχη επιλογή δράσης Παράδειγμα: Γιατρός παρατηρεί (συμπτώματα), τα οποία συνδυάζει με ιατρικές γνώσεις για να αποκαλύψει νέα γνώση (ασθένεια/πάθηση) και να επιλέξει κατάλληλη δράση (θεραπεία)
Ο μικρόκοσμος του Wumpus: Το περιβάλλον «Σπήλαιο» 4x4 δωματίων Κίνδυνοι: Γούβες, το Wumpus Στόχος: Το χρυσαφι! $$$€€€ Κανόνες: Γύρω από τις γούβες υπάρχει αύρα, γύρω από το wumpus υπάρχει δυσοσμία, στο δωμάτιο με το χρυσό υπάρχει λάμψη
Ο μικρόκοσμος του Wumpus: Ο πράκτορας (1/4) Δομή:
Ο μικρόκοσμος του Wumpus: Ο πράκτορας (2/4) Επενεργητές: Στροφή δεξιά/αριστερά κατά 90 ο Κίνηση προς τα εμπρός Αρπαγή χρυσού Εκτόξευση βέλους. Εάν το βέλος πετύχει το Wumpus, αυτό πεθαίνει Θάνατος.
Ο μικρόκοσμος του Wumpus: Ο πράκτορας (3/4) Αισθήσεις: Οσμή (δυσοσμία) Αφή (αύρα) Ακοή (κραυγή) Όραση (λάμψη χρυσού) Γνωρίζει εάν έχει πεθάνει ή όχι :p
Ο μικρόκοσμος του Wumpus: Ο πράκτορας (4/4) Εγκέφαλος: Καμία γνώση για το σπήλαιο πέραν του τετραγώνου εκκίνησης Γνώση των λογικών κανόνων που διέπουν το λαβύρινθο Υπεύθυνος για ανάλυση παρατηρήσεων, εξαγωγή συμπερασμάτων, νέας γνώσης και λήψη απόφασης για επόμενη κίνηση
Η αναπαράσταση του προβλήματος στον πραγματικό κόσμο (1/5) Προφανώς, αδύνατον να υλοποιηθεί (εύκολα) τυχαίος λαβύρινθος Δυσκολία αναπαράστασης ερεθισμάτων (πως να περιορίσεις την δυσοσμία ή την αύρα σε ένα τετράγωνο?) Δυσκολία αντίληψης αισθήσεων (πως θα αντιληφθεί ένα ρομπότ οσμή ή αύρα?) Λύση: Συγκεκριμένος λαβύρινθος με χρωματικό κώδικα
Η αναπαράσταση του προβλήματος στον πραγματικό κόσμο (2/5) Κωδικοποίηση των διαφόρων καταστάσεων σε χρώματα Χρήση συγκεκριμένων χρωμάτων λόγω αντικειμενικών δυσκολιών (φωτισμός, ανάλυση κάμερας) Χρήση ενός κατωφλιού για την ένταση των τιμών RGB και την απλοποίηση από 256 διαφορετικές τιμες για κάθε τιμή, σε 2 τιμές Κάτω από το κατώφλι: 0 Πάνω από το κατώφλι: 1
Η αναπαράσταση του προβλήματος στον πραγματικό κόσμο (3/5) 3 πεδία, 2 τιμές 2 3 = 8 διαφορετικά ευδιάκριτα (θεωρητικά) χρώματα Αποκλεισμός 2 χρωμάτων, χρήση 6 χρωμάτων Εικόνα, όχι pixel, άρα μέσος όρος τιμών RGB ολόκληρης εικόνας RGBColor 000Black 100Red 010Green 001Blue 111White 110Yellow 101Purple 011Cyan
Η αναπαράσταση του προβλήματος στον πραγματικό κόσμο (4/5)
Η αναπαράσταση του προβλήματος στον πραγματικό κόσμο (5/5)
Η υλοποίηση της λύσης στον πραγματικό κόσμο (1/8) Ο πράκτορας αποτελείται από 3 διαφορετικά ανεξάρτητα στοιχεία: Αισθητήρες, Εγκέφαλος, Επενεργητές Είναι δυνατή λοιπόν η υλοποίηση αυτών των τριών ανεξάρτητα από το καθένα Κάθε στοιχείο μπορεί να αποτελείται απο παραπάνω από ένα ανεξάρτητα υπο- στοιχεία
Η υλοποίηση της λύσης στον πραγματικό κόσμο (2/8) Top-down implementation analysis:
Η υλοποίηση της λύσης στον πραγματικό κόσμο (3/8) Αισθητήρες: Η κάμερα του ΑΙΒΟ Πρόσθετος φωτισμός Λήψη καρέ όταν ολοκληρωθεί μια μετάβαση σε νέα κατάσταση
Η υλοποίηση της λύσης στον πραγματικό κόσμο (4/8) Εγκέφαλος: Αποτελείται από 3 μέρη: 1.Αποκωδικοποίηση αισθήσεων 2.Συμπερασμός 3.Λήψη απόφασης
Η υλοποίηση της λύσης στον πραγματικό κόσμο (5/8) Εγκέφαλος – Αποκωδικοποίηση αισθήσεων: Γνώση χρωματικού κώδικα Απλοποίηση ανάλυσης χρωμάτων με χρήση κατωφλιού Λήψη μέσου όρου τιμών pixel για αντίληψη χρώματος
Η υλοποίηση της λύσης στον πραγματικό κόσμο (6/8) Εγκέφαλος – Συμπερασμός: Εάν «όχι αύρα» → Γύρω τετράγωνα «όχι γούβα» Εάν «όχι δυσοσμία» → Γύρω τετράγωνα «όχι wumpus» Εάν «λάμψη» → Αρπαγή χρυσού Εάν «λακούβα» ή «wumpus ζωντανό» → Θάνατος Εάν «αύρα» → Γύρω τετράγωνα «ίσως γούβα» Εάν «δυσοσμία» → Γύρω τετράγωνα «ίσως wumpus» Εάν «αύρα» και όλα τα γύρω εκτός από ένα «όχι γούβα» → Αυτό που απομένει «γούβα» Εάν «δυσοσμία» και όλα τα γύρω εκτός από ένα «όχι wumpus» → Αυτό που απομένει «wumpus» Εάν κάποιο από τα γύρω «wumpus» → Σκότωσε wumpus
Η υλοποίηση της λύσης στον πραγματικό κόσμο (7/8) Εγκέφαλος – Λήψη απόφασης Ασφαλές τετράγωνο: Όχι γούβες, όχι wumpus Δημιουργία λίστας με ασφαλή not-visited τετράγωνα, έστω Α Δημιουργία λίστας με όλα τα ασφαλή τετράγωνα, έστω Β Εάν Α μή κενή, επέλεξε τυχαία κάποιο στοιχείο της Α, αλλίως επέλεξε τυχαία κάποιο στοιχείο από τη Β Υπολογισμός απαραίτητων κινήσεων για επίτευξη στόχου (αλλαγή προσανατολισμού και νέα κατεύθηνση).
Η υλοποίηση της λύσης στον πραγματικό κόσμο (8/8) Επενεργητές: «Τυφλή» κίνηση (χωρίς χρήση localization) Δυσκολία: Τυχαίο λάθος κατά την κίνηση, κίνδυνος αθροιστικού λάθους Χρήση hard-coded διορθωτικών κινήσεων για αντιμετώπιση του προβλήματος Ήχοι για ένδειξη σημαντικών καταστάσεων
Ιδέες για περαιτέρω βελτίωση Επενεργητές: Χρήση localization στη κίνηση Εγκέφαλος: Συμπερασμός με γενικό αφηρημένο τρόπο, πχ με χρήση βάσης γνώσης και αλγορίθμων λογικής επικάλυψης. Αισθητήρες: Άναγνώριση landmark για διόρθωση θέσεως
Επίλογος Εργαλεία που χρησιμοποιήθηκαν: Python 2.4 Interpreter Python Robotics: Pyrobot 5.0 Knoppix/Pyro GNU/Linux LiveCD Python Image Processing Library (PIL)