![]() |
Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
|
Objet de controle de la vitesse. Plus de détails...
#include <VelocityController.h>


Fonctions membres publiques | |
| VelocityController () | |
| Constructeur de VelocityController. | |
| void | setMaxAngAcc (float maxAngAcc) |
| Paramètre les accélérations max. | |
| void | setMaxLinAcc (float maxLinAcc) |
| void | setMaxLinDec (float maxLinDec) |
| Paramètre les décéleration max. | |
| void | setMaxAngDec (float maxAngDec) |
| void | setSpinShutdown (bool spinShutdown) |
| Change l'état de l'arret d'urgence. | |
| float | getMaxLinAcc () const |
| Retourne l'accélération max linéaire. | |
| float | getMaxAngAcc () const |
| Retourne l'accélération max angulaire. | |
| float | getMaxLinDec () const |
| Retourne la décélération max linéaire. | |
| float | getMaxAngDec () const |
| Retourne la décélération max angulaire. | |
| float | getLinSpinGoal () const |
| float | getAngSpinGoal () const |
| bool | getSpinShutdown () const |
| Retourne l'état de spinShutDown. | |
| void | set_stop (bool stop) |
Fonctions membres publiques hérités de DifferentialController | |
| DifferentialController () | |
| Constructeur de DifferentialController Constructeur de DifferentialController qui initialise les variables à des valeurs neutres. | |
| void | setInputs (float linInput, float angInput) |
| Charge les vitesses actuel. | |
| void | setSetpoints (float linSetpoint, float angSetpoint) |
| Charge les vitesses désirées. | |
| void | setAxleTrack (float axleTrack) |
| Charge l'entraxe. | |
| void | setWheels (AbstractMotor &leftWheel, AbstractMotor &rightWheel) |
| Charge les moteurs. | |
| void | setPID (std::unique_ptr< PID > linPID, std::unique_ptr< PID > angPID) |
| Charge l'asservissement. | |
| float | getLinSetpoint () const |
| Retourne la vitesse demandée. | |
| float | getAngSetpoint () const |
| Retourne la vitesse demandée. | |
| float | getLinOutput () const |
| Retour la commande linéaire actuel. | |
| float | getAngOutput () const |
| Retour la commande angulaire actuel. | |
| float | getAxleTrack () const |
| Retourne l'entraxe. | |
Fonctions membres publiques hérités de PeriodicProcess | |
| virtual | ~PeriodicProcess () |
| Constructeur de PeriodicProcess. | |
| void | enable () |
| Active le PeriodicProcess. | |
| void | disable () |
| Désactive le PeriodicProcess. | |
| void | setTimestep (float timestep) |
| Sélectionne une nouvelle valeur pour timestep. | |
| bool | update () |
| Execute la méthode process. | |
| bool | isEnabled () const |
| Vérifie si le PeriodicProcess est activé. | |
| float | getTimestep () const |
| Retourne la valeur de m_timestep. | |
| virtual | ~PeriodicProcess () |
| Constructeur de PeriodicProcess. | |
| void | enable () |
| Active le PeriodicProcess. | |
| void | disable () |
| Désactive le PeriodicProcess. | |
| void | setTimestep (float timestep) |
| Sélectionne une nouvelle valeur pour timestep. | |
| bool | update () |
| Execute la méthode process. | |
| bool | isEnabled () const |
| Vérifie si le PeriodicProcess est activé. | |
| float | getTimestep () const |
| Retourne la valeur de m_timestep. | |
Fonctions membres protégées | |
| float | genRampSetpoint (float stepSetpoint, float input, float rampSetpoint, float maxAcc, float maxDec, float timestep) |
| Calcul la vitesse à atteindre. | |
| virtual void | process (float timestep) |
| Calcul l'asservissement. | |
| virtual void | onProcessEnabling () |
| Initialisation de l'asservissement. | |
Fonctions membres protégées hérités de DifferentialController | |
| virtual void | onProcessDisabling () |
| Méthode exécutée à la désactivation du PeriodicProcess. | |
Attributs protégés | |
| float | m_rampLinVelSetpoint |
| float | m_rampAngVelSetpoint |
| float | m_maxLinAcc |
| float | m_maxLinDec |
| float | m_maxAngAcc |
| float | m_maxAngDec |
| bool | m_spinShutdown |
| float | m_linSpinGoal |
| float | m_angSpinGoal |
| bool | m_sensors_stop =false |
| bool | m_sensors_restart =false |
| Stop ce truc. | |
| bool | m_sensors_stoped =false |
| float | m_last_linSetpoint |
| float | m_last_angSetpoint |
Attributs protégés hérités de DifferentialController | |
| float | m_linInput |
| float | m_angInput |
| float | m_linSetpoint |
| float | m_angSetpoint |
| float | m_axleTrack |
| float | m_linVelOutput |
| float | m_angVelOutput |
| AbstractMotor * | m_leftWheel |
| AbstractMotor * | m_rightWheel |
Membres hérités additionnels | |
Attributs publics hérités de DifferentialController | |
| std::unique_ptr< PID > | m_linPID |
| std::unique_ptr< PID > | m_angPID |
Objet de controle de la vitesse.
VelocityController est une version améliorée de DifferentialController car il rajoute la gestion de Spin et les accélérations capées.
|
inline |
Constructeur de VelocityController.
Construteur de VelocityController qui initialise ces vairables sur des valeurs neutres.
|
protected |
Calcul la vitesse à atteindre.
Calcul les nouvelles vitesse à atteindre pour respecter les contraites d'accélérations.
| stepSetpoint | Vitesse demandé. |
| input | Vitesse actuel |
| rampSetpoint | Ancienne vitesse intermédiaire calculée. |
| maxAcc | Accélération max. |
| maxDec | Accélération min. |
| timestep | Temps depuis le dernier appel. |

|
inline |
Retourne l'accélération max angulaire.

|
inline |
Retourne la décélération max angulaire.

|
inline |
Retourne l'accélération max linéaire.

|
inline |
Retourne la décélération max linéaire.

|
inline |
Retourne l'état de spinShutDown.

|
protectedvirtual |
Initialisation de l'asservissement.
Réimplémentée à partir de DifferentialController.

|
protectedvirtual |
Calcul l'asservissement.
| timestep | temps depuis le dernier appel. |
Réimplémentée à partir de DifferentialController.

| void VelocityController::setMaxAngAcc | ( | float | maxAngAcc | ) |
Paramètre les accélérations max.
| maxLinAcc | Accélération linéaire en mm/s². |
| maxAngAcc | Accélération angulaire en rad/s². |


| void VelocityController::setMaxLinDec | ( | float | maxLinDec | ) |
Paramètre les décéleration max.
| maxLinDec | Décélération linéaire en mm/s². |
| maxAngDec | Décélération angulaire en rad/s². |


| void VelocityController::setSpinShutdown | ( | bool | spinShutdown | ) |
Change l'état de l'arret d'urgence.
| spinShutdown | Etat à appliquer à la variable spinShutdown. |


|
protected |
Décélération max linéaire en mm/s². Toujours positif.
|
protected |
Décélération max angulaire en rad/s². Toujours positif.
|
protected |
Accélération max linéaire en mm/s². Toujours positif.
|
protected |
Accélération max angulaire en rad/s². Toujours positif.
|
protected |
Vitesse angulaire intermédiaire en rad/s.
|
protected |
Vitesse linéaire intermédiaire en mm/s.
|
protected |
Etat de la sécurité de patinage.