This repository has been archived by the owner on Oct 25, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Pierre Laclau edited this page Nov 28, 2017
·
32 revisions
- Installation
- Schéma d'architecture
-
asserv
: gère les moteurs d'asservissement et capteurs d'odométrie pour exécuter des requêtes d'exécution de trajectoires venant de ROS. -
others
: gère des requêtes de mouvement venant de ROS pour actionner des servos, moteurs DC, etc. Remonte aussi les données venant des capteurs de la ceinture. -
hmi
: gère un écran et boutons de sélection pour permettre à l'opérateur de sélectionner la stratégie à appliquer et couleur d'équipe avant le début du match.
-
feedback
-
webclient
: serveur web offrant une interface web permettant de contrôler tous les éléments du robot (lancer une simulation, envoyer manuellement des données à un nœud ROS, simuler la jack...). Offre des fonctionnalités de visualisation. -
rviz
: outil ROS de visualization de données. Permet de visuellement voir tout ce que voit et fait le robot en interne, pour comparer son comportement à ce qu'il fait en réel. -
simulator
: permet de faire tourner le système ROS sans robot physique. Simule des entrées de capteurs en comparant la position du robot à la carte connue en interne.
-
-
ai
-
scheduler
: nœud qui décide des ordres à effectuer. Possède un arbre des actions possibles avec des liens de dépendance et prend des décisions dynamiquement en fonction des résultats donnés par les nœuds d'actions. -
scripts
: nœud auxiliaire àai/scheduler
, permettant d'exécuter des enchainements d'actions qui ne seraient pas réalisables avec un simple arbre dansscheduler
. -
timer
: nœud publiant le temps écoulé et restant du match. Publie un message d'avertissement à la fin du match pour enclencher un arrêt total.
-
-
memory
-
map
: sert de base de données des états et positions de tous les objets présents sur la carte (balles cubes, position des murs et obstacles fixes...), ainsi que les états des contenaires de la carte et du robot (combien de balles dans le réservoir à balles du robot, combien de cubes empilés sur la tour n°3...) -
definitions
: stockage de tous les fichiers de définition de tous les autres nœuds. Le nœud répond aux requêtes de demande de fichiers en donnant la version du fichier pour le bon robot (GR ou PR).
-
-
navigation
-
navigator
: nœud qui gère l'exécution d'une trajectoire du robot d'un point A à un point B, en l'adaptant dynamiquement si des collisions ou obstacles sont prévus pendant le mouvement. Commandedrivers/ard_asserv
pour exécuter la trajectoire. -
pathfinder
: grâce à une carte connue, donne une trajectoire possible d'un point A à B en prenant en compte les obstacles connus lorsquenavigation/navigator
le demande. -
collisions
: écoute les données de la ceinture, du lidar et d'autres capteurs pour déterminer s'il va y avoir collision entre le robot en mouvement et un obstacle. Notifienavigation/navigator
quand il y a collision prévue.
-
-
movement
-
actuators
: sert de dispatcher de requêtes d'actions de mouvement (commande de moteurs, servos, glissières... autres que l'asservissement) vers le bon driver connecté au moteur en question à commander.
-
-
perception
-
localizer
: écoute les données de tous les capteurs pour ensuite publier une estimation la plus précise possible de la position du robot.
-
-
processing
-
lidar_objects
: écoute les points bruts du lidar pour reconnaître et publier une listes de segments et cercles trackés au cours du temps. -
belt_interpreter
: écoute les données brutes de la ceinture et interprete si les distances trouvées visent un mur statique de la map ou un objet inconnu.
-
-
drivers
-
lidar
: se connecte au lidar et publie les points bruts. -
imu
: se connecte à la centrale inertielle et publie les données brutes. -
displacement
: se connecte que capteurs de recalage et publie les distances. -
camera
: publie au choix une photo sur demande ou un flux vidéo en continu venant d'une caméra RGB. -
pico_flexx
: se connecte à la caméra ToF et publie le nuage de points 3D brut. -
ax12
: se connecte aux servos AX12 et éxecute les commandes de mouvement reçues depuismovement/actuators
. -
ard_asserv
: se connecte à l'arduino gérant l'asservissement et envoie les requêtes d'action denavigation/navigator
. Retourne le statut de l'asserv et les données d'odométrie. -
ard_others
: se connecte à l'arduino gérant les moteurs et servomoteurs et envoie les requêtes d'action demovement/actuators
. -
ard_hmi
: se connecte à l'arduino gérant l'écran de sélection de stratégie/couleur d'équipe et remonte les informations sélectionnées àai/scheduler
.
-
Wiki UTCoupe 2018, Université de Technologie de Compiègne, France.
Any questions or comments ? Wanna join our team ? Contact us at [email protected]!