1 / 41

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΒΑΣΙΛΗΣ. SIMSPARK SOCCER SIMULATION LEAGUE ( LOCALIZATION ). ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Περιβάλλον SimsPark. Το περιβάλλον όπου γίνετε η προσομοίωση του αγώνα είναι: Μερικώς παρατηρήσιμο Στοχαστικό Ακολουθιακό Δυναμικό Συνεχές Πολυπρακτορικό.

Download Presentation

ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ΠΑΠΑΔΗΜΗΤΡΙΟΥ ΒΑΣΙΛΗΣ SIMSPARK SOCCER SIMULATION LEAGUE ( LOCALIZATION ) ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

  2. Περιβάλλον SimsPark Το περιβάλλον όπου γίνετε η προσομοίωση του αγώνα είναι: • Μερικώς παρατηρήσιμο • Στοχαστικό • Ακολουθιακό • Δυναμικό • Συνεχές • Πολυπρακτορικό

  3. Περιβάλλον SimsPark To γήπεδο έχει την παρακάτω μορφή:

  4. Περιβάλλον SimsPark To γήπεδο έχει την παρακάτω μορφή: • Διαστάσεις γηπέδου 21m x 12mάξονας χ [-10.5 ,10.5] άξονας y[-6,6] • Κύκλος σέντρας με ακτίνα 1.5m • Εστίες πλάτους 2.1m και ύψους 0.8m • 8 σημεία αναφοράς (landmarks) με γνώστες συντεταγμένες. ( 4 δοκάρια και 4 σημαίες στις γωνίες του γηπέδου

  5. Localization Στόχοι:

  6. Localization Στόχοι: Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο)

  7. Localization Στόχοι: • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου)

  8. Localization Στόχοι: • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου)

  9. Localization Στόχοι: • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο)

  10. Localization Στόχοι: • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός γωνίας σώματος-μπάλας.

  11. Localization Στόχοι: • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός γωνίας σώματος-μπάλας. • Υπολογισμός απόστασης από την μπάλα.

  12. Localization • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός γωνίας σώματος-μπάλας. • Υπολογισμός απόστασης από την μπάλα. • Εντοπισμός θέσης υπολοίπων πρακτόρων στο οπτικό πεδίο του πράκτορα και διαχωρισμός αυτών σε συμπαίκτες και αντίπαλους Στόχοι:

  13. Localization • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός γωνίας σώματος-μπάλας. • Υπολογισμός απόστασης από την μπάλα. • Εντοπισμός θέσης υπολοίπων πρακτόρων στο οπτικό πεδίο του πράκτορα και διαχωρισμός αυτών σε συμπαίκτες και αντίπαλους Στόχοι:

  14. Localization • Εντοπισμός της θέσης του πράκτορα (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός της κατεύθυνσης κεφαλιού του πράκτορα (γωνία μεταξύ κεφαλιού και των άξονα χ του γηπέδου) • Υπολογισμός της κατεύθυνσης σώματος του πράκτορα (γωνία μεταξύ σώματος και των άξονα χ του γηπέδου) • Εντοπισμός της θέσης της μπάλας (υπό την μορφή συντεταγμένων πάνω στο γήπεδο) • Υπολογισμός γωνίας σώματος-μπάλας. • Υπολογισμός απόστασης από την μπάλα. • Εντοπισμός θέσης υπολοίπων πρακτόρων στο οπτικό πεδίο του πράκτορα και διαχωρισμός αυτών σε συμπαίκτες και αντίπαλους Στόχοι:

  15. Πως αντιλαμβάνεται ο πράκτορας το περιβάλλον του στο Simspark; Ο πράκτορας επικοινωνεί με τον server στον οποίο γίνετε η προσομοίωση του παιχνιδιού και αυτός του στέλνει όλη την πληροφορία σχετικά με τους αισθητήρες του πράκτορα.Το μήνυμα με την πληροφορία έρχεται στον πράκτορα υπό μορφή String

  16. Γενική μορφή μηνύματος • (time (now 93.60))(GS (t 0.00) (pm BeforeKickOff))(hear 0.00 self 1000-501)(GYR (n torso) (rt -0.35 -0.36 -0.01))(HJ (n hj1) (ax 0.33))(HJ (n hj2) (ax -3.31))(See (G2R (pol 17.55 -3.33 4.31))(G1R (pol 17.52 3.27 4.07))(F1R (pol 18.52 18.94 1.54))(F2R (pol 18.52 -18.91 1.52))(B (pol 8.51 -0.21 -0.17))(P (team teamRed) (id 1)(head (pol 16.98 -0.21 3.19))(rlowerarm (pol 16.83 -0.06 2.80))(llowerarm (pol 16.86 -0.36 3.10))(rfoot (pol 17.00 0.29 1.68))(lfoot (pol 16.95 -0.51 1.32)))(P (team teamBlue) (id 1)(rlowerarm (pol 0.18 -33.55 -20.16))(llowerarm (pol 0.18 34.29 -19.80))))(HJ (n raj1)(ax 31.72))(HJ (n raj2) (ax -20.12))(HJ (n raj3) (ax -0.01))(HJ (n raj4) (ax 40.04))(HJ (n laj1) (ax 64.37))(HJ (n laj2) (ax 19.96))(HJ (n laj3) (ax 0.09))(HJ (n laj4) (ax -40.11))(HJ (n rlj1) (ax -0.06))(HJ (n rlj2) (ax 20.31))(HJ (n rlj3) (ax -39.24))(HJ (n rlj4) (ax 20.02))(HJ (n rlj5) (ax 0.04))(FRP (n rf) (c 0.01 -0.01 -0.02) (f -0.21 0.21 19.77))

  17. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου.

  18. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου. • HingeJoint PerceptorΑισθητήρες αρθρώσεων.

  19. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου. • HingeJoint PerceptorΑισθητήρες αρθρώσεων. • ForceResistance Perceptor

  20. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου. • HingeJoint PerceptorΑισθητήρες αρθρώσεων. • ForceResistance Perceptor • GameState Perceptor

  21. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου. • HingeJoint PerceptorΑισθητήρες αρθρώσεων. • ForceResistance Perceptor • GameState Perceptor • Hear Perceptor

  22. Δεδομένα Μηνύματος • GyroRate PerceptorΑισθητήρας γυροσκοπίου. • HingeJoint PerceptorΑισθητήρες αρθρώσεων. • ForceResistance Perceptor • GameState Perceptor • Hear Perceptor • Vision Perceptor

  23. Vision Perceptor Oι αισθητήρες όρασης μας δίνουν πληροφορίες για οποιοδήποτε αντικείμενο βρίσκεται μέσα στο οπτικό πεδίο του. Ο πράκτορα μας έχει εύρος θέασης 120 μοίρες προς τον οριζόντιο και τον κάθετο άξονα.

  24. Vision Perceptor (1) Για κάθε αντικείμενο μέσα στο οπτικό του πεδίο μας δίνει τρεις τιμές. Οριζόντια γωνία και κάθετη γωνία, αντικείμενου-κέντρου οπτικού πεδίου καθώς και την απόσταση από το αντικείμενο.

  25. Υλοποίηση Localization Η επίτευξη των στόχων που προαναφέρθηκαν γίνονται ουσιαστικά με τρεις συναρτήσεις. • (x,y) Trilateration (Landmarks [] ) • angle Find_angle( (x,y) , Landmarks []) • (x,y) Find_object_position((x,y) , object )

  26. Trilateration • Δέχεται σαν είσοδο δυο αποστάσεις από δυο σταθερά σημεία με γνώστες συντεταγμένες (landmarks) • Landmarks είναι τα 4 δοκάρια και οι 4 σημαίες στις γωνίες του γηπέδου

  27. Trilateration

  28. Trilateration

  29. Trilateration

  30. Trilateration Καλούμε την συνάρτηση trilateration για όλους τους πιθανούς συνδυασμούς των landmarks που βλέπουμε κάθε φορά. Έτσι αν βλέπουμε κάποια στιγμή 5 σημεία αναφοράς θα μας επιστραφούν 10 ζευγάρια συντεταγμένων. Από αυτά βγάζουμε τον μέσο ορό και κρατάμε την τελική πεποίθηση για την θέση μας.

  31. Find_angle Γνωρίζοντας πλέον την θέση μας καθώς και την οριζόντια γωνία ενός landmark σε σχέση με το κέντρο της όρασης μας μπορούμε να υπολογίσουμε την γωνία προς την όποια είναι στραμμένο το κεφάλι του πράκτορα.

  32. Find_angle • Καλούμε την συνάρτηση Find_angleγια κάθε ορατό landmark και μας επιστρέφει μια γωνία για κάθε κλήση της. Η τελική τιμή βγαίνει βγάζοντας μέσο ορό από τις παραπάνω τιμές.Έχοντας την γωνία υπό την όποια είναι στραμμένη το κεφάλι σε σχέση με το γήπεδο εύκολα διαβάζοντας την τιμή της άρθρωσης του λαιμού μπορούμε να βρούμε την γωνία υπό την όποια είναι στραμμένο το σώμα του πράκτορα.

  33. Find_object_position Τέλος γνωρίζοντας την θέση μας και την κατεύθυνση του κεφαλιού καλούμε την συνάρτηση find_object_positionη όποια μας επιστρέφει την θέση ενός ορατού αντικείμενου.Η συνάρτηση αυτή χρησιμοποιείτε για να βρούμε την θέση της μπάλας πάνω στο γήπεδο καθώς και την θέση άλλων πρακτόρων σε αυτό.

  34. Find_object_position

  35. Localization - Αποτελεσματα • Όλοι οι παραπάνω υπολογισμοί γίνονται ανά 3 κύκλους δηλαδή ανά 60msec.Στην περίπτωση που γίνει ένας λανθασμένος υπολογισμός που έχει μεγάλη απόκλιση από τον προηγούμενο τότε αυτός απορρίπτεται και ο πράκτορα κρατά την προηγούμενη πεποίθηση για το περιβάλλον του. • Παρόλο που υλοποίηση φαίνεται απλή συνολικά για το πρόβλημα του Localization και την επεξεργασία του μηνύματος που δεχόμαστε από τον serverχρειάστηκαν 1310 γραμμές κώδικα.

  36. Localization - Αποτελεσματα • Πραγματικηθεσηπρακτορα:( -2 , 0 , 0)

  37. Localization - Αποτελεσματα • Πραγματικηθεσηπρακτορα:(-3, 2, 15)

  38. Localization - Αποτελεσματα • Πραγματικηθεσηπρακτορα:(-7, 3.5, -60)

  39. Localization - Αποτελεσματα • Πραγματικηθεσηπρακτορα:(-1, 5.5, 110)

  40. Localization - Αποτελεσματα • Πραγματικηθεσηπρακτορα:(-4.5, 0 , 350)

  41. Βελτιώσεις??

More Related