La stratégie

Pour gagner un match, notre robot devait remporter le plus de points. Il avait pour cela deux possibilités : renverser les quilles de l'adversaire et relever ses propres quilles. Renverser les quilles adverses rapportait plus de points (1 point par quille renversée, pour 1 point par paire de quilles relevées). Nous avons finalement adopté une stratégie mettant en œuvre les deux types d'actions. Mais la plupart des équipes présentes à la coupe n'avaient pas implémenté de systèmes de relevage de quilles.

Renverser les quilles adverses

Les deux robots partaient chacun à un bout du terrain. Pour renverser les quilles adverses, ils devaient donc franchir le fossé grce à deux ponts placés aléatoirement en début de chaque match et/ou utiliser un lanceur de balles (les quilles étaient également placées aléatoirement). Nous avons décidé de réaliser un lanceur et de développer parallèlement une technique de reconnaissance des ponts basée sur la détection des couleurs. Après quelques tests, notre lanceur s'est avéré trop faible pour lancer des balles de squash de l'autre cté du terrain, nous avons donc rapidement abandonné l'idée du lanceur pour se focaliser exclusivement sur la traversée des ponts.


Photo du pont vu de la Web Cam

Les fossés étant facilement détectables de par leur couleur bleue (les ponts étaient de couleur sable, le terrain quadrillé en beige et brun), il a été possible de détecter la position des ponts par traitement de photos prises à des instants précis. Nous avons pour cela utilisé une Web Cam située en haut de la face avant du robot, pour avoir un angle de vue le plus large possible. La prise de photos était réalisée avant tout déplacement pour une netteté maximale.

Après avoir traversé le pont, le robot ouvrait un "bras" sur le cté, situé à hauteur de quilles. Notre première idée était de contourner au plus près les quilles adverses, le bras se chargeant de les bousculer. Au cours des matchs, cette stratégie a été modifiée : le robot, imprécis dans ses mouvements, se heurtait trop souvent aux socles situés sous les quilles. à une trajectoire "tournant" autour des quilles adverses, nous avons préféré une trajectoire "aléatoire". Mais le rle du bras n'a jamais été modifié.


Sratégie vu par notre module de simulation

Relever nos quilles

La seconde partie de notre stratégie concernait le relevage de quilles. La principale difficulté était de ne pas renverser les quilles encore debout. Il s'agissait donc de repérer assez précisément d'une part la position des quilles sur le terrain, d'autre part l'état de ces quilles (c'est-à-dire debout ou couchée: il ne fallait pas essayer de relever une quille déjà debout). Nous avons utilisé pour cela le traitement de photos prises par la Web Cam : cette technique étant déjà utilisée pour la détection des ponts, elle était la plus simple à adapter pour la détection des quilles (basée sur la différence de couleurs).

Le robot devait revenir dans son propre camp, en traversant le deuxième pont, s'arrter au milieu de ce pont pour prendre une photo "globale" des quilles et ainsi déterminer leurs positions sur le terrain. Il devait ensuite s'approcher de ces positions (l'une après l'autre). Là, le robot déterminait la position debout ou couchée de la quille en prenant une photo avec une autre Web Cam orientée différemment de celle utilisée pour la détection des ponts et des quilles.


Photo d'un groupe de quilles vu de la Web Cam

Si la quille était détectée couchée, le robot sortait un deuxième bras situé sur l'avant, et descendait des électro-aimants chargés d'accrocher la quille. En effet, les quilles étaient montées sur trois vis qui formaient les "pieds" ; il était assez "naturel" d'imaginer un système simple aimantant les quilles tombées. La quille était ensuite "remontée" puis déposée à un endroit précis du terrain o les risques de rencontrer le robot adverse étaient faibles. Si la quille était détectée "debout", le robot s'éloignait et passait à la quille suivante.

Cette importante partie a été abandonnée pendant la coupe : les électro-aimants utilisés se sont avérés trop peu puissants pour les quilles, légèrement différentes de celles que nous avions construites, et du fait des imprécisions de déplacement non résolues, il est aussi probable que le robot aurait manqué de temps (en 1'30 min, il est difficile de traverser le pont deux fois).