Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Deep Drone Racing: Learning Agile Flight in Dynamic Environments

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

Licencias

  • Acceso abierto
  • Artículo: CC BY 4.0

Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.

En resumen

Una CNN mapea una imagen de la cámara de a bordo a una dirección objetivo y una velocidad; un planificador de mínimo jerk y un controlador clásico hacen volar el cuadrirrotor, de modo que recorre circuitos con puertas en movimiento sin mapa ni pose global.

Por qué importa

La estabilidad queda a cargo de un controlador clásico mientras que la red solo se ocupa de la percepción, de modo que la parte aprendida puede ejecutarse a unos 10 Hz en un ordenador de a bordo pequeño. Como los comandos se dan en el marco del cuerpo, el sistema no sufre la deriva que afecta a los baselines de odometría visual-inercial a alta velocidad.

Problema

Un dron de carreras que sigue una trayectoria global precalculada necesita una estimación de estado muy precisa, y la localización de tipo SLAM deriva con el desenfoque de movimiento y las aceleraciones altas. Estos métodos además suponen un mundo estático, por lo que los waypoints no pueden fijarse de antemano cuando las puertas se mueven.

Solución propuesta

Una CNN basada en ResNet toma una imagen RGB de 300 × 200 y produce una dirección objetivo en coordenadas de imagen normalizadas más una velocidad normalizada. El objetivo se retroproyecta a un punto 3D, se calcula una trayectoria de intercepción de estado de mínimo jerk para alcanzarlo, y un controlador de bajo nivel existente la sigue, recalculándola con horizonte deslizante. La red se entrena imitando a un experto que sigue una trayectoria global de mínimo snap, con datos de varias disposiciones de puertas para que se las arregle con puertas que se mueven en el momento de la prueba.

Ideas clave

  • Predecir un waypoint y una velocidad, en lugar de velocidades angulares del cuerpo, permite que un controlador clásico mantenga estable el cuadrirrotor; un regresor de velocidades angulares de extremo a extremo no pudo atravesar más de una puerta en simulación
  • Entrenar con varias disposiciones estáticas de puertas bastó para que la política volara a través de puertas que se mueven durante el vuelo
  • La política aprendida no está limitada por sus demostraciones: se las arregla con puertas en movimiento, algo que el experto al que imita no puede hacer
  • Los datos de entrenamiento en el mundo real pueden recogerse de forma segura llevando el cuadrirrotor a mano por el circuito mientras el experto etiqueta cada imagen
  • Una sola red entrenada cubre un rango de agresividad, ya que el usuario escala la velocidad predicha por una velocidad máxima elegida

Resultados principales

  • Simulación, circuito de 8 puertas y 116 m: el método completa la tarea de forma fiable hasta una velocidad máxima de 9 m/s, degradándose gradualmente a velocidades mayores; el baseline VIO falla por la deriva acumulada. La sección 4.2 indica cinco ejecuciones por configuración, mientras que el pie de la Figura 4 indica 10 ejecuciones por velocidad
  • Simulación con puertas en movimiento a 8 m/s: ningún choque con movimientos de la puerta de hasta 1,5 veces su diámetro, mientras que el baseline VIO falla incluso con movimientos pequeños de la puerta
  • Prueba real de hueco estrecho: la red atravesó la puerta en el 100 %, 80 % y 20 % de las ejecuciones desde ángulos iniciales de 0–30°, 30–70° y 70–90° (puerta invisible al inicio en el último rango), frente al 70 %, 0 % y 0 % de un detector de ventanas diseñado a mano
  • Prueba real de oclusión: el enfoque fue robusto a oclusiones de hasta el 50 % del área de la puerta, mientras que el baseline diseñado a mano falló con oclusiones moderadas
  • Circuito real de 4 puertas y 21 m: mayor tasa de éxito y velocidad que un baseline de planificación y seguimiento basado en VIO; los pilotos humanos profesionales e intermedios fueron más rápidos pero chocaron con más frecuencia
  • Comparación en simulación: el baseline de velocidades angulares de extremo a extremo nunca atravesó más de una puerta en un circuito de 4 puertas y 43 m, incluso con 35k muestras de entrenamiento frente a 5k del método propuesto

Limitaciones

  • El rendimiento se degradará si la apariencia del entorno cambia sustancialmente más allá de lo visto en el entrenamiento
  • Entrenar el sistema de percepción requiere una cantidad significativa de datos recogidos en el entorno de aplicación
  • Donde la optimización de trayectorias no puede proporcionar una política que imitar, por ejemplo en giros extremadamente cerrados, es probable que el aprendiz también falle
  • Por encima de 9 m/s en simulación, la frecuencia de predicción limitada (30 Hz) no puede seguir las grandes velocidades de alabeo y cabeceo
  • Los pilotos humanos completaron el circuito real más rápido, con maniobras más ágiles en giros cerrados sobre las que el sistema aún no puede razonar

Impacto en el campo

Ganador del CoRL 2018 Best Systems Paper Award, con 166 citas. El artículo enlaza un vídeo complementario; no publica código ni datos.

Resumen

El vuelo ágil autónomo plantea retos fundamentales en robótica, como hacer frente a una estimación de estado poco fiable, reaccionar de forma óptima a entornos que cambian dinámicamente y acoplar percepción y acción en tiempo real bajo fuertes restricciones de recursos. En este artículo consideramos estos retos en el contexto de las carreras de drones autónomas basadas en visión en entornos dinámicos. Nuestro enfoque combina una red neuronal convolucional (CNN) con un sistema de planificación de rutas y control del estado del arte. La CNN mapea directamente imágenes en bruto a una representación robusta en forma de un waypoint y una velocidad deseada. Esta información la utiliza después el planificador para generar un segmento corto de trayectoria de mínimo jerk y los comandos de motor correspondientes para alcanzar el objetivo deseado. Demostramos nuestro método en escenarios de vuelo ágil autónomo, en los que un cuadrirrotor basado en visión recorre circuitos de carreras de drones con puertas posiblemente en movimiento. Nuestro método no requiere ningún mapa explícito del entorno y se ejecuta completamente a bordo. Probamos extensamente la precisión y la robustez del enfoque en simulación y en el mundo físico. También evaluamos nuestro método frente a enfoques de navegación del estado del arte y frente a pilotos humanos profesionales de drones.

Enlaces

  • 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

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.