Binome2015-10 : Différence entre versions

De Wiki de bureau d'études PeiP
(Jour XV - 7 Mars 2016)
Ligne 141 : Ligne 141 :
  
 
=<span style="color:#008080">Jour IX - 11 Février 2016</span>=
 
=<span style="color:#008080">Jour IX - 11 Février 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 
Nous avons fini la fonction de détection d'obstacles à l'aide du capteur ultrason, après plusieurs séance de non fonctionnement ce problème est enfin résolu et nous servira de leçon pour les autres capteurs et pour nos futurs projets.
 
Nous avons fini la fonction de détection d'obstacles à l'aide du capteur ultrason, après plusieurs séance de non fonctionnement ce problème est enfin résolu et nous servira de leçon pour les autres capteurs et pour nos futurs projets.
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
Nous avons par ailleurs fixé un servomoteur à la pince. Nous avons eu un soucis avec le premier servomoteur, celui-ci tournait sans s'arrêter. Ce problème était matériel et une fois le cette pièce remplacée la pince pouvait s'ouvrir et se fermer. (Nous avons testé les valeurs correspondante à la pince ouverte puis fermée).
 
Nous avons par ailleurs fixé un servomoteur à la pince. Nous avons eu un soucis avec le premier servomoteur, celui-ci tournait sans s'arrêter. Ce problème était matériel et une fois le cette pièce remplacée la pince pouvait s'ouvrir et se fermer. (Nous avons testé les valeurs correspondante à la pince ouverte puis fermée).
  
 
=<span style="color:#008080">Jour X - 22 Février 2016</span>=  
 
=<span style="color:#008080">Jour X - 22 Février 2016</span>=  
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 
Aujourd'hui, nous avons commencé l'étude des capteurs de lignes. En effet, étant nouveau dans le domaine, nous avions du mal à nous représenter le fonctionnement du suivi de ligne. Nous sommes donc partis sur l'utilisation de 4 capteurs.
 
Aujourd'hui, nous avons commencé l'étude des capteurs de lignes. En effet, étant nouveau dans le domaine, nous avions du mal à nous représenter le fonctionnement du suivi de ligne. Nous sommes donc partis sur l'utilisation de 4 capteurs.
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
Premier problème : Nous avons soudés les capteurs à l'envers... Nous avons donc découvert la méthode pour désouder, mais nous avons réalisé qu'elle était compliquée et que le composant pouvais être sérieusement endommagé. Nous ferons en sorte d'être plus vigilant à l'avenir car ceci nous à fait perdre quasiment une séance et gâcher un composant.
 
Premier problème : Nous avons soudés les capteurs à l'envers... Nous avons donc découvert la méthode pour désouder, mais nous avons réalisé qu'elle était compliquée et que le composant pouvais être sérieusement endommagé. Nous ferons en sorte d'être plus vigilant à l'avenir car ceci nous à fait perdre quasiment une séance et gâcher un composant.
  
 
=<span style="color:#008080">Jour XI - 25 Février 2016</span>=
 
=<span style="color:#008080">Jour XI - 25 Février 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 
Nous avons commencé le programme de suivi de lignes. Nous sommes finalement partis sur 2 capteurs de lignes uniquement.
 
Nous avons commencé le programme de suivi de lignes. Nous sommes finalement partis sur 2 capteurs de lignes uniquement.
 
Le programme consiste à avancer tout droit jusqu’à la détection d'une ligne puis à s'aligner sur celle-ci pour enfin la suivre.  
 
Le programme consiste à avancer tout droit jusqu’à la détection d'une ligne puis à s'aligner sur celle-ci pour enfin la suivre.  
 
Nous avons rencontré une difficulté de codage : en effet nous faisions une boucle "while" tant qu'un capteur détectait un ligne mais nous n'avions pas pensé qu'il fallait dans cette même boucle actualiser la valeur du capteur.
 
Nous avons rencontré une difficulté de codage : en effet nous faisions une boucle "while" tant qu'un capteur détectait un ligne mais nous n'avions pas pensé qu'il fallait dans cette même boucle actualiser la valeur du capteur.
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
Nous avons donc perdu du temps sur cette étape mais à force de persévérance et grâce aux précieux conseils d'un autre binôme, nous avons réussi à corriger notre programme et celui-ci à parfaitement fonctionné. Le robot était en mesure de suivre une ligne.
 
