haifger:
Isalinde:
Le capteur de couleur est plat et n'est pas utilisable car la balle va bouger. Il ne la détectera pas à chaque coup. De plus, pour pouvoir capter le jaune, il faut qu'on trouve une certaine tolérance de toutes les couleurs, ce qui nous rajoute beaucoup de travail pour pouvoir définir la couleur jaune de la balle et de ne pas interférer avec les autres jaunes aux alentours.
En fait il y a une chose que je n'ai pas très bien comprise : est-ce qu'il y a plusieurs balles disponibles et que le robot doit absolument en trouver une qui est jaune, ou bien il n'y a qu'une seule balle (auquel cas sa couleur n'a que peu d'importance) ?
En fait il n'y a qu'une seule balle disponible et de couleur jaune. C'est la seule qu'on a à disposition, donc on doit faire avec. Donc sur le coup, la couleur de la balle a bien aucune importance. On utilise juste le capteur couleur pour prévenir le robot qu'il est au trou et qu'il s'arrête (une sorte de fonction stop : si le robot à la balle et est au trou -> alors il s'arrête)
haifger:
De même, afin de déterminer plus précisément quel est le (ou les) capteur le plus adapté à la tâche, il faudrait savoir ce que votre robot fait avec cette balle : est-ce que par exemple il la prend pour la mettre dans un panier, ou bien se contente-t-il de la pousser devant lui ?
Isalinde:
1 capteur couleur (Color Light Sensor Evaluation Board) pour indiquer au robot quand il trouve le trou
Tu n'as pas donné de modèle pour ce capteur donc c'est difficile à dire, mais je doute qu'un capteur de couleur soit le plus indiqué pour ça. La très grande majorité de ceux-ci fonctionnent en contact ou quasi-contact avec l'objet de la mesure. Si ce n'est pas le cas ce qu'ils renvoient correspond à la couleur de la lumière ambiante... Il y a peut-être moyen de s'en sortir en travaillant sur la luminosité reçu, mais ça me parait limite.
Ce capteur se trouve simplement sur le côté du robot. On a réussi à le faire correctement fonctionner dès qu'il détecte du rouge. Sur le coup, on a plus trop envie de changer (il nous reste 2 semaines pour finir le projet maintenant)
haifger:
Un capteur de proximité infrarouge à faible portée serait sans doute plus pratique.
Il faudrait aussi déterminer si le robot ne peut arriver sur le trou que « par l'avant » ou si il peut être décalé sur un côté, ce qui obligerait à mettre plusieurs capteurs, histoire de limiter le risque de louper le trou, ou pire qu'une des roues ne tombe dedans...
Il ne peut que par l'avant. Le trou a été fait pour se trouver en haut à droite d'une table faite pour un labyrinthe. Il n'y a pas assez de place pour que la roue tombe dedans en fait, le robot étant assez gros et prennant une bonne largeur d'un couloir du labyrinthe.
haifger:
Isalinde:
2 Ultrasons (un à l'avant du robot et le 2ème à droite afin de détecter les murs) HC-SR04
Pourquoi seulement devant et à droite, y'a rien à gauche ? 
En faisant une petite table de Karnaugh, on a remarqué que c'était redondant dès qu'il y avait un capteur sur chaque roue, et donc peu importe s'il y avait un mur à gauche, le robot suivra toujours celui de droite (solution facile certes, mais faire un robot autonome en 3 semaines, on va pas se creuser la tête pour qu'il analyse tout sur le moment, sinon ça nous rajoute trop de travail d'un coup)
Exemple :
A = Capteur Gauche
B = Capteur Droit
C = Capteur Avant ---> avec le principe que le robot suit le mur de droite
00 = avancer
01 = avancer et tourner droite
10 = tourne sur soi-même
A |
B |
C |
l |
l |
S1 |
S2 |
0 |
0 |
0 |
l |
l |
0 |
1 |
0 |
0 |
1 |
l |
l |
0 |
1 |
0 |
1 |
0 |
l |
l |
0 |
0 |
0 |
1 |
1 |
l |
l |
1 |
0 |
1 |
0 |
0 |
l |
l |
0 |
1 |
1 |
0 |
1 |
l |
l |
0 |
1 |
1 |
1 |
0 |
l |
l |
0 |
0 |
1 |
1 |
1 |
l |
l |
1 |
0 |
Si on fait notre simplification :
S1 = ¬ABC + ABC = BC (A + ¬A) = BC * 1 = B*C
S2 = ¬A¬B (¬C + C) + A¬B (¬C + C)
= ¬A¬B1 + A¬B1 = ¬A¬B + A¬B = ¬B* (¬A + A) = ¬B * 1 = ¬B
On voit bien que A ne sert ni dans S1, ni dans S2 --> il n'est dont pas indispensable.