多旋翼飞行器控制器设计中带宽的理解

带宽,是控制系统中一个十分重要的概念,它反映了闭环系统跟踪输入信号的能力,闭环带宽越高,系统复现输入信号的能力就越强,系统的动态性能就越好;所以,闭环系统的带宽也是评价系统控制性能的重要指标;一般情况下,我们如果知道系统的传递函数模型,便直接调用matlab中的bode,margin函数来绘制系统的波德图,也能很方便地获知闭环系统带宽;但是,当被控对象本身是非线性模型且控制律也为非线性时,闭环系统的传递函数很难写出(当然可以采用平衡点附近线性化的方式,但这会使模型和控制器的精度降低);这时候我们便可采用扫频来确定系统的频率响应曲线(或者直接使用Simulink中的线性分析工具),进而得到系统的闭环带宽等性能参数;

扫频:让输入激励信号从频率0开始,然后慢慢增长,每变化一点,就记录下幅值和相位的变化;然后再增长,再记录。这样不停地重复,就得到了一长串的点,把这些点描出来就可以得到系统的频率响应曲线。

此篇博文中用到了我在做多旋翼自抗扰控制的Simulink仿真模型,其中多旋翼模型使用牛顿欧拉方程建立,同时考虑电机-螺旋桨的动力系统的非线性模型;位置环采用双闭环PID控制器,姿态环使用自抗扰控制器;
其中自抗扰控制器由TDTD微分跟踪器,ESOESO(扩张状态观测器)和非线性反馈控制律这三大部分组成,是一种典型的非线性控制器,对于这样一个复杂的控制系统来说,直接列写其传递函数模型来进行频域分析是不现实的;因此,我们需采用不同频率的正弦信号去激励控制器,得到其频率响应曲线,进而来评估控制器的性能。

以位置控制器为例:

我们给定沿地理系OXOX轴方向上的期望位置分别为sin(0.8t)sin(0.8t)sin(1.5t)sin(1.5t)sin(2.17t)sin(2.17t);(高度始终保持在1m1m);得到其频率响应分别如下图:
期望位置信号为sin(0.8t)sin(0.8t)
多旋翼飞行器控制器设计中带宽的理解

期望位置信号为sin(1.5t)sin(1.5t)
多旋翼飞行器控制器设计中带宽的理解

期望位置信号为sin(2.17t)sin(2.17t)
多旋翼飞行器控制器设计中带宽的理解

可以看出系统的闭环带宽约为2.17rad/s,高于位置控制带宽的期望轨迹信号会对控制器带来什么影响呢?
将期望位置信号设置为sin(πt)sin(\pi t)
得到沿地理系下三轴的位置曲线:

多旋翼飞行器控制器设计中带宽的理解

可以看到,位置跟踪性能很差,控制器甚至发散掉了。

附一张正常轨迹跟踪的仿真图片:
多旋翼飞行器控制器设计中带宽的理解

可见,无人机基本能按照预先设定的圆弧轨迹完成轨迹跟踪(上述图片中的圆弧角频率为0.2πrad/s0.2\pi rad/s)。

无人机的实际飞行过程中,经常需要飞圆形的轨迹,比如无人机的兴趣点环绕功能;这时候,带宽的作用就体现出来了,期望圆弧轨迹的角频率高于位置控制器带宽,那么这样的圆弧轨迹无人机是无法完成追踪的(效果很差甚至轨迹发散);

位置控制器的带宽决定了无人机所能跟踪的期望圆形轨迹的最大角频率。

同样的,我们也可以对姿态通道进行相同的测试,得到姿态通道的控制带宽(实测约为12rad/s,姿态环控制带宽与位置环控制带宽大约是十倍的关系,实际的飞控程序中也是如此;事实上,一般姿态环控制频率为200HZ,位置环为20HZ),且姿态通道的控制带宽决定了无人机能正常跟踪的期望姿态角的最大角频率