Idee, Projektorganisation: Andreas Döpkens
Programmierung: Brian Schüler

Mit einem Prozessleitsystem (engl. process control system) ist im technischen Sinne und in einer starken Vereinfachung, wie sie die meisten Menschen in sich tragen dürften, eigentlich eine große Industrieanlage zur Steuerung von komplexen Prozessen assoziiert, die aus vielen Sensoren und Aktuatoren wie Pumpen, Ventilen udgl. besteht. Abgesehen von den vielen Monitoren, auf denen die unzähligen Zustände der jeweiligen Prozesse dargestellt sind, existieren riesige Schaltschränke, in denen die Steuerelektronik untergebracht ist. 

Zwei acaProzessleitsysteme: das acaPCS-Maze und das acaPCS-Football

Ein acaPCS (von denen es bislang zwei verschiedene gibt) hat von alledem nicht viel zu bieten und entspricht in seinem Aufbau deshalb überhaupt nicht dem oben geschilderten Bild eines Prozessleitsystems. Da den "Prozessen" in einem klassischen Prozessleitsystem im acaPCS die gesteuerten Bewegungsabläufe unserer Roboter (das sind die URGino-Roboter mit Laser-Entfernungsmesseinrichtung und unsere Fußball-Roboter, der Kicker und der Goal-Keeper) entsprechen, hätten wir unseren beiden "Prozess-Anlagen" (das Labyrinth/Maze und der Fußballplatz) in einer etwas schärferen semantischen Abgrenzung auch acaRCS (robot control system) nennen können. Wahrscheinlich wäre diese Bezeichnung deutlicher gewesen, aber wir haben uns vor Jahren auf PCS eingeschossen, und nicht RCS, und bleiben deshalb aus historischen Gründen bei dieser Bezeichnung.

Zum Einsatz kommt das acaPCS-Maze für einfache Roboter-Steueraufgaben zur Lokalisation und Navigation bis hin zu komplexen Anwendungen wie Slam (simultaneaous localisation and mapping). Das acaPCS-Football dient der Steuerung unserer beiden Fußball-Roboter, für die intelligente Verhaltensalgorithmen für den Kicker und Goal-Keeper entwickelt wurden und werden.

Beide acaPCS-Einrichtungen zur Steuerung unserer Roboter bestehen aus den drei Komponenten Viewer, Controller und Steuercode. Diese drei Instanzen sollen im folgenden vorgestellt werden.  

Zwei Viewer: acaView-Maze und acaView-Football

Bei einem Viewer handelt es sich um eine Beobachtungseinrichtung zur Visualisierung der (realen) Roboterpositionen in einem vorgegebenen Gelände. Für unsere beiden Prozessleitsysteme haben wir zwei Viewer, einmal für unser Maze/Labyrinth (s. Abb. rechts) den acaView-Maze und einmal für unseren Fußballplatz den acaView-Football. Wie aus den Abbildungen (rechts) erkennbar ist, besteht der Viewer aus einem Hardware- und einem Softwareteil. Der Hardwareteil umfasst in beiden Fällen ein an einem Raspberry Pi angeschlossenes Kamerasystem (s.u.), das über dem jeweiligen Gelände, auf dem sich die Roboter bewegen, installiert ist. Der Softwareteil ist eine App, Webanwendung oder ein PC-Programm, in dem die Roboter-Positionen und ihre Bewegungen grafisch dargestellt werden.

der acaView-Maze

Die Größe des Labyrinths (engl. Maze), das ist die sogenannte "Welt", in der die Roboter sich bewegen, beträgt 1,50 x 1,50 Meter. Je nach Aufgabenstellung kann diese Welt in einer Modellauffassung als ein Fabrikgelände, ein Museum, eine Krankenstation oder einfach eine Wohnung verstanden werden, in der "Service-Roboter" ihre Dienste (alleine oder im Verbund) verrichten. Eine "beliebte" Aufgabe besteht z.B. darin, einen Roboter möglichst effizient die ganze Wohnung staubsaugen zu lassen.

