Autonomer mobiler Roboter

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Als autonome mobile Roboter werden Roboter bezeichnet, die sich in ihrer Umgebung selbständig bewegen und agieren können. Dabei existieren aktuell verschiedene Abstufungen in Bezug auf die Autonomie, also die Unabhängigkeit des Roboters. Mobile Roboter werden oft schon als autonom bezeichnet, wenn die sie steuernde Software/Elektronik/Hardware sich auf dem Roboter befindet. Der Roboter ist dann solange autonom, wie seine Energieversorgung dies zulässt. Dem Roboter Anweisungen zu übermitteln, wie oder welche Aufgabe er erledigen soll, stört nicht seine Autonomie. Ein Roboter ist erst dann vollständig autonom, wenn der Roboter auch in Bezug auf seine Energieversorgung unabhängig ist, z. B. mittels einer Versorgung mit Energie zum Laden der Akkus über Solarzellen. Die Entwicklung mobiler autonomer Roboter wird unter anderem durch Wettbewerbe wie der DARPA Grand Challenge oder dem Robocup vorangetrieben. General Motors plant erste unbemannte PKW im Test ab 2015 und in der Serienproduktion ab 2018.[1]

Definition[Bearbeiten]

Es gibt keine einheitliche Definition für autonome mobile Roboter, jedoch beschreibt der Name schon die wichtigsten Kriterien für solche Roboter.

Roboter[Bearbeiten]

Hauptartikel: Roboter

Roboter sind stationäre oder mobile Maschinen, die nach einem bestimmten Programm festgelegte Aufgaben erfüllen.

Mobilität[Bearbeiten]

Hauptartikel: Mobilität

Mobilität bedeutet im Bereich der Robotik, dass der Roboter nicht fest an einer bestimmten Stelle montiert ist, sondern sich mehr oder weniger frei in einer bestimmten Umgebung bewegen kann. Die Art des Terrains bestimmt hierbei die notwendigen Aktoren zur Fortbewegung. Während sich beispielsweise Räder für eher ebenes Gelände eignen, sind für unebenes Gelände meist Ketten oder Beine (s. Laufroboter) von Vorteil.

Autonomie[Bearbeiten]

Hauptartikel: Autonomie

Die Autonomie eines Roboters lässt sich in verschiedenen Graden realisieren. Roboter, die zwar selbständig ihre Umgebung erkunden und die ihnen gestellten Aufgaben abarbeiten, aber immer wieder zu einer Ladestation zurückkehren sind beispielsweise nicht völlig autonom. Der notwendige Grad an Autonomie, der für einen bestimmten Roboter notwendig ist, lässt sich aus der Spezifikation der zu erledigenden Aufgaben bestimmen.

Einsatzgebiete[Bearbeiten]

Mobile Roboter unterscheiden sich stark in Konstruktion und Aufbau durch ihre unterschiedlichen Einsatzgebiete:

Selbstbau- und Spielroboter[Bearbeiten]

Hauptartikel: Spielzeugroboter

Autonome Kleinroboter, deren Einsatzgebiet im nichtkommerziellen Hobby- und Spielbereich liegt. Typische Vertreter sind organisierte Interessengemeinschaften, die auch im internationalen Maßstab agieren.

Serviceroboter[Bearbeiten]

Hauptartikel: Servicerobotik

Dieser kommerzielle Einsatz der mobilen Roboter gewinnt zunehmend an Bedeutung. Typische Einsatzfälle sind: Informationsplattformen in Baumärkten, Inspektionsroboter auf Ölplattformen oder in Rohrleitungen, Serviceroboter im Pflege- und häuslichen Bereich. Auch wenn in diesen Bereichen sehr intensiv entwickelt wird, haben sich Einsätze im Markt wenig durchgesetzt.

Industrieroboter[Bearbeiten]

Hauptartikel: Fahrerloses Transportfahrzeug, Mobiler Manipulator

Fahrerlose Transportfahrzeuge sind in der Industrie weit verbreitet. Mithilfe von Sensorik und Software zur Lokalisation, Navigation und Pfadplanung sind mobile Transportroboter verfügbar, die sich Wege selbständig suchen und dynamisch anpassen können. Wird ein industrietauglicher mobiler Roboter mit einem Roboterarm ausgestattet, so spricht man von einem mobilen Manipulator. Solche Systeme werden zum Beispiel in der Kommissionierung eingesetzt.

Hardware[Bearbeiten]

