Aprendizaje automático y navegación clásica, orientación y control en la exploración espacial

Debido a la creciente disponibilidad de grandes cantidades de datos y poder computacional, el aprendizaje automático (ML) está brindando resultados cada vez mejores en varios campos. Se han realizado muchas investigaciones sobre la percepción y el control robóticos con varios algoritmos de ML, incluida la navegación y el control en entornos estocásticos y parcialmente observados. Control sin modelo.

De particular interés para mí, el aprendizaje de refuerzo profundo (DRL) se ha aplicado a varias tareas de control en simulaciones. Aquí hay un ejemplo para lograr el control óptimo para el aterrizaje de un cohete con DRL sin modelo. Sin embargo, que yo sepa, no hay muchos ejemplos de ML que se utilicen para cohetes reales o navegación y controles de naves espaciales.

  • ¿Son el enfoque clásico y el control óptimo o robusto más sofisticado aún mejor que los algoritmos ML actuales cuando se trata de la implementación para vehículos espaciales?

  • ¿Se usaron algoritmos de ML en combinación con métodos de control clásicos o para generar trayectorias de guía para alguna misión espacial?

¡Pregunta realmente interesante! He ajustado ligeramente la redacción y el formato, espero que no te importe. Si tiene la oportunidad, verifique dos veces para ver si es correcto, siéntase libre de ajustar más y ¡bienvenido a Stack Exchange! Noté que estás activo con ROS; aquí hay una pregunta basada en ROS: ROS se está ejecutando en el Robonaut, pero ¿el Robonaut se está ejecutando en la ISS (posterior a 2015)? y muchas otras publicaciones etiquetadas con robótica también.

Respuestas (1)

Este es un intento de la primera parte de su pregunta: "¿Son los algoritmos de control clásicos mejores que los enfoques de aprendizaje automático?". Dado que personalmente estoy más interesado en los vehículos de lanzamiento, la respuesta se trata principalmente de posibles aplicaciones de guía de lanzamiento teniendo en cuenta la eficiencia del combustible y la seguridad. Creo que está bien porque los vehículos de lanzamiento son las áreas más importantes para aplicar la teoría de control (estoy convencido de que las sondas del espacio profundo no tienen módulos GN&C muy complejos, sus trayectorias se calculan y optimizan en el suelo; si esto no es correcto, déjenme saber).

En cuanto a la segunda parte ("se usó ML para guiar cualquier misión real"), no tengo conocimiento de ella. He leído bastante sobre algoritmos de orientación al implementar UPFG y no encontré una sola aplicación de ML. Además, no hay mucha información disponible públicamente sobre los algoritmos más modernos (clasificados), por lo que es aún más difícil de decir. Agradecería cualquier información complementaria al respecto.

Ahora, en la pared de texto (lo siento, resultó más grande de lo que había planeado inicialmente).

Introducción: aprendizaje automático vs teoría de control

No asumo que todos aquí tengan conocimientos de ML y CT, así que solo unas pocas palabras para que todos estén en la misma página.

El aprendizaje automático (ML) es un subcampo de la informática y las estadísticas, con la idea clave de que un algoritmo aprenda cómo realizar alguna tarea a partir de muestras de datos, en lugar de programarla explícitamente. Por lo general, en una configuración supervisada , tenemos un conjunto de entradas de ejemplo y las salidas correctas correspondientes (que sabemos que debe dar el algoritmo). Luego, el sistema ML aprende cómo transformar esas entradas en las salidas correctas. Esto es muy útil si la tarea en cuestión es extremadamente difícil de resolver explícitamente, pero existe una gran cantidad de datos de los que podríamos aprender (por ejemplo, visión por computadora, traducción de idiomas).

El aprendizaje por refuerzo (RL) es un tipo más específico de ML, en el que el algoritmo, en lugar de recibir pares de entrada-salida, interactúa con algún entorno para aprender a realizar una tarea determinada lo mejor posible. En esta configuración no tenemos muestras de datos en , sino que existe un entorno activo que reacciona dinámicamente a las acciones del agente (los ejemplos incluyen juegos de computadora, robótica, sistemas de control).

La teoría de control (CT) es una rama muy amplia de las matemáticas relacionada con el control de sistemas dinámicos, generalmente continuos. Hay un objeto dado que podemos observar e interactuar, y un controlador que, dada la señal observada y un estado deseado , genera comandos de control que se retroalimentan al objeto. El objetivo es hacer que el objeto alcance este estado deseado, pero también podríamos querer alcanzarlo lo más rápido posible, o ser resistente a algunas incertidumbres, etc. CT se basa en encontrar un modelo del objeto ( función de transferencia ) que describa cómo funciona. responde a alguna entrada y luego construye un controlador específicamente para este objeto en particular.

Guía de naves espaciales basada en CT

