了解PID原理和优化算法

 2024-02-08 01:01:55  阅读 0

动态PID仿真及PID知识整理-云社区-华为云()

浅析位置式PID与增量式PID的区别_Z晓轩-CSDN博客_增量式PID

期望值是什么与控制器无关”,但与物理对象有关。 更直接的原因是,因为你用这个物理量来反馈,所以期望值需要和反馈的不一样,所以期望值才有物理意义。 “期望值是什么取决于反馈值是什么。”

常用的PID算法: ①PI算法:

特征:

②PD算法:

适用于舵机快速响应

对于惯性较大的物体,往往希望加快控制速度。 在这种情况下,可以添加差异效应。

特征:

③PID算法:

将比例、积分、微分三种调节规律结合起来,只要三种动作的力度协调得当,不仅可以快速调节,而且可以消除残余误差,获得满意的控制效果。

特征:

增量PID的优缺点:

位置式PID与增量式PID对比:

出色的:

① 计算公式中无需相加。 控制增量Δu(k)的确定仅与最近的三个采样值有关,通过加权处理很容易获得更好的控制效果;

②计算机每次只输出控制增量,即执行器位置对应的变化,因此当机器出现故障时,影响范围较小,不会严重影响生产过程;

③手动、自动切换时冲击小。 当控制从手动切换到自动时,可以实现无扰动切换。

缺少:

①控制量需要记忆。

②存在稳态误差

PID优化方法:①抗积分饱和:

如果系统始终存在均匀的方向偏差,则可能会无限累积而达到饱和,这将极大地影响系统性能。

所谓积分饱和,是指系统在一个方向上存在偏差。 PID控制器的输出由于积分效应的不断积累而扩大,导致控制器输出不断增大超出正常范围,进入饱和区。 当系统出现反应偏差时,需要先退出饱和区,无法快速响应反向偏差。

为了解决积分饱和问题,人们引入了抗积分饱和的PID算法。 所谓反积分饱和算法的思想是,在计算U(k)时,首先判断前一时刻的控制变量U(k-1)是否超出了极限范围。 如果U(k-1)>Umax,则仅累加负偏差; 如果 U(k-1)

抵抗饱和积分的几种方法:

系统对积分项的要求是,当系统偏差较大时,应削弱甚至消除积分作用,当偏差较小时,应加强积分作用。 如果积分系数太大,会导致超调,甚至积分饱和。 如果太小,静态误差不能在短时间内消除。 因此,需要根据系统的偏差来改变积分速度。 变积分PID的基本思想是试图改变积分项的累积速度,使其与偏差的大小相对应:偏差越大,积分越慢; 偏差越小,积分速度越快。

②不完全微分:

不完全微分_百度百科()

不完全微分可以在一定程度上缓解偏差发生阶跃变化时出现的输出瞬时跳变,因此在实际PID控制算法中得到广泛应用。 在PID控制中,引入微分信号可以改善系统的动态特性,但也容易引入高频干扰。 当误差扰动突变时微分项的缺点尤其明显。为了解决这个问题,可以在控制算法中添加低通滤波器

标准微分会产生短暂的跳跃,实际系统无法完全响应,效果不好,会出现振荡。

③微分优先:

在某些给定值变化频繁且显着的情况下,微分项常常引起系统振荡。 为了适应给定值频繁变化的情况,人们设计了差分前瞻算法。

与不完全微分类似(不完全微分是通过削弱变化量来尽可能达到完全响应,而微分优先PID控制只对输出量进行微分,对给定指令没有微分作用),微分部分只是 to 测量值相关,与连续的几个测量值相关。 与设定值无关,设定值的阶跃变化不会产生高频干扰。

④带死区PID控制:

当偏差足够小时PID不起作用

PID控制器开发笔记8:带死区的PID控制器的实现_木南创智-CSDN博客

在计算机控制系统中,由于系统特性和计算精度等问题,系统偏差始终存在,系统总是频繁运动而不能稳定。 为了解决这种情况,我们可以引入带死区的PID算法。

带死区的PID控制算法检测偏差值。 如果偏差值达到一定程度,则进行调整。 如果偏差值很小,则认为没有偏差。 公式表示如下:

死区的选择需要根据具体对象仔细考虑,因为如果值太小,则没有效果,如果值太大,则可能会造成较大的滞后。

带死区的PID算法对位置表达式和增量表达式都没有影响,但它是一个非线性系统。

除了上面的描述之外,还有一个问题。 如果零点附近偏差很小,将偏差设置为0会导致进入死点后积分消失。 如果系统中存在静态差异,则无法消除,因此需要手动处理。

引入死区的主要目的是消除稳定点附近的波动。 由于测量值的测量精度以及干扰的影响,实际系统中的测量值不会真正稳定在特定值,而总是与设定值不同。 存在偏差,而这种偏差并不是对系统真实控制过程的响应,因此引入死区可以更好地消除这种偏差。

当然,死区的大小对系统有不同的影响。 如果太小,可能达不到预期的效果,而如果太大,可能会导致系统正常变化严重滞后。 需要根据具体的系统对象进行设置。

⑤串级PID

类比汽车上坡,由于单环PID输出的速度V不一定是真实的速度V,所以内环加上速度环PID组成级联PID(外环是位置环,外环是位置环)输出值是小车速度的理论值,内循环是速度环,输入是小车的理论速度,我们希望输出尽可能是理论速度),外循环的输出是内循环的输入

与四轴类似,外圈为角度环,输出为达到角度所需的PWM(即角速度,也可以理解为角速度与PWM的映射)。 内环为角速度环,输入为期望的角速度。 和自己的真实角速度,输出就是最终的PWM(角速度)

级联PID可增加系统稳定性和抗干扰能力

