|
One Motor 0.6.0
RoboMaster全平台一站式电机驱动库
|
一个通用的、可配置的PID控制器。 更多...
#include <PID.hpp>
Public 类型 | |
| using | ParamsType = PID_Params<ValueType> |
| using | ValType = ValueType |
Public 成员函数 | |
| PIDController (const PID_Params< ValueType > ¶ms) | |
| PID控制器的构造函数。 | |
| ValueType | compute (ValueType ref, ValueType measure) |
| 计算PID输出。 | |
| void | reset () |
| 重置PID控制器的内部状态。 | |
一个通用的、可配置的PID控制器。
| Algorithm | PID算法类型,可以是 Positional (位置式) 或 Incremental (增量式)。 |
| ValueType | PID计算所使用的数据类型。 |
| Features | 一个可变参数模板,用于指定PID控制器的附加特性,例如 WithDeadband, WithIntegralLimit 等。 |
该PID控制器通过模板参数高度可定制。
Algorithm 决定了是使用位置式还是增量式PID。ValueType 决定了内部计算的精度。Features 允许你通过添加特性标签来启用或禁用特定功能,例如:WithDeadband: 引入死区,当误差很小时忽略不计。WithIntegralLimit: 防止积分饱和。WithDerivativeOnMeasurement: 避免因目标值突变引起的微分冲击。WithDerivativeFilter: 平滑微分项。WithOutputFilter: 平滑最终输出。WithOutputLimit: 限制输出范围。
|
inlineexplicit |
PID控制器的构造函数。
| params | 包含所有PID参数的结构体。 |
|
inline |
计算PID输出。
| ref | 目标值 (设定值)。 |
| measure | 实际测量值 (反馈值)。 |
|
inline |
重置PID控制器的内部状态。
将积分项、历史误差、历史输出等所有内部状态变量清零。