Todos los sistemas de orientación de naves espaciales que conozco usan orientación basada en alguna variante de la teoría de control (aunque solo soy un aficionado en este aspecto, por lo que una cita de algún experto real podría ser reveladora). El vehículo cohete es el objeto; podemos controlarlo usando cardanes del motor y, a veces, también acelerando, y podemos medir cosas como la posición, la velocidad, el momento angular, etc. El verdadero problema radica en las matemáticas del comportamiento del vehículo y las interacciones entre el vehículo y el entorno. La gravedad cambia con la altitud y también lo hace el rendimiento de los motores, la masa del vehículo cambia con el tiempo (y el acelerador), la posición y la velocidad dependen de las leyes dinámicas de Newton. Es difícil porque este sistema es dinámico: toda la trayectoria anterior influye en el estado futuro. Esto significa que lo que obtienes no

El enfoque CT requiere que uno formalice todas esas interacciones en un conjunto de ecuaciones matemáticas. Luego, uno tiene que invertir estas ecuaciones para encontrar una forma que emita una señal de control dado el estado deseado y conocido del vehículo. Sin profundizar en las complejidades de cómo se hace: la conclusión es que describe su sistema con matemáticas que luego manipula para encontrar una respuesta al problema (orientación óptima). Si desea leer más, he escrito una explicación algo elaborada del algoritmo de guía del transbordador espacial .

Problemas generales con ML

Un sistema de aprendizaje automático solo puede ser tan bueno como los datos que le proporcione. No hay otra fuente de conocimiento, por lo que si el algoritmo no ha encontrado alguna situación durante el aprendizaje, puede estar bastante seguro de que no podrá tratar casos similares más adelante. Esto lleva a otro problema: ¿cómo sabemos que los datos que tenemos son una representación perfecta del fenómeno real?

Como se describió anteriormente, un sistema RL aprende al interactuar con el entorno. Comienza prácticamente con prueba y error, probando varias estrategias, observando cómo responde el entorno a sus acciones, hasta que (con suerte) encuentre la forma más eficiente de realizar la tarea. Dado que el aprendizaje es un proceso iterativo que requiere cientos de miles de intentos, obviamente no es práctico dejar que un algoritmo aprenda en condiciones de vuelo reales. La única forma de hacer que esto funcione sería a través de entornos simulados.

Esto nos lleva al problema crucial. El ejemplo del juguete con un cohete 2D con 7 sensores y 3 señales de control es una simulación obviamente inadecuada del mundo real: un algoritmo ML entrenado en tal "mundo" no funcionaría bien en el escenario del mundo real. Habría aprendido un problema diferente de lo que realmente le pediríamos que hiciera. Entonces, la pregunta es: ¿podemos hacer una simulación con suficiente fidelidad para que un algoritmo entrenado en ella transfiera con éxito el conocimiento al caso del mundo real?

explicabilidad

Los datos con los que entrena su algoritmo deben estar lo más cerca posible del entorno con el que va a interactuar en la práctica. Cuanto más se desvíe, más impredecible será el comportamiento de su sistema. Antes de poner su sistema ML a cargo de un vehículo de lanzamiento real, se le preguntará: "bien, funcionó bien en la simulación, pero ¿colapsará el vehículo y la carga útil por un valor de $ 200 millones"? Y si fueras sincero, tendrías que responder: “bueno, no lo sé, porque hasta ahora solo ha volado virtualmente, y un vuelo real tiene motivos más o menos desconocidos para ello”.

Esto muestra la diferencia más grande, y aquí en mi humilde opinión, la más importante, entre ML y CT. Con una guía teórica de control, lo que obtiene es un conjunto de ecuaciones. Puede ejecutar todo tipo de análisis sobre ellos (por ejemplo, verificar su respuesta a distorsiones, estabilidad, etc.), puede predecir los posibles resultados y, lo que es más importante: si algo sale mal, puede retroceder a través de las matemáticas y ver en qué nivel. se ha cometido el error y corríjalo.
Cuando un sistema de aprendizaje automático le da una respuesta, esencialmente puede tomarla o dejarla. Y a veces dan respuestas basura. Para ver un ejemplo extremo, consulte los ejemplos contradictorios ., muestras diseñadas para "engañar" a las redes neuronales. Los sistemas modernos de ML consisten en toneladas y toneladas de álgebra lineal que no codifica directamente el comportamiento, que está en algún lugar entre los miles de parámetros anónimos que cambian durante el entrenamiento. Su estructura es demasiado grande y demasiado general para ser analizada de manera efectiva, al igual que prácticamente no se puede abrir el cerebro de alguien y mirar las neuronas individuales para ver qué está pensando esa persona. Actualmente, el aprendizaje automático aún carece de herramientas universales para el análisis de modelos (piense en algo como MRI;)).

Esta es una desventaja de los sistemas ML, que almacenan el conocimiento implícitamente, como una combinación específica (y frágil) de parámetros internos, frente a los sistemas CT, que son transparentes porque el conocimiento está explícitamente integrado en las propias ecuaciones.

Actuación

Su pregunta comienza con la suposición de "aumentar la disponibilidad de grandes cantidades de datos y poder computacional". Pero, ¿es realmente cierto?

