PID 控制 |(搬运)教程与 python 代码


因为完全没有自动化和控制基础,所以找了很多博客都没看懂;

干货|通俗易懂讲解PID,这是看的最懂的一篇()


PID 控制的 python 代码:(搬运 别人的博客

class PID_Controller:
# 给pid的三个参数赋初值
def __init__(self, kp, ki, kd):
self.kp = kp
self.ki = ki
self.kd = kd
self.last_error = 0.0
self.integral = 0.0
def change_para(self, kp, ki, kd):
self.kp = kp
self.ki = ki
self.kd = kd
def control_action(self, error, dt):
"""
Args:
error: 当前误差
dt: 步长
Returns: pid的输出
"""
p = self.kp * error
self.integral += error
i = self.ki * self.integral
derivative = (error - self.last_error) / dt
d = self.kd * derivative
self.last_error = error
return p + i + d

可以直接调用的 python 包:https://github.com/m-lundberg/simple-pid



本文作者:MoonOut

本文链接:https://www.cnblogs.com/moonout/p/18017795

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   MoonOut  阅读(392)  评论(0编辑  收藏  举报
历史上的今天:
2023-02-17 游记 | 20230217 · 附中 · 山大 · 弃稿再发布
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto Jascha Heifetz / Chicago Symphony Orchestra
Sibelius: Violin Concerto in D Minor, Op. 47:III. Allegro, ma non tanto - Jascha Heifetz / Chicago Symphony Orchestra
00:00 / 00:00
An audio error has occurred.