我使用MPU6050设备并获取加速度计和陀螺仪数据。
然后,我使用Python中的Mahony过滤器处理这些数据。
问题在于:侧倾,俯仰,偏航值不断增加或减小。
也许Mahony过滤器类中有错误?
也许我在computeAngles()函数中无法正确计算角度?
或者我应该设置其他参数:
DEFAULT_SAMPLE_FREQ = 61.0 # sample frequency in Hz
twoKpDe = (2.0 * 0.5) # 2 * proportional gain
twoKiDe = (2.0 * 0.9) # 2 * integral gain
我真的需要你的帮助。
请检查我的代码。
def computeAngles(self):
self.roll = math.atan2(2.0 * (self.q0*self.q1 + self.q2*self.q3), 1 - 2.0 * (self.q1*self.q1 - self.q2*self.q2))
self.pitch = math.asin(2.0 * (self.q0*self.q2 - self.q1*self.q3))
self.yaw = math.atan2(2.0 * (self.q1*self.q2 + self.q0*self.q3), 1 - 2.0 * (self.q2*self.q2 + self.q3*self.q3))
self.anglesComputed = 1