智能车PID控制学习笔记

主要谈及直流电机的速度PID控制,在智能车中还有方向PID控制(舵机调整方向)。

为什么要用PID

在理想情况下,小车的速度调节成线性,即当PWM=60%时,小车速度是2M/S;把PWM提高到90%,则小车速度为3M/S;但实际上由于各种因素的影响,往往实际速度和输入速度有误差,因此必须要通过某种算法进行调整,PID控制的意义就在于消除这种误差。
智能车PID控制学习笔记_第1张图片

PID理论基础

PID控制器(比例-积分-微分控制器),由比例单元§、积分单元(I)和微分单元(D)组成,通过Kp, Ki和Kd三个参数进行设定。
P代表了当前的信息,起纠正偏差的作用,使反应迅速;
D代表了将来的信息,在过程开始时强迫过程进行,过程结束时减小超调,克服振荡,提高系统的稳定性,加快系统的过渡过程;
I代表了过去积累的信息,它能消除静差,改善系统的静态特性。

比例环节(放大环节):输出量以一定比例不失真也无时间滞后地复现输入信号
积分环节:输出量正比于输入量单独积分
微分环节:其输出与输入量的导数成比例

PID控制器主要适用于线性且动态特性不随时间变化的系统。当不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统参数时,最适合采用PID控制技术。
智能车PID控制学习笔记_第2张图片

动态性能指标:
见下方时域图。
智能车PID控制学习笔记_第3张图片

1.比例(proportion)控制
比例控制器能立即成比例地响应输入的变化量,其实质相当于一个放大器。调节器输出u与其输入偏差e之间的关系是比例关系,误差值和kp相乘,然后和预定的值相加。仅有比例控制时,系统输出存在稳态误差,这是由比例控制的本质决定的,如果偏差为0,比例控制器就会失去作用,从而导致偏差增大,因此很少单独使用比例控制。

u=kp*error

智能车PID控制学习笔记_第4张图片
上图为比例控制。

稳态误差是指时间趋于无穷时(即系统稳定后)输出量与期望输出的偏差。控制系统的稳态误差越小说明控制精度越高。

2.比例积分(PI)控制
即比例+积分(PI)控制器。
为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差的运算取决于时间的积分,随着时间增加,积分项会增大,所以即便误差很小,积分项也会随时间增加而加大,它推动控制器的输出增大,使稳态误差进一步减小,直到等于零。但是积分作用的引入,会使系统稳定性变差(见图)。
比例积分控制对于时间滞后的被控对象使用不够理想。

u=kp*error+ ki∗∫ error

智能车PID控制学习笔记_第5张图片
上图为比例积分控制。

3.比例微分(PD)控制
即比例+微分(PD)控制器。
在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。自动控制系统在克服误差的调节过程中可能会出现振荡甚至失稳。其原因是由于存在有较大惯性组件(如储能元件)或有滞后(delay)组件,具有抑制误差的作用,其变化总是落后于误差的变化。
解决的办法是使抑制误差的作用的变化“超前”,即在误差接近零时,抑制误差的作用就应该是零。目前需要增加的是“微分项”,它能预测误差变化的趋势,这样,具有比例+微分的控制器,就能够提前使抑制误差的控制作用等于零,甚至为负值,从而避免了被控量的严重超调。
所以对有较大惯性或滞后的被控对象,比例+微分(PD)控制器能改善系统在调节过程中的动态特性,否则反而会使系统的控制受到影响。

u=kd*(error(t)-error(t-1))

4.PID控制
PID的离散化公式(便于计算机处理)为:
在这里插入图片描述
在这里插入图片描述
上图为比例积分微分控制(理想情况)。

变频器的闭环运行就是在变频器控制的拖动系统中引入负反馈,进行反馈控制,以提高反馈精度。

关于对PID算法的通俗理解,可参考:
https://zhuanlan.zhihu.com/p/39573490 PID控制算法原理 (抛弃公式,从本质上真正理解PID控制)

PID控制器的参数整定

PID参数对控制质量的影响不十分敏感,因而不同的PID系数的组合可能达到相近的控制效果。

编写可行的PID程序从来不是什么难点,难的是PID参数整定,异常麻烦以至于我们宁愿用开环控制。
需要设定的值有:

● Setpoint:目标值
● Kp,Ki,Kd: pid参数
● OutputLimits:输出极限
● SampleTime:采样时间

一般采用的是临界比例法(属于工程整定法)。

工程整定法主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。(简单来讲就是试凑)

利用该方法进行PID控制器参数的整定步骤如下:
(1)首先预选择一个足够短的采样周期让系统工作,输入设定为系统允许的最大值的60%~70%;
(2)仅加入P比例控制环节。初调时,选小一些,然后慢慢调大,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期,设定PID的比例增益P为当前值的60%~70%;
(3)加入I积分控制环节。积分系数初调时要把积分时间设置长些,然后慢慢调小直到系统稳定为止,设定PID的积分时间常数Ti为当前值的150%~180%。

一般情况下到此为止

(4)D微分控制环节一般不用设定。如果通过比例、积分参数的调节还是收不到理想的控制要求,才调节微分时间。初调时把这个系数设小,然后慢慢调大,直到系统稳定。

1.PID控制器的参数整定(经验总结)
2.PID:从入门到放弃

舵机的PID参数整定

舵机通常采用PD算法,智能车过弯是一个比较特殊的环境,去掉参数I可以加快系统的反应速度,使小车过弯更加顺畅。

你可能感兴趣的:(自动控制,算法,pid)