SEP 2018: Robot Factory Simulation

Organisator: 

Termine: 

Vorbesprechung:
Der Termin für das Kick-Off-Treffen wird an dieser Stelle bekannt gegeben.

Modulnummer: 

INF-SSE-15

Leistungspunkte: 

8

Inhalt: 

Im Rahmen des Software-Entwicklungs-Praktikum sollen die in der Vorlesungen Software Engineering vorgestellten Methoden zum Entwurf komplexer Programmsysteme praktisch von einer Gruppe von Studierenden umgesetzt werden. Hierbei sind Methoden zum Entwurf, Dokumentation und Implementierung anzuwenden.

Aufgabenstellung
Im SEP soll eine vereinfachte und abgewandelte Simulation der RoboCup Logistics League entstehen. Hierbei sollen beide Teams die
Steuerung je eines simulierten, mobilen Roboters entwickeln, welcher selbständig den Weg durch
eine virtuelle Fabrik finden soll. Dabei gilt es Hindernissen und Kontrahenten auszuweichen. Es sollen Ressourcen nacheinander zu verschiedenen Maschinen
und das Endprodukt zu einer Abgabestelle gebracht werden. Die Roboter beider Teams treten gegeneinander an und welcher
als schnellster die Aufgabe erledigt, gewinnt.

Um die Steuerung und Pfadplanung der virtuellen Roboter, sowie die echtzeitfähige physikalisch "motivierte" Simulation zu erleichtern,
wird das Software-Framework Robot Operating System eingesetzt. Als Simulationsumgebung kommt Gazebo mit der Physics Engine ODE zum Einsatz.
Als Roboterplattform bieten es sich an den Turtlebot3 zu nutzen, welcher zwei verschiedene Modelle für Gazebo und einige Beispielprogramme mitbringt.
Weiterhin sollen auf Basis der XML-basierten Beschreibungssprache URDF Greifer für die Roboter entwickelt werden, damit Ressourcen und Produkte transportiert werden können.
Zusätzlich sollen verschiedene virtuelle Werkhallen entstehen, welche sich in ihrem Schwierigkeitsgrad unterscheiden.

Anforderungen
Die Programmierung erfolgt in C++. Teile des Projektes können bei entsprechenden Vorkenntnissen auch in Python entwickelt werden.
Die erforderlichen Kenntnisse in ROS, Gazebo und ODE können problemlos im Rahmen des SEP erarbeitet werden; bereits erworbene Linux-Grundkenntnisse sind hilfreich.

In diesem Video findet ihr eine Einführung in ROS und Gazebo.