Robot - Concours Vierzon GEII 2014

De troyesGEII
Révision datée du 1 novembre 2013 à 11:51 par Troyesgeii (discussion | contributions) (Balise)
Aller à : navigation, rechercher

Introduction

Dans le cadre de notre projet d’Étude et Réalisation de deuxième année de GEII, et en vue du concours de robotique des IUT GEII se déroulant à Vierzon le 00/00/2014, nous avons pour objectif de réaliser un robot autonome. Autrement dit, concevoir un robot totalement indépendant devant partir d'une zone A vers une zone B tout en évitant les obstacles parsemés sur le terrain, avec pour mission de percer un ballon à l'arrivé.
Le site officiel du concours est disponible à l'adresse suivante : http://www.gesi.asso.fr/coupe_robotique_des_iut/
Une étude menée par DEMYTTENAERE Justin et PECORARO Arnaud, étudiants en 2ème année de GEII à l'Institut Universitaire de Troyes.


Synthèse Règlement

Le règlement officielle est disponible à l'adresse suivante : http://www.gesi.asso.fr/coupe_robotique_des_iut/images/2014/reglement_Vierzon_2014_V002.pdf

Règles générales

La compétition se déroulera à Vierzon et opposera 4 robots différents. L'objectif est de traverser le terrain pour rallier la base d'arrivée, située en diagonale du point de départ et ce dans un temps imparti de 90 secondes. Le terrain comprend de multiples obstacles à la position variable entre les différentes étapes de qualifications, que le robot doit éviter.
Le départ des robots se fait par le retrait d'un connecteur Jack et l'arrivée est matérialisée par l'arrêt complet dans la zone prévue à cette effet puis par l'explosion du ballon transporté.
Les robots sont totalement autonomes, et peuvent uniquement se guider à l'aide d'une balise présente dans la zone d'arrivée.
Un nombre de point est attribué en fonction des performances de chaque concurrent.
Les collisions sont à éviter entre les concurrents et les obstacles ne doivent pas être altérés ou déplacés.
La rencontre se composera d'une présentation orale, d'une phase d'homologation et d'une phase de qualification à l'issue de laquelle commenceront les phases d'élimination.


Caractéristiques du robot

Dimensions du robot
  • Le kit mécanique imposé par le comité d’organisation doit être obligatoirement utilisé :
    • 1 Châssis (support métallique en U),
    • 2 Moteurs DC,
    • 2 Roues,
    • 4 Engrenages,
    • 1 Batterie 12V 1.2Ah au plomb gélifié (pouvant être remplacé à l’identique).
  • La batterie est obligatoirement utilisée pour la partie motorisation. Alimentation totalement libre pour la partie commande, « ordinateur ».
  • Un connecteur jack 3.5 doit être prévu afin de pouvoir y accueillir sa prise qui au top départ sera déconnecté par un étudiant pour que le robot s’élance.
  • Design libre, mais doit respecter les dimensions imposées (coque plastique blanc non obligatoire):
    • Le gabarit du robot ne doit pas excéder 30cm H*40cm L*30cm l,
    • Un tube vertical doit être équipé sur le robot et dont l’extrémité haute est située entre 30 et 31 cm du sol,
    • Le ballon mesurera au moins 10 cm de diamètre lorsqu’il sera donné. Il doit être accroché dans les 5 derniers centimètres du tube vertical et doit donc disposé d’un système d’accrochage.
  • Une balise peut être disposé dans le coin d’arrivé. Celle-ci ne doit pas excéder un cube de 20cm de côtés. Une prise de 240V est mise à disposition.
  • Les dispositifs actifs (ondes etc.) doivent être totalement inoffensifs et respecter la règlementation française.


Caractéristiques du terrain

Terrain 2014
  • Carré de dimension totale 9m*9m, la piste mesurant 8mx8m.
  • Revêtement moquette bleu.
  • Éclairage important, environ égale à 3000lux.
  • Obstacles :
    • Au nombre de 15, leur position évolue selon les parties. Disposition simpliste au départ puis difficulté d'évitement croissante au fil des épreuves
    • Dimensions maximum : 15cm*20cm*40cm,
    • Toujours répartis de façon symétriques,
    • Leur couleur est unie, mais peut varier selon les obstacles.
  • Zones de départs et d'arrivées :
    • Quatre quarts de disque blanc,
    • Dimension : 70cm de rayon au minimum.
  • Quatre zones de balise 20cm*20cm disposées dans les coins externes d'arrivée.


Conception du Robot

Logigramme général

Logigramme général.jpg

Choix des composants du Robot

Carte Mère

