ChatGPT实战之PID算法实现

让chatgpt写一段pid控制算法,看看效果如何。
可见效果还是不错的
通过调参也能实现收敛了。实际应用还是要看你具体的需求了。
话不多说上代码:
import matplotlib.pyplot as plt
import numpy as np
class PositionPID(object):
“”“位置式PID算法实现”“”

def __init__(self, target, cur_val, dt, max, min, p, i, d) -> None:
    self.dt = dt  # 循环时间间隔
    self._max = max  # 最大输出限制,规避过冲
    self._min = min  # 最小输出限制
    self.k_p = p  # 比例系数
    self.k_i = i  # 积分系数
    self.k_d = d  # 微分系数

    self.target = target  # 目标值
    self.cur_val = cur_val  # 算法当前PID位置值,第一次为设定的初始位置
    self._pre_error = 0  # t-1 时刻误差值
    self._integral = 0  # 误差积分值

def calculate(self):
    """
    计算t时刻PID输出值cur_val
    """
    error = self.target - self.cur_val  # 计算当前误差
    # 比例项
    p_out = self.k_p * error
    # 积分项
    self._integral &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白嫖怪阿七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值