![]() |
Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
|
Fonctions de convénience pour faire les déplacements facilement. Plus de détails...
Classes | |
| struct | WBConstants |
| Défini un certain nombre de constantes et paramètres pour la wheeledbase. Plus de détails... | |
| struct | WheeledBase |
| Représente les divers composants de la base roulante. Plus de détails... | |
Énumérations | |
| enum | WBParameterID : uint8_t { WBPID_LEFTWHEEL_RADIUS_ID , WBPID_LEFTWHEEL_CONSTANT_ID , WBPID_LEFTWHEEL_MAXPWM_ID , WBPID_RIGHTWHEEL_RADIUS_ID , WBPID_RIGHTWHEEL_CONSTANT_ID , WBPID_RIGHTWHEEL_MAXPWM_ID , WBPID_LEFTCODEWHEEL_RADIUS_ID , WBPID_LEFTCODEWHEEL_COUNTSPERREV_ID , WBPID_RIGHTCODEWHEEL_RADIUS_ID , WBPID_RIGHTCODEWHEEL_COUNTSPERREV_ID , WBPID_ODOMETRY_AXLETRACK_ID , WBPID_ODOMETRY_SLIPPAGE_ID , WBPID_VELOCITYCONTROL_AXLETRACK_ID , WBPID_VELOCITYCONTROL_MAXLINACC_ID , WBPID_VELOCITYCONTROL_MAXLINDEC_ID , WBPID_VELOCITYCONTROL_MAXANGACC_ID , WBPID_VELOCITYCONTROL_MAXANGDEC_ID , WBPID_VELOCITYCONTROL_SPINSHUTDOWN_ID , WBPID_LINVELPID_KP_ID , WBPID_LINVELPID_KI_ID , WBPID_LINVELPID_KD_ID , WBPID_LINVELPID_MINOUTPUT_ID , WBPID_LINVELPID_MAXOUTPUT_ID , WBPID_ANGVELPID_KP_ID , WBPID_ANGVELPID_KI_ID , WBPID_ANGVELPID_KD_ID , WBPID_ANGVELPID_MINOUTPUT_ID , WBPID_ANGVELPID_MAXOUTPUT_ID , WBPID_POSITIONCONTROL_LINVELKP_ID , WBPID_POSITIONCONTROL_ANGVELKP_ID , WBPID_POSITIONCONTROL_LINVELMAX_ID , WBPID_POSITIONCONTROL_ANGVELMAX_ID , WBPID_POSITIONCONTROL_LINPOSTHRESHOLD_ID , WBPID_POSITIONCONTROL_ANGPOSTHRESHOLD_ID , WBPID_PUREPURSUIT_LOOKAHED_ID , WBPID_PUREPURSUIT_LOOKAHEADBIS_ID } |
| Des identifiants permettant d'accéder à la plupart des paramètres de la base roulante. | |
Fonctions | |
| void | run (WheeledBase *wheeledBase, const std::function< void()> &delayFunc) |
| void | disable (const WheeledBase *wheeledBase) |
| Désactive la base roulante. | |
| void | gotoDelta (WheeledBase *wheeledBase, PurePursuit *purePursuit, float dx, float dy, bool bloquant=true) |
| Déplace la base roulante d'une certaine distance dans le référentiel du robot. | |
| void | setOpenloopVelocities (WheeledBase *wheeledBase, float leftWheelVel, float rightWheelVel) |
| Définit les vitesses en boucle ouverte pour les roues. | |
| void | getCodewheelsCounters (WheeledBase *wheeledBase, float *leftCodewheelCounter, float *rightCodewheelCounter) |
| Récupère les compteurs des roues codeuses. | |
| void | setVelocities (WheeledBase *wheeledBase, float linVelSetpoint, float angVelSetpoint) |
| Fixe une vitesse linéaire et angulaire pour la base roulante. | |
| void | resetPurepursuit (WheeledBase *wheeledBase, PurePursuit *purePursuit) |
| Réinitialise le purepursuit. | |
| void | addPurepursuitWaypoint (PurePursuit *purePursuit, float x, float y) |
| Ajoute un waypoint au purepursuit. | |
| void | startPurepursuit (WheeledBase *wheeledBase, PurePursuit *purePursuit, PurePursuit::Direction direction, float finalAngle) |
| Démarre le purepursuit. | |
| void | startTurnonthespot (WheeledBase *wheeledBase, TurnOnTheSpot *turnOnTheSpot, bool dir, float theta) |
| démarre turn on the spot | |
| void | startTurnonthespotDir (const WheeledBase *wheeledBase, TurnOnTheSpot *turnOnTheSpot, TurnOnTheSpot::Direction dir, float theta) |
| démarre turn on the spot mais avec moins de magie dans la direction de rotation | |
| void | purepursuit (WheeledBase *wheeledBase, PurePursuit *purePursuit, const Position **waypoints, uint16_t nb_waypoints, PurePursuit::Direction dir, float finalAngle) |
| Démarre purepursuit ? honnêtement jsp trop. | |
| void | wbGoto (WheeledBase *wheeledBase, PurePursuit *purePursuit, Position *pos, bool alignFirst=true, PurePursuit::Direction dir=PurePursuit::NONE, bool bloquant=true) |
| Va à un point en utilisant purepursuit. | |
| void | gotoWaypoints (WheeledBase *wheeledBase, PurePursuit *purePursuit, bool alignFirst=true, PurePursuit::Direction dir=PurePursuit::NONE, int nb_waypoints=1,...) |
| Suit une liste de waypoint en utilisant purepursuit. | |
| void | gotoWaypointsArray (WheeledBase *wheeledBase, PurePursuit *purePursuit, Position *positions[], bool alignFirst=true, PurePursuit::Direction dir=PurePursuit::NONE, int nb_waypoints=1) |
| Suit une liste de waypoint en utilisant purepursuit mais sans les varargs. | |
| void | gotoFunct (WheeledBase *wheeledBase, PurePursuit *purePursuit, TurnOnTheSpot *turnOnTheSpot, Position *pos, void *duringMovingFunct, void *approachFunct, bool alignFirst=true, PurePursuit::Direction dir=PurePursuit::NONE, float finalAngle=MAXFLOAT) |
| Honnêtement aucune idée de ce que fait cette fonction. | |
| uint8_t | positionReached (const WheeledBase *wheeledBase) |
| Est-ce que la position est atteinte ? | |
| void | getVelocitiesWanted (const WheeledBase *wheeledBase, float *linOutput, float *angOutput, bool spin=true) |
| Récupère les vitesses linéaire et angulaire souhaitées. | |
| void | setPosition (WheeledBase *wheeledBase, const Position *pos) |
| Met à jour la position de l'odométrie. | |
| const Position * | getPosition (const WheeledBase *wheeledBase) |
| Récupère la position de l'odométrie. | |
| void | getVelocities (const WheeledBase *wheeledBase, float *linVel, float *angVel) |
| Récupère les vitesses linéaire et angulaire actuelles. | |
| void | setParameterValue (WheeledBase *wheeledBase, PurePursuit *purePursuit, WBParameterID paramID, float value) |
| Met un paramètre de la base roulante à jour. | |
| float | getParameterValue (const WheeledBase *wheeledBase, const PurePursuit *purePursuit, WBParameterID paramID) |
| Récupère la valeur d'un paramètre de la base roulante. | |
| void | printParams (const WheeledBase *wheeledBase, const PurePursuit *purePursuit) |
| Affiche les paramètres de la base roulante. | |
| void | goto_delta (WheeledBase *wheeledBase, PurePursuit *purePursuit, float dx, float dy, bool bloquant) |
Variables | |
| auto | wb_logger = Logger("WHEELEDBASE") |
| Le logger pour la base roulante. | |
Fonctions de convénience pour faire les déplacements facilement.
| void Wheeledbase::addPurepursuitWaypoint | ( | PurePursuit * | purePursuit, |
| float | x, | ||
| float | y ) |
Ajoute un waypoint au purepursuit.
| purePursuit | Le purpursuit |
| x | la position x du waypoint |
| y | la position y du waypoint |