Notre choix s'est porté vers la plateforme Arduino pour contrôler notre robot. Cette dernière étant l'équivalent d'un petit ordinateur capable de réaliser divers calculs, communiquer avec le monde extérieur... En effet, tout comme un PC, celle-ci est architecturée autour d'un processeur, ici le microcontrôleur Atmel ATmega. Mais est aussi accompagnée de mémoire morte, de mémoire vive, de RAM, d'interfaces diverses de communication externes ainsi que de toute la circuiterie électronique pour le bon fonctionnement du tout. Elle offre une gestion des entrées/sorties relativement aisée et se programme facilement (langage proche du C) à l'aide d'un IDE simple, mais très efficace. De plus, il existe déjà de nombreuses bibliothèques et programmes préconçus sur le net, notamment pour les écrans, moteurs, capteurs, l'ethernet, le wifi...
Pour ce projet, nous avons hésité entre l'Arduino UNO rev3 et l'Arduino Mega 2560 rev3.
Comparatif
Arduino Processeur Flash ko EEPROM ko SRAM ko Broches d'E/S numériques ...avec PWM Broches d'entrée analogique Courant E/S mA Dimensions mm Prix
ArduinoUno R3.jpg
UNO
ATmega328 32 1 2 14 6 6 40 68,6*53,3 ≈20,00€
ArduinoMega2560.jpg
Mega2560
ATmega2560 256 4 8 54 15 16 40 101,6*53,3 ≈36,00€
Au final, bien qu'elle dispose de moins d'entrées/sorties nous avons opté pour la carte UNO sachant qu'il nous est possible de multiplier les entrées sorties notamment avec des multiplexeurs de type 74HC595.



Alimentation

Partie Commande
  • Solutions proposées:
    • Batterie 12V 1.2Ah au plomb gélifié. Utiliser la même que celle pour la partie motorisation forcément présente (avantage moins de poids).
    • Ajouter une autre batterie.
  • Solution retenue.
Partie Motorisation
  • Solution retenue: Batterie 12V 1.2Ah au plomb gélifié (imposé).


Moteurs

Il faut que notre robot puisse se mouvoir, pour cela nous utiliserons les 2 Moteurs DC imposés.
Ces moteurs à courant continue ont l'avantage de pouvoir être facilement raccordables à une batterie, facilement contrôlables en vitesse et en sens de rotation grâce à un petit dispositif supplémentaire.



Commande moteurs

Afin de commander les deux moteurs DC, nous avons choisi d'utiliser le shield Ardumoto - Motor Driver Shield de chez Sparkfun, qui est basé sur le circuit L298 et deux ponts en H. Celui-ci a pour avantage de pouvoir piloter deux moteurs à courant continue, consommant jusqu'à un maximum de 2 ampères sous une tension pouvant atteindre 48 volts. Le sens des moteurs étant piloté par des signaux logiques et la vitesse étant régulé par le rapport cyclique des entrées PWM de l'arduino, ça en fait une carte de choix pour piloter une base robotique.

Capteurs postion

Les deux moteurs utilisés étant à courant continu, il nous est impossible de connaître l'angle de rotation, la position exacte du rotor contrairement à des moteurs pas à pas ou servomoteurs. C'est pour cette raison qu'il nous est nécessaire d'ajouter des détecteurs de rotation, de position afin de pouvoir éviter les obstacles au mieux, et arriver dans un court laps de temps à l'arrivée.
  • Solutions proposées:
    • Capteurs à fourches + roues codeuses sur moteurs(Principe d'une LED et d'un photo-transistor avec une route dentée qui coupe le faisceau de la LED).
    • Boussole.
  • Solution retenue:
Pour connaître l'angle de rotation des moteurs, nous utiliserons deux roues codeuses accompagnées de leur opto-coupleur, plus précisément des fourches optiques. Elles consistent à émettre un faisceau lumineux grâce à une LED qui se trouve être coupé ou non par les fentes du disque en rotation. Chaque coupure est alors réceptionnée par un photorécepteur (photo-transistor), qui à chaque impulsion d'onde lumineuse se bloque ou non, ce qui correspond à une impulsion TTL. De ce fait et notamment grâce à la division précise en degrés de la roue codeuse, il est très facile de se repérer dans l'espace puisque entre chaque impulsion correspond à une angle en degrés (α°).


Capteur de proximité

Ces capteurs nous servirons à détecter la présence d'obstacles, d'autres robots et des bords du terrain. Ces derniers étant en matériaux non conducteurs et non magnétiques, par conséquent les capteurs de type inductif et à effet Hall sont naturellement éliminés.

  • Solutions proposées:
