控制器与滤波器之间的关系(探讨信号处理与自动控制原理的联系)
最常用的控制器依然是PID。
示例:
在无人机中,利用串联PID控制完成姿态和高度控制是比较经典的方法,参考博客。
如果想增加飞行器的稳定性(增加阻尼)并提高它的控制品质,我们可以进一步的控制它的角速度,于是角度/角速度-串级PID控制算法应运而生。在这里,相信大多数朋友已经初步了解了角度单环PID的原理,但是依旧无法理解串级PID究竟有什么不同。其实很简单:它就是两个PID控制算法,只不过把他们串起来了(更精确的说是套起来)。那这么做有什么用?答案是,它增强了系统的抗干扰性(也就是增强稳定性),因为有两个控制器控制飞行器,它会比单个控制器控制更多的变量,使得飞行器的适应能力更强。为了更为清晰的讲解串级PID,这里笔者依旧画出串级PID的原理框图。
问题:那么这里对系统有要求吗?比如电机系统必须得是一个稳定的系统?这里的问题是为什么外环的输出就是期望的角速度了?这一点让人困惑。这里其实可以将角速度环看成是一个D控制器,那么反馈回来的量正好做一个微分,那么角度的微分正好是角速度。
但是怎么解释呢?参考;
期望本身并没有含义,完全是由反馈的信号的性质来决定的。如果反馈的是角速度,那么这里的期望就是角速度期望。这样的话串联PID就可以解释成为:当角度趋近于0的时候,期望角速度最好也是趋近于0,那么串联PID可以完成这一过程。
换一种思路,将PID控制器看成是一个滤波器,会有什么样的性质呢?下面举一个例子作为参考。
上面是一个PI控制器,系数分别是1和1,可以比较好的跟踪信号。那么对于跟踪的这个信号有要求吗?显然是需要的,将其看成为滤波器,画出闭环环路系统的频谱图有下面的结果。
那么对于20Hz的信号会产生0.5倍的衰减,这个跟踪的效果就不太好了,上下图的结果一致。
对于控制器而言,相位的延时对他来说不是那么重要,重点是可以跟踪。但是对于信号的测量来说,最好是最后形成一个全通的滤波器,才可以保证输入和输出的结果一致。但是从控制器的角度来说,一个设计完善的控制器应该是可以及时跟踪到期望的输入。两者从原理上有部分是重合的,都是找到一个补偿系统串联现有系统,让输出能够最大程度的跟踪输入。这个系统得是稳定的,并且在带通的部分频率响应为1。
另外加上微分项之后会产生系统不稳定性的影响,最终导致系统的发散。
那么如果有前馈的补偿呢?参考「先进PID控制及其MATLAB仿真(刘金锟)」,前馈控制+PID的方法是对于PID方法的优化。
红色曲线是直接用PID跟踪正弦叠加的曲线,黑色曲线是加上前馈控制器的PID控制器,误差基本可以忽略不计。但是这种方法没办法用到滤波中,因为目前系统的采样率为1000Hz,如果降低采样率这种方法便不再可用。(具体实现参考PID_control.slx文件)所以从这个现象来看,用控制器的思维去进行设计滤波器是完全不行的,因为在工程上没办法保证传感器可以以如此高的频率输出信号。
以上便是自动控制与信号处理总结的一些思考。