为什么外循环的输入是内循环的期望? 因为当你设计控制器时,内环的目的是实现执行器可以直接控制的变化,而外环的目的是找到一条合适的曲线来引导目标的微分变化,从而达到间接控制的效果。

为什么要使用级联PID?

看起来PID还不够完善吗? 只要我能给出反馈,我就能控制所有的物理量,对吗?

为什么需要双闭环PID? 那么为什么说外循环输入是内循环期望呢? 为什么位置误差经过PID后就变成了速度期望呢?

那么我们来设计一个位置控制器吧!

感觉好像没什么问题,但是和以前有点不一样。 之前,我们的**“执行器可以直接改变反馈值”**,但是在这个控制器中,执行器仍然只能改变升力,但是因为升力的变化,就会有加速度,从而导致速度并最终改变位置。

如果你按照图中的思路设计控制器,就意味着**“你只对位置有期望”**,这意味着你对升力和速度没有期望,这意味着加速度和速度并不重要。

那么实际效果如何呢? “你将以你不在乎的加速度和速度到达你想要的位置。”

这时,奇怪的事情发生了。 当您到达所需位置时,就会出现加速度和速度。 那么这就不是“到达期望位置”了,这叫“通过期望位置”。 你会发现你的物体反复“跳跃”到所需的位置附近。 过了它就回去,过了它又再过去。

这时你才会想起“你想要的就是停在你想要的位置”。 “停在期望位置是什么意思?就是说到达期望位置时加速度和速度都为0。”**

这个问题是怎么出现的,为什么以前不存在这个问题?

在前面的单级PID示例中,期望控制的物理量可以直接由执行器改变。

但在这个例子中,“期望控制的物理量不能由执行器直接改变,但可以间接改变,并且你知道间接改变的过程。”

之前我们想要控制位置,类似于控制机器人。 只要有命令,它就会直接前往相应的位置。

现在我们要控制位置,类似于控制汽车。 只能踩油门加速,踩刹车减速。 只能通过速度控制来间接控制位置。

但你要知道,我们还可以控制小车的位置。 你还记得驾校里的倒车和停车吗? 不就是让你能够准确的控制位置吗?

开车时如何控制自己的位置? 当你想停在指定地点时,你首先以一定的速度前往指定地点。 当快到的时候,继续通过刹车减速,直到速度为0,停在想要的位置。

这个过程告诉我们什么? 我们可以通过仅控制速度来间接控制位置。 换句话说,“我们可以通过控制物理量变化的速度来间接控制物理量。”**

所以我们只需要选择“合适的变速曲线”就可以停在我们想要的地方。 然后我们可以将控制器设置为以下结构。

什么是**“适当的变速曲线”**?

首先,当到达所需位置时,速度应该为0。

其次,当没有到达期望位置时,期望速度可以减少位置误差。

总结一下:“期望速度必须能够减少位置误差,当位置误差为0时,期望速度为0”。

这意味着什么? 如果前面是正方向,当期望的位置在我们前面时,即->0,那么我们希望有一个向前的正速度来减少这个误差。 当误差为0时,我们希望速度为0。满足这样一个过程的速度变化曲线就是“合适的速度变化曲线”**。

想想当你在开车的时候,当你快到终点的时候会发生什么操作?

当新手还没有到达位置的时候,他希望有一个比较快的速度。 达到速度后,他直接刹车到底。

专家可以提前预测并均匀降低速度。

更高级别的变减速使整个变速过程如丝般顺滑。

有下面的曲线。

(第一条曲线在实际中是不可能实现的,因为减速需要一个过程,不能突然改变)

因为我们对期望速度的要求**“期望速度必须能够减少位置误差,当位置误差为0时,期望速度为0。”所以我们发现这些期望速度“与位置有关”错误并通过0点“曲线”**。

此时位置误差与期望速度之间的关系才建立。 请注意,再次强调,我们主动将位置误差与预期速度联系起来。 原因是我们希望通过控制速度来达到控制位置的效果。

这种控制能够实现的本质是“我们知道速度和位置之间存在一个简单的变化关系,即速度的积分就是位置”。 因此,改变所需的速度可以改变位置并减少误差。

因此,合理的控制流程应该这样设计。

只需找到一个合适的函数并根据误差生成合适的期望速度曲线即可。

我们最常使用什么样的曲线?

是不是很熟悉呢?

因为这两条曲线满足“适当的期望速度”的要求,而且也很简单。

只要满足“适当的期望速度”曲线,就可以作为期望速度。 显然,在外循环中使用PID也是可以的,但为什么在实际中没有使用呢? 因为添加积分(I)会减慢响应速度,而添加微分(D)则容易引入噪声。 只使用 P 既简单又有效,何乐而不为呢?

至此,外循环的输出终于成为了内循环的期望,但这并不是因为它应该是真的,而是因为它是通过你的设计和真实的物理关系而设计的。 合理的双闭环控制器。

我们来回忆一下这个控制器的设计过程

“1.执行器输出不能直接控制目标物理量。”

“2.发现控制器可以控制物理量的变化(微分)。”

“3、你想到了一种方法,通过控制物理量的微分,使其按照一定的曲线变化,来间接控制目标物理量。”

“4、这条曲线必须满足两点,当目标物理量有误差时,应该有一个可以减小误差的变化,当没有误差时,变化也应该为0。”

“5、选择最简单、最实用的曲线就可以了,所以外圈选择KP。”

“6.间接控制之所以能够成功,是因为执行器能够改变的量与目标物理量之间存在简单的物理关系。”

那么为什么外循环的输入是内循环的期望呢? 因为当你设计控制器时,内环的目的是实现执行器可以直接控制的变化,而外环的目的是找到一条合适的曲线来引导目标的微分变化,从而达到间接控制的效果。

标签: 期望 速度 误差

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码