Über dem Labyrinth an einem Dachgestänge angebracht befinden sich sechs Kameras (Pixie-Cams), um die gesamte Fläche abzudecken. Die Kameras sind über einen USB-Hub mit einem Raspberry Pi verbunden. Auf ihm fügt ein Programm mit openCV-Funktionen die Einzelbilder der sechs Kameras zu einem Gesamtbild zusammen. Ausgestattet mit einer eigenen Steuerlogik für die doch sehr rechenintensive Bildbearbeitung können die Kameras bis zu acht Farben unterscheiden und mehrere hundert Objekte registrieren, und das bei 50 Bildern pro Sekunde! Damit lassen sich in dem Prozessverbund einer zu realisierenden Aufgabenstellung bis zu acht Roboter unterscheiden (theoretisch, denn ab vier Robotern wird es recht eng und ungemütlich in dem Labyrinth), die auf ihrer Oberseite eine zweifache Farbmarkierung angebracht haben, um Position und Orientierung zu bestimmen. Die zentimetergenauen, kartesischen Positions- und Orientierungsdaten können über WLan abgefragt werden. Sie werden im JSON-Format übertragen. 

Die unmittelbare Hinderniserkennung in dem Labyrinth geschieht über die jeweiligen Sensoren in den Robotern. Je nach Roboter sind das Infrarot-, Ultraschall- oder Laser-Einrichtungen. Die hierbei anfallenden Daten können ebenfalls abgefragt werden, damit das Prozessleitsystem diese bei den fortwährenden Prozessaktualisierungsberechnungen berücksichtigen kann. Z.B. könnte sich durch das plötzliche Auftauchen eines dynamischen Objektes (z.B. ein Arbeiter auf einem Fabrikgelände, ein Besucher in einem Museum, ein Einbrecher in einer Wohnung), das eben gerade noch nicht da war, eine kürzeste Wegberechnung von A nach B für einen der Roboter verändern, wenn das Objekt umfahren werden soll. Das Prozessleitsystem könnte aber auch entscheiden, dass dieser Roboter, falls seine derzeitige Aufgabe nicht zeitkritisch ist, für eine bestimmte Zeit anhält und einfach nur wartet, bis das Objekt wieder verschwunden ist.

Die Viewer-Einrichtung von acaPCS-Maze verfügt ferner über einen Softwareteil. Auf dem Monitor werden sämtliche in dem Labyrinth sich aufhaltenden Roboter sowie weitere Hindernisse, so sie eine Farbmarkierung aufweisen, angezeigt. Die Bewegungen der Roboter können für Diagnosezwecke aufgezeichnet werden. 

der acaView-Football

Text und Bilder sind noch nicht fertig, werden aber in Kürze nachgereicht. Das Prinzip ist jedoch identisch mit dem des acaView-Maze.

Controller

Der Controller ist ein Programm, das auf jedem der Roboter installiert ist. Er nimmt im JSON-Format Daten über eine Socketverbindung von einem Steuercode entgegen, die Fahrbefehle repräsentieren, und übergibt seine Sensor- und Odometriedaten an den Steuercode.

Themen für Bachelor- und Master-Abschlussarbeiten: Viewer und (einfacher) Simulator

Im Rahmen verschiedener Abschlussarbeiten hätten wir neben den schon existierenden Viewern für das Labyrinth/Maze und den Fußballplatz als Bachelor-Abschlussarbeiten gerne noch:

  • einen acaView-Maze als iOS-App
  • einen acaView-Football als Android-/iOS-App

Da wir unsere "realen" Roboter zukünftig auch gerne als virtuelle Avatare in einer simulierten Umgebung steuern möchten, haben wir als Master-Abschlussarbeiten folgende Aufgaben anzubieten:

  • einen acaSim-Maze als Android-App (dieses Thema ist jedoch schon vergeben) und einen als PC-Programm (Java/Processing)
  • einen acaSim-Football als Android-/iOS-App und einen als PC-Programm (Java/Processing)

Im Gegensatz zu einem Viewer (s.o.), in dem die vom Kamerasystem des realen Labyrinths erkannten Roboter und Objekte an den entsprechenden cartesischen Positionen im visualisierten 1:1-Labyrinth abgebildet werden, funktioniert ein grafischer Simulator ein wenig anders: Durch einen beliebigen Steuercode, geschrieben in irgendeiner Hochsprache, werden die Avatare (d.h. die virtuellen Roboter) über eine Socketverbindung an bestimmte Stellen des visualisierten Labyrinths navigiert. Die wichtigste Schnittstelle hierfür ist die vOmega-Schnittstelle mit ihren beiden Parametern v für die Geradeausfahrt, und Omega für die Kurvenfahrt. Desweiteren zu implementieren ist in dieser Simulator-Arbeit eine virtuelle Objekterkennung; der Avatar darf nicht einfach durch Wände im Labyrinth fahren. (Vergleichbare Arbeiten existieren schon unter den Namen Player-Stage und Ros).

Betreuer der Arbeiten ist Prof. Dr. Christian Forler