CRINSA-team2025 V1
Documentation du Club Robot INSA Rennes 2025
Chargement...
Recherche...
Aucune correspondance
DifferentialController.h
1#ifndef __DIFFERENTIALCONTROLLER_H__
2#define __DIFFERENTIALCONTROLLER_H__
3
4#include "PeriodicProcess.h"
5#include "PID.h"
6#include "AbstractMotors.h"
7
8
9
17{
18public:
24
33 void setInputs (float linInput, float angInput) {m_linInput = linInput; m_angInput = angInput;}
42 void setSetpoints(float linSetpoint, float angSetpoint){m_linSetpoint = linSetpoint; m_angSetpoint = angSetpoint;}
50 void setAxleTrack(float axleTrack);
51
60 void setWheels(AbstractMotor& leftWheel, AbstractMotor& rightWheel){m_leftWheel = &leftWheel; m_rightWheel = &rightWheel;}
69 void setPID(PID& linPID, PID& angPID){m_linPID = &linPID; m_angPID = &angPID;}
76 float getLinSetpoint() const {return m_linSetpoint;}
83 float getAngSetpoint() const {return m_angSetpoint;}
84
90 float getLinOutput() const {return m_linVelOutput;}
96 float getAngOutput() const {return m_angVelOutput;}
97
102 float getAxleTrack() const {return m_axleTrack;}
103
104protected:
109 virtual void process(float timestep);
113 virtual void onProcessEnabling();
114 virtual void onProcessDisabling();
115
121
124
125 AbstractMotor* m_leftWheel;
126 AbstractMotor* m_rightWheel;
129};
130
131#endif // __DIFFERENTIALCONTROLLER_H__
float getAngOutput() const
Retour la commande angulaire actuel.
Definition DifferentialController.h:96
float m_axleTrack
Definition DifferentialController.h:120
PID * m_linPID
Definition DifferentialController.h:127
float getLinSetpoint() const
Retourne la vitesse demandée.
Definition DifferentialController.h:76
PID * m_angPID
Definition DifferentialController.h:128
AbstractMotor * m_rightWheel
Definition DifferentialController.h:126
void setWheels(AbstractMotor &leftWheel, AbstractMotor &rightWheel)
Charge les moteurs.
Definition DifferentialController.h:60
float m_linInput
Definition DifferentialController.h:116
void setInputs(float linInput, float angInput)
Charge les vitesses actuel.
Definition DifferentialController.h:33
virtual void onProcessEnabling()
Reset les accumulateurs des asserv.
Definition DifferentialController.cpp:20
float m_angInput
Definition DifferentialController.h:117
AbstractMotor * m_leftWheel
Definition DifferentialController.h:125
void setSetpoints(float linSetpoint, float angSetpoint)
Charge les vitesses désirées.
Definition DifferentialController.h:42
float getAngSetpoint() const
Retourne la vitesse demandée.
Definition DifferentialController.h:83
virtual void process(float timestep)
Calcul l'asservissement.
Definition DifferentialController.cpp:9
void setPID(PID &linPID, PID &angPID)
Charge l'asservissement.
Definition DifferentialController.h:69
virtual void onProcessDisabling()
Méthode exécutée à la désactivation du PeriodicProcess.
Definition DifferentialController.cpp:26
float m_linVelOutput
Definition DifferentialController.h:122
float getAxleTrack() const
Retourne l'entraxe.
Definition DifferentialController.h:102
float getLinOutput() const
Retour la commande linéaire actuel.
Definition DifferentialController.h:90
DifferentialController()
Constructeur de DifferentialController Constructeur de DifferentialController qui initialise les vari...
Definition DifferentialController.h:23
float m_linSetpoint
Definition DifferentialController.h:118
float m_angSetpoint
Definition DifferentialController.h:119
float m_angVelOutput
Definition DifferentialController.h:123
void setAxleTrack(float axleTrack)
Charge l'entraxe.
Definition DifferentialController.cpp:32
Classe d'asservissement.
Definition PID.h:13
Classe à implémenter pour gérer les appels dans la loop.
Definition PeriodicProcess.h:16