Ce Rubik’s Cube que vous avez acheté en 1981 et que vous n’avez jamais résolu a peut-être rencontré son match dans ce robot de résolution de cubes, créé par Andrea Favero et porté à notre attention par Hackaday. Le ‘bot, alimenté par un Raspberry Pi 4, utilise une caméra, du code Python, deux servomoteurs et un stepper pour résoudre un cube 3 x 3 confus typique en moins d’une minute.
Sûrement une invention destinée à notre liste des meilleurs projets Raspberry Pi, Favero a partagé toute sa méthode sur Instructables, et n’a utilement utilisé que des composants prêts à l’emploi et des impressions 3D (plus du contreplaqué) plutôt que des PCB personnalisés, ce qui le rend plus facile pour n’importe qui pour créer sa propre version.
La caméra utilisée est la caméra Raspberry Pi standard v1.3 (le module 5MP) qui se branche sur le port CSI (caméra) de la carte avec un câble ruban – vous en aurez besoin d’un légèrement plus long que d’habitude, Favero disant que 50CM est parfait. Les pièces imprimées en 3D maintiennent l’appareil photo et les moteurs sur un boîtier en contreplaqué qui abrite le Pi, et il y a un bouton marche/arrêt et deux écrans LCD, qui montrent le temps pris et des messages utiles tels que « cube terminé », tandis qu’un visage souriant à l’intérieur du bras qui abrite la caméra est une belle touche. L’alimentation est gérée par quelques transformateurs abaisseurs CC à CC, transformant une alimentation de 20 V en quelque chose de plus adapté au Pi et aux moteurs.
Les éléments de vision par ordinateur intelligents pour le Pi sont tous fournis grâce aux bibliothèques Python CV2 (OpenCV) et Numpy. L’analyse d’image du flux de la caméra détermine les couleurs et leur emplacement dans un modèle de cube déplié. Des paramètres tels que la balance des blancs automatique de l’appareil photo et le gain d’exposition sont fixés pour garantir que les couleurs qu’il renvoie sont cohérentes, et les informations sur les blocs colorés sont transmises à un algorithme de résolution Rubik’s Cube de Hegbert Kociemba. Cela renvoie une séquence de mouvements, et les moteurs se chargent de faire tourner le cube sur ses différents axes, en maintenant le segment inférieur afin que des modifications puissent être apportées.
Le guide de construction fourni par Favero est si détaillé que la partie la plus difficile de la construction d’un robot Rubik’s Cube peut être de se procurer la carte Pi elle-même, car la pénurie mondiale de puces et l’augmentation de la demande continuent de mordre.