Programmation du robot
La programmation est un élément central du fonctionnement du robot. Elle permet de coordonner tous les sous-systèmes — actionneurs, capteurs, déplacement et communication — pour assurer un comportement autonome, réactif et stratégique durant les matchs de la Coupe de France de Robotique.
L’ensemble du programme est exécuté sur un ESP32-S3, un microcontrôleur puissant et polyvalent, capable de gérer à la fois des tâches de bas niveau (contrôle des moteurs, lecture de capteurs) et des communications sans fil. Ce microcontrôleur est intégré dans un circuit imprimé personnalisé, conçu pour connecter l’ensemble des composants électroniques du robot (cette partie est détaillée dans une section spécifique).
Côté logiciel, une attention particulière a été portée à la modularité du code. Le programme est structuré autour de classes C++, chacune dédiée à un sous-système ou une fonction précise du robot. Cette approche orientée objet permet une meilleure organisation du code, une plus grande lisibilité, et facilite la maintenance ainsi que les évolutions du système.
La stratégie principale, les comportements réactifs, et les interactions entre les modules sont gérés depuis un fichier central qui orchestre les appels aux différentes classes selon les événements détectés sur le terrain.
Cette section est organisée en quatre sous-parties, qui détaillent chacune les aspects fondamentaux de cette architecture logicielle :
-
Le déplacement – Pilotage des roues mécanum, permettant un mouvement omnidirectionnel complexe.
-
Les capteurs – Intégration d’un capteur LIDAR utilisé pour détecter la présence d’un robot adverse.
-
Les actionneurs – Contrôle des mécanismes motorisés, principalement via des servomoteurs.
-
La communication inter-robot – Utilisation du protocole ESP-NOW pour un échange de données sans fil entre robots.
-
La stratégie – Système de déroulement des actions effectuées les unes à la suite des autres.
L’objectif de cette partie de la documentation est de donner une vision claire de l’architecture logicielle mise en place, des choix techniques qui l’ont motivée, et des défis rencontrés lors du développement.