5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: [转]一个PID的解释,我没有高数基础,不过看懂了 [打印本页]

作者: mountain230    时间: 2014-8-28 02:32
标题: [转]一个PID的解释,我没有高数基础,不过看懂了
本帖最后由 mountain230 于 2014-8-28 02:40 编辑

【在 APM 的参数设置菜单中,有一项 PID 设置,对于没接触过 PID 的人来说,那完全是一头雾水,一堆摸不着头脑的数字。鉴于此,本文力争以通俗的语言讲解 PID 的各个含义。  PID 控制是自动化控制领域应用非常广的控制方式,P 代表比例,I 代表积分,D 代表微分,从这些名词中可以看出,PID 控制是基于数学中一项重要的分支:微积分学为基础的数字化自动控制方式,它以传感器采集的数据作为输入源,按预定的 PID 参数根据特定的公式计算以后输出控制。  】以上一段话看到过很多遍了可以不看


     举个形象的例子,一列即将到站的火车在快要到达站点的时候会切断输出动力,让其凭借惯性滑行到月台位置。假如设置火车以 100km/h 的速度在站前 1km 的地方切断动力开始滑行,那么这个 100 比 1 就是比例 P 的含义,P 越大,它在站前开始滑行的速度越快。滑行初始速度快的好处就是进站快,但过快的初始滑行速度会导致火车在惯性的作用下冲过月台,这样一来火车不得不进行倒车,但是因为 P 设置过大,倒车以后的滑行也会同样使火车倒过头了,这样一来,就形成了一种反复前行后退的震荡局面。而 P 设置小了,进站速度会变得非常缓慢,进站时间延长。所以设置一个合适的 P 值是 PID 调节的首要任务。  
     由于 P 是一个固定的数值,如果将火车的速度与月台的距离用一个坐标图理想化的表现出来的话,不考虑惯性及外力的作用,这两者的关系呈现出来 P 调节的结果会是一条直斜线,斜线越陡,代表进站时间越短。  不管怎样,如果只有 P 调节,火车要么设置一个比较低的 P 值以非常缓慢的速度到达目标月台,要么就是过冲了,很难设置在速度与准确度之间求得平衡。
     所以接下来该是讲解 D 微分的作用的时候了。根据上面举的例子,假如 P 等于 100 的时候,火车刚好能滑行到月台,所耗费的时间是 10 分钟。但是对应一个自稳定性能要求很高的自动化系统来说,这 10 分钟的时间太长了,可不可以加快呢?可以,我们把 P 加大到 120,让火车司机驾驶火车在站前 1km 的地方以 120km/h 的速度开始减速滑行,然后站前 500 米的时候踩一下刹车让速度降为 80km/h,站前 300 米再踩一下刹车让速度降为 50km/h,站前 100 米又踩一下刹车,让速度降为 20km/h,站前 10 米让火车在较短的时间内滑行到月台准确的位置,这样一来,进站速度会大大加快,原来需要 10 分钟的时间可能只需要 5 分钟就行了。这就是 D 的作用,我们权且把 D 理解为刹车吧,如果仍旧以坐标图形象表达 D 对 P 调节的影响,那就是 D 使 P 调节出来的一条直线变成了一条曲线,在 PID 公式中,D 的左右就是改变 P 的曲线,D 的数值越大,对 P 的影响也越大。加入 D 后的曲线前期较陡,进站比较快,后期平缓,使得火车可以平稳准确的进站。
    相信经此解释后,很多模友已经理解 PD 的作用了,那在飞行器的实际调节中,我们就可以有的放矢了。

    根据 PD 的这个关系,我们可以得出一个调节步骤:先把 D 置零,加大 P值,使飞行器适当过冲开始震荡,然后增加 D 的数值,拉低 P 调节后期的作用,使过冲现象放缓,最终调到不过冲为止。P 越大,飞行器倾斜后恢复的速度越快,表现为越灵敏,但过大会产生震荡;D 越大,调节越平缓,表现为越平稳,但 D 过大会使调节时间延长,表现为反映迟钝(这里的 D 指的就是 D 的数值,在一般的 PID 表述中,D 越接近 0,P 作用越大,这点需要注意一下)。  
    最后讲解 I 的作用,I 是积分,是为了消除误差而加入的参数,假如上面的例子中,火车靠站以后,离最终的目标停止线还是差了 1 米,我们虽然也可以认为这是一次合格的停车,但这毕竟是误差,如果我们认可了这 1 米的误差,那在此基础上火车第二次靠站就会有 2米的误差了,如此以往,误差会越来越大,所以我们要把这个误差记录下来,当第二次进站的时候就可以发挥作用了,如果差了 1 米,火车驾驶员就可以在原来的 PD 调节基础上进行I 积分,延迟 1 米输出(或者提前),即 999 米开始减速,最终可以刚刚好到达停止线。
    如果没有 I 的作用,在多轴飞行器平台上的表现就是飞行器越来越倾斜,最终失去平衡。I 的调节是建立在 PD 的基础上的,PD 的改变都会影响 I 的效果,所以最终的调节步骤就是先调 P 确立灵敏度,接着调节 D 调整平稳度,最后调节 I 确定精度。



