Table des matières:

Rubics Cube Solver Bot : 5 étapes (avec photos)
Rubics Cube Solver Bot : 5 étapes (avec photos)

Vidéo: Rubics Cube Solver Bot : 5 étapes (avec photos)

Vidéo: Rubics Cube Solver Bot : 5 étapes (avec photos)
Vidéo: solve rubik 3x3 fast - Solve floor 3 cube rubik 2024, Novembre
Anonim
Bot Solveur Rubics Cube
Bot Solveur Rubics Cube

Fabriquer un robot autonome qui résout un Rubik's cube physique. Il s'agit d'un projet du Robotics Club, IIT Guwahati.

Il est fabriqué à partir d'un matériau simple qui peut être trouvé facilement. Nous avons principalement utilisé des servomoteurs et un Arduino pour les contrôler, des feuilles d'acrylique, un mini dessinateur cassé, des pinces en L et des rubans doubles !

Pour obtenir l'algorithme de résolution du cube, nous avons utilisé la bibliothèque cubejs de github.

Étape 1: Matériaux utilisés

Les matériaux utilisés
Les matériaux utilisés
  1. 6 servomoteurs
  2. Arduino Uno
  3. Batterie LiPo 3 cellules
  4. Feuille acrylique (8 mm et 5 mm d'épaisseur)
  5. Pistolet thermique(
  6. Perceuse
  7. Scie à métaux
  8. L pinces
  9. Bandes d'aluminium
  10. Mini dessinateur/ tiges métalliques
  11. Double bande
  12. Fevi rapide
  13. Écrou Boulons
  14. Fils de cavalier

Étape 2: Préparation de la structure mécanique

Préparation de la structure mécanique
Préparation de la structure mécanique
Préparation de la structure mécanique
Préparation de la structure mécanique

Le cadre de base

  • Prenez une feuille acrylique de 8mm d'épaisseur environ 50cm * 50cm et marquez le centre de tous les côtés (ce sera la base de votre robot).
  • Prenez un dessinateur cassé et retirez-en les 4 tiges d'acier..(ces tiges serviront de chemin à votre curseur).
  • Sur deux pièces rectangulaires en acrylique (de n'importe quelle taille) fixez deux tiges parallèles l'une à l'autre et faites deux paires de cet assemblage.
  • Ensuite, pour faire un curseur, empilez deux petits morceaux d'acrylique l'un sur l'autre avec des entretoises entre eux aux quatre coins et fixez-les avec des boulons dans les entretoises. Vous aurez besoin de 4 curseurs de ce type.
  • Avant de fixer les deux pièces de curseur, faire passer les tiges parallèles préalablement fixées entre elles de telle sorte que les entretoises touchent juste la surface extérieure des tiges.
  • Pour chaque paire de tiges parallèles passez deux curseurs dessus.
  • Une fois que c'est prêt, disposez la paire de tiges en forme de croix à 90 degrés. Assurez-vous qu'il y a un curseur à chaque extrémité de la croix.
  • Maintenant, tout ce que vous avez à faire est de fixer ce chemin croisé à la base de votre robot, à une certaine élévation de la base. (Assurez-vous que l'élévation est supérieure à la hauteur d'un servomoteur)

    Pour cela, vous pouvez utiliser des supports acryliques avec des pinces en L comme nous l'avons fait ou toute autre méthode suffira

Après cela, votre structure devrait ressembler à l'image.

Fixation des servos de base

  • Les deux servos de base doivent être fixés de telle sorte que le servo soit sous le bras de la croix et décalé par rapport au centre.
  • Les servos sont fixés en position horizontale à une plaquette de silicium perforée à l'aide de longs boulons, qui à leur tour sont fixés à la base avec une pince en L et du ruban adhésif bidirectionnel.

Faire les tiges push-pull

  • Réglez l'angle du servo à zéro et fixez le culbuteur du servo dans une position appropriée.
  • Placez le cube au centre de la croix pour obtenir une estimation de la distance du curseur dans la position la plus proche et placez les curseurs dans cette position.
  • Fixez des bandes d'aluminium en forme de L au bas de chaque curseur à l'aide de ruban adhésif double.
  • Maintenant, pour mesurer la distance de chaque bande d'aluminium du haut ou du bas de la bascule du servo qui se trouve dans son plan, ce sera la longueur de votre tige push-pull.
  • Une fois les longueurs déterminées, la tige de poussée peut être fixée en perçant la bande d'aluminium ou quelque chose du genre.

Montage des servos supérieurs

  • Décidez de la hauteur à laquelle votre cube sera résolu. L'axe du servomoteur doit être à cette hauteur.
  • Fixez les quatre servomoteurs, chacun à une plaquette de silicium perforée à l'aide de boulons en position verticale.
  • La plaquette est maintenant montée sur une bande d'aluminium en forme de L dont la base est fixée au curseur à une hauteur appropriée de sorte que l'axe d'asservissement se trouve au centre du cube.

Les griffes en C

  • Les griffes doivent être telles qu'elles s'adaptent exactement à un côté du cube et la longueur des parties supérieure et inférieure ne doit pas dépasser un côté d'un cube.
  • Pour cela prenez une bande d'acrylique d'épaisseur suffisante et chauffez-la. Une fois fondu, reformez-le pour former une pince en forme de C de sorte qu'il emprisonne exactement un côté du cube.
  • Marquez le centre de la griffe en C et fixez cette pince à la bascule du servo en son centre.

Faites quelques ajustements mineurs si nécessaire pour que chaque pince soit à la même hauteur.

Ceci termine la structure mécanique de votre robot, passons aux connexions du circuit……..

Étape 3: Connexions des circuits

Connexions des circuits
Connexions des circuits

Pour contrôler le Bot, nous avons utilisé un Arduino, un régulateur de tension et une batterie LiPo à 3 cellules (12v).

Comme les servomoteurs consomment beaucoup d'énergie, nous avons utilisé 6 régulateurs de tension, un pour chaque moteur.

Les entrées de signal des moteurs (le fil de couleur la plus claire des trois) étaient connectées aux broches numériques PWM 3, 5, 6, 9, 10, 11 de l'Arduino.

Le régulateur de tension était connecté sur la planche à pain et alimenté par la batterie de 12 volts. L'alimentation de sortie (5V) a été alimentée directement dans les moteurs. Des moteurs au sol ont également été connectés à la planche à pain. Le terrain d'entente était également attaché à l'Arduino.

Étape 4:

Image
Image

Étape 5: Coder:

Les deux fichiers fournis montrent le code écrit pour donner la commande aux moteurs pour des étapes particulières à l'aide d'Arduino.

Le premier fichier contient la fonction principale et d'autres définitions de variables. Le deuxième fichier contient des fonctions pour chaque mouvement utilisé dans la résolution d'un cube (ex. U pour « rotation de la face vers le haut dans le sens des aiguilles d'une montre »; R1 pour « mouvement de la face droite dans le sens inverse des aiguilles d'une montre », etc.)

Pour obtenir l'algorithme de résolution du cube, nous avons utilisé la bibliothèque cubejs de github.

L'algorithme donne directement une sortie en « mouvements de visage » qui est complétée par le code Arduino.

Conseillé: