Nouveau record d'assemblage du Rubik's Cube: 0,38 seconde


Un robot record développé au laboratoire de robotique biomimétique du Massachusetts Institute of Technology

Il y a des jeux dans lesquels l'IA bat une personne. Mais il y a des tâches où une personne n'est généralement pas considérée comme un concurrent. Ici, les robots ne rivalisent qu'entre eux. L'assemblage d'un Rubik's Cube est une tâche typique de ce type.

En novembre 2016, le robot Infineon Technologies AG a établi un nouveau record du monde pour l'assemblage du Rubik's Cube: il l'a assemblé en 0,637 seconde , battant le précédent record de 0,89 seconde. Mais les ingénieurs européens ont été dépassés par les étudiants du laboratoire de robotique biomimétique du Massachusetts Institute of Technology. Leur robot a terminé la tâche en 0,38 seconde incroyable . Il s'agit d'un temps «sale», qui comprend la pression de la touche «Départ», la reconnaissance d'image et le calcul de la séquence d'actions. La partie mécanique de la tâche elle-même a pris environ 335 millisecondes. Résolution d'un problème dans un programme basé sur min2phase et envoi d'instructions - 45 millisecondes.

La vidéo en temps réel n'a clairement pas été tournée pour les yeux humains. Pour que les organes sensoriels imparfaits d'une personne puissent fixer le processus d'assemblage et le cerveau humain lent pour réaliser ce qui se passe, il est nécessaire de ralentir la lecture vidéo au moins plusieurs dizaines de fois. À une vitesse de 0,03x par rapport au réel, quelque chose devient clair.


Les développeurs sont sûrs que la machine est tout à fait capable de faire face plus rapidement, mais cela nécessite une optimisation minutieuse de la synchronisation des mouvements mécaniques capturés sur une caméra à haute vitesse. Dans la vidéo à une vitesse de 0,03x (ralentissement 33 fois), il est à noter qu'après chaque mouvement, les faces de l'inertie du cube se déplacent d'avant en arrière avant de s'arrêter définitivement. Ainsi, une rotation de 90 ° en réalité se termine en environ 10 millisecondes, mais le robot effectue le prochain mouvement en 15 millisecondes. C'est dans cette partie que le processus peut être considérablement optimisé. Mais le robot a presque doublé le record du monde précédent presque deux fois, et en raison d'erreurs d'optimisation, un cube s'est cassé ou des transistors à effet de champ ont explosé. Nous avons donc décidé de le laisser tel quel. Mais si nécessaire, les élèves peuvent «couper» encore 100 millisecondes du dossier.



La conception a utilisé les détails suivants:

  • 6 moteurs Kollmorgen ServoDisc U9 (quatre N9M4T avec aimants en néodyme et deux UD9-E - ils ont les mêmes caractéristiques et performances). Deux d'entre eux ont été extraits d'un ancien projet de bras mécanisé , les autres ont été achetés à bon marché sur eBay. Un capteur optique US Digital 2000, également avec eBay, est attaché à chaque moteur. Bien que ces capteurs fournissent une résolution excessive pour cette expérience, ils ont réussi à être achetés pour 14 $ chacun - nouveau, ce qui est juste un excellent prix. Certes, pour fixer les capteurs aux moteurs, j'ai dû bricoler un peu.

  • 6 pilotes de moteur 12 volts conçus sur mesure. Les contrôleurs STM32F303K8 fonctionnent ici. Les cartes sont assemblées sur des transistors 100 volts. Mais pour une raison quelconque, à 60 volts, l'un d'eux a explosé deux fois lorsque le cube s'est coincé. Firmware pour les contrôleurs .



    La synchronisation / coordination des mouvements entre les six contrôleurs est effectuée par une simple carte logique (AND Board), qui reçoit un signal de chaque moteur sur le début / la fin du mouvement et envoie un signal sur un démarrage sûr au moteur suivant dans la file d'attente.

  • 2 caméras PlayStation Eye photographient chacune trois visages. La vidéo est traitée à 187 FPS sous Linux avec une latence très faible par rapport aux webcams conventionnelles. Ces caméras ont pu acheter pour 7 $. Certes, il y avait un problème avec une nette différence entre les carrés rouges et orange, alors les élèves ont un peu triché - et peint les carrés orange avec de la peinture noire.
  • 1 Rubik's Cube. L'un des moins chers .

Ce n'est pas en vain que les cubes ont été pris à bas prix, car pendant l'expérience plusieurs morceaux se sont cassés (voir vidéo). Les ingénieurs écrivent que l'une des astuces pour que tout fonctionne bien est de fournir une compression vraiment serrée de tous les détails du cube. Si les pièces s'éloignent les unes des autres, les parties extérieures peuvent se tourner vers l'extérieur lorsque vous essayez de tourner rapidement les plans centraux.

L'assemblage d'un cube bien démonté nécessite généralement 19 à 23 étapes. Certaines solutions s'additionnent plus rapidement que d'autres (la plus rapide se compose de 21 étapes). Donc, si vous êtes chanceux, la tâche sera résolue environ 30 millisecondes plus rapidement.

Source: https://habr.com/ru/post/fr410945/


All Articles