我通过以下公式计算了加速度计的倾斜角:
Angle_Accel = atan(Ax/sqrt(Ay*Ay+Az*Az))*(180/PI)
我现在想从陀螺仪计算倾斜角,我正在使用 Gx 坐标进行如下积分,但我的结果不正确。
伪代码
- 每 0.1 秒测量一次 Gx。
- 在灵敏度因子和偏差校正后,我乘以 180/PI 以转换为度数。
- 然后我除以频率,即 10 并将其添加到最终角度。
C代码
Gx = (((float)GYRO_PLAY.Gyroscope_X )* GYRO_PLAY.Gyro_Mult)-Gx_Correction;
Gy = (((float)GYRO_PLAY.Gyroscope_Y )* GYRO_PLAY.Gyro_Mult)-Gy_Correction;
Gz = (((float)GYRO_PLAY.Gyroscope_Z )* GYRO_PLAY.Gyro_Mult)-Gz_Correction;
Gx_temp = (Gx*degrees)/10.0; //degrees = 180/PI
Gx_Theta = Gx_Theta + Gx_temp;
我的角度不对。我应该如何整合?任何帮助深表感谢。
PS:我知道这里有这样的问题,但它没有回答我的问题,所以请帮助我。