Un controlador de drones robusto, entrenado con algoritmos de aprendizaje por refuerzo desarrollados por investigadores de la USC permite que los drones soporten un trato severo, incluyendo ser arrojado y empujado. Crédito:Haotian Mai
Drones, específicamente cuadricópteros, son un lote adaptable. Se han utilizado para evaluar daños después de desastres, entregar sogas y chalecos salvavidas en áreas demasiado peligrosas para los rescatistas en tierra, inspeccionar edificios en llamas y entregar muestras médicas.
Pero para alcanzar su máximo potencial, tienen que ser duros. En el mundo real, los drones se ven obligados a navegar por formas inciertas en edificios derrumbados, evitar obstáculos y afrontar condiciones difíciles, incluyendo tormentas y terremotos.
En el Departamento de Ciencias de la Computación de la Escuela de Ingeniería de USC Viterbi, Los investigadores han creado drones artificialmente inteligentes que pueden recuperarse rápidamente cuando se los empuja, pateado o al chocar con un objeto. El dron autónomo "aprende" cómo recuperarse de una serie de situaciones desafiantes que se le presentan durante un proceso de simulación.
"En la actualidad, los controladores diseñados para estabilizar cuadricópteros requieren un ajuste cuidadoso e incluso entonces, están limitados en términos de solidez a la interrupción y son específicos del modelo, ", dijo el autor principal del estudio, Artem Molchanov, un doctorado candidato a Informática en el Laboratorio Integrado de Sistemas Robóticos de la USC.
"Estamos tratando de eliminar este problema y presentar un enfoque que aproveche los avances recientes en el aprendizaje por refuerzo para que podamos eliminar por completo los controladores de ajuste manual y hacer que los drones sean súper resistentes a las interrupciones".
El papel, llamado "Sim-to- (Multi) -Real:Transferencia de políticas de control robustas de bajo nivel a múltiples cuadrotores, "se presentó en la Conferencia Internacional sobre Robots y Sistemas Inteligentes.
Los coautores fueron Tao Chen, Estudiante de maestría en informática de la USC; Wolfgang Honig, un ex Ph.D. en ciencias de la computación de la USC. estudiante; James A. Preiss, un doctorado en ciencias de la computación estudiante; Nora Ayanian, Profesor asistente de ciencias de la computación de la USC y presidente de carrera temprana Andrew y Erna Viterbi; y Gaurav Sukhatme, profesor de informática e ingeniería eléctrica e informática y vicedecano ejecutivo de la USC Viterbi.
Aprendiendo a volar
Los especialistas en robótica llevan años recurriendo a las aves en busca de inspiración para volar. Pero los drones tienen un largo camino por recorrer antes de que sean tan ágiles como sus contrapartes emplumadas. Cuando un dron termina en una orientación indeseable, como al revés, puede resultarle difícil enderezarse. "Un dron es un sistema inherentemente inestable, "dijo Molchanov.
"Controlar un dron requiere mucha precisión. Especialmente cuando ocurre algo repentino, necesitas una secuencia rápida y precisa de entradas de control ". Pero, si un dron pudiera aprender de la experiencia, como los humanos, sería más capaz de superar estos desafíos.
Con esto es mente el equipo de investigadores de la USC creó un sistema que utiliza un tipo de aprendizaje automático, un subconjunto de inteligencia artificial, llamado aprendizaje por refuerzo para entrenar al dron en un entorno simulado. Más precisamente, para entrenar el "cerebro del dron, "o controlador de red neuronal.
"El aprendizaje por refuerzo está inspirado en la biología; es muy similar a cómo se puede entrenar a un perro con una recompensa cuando completa una orden, "dijo Molchanov.
Por supuesto, los drones no reciben bocadillos. Pero en el proceso de aprendizaje por refuerzo, reciben una recompensa algorítmica:una señal de refuerzo matemático, que es un refuerzo positivo que utiliza para inferir qué acciones son las más deseables.
Autor principal Artem Molchanov (centro), estudiante de doctorado en informática, con los coautores, el profesor Gaurav Sukhatme y la profesora asistente Nora Ayanian. Crédito:Haotian Mai
Aprendizaje en simulación
El dron se inicia en modo simulación. En primer lugar, no sabe nada sobre el mundo o lo que está tratando de lograr, dijo Molchanov. Intenta saltar un poco o girar en el suelo.
Finalmente, aprende a volar un poco y recibe la señal de refuerzo positiva. Gradualmente, a través de este proceso, entiende cómo equilibrarse y finalmente volar. Luego, las cosas se complican más.
Mientras todavía está en simulación, los investigadores lanzan condiciones aleatorias al controlador hasta que aprende a lidiar con ellas con éxito. Añaden ruido a la entrada para simular un sensor realista. Cambian el tamaño y la fuerza del motor y empujan el dron desde diferentes ángulos.
En el transcurso de 24 horas, el sistema procesa 250 horas de capacitación en el mundo real. Como ruedas de entrenamiento el aprendizaje en modo de simulación permite que el dron aprenda por sí solo en un entorno seguro, antes de ser liberado en la naturaleza. Finalmente, encuentra soluciones a todos los desafíos que se le presentan.
"En la simulación, podemos ejecutar cientos de miles de escenarios, "dijo Molchanov.
"Seguimos cambiando ligeramente el simulador, lo que permite que el dron aprenda a adaptarse a todas las posibles imperfecciones del entorno ".
Tres cuadricópteros de diferentes tamaños controlados por la misma política entrenados íntegramente en simulación. Crédito:Molchanov et al.
Un desafío del mundo real
Para probar su enfoque, los investigadores trasladaron el controlador entrenado a drones reales desarrollados en el Laboratorio de Coordinación Automática de Equipos de Ayanian. En una instalación interior de drones con red, volaron los drones y trataron de arrojarlos pateándolos y empujándolos.
Los drones lograron corregirse a sí mismos de golpes moderados (incluidos empujones, patadas ligeras y choques con un objeto) el 90% de las veces. Una vez entrenado en una máquina, el controlador pudo generalizar rápidamente a cuadricópteros con diferentes dimensiones, pesos y tamaños.
Si bien los investigadores se centraron en la robustez de este estudio, se sorprendieron al descubrir que el sistema también se desempeñaba de manera competitiva en términos de seguimiento de trayectoria, moviéndose del punto A al B al C. Si bien no está específicamente capacitado para este propósito, Parece que el riguroso entrenamiento de simulación también equipó al controlador para seguir un objetivo en movimiento con precisión.
Los investigadores señalan que aún queda trabajo por hacer. En este experimento, ajustaron manualmente algunos parámetros en los drones, por ejemplo, limitar el empuje máximo, pero el siguiente paso es hacer que los drones sean completamente independientes. El experimento es un paso prometedor hacia la construcción de drones robustos que puedan sintonizarse y aprender de la experiencia.
Profesor Sukhatme, Asesor de Molchanov y Cátedra Dotada de la Fundación Fletcher Jones en Ciencias de la Computación, Dijo que la investigación resuelve dos problemas importantes en robótica:robustez y generalización.
"Desde una perspectiva de seguridad, la robustez es muy importante. Si está construyendo un sistema de control de vuelo, no puede ser frágil y desmoronarse cuando algo sale mal, "dijo Sukhatme.
"La otra cosa importante es la generalización. A veces, puede crear un sistema muy seguro, pero será muy especializado. Esta investigación muestra lo que un Ph.D. el estudiante puede lograr, y estoy muy orgulloso de Artem y del equipo que formó ".