jorge - Netstyle

Werbung
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‘
Herunterladen