8#ifndef __VELOCITYCONTROLLER_H__
9#define __VELOCITYCONTROLLER_H__
11#include "DifferentialController.h"
14#define ENABLE_VELOCITYCONTROLLER_LOGS 0
15#define VELOCITYCONTROLLER_LOGS_TIMESTEP 20e-3
16#if ENABLE_VELOCITYCONTROLLER_LOGS
48 void setMaxLinAcc(
float maxLinAcc);
59 void setMaxAngDec(
float maxAngDec);
90 float getLinSpinGoal()
const {
return m_linSpinGoal; }
91 float getAngSpinGoal()
const {
return m_angSpinGoal; }
100 void set_stop(
bool stop);
117 float genRampSetpoint(
float stepSetpoint,
float input,
float rampSetpoint,
float maxAcc,
float maxDec,
float timestep);
122 virtual void process(
float timestep);
137 bool m_sensors_stop=
false;
139 bool m_sensors_stoped=
false;
140 float m_last_linSetpoint;
141 float m_last_angSetpoint;
143#if ENABLE_VELOCITYCONTROLLER_LOGS
144 friend class VelocityControllerLogs;
148#if ENABLE_VELOCITYCONTROLLER_LOGS
155 void setController(
const VelocityController &controller) { m_controller = &controller; }
158 virtual void process(
float timestep);
160 const VelocityController *m_controller;
Wrapper header pour importer la librairie.
DifferentialController()
Constructeur de DifferentialController Constructeur de DifferentialController qui initialise les vari...
Definition DifferentialController.h:26
Classe à implémenter pour gérer les appels dans la loop.
Definition PeriodicProcess/PeriodicProcess.h:17
virtual void process(float timestep)=0
Méthode à implémenter obligatoirement pour hériter de PeriodicProcess.
Objet de controle de la vitesse.
Definition VelocityController.h:30
float genRampSetpoint(float stepSetpoint, float input, float rampSetpoint, float maxAcc, float maxDec, float timestep)
Calcul la vitesse à atteindre.
Definition VelocityController.cpp:15
bool getSpinShutdown() const
Retourne l'état de spinShutDown.
Definition VelocityController.h:98
bool m_sensors_restart
Stop ce truc.
Definition VelocityController.h:138
float m_maxLinAcc
Definition VelocityController.h:130
void setSpinShutdown(bool spinShutdown)
Change l'état de l'arret d'urgence.
Definition VelocityController.cpp:110
bool m_spinShutdown
Definition VelocityController.h:134
float getMaxLinAcc() const
Retourne l'accélération max linéaire.
Definition VelocityController.h:71
float m_maxAngAcc
Definition VelocityController.h:132
float getMaxAngDec() const
Retourne la décélération max angulaire.
Definition VelocityController.h:89
void setMaxAngAcc(float maxAngAcc)
Paramètre les accélérations max.
Definition VelocityController.cpp:100
float m_rampLinVelSetpoint
Definition VelocityController.h:128
void setMaxLinDec(float maxLinDec)
Paramètre les décéleration max.
Definition VelocityController.cpp:95
float m_maxLinDec
Definition VelocityController.h:131
VelocityController()
Constructeur de VelocityController.
Definition VelocityController.h:38
virtual void onProcessEnabling()
Initialisation de l'asservissement.
Definition VelocityController.cpp:83
float m_maxAngDec
Definition VelocityController.h:133
float getMaxLinDec() const
Retourne la décélération max linéaire.
Definition VelocityController.h:83
virtual void process(float timestep)
Calcul l'asservissement.
Definition VelocityController.cpp:35
float m_rampAngVelSetpoint
Definition VelocityController.h:129
float getMaxAngAcc() const
Retourne l'accélération max angulaire.
Definition VelocityController.h:77