Projet 2008


En 2008 le but était de ramener des traces de vie de la planete Mars.


La table de jeu


 

Cette année, les robots doivent rechercher des preuves de vie sur la planète Mars. Les échantillons de roche contenant potentiellement des organismes vivants sont représentés par des balles bleues ou rouges. Pour être ramenés sur Terre en toute sûreté, ces échantillons doivent être conservés dans des conditions semblables à celle de leur zone de collecte, et donc à très basse température. Deux types de conteneurs sont prévus à cet effet : deux conteneurs réfrigérés dans lesquels les échantillons peuvent être stockés tels quels, et un conteneur standard dans lequel les échantillons doivent être préservés avec de la glace, représentée par des balles blanches.
Les matchs font s'opposer deux équipes, chacune avec un seul robot. Ils durent 90 secondes.

Chaque équipe se voit attribuer une couleur, rouge ou bleue. Elle dispose d'une zone de départ colorée à l'identique, située dans l'un des angles arrière de la table. Les zones d'exploration dans lesquelles les robots peuvent collecter des échantillons et de la glace sont représentées par des distributeurs de balles verticaux et horizontaux.

Chaque robot doit collecter des échantillons contenant potentiellement des organismes vivants, et soit les projeter dans le conteneur réfrigéré (situé en hauteur), soit les déposer dans le conteneur standard. Celui-ci est situé le long du bord avant de la table, chaque équipe ayant une moitié lui étant attribuée comme zone de marquage. Le robot doit ensuite retourner vers les zones d'exploration afin de ramener d'autres échantillons. Les échantillons déposés dans le conteneur standard doivent être préservés dans la glace. Le robot marquera des points additionnels chaque fois qu'une balle de sa couleur (représentant un échantillon) sera encadrée par deux balles blanches (représentant la glace).

Les robots ont également la possibilité de déplacer, insérer ou retirer des échantillons ou de la glace depuis le conteneur standard afin de modifier le score en leur faveur

Stratégie pour le marquage de points

Nous nous sommes basé sur 1 seule stratégie :
réaliser 2 voyages jusqu’au conteneur standard.
1er voyage : 3 balles blanches et 2 de notre couleur
2ème voyage : 2 balles blanches et 3 de notre couleur

total des points maximum estimé : 27 points


Plan de match :

-         avaler 3 balles blanches dans le distributeur vertical

-         avaler 2 balles de notre couleur dans le distributeur vertical

-         déposer les balles dans le conteneur standard sous forme de suite

-         avaler 2 balles blanches dans le distributeur vertical

-         avaler 3 balles de notre couleur dans le distributeur vertical

-         déposer les balles dans le conteneur standard sous forme de suite

estimation de points : environ 27 points ( en projet)

Si le temps nous le permet le robot peut effectuer un troisième voyage afin de gober une balle blanche ce qui nous rapporterai 4 points de plus (total de 31 points)


Description technique :


 

Déplacement du robot :

Moteur MDP, la vitesse du robot est inconnue car le robot est encours de réalisation, le système est asservi en vitesse et déplacement grâce à 2 codeurs incrémentaux 5000 pas.

Source d’énergie :

Energie électrique 12V continue, autonomie environ 10 matchs, un deuxième pack est constamment chargé pour un changement rapide.

Gestion des balles :

Les balles sont avalées (si le nombre de balle est inférieur ou égale à 5)  dans les conteneurs verticaux par 2 rouleaux positionnés à l’arrière du robot. Dans le robot, elles montent grace à un ascenseur, durant leur montées, elles sont identifié par leur couleur et ainsi dirigé vers un magasin vertical (pour les balles nous concernant, les balles de l adversaire sont immédiatement rejetées par une trappe).

Il y a 2 magasin dans le robot un pour les balles blanches, et un pour les balles de la couleur nous concernant. Chaque magasin peut contenir 3 balles. Nous utilisons notre détection de couleur comme compteur et pouvons décidé d’éjecter une balle intéressante si le magasin est plein ou si le nombre de balle est égale à 5.

La dépose des balles se fait une par une dans le conteneur standard (une blanche puis une couleur puis une blanche et ainsi de suite ), ce qui nous fera donc réaliser plusieurs suite consécutive et donc marquer les fameux points de bonus.

Si le temps nous le permet nous ferons un voyage sur le terrain et avalerons les balles sur notre trajectoire à l’aide d une pelle qui se déploiera uniquement pour cette phase de jeu.

Nous ne déposons aucune balle dans le conteneur réfrigéré.

Description du stockage :

Les balles sont stockées en hauteur dans 2 magasins verticaux, chacun acceptant 3 balles maximum. (voir chapitre précédent concernant la gestion des balles et de leur nombre)
Nous en stockerons donc 5 au maximum, afin de respecter le règlement.

Description du système d’évitement adverse :

Nous utilisons 4 capteur ultrasons positionnés à 90° sous le support de balise dans la zone disponible. Avec ce système nous détectons un robot adverse au minimum à 35 mm en avant de notre robot.

Capteurs :

