Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Deep Drone Racing: Learning Agile Flight in Dynamic Environments

Autoren: Elia Kaufmann, Antonio Loquercio, René Ranftl, Alexey Dosovitskiy, Vladlen Koltun, Davide Scaramuzza · CoRL 2018

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

Ein CNN bildet ein Bild der Bordkamera auf eine Zielrichtung und Geschwindigkeit ab; ein Minimum-Jerk-Planer und ein klassischer Regler fliegen den Quadrokopter, sodass er ohne Karte oder globale Pose Strecken mit beweglichen Toren durchrast.

Warum es wichtig ist

Die Stabilität bleibt Aufgabe eines klassischen Reglers, während das Netz nur die Wahrnehmung übernimmt, sodass der gelernte Teil mit etwa 10 Hz auf einem kleinen Bordcomputer laufen kann. Da die Befehle im körperfesten Koordinatensystem gegeben werden, leidet das System nicht unter der Drift, die Baselines mit visuell-inertialer Odometrie bei hoher Geschwindigkeit beeinträchtigt.

Problem

Eine Renndrohne, die einer vorab berechneten globalen Trajektorie folgt, braucht eine sehr genaue Zustandsschätzung, und Lokalisierung im SLAM-Stil driftet bei Bewegungsunschärfe und hoher Beschleunigung. Solche Methoden setzen zudem eine statische Welt voraus, sodass Wegpunkte nicht im Voraus festgelegt werden können, wenn sich Tore bewegen.

Lösungsansatz

Ein auf ResNet basierendes CNN nimmt ein 300 × 200 RGB-Bild entgegen und gibt eine Zielrichtung in normierten Bildkoordinaten sowie eine normierte Geschwindigkeit aus. Das Ziel wird in einen 3D-Punkt rückprojiziert, eine Minimum-Jerk-Trajektorie zum Abfangen des Zielzustands wird berechnet, um ihn zu erreichen, und ein vorhandener Low-Level-Regler folgt ihr, wobei sie nach dem Prinzip des zurückweichenden Horizonts neu berechnet wird. Das Netz wird durch Imitation eines Experten trainiert, der einer globalen Minimum-Snap-Trajektorie folgt, mit Daten aus mehreren Toranordnungen, damit es mit Toren zurechtkommt, die sich zur Testzeit bewegen.

Wichtigste Erkenntnisse

  • Die Vorhersage eines Wegpunkts und einer Geschwindigkeit statt Körperdrehraten lässt einen klassischen Regler den Quadrokopter stabil halten; ein End-to-End-Regressor für Körperdrehraten konnte in der Simulation nicht mehr als ein Tor passieren
  • Training auf mehreren statischen Toranordnungen genügte, damit die Policy durch Tore fliegt, die sich während des Flugs bewegen
  • Die gelernte Policy ist nicht durch ihre Demonstrationen begrenzt: Sie kommt mit beweglichen Toren zurecht, was der Experte, den sie imitiert, nicht kann
  • Trainingsdaten in der realen Welt lassen sich sicher sammeln, indem man den Quadrokopter von Hand durch die Strecke trägt, während der Experte jedes Bild labelt
  • Ein einziges trainiertes Netz deckt verschiedene Grade an Aggressivität ab, da der Nutzer die vorhergesagte Geschwindigkeit mit einer gewählten Höchstgeschwindigkeit skaliert

