/*************************************************************************
* 函数名称:float constrain_float(float amt, float low, float high)
* 功能说明:pid位置式控制器输出
* 参数说明:
* @param pid pid结构体
* @param error pid输入误差
* 函数返回:PID输出结果
* 修改时间:2022年3月18日
* 备 注:
*************************************************************************/
float PidLocCtrl(pid_param_t * pid, float error)
{
/* 累积误差 */
pid->integrator += error;
pid->out_p = pid->kp * error;
pid->out_i = pid->ki * pid->integrator;
pid->out_d = pid->kd * (error - pid->last_error);
pid->last_error = error;
pid->out = pid->out_p + pid->out_i + pid->out_d;
return pid->out;
}