Как вычислить угловую скорость, используя числовой кватернион - PullRequest
0 голосов
/ 27 июня 2019

У меня есть временной ряд, где каждое измерение является кватернионом.Я хотел бы оценить угловую скорость между двумя измерениями.На данный момент я использую довольно простой подход:

wheel_angular_dists = []
for pair in wheel_quats:
    diff = t[0] * np.conj(t[1])

    angle = diff.angle

    wheel_angular_dists.append(angle)

df_wheel_dists = pd.Series(wheel_angular_dists)

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

quaternion.quaternion_time_series.anglular_velocity (R, t)

, но мне не удалось использовать ее из-за ошибок:

import quaternion as Q
import numpy as np

orient_prev = Q.from_float_array([0.100846663117, 0, 0, -0.994901955128])
orient_cur = Q.from_float_array([0.100869312882, 0, 0, -0.994899690151])

R = np.array([orient_prev, orient_cur])
t = np.array([0.0, 1.0])

vel = Q.quaternion_time_series.angular_velocity(R, t)

...

error: (m>k) failed for hidden m: fpcurf0:m=2

Может ли кто-нибудь выделить правильное решение из практического опыта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...