Αυτόνομοι Πράκτορες χειμερινό εξάμηνο 2011-12 Πολυτεχνείο Κρήτης 3 Απριλίου 2012
Θέμα Υλοποίηση του προγράμματος μιας ομάδας από Nao Aldebaran Robots στον προσομοιωτή Simspark Soccer Simulator. Η ομάδα μας είναι σε θέση να πάρει μέρος σε έναν αγώνα ποδοσφαίρου στο περιβάλλον αυτό.
Περιεχόμενα Παρουσίασης Simspark Αρχιτεκτονική Πράκτορα Server Κινήσεις Αντίληψη & Δράση Στρατηγική Γενικά Future work
SimSpark Το Simspark είναι ένα φυσικό σύστημα προσομοιωτή για Robot σε τρισδιάστατο περιβάλλον. Προτάθηκε στο Robocup του 2003. Στο RoboCup του 2004, το SimSpark χρησιμοποιήθηκε για πρώτη φορά με επιτυχία στην κατηγορία RoboCup Simulation League 3D.
Server TCP Socket. Λαμβάνουμε μηνύματα από τον Server κάθε 20ms (Simulation cycle).χρησιμοποιούμε αυτά τα μηνύματα για να ανανεώσουμε τις αισθήσεις του πράκτορα μας. Σε κάθε κύκλο στέλνουμε ενέργειες σε μορφή συμβολοσειρών ( πχ. (lae3 5.3)(syn)).Στο τέλος κάθε συμβολοσειράς προσθέτουμε το (syn) για να έχουμε συγχρονισμό.
Κινήσεις Εισαγωγή των κινήσεων από αρχεία κίνησης. Ενημέρωση της τιμής κάθε άρθρωσης σε κάθε κύκλο ή περισσότερους. Πλήρως παραμετροποιήσιμος Motion Controller για πολλά είδη αρχείων κινήσης.
Αντίληψη Αντίληψη είναι όλα εκείνα που αντιλαμβάνεται ο παίκτης. Πού βρίσκεται. Πού είναι η μπάλα. Πού είναι το αντίπαλο τέρμα. Πόση απόσταση έχουν οι συμπαίκτες του από την μπάλα. Αν κάποιος συμπαίκτης του έχει πέσει.
Δράση Η δράση απορέει από την αντίληψη σε συνδιασμό με την σκέψη. Δράσεις του πράκτορά μας: 1 Εντοπισμός της μπάλας ακόμα και αν αυτή δεν βρίσκεται στο οπτικό του πεδίο. 2 Κίνηση προς την μπάλα. 3 Ευθυγράμμιση του σωμάτος του με σκοπό να κλωτσήσει την μπάλα προς το αντίπαλο τέρμα, ακόμα και αν αυτό δεν βρίσκεται στο οπτικό του πεδίο. 4 Προσέγγιση της μπάλας για σουτ. 5 Σουτ και με τα δύο πόδια αναλόγως την θέση της μπάλας.
Συμπεριφορές Οι Συμπεριφορές είναι το αποτέλεσμα συνδιασμένων ενεργειών. Συμπεριφορές του πράκτορά μας: 1 Init, αδρανής κατάσταση. 2 Start, αρχική Κατάσταση. 3 KickTheBall, κατάσταση η οποία οδηγεί τον παίκτη να κλωτσήσει την μπάλα. 4 KickTheBallToGoal, κατάσταση η οποία οδηγεί τον παίκτη να κλωτσήσει την μπάλα προς το αντίπαλο τέρμα. 5 GoToPos, κατάσταση η οποία οδηγεί τον παίκτη να πάει στην θέση που του υποδεικνύει η στρατηγική. 6 Fallen, κατάσταση στην οποία οδηγείται ο παίκτης όταν πέσει.
Τερματοφύλακας 1 Ο τερματοφύλακας προσπαθεί συνεχώς να κάθεται λίγο μπροστά από την γραμμή του τέρματος και να κινείται παράλληλα προς αυτό. 2 Κινείται προς το σημείο όπου τέμνει η κάθετη της μπάλας την γραμμή του τέρματος. 3 Οταν η μπάλα μπει στην περιοχή του πάει να την διώξει.
Αμυντικοί 1 Οι αμυντικοί όταν η μπάλα είναι στο δικό τους μισό του γηπέδου τότε παίρνουν θέση άμυνας κλείνοντας τις μεταξύ τους αποστάσεις. 2 Οταν η μπάλα είναι στο άλλο μισό του γηπέδου τότε παίρνουν θέση επίθεσης ανοίγοντας τις μεταξύ τους αποστάσεις και ανεβαίνοντας πιο ψηλά στο γήπεδο. 3 Οταν η μπάλα είναι κοντά σε κάποιον από τους αμυντικούς τότε αυτός πάει να την διώξει.
Επιθετικοί 1 Οι επιθετικοί όταν η μπάλα είναι στο δικό τους μισό του γηπέδου τότε παίρνουν θέση επίθεσης κλείνοντας τις μεταξύ τους αποστάσεις και υποστηρίζοντας τον παίκτη που έχει την μπάλα. 2 Οταν η μπάλα είναι στο άλλο μισό του γηπέδου τότε παίρνουν θέση άμυνας ανοίγοντας τις μεταξύ τους αποστάσεις και κατεβαίνοντας πιο χαμηλά στο γήπεδο. 3 Οταν η μπάλα είναι κοντά σε κάποιον από τους επιθετικούς τότε αυτός πάει να την σουτάρει προς το αντίπαλο τέρμα.
Στρατηγική Λογική που ακολούθησα Διαχωρισμός παικτών με βάση την θέση
Στρατηγική
Γενικά για την εργασία Στην υλοποίηση της εργασίας δεν χρησιμοποιήθηκε καθόλου έτοιμος κώδικας, εκτός από τα αρχεία κινήσεων. Ξεκινήσαμε ουσιαστικά από το μηδέν. Υπάρχουν πολλές υπάρχουσες λειτουργίες που μπορούν να βελτιωθούν.
Μελλοντική δουλειά Δυναμικό περπάτημα Αποφυγή εμποδίων...
Τέλος Ευχαριστώ!