Вычислительные углы между iPhone - PullRequest
0 голосов
/ 13 ноября 2018

В рамках физиологического эксперимента мы хотим измерить углы между конечностями, например, верхней и нижней рукой, используя iPhone.В качестве теста я использую 2 айфона, каждый из которых использует приложение SensorLog для записи данных.

В моем тесте я беру переменные:

motionQuaternionX.R
motionQuaternionY.R
motionQuaternionZ.R
motionQuaternionW.R

с каждого iPhone и вычисляю угол между этими кватернионами, используя формулу, приведенную в: https://math.stackexchange.com/questions/90081/quaternion-distance?newreg=51f64d6d79e14956861a036db5d72ca6

в Якобсонекомментарий.Это: θ = 2arccos (q1, q2) (1)

Здесь также есть формула: θ = arccos (2⟨q1, q2⟩ ^ 2−1) (2)

Где q1 и q2 - 2 кватерниона, а квадратные скобки () обозначают точечное произведение.

В моем простом тесте у меня два телефона лежат на столе и поворачивают один из них на 90 градусов доон стоит на своем дне.Я должен получить 90 градусов, но ни в одном случае я не вижу. В (1) я вижу приблизительно 70 градусов, в то время как в (2) я получаю около 100 градусов.

Это только из-за ошибок в гироскопах?И какая формула верна?Также нам нужно получить одинаковые 90 градусов для 2 телефонов под прямым углом независимо от общей ориентации пары.Мой результат показывает, что это не относится ни к одной формуле.Вполне возможно, что весь этот подход ошибочен.

Буду очень признателен за любые советы или указатели.

Спасибо

...