Real-Time and Embedded Systems

Das eingebettete Orchester - Praktikum

Projektleitung:Orchester 01

  • Hauke Fuhrmann <haf at informatik.uni-kiel.de>

 

Wettbewerbsteilnehmer:

  • Tino Krecker, Jan-Philip Rathje, Christoffer Timm

 

Weitere Teilnehmer und technische Unterstützung:

  • Amelie Kurland, Lars Wienbrand, Jürgen Noss, Jan Christiansen, Bernd Braßel, Bernd Neumann

 

Bei diesem Praktikum ging es darum, die Programmierung von eingebetteten Systemen in einem größeren, zusammenhängenden Projekt kennenzulernen und/oder zu vertiefen.

Grundidee der Anwendung war ein Orchester, welches aus musikspielenden Robotern besteht. Diese Aufgabe teilte sich in zwei unterschiedliche Unteraufgaben:

  1. Programmieren eines Musikers
    Die zu entwickelnde Anwendung waren Roboter, die in der Lage sind, handelsübliche Musikinstrumente zu spielen. Mit möglichst geringem mechanischen Aufwand sollte ein beliebiges Instrument betätigt werden können. Ein Beispiel war ein Xylophon, bei dem kleine Motoren die Schlägel antrieben und dadurch in der Lage waren, Töne zu erzeugen. Als möglichst einfache Platform waren Lego Mindstorms vorgesehen. Da diese jeweils nur 3 Aktuatoren ansteuern können, wurde ein Instrument, welches mehrere benötigt (z.B. für jede Taste einen Aktuator) durch ein System implementiert werden, welches aus mehreren Mindstorms besteht, die z.B. über die Infrarotschnittstelle synchronisiert wurden.
  2. Synchronisieren im Orchester durch einen DIrigenten
    Eine weitere Herausforderung war das gleichzeitige Spielen von mehreren Musik-Robotern in einem Orchester. Mehrere Spieler mussten dazu synchronisiert werden. Um einem echten Orchester möglichst nahe zu kommen, soll ein Dirigent mit einem Taktstock (mit einer roten Leuchtdiode an der Spitze) den Takt vorgeben, an den sich alle Spieler zu halten haben. Entsprechend musste über eine Kamera an einem Laptop die Bewegung des Taktstockes erkannt und dadurch die Musikgeschwindigkeit angepasst werden.

 

Offizieller Wettbewerb

Orchester 02Motiviert war das Praktikum durch einen Wettbewerb von der Vereinigung ARTEMIS (Advanced Research and Technology for Embedded Intelligence & Systems). Die Projektgruppe hat letztendlich auch selbst am Wettbwerb teilgenommen.

Bei einem musikspielenden Roboter handelt es sich also zum einen um ein Echtzeitsystem, da das Zeitverhalten deutlichen Einfluss auf die Musik hat, wobei man als Zuhörer Fehler sofort bemerkt. Zum anderen ist es auch ein Verteiltes System: Wird der Roboter über mehrere Mindstorms-RCX-Bausteine umgesetzt, müssen diese synchronisiert werden. Dabei sind also eventuell auch Uhren-Synchronisationsalgorithmen zu implementieren.

Wie auf dem Foto zu erkennen ist, haben unsere die Praktikumsteilnehmer äußerst erfolgreich mit ihren entwickelten Musik-Robotern bei diesem Wettbewerb abgeschnitten.

Technische Detailbilder

 Orchester 03     Orchester 04

Orchester 05     Orchester 06

Orchester 07     Orchester 08

Orchester 09     Orchester 10

Orchester 11