Binome2015-1
Sommaire
Tâches des éléments à réaliser
Tâches du robot compétiteur :
- trouver la balle
- la récupérer
- la lancer dans le but
- trouver le but
- ne pas sortir du terrain
Tâches du but:
- Faire clignoter la balise
- repérer quand la balle est dans le but
Matériel disponible
Choix des composants du robot compétiteur:
- un châssis deux roues
- un arduino MEGA
- un capteur ultrason
- une plaque d'essais
- capteur de couleur
- contrôleur (monte)
- phototransistor
Buts
Dimensions
- Largeur : 30 cm
- Hauteur : 12 cm
- Profondeur : 12 cm
Détection de la balle
- Phototransistor IR
- Position ?? (1x milieu / 2x côtés)
- Caches noirs devant et derrière pour éviter la réflexion
Problèmes à résoudre
- Finir les dimensions
- Affichage du score
- Communication entre buts
- Pente
Robot joueur
À faire une fois le but terminé.
Séances
Séance 1
Le projet nous a été présenté par les professeurs lors de cette séance. L'objectif est de créer un jeu de foot en utilisant la robotique. Ce jeu sera composé de robot-joueurs qui vont devoir récupérer la balle et la tirer dans des buts également créés par nous. Le jeu contiendra également des robots ramasseurs qui devront venir chercher la balle dans les buts et la remettre à sa position initiale. Ces robots se déplaceront sur un terrain délimité par des lignes, qui devra aussi être construit par nos soins. Nous devrons programmer et câbler nous même le robot ainsi que mettre en œuvre les différentes interactions avec les autres joueurs, le terrain et les buts. De plus, tous les robots devront se replacer dans un "garage" à la fin de leur mission.
Séance 2
Durant cette séance, nous avons débuté le montage de la structure du robot. Le montage des pièces nous a pris beaucoup de temps car celles-ci ne s'imbriquaient pas parfaitement et que la notice n'était pas très claire. Nous avons monté le support des piles, les roues ainsi que soudé des fils sur les bornes des moteurs. Pour finir, nous avons découvert le logiciel arduino en langage C qui assurera le bon fonctionnement des modules une fois transférer sur la carte.
Séance 3
Cette séance a été centrée le contrôleur. Tout d'abord, nous avons soudé les broches sur le contrôleur puis nous avons étudier le processeur pour comprendre l'utilité des différents branchements pour bien câbler l'Arduino Mega avec ce composant. La difficulté résidait sur les différents types de connexion sur l'Arduino : broches analogiques, digitales, PWM, PWM ~, etc. D'un autre côté nous avons compris le fonctionnement de PWA, PWB pour contrôler la vitesse, A1O, A2IN pour le courant dans les roues... Ensuite nous nous sommes fixé comme objectif de faire rouler le robot pendant cette séance. Pour cela, nous avons travaillé sur le codage des moteurs par l'intermédiaire du contrôleur. Nous nous sommes beaucoup servi du site internet de Arduino entre-autres pour assimiler les différentes fonctions, bibliothèques d'Arduino. A la fin de la séance nous pouvions moduler la vitesse du robot, inverser le sens mais aussi la direction du joueur. L'objectif de nos prochaines séances est d'explorer et observer les composants dans le but de tout faire fonctionner ensemble.
Séance 4
Lors de ces 2 heures nous avons étudié le détecteur d'ultrason. Celui-ci permettra au robot d'éviter les obstacles comme les joueurs, les buts ou des objets étranger au jeu. A nouveau, nous avons procédé a la soudure et au branchement du détecteur d’ultrason sur l'Arduino. Puis, à l'aide d'Arduino IDE, nous avons codé le capteur de sorte que le robot s’arrête de tourner lorsqu'il voit un obstacle à moins de 10cm de lui. Sur ce composant le câblage a été plutôt facile car il n'y avait que 4 broches. Cependant, le code a été cette fois plus difficile car on ne récupérait pas tout de suite l'information sur la distance entre la voiture et l'objet, on avait tout d'abord la distance que parcourt l'onde pour aller et revenir au joueur. Ce que nous obtenions était la valeur de la tension aux bornes du détecteur proportionnelle à la distance de l'obstacle. Grâce a internet, nous avons pu utilisé cette valeur pour la transformé en une distance en centimètre de l'obstacle. Point important, la courbure des broches fait que le composant bouge sur la plaque et provoque donc des erreurs de mesures ce qui fausse la détection d'obstacles. Pour cela nous devons trouver un système pour fixer cet élément.
Séance 5
- Dans cette séance, c'est sur le détecteur de couleur, RGB sensor, que nous nous sommes penchés.
Sur ce composant nous retrouvons une fois de plus les pins communs VIN, GROUND... Ce composant possédait des pins particuliers : SDA et SCl qui ne peuvent se brancher que sur des emplacements prévus à cet effet sur l'Arduino. Le dernier utilisé était LED qui permet d'allumer la LED du composant, dans l'optique de mieux détecter la couleur. Pour ce composant c'est le professeur qui nous a aidé en nous montrant le programme pour connaître le "taux" de rouge, bleu et vert détecté par le capteur. En effet, le programme était beaucoup trop compliqué et aurait nécessité trop de connaissances et de temps pour le réaliser tout seul. Nous avons donc dû télécharger un exemple depuis internet que nous avons modifié pour pour ne garder que la fonction de détection et d'affichage de la couleur qui nous intéressait. Lors des tests pour voir comment se comportait ce composant, nous avons remarqué que indépendamment de la couleur devant son capteur, il détectait plus de rouge que de bleu ou de vert. Pour la construction du terrain il faudrait donc éviter d'utiliser des obstacles, des lignes rouges.
En accord avec la séance 4, nous avons ajouté un intermédiaire entre la plaque et le détecteur pour éviter qu'il ne bouge beaucoup. Cependant, cette solution est temporaire car elle permet de réduire seulement un peu la mobilité. Dans cet objectif de fixation, nous en avons profité pour ajouter des broches et des "caches" thermiques sur les fils des piles et des moteurs pour les allonger et éviter de tirer dessus lors de leur connexion avec la plaque d'essai.
Séance 6
Cette fois, c'est l'utilisation du logiciel Fritzing qui a été privilégiée. En effet, la première étape a été de sélectionner les différents composants et de les relier entre eux par le biais de la plaque d'essai. Seulement, le problème ici était l'absence de certains composants tels que le RGB sensor. Nous avons donc utilisé inkscape pour le dessiner et l'ajouter au logiciel, ce qui nous a occupé un certain temps. Grâce à Fritzing, nous allons pouvoir réaliser un circuit imprimé ce qui permettra d'alléger le câblage entre nos éléments. Il devrait également diminuer les problèmes de faux contacts causés par l'ensemble des fils.
Séance 11
- nous avons réfléchit pour le PCB et nous avons décidé de créer deux circuits imprimés.
- Tout d'abord le shield qui sera composé des liaisons pour le moteur, les piles, le contrôleur et le capteur ultrason.
- L'autre PCB contiendra les liaisons pour 3 infrarouges et les 2 capteurs RGB.
Séance 14
- Nous avons terminé les deux circuits imprimés (PCB) sur fritzing.
A ajouter
- Créer la pince en 3D + photos
- Réaliser et imprimer des engrenages en découpe laser + photos
- Réaliser les 2 PCB
- Programme arduino suivre les lignes ( + vidéo ?)
- Problèmes rencontrés : pour la pince ( et solution apportées )
- différentes manières de procéder pour programme arduino et celle qu'on a choisi, pourquoi