| void Wheeledbase::disable | ( | const WheeledBase * | wheeledBase | ) |
Désactive la base roulante.
| wheeledBase | La base roulante |

| void Wheeledbase::getCodewheelsCounters | ( | WheeledBase * | wheeledBase, |
| float * | leftCodewheelCounter, | ||
| float * | rightCodewheelCounter ) |
Récupère les compteurs des roues codeuses.
| wheeledBase | La base roulante |
| leftCodewheelCounter | Le pointeur vers le compteur de la roue codeuse gauche |
| rightCodewheelCounter | Le pointeur vers le compteur de la roue codeuse droite |

| float Wheeledbase::getParameterValue | ( | const WheeledBase * | wheeledBase, |
| const PurePursuit * | purePursuit, | ||
| WBParameterID | paramID ) |
Récupère la valeur d'un paramètre de la base roulante.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| paramID | L'ID du paramètre |


| const Position * Wheeledbase::getPosition | ( | const WheeledBase * | wheeledBase | ) |
Récupère la position de l'odométrie.
| wheeledBase | La base roulante |


| void Wheeledbase::getVelocities | ( | const WheeledBase * | wheeledBase, |
| float * | linVel, | ||
| float * | angVel ) |
Récupère les vitesses linéaire et angulaire actuelles.
| wheeledBase | La base roulante |
| linVel | La variable dans laquelle la vitesse linéaire sera retournée |
| angVel | La variable dans laquelle la vitesse angulaire sera retournée |

