IMU кватернионы для определения конкретного угла (и статистики) - PullRequest
0 голосов
/ 23 октября 2018

Я борюсь с проблемой кватернионов и способов их использования в моем приложении.Я потратил несколько дней на поиски решения для этого, но не могу найти ни одного подобного приложения или примера.

У меня есть достаточно ясные все свойства кватернионов и почему мы должны их использовать, но, возможно, я упускаю крошечные детали.

Моя проблема описана следующим образом:

  • У меня есть жесткий объект с присоединенным 9-осевым ИДУ (откуда вычисляются кватернионы), и я хочу определить некоторые конкретные позы (настолько специфичныеориентации) относительно исходной ориентации.

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

Как объяснено в ссылке ниже, можно найти все относительные вращения от исходного, и использовать начальное вращение в качестве эталонного.

https://math.stackexchange.com/questions/2354978/relative-quaternion-rotation-delta-rotation-produces-unstable-results

Этот шаг довольно понятен и задокументирован во многих сообщениях на этом форуме.

Однако мне не ясно, как определить все позы, которые, например, превышают или совпадают с конкретной.

Например, моему приложению будет интересно посмотреть, как долго объект удерживается в ориентации, где угол наклона составляет от 0 до 45 градусов (объект направлен вверх) или от 0 до -45.Или просто сгенерировать флаг, который указывает объект, указывающий вверх или объект, указывающий вниз

Я не могу найти никакого способа решить эту проблему, кроме как перейти от кватернионов к углам Эйлера и оттуда попытаться вывести эту информацию, просто установив порог Эйлерауглы.

Однако, поскольку углы Эйлера страдают от определенных особенностей, получить точную оценку в принципе невозможно.

...