Tekkotsu over NaoQi -VS- Αυτόνομοι Πράκτορες Εργασία Εξαμήνου Χειμερινό Εξ. 2009-2010 Ορφανουδάκης Μάνος.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΝΑΟ - ΜΟΥΣΙΚΟΣ Καρατζαφέρης Ευστάθιος Αλέξανδρος.
Advertisements

Τι είναι ο προγραμματισμός
Ταχύτητα, Απλότητα & Αξιοπιστία. Αρχιτεκτονική Μηχανισμοί Αυτοελέγχου Συνδεσιμότητα Περιβάλλον Εργασίας Πληροφορίες Σχήματος Report Builder Import Manager.
Ιωάννης Βλαχάβας, Ηλίας Σακελλαρίου Τμ. Πληροφορικής, Α.Π.Θ.
Τεχνικές Προγραμματισμού με την JavaScript Στυλιάδης Κων/νος Φλώρινα, Οκτώβριος 2004.
 Υλοποίηση πάσας  Δυσκολίες :  Ένταξη δύναμης στην κίνηση (shoot) του ρομπότ  Εντοπισμός άλλου Ρομπότ  Περιστροφή - κατεύθυνση προς το σημείο της.
RoboCup Κουρήτες Πολυτεχνείο Κρήτης. RoboCup – Κουρήτες – Πολυτεχνείο Κρήτης Αποκλειστικός Χορηγός RoboCup  Τι είναι το RoboCup; –παγκόσμιο πρωτάθλημα.
Πανεπιστήμιο Αιγαίου Σχολή Επιστημών της Διοίκησης Τμήμα Μηχανικών Οικονομίας & Διοίκησης Computer applications in the modern enterprise Γ. Κούζας, PhD.
Η Εκπαίδευση στην εποχή των ΤΠΕ
Τεχνολογία αιχμής που αξιοποιεί τις πλέον σύγχρονες διεθνείς τάσεις, συνδυάζοντας τo Microsoft.NET Framework 3.5 και τα εξελιγμένα εργαλεία ανάπτυξης.
Υλοποίηση μεταφραστή C με επεκτάσεις OpenMP Λεοντιάδης Ηλίας Τζούμας Γεώργιος Πτυχιακή εργασία Τελική παρουσίαση Υπεύθυνος καθηγητής Β. Β. Δημακόπουλος.
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΕΚΠ 413 / ΕΚΠ 606 ΑΥΤΟΝΟΜΟΙ ΡΟΜΠΟΤΙΚΟΙ ΠΡΑΚΤΟΡΕΣ PROJECT ΕΞΑΜΗΝΟΥ: ΥΛΟΠΟΙΗΣΗ ΠΟΛΥΠΛΟΚΗΣ ΑΚΟΛΟΥΘΙΑΣ ΚΙΝΗΣΕΩΝ ΓΙΑ ΤΟ AIBO.
29/11/2004Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
1/12/2003Εισαγωγή στο OpenMP1 OpenMP Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Περίληψη Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32
Torque Game Engine - #02 Κώστας Καρπούζης (kkarpou)
NIKOΛΑΟΣ ΝΤΙΡΛΗΣ 5ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΙΘΟΥΣΑ Β4 1.  Ένα thread έχει: ID, program counter, register set, stack  Μοιράζεται με τα άλλα threads της ίδιας διεργασίας.
ΠΡΟΣΟΜΟΙΩΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ. Εισαγωγή Έρευνα στην Αρχιτεκτονική Υπολογιστών – Σχεδίαση επεξεργαστή για την εκτέλεση 1 thread (pipeline, branch prediction)
Ρομποτική και Εκπαίδευση: Μία εισαγωγή στα Lego MindStorms Nxt
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Ε ΝΤΟΠΙΣΜΟΣ Κ ΙΝΟΥΜΕΝΩΝ Α ΝΤΙΚΕΙΜΕΝΩΝ ΠΑΡΟΥΣΙΑΣΗ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Βόγκλης Κωνσταντίνος Τσίπουρας Μάρκος.
Εισαγωγή στον Robot Simulator HY-475/575. Περιεχόμενα Εισαγωγικά Αρχιτεκτονική Εγκατάσταση Περιήγηση.
ΑΥΤΟΝΟΜΟΙ ΠΡΑΚΤΟΡΕΣ ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ ΠΑΡΛΑΝΗΣ ΔΗΜΗΤΡΙΟΣ Α.Μ
Αυτόνομοι Πράκτορες Xειμερινό Εξάμηνο Εργασία Εξαμήνου Σκιπετάρης Δημοσθένης Αμ :
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
Υπηρεσίες δικτύων επικοινωνίας
Αυτόνομοι Πράκτορες Εργασία Εξαμήνου Πανούσης Κωνσταντίνος Παναγιώτης ΑΜ: Nao Balance Χειμερινό εξάμηνο
ΑΤΕΙ ΣΕΡΡΩΝ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Δομές Δεδομένων. Επιλογή δομής δεδομένων Κριτήρια: – Μέγεθος του προβλήματος – Πως θα χρησιμοποιηθεί Ενέργειες που καθορίζουν το κόστος: – Lookup: αναζήτηση/έλεγχος.
ΕΝΟΤΗΤΑ 13η Λογισμικό Μετρήσεων
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364.
Σύγχρονες Προκλήσεις. Εισαγωγή Οι CMP είναι πια πραγματικότητα – Intel Core 2, Quad, Nehalem – IBM Power5, Power6 – Sun Niagara, Niagara2, Rock –
Το ρομπότ πυροσβέστης !! Πολυτεχνείο Κρήτης Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Ηλεκτρονικών Υπολογιστών Αντρέας Κουκκουλλής Χανιά 2013.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Η δημοφιλέστερη γλώσσα Hardware
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
#develop The open source IDE for.NET. Τι είναι το #develop? o Διαβάζεται SharpDevelop. o Είναι ένα opensource IDE για το.ΝΕΤ platform. o Είναι μία συλλογή.
FEDORA ARCHITECTURE1 Αρχιτεκτονικές Ψηφιακών Βιβλιοθηκών FEDORA.
Virtual Robot Experimentation Platform V – REP Πτυχιακή εργασία του Παπάζογλου Παναγιώτη ΑΕΜ : 2148.
Torque Game Engine Κώστας Καρπούζης (kkarpou) Λώρη Μαλατέστα (lori)
Μπόλαρη Αγγελικη(1451) Επιβλέπων Βολογιαννίδης Σταύρος ΑΤΕΙ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ Σέρρες 2013.
3D Απεικόνιση των Θαλάμων MDT του πειράματος ATLAS Μάνος Ικάριος Επιβλέποντες Καθηγητές: Θεόδωρος Αλεξόπουλος Γεώργιος Τσιπολίτης Οκτώβριος 2009 Εθνικό.
Προσομοίωση Δικτύων 3η Άσκηση Δημιουργία, διαμόρφωση μελέτη σύνθετων τοπολογιών.
Τεχνολογία Λογισμικού (Software Engineering) Ενότητα – Σχεδιασμός Λογισμικού Κεφάλαιο – Αρχιτεκτονικός Σχεδιασμός.
Παρουσίαση Θερινού Σχολείου Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας.
Γιώργος Μαγουλάκης Εξάμηνο: Εαρινό 2015 ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Τμ. Μηχανικών Πληροφορικής.
SLAM gkontes. Περίληψη ● H εργασία έχει σκοπό να αξιολογήσει έναν αλγόριθμο για SLAM (Simultaneus Localization And Mapping), τον DP-SLAM καθώς και να.
1 Εργαστήριο MIS Use Cases. 2 ΆνθρωποιΔεδομένα Λογισμικό Υλικό Διαδικασίες.
Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΜΙΚΡΟΕΛΕΓΚΤΕΣ-ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ
Java DataBase Connectivity
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Ανέβασμα σκαλοπατιών για το ΑΙΒΟ
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008

