本项目完成了对四轴飞行器的室内定位,控制以及路径规划等任务。

1. 硬件参数

  • 机架:轴距为250mm的X型, 塑料四轴飞行器机架。

  • MCU : STM32F405RGT6。

  • 传感器: MPU6000, 超声波传感器,PX4FLOW。

  • 动力系统: MN1806电机,DALRC BL12A电子调速器,半径60mm,螺距为45mm的塑料螺旋桨,11.1V,1300mAh的锂聚合物动力电池。

  • 室内定位系统:两个京航JHSM36BF-R近红外工业相机。

2.动力学模型与控制

2.1 电机模型

令每个螺旋桨的升力为$F_i$, 电子调速器的输入为$u_i$, 螺旋桨的反扭距为$M_i$, 则有:

2.2 四轴飞行器的运动方程

我们设飞行器的机体坐标系为$\Gamma_b$, 参考坐标系为$\Gamma_w$。飞行器具有六个自由度,包括旋转和位移。本项目以$Z-X-Y$次序的欧拉角来描述四轴飞行器的姿态:

其中$\varphi, \theta, \psi$分别表示四轴飞行器的横滚角,俯仰角和航偏角。

因此我们可以得到$\Gamma_b$到$\Gamma_w$的旋转矩阵$R_b^w$:

飞行器的位移以$r$来表示:

分别表示其参考坐标系下的$x,y,z$坐标。

飞行器位移的运动方程可以通过牛顿方程来描述:

欧拉方程为:

即:

其中$I$ 为四轴飞行器的转动惯量,再由欧拉角的定义,可得欧拉角微分$\dot{\Omega}$与机体角速度的关系:

因此,飞行器的非线性状态方程总结如下:

2.3 控制律

飞行器的控制部分主要分为:姿态控制与位移控制。位移控制器根据目标位移,速度以及加速度计算出飞行器的目标态,通过改变飞行器的姿态来产生相应的线加速度,从而实现位移控制。姿态控制器作为飞行器飞行控制 的底层控制器。其中控制器使用PID算法。四轴飞行器的控制系统如下:

通过简单分析,可得每个螺旋桨的升力$F_i$, 反力矩$M_i$与绕机体坐标轴的力矩$M$的关系如下:

由公式(1)可得到$F_i$ 与 $M_i$之间的关系:

因此可得:

我们令:

飞行器的误差欧拉角$\Omega_{error}$为:

飞行器的姿态控制器采用角速度PD控制, 结构如下:

飞行器的位移控制主要分为两步,一是位移的PID控制,二是目标加速度到角速度的转换,位移控制器结构如下:

其中:

演示视频如下(youtube):