PIDMotor
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:140.1.0+855c407f828e7 / 24 个公开 API 符号没有说明。
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:14上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:17
PIDMotor::PIDMotor ()=default
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:25
PIDMotor::PIDMotor (const Config &cfg)
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:26
float PIDMotor::calc (const float &ref, const float &fdb)
计算一次 PID 输出。 ref 目标值 fdb 反馈值 限幅后的控制输出
libs/control/pid_motor/pid_motor.hpp:35
const Config & PIDMotor::getConfig () const
获取控制参数。
libs/control/pid_motor/pid_motor.hpp:43
float PIDMotor::getOutput () const
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:54
float PIDMotor::getRef () const
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:53
void PIDMotor::reset ()
清空内部状态。
libs/control/pid_motor/pid_motor.hpp:51
void PIDMotor::setConfig (const Config &cfg)
更新控制参数。
libs/control/pid_motor/pid_motor.hpp:39
void PIDMotor::setOutputMax (const float output_max)
直接修改输出上限。
libs/control/pid_motor/pid_motor.hpp:47
float PIDMotor::Config::Kd
微分系数
libs/control/pid_motor/pid_motor.hpp:21
float PIDMotor::Config::Ki
积分系数
libs/control/pid_motor/pid_motor.hpp:20
float PIDMotor::Config::Kp
比例系数
libs/control/pid_motor/pid_motor.hpp:19
float PIDMotor::Config::abs_output_max
输出绝对值上限
libs/control/pid_motor/pid_motor.hpp:22
Config PIDMotor::cfg_
上游未提供说明。
libs/control/pid_motor/pid_motor.hpp:57
float PIDMotor::error_
当前误差
libs/control/pid_motor/pid_motor.hpp:62
float PIDMotor::fdb_
最近一次反馈值
libs/control/pid_motor/pid_motor.hpp:60
float PIDMotor::integral_
积分状态,已包含 Ki
libs/control/pid_motor/pid_motor.hpp:65
float PIDMotor::output_
最近一次输出
libs/control/pid_motor/pid_motor.hpp:66
float PIDMotor::prev_error_
上一次误差
libs/control/pid_motor/pid_motor.hpp:63
float PIDMotor::ref_
最近一次目标值
libs/control/pid_motor/pid_motor.hpp:59电机 PID 控制器实现。 syhanjin 2026-01-28 这个版本在普通 PID 的基础上加了输出限幅和简单的 anti-windup 处理。 代码逻辑保持得比较直白,目的是让控制初学者能直接对着公式和实现一一对应。
libs/control/pid_motor/pid_motor.cpp带输出限幅和抗积分饱和的电机 PID 控制器。 syhanjin 2026-01-28 这个版本更适合电机速度环和位置环等场景:先计算 P / D 主体,再把剩余输出空间分配给 I 项, 这样可以在保持响应速度的同时,尽量减少积分项把输出“顶满”的问题。
libs/control/pid_motor/pid_motor.hpp