1#ifndef __VELOCITYCONTROLLER_H__
2#define __VELOCITYCONTROLLER_H__
4#include "DifferentialController.h"
7#define ENABLE_VELOCITYCONTROLLER_LOGS 0
8#define VELOCITYCONTROLLER_LOGS_TIMESTEP 20e-3
9#if ENABLE_VELOCITYCONTROLLER_LOGS
40 void setMaxLinAcc(
float maxLinAcc);
51 void setMaxAngDec(
float maxAngDec);
82 float getLinSpinGoal()
const {
return m_linSpinGoal; }
83 float getAngSpinGoal()
const {
return m_angSpinGoal; }
92 void set_stop(
bool stop);
109 float genRampSetpoint(
float stepSetpoint,
float input,
float rampSetpoint,
float maxAcc,
float maxDec,
float timestep);
114 virtual void process(
float timestep);
129 bool m_sensors_stop=
false;
131 bool m_sensors_stoped=
false;
132 float m_last_linSetpoint;
133 float m_last_angSetpoint;
135#if ENABLE_VELOCITYCONTROLLER_LOGS
136 friend class VelocityControllerLogs;
140#if ENABLE_VELOCITYCONTROLLER_LOGS
147 void setController(
const VelocityController &controller) { m_controller = &controller; }
150 virtual void process(
float timestep);
152 const VelocityController *m_controller;
DifferentialController()
Constructeur de DifferentialController Constructeur de DifferentialController qui initialise les vari...
Definition DifferentialController.h:23
Classe à implémenter pour gérer les appels dans la loop.
Definition PeriodicProcess.h:16
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:22
float genRampSetpoint(float stepSetpoint, float input, float rampSetpoint, float maxAcc, float maxDec, float timestep)
Calcul la vitesse à atteindre.
Definition VelocityController.cpp:18
bool getSpinShutdown() const
Retourne l'état de spinShutDown.
Definition VelocityController.h:90
bool m_sensors_restart
Stop ce truc.
Definition VelocityController.h:130
float m_maxLinAcc
Definition VelocityController.h:122
void setSpinShutdown(bool spinShutdown)
Change l'état de l'arret d'urgence.
Definition VelocityController.cpp:113
bool m_spinShutdown
Definition VelocityController.h:126
float getMaxLinAcc() const
Retourne l'accélération max linéaire.
Definition VelocityController.h:63
float m_maxAngAcc
Definition VelocityController.h:124
float getMaxAngDec() const
Retourne la décélération max angulaire.
Definition VelocityController.h:81
void setMaxAngAcc(float maxAngAcc)
Paramètre les accélérations max.
Definition VelocityController.cpp:103
float m_rampLinVelSetpoint
Definition VelocityController.h:120
void setMaxLinDec(float maxLinDec)
Paramètre les décéleration max.
Definition VelocityController.cpp:98
float m_maxLinDec
Definition VelocityController.h:123
VelocityController()
Constructeur de VelocityController.
Definition VelocityController.h:30
virtual void onProcessEnabling()
Initialisation de l'asservissement.
Definition VelocityController.cpp:86
float m_maxAngDec
Definition VelocityController.h:125
float getMaxLinDec() const
Retourne la décélération max linéaire.
Definition VelocityController.h:75
virtual void process(float timestep)
Calcul l'asservissement.
Definition VelocityController.cpp:38
float m_rampAngVelSetpoint
Definition VelocityController.h:121
float getMaxAngAcc() const
Retourne l'accélération max angulaire.
Definition VelocityController.h:69