Aller au contenu


Photo

Reconnaissance de carte en lego mindstorm


  • Veuillez vous connecter pour répondre
44 réponses à ce sujet

#1 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 09 mai 2018 - 06:59

Bonjour à tous, voici mon nouveau projet, une machine qui trier un paquet de cartes à jouer en les répartissant en quatre familles coeur, carreau, pique trèfle et si possible en annoncant à chaque fois l'identité réelle de la carte. Pour faire cela le challenge n'est d'utiliser que le capteur de lumière lego. Quand on regarde les cartes cela ne semble,pas si simple , la différence coeur carreau par exemple et leur position sur les cartes avec les limites de précision de la mécanique lego.

Bonne journée !

#2 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 09 mai 2018 - 07:09

Mais où vas-tu chercher tout ça ?
En tout cas, cas d'école, très intéressant !

#3 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 09 mai 2018 - 07:11

Bon courage ! =)


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#4 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 11 mai 2018 - 05:03

Mais où vas-tu chercher tout ça ?
En tout cas, cas d'école, très intéressant !

Quand je me suis fixé ce projet je n'avais pas encore mesuré le niveau de difficulté. Au bout de 3 jours de travail je m'en rends mieux compte. Quand j'ai vu la taille du spot de détecteur de lumière , je me suis dit que c'était partie perdue. A 5 mm de distance de la carte le spot fait 8 mm de diamètre... et difficile de s'approcher plus et quand on est trop près on ne distingue plus les différents niveaux de réflexion.

Je n'ai pas abandonné la partie malgré tout. Je suis en train de faire la partie mécanique. Au total l'EV3 est saturé par 4 moteurs: 2 axes pour "scanner" la carte, 1 mise à niveau de la carte quand le paquet s'épuise et 1 pour l'éjection de la carte. Du coup je me sers du moteur d'un des deux axes pour mettre les cartes scannées dans des boites.

Pour les capteurs idem: 2 pour les fins de course des 2 axes, 1 pour la fin de course de mise à niveau du paquet et le détecteur de couleur.

J'ai choisi non pas de déplacer le détecteur de lumière ("scanner") mais de déplacer le châssis qui supporte le paquet de carte. Vu la taille des moteurs lego et de la contrainte de construction cela me semble plus adapté. 

Pour l'instant la difficulté est d'éjecter une carte et une seule, avec une totale fiabilité et ce avec un seul moteur. J'en suis arrivé au point où j'ai monté le moteur en rotation sur un axe et arrimé avec des élastiques pour exercer une pression constante sur la carte. Le problème est de ne pas en éjecter deux, et donc en fin de mouvement l'idée est d'effectuer une rotation inverse pour remettre en place la carte du dessous. Je suis arrivé à 95% de fiabilité, mais je vise 100%. On s'aperçoit que les legos sont effectivement très pratiques pour faire une machine complexe très rapidement, mais que les contraintes de construction et tous les jeux (mécaniques pas de carte !) sont une vraie difficulté. Mais ces difficultés sont très intéressantes à essayer de contourner. C'est ce que j'aime en fait.

Je pense malgré tout qu'il sera difficile de scanner précisément la carte.

 

A bientôt !



#5 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 11 mai 2018 - 08:07

On s'aperçoit que les legos sont effectivement très pratiques pour faire une machine complexe très rapidement, mais que les contraintes de construction et tous les jeux (mécaniques pas de carte !) sont une vraie difficulté.

Parce que tu penses qu'avec d'autres mécanismes, ce serait plus simple ?

Ce serait super si tu nous faisais des photos au fur et à mesure, parce que là, c'est pas facile d'imaginer ton truc.
Sinon, pour ne prendre qu'une carte, il y a une solution, c'est l'aspiration avec les éléments pneumatiques.
Pour la reconnaissance des cartes, je vais dire une connerie, n'y a t-il pas un endroit spécifique sur chaque carte ?

#6 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 11 mai 2018 - 08:45

Parce que tu penses qu'avec d'autres mécanismes, ce serait plus simple ?Ce serait super si tu nous faisais des photos au fur et à mesure, parce que là, c'est pas facile d'imaginer ton truc.Sinon, pour ne prendre qu'une carte, il y a une solution, c'est l'aspiration avec les éléments pneumatiques.Pour la reconnaissance des cartes, je vais dire une connerie, n'y a t-il pas un endroit spécifique sur chaque carte ?



#7 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 11 mai 2018 - 08:48

