Entwicklung eines Simulators für die Outdoor-Robotik auf Basis einer Spielengine mit Hinsicht auf hochdynamisches Fahren
Betreuer:
Prof. Dr.-Ing. K.-D. Kuhnert, Dipl.-Inform. Lars KuhnertBearbeiter:
Stefan Thamke
Ziel dieser Diplomarbeit ist die Entwicklung und
Implementierung einer rechnergesteuerten Simulation für das
Roboterfahrzeug AMOR. Die Simulation dient zum Testen von
Fahralgorithmen des Fahrzeugs im Gelände. Dazu muss sie
einen hohen Grad an Realismus bieten und wird daher auf
Basis einer Spielengine entwickelt. Ebenso wichtig ist die
exakte Abbildung der softwaretechnischen Schnittstellen,
die das reale Fahrzeug bietet. Dadurch lassen sich
Programme ohne Änderungen auf dem realen, wie auch auf dem
simulierten Fahrzeug ausführen.
Nach der Evaluation verschiedener Engines ist die Wahl auf die Unreal Engine, Version 2.5 gefallen. Sie wird z.B. im Spiel Unreal Tournament 2004 eingesetzt. Zu dieser Engine existiert eine Erweiterung namens USARSim. Durch diese Erweiterung ist es möglich Daten programmtechnisch aus der Engine zu Empfangen (u. a. um Sensordaten zu simulieren) und auch Befehle an die Engine abzusetzen (u. a. Fahrbefehle für Roboter).
Der nächste Schritt der Arbeit besteht darin die 3D-Modelle zu erstellen. Das Fahrzeug wird mit Hilfe des Modellierungstools Maya nachgebildet und in die benötigten Formate exportiert.
Um dem Roboter eine geeignete Umgebung bereitzustellen, in der er bewegt werden kann, sind mit Hilfe des Unreal Editors drei Karten erstellt worden. Als erstes wurde das Gelände um das Hölderlin Gebäude der Siegener Universität modelliert, da dort die meisten Testfahrten mit dem realen Fahrzeug stattfinden. Zusätzlich entstand die Demonstration Area, die auf der Military ELROB 2008 in Hammelburg zu Demonstrationszwecken genutzt wurde, sowie eine fiktive Karte zum Testen des Fahrzeugverhaltens auf unterschiedlichsten Untergründen.
Damit der Roboter seine Umgebung wahrnehmen kann, stehen ihm verschiedene Sensoren zur Verfügung. Folgende Sensoren sind zum Ende dieser Diplomarbeit in der Simulation enthalten:
Die Zugänglichkeit der Daten und das Fahrverhalten des Roboters sind zum Abschluss der Arbeit durch Testprogramme überprüft worden. Z.B. ist ein Käferalgorithmus entwickelt worden, mit dessen Hilfe das Fahrzeug in der Simulation und in der Realität autonom um das Höderlingebäude herum manövriert werden kann.
Nach der Evaluation verschiedener Engines ist die Wahl auf die Unreal Engine, Version 2.5 gefallen. Sie wird z.B. im Spiel Unreal Tournament 2004 eingesetzt. Zu dieser Engine existiert eine Erweiterung namens USARSim. Durch diese Erweiterung ist es möglich Daten programmtechnisch aus der Engine zu Empfangen (u. a. um Sensordaten zu simulieren) und auch Befehle an die Engine abzusetzen (u. a. Fahrbefehle für Roboter).
Der nächste Schritt der Arbeit besteht darin die 3D-Modelle zu erstellen. Das Fahrzeug wird mit Hilfe des Modellierungstools Maya nachgebildet und in die benötigten Formate exportiert.
Um dem Roboter eine geeignete Umgebung bereitzustellen, in der er bewegt werden kann, sind mit Hilfe des Unreal Editors drei Karten erstellt worden. Als erstes wurde das Gelände um das Hölderlin Gebäude der Siegener Universität modelliert, da dort die meisten Testfahrten mit dem realen Fahrzeug stattfinden. Zusätzlich entstand die Demonstration Area, die auf der Military ELROB 2008 in Hammelburg zu Demonstrationszwecken genutzt wurde, sowie eine fiktive Karte zum Testen des Fahrzeugverhaltens auf unterschiedlichsten Untergründen.
Damit der Roboter seine Umgebung wahrnehmen kann, stehen ihm verschiedene Sensoren zur Verfügung. Folgende Sensoren sind zum Ende dieser Diplomarbeit in der Simulation enthalten:
- Laserscanner
- Ultraschallsensoren
- OBE-Sensoren
- Kompass
- GPS-Empfänger
- Tacho
Die Zugänglichkeit der Daten und das Fahrverhalten des Roboters sind zum Abschluss der Arbeit durch Testprogramme überprüft worden. Z.B. ist ein Käferalgorithmus entwickelt worden, mit dessen Hilfe das Fahrzeug in der Simulation und in der Realität autonom um das Höderlingebäude herum manövriert werden kann.
![]() |
![]() |
![]() |