《四轴PID控制算法详解》由会员分享,可在线阅读,更多相关《四轴PID控制算法详解(22页珍藏版)》请在金锄头文库上搜索。
1、正文开始:这篇文章分为三个部分: PID原理普及常用四轴的两种PID算法讲解(单环PID、串级PID)如何做到垂直起飞、四轴飞行时为何会飘、如何做到脱控?PID原理普及1、对自动控制系统的基本要求:稳、准、快:稳定性(P和I降低系统稳定性,D提高系统稳定性):在平衡状态下,系统受到某个干扰后,经过一段时间其被控量可以达到某一稳定状态;准确性(P和I提高稳态精度,D无作用):系统处于稳态时,其稳态误差;快速性(P和D提高响应速度,1降低响应速度):系统对动态响应的要 求。一般由过渡时间的长短来衡量。2、稳定性:当系统处于平衡状态时,受到某一干扰作用后,如果系统输出能 够恢复到原来的稳态值,那么系
2、统就是稳定的;否则,系统不稳定。3、动态特性(暂态特性,由于系统惯性引起):系统突加给定量(或者负载 突然变化)时,其系统输出的动态响应曲线。延迟时间、上升时间、峰值时 间、调节时间、超调量和振荡次数。通常:上升时间和峰值时间用来评价系统的响应速度;超调量用来评价系统的阻尼程度; 调节时间同时反应响应速度和阻尼程度;4、稳态特性:在参考信号输出下,经过无穷时间,其系统输出与参考信号的 误差。影响因素:系统结构、参数和输入量的形式等5、比例(P)控制规律:具有P控制的系统,其稳态误差可通过P控制器的 增益Kp来调整:Kp越大,稳态误差越小;反之,稳态误差越大。但是Kp越 大,其系统的稳定性会降低
3、。由上式可知,控制器的输出m(t)与输入误差信号e(t)成比例关系,偏差减小的速度取决于比例系数Kp : Kp越大,偏差减小的越快,但是很容易引起振荡(尤其是在前向通道中存在较大的时滞环节时);Kp减小,发生振荡的可能性 小,但是调节速度变慢。单纯的P控制无法消除稳态误差,所以必须要引入积分I控制。原因:(R为参考输入信号,Kv为开环增益)当参考输入信号R不为0时,其稳态误差只能趋近于0,不能等于0。因为开环增益Kv不为0。6 比例微分 ( PD )控制规律:可以反应输入信号的变化趋势,具有某种预见性,可为系统引进一个有效的早期修正信号,以增加系统的阻尼程度,而从提 高系统的稳定性。(tao为
4、微分时间常数)mCO = Kpe(t) + KpT如果系统中存在较大时滞的环节,则输出变化总是落后于当前误差的变化,解 决的方法就是使抑制误差的作用变化“超前”,增强系统的稳定性。7、积分(I)控制规律:由于采用了积分环节,若当前误差e(t)为0,则其输出信号m(t)有可能是一个不为0的常量。需要注意的是,引入积分环节,可以提到系统型别,使得系统可以跟踪更高阶次的输入信号,以消除稳态误差。8 比例积分(PI )控制规律:在保证系统稳定的前提下,引入PI控制器可以提高它的稳态控制质量,消除其稳态误差。(TI为积分时间常数)积分调节可以消除静差,但有滞后现象,比例调节没有滞后现象,但存在静差。PI
5、调节就是综合P、I两种调节的优点,利用P调节快速抵消干扰的影响,同时利用I调节消除残差。9、比例积分微分(PID )控制规律:除了积分环节提高了系统型别,微分环节提高了系统的动态性能。观察PID的公式可以发现:Kp乘以误差e(t),用以消除当前误差;积分项系Ki乘以误差e(t)的积分,用于消除历史误差积累,可以达到无差调节;微分项系数Kd乘以误差e(t)的微分,用于消除误差变化,也就是保证误差恒定不 变。由此可见,P控制是一个调节系统中的核心,用于消除系统的当前误差, 然后,I控制为了消除P控制余留的静态误差而辅助存在,对于D控制,所占 的权重最少,只是为了增强系统稳定性,增加系统阻尼程度,修
6、改PI曲线使得 超调更少而辅助存在。10、P控制对系统性能的影响:开环增益越大,稳态误差减小(无法消除,属于有差调节)过渡时间缩短稳定程度变差11、1控制对系统性能的影响:消除系统稳态误差(能够消除静态误差,属于无差调节)稳定程度变差12、D控制对系统性能的影响:减小超调量减小调节时间(与P控制相比较而言)增强系统稳定性增加系统阻尼程度13、PD控制对系统性能的影响:减小调节时间减小超调量增大系统阻尼,增强系统稳定性增加高频干扰14、PI控制对系统性能的影响:提高系统型别,减少系统稳态误差增强系统抗高频干扰能力调节时间增大15、P调节、I调节降低系统稳定性D调节增强系统稳定性所以PI调节器的P
7、比P调节器的P要小一些,PD调节器的P比P调节器的P要大一些16、位置式PID表达式(数字PID ):+P=齡P(n)为第n次输出,e(n)为第n次偏差值,Ts为系统采用周期,Ti为积分时间廿+糾FT)常数,Td为微分时间常数17、消除随机干扰的措施:几个采样时刻的采样值求平均后代替本次的采样值微分项的四点中心差分(e(n)-e(n-3)+3e(n-1)-3e(n-2)*1/(6Ts)矩形积分改为梯形积分 ZH=o e(0 t He(i) + e(i l)/218、PID调试一般原则在输出不振荡时,增大比例增益P在输出不振荡时(能消除静态误差就行),减小积分时间常数Ti在输出不振荡时,增大微分
8、时间常数Td19、描述比例Kp的性能:比例带。比例带就是Kp的倒数:比例带越大,Kp 越小,无超调,稳态误差大,调节时间长;比例带越小,Kp越大,系统会有超 调,甚至发散,稳态误差减小,调节时间缩短20、描述积分Ki的性能:积分时间常数Ti。与积分系数Ki也是倒数关系:积分时间常数Ti越大,积分系数Ki越小,系统稳定性增加,但是调节速度变 慢;积分时间常数Ti越小,积分系数Ki越大,系统稳定性降低,甚至振荡发散。无论增大还是减小积分时间常数Ti,被调最后都没有静差21、描述微分Kd的性能:微分时间常数Td。主要用于克服调节对象有较大的时滞。Td越大,微分作用越强,系统阻尼程度增加。22、比例P
9、调节作用:系统一旦出现偏差,比例调节立即产生调节作用用以减少偏差 比例作用大,可以加快调节,减少调节时间,减少稳态误差 过大的比例作用,使系统的稳定性下降11JSil_611.41_3StepResporae256liiB aecj23、积分I调节作用:消除稳态误差系统稳定性下降,动态响应变慢StepResporae24、微分D调节作用:具有预见性,能预见偏差变化趋势,有超前的控制作用,增强系统动态性能超调趋势随着Kp增大、积分时间Ti减小而增大26、积分分离的措施:(在系统启动,结束或者大幅度增减时,短时间系统输 出会有很大偏差,造成PID运算的积分积累,致使控制量超过执行结构可能允 许的最
10、大动作范围,引起系统较大的超调,甚至振荡)当误差大于某个阈值时,采用PD控制,当误差在该阈值范围内,采用PID控制注意:阈值的选取,过大,则达不到积分分离的目的;过小,则会导致无法进 入积分区27、抗积分饱和的措施:限制PI调节器的输出(这样有可能在正常操作中不能消除系统的余差)积分分离法:误差在某个范围内开启积分调节(既不会积分饱和又能在小偏差时利用积分作用消除偏差)遇限削弱积分法:调节器输出大于某个值后,只累加负误差(可避免控制量长时间停留在饱和区)28、比例微分PD调节器仍然属于有差调节 提高了系统的稳定性,因为微分D的作用总是试图抑制被调量的振荡,所以也增加了系统的阻尼程度因为提高了系
11、统的稳定性,所以可以适当加大Kp D只是辅助作用,主要还是P控制29、MATLAB 仿真如果是串级调节系统,还需要收集:副调的被调量副调PID输出31、在整定PID参数时,PID三个参数的大小都不是绝对的,而是相对的。也就是说,如果发现一个参数比较合适,就把这个参数固定死,不管别的参数怎 么变化,永远不动前面固定的参数。这是要不得的。32、如果是串级调节系统,在整定参数时,一般把主、副调隔离开来,先整定个回路,再全面考虑。一般而言,先整定内回路。把PID参数隔离开来,先 去掉积分、微分作用,让系统变为纯比例调节方式,再考虑积分,最后考虑微33、整定比例带:方法:逐渐加大比例作用,一直到系统发生
12、等幅振荡,记录下此时的比例增益,乘以0.60.8即可注意1 :比例作用很强时的振荡周期很有规律,基本上呈正弦波;而在极弱比 例作用参数下的系统有时也会呈现出有规律的振荡,但是往往参杂了几个小波 峰。现象:最终整定的系统,其调节效果应该是被调量波动小而平缓。在一个扰动 过来之后,被调量的波动应该呈现“一大一小两个波”(波形高度差4:1) 注意2 :如果看不到这种被调量的周期特征,那说明参数整定的很好。即满足 快速性,也不会超调方法:主调的作用是为了消除静态偏差,当比例作用整定好的时候,就需要逐 渐加强积分作用(调小积分时间Ti或者增大积分项系数Ki),直到消除静差为 止。也就是说,积分作用只是辅
13、助比例作用进行调节,它仅仅是为了消除静态 偏差。方法:逐渐加强微分作用(增加微分时间Td或者增加微分项系数Kd ),直到PID输出毛刺过多34、串级调节系统,一般而言,主调的比例弱,积分强,以消除静差;副调的比例强,积分弱,以消除干扰。但是不绝对!35、不完全微分PID控制:微分控制对高频干扰非常敏感,为了避免在误差扰 动突变时的微分控制的不足,在微分项通道前加一个低通滤波器可以使得系统 性能得到改善36、微分先行PID控制:只对被调量进行微分,而不对给定值进行微分。这样 的处理在改变给定值时,输出不会改变,被控量的变化通常比较缓和,适用于 给定值频繁升降的场合。常用四轴的两种PID算法讲解(
14、单环PID、串级PID)这里主要讲解的PID算法属于一种线性控制器,这种控制器被广泛应用于四轴上。要控制四轴,显而易见的是控制它的角度,那么最简单,同时也是最容易想到的一种控制策略就是角度单环PID控制器,系统框图如图所示:或许有些朋友看得懂框图,但是编程实现有一定困难,在这里笔者给出了伪代码:11半前角度误若积分及其积分限幅X前角度的微分(原于里上为当前角度误举上次角度课差实际上角度的微分就是角速度恰好由陀蝮仪给H)单环PID D项*当前角速度的微分(直接用陀螺仗输出)上述角度单环PID控制算法仅仅考虑了飞行器的角度信息,如果想增加飞行器当前角度逞差 二期異角度-当前角度单环PID卩项*当前角度误差单环PIDJ项 =Ki”当前角度课差积分单环PID_输出-单环PID_P项+单环PIDJ项+单环PID_D项的稳定性(增加阻尼)并提高它的控制品质,我们可以进一步的控制它的角速度,于是角度/角速度-串级PID控制算法应运而生。在这里,相信大多数朋友 已经初步了解了角度单环PID的原理,但是依旧无法理解串级PID究竟有什么 不同。其实很简单:它就是两个PID控制算法,只不过把他们串起来了(更