Programmierung einer Mini-Anlage mit parallelen Programmierkonstrukten

Student:Martin Sturm
Title:Programmierung einer Mini-Anlage mit parallelen Programmierkonstrukten
Type:bachelor thesis
Advisors:Veldema, R.; Kempf, S.; Philippsen, M.
State:submitted on August 28, 2012
Prerequisits:
Topic:

Voraussetzungen

Wir entwickeln an unserem Lehrstuhl eine Mini-Anlage zur Simulation von Industrieautomatisierungsprozessen. Die Anlage sortiert Murmeln anhand ihrer Farbe.
Die Anlage besteht aus folgenden Komponenten:

  • 1 kleiner Roboterarm
  • 1 großer Roboterarm
  • 1 Luftkompressor
  • 4 Ventile
  • 1 Webcam
  • 1 Dual-Core-Netbook
  • 1 Kugelbahn
  • 5 Behälter

Der Ablauf ist wie folgt: Der kleine Roboterarm entnimmt eine Murmel aus einem Behälter und übergibt sie an den großen Roboterarm. Der große Roboterarm legt die Murmel auf die Kugelbahn. Während die Murmel auf der Kugelbahn nach unten rollt, wird ihre Farbe durch die Webcam erfasst. Am Ende der Kugelbahn rollt die Murmel auf eine Schiene, an der seitlich 4 Ventile angebracht sind. Diesen gegenüber sind 4 Behälter angebracht, in welche die Murmeln nach Farben einsortiert werden sollen. Während eine Murmel auf der Schiene entlang rollt, wird sie durch eines der Ventile mit einem kurzen Luftstoß in den entsprechenden Behälter gepustet.
Im Rahmen der Abschlussarbeit sollen die Software zur Steuerung der Ventile und der Roboterarme sowie zur Auswertung des Bildes der Webcam entwickelt werden. Der Arbeit sollte auch die gegebene Parallelität ausnutzen und evaluieren.

Thema

Ziel der Arbeit ist ein effizienter Einsatz von Parallelität. Z.B. können die Auswertung des Webcam-Bildes, die Steuerung der Roboterarme und die der Ventile unabhängig voneinander parallel durchgeführt werden.
Im Rahmen einer Bachelorarbeit soll die Anlage in einer DSL programmiert und die Ventile etc. direkt über die Phidget-Bibliothek gesteuert werden (die Anlage ist mit Phidget-Controllern versehen, siehe http://www.phidgets.com).
Im Rahmen einer Masterarbeit soll die Anlage in einer DSL programmiert, optimiert, und zusätzlich mit dem DSL-Übersetzers unseres Lehrstuhls übersetzt werden. Dies umfasst auch die Erweiterung des DSL-Übersetzers um ein Laufzeitsystem, welches die Phidget-Controller steuern kann.

Meilensteine

  • Einarbeitung Phidget-Bibliothek / DSL-Übersetzer
  • Steuerung der Ventile
  • Steuerung des Roboterarms 1
  • Steuerung des Roboterarms 2
  • Auslesen der Webcam und Image-Processing
  • Alle Komponenten zusammenspielen lassen
  • Parallelisieren des Codes
  • Ausarbeitung

Literatur

http://www.phidgets.com

watermark seal