CRINSA-team2024 2024
Documentation du Club Robot INSA Rennes 2024
Chargement...
Recherche...
Aucune correspondance
Référence de la classe DifferentialController

Controle les moteurs. Plus de détails...

#include <DifferentialController.h>

Est dérivée de PeriodicProcess.

Dérivée par VelocityController.

Graphe de collaboration de DifferentialController:

Fonctions membres publiques

 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 (PID &linPID, 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.
 
void load (int address)
 Charge les paramètres.
 
void save (int address) const
 Sauvegarde les paramètres.
 
- 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.
 

Fonctions membres protégées

virtual void process (float timestep)
 Calcul l'asservissement

 
virtual void onProcessEnabling ()
 Reset les accumulateurs des asserv.
 
- Fonctions membres protégées hérités de PeriodicProcess
virtual void onProcessDisabling ()
 Méthode exécutée à la désactivation du PeriodicProcess.
 

Attributs protégés

float m_linInput
 
float m_angInput
 
float m_linSetpoint
 
float m_angSetpoint
 
float m_axleTrack
 
float m_linVelOutput
 
float m_angVelOutput
 
AbstractMotorm_leftWheel
 
AbstractMotorm_rightWheel
 
PIDm_linPID
 
PIDm_angPID
 

Description détaillée

Controle les moteurs.

DifferentialController permet de controler les deux moteurs du robot à partir de l'odométrie et d'un PID.

Documentation des fonctions membres

◆ getAngOutput()

float DifferentialController::getAngOutput ( ) const
inline

Retour la commande angulaire actuel.

Renvoie
float Commande angulaire en rad/s

◆ getAngSetpoint()

float DifferentialController::getAngSetpoint ( ) const
inline

Retourne la vitesse demandée.

Renvoie
float Vitesse angulaire en rad/s.

◆ getAxleTrack()

float DifferentialController::getAxleTrack ( ) const
inline

Retourne l'entraxe.

Renvoie
Entraxe en mm.

◆ getLinOutput()

float DifferentialController::getLinOutput ( ) const
inline

Retour la commande linéaire actuel.

Renvoie
float Commande linéaire en mm/s

◆ getLinSetpoint()

float DifferentialController::getLinSetpoint ( ) const
inline

Retourne la vitesse demandée.

Renvoie
float Vitesse linéaire en mm/s.

◆ load()

void DifferentialController::load ( int address)

Charge les paramètres.

Charge les paramètres depuis la mémoire de l'Arduino.

Paramètres
addressAdresse à utiliser.

◆ process()

void DifferentialController::process ( float timestep)
protectedvirtual

Calcul l'asservissement

Paramètres
timestepTemps depuis le dernier appel.

Implémente PeriodicProcess.

Réimplémentée dans VelocityController.

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ save()

void DifferentialController::save ( int address) const

Sauvegarde les paramètres.

Sauvegarde les paramètres dans la mémoire de l'Arduino.

Paramètres
addressAdresse à utiliser.

◆ setAxleTrack()

void DifferentialController::setAxleTrack ( float axleTrack)

Charge l'entraxe.

Charge l'entraxe entre les deux roues du robot. Attention: cette entraxe est différente que celle du de l'odométrie.

Paramètres
axleTrack
Voici le graphe d'appel pour cette fonction :

◆ setInputs()

void DifferentialController::setInputs ( float linInput,
float angInput )
inline

Charge les vitesses actuel.

Charge les vitesses instantanées du robot pour l'asservissemeent.

Paramètres
linInputVitesse linéaire en mm/s.
angInputVitesse angulaire en rad/s.

◆ setPID()

void DifferentialController::setPID ( PID & linPID,
PID & angPID )
inline

Charge l'asservissement.

Charge les pointeurs PID pour l'asservissement de DifferentialController.

Paramètres
linPIDAsservissement linéaire.
angPIDAsservissement angulaire.

◆ setSetpoints()

void DifferentialController::setSetpoints ( float linSetpoint,
float angSetpoint )
inline

Charge les vitesses désirées.

Charge la vitesse désirée par l'utilisation.

Paramètres
linSetpointVitesse linéaire en mm/s.
angSetpointVitesse angulaire en rad/s.

◆ setWheels()

void DifferentialController::setWheels ( AbstractMotor & leftWheel,
AbstractMotor & rightWheel )
inline

Charge les moteurs.

Charge les pointeurs de AbstractMotor du DifferentialController.

Paramètres
leftWheelRoue gauche (AbstractMotor).
rightWheelRoue droite (AbstractMotor).

Documentation des données membres

◆ m_angInput

float DifferentialController::m_angInput
protected

Vitesse angulaire actuel du robot.

◆ m_angPID

PID* DifferentialController::m_angPID
protected

Pointeur de l'asservissement angulaire.

◆ m_angSetpoint

float DifferentialController::m_angSetpoint
protected

Vitesse angulaire demandée (en rad/s).

◆ m_angVelOutput

float DifferentialController::m_angVelOutput
protected

Vitesse angiulaire asservie.

◆ m_axleTrack

float DifferentialController::m_axleTrack
protected

Entraxe entre les deux roues motrices du robot (en mm).

◆ m_leftWheel

AbstractMotor* DifferentialController::m_leftWheel
protected

Pointeur du moteur gauche (AbstractMotor).

◆ m_linInput

float DifferentialController::m_linInput
protected

Vitesse linéaire actuel du robot.

◆ m_linPID

PID* DifferentialController::m_linPID
protected

Pointeur de l'asservissement linéaire.

◆ m_linSetpoint

float DifferentialController::m_linSetpoint
protected

Vitesse linéaire demandée (en mm/s).

◆ m_linVelOutput

float DifferentialController::m_linVelOutput
protected

Vitesse linéaire asservie.

◆ m_rightWheel

AbstractMotor* DifferentialController::m_rightWheel
protected

Pointeur du moteur droit (AbstractMotor).


La documentation de cette classe a été générée à partir des fichiers suivants :