Hauptergebnisse

  • Simulation, 116-m-Strecke mit 8 Toren: Die Methode erfüllt die Aufgabe zuverlässig bis zu einer Höchstgeschwindigkeit von 9 m/s und verschlechtert sich bei höheren Geschwindigkeiten allmählich; die VIO-Baseline scheitert an akkumulierter Drift. Abschnitt 4.2 nennt fünf Läufe pro Einstellung, die Bildunterschrift von Figure 4 dagegen 10 Läufe pro Geschwindigkeit
  • Simulation mit beweglichen Toren bei 8 m/s: keine Abstürze bei Torbewegungen bis zum 1,5-Fachen des Tordurchmessers, während die VIO-Baseline schon bei kleinen Torbewegungen scheitert
  • Realer Test mit enger Lücke: Das Netz passierte das Tor in 100 %, 80 % und 20 % der Läufe bei Anfangswinkeln von 0–30°, 30–70° und 70–90° (im letzten Bereich ist das Tor zu Beginn nicht sichtbar), gegenüber 70 %, 0 % und 0 % für einen handgefertigten Fensterdetektor
  • Realer Verdeckungstest: Der Ansatz war robust gegenüber Verdeckungen von bis zu 50 % der Torfläche, während die handgefertigte Baseline bei mäßiger Verdeckung versagte
  • Reale 21-m-Strecke mit 4 Toren: höhere Erfolgsrate und Geschwindigkeit als eine VIO-basierte Planungs- und Verfolgungs-Baseline; professionelle und fortgeschrittene menschliche Piloten waren schneller, stürzten aber häufiger ab
  • Simulationsvergleich: Die End-to-End-Baseline für Körperdrehraten passierte auf einer 43-m-Strecke mit 4 Toren nie mehr als ein Tor, selbst mit 35k Trainingsbeispielen gegenüber 5k für die vorgeschlagene Methode

Einschränkungen

  • Die Leistung wird nachlassen, wenn sich das Erscheinungsbild der Umgebung wesentlich über das im Training Gesehene hinaus verändert
  • Das Training des Wahrnehmungssystems erfordert eine erhebliche Menge an Daten, die in der Einsatzumgebung gesammelt werden
  • Wo die Trajektorienoptimierung keine nachzuahmende Policy liefern kann, etwa bei extrem engen Kurven, dürfte auch der Lernende scheitern
  • Oberhalb von 9 m/s in der Simulation kann die begrenzte Vorhersagerate (30 Hz) mit den großen Roll- und Nickraten nicht Schritt halten
  • Menschliche Piloten absolvierten die reale Strecke schneller, mit agileren Manövern in scharfen Kurven, über die das System noch nicht schlussfolgern kann

Wirkung auf das Fachgebiet

Gewinner des CoRL 2018 Best Systems Paper Award, mit 166 Zitationen. Das Paper verlinkt ein ergänzendes Video; Code oder Daten werden nicht veröffentlicht.

Zusammenfassung

Autonomer agiler Flug wirft grundlegende Herausforderungen der Robotik auf, etwa den Umgang mit unzuverlässiger Zustandsschätzung, die optimale Reaktion auf sich dynamisch verändernde Umgebungen und die Kopplung von Wahrnehmung und Handlung in Echtzeit unter starken Ressourcenbeschränkungen. In diesem Paper betrachten wir diese Herausforderungen im Kontext autonomer, visionsbasierter Drohnenrennen in dynamischen Umgebungen. Unser Ansatz kombiniert ein Convolutional Neural Network (CNN) mit einem Bahnplanungs- und Regelungssystem auf dem Stand der Technik. Das CNN bildet Rohbilder direkt auf eine robuste Repräsentation in Form eines Wegpunkts und einer Sollgeschwindigkeit ab. Diese Information nutzt anschließend der Planer, um ein kurzes Minimum-Jerk-Trajektoriensegment und die entsprechenden Motorbefehle zu erzeugen, mit denen das gewünschte Ziel erreicht wird. Wir demonstrieren unsere Methode in Szenarien autonomen agilen Flugs, in denen ein visionsbasierter Quadrokopter Drohnenrennstrecken mit möglicherweise beweglichen Toren durchfliegt. Unsere Methode benötigt keinerlei explizite Karte der Umgebung und läuft vollständig an Bord. Wir testen die Präzision und Robustheit des Ansatzes ausführlich in der Simulation und in der physischen Welt. Außerdem vergleichen wir unsere Methode mit Navigationsansätzen auf dem Stand der Technik und mit professionellen menschlichen Drohnenpiloten.

Links

  • arXiv 1806.08548: https://arxiv.org/abs/1806.08548
  • DOI 10.48550/arXiv.1806.08548: https://doi.org/10.48550/arXiv.1806.08548
  • PDF: http://proceedings.mlr.press/v87/kaufmann18a/kaufmann18a.pdf

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.