这里特地给出了Kp Ki Kd这三个参数,这三个参数就是大家最常看到的那个离散的PID公式,也就是说你在这里既可以使用Kp Ti Td的参数来建模也可以使用Kp Ki Kd的参数来建模,到这里就总算是可以把我们的传递函数放在系统中用自控原理的相应工具来分析了。分析之前要先声明一个事情,有人发现(比如在MWC和其他许多飞控中)用陀螺仪的输出来当做PID中的微分项,会取得比标准PID更好的控制效果,乍一看这么做与用前后两次欧拉角作差没有区别(因为角速度整好就是角度的微分),控制效果不一样就说不通了。
上图是PID控制器开环部分(就是上面推导的数学模型)常见的零极点分布情况,有两个固定在(0,0)和(1,0)位置的极点,两个对称分布的零点(手调参数时很难出现两个零点都在实轴上的情况而且我们也不希望那样),这两个零点的位置是可调的,微分时间常数Td主管零点位置的左右移(注意是‘主管’,也就是说对虚轴的位置还是有影响的),常数越大越靠右(也就是说临界稳定极点的影响越弱,抗噪声性能越好但到达0误差的稳态也就越困难,因为这个临界稳定的极点是在闭环系统中让系统到达稳态0误差的关键但很影响稳定性),积分常数Ti越大零点越靠近实轴,Ti在实际控制中的作用不好说明,留在后面再说,但是到这里大家也就看出我为什么要使用标准的Kp Ti Td参数而不是Kp Ki Kd参数了,因为使用这种参数时Kp对开环系统的稳定性(注意仅指开环系统)没有影响,我们就可以降低系统对这个参数的敏感性而主要考虑另外两个参数就好。大家再手调参数的看到的图形和这个都应该没有多少区别。
哟,完美嘛,0.5s即可到达稳态,0稳态误差,超调量也不过10%而已,相当的理想,而且从这里可以看出使用Kp Ti Td参数的优势:随意调整Kp,可以提高系统性能而且对闭环稳定性几乎没有影响,甚至对开环系统的稳定性完全没有影响,我想,这也就是MWC飞控用Kp(角速度的)作为动态参数的原因。那么好吧,令人沮丧的部分终于要来了,把这个参数烧到飞控里面,运行,哇塞,不错哦,不动摇杆它平衡的很好,那我们遥控下……我擦,越抖越大,控制不住了,翻了,打到人了,鲜血汩汩而出……………………
自控原理的书上有提到“串联响应频率校正”的设计方法,但是该方法屡试都不爽,有兴趣可以从这个方向走走,说不定能为我们的四轴PID控制器设计找到一条出路。
之前我曾说过,用Kp Ti Td型的参数设计的PID控制器稳定性对Kp并不敏感,那么我们是不是可以利用这点来优化我们的控制器设计呢?答案是肯定的。我们先来看下按照上面的‘向右看齐’参数调整方法会发生什么:
我们随便选一个在连线上的点作为参数查看它的开环零极点和闭环阶跃响应(这里Kp去1):