Nous avons donc perdu du temps sur cette étape mais à force de persévérance et grâce aux précieux conseils d'un autre binôme, nous avons réussi à corriger notre programme et celui-ci à parfaitement fonctionné. Le robot était en mesure de suivre une ligne.
  
 
=<span style="color:#008080">Jour XII - 29 Février 2016</span>=
 
=<span style="color:#008080">Jour XII - 29 Février 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 
A la séance dernière nous avions réalisé un algorithme de suivi de ligne, seulement nous avons oublié un cas important : le virage !
 
A la séance dernière nous avions réalisé un algorithme de suivi de ligne, seulement nous avons oublié un cas important : le virage !
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
En effet, avec uniquement 2 capteurs de lignes nous ne pouvions pas faire la différence entre le virage à 90° et une sortie de piste.
 
En effet, avec uniquement 2 capteurs de lignes nous ne pouvions pas faire la différence entre le virage à 90° et une sortie de piste.
Ligne 165 : Ligne 185 :
  
 
=<span style="color:#008080">Jour XIII - 3 Mars 2016</span>=
 
=<span style="color:#008080">Jour XIII - 3 Mars 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 
Aujourd'hui nous avons rajouté un 4ème capteur de sorte à en avoir 2 à l'avant et 2 à l'arrière, ceci nous permet de détecter les virages à 90° mais l'éloignement des capteurs pose un sérieux problème : le robot part trop loin de la ligne et lorsqu'il pivote ne trouve pas cette ligne.
 
Aujourd'hui nous avons rajouté un 4ème capteur de sorte à en avoir 2 à l'avant et 2 à l'arrière, ceci nous permet de détecter les virages à 90° mais l'éloignement des capteurs pose un sérieux problème : le robot part trop loin de la ligne et lorsqu'il pivote ne trouve pas cette ligne.
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
Vers la fin de cette séance nous avons commencé à penser au PCB, nous avons donc installé Fritzing ainsi que les composants spécifique au projet.
 
Vers la fin de cette séance nous avons commencé à penser au PCB, nous avons donc installé Fritzing ainsi que les composants spécifique au projet.
Ligne 172 : Ligne 197 :
  
 
=<span style="color:#008080">Jour XIV - 7 Mars 2016</span>=
 
=<span style="color:#008080">Jour XIV - 7 Mars 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==
 +
 +
 
Nous avons abandonné le modèle à 4 capteurs pour revenir à un modèle de 3 capteurs, tous à l'avant avec celui du milieu légèrement avancé par rapport aux 2 autres. Ceci nous à pris un certains temps car le robot commence à comporter trop de fils et pour déplacer des capteurs nous avons accidentellement débranché certains fils... Nous avons sans succès réalisé un code similaire à celui du modèle précédent. Nous allons repartir de zéro sur les capteurs de lignes mais la séance prochaine sera consacrée au PCB.
 
Nous avons abandonné le modèle à 4 capteurs pour revenir à un modèle de 3 capteurs, tous à l'avant avec celui du milieu légèrement avancé par rapport aux 2 autres. Ceci nous à pris un certains temps car le robot commence à comporter trop de fils et pour déplacer des capteurs nous avons accidentellement débranché certains fils... Nous avons sans succès réalisé un code similaire à celui du modèle précédent. Nous allons repartir de zéro sur les capteurs de lignes mais la séance prochaine sera consacrée au PCB.
 +
 +
==''<span style="color:#804000">Partie Matérielle</span>  : Va y avoir d'la casse'' ==
  
 
Ces 5 dernières séances quasiment exclusivement consacrées au suivi de lignes nous ont permises de voir que lors d'un projet il faut savoir se remettre en question quitte à modifier totalement quelque chose d'existant, qu'il ne faut pas avoir peur de faire des essais, de se tromper car c'est ainsi que nous pouvons apprendre de nos erreurs et progresser. Ceci de sorte à ce que si nous nous confrontons à un problème similaire dans le futur, nous soyons en mesure de le résoudre sans perdre du temps.
 