Die Hardware mobiler autonomer Roboter lässt sich hauptsächlich in zwei Kategorien einordnen, den Sensoren und den Aktoren. Dazu kommt noch die Steuerungselektronik, welche von relativ einfachen Schaltkreisen bis hin zu komplexen Computersystemen reichen kann. All diese Komponenten werden auf einem den speziellen Anforderungen des jeweiligen Roboters angepassten Gestell montiert.

Sensoren[Bearbeiten]

Die Sensorik autonomer mobiler Roboter lässt sich in zwei Kategorien einteilen. Interne Sensoren versorgen die Steuerungssoftware des Roboters mit Daten über den Zustand des Roboters, während externe Sensoren Daten über die Umwelt liefern. Interne Sensordaten wären beispielsweise Daten über den Ladezustand der Batterien, Daten von externen Sensoren umfassen hingegen beispielsweise alle Daten über Art und Entfernung von Hindernissen.

Siehe auch: propriozeption

Beispiele für interne Sensoren[Bearbeiten]

  • Spannungsmessgerät (AD-Wandler)
  • Odometrie ("Kilometerzähler")
  • Thermometer für überhitzende Bauteile
  • Funk-Empfänger

Beispiele für externe Sensoren[Bearbeiten]

Aktoren[Bearbeiten]

Aktoren sind das Gegenstück zu Sensoren und dienen der Manipulation des Roboters, beziehungsweise der Umgebung. Aktoren werden wie Sensoren in interne und externe Aktoren gegliedert. Während die internen Aktoren den Zustand des Roboters verändern (beispielsweise durch Aufladen der Batterien), dienen externe Aktoren unter anderem zur Fortbewegung oder zum Bewegen von Objekten.

Beispiele für interne Aktoren[Bearbeiten]

  • Ladegerät
  • Gebläse
  • Heizung (in sehr kalten Umgebungen)
  • Relais zum Umschalten von redundanten Baugruppen
  • Sender

Beispiele für externe Aktoren[Bearbeiten]

  • Motoren
  • Servos
  • Pumpen
  • Lampen (für Anzeigezwecke oder als Beleuchtung für Kameras)

Software[Bearbeiten]

Zur Realisierung autonomen Verhaltens existieren verschiedene Softwareansätze. Folgende Auflistung von Softwarearchitekturen umfasst vier wichtige Ansätze zur Realisierung von Autonomie in mobilen Robotern. In der Praxis werden häufig Kombinationen dieser Techniken verwendet, und Methoden aus dem Bereich der neuronalen Netze miteinbezogen.

Verhaltensbasierte Architektur (Reaktive Architektur)[Bearbeiten]

Das reaktive Modell ist die einfachste Softwarearchitektur für autonome Roboter (und auch Softwareagenten). Das Verhalten des Roboters wird durch eine Ansammlung von Stimulus-Response (Sense-Act) Regeln definiert. Die sensorischen Inputs werden über jede dieser Regeln iteriert. Die Outputs dieser Regeln (Behaviors) bestimmen dann die Reaktion des Roboters, wobei eine Kombination der ausgelösten Verhalten ausgeführt wird. Wesentlich für diese Architektur ist, dass die Regeln keinen von außen beobachtbaren State besitzen. Dadurch dass die Regeln gleichzeitig ausgelöst werden, und ohne Planung ihre Prozeduren durchlaufen ist diese Architektur sehr schnell, im Gegensatz zu anderen planungsbasierten Ansätzen. Der größte Vorteil des reaktiven Modells ist seine Geschwindigkeit. Der Roboter kann sofort auf unvorhergesehene Ereignisse reagieren, während andere Architekturen diese gar nicht erst registrieren, oder erst planen müssen wie sie mit diesem Ereignis umgehen. Nachteilig ist, dass der Roboter in dieser Architektur nicht lernt. Er erstellt kein internes Weltmodell und kann keine optimalen Routen, geschweige denn Langzeitstrategien planen. Dies ist hinderlich bei Einsatzgebieten, in denen nur eingeschränkte Kommunikation mit dem Roboter möglich ist.

Subsumption Architektur[Bearbeiten]

