¿Mostrar la actitud de la nave espacial desde la matriz de rotación o el cuaternión?

Los sistemas de navegación y guía generalmente usan matrices de rotación o cuaterniones para especificar rotaciones 3D de manera única.

Pero estos no son ni un poco intuitivos, por lo que nos gusta convertirlos en secuencias de ángulos de Euler que podamos entender, tal vez una secuencia de balanceo, cabeceo, guiñada, por ejemplo.

El problema es... la conversión limita sus ángulos a +-90 grados sobre un eje (y en secuencia xyz) y +-180 grados sobre los otros dos ejes (x y z en secuencia xyz).

Esto es problemático si está haciendo una maniobra de volteo en el espacio y su ángulo de cabeceo se extiende sobre el rango limitado de 180 grados impuesto por la conversión.

Luego están las singularidades (bloqueo de cardán) y los cambios de ángulo erráticos repentinos que ocurren cerca de él (los ángulos de balanceo y guiñada cambian repentinamente en 180 grados porque las matemáticas en la conversión de rotación no pueden distinguir una rotación q aparte de una rotación pi-q ).

Así que me pregunto, ¿cómo extraen exactamente información de actitud intuitiva y significativa para presentarla a la tripulación a partir de las matrices de rotación o los cuaterniones empleados en sus algoritmos sin las limitaciones que impone una conversión a una secuencia de ángulo de Euler?

El bloqueo del cardán y singularidades similares no son una preocupación con la selección adecuada de la representación de parametrización de actitud (por ejemplo, representación de cuaternión o vector de rotación). Abstraer los detalles de esas rotaciones y convertirlas en "giro de cabeceo" puede ser más fácil de entender. Un ejemplo práctico es la simulación de demostración de la tripulación de SpaceX, que muestra que cabecear, girar y balancear es la elección de representar la actitud de los astronautas en la cápsula Dragon, al menos una de las formas en las que también me gustaría aprender más. Enlace aquí: iss-sim.spacex.com
Sí, Manny, sé que ciertas parametrizaciones, como las matrices de rotación y los cuaterniones mencionados en mi primer párrafo, no se ven afectadas por el bloqueo de cardán. También sé que las secuencias de ángulo de Euler como "roll pitch yaw" son más intuitivas de entender, por lo que nos gusta convertirlas. Mi pregunta no es nada de eso. Es: ¿cómo se convierte de matrices de rotación y cuaterniones a ángulos de Euler sin las limitaciones que vienen con la conversión, como el rango de ángulo limitado, la singularidad, el cambio repentino errático del eje que ocurre cerca de la singularidad...
Ya lo veo. Podemos echar un vistazo a la Sección 6.1.1 de Markley, Crassidis "Fundamentals of Attitude Determination and Control". Se recuerda que "Las tres representaciones de parámetros tienen discontinuidades y singularidades". El capítulo sugiere implementar "filtros" (¿lógica "si"?) para proporcionar algún tipo de garantía para evitar computar actitudes singulares. Alternativamente, recomienda el uso de Parámetros de Rodrigues Modificados. El alcance de ese capítulo es utilizar los ángulos en un filtro de Kalman, en el que se prefiere la representación de tres parámetros. ¡Háganos saber si esta fuente está algo más cerca!
¡Gracias @Manny por la referencia! Me parece un buen libro para leer.

Respuestas (1)

No sé cómo se presenta exactamente la actitud a la tripulación, mi experiencia está ligada solo a las naves espaciales no tripuladas, aunque me imagino que no existe una solución preferida única y depende de la tarea particular en cuestión. Intentaré ofrecer al menos algunas posibilidades, pero primero una pequeña corrección.

Usted menciona las matrices de rotación y los cuaterniones que tienen representaciones de rotación únicas. Sin embargo, eso solo es cierto para las matrices de rotación, mientras que los cuaterniones tienen doble cobertura del espacio de rotación. Cada orientación tiene dos valores de cuaterniones adjuntos.

Además, un poco sobre los bloqueos de cardán y las singularidades. El bloqueo del cardán es una pérdida de un grado de libertad en las rotaciones, que es un efecto real de un cardán físico. Pero una nave espacial no está atada físicamente a un cardán, gira libremente en un espacio y nunca experimentará una pérdida del grado de libertad de sus rotaciones. Por otro lado, algunos actuadores para control de actitud pueden experimentarlo. El bloqueo de cardán no es un problema con las representaciones en absoluto, no impide conocer la actitud de ninguna manera. Es solo una analogía con el problema de la singularidad cuando se usan los ángulos de Euler, se aplican las mismas condiciones para que ambos sucedan, pero en lugar de perder la posibilidad de hacer algo, como con el bloqueo de cardán, la singularidad elimina la posibilidad de saber algo.

Este conocimiento que se pierde no es un conocimiento de la actitud, está perfectamente claro en qué orientación se encuentra la nave espacial cuando se alcanza la singularidad. Lo que se pierde es el camino hacia ella. Las actitudes no singulares tienen un solo camino hacia ellas desde alguna orientación de referencia, pero una actitud singular tiene infinitos caminos. Entonces, si el objetivo es solo el conocimiento de la actitud, se puede usar cualquier representación, pero se requiere una selección cuidadosa cuando el cambio de actitud es de interés.

Si bien los algoritmos tienen sus formas de evadir problemas con las singularidades, veo dos formas posibles para que los miembros de la tripulación hagan esto, desarrollando la intuición sobre la representación de actitud utilizada y la selección de los marcos de referencia apropiados.

Construyendo la intuición

