所以我在C中编写了一个程序,以非常高的数据速率打印3轴陀螺仪的值。这些值是角速度的瞬时值,当设备静止时,角速度随移动而上升,随移动而下降。我需要它来保持高值,并在返回位置时返回到零。
如果我在一个固定的采样时间内整合这些值,我会实现这个目标吗?如何进行集成?我是C编程的初学者。
谢谢你

最佳答案

角速度为:
ω=Δφ/Δt=(φn-φn-1)/(tn-tn-1)
因此,当前角度可以从上一个角度计算为:
φn=φn−1+ω··△t
相应的C代码是…

double angle = 0;  /* or any initial value */
for ( ;; ) {
    double omega = get_angular_velocity();
    angle += omega * timestep;
}

…前提是函数get_angular_velocitytimestep间隔定期返回一个值。

关于c - 整合3轴陀螺仪的读数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31278784/

10-09 08:43