Ανάπτυξη εφαρμογής με οπτικοποιημένο περιβάλλον για τους αλγόριθμους ταξινόμησης και αναζήτησης ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ Γεωργιαδης νικολαοσ.
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Το Υλικό του Υπολογιστή
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Βασικές έννοιες (Μάθημα 1) Τίτλος: Μερικές βασικές έννοιες της Πληροφορικής 22/11/2018 Ξένιος Αντωνιάδης.
Τεχνολογίες προστασίας πνευματικών δικαιωμάτων στον ψηφιακό κόσμο
Μεταγράφημα παρουσίασης:

Tekkotsu over NaoQi -VS- Αυτόνομοι Πράκτορες Εργασία Εξαμήνου Χειμερινό Εξ Ορφανουδάκης Μάνος

Tekkotsu Open-source Framework, σε C++, πολύ κομψή αρχιτεκτονική, με ιδιαίτερη μαγεία που κρύβει την απλότητα των εργαλείων που χρησιμοποιεί Αρχικά περιστράφηκε γύρω από τα Sony Aibo Πλέον υποστηρίζει περίπου 8 robots (+1 :) Πληθώρα εργαλείων έτοιμων προς χρήση Particle filters,odometers,kalman,filters,kinematics (forward AND reverse), a complete vision pipeline Finate State Automata based behaviours Παράλληλη / σειριακή εκτέλεση συμπεριφορών Γιατί Tekkotsu;

