Αυτόνοµοι Πράκτορες Ακολουθία κινήσεων για τον ΝΑΟ Στόχος είναι ο ΝΑΟ να ρίχνει την µπάλα σε ένα καλάθι του basket και να βάζει «καλαθιά» Θεοδώρου Θεόδωρος 2004030120
Στόχος εργασίας Στόχος της εργασίας ήταν να κάνω τον ΝΑΟ να παίρνει την µπάλα από κάτω και να ανιχνεύει το καλάθι µε χρήση της cameras (αναγνώριση αντικειµένου) και έπειτα να ρίχνει το καλάθι. Λόγω πολλών προβληµάτων που αναφέρονται πιο κάτω το αποτέλεσµα είναι πολύ πιο απλό. Αρχική Προσέγγιση Η αρχική προσέγγιση του προβλήµατος που είχα, ήταν να αποφασίσω µε ποιο τρόπο θα ρίχνει την µπάλα ο ΝΑΟ, το µέγεθος και κατά συνέπεια βάρος της µπάλας ώστε να µπορεί να κάνει ο ΝΑΟ βολή. Αν είχα µεγάλη µπάλα θα είχα µεγάλο βάρος αν είχα µικρή µπάλα δεν θα µπορούσε να την κρατήσει εύκολα ο ΝΑΟ. Υλοποίηση Για την υλοποίηση έχει γίνει σε Choregraphe. Συγκεκριµένα οι κινήσεις για την βολή έχουν γίνει µε την καταγραφή pose στο Motion editor και η προσπάθεια για αναγνώριση αντικειµένων µε χρήση cameras από το video monitor panel (δηµιουργία βάσης µε αντικείµενα προς αναγνώριση) και µε το «κουτί» Vision Reco στο data flow διάγραµµα. Περισσότερες λεπτοµέρειες θα αναφερθούν παρακάτω. Προβλήµατα που αντιµετώπισα Πρόβληµα 1ο: Κράτηµα τις µπάλας από τον ΝΑΟ Λόγω του ότι ο ΝΑΟ που χρησιµοποίησα είναι το µοντέλο για το RoboCup, δεν µπορεί να χρησιµοποιήσει τα χέρια του για να κρατήσει τη µπάλα. Έτσι την σφίγγει µε τους καρπούς του για να την κρατήσει. Αυτό έχει ως περιορισµό το µέγεθος της µπάλας που µπορεί να κρατήσει. Μεγαλύτερη µπάλα όµως σηµαίνει και µεγαλύτερο βάρος.
Εν τέλει για το κράτηµα της µπάλας κατέληξα να χρησιµοποιήσω δύο κουτάλια τ(α κουτάλια είναι συνδεδεµένα µε συνδετική ταινία στα χέρια του ΝΑΟ) για να κρατάει µια µικρότερη και ελαφρύτερη µπάλα, που χωρίς αυτά δεν µπορούσε να την κρατήσει. Με την µεγαλύτερη µπάλα δεν µπορούσε να κάνει βολή λόγω βάρους.
Πρόβληµα 2ο: Τρόπος βολής Για να κάνει ο ΝΑΟ βολή υλοποίησα 3 διαφορετικούς τρόπους για να καταλήξω στον καλύτερο. Ο 1ος τρόπος είναι η βολή από την µέση και κάτω
Ο 2ος τρόπος είναι η βολή πάνω από το κεφάλι. Αξίζει να σηµειωθεί ότι για αυτή την βολή χρειάστηκε να γυρίσει το κεφάλι. Ο 1ος και ο 2ος τρόπος δεν µπορούν να κάνουν βολή. Η µπάλα φεύγει ελάχιστο από το χέρι του ΝΑΟ, και κυλά κάτω στο πάτωµα.
Ο 3ος τρόπος είναι η βολή µε το ένα µόνο χέρι µε την χρήση κουταλιού για να κρατά την µπάλα. Αυτός ο τρόπος είχε σαν αποτέλεσµα καλή σχετικά ρίψη σε σχέση µε τους προηγούµενους τρόπους, όµως δεν ήταν αρκετή η δύναµη του ΝΑΟ για να ρίξει την µπάλα και να ξεπεράσει το ύψος του κεφαλιού του. Υλοποίηση Βολών: Η υλοποίηση των τριών βολών σχεδιάστηκε µε το Motion editor του Choregraphe µε καταγραφή των pose του ΝΑΟ. Για την µέγιστη ταχύτητα που µπορεί να προσφέρει το Choregraphe στις κινήσεις του ΝΑΟ άλλαξα 2 ρυθµίσεις στο Edit Timeline (Ακολουθεί φωτογραφεία):
> Άλλαξα τα fps στο Choregraphe σε 50 από 15 (που είναι και το µέγιστο) > Άλλαξα το size σε 20 από 300(που είναι και το ελάχιστο) Αυτό είχε ως αποτέλεσµα οι κινήσεις του ΝΑΟ να γίνουν όσο πιο γρήγορες µου επιτρέπει το πρόγραµµα. Όπως όµως παρατήρησα το Choregraphe δεν µε αφήνει να εφαρµόσω όλη την δύναµη των µοτέρ γι αυτό και οι βολές δεν ήταν ικανοποιητικές.
Πρόβληµα 3ο: Οπτική αναγνώριση αντικειµένου Tο Choregraphe µας παρέχει την δυνατότητα οπτικής αναγνώρισης αντικειµένου. Η δυνατότητα αυτή παρουσιάζεται παρακάτω πως γίνεται: Ανοίγουµε το View > Video monitor (δίπλα παράθυρο) και πατάµε το (1) για να δούµε live ότι βλέπει και ο NAO. Πατώντας το (2) επεξεργαζόµαστε το αντικείµενο που θέλουµε να αναγνωρίσουµε (λεπτοµέρειες πιο κάτω) Με το (3) στέλνουµε την βάση δεδοµένων που δηµιουργήσαµε στον ΝΑΟ. Στην πιο κάτω φωτογραφεία βλέπουµε µια εικόνα που βλέπει ο ΝΑΟ. Επιλέγουµε το αντικείµενο που θέλουµε (αυτό που επιλέξαµε δεν είναι κοκκινισµένο) και συµπληρώνουµε τα στοιχεία που µας ζητά για να δηµιουργήσουµε µια βάση δεδοµένων.
Η αναγνώριση αντικειµένων όπως γίνεται από το Choregraphe είναι κάτι που δεν µου δούλεψε. Από όλες τις απόπειρες που έχω κάνει κατάλαβα ότι για να δουλέψει πρέπει ο ΝΑΟ να δει το αντικείµενο από την ίδια οπτική γωνία που τραβηχτικέ η φωτογραφία,µε την ίδια απόσταση, µε το ίδιο φόντο και τον ίδιο φωτισµό, πράγµα που το κάνει ανούσιο για χρήση στην εργασία µου, εφόσον εγώ θέλω να αναγνωρίζει αντικείµενα από όπου και να είναι στο χώρο. Αξίζει να σηµειωθεί ότι το manual του Choregraphe δεν δίνει καµιά σχεδόν λεπτοµέρεια για το πως δουλεύει η οπτική αναγνώριση! Τελικό Αποτέλεσµα-Συµπεράσµατα Το τελικό αποτέλεσµα που έχω να παρουσιάσω είναι τον ΝΑΟ να παίρνει την µπάλα από κάτω και να κάνει βολή. υστυχώς µέσω του Choregraphe δεν κατάφερα να δουλέψω µε την οπτική αναγνώριση για να αναγνωρίζω προς τα που είναι το καλάθι. Επίσης δεν κατάφερα να κάνω βολή και να πάει η µπάλα αρκετά ψηλά για να µπει καλάθι. Έτσι αντί για καλάθι του basket, που ήταν το αρχικό πλάνο, το αντικατάστησα µε ένα «καλάθι» που βρίσκεται στο έδαφος για να παρουσιάσω την βολή που κατάφερα να υλοποιήσω!