如何执行陀螺仪数据的离散集成?
-
09-10-2019 - |
题
陀螺仪在整合的角度产生角度时,角度旋转速率的测量速率正确吗?我的问题是我该怎么做?到目前为止,我在做什么只是添加所有观察到的角度,这似乎是非常错误的
AngleIntegrated = GyroDegPersec * (1/GyroBandWidth);
建议非常欢迎。谢谢
解决方案
知道当然,您不能指望从长远来看(通过集成您的错误窗口总是会随着时间的推移而增加),我将要做的是阅读陀螺仪,插值当前读取和以前的几个以获取一个平滑曲线(例如,使用当前读取和前两个抛物线),然后从上一段时间和当前时间开始计算该抛物线的积分。
其他提示
您需要集成 关于时间. 。因此,理想情况下,您应该以常规(固定)时间间隔(t)进行陀螺仪对陀螺仪进行采样,然后将采样间隔t纳入整体计算中。
请注意,T需要足够小以满足Nyquist标准。
您可以集成在离散域中。假设角速率为da,时间积分为a。 k是离散的步骤编号。
a(k) = a(k-1) + T*0.5*(da(k) + da(k-1))
例如,DA(K)是当前的角度读数。 DA(K-1)是Previoud角度读数。 A(K-1)是上一个步骤的集成值(旋转角度)。 T是采样率。如果传感器每1毫秒输出,则t变为0.001。
当k> 0时,您可以使用此公式。必须给出初始值a(0)。
不隶属于 StackOverflow