#ifndef PIBOT_PID_H_ #define PIBOT_PID_H_ //pid接口 class PID { public: /* pid构造函数 * @param input pid输入的地址 * @param output pid输出的地址 * @param kp, ki, kd pid参数 * @param max_output 输出结构的限制值 */ PID(float* input, float* feedback, float kp, float ki, float kd, unsigned short max_output); // pid计算 short compute(float interval); // 重置pid的值 void clear(); //更新pid参数 void update(float kp, float ki, float kd, unsigned short max_output); private: float kp; float ki; float kd; float max_output; float* input; float* feedback; float error; //比例值 float integra;//积分值 float derivative;//微分值 float previous_error; //上一次的输入反馈差值 }; #endif