5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
楼主: tcjsjxx
打印 上一主题 下一主题

闲谈 PID

  [复制链接]
21
 楼主| 发表于 2019-6-16 22:01 | 只看该作者
本帖最后由 tcjsjxx 于 2019-6-17 11:11 编辑

简单来说,以上实现代码说的就是:

PID输出=P比例系数×(误差)+I系数×(误差积分值)+D系数×(误差微分值)

其中:误差积分值=本次误差+上次误差
           误差微分值=本次误差-上次误差
P比例系数 I比例系数  D比例系数其实并不单纯是个比例系数(由经验和实验来确定取值),而还有一个权重的作用。

所谓权重,就是各个部分应该在总量里占据的份量(发挥影响的大小),权重越大,发挥影响力越大;反之,权重越小,发挥影响力越小。

完毕。


欢迎继续阅读楼主其他信息

22
发表于 2019-6-18 11:06 | 只看该作者
这个pid的含义确实是比较抽象,所以我都是手上找齐
来自安卓客户端来自安卓客户端
23
发表于 2019-6-18 15:08 | 只看该作者
楼主写了这么多辛苦了,不过真的看不懂,就不能呢个浅显一点么?!
24
发表于 2019-6-19 14:33 | 只看该作者
tcjsjxx 发表于 2019-6-16 21:55
我了个大槽,我居然没有引入什么生僻的概念,没有引入过多公式(1个),然后就把PID给解释了!

以下是网 ...

这几个过程函数不知道你明不明白是做什么的。
你以为自稳就读结构体乘个系数再刷新就能搞定了?
那刷新的速度呢?自稳控制的一切离不开t,你看看这过程里t变量在哪。
25
发表于 2019-6-19 19:01 | 只看该作者
找本控制系统理论的书籍就可以从根本原理上理解,为什么会有静差是可以直接算出来的,静差是与KP成反比的。

PID.jpg (286.04 KB, 下载次数: 190)

PID.jpg
26
发表于 2019-6-19 19:08 | 只看该作者
任何一门知识,你不努力都不知道什么是绝望,这东西还真不是学习就能解决的,看理解力,看天赋,建议楼主学习下应用数学。
27
发表于 2019-6-19 20:45 | 只看该作者
太专业了这个
来自安卓客户端来自安卓客户端
28
 楼主| 发表于 2019-6-19 21:48 | 只看该作者
任何知识的由来,都不是凭空从天上掉下来的。

人们生活的世界,流行的是通俗的逻辑。任何断章取义的结局,就是横空出世的各种砖家和各种恐怖的名词叠加。我们有着进取的精神,作为一名拥有着初级数学知识,初级物理知识的人,我希望能更进一步。我没有更高级的大学文凭,没有更深厚的天资和天赋,我也再没有机会到大学去深造。但是,我希望我能理解这些看似高深的知识。这些东西现在已经在应用了。说明了它们的强大,所以我要掌握它,驾驭它。

存这种心思的鄙陋之徒在航模爱好者里面很多。大家情况都相同。在我们国家,泱泱大国,这样的人也很多。

我本人不才,也读过几年书,也知道学校里是怎么回事。我们的认知体系,出了问题。

从我接触PID开始,我读遍了网上的文摘,号称最简单的教程,无不充斥各种XYZ,动辄都是专有名词,还是那句话:我有一个不懂的问题,而他们却想用5个,或者10个我不懂的问题打垮我。5年时间,我不知道P的静差是怎么来的。

各位大大,你们如果有N年高深的学问,有傲人的名牌大学资历,有着卓绝的智商和运气,对PID理解透彻绝伦,我热切的恳求你们,在我的帖子下面,写一点通俗的东西,好不好?

我会非常的感激。

遥想当年,卡尔曼创立它的滤波的时候,一定源于一个简单的想法。并且,卡尔曼滤波的思想和理念一定非常简单。但是由于流传通道的问题,还有大家的传承问题,现在各方面谈论卡尔曼滤波,只能看到其5个公式。我觉得这不好,很不好,对于我这样LOW到爆的人来说,跟我讲话,动辄谈论龙哥库塔方程,过程状态方程,N阶积分方程,并且希望我能理解掉卡尔曼滤波,我觉得不现实。对于基础几乎没有,但是热切想了解卡尔曼滤波或者PID 人来说,也不现实。

任何数学思想都是要解决实际问题的,任何数学知识都是简单的,都是可以被大老粗理解的。我相信我们大家都能掌握这些知识,通过我的努力,如果能做到这一点,我会倍感欣慰。

还是那句话:任何知识都不高深,任何知识都可以被理解并被应用。不论是什么出身,不论是什么资质,只要你有热忱,只要你肯付出,你就能做到。

起码,在PID这块,我做到了。我理解了。你能在网上找到和我举出的例子一样的例子吗?你能在网上找到比我对对于静差的形成更通俗的描述吗?你能自己写出来给大家学习吗?如果有,我希望贴在这个帖子下边,那么大家就有了更多的途径,对PID就有了更深刻的理解,那不好么?