Probablemente estoy sesgado por el enfoque de construir la intuición, ya que he pasado suficiente tiempo tratando con cuaterniones, pero afirmo que si los miras el tiempo suficiente, comienzas a entenderlos, conocerlos, sentirlos, formar un quinteto. (quinternion???) con ellos... lo siento, me dejé llevar. De todos modos, la intuición se puede mejorar y luego seguir usando los cuaterniones directamente. Si desea pilotar una nave espacial, necesita aprender mucho de todos modos, las naves espaciales no están diseñadas para ser inmediatamente obvias e intuitivas para todos. Se requiere capacitación y la capacitación incluye la comprensión de actitudes. Esto también es válido para los ángulos de Euler. La tripulación se entrena para usarlos y entienden incluso cuando la actitud es en singularidad. Los pilotos tienen un contexto de cómo se alcanzó la singularidad y deben saber cómo salir de ella hacia su objetivo.

Selección del marco de referencia

Luego viene una selección adecuada de marcos de referencia. No tiene que ceñirse a un único marco de referencia todo el tiempo. En caso de una maniobra de volteo de la pregunta, debería ser posible tomar la actitud actual como referencia. Luego realice las acciones necesarias para llegar a la actitud que está a 180 grados de distancia. La singularidad no estará en este camino con los ángulos de Euler. Si las representaciones son Parámetros Rodríguez Modificados, entonces la singularidad estará exactamente en esta actitud objetivo. Entonces, en tal caso, en teoría, puedes guiar la nave espacial hacia este punto de singularidad, pero en la práctica eso sería un poco más difícil. Un mejor enfoque, para cualquier representación utilizada, es hacer que su marco de referencia sea su actitud objetivo, y luego la guía se vuelve hacia la actitud de ceros. En esta situación, los Parámetros Rodríguez Modificados son una muy buena combinación, ya que el guiado siempre se aleja de la singularidad. Aún así, incluso si se apega a los ángulos de Euler, debe existir un marco de referencia apropiado para evitar singularidades.

"si los miras lo suficiente, empiezas a entenderlos, a conocerlos, a sentirlos, a formar un quinteto (quinternion???) con ellos [...]" Ja, ja, ja. Esto hizo mi dia. ¡Gracias por la información! Sí, mi lucha es estrictamente mostrar la actitud de la nave espacial a los operadores: las matrices de rotación debajo del capó aseguran que la singularidad nunca sea un problema. Solo quiero una forma de presentar la actitud en un formato intuitivo sin el repentino cambio de eje que ocurre, por ejemplo, cuando pasas de 90 grados de cabeceo (si se convierte a la secuencia balanceo-cabeceo-guiñada).
De acuerdo, cambiar fotogramas cerca de la singularidad puede ser una forma de evitar esto. De hecho, he estado haciendo esto: cambiar a un marco de referencia que gira 90 grados desde el primero y desviar esa segunda lectura en 90 grados, de modo que cuando mi nave espacial esté dando vueltas, pueda obtener una lectura constante y continua que se extienda. más de 180 grados en el rango. Simplemente parece un truco, y veo las bonitas pantallas de indicadores de actitud que tienen en todas partes, y me imagino que debe haber una mejor manera de hacer esto. Lamentablemente, no estoy familiarizado con los parámetros de Rodrigues. Tendré que aprender sobre ellos en algún momento.
@a1ex, si desea presentar los datos de manera intuitiva y visual, un cuaternión o un MRP son probablemente el método más simple. Ambos se basan en un vector de rotación principal, que es un vector fijo en las rotaciones inicial y final. Una fuente excelente para la actitud es Schaub y Junkins "Mecánica analítica de los sistemas espaciales".
Gracias, @Chris. Sin embargo, pocas personas entenderían una pantalla de cuaterniones, por lo que necesito convertirla en algo así como una secuencia de balanceo-cabeceo-guiñada. Es esa conversión la que introduce todos los problemas mencionados anteriormente. Las matrices de rotación que estoy usando para la navegación y la orientación y el control funcionan muy bien. Lo que me está causando problemas es convertir esas matrices en una pantalla de actitud intuitiva que cualquier persona, incluso las personas que no son ingenieros, pueden entender de un vistazo...
Cambiar entre diferentes marcos de referencia nuevamente producirá saltos en los valores. No creo que haya una solución para esto. Si simplificamos a rotaciones en una dimensión, va de 0 a 360 grados, después de lo cual un salto va a 0, a menos que continúe yendo más allá, en cuyo caso es una representación con múltiples coberturas de espacio de rotación. Pero tal vez me equivoque si dices que has visto buenos indicadores de actitud. ¿Podría señalar un ejemplo o algunos? Tal vez entonces podríamos identificar una solución.
¿Ha considerado un indicador 3D? Considero que la representación Axis-Angle es visualmente más convincente y comprensible. Se podría hacer muy bien en 3D.
Gracias por los consejos, @Nemanja. Ahora que lo pienso, tal vez los buenos indicadores de actitud que he visto no sufren este problema porque la pantalla es intuitiva incluso cuando cruzas una singularidad (salvo por un giro errático momentáneo en la singularidad misma). Lamentablemente, mis pantallas de actitud son todos diagramas de series temporales por el momento (ayuda a realizar un seguimiento del historial de actitud en caso de que las cosas salgan mal). Pero el transbordador espacial tenía una pantalla numérica digital de balanceo, cabeceo y guiñada, que debe haber encontrado este problema cuando el transbordador espacial volcó... Me pregunto qué mostraría la pantalla cerca de la singularidad.
Por cierto, aquí hay un conjunto increíblemente bueno de videos interactivos de 3Blue1Brown que realmente ayudan a construir esta intuición: eater.net/quaternions .