Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
PID.h
1#ifndef __PID_H__
2#define __PID_H__
3
4#include <cmath>
5
15class PID
16{
17public:
22 PID() : m_Kp(1), m_Ki(0), m_Kd(0), m_minOutput(-INFINITY), m_maxOutput(INFINITY){}
34 float compute(float setpoint, float input, float timestep);
38 void reset();
47 void setTunings(float Kp, float Ki, float Kd);
55 void setOutputLimits(float minOutput, float maxOutput);
60 float getKp() const {return m_Kp;}
65 float getKi() const {return m_Ki;}
70 float getKd() const {return m_Kd;}
75 float getMinOutput() const {return m_minOutput;}
80 float getMaxOutput() const {return m_maxOutput;}
81
82private:
83
84 float m_errorIntegral;
85 float m_previousError;
86
87 float m_Kp;
88 float m_Ki;
89 float m_Kd;
90 float m_minOutput;
91 float m_maxOutput;
92};
93
94#endif // __PID_H__
PID()
Constructeur de PID Constructeur de PID qui initialise toutes les valeurs à des valeurs neutres (Kp=1...
Definition PID.h:22
void setTunings(float Kp, float Ki, float Kd)
Charge de nouvelles constantes d'asservissements.
Definition PID.cpp:29
float getMinOutput() const
Retourne la sortie minimal.
Definition PID.h:75
float getKi() const
Retourne le coefficient intégrateur.
Definition PID.h:65
float getMaxOutput() const
Retourne la sortie maximal.
Definition PID.h:80
float getKp() const
Retourne le coefficient proportionnel.
Definition PID.h:60
float compute(float setpoint, float input, float timestep)
Calcul l'asservissement.
Definition PID.cpp:5
void setOutputLimits(float minOutput, float maxOutput)
Charge les limites de sorties.
Definition PID.cpp:35
float getKd() const
Retourne le coefficient dérivateur.
Definition PID.h:70
void reset()
Réinitialise les accumulateurs.
Definition PID.cpp:23