Ces 5 dernières séances quasiment exclusivement consacrées au suivi de lignes nous ont permises de voir que lors d'un projet il faut savoir se remettre en question quitte à modifier totalement quelque chose d'existant, qu'il ne faut pas avoir peur de faire des essais, de se tromper car c'est ainsi que nous pouvons apprendre de nos erreurs et progresser. Ceci de sorte à ce que si nous nous confrontons à un problème similaire dans le futur, nous soyons en mesure de le résoudre sans perdre du temps.
  
 
=<span style="color:#008080">Jour XV - 10 Mars 2016</span>=
 
=<span style="color:#008080">Jour XV - 10 Mars 2016</span>=
 +
 +
==''<span style="color:#808000">Partie Logicielle</span> : Ultrason... je t'ai compris''==

Version du 11 mars 2016 à 21:32

Sommaire

Jour I - 18 Janvier 2016

Séance de présentation du projet global où nous avons :

  • Découvert le projet
  • Constitué les binômes : Ce groupe est composé de Kévin Descamps et d'Antoine Gosse
  • Choisi de travailler sur : un robot joueur
  • Établi le cahier des charges (à l'aide de : BE_2015-2016)
  • Pris des photos des différents éléments du châssis en cas de casse

Choix d'une sous partie : robot joueur

Après avoir échangé nos opinions avec les autres membres du groupe, nous somme parvenu à distribuer les tâches de chacun : nous avons fait en sorte d'avoir suffisamment de personne par sous-parties afin d'augmenter les chances d'avoir un projet final fonctionnel. Nous avons choisi de travailler sur le robot joueur qui disposera de 2 roues motrices et d'une roue libre.

Cahier des charges

Établi à l'aide de l'énoncé BE_2015-2016 Le robot doit être capable :

  • d'éviter les collisions
  • de suivre les lignes au sol
  • de repérer la balle infrarouge
  • de capturer la balle
  • d'expulser la balle
  • de communiquer avec les autres éléments du projet

Matériel à disposition

  • 1 Châssis : 2 roues motrice, 1 roue libre
  • 1 Arduino Mega2560
  • 1 contrôleur pour les 2 roues
  • 1 détecteur d'ultrason
  • 3 détecteurs de ligne
  • (4) phototransistors infrarouges
  • 1 système de pince basé sur un servo-moteur
  • 1 système d'éjection de la balle
  • 1 bouclier XBee

Photos des éléments du chassis

Jour II - 21 Janvier 2016

Aujourd'hui nous nous sommes réparti les tâches de la façon suivante :

  • Kevin à soudé les fils aux moteurs puis à commencé à monter le robot puis à débuté la modélisation 3D de la pince afin de pouvoir la fabriquer prochainement.
  • Antoine à découvert l'interface de développement d'Arduino.

Partie Logicielle : Découverte de l'IDE d'Arduino

Comme nous débutons la programmation avec Arduino, nous avons consacré la majeure partie de cette séance pour nous familiariser avec l'IDE.

Nous avons tenté d'utiliser Ardublock (programmation de l'Arduino par bloc) mais nous avons rencontré des difficultés et finalement nous avons convenu qu'il serait plus judicieux de programmer directement en C en s'aidant d'exemples.

Nous avons testé le capteur de distance à l'aide d'un exemple trouvé sur Internet. Ceci nous à permis de comprendre ce capteur, les différentes connexions : ECHO, TRIG, GND et la manière de les brancher sur l'Arduino (comprendre le principe d'entrées/sorties)

Partie Matérielle : Un faux départ

Nous avons commencé à monter le robot avant d'apprendre qu'il fallait au préalable souder des fils, perdant une bonne dizaine de minutes. Cependant cela n'empêchant pas le montage de notre robot a la fin de cette journée =D

Après avoir convenu d'un système de pince de type "mâchoires circulaires" (photo prochainement) nous nous sommes affairés à la modélisation 3D de cette pince à l'aide du logiciel FreeCAD.

Jour III - 25 Janvier 2016

Partie Logicielle : Des capteurs tu utiliseras

Nous avons continué de découvrir les différents capteurs et plus spécialement le capteur de ligne, nous prévoyons d'utiliser 3 capteurs de lignes afin de guider le robot. Nous avons commencé à nous occuper des moteurs, nous commencerons les tests à la prochaine séance.

Partie Matérielle  : Va y avoir d'la casse

