PLC专题 ·

PID算法从理论到实践 小游戏让你秒懂调参技巧

为了让大家更直观地理解什么是PID,以及如何进行科学地调参。我们制作了一期科普视频,借助各种工具、动画,用更符合生活经验的方式,帮你看懂各种PID的曲线。即使你没有任何数理的基础,也能通过这期视频,快速地理解PID的原理。

PID是连续系统中技术最为成熟、应用最为广泛的一种控制算法。当外界输入改变的时候,PID研究的是如何又快又好地让系统的输出进行调整。其中P、I、D分别代表了Propotional(比例)、Integral(积分)和Differential(微分)三种控制策略。

为了帮助大家理解,我们写了一个简单的PID模拟器来还原调参场景。

 

在正式了解PID之前,我们先了解一下为什么要调PID。

 

由于惯性等其他变量的存在,使飞机没法快速准确地停留在目标高度,这就是我们需要调PID的原因。

PID在穿越机调参中的主要作用有两个:
1. 排除飞机故障(如飞机抖动等)
2. 提升飞机的性能,让飞机响应更灵敏

 

第一种情况现在已经基本不会出现,一般默认PID就可以飞的比较稳了。

 

所以如果你是刚入门不懂PID原理的新手,不建议自行调整PID。

 

 

如果你已经掌握了基本的飞行技巧和原理,想进一步优化你的飞行手感,就可以开始调整PID了。

 

这个过程可能很痛苦,需要你花大量的时间,不断地进行微调,然后实践,再微调,实践……直到找到你最喜欢的飞行手感为止。

 

 

  

在动态控制中,我们通过调整PID三个参数来获得动力,同时消除振荡,找到对你当前的飞行场景来说更优的手感。
P(Propotional)是比例的简称。“P”单元控制着控制系统的所有动力,以达到所需的输出。如果“P”单元没有足够的输出,无人机就没有足够的动力来反馈你的控制命令;如果“P”单元输出过大,无人机就会反应过度,发生振荡。它的特点和弹簧完全一致。

 

简单来说,它的作用就是测量无人机当前位置与目标位置的距离。这个距离越远,就需要更大的力给掰回去。

 

P越大,“弹簧”越硬,回复的速度越快,震动的频率也越高。

 

 

如果闭环控制中只有P,结果就是飞机会持续无休止地振荡,这个时候就要引入D来消除振荡。

 

 

D(Differential)是微分的简称。

 

D就是通过微分的方法来计算运动速度。用人话来说,就是D越大在物体运动时的阻力就越大。这个阻力和物体的运动方向相反。

 

你可以把它想象成把振动的物体丢到液体里的过程。

 

D越大,液体密度越大,“物体”在运动时的阻力就越大,就能更快静止下来。

 

 

稍微加一点D,P带来的振幅会变小,无人机会更快地停在目标位置。

 

但如果D值过大,这个阻力会抵消回复力,让控制变得非常迟钝,整个运动过程就会显得有些油腻。

 

 

I(Integral)是积分的简称。

 

“I”单元对外界干扰或存在的系统误差进行纠正,以确保最后的输出符合预期。

 

飞机会不停地检测位置是否存在偏差,如果存在的偏差越大、持续时间越长,就会产生一个越大的力来矫正。

 

一般情况下,我们可以把I值设的高一点,但需要注意的是,I值过大也会产生振荡。

 

 

PID在实际控制的过程中会产生很多问题,这也是不推荐新手自己去调整参数的原因之一。

 

总的来说,P、I、D三个值是互相影响的关系,要调整到最佳比例,需要反复不断地实践。

参与评论