Die Subsumption Architektur wurde 1986 von Rodney Brooks vorgestellt[2]. Das Modell basiert auf der Unterteilung eines Gesamtverhaltens für den Roboter in viele Einzelkomponenten (Module). Jedes Modul beinhaltet ein Verhalten für eine spezifische Aufgabe, wie etwa “Folge der Wand“ oder “Kollisionsvermeidung“. Die Module werden in hierarchische Schichten gegliedert, welche verschiedene Kompetenzlevel repräsentieren. Verhalten auf höheren Kompetenzstufen können auf Eingaben und Ausgaben von Modulen auf niedrigeren Stufen zugreifen um aus ihnen neue Verhalten zu bilden. Ein Beispiel dafür ist ein Modul “Bewege sicher zu Koordinate X,Y“. Dieses Modul könnte auf zwei weiteren Modulen in der nächsttieferen Schicht aufbauen, zum Beispiel “Vermeide Kollision“ und “Bewege zu X,Y“. Module können andere Module in niederen Schichten beeinflussen. Es gibt zwei Arten von Beeinflussung, Suppression (Unterdrückung) und Inhibition (Verhinderung). Jedes Verhaltensmodul verfügt über eine Steuerleitung. Über diese Steuerleitungen können die Suppression- oder Inhibition-Signale an weiter tiefer in der Hierarchie liegende Verhalten gesendet werden. Wenn ein Modul ein Suppression-Signal erhält, wird die Ausgabe dieses Moduls durch die Ausgabe des Moduls ersetzt, welches das Suppression-Signal gesendet hat. So kann etwa das Verhalten einer Kollisionsvermeidung unterdrückt und statt dessen die Outputs eines Verhaltens “Stoße-Tür-auf“ an die Motoren gesendet werden. Das Inhibition-Signal verhält sich ähnlich, nur dass hier die Ausgabe des Moduls unterdrückt wird, an das es gesendet wird. Auf diese Art wird ein Verhaltensnetzwerk aufgebaut, in dem auch Module niederer Schichten erhalten bleiben, nicht etwa so wie im Hybrid-Modell wo diese nach Bedarf in die reaktive Schicht eingebettet oder deaktiviert werden. Es hat sich gezeigt dass sich durch diesen Aufbau Probleme ergeben. Es besteht zum Beispiel keine Notwendigkeit für ein Modul, dass ein anderes Modul unterdrückt, zu wissen woran dieses andere Modul gerade arbeitet. Umgekehrt hat das unterdrückte Modul keine Informationen über das Modul von dem es unterdrückt wird. In der Praxis besteht aber oft die Notwendigkeit Informationen zwischen den einzelnen Schichten auszutauschen. Problematisch ist auch, wenn ein Modul in einer höheren Hierarchiestufe ein niedrigstufiges Modul unterdrückt, von dem es nicht weiß, warum es sein Verhalten ausführt. Ein Modul im Layer 0 kann zum Beispiel die Möglichkeit Abgründe oder Stufen zu erkennen und vorher zu stoppen. Wenn nun ein Modul im Layer 3 eine Steckdose erkennt und beschließt der Roboter muss seine Batterien aufladen, kann das Signal vom Layer 3 den Layer 0 unterdrücken, und der Roboter könnte Stiegen herunterfallen.

Funktionsorientierte Architektur (Deliberative Architektur)[Bearbeiten]

Das deliberative Modell (engl. deliberate – vorsätzlich, absichtlich) ist in seinen Eigenschaften das Gegenteil vom reaktiven. Ein Roboter mit deliberativem Modell macht sich im ersten Schritt ein Bild von der Welt. Er erstellt also ein mehr oder weniger akkurates internes Weltmodell. Im zweiten Schritt plant er seine Aktionen in diesem Weltmodell im Hinblick auf die Erreichung seiner Ziele. Nun erfolgt die Ausführung der geplanten Aktionen. Eine vorausschauende Planung erfordert aber ein genaues Weltmodell. Die Erstellung eines solchen Weltmodells kann nicht exakt sein, und ist immer mit Fehlern behaftet. Ein Beispiel dafür ist ein veralteter Plan. Angenommen ein Roboter hat einen Pfad zum nächsten Ziel gewählt, der Hindernisse, wie zum Beispiel Steine, umfährt. Er startet nun die Ausführung und beginnt mit der Bewegung. In der Bewegungsphase ändert ein Hindernis die Position – rollt etwa einen Hang herab. Nun ist das vorher erstellte Weltmodell falsch, und der Roboter könnte mit diesem Hindernis kollidieren. Außerdem benötigt die Erstellung des Weltmodells Zeit, Rechen- und Speicherkapazität, welche nicht in allen Umgebungen zur Verfügung steht, zum Beispiel Marsroboter. Eine Voraussetzung für die Anwendung des deliberativen Modells ist, dass der Roboter alle kausalen Konsequenzen seiner Handlungen kennt. Ohne solche Aktion-Konsequenz-Paare ist kein Aufbau eines Aktionsbaums möglich. Ein solcher Aktionsbaum wird mittels Suchalgorithmen durchsucht um einen Aktionspfad zum gewünschten Ziel zu erhalten. Grundlegend für die Ausführung von Aktionen ist natürlich die Annahme dass diese Aktionen atomar bis zu ihrer Konsequenz (Ziel) ablaufen. Durch die Planung der Aktionen hat das deliberative Modell Vorteile gegenüber dem Reaktiven. Jedoch treten auch Probleme auf wie das oben genannte veraltete Weltmodell. Rein deliberative, also seriell arbeitende, Roboter sind in der Praxis kaum zu finden, da fast immer nebenläufige Prozesse in Robotern ablaufen.

