[课程与套件] 第七课时 控制技术 PID中的I与D(二)

[复制链接]
版主Raymond_DJI
2018-3-30 13:47:20 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Raymond_DJI 于 2018-3-30 13:51 编辑

在上一篇文章中(PID中的ID(一)),我们提到了一些关于学习PID控制中的微分控制与积分控制之前所需要掌握的一些数学知识,那么这篇文章会承接上一篇文章继续进行微分(D)的讲解。

接着上篇文章的Jack Jill爬山的例子,首先,我们可以将这个山丘的外形看作是一个函数图,在这个图上我们可以取到山丘上不同的位置点,如下图中的点A、点B、点C和点D。可以看到山丘上的每一个点或者说每一个位置都有它们所对应的斜率/坡度。
点和斜率.PNG
那我们应该通过什么方式来确定一个函数上的点所对应的斜率呢?大家都已经知道两个点可以确定一条直线,所以可以通过两个点确定一条直线的方式来估算其中一个点的斜率。过程如下:
如下图所示,我们设山坡上一点的水平距离(Distance)或横坐标为x(我们称点A),另一个点(点B)的水平距离要比点A多Δx,即它的横坐标为x+Δx,这两个点都有自己所对应的高度值(纵坐标),这两个纵坐标的值可以通过将横坐标的值带入上篇文章提到的Hill()函数来求得,即Hill(x)Hill(x+Δx),现在有了两个点各自的横坐标和纵坐标,我们便可以粗略地求出穿过点B直线的斜率: 1.PNG
当然,这仅仅是一种非常粗略的估算方法,为了更精确地估算出一个点上的斜率,我们需要见将Δx的值设置得非常非常小,这样这根直线就可以近似于一个点上的切线,方便我们更好估算在这个点上所对应斜率。
two points approximate.PNG
我们可以用上述算斜率的方法来对山丘函数上的每一个点进行斜率的计算,我们将这些斜率整理好并与每个水平距离一一对应,就可以得到每一个水平距离与它们所对应的斜率之间的关系。这个关系可以通过一个新的函数来表示,我们称这个数为HillSlope()。这个函数的意义在于,对于每一个水平距离的输入,它都可以输出一个在这个水平距离上所对应点的斜率。
我们将这个函数绘制成下方的第二幅图,这幅函数图描述的是每个水平位置与它们所对应的斜率的关系。
通过观察可以发现,当斜率为正数时,说明此处的坡度是向上的,斜率越大,向上的坡度越陡峭;当斜率为0时,说明该位置/点处在山坡的最平缓的地方,该处无任何坡度(如山丘的顶端);当斜率为负数时,说明此处的坡度是向下的,斜率越大,向下坡度越陡峭。
3.PNG

从第一幅图到第二图的整个过程就叫作微分。微分后的函数可以反映出原函数的每个点斜率的数值/变化速率。我们也称HillSlope()是Hill()的导函数。关于导函数和积分请参见下一篇文章 PID中的I与D(三)。

跳转到指定楼层

[课程与套件] 第七课时 控制技术 PID中的I与D(二)

[复制链接]
上等兵yangliuyonggood
2018-6-17 13:53:58 显示全部楼层
大佬牛逼,佩服佩服6666666

[课程与套件] 第七课时 控制技术 PID中的I与D(二)

[复制链接]
上等兵yzsszy
2018-10-18 16:53:02 显示全部楼层
通俗易懂,适合新手

本版积分规则

触屏版 | 电脑版

Copyright © 2019 RoboMasters 版权所有

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