PID笔记
参考B站的奇乐编程学院的视频: 通俗易懂的 PID 控制算法讲解
TODO
公式
u(t)=Kpe(t)+Ki∫e(t)dt+Kpdtde
- u(t): PID control variable, 控制输出值
- Kp: proportional gain, 比例增益
- e(t): error value, t时刻的误差值
- Ki: integral gain, 积分增益
- de: change in error value, 误差微分
- dt: change in time, 时间微分
其中, Kp, Ki, Kd需要调参
计算步骤
Python代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| def pid(kp, ki, kd, dt, target, current, prev_integral, prev_error) error = target - current integral = prev_integral + error * dt derivative = (error - prev_error) / dt output = kp * error + ki * integral + kd * derivative return output, integral, error
error = 0 integral = 0
while True: output, integral, error = pid(kp, ki, kd, dt, target, current, integral)
|