Nik Lutz, Stefan Feissli, Christof Seiler Diplomarbeit Verteidigung
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.GUI 2.Datenmodell 3.OGRE (3D) 4.Emulator 5.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 Vertexe: 587 Faces: 589 Konvertierung
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‘