acaBot: autonome, mobile Roboter im PSE-Labor

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

Ein solches Mammut-Projekt wie acaBot ist nicht ohne die Hilfe Dritter möglich, denn immer gibt es irgendeine Baustelle, die sowohl im Handwerk, in der Software oder der allgemeinen Beratung den einen oder anderen Spezialisten erfordert - oder es geht ganz einfach nicht weiter. Herzlich bedanken möchten wir uns für unschätzbare Hilfe (in alphabetischer Reihenfolge) bei

Gunter Kürth (Produktionstechnik)
Maik Lesker (Labor Tragwerke und Konstruktion)
Martin von Löwis (PSE-Labor)
Ulrich Schaub (Labor Tragwerke und Konstruktion)
Thorsten Sohr (Gerätetechnik, Optik und Sensorik)

Geschichte und Inhalt von acaBot

Das acaBot-Projekt wurde Mitte 2014 von den beiden Labor-Mitarbeitern, Andreas Döpkens und Brian Schüler, ins Leben gerufen. Der erste im Rahmen des acaBot-Projektes entwickelte miniRoboter sollte ursprünglich nur dazu dienen, für die Nachwuchsgewinnung besonders an der Technischen Informatik interessierten Schülerpraktikanten eine qualifizierte Einführung in die Arduino-Microcontroller-Programmierung zukommen zu lassen, inklusive der dazugehörenden elementaren Kenntnisse in Analog- und Digital-Elektronik. Dieser erste „Bot“ (inspiriert vom CT-Bot) wurde aufgrund seiner Versatilität, Präzision und seines geringen Preises ein so großer Erfolg, dass in der darauffolgenden Zeit das acaBot-Projekt immer weiter ausgebaut wurde und mittlerweile aus dem Alltagsgeschehen des PSE-Labors nicht mehr wegzudenken ist. Anfänglich nur als Schulungsroboter für Schülerpraktikanten gedacht, werden die unterschiedlichen acaBot-Roboter und das zugehörige Prozessleitsystem (acaPCS) nun auch in starkem Maß für Abschlussarbeiten und Masterprojekte eingesetzt. Jedoch gehört das acaBot-Projekt noch nicht zur "inhaltlichen Ausrichtung" des PSE-Labors, weil kein Hochschullehrer mit acaBot als Lehr- oder Forschrungsinhalt assoziiert ist. Wir wünschen uns aber, dass es diesbezüglich zu einer Realisierung kommt, sobald ein fachaffiner Hochschullehrer gefunden wird.

acaBoys
"acaBoys"-Selfie [l. Brian, r. Andreas]

Wenn wir von Robotern sprechen, dann reden wir aber nicht über Humanoiden, sondern vielmehr über Microcontroller auf Rädern (kurz: µCoW). Wenn wir in unserem acaBot-Programm Fußball spielende Roboter anpreisen, dann sind das nicht solche, die bis zum Jahr 2050 als ein Team autonomer, humanoider Roboterfußballspieler ein nach FIFA-Regeln gespieltes Fußballspiel gegen den amtierenden Fußballweltmeister gewinnen sollen. Bei uns geht es vielmehr um selbstfahrende, d.h. mobile Fahrzeuge und robotikbasierte Assistenzsystem im Servicebereich, wie man sie in der Arbeitswelt, im privaten Umfeld und als Hilfe im Katastrophenfall vorfindet. Wie auch immer ein Szenario für eine reale Situation aussehen mag, in der diese Art Roboter in Erscheinung treten, unsere gestellten Nachahmungen echter Realität mit den acaBot-Robotern operieren in Miniatur-Perspektiven, die dazu dienen, in den MINT-Fächern theoretische Ausbildungsinhalte am praktischen Objekt zu erleben.