作者: thz    时间: 2014-8-28 04:27
(, 下载次数: 554)

作者: 雪雨风    时间: 2014-8-28 06:36
通俗易懂!!!!!!!!!!

作者: wowsjl    时间: 2014-8-28 06:42
好贴留名

作者: hangzhou163    时间: 2014-8-28 07:09


作者: yingyang    时间: 2014-8-28 07:14
这帖子要火!

作者: oooabc    时间: 2014-8-28 07:37
说明很生动,能理解

作者: pigwyl    时间: 2014-8-28 07:49
好贴,留名了!

作者: zhaoxintc    时间: 2014-8-28 08:09
赞一个

作者: 下山da老虎    时间: 2014-8-28 08:25
留名了!

作者: 月光86    时间: 2014-8-28 08:48
这个解释很贴切

作者: itsme    时间: 2014-8-28 08:53
比喻得好,生动形象

作者: myk0000    时间: 2014-8-28 09:31


作者: 子平    时间: 2014-8-28 10:46
这篇通俗易懂,虽然以前看过了,还是顶一下

作者: 110351538    时间: 2014-8-28 11:15
通俗易懂!!!好文章!!!

作者: houlu530    时间: 2014-8-28 12:48
技术贴啊


作者: 下山da老虎    时间: 2014-8-28 14:34
好文章

作者: 南极仙翁    时间: 2014-8-28 23:48
形象、简洁、明了、好贴。

作者: tomhtm    时间: 2014-8-29 10:11
通俗易懂!很好

作者: vision    时间: 2014-8-29 13:03
了解了解

作者: iorikm    时间: 2014-8-29 14:47
赞一个!!!~~~~

作者: chuk    时间: 2014-8-29 15:39
好的沒話說~

作者: msduo    时间: 2014-8-30 02:58
不错,好文章

作者: ccshum    时间: 2014-10-2 10:10

赞一个!!!~~~~

作者: ...47    时间: 2014-10-2 10:34
顶  明白了

作者: 皓月长空    时间: 2014-10-2 12:15
好顶

作者: 国泰民安    时间: 2014-10-15 09:38
好帖!必须顶!

作者: flylinux    时间: 2014-10-15 10:19
其实PID很讨厌,永远都不可能有一个最优值,如果建立动力学方程或状态方程,加上参数辨析,进行位置、姿态、速度、加速度控制,再结合PID抗风,完全可以达到可控的最优效果

作者: richardglc    时间: 2014-10-17 16:28
这解释的真是清楚明白!

作者: 铁甲小宝    时间: 2014-11-2 07:31
顶楼主,好文好教材!

作者: mx小杨    时间: 2014-11-2 08:30
必须要顶,通俗易懂!

作者: 酱油先生    时间: 2014-11-2 10:01
懂了,必须顶,必须火

作者: yhd2006    时间: 2014-11-2 17:24
楼主很牛

作者: bxgwd0904    时间: 2014-11-4 21:15
楼主是个淫才···

作者: ccshum    时间: 2014-12-4 14:47

赞一个!!!~~~~
赞一个!!!~~~~
赞一个!!!~~~~

作者: wilsonfs    时间: 2014-12-4 15:14
深入浅出,顶!

作者: 在my的石光    时间: 2015-1-14 13:31
通俗易懂,此贴必火!!!!

作者: veazhang    时间: 2015-1-14 20:06
此贴甚吊!!!!


作者: 一天一飞    时间: 2015-1-14 22:27
这个必须要顶.要是能配一张图解释就更好了

作者: freshbeef1    时间: 2015-1-15 08:23
好帖

作者: bick    时间: 2015-1-15 09:04
解释很通俗易懂,可是怎么实际操作?

作者: scorpion0307    时间: 2015-1-15 09:18
好贴必顶


作者: 飞行梦工场    时间: 2015-1-15 09:58
学习!谢谢楼主~

作者: 仝小锐    时间: 2015-1-15 10:33
Mark

作者: jianrenbuba1984    时间: 2015-2-7 10:45
这个贴必须顶!好文章

作者: 黑色狂风    时间: 2015-2-7 11:46
nice

作者: gsx    时间: 2015-2-8 22:57
顶。好贴

作者: wxjzy    时间: 2015-2-10 14:45
本帖最后由 wxjzy 于 2015-2-10 15:38 编辑
bick 发表于 2015-1-15 09:04
解释很通俗易懂,可是怎么实际操作?

好吧,这个你参考一下:
参数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加,曲线振荡很频繁,
比例度盘要放大,曲线漂浮绕大湾,比例度盘往小扳,曲线偏离回复慢,积分时间往下降,
曲线波动周期长,积分时间再加长,曲线振荡频率快,先把微分降下来,动差大来波动慢,
微分时间应加长,理想曲线两个波,前高后低4比1,  一看二调多分析,调节质量不会低。





