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

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

#include <DifferentialController.h>

Graphe d'héritage de DifferentialController:
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.
 
- 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.
 
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
 
AbstractMotor * m_leftWheel
 
AbstractMotor * m_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.

◆ onProcessDisabling()

void DifferentialController::onProcessDisabling ( )
protectedvirtual

Méthode exécutée à la désactivation du PeriodicProcess.

Méthode à implémenter si votre class nécessite des actions à sa déactivation.

Réimplémentée à partir de PeriodicProcess.

◆ onProcessEnabling()

void DifferentialController::onProcessEnabling ( )
protectedvirtual

Reset les accumulateurs des asserv.

Réimplémentée à partir de PeriodicProcess.

Réimplémentée dans VelocityController.

Voici le graphe des appelants de cette fonction :

◆ 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 des appelants de cette fonction :

◆ 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 :