Parce que tu penses qu'avec d'autres mécanismes, ce serait plus simple ?Ce serait super si tu nous faisais des photos au fur et à mesure, parce que là, c'est pas facile d'imaginer ton truc.Sinon, pour ne prendre qu'une carte, il y a une solution, c'est l'aspiration avec les éléments pneumatiques.Pour la reconnaissance des cartes, je vais dire une connerie, n'y a t-il pas un endroit spécifique sur chaque carte ?


Quand on regarde les cartes c'est très compliqué. Rien qu'entre coeur er carreau. On peut trouver un algorithme qui va distinguer chaque carte mais il faudrait un détecteur de lumière plus précis. Les rois ont une couronne jaune mais il faut arriver à la pointer !

#8 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 12 mai 2018 - 07:13

Une idée stupide, comme ça, en l'air.

- Suppose que tu sois dans le noir complet.
- Tu allumes une petite led.
- Tu positionne le capteur à environ 10cm de la carte.
- Là, la réflexion de lumière devrait être spécifique pour chaque carte.

Non ?

#9 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 12 mai 2018 - 12:45

Une idée stupide, comme ça, en l'air.

- Suppose que tu sois dans le noir complet.
- Tu allumes une petite led.
- Tu positionne le capteur à environ 10cm de la carte.
- Là, la réflexion de lumière devrait être spécifique pour chaque carte.

Non ?

 

 

 

Oui c'est une idée d'utiliser une lumière générée indépendamment du capteur lego. Faut que je creuse, mais il n'y a pas un point unique sur les cartes, je pense que dans tous les cas il faudra la scanner pour l'identifier.

Voici une video rudimentaire pour mieux comprendre mon explication

La machine trie les figures des autres cartes, c'est le plus facile.

 



#10 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 12 mai 2018 - 01:11

En fait, je parlais d'une lumière générée par une Led pour ne pas être perturbé par les variations de la lumière ambiante.
Donc, à partir d'un flux lumineux constant, si tu mets le capteur à une bonne distance de la carte, la réflexion lumineuse devrait être différente en fonction de la carte.

#11 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 12 mai 2018 - 02:03

En fait, je parlais d'une lumière générée par une Led pour ne pas être perturbé par les variations de la lumière ambiante.Donc, à partir d'un flux lumineux constant, si tu mets le capteur à une bonne distance de la carte, la réflexion lumineuse devrait être différente en fonction de la carte.


C'est déjà le cas du capteur lego qui génère une lumière constante. Le problème est que les cartes génèrent la même réflexion sur un point donné. Il faut donc se déplacer pour aller chercher les particularités de chaque carte, et la,il faut un spot très petit sinon on intègre sur une surface trop grande et on ne peut pas faire de différence.

#12 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 12 mai 2018 - 08:20

Le problème est que les cartes génèrent la même réflexion sur un point donné.

Oui, mais si tu éloignes le capteur, disons de 10cm ou 15cm.

#13 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 13 mai 2018 - 07:09

à voir la première vidéo ça me donne l'impression que tu vas utiliser une idée très simple mais intéressante ... 
Un trie par dicotomie à chaque étape : 
On trie les Têtes des autres, les rouge des noirs puis les coeur des carreaux ... etc... 
 

En fait tu fais un arbre de décision qui indique quelle côté de la carte vérifier à chaque fois ... 

Exemple tu peux savoir si la carte est un 5 ou plus en regardant un seul endroit de la carte ...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#14 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 14 mai 2018 - 06:54

à voir la première vidéo ça me donne l'impression que tu vas utiliser une idée très simple mais intéressante ... 
Un trie par dicotomie à chaque étape : 
On trie les Têtes des autres, les rouge des noirs puis les coeur des carreaux ... etc... 
 

En fait tu fais un arbre de décision qui indique quelle côté de la carte vérifier à chaque fois ... 

Exemple tu peux savoir si la carte est un 5 ou plus en regardant un seul endroit de la carte ...

 Bonjour,

 

