Como você gira 2 quaternions de volta à posição inicial e depois calcula a rotação relativa?

Eu tenho 2 IMU's (unidades de medida inercial) e quero calcular sua rotação relativa. Infelizmente, a saída das IMUs me dá os dois quaternions em relação ao global (suponho que seja assim que os quaternions funcionam). No entanto, preciso de medidas da rotação de um dos sensores em relação ao outro. Enquanto isso, esses dois sensores foram rotacionados a partir de sua orientação inicial no eixo global.

Por exemplo: eu tenho um sensor preso ao peito e o outro preso ao braço. Ambos os sensores são calibrados para o eixo global. Se eu mantiver essa orientação, posso calcular bem as rotações. No entanto, quando eu giro meu corpo para uma orientação diferente (90 graus para a direita) e realizo o mesmo movimento, os sensores estão girando em torno de seu eixo local, mas emitindo quaterniões em relação ao eixo global (uma rotação sobre o eixo dos sensores y é emitida como uma rotação ao redor do eixo global x).

Quero que os mesmos movimentos produzam os mesmos quaternions (e, portanto, mostrem as mesmas rotações), independentemente da minha orientação (deitado, de frente para a esquerda, direita, frente ou para trás)

Basicamente, quero que um sensor seja o eixo "referência" rotativo e quero medir as mudanças rotacionais com o outro sensor em relação ao sensor de referência (eixo de referência rotativo).

questionAnswers(1)

yourAnswerToTheQuestion