Taula de continguts:

Bot Rubics Cube Solver: 5 passos (amb imatges)
Bot Rubics Cube Solver: 5 passos (amb imatges)

Vídeo: Bot Rubics Cube Solver: 5 passos (amb imatges)

Vídeo: Bot Rubics Cube Solver: 5 passos (amb imatges)
Vídeo: Вычислительное мышление – информатика для руководителей бизнеса 2016 2024, Desembre
Anonim
Rubics Cube Solver Bot
Rubics Cube Solver Bot

Fent un robot autònom que resolgui un cub físic de Rubik. Es tracta d’un projecte de Robotics Club, IIT Guwahati.

Es fabrica amb un material senzill que es pot trobar fàcilment. Principalment hem utilitzat servomotors i un Arduino per controlar-los, xapes d’acrílic, un mini dibuixador trencat, pinces en L i cintes dobles.

Per obtenir l'algorisme de resolució del cub, hem utilitzat la biblioteca cubejs de github.

Pas 1: materials utilitzats

Materials utilitzats
Materials utilitzats
  1. 6 servomotors
  2. Arduino Uno
  3. Bateria LiPo de 3 cel·les
  4. Full acrílic (gruix de 8 mm i 5 mm)
  5. Pistola de calor (
  6. Màquina de trepar
  7. Serra mecànica
  8. L abraçadores
  9. Tires d'alumini
  10. Mini Drafter / varetes metàl·liques
  11. Cinta dual
  12. Fevi Quick
  13. Cargols de femella
  14. Filferros de pont

Pas 2: Preparació de l'estructura mecànica

Preparació de l’estructura mecànica
Preparació de l’estructura mecànica
Preparant l’estructura mecànica
Preparant l’estructura mecànica

El marc bàsic

  • Agafeu un full acrílic de 8 mm de gruix aproximadament de 50 cm * 50 cm i marqueu el centre de tots els laterals (aquesta serà la base del vostre robot).
  • Agafeu un corredor de corrents trencat i traieu-ne les 4 barres d'acer (aquestes barres us serviran de camí per al control lliscant).
  • En dues peces rectangulars d’acrílic (de qualsevol mida) fixeu dues barres paral·leles entre si i feu dos parells d’aquest conjunt.
  • A continuació, per fer un control lliscant, apileu dues petites peces d’acrílic una sobre l’altra amb separadors entre ells a les quatre cantonades i subjecteu-los amb cargols als separadors. Necessitareu 4 lliscadors d’aquest tipus.
  • Abans de fixar les dues peces de lliscament, passeu les barres paral·leles prèviament afixades entre elles de manera que els separadors només toquin la superfície exterior de les barres.
  • Per cada parell de barres paral·leles, passeu-hi dos lliscadors.
  • Un cop estigui a punt, organitzeu el parell de barres en forma de creu de 90 graus. Assegureu-vos que hi hagi un control lliscant a cada extrem de la creu.
  • Ara tot el que heu de fer és connectar aquest camí creuat a la base del vostre robot, a una certa elevació de la base. (Assegureu-vos que l’elevació sigui superior a l’altura d’un servomotor)

    Per a això, podeu utilitzar muntatges acrílics amb pinces en L com hem fet o amb qualsevol altre mètode serà suficient

Després d'això, la vostra estructura hauria de ser semblant a la imatge.

Col·locació dels servos base

  • Els dos servos de base s’han d’adherir de manera que el servo estigui per sota del braç de la creu i es desplaci del centre.
  • Els servos s’uneixen en posició horitzontal a una hòstia de silici perforada mitjançant cargols llargs, que al seu torn s’uneixen a la base amb pinça en L i cinta bidireccional.

Realització de les barres push-pull

  • Ajusteu l'angle del servo a zero i fixeu el braç basculant del servo en una posició adequada.
  • Col·loqueu el cub al centre de la creu per obtenir una estimació de la distància del control lliscant a la posició més propera i col·loqueu els lliscadors en aquestes posicions.
  • Col·loqueu tires d'alumini en forma de L a la part inferior de cada control lliscant amb cinta doble.
  • Ara, per mesurar la distància de cada tira d'alumini des de la part superior o inferior del servo basculant que es troba al seu pla, aquesta serà la longitud de la seva barra de tracció.
  • Un cop determinades les longituds, es pot fixar la vareta empenyent perforant la tira d'alumini o alguna cosa així.

Muntatge dels servos superiors

  • Decidiu l'altura a la qual es resoldrà el vostre cub. L'eix del servomotor hauria d'estar a aquesta alçada.
  • Connecteu els quatre servomotors, cadascun a una hòstia de silici perforada mitjançant cargols en posició vertical.
  • Ara, l’hòstia està muntada sobre una cinta d’alumini en forma de L la base del qual es fixa al control lliscant a una alçada adequada de manera que l’eix servo estigui al centre del cub.

Les urpes C

  • Les urpes han de ser tals que s’adaptin exactament a un costat del cub i la longitud de les porcions superior i inferior no ha de superar el costat d’un cub.
  • Per a això, preneu una tira d’acrílic de prou gruix i escalfeu-la. Un cop es fon es remodela, forma una pinça en forma de C de manera que atrapa exactament un costat del cub.
  • Marqueu el centre de l'arpa C i fixeu aquesta pinça al balancí del servo al centre.

Feu alguns ajustaments menors segons sigui necessari perquè cada mordassa estigui a la mateixa alçada.

Això completa l'estructura mecànica del vostre robot, permet passar a les connexions del circuit …

Pas 3: connexions de circuits

Connexions de circuits
Connexions de circuits

Per controlar el Bot hem utilitzat un Arduino, regulador de voltatge i una bateria LiPo de 3 cèl·lules (12v).

Com que els servomotors consumeixen molta potència, hem utilitzat 6 reguladors de voltatge, un per a cada motor.

Les entrades de senyal dels motors (filferro de color més clar dels tres) es van connectar als pins digitals PWM 3, 5, 6, 9, 10, 11 de l’Arduino.

El regulador de voltatge es va connectar a la placa de control i es va alimentar amb la bateria de 12 volts. El subministrament de sortida (5V) es va alimentar directament als motors. La terra dels motors també es va connectar a la placa. El terreny comú també es va connectar a l'Arduino.

Pas 4:

Image
Image

Pas 5: Codi:

Els dos fitxers indicats mostren el codi escrit per donar ordres als motors per fer passos particulars mitjançant Arduino.

El primer fitxer conté la funció principal i altres definicions de variables. El segon fitxer conté funcions per a cada moviment que s’utilitza per resoldre un cub (per exemple, U per a la “rotació cara amunt en el sentit de les agulles del rellotge”; R1 per al “moviment de la cara dreta en sentit antihorari”, etc.)

Per obtenir l'algorisme de resolució del cub, hem utilitzat la biblioteca cubejs de github.

L'algorisme dóna sortida directament als "moviments de cara" que es completa amb el codi Arduino.

Recomanat: