Rapport Coupe Robotique de Cachan Encadrant : Monsieur Juton Dafne Cacres Alvarez, Marc Gabirel, Fabien Hauzeray, Matthieu Lachenait, Camille Lavigne GEII E Juin 2016 Rapport Coupe Robotique Cachan | Juin 2016 Remerciements, A tout le corps enseignant pour leur disponibilité et pour leur aide. Nos remerciements vont plus particulièrement à Monsieur Juton qui nous a guidés et accompagnés tout au long de ce projet ainsi qu’à Marc Ardillier pour l’impression des cartes. Page 2 Rapport Coupe Robotique Cachan | Juin 2016 Sommaire Introduction............................................................................................................................................. 5 1. 2. 3. La compétition ................................................................................................................................ 5 1.1. Les objectifs............................................................................................................................. 5 1.2. Les impératifs et le fonctionnement ...................................................................................... 6 Choix des composants .................................................................................................................... 8 2.1. Automate OMRON CPU11 CJ12M .......................................................................................... 8 2.2. Le hacheur 4Q VNH5019A-E ................................................................................................... 8 2.3. Le télémètre Sharp DT35 ........................................................................................................ 8 2.4. Le détecteur OMRON E3Z-LR61.............................................................................................. 9 2.5. Le capteur optique CNY70 ...................................................................................................... 9 2.6. La résistance 1Ω ...................................................................................................................... 9 2.7. Les roues codeuses Avago HEDS-5500 ................................................................................... 9 Les cartes ......................................................................................................................................... 9 3.1. La carte puissance ................................................................................................................. 10 Q1et Q2 : transistors gérant l’alimentation des composants VNH5019A-E par le module de contrôle(PLC) ..................................................................................................................................... 10 U5 : porte logique gérant l’ouverture et la fermeture des transistors des hacheurs ........................ 10 U3 : régulateur de tension (transforme du 12V de la batterie en 5V) ............................................... 10 P12 : connecteur permettant de communiqué avec l’automate ....................................................... 10 La « carte moteur » assure la régulation des moteurs (vitesse et sens de rotation). Cette carte est composée de deux composants VNH5019A-E : un pour chaque moteur. Selon la datasheet, le montage de ce composant requiert des connexions à différentes résistances et condensateurs (figure ….). Sur la carte, d’autres condensateurs sont implantés pour éviter les interférences électriques entre les composants. ...................................................... 10 3.2. La carte ballon ....................................................................................................................... 10 La « carte ballon » est composée d’un transistor MOSFET FDD 5612 qui se ferme lorsque le robot arrive sur la zone blanche. Une tension de 12V parcourt alors la résistance de 1 Ω collée sous le ballon (soit à 32cm du sol). L’échauffement produit engendre l’éclatement du ballon........................................................................................................................................... 11 3.3. La carte CNY70 ...................................................................................................................... 11 3.4. La carte interface automate ................................................................................................. 11 Page 3 Rapport Coupe Robotique Cachan | Juin 2016 conRS1 : connecteur définissant le sens de communication avec le servomoteur soit en écriture, soit en lecture .......................................................................................................................................... 11 U2 : composant la conversion des données entre le servomoteur et d’automate ............................ 11 U1 : ensemble de 4 AOP amplifiant le signal reçus depuis les roues codeuses pour pouvoir être traiter par l’automate........................................................................................................................ 11 RBT : régulateur de tension de 12V à 5V ........................................................................................... 11 R1 à R3 : résistances de valeur respective 10kΩ, 2,7kΩ et 470Ω ...................................................... 12 C1 à C7 : condensateurs de 100nF ..................................................................................................... 12 4. 4.1. La programmation ........................................................................................................................ 12 Détermination du parcours ...................................................................................................... 12 Le parcours est divisé en plusieurs cibles intermédiaires (Xtarget et Ytarget) en vue d’atteindre le point final. ............................................................................................................................................. 12 Le traitement consiste à calculer la position de la gamelle par rapport au point de départ (Xposition et Yposition), puis sa distance par rapport à son point cible intermédiaire (distance-target et angletarget) en vue de calculer les informations à transmettre aux hacheurs 4-quadrants commandant la rotation des roues. ................................................................................................................................ 12 La position par rapport au point de départ est calculé à partir des informations transmises par les deux roues codeuses. ............................................................................................................................ 12 La position par rapport au point cible est déterminé en appliquant le théorème de Pythagore , puis approximant la valeur de l’angle à la valeur de la tangente , approximation permise dans le cadre d’angle de faible valeur. ........................................................................................................................ 12 4.2. Esquive des obstacles ............................................................................................................... 12 L’acquisition des informations à partir du télémètre (variable telemetre_m) permet de situer la gamelle par rapport à un obstacle. Si un obstacle se situe à moins de 1 mètre, le servomoteur opère une rotation pas à pas du télémètre. Si angle par rapport à la cible est inférieur à 45 ° le servomoteur tourne le télémètre de préférence vers la gauche, sinon il le tourne par la droite en vue de minimiser le parcours libre d’obstacle sur les 1 mètre suivant. Ensuite une consigne est transmise au 4Q en vue de commander les rotations des roues de la gamelle. ......................................................................... 12 4.3. Stratégie .................................................................................................................................... 12 En début de parcours, l’environnement est scanné en vue d’atteindre le centre de symétrie, une fois arriver sur ce point nous prenons comme nouvelle destination le point d’arrivé. Cette stratégie permet de minimiser le temps de parcours, toutefois elle n’est fonctionnelle que pour des parcours simples................................................................................................................................................... 12 Lorsque la gamelle rencontre un obstacle, une nouvelle cible intermédiaire à 15 cm de l’obstacle est alors définie ........................................................................................................................................... 12 Conclusion ............................................................................................................................................. 13 Page 4 Rapport Coupe Robotique Cachan | Juin 2016 Introduction Ce projet consiste en la création d’un robot autonome en vue de participer à la Coupe Robotique de Cachan qui se tiendra lors du Festival de Robotique du 9 au 11 juin 2016. S’affronte durant trois jours, des étudiants de 1er année et 2ième année venant de différents IUT GEII français. Le robot doit atteindre le coin posé de son lieu de départ, faire exploser son ballon et éviter les obstacles placés sur son chemin. Au fur et à mesure des épreuves, la difficulté du parcours est croissante. Pour réaliser ce projet, nous constituons un groupe de 5 personnes en mettant à profit les Figure 1. Affiche du festival de Robotique de Cachan compétences et expériences réussies, notamment dans le cadre de la compétition du robot suiveur de ligne qui s’est déroulé lors du 1er semestre : Marc et Dafne pour leur motivation et leur ingéniosité, Matthieu pour ses qualités de programmation, Camille et Fabien puisque leur robot était en final. Après analyse du cahier des charges imposé par le règlement de la Coupe Robotique, nous avons émis plusieurs des solutions techniques pour réaliser ce défi, chacune soumise à l’avis du groupe, puis du corps enseignant. Pour celles retenues, nous les avons assemblées et dispatchées sur quatre cartes électroniques dont nous avons conçu le schéma de câblage, d’implantation et le routage en utilisant le logiciel Altium Designer. La dernière étape a été réservée à la programmation de l’automate avec le logiciel CX-one Programmer. 1. La compétition 1.1. Les objectifs Le robot évolue sur une piste carrée de 8m entièrement recouverte de moquette bleu foncée. Chaque coin de piste abrite une zone blanche, mesurant au minimum 70 cm de rayon, pour indiquer la zone d’arrivée. Page 5 Rapport Coupe Robotique Cachan | Juin 2016 La piste est jonchée d’obstacles, de couleur uniforme, de hauteur comprise entre 14 et 16 cm que le robot doit contourner. Seule la phase d’homologation est exempte d’obstacle. La disposition des obstacles évolue afin d’augmenter la difficulté du parcours au fur et à mesure de l’avancement de la compétition. La piste dispose de deux axes de symétrie ce qui permet aux compétiteurs de concourir avec le même niveau de difficulté et un parcours identique (figure 2). Axe de symétrie vertical Axe de symétrie horizontal Figure 2 La piste avec ses axes de symétrie et des obstacles Au coup d’envoi, le robot rejoint le coin opposé de son point de départ le plus rapidement et toujours en moins de 90s. Est considéré comme arrivé tout robot positionné dans sa zone blanche de destination ayant fait exploser son ballon. Toute agressivité entre robots peut engendrer des pénalités voire la disqualification. Lors de chaque manche, les robots obtiennent des points, de 0 à 7 selon que l’objectif est atteint, totalement ou partiellement, en fonction de la rapidité des concurrents. Lors de la phase de qualification, les points permettent d’avoir un classement. Seuls les seize premiers continuent l’aventure en participant à la phase d’élimination directe et joue ainsi pour la coupe. 1.2. Les impératifs et le fonctionnement Le robot se compose d’un châssis équipé de deux roues actionnées par deux moteurs. Les moteurs sont alimentés par une batterie de 12 V. Un système d’arrêt d’urgence doit obligatoirement être implanté. Dans notre cas, il s’agit d’un interrupteur qui coupe l’alimentation de la batterie. L’homologation du robot requiert le respect de dimensions (figure 3) afin de pourvoir concourir, contraintes s’appliquant également au ballon. Page 6 Rapport Coupe Robotique Cachan | Juin 2016 Le robot doit partir uniquement lors du retrait du jack. Ce jack est monté en pull-up (figure 4): il génère un 0 logique quand le jack est positionné et un 1 logique quand il est retiré. VCC 10cm minimum 4,7kΩ 40cm Vers le microcontrôleur 30cm 30cm Figure 4. Montage pull-up Figure 3. Dimension du ballon Pour fonctionner, le robot et les composants consomment l’énergie fournie par la batterie. Afin de répartir ce besoin un schéma énergétique a été réalisé, au regard des spécifications techniques fournies (figure 5). Figure 5. Schéma de distribution de l'énergie Figure 6. Schéma des entrées et des sorties Par ailleurs, un schéma synoptique a été élaboré avant de réaliser les cartes (figure 6). Page 7 Rapport Coupe Robotique Cachan | Juin 2016 2. Choix des composants 2.1. Automate OMRON CPU11 CJ12M Pour la réalisation de ce robot, le choix d’utiliser un automate a été motivé par sa souplesse de programmation, et ce malgré son poids et son encombrement. Cette solution a nécessité l’acquisition de nouvelles compétences en programmation et câblage. L’automate requiert l’utilisation de plusieurs modules : PD022 : alimentant l’automate, MD212 : assurant l’envoi et la réception les informations avec les capteurs tout ou rien ainsi qu’avec les moteurs, AD081-V1 : permettant la communication avec les capteurs analogiques. 2.2. Le hacheur 4Q VNH5019A-E Dans le cadre de cette compétition, le robot doit être capable d’avancer ou de reculer. Pour répondre à ce besoin, un hacheur 4 quadrants (4Q) a été retenu. Ce montage, composé de quatre transistors (figure 5), actifs en même temps, permet de moduler le courant afin de faire tourner un moteur dans un sens ou dans l’autre et assurer la modulation de l’énergie à fournir au moteur en jouant sur l’intensité de L U Commande 1 Commande 2 courant et son sens de circulation. Ainsi, les moteurs Figure 5. Schéma d'un hacheur 4Q peuvent tourner dans les deux sens et à vitesse variable. Le servomoteur MX-12 Ce servomoteur permet de pouvoir faire de pivoter les composants qui y sont fixer. Nous avons limité l’angle de rotation de -50° à 50°. Il est conçu pour recevoir des informations bit à bit, qu’il assemble. Cela se nomme une liaison série. 2.3. Le télémètre Sharp DT35 La vision périphérique est obtenue grâce au télémètre laser SHARP DT35, fixé sur le servomoteur. Alimenté par du 12V, ce laser émet en permanence une onde de 685nm (ce qui correspond à du rouge sur le spectre de la lumière). Il renvoie des informations au microcontrôleur sous forme analogique. Il a comme fonction de détecter les obstacles placés sur la piste. Figure 6. Télémètre Sharp DT35 Page 8 Rapport Coupe Robotique Cachan | Juin 2016 2.4. Le détecteur OMRON E3Z-LR61 Ce composant émet une onde infrarouge et la reçoit ou non selon que celleci est ou non réfléchie sur un catadioptre positionné à environ 11 m en diagonal de la piste, indiquant la destination à atteindre. Utiliser en signal tout ou rien, il émet un 1 logique au microcontrôleur de l’automate quand il détecte le catadioptre sinon il envoie un 0 logique. Figure 7. Détecteur OMRON E3Z-LR61 Ce composant est alimenté en 24V et consomme au maximum 30mA. 2.5. Le capteur optique CNY70 Equipé d’un d’émetteur de longueur d’onde 950nm (infrarouge) et d’un récepteur, ce composant permet de détecter la zone blanche. L’émetteur envoie une onde lumineuse en continue qui est réfléchie en quasi-totalité sur le blanc ou est en partie absorbée sur de la moquette sombre (figure 8). Cette différence de réception génère l’envoi d’informations au microcontrôleur de l’automate par un signal Figure 8. Fonctionnement du analogique allant de 0 (aucun réflexion) à 5V (réflexion totale). capteur CNY70 Il est placé vers le centre de la Gamelle au plus proche du sol et alimenté en 5V. Il permet de détecter la zone d’arrivée. 2.6. La résistance 1Ω Cette résistance permet de faire exploser le ballon. En effet, lorsque le robot atteindra la zone blanche d’arrivée une tension de 12V traversera la résistance et la ferra chauffer enclenchant l’explosion du ballon. 2.7. Les roues codeuses Avago HEDS-5500 Ce composant est alimenté en 5V. Son fonctionnement est le suivant : à chaque tour de roue, une information est transmise au microcontrôleur qui incrémente leur valeur ou la décrémente selon le sens de rotation de la roue. Ce dispositif permet d’estimer la distance parcourue depuis le départ. 3. Les cartes Sur chaque carte, sont implantés des composants de type CMS en raison de leurs faibles dimensions. Page 9 Rapport Coupe Robotique Cachan | Juin 2016 3.1. La carte puissance R1, R21, R5, R25, R9, R29 : 1KΩ R2, R7, R10, R22, R72, R210 : 3.3KΩ R3, R23 : 10KΩ R4, R24 : 7KΩ C2 : 470 nF C1, C21 : 33 nF C32, C33 : 100 nF Hacheur droit 4Q VNH5019A-E Hacheur gauche 4Q VNH5019A-E Connecteur communiquant avec la carte interface Connecteur pour alimentation les moteurs Connecteur batterie Figure 8. PCB carte moteur du robot Q1et Q2 : transistors gérant l’alimentation des composants VNH5019A-E par le module de contrôle(PLC) U5 : porte logique gérant l’ouverture et la fermeture des transistors des hacheurs U3 : régulateur de tension (transforme du 12V de la batterie en 5V) P12 : connecteur permettant de communiqué avec l’automate La « carte moteur » assure la régulation des moteurs (vitesse et sens de rotation). Cette carte est composée de deux composants VNH5019A-E : un pour chaque moteur. Selon la datasheet, le montage de ce composant requiert des connexions à différentes résistances et condensateurs (figure ….). Sur la carte, d’autres condensateurs sont implantés pour éviter les interférences électriques entre les composants. 3.2. La carte ballon Transistor(MOSFET FDD 5612) Résistance 100Ω Connecteur à la résistance Connecteur à la carte interface Figure 9. PCB carte ballon Page 10 Rapport Coupe Robotique Cachan | Juin 2016 La « carte ballon » est composée d’un transistor MOSFET FDD 5612 qui se ferme lorsque le robot arrive sur la zone blanche. Une tension de 12V parcourt alors la résistance de 1 Ω collée sous le ballon (soit à 32cm du sol). L’échauffement produit engendre l’éclatement du ballon. 3.3. La carte CNY70 Résistance 100Ω Résistance 33kΩ CNY70 Connecteur à la carte interface Figure 10. PCB carte capteur La « carte capteur » permet la détection de la zone blanche d’arrivée. La document technique impose une tension de 5V et un courant maximum de 50 mA, ce qui implique le choix d’une résistance de 100 Ω. La valeur de la résistance R2 a été définie à la suite de tests successifs pour aboutir à une valeur de 33kΩ. 3.4. Connecteur au Capteur optique CNY70 La carte interface automate Connecteur au servomoteur Connecteur aux moteurs Connecteur du ballon Connecteur à la roue codeuse droite Connecteur à la roue codeuse gauche Connecteur au détecteur OMRON E3ZLR61 Connecteur Télémètre Sharp DT35 Connecteur du jack Connecteur à Connecteur au module l’alimentation AD081-V1 du PLC Figure 11. PCB carte interface automate Connecteur au module MD212 conRS1 : connecteur définissant le sens de communication avec le servomoteur soit en écriture, soit en lecture U2 : composant la conversion des données entre le servomoteur et d’automate U1 : ensemble de 4 AOP amplifiant le signal reçus depuis les roues codeuses pour pouvoir être traiter par l’automate RBT : régulateur de tension de 12V à 5V Page 11 Rapport Coupe Robotique Cachan | Juin 2016 R1 à R3 : résistances de valeur respective 10kΩ, 2,7kΩ et 470Ω C1 à C7 : condensateurs de 100nF 4. La programmation 4.1. Détermination du parcours Le parcours est divisé en plusieurs cibles intermédiaires (Xtarget et Ytarget) en vue d’atteindre le point final. Le traitement consiste à calculer la position de la gamelle par rapport au point de départ (Xposition et Yposition), puis sa distance par rapport à son point cible intermédiaire (distance-target et angletarget) en vue de calculer les informations à transmettre aux hacheurs 4-quadrants commandant la rotation des roues. La position par rapport au point de départ est calculé à partir des informations transmises par les deux roues codeuses. La position par rapport au point cible est déterminé en appliquant le théorème de Pythagore , puis approximant la valeur de l’angle à la valeur de la tangente , approximation permise dans le cadre d’angle de faible valeur. 4.2. Esquive des obstacles L’acquisition des informations à partir du télémètre (variable telemetre_m) permet de situer la gamelle par rapport à un obstacle. Si un obstacle se situe à moins de 1 mètre, le servomoteur opère une rotation pas à pas du télémètre. Si angle par rapport à la cible est inférieur à 45 ° le servomoteur tourne le télémètre de préférence vers la gauche, sinon il le tourne par la droite en vue de minimiser le parcours libre d’obstacle sur les 1 mètre suivant. Ensuite une consigne est transmise au 4Q en vue de commander les rotations des roues de la gamelle. 4.3. Stratégie En début de parcours, l’environnement est scanné en vue d’atteindre le centre de symétrie, une fois arriver sur ce point nous prenons comme nouvelle destination le point d’arrivé. Cette stratégie permet de minimiser le temps de parcours, toutefois elle n’est fonctionnelle que pour des parcours simples. Lorsque la gamelle rencontre un obstacle, une nouvelle cible intermédiaire à 15 cm de l’obstacle est alors définie. Page 12 Rapport Coupe Robotique Cachan | Juin 2016 Conclusion Ce projet nous a permis d’approfondir nos connaissance dans le domaine de la robotique : En électronique lors de la conception des cartes électroniques, lorsque nous avons du choisir les composants et pour les souder En programmation en langage C pour le programme du microcontrôleur de la carte Nucléo Par ailleurs, ce projet a favorisé notre apprentissage en autonomie via le choix des composants notamment. Grâce au travail en équipe, nous avons pu développé notre esprit d’équipe. Page 13