作者: szdonald    时间: 2015-2-16 19:43
这个要顶


作者: 13715132227    时间: 2015-2-16 23:45
下山da老虎 发表于 2014-8-28 08:25
留名了!

这水潜得,那叫一个专业

作者: 下山da老虎    时间: 2015-2-17 09:00
13715132227 发表于 2015-2-16 23:45
这水潜得,那叫一个专业

是你啊 ,zwp大神


作者: zkper    时间: 2015-2-17 10:22
赞一个,好帖!

作者: swanglei    时间: 2015-3-17 22:07



很不错,谢谢Lz。。。。。


作者: parrotmack    时间: 2015-3-17 23:19
必须顶一下

作者: ceabie    时间: 2015-3-26 17:27
太赞了,好文章,一下子就明白了

作者: aspx    时间: 2015-4-14 19:07
mark,好帖

作者: tomytang    时间: 2015-4-15 07:05
生动

作者: afc    时间: 2015-4-15 16:27
好贴 好贴 好贴

作者: zb321    时间: 2015-4-25 21:50
通俗易懂

作者: sanluge    时间: 2015-4-26 07:45
棒棒达

作者: 波里个波    时间: 2015-6-8 16:10
我想问个问题,悬停状态的PID我调的基本很稳定不抖了,但是一旦高速向前又抖了,该怎么调?


作者: king6350    时间: 2015-6-9 01:51
通俗易懂!果断顶帖再收藏!

作者: 梦鸽    时间: 2015-6-9 10:48
谢谢分享。赞!

作者: 漠漠    时间: 2015-6-14 00:00
好意额帮顶

作者: tcjsjxx    时间: 2015-8-12 10:56
楼主才是真的弄懂了PID。

作者: stone123    时间: 2015-8-13 09:07
终于明白了PID的意思,谢谢~~~~~

作者: mountain230    时间: 2015-8-13 11:04
波里个波 发表于 2015-6-8 16:10
我想问个问题,悬停状态的PID我调的基本很稳定不抖了,但是一旦高速向前又抖了,该怎么调?

高速抖指的是机体还是你拍摄的画面?一般水平不抖,然后稍微打舵可以正常恢复,就判定为调参没有问题。

其他可能是有部件松动,桨或者电机有问题。


作者: russianboy    时间: 2015-8-13 23:36
非常好,有操作性

作者: ismaelito    时间: 2015-8-14 12:17


作者: wqazws    时间: 2015-8-14 15:32
顶一个

作者: 梦想飞行员    时间: 2015-8-18 16:02
太牛了!这个例子让我印象太深刻了,一下就搞懂了!顶!

作者: 梦想飞行员    时间: 2015-8-18 16:04
要是高数老师讲微积分、积分拿这个例子讲一下,先飞一圈四轴,那全班学积分的热情不知道高多少!

作者: kamiaocyc    时间: 2015-11-2 21:37
很仔细的描述 谢谢楼主啦

作者: cysz001    时间: 2015-11-8 21:56
好贴 必须顶起来 通俗易懂 果断收藏

作者: suguoqiang    时间: 2015-11-17 01:05
楼主威武

作者: 东城    时间: 2016-8-3 16:50
顶起来,这个贴好

作者: 大宝宝大    时间: 2016-8-4 00:32
强势支持!!!

作者: li7301298    时间: 2016-9-6 10:47
好贴好贴,免去了复习高数的时间了,复习完高数还不一定能清晰的理解,LZ此贴启发很大!不光对玩航模的人有很大启发,对育人的启发也是很典型的。

作者: tdllt729    时间: 2016-9-9 06:07
起码是教授级

作者: happyxihua    时间: 2016-9-18 08:10
学习了

作者: 直冲青天    时间: 2016-9-18 09:17



看懂了,看懂了。想起华科尔的转帖里好像也有人在解说。不过说的不一样。这个清楚明白一些。感谢楼主分享!


作者: 与秋兰刚    时间: 2016-9-30 00:14


作者: IMX_lc    时间: 2016-9-30 09:37
帖子非常容易懂,但是有木有实践经验的对比解说,这样就更清楚了,比如飞机起飞高频震荡就是p大了,对于i如何调节以及i值大了或者小了会造成什么现象还是理解不了

作者: IMX_lc    时间: 2016-9-30 10:07
flylinux 发表于 2014-10-15 10:19
其实PID很讨厌,永远都不可能有一个最优值,如果建立动力学方程或状态方程,加上参数辨析,进行位置、姿态 ...

那请问如何实现呢

作者: chevins    时间: 2016-10-27 15:26
很简显易懂,适合新手的理解

作者: 直冲青天    时间: 2016-10-27 22:27
感谢楼主讲解,瞬间懂了,一个是逐渐降档,一个是间歇刹车,一个是借用历史教训

作者: tblon    时间: 2016-10-29 22:02
真不错,长知识





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://5imx.com./) Powered by Discuz! X3.3