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

Calcule la position en temps réel du robot. Plus de détails...

#include <Odometry.h>

Est dérivée de PeriodicProcess.

Graphe de collaboration de Odometry:

Fonctions membres publiques

void setPosition (float x, float y, float theta)
 Attribut une nouvelle position.
 
void setAxleTrack (float axleTrack)
 Defini une nouvelle entraxe pour les roues codeuses.
 
void setSlippage (float slippage)
 Defini la nouvelle dérive orthogonal.
 
void setCodewheels (AbstractCodewheel &leftCodewheel, AbstractCodewheel &rightCodewheel)
 Defini les roues codeuses de Odometry.
 
const PositiongetPosition () const
 Retourne la position.
 
float getLinVel () const
 Retourne la vitesse linéaire.
 
float getAngVel () const
 Retourne la vitesse angulaire.
 
float getAxleTrack () const
 Retourne l'entraxe utilisée.
 
float getSlippage () const
 Retourne la dérive utilisée.
 
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)
 Calcule la nouvelle position et la nouvelle vitesse. A partir de ses AbstractCodewheel, détermine la nouvelle vitesse instantanée et la nouvelle position.
 
- Fonctions membres protégées hérités de PeriodicProcess
virtual void onProcessEnabling ()
 Méthode exécutée à l'activation du PeriodicProcess.
 
virtual void onProcessDisabling ()
 Méthode exécutée à la désactivation du PeriodicProcess.
 

Attributs protégés

Position m_pos
 
float m_linVel
 
float m_angVel
 
float m_axleTrack
 
float m_slippage
 
AbstractCodewheelm_leftCodewheel
 
AbstractCodewheelm_rightCodewheel
 

Description détaillée

Calcule la position en temps réel du robot.

Auteur
Ulysse Darmet Odometry est un PeriodicProcess qui calcule la position du robot à partir des roues codeuses ( AbstractCodewheel ) .

Documentation des fonctions membres

◆ getAngVel()

float Odometry::getAngVel ( ) const
inline

Retourne la vitesse angulaire.

Rend la dernière vitesse angulaire calculé.

Renvoie
Vitesse angulaire en rad/s.

◆ getAxleTrack()

float Odometry::getAxleTrack ( ) const
inline

Retourne l'entraxe utilisée.

Renvoie
Entraxe en mm.

◆ getLinVel()

float Odometry::getLinVel ( ) const
inline

Retourne la vitesse linéaire.

Rend la dernière vitesse linéaire calculé.

Renvoie
Vitesse lineaire en mm/s.

◆ getPosition()

const Position & Odometry::getPosition ( ) const
inline

Retourne la position.

Retourne sa struc Position avec les dernières positions calculés.

Renvoie
La structure Position.

◆ getSlippage()

float Odometry::getSlippage ( ) const
inline

Retourne la dérive utilisée.

Renvoie
Dérive sans unité.

◆ load()

void Odometry::load ( int address)

Charge les paramètres.

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

Paramètres
addressAdresse à utilisé pour charger les données.

◆ process()

void Odometry::process ( float timestep)
protectedvirtual

Calcule la nouvelle position et la nouvelle vitesse. A partir de ses AbstractCodewheel, détermine la nouvelle vitesse instantanée et la nouvelle position.

Paramètres
timestepTemps depuis le dernier appel de cette méthode en secondes.

Implémente PeriodicProcess.

Voici le graphe d'appel pour cette fonction :

◆ save()

void Odometry::save ( int address) const

Sauvegarde les paramètres.

Sauvegarde les paramètres actuelement utilisés.

Paramètres
addressAdresse à utilisé pour la sauvegarde.

◆ setAxleTrack()

void Odometry::setAxleTrack ( float axleTrack)

Defini une nouvelle entraxe pour les roues codeuses.

Change l'entraxe actuel par celui indiqué en paramètre.

Paramètres
axleTrackNouvelle entraxe en mm.
Voici le graphe d'appel pour cette fonction :

◆ setCodewheels()

void Odometry::setCodewheels ( AbstractCodewheel & leftCodewheel,
AbstractCodewheel & rightCodewheel )
inline

Defini les roues codeuses de Odometry.

Paramètre les pointeurs sur les deux AbstractCodewheel à utiliser pour le calcul d'odométrie.

Paramètres
leftCodewheelAbstractCodewheel de la roue codeuse gauche.
rightCodewheelAbstractCodewheel de la roue codeuse droite.

◆ setPosition()

void Odometry::setPosition ( float x,
float y,
float theta )
inline

Attribut une nouvelle position.

A partir des coordonnées passer en paramètre, attribut les nouvelles coordonnées à sa Position.

Paramètres
xNouvelle coordonnée en x.
yNouvelle coordonnée en y.
thetaNouvelle angle.

◆ setSlippage()

void Odometry::setSlippage ( float slippage)

Defini la nouvelle dérive orthogonal.

Change la dérive orthogonal par celle indiquée en paramètre.

Paramètres
slippageNouvelle dérive orthogonal sans unité et signé.
Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_angVel

float Odometry::m_angVel
protected

Vitesse angulaire en rad/s.

◆ m_axleTrack

float Odometry::m_axleTrack
protected

Entraxe entre les deux roues codeuses.

◆ m_leftCodewheel

AbstractCodewheel* Odometry::m_leftCodewheel
protected

Pointeur de l'AbstractCodewheel gauche.

◆ m_linVel

float Odometry::m_linVel
protected

Vitesse lineaire en mm/s.

◆ m_pos

Position Odometry::m_pos
protected

Structure de position de Odometry.

◆ m_rightCodewheel

AbstractCodewheel* Odometry::m_rightCodewheel
protected

Pointeur de l'AbstractCodewheel droite.

◆ m_slippage

float Odometry::m_slippage
protected

Constante de dérivation othogonal.


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