Aus acaBot heraus entwickelte sich acaFun mit der Devise: Hands On - Game On - Go Mobile Robots And Have Fun!. Dabei handelt es sich um anspruchsvolle Spieleroboter, die durch Erweiterung verschiedener Hardware aus den acaBot-Robotern hervorgingen und primär dazu dienen, die Kinder auf der jährlich stattfindenden Langen Nacht der Wissenschaft (LNdW) zu unterhalten ... und zwar mit dem eigennützigen Zweck, sie schon früh für Technik und Informatik zu begeistern, um sie dadurch vielleicht in ein paar Jahren als Immatrikulanti wiederzusehen. --- Die für acaFun konstruierten mobRobs (mobilen Roboter) dienen nicht der Steuerung durch eigenen Entwurf von Programmen, sondern sie werden durch acaPad-Fernbedienungen (Hands On) in Geschicklichkeitsaufgaben gelenkt. 

Einen Überblick über die verschiedenen acaBot-Roboter sowie die mit ihnen realisierten Projekte findest du auf der Seite Die acaBot Roboter

Lokalisations- und Navigations-Frage
Die Schwierigkeiten in der Bewegung eines Roboters liegen in der Lokalisations- und Navigations-Frage: "Wo befindet sich der Roboter eigentlich zu einem bestimmten Zeitpunkt?" Computer sind für ihre hohe Rechengenauigkeit bekannt, der in erster Linie durch die Hardware, aber auch durch den jeweiligen, gegebenenfalls die Ausführung verlangsamenden Softwareaufwand Grenzen gesetzt sind. In der Robotik werden durch Sensoren, ggfs. Kameras, detaillierte Messungen vorgenommen, um die richtige X-Y-Position zu berechnen. Die Programme und die mathematischen Berechnungen werden schnell recht kompliziert.

Die Semantik des Namens acaBot

Der Name acaBot ist die Kurzbezeichnung für „academic Robot“. Das Attribut academic soll ausdrücken, dass die sich hinter diesem Projekt verbergenden Roboter viel mehr sind als bloßes Spielzeug, sondern sie im akademischen Informatiker-Alltag wertvolle Dienste leisten können. Wer sich als Anfänger in dem Bereich der durch Microcontroller gesteuerten miniRoboter umsieht, stellt fest, dass der Markt hierfür riesig ist; von wenig Geld bis viel Geld, von winzig klein bis ziemlich groß, das Angebot auf dem Elektronikmarkt, als fertig zusammengebaut oder als DIY-Bausatz, ist enorm. Als Fortgeschrittener erkennt man jedoch bald, dass alle diese Bots nicht viel mehr sind als eben nur Spielzeug, denn ernsthafte Problemlösungen, wie sie zum Beispiel in den Zentralthemen der Robotik namens Navigation und Lokalisation existieren, lassen sich mit ihnen nicht zufriedenstellend realisieren.

Die unterschiedlichen acaBot-Roboter sollen diesem Manko entgegenwirken. Allesamt mit hochwertigen Faulhaber-Motoren ausgestattet, die über äußerst präzise Encoder zur Positionsbestimmung des Roboters verfügen, existieren hier zwei verschiedene Programmier-Paradigmen. Einfachere Steuerungen laufen als User-Code zusammen mit der acaBot Firmware auf dem Arduino-Microcontroller-Board der "kleineren" Bots (plus verschiedener Sensoren). Anwenderprogramme von hoher Komplexität hingegen werden auf dem Raspberry Pi entwickelt, mit dem die "größeren" Roboter zusätzlich zum Arduino ausgestattet sind. Auf dem Arduino dieser Bots läuft dann nur noch der acaBotMC Motor-Controller zusammen mit einem Protocol-Code, der es ermöglicht, dass Motor-Befehle und Encoder-Daten zwischen dem Arduino und dem User Code auf dem "Raspi" ausgetauscht werden können.

Hinter dem Namen acaBot stehen demnach verschiedene Verwendungen:

  • als Firmware auf dem Arduino der "kleineren" Roboter
  • als Motorcontroller auf dem Arduino der "größeren" Roboter
  • und schließlich steht der Name für die gesamte Projektidee (im Sinne eines Markenzeichens) unserer "Microcontroller auf Rädern"
