Как вы поворачиваете 2 кватерниона обратно в исходное положение, а затем рассчитываете относительное вращение?

У меня есть 2 IMU (инерционные единицы измерения), и я хочу рассчитать их относительное вращение. К сожалению, выходные данные IMU дают мне оба кватерниона относительно глобальных (я предполагаю, что так работают кватернионы). Однако мне нужны замеры вращения одного из датчиков относительно другого. Все это время эти два датчика поворачивались от своей первоначальной ориентации на глобальной оси.

Например: у меня один датчик прикреплен к груди, а другой - к руке. Оба датчика откалиброваны по глобальной оси. Если я сохраню эту ориентацию, я могу точно рассчитать повороты. Однако, когда я поворачиваю свое тело в другую ориентацию (на 90 градусов вправо) и выполняю одно и то же движение, датчики вращаются вокруг своей локальной оси, но выдают кватернионы относительно глобальной оси (выводится вращение вокруг оси y датчиков как вращение вокруг глобальной оси х).

Я хочу, чтобы одни и те же движения производили одинаковые кватернионы (и, следовательно, показывали одинаковые повороты) независимо от моей ориентации (лежа, лицом влево, вправо, вперед или назад)

В принципе, я хочу иметь один датчик будет вращающейся «опорной» осью и я хочу, чтобы измерить вращательные изменения с другой датчиком относительно опорного датчика (вращающейся ось отсчета).

Ответы на вопрос(1)

Ваш ответ на вопрос