acaPCS: das Prozessleitsystem für acaBot-Roboter

Man kann es nicht anders sagen, aber die Programmierung der acaBot-Roboter auf der Arduino- oder Raspberry-Plattform macht Spaß, ist aber oft auch mit sehr viel Geduld verbunden, denn so ein Roboter kann sehr störrisch und hartnäckig sein. Was bei der Programmierung eines einzelnen Roboters schon eine Herausforderung werden kann, zeigt sich insbesondere dann, wenn mehrere Roboter eine gemeinsame Aufgabe zu erledigen haben. Hierzu ist ein sogenanntes Prozessleitsystem (process control system) erforderlich. Dieses System koordiniert zu jedem Zeitpunkt die einzelnen Schritte für jeden an der gemeinsamen Aufgabe beteiligten Roboter und lässt ihn über Funk kontinuierlich wissen, was er als nächstes tun soll.

acaPCS: das Prozessleitsystem für acaBot-Roboter
Die Größe des Labyrinths, 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 schöne Aufgabe besteht z.B. darin, einen Roboter möglichst effizient die ganze Wohnung staubsaugen zu lassen.

Eine Vorführung oder Benutzung des Prozessleitsystems ist derzeit nicht möglich, weil das Kaninchen die Bedienungsanleitung gefressen hat.

Über dem Labyrinth befindet sich eine mittels einer Decken-Stange auf die richtige Höhe gebrachte Kamera. Diese kann bis zu acht Farben unterscheiden und mehrere hundert Objekte registrieren, und das bei 50 Bildern pro Sekunde! (Das funktioniert nur deshalb, weil diese Kamera über eine eigene Steuerlogik zu der doch sehr rechenintensiven Bildbearbeitung verfügt.) Damit lassen sich in dem Prozessverbund einer zu realisierenden Aufgabenstellung bis zu acht Roboter unterscheiden (theoretisch, denn ab vier Robotern wird es echt eng und ungemütlich in dem Labyrinth), die auf ihrer Oberseite eine Farbmarkierung angebracht haben. Die Daten der Kamera, das sind die Millimeter genauen, kartesischen Positionsdaten der Roboter, werden über WLan an den Leitrechner (in dem Rack) übertragen. Die Kommunikation der Roboter untereinander, falls erforderlich, erfolgt über XBee (XBee hat gegenüber Bluetooth den Vorteil, dass das lästige Pairing entfallen kann. Auch kann die Kommunikation, wie das bei Bluetooth gelegentlich der Fall ist, nicht einfach kurzfristig abbrechen.).

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 werden ebenfalls über XBee an den Zentralrechner übermittelt, 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.

Eine berechtigte Frage lautet: Warum verfügt dieses Prozessleitsystem eigentlich über eine Kamera? Wäre es nicht viel einfacher, wenn die Positionsbestimmungen der Roboter über funkgesteuerte Triangulationsmechanismen erfolgten, ähnlich dem GPS? --- Leider funktioniert GPS nur draußen, also outdoor, und nicht in geschlossenen Räumen. Für die Indoor-Navigation von Robotern gibt es zwar auch schon fertige Lösungen auf dem Markt zu kaufen, wie z.B. die Beacons von Apple. Aber sämtliche Systeme derzeit sind viel zu ungenau. Die Beacons zum Beispiel haben eine Genauigkeit von höchstens 30 Zentimetern. In einem gerade einmal 150 x 150 Zentimeter großen Labyrinth ist diese Lösung natürlich nicht brauchbar, denn hier werden Genauigkeiten im halben Zentimeterbereich benötigt. Also muss die Kamera her, denn die ist wirklich präzise.

Zur Prozesskommunikation und Visualisierung dienen zwei Monitore. Der obere Monitor zeigt (in einem Simulator) jeden Roboter an seiner aktuellen Stelle im realen Labyrinth. Weiterhin werden durch Kontrollanzeigen und Bedienfelder manuelle Eingriffe in die Prozesse durch den Operator des Prozessleitsystems ermöglicht. Der untere Monitor zeigt die wichtigsten anfallenden Daten wie z.B. die Aktivitätszustände der durch Steuerprogramme den Robotern zugewiesenen Aufgaben an.