Catégories
ROBOCUP

ROBOCUP 2026 Maze

0 Partages

Stratégie de déplacement du robot dans le labyrinthe.

L’objectif est de permettre au robot de se déplacer tout seul dans un labyrinthe, sans se perdre, en utilisant une stratégie simple :

suivre le mur de droite et prendre en priorité les ouvertures à droite.

Principe général : suivre le mur de droite ou de gauche

Le robot imagine qu’il garde toujours sa main droite posée sur un mur.
S’il continue ainsi, il pourra explorer tout le labyrinthe sans rester bloqué.

Pour cela, le robot utilise des capteurs de distance pour savoir s’il y a un mur :

  • devant lui
  • à droite
  • à gauche

Se déplacer dans un couloir en suivant une Ligne imaginaire

Quand le robot est dans un couloir, il ne colle pas au mur :

  • il suit une ligne imaginaire parallèle au mur de droite
  • cette ligne se situe au centre du couloir

Cela permet :

  • d’éviter de toucher les murs
  • d’avancer droit

Le robot ajuste légèrement sa direction pour rester à la même distance du mur de droite et avance jusqu’à la fin du couloir

Dès que le capteur détecte un mur devant :

  • le robot s’arrête
  • cela signifie qu’il est arrivé à la fin du couloir ou à une intersection

Teste et affiche sur l’écran le niveau de batterie :

Si le niveau de batterie est trop faible le comportement du robot devient incohérent.

Quand le capteur ultrasonique n’arrive plus à mesurer, par exemple trop proche d’un mur, la valeur retournée est 300.

Télécharge et teste le robot dans le labyrinthe dans un couloir

Utilise le calcul de trajectoire PID du suivi de ligne :

Télécharge et teste : Le robot va tout droit

Télécharge et teste : Le robot va à droite

Modifie la valeur de kp :

Télécharge et teste : Le robot va à droite mais moins fortement

Télécharge et teste : Le robot va à gauche

Suivi d’une ligne imaginaire au milieu du couloir

On imagine une ligne noire posée au milieu du couloir parallèle au mur droit du couloir. Le robot suit cette ligne en allant de droite à gauche comme pour le suivi d’une ligne noire.

  • largeur du couloir = 30 cm
  • écart de la ligne en prenant en compte la largeur du robot = 9 cm

Détail du suivi de ligne avec le capteur ultrasonique 2 sur le mur droit :

On image une ligne à 9cm (ecart_ligne) de la paroi de droite et d’une largeur de 3 cm. A droite de la ligne le robot tourne à gauche (position = -0.5à, sur la ligne il va tout droit (position = 0), à gauche de la ligne il tourne vers la droite (position = 0.5).

Télécharge et teste un couloir avec un mur à droite tout le long

Elimine les valeurs erronées :

Détail

Télécharge et teste

Essaye de suivre tout le labyrinthe, tourne en bout de couloir

En fonction des possibilités tourne à 90° en bout de couloir soit à droite, soit à gauche ou fait un demi-tour à 180°

Télécharge et teste

Le robot commence à suivre le labyrinthe avec quelques imperfection à corriger;

Problème 1 : le robot est trop proche des parois

Si le capteur ultrasonique de droite ou de gauche détecte une distance trop proche de la paroi, alors le robot recule en changeant de sens de direction pour essayer de se recentrer au milieu du couloir.

Détail pour détecter un rapprochement avec les parois de droite et de gauche :

Problème 2 : le robot reste collé à la paroi

Si le robot ne change pas de position pendant un certain temps, alors on essaye de le décoller de la paroi.

Problème 3 : le robot ne détecte pas toujours la bonne possibilité en fin de couloir

Parfois la mesure par le capteur ultrasonique est erronée. Pour éviter une erreur de direction suit à une mesure, la solution est de prendre plusieurs mesures afin valider la bonne direction à prendre :

Le robot est trop proche de la paroi en fin de couloir, on tente de reculer le robot :

On cumule les mesures pendant 3 secondes toute les 0.5 secondes

Après que le robot a effectué son quart de tour à gauche ou à droite, on vérifie de nouveau si une paroi est présente devant le robot :

Le code complet :

Problème 4 : Lorsque la paroi de droite est inexistante, le robot ne tourne pas suffisamment à droite ou tourne trop fort.

Modifie la valeur de kp :

0 Partages