让开发板飞——四轴飞控原理

四轴飞行器的控制软件通常由几部分组成。为便于后续研究,整理如下:

传感器驱动层

这一层的主要任务是读取各传感器的数据。四轴上用的通常是MEMS传感器,与传统认知有很多不同


  • 陀螺仪:传统机械陀螺仪输出的是角度,而MEMS陀螺仪输出的是角速度。通常是通过积分计算出角度。积分会导致随机噪声不断积累,这也是陀螺仪漂移的原因。
  • 加速度计:加速度计输出的不是运动加速度,而是运动加速度与重力加速度之和。特别是当平台有倾斜时,很可能得不出真实的加速度。
  • 磁罗盘:磁罗盘输出的不是地磁方向,而是地磁场与周围磁场共同作用的结果。各种铁磁性物体都会导致磁场畸变。

数据滤波层

这一层主要负责传感器融合于滤波。通常简单办法是互补滤波,复杂办法是扩展卡曼滤波。最后输出的是飞行器姿态

PID控制层

这一层负责根据PID算法控制电机,调整飞行器姿态。PID的功能是将飞行器稳定在一个特定的姿态(对应特定的传感器读数),至于速度、方向这些不是这里管的。PID目前通常用外环角速度、内环角度的串联方式。

玩具级的四轴一般到这一层为止,其余全靠人工遥控控制

AHRS层

这一层将传感器的数据转换成飞行器的速度、高速、方向等数值。只有到这一层才算得上惯导装置。如果有GPS、超声等数据,也是在这一层融合。

导航层

这一层根据任务数据计算当前期望的速度、高度等,并根据理想值与实际值的差距向控制层发送信号。最终的结果就是按照导航点飞行。

你可能感兴趣的:(uav)