基于DOTA斧王岛的PID控制理解思路

本文通过游戏场景解释了控制系统的PID(比例-积分-微分)原理,以屠夫训练营为例,详细阐述了如何通过调整比例、积分和微分环节来精确命中移动的斧王。比例环节负责即时响应,积分环节补偿过去的误差,微分环节则涉及未来预判。通过理解这三个环节,可以更好地掌握游戏中钩子的瞄准技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地点:斧王岛屠夫训练营。

假如你是一只屠夫,你看到一只斧王从你的屏幕前缓缓走过……

毋庸置疑,你要做的事情就是勾中他!

假如斧王处于屏幕的正中央位置,而你的鼠标光标在屏幕的最左端。

比例环节P

屠夫训练营1:勾中一只挂机的斧王。

一开始,你迫不及待地移动鼠标,想要将光标对准斧王的位置!因为这时候你的光标和斧王的距离很远,也就是误差还很大,你并不担心鼠标的移动速度问题。

但是后来误差值减小,你的钩子就很难瞄准斧王,你不得不放慢鼠标移动的速度,因为你要尽可能地让光标和斧王重合。

在这个过程中,鼠标灵敏度就是比例系数kp,如果比例系数太小,那么想达到稳态需要的时间就会很长,对于我们超凡选手而言,钩一个人要花费5秒钟的时间是不可饶恕的。而如果比例系数太大,就会产生难以控制的震荡,你的鼠标稍微一动就会使光标从屏幕的最左端移动到最右端,这种情况就算是职业选手也无能为力,斧王呆呆站在屏幕中间挂机,仿佛在嘲讽你。

所以一个合适的比例系数是很重要的。但这只能帮助你钩到一个挂机原地不动的斧王。

积分环节I

屠夫训练营2:勾中一只移动中的斧王,钩子移动速度为亚光速

单纯依靠比例环节是不能勾中一只移动中的斧王的,假设斧王的移动速度是1m/s,初始误差为4m,比例系数为kp=0.5,每一秒改变一次控制策略。

这样一来,第一秒斧王移动了1m,你的鼠标移动了2m,误差减少1m变为3m;第二秒你的鼠标只能移动1.5m,误差减少0.5m变为2.5m;第三秒你的鼠标移动1.25m,误差减少0.25m变成2.25m……一万年后,你的鼠标移动速度无限趋近于1m/s,而误差无限趋近于2m,你永远也摸不到斧王一根毫毛。

你会发现你做了一万年的无用功。但我们的耐心是有限的,如果太久还是勾不到,我们就会变得烦躁,忍不住加快手中的动作,时间过得越久,我们摔键盘的冲动就会越大。

所幸,冲动就是动力,假设积分系数ki=0.5,第一秒你没觉得厌烦所以维持不变,第二秒你忍不住加快速度,你想起第一秒还剩3m的误差e1,于是你在之前的基础上增加了e1×ki=1.5m/s的速度,第二秒你的鼠标就移动了1.5m+1.5m=3m,斧王依旧移动1m,于是误差只剩下e2=1m了。

然后同样道理,第三秒你本来的速度应该是e2×kp=0.5m,但请神容易送神难,你在第二秒增加的1.5m/s的速度赖着你不走了,不仅如此,你还要再加上第三秒因积分环节产生的速度,也就是上一秒剩下的误差乘上积分系数e2×ki=0.5m/s,于是你第三秒的速度变成了0.5+1.5+0.5=2m/s,与斧王的速度差为1m,而误差e2也是1m——诶!你发现你的鼠标终于碰到了斧王。

所以说积分环节是一种对过去错误的补偿,但是它是一种敌我不分的40m长的大砍刀,很容易就会伤到自己人。上述示例过程只是一种理想的情况,你恰好在第三秒结束的时候瞄准了斧王;但如果积分系数的选择不是恰到好处,你一不小心将鼠标移动多了一点,那么因积分环节累加的速度将会被保留下来,让你来不及“刹车”。

微分环节D

屠夫训练营3:勾中一只移动的斧王,钩子移速正常。

到这里其实就很好理解了,你的钩子并不是亚光速,你除了需要计算光标和斧王之间的距离,还要考虑屠夫自身与斧王的距离,这个距离会影响到你的出钩时间。然后你要根据这个出钩时间,计算出在这段时间内斧王会移动多少距离,然后提前将鼠标移动到几秒之后的位置……也就是我们常说的“预判”能力了。

微分环节就是一种对未来的预判。

至此,我们终于能从斧王岛毕业了!

然后你收到了斧王保护协会发来的律师函。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值