Nous avons avancé sur la partie matérielle. La pince à finie d'être modélisé, elle est été imprimée en 3D. Malheureusement certaines pièces trop fines ont cassées, nous allons donc renforcer la solidité de ces pièces en augmentant raisonnablement leur épaisseur à la prochaine séance.

Nous avons soudé des "pins" au bout des fils éléctriques afin de faciliter le montage et les essais sur l'Arduino.

Jour IV - 28 Janvier 2016

Partie Logicielle : Un Dilemme Cornélien

Nous avons également testé le photorécepteur Infrarouge. Celui-ci n'a pas une porté suffisamment longue si on veut un maximum de précision. C'est pour cela que nous allons devoir augmenter la detection et prendre le risque de faire des erreurs de précision. Nous tenterons toutefois de les résorber en utilisant 3 photorécepteurs.

Partie Matérielle  : Une Impressionnante Impression

La pince est terminée, nous avons finalement réussi à imprimer toutes les pièces intactes. Dans la partie matérielle, nous avons aussi surélevé de quelque centimètres la plaque supérieure du chassis du robot afin de pouvoir insérer l'arduino entre les deux plaques sans que les fils ne gènent. Les moteurs sont opérationnels. Nous avons rencontré des difficultés lors des branchements mais nous y sommes a terme parvenu.

Jour V - 29 Janvier 2016

Partie Logicielle : Les premiers "pas"

Nous avons fait nos premiers pas dans le codage de fonctions en réalisant 4 fonctions pour les moteurs : Avancer, Reculer, Tourner à gauche, Tourner à droite. Nous avons essayé d'intégrer les capteurs dans le programme principal mais c'est pour l'instant un échec. Nous devrons nous pencher sur ce problème à la prochaine séance.

Partie Matérielle  : Un nouveau départ

Jour VI - 1 Février 2016

Partie Logicielle : Les caprices d'Ultrason

Aujourd'hui nous avons fait face à un problème avec le capteur d'ultrason, le capteur renvoi des valeurs étranges. Plusieurs hypothèse de résolution s'offre à nous, une tension trop faible surement dû à une surconsommation des moteurs.

Partie Matérielle : Un nouveau départ

Après des heures de modélisations et une interminable attente devant l'imprimante 3D, la pince 2.0 est nait. Celle ci corrige certains problèmes de la premiere pince, notamment le manque de resistance de la piece servant de propulseur. Malheureusement, il lui manque toujours quelque chose... et la finition n'est pas a la auteur de mes espérances. Je tente néanmoins de me satisfaire en faisant fonctionner difficilement le mécanisme de propulsion. Fort heureusement celui ci fonctionne meme ci quelque mauvais jeu de rouages viennent gâcher. Bilan ? Mitigé

Jour VII - 5 Février 2016

Partie Logicielle : Ultrason fait encore des siennes

Le capteur d'ultrason ne fonctionne toujours pas, nous en avons testé d'autres mais le résultat est le même.

Partie Matérielle  : Une pince élastique

La pince à été repensé et un système d'élastique à été rajouté

Jour VIII - 8 Février 2016

Partie Logicielle : Ultrason... je t'ai compris

Le problème du capteur ultrason à enfin été réglé ! C'était un effet de bord du à l'appel trop rapproché de la fonction de lecture de la valeur du capteur.

Partie Matérielle : Jamais deux sans trois

La pince à été imprimée, elle est opérationnelle !

Jour IX - 11 Février 2016

Partie Logicielle : Ultrason... je t'ai compris

Nous avons fini la fonction de détection d'obstacles à l'aide du capteur ultrason, après plusieurs séance de non fonctionnement ce problème est enfin résolu et nous servira de leçon pour les autres capteurs et pour nos futurs projets.

Partie Matérielle  : Va y avoir d'la casse

Nous avons par ailleurs fixé un servomoteur à la pince. Nous avons eu un soucis avec le premier servomoteur, celui-ci tournait sans s'arrêter. Ce problème était matériel et une fois le cette pièce remplacée la pince pouvait s'ouvrir et se fermer. (Nous avons testé les valeurs correspondante à la pince ouverte puis fermée).

Jour X - 22 Février 2016

Partie Logicielle : Ultrason... je t'ai compris

