Uso de derivadas de orden superior de cuaterniones en ecuaciones de movimiento

Es común observar la orientación de un cuerpo rígido en términos de un cuaternión que codifica un eje y un ángulo con un vector y un escalar.

(1) q = ( z ^ pecado ( θ 2 ) porque ( θ 2 ) )

y luego es común convertir el vector de velocidad de rotación ω en una derivada temporal de la orientación para su uso en integraciones de simulación.

(2) q ˙ = 1 2 ( ω 0 ) q

(3) q ¨ = 1 2 ( α 0 ) q + q ˙ q 1 q ˙

Lo que estoy preguntando es mantener las cantidades angulares en forma de cuaterniones ( q , q ˙ y q ¨ ) para uso directo en ecuaciones de movimiento y cinemática, derivando los vectores rotacionales regulares de (2) y su derivada (3)

(4) ( ω 0 ) = 2 q ˙ q 1
(5) ( α 0 ) = 2 ( q ¨ q ˙ q 1 q ˙ ) q 1

Entonces, el momento angular tendría la forma de

(6) ( L 0 ) = I q ˙

con I siendo la forma apropiada de 4×4 haciendo (6) un tipo de cálculo de producto vectorial matricial.

De manera similar, las ecuaciones de movimiento rotacional serían

(7) ( τ 0 ) = I q ¨ + tu q ˙  términos relacionados

En el espíritu de Hamilton, creo que podría haber algún significado en la estructura de I , y me preguntaba si alguien conoce algún trabajo anterior relacionado con esta línea de pensamiento.

Prácticamente sé que lo anterior simplificaría los integradores de cuerpo rígido (manteniendo todos los términos rotacionales en 4 vectores y permitiendo que el álgebra lineal haga lo suyo). Pero creo que esto podría proporcionar una idea del comportamiento de la orientación del cuerpo rígido, al igual que el perfil de las aceleraciones de traslación nos da una idea de las velocidades y los desplazamientos.

q es un vector entonces cual es q 1 ?
q es un cuaternión y q 1 es el inverso, tal que
q q 1 = ( 0 1 )
produce la identidad (rotación nula).
q es un 4 × 1 vectorial? q 1 no está definido
@Eli - no q no es un vector Es un cuaternión que contiene un vector y un escalar. Vea este artículo sobre cómo se define el inverso.

Respuestas (1)

Si comienzas con el vector cuaternión

z = [ a ( t ) b ( t ) C ( t ) d ( t ) ] = [ a w ]

dónde z z = 1

tu obtienes:

(1) [ 0 ω ] = 2 [ a w T w a I 3 + w ~ ] q ( 4 × 4 ) [ a ˙ w ˙ ] z ˙

dónde q T q = I 4 , de este modo q matriz es matriz ortogonal, ω es el vector de velocidad angular y I 3 es un 3 × 3 matriz de unidad.

w ~ = [ 0 w z w y w z 0 w X w y w X 0 ]
.

para la simulación numérica se puede obtener de la ecuación (1)

(2) z ˙ = 1 2 [ 0 ω T ω ω ~ ] z + PAG 2 ( 1 z z ) z

donde la segunda parte del RHS es cumplir el requisito de que z z debe ser igual a uno.

La ecuación (2) junto con las ecuaciones de Euler son los EOM, la separación entre la ecuación cinemática (2) y la ecuación de Euler, hacen que los EOM sean simples

Por supuesto, puede usar la ecuación (1) en las ecuaciones de Euler, pero no veo cómo obtiene el requisito de que z z debe ser igual a uno?.

Las ecuaciones de Euler:

I ω ˙ + ω × ( I ω ) = τ

Qué es PAG en 2)?
P es una constante (parte proporcional del PID del controlador)
Entonces, si entiendo correctamente, sugiere traer (4) a una operación de matriz/vector, y luego usarlo para la integración, pero con un término artificial que impone la restricción de cuaternión unitario. Eso responde a otra pregunta mía (sobre la forma correcta de integrar rotaciones), pero en este caso estaba preguntando sobre hacer algo similar para ω ˙ (una derivada más desde (4) que es (5)) y usándola directamente en EOM.
sí el controlador es necesario para cumplir con la norma de z . puedes hacerlo, pero como obtienes ecuaciones diferenciales de segundo orden z ¨ = . . . tienes que integrar esta ecuación dos veces para obtener z , el problema que veo es cómo cumples con el requisito z z = 1 ?, también tus ecuaciones de movimiento son enormes en comparación con mi solución