¿Están realmente tan disponibles los datos de vuelo en este caso? ¿Los investigadores tienen acceso a suficientes conjuntos de datos de telemetría de la misión, en particular los relacionados con desviaciones o fallas, para construir un entorno de simulación lo suficientemente realista para entrenar modelos RL? Tenga en cuenta que el algoritmo solo puede volverse tan bueno como los datos con los que se entrenó.
Como referencia, aunque podría decirse que la visión por computadora es más difícil que la guía de una nave espacial, el primer sistema poderoso de reconocimiento de imágenes basado en métodos de aprendizaje profundo necesitaba alrededor de 1.3 millones de imágenes para entrenar .

En segundo lugar, ¿podemos realmente hablar sobre el aumento de la potencia computacional en el contexto de vehículos de lanzamiento/naves espaciales? Los sistemas ML modernos procesan cientos de miles de parámetros, realizando millones de operaciones de coma flotante para generar una única respuesta. Estamos acostumbrados a usar GPU de alto rendimiento para ejecutar esos sistemas. Si bien existen algunas soluciones de hardware más eficientes desde el punto de vista energético, ¿podemos confiar tanto en la suposición de que hay suficiente potencia informática en el vehículo para que la orientación de ML sea factible?
Por el contrario, la guía CT clásica le brinda un montón de ecuaciones que se pueden evaluar muy rápido incluso en una computadora de guía de baja potencia.

Economía

En resumen, un enfoque basado en el aprendizaje automático para la orientación y el control de una nave espacial comprendería al menos las siguientes tareas:

  • adquisición de datos y construcción de un entorno de simulación de alta fidelidad para un sistema de aprendizaje por refuerzo,
  • diseño de un sistema RL lo suficientemente simple y robusto,
  • evaluación integral del sistema, con análisis de fallas, estabilidad, etc.,
  • aplicación de hardware con el propósito de un vehículo de lanzamiento/satélite.

Esta es una inversión de millones de dólares, y al menos uno de ellos es (al momento de escribir la respuesta) un problema de investigación abierto en el aprendizaje automático (explicabilidad del sistema). Todo ese gasto tiene que estar justificado: ¿cómo será este sistema mejor que la guía basada en TC? No puedo encontrar una referencia en este momento, pero he leído que las trayectorias generadas por el GN&C de la era Apolo estaban tan cerca de ser verdaderamente óptimas, que la cantidad de combustible desperdiciado durante el ascenso era del orden de un solo pie por segundo de delta. -v. El costo del combustible para el lanzamiento de cualquier cohete es minúsculo; en el caso de SpaceX, es menos del 1% de toda la operación de lanzamiento.. Ahorrar el 0,1% de eso simplemente no vale la pena: un sistema ML tendría que ofrecer algo más para racionalizar su costo. Ese "algo más" tendría que superar todos los problemas enumerados anteriormente, en particular las preocupaciones de seguridad.

Entonces, "son clásicos (...) [algoritmos] mejores que los algoritmos ML actuales", depende de lo que signifique "mejor". Ninguna industria seria cambia algo que ha sido probado y cuyo desarrollo cuesta millones, a menos que el reemplazo ofrezca algunas ventajas sólidas. Si estamos hablando de ponernos en órbita más rápido y más barato, la respuesta sería: CT es lo suficientemente bueno.

"Estoy convencido de que las sondas del espacio profundo no tienen módulos GN&C muy complejos (...)" ==> esto es correcto, al menos por ahora. Las trayectorias se optimizan en tierra y las maniobras se cargan en la nave espacial. Para las operaciones diarias, varias compañías, incluidas Advanced Space, AIKO Space y SCISYS, están trabajando para lograr la autonomía a bordo de algunos sistemas, como la estimación de posición, los datos para el enlace descendente a tierra y las rutas del rover en Marte.
Un tipo de ML, a un nivel muy rudimentario, que no mencionaste es el filtrado de Kalman . Es un estimador secuencial, lo que significa que está "sembrado" con un modelo y se le proporcionan medidas secuencialmente. Estas medidas se utilizan luego para calcular la estimación del estado de un objeto (por ejemplo, la posición y la velocidad de la nave espacial/cohete). No requieren grandes cantidades de datos como la mayoría de ML, simplemente un modelo matemático aproximado de la dinámica (gravedad, efecto del viento, etc.) y algunas medidas instantáneas.
La explicabilidad es un gran obstáculo, porque nos esforzamos por sistemas que no "simplemente funcionen", sino que mejoren nuestra comprensión de cómo funcionan estas cosas. En lugar de un algoritmo que entendemos y podemos expandir, obtenemos una caja negra que funciona en la mayoría de los casos (y falla espectacularmente en algunos ) y no estamos más cerca de entender cómo se resolvió el problema que antes. ¡No hay nueva ciencia sobre la cual construir! Hasta que podamos aplicar ingeniería inversa a la IA de manera confiable, a un estado comprensible para los humanos, será mal visto en las aplicaciones científicas.
@ChrisR Su comentario sobre el filtro Kalman también podría ser una respuesta. A mí me parece más cercano a la teoría del control que al aprendizaje automático, así que no hablé de eso.