对PID.cpp函数解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include "PID.h"
using namespace std;
PID::PID() {//构造器初始化 error_proportional_ = 0.0; error_integral_ = 0.0; error_derivative_ = 0.0; }
PID::~PID() {}
void PID::Init(double Kp, double Ki, double Kd) {//重载 Kp_ = Kp; Ki_ = Ki; Kd_ = Kd; }
void PID::UpdateError(double cte) {//每一个误差 error_integral_ += cte;//积分误差是加上前面的误差 error_derivative_ = cte - error_proportional_;//微分误差是减去上一个误差 error_proportional_ = cte;//比例误差就等于上一个误差 }
double PID::TotalError() { return -(Kp_ * error_proportional_ + Ki_ * error_integral_ + Kd_ * error_derivative_);//负反馈 }
|
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
微信支付