Hybride Architekturen[Bearbeiten]

Das Hybrid-Modell versucht die Vorteile vom reaktiven und deliberativen Modell zu vereinen. Ein typisches Hybrid-Modell besteht aus drei Schichten, welche nur mit der jeweils benachbarten Schicht kommunizieren. Die erste Schicht bildet dabei eine Planungskomponente welche über die Informationen über das Ziel der Planung verfügt, und dieses in weitere Subziele (Aktionspakete) unterteilt. Die Planungskomponente verfügt auch über ein Weltmodell dass für das deliberative Planen notwendig ist. Die zweite Schicht bildet ein Bindeglied zwischen der ersten und dritten Schicht. Sie wird in der Literatur häufig Sequencer genannt. Wenn nötig zerlegt der Sequencer die von der Planungskomponente geforderten Aktionspakete noch einmal und aktiviert diese Pakte oder Verhalten in der dritten, der reaktiven, Schicht. Außerdem installiert der Sequencer Ereignismonitore, mit denen er feststellen kann ob die gewünschten Verhalten ausgeführt wurden, ob unvorhergesehene Ereignisse eingetreten sind oder Zeitrahmen überschritten wurden. In der dritten Schicht befinden sich nun alle nötigen reaktiven Verhalten, die nötig sind um zu dem, von der Planungskomponente ausgewählten, Ziel zu gelangen. Nur die dritte Schicht interagiert direkt und reaktiv mit der Umgebung. Alle drei Ebenen arbeiten asynchron und mit verschiedenen Zeitskalen und Datenrepräsentationen. Die genannte Schichteinteilung ist nur eine mögliche Variante für den Aufbau einer hybriden Roboter-Kontrollarchitektur. Mögliche Variationen beinhalten die Einbindung der deliberativen Komponente (Planungskomponente) in den Sequencer, oder direkt in die Verhalten. Das hybride ist das in der Literatur am häufigsten besprochene und angewandte Modell. Es gibt viele Abwandlungen dieser Architektur, welche Elemente der künstlichen Intelligenz, wie etwa neuronale Netzwerke, beinhalten. Ein Beispiel dafür ist die Verwendung einer Extended Kohonen Map zur Antriebskontrolle. Der Vorteil der Architektur liegt klar in der Zusammenführung von Planung (deliberativ) und Ausführung (reaktiv), und deren gleichzeitiger Ausführung. Dies ermöglicht reaktives (schnelles) Verhalten und gleichzeitig die Errechnung eines vollständigen Plans zum gewünschten Zielzustand durch Methoden der symbolischen künstlichen Intelligenz. Ein Nachteil ist die schwierige Koordination der drei Ebenen dieses Modells, durch deren unterschiedliche Datenrepräsentationen und Zeitskalen.

Kognitive Architekturen[Bearbeiten]

Bei Kognitiven Architekturen steht die Lernfähigkeit des Roboters und das Hinzufügen von neuem Handlungswissen im Vordergrund. Vorbild hierfür sind kognitive Prozesse des Menschen. Wobei das Ziel darin liegt Eigendynamik, Erweiterbarkeit und Generalisierung des Systems zu modellieren. Bekannte Ansätze hierfür sind SOAR [3] und ACT-R.

Verweise[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. spiegel.de: Autofahrer ab 2018 überflüssig
  2. R.A. BrooksA robust layered control system for a mobile robot. In: IEEE Journal of Robotics and Automation. 2, Nr. 1, S. 14 - 23. doi:10.1109/JRA.1986.1087032.
  3. J. E. Laird and A. Newell and P. S. Rosenbloom: SOAR: an architecture for general intelligence. In: Artificial Intelligence. 33, sep 1987, S. 1-64.

Literatur[Bearbeiten]

Weblinks[Bearbeiten]