Cinemática de los ángulos de Euler en relación con un marco giratorio

tengo un cuerpo giratorio B y un marco giratorio F cuyas orientaciones están descritas por los cuaterniones q B y q F respectivamente. También tengo los vectores de velocidad angular. ω B y ω F .

Entonces estoy interesado en los ángulos de Euler (xyz extrínsecos) de B en relación con F. Es decir, convierto q F q B a los ángulos de Euler ϕ , θ , ψ .

mi pregunta es como se calcula ϕ ˙ , θ ˙ , ψ ˙ de las velocidades angulares. actualmente estoy usando

METRO ( ϕ , θ ) = ( 1 pecado ϕ broncearse θ porque ϕ broncearse θ 0 porque ϕ pecado ϕ 0 pecado ϕ segundo θ porque ϕ segundo θ )
( ϕ ˙ θ ˙ ψ ˙ ) = METRO ( ϕ , θ ) ω B

Pero claramente esto no es correcto cuando F gira.

si tanto B como F están en movimiento, entonces los vectores de velocidad angular son ¿en qué? . Creo que debe mencionar un marco 'sobre todo' en reposo qB, qF, wB, wF están definidos.
¿Cuál es su base de coordenadas? ¿Sobre qué eje (en esa base) gira cada uno? Si se trata de una rotación de cuerpo rígido y la base de coordenadas es ortonormal, ¿necesita ir a los cuaterniones? Sé que evitan el "bloqueo de cardán", pero en la mayoría de los casos no es necesario usarlos porque puede salirse con la suya con simples rotaciones de Euler. Por cierto, si te transformas en el marco F, F', entonces ω F = 0 y puedes definir tus rotaciones allí. Luego regresa al marco giratorio, F.
@HelderVelez, las orientaciones se describen en relación con un marco universal de "tierra". Las velocidades angulares ω B , ω F se miden en marcos B y F respectivamente, es decir, suponga que se miden con dos giroscopios, uno que gira con B y otro con F.
@honeste_vivere, a veces es más fácil trabajar con cuaterniones (por ejemplo, multiplicar cuaterniones para combinar orientaciones). Los ejes de rotación de B y F son arbitrarios y no constantes.
En mi opinión, la Tierra no es una buena referencia para este experimento. Recuerdo el péndulo de Foucault. Imaginemos un fondo en reposo.
¿Está tratando de determinar las transformaciones de coordenadas para una nave espacial giratoria con un instrumento a bordo que puede girar independientemente del bus de la nave espacial? ¿O te preocupa algo anclado a la superficie de la Tierra?
Supongo que has visto la discusión de wiki aquí . Esto explica cómo construir una matriz ortogonal a partir de una rotación por un cuaternión unitario.

Respuestas (1)

Primer pensamiento (probablemente no el más rápido)
Supongamos que tiene un espacio vectorial en R 3 con un cuaternión definido como:

q = q F   q B = a + b X ^ + C y ^ + d z ^

dónde ( a , b , C , d ) son los parámetros de Euler y ( X ^ , y ^ , z ^ ) define el conjunto base de la unidad de referencia.

Si definimos el eje de rotación como norte y el ángulo a través del cual rotamos como ζ , entonces los parámetros de Euler se definen como:

a = porque ( ζ 2 ) b = norte X   pecado ( ζ 2 ) C = norte y   pecado ( ζ 2 ) d = norte z   pecado ( ζ 2 )

Así, si sabes q , o mejor ( a , b , C , d ) , puedes encontrar norte y ζ . Una vez que conoces el eje de rotación y el ángulo de rotación, puedes determinar los ángulos de Euler . Primero definimos la matriz de productos cruzados como:

[ norte ] X = [ 0 norte z norte y norte z 0 norte X norte y norte X 0 ]

y el producto exterior de norte consigo mismo dado por:

[ norte norte ] = [ norte X   norte X norte X   norte y norte X   norte z norte y   norte X norte y   norte y norte y   norte z norte z   norte X norte z   norte y norte z   norte z ]

Entonces podemos definir la matriz de rotación como:

R = porque ζ   I + pecado ζ   [ norte ] X + ( 1 porque ζ )   [ norte norte ]

dónde I es la unidad o matriz identidad .

Segundo pensamiento (probablemente más rápido/más fácil)
Un método más fácil es seguir el procedimiento dado aquí . Siguiendo ese procedimiento, definimos:

α = 2 ( a   b + C   d ) 1 2 ( b 2 + C 2 ) β = 2 ( a   C d   b ) γ = 2 ( a   d + b   C ) 1 2 ( C 2 + d 2 )

lo que nos da los ángulos de Euler:

ϕ = broncearse 1 α θ = pecado 1 β ψ = broncearse 1 γ

Como ya tienes q y puede determinar numéricamente/analíticamente ( ϕ , θ , ψ ) , entonces simplemente tomaría la derivada temporal de cada uno de estos ángulos para encontrar ( ϕ ˙ , θ ˙ , ψ ˙ ) en lugar de utilizar las velocidades angulares.

Sí, ya estoy usando algo similar al segundo método para extraer los ángulos de Euler. Sé que técnicamente puedo calcular numéricamente sus derivadas temporales, pero dado que mi algoritmo de estimación de actitud está algo filtrado, esperaba que un cálculo directamente a partir de las velocidades angulares fuera más confiable con poco retraso.
Si está tratando con una nave espacial y no necesita preocuparse por ninguna maniobra "dramática" (por ejemplo, la inserción orbital en una luna o algo así), entonces puede usar una spline cúbica y aumentar la resolución de tiempo sin preocuparse demasiado por los artefactos. Solo asegúrese de no extrapolar los puntos finales, luego vuelva a calcular sus velocidades. De lo contrario, deberá tomar la derivada de las funciones inversas, lo que puede causar problemas numéricamente.
Tenga en cuenta que debe tomar la derivada del tiempo total de cosas como broncearse ϕ para evitar este problema.