SpaceBot Camp
Das RMC (Robotik und Mechatronik Zentrum – DLR-RM und DLR-SR) nimmt als Team RMexplores! am diesjährigen SpaceBot Camp des DLR-Raumfahrtmanagements in Bonn teil. Bei dem Wettbewerb geht es um die Exploration eines unbekannten, planetaren Geländes: Dort sollen bekannte Objekte gefunden und aufgenommen werden und schließlich transportiert und montiert werden. Da die Kommunikation zwischen dem Rover und einer Bediencrew nur zeitweise in beide Richtungen gestattet und dann um 2 Sekunden verzögert ist (um eine Kommunikation mit dem Mond zu simulieren), müssen alle Aufgaben voll autonom bewältigt werden
News
13. November 2015
Auf der SpaceBot-Camp-Leistungsshow hat unser Rover eine Spitzenleistung gezeigt. Wie in den ursprünglichen Wettbewerbsbedingungen vorgesehen, ist die Lightweight Rover Unit (LRU) nach dem Start auf einem Hügel einen schmalen Weg hinuntergefahren und hat das Gelände erkundet. Der Becher wurde zügig gefunden und aufgenommen. Nach dem Finden des Batterieobjekts wurde dieses gegriffen und aufgenommen. Da es mit knapp 800 Gramm recht schwer ist, rutschte es jedoch kurz vor dem Ablegen auf dem Rover aus den Fingern. Durch die trichterförmige Konstruktion der Transportschale konnte es aber trotzdem sicher aufgenommen werden. Danach fuhr der Rover sicher einen Hügel hoch, detektierte das Basisobjekt und stellte den Becher auf der vorgesehenen Position ab. Bis zu diesem Zeitpunkt war der komplette Ablauf vollautonom. Vor dem Einfügen des Batterieobjekts meldete die Bodencrew entsprechend den Wettbewerbsbedingungen einen Checkpoint an. Dieser erlaubt das Senden von Kommandos zum Rover, allerdings mit einer Verzögerung von 2 Sekunden. Der Checkpoint diente dazu, eine neue Erfassung des Basisobjekts auszulösen, da die Bodencrew nicht sicher war, ob die Position des Basisobjekts genau genug gemessen worden war. Danach wurde die volle Autonomie wieder gestartet, woraufhin das Batterieobjekt einwandfrei eingefügt und der Schalter des Basisobjekts umgelegt wurde.
Damit ist RMexplores! das einzige Team, welches alle Aufgaben zu den ursprünglichen Wettbewerbsbedingungen erfüllen konnte und noch dazu in der Hälfte der Zeit!
Dies wurde erreicht, obwohl der Rover, wie bei echten Weltraummissionen auch, nur Stereokameras zur Umgebungserfassung nutzt.
Die Teamvorstellung ist auf Youtube verfügbar.
02. Oktober 2015
Da sich nicht genügend Teams qualifiziert haben wurde der Wettbewerb SpaceBot Cup durch die Leistungsshow SpaceBot Camp ersetzt, in der alle 10 Teams ihre Systeme demonstrieren können.
26. August 2015
Die Vorbereitungen für die Qualifikation zur Teilnahme am SpaceBot Cup sind in vollem Gange. Alle Qualifikationsaufgaben konnten erstmalig autonom gelöst werden. Die Zeit zur Qualifikation im September wird für Feintuning genutzt.
Systembeschreibung, Stand August 2015
Lightweight Rover Unit (LRU)
Für den Wettbewerb wird die vom Institut entwickelte Lightweight Rover Unit (kurz der LRU) eingesetzt. Dies ist ein einzigartiger vierrädriger Roboter mit einem Gesamtgewicht von etwa 30 kg. Jedes Rad verfügt über einen eigenen Lenk- und Antriebsmotor. Hierdurch ist der LRU sehr manövrierfähig und kann omnidirektional in jede Richtung fahren. Der LRU besteht aus drei Hauptkomponenten: dem Hauptkörper in der Mitte sowie vorne und hinten jeweils einem sogenannten Boogie, die das Fahrwerk bilden. Die Boogies sind passiv gefedert und über zwei weitere Motoren aktiv drehbar am Hauptkörper befestigt. Hierdurch kann sich der Rover schwierigem Gelände anpassen. Durch einen niedrigen Schwerpunkt bewältigt der Rover Steigungen bis 45°, je nach Untergrund.
Sehen kann der Rover mittels dreier Kameras, die auf einem schwenkbaren Kopf, der sogenannten Pan-Tilt-Einheit, angebracht und dadurch in alle Richtungen frei drehbar sind. Die beiden äußeren Monochrom-Kameras bilden ein Stereokamerapaar und werden für die Navigation verwendet. Die mittlere Farbkamera wird verwendet, um die im Wettkampf gesuchten Objekte farblich zu erkennen. Neben den Kameras besitzt der Rover einen Inertialsensor (IMU), der im Hauptkörper verbaut ist. Als On-Board-Rechner dient ein leistungsstarker Quadcore-Computer, der unter Linux betrieben wird. Die Stromversorgung wird über zwei Akkupacks sichergestellt, über die der LRU für ca. 1,5 Stunden betrieben werden kann. Über WLAN ist der Rover mit der Bodenstation verbunden.
Der Rover wurde erstmalig im Mai 2014 auf der Internationalen Luft- und Raumfahrtausstellung (ILA Berlin Air Show) gezeigt und an sechs Messetagen im semi-autonomen Betrieb demonstriert.
Für den SpaceBot Cup ist neben der autonomen Erkundung von unbekanntem Gelände (robotische Exploration) auch das Aufnehmen, Transportieren und Montieren von zwei verschiedenen Objekten (Becher und Batteriepack) gefordert. Hierfür wurde der LRU mit einem Roboterarm ausgestattet. Aufgrund der Anforderungen wie geringes Eigengewicht und Traglast bis 800 g (Batteriepack), fiel die Wahl auf den Jaco 2 der Firma Kinova. Nach einer Arbeitsraumanalyse wurde der Roboterarm auf dem hinteren Boogie schräg montiert. Die Finger wurden für die beim SpaceBot Cup verwendeten Objekte überarbeitet, um ein sicheres Greifen der Objekte zu ermöglichen. Ferner wurden zwei Körbe konstruiert, in welchen die Objekte abgelegt und transportiert werden können.
Zur Ansteuerung des Arms wurden die am Institut für andere Roboterarme entwickelten Impedanzregelungskonzepte angepasst und verwendet. Da der Arbeitsraum hinter dem LRU durch Verdeckung des Roverkörpers und dem Roboterarm schlecht vom Kamerakopf auf dem Mast einsehbar ist, wurde ein weiteres Stereokamerapaar installiert. Dieses besteht aus zwei Farbkameras, die auf dem hinteren Boogie fest montiert sind.
Navigation und Exploration
Die Bewegung des LRU wird nicht über Radumdrehungen, auch Odometrie genannt, bestimmt, da dies in einer sandigen Umgebung durch Rutschen viel zu ungenau wäre. Stattdessen werden natürliche Merkmale in den Bildern der Stereokamera verfolgt und daraus die Eigenbewegung des Systems zurückgerechnet. Dies wird als visuelle Odometrie bezeichnet. Unterstützt wird die visuelle Odometrie durch die Beschleunigungen, die durch den Inertialsensor (IMU) gemessen werden. Beide Prinzipien, also visuelle Odometrie und IMU, haben ihre individuellen Vor- und Nachteile. Die visuelle Odometrie ist meist sehr genau und bei der Verwendung von Bezugsbildern (Keyframes) im Stand praktisch fehlerfrei. Dafür kann die visuelle Odometrie spontan versagen, z. B. bei schnellen Bewegungen oder falls keine Merkmale beobachtbar sind. Die IMU funktioniert komplett unabhängig von der jeweiligen Umgebung und kann schnelle Bewegungen sehr gut erfassen. Dafür messen IMUs nur über kurze Zeiträume, im Bereich von Sekunden, relativ genau. Über längere Zeiträume steigt der Messfehler stark an, was als Drift bezeichnet wird. Die vom Institut entwickelte Fusion von visueller Odometrie und IMU-Messungen kombiniert die Vorteile beider Methoden. Ausfälle der visuellen Odometrie werden durch die IMU überbrückt. Umgekehrt wird das Driften der IMU durch Messungen der visuellen Odometrie kompensiert.
Die Bilder der Stereokameras auf dem Kameramast werden außerdem mit dem Verfahren Semi-Global Matching zu einem Tiefenbild verarbeitet. Dies geschieht mit einer Auflösung von 0,5 MPixel auf einer FPGA-Karte knapp 15 Mal pro Sekunde. Aus den Tiefenbildern und der berechneten Eigenbewegung wird ein 3D Modell und eine Höhenkarte der zunächst unbekannten Umgebung erstellt. Die Höhenkarte wird dann auf Befahrbarkeit analysiert. Hierauf werden dann Wege zu vordefinierten Zielpunkten berechnet bzw. eine Erkundung initiiert.
Objekterkennung und Lageschätzung
Im Wettbewerb ist eine Aufgabe, das unbekannte Gelände nach den Objekten (Becher, Batteriepack und Basisobjekt) abzusuchen. Die Suche konzentriert sich zunächst auf die Farbe der Objekte (blauer Becher, gelbes Batteriepack und rotes Basisobjekt). Deshalb wird, während der LRU das Gelände erkundet, auf den Bildern immer wieder auch eine Objekterkennung durchgeführt. Wenn die Objekterkennung anschlägt, dann werden der Abstand und die Objektgröße geprüft, um Fehlmessungen auszuschließen.
Die Position der gefundenen Objekte wird in die erstellte Höhenkarte eingetragen. Der Becher und das Batteriepack werden angefahren und aufgenommen. Hierzu dreht sich der LRU vor dem Objekt herum, um dieses in die Reichweite des Roboterarms zu bringen. Mit dem zurückblickenden Stereokamerapaar wird dann die genaue Lage des Objekts im Arbeitsraum geschätzt, indem wieder ein Tiefenbild berechnet wird und dann damit die Position und Orientierung des Objekts geschätzt wird.
Objekt aufnehmen und ablegen
Sobald die Position und Orientierung des Objekts im Arbeitsraum, bekannt ist, übernimmt die Greifplanung. Das Objekt wird gegriffen, aufgenommen und in den jeweiligen Korb gesteckt.
Wenn das rote Basisobjekt mit den Objekten gefunden und angefahren wurde, werden die Objekte aus den Körben genommen und montiert. Hierzu wird der Becher auf die Platte des Basisobjekts gestellt. Das Batteriepack wird in das Basisobjekt geschoben. Da das Basisobjekt mit Federn ausgestattet ist und das Einstecken des Batterieobjekts etwas Kraft benötigt, muss das Batterieobjekt umgegriffen werden.
Nachdem beide Objekte montiert wurden, wird der Kippschalter am Basisobjekt umgelegt.
Ablaufsteuerung und Fehlerüberwachung
Alle Teilaufgaben des Szenarios werden für den autonomen Betrieb integriert.
Die Abarbeitung aller Teilaufgaben, d.h. die zeitliche Abfolge der Arbeitsschritte und die Ansteuerung der einzelnen Komponenten, wird durch eine am Institut entwickelte Ablaufsteuerungssoftware kontrolliert. Über eine grafische Oberfläche können damit komplexe Abläufe implementiert und überwacht werden. Abhängig vom jeweiligen Zustand und den verschiedenen Messungen (Kameras, IMU, usw.) werden Aktionen und Übergänge in einen neuen Zustand durchgeführt.
Die On-Board-Software besteht aus vielen Teilen und Modulen, die über einen Prozessmanager verwaltet werden und mittels einer sogenannten Roboter Middleware miteinander kommunizieren können. Hier werden verschiedene Mechanismen benutzt, z.B. das Robot Operating System (ROS) oder die Institutseigene Software links and nodes. Parallel dazu läuft eine Fehlerüberwachung, die nach entsprechend vorprogrammierten Regeln Maßnahmen ergreifen kann. Die Fehlerüberwachung dient dazu, festzustellen, ob einzelne Module nicht mehr so reagieren wie erwartet. Falls Teile versagen oder Fehlerzustände eintreten, kann es notwendig sein, manche Module neu zu starten. Im Extremfall kann auch ein Neustart des gesamten Systems notwendig werden.
Kommunikation zur Bodenstation
Die Kommunikationsbedingungen während des Wettbewerbs sind denen einer realen Weltraummission nachempfunden. Die Bediencrew hat keine direkte Sicht auf den Rover. Die Netzwerkverbindung zum Rover ist außerdem eingeschränkt. So ist die Kommunikation in beide Richtungen um etwa 2 Sekunden verzögert. Zusätzlich ist die Kommunikation für die meiste Zeit des Wettbewerbs nur vom Rover zur Bodencrew möglich. Nur zu speziellen Zeiten kann die Bodencrew für jeweils 5 Minuten auch Daten zum Rover senden.
Aufgrund dieser schwierigen Kommunikationsbedingungen muss das System alle Aufgaben möglichst vollautonom bewältigen. Um jedoch für den Notfall so viel Eingriffsmöglichkeit wie möglich zu erhalten, wurde ein Kommunikationsmodul entwickelt, das verschiedene Informationen, z.B. Systemzustand, Objektpositionen, Umgebungskarte, Kameradaten, usw. bündelt und über die eingeschränkte Verbindung schickt. In der Bodenstation werden die Daten wieder entpackt und für die Bediencrew angezeigt. In der Gegenrichtung sind entsprechende Steuerkommandos möglich.