从入门到上手————PID算法的控制思想及运用方法

一、位置式PID与增量式PID

谈到控制算法,PID是入门控制算法的经典代表。大家常说的闭环控制就是指PID控制算法。常见的PID算法包括位置式PID、增量式PID及衍生出的变积分PID、模糊PID等。网上也有太多PID算法的入门介绍,和基本公式。这里我只给出位置式PID和增量式PID的公式及简单说明:

位置式PID公式:

                                        U(t)=k_{p}\cdot e_{rr}(t)+\frac{1}{k_{i}}\cdot\int e_{rr}(t)dt+k_{d}\cdot\frac{d e_{rr}(t)}{dt}

kp、ki、kd分别是比例、积分、微分系数。位置式PID是以误差值为输入,输出误差控制值。

增量式PID公式:

                                        \Delta U(t)=k_{p}\cdot \Delta e_{rr}(t)+\frac{1}{k_{i}}\cdot\int \Delta e_{rr}(t)dt+k_{d}\cdot\frac{d\Delta e_{rr}(t)}{dt}

增量式PID是以误差值的变化量为输入,输出误差控制值的变化量。

二、各类PID算法的特点

1.位置式PID与增量式PID的关系

从公式上看位置式PID是以误差值为输入,输出误差控制值,增量式PID是以误差值的变化量为输入,输出误差控制值的变化量。

理论上来说,根据输入的误差值,位置式PID的输出直接决定了当前的控制量,而增量式PID的输出则是当前控制量的变化值。

由此可见,位置式PID更适合控制变化速度快的系统,在较大误差的情况下能够快速反应,给出相应控制量。但在噪声影响下,控制系统不稳定,某时刻,误差值受瞬时噪声干扰后,产生错误的输入误差值系统立即给出相应的控制状态,这种情况下系统极不稳定,且易受损坏。

相比位置式PID,增量式PID控制的响应速度会慢,不适用于控制变化速度快的系统,但从公式中可以看出来,增量式PID自带一个小的去噪滤波系统(白噪声除外)。因此增量式PID控制系统更加稳定一些。

2.PID算法的简单延申

生活中常常遇到的系统往往包含部分线性区间,但是很少有一个完整的纯线性系统。而我们听说的变积分PID、模糊PID等算法,与位置式PID、增量式PID的核心区别在于将kp、ki、kd从常系数换成了区间数组变量。在特定控制状态下,使用特定的比例、积分、微分系数来适应不同控制环境下的控制系统。这类PID算法更加地体现了非线性的特征。

三、PID算法的常用优化方法

1.限幅输出

为了避免噪声干扰下程序跑飞,破坏系统,常用限幅输出来保护控制系统的安全。

2.零点死区

通常在内部噪声及系统结构偏差等因素的影响下,当控制系统达到目标值的时候,还是会有误差的输入,从而改变当前的控制状态,偏离目标值。增加死区后,即当控制系统达到目标值附近的时候,完成控制。

3.改变Kp、Ki、Kd系数

PID算法控制其实就是一个调参的过程,分区间调参可以使算法更加适应控制系统。

四、PID控制算法的使用

1.确定控制效果

一个控制系统的存在是为了达到某种控制效果,例如控制小车行驶的速度、控制平衡车保持平衡等等。这是控制系统通过控制算法要完成的最终效果。

2.确定控制参数

控制系统通过PID来调整对应的参数,来实现相应的控制效果。这是要实现最终效果的关键的第一步。例如:

要控制小车的行驶速度,控制参数就是小车的速度。就需要速度传感器来获取小车当前速度,与目标速度作差得出输入误差值。

要控制平衡车保持平衡,首先是让平衡车保持与水平面接近平行,其次是让平衡车的速度接近为零。控制参数就是平衡车的速度平衡车与水平面夹角(假设平衡车直立时,车身构架与水平面平行) 因此需要角度传感器和速度传感器来获取对应的当前值,与目标值作差进得出输入误差值。

3.多级PID控制系统的搭建

对于简单的控制效果,只需一个PID控制系统即可搭建完成,例如控制小车的行驶速度。但是生活中我们需要达成的控制效果常常是复杂的,仅仅靠一个PID控制系统来实现,效果往往是不尽人意的。例如,平衡车的平衡效果需要控制平衡车的速度平衡车与水平面夹角这两个参数。

常见的两种方法是串级PID和并级PID

并级PID结构如图:

并行 PID控制即对角度和速度两个不同的控制对象并行控制,各自控制过程分开同时进行,然后将控制结果同时输出进行叠加后再传输给系统。

串级PID结构如图:

串级 PID 控制系统就是将两个 PID控制器串联起来,外环主控制器的输出作为内环副控制器的输入,由内环控制器直接输出到系统。 内环控制器作为外环控制器内的负反馈系 统,以外环控制器为主导,将两个PID控制器串联,当外环 控制器受到干扰而未能发生作用时,内环控制器进行“粗调”,之后再由外环 控制器进行“细调”,因此串级 PID 控制系统的控制质量明显优于 简单控制系统。但由内环控制器进行“粗调”的干扰不宜过多, 否则时间滞后变大,影响控制质量。
既然如此,那为何我们常见的平衡车的pid算法多为并级PID算法。这是因为经过仿真可以得到的结论是(仿真过程这里不做阐述),在目标速度为零的情况下,角度与速度的并级PID与串级PID到达稳定的时间将近,但并级PID的超调量要低于串级PID的超调量。简而言之就是,在目标速度为零的情况下,并级PID会更加稳定。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OTITA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值