附C++/Python/Matlab全套代码课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);曲线优化(贝塞尔曲线、B样条曲线等)。
详情:图解自动驾驶中的运动规划(Motion Planning),附几十种规划算法
PID控制是一种常用的经典控制算法,其应用背景广泛,例如
PID代表比例(Proportional)、积分(Integral)和微分(Derivative),它通过根据误差信号的大小和变化率来调整控制器的输出,以使系统的输出尽可能接近期望值,其控制框图如下所示
连续型PID控制律如下
u ( t ) = K p e ( t ) + K i ∫ t 0 t e ( τ ) d τ + K d e ˙ ( t ) u\left( t \right) =K_pe\left( t \right) +K_i\int_{t_0}^t{e\left( \tau \right) \mathrm{d}\tau}+K_d\dot{e}\left( t \right) u(t)=Kpe(t)+Ki∫t0te(τ)dτ+Kde˙(t)
其中 K p K_p Kp、 K i K_i Ki、 K d K_d Kd分别称为比例、积分与微分增益系数
位置式离散型PID控制律如下
u ( k ) = K p e ( k ) + K i ∑ i = 0 k e ( i ) Δ t + K d ( e ( k ) − e ( k − 1 ) ) / Δ t u\left( k \right) =K_pe\left( k \right) +K_i\sum_{i=0}^k{e\left( i \right) \varDelta t}+K_d{{\left( e\left( k \right) -e\left( k-1 \right) \right)}/{\varDelta t}} u(k)=Kpe(k)+Kii=0∑ke(i)Δt+Kd(e(k)−e(k−1))/Δt
由于位置式PID算法需要计算累计偏差,占用存储单元,可以通过
u ( k ) − u ( k − 1 ) u\left( k \right) -u\left( k-1 \right) u(k)−u(k−1)
计算增量式PID控制律
Δ u ( k ) = K p Δ e ( k ) + K i e ( k ) Δ t + K d ( Δ e ( k ) − Δ e ( k − 1 ) ) / Δ t \varDelta u\left( k \right) =K_p\varDelta e\left( k \right) +K_ie\left( k \right) \varDelta t+K_d{{\left( \varDelta e\left( k \right) -\varDelta e\left( k-1 \right) \right)}/{\varDelta t}} Δu(k)=KpΔe(k)+Kie(k)Δt+Kd(Δe(k)−Δe(k−1))/Δt
其中
Δ u ( k ) = u ( k ) − u ( k − 1 ) Δ e ( k ) = e ( k ) − e ( k − 1 ) \varDelta u\left( k \right) =u\left( k \right) -u\left( k-1 \right) \\ \varDelta e\left( k \right) =e\left( k \right) -e\left( k-1 \right) Δu(k)=u(k)−u(k−1)Δe(k)=e(k)−e(k−1)
基于PID控制的路径跟踪实例请参考轨迹规划 | 图解路径跟踪PID算法(附ROS C++/Python/Matlab仿真)
比例控制根据误差信号的大小来产生控制器的输出
比例控制通过将误差信号与一个比例增益相乘来生成控制输出。增强比例控制作用 K p K_p Kp对系统性能的影响主要为
从时域角度看,如图所示根轨迹图,在增大 K p K_p Kp的过程中,系统自然频率增大,动态响应加快;阻尼频率增大,增加阻尼振荡次数;系统阻尼比减小,增大超调; K p K_p Kp过大会使闭环极点进入右半平面造成系统失稳
从频域特性角度看,增大 K p K_p Kp相当于抬高系统幅频特性,增大穿越频率(因此增加闭环带宽,加快动态响应),降低相角裕度(因此减小系统阻尼)。
如图所示为调节 K p K_p Kp对二阶系统响应的影响
积分控制根据误差信号的累积量来产生控制器的输出
积分控制通过将误差信号与一个积分增益相乘,并将累积的误差值相加来生成控制输出。增强积分控制作用 对系统性能的影响主要为:
必须指出,积分控制与比例控制改善系统稳态性能的本质不同,后者属于有差控制,即只有存在误差 e e e,控制器才有输出,因此比例控制只能减小误差却不能完全消除误差;前者属于无差控制,当系统存在误差 e e e时,控制器通过积分作用消除误差,此时控制器保持一个为消除误差而产生的输出值
积分控制的无差性虽然提升了稳态性能,但一方面引入滞后相角牺牲了动态性能,另一方面产生了积分饱和问题。积分饱和指控制器为调节误差不断增大修正输出值,导致后续组件超过物理极限进入非线性环节,使控制器失去调节作用,引发严重超调的现象。例如在积分控制下,某管路阀门开度被调节至最大,此后产生误差虽然使控制器进一步增大输出,但阀门已不具有调节作用,系统失去控制能力。为解决该问题,需要引入抗积分饱和的控制算法。
如图所示为调节 对二阶系统响应的影响
微分控制根据误差信号的变化率来产生控制器的输出
微分控制通过将误差信号的变化率与一个微分增益相乘来生成控制输出。增强微分控制作用 对系统性能的影响主要为:
需要注意,单独的微分控制器由于带宽无穷大,物理不可实现,因此实用的微分控制环节总是伴随着比例控制或积分控制。由于在纯滞后时间内系统参数不变化,因此微分控制对纯滞后环节无效。
如图所示为调节 K d K_d Kd对二阶系统响应的影响
经验法根据2~4节阐述的各个控制作用对系统性能的影响,结合系统实际运行的过渡曲线,进行在线修正、调整与完善。
临界比例度法属于闭环整定方法,直接在闭环系统中进行而不需要被控过程的数学模型。优点是方法简单、使用方便。缺点是不适用于生产工艺过程不能反复做振荡实验(如锅炉给水系统)或对比例调节本质稳定(大时间常数单容过程)的被控系统。
具体方法如下:
衰减曲线法属于闭环整定法,优点是无需进行振荡实验,适用于多数过程。缺点是较难准确确定4:1的衰减程度,不适于干扰较频繁、过程变化较快的控制系统(如管道、流量控制系统)。
具体方法如下:
更多精彩专栏: