CRINSA-team2025 V1
Documentation du Club Robot INSA Rennes 2025
Chargement...
Recherche...
Aucune correspondance
PID.h
1#ifndef __PID_H__
2#define __PID_H__
3
4#include <math.h>
5
12class PID
13{
14public:
19 PID() : m_Kp(1), m_Ki(0), m_Kd(0), m_minOutput(-INFINITY), m_maxOutput(INFINITY){}
31 float compute(float setpoint, float input, float timestep);
35 void reset();
44 void setTunings(float Kp, float Ki, float Kd);
52 void setOutputLimits(float minOutput, float maxOutput);
57 float getKp() const {return m_Kp;}
62 float getKi() const {return m_Ki;}
67 float getKd() const {return m_Kd;}
72 float getMinOutput() const {return m_minOutput;}
77 float getMaxOutput() const {return m_maxOutput;}
78
79private:
80
81 float m_errorIntegral;
82 float m_previousError;
83
84 float m_Kp;
85 float m_Ki;
86 float m_Kd;
87 float m_minOutput;
88 float m_maxOutput;
89};
90
91#endif // __PID_H__
PID()
Constructeur de PID Constructeur de PID qui initialise toutes les valeurs à des valeurs neutres (Kp=1...
Definition PID.h:19
void setTunings(float Kp, float Ki, float Kd)
Charge de nouvelles constantes d'asservissements.
Definition PID.cpp:31
float getMinOutput() const
Retourne la sortie minimal.
Definition PID.h:72
float getKi() const
Retourne le coefficient intégrateur.
Definition PID.h:62
float getMaxOutput() const
Retourne la sortie maximal.
Definition PID.h:77
float getKp() const
Retourne le coefficient proportionnel.
Definition PID.h:57
float compute(float setpoint, float input, float timestep)
Calcul l'asservissement.
Definition PID.cpp:7
void setOutputLimits(float minOutput, float maxOutput)
Charge les limites de sorties.
Definition PID.cpp:37
float getKd() const
Retourne le coefficient dérivateur.
Definition PID.h:67
void reset()
Réinitialise les accumulateurs.
Definition PID.cpp:25