zenkiki 发表于 2015-12-31 12:48:42

【转】飞控pid参数的调试

apm pid 调参的通俗理解
在 APM 的参数设置菜单中,有一项 PID 设置,对于没接触过 PID 的人来说,那完全是
一头雾水,一堆摸不着头脑的数字。鉴于此,本文力争以通俗的语言讲解 PID 的各个含义。
PID 控制是自动化控制领域应用非常广的控制方式,P 代表比例,I 代表积分,D 代表
微分,从这些名词中可以看出,PID 控制是基于数学中一项重要的分支:微积分学为基础的
数字化自动控制方式,它以传感器采集的数据作为输入源,按预定的 PID 参数根据特定的
公式计算以后输出控制。
举个形象的例子,一列即将到站的火车在快要到达站点的时候会切断输出动力,让其凭
借惯性滑行到月台位置。假如设置火车以 100km/h 的速度在站前 1km 的地方切断动力开始
滑行,那么这个 100 比 1 就是比例 P 的含义,P 越大,它在站前开始滑行的速度越快。滑行
初始速度快的好处就是进站快,但过快的初始滑行速度会导致火车在惯性的作用下冲过月
台,这样一来火车不得不进行倒车,但是因为 P 设置过大,倒车以后的滑行也会同样使火
车倒过头了,这样一来,就形成了一种反复前行后退的震荡局面。而 P 设置小了,进站速
度会变得非常缓慢,进站时间延长。所以设置一个合适的 P 值是 PID 调节的首要任务。由
于 P 是一个固定的数值,如果将火车的速度与月台的距离用一个坐标图理想化的表现出来
的话,不考虑惯性及外力的作用,这两者的关系呈现出来 P 调节的结果会是一条直斜线,
斜线越陡,代表进站时间越短

上图的 P 调节结果只是为了方便理解,在实际中是根本不可能出现的,PID 计算的结果
也不是这样子。不管怎样,如果只有 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 确定精度。






高级调整,了解 高级调整,了解 高级调整,了解 高级调整,了解 P、I和 D的实际作用 的实际作用 的实际作用
Ø P – 纠正飞行器回到初始位置的力度大小。
这个修正力度是 一个比例值,反映 初始位置 偏差值减去 飞控输入 控制方向变化的组合。
较高的 P值会产生较强的修正力去抵抗飞行器位置偏移。
如果 P值太高,在飞行器返回初始位置的过程中会冲然后 值太高,在飞行器返回初始位置的过程中会冲然后 值太高,在飞行器返回初始位置的过程中会冲然后 再次往反方向修正,接着进行回 再次往反方向修正,接着进行回 到初始位置的补偿。这会导致飞行器出现持续振荡 ,严重的话会完全破坏平衡。
增大 P值:
飞行器会 逐渐 变得稳定,但 P值太高会造成振荡和失控。
需要注意的是,提高 P值会产生一个更强的 修正力度,阻止飞行器偏移 。
减小 P值:
飞行器会逐渐开始偏移,但 P值太低会让飞行器 变得 非常不稳定。
它会让阻止飞行器偏移的修正力度变弱。






I – 对角度变化进行采样与取平均值计算的时间周期 对角度变化进行采样与取平均值计算的时间周期
存在偏差时, 返回到初始位置有个 修正的 过程 , 在修正过程中力度会越来大, 在修正过程中力度会越来大直到达最大 值。
较高的 I值会增强 稳定的 稳定的 效果。
增大 I值:
减小漂移和提升稳定效果,但 过大的 I值会 延长稳定过程的周期 延长稳定过程的周期 ,同时 也会降低 P的效果。
减小 I值:
增强反应速度,但 会增加漂移和降低稳定 效果 ,同时 会提升 P的




D – 飞行器回到初始位置的速度
较高的 D值(数与效果相反,较高的 D值参数上会 更接近 0)意味着飞行器会快速返到回初 始位置。
增大 D值:(请记住,增大效果等于减小设定的参数) 值:(请记住,增大效果等于减小设定的参数)
提升 修正的速度,也会产生过量与振荡几率同时P的效果。
21
减小 D值:(请记住,减小效果等于增大设定的参数) 值:(请记住,减小效果等于增大设定的参数)
降低 由偏差状态返回初始位置的振荡,恢复到稳定效果时间变长同也会P的

小郭 发表于 2015-12-31 17:39:27

这个好,周哥需要的!!!!!!!!!!!!:lol:lol:lol

太阳吧 发表于 2015-12-31 17:39:28


帮顶 学习了

路漫漫其修远兮 发表于 2016-5-28 17:40:21

顶顶顶!!!

BH4BAQ 发表于 2016-6-3 22:46:50

看到那么多字,头都大了

CXJ455456154 发表于 2017-5-30 01:54:18

+1

给力啊!

页: [1]
查看完整版本: 【转】飞控pid参数的调试