Diplomarbeit Verteidigung Nik Lutz, Stefan Feissli, Christof Seiler Inhalt Einleitung Ausgangslage Installation Appetizer Technologien Architektur Unvorhergesehenes Beispiele Soll/Ist Erweiterungen Fragen Ausgangslage: Prototyp • Start von Konsole – C:\jorge>jorge.exe Program.emu • Konfiguration in XML Dateien • Ein Roboter • Eine Kamera-Position Resultate Appetizer • Duck behaviour Technologien • • • • OGRE ODE wxWidgets LeJOS OGRE [ 3D Rendering Engine] • • • • C++ Plattformunabhängig Objektorientiert Benützt verschiedene Rendering Systeme (OpenGL, DirectX) • Verwaltung von 3D Modellen ODE [Physik Engine] • Plattformunabhängig • Kollisionsdetektion • Verwaltung von physikalischen Körpern wxWidgets • • • • Crossplatform C++ Framework Grafische Benutzeroberflächen Systemfunktionen Datenstrukturen • Einsatz in JORGE: – – – – Benutzeroberfläche Threading Konfigurations Management XML Verarbeitung LeJOS [Lego Operating System] • Alternative Firmware (Virtuelle Maschine Java 1.1) für den RCX • Java API • Werkzeuge • Einsatz in JORGE: – Kompilieren & Linken – Emulation Architektur [Komponenten] 1. 2. 3. 4. 5. GUI Datenmodell OGRE (3D) Emulator Controller Architektur [MVC] Architektur [Threads] Architektur [Commands] Unvorhergesehenes • Emulator in C++ umschreiben • OGRE (MemoryManager & Ressourcenfreigabe) • OpenGL (Main-Thread) JORGE Live Soll/Ist [Mussziele] Benutzeroberfläche Die Simulation mehrerer Roboter Optimiertes Memory Management Kommunikation Neue Sensoren Hindernisse in Welt einfügen Soll/Ist [Kannziele] LeoCAD Exporter für OGRE Mesh Framework für neue Sensoren Roboter Skins Terrain Generierung Soll/Ist [Zusätzliches] • • • • Editor Architektur Speichern & Laden Benutzerdefinierte Hindernisse Erweiterungen [1] 1. Verschiedene Roboter Modelle • Mögliche Realisation -> Integration eines bestehenden CAD Tool 2. LDraw – OGRE Mesh Konverter Vertexe: 116'235 Faces: 111'737 Konvertierung Vertexe: 587 Faces: 589 Erweiterungen [2] • Multiplattform – Multiplattform-Frameworks – Problem OpenGL • Roboter ausrichten / Hand Gottes • Welt Editor – Integration eines Terrain Generators • Benutzeroberfläche – Zusätzliche Anzeigen im OGRE Fenster – Mehrsprachigkeit Erweiterungen [3] • Emulator – Infrarot Kommunikation • Sichtkontakt – Infrarot Tower • PC Roboter – Debugger für Roboterprogramme Erweiterungen [4] • Emulator – RCX Emulator • • • • Momentan nur Emulation der Java Virtual Machine Ganze RCX Hardware emulieren Dadurch Möglichkeit andere Betriebsysteme zu laden Roboterprogramme in C – Universelle Roboter Schnittstelle • Netzwerk-Schnittstelle • Verteilte Computer, eine 3D Simulation • Auslagerung des Emulators Fragen 15‘