Raspberry Pi Blog

Les ordinateurs et les échecs sont une combinaison puissante depuis l’apparition des premiers ordinateurs qui jouent aux échecs dans les années 1970.Vous pourrez même jouer à une partie d’échecs sur l’appareil que vous utilisez pour lire ce billet de blog! Pour les créateurs numériques, cependant, l’ajout d’un Raspberry Pi dans le mélange peut être la première étape pour créer quelque chose d’un peu plus excitant. Permettez-nous de vous présenter le robot d’échecs de Joey Meyer, le Raspberry Turk.

Le robot d'échecs Raspberry Turk

Crédit d’image: Joey Meyer

Étant à la fois un ingénieur logiciel expérimenté avec un intérêt pour l’apprentissage automatique, et un joueur d’échecs qualifié, il n’est pas surprenant que Joey ait été intéressé à bricoler des programmes d’échecs. Ce qui est vraiment étonnant, cependant, c’est l’ampleur et la complexité de la construction qu’il a imaginée. Fasciné par un canular historique célèbre, Joey a utilisé ses compétences en programmation et en robotique pour construire une reconstitution open-source alimentée par Raspberry Pi du célèbre automate mécanique Turk.

Vous pouvez voir le Turc Framboise en action sur la chaîne YouTube de Joey:

Un canular historique

Joey explique qu’il a rencontré le Turc mécanique pour la première fois à travers un livre de Tom Standage. Un exemple célèbre de supercherie mécanique, le Turc d’origine était présenté comme un automate de jeu d’échecs, capable de vaincre des adversaires humains et de résoudre des énigmes complexes.

Image de l'Automate Turc Mécanique

Une reconstruction moderne du Turc Mécanique
Image de Wikimedia Commons

Son fonctionnement interne est un secret, le Turc a fait le tour de l’Europe pendant la plus grande partie d’un siècle, confondant tous ceux qui l’ont rencontré. Malheureusement, il s’est avéré que ce n’était pas un exemple fabuleux d’ingénierie robotique précoce après tout. Au lieu de cela, ce n’était qu’une illusion élaborée. Les mouvements d’échecs impressionnants n’étaient pas élaborés par le cerveau mécanique de l’automate, mais plutôt par un maître d’échecs humain qui était astucieusement caché à l’intérieur du boîtier.

Construire un Turc moderne

Une version moderne du Turc mécanique a été construite dans les années 1980. Cependant, la construction a coûté 120 000 $. À ce prix, il aurait été impossible pour la plupart des fabricants de créer leur propre version. Impossible, c’est-à-dire jusqu’à présent: Joey utilise un Raspberry Pi 3 pour piloter le Raspberry Turk, tandis qu’un module de caméra Raspberry Pi gère la vision par ordinateur.

Image de l'échiquier et du robot Raspberry Turk

Le Raspberry Turk au milieu d’une partie
Crédit image: Joey Meyer

Le Raspberry Turk de Joey est intégré dans une table en bois soignée. Tous les composants électroniques sont logés dans un boîtier d’un côté. L’échiquier est peint directement sur la surface de la table. Pour que le robot puisse jouer, un module de caméra situé dans un boîtier imprimé en 3D au-dessus de la table prend une image de l’échiquier. L’image est ensuite analysée pour déterminer quelles pièces se trouvent dans quelles positions à ce point. En suivant les changements de position des pièces, le Turc Framboise peut déterminer quels mouvements ont été effectués et quelle pièce doit se déplacer ensuite. Pour entraîner le système, Joey a dû construire un grand ensemble de données pour valider un modèle de vision par ordinateur. Cela impliquait de déplacer minutieusement des pièces à la main et de collecter plusieurs images de chaque position possible.

Regardez, pas de mains!

Une caractéristique clé du turc mécanique était que l’automate semblait déplacer les pièces d’échecs entièrement par lui-même. Bien sûr, ses mouvements étaient en fait contrôlés par une personne cachée à l’intérieur de la machine. Le Turc Framboise, en revanche, déplace les pièces d’échecs lui-même. Pour ce faire, Joey a utilisé un bras robotisé attaché à la table. Le bras est fabriqué principalement à partir de composants Actobotics. Joey explique :

Le mouvement est contrôlé par la rotation de deux servos qui sont fixés à des engrenages à la base de chaque maillon du bras. À l’extrémité du bras se trouve un autre servo qui déplace une poutre de haut en bas. Au bas du faisceau se trouve un électroaimant qui peut être activé dynamiquement pour soulever les pièces d’échecs.

Joey a monté individuellement les pièces d’échecs avec de minuscules sections de cheville métallique afin que l’aimant sur le bras puisse les ramasser.

Programmation du Raspberry Turk

Le Raspberry Turk est contrôlé par un processus démon qui exécute une séquence de perception/action, et le statut se met à jour automatiquement au fur et à mesure que les morceaux sont déplacés. Le code est écrit presque entièrement en Python. Tout est disponible sur le dépôt GitHub de Joey pour le projet, ainsi que ses cahiers sur le projet.

Image de l'échiquier Raspberry Turk avec un script Python aux côtés de

Crédit d’image: Joey Meyer

Le backend d’IA qui donne au robot sa capacité à jouer aux échecs est actuellement Stockfish, un puissant moteur d’échecs open-source. Joey dit qu’il aimerait construire son propre moteur quand il aura le temps. Pour le moment, cependant, il est convaincu que cette IA se révélera un adversaire digne.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.