INHOUDSOPGAWE:

BricKuber -projek - 'n Raspberry Pi Rubiks -kubusoplossingsrobot: 5 stappe (met foto's)
BricKuber -projek - 'n Raspberry Pi Rubiks -kubusoplossingsrobot: 5 stappe (met foto's)

Video: BricKuber -projek - 'n Raspberry Pi Rubiks -kubusoplossingsrobot: 5 stappe (met foto's)

Video: BricKuber -projek - 'n Raspberry Pi Rubiks -kubusoplossingsrobot: 5 stappe (met foto's)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Desember
Anonim
Image
Image

Die BricKuber kan 'n Rubik -kubus in minder as 2 minute oplos.

Die BricKuber is 'n open source Rubik se kubusoplossingsrobot wat u self kan bou

Ons wou 'n Rubiks -kubusoplossingsrobot bou met die Raspberry Pi. In plaas daarvan om vinnig te gaan, het ons eenvoudig gegaan: as u 'n Raspberry Pi, 'n BrickPi -stel en 'n standaard LEGO Mindstorms EV3 of NXT -kit het, moet u maklik in ons voetspore kan volg. Die sagteware is in die Python -programmeertaal geskryf. U kan al die bronkode op Github hier sien.

Agtergrond Die Rubik se kubus het onlangs begin terugkeer. Dit is in 1974 uitgevind en is die wêreld se topverkoper-speelding. Maar om dit op te los verg gedagtes, moeite en vaardigheid… so hoekom laat 'n robot dit nie doen nie? In hierdie projek neem ons 'n Framboos Pi, 'n BrickPi en 'n stel LEGO Mindstorms en bou ons 'n Rubik's kubusoplossingsrobot. Plaas eenvoudig 'n onopgeloste Rubik -kubus in die oplossing, voer die luislangprogram uit en u Rubik -kubus is opgelos! Die projek gebruik die Pi om die Rubik -kubus direk op te los. Die BrickPi3 neem die onopgeloste Rubik -kubus en die Raspberry Pi neem 'n foto van elke kant van die Rubik -kubus met die Raspberry Pi -kamera. Die Pi skep 'n tekskaart van die kleurvierkante wat wys waar hulle op die kubus geleë is. Nadat die kubus die kubus volledig gekarteer het, gebruik die python -biblioteek "kociemba" om die bewegings wat nodig is om die Rubik -kubus op te los, in kaart te bring. Hierdie inligting word deur die Pi en BrickPi3 geneem om die Rubik -kubus op te los met behulp van die LEGO -motors. Die resultaat: 'n opgeloste Rubik -kubus.

Stap 1: gereedskap en materiaal

Bou dit
Bou dit
  • BrickPi3 - Ons gebruik die BrickPi om die LEGO -motors te beheer wat die Rubik se kubusoplosser oplos.
  • Raspberry Pi - Die Pi sal die verwerking doen, foto's neem en die BrickPi beveel.
  • Raspberry Pi -kamera - Die Pi -kamera neem 'n foto van die onopgeloste Rubiks -kubus.
  • Ethernet -kabel - u moet u masjien aan die internet koppel. As u dit via wifi wil doen, is dit ook goed!
  • Raspbian for Robots SD -kaart - Die sagteware wat die Raspberry Pi bestuur. Dit bevat die meeste sagteware wat nodig is vir hierdie tutoriaal. U kan ook die sagteware gratis aflaai.
  • LEGO Mindstorms EV3 Kit (31313) - Jy benodig 'n stapel LEGO en twee groot motors, een servomotor en die ultrasoniese sensor.
  • A Rubik's Cube - Ons het een gevind wat redelik vrylik hier draai. U kan egter omtrent enige 9x9x9 Rubik -kubus gebruik.

Stap 2: Bou dit

Bou dit
Bou dit
Bou dit
Bou dit

Die bou van die Oplosser

Hierdie ontwerp is geïnspireer deur die MindCub3r -ontwerp vir LEGO EV3. Om die BricKuber te bou, begin met die bou van die MindCub3r. Die volledige LEGO -bouinstruksies kan hier gevind word.

Die Rubiks -kubusoplosser -ontwerp het drie belangrike bewegende dele. Die eerste is 'n wieg om die Rubik -kubus vas te hou. Die tweede is die skommelaar, 'n arm wat gebruik word om die Rubik -kubus om te draai.

Laastens voeg ons 'n kameraarm by. In die oorspronklike ontwerp van MindCubr het dit die EV3 -kleursensor oor die Rubik -kubus gehou. In ons aangepaste ontwerp het dit 'n Raspberry Pi -kamera oor die Rubik -kubus. Ons gebruik twee LEGO Mindstorms -motors om die kubus te manipuleer: die eerste sit onder die wieg om die kubus te draai, en die tweede beweeg die skuifarm om die kubus op 'n teenoorgestelde as te draai.

Monteer die BrickPi3

U kan die monteerinstruksies vir die BrickPi3 hier vind. Ons moet die omhulsel monteer, die BrickPi3, die Raspberry Pi, die Raspberry Pi -kamera heg, 'n SD -kaart byvoeg en batterye byvoeg. Om die installering van die sagteware makliker te maak, bevat Raspbian for Robots die meeste sagteware wat u benodig. U benodig ten minste 'n 8 GB SD -kaart, en u wil die skyf uitbrei om die volle grootte van die SD -kaart te pas.

Heg die BrickPi3 aan

Ons voeg die BrickPi3 by die LEGO -samestelling. Ons het die LEGO EV3 "vlerke" gebruik om die BrickPi3 te ondersteun en dit gelyk te maak met die BricKuber -liggaam. Dit is 'n goeie stap om 8XAA -batterye by die kragbron te voeg en die BrickPi3 -kragbron aan die LEGO -eenheid te koppel. Vir programmering kan u die BrickPi3 via USB -krag na die Raspberry Pi voed, maar om die motors te beweeg, moet u die Power Pack voorsien.

Koppel die motors aan op die BrickPi3

Koppel die skommelmotor aan die motorpoort “MD”. Koppel die wiegmotor aan die “MA” -poort op die BrickPi3. Koppel die kamerasensormotor aan die "MC" -poort (dit is die kleiner servo-agtige motor). Alhoewel ons nie die kamera beweeg nie, wil u die ligging van die kamera met die motors aanpas.

Heg die Raspberry Pi -kamera aan

Bevestig die kamera met behulp van die LEGO Camera -ondersteuning. Die klein swart lens van die kamera moet tussen die twee LEGO -balkondersteunings pas. Bevestig die kamera aan die LEGO -stutte met 'n bietjie elektriese band. Dit is 'n goeie tyd om seker te maak dat die kamera in posisie is om die hele Rubik -kubus te kan vasvang. U kan 'n toetsfoto neem met die raspistill -opdrag

raspistill -o cam.jpg

Kontroleer of die kubus in die middel van die prentjie goed gesentreer is.

Stap 3: Berei die sagteware voor

U kan enige weergawe van Raspbian of Raspbian vir Robots gebruik, ons persoonlike beeld wat by die BrickPi3 is wat reeds geïnstalleer is. As u 'n standaard weergawe van Raspbian gebruik, kan u die BrickPi3 -biblioteke met die opdrag installeer

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Hierdie stap installeer al die biblioteke wat nodig is om die BrickPi3 op u Raspbian -beeld te laat loop. Slaan hierdie stap oor as u Raspbian for Robots gebruik: die BrickPi3 is reeds geïnstalleer.

Laastens, installeer alle projekafhanklikhede met die opdrag:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash

Vir hierdie stap moet u BrickPi3 aan die internet gekoppel wees. Daar is 'n aantal biblioteke waarvan die projek afhanklik is, waaronder enkele belangrike biblioteke van Daniel Walton (@dwalton76) op Github, wat gebruik word om die Rubik -kubus op te los.

Stap 4: Los 'n Rubik's Cube op

Los 'n Rubik's Cube op
Los 'n Rubik's Cube op
Los 'n Rubik's Cube op
Los 'n Rubik's Cube op
Los 'n Rubik's Cube op
Los 'n Rubik's Cube op

Plaas 'n onopgeloste Rubik -kubus in die wieg. Voer die opdrag uit

sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py

Die robot draai die kubus na elke gesig en die kamera neem 6 foto's, aan elke kant van die kubus. Die Raspberry Pi bepaal die kubusopstelling uit die ses foto's. Die kubus -opset word na die kociemba Python -biblioteek gestuur om 'n doeltreffende oplossing te vind. Uiteindelik sal die robot die stappe uitvoer om die Rubik's Cube op te los!

Stap 5: Die bronkode

Al die bronkode vir die BricKuber kan gevind word in ons open source github repo hier.

Hierdie projek gebruik die volgende sagtewarepakkette wat deur die opdrag geïnstalleer is

Aanbeveel: