Binome2015-2
Sommaire
- 1 OBJECTIF DU PROJET
- 2 SÉANCE 18/01/16__Répartition et réflexion
- 3 SÉANCE 21/01/16__Réflexion Pince, Châssis et Soudure Moteurs
- 4 SÉANCE 25/01/2016__Réparation châssis et Soudures
- 5 SÉANCE 28/01/16__Conception FreeCAD et Câblage/Tests moteurs
- 6 SÉANCE 29/01/16__Tests des soudures, Programmation et Impression pince 3D
- 7 SÉANCE 01/02/16__Moteurs/Câblages
- 8 SÉANCE 04/02/16__Montage pince et Programmation
- 9 SÉANCE 08/02/16__Câblages, Fritzing, Piles et Programmation
- 10 SÉANCE 11/02/2016__Câblage, soudures Capteurs lignes, Servomoteurs et FreeCAD
- 11 SÉANCE 22/02/2016__Montage Servomoteur et Capteurs lignes, Assemblage pince, Fritzing
- 12 SEANCE 11 (le 25/02/2016)
- 13 SÉANCE 12 (le 29/02/2016)
- 14 SÉANCE 13 (le 3/03/2016)
- 15 SÉANCE 14 (le 7/03/2016)
- 16 SÉANCE 15 (le 10/03/2016)
- 17 SÉANCE 16 (le 14/03/2016)
- 18 SÉANCE 17 (le 19/03/2016)
- 19 SÉANCE 18 (le 21/03/2016) + SÉANCE BONUS (même jour 16h-18h30)
- 20 SÉANCES BONUS (le 23/03 de 13h30 à 18h30 et le 24/03 de 16h à 18h)
- 21 SÉANCE BONUS ( le 30/03/2016 16h à 18h)
- 22 SÉANCE 19 (le 18/04/2016)
- 23 SÉANCE 20 (le 25/04/2016)
- 24 SÉANCE BONUS (le 27/04/2016 16h-18h)
- 25 SÉANCE BONUS (le 28/04/2016 15h-18h)
- 26 SÉANCE BONUS (le 29/04/2016 17h15-18h15)
- 27 SÉANCE 21 + SÉANCE BONUS ( le 2/05/2016 de 10h à 18H30)
- 28 SÉANCE BONUS (le 3/05/20166 8h30 à 12H)
OBJECTIF DU PROJET
L'objectif de ce bureau d'étude est la conception de robots compétiteurs dans un jeu de balles.
Nous devons alors réaliser et/ou programmer des robots ramasseurs, des robots joueurs, des buts et le terrain. Le jeu suit le principe d'un match de football. C'est-à-dire qu'il y a plusieurs manches où les robots devront:
- robots ramasseurs: sortir du garage, aller positionner la balle au centre du terrain, retourner au garage, communiquer avec les autres robots et les buts, retrouver la balle et la replacer au centre. - robots joueurs: sortir du garage, retrouver la balle, mettre un but , communiquer avec le robot ramasseur et les but. Ils doivent aussi voir la
SÉANCE 18/01/16__Répartition et réflexion
Dans un premier temps, les encadrants ont présenté le projet. Puis nous avons organisé une répartition du travail afin d'harmoniser les envies de chacun et les nécessités. Ainsi, nous avions pour idée, que chaque binôme puisse travailler sur un robot (ramasseur ou joueur) et une autre réalisation "annexe" (but ou terrain). Bien sûr, cette organisation pourra être changée par la suite. Notre binôme s'est inscrit pour la conception du robot ramasseur et la préparation du terrain.
Après avoir lu en détail le sujet de projet, nous avons discuté entre nous des éléments importants de la réalisation du robot et du terrain. Puis nous nous sommes regroupés avec le binôme 7 afin discuter du choix de châssis pour le robot ramasseur. Un 2 roues permet une mobilité plus simple mais un 4 roues permet une meilleure stabilité.
>>> Nous avons alors décidé d'essayer un châssis 4 roues ayant beaucoup d’éléments a placer sur le robot.
Nous avons aussi abordé le problème des articulations des servomoteurs et la dispositions des roues. Aucune conclusion à ce sujet à la fin de la séance.
Ajout de servomoteurs ? réflexion 2 en plus ou 4 ? Le 4 est préférable au 2 car la configuration type "voiture" peut poser problème au demi-tour.
Recherche comment gérer les servomoteurs en programmation Arduino/c.
Commencer les recherches pour la pince imprimable en 3D (plexiglas).
SÉANCE 21/01/16__Réflexion Pince, Châssis et Soudure Moteurs
Durant cette deuxième séance, nous avons réfléchi à la conception de pince avec le binôme 7. Celui-ci utilisera un modèle grappin. Dans notre cas, pour la réalisation de la pince nous pensons utiliser :
- des engrenages on aurait alors besoin d'un seul moteur (une seule rotation) pour ouvrir et fermer celle-ci. - la tête sera plus ou moins large pour avoir une meilleure tenue de la balle. - un matériau afin d'éviter que les crochets de la pince glissent contre la balle qui est en plastique lisse (bande antidérapante ?).
Nous pouvons aussi peut-être faire rouler la balle au sol mais cela risque de gêner les déplacements du robot. Dans cette deuxième solution, la balle se doit d'être entourée par la pince afin que celle-ci ne s'échappe pas une fois poussée. (Cela est à réfléchir)
Puis nous nous sommes réparti le travail. Ainsi nous avons pu souder les fils aux moteurs et commencer le montage du châssis (après avoir retiré tout le carton) mais aussi réaliser l'installation d'Arduino et Ardublock. Des recherches sur la programmation du capteur de couleurs et de la lumière ont été faites ainsi que sur les connexions de l'Arduino avec les différents composants.
Installation de certains logiciels chez nous. Faire des recherches sur l'Arduino et la programmation (connaissances). Schématisation de la pince pour la faire plus facilement à la découpeuse laser.
SÉANCE 25/01/2016__Réparation châssis et Soudures
Pour cette troisième séance, nous avons réparé le châssis de notre robot avec l'aide d'un encadrant. En effet, suite à une défaut de pièce, notre plaque s'est cassé (au niveau d'une roue). Nous avons pu alors finir le montage du châssis.
Par ailleurs, nous avons profité de la séance pour faire quelques soudures supplémentaires. La soudure nous a permise de relier les fils aux pattes ainsi que les composants contrôleurs moteurs à d'autres pattes.
Durant cette séance, des tests arduino ont été réalisés sur les photodiodes, sur les capteurs couleurs et le capteur ultrasons. Nous avons réalisé la difficulté entre "l'idée" et la réalisation du programme arduino qui fonctionne avec les bons branchements.
continuer les recherches sur Arduino. commencer la conception de la pince sur logiciel.
SÉANCE 28/01/16__Conception FreeCAD et Câblage/Tests moteurs
Pendant la séance 4, nous nous sommes réparti le travail. L'un réalisait la conception 3D des pièces de la pince sur FreeCAD tandis que l'autre continuait les tests Arduino ainsi que le câblage.
Aujourd'hui les tests Arduino et le câblage ont ciblé le fonctionnement des moteurs. Face à un non fonctionnement du système après de nombreux essais il a été conclu que peut-être qu'une de nos pièces étaient défaillantes: nous allons donc tester chaque partie au multimètre à la séance du lendemain.
Pour la pince, la conception 3D de chaque pièce sur le logiciel FreeCAD a bien avancé (quasiment fini). Nous avons décidé de réaliser chaque pièce indépendamment pour faciliter l'impression mais aussi pour avoir la possibilité de les assembler nous-mêmes. En effet, cela nous permettrait une plus grande liberté d'angle et de positionnement. (nous visserons les pièces entre elles par la suite).
La pince est composée :
- 2 engrenages (un fixe et un lié au moteur) - 4 branches (différentes 2 à 2) - 2 plaque de fin permettant de contenir la pince et la faire rouler.
Peut-être lors de la prochaine séance nous aurons la possibilité d'imprimer les éléments de la pince.
Continuer les recherches sur Arduino pour les prochains tests. Finir la conception 3D des pièces sur FreeCAD.
SÉANCE 29/01/16__Tests des soudures, Programmation et Impression pince 3D
Dans un premier temps nous avons refait des tests sur différentes parties soudées afin de vérifier qu'aucun problème n'est lié à celles-ci. Malheureusement, un de nos contrôleurs moteurs a cramé suite à un mauvais branchement. Nous avons dû refaire les soudures sur un nouveau contrôleur. Ainsi plus aucun problème n'a été observé, notre programmation et notre branchement de la dernière séance étaient donc corrects.
Nous avons finaliser les pièces du prototype de la pince afin de l'imprimer en 3D. Chose faite. Une des pièces n'étant pas assez longue il faudra l'agrandir pour la prochaine fois. Durant la prochaine séance il faudra assembler ces pièces.
Puis nous avons continuer la séance avec de la programmation Arduino (à l'aide d'openclasroom) et le câblage des roues.
Nous sommes rester sur place pour continuer sur la programmation (faire tourner les moteurs C et D).
Un problème est apparu, en effet, la roue D tourne moins vite que les autres et il ne s'agit pas d'un problème de pin ou de programmation. Peut-être le moteur est-il endommagée ou peut-être les soudures ne sont pas correctes. Nous devons régler ce problème durant la prochaine séance.
SÉANCE 01/02/16__Moteurs/Câblages
Durant cette sixième séance peu d'avancées ont été réalisées, la résolution d'un problème ayant pris énormément de temps. En effet, il a fallu résoudre le problème vu précédemment: une roue tournant moins vite que les autres. Après avoir, inverser les fils ou les contrôleurs, inverser les moteurs et faire des soudures. Le problème s'est avéré être un faux contact entre deux fils d'alimentation du moteur.
Réfléchir a des programmes Arduino pour faire tourner le robot, pour le capteur ultrason. Faire des modifications a la pièce plaque de la pince.
SÉANCE 04/02/16__Montage pince et Programmation
Aujourd'hui nous avons monté le prototype de la pince. Et nous avons pu alors nous rendre compte que certaines pièces sont trop petites ou mal orientées. Elles seront donc a refaire pour la prochaine fois, afin de pouvoir imprimer lundi la pince complète.
Puis nous nous sommes concentrés sur la programmation de notre robot. A ce jour, le robot avance et recule (sur une durée déterminée) et tourne. Petit problème : le robot tourne à l'infini il faut donc trouver une solution. Nous avons également commencé à préparer des bouts de programmes afin de faciliter la rédaction du programme final ( un programme : avance, tourne à droite, tourne à gauche, recule etc.).
- Refaire les pièces de la pince - Réfléchir au support de la deuxième partie de la pince - Réfléchir à la programmation du robot.
SÉANCE 08/02/16__Câblages, Fritzing, Piles et Programmation
Durant cette séance nous avons refait les câblages (diminuer leurs longueurs) afin d'y voir plus clair. Cela nous a aussi été utile pour commencer la schématisation de l'ensemble sur fritzing, logiciel qui nous permettra de réaliser le circuit imprimé. Nous avons eu un problème avec les piles, qui a été résolu. Nous avons un peu continué sur la programmation Arduino. Essentiellement, sur la programmation du servomoteur pour la pince. Il s'agit donc de contrôler les angles de rotation.
Il faudrait pour la prochaine séance avoir imprimer la pince en entier. Mais aussi penser a réaliser une conception 3D d'un support pour le deuxième engrenage; /!\ IMPORTANT /!\
Continuer fritzing et penser a superposer la carte arduino avec la tablette.
Programmation
SÉANCE 11/02/2016__Câblage, soudures Capteurs lignes, Servomoteurs et FreeCAD
Lors de cette séance, nous avons résolu certains problèmes techniques mineurs: amélioration du câblage, recherche de vis et écrous adaptés à notre pince et aux différents diamètres sur nos pièces, optimisation de notre programme principal au niveau des moteurs.
Puis dans une seconde partie, nous avons réalisés les soudures pour les capteurs de ligne et nous avons mis en commun nos rechercher personnelles (au sein du binôme) sur le programme servomoteur de la pince. Nous avons réalisé certains tests (ces derniers seront à continuer durant la séance 10).
Enfin, nous avons finis la pince en conception 3D sur FreeCAD, et avons pu commencé à l'imprimer.
Après les vacances : Nous allons nous concentrer sur la partie "capteurs" (ultrason, de ligne et infrarouge) ainsi que sur la réalisation du circuit imprimé sur le logiciel fritzing. Il faut également que nous réalisions plus de fonctions (par exemple de type : avancer, tourner à 90° en sens horaire/antihoraire) afin de faciliter par la suite la rédaction du programme global qui comprendra toutes les instructions du robot ramasseur.
Finir d'imprimer la pince. Et continuer fritzing.
SÉANCE 22/02/2016__Montage Servomoteur et Capteurs lignes, Assemblage pince, Fritzing
Nous avons, dans un premier temps, réalisé le câblage du servomoteur et de 3 capteurs de lignes disposés à l'avant du robot. Ainsi des premiers tests et des programmes sur Arduino ont pu être réalisé pour ces 3 capteurs et pour le moteur. Nous avons commencé la préparation un programme spécifique pour la fermeture de la pince selon la réception d'information venant des capteurs. La finalité pour les capteurs a été de calibré les valeurs de sortie pour construire un programme qui permet de faire avancer ou reculer le robot suivant qu'il se trouve devant une ligne.
Dans un deuxième temps, nous avons assemblé définitivement les différentes pièces de la pince et nous l'avons relié au servomoteur par l'un des engrenage, le mouvement (d'ouverture ou fermeture) transmis par ce dernier au second engrenage.
Enfin nous avons pu réaliser la suite de la schématisation des câblages (ou réalisation du circuit) sur fritzing. Sur le logiciel nous avons donc pour le moment:
- la carte arduino,les piles - 4 moteurs (roues) liés aux contrôleurs moteurs. - 1 servomoteur - 3 capteurs de ligne
Nous avons discuté de la possibilité de réaliser plusieurs circuits spécifiques à différentes fonctions: il a été décidé après discussions avec les autres étudiants ainsi que les professeurs encadrant de tout faire sur une même carte.
Cependant, nous avons réalisé qu'il nous manque un support pour le deuxième engrenage de la pince (donc la seconde moitié). Ce support serait à réaliser pour/durant la prochaine séance et il permettrait aussi de maintenir le servomoteur en avant de la pince.
travail personnel: Finir la schématisation sur fritzing des capteurs et télécharger les autres détecteurs ou contrôleurs disponibles sur le wiki.
Si possible, réaliser la conception 3D du support et l'imprimer (si imprimante disponible).
SEANCE 11 (le 25/02/2016)
Pour cette séance nous avons pu réaliser l'impression du support de pince et télécharger les composants manquants de fritzing.
Ainsi, aujourd'hui nous avons alors eu l'occasion de percer et relier le support à notre robot, de même que pour les engrenages de la pince. Ayant un problème de dimensionnement, il nous a fallu ajouter des éléments (boulons ou autres) pour résoudre ce problème de différence de hauteur entre engrenages. Bref, la pince est enfin montée sur le robot !
Dans ce cas, nous avons pu continuer la programmation Arduino, c'est à dire le début de la réalisation d'un programme principal regroupant plusieurs fonctions qui serviront dans le futur, mais aussi la programmation de la pince dans une situation complète (plus basée uniquement sur le servomoteur mais sur la pince dans son ensemble).
Un 1er problème est alors apparu: Le servomoteur et sa partie de pince ont du mal à tourner face à l'autre engrenage. On a un blocage lié à une difficulté. Il semblerait que les engrenages soit trop proches l'un de l'autre donc le mouvement nécessite plus de puissance. CE PROBLÈME EST A RÉSOUDRE POUR/DURANT LA PROCHAINE FOIS.
Puis un deuxième problème: La pince est bien placée et bien dimensionnée par rapport à la balle, mais il semblerait que les angles formés par les plaques ne permettent pas de garder parfaitement et pousser la balle. Les plaques n’étant pas visées il est possible de résoudre ce défaut facilement. Peut-être devrions-nous couper un des bords des plaques pour gagner en "orientation de fermeture."
Finalement pour conclure cette séance nous avons discuter avec les binômes 8 et 10 au sujet du terrain. Ces derniers ayant bien avancé sur les capteurs de lignes ou couleurs, nous ont dis que le terrain ne pouvait se faire qu'avec un fond blanc, des lignes noires et vertes. Peut-être même des lignes bleues mais il faut vérifier que le robot ne confonde pas vert et bleu.
Réfléchir aux dimensions du terrain et aux lignes. Continuer Fritzing.
SÉANCE 12 (le 29/02/2016)
Nous avons durant cette séance nous avons pu résoudre les problèmes de la séance 11 en changeant de vis pour unir les différentes pièces de la pince. Nous avons aussi percé et visé les plaques grises de celle-ci.
La programmation de la pince est toujours en cours car aujourd'hui, nous avons continué la programmation des capteurs de lignes. Peut-être en rajouterons nous un sur le coté par la suite afin de capter le centre du terrain. Cette solution est à réfléchir car peut-être va-t-elle plus entrainer de problèmes que de simplifications.
Nous avons aussi eu une réflexion sur le terrain. Nous allons reprendre les dimensions du terrain de l'année dernière afin de facilité le travail. Pour les rebords, peut-être faudra-t-il utilisé des morceaux du terrain de l'année dernière servant actuellement de terrain tests.
Puis nous avons continué le circuit imprimé sur Fritzing qui a dû être entièrement recommencé durant le week-end suite à une problème de routage.
travail personnel : Continuer Fritzing et programmation arduino.
SÉANCE 13 (le 3/03/2016)
Continuité du de la séance 12 avec Fritzing et la programmation du programme principal et début de la programmation des 4 phototransistors IR quand nous avons installé sur le robots aujourd'hui.
Cette programmation est d'ailleurs liée à l'ouverture/fermeture de la pince car cela dépend des longueurs captées par les phototransistors IR.
SÉANCE 14 (le 7/03/2016)
Cette séance n'a malheureusement par permis de beaucoup avancer sur le projet. En effet, nous avons un peu continué sur la programmation du robot mais nous nous sommes surtout concentré sur la fin de la carte de puissance. Et après vérification, nous avons réalisé qu'il y a un gros problème sur celle-ci. Le routage étant trop compliqué, pas assez propres et pouvant ainsi gêner au bon fonctionnement de la carte. Celle-ci est à recommencer en changeant certains câblages et positions de composants, afin de faciliter le routage.
travail personnel: Rattraper le circuit imprimé sur fritzing pour lundi prochain au plus tard !
SÉANCE 15 (le 10/03/2016)
Continuité de la séance 14.
Rattraper le circuit imprimé sur fritzing pour lundi prochain au plus tard !
Réécriture du programme final avec les bonnes pins suivant le câblage fait sur Fritzing
SÉANCE 16 (le 14/03/2016)
Durant cette séance, nous avons continué encore une fois Fritzing pour finir le PCB. Après avoir fait vérifier, il a été conclu que celui-ci devait être réalisé en deux cartes. Au lieu de tout mettre sur une même carte, il est finalement impératif de faire une carte de puissance (circuit réservé aux moteurs et à l'alimentation) et une carte de capteurs IR/lignes pour facilité le routage.
Puis, nous avons mis à jour les différentes pins. En effet, celle-ci avaient été changées, déplacées, modifiées afin de facilité le circuit imprimé sur l'ordinateur. Cette mise à jour fut réalisé en deux fois, suite à des petites erreurs de modifications dans un premier temps.
Nous avons alors fait face à un nouveau problème. Nos programmes Arduino fonctionnent bien, cependant le robot a beaucoup de mal à ce déplacer. Il semblerait que celui-ci soit trop lourd ou que les moteurs ne soient pas suffisamment alimentés. CE problème a été résolu.
Finition de la carte de puissance et de la carte de capteurs (le même jour durant l'après midi) >> VOIR PHOTOS
SÉANCE 17 (le 19/03/2016)
Nos PCB imprimés , nous avons pu commencer les soudures de barrettes (mâle/femelle) sur les cartes. Nous avons cependant remarqué un petit défaut sur le PCB "carte de puissance" lié au programme fritzing, les contrôleurs moteurs font une taille de 500 mil alors qu'avec le logiciel nous avions prévu 600 mil. Ce problème est commun pour tout les groupes. Les composants sont donc trop petits. Pour résoudre ce problème, nous utiliserons des barrettes soudée un petit peu de travers (nous pouvons aussi tordre les pins). Nous avons aussi essayé de résoudre le problème d'alimentation de la séance dernière. SANS SUCCÈS. L'idée actuelle de résolue semble risquée (surchauffe carte Arduino) nous ne sommes donc pas allés plus loin. A VOIR LA PROCHAINE FOIS.
Nous avons aussi fait un peu de programmation. Dans un premier temps: Nous avons continué la programmation de la pince. Celle-ci ne se ferme pas complètement. Nous sommes toujours entrain d'essayer de comprendre et de voir comment lui donné les angles d'ouverture et de fermeture voulus. Dans un deuxième temps: Le programme de capteurs de ligne que nous utilisons ne fonctionnait pas, les valeurs retournés n'étaient pas correctes. Heureusement nous avons retrouvé dans nos anciens programmes, un bloc d'instructions pour les capteurs de ligne. Ce dernier retourne des valeurs correctes, pouvant variées en moyenne entre 400 à 600 et 800 (ordre de grandeur) selon les nuances de couleur/gris. Nous avons une grande différence de valeur pour du blanc et une ligne noire. On a donc enfin moyen de réaliser un programme correct pour les capteurs de ligne.
Liste des sous-programmes actuels:
(le programmes sont toujours en cours de réflexion et seront encore modifiés par la suite, afin de construire un programme final nommé ROBOT ) (l'entier a permet de déterminer la durée de l’exécution)
- Capteurs de ligne : valeurdeligne(); captligne(int a) - Moteurs : rotate45g(int a); rotate45d(int a); recule(int a); avance(int a) - Pince : ouvre(); ferme() - Autres: stop(); setup(); loop(); - initialisations : pins, pwm, stby...(bloc d'instructions, pas fonction)
SÉANCE 18 (le 21/03/2016) + SÉANCE BONUS (même jour 16h-18h30)
Nous avons continué les soudure de PCB et proposé un plan du terrain innovant.
SOUDURES:
Lors des soudures des 2 PCB, nous avons remarqué que la carte des capteurs présente un défaut de conception. En effet, certains cercles de pins n'ont pas été bien réalisés/imprimés. On a aussi observé que le plan de masse avait tendance à toucher les soudures car les pins étaient trop proches. La solution pour ce problème fut, comme on peut le voir sur la photo ci-joint, de retirer complètement une partie du plan de masse autour des pins à zone très précise, pouvant poser problème. Cela rend la soudure plus sensible et diminue le risque de court circuit. Nous avons donc réimprimé une carte pour les capteurs.
TERRAIN :
Sur la base d'observations faites dans les différents groupes, nous avons pu remarquer que la difficulté principale était de gérer les croisements de lignes. Effectivement, cela est compliqué tant au niveau de l’algorithme de décision que du codage brut. Nous avons donc imaginé un terrain en escargot dans une couleur spécifique, lui même entouré d'une bordure d'une autre couleur suffisamment différente pour que les capteurs de ligne puissent faire la différence. Ainsi les robots ramasseurs pourraient plus facilement rejoindre le centre du terrain et les robots joueurs seraient toujours empêchés de sortir du terrain. (voir la photo)
BONUS: Nous avons vérifié si le PCB du matin n'avait pas de court circuit. Malheureusement, plusieurs fois nous avons du refaire les soudures, retirer de l’étain ou corriger des défauts. Nos soudures n'étaient pas si mal que ça, mais le fer à souder formant des boules d'étain, nous en avons mis trop, d'où les problèmes. Cela nous a pris tout l'après-midi. La difficulté spécifique à notre PCB est l'utilisation de fils très fins et rapprochés les uns des autres.
SÉANCES BONUS (le 23/03 de 13h30 à 18h30 et le 24/03 de 16h à 18h)
Durant ces deux jours, nous avons pu finir les vérifications de soudures, il s'agissait d'éviter les court-circuits entre les pistes et la masse, ainsi que vérifier que les soudures soient correctes. Nous avons aussi fini la soudures des composants de la carte de capteurs. Aucun gros souci n'est arrivé durant cette première partie.
Nous avons aussi eu l'occasion de "officiellement" commencer à tester nos programmes. Les cartes fonctionnent bien et le robot réagit correctement. Il y a eu quelques modifications à faire dans les programmes. En effet, nous avons corrigé ou finalisé avance() , recule(), rotate45g() et rotate45d().
Un problème avec l'alimentation s'est observé. nous devons constamment brancher les piles afin d'avoir assez de puissance. Cependant, les piles branchées seules et sans lancer de programme entrain une légère surchauffe de la carte Arduino. Cela ne s'observe pas lorsqu'on lance un programme. C'est étrange. A VOIR LA SEMAINE PROCHAINE.
Création d'un groupe sur Facebook afin de discuter avec tout le monde du terrain et des buts. Réalisation d'une nouvelle représentation du terrain. Le terrain est composé de 4 plaques de 1,40x1,90 m qu'on positionnera pour faire un grand rectangle. On y disposera les lignes de terrain, les garages et les buts.
- ligne noire : délimitation terrain _ les joueurs ne doivent pas la dépasser - ligne bleue : ligne permettant aux robots ramasseurs d'atteindre le milieu du terrain - lignes verte: repères garages robots joueurs.
mais peut-être que l'utilisation de bleu et de vert peut poser problème. Peut-être devrons nous utiliser uniquement du noir et du bleu.
SÉANCE BONUS ( le 30/03/2016 16h à 18h)
Un membre de notre binôme et un membre du binôme 10 ont préparé le terrain. Cela s'est réalisé suite à une mise en commun avec tout les autres groupes, afin de connaître leur avis et leur envie liés à la conception du terrain. La conception s'est réalisée suivant le terrain proposé par notre groupe, c'est à dire celui présenté dans la séance bonus précédente.
Concernant l'avancement de notre robot, nous n'avons malheureusement pas eu l'occasion de résoudre le problème d'alimentation. Nous verrons donc cela après les vacances. Jusque là, nous nous concentrerons sur la programmation.
Travail personnel: pendant les vacances, modification du fichier avec les programmes principaux. ajout des programmes capteurs de ligne et capteurs IR.
SÉANCE 19 (le 18/04/2016)
Aujourd'hui, nous avons eu l'occasion d'observer et d'essayer de résoudre le problème d'alimentation apparu avant les vacances. Il s'agit d'une surchauffe de la carte arduino selon certaines situations ou un manque de puissance si nous n'utilisons pas les piles ou uniquement les piles. Après recherche il nous avons découvert qu'il s'agissait du composant ajustant le voltage entre le Vin de l'arduino et la sortie 5.5V que nous utilisons également or nous envoyons du courant juste à la frontière où le composant est censé fonctionner, c'est à dire 5.9V ( en effet 1.5V*4=6). Pour résoudre ce problème nous allons donc utiliser 8 piles afin d'avoir plus de puissance plus d'autonomie et normalement régler le problème de surchauffe du composant. La réalisation de ce système à 8 piles se fait (grâce à l'aide des professeurs) par un bloc de 4 piles sortant en usb femme les 6 v et relié en série à notre bloc initiale que nous avons donc raccordé à un usb mâle comme le montre simplement le schéma ci joint.
Deuxièmement, nous avons pu résoudre un problème mineur de pince, en effet, les pièces n'étaient pas bien visées et les engrenages mal liés/emboîtés. Ce qui posait problème lors de l'ouverture ou fermeture de la pince. Suite a un changement de vis et un agrandissement des trous à la perceuse, tout est correct.
Niveau programmation: Nous avons finalisé nos programmes ouvre(), ferme() pour la pince et LectureLigne() pour les capteurs de lignes. Nous sommes restés un peu plus longtemps pour continuer la programmation des capteurs de ligne. Un petit problème a résoudre (cela se fera rapidement) est une modification dans les initialisations des pins des capteurs. En effet, suite à la réalisation du PCB nous avons des ajustements à faire sur les programmes.
travail personnel: Revenir dans la semaine voir le problème d'alimentation. >> Cela a été fait jeudi. Les piles en série sortent bien du 12V on devrait alors avoir assez de puissance, cependant la carte chauffe trop nous devons faire la prochaine fois des tests pour vérifier si nous avons pas un court-circuit. Pour cela il faudra voir si la carte chauffe toujours lorsque les câbles ne sont pas branchés sur la carte de puissance. Peut-être devrions-nous alimenter au niveau d'un VIN et d'un GND et non plus à l'emplacement prévu pour les piles.
SÉANCE 20 (le 25/04/2016)
Pour cette 2ème séance, nous avons continué a résoudre le problème de l'alimentation vu précédemment. C'est-à-dire que nous avons vérifié si nous avons des court-circuits avec branchements ou sans branchement, et vérifié si l'arduino ne surchauffe pas en l'alimentant dans un premier temps avec 6 Volts puis 12 Volts. Avec 6 V tout semble correcte et nous avons assez de puissance sur le sol ou sur une table. Cependant, sur le support terrain ce n'est pas le cas. Nous devrons donc bien alimenter en 12V. Il nous faut encore voir si la carte peut supporter 12V.
Lors de la dernière séance nous avons remarqué qu'une bonne partie des pins capteurs de ligne et photo transistors n'étaient pas les bons dans les programmes. Nous avons donc pris quelques minutes pour faire la correction de ces pins. De même, nous avons refait deux soudures sur des câbles qui se sont cassés.
Avant dans la partie informatique : Nous avions durant la semaine perdu notre programme principal (avec tous les sous programmes, c'est a dire le plus important) nous avons donc procédé à la réécriture après avoir récupéré une vieille version de celui-ci et fait une sauvegarde de secours. Nous avons testé les programmes LectureLigne() et LecturePhoto() qui lisent les valeurs des capteurs de ligne ou phototransistors. Nous avons ensuite écrit une fonction calculant la moyenne pour 100 valeurs captées, nous pouvons utiliser cette fonction aussi bien avec les lignes que la balle. Nous avons pu, à l'aide des moyennes, prendre en note les valeurs utiles de seuils détectés selon les capteurs gauches, milieux ou droits.
Soit : - seuil Blanc: GAUCHE = <500 MILIEU = 690-700 DROIT = <650 ou 705 - seuil BleuClair: GAUCHE = (550 à 620)ou 573 MILIEU = 759 DROIT = 650 à 750 - seuil Noir: GAUCHE = >920 MILIEU = >900 DROIT = >950 - seuil BleuFoncé: GAUCHE = 880 à 898 MILIEU = 830 à 840 DROIT = 885 environ
Suite aux tests, nous avons aussi pu remarquer que plus la balle est proche plus la valeur détectée est importante et inversement.
Finalement un nouveau programme a été réaliser : un programme de réajustement de décalage léger si deux capteurs ont un signal, cela permet d'éviter des virages trop importants.
Continuer la programmation et les tester. + Prendre rendez-vous pour réaliser la vidéo du rendu. >>> Nous avons pu prendre rendez-vous pour le MERCREDI 4 MAI à 9h en E304 (espérant tourner en E303)
SÉANCE BONUS (le 27/04/2016 16h-18h)
Durant ce mercredi après-midi, nous avons essayer d'utiliser le plus de fois possible l'alimentation 12V avec les piles. Nous n'avons eu aucun problème et la carte ne chauffe plus de manière excessive. L'arduino supporte donc les 12V. Le problème de l'alimentation est donc définitivement réglé. De plus, nous avons découvert un avantage intéressant: sur l'un des boîtiers nous avons un interrupteur. Nous n'avons donc plus besoin d'en rajouter un.
Par la suite, nous avons pu alors continuer les tests tout en utilisant uniquement les piles, une fois le programme téléverse. Niveau programmation, il a fallu revoir à nouveau les programmes de base. C'est-à-dire avance(), recule(),rotateD()... En effet, le programme avance() (dans notre fichier principal) ne fonctionnait plus malgré une bonne rédaction de programme et de bon branchements sans court-circuit. Nous avons alors copié le programme avance() d'un sous-programme de test et collé celui-ci à la place du programme avance() défectueux. Le problème est résolu.
Enfin, lors des tests, nous avons régulé la puissance des moteurs. La puissance étant à 255, le robot roulait trop vite. Sur le support terrain, une puissance de 150 semble correcte.
Pour terminer, nous avons refait des tests pour déterminer les seuils (seuil balle proche et seuil balle loin) liés au repérage de la balle et à la capture de celle-ci. Cependant, nos valeurs ne nous semblaient pas correctes. Ces tests sont à refaire.
travail personnel: Continuer la programmation. Revenir dans la semaine.
SÉANCE BONUS (le 28/04/2016 15h-18h)
Aujourd'hui, nous avons fait des recherches sur la communication Xbee. Et nous avons alors réaliser des soudures de câbles sur l'une d'entre elles, afin de la relier par la suite à l'arduino. Les recherches sont à approfondir.
Nous pouvons dire que le robot est complètement équiper pour réaliser les tâches demandées. Il a tout ce qui faut en conception (pince) et au niveau électronique. Bien sûr, la programmation est à finir.
Au sujet de la programmation, nous avons réalisé une amélioration des programmes avec une évaluation distance_temps_arret. Effectivement, une bonne partie de nos programmes tournait à l'infini. (ex: avance à l'infini, recule à l'infini, tourne à l'infini). Maintenant, avec un entier A, correspondant au temps voulu en ms, donné en argument aux fonctions, nous pouvons déclencher l’arrêt des fonctions après A ms.
niveau alimentation: toujours rien à signaler.
travail personnel: Continuer la programmation :
- Xbee (le moins urgent) - suivi ligne tests à faire - IR a finir
SÉANCE BONUS (le 29/04/2016 17h15-18h15)
Aujourd'hui nous avons continué les tests sur les seuils des capteurs. Si les valeurs ne sont pas correctes, il sera difficile de tester les programmes suivi de ligne ou suivi de balle. Pour le moment, nos valeurs ne semblent pas correctes. Cela est surement du à la luminosité ambiante, il nous faut donc faire les tests en protégeant les capteurs de cette lumière (essai avec du scotch sombre). De plus, autre problème, les valeurs pour le bleu clair et le blanc sont très proches (nous avons observés les mêmes résultats durant la séance 20)
travail personnel: Le robot a été emmené chez nous durant le weekend. La programmation est a continuée. Nous devons aussi réfléchir à la vidéo.
SÉANCE 21 + SÉANCE BONUS ( le 2/05/2016 de 10h à 18H30)
De 8h à 10h nous avons retravaillé sur les fonctions de base suite à un problème de piles. En effet, celles-ci s'étant déplacées ont crée une mauvaise connexion. Le problème fut rapidement résolu. Nous avons aussi travaillé sur la communication Xbee. La communication ne s’établit pas entre les deux Xbee, cependant notre programme semble correct. Le problème sera à résoudre une fois les fonctions suivi de ligne et suivi de balle réalisé. Nous avons aussi avec un membre du Binôme 7 changer les lignes du terrain. En effet, les capteurs ne font pas la différence entre le scotch bleu clair et le blanc. Cependant, les capteurs distinguent bien le noir (>900) et le bleu foncé (>800 et <900). Le bleu foncé a donc pris la place du bleu clair. Nous avons pour cela utiliser le gros scotch (celui-ci étant composé de rouge, c'est idéal) que nous avons découpé en deux.
Durant l'après-midi, nous avons continué de travailler sur la détection IR et le suivi de la balle. Mais nos valeurs n’étant pas correctes (avant elles l'étaient). Un problème est donc apparu quelque part. Nous pouvons dire qu'une valeur n'est pas la bonne si elle est fixe ou égale à zéro. Toutes nos phototransistors retournent du zéro. Avec l'aide d'un accompagnateur, nous avons alors recommencé les tests avec les branchements de bases (juste alimentation résistance et phototransistor) jusqu'à obtenir de nouveau le branchement avec le PCB. Les premiers tests fonctionnent, les tests avec d'autres ordinateurs ou avec une cartes arduino uno fonctionnent aussi, ainsi que les tests avec uniquement la carte de contrôleurs . Le problème doit donc venir du passage PCB de puissance au PCB de contrôleurs. Avant la fin, nous avons vu que des soudures n’étaient pas bien faites. Peut-être que l'origine du problème s'y trouve.
SÉANCE BONUS (le 3/05/20166 8h30 à 12H)
Aujourd'hui nous avons essayé de régler le problème des capteurs IR. Apres avoir refait des soudures et refait des tests nous n'avons observé aucune amélioration. Nous nous sommes donc concentrés sur le suivi de ligne afin de présenter cela en vidéo.
Cependant nous avons réalisés que les valeurs de lignes n'étaient plus correctes pour tout les capteurs. En effet, une liaison entre le capteur du milieu et le capteur de gauche s'est établie. Ce n'est pas un problème de soudure et les capteurs sont bien alimentés en 5V. Nous avons comme pour les capteurs IR refait les tests avec les branchements basiques entre l'Arduino et les capteurs. En faisant cela, nous avons bien les résultats attendu. Un problème similaire à celui d'hier s'observe sur les PCB. Nous laisserons donc ces branchements.
Durant la suite de la matinée nous avons continué sur le suivi de ligne noire (suiviNOIR). Cependant, le résultat n'est pas parfait. Seulement deux résultats/conditions du programme sont pris en compte: "si tout va bien aller tout droit" et "si pas de ligne reculer".
Manquant de temps pour finir le suivi de balle et le suivi de ligne avant la vidéo, nous avons alors réalisé un programme réalisant un parcours pour le robot lorsque celui-ci ne capte aucun infrarouge avec une stratégie de balayage du terrain par le robot.