No es demasiado difícil hacer un dron que pueda volar muy rápido, y no es demasiado difícil hacer un dron que pueda evitar obstáculos. Hacer un dron que pueda hacer ambas cosas a la vez es mucho más difícil, pero es necesario para que sean útiles en el mundo real.
En MIT CSAIL, Pete Florence (en el laboratorio de Russ Tedrake ) ha desarrollado un nuevo marco de planificación de movimiento llamado NanoMap, que utiliza una secuencia de instantáneas 3D para permitir que los drones de movimiento rápido (10 m / s) naveguen alrededor de obstáculos con seguridad incluso si no están del todo seguros de dónde están.
Aquí hay un video del dron de MIT en acción. No se preocupe si no capta todos los detalles, ya que analizaremos lo que está sucediendo después:
No me importa decírtelo, este es uno de esos documentos que me recuerda que tengo un título en geología más que en robótica. Oof. Entonces, comencemos con la idea clave de NanoMap, que el documento hace útil explícitamente allí en el resumen:
La idea clave de NanoMap es almacenar un historial de transformaciones de pose relativas ruidosas y buscar un conjunto correspondiente de mediciones de sensores de profundidad para la vista de incertidumbre mínima de un punto consultado en el espacio.
Si eso no tiene sentido, estoy allí contigo, pero esta cifra debería ayudar un poco con la idea básica:
A medida que el dron avanza, toma una secuencia continua de instantáneas del sensor de profundidad (en algo como 30 Hz, dependiendo del sensor), representada por los triángulos grises * de arriba. ¿Ves esa pequeña línea azul curva? Digamos que esa es la trayectoria que quieres que el dron vuele a continuación. Para llegar al primer punto en esa trayectoria (el punto rojo en el segundo diagrama de la izquierda), el dron tiene una visión lo suficientemente buena de lo que está pasando desde donde está. Pero para planear más adelante, el dron necesita información sobre áreas fuera del campo de visión actual de su sensor de profundidad. NanoMap luego comienza a mirar hacia atrás a través de su colección de instantáneas, hasta que encuentra una que muestra el área que necesita planificar. Si no puede encontrar una buena instantánea, tendrá que reducir la velocidad y mirar un poco, pero si encuentra una, tiene la información que necesita para moverse mucho más agresivamente, ya que ya sabe dónde podrían haber obstáculos. ser.
El problema con esta técnica es que cuanto más atrás tiene que buscar el dron para encontrar la instantánea correcta, los archivosEs cierto que va a ser exactamente dónde estaba (en relación con el lugar donde se encuentra ahora) cuando se tomó esa instantánea y, por lo tanto, dónde debe moverse para evitar cualquier obstáculo que contenga la instantánea. Esto se debe al hecho de que los robots autónomos tienden a ser pésimos para rastrear independientemente su propia posición. Debido a que las IMU no son perfectas, y las cámaras y el lidar no son perfectos, un robot que esté calculando dónde está en relación con el lugar donde se encuentra será cada vez menos preciso.
Muchos robots que se ubican a sí mismos en los mapas que construyen (a través de la localización y mapeo simultáneos, o SLAM) usan lo que se llama cierre de bucle para tratar de compensar esto. Vagan alrededor, construyendo un mapa que gradualmente se vuelve menos preciso a medida que los sensores del robot se desplazan y se vuelve menos seguro acerca de su ubicación. Después de que el robot ha vagado por un tiempo, vuelve a girar, y una vez que reconoce dónde se inició, puede comparar el punto de inicio que recordaba con lo que ve ahora y cerrar el ciclo, calibrando (hasta cierto punto) el resto del mapa. Aquí hay un video de esto en práctica: observe cómo el mapa se ajusta a algo mucho más angular en ángulo recto (y preciso) tan pronto como el robot reconoce que ha estado en esa gran sala ovalada antes:
Esta es la forma convencional de hacer navegación autónoma: Compensar la incertidumbre a través de múltiples vistas de los mismos puntos de referencia -espacios u objetos- que pueden calibrarse entre sí, terminando con un bonito gran mapa preciso. NanoMap elimina todo esto por completo. En cambio, solo usa esa secuencia de instantáneas y compensa la incertidumbre modelando qué es la incertidumbre en realidad para cada instantánea, buscando la instantánea con la menor incertidumbre y luego incorporando la incertidumbre en el plan de movimiento. Cuanto mayor sea la incertidumbre, más lejos se alejará el dron de los obstáculos, ya que el espacio en el que cada obstáculo podría ser potencialmente se agranda.
Con los drones, la mayor parte de la incertidumbre proviene de la precisión de la medición de la aceleración con una IMU. No obtener una medición de aceleración correcta (lo que en realidad nunca se hace) conduce a imprecisiones en las estimaciones de velocidad y posición que empeoran con el tiempo. Esto se llama deriva, y cuanto más extremas sean las maniobras que está intentando su dron, más grave será la deriva, lo que significa que los drones que se mueven más rápido y más dinámicamente encuentran mucho más difícil estimar con precisión dónde están, como es lógico.
En las pruebas, los investigadores encontraron que su modelado de incertidumbre realmente comenzó a dar sus frutos cuando la deriva empeoraba mucho más de 20 cm / s. Hasta unos 75 cm / s de deriva, la planificación con NanoMap y la incorporación de la incertidumbre lograron evitar que el dron se estrellara entre el 97 y el 98 por ciento de las veces. Con una deriva de más de 1 m / s, el dron solo fue seguro el 10 por ciento del tiempo, pero eso fue tres veces más robusto que las pruebas sin modelado de incertidumbre. El comunicado de prensa lo resume en general:
Si NanoMap no modeló la incertidumbre y el dron se alejó solo un 5 por ciento de lo que se esperaba, el dron se estrellaría más de una vez cada cuatro vuelos. Mientras tanto, cuando se consideró la incertidumbre, la tasa de accidentes se redujo al 2 por ciento.
Entonces eso es bastante bueno, ¿verdad? MIT ya ha demostrado qué tan bien funciona esto a través de experimentos de vuelo realizados como parte del programa FLA de DARPA, y NanoMap es de código abierto y está disponible para que juegues en Github.