У меня есть временной ряд, где каждое измерение является кватернионом.Я хотел бы оценить угловую скорость между двумя измерениями.На данный момент я использую довольно простой подход:
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
Может ли кто-нибудь выделить правильное решение из практического опыта?