Nous détaillerons bientôt le programme de la Coupe de France, mais faisons une introduction en douceur en présentant le programme de démo utilisé pour la Fête de la Science 2008.
Le robot évoluera sur un terrain différent : il aura des dimensions réduites (1,15 mètre sur 2,37 mètres) et ne comportera qu’un seul distributeur de balles situé au milieu du bord court.
Il n’y aura aucune balle de floorball sur le terrain et les balles de couleur rouge, blanche ou bleu récupérées dans le distributeur devront être envoyées dans des paniers de l’autre côté du terrain.
Nos démonstrations durent plusieurs journées sans interruption. Il est donc intéressant de supprimer l’arrêt automatique du robot pour qu’il soit autonome et effectue des cycles de démo toutes les minutes.
Préparation
Avant de commencer à coder, il faut réunir toutes les informations nécessaires :
le référentiel utilisé : axes et angles
les dimensions du robot
la stratégie à implémenter
Référentiel géométrique
Comme d’habitude, nous choisirons un repère orthonormé direct. L’unité sera le millimètre (mm). L’axe des X suit le petit côté tandis que l’axe des Y suivra les grand côtés.
Le choix de l’origine est particulier. Ce ne sera pas comme d’habitude le centre du terrain (ce qui est intéressant pour les symétries)
Nous utilisons deux angles sur le robot : la direction du robot et l’angle de rotation à exécuter. Dans les deux cas, l’utilisation d’un repère orthonormé direct définit le signe des angles : positif dans le sens trigonométrique (de l’axe X vers l’axe Y ou encore anti-horaire ou CCW, counter-clock-wise).
Les dimensions du robot
Le robot est lui-même. Nous effectuerons des mesures permettant de définir la distance séparant chacun des bords du robot du centre de rotation. En effet, la position du robot sur le terrain est celle de son centre de rotation, ce qui permet de garder les mêmes coordonnées lorsque le robot tourne sur lui-même. Bien entendu ce n’est qu’une convention et il aurait été possible de définir un autre système de coordonnées (comme le centre de la pince ou celui du lanceur de balles).
La stratégie à implémenter
Notre démonstration va consister à faire des déplacements typiques d’un robot de Coupe :
- manipulation d’objets : prise d’une balle et lancement
- déplacements précis : "docking" (accostage d’un distributeur)
- recalage sur un mur
La stratégie consiste à montrer en un minimum de temps (suffisant pour pouvoir faire des explications à voix haute au public, ce qui expliquera la vitesse relative du robot... *rires*) toutes ses possibilités, en attrapant les balles du distributeur et les trier rouge, blanc et bleu dans les paniers, en effectuant une identification de la couleur, un déplacement jusqu’au panier et un tir balistique.
Le déroulement des opérations est donc le suivant :
- démarrer le robot
- avancer et se recaler sur un mur
- approcher le distributeur et accoster
- prendre une balle
- si une balle est là, en prendre une seconde
- si aucune balle n’a été attrapée, retenter
- si toujours aucune balle, revenir à la position de départ et attendre 1 minute
- si le robot a au moins une balle (pas de test de la seconde possible), parcourir le terrain vers les paniers
- analyser la couleur et s’orienter selon le panier à viser
- lancer la balle dans le bon panier
- revenir à la position de départ et attendre une minute
Il s’agit ici de ce qu’il faut faire, pas comment le faire. Chacune de ces opérations va donc être décomposée pour utiliser les véritables opérations du robot. On passe alors à la phase de réalisation. Mais avant, un rappel du fonctionnement de nos programmes pour robots.