interne au robot :
2 codeur 5000 pas afin d’asservir notre robot
2 télémètre IR servant de barrage
1 capteur couleur afin d’identifier les différentes balles

externe au robot :
4 ultrason afin de réaliser notre système anti-collision

Laser :

Nous n’utilisons pas de laser.

Positionnement du robot sur le terrain :

Notre robot utilise un asservissement réalisé à l’aide de 2 codeur 5000 pas en contact avec le sol grâce à une roue folle.

Electronique

Cette année, nous avons décidé d’utiliser de la technologie « Russe ». Fort de notre expérience des années précédentes (pont en H brûlés, surchauffe engendrant une coupure des régulateurs, …) nous nous devions de travailler avec du matériel robuste.

L’électronique est donc alimenté par des régulateurs 7 ampères. Des tests feu ont été réalisés dessus. Un test tension inversé a également été réalisé.

L’intelligence de la « bête » est supporté par trois PIC de chez microchip. Deux PIC (PIC secondaires) permettent de commander les moteurs et de gérer l’asservissement de vitesse du robot.

Les commandes de puissance des moteurs sont gérés par des ponts en H L298N. Ces ponts en H on été testés et éprouvé les années précédentes. Ceci nous permet d’être sereins concernant le déplacement du robot. Nous avons embarqué deux codeurs incrémentaux (Fournis par la société VICATRONIC) dans le robot. Des entrées de quadrature sur les PIC secondaires permettent de récupérer la distance et le sens de déplacement du robot.

Le troisième PIC (PIC principal) permet de gérer la machine d’état et la régulation de position. Pour la partie capteur, des entrées analogiques et numériques sont gérés par le PIC principal. Finalement, tout ce petit monde discute par des liaisons RS232 cadencés à 125000 bauds.  




Informatique

Le robot est commandé par trois microcontrôleurs qui communiquent entre eux par deux liaisons série. Il y a un maître (PIC 18F6722) qui exécute le programme principal et deux esclaves (PID 18F2431) qui agissent suivant les ordres du maître. Le programme principal développé en langage C (respectant les normes de codage MISRA C) avec un OS temps réel gérant 5 taches : la tache principale est une machine d'état qui prend les décisions stratégiques du robot (ce que doit faire le robot), une autre sert à la détection et à l'évitement de robot adverse. La troisième sert à l'asservissement de position du robot, c'est la tache qui va donner des ordres aux deux microcontrôleurs esclaves qui eux effectuent l'asservissement en vitesse des deux roues du robot. La quatrième tache sert à commander les entrées et sorties (I/O) et sert aussi à la gestion   des balles dans le robot. La dernière tache enfin sert à la communication avec les deux microcontrôleurs (driver UART) esclaves qui vont soit appliquer une consigne d'asservissement de vitesse, soit commander des entrées et sorties (I/O) du robot (ex : électro-aimant, LED, moteurs, etc)

Les programmes (Softs) ont été développés et codés en langage C (MISRA C) à l’aide du logiciel MPLAB MCC18 de Microchip. Le Pic Principal est munie d’un OS temps réel PICOS18. L’ensemble des programmes ont été développé pour la majorité en  « Xtreme Programming » !

La première étape a été la réalisation d’un asservissement de vitesse sur deux Pics esclaves 18F2431 dédiés à la commande des moteurs ainsi qu’à la communication inter-cpu série RS232.  Pour pouvoir réaliser l'asservissement de vitesse nous avons utilisé un asservissement une correction de  type PI (Proportionnel Intégral). Pour réaliser ce correcteur PI nous avons utilisé des codeurs et des moteurs à courant continu.

La seconde partie du développement informatique a été axée sur le développement de la commande des entrées/sorties reliées au Pic principal ainsi que le programme principal final permettant au robot de réaliser les différentes taches nécessaires pour marquer des points.

En ce qui concerne la stratégie, nous avons réalisé une machine à états permettant au robot, suivant sa position et les événements extérieurs, d'effectuer les différentes étapes et opérations pour marquer des points.


Bilan

Homologation: le robot a été homologué statiquement le mercredi de la coupe.

Nous avons ensuite travaillé sur le robot durant 36 heures sans une seule pause pour certains membres de l'équipe.
Nous avons malheureusement grillé 6 fois de suite notre microprocesseur principal sans en connaitre la cause. (64 broches CMS à dessouder puis ressouder: 2h de travail)
Le vendredi matin après un ultime test, qui nous permettait de nous homologuer, le processeur à encore fait des sienne et est encore partie en fumée.
Nous avons du prendre la décision, qui ne nous a pas réjoui, d'abandonner.


Après une réunion de débriefing, nous avons isolés quelques cause concernant notre abandon.
Le robot a trop voyagé entre nos différents lieux d'habitations.
Les cartes électroniques ont trés mal vieillie.
Le déséquilibre du robot dû à sa conception est à ne pas reproduire.

Bref en conclusion, nous pouvons juste affirmer que cette année "blanche" ne fait que renforcer notre expérience dans ce challenge que nous essayons de relever toutes les années.


Poster