理解了PID之后,我觉得卡尔曼滤波也就那么回事,其他飞控方面的知识,也就那么回事。即使我不能如你们一样迅速掌握,我会像一个蜗牛一样慢慢向前爬,总有一天,我也会掌握。我坚信这一点。并且,我掌握了以后,我不觉得自己有多屌,我只觉得这只是个开端而已。这并不是装B的资本。也不是拉开彼此差距的资本和理由。

知识本就是人创造的,本来就是从最简单的开始萌发的,本就是为人所理解,为人所用,为人服务的。我知识努力在还原它的本相而已。
29
 楼主| 发表于 2019-6-19 21:56 | 只看该作者
N多年前,除法是最为高深的一门学问,除非大学教授,才能理解并加以运算。但是若干年过去了,经过人们的努力,现在小学生也能运算除法。

其他知识,都类似。当我们的小学生都能轻而易举的运用PID,都能运用卡尔曼滤波,都能理解矩阵旋转,那是一个何等光明的世界!
30
 楼主| 发表于 2019-6-19 22:05 | 只看该作者
任何想要否定我的说法的最佳方式,就是在本帖之下贴出你们比我更简易的对PID的描述。唯有此道,才能使我五体投地。

跟大学教授讲PID,你大可以谈各种N阶积分,过程方程,从一个抽象跳跃到另外一个抽象。

但是跟我们这些LOW到爆的鄙陋之徒,对于不知积分为何物的粗浅之夫,对于不知道PID为何物的NOBODY,说话,是要相当的讲究的。生硬的背诵大学课本,准确的复述各种论文里面的理论公式,只会使得雪上加霜。你们要从知识的诞生开始,重新去了解它们,从最简单的部分开始重新去发现它们一遍,而不是直接把自己应付考试那些所谓的知识拿出来,摆在这里,就指望能达到目的。那是不行的。

不要把高数讲的那么恐怖。不要把什么东西都搞得必须跟修炼一样,没有十年八年,没有什么专门的投入,就跟本不行。那都是唬人的玩意。江湖郎中的习气。

我坚信,如果你能把你们曾经认为的很恐怖的东西很容易的讲解出来,你才能算是透彻的理解了它们。否则,你只是一个生吞活剥的记忆和考试机器。
31
发表于 2019-6-19 22:07 | 只看该作者
tcjsjxx 发表于 2019-6-19 21:48
任何知识的由来,都不是凭空从天上掉下来的。

人们生活的世界,流行的是通俗的逻辑。任何断章取义的结局 ...

支持楼主分享自己的心得。
32
发表于 2019-6-20 01:38 | 只看该作者
无人机系统是个包罗万象的旷世天坑,关键是它所包含的每个细枝末节的技术水平还都不低!
33
发表于 2019-6-20 14:50 | 只看该作者
我放弃了,楼主你继续吧,发帖达到一定字数,应该也能无师自通了。
34
发表于 2020-1-22 15:46 | 只看该作者
支持一下,楼主有钻研的精神,理论上已经比很多玩家强了包括我,但注意不要钻牛角尖。
来自安卓客户端来自安卓客户端
35
发表于 2020-1-22 16:18 | 只看该作者
  支持一下  
36
发表于 2020-2-6 11:38 | 只看该作者
很多时候,当钻研达到一定程度,如果想再继续下去,一些理论上的深入学习就是不可避免的,一味的要求用通俗化的语言来讲述是不可能的。如果你的天赋和理解力达不到,你不理解就是不理解,这个真的没有办法。当年我写毕业论文的时候,想把别人的一个傅里叶32级分解升级成64级,结果搞了三个月越搞越蒙圈,后来没办法,把别人的简化成为16级,完成了我的博士毕业论文。从那个时候起,我确实明白了工科与理科之间的区别,没有那份脑子,真的进入不了那个世界。
37
发表于 2020-2-21 10:49 | 只看该作者
网上有一个对PID控制说得特别清楚。
38
发表于 2020-2-21 10:50 | 只看该作者
PID控制器的理解

小明接到这样一个任务:有一个水缸漏水,且漏水的速度是不定的,但要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水。
开始小明用瓢加水,水龙头离水缸有十几米的距离,经常要跑好几趟才加够水,于是小明又改为用桶加,一加就是一桶,跑的次数少了,加水的速度也快了,但好几次将缸给加溢出了,不小心弄湿了几次鞋,小明又动脑筋,我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,也不会让水溢出。 这个检查时间就称为采样周期。

开始小明用瓢加水,水龙头离水缸有十几米的距离,经常要跑好几趟才加够水,于是小明又改为用桶加,一加就是一桶,跑的次数少了,加水的速度也快了,但好几次将缸给加溢出了,不小心弄湿了几次鞋,小明又动脑筋,我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,也不会让水溢出。 这个加水工具的大小就称为比例系数。