| void Wheeledbase::getVelocitiesWanted | ( | const WheeledBase * | wheeledBase, |
| float * | linOutput, | ||
| float * | angOutput, | ||
| bool | spin = true ) |
Récupère les vitesses linéaire et angulaire souhaitées.
| wheeledBase | La base roulante |
| linOutput | La variable dans laquelle la vitesse linéaire sera retournée |
| angOutput | La variable dans laquelle la vitesse angulaire sera retournée |
| spin | Est-ce que les roues patinent ? |

| void Wheeledbase::gotoDelta | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| float | dx, | ||
| float | dy, | ||
| bool | bloquant = true ) |
Déplace la base roulante d'une certaine distance dans le référentiel du robot.
| wheeledBase | La base roulante |
| purePursuit | Le contrôleur de poursuite pure |
| dx | La distance à parcourir sur l'axe des x |
| dy | La distance à parcourir sur l'axe des y |
| bloquant | Indique si l'opération doit être bloquante |
| void Wheeledbase::gotoWaypoints | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| bool | alignFirst = true, | ||
| PurePursuit::Direction | dir = PurePursuit::NONE, | ||
| int | nb_waypoints = 1, | ||
| ... ) |
Suit une liste de waypoint en utilisant purepursuit.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| alignFirst | On s'aligne d'abord ? |
| dir | La direction |
| nb_waypoints | Le nombre de points de passage |
| ... | Les points de passage |
ON ENREGISTRE LA DERNIERE POS

| void Wheeledbase::gotoWaypointsArray | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| Position * | positions[], | ||
| bool | alignFirst = true, | ||
| PurePursuit::Direction | dir = PurePursuit::NONE, | ||
| int | nb_waypoints = 1 ) |
Suit une liste de waypoint en utilisant purepursuit mais sans les varargs.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| positions | Les waypoints |
| alignFirst | On s'aligne d'abord ? |
| dir | La direction |
| nb_waypoints | Le nombre de points de passage |
ON ENREGISTRE LA DERNIERE POS