acaBot
Das acaBot-Logo zeigt unten das "Arduino"-Symbol mit von uns hinzugefügten Wurzeln und oben das "Raspberry Pi"-Symbol, dem wir Flügel gegeben haben. Die elaborierten unter den verschiedenen acaBot-Robotern (URGino und MECANuino) sind mit beiden Boards, Arduino und "Raspi" (Kurzform von Raspberry Pi) ausgestattet. Auf dem Arduino läuft der "bodenständige" Motor-Controller-Code, ohne den garnichts geht, auf dem Raspberry Pi befindet sich der - je nach Phantasie und Fähigkeiten des Programmierers - keine nach oben hin Grenzen kennende Anwender-Code.

acaBot-SAS: ein sensoaktorisches System (sensoactoric system)

Systemisch verstanden fällt acaBot unter SAS, ein sensoaktorisches System (sensoactoric system). Dieser Begriff wurde von uns geprägt und soll verstanden werden als ein Zusammenspiel von sensorischen und aktorischen Leistungen. Hierbei ist „sensorisch“ wie gewohnt im Kontext der verschiedenen elektrischen Sensoren (Encoder, Abstandssensor, Orientierungssensor, Kameras usw.) zu verstehen, die Informationen über die physikalische Welt sammeln, in der der Roboter sich bewegt, aber „aktorisch“ nicht im Sinne von motorisch, also die Motoren zur Roboterfortbewegung betreffend. Deshalb ist acaBot-SAS kein Sensor-Aktor-System (sensor-actor-system), wie es in der Literatur in der Weise oft beschrieben wird, dass es sich bei dem Aktor um einen Antrieb handelt. Die Wortschöpfung sensoaktorisches System wurde zur Abgrenzung von solchen Sensor-Aktor-Systemen sehr bewusst vorgenommen.

Ein Aktor (actor) ist kein Motor, er verändert also nicht die Position und Orientierung eines Roboters, auch wenn das in der Fachliteratur immer wieder behauptet wird. Ein Motor ist ein Aktuator (actuator). Bei einem Aktuator handelt es sich um ein Gerät zum Konvertieren eines elektrischen Signals in eine physikalische Bewegung (physical action), um einen Antrieb. Aktoren hingegen nehmen Entscheidungen entgegen und führen dazu passende Handlungen (actions) in der sie umgebenden Umwelt aus. Es kann sich dabei um ferngesteuerte oder autonome Interaktionen mit der Umgebung handeln. 

In dem von uns so verstandenen Kontext des Begriffes sensoaktorisch kann ein Aktor (hier: ein kompletter Roboter) zwar auch auf die Umgebung mithilfe von einem oder mehreren Aktuatoren einwirken, ist jedoch als Gesamtbegriff-Roboter weit mehr als die Summe seiner Antriebe. Insbesondere in unseren diversen Prozessleitsystemen werden drahtlose sensoaktorische Systeme, bestehend aus mehreren mobilen Robotern in Aktor-Knoten (actor nodes) zur Realisierung gemeinsamer Aufgaben gesteuert. Die Antriebe der beteiligten Roboter, die Aktuatoren, treten hier von der Bedeutung her völlig in den Hintergrund. Ob ein Roboter in einem solchen Prozessleitsystem rollt, fliegt oder hovert ist unerheblich. Von Bedeutung sind nun nur die zum Prozessgelingen beitragenden Sensoren, die darüber entscheiden, von wo nach wo ein Roboter sich im nächsten Prozesszyklus bewegt. Ein wichtiges Tool ist hierbei die Sensor-Fusion, wenn nämlich nach verschiedenen physikalischen Prinzipien arbeitende Sensoren gemeinschaftlich Erkenntnisse aus der Umwelt sammeln sollen, die darüber entscheiden, wohin sich der Roboter bewegen soll.

Aus diesem Grund - weil wir acaBot (neben den diversen oben genannten Bedeutungen) im systemischen Kontext als ein sensoaktorisches System auffassen - reden wir manchmal von acaBot-Robotern, wenn wir einen bestimmten Roboter meinen. Zugegeben wirkt das prima vista redundant, als würde man von einem "akademischen Roboter-Roboter" reden. Secunda vista ist diese sprachliche Verwendung jedoch völlig richtig. Einen bestimmten unserer Roboter als einen acaBot zu bezeichnen, ist hingegen grammatisch falsch.