Tekkotsu: Αρχιτεκτονική Main Process: Handle usercode execution through events. Behavior Class: Core Unit Event Router: Handle Event distribution Timers : Custom EventsControls Vision Pipeline

Tekkotsu: Αρχιτεκτονική Motion Process: Handle real-time joint controlWorldState: Sensor Readings: stay constant while behaviour or motion command is running.MotionManager: Handle MotionCommandsMotionCommand: Motion Primitive

Tekkotsu: Αρχιτεκτονική

NaoQi Γιατί NaoQi; 'Cause Aldebaran says so! :) Easy as Pie to write code! Modernized distributed modular architecture Cross-Language: Python is bliss Webots compatibility: NaoQi over Webots Scheme: Tekkotsu over NaoQi over Webots! NaoQi 1.6 : TBA 1 Μαρτίου Closed Loop Omni Directional Walk Event based code

NaoQi NaoQi middleware: Ο μοναδικός τρόπος να αξοποιήσεις το hardware του Ναο! Δεν έχουν αποκαλυφθεί πολλές λεπτομέρειες για την επικοινωνία με το υπόλοιπο hardware. Introspective Cross-Platform Closs- Language Modular Distributed Architecture: Parallel or serial (asynchronous or asynchronous) function calls between modules residing on different machine Εύκολη υλοποιήση κατανεμημένων αρχιτεκτονικών. SOAP calls, use of thread pools NaoQi 1.6 : TBA 1 Μαρτίου Events!

NaoQi Architecture

Bridging Two Worlds Υλοποιήση inter-architectural bindings! Κλήσεις από την μια πλατφόρμα μεταφράζονται σε κλήσεις στην δεύτερη και αντίστροφα. Η ροή της πληροφορίας που στοχεύουμε είναι το Tekkotsu να ”εξουσίαζει” το hardware που παρέχει το NaoQi. Περιγραφή Hardware στο Tekkotsu: Compile-time definition (selection) of robotic hardware. Συμπεριλαμβάνονται τα αντίστοιχα αρχεία, και με βάση την διαρρύθμιση καθορίζονται τα software libraries. Compilation script inclusion: Προσθήκη του API της Aldebaran στον κώδικα του Tekkotsu, λιγότερο από προφανές οτι υπάρχουν ασυμβατότητες: Pthread libraries, inclusion priorities etc

Bridging Two Worlds Υλοποιήση DeviceDrivers: Στην ”γλώσσα” του Tekkotsu, τα DeviceDrivers συσχετίζονται με: MotionHooks: δουλεία τους να μεταφέρουν πληροφορία από το Tekkotsu προς τον έξω κόσμο. (Joint Positions, led readings etc). DataSources: αντίστροφη πορεία, μεταφορά τιμών αισθητήρων προς το Tekkotsu. (Joint real positions, intertial sensors, etc). Η εικόνα από κάμερα συμπεριλαμβάνεται σε αυτά, με λίγο διαφορετικό τρόπο.

Bridging Two Worlds CameraDriverNaoQi13: Σύνδεση του Tekkotsu Vision Pipeline με την εικόνα του NaoQi. O driver αξιοποιεί ALBroker και AlVideoDevice. Image Polling Thread: Camera Proxy 'getImageRemote' call every N ms. Μετατροπή YUV422 format: Aibo-era YUV vision pipeline, μετατροπή της εικόνας στο YUV format. Παράδοση εικόνας στο Vision Pipiline

Συμπεράσματα Δύο πολύ κομψές προσεγγίσεις! Ο κώδικας που προστέθηκε πρακτικά μικρός! Γίνεται! Το πρώτο δίποδο ρομπότ του Tekkotsu! Αρκετά πράγματα στo Motion είναι out of context για το Nao. Η χρήση των ”έτοιμων” από την Aldebaran πραγμάτων πολλές φόρες δεν ειναι προφανής μέσα στο Tekkotsu. Ευχαριστώ! Ερωτήσεις;

Bridging Two Worlds CameraDriverNaoQi13: Σύνδεση του Tekkotsu Vision Pipeline με την εικόνα του NaoQi. Image Polling Thread: Camera Proxy 'getImageRemote' call every N ms. Μετατροπή YUV422 format: Aibo-era YUV vision pipeline, μετατροπή της εικόνας στο YUV format. Παράδοση εικόνας στο Vision Pipiline