怎么用PID实现小车以我想要的速度行驶?

怎么用PID实现小车以我想要的速度行驶?,第1张

最基本的思路,假设你的目标速度是Vt,实际测得的速度是Vs,如果Vs大于Vt,就降低占空比减速,如果Vs小于Vt,就升高占空比加速。这是最基本的思路。

然后,设想,如果当前Vs远远小于Vt,那么你肯定希望占空比加大一点,如果只是小一点点,占空比就加小一点,这个很好理解吧?那么,就要建立速度差和占空比每次增量之间的关系式。

然后,就是以极可能的快的运行频率,检测速度差,根据速度差大小计算占空比的增量,只要速度还没达到目标,就不断的增加或降低占空比,不断重复这个过程,那么实际速度就会在目标速度上下波动,只要参数调整合理,波动极小,就等效于实际速度了。

至于速度差和占空比增量之间的关系,就得慢慢调试了。这个过程实际就是PID控制中的P控制的原理。还可以加入I控制甚至D控制,达到更好的控制效果。

pwmout=P*(E(0)-E(1))+I*E(0)+D*(E(0)-2*E(1)+E(2))+pwmpre

pwmpre=pwmout

E(0)是当前

系统偏差

,E(1)是上一次偏差,E(2)上上次偏差。P、I、神搜D分别是

比例系数

、积分系数和微分系数

E=SpeedSet-Speed

SpeedSet可根据路况设裂瞎消置,是你期肆知望小车行驶的速度。Speed是你当前测量的小车的实际速度


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12508239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存