Robot Parkour Learning
Autoren: Ziwen Zhuang, Zipeng Fu, Jianren Wang, Christopher Atkeson, Sören Schwertfeger, Chelsea Finn, Hang Zhao · CoRL 2023
Lizenzen
- Open Access
- Paper: CC BY 4.0
Alles Folgende stützt sich auf das vollständige Paper unter seiner Lizenz CC BY 4.0; die Abbildung wird mit Nennung der Autoren gezeigt.
Kurz gesagt
Zweistufiges RL (zuerst durchdringbare Hindernisse, dann echte Kollisionen) trainiert fünf Parkour-Fähigkeiten; DAgger destilliert sie in eine einzige Tiefenbild-Policy, die an Bord kostengünstiger Unitree-A1- und Go1-Roboter läuft.
Warum es wichtig ist
Die Policy läuft auf kostengünstigen Vierbeinern ausschließlich mit Rechenleistung, Tiefensensorik und Stromversorgung an Bord, ohne Referenzbewegungsdaten, und dieselbe Trainingspipeline steuert zwei Roboter (A1 und Go1). In den Vergleichen der Autoren war es das Vortraining mit weichen Nebenbedingungen, das Klettern und Springen überhaupt erst lernbar machte.
Problem
Parkour verlangt von einem Roboter, Hindernisse wahrzunehmen und bei hoher Geschwindigkeit unter vielfältigen agilen Fähigkeiten zu wählen, doch frühere Lernmethoden liefern entweder vielfältige, aber blinde oder bildbasierte, aber spezialisierte Fähigkeiten und nutzen dafür Belohnungsfunktionen mit vielen Termen oder Motion-Capture-Daten von Tieren ohne egozentrische Sicht. Für kostengünstige kleine Roboter sind die Hindernisse im Verhältnis zur Körpergröße groß, die Tiefenwahrnehmung an Bord hinkt bei schneller Bewegung hinterher (0,2 s Verzögerung bei 1 m/s entsprechen 0,2 m Fehler), und Parkour treibt die Motoren an ihre Grenzen.
Lösungsansatz
Jede Fähigkeit (Klettern, Springen, Kriechen, Neigen, Laufen) wird in IsaacGym mit PPO aus privilegierten Hindernisinformationen trainiert, mit einer Belohnung für Vorwärtsgeschwindigkeit nahe 1 m/s, mechanische Energie und Überleben. Stufe eins macht Hindernisse durchdringbar und bestraft Durchdringungsvolumen und -tiefe unter einem automatischen Curriculum (weiche Dynamik-Nebenbedingungen, inspiriert von der direkten Kollokation); Stufe zwei verfeinert mit echten Kollisionen. Anschließend destilliert DAgger die fünf Spezialisten in eine einzige GRU-Policy, die Propriozeption und ein 48×64-Tiefenbild erhält und mit angeglichener Tiefenvorverarbeitung und einer Drehmomentbegrenzung von 25 Nm eingesetzt wird.
Wichtigste Erkenntnisse
- Den Roboter anfangs Hindernisse durchdringen zu lassen, mit einer Durchdringungsstrafe und einem automatischen Curriculum, löst das Explorationsproblem: Ohne dies und mit der RND-Explorationsbaseline wurde kein Klettern oder Springen gelernt.
- Eine einzige Belohnung aus Vorwärtsfortschritt, quadrierter mechanischer Leistung und einem Überlebensbonus brachte alle fünf Fähigkeiten hervor, ohne fähigkeitsspezifisches Abstimmen der Belohnung oder Bewegungsdaten.
- Die Policy braucht ein Gedächtnis: Beim Klettern müssen die Hinterbeine auf Hindernisabmessungen reagieren, die in früheren Tiefenbildern gesehen wurden, daher gelingt der GRU-Policy, woran eine MLP-Policy scheitert.
- Die Destillation im Aktionsraum mit DAgger führt Spezialisten mit unterschiedlichen Netzgewichten zu einer einzigen Bild-Policy zusammen, was eine Destillation im latenten Raum nach Art von RMA nicht leisten kann.
- Die Tiefenbilder wurden zwischen Simulation (Clipping, Gaußsches Rauschen, zufällige Artefakte) und realer Kamera (Clipping, Füllen von Löchern, räumliche und zeitliche Filter) angeglichen; ein erneutes Versuchen nach gescheitertem Klettern trat auf, ohne programmiert worden zu sein.
Hauptergebnisse
- Reale A1-Tests in Innenräumen, 10 Versuche pro Einstellung: 80 % Erfolg beim Klettern auf 0,40 m (1,53× Roboterhöhe), 80 % beim Springen über 0,60 m breite Lücken (1,5× Roboterlänge), 90 % beim Kriechen unter 0,2 m (0,76× Roboterhöhe) und Durchzwängen durch 0,28 m breite Spalte durch Neigen; bestes Ergebnis aller verglichenen Methoden, einschließlich des eingebauten MPC-Reglers des A1.
- Erfolg der destillierten Parkour-Policy in der Simulation (100 Versuche × 3 Seeds, Testhindernisse schwerer als im Training): Klettern 86 %, Springen 80 %, Kriechen 100 %, Neigen 73 %, Laufen 100 %.
- Baselines in der Simulation: Blind 0 % bei Klettern, Springen und Neigen und 13 % beim Kriechen; MLP 0 % beim Klettern und 1 % beim Springen; No Distill 0 % bei Klettern, Springen und Neigen; RMA, nur beim Neigen getestet, 74 %.
- Mit Vortraining unter weicher Dynamik trainierte Spezialisten-Orakel erreichten im Mittel etwa 95 % Erfolg über Klettern, Springen, Kriechen und Neigen; ohne dieses 0 % bei Klettern und Springen.
- Im Freien übersprang der Roboter eine 0,6 m breite Lücke zwischen zwei Steinhockern, erklomm aufeinanderfolgende 0,42 m hohe Stufen und kroch unter einem Campingwagen hindurch.
- Trainingsaufwand: jeder Spezialist 12 h mit weicher Dynamik plus 6 h mit harter Dynamik auf einer Maschine mit einer Nvidia 3090; Destillation auf vier Maschinen mit je einer 3090.
Einschränkungen
- Die Simulationsumgebungen werden von Hand konstruiert, sodass neue Fähigkeiten nur gelernt werden können, wenn neue Hindernisumgebungen zur Simulation hinzugefügt werden (laut den Autoren).
- Die Policy nutzt nur Tiefe; ein Training mit RGB und semantischer Information bleibt künftiger Arbeit überlassen (laut den Autoren).
- Die Tiefe an Bord wird wegen der begrenzten Rechenleistung nur mit 10 Hz aktualisiert, während die Policy mit 50 Hz auf dem jeweils neuesten verfügbaren Tiefen-Embedding läuft.
- Quantitative Tests in der realen Welt wurden nur mit dem A1 durchgeführt, mit 10 Versuchen pro Einstellung; für die Neigeaufgabe mit 0,28 m wird keine reale Erfolgsrate angegeben.
Wirkung auf das Fachgebiet
Finalist für den CoRL 2023 Best Systems Paper Award und 356-mal zitiert. Die Autoren präsentieren es als Open-Source-System zum Trainieren und Einsetzen agiler Fortbewegungs-Policies; die Projektseite verlinkt das Code-Repository.
Zusammenfassung
Parkour ist eine große Herausforderung für die Fortbewegung mit Beinen, die von Robotern verlangt, in komplexen Umgebungen schnell verschiedene Hindernisse zu überwinden. Bestehende Methoden können mithilfe von Referenzdaten von Tieren oder komplexen Belohnungen entweder vielfältige, aber blinde Fortbewegungsfähigkeiten oder bildbasierte, aber spezialisierte Fähigkeiten erzeugen. Autonomer Parkour erfordert jedoch, dass Roboter generalisierbare Fähigkeiten lernen, die sowohl bildbasiert als auch vielfältig sind, um verschiedene Situationen wahrzunehmen und darauf zu reagieren. In dieser Arbeit schlagen wir ein System vor, um eine einzige End-to-End-Parkour-Policy auf Bildbasis mit vielfältigen Parkour-Fähigkeiten zu lernen, mit einer einfachen Belohnung und ohne jegliche Referenzbewegungsdaten. Wir entwickeln eine von der direkten Kollokation inspirierte Reinforcement-Learning-Methode, um Parkour-Fähigkeiten zu erzeugen, darunter das Überklettern hoher Hindernisse, das Überspringen großer Lücken, das Kriechen unter niedrigen Barrieren, das Durchzwängen durch schmale Spalte und das Laufen. Wir destillieren diese Fähigkeiten in eine einzige bildbasierte Parkour-Policy und übertragen sie mithilfe seiner egozentrischen Tiefenkamera auf einen vierbeinigen Roboter. Wir zeigen, dass unser System zwei verschiedene kostengünstige Roboter befähigt, autonom geeignete Parkour-Fähigkeiten auszuwählen und auszuführen, um anspruchsvolle reale Umgebungen zu durchqueren.
Links
- arXiv 2309.05665: https://arxiv.org/abs/2309.05665
- DOI 10.48550/arXiv.2309.05665: https://doi.org/10.48550/arXiv.2309.05665
- PDF: https://proceedings.mlr.press/v229/zhuang23a/zhuang23a.pdf
- Code: https://github.com/ZiwenZhuang/parkour
- Projektseite: https://robot-parkour.github.io/