myPID.py API 参考

带 P/I/D 分项限幅、总输出限幅和状态边界保护的离散 PID。

  • 源码路径:uav_controller/scripts/uav_model_lib/myPID.py
  • 本页函数/方法数:2
  • 行号对应本文档生成时采用的源码版本;源码调整后应重新生成本页。

阅读方式

本页用于快速检索签名与调用关系。核心控制和算法推导请先阅读“开发指南”中的对应章节。

PID.__init__

__init__(self, dt, adjust_max, adjust_min, kp=1, ki=0.2, kd=0, p_up_full=99, p_down_full=-99, i_up_full=99, i_down_full=-99, d_up_full=99, d_down_full=-99, status_max=9999.0, status_min=-9999.0)
  • 源码位置:第 9 行
  • 类别:初始化
  • 作用:初始化 PID 的参数、状态缓存以及所需的通信或算法对象。
  • 主要调用:无显式函数调用
  • 写入状态self.adjust_max, self.adjust_min, self.all_err, self.d_down_full, self.d_up_full, self.err, self.i_down_full, self.i_up_full, self.kd, self.ki, self.kp, self.p_down_full, self.p_up_full, self.status_max, self.status_min, self.time

PID.calculate

calculate(self, expect, status, dt=-1)
  • 源码位置:第 28 行
  • 类别:内部计算/辅助
  • 作用:计算离散 PID 输出,包含分项限幅、积分抗饱和和总输出限幅。
  • 主要调用:无显式函数调用
  • 写入状态self.all_err, self.err