Aujourd'hui, nous avons commencé l'étude des capteurs de lignes. En effet, étant nouveau dans le domaine, nous avions du mal à nous représenter le fonctionnement du suivi de ligne. Nous sommes donc partis sur l'utilisation de 4 capteurs.

Partie Matérielle  : Va y avoir d'la casse

Premier problème : Nous avons soudés les capteurs à l'envers... Nous avons donc découvert la méthode pour désouder, mais nous avons réalisé qu'elle était compliquée et que le composant pouvais être sérieusement endommagé. Nous ferons en sorte d'être plus vigilant à l'avenir car ceci nous à fait perdre quasiment une séance et gâcher un composant.

Jour XI - 25 Février 2016

Partie Logicielle : Ultrason... je t'ai compris

Nous avons commencé le programme de suivi de lignes. Nous sommes finalement partis sur 2 capteurs de lignes uniquement. Le programme consiste à avancer tout droit jusqu’à la détection d'une ligne puis à s'aligner sur celle-ci pour enfin la suivre. Nous avons rencontré une difficulté de codage : en effet nous faisions une boucle "while" tant qu'un capteur détectait un ligne mais nous n'avions pas pensé qu'il fallait dans cette même boucle actualiser la valeur du capteur.

Partie Matérielle  : Va y avoir d'la casse

Nous avons donc perdu du temps sur cette étape mais à force de persévérance et grâce aux précieux conseils d'un autre binôme, nous avons réussi à corriger notre programme et celui-ci à parfaitement fonctionné. Le robot était en mesure de suivre une ligne.

Jour XII - 29 Février 2016

Partie Logicielle : Ultrason... je t'ai compris

A la séance dernière nous avions réalisé un algorithme de suivi de ligne, seulement nous avons oublié un cas important : le virage !

Partie Matérielle  : Va y avoir d'la casse

En effet, avec uniquement 2 capteurs de lignes nous ne pouvions pas faire la différence entre le virage à 90° et une sortie de piste.

Nous avons donc décidé d'ajouter un troisième capteur à l'arrière de sorte à ce que dès que les 2 capteurs de l'avant seront sur du blanc mais que le capteur arrière est toujours sur du noir, le robot pivote. Cette solution à vite été abandonnée car le robot n'arrivait pas à se réaligner correctement.

Jour XIII - 3 Mars 2016

Partie Logicielle : Ultrason... je t'ai compris

Aujourd'hui nous avons rajouté un 4ème capteur de sorte à en avoir 2 à l'avant et 2 à l'arrière, ceci nous permet de détecter les virages à 90° mais l'éloignement des capteurs pose un sérieux problème : le robot part trop loin de la ligne et lorsqu'il pivote ne trouve pas cette ligne.

Partie Matérielle  : Va y avoir d'la casse

Vers la fin de cette séance nous avons commencé à penser au PCB, nous avons donc installé Fritzing ainsi que les composants spécifique au projet.

Nous avons pris en main le logiciel, ceci nous à permis de réaliser que nous devrions bouger certains situés sur la double rangée de pins de l'Arduino car il sera difficile voire impossible relier électriquement ces pins au reste du circuit.

Jour XIV - 7 Mars 2016

Partie Logicielle : Ultrason... je t'ai compris

Nous avons abandonné le modèle à 4 capteurs pour revenir à un modèle de 3 capteurs, tous à l'avant avec celui du milieu légèrement avancé par rapport aux 2 autres. Ceci nous à pris un certains temps car le robot commence à comporter trop de fils et pour déplacer des capteurs nous avons accidentellement débranché certains fils... Nous avons sans succès réalisé un code similaire à celui du modèle précédent. Nous allons repartir de zéro sur les capteurs de lignes mais la séance prochaine sera consacrée au PCB.

Partie Matérielle  : Va y avoir d'la casse

Ces 5 dernières séances quasiment exclusivement consacrées au suivi de lignes nous ont permises de voir que lors d'un projet il faut savoir se remettre en question quitte à modifier totalement quelque chose d'existant, qu'il ne faut pas avoir peur de faire des essais, de se tromper car c'est ainsi que nous pouvons apprendre de nos erreurs et progresser. Ceci de sorte à ce que si nous nous confrontons à un problème similaire dans le futur, nous soyons en mesure de le résoudre sans perdre du temps.

Jour XV - 10 Mars 2016

Partie Logicielle : Ultrason... je t'ai compris