Objet de controle de la vitesse.
Plus de détails...
#include <VelocityController.h>
Est dérivée de DifferentialController.
|
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.
|
|
virtual void | onProcessDisabling () |
| Méthode exécutée à la désactivation du PeriodicProcess.
|
|
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.
◆ VelocityController()
VelocityController::VelocityController |
( |
| ) |
|
|
inline |
◆ genRampSetpoint()
float VelocityController::genRampSetpoint |
( |
float | stepSetpoint, |
|
|
float | input, |
|
|
float | rampSetpoint, |
|
|
float | maxAcc, |
|
|
float | maxDec, |
|
|
float | timestep ) |
|
protected |
Calcul la vitesse à atteindre.
Calcul les nouvelles vitesse à atteindre pour respecter les contraites d'accélérations.
- Paramètres
-
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. |
- Renvoie
- float Nouvelle vitesse intermédiaire.
◆ getMaxAngAcc()
float VelocityController::getMaxAngAcc |
( |
| ) |
const |
|
inline |
Retourne l'accélération max angulaire.
- Renvoie
- Accélération en rad/s².
◆ getMaxAngDec()
float VelocityController::getMaxAngDec |
( |
| ) |
const |
|
inline |
Retourne la décélération max angulaire.
- Renvoie
- Décélération en rad/s².
◆ getMaxLinAcc()
float VelocityController::getMaxLinAcc |
( |
| ) |
const |
|
inline |
Retourne l'accélération max linéaire.
- Renvoie
- Accélération en mm/s².
◆ getMaxLinDec()
float VelocityController::getMaxLinDec |
( |
| ) |
const |
|
inline |
Retourne la décélération max linéaire.
- Renvoie
- Décélération en mm/s².
◆ getSpinShutdown()
bool VelocityController::getSpinShutdown |
( |
| ) |
const |
|
inline |
Retourne l'état de spinShutDown.
- Renvoie
- true Si le robot est bloqué par un obstacle.
-
false Si le robot n'est pas bloqué.
◆ load()
void VelocityController::load |
( |
int | address | ) |
|
Charge les paramètres.
Charge les derniers paramètres sauvegarder (les acc et dec) dans l'Arduino.
- Paramètres
-
address | Adresse à utiliser. |
◆ process()
void VelocityController::process |
( |
float | timestep | ) |
|
|
protectedvirtual |
Calcul l'asservissement.
- Paramètres
-
timestep | temps depuis le dernier appel. |
Réimplémentée à partir de DifferentialController.
◆ save()
void VelocityController::save |
( |
int | address | ) |
const |
Sauvegarde les paramètres.
Sauvegarde les paramètres actuellement chargés.
- Paramètres
-
address | Adresse à utiliser. |
◆ setMaxAngAcc()
void VelocityController::setMaxAngAcc |
( |
float | maxAngAcc | ) |
|
Paramètre les accélérations max.
- Paramètres
-
maxLinAcc | Accélération linéaire en mm/s². |
maxAngAcc | Accélération angulaire en rad/s². |
◆ setMaxLinDec()
void VelocityController::setMaxLinDec |
( |
float | maxLinDec | ) |
|
Paramètre les décéleration max.
- Paramètres
-
maxLinDec | Décélération linéaire en mm/s². |
maxAngDec | Décélération angulaire en rad/s². |
◆ setSpinShutdown()
void VelocityController::setSpinShutdown |
( |
bool | spinShutdown | ) |
|
Change l'état de l'arret d'urgence.
- Paramètres
-
spinShutdown | Etat à appliquer à la variable spinShutdown. |
◆ m_maxAngAcc
float VelocityController::m_maxAngAcc |
|
protected |
Décélération max linéaire en mm/s². Toujours positif.
◆ m_maxAngDec
float VelocityController::m_maxAngDec |
|
protected |
Décélération max angulaire en rad/s². Toujours positif.
◆ m_maxLinAcc
float VelocityController::m_maxLinAcc |
|
protected |
Accélération max linéaire en mm/s². Toujours positif.
◆ m_maxLinDec
float VelocityController::m_maxLinDec |
|
protected |
Accélération max angulaire en rad/s². Toujours positif.
◆ m_rampAngVelSetpoint
float VelocityController::m_rampAngVelSetpoint |
|
protected |
Vitesse angulaire intermédiaire en rad/s.
◆ m_rampLinVelSetpoint
float VelocityController::m_rampLinVelSetpoint |
|
protected |
Vitesse linéaire intermédiaire en mm/s.
◆ m_spinShutdown
bool VelocityController::m_spinShutdown |
|
protected |
Etat de la sécurité de patinage.
La documentation de cette classe a été générée à partir des fichiers suivants :
- C:/Users/boris/Desktop/robotique/team2024/platformIO/LIBS/ARDUINO_LIBS/VelocityController/VelocityController.h
- C:/Users/boris/Desktop/robotique/team2024/platformIO/LIBS/ARDUINO_LIBS/VelocityController/VelocityController.cpp