ΕΥΦΥΗ ΡΟΜΠΟΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Το Παράδειγμα του Ποδοσφαίρου Αθανάσιος Μπαλαφούτης, Δρ. Ηλεκτρολόγος Μηχ. & Μηχ. Η/Υ, Εκπαιδευτικός Σάμος 2016
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΚΑΙ ΡΟΜΠΟΤΙΚΗ Τι είναι Ρομπότ; Τα Ρομπότ είναι αυτόνομοι τεχνητοί πράκτορες (autonomous arti?icial agents) οι οποίοι δρουν στον πραγματικό, φυσικό κόσμο. Αυτόνομοι Πράκτορες Hardware/Software συστήματα που έχουν τις παρακάτω ιδιότητες: Αυτονομία - Λειτουργούν χωρίς την παρέμβαση του ανθρώπου Αλληλεπίδραση με τους ανθρώπους ή άλλους πράκτορες Αντίληψη του περιβάλλοντος χώρου και αλληλεπίδραση με αλλαγές που συμβαίνουν σε αυτόν.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΚΑΙ ΡΟΜΠΟΤΙΚΗ Με τι ασχολείται η Ρομποτική ως επιστήμη; Κλάδος της Τεχνητής Νοημοσύνης που σχετίζεται όμως άμεσα με τις επιστήμες του Ηλεκτρολόγου Μηχανικού, Μηχανολόγου Μηχανικού και της Πληροφορικής. Μηχανική κατασκευή για τις λειτουργίες κίνησης Ηλεκτρικά/Ηλεκτρονικά κυκλώματα για την τροφοδοσία και έλεγχο της μηχανικής κατασκευής Αλγόριθμοι/Προγραμματισμός για την προσθήκη λογικής και ευφυΐας.
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΚΑΙ ΡΟΜΠΟΤΙΚΗ Διαφορές μεταξύ ρομποτικών συστημάτων και άλλων εφαρμογών τεχνητής νοημοσύνης AI Software Robots Χώρος δράσης Προσομοίωση σε Η/Υ Πραγματικός/φυσικός κόσμος Είσοδος Απαιτούμενος Η/Υ Σύμβολα και κανόνες Γενικού σκοπού Αναλογικά/ψηφιακά σήματα και εικόνες Ειδικό hardware με αισθητήρες και effectors
ΥΠΟΣΥΣΤΗΜΑΤΑ ΡΟΜΠΟΤΙΚΗΣ Για την κατασκευή ενός Ρομπότ απαιτούνται τα παρακάτω υποσυστήματα: Πηγή τροφοδοσίας: μπαταρίες, ηλιακοί συλλέκτες. Actuators: Συστήματα γραμμικής κίνησης Ηλεκτρικοί Κινητήρες: περιστροφική κίνηση (AC/DC, βηματικοί, σερβομοτέρ) Σκελετός: Μηχανική στήριξη (μέταλλο, πλαστικό, ξύλο) Μυϊκό σύστημα: Πνευματικά συστήματα αέρα, καλώδια Αισθητήρες: Μεταφέρουν σε πραγματικό χρόνο πληροφορίες από το φυσικό περιβάλλον προς το ρομπότ. Επικοινωνία: RF, BlueTooth, WiFi.
ΚΙΝΗΣΗ ΡΟΜΠΟΤΙΚΩΝ ΜΗΧΑΝΙΣΜΩΝ Τρόποι μετακίνησης: Με μηχανικά πόδια Με τροχούς συνδυασμός των παραπάνω ειδικοί τρόποι (υποθαλάσσια ρομπότ, ιπτάμενα, δορυφόροι)
ΚΙΝΗΣΗ ΡΟΜΠΟΤΙΚΩΝ ΜΗΧΑΝΙΣΜΩΝ Κίνηση με πόδια υψηλή κατανάλωση ενέργειας μεγάλος αριθμός κινητήρων δυσκολία στην υλοποίηση - προβλήματα ευστάθειας αυξημένη πολυπλοκότητα στη χρήση πολλών ποδιών Εάν ένα robot έχει k πόδια, τα πιθανά events που μπορεί να υλοποιήσει είναι N = (2k-1)! Αν k = 2, N = 6 Αν k=6, N = 39.916.800
ΚΙΝΗΣΗ ΡΟΜΠΟΤΙΚΩΝ ΜΗΧΑΝΙΣΜΩΝ Κίνηση με τροχούς Κλασσικοί τροχοί castor wheels ball casters omni wheels
ΚΙΝΗΣΗ ΡΟΜΠΟΤΙΚΩΝ ΜΗΧΑΝΙΣΜΩΝ Omni Directional Wheels
ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ Κλάδος της Τεχνητής Νοημοσύνης που βοηθά τα ρομπότ να δουν OCR: οπτική αναγνώριση χαρακτήρων Ανίχνευση προσώπου Αναγνώριση αντικειμένου Εκτίμηση - υπολογισμός θέσης
ΠΕΡΙΟΧΕΣ ΕΦΑΡΜΟΓΗΣ ΡΟΜΠΟΤΙΚΗΣ Αναφέρουμε ενδεικτικά: Γεωργία Ιατρική Αυτόνομα οχήματα Διαστημική Μεταφορές/συγκοινωνίες Βιομηχανία Στρατός Εξερεύνηση Διασκέδαση Εκπαίδευση
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ RoboCup Junior
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ WRO GEN II FOOTBALL
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP SOCCER SIMULATION LEAGUE
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP SMALL SIZE LEAGUE Ομάδες των 6 Ρομπότ Μπάλα Golf Διαστάσεις Ρομπότ: 180mm x 150mm Οπτικό σύστημα SSL Vision με 2 κάμερες πάνω από το γήπεδο (στα 4m) Επικοινωνία με FM transmittersreceivers
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP SMALL SIZE LEAGUE
ROBOCUP SMALL SIZE LEAGUE SSL VISION SYSTEM Main Framework Ταυτόχρονη επεξεργασία εικόνων από πολλές κάμερες Ενοποίηση βασικών λειτουργιών οπτικών συστημάτων, όπως παραμετροποίηση (configuration), οπτικοποίηση (visualization), επεξεργασία (actual processing) Υλοποίση με multi-thread προσέγγιση Το κύριο thread είναι υπεύθυνο για το γραφικό περιβάλλον (GUI) H επεξεργασία της εικόνας που λαμβάνεται από κάθε κάμερα γίνεται σε ξεχωριστό thread Προγραμματισμός σε C++ και Qt Gui
ROBOCUP SMALL SIZE LEAGUE SSL VISION SYSTEM
ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΑΣ FunCube Dongle
ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Framework ανοικτού λογισμικού που επιτρέπει στους χρήστες του να: Σχεδιάσουν Προσομοιώσουν Αναπτύξουν ράδιο-εφαρμογές για πραγματικά συστήματα, όπως: επεξεργασία ήχου, κινητές επικοινωνίες παρακολούθηση δορυφόρων συστήματα ραντάρ δίκτυα GSM
ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΑΣ Software-Defined Radio (SDR)
ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
ΣΥΣΤΗΜΑΤΑ ΕΠΙΚΟΙΝΩΝΙΑΣ
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP MIDDLE SIZE LEAGUE Ομάδες των 5 Ρομπότ Μπάλα ποδοσφαίρου Διαστάσεις Ρομπότ: 52cm x 80cm Βάρος 40kg Οπτικό σύστημα omni-directional cameras Επικοινωνία με Wireless LAN
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP MIDDLE SIZE LEAGUE
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP MIDDLE SIZE LEAGUE
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ ROBOCUP MIDDLE SIZE LEAGUE Search in a perspective view Τα αντικείμενα που είναι πιο κοντά φαίνονται μεγαλύτερα Τα jump points της εικόνας, αντιστοιχούν σε σημεία του φυσικού χώρου που ισαπέχουν
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ Standard Platform League
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ Standard Platform League
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ Humanoid League KidSize, 40-90 cm height TeenSize, 80-140 cm height AdultSize, 130-180 cm height
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ Humanoid League
ΡΟΜΠΟΤΙΚΟ ΠΟΔΟΣΦΑΙΡΟ WRO GEN II FOOTBALL Οι ομάδες χρησιμοποιούν ακριβώς το ίδιο hardware (Lego EV3, NXT). Ομάδες των 2 Ρομπότ Μπάλα εκπομπής IR Διαστάσεις Ρομπότ: 22cm x 22cm Βάρος 1kg Αριθμός κινητήρων 4 Αριθμός αισθητήρων 4
WRO GEN II FOOTBALL Ελληνικά Ρομπότ
WRO GEN II FOOTBALL Ελληνικά Ρομπότ Compass sensor 4 medium servo motors IR Seeker sensor Ultra Sonic sensor Color sensor
WRO GEN II FOOTBALL HiTechnic Infrared Electronic Ball IR Seeker sensor (IRB1005)
WRO GEN II FOOTBALL Omni Directional Wheels
WRO GEN II FOOTBALL Omni Directional Wheels
WRO GEN II FOOTBALL Holonomic Drive
WRO GEN II FOOTBALL Holonomic Drive
WRO GEN II FOOTBALL Holonomic Drive
WRO GEN II FOOTBALL Holonomic Drive
WRO GEN II FOOTBALL Holonomic Drive
WRO GEN II FOOTBALL
WRO GEN II FOOTBALL
WRO GEN II FOOTBALL
WRO GEN II FOOTBALL
WRO GEN II FOOTBALL
ΠΡΟΓΡΑΜΜΑΤΙΖΟΝΤΑΣ ΕΝΑ ΡΟΜΠΟΤ ΠΟΔΟΣΦΑΙΡΙΣΤΗ Finite-State Machines (Discrete Finite Automata)
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Παράδειγμα Έστω ότι θέλουμε να διαβάσουμε ένα αρχείο txt γραμμή προς γραμμή και να εκτυπώσουμε την 1η λέξη που συναντάμε σε κάθε γραμμή. Αλγόριθμος: Να προσπεράσουμε τους λευκούς χαρακτήρες που ίσως υπάρχουν στην αρχή της κάθε γραμμής Να διαβάσουμε τους χαρακτήρες της 1ης λέξεις και να τους εκτυπώσουμε Να προσπεράσουμε τους επόμενους χαρακτήρες μέχρι το τέλος της γραμμής
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Κλασικός προγραμματισμός
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA)
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Επιθετικός IR=3 move 40 move 120 move 20 IR=4 IR=5 Start move 0 Ultrasonic Shoot IR=6 move -20 IR=7 move -40 move -120
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Επιθετικός Rotate 10 GREEN Go Back WHITE time=4 sec move Dark GREEN Rotate 0 Light GREEN Rotate -10 Γνωρίζοντας τη θέση του αντιπάλου τέρματος, ο Compass sensor διορθώνει συνεχώς τον προσανατολισμό του επιθετικού, ώστε αυτός να κοιτά πάντα το αντίπαλο τέρμα.
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Επιθετικός
FINITE-STATE MACHINES (DISCRETE FINITE AUTOMATA) Τερματοφύλακας IR=6-9 move 180 Start IR=5 stop GREEN Ultrasonic Shoot LIGHT GREEN IR=4-1 move -180
FOLLOW LINE
FOLLOW LINE
FOLLOW LINE
FOLLOW LINE
FOLLOW LINE
FOLLOW LINE
FOLLOW LINE - PID ΑΛΓΟΡΙΘΜΟΣ
FOLLOW LINE - PID ΑΛΓΟΡΙΘΜΟΣ Proportional: Πόσο μακριά βρίσκεται το ρομπότ από τη γραμμή Integral: Συσσωρευμένο σφάλμα σε συνάρτηση με το χρόνο Derivative: Ρυθμός Ταλάντωσης (δεξιά - αριστερά από τη γραμμή)
FOLLOW LINE - PID ΑΛΓΟΡΙΘΜΟΣ
FOLLOW LINE Με χρήση αισθητήρων υπέρυθρης ακτινοβολίας
FOLLOW LINE Με χρήση αισθητήρων υπέρυθρης ακτινοβολίας
FOLLOW LINE - PID ΑΛΓΟΡΙΘΜΟΣ
Βαθμονόμηση αισθητήρα χρώματος How to calibrate color sensor in light sensor mode
Ανάγνωση τιμών αισθητήρα Τοποθετούμε τον αισθητήρα στη φωτεινότερη επιφάνεια και διαβάζουμε την τιμή του στη μεταβλητή LIGHT Τοποθετούμε τον αισθητήρα στη σκοτεινότερη επιφάνεια και διαβάζουμε την τιμή του στη μεταβλητή DARK
Κάνοντας τα Μαθηματικά OFFSET = DARK SCALE = 100 / (LIGHT - DARK) CALIBRATED_READING = (SENSOR_VALUE - OFFSET) x SCALE
Εφαρμόζοντας τις εξισώσεις Έστω ότι DARK = 40 και LIGHT = 80 OFFSET = DARK = 40 SCALE = 100 / (LIGHT - DARK) = 100 / (80-40) = 2.5
Εφαρμόζοντας τις εξισώσεις Αν η τρέχουσα τιμή που διαβάζει ο αισθητήρας είναι: SENSOR_VALUE = 40 CALIBRATED_READING = (SENSOR_VALUE - OFFSET) x SCALE = (40-40) x 2.5 = 0
Εφαρμόζοντας τις εξισώσεις Αν η τρέχουσα τιμή που διαβάζει ο αισθητήρας είναι: SENSOR_VALUE = 80 CALIBRATED_READING = (SENSOR_VALUE - OFFSET) x SCALE = (80-40) x 2.5 = 100
Εφαρμόζοντας τις εξισώσεις Αν η τρέχουσα τιμή που διαβάζει ο αισθητήρας είναι: SENSOR_VALUE = 60 CALIBRATED_READING = (SENSOR_VALUE - OFFSET) x SCALE = (60-40) x 2.5 = 50
ΛΑΒΥΡΙΝΘΟΣ
ΛΑΒΥΡΙΝΘΟΣ
ΛΑΒΥΡΙΝΘΟΣ
WRO 2013
WRO 2013
WRO 2013
WRO 2014
WRO 2014
WRO 2015
WRO 2015
WRO 2015
WRO 2015
WRO 2015