肥宅钓鱼网
当前位置: 首页 钓鱼百科

pid控制的基本思路(干货从原理上真正学会PID控制)

时间:2023-07-13 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

干货从原理上真正学会PID控制PID控制应该算是应用非常广泛的控制算法了小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制这里我们从原理上来理解PID控制PID(proportionintegra。

PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。

PID(proportion integration differentiation)其实就是指比例,积分,微分控制。先把图片和公式摆出来,看不懂没关系。(一开始看这个算法,公式能看懂,具体怎么用怎么写代码也知道,但是就是不知道原理,不知道为什么要用比例,微分,积分这3个项才能实现最好的控制,用其中两个为什么不行,用了3个项能好在哪里,每一个项各有什么作用)

总的来说,当得到系统的输出后,将输出经过比例,积分,微分3种运算方式,叠加到输入中,从而控制系统的行为,下面用一个简单的实例来说明。

比例控制算法

我们先说PID中最简单的比例控制,抛开其他两个不谈。还是用一个经典的例子吧。假设我有一个水缸,最终的控制目的是要保证水缸里的水位永远的维持在1米的高度。假设初始时刻,水缸里的水位是0.2米,那么当前时刻的水位和目标水位之间是存在一个误差的error,且error为0.8.这个时候,假设旁边站着一个人,这个人通过往缸里加水的方式来控制水位。如果单纯的用比例控制算法,就是指加入的水量u和误差error是成正比的。

即:u=kp*error

假设kp取0.5, 那么t=1时(表示第1次加水,也就是第一次对系统施加控制),那么u=0.5*0.8=0.4,所以这一次加入的水量会使水位在0.2的基础上上升0.4,达到0.6.。

接着,t=2时刻(第2次施加控制),当前水位是0.6,所以error是0.4。u=0.5*0.4=0.2,会使水位再次上升0.2,达到0.8。

如此这么循环下去,就是比例控制算法的运行方法。 可以看到,最终水位会达到我们需要的1米。

但是,单单的比例控制存在着一些不足,其中一点就是 –稳态误差!(我也是看了很多,并且想了好久才想通什么是稳态误差以及为什么有稳态误差)。

像上述的例子,根据kp取值不同,系统最后都会达到1米,只不过kp大了到达的快,kp小了到达的慢一些。不会有稳态误差。但是,考虑另外一种情况,假设这个水缸在加水的过程中,存在漏水的情况,假设每次加水的过程,都会漏掉0.1米高度的水。

仍然假设kp取0.5,那么会存在着某种情况,假设经过几次加水,水缸中的水位到0.8时,水位将不会再变换。因为,水位为0.8,则误差error=0.2。所以每次往水缸中加水的量为u=0.5*0.2=0.1.同时,每次加水,缸里又会流出去0.1米的水,加入的水和流出的水相抵消,水位将不再变化。

也就是说,我的目标是1米,但是最后系统达到0.8米的水位就不再变化了,且系统已经达到稳定。由此产生的误差就是稳态误差了。

(在实际情况中,这种类似水缸漏水的情况往往更加常见,比如控制汽车运动,摩擦阻力就相当于是“漏水”,控制机械臂、无人机的飞行,各类阻力和消耗都可以理解为本例中的“漏水”)

所以,单独的比例控制,在很多时候并不能满足要求。

积分控制算

还是用上面的例子,如果仅仅用比例,可以发现存在暂态误差,最后的水位就卡在0.8了。于是,在控制中,我们再引入一个分量,该分量和误差的积分是正比关系。所以,比例 积分控制算法为:

u=kp*errorki∗∫ error

还是用上面的例子来说明,第一次的误差error是0.8,第二次的误差是0.4,至此,误差的积分(离散情况下积分其实就是做累加),∫error=0.8 0.4=1.2. 这个时候的控制量,除了比例的那一部分,还有一部分就是一个系数ki乘以这个积分项。由于这个积分项会将前面若干次的误差进行累计,所以可以很好的消除稳态误差(假设在仅有比例项的情况下,系统卡在稳态误差了,即上例中的0.8,由于加入了积分项的存在,会让输入增大,从而使得水缸的水位可以大于0.8,渐渐到达目标的1.0.)这就是积分项的作用。

微分控制算法

换一个另外的例子,考虑刹车情况。平稳的驾驶车辆,当发现前面有红灯时,为了使得行车平稳,基本上提前几十米就放松油门并踩刹车了。当车辆离停车线非常近的时候,则使劲踩刹车,使车辆停下来。整个过程可以看做一个加入微分的控制策略。

微分,说白了在离散情况下,就是error的差值,就是t时刻和t-1时刻error的差,即u=kd*(error(t)-error(t-1)),其中的kd是一个系数项。可以看到,在刹车过程中,因为error是越来越小的,所以这个微分控制项一定是负数,在控制中加入一个负数项,他存在的作用就是为了防止汽车由于刹车不及时而闯过了线。从常识上可以理解,越是靠近停车线,越是应该注意踩刹车,不能让车过线,所以这个微分项的作用,就可以理解为刹车,当车离停车线很近并且车速还很快时,这个微分项的绝对值(实际上是一个负数)就会很大,从而表示应该用力踩刹车才能让车停下来。

切换到上面给水缸加水的例子,就是当发现水缸里的水快要接近1的时候,加入微分项,可以防止给水缸里的水加到超过1米的高度,说白了就是减少控制过程中的震荡。

现在再回头看这个公式,就很清楚了

括号内第一项是比例项,第二项是积分项,第三项是微分项,前面仅仅是一个系数。很多情况下,仅仅需要在离散的时候使用,则控制可以化为

每一项前面都有系数,这些系数都是需要实验中去尝试然后确定的,为了方便起见,将这些系数进行统一一下:

这样看就清晰很多了,且比例,微分,积分每个项前面都有一个系数,且离散化的公式,很适合编程实现。

讲到这里,PID的原理和方法就说完了,剩下的就是实践了。在真正的工程实践中,最难的是如果确定三个项的系数,这就需要大量的实验以及经验来决定了。通过不断的尝试和正确的思考,就能选取合适的系数,实现优良的控制器。

    推荐阅读
  • 减肥期间可以吃柿子么(减肥期间可以吃柿子么)

    正在减肥的人最好吃新鲜柿子,尽量少吃柿子加工后的干果食品,因为柿子加工后比新鲜柿子更容易发胖。柿子含有丰富的膳食纤维,对促进肠道蠕动有很好的帮助,所以适量食用柿子可以帮助通便,从而达到减肥的效果。但是记住,适量即可,否则会适得其反。此外,柿子含有蛋白质和碳水化合物,可以增加饱腹感,减少其他食物的摄入量。它还含有丰富的膳食纤维和有机酸,可以帮助消化人体的胃,促进胃肠蠕动。

  • 糖醋黄瓜条的家常做法(糖醋黄瓜条怎么做)

    糖醋黄瓜条怎么做原料准备:黄瓜200克,糖10g,醋5g,生抽适量,淀粉适量,盐2g,食用油适量,葱适量黄瓜洗净切成寸段,加入盐腌制10分钟后滤掉汤汁取一碗加入糖醋盐淀粉生抽和水搅拌均匀成料汁锅中放入油爆香葱碎,倒入。

  • 益智_药鉴

    主君相二火,手足太阴经足少阴经。本是脾经药也,故治脾胃中受寒邪,和中益气,又治多唾,当于补药中兼用之,不可多服。在集香丸则入肺,在四君子汤则入脾,在凤髓丹则入肾,盖脾肺肾互有子母相关之义也。惟其温也,能治虚漏,遗精遗沥。益气安神,又安三焦。夜多小便者,取二十四枚碎之,入盐煎汤,服有神效。兼以女真实川萆更妙,乃补不足之剂也。惟其辛也,能调诸气,能散诸郁,能止诸疼,君乌药木香甚捷,又为辛散之剂也。

  • 形容冬天运动幽默句子(形容冬天运动幽默句子精选)

    以下内容大家不妨参考一二希望能帮到您!形容冬天运动幽默句子往日里跑步总觉得拥挤,现在,天冷了,我反而成了这条路上的独行侠。跑完步,我也在了圣诞老人,眉毛胡子全是冰。天气冷的像个笑话,日子过的像句废话,我仍不放弃,冒着严寒奔跑,证明自己不废。这种天气还能夜跑的,绝对是真的胖。

  • 天津大学南开大学哪个排名靠前(2022校友会天津市大学排名公布)

    2022校友会天津市大学排名公布2022年天津市哪所高校的综合实力最强?为了给2022年全国高考考生选择报考天津市高校提供参考指南,2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布《2022校友。

  • 为什么太湖不属于湖州(一座以太湖命名)

    浙江是我国经济最发达的省份之一,也是民富程度最高的省份之一。因此,浙江省也陆续出现了许多备受关注的“网红”城市,比如杭州、宁波、温州等等。不过,说起位于浙江省北部的湖州市,如果没有来过浙江省旅游的人,恐怕就没有那么熟悉了。虽然湖州是“长三角”地区的重要成员之一,也是“环杭州湾大湾区”的核心城市之一,但相对于周边其他热门城市,湖州的“存在感”似乎并没有那么强。

  • 重庆旅行简短文艺句子(关于重庆很文艺的句子)

    重庆旅行简短文艺句子山水灵动之城,美丽时尚之都。重庆是一座诗意的城市,她的名字随着八百多年的时光,镌刻在历史的长河中。山城很大,她能将整个世界放入火锅。重庆的魅力是多幺神奇,重庆的风景是多幺迷人。重庆,一个富有三千年巴渝文化底蕴的历史名城风姿绰约,一个中国最年轻的直辖市正在创造催生无尽的现代神话,一个世界最大的内陆山水城正在不断创造人间奇迹,一个长江上游经济中心的新重庆正在开发中走向世界。

  • 六月雪的养殖方法(你都学会了吗)

    六月雪的造型可选用斜干式、曲干式、悬崖式、丛林式或提根式。无论何种造型,一般利用六月雪根系极发达的特点进行露根或提根,或者制作成根石相融的附石式;主干和主枝结合造型要求进行攀扎弯曲,而小侧枝则修剪加工,使枝叶横展成大小、疏密不同的云朵状。六月雪枝条较脆且树皮薄,攀扎弯曲时注意不要损伤枝条和树皮。另外,六月雪小枝密细,萌芽力强,对枝片要做定期修剪,以保持树形。

  • 煮螃蟹用热水还是凉水(开水煮螃蟹还是凉水煮螃蟹)

    煮螃蟹用热水还是凉水最好是用热水。开水煮螃蟹更能保证螃蟹鲜美的味道以及营养价值,而冷水下锅煮螃蟹,期间螃蟹鲜美的味道以及其营养都会有一定程度的流失,而且肉质也会老一些,口感不好。煮螃蟹的时间也要根据螃蟹大小而定,一般小个的螃蟹开水下锅后煮15~20分钟左右即可食用,而大个的螃蟹则需要煮20~30分钟左右。煮螃蟹和蒸螃蟹哪个好吃看个人喜好。

  • 用电饼铛做面饼(用电饼铛烙饼和面很关键)

    对于北方的朋友来说,烙饼跟馒头和包子一样,一日三餐都让他们吃不腻。后来,邻居教会小编一招,做出来的烙饼松软可口,重点是还不会粘锅。现如今,大家都不会用以前的方法烙饼,往往都是选择方便的电饼铛。所以,我们在制作烙饼的方式上,也会有所改变。等到三分钟以后,再打开电饼铛把它翻面,继续烙饼差不多三分钟。等到时间到了后,这份美味的烙饼就制作完成啦。用电饼铛烙饼,和面很关键,有些人不清楚,难怪粘锅不松软。