Exact !  C'exactement ça. Déjà pour trier les 4 couleurs, ce qui était mon objectif, il faut distinguer 3 familles: les figures, les chiffres et les as. En effet le détecteur n'est pas assez précis pour identifier ni la lettre, ni le petit symbole de couleur placé juste dessous. Il faut donc aller analyser les gros symboles de couleur qui ont 3 emplacements différents suivant que c'est une figue, un chiffre ou un as. Ensuite le pic et le trèfle sont assez faciles à distinguer. Le problème est de distinguer le coeur du carreau. Pour cela je fais des essais de scan. Je pensais être embêté par la diamètre de spot lumineux mais en fait ce qui est important c'est la fiabilité de la réponse et la précision du déplacement. Je fais donc des essais de déplacement de 0.5mm pour essayer de voir une différence entre coeur et carreau. Pour la suite, il est facile de distinguer les cartes "chiffres" mais dans mon cas le moteur d'éjection des cartes masque une partie de la carte et ce ne sera pas possible. Il me faudrait un 5éme moteur pour déplacer l'ensemble et libérer totalement la carte. Le plus compliqué est ensuite de distinguer les figures rois, dames et valets. Là , même un scan de 0.5mm ne sera pas suffisant. Mais je n'en suis pas là !!!

Et pour répondre à Oracid, une analyse globale de la réponse de chaque carte en se plaçant plus loin ne donne rien.

 

Cordialement !



#15 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 01 juin 2018 - 06:02

Bonjour à tous
 
Juste quelques infos sur mon avancement:
 
Je galère beaucoup compte tenu de la précision du capteur de lumière et la dimension du spot (>5mm), et des différents jeux d'engrenage qui ne permettent en aucun cas de lire les lettres. Mais le challenge c'est bien ça.
 
J'ai donc fait un petit scaner qui vient se positionner à des endroits privilégiés des cartes et qui scane à chaque fois entre 300 et 500 points.
 
Je commence par voir si c'est une figure ou pas (facile)
Si oui je regarde la couleur (très difficile de distinguer le coeur du carreau)
Ensuite par couleur je viens me positionner sur des parties de cartes pour voir si c'est un valet, un roi ou une dame. Pas facile. Pour chaque couleur ces endroits sont differents , il n'y a rien de commun entre les figures, en tout cas pas des choses que je peux identifier (comme la couronne jaune des rois par exemple)
 
Si ce n'est pas une figure, je regarde si c'est un as ou pas (facile) et je détermine sa couleur (toujours difficile entre coeur et carreau)
Si ce n'est pas une figure ni un as je me positionne sur un endroit spécifique et je regarde si c'est un 7, 8, 9 ou et je détermine leur couleur. Difficulté pour le 7 et le 8 qui ont les symboles positionnés au même endroit, et cet endroit est masqué par le moteur d'éjection des cartes. Je peux donc prendre un 7 pour un 8. A  étudier.
 
A chaque carte  identifiée, je l'annonce puis je l'éjecte, dans une boite correspondant à la couleur. J'épuise ainsi le paquet
 
Tout cela est de la théorie. J'essaie de fiabiliser la distinction coeur carreau et de trouver des surfaces caractéristiques pour chaque famille de figures.
 
C'est intéressant mais très long. Les essais sont fastidieux.
 
Voilà à plus !



#16 Oracid

Oracid

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 6 766 messages
  • Gender:Male

Posté 01 juin 2018 - 06:25

Courage !

#17 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 01 juin 2018 - 06:27

Pour le 7 et le 8 le capteur ne peut pas passer par le milieu et voir si il trouve une couleur à la place typique des chiffres impaire ? 

Tu as une vidéo de là où tu en es rendu maintenant ? 

 

EDIT : Arg ! Je viens de me rendre compte qu'il y a plusieurs façon de représenter un 8 sur une carte qui existe ! 
8.jpg

8bis.png

ça pose un sérieux problème !


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#18 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 01 juin 2018 - 06:30

Pour le 7 et le 8 je dois forcément modifier la mécanique de mon robot, ce qui m'ennuie beaucoup parce que j'ai galéré entre la mise à niveau des cartes et leur sélection une à une pour les éjecter... C'est l'encombrement de la tête du capteur qui me gêne, je peux difficilement mettre l'éjecteur plus loin.

Je fais une video dès que possible mais ce sujet n'est pas très visuel !



#19 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 01 juin 2018 - 06:33

Tu as quel type de 8 dans ton jeu de carte ?


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#20 pmdd

pmdd

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 941 messages
  • Gender:Male

Posté 01 juin 2018 - 06:40

le 8 est strictement identique au 7, avec une 8ème symbole symétrique . la première version de tes cartes La tête du capteur, qui est très proche des cartes , ne parvient pas dans cette zone. Il parvient dans la zone du symbole de l'as mais pas plus loin. Il faudrait que je repense tout, ou alors que j'ai un capteur supplémentaire qui pourrait être plus haut et fixe...mais j'ai déjà utilisé les 4 capteurs.

 

le 2eme 8 me poserait moins de problème je pense, mais je ne crois pas que ce soit une version courante ou officielle.






0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users