前言

无人机(Unmanned Aerial Vehicle),指的是一种由动力驱动的、无线遥控或自主飞行、机上无人驾驶并可重复使用的飞行器,飞机通过机载的计算机系统自动对飞行的平衡进行有效的控制,并通过预先设定或飞机自动生成的复杂航线进行飞行,并在飞行过程中自动执行相关任务和异常处理。

在这里插入图片描述
在上篇博客介绍了无人机控制的原理与控制算法。

无人机在应用中会存在多种模式比如:

  • 姿态模式
  • 定高模式
  • 悬停模式
  • 自动航线

每一种模式的控制原理和控制算法都是一样的,也就是核心思想基本相同,区别就是控制结构、控制器输入输出量的不同。

如果想要做完整的无人机控制,那必须对每层的控制结构熟悉,本篇文章则对每层的控制结构做一个分析。

姿态控制

单级 PID 适合线性系统,当输出量和被控制量呈线性关系时单级 PID 能获得较好的效果。但是四旋翼飞行器输出的电压和电机转速不是呈正比的并且螺旋桨转速和升力是平方倍关系,也就是说四旋翼飞行器不是一个线性系统,四旋翼飞行器通常可以简化为一个二阶阻尼系统。只用单级 PID 在四旋翼飞行器上很难达到理想的控制效果,当四轴飞行器正常飞行时,遇到外力干扰,使加速度传感器采集数据误差偏大,造成计算的欧拉角误差偏大,只用角度偏差来进行控制的情况下,很难使系统稳定运行。

所以对于无人机的各级控制层来说,多采用串级PID控制。

串级 PID 控制系统具有控制及时、调节快速、抗干扰性强的特点。为解决单级在四旋翼控制时表现出的不足,姿态控制器采用串级 PID 控制。所谓串级PID,就是将两个 PID 控制器串在一起,一个控制器的输出做为另一个控制器的输入,分为内环角速度控制器和外环角度控制器。

下面通过遥控器控制姿态模式的无人机控制流程来进行举例

Roll Pitch 角度控制

控制框图如下
在这里插入图片描述
外环角度 PID 控制器为比例控制器,仅有比例作用,由期望角度与实际角度的偏差经过运算得到期望角速度,得到的期望角速度作为内环角速度控制器的输入与实际角速度做差,将偏差输入到内环 PID,经过计算得到电机的控制量。电机转速改变,使得无人机姿态向期望姿态变化,航资参考系统将估计的实际姿态角度与实际姿态角速度输入各控制器中。

由于四旋翼为一个欠驱动的复杂系统,为了让飞机姿态可以快速跟踪期望姿态的改变,需要加入前馈环节。将当前时刻期望角速度与上一时刻期望角速度偏差经过计算并进行最大加速度限制,得出用于前馈的期望角速度信号,与外环计算的内环输入信号(期望角速度)叠加输入到内环角速度控制器中。

控制框图变为如下形式:
在这里插入图片描述

Yaw 角度控制

航向角度的控制与横滚俯仰角度的控制略有不同

横滚、俯仰角度通过遥控器控制时,期望遥控器杆量在中位时,飞行器保持水平姿态,即期望的横滚俯仰角度为0度。

但是航向角度通过遥控器控制时,当遥控器杆量在中位时,我们希望飞行器不进行旋转,并不是航向角度回到0度,即期望的航向角速度为0度。

其控制框图如下:

在这里插入图片描述
如果是通过位置控制,进行航向角度的绝对控制,那控制框图和pitch 或者roll的一致,在此不再罗列

高度控制

对于无人机的高度控制模式,一般的飞控就是在姿态控制模式的基础上,加上垂直方向的控制。

通常也是将控制器分成两层,外环是高度方向位置控制,内环是高度方向速度控制。
在这里插入图片描述

地面站模式

其中地面站可能给出期望高度位置,如果此时没有遥控器的杆量,则可以通过两个串级的控制器,实现高度位置控制,首先垂直位置控制器将期望位置与实际位置的偏差量转换成为期望垂直速度信息,将期望垂直速度与实际垂直速度的偏差经过垂直速度控制器转为电机控制量,来控制电机转速调整,改变无人机的高度位置与垂直速度,形成闭环负反馈。

遥控器模式

当使用遥控器进行高度控制时,是通过遥控器上的油门杆量进行,当油门杆在中位时,期望速度为0,不在中位时,则进行上下的期望速度控制。

遥控器模式和地面站模式不能同时存在,为了方便画到了一个控制图里面。可以通过无人机模式的状态控制,决定图中的哪个控制环启作用。

自动航线模式

自动航向模式,相当于在高度控制中的地面站模式中,加入了如下控制框图的水位置控制。

地面站会向飞快发布航点指令,其中航点就是期望的 水平位置、高度信息。高度的控制就是上节的控制框图。水平位置的控制框图如下:

在这里插入图片描述
飞控将地面站发布的期望水平位置与实际水平位置求得偏差,经过水平位置控制器,将偏差转为期望速度,经过水平速度控制器求得期望姿态角度,在姿态控制器里就是最上面介绍的姿态的控制框图,为了简单,没有展开。

悬停模式

悬停模式主要是为了稳定的用遥控器进行控制,在遥控器杆量都在中位时,将当前位置为期望位置进行水平位置控制+垂直位置控制+航向角度控制。 当有遥控器杆量输入时,把遥控器杆量与中位偏差转为期望速度信号,送入对应的控制器中,完成期望的运动。