[23]ESPlane 2.0 无人机开发笔记-传感器校准方案

一、陀螺仪校准方案

延续 crazyfile2 陀螺仪校准方案,在初次上电时,计算陀螺仪三个轴的方差与平均值。

  1. 使用一个最大长度为 1024 的环形缓冲区,存储最新的 1024 组陀螺仪测量值
  2. 通过计算陀螺仪输出值方差,确认飞机已经放置平稳并且陀螺仪工作正常。
  3. 确认第 2 步正常后,计算静止时 1024 组陀螺仪输出值的平均值,作为陀螺仪的校准值

陀螺仪偏差计算源代码:

/**
 * Adds a new value to the variance buffer and if it is full
 * replaces the oldest one. Thus a circular buffer.
 */
static void sensorsAddBiasValue(BiasObj* bias, int16_t x, int16_t y, int16_t z)
{
  bias->bufHead->x = x;
  bias->bufHead->y = y;
  bias->bufHead->z = z;
  bias->bufHead++;

  if (bias->bufHead >= &bias->buffe

猜你喜欢

转载自blog.csdn.net/qq_20515461/article/details/103666353