| uint8_t Wheeledbase::positionReached | ( | const WheeledBase * | wheeledBase | ) |
Est-ce que la position est atteinte ?
| wheeledBase | La base roulante |


| void Wheeledbase::printParams | ( | const WheeledBase * | wheeledBase, |
| const PurePursuit * | purePursuit ) |
Affiche les paramètres de la base roulante.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |

| void Wheeledbase::purepursuit | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| const Position ** | waypoints, | ||
| uint16_t | nb_waypoints, | ||
| PurePursuit::Direction | dir, | ||
| float | finalAngle ) |
Démarre purepursuit ? honnêtement jsp trop.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| waypoints | Les points de passage |
| nb_waypoints | Le nombre de points de passage |
| dir | La direction du mouvement |
| finalAngle | L'angle final |


| void Wheeledbase::resetPurepursuit | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit ) |
Réinitialise le purepursuit.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit à réinitialiser |


| void Wheeledbase::setOpenloopVelocities | ( | WheeledBase * | wheeledBase, |
| float | leftWheelVel, | ||
| float | rightWheelVel ) |
Définit les vitesses en boucle ouverte pour les roues.
| wheeledBase | La base roulante |
| leftWheelVel | La vitesse de la roue gauche |
| rightWheelVel | La vitesse de la roue droite |

| void Wheeledbase::setParameterValue | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| WBParameterID | paramID, | ||
| float | value ) |
Met un paramètre de la base roulante à jour.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| paramID | L'ID du paramètre |
| value | La nouvelle valeur |


| void Wheeledbase::setPosition | ( | WheeledBase * | wheeledBase, |
| const Position * | pos ) |
Met à jour la position de l'odométrie.
| wheeledBase | La base roulante |
| pos | La nouvelle position |

| void Wheeledbase::setVelocities | ( | WheeledBase * | wheeledBase, |
| float | linVelSetpoint, | ||
| float | angVelSetpoint ) |
Fixe une vitesse linéaire et angulaire pour la base roulante.
| wheeledBase | La base roulante |
| linVelSetpoint | La consigne de vitesse linéaire |
| angVelSetpoint | La consigne de vitesse angulaire |

| void Wheeledbase::startPurepursuit | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| PurePursuit::Direction | direction, | ||
| float | finalAngle ) |
Démarre le purepursuit.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| direction | La direction du mouvement |
| finalAngle | L'angle final |


| void Wheeledbase::startTurnonthespot | ( | WheeledBase * | wheeledBase, |
| TurnOnTheSpot * | turnOnTheSpot, | ||
| bool | dir, | ||
| float | theta ) |
démarre turn on the spot
| wheeledBase | La base roulante |
| turnOnTheSpot | Le contrôleur turn on the spot |
| dir | La direction du tour |
| theta | L'angle du tour |


| void Wheeledbase::startTurnonthespotDir | ( | const WheeledBase * | wheeledBase, |
| TurnOnTheSpot * | turnOnTheSpot, | ||
| TurnOnTheSpot::Direction | dir, | ||
| float | theta ) |
démarre turn on the spot mais avec moins de magie dans la direction de rotation
| wheeledBase | La base roulante |
| turnOnTheSpot | Le contrôleur turn on the spot |
| dir | La direction du tour |
| theta | L'angle du tour |

| void Wheeledbase::wbGoto | ( | WheeledBase * | wheeledBase, |
| PurePursuit * | purePursuit, | ||
| Position * | pos, | ||
| bool | alignFirst = true, | ||
| PurePursuit::Direction | dir = PurePursuit::NONE, | ||
| bool | bloquant = true ) |
Va à un point en utilisant purepursuit.
| wheeledBase | La base roulante |
| purePursuit | Le purepursuit |
| pos | La destination |
| alignFirst | On s'aligne d'abord ? |
| dir | La direction |
| bloquant | Est-ce que la fonction doit bloquer jusqu'à la fin du mouvement |
