Accueil > Mes Projets > Table de Mahjong Automatique – Partie 1
jan
28
-2016-

Table de Mahjong Automatique – Partie 1

Dans le cadre d’un projet associatif avec l’AJFJ, nous avons lancé le projet de conception d’une table de mahjong automatique.

Présentation (Fédération française de Mah-jong)

Le Mah-Jong est un jeu de société d’origine chinoise.
Ce jeu ancestral est le plus populaire de Chine. On y joue à tout âge et quel que soit son niveau social. En chine, un foyer sur deux possède un jeu de mah-jong. En 1998, l’équivalent de notre ministère de la jeunesse et des sports a reconnu le mah-jong comme le 255ème sport Chinois.
Le jeu se compose de 144 « dominos » de plastique, de bois, d’os ou d’ivoire appelées tuiles. Sur ces tuiles, on retrouve des symboles de la culture chinoise comme les trois dragons : Dragons Vert, Rouge et Blanc ou encore les quatre vents : Vents d’Est, du Sud, d’Ouest et du Nord ainsi que 3 familles de chiffres formées par des bambous, des cercles et des caractères chinois numérotés de 1 à 9.

A chaque début de partie, la préparation nécessite la construction de la pioche qui est appelée « mur » en rapport avec la Grande Muraille de Chine. Ce mur à étage est construit à partir des 144 tuiles ce qui prend un peu de temps.

Les tables automatiques se chargent de créer de manière automatique ces murs. Pour gagner encore plus de temps, une table nécessite deux jeux de tuiles. Pendant qu’une partie se joue, la table trie et construit les murs en temps masqué:

Un exemple de table: watch?v=ffheXp2oi4E

Ces tables sont très répandues en Asie mais peu en Europe car il est très difficile et très cher d’en importer. L’idée de ce projet est donc de concevoir une table « home made » et open-source, qui sera peut être moins performante mais disponible et reproductible par n’importe qui.

Le principe de base du fonctionnement de ces tables repose sur l’utilisation de tuiles aimantées, ce qui permet d’assurer la bonne orientation des tuiles lors de la construction des murs. La majorité des pratiquants n’étant pas équipés de ce genre de tuiles, nous avons pris le parti d’utiliser des tuiles standards. Cela rajoute de la contrainte mais rend le projet plus intéressant.

Premiers tests

Dans cette première partie, nous nous sommes intéressés au système qui permettra de garantir une bonne orientation des tuiles. Le premier démonstrateur réalisé est le suivant:

Le démonstrateur est composé:

  • d’un couloir permettant de guider la tuile,
  • d’une caméra pixy permettant de détecter les couleurs,
  • de deux leds blanches pour assurer une luminosité homogène de la tuile,
  • d’un cash pour éviter à la caméra de voir l’environnement ambiant,
  • d’une arduino pour récupérer les informations traitées par la caméra.

Le choix d’utiliser une caméra plutôt que des détecteurs de couleur a été motivé par les raisons suivantes:

  • Le coût de la caméra n’est pas plus élevé qu’un ensemble de capteurs avec les cartes électroniques à réaliser,
  • il s’agit d’un produit du commerce tout assemblé donc disponible facilement,
  • le tracking par vision permet plus de flexibilité dans le paramétrage de la détection,
  • cette caméra est directement interfaçable avec une Arduino, l’outil de prototypage par excellence,

Cette caméra se configure avec le logiciel Pixymon, disponible gratuitement sur le site du fabriquant. Lorsqu’on présente une tuile (fausse tuile faite maison ici) à la caméra, voici ce que l’on peut voir avec le logiciel:

La tuile est repérable par ses deux caractéristiques: son morceau principal blanc et sa tranche (verte pour notre tuile). C’est la combinaison de ces deux caractéristiques qui va permettre de déterminer l’orientation de la tuile.

ATTENTION: Les jeux de tuiles monochromes ne pourront donc pas marcher avec cette table.

Avec cette caméra, pas besoin de s’y connaitre en vision pour détecter les couleurs, tout est déjà intégré. Il va falloir apprendre à la caméra les deux couleurs que l’on souhaite détecter. En combinant l’association de ces deux couleurs, la caméra sera en plus capable de déterminer l’angle de rotation de la tuile. Comment ça marche ?

On commence par apprendre à la caméra la couleur verte. Pour cela, on demande au logiciel d’apprendre une première signature de couleur, puis on sélectionne avec la souris une zone contenant la couleur verte

Une fois sélectionnée, on voit sur l’image de droite que la zone verte de la tuile est peinte ce qui signifie que la détection de couleur fonctionne. On réalise la même manipulation pour la couleur blanche en apprenant une seconde signature:

Cette fois, on remarque que les deux couleurs sont associées dans un seul et grand carré. Ce carré affiche deux informations:

  • s=12 ce qui signifie que l’objet détecté est une combinaison des signatures 1 et 2
  • phi = 96°. cette angle désigne l’orientation de l’empilage des 2 couleurs (la tuile avec la couleur verte à gauche et la partie blanche à droite aurait donner un angle de 0°)

Pour vérifier le bon fonctionnement de ce principe, nous avons réalisé la même prise de vue avec différentes orientations de la tuile:

Ces captures d’images confirment que l’utilisation de l’angle phi permet de déterminer l’orientation de la tuile.

Pour s’assurer que la détection soit pertinente, il est préférable que la tuile soit toujours située à la même distance de l’objectif (pour ne pas détecter trop tôt ou trop tard ce qui pourrait générer des faux dans la détection). Pour réaliser cette fonction, il est nécessaire d’intégrer à ce montage un détecteur optique de passage qui se déclenche lorsque la tuile est placée au bon endroit. N’ayant pas le matériel en stock, nous ne l’avons pas intégré dans ce démonstrateur.

Réorientation de la tuile

On sait à présent dans quel sens est orientée la tuile. Il faut à présent la retourner dans le bon sens pour que la partie verte (face cachée) de la tuile soit orientée vers le haut. Pour cela nous avons imaginé le démonstrateur suivant:

La tuile est ici placée dans un tambour rotatif dont le guidage en rotation est assuré par des galets extérieurs. Un moteur (non installé ici) permet de faire tourner le tambour avec la tuile insérée à l’intérieur. Tous les 90° seront placées des encoches pour qu’un capteur puisse les détecter. Cette détection permettra d’avoir l’information de position du tambour tous les quart de rotation.

A partir de l’orientation déterminée avec la caméra, le système de contrôle peut donc déterminer le nombre de quart de tour à réaliser pour mettre la tuile dans le bon sens. Ici, un quart de tour vers la droite suffit à remettre la tuile dans le bon sens:

Prochaines étapes

Les prochaines étapes sont les suivantes:

  • Faire des démonstrateurs pour les autres parties mécaniques de la table
  • Continuer le travail présenté ici en concevant le système quasi final avec des pièces en prototypage rapide, les capteurs et moteurs associés
  1. Pas encore de commentaire
  1. Pas encore de trackbacks