8 septembre 2012
RAVAGE est l’acronyme de "Robot Avaleur Vorace Avec Gyroscope et Élévateur". Bien plus grand que son prédécesseur POIVRON et un peu plus lourd, il n’a pas peur ! Même après un match où il a failli se faire amputer d’une jambe.
Le robot avale un pion pour le déposer ensuite dans la case de la bonne couleur.
Ravage a été construit pour participer à la Coupe de France de Robotique en 2011. Sa conception mécanique répond à deux critères :
Ravage s’oriente sur le terrain grâce à un gyroscope et une caméra. Le gyroscope provient d’un accessoire de la manette de Wii nommé Wii Motion Plus. La caméra est une CMUCam 3, sa programmation est détaillée dans cet article. Le robot est équipé de capteurs de couleurs destinés à identifier la couleur de la case sur laquelle il se trouve. Le robot est muni d’un pied rétractable qui lui permet de se percher sur un élément de jeu.
Le robot a principalement été construit en bois. Une roue motrice directrice située à l’avant gauche du robot lui permet de se déplacer. Le robot est guidé par une roue de roller située au milieu de son flanc droit et il est soutenu par une bille folle située à son arrière gauche.
L’électronique est principalement répartie sur trois cartes :
À ces cartes, il faut rajouter deux cartes :
Chacune des trois principales cartes sont construites autour d’un PIC 18F2550. Il s’agit d’un microcontrôleur 8 bits ayant une fréquence d’horloge à 48 MHz. À bord du robot, un bus I2C relie le Wii Motion Plus et les cartes électroniques. Chaque carte est alimenté en 12 V directement depuis la carte d’alimentation.
Voici les principales cartes et les principaux capteurs et actionneurs reliés entre eux.
C’est cette carte qui joue le rôle de maître sur le bus I2C. Cette carte récupère les informations provenant de tous les capteurs afin de prendre des décisions et envoyer des ordres aux actionneurs. Elle récupère directement :
Par ailleurs, elle récupère les informations des contacteurs et des capteurs de couleur en interrogeant les autres cartes. A chaque communication, la carte obtient l’état des capteurs et envoie une consigne pour chaque actionneur (servomoteur, moteur pas à pas ou moteur à courant continu).
Cette carte agit directement sur un seul élément, la LED de puissance servant à éclairer la zone observée par la CMUCam.
Cette carte pilote la roue motrice directrice. Elle reçoit les informations des contacteurs et du capteur sonique pour ralentir ou arrêter le robot sans intervention de la carte stratégie.
C’est un ensemble L297 + L298 qui pilote le moteur pas-à-pas. Le moteur de traction est commandé par un L298 dont les deux ponts en H sont utilisés en parallèle. Vu le poids du robot et les caractéristique du moteur, ce montage était probablement superflu. Par contre, le L298 pilotant le moteur pas-à-pas avait besoin d’un refroidissement actif, nous avons pris le premier ventilateur de PC qui nous avions sous la main.
La carte présente un défaut de conception qui a notamment pour effet de faire redémarrer tous les microcontrôleurs du circuit. Pour éviter ceci, il est nécessaire de rajouter au plus près du L298, deux condensateurs entre l’arrivée de la puissance et la masse, l’un de 470 µF, l’autre de 100 nF.
Cette carte pilote les capteurs de couleur et traite leurs informations. Elle gèrent aussi la commande des servomoteurs et du moteur de la crémaillère qui permettait au robot de se hisser sur un pion.
Les servomoteurs étant susceptible de consommer un peu de courant, ils sont alimenté par paire, chaque paire ayant un convertisseur de tension (7805) dédié.
Le code de la caméra est disponible dans l’article consacré à celle-ci.
Le code des trois cartes du robot est disponible en ligne. Il y a un répertoire pour chacune des cartes. Pour chaque carte, on trouve un certain nombre de répertoires contenant des bibliothèques plus un répertoire contenant le code principal.
Voici ce que nous souhaitions réaliser à la coupe de robotique, mais que nous n’avons pu faire qu’après la compétition, à la Japan Expo :
Démonstration JapanExpo (720p - 3 Mo).