Ça, c’est un robot footballeur - et avec son équipe, il participe à l’une des compétitions de robotique les plus impressionnantes au monde - la RoboCup.
En 1996, trois scientifiques Hiroaki Kitano, Manuela Maria Veloso et Minoru Asada ont eu l’idée de créer une compétition internationale, où des robots, entièrement autonomes, s’affronteraient dans des matchs de football. L’objectif final étant de construire une équipe capable de battre les champions du monde humains d’ici 2050.
De cette compétition sont nées plusieurs ligues : les humanoïdes - grands - petits, les robots sauveteurs, les juniors, et celle qui nous intéressent, la Small Size League.
Dans la Small Size League, ou SSL, il existe 2 catégories, le 6 contre 6 - et le 11 contre 11.
Les matchs durent 10 minutes et se jouent avec une balle de golf. Chaque équipe doit construire de A à Z ses robots, et doivent ensuite coder leur intelligence pour qu’ils puissent jouer un match en totale autonomie.
Pour se repérer, il y a des caméras au plafond qui filment le terrain, ses images sont analysées par un programme qui les transforme en positions x y (et z pour la balle) grâce aux couleurs flashy qui forment des repères visuels sur le dessus des robots et à la couleur orange de la balle. Ses données sont ensuite envoyées aux équipes pour qu’elles puissent les utiliser dans leur code.
Les robots sont libres d’être construits comme vous le souhaitez, il faut simplement respecter quelques contraintes de dimensions. Malgré cette liberté, toutes les équipes ont convergé vers des modèles similaires car c’est ce qu’il y a de plus précis et rapide.
Un robot possède 4 roues, un kicker, un dribbler, et surtout, pleins de composants super compliqués, on va pas rentrer dans les détails mais globalement il y a une carte mère, qui est connecté à des cartes moteurs, et aussi à des condensateurs qui peuvent être chargés afin de kicker lorsque l’on délivre son énergie
Mais avoir un bon robot ne suffit pas. Pour gagner, il faut aussi une bonne stratégie. Chaque équipe développe son propre algorithme qui détermine comment les robots doivent se déplacer, passer, tirer, tout en ne percutant pas l’adversaire.
Généralement les équipes vont développer un code de base avec un attaquant des defenseurs et un gardian qui lui essaye d’anticiper la trajectoire de la balle. Et la difficulté pour passer au niveau supérieur est de réussir à faire travailler les robots ensemble, pour ça il faut qu’ils apprennent à se faire des passes.
A l’heure actuelle, la meilleure équipe c’est les Tigers, ça fait 4 années de suite qu’ils sont champions du monde, et les Tigers, c’est ça *boom plans de fou sur leurs buts*
Imaginez un instant : des robots capables de doser avec précision la force de leurs passes et de contrôler le ballon comme jamais auparavant. Ces progrès ouvrent la porte à des algorithmes de passes bien plus sophistiqués. Mais alors, où en sommes-nous aujourd’hui ?
Qu’est-ce qui définit une passe ?
À première vue, une passe pourrait se résumer à un simple vecteur reliant une position de départ à une position cible. Mais en réalité, c’est bien plus complexe.
Voici quelques paramètres essentiels qui définissent une passe :
- La vitesse du ballon : à quelle allure la balle doit-elle être envoyée ?
- Le type de passe : lobée ou directe ?
- Le temps d’arrivée : combien de temps faut-il pour que la balle atteigne la cible ?
- La vitesse de réception : comment le robot récepteur doit-il se préparer pour capter la balle ?
Ces éléments permettent de construire une passe non seulement fonctionnelle, mais aussi stratégique.
Stratégies de passe
Le principe d’un algorithme de passe simple, largement utilisé aujourd’hui, consiste à vérifier s’il existe une intersection entre le vecteur (origine, cible) et un robot adverse. Si une telle intersection est détectée, l’algorithme cherche alors une autre cible disponible.
Le problème ? Cet algorithme manque de sophistication. Il ne prend pas en compte la dynamicité d’un match, où les robots adverses sont constamment en mouvement et peuvent intercepter la balle en cours de trajet.
Une approche innovante : les Tigers et leur algorithme avancé
Pour dépasser ces limitations, l’équipe des Tigers a développé un algorithme d’avant-garde, capable de tenir compte de la dynamique du jeu en temps réel. Cet algorithme intègre des paramètres comme les trajectoires prévues des robots adverses et le positionnement optimal pour minimiser les risques d’interception.
Pipeline de passe
Observons la pipeline de passe pour mieux comprendre le processus,
Les deux premières étapes, génération de passes et filtre de passes, sont à peu près ce qu’on a vu pour l’algorithme classique de passe. La différence vient dans l'évaluation de passe et dans la sélection de passe.
Évaluation de passe
Pour l’évaluation de passe, évalue 5 aspects d’une passe:
- Passabilité (si la vitesse de la balle n’est pas assez grande, car les robots ont du mal à faire des passes trop faibles, ou trop fortes pour que le receveur n’est pas de mal à recevoir la balle)
- Pressure (plus la balle est directionnel vers le camp adverse mieux elle est noté)
- Interception (L’interception calcul la probabilité que la passe se fasse intercepté par un robot adverse, en utilisant un algorithme qui prédit les mouvements des robots adverses
- Goal kick (Chance to score a goal from this position after receiving the ball. The rating algorithm relies on the same methods used in the interception rating)
- Redirect goal kick
Sélection de passe
La sélection de passe est un dernier filtre avec 4 phases:
- Redirect (on sélectionne les passes qui ont une meilleur chance de redirection directement la balle dans le but adverse)
- GoalKick (les passes qui ont plus de chances de résulter en buts à long terme)
- pression (les passes avec un meilleur score de pression)
- dernier recours (si aucune passe ressort des 3 phases précédentes, on accepte de faire une passe non optimal)
Bien sûr d’autres solutions sont possibles, comme des algorithmes d’apprentissage par renforcement, mais cela nécessite beaucoup de données et beaucoup de puissance de computation ce qui risque de ralentir le temps de réaction des robots.
Informations
- Josselin Gautier (jogautier@u-bordeaux.fr)
-
- Arnaud Pecher (arpecher@u-bordeaux.fr)
- Nicholas Journet (njournet@u-bordeaux.fr)
- Pierre Ramet (pramet@u-bordeaux.fr)
- 18 mars 2025 21:09
- Conférence
- Français