1 自动(反馈)控制
1.1 概述
自动控制(automatic control)是指在没有人直接参与的情况下,利用外加的设备或装置,使机器、设备或生产过程的某个工作状态或参数自动地按照预定的规律运行。
1.2 来源与原始形态
自动化控制技术的广泛应用则开始于欧洲的工业革命时期。瓦特在发明蒸汽机的同时,应用反馈原理,于1788年发明了离心式调速器。当负载或蒸汽量供给发生变化时,离心式调速器能够自动调节进气阀的开度,从而控制蒸汽机的转速。
1.3 例子
空调温控,车速控制。
2 PID控制
2.1 闭环自动控制技术的基础
当今的闭环自动控制技术都是基于反馈的概念以减少不确定性。
2.2 反馈理论的要素:测量、比较和执行
测量关键的是被控变量的实际值,与期望值相比较,用这个偏差来纠正系统的响应,执行调节控制。
2.3 PID控制
在工程实际中,应用最为广泛的调节器控制规律为比例(proportion)、积分(integral)、微分(derivative)控制,简称PID控制,又称PID调节。
在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经有100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均有应用。
2.3.1 PID控制原理
r(t):所需的设定值、目标值;
y(t):测量的过程输出值、实际值;eg.每0.1s得到的车轮速度。
e(t):偏差是设定值(目标值)与过程值(实际值)的差(r(t)-y(t));通过反馈慢慢使之为0。
u(t):经过计算得到的控制变量,输入到控制器中。
$u(t)=K_p·e(t)+K_d×\frac{e(t)-e(t-1)}{\delta t}$
P : proportion(非负比例系数),就是偏差乘以一个常数。
I : integral(非负积分系数),就是对偏差进行积分运算。
D : derivative(非负微分系数),对偏差进行微分运算。
eg.控制小车:将小车速度设定值r(t)为3m/s,由光电码盘测得速度为3.2m/s,即过程输出值y(t);偏差e(t)为-0.2m/s。
P:将-0.2m/s乘以一个系数(正)输入到控制器中,以减小输出的占空比,则车轮转速将降低,向设定值靠近。KP越大则调节的灵敏度越大,但过大可能会使实际速度低于3m/s(超调)。
I:只经过比例调节的小车,可能稳定后的速度为3.1m/s,存在稳态误差-0.1m/s;虽然误差很小,但是因为积分项也会随着时间的增加而加大,它推动控制器的输出增大,从而使稳态误差进一步减小,直到等于0。
D:小车中有些组件存在较大惯性或者滞后性,其变化总是落后于误差的变化。假设经比例调节后实际速度为3.1m/s,则设定速度与实际速度的差值由-0.2m/s变为-0.1m/s,e(t)的差分为0.1m/s2,将此差分乘以系数(正)加到控制变量中,相比只有比例环节减缓了速度降低的趋势(减小超调量)。
调整方式 |
上升时间 |
超调量 |
安定时间 |
稳态误差 |
稳定性 |
↑ Kp |
减少 ↓ |
增加 ↑ |
小幅增加 ↗ |
减少 ↓ |
变差 ↓ |
↑ Ki |
小幅减少 ↘ |
增加↑ |
增加 ↑ |
大幅减少↓↓ |
变差↓ |
↑ Kd |
小幅减少 ↘ |
减少↓ |
减少↓ |
变动不大→ |
变好 ↑ |
上表是独立增加参数的影响
2.3.2 PID数学表达
$u(t)=K_pe(t)+K_d\frac{de(t)}{dt}+K_i\int_t^0e(t')dt'$
$K_p,K_i,K_d$都是非负的,先$K_p$(比例项,调整效果最大),再$K_d$(微分项),最后$K_i$(积分项,消除误差)
2.3.1 PID参数整定
1.PID参数调整特点
难点不是编程,而是控制器的参数整定。
输入r(t)为阶跃响应。下图为不同参数下的输出y(t)响应。
理想:稳定、振高少、收敛快
① $K_p$增加,$K_i$ 、$K_d$不变
②$K_p$不变,$K_i$ 增加(少量增加),$K_d$不变
③$K_p$、$K_i$不变,$K_d$增加
PID系统输出影响:
(1)增大比例系数 使系统反应灵敏,调节速度加快,并且可以减小稳态误差。
但比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定。
(2)增大微分系数 可以减小超调量和稳定时间。
(3)增大积分系数 会减小稳态误差,但会增大超调量和稳定时间。
2.3.4 离散型PID
在计算机上进行PID调节时只能用离散型PID。
假设采样间隔为T,则在第kT时刻:
偏差$e(k) = r(k) - y(k)$
积分环节用加和的形式表示,即$e(k) + e(k-1) + …$
差分环节用斜率的形式表示,即$e(k) - e(k-1)$
从而有位置式PID :
$u(k)=K_pe(k)+K_d\frac{e(k)-e(k-1)}{\delta t}+K_i·\sum_{j=1}^k e(j)$
由两次的u(k)相减可以得到增量式PID:
$\delta u(k) = u(k) - u(k-1)=K_p[]+K_Ie(k)+K_D[e(k)-2e(k-1)+e(k-2)]$
(1)增大比例系数 使系统反应灵敏,调节速度加快,并且可以减小稳态误差。
但是比例系数过大会使超调量增大,振荡次数增加,调节时间加长,动态性能变坏,比例系数太大甚至会使闭环系统不稳定。
(2)增大微分系数 可以减小超调量和稳定时间。
(3)增大积分系数 会减小稳态误差,但会增大超调量和稳定时间。
PID中三个参数,大体对应于控制系统的三个最重要的方面:
P对应“稳”,即稳定性,放大控制作用;I对应“准”,消除稳态误差;D对应“快”,对误差进行预判、做出快速反应。
用控制器使一锅水的温度保持在50℃
1. Kp比例增益
Kp比例控制考虑当前误差,误差值和一个正值的常数Kp(表示比例)相乘。需要控制的量,比如水温,有它现在的当前值,也有我们期望的目标值。
① 当两者差距不大时,就让加热器“轻轻地”加热。
② 要是因为某些原因,温度降低了很多,就让加热器“稍稍用力”加热。
③ 要是当前温度比目标温度低得多,就让加热器“开足马力”加热,尽快让水温到达目标附近。
Kp越大,调节作用越激进,Kp调小会让调节作用更保守。
2. Kd微分增益
Kd微分控制考虑将来误差,计算误差的一阶导,并和一个正值的常数Kd相乘。
当比较接近目标时,P的控制作用就比较小了,越接近目标,P的作用越小。当有很多内在的或者外部的因素,使控制量发生小范围的摆动。由于P在接近目标时的作用小,整个系统不是特别稳定,总是在“抖动”,因此需要一个控制作用,让被控制的物理量的“变化速度”趋于0,即类似于“阻尼”的作用。
D的作用就是让物理量的速度趋于0,只要什么时候,这个量具有了速度,D就向相反的方向用力,尽力刹住这个变化。Kd参数越大,抑制能力就越强。
3. Ki积分增益
Ki积分控制考虑过去误差,将误差值过去一段时间和(误差和)乘以一个正值的常数Ki。设置一个积分量,只要偏差存在,就不断地对偏差进行积分(累加),并反应在调节力度上。
即使与目标值相差不是太大,但是随着时间的推移,只要没达到目标,这个积分量就不断增加。到了目标温度后,假设没有波动,积分值就不会再变动。
Ki的值越大,积分时乘的系数就越大,积分效果越明显,所以,I的作用就是,减小静态情况下的误差,让受控物理量尽可能接近目标值。
【走直线的问题】
小车差分驱动(左、右轮分别用电机驱动,通过改变两个电机的转速实现小车前进和转向)仍是主流。两个电机驱动有差异且不可能完全相同,导致两个轮子转速不同,就使得小车本该直线行驶的轨迹发生偏移。运转过程中的扰动,如轮子瞬间打滑、有微小的障碍物等因素,都会导致左右轮不同速,从而“走偏”。
标签:误差,系数,控制,积分,PID,反馈,自动,稳态 From: https://www.cnblogs.com/asandstar/p/17564924.html