Projet 2009


Temples of Atlantis


En 2009 le but était de construire le temple le plus haut.


La table de jeu




Les robots partent d’une zone de départ à leur couleur, située dans l’un des coins arrière de la table. Les éléments de jeu aux couleurs des équipes sont disponibles en plusieurs endroits de la table, soit directement au sol à des positions prédéfinies, soit dans des distributeurs spéciaux.
Les constructions doivent être érigées dans des zones de marquage de points spécifiques, colorées de manière distincte du reste de la table (zone 1 - 2 et 3. Ces zones de construction ont des hauteurs différentes. Les points sont attribués en fonction de la hauteur des constructions, de leur composition et de la hauteur de la zone où la construction se trouve.

Stratégie de match

la stratégie se déroule en 3 parties

-tout d abord nous utilisons la pelle du robot afin de pousser les 6 palets dans la zone 1 espérant marquer facilement quelques points (nous avons étudié une trajectoire nous permettant de pousser un maximum de 4 palets), il est impossible que nous en déplacions plus de 4

-ensuite nous nous rendrons sur un distributeur de palets de notre couleur et prendrons 4 palets répartis 2 à 2 dans nos pince-ascenseur, puis nous irons les déposer sur la zone de construction 3, ce qui nous créera 2 colonnes de 2 éléments, enfin nous déposerons sur ces 2 colonnes le linteau que le règlement nous autorise à embarquer au début de match




   




-la troisième partie de notre stratégie est un copier-coller de la second partie mais sur l autre distributeur de palets. (cette partie sera mis en place si notre robot arrive à la coupe en parfait état de marche, ce n’est qu’une possibilité de marqué plus de points mais est ce que le temps nous le permettra ?, nous ne sommes pas capable de le dire aujourd’hui)

système de prise linteau avec ascenseur et pelle fixe ( peut être utilisé)

La stratégie est de marquer 35 points
Pousser 6 palets au sol dans la zone 1 =          6 pts
Réaliser 1 temple de 2 palets sur la zone 3=   29 pts 
Si le temps nous le permet, la création de 2 autres colonnes dans une autres zone de construction …


Description technique

Déplacement du robot

Le robot se déplace à l’aide de 2 moteurs 12V de marque MDP
La méthode d’asservissement pour le déplacement du robot est l’odométrie, on utilise 2 codeurs 5000 pas de marque Scancon
Vitesse de déplacement mesuré du robot lancé : 0.9m/s

Source d’énergie

Nous utilisons l’énergie électrique, nous avons dans le robot 3 pack d’accus Nimh de 7.2V et 3300mAh. L’autonomie du robot, en utilisation continue, est de 80min, nous possédons 2 jeu de batteries, celle ci se recharge en moins de 2h.

Gestion des éléments de colonnes et linteau

Nous démarrons tout d’abord avec un linteau posé dans notre robot sur une pelle-ascenseur
Nous utilisons une pelle au sol afin de pousser 3 palets qui se trouvent dans la zone aléatoire sur le terrain afin de les placer dans la zone 1 (ceci nous prend 3 aller-retour)
Nous utilisons 2 pinces-ascenseur pouvant contenir chacune 2 palets afin de créer 2 colonnes lors de la dépose
Nous n’avons aucun système nous permettant actuellement de localiser les différents éléments de jeu, les différents emplacement seront programmés comme point de passage dans le robot.
Nous ne gérons pas la couleur des palets et des linteaux car nous en connaissons l’emplacement et allons uniquement nous diriger vers ceux de notre couleur, si par mégarde nous transporterons un objet de la couleur adverse nous nous plierons au règlement et accepterons une pénalité si l’arbitre le décide
Les pinces sont installé sur 2 ascenseurs indépendants ce qui nous permet de monter les pinces et de les descendre afin de prendre un palets ( un système nous permet de pousser le palet de sa position de stockage sous l’une des pinces)


Description du stockage des éléments

Nous pouvons stocker dans le robot 4 palets maximum répartis dans 2 pinces-ascenseur.

Description du système d’évitement

Nous détectons le robot adverse à l’aide de capteur ultrason à 15cm devant notre ultrason,

La détection de l’adversaire déclenche un changement de trajectoire ou un arrêt de notre robot (suivant notre position sur le terrain) 

Capteurs

Nous utilisons de simple capteurs à contact de type micro rupteur sans précision, les autres capteur sont des ultrasons nous permettant de détecter l’adversaire ou les codeurs nous permettant de nous localiser sur le terrain de jeu

Laser

Pas de laser

Positionnement du robot sur le terrain

Le robot connaît sa position sur le terrain à l’aide de codeurs en roue folle, la précision est limitée par le calcul, actuellement nous avons une précision d’environ 0.1mm, celle ci pourra être dégradée avec les test

Divers

Nous détectons la position du distributeur aléatoire en le percutant à vitesse lente ainsi l’arret de nos codeurs dans cette configuration de recherche de ce distributeur nous permet d’en déterminer la position
Le support de balise est situé sur le toit du robot et au centre approximatif de celui ci
L'arrêt d’urgence est situé sur le toit du robot dans un coin, il est bien visible et accessible par les arbitres


Électronique

Nous essayons chaque année d'améliorer le robot que nous construisons. L'année dernière, nous avons subi une lourde défaite et senti trop de composants grillés. Forts de cette expérience (ponts en H brûlés, surchauffe engendrant une coupure des régulateurs, moteurs qui gobent tout le courant, …) nous nous devions de travailler avec du matériel robuste. L’électronique est donc alimentée par des régulateurs 7 ampères. Des tests feu ont été réalisés dessus. Un test tension inversée a également été réalisé. L’intelligence du robot est supportée par cinq PIC de chez Microchip. Deux PIC moteur permettent de commander les moteurs et de gérer l’asservissement de vitesse du robot. Les commandes de puissance des moteurs sont gérées par des ponts en H L298N. Ces ponts en H on été testés et éprouvés 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 moteur permettent de récupérer la distance et le sens de déplacement du robot. Deux autres PIC servent à commander les servomoteurs et à récupérer les informations provenants des capteurs. Finallement, le dernier PIC permet de gérer la machine d’état et la régulation de position. Tout ce petit monde discute par des liaisons RS232 cadencées à 125000 bauds ainsi que par un bus I2C.

Informatique

La partie informatique a été conçue et réalisé par Ponpon, en collaboration avec Blur pour la commande de la partie électronique, en collaboration avec Bob pour la partie asservissement de positon du robot, en collaboration avec 1doi et Thier pour la partie évitement, ainsi qu’avec Pite pour la commande des actionneurs et la stratégie.

Le robot est commandé par cinq microcontrôleurs qui communiquent entre eux par deux liaisons série et un bus I2C. Il y a un maître (PIC 32MX340F256H) qui exécute le programme principal, deux esclaves (PIC 18F2431) qui agissent suivant les ordres du maître pour la gestion des moteurs et deux autres esclaves (PIC 18F2431) pour la commande des IO et des servomoteurs. Le programme principal développé en langage C (en essayant de respecter les normes de codage MISRA C) avec un OS temps réel Micro OS2 gérant 5 taches : la tache principale est une machine à états 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 les servomoteurs. 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 d’autres moteurs du robot.

 Les programmes ont été développés et codés en langage C (MISRA C) à l’aide du logiciel MPLAB et des compilateurs MCC18 et MCC32 de Microchip. Le pic principal est munie d’un OS temps réel Micro OS2 (Micrium). 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é sur le développement de la commande des entrées/sorties sur deux Pics esclaves 18F2431 et reliées au Pic principal via I2C 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.


Poster


Bilan

Voici un petit résumé de cette année 2009, chargée en émotions.

Homologation: le robot a été homologué statiquement le mercredi de la coupe puis la partie évitement et déplacement le jeudi matin à la première heure.

1er match : victoire 12 pts à 0

2ème match : défaite 2 pts à 13 (Reims Champagne EEA)

3ème match :  défaite 8 pts à 52 (Cybernétique en Nord)

4ème match : victoire 14 pts à 4 (ClubElek)

5ème match : victoire 22 pts à 2

 

Pour finir en 34ème place sur 181 équipes inscrites au concours.

 

Bref, toutes l‘équipe est très contente du déroulement de cette année.

Ce robot 2009 nous a aussi permis de voir la puissance de nos futur robots grâce à notre système d’évitement et d’asservissement d’un nouveau genre, nous avons aussi compris certaine de nos erreurs que nous traînions depuis le début de la création de notre équipe, ce qui nous motive tous à continuer pour l’édition 2010 et ainsi faire mieux encore.


Vidéos

5ème Match : BH Team