Comparatif
Capteur infrarouge.jpg
Capteur infrarouges
Capteur ultrason.jpg
Capteur ultrasons
Capteur capacitif.jpg
Capteur capacitif
Capteur fin de course.jpg
Capteur fin de course
- Aucun contact physique avec l'obstacle. Av
- Sensible couleur et nature matériaux. Inc
- Sensible fortes sources lumineuses/autres infrarouges/poussières. Inc
- Cône d'environ 5°. Av/Inc
- Détection ≈ 1cm à 80cm. Av
- Conso: quelques milliampères et quelques volts. Av
- Peu cher. Av
- Aucun contact physique avec l'obstacle. Av
- Répercution ultrasons sur tout matériaux. Av
- Sensibilité pression, température, même fréquences utilisées. Inc
- Cône d'environ 30°. Av/Inc
- Détection ≈ 1cm à quelques mètres. Av
- Conso: quelques milliampères et quelques volts. Av
- Peu cher. Av
- Aucun contact physique avec l'obstacle. Av
- Détecter tout type d'objet. Av



- Détection ≈ 1cm à 3cm. Inc


- Cher. Inc
- Contact physique avec l'obstacle. Inc
- Détecter tout type d'objet. Av



- Détection 0cm. Inc
- Mise en œuvre simple (semblable interrupteur). Av
- Peu cher. Av


Capteur arrivée

Le robot devant être totalement arrêté et entièrement dans la zone d'arrivée pour pouvoir percer le ballon, il nous est donc nécessaire d'ajouter au minimum un capteur au dessous du robot qui détecte la zone blanche.
  • Solutions proposées:
    • Photocoupleur.
    • LED + photo-transistor.
  • Solution retenue :
Pour réaliser cette fonction, nous pensons utiliser un ou plusieurs photocoupleur(s) CNY70. Semblable à un optocoupleur, il est composé en interne d'une diode émettrice et d'un photo-transistor qui a été notamment utilisé en première année pour un robot suiveur de ligne. La LED émet une onde lumineuse qui une fois réfractée par la surface (rayon plus ou moins dissipé suivant la couleur de la surface) est capté par la base du photo-transistor et qui bloque donc plus ou moins le transistor. Permettant ainsi de connaître la couleur de la surface.

Nous pensons le fixer à l'arrière du robot, afin que celui-ci soit totalement à l’intérieur de la zone blanche pour s'arrêter. Ou, le fixer à l'avant et ajouter un timer avant l’arrêt complet.
Datasheet_CNY70

Perçage Ballon

  • Solutions proposées:
    • Décharge d'un condensateur qui mit en court-circuit provoque une étincelle.
    • Levage d'une pointe grâce à un servomoteur.
  • Solution retenue:


Balise

La mise en place d'une balise est prévue pour une phase de développement très avancée du projet.

Le rôle de la balise est d'émettre un signal en destination du robot dans le but de la guider vers elle.

Distance départ du robot-balise
  • Solutions proposées:
    • Envoie de code par IR.
    • Émissions ultrasons.
  • Solution retenue:

Notre choix se portera sur l'utilisation de capteurs et de récepteurs à ultrasons. En effet, la balise se trouve à la position exactement opposée du point de départ du robot sur la piste.

Le carré mesurant 8 mètres de côté, la distance maximum séparant le robot de sa balice est donnée par la formule

d=a * 2Modèle:Exp avec a la longueur du côté application directe du théorème de pythagore

ce qui nous donne approximativement une distance maximum de plus de 11.3m !


Cette distance dépasse largement la portée maximale des émetteurs infrarouges que l'on trouve généralement. La portée peut être améliorée en augmentant la puissance d'émission ( on injecte plus de courant dans la Del infrarouge et on module plus vite.)

Les émetteur/récépteurs à ultrasons ont, comme vu précédemment une portée supérieure. Il est possible d'en trouver dans le commerce avec une portée dépassant les 7-8 mètres, mais pas plus en restant dans des gammes de prix correctes. En conséquences il ne sera pas possible de se servir de la balise dés le début de la course.


Autre problème : la hauteur des blocs. En effet il convient de placer les récepteurs à une hauteur suffisante pour ne pas être obstrué par les blocs obstactles de la piste. Ils seront donc placés sur le robot à une hauteur de plus de 18cm (hauteur des blocs = 15 cm).

De plus, il est nécessaire de pouvoir réceptionner le signal dans n'importe quelle orientation du robot. Le choix qui semble de plus judicieux est de fabriquer une couronne de récépteurs ultrasons (5-6 récepteurs maximum).

Au niveau de la balise, se trouveront 2 ou 3 émetteurs pour couvrir un angle suffisant. La balise sera pilotée par Arduino.

Emetteurs retenus :

Récepteurs rentenus :

Pour finir il sera également nécessaire dans la partie programmation d'établir une règle de codage pour la transmission des informations.



Assemblage Robot et programmation

Connecteur jack

Tests

Coût de revient

Justin pec (discussion) 29 octobre 2013 à 15:02 (CET)