Thema: Entwicklung einer Embedded Linux Platform mit ROS (Robot Operating System) zur Steuerung und Regelung von Robotern
(Bearbeiter: Mirco Weber)
Betreuer: Prof. Dr.-Ing. Stefan Hillenbrand
Vorkenntnisse:
Für Semester: ab 4.
Anzahl Studierende: 2 bis 3 Personen
Abgeschlossen im Jahr: 2017
Beschreibung:
Seit einigen Semester wird im Rahmen von Projektarbeiten ein Hexapod-Roboter (ESEL, weitere Infos hier) entwickelt.

Für die Umsetzung der Steuerungs- und Regelalgorithmen soll wie in der Robotik üblich eine Embedded Linus Platform auf Basis von z. B. Raspberry Pi oder Beaglebone entwickelt werden. Diese bietet insbesondere die Möglichkeit, mächtige Entwicklungswerkzeuge wie die Skriptsprache Python sowie das Robot Operating System (ROS, www.ros.org) zu verwenden. ROS ist in Wissenschaft und Industrie weit verbreitet und wird zum Beispiel bei Automobilherstellern und Zulieferern zur Entwicklung von Algorithmen für automatisierte Fahrfunktionen verwendet.

In der Projektarbeit sollen grundsätzliche Untersuchungen zum Einsatz einer Embedded Linux Platform mit den entsprechenden Bibiliotheken zur Steuerung und Regelung eines Roboters durchgeführt werden. Hierzu gehört insbesondere auch ein Framework und eine Toolchain für den Entwicklungsprozess. So soll es zum Beispiel möglich sein, Algorithmen auf dem PC zu entwickeln und zu testen, bevor sie auf das Embedded System geladen werden. Das Framework und die Toolchain sollen daher auf einem PC in einer Virtuellen-Maschine so umgesetzt werden, dass die dabei entwickelte Software problemlos auf ein Embedded-Linux-System portiert werden kann.

Im Rahmen der Arbeit soll der komplette Signalfluss von Sensoren (Anbindung über I2C und SPI) über das Embedded System bis zu den Aktoren (Dynamixel Servomotoren angesteuert über UART) mit realer Hardware getestet werden.

Die Aufgaben umfassen:
  • Einarbeitung in Linux, Python, ROS
  • Virtuelle Maschine (VirtualBox) mit Linux aufsetzen
  • Auswahl und Installation geeigneter Softwarepakete ( z.B. ROS-Robot Operating System; PyPot; ROSOCT; OCT2Py; Eclipse usw.)
  • Auswahl der geeigenten Embedded Linux Platform, z. B. Raspberry Pi oder BeagleBone
  • Entwicklung des für den Signalfluss und die Programmierung erforderlichen Frameworks und der Toolchain mithilfe einiger realer Sensoren und Aktoren.
  • Ausführliche Dokumentation