小明又发现水虽然不会加过量溢出了,有时会高过要求位置比较多,还是有打湿鞋的危险。他又想了个办法,在水缸上装一个漏斗,每次加水不直接倒进水缸,而是倒进漏斗让它慢慢加。这样溢出的问题解决了,但加水的速度又慢了,有时还赶不上漏水的速度。于是他试着变换不同大小口径的漏斗来控制加水的速度,最后终于找到了满意的漏斗。漏斗的时间就称为积分时间。

小明终于喘了一口,但任务的要求突然严了,水位控制的及时性要求大大提高,一旦水位过低,必须立即将水加到要求位置,而且不能高出太多,否则不给工钱。小明又为难了!于是他又开努脑筋,终于让它想到一个办法,常放一盆备用水在旁边,一发现水位低了,不经过漏斗就是一盆水下去,这样及时性是保证了,但水位有时会高多了。他又在要求水面位置上面一点将水凿一孔,再接一根管子到下面的备用桶里这样多出的水会从上面的孔里漏出来。这个水漏出的快慢就称为微分时间。

故事中小明的试验是一步步独立做,但实际加水工具、漏斗口径、溢水孔的大小同时都会影响加水的速度,水位超调量的大小,做了后面的实验后,往往还要修改改前面实验的结果。

人以PID控制的方式用水壶往水杯里倒印有刻度的半杯水后停下;
设定值:水杯的半杯刻度;
实际值:水杯的实际水量;
输出值:水壶倒出水量和水杯舀出水量;
测量:人的眼睛(相当于传感器)
执行对象:人
正执行:倒水
反执行:舀水
39
发表于 2020-2-21 10:52 | 只看该作者
顺便多一嘴,想搞精确一些还是需要高等数学知识的,对积分,微分的理解更好一点。
40
 楼主| 发表于 2020-2-22 08:17 | 只看该作者
liangzifu 发表于 2020-2-21 10:52
顺便多一嘴,想搞精确一些还是需要高等数学知识的,对积分,微分的理解更好一点。

谁从娘胎里出来,都不可能会算算数。具备高等知识我不反对。

但是高等知识从何学起?能让一个普通的小学毕业或者初中毕业的人懂高数自然可喜。但是如何让他们懂?

你的那个例子我以前拜读了不下20遍,读完以后,还是一头雾水。我就只单纯的想知道其中的一个问题,为何P控制会有静差,它都解释得含含糊糊。

我说过,谁从娘胎里出来,都不可能懂PID。如果懂了PID,那么一定是后天习得。那么问题来了。我们见过有很多人学习过后,说:我知道了。那么我请问,知道了和懂了,有没有区别?任何高深理论的发生起点,一定是极其的简单。这一点不用怀疑。任何一个菜鸟,见到一对陌生的概念,抽象的概念,如果说他懂了,那是不懂装懂。生吞活剥的背诵概念,那不叫懂。

如果把这些陌生的概念有机的移植到你的知识体系上,那才叫懂。作为一个形象世界里面的人,具象思维习惯的人,如何把一些妖魔化的概念移植到自己的知识体系内?靠那些大学教授编写出来的教材可以?你真的确定你可以?还是你能确定其他普通大众也可以?你真的不是在逗我玩?

其实很多人都觉得我是没事找事,这么简单的问题居然耗费了这么长时间,耗费这么多口水在这里辩驳。我其实觉得不是。我觉得这个问题的意义还不仅仅是一个PID的问题。如果大家都能秉承老老实实的态度,秉承工匠的精神,你就会发现,你所谓知道了的东西,其实你不懂。就像PID,一个简单的静差问题,为什么P会有静差问题,几乎让我爬遍了互联网,各路大佬纷纷上阵的结果,依然让我一头雾水。我觉得,这不正常,很不正常。

所以,我在这里,就想让它正常起来。

你的言行很典型。至于究竟怎么典型,我不想多说,因为我也是从你那个路上过来的,我也跟你一样典型过。如果你觉得PID很简单,那么同样的,你也不介意把四元数,旋转矩阵对于坐标变换的意义,WMC飞控的控制流程都说一下。我承认我高数不行,我能力不够,但是你们这些能力够了的人,能不能为我,为大家解释解释?

如果你连几乎被淘汰了的WMC飞控的基本流程都说不出来个一二三,却还在这里振振有词的大谈什么高数,我劝你还是踏实一点,反思你以前的知识体系和获取知识的方法还有你本人对待知识的态度问题。

有很多时候,应试教育产生的结果们,并不能创造出类似于WMC飞控这样的结果,如果连这个都不懂,谈何在其基础上改良?核心的竞争力不是谈空说嘴,那是要你真的懂才可以啊。

这么多年过去了,能让大家懂类似于WMC的文章,我真就没见过。APM也面临被淘汰的局面,但是通俗易懂的让大家了解其控制逻辑的文章,我依然没见过。这是多大的差距?这是多久的差距?这是什么问题?试问,懂高数的人有多少?试问,能让大家都懂APM的人有没有?

这其实不是你的问题,是你的老师们的问题,是教育体制的问题,说深了,是我们国家的哲学体系的问题,所以,我不责备你。我同情你。你是真不懂PID.
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表