python怎么实现PID和调参


这篇“python怎么实现PID和调参”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么实现PID和调参”文章吧。例子: 假设一个水缸,需要最终控制水缸的水位永远维持在1米的高度。水位目标:T 当前水位:Tn 加水量:U 误差:error error=T-Tn 比例控制系数:kpU = k_p * errorU=kp∗errorinitial: T=1; Tn=0.2, error=1-0.2=0.8; kp=0.4根据kp取值不同,系统最后都会达到1米,只不过kp大了达到的更快。不会有稳态误差。 若存在漏水情况,在相同情况下,经过多次加水后,水位会保持在0.75不在再变化,因为当U和漏水量一致的时候将保持不变——即稳态误差U=k_p*error=0.1 => error = 0.1/0.4 = 0.25U=kp∗error=0.1=>error=0.1/0.4=0.25,所以误差永远保持在0.25实际情况中,这种类似水缸漏水的情况往往更加常见比如控制汽车运动,摩擦阻力就相当于是”漏水”控制机械臂、无人机的飞行,各类阻力和消耗相当于”漏水”所以单独的比例控制,很多时候并不能满足要求比例+积分控制算法:误差累计积分控制系数在越靠近目标的时候则加的越少。kd: 微分控制系数d_error/d_t ~= error_t – error_t_1:误差的变化令:kd=0.2; d_error = 当前时刻误差-前时刻误差for kp_i in np.linspace(0, 1, 10): pid_plot(kp=kp_i, ki=0.2, kd=0.2)for ki_i in np.linspace(0, 1, 10): pid_plot(kp=0.5, ki=ki_i, kd=0.2)for kd_i in np.linspace(0, 1, 10): pid_plot(kp=0.5, ki=0.2, kd=kd_i)pid_plot(kp=0.65, ki=0.05, kd=0.5, print_flag=True)损失函数采用:RMSE牛顿法调参结果图示 :简单手动调参图示:以上就是免费云主机域名关于“python怎么实现PID和调参”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注百云主机行业资讯频道。

相关推荐: Vue如何接入高德地图

这篇“Vue如何接入高德地图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何接入高德地图”文章吧。首相要在index.html文件中引入…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/30 18:21
下一篇 03/30 18:21

相关推荐