![]() |
Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
|
Fonctions de convénience pour faire les déplacements facilement. Plus de détails...
#include <functional>#include "WheelMotor.h"#include "Components/Codewheel.h"#include "Components/Odometry.h"#include "Controller/PID.h"#include "Controller/VelocityController.h"#include "Controller/PositionController.h"#include "MoveStrategy/PurePursuit.h"#include "MoveStrategy/TurnOnTheSpot.h"#include <memory>#include "DRV8844.h"#include "Logger.h"

Aller au code source de ce fichier.
Classes | |
| struct | Wheeledbase::WBConstants |
| Défini un certain nombre de constantes et paramètres pour la wheeledbase. Plus de détails... | |
| struct | Wheeledbase::WheeledBase |
| Représente les divers composants de la base roulante. Plus de détails... | |
Espaces de nommage | |
| namespace | Wheeledbase |
| Fonctions de convénience pour faire les déplacements facilement. | |
Macros | |
| #define | SLOWDOWN_FACTOR 0.5 |
| #define | SLOWDOWN_DISTANCE 0 |
| #define | ALIGN_DISTANCE 130 |
Énumérations | |
| enum | Wheeledbase::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 | Wheeledbase::run (WheeledBase *wheeledBase, const std::function< void()> &delayFunc) |
| void | Wheeledbase::disable (const WheeledBase *wheeledBase) |
| Désactive la base roulante. | |
| 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. | |
| void | Wheeledbase::setOpenloopVelocities (WheeledBase *wheeledBase, float leftWheelVel, float rightWheelVel) |
| Définit les vitesses en boucle ouverte pour les roues. | |
| void | Wheeledbase::getCodewheelsCounters (WheeledBase *wheeledBase, float *leftCodewheelCounter, float *rightCodewheelCounter) |
| Récupère les compteurs des roues codeuses. | |
| void | Wheeledbase::setVelocities (WheeledBase *wheeledBase, float linVelSetpoint, float angVelSetpoint) |
| Fixe une vitesse linéaire et angulaire pour la base roulante. | |
| void | Wheeledbase::resetPurepursuit (WheeledBase *wheeledBase, PurePursuit *purePursuit) |
| Réinitialise le purepursuit. | |
| void | Wheeledbase::addPurepursuitWaypoint (PurePursuit *purePursuit, float x, float y) |
| Ajoute un waypoint au purepursuit. | |
| void | Wheeledbase::startPurepursuit (WheeledBase *wheeledBase, PurePursuit *purePursuit, PurePursuit::Direction direction, float finalAngle) |
| Démarre le purepursuit. | |
| void | Wheeledbase::startTurnonthespot (WheeledBase *wheeledBase, TurnOnTheSpot *turnOnTheSpot, bool dir, float theta) |
| démarre turn on the spot | |
| 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 | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| void | Wheeledbase::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 | Wheeledbase::positionReached (const WheeledBase *wheeledBase) |
| Est-ce que la position est atteinte ? | |
| void | Wheeledbase::getVelocitiesWanted (const WheeledBase *wheeledBase, float *linOutput, float *angOutput, bool spin=true) |
| Récupère les vitesses linéaire et angulaire souhaitées. | |
| void | Wheeledbase::setPosition (WheeledBase *wheeledBase, const Position *pos) |
| Met à jour la position de l'odométrie. | |
| const Position * | Wheeledbase::getPosition (const WheeledBase *wheeledBase) |
| Récupère la position de l'odométrie. | |
| void | Wheeledbase::getVelocities (const WheeledBase *wheeledBase, float *linVel, float *angVel) |
| Récupère les vitesses linéaire et angulaire actuelles. | |
| void | Wheeledbase::setParameterValue (WheeledBase *wheeledBase, PurePursuit *purePursuit, WBParameterID paramID, float value) |
| Met un paramètre de la base roulante à jour. | |
| float | Wheeledbase::getParameterValue (const WheeledBase *wheeledBase, const PurePursuit *purePursuit, WBParameterID paramID) |
| Récupère la valeur d'un paramètre de la base roulante. | |
| void | Wheeledbase::printParams (const WheeledBase *wheeledBase, const PurePursuit *purePursuit) |
| Affiche les paramètres de la base roulante. | |
Variables | |
| auto | Wheeledbase::wb_logger = Logger("WHEELEDBASE") |
| Le logger pour la base roulante. | |
Fonctions de convénience pour faire les déplacements facilement.