
La course aux robots résolveurs de Rubik's Cube a débuté en 2014, lorsqu'un robot appelé « Cubestormer 3 », construit avec des pièces Lego Mindstorms et un Samsung Galaxy S4, a résolu le puzzle emblématique en 3,253 secondes, soit plus vite que n'importe quel humain ou robot à l'époque. (Le record du monde actuel de la résolution d'un Rubik's Cube par un humain est détenu par Xuanyi Geng, qui y est parvenu en seulement 3,05 secondes.)
En l'espace d'une décennie, ce record a été réduit à quelques centaines de millisecondes. En mai 2024, les ingénieurs de Mitsubishi Electric au Japon ont établi le record du monde avec un robot qui a résolu un Rubik's Cube en 0,305 seconde. Ce record a tenu pendant près d'un an avant que l'équipe de l'Elmore Family School of Electrical and Computer Engineering de Purdue - Junpei Ota, Aden Hurd, Matthew Patrohay et Alex Berta - ne le pulvérise.
« Pour mettre les choses en perspective, le clignement des yeux chez l'homme est de 200 à 300 millisecondes. Nous sommes donc beaucoup plus rapides que cela. Le temps de réaction humain est également d'environ 0,200 milliseconde, nous sommes donc plus rapides que cela. Avant même que vous ne réalisiez que le problème est résolu, nous l'avons résolu. Et avant que vous ne réalisiez qu'il bouge, nous l'avons résolu », note Matthew Patrohay.
Pour ramener le record du robot à moins d'une demi-seconde, il a fallu s'éloigner des Lego et utiliser des composants optimisés tels que des moteurs industriels. Pour parvenir à 0,103 seconde, l'équipe de Purdue de Purdubik's Cube a dû trouver de nouvelles façons de gagner quelques millisecondes.
Comment l'équipe de Purdubik's Cube est parvenue à ce résultat
Le robot Purdubik's Cube a été dévoilé pour la première fois en décembre 2024 lors de SPARK Challenge, un concours de conception de robots destiné aux étudiants de l'Elmore Family School of Electrical and Computer Engineering de Purdue. Après avoir remporté le concours, ils ont continué à améliorer le robot avec l'aide du Purdue's Institute for Control, Optimization and Networks. Ils ont d'abord amélioré la vitesse à laquelle le robot visualise le cube.
Amélioration de la vision du robot
Les concurrents humains du speedcubing sont autorisés à étudier le Rubik's Cube avant que leur chronomètre ne démarre. Mais dans le cas de Purdubik's Cube, le record du robot comprend le temps qu'il lui faut pour déterminer l'emplacement de tous les carrés colorés. L'équipe dit avoir utilisé une paire de caméras de vision industrielle à grande vitesse de Flir, d'une résolution de 720x540 pixels seulement, pointées sur des coins opposés du cube.
Chaque caméra peut voir trois côtés simultanément pendant des expositions qui ont duré à peine 10 microsecondes. « C'est parfois un peu moins fiable, mais même si c'est cohérent à 90 %, c'est déjà bien tant que c'est rapide. Nous voulons vraiment cette rapidité », admet Matthew Patrohay.
Bien que cela puisse sembler instantané, il faut du temps à un appareil photo pour traiter les données provenant d'un capteur et les transformer en image numérique. Le robot utilise un système de détection d'images personnalisé qui ne nécessite aucun traitement d'image. Il se concentre sur une très petite partie de ce que voit le capteur de chaque caméra - une région recadrée de 128x124 pixels seulement - pour réduire la quantité de données déplacées.
Les données brutes des capteurs sont envoyées directement à un système de détection des couleurs à grande vitesse qui utilise les mesures RVB de zones d'échantillonnage encore plus petites sur chaque carré pour déterminer leur couleur plus rapidement que d'autres approches, même l'IA.
Logiciels et techniques de résolution
Bien qu'une grande partie du matériel du robot de Purdue ait été fabriquée sur mesure, l'équipe a choisi d'utiliser des logiciels existants lorsqu'il s'est agi de trouver la manière la plus rapide de résoudre un Rubik's Cube. L'équipe a utilisé « Rob-Twophase » d'Elias Frantar, un algorithme de résolution de Rubik's Cube qui prend en compte les capacités uniques des robots, comme la possibilité de faire tourner simultanément les deux faces d'un cube.
Dans cette partie, l'équipe a également tiré parti d'une technique de résolution de Rubik's Cube appelée « corner cutting », qui permet de commencer à tourner un côté du cube avant d'avoir fini de tourner un autre côté qui lui est perpendiculaire. Pendant un court instant, les mouvements des deux faces se chevauchent, ce qui peut se traduire par un gain de temps non négligeable dans la quête d'un record du monde lors d'un concours de speedcubing.
Modifications apportées au cube
Le problème avec le découpage en coin est que si vous appliquez une grande force (comme un robot en est capable) et que vous ne chronométrez pas parfaitement les choses, vous pouvez physiquement briser ou même détruire complètement un Rubik's Cube. En plus de perfectionner la synchronisation des mouvements du robot et l'accélération de ses moteurs, les créateurs du robot Purdubik's Cube ont dû personnaliser le Rubik's Cube lui-même.
L'équipe de Purdue a été autorisée à modifier le cube, tout en respectant les règles établies par la World Cube Association (WCA). Ainsi, le cube modifié doit se tordre et tourner comme un Rubik's Cube standard et comporter neuf carrés de couleur sur chacune de ses six faces, chaque face étant d'une couleur différente. Des matériaux autres que le plastique peuvent être utilisés, mais les parties colorées doivent toutes avoir la même texture.
Amélioration de la durabilité du cube
L'équipe a amélioré la structure interne de ses cubes avec une version personnalisée imprimée en 3D et fabriquée à partir de plastique SLS nylon plus résistant. La WCA permet également l'utilisation de lubrifiants pour aider les cubes à tourner plus librement, mais ici, ils sont utilisés pour une raison différente. « Le cube que nous utilisons pour le record est tendu de manière incroyablement serrée, presque hilarante », explique Matthew Patrohay.
« Celui que nous avons modifié est très difficile à tourner. Ce n'est pas impossible, mais on ne peut pas le tourner avec les doigts. Il faut vraiment y mettre le poignet », a-t-il ajouté. Lors de la résolution du Rubik's Cube à grande vitesse, le lubrifiant aide à adoucir les mouvements, tandis que la tension...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.