Skip to content
Snippets Groups Projects
Select Git revision
  • 254a35486fa8d8b9195b885bb8e07f4cd6da2777
  • main default protected
2 results

thk_pid_controller.cpp

Blame
  • thk_pid_controller.cpp 597 B
    #include <thk_pid_controller.h>
    
    thk_PIDController::thk_PIDController(double Kp, double Ki, double Kd, double setpoint) : Kp(Kp), Ki(Ki), Kd(Kd), setpoint(setpoint) {}
    
    void thk_PIDController::set_setpoint(double setpoint)
    {
        this->setpoint = setpoint;
    }
    
    double thk_PIDController::compute(double input_value)
    {
        double error_value = setpoint - input_value;
    
        out_p = Kp * error_value;  // P-Anteil
        out_i += Ki * error_value; // I-Anteil
        out_d -= Kd * error_value; // D-Anteil
    
        return out_p + out_i + out_d;
    }
    
    void thk_PIDController::reset()
    {
        out_i = 0;
        out_d = 0;
    }