Actuellement, le record du monde pour la résolution d'un Rubik's Cube par un robot appartient au Sub1 Reloaded en 637 ms. Homologué, ce record allemand apparaît dans le Guinness World Records. Un étudiant du MIT (Biomimetic Robotics Lab) et un développeur logiciel ont voulu faire mieux.

Avec un nouveau robot américain, il ont établi une marque à 380 ms qui comprend l'acquisition de l'image par webcam, la détection des couleurs, la découverte de la solution pour le puzzle, et les rotations adéquates pour la résolution.

Pas encore d'homologation toutefois, avec la conviction de pouvoir faire encore mieux. Une des clés du succès réside dans le choix des moteurs, alors que Sub1 Reloaded s'appuyait sur des moteurs pas à pas.

robot-rubiks-cube

Le matériel employé est détaillé dans un billet du blog. Il est notamment fait mention de six servo disques, six entraînements de moteurs, deux webcams PlayStation 3 Eye pour analyser les faces du cube.

Pour le traitement d'images en temps réel, la bibliothèque graphique libre OpenCV a été utilisée. Une implémentation de l'algorithme de Kociemba permet de déterminer la solution pour résoudre le Rubik's Cube. Après conversion, cette dernière est envoyée simultanément à tous les contrôleurs de moteurs. Et ça va très vite…

Parvenir à ce résultat n'a pas été simple. Des erreurs ont souvent conduit à la destruction du cube, tandis que le système a eu du mal à faire la distinction entre le rouge et le orange. Appliquer du noir sur le orange a permis de contourner ce souci. Une tactique dont on peut penser qu'elle est susceptible de poser un problème pour une homologation du record.

Gagner encore une centaine de millisecondes serait a priori envisageable.