¿Cómo rotas 2 cuaterniones de vuelta a la posición inicial y luego calculas la rotación relativa?

Tengo 2 IMU (unidades de medida inerciales) y quiero calcular su rotación relativa. Desafortunadamente, la salida de las IMU me da ambos cuaterniones en relación con global (supongo que así es como funcionan los cuaterniones). Sin embargo, necesito mediciones de la rotación de uno de los sensores en relación con el otro. Mientras tanto, estos dos sensores se han girado desde su orientación inicial en el eje global.

Por ejemplo: tengo un sensor conectado al cofre y el otro al brazo. Ambos sensores están calibrados para el eje global. Si mantengo esa orientación, puedo calcular las rotaciones muy bien. Sin embargo, cuando giro mi cuerpo a una orientación diferente (90 grados a la derecha) y realizo el mismo movimiento, los sensores giran alrededor de su eje local pero generan cuaterniones en relación con el eje global (se genera una rotación alrededor del eje y de los sensores) como una rotación alrededor del eje global x).

Quiero que los mismos movimientos produzcan los mismos cuaterniones (y, por lo tanto, muestren las mismas rotaciones) independientemente de mi orientación (acostado, mirando a la izquierda, derecha, adelante o atrás)

Básicamente, quiero que un sensor sea el eje de "referencia" giratorio y quiero medir los cambios de rotación con el otro sensor en relación con el sensor de referencia (eje de referencia giratorio).

Respuestas a la pregunta(1)

Su respuesta a la pregunta