Sisällysluettelo:

BricKuber -projekti - Raspberry Pi Rubiks Cube -ratkaisurobotti: 5 vaihetta (kuvilla)
BricKuber -projekti - Raspberry Pi Rubiks Cube -ratkaisurobotti: 5 vaihetta (kuvilla)

Video: BricKuber -projekti - Raspberry Pi Rubiks Cube -ratkaisurobotti: 5 vaihetta (kuvilla)

Video: BricKuber -projekti - Raspberry Pi Rubiks Cube -ratkaisurobotti: 5 vaihetta (kuvilla)
Video: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, Joulukuu
Anonim
Image
Image

BricKuber pystyy ratkaisemaan Rubikin kuution noin 2 minuutissa.

BricKuber on avoimen lähdekoodin Rubikin kuutioratkaisurobotti, jonka voit rakentaa itse

Halusimme rakentaa Rubiks -kuution ratkaisurobotin Raspberry Pi: n kanssa. Nopeuden sijaan menimme yksinkertaisesti: jos sinulla on Raspberry Pi, BrickPi -sarja ja tavallinen LEGO Mindstorms EV3- tai NXT -sarja, sinun pitäisi pystyä seuraamaan helposti jalanjälkiämme. Ohjelmisto on kirjoitettu Python -ohjelmointikielellä. Näet kaikki lähdekoodit Githubissa täältä.

Tausta Rubikin kuutio on äskettäin aloittanut paluun. Se on keksitty vuonna 1974 ja se on maailman myydyin lelu. Mutta niiden ratkaiseminen vaatii ajattelua, vaivaa ja taitoa… niin miksi et anna robotin tehdä sitä? Tässä projektissa otamme Raspberry Pi: n, BrickPi: n ja LEGO Mindstorms -sarjan ja rakennamme Rubikin kuution ratkaisurobotin. Aseta yksinkertaisesti ratkaisematon Rubikin kuutio ratkaisijaan, suorita python -ohjelma ja Rubikin kuutio on ratkaistu! Projekti käyttää Pi: tä suoraan Rubikin kuution ratkaisemiseen. BrickPi3 ottaa ratkaisemattoman Rubikin kuution ja Raspberry Pi ottaa kuvan Rubikin kuution kummaltakin puolelta Raspberry Pi -kameralla. Pi luo värikartoista tekstikartan, joka näyttää missä ne sijaitsevat kuutiossa. Kun Pi on kartoittanut kuution kokonaan, Pi käyttää kociemba -python -kirjastoa kartoittaakseen Rubikin kuution ratkaisemiseksi tarvittavat liikkeet. Pi ja BrickPi3 käyttävät näitä tietoja ratkaistakseen Rubikin kuution LEGO -moottoreiden avulla. Tulos: ratkaistu Rubikin kuutio.

Vaihe 1: Työkalut ja materiaalit

Rakentaa se
Rakentaa se
  • BrickPi3 - Käytämme BrickPiä ohjaamaan LEGO -moottoreita, jotka ratkaisevat Rubikin kuution ratkaisijan.
  • Raspberry Pi - Pi käsittelee, ottaa kuvia ja komentaa BrickPiä.
  • Raspberry Pi -kamera - Pi -kamera ottaa kuvan ratkaisemattomasta Rubiks -kuutiosta.
  • Ethernet -kaapeli - Laitteesi on oltava yhteydessä Internetiin. Jos haluat tehdä tämän wifi -yhteyden kautta, se on myös hyvä!
  • Raspbian for Robots SD Card - Raspberry Pi -ohjelmisto. Tämä sisältää suurimman osan tähän opetusohjelmaan tarvittavista ohjelmistoista. Voit myös ladata ohjelmiston ilmaiseksi.
  • LEGO Mindstorms EV3 Kit (31313) - Tarvitset kasan LEGOa ja kaksi suurta moottoria, yhden servomoottorin ja ultraäänianturin.
  • Rubikin kuutio - Löysimme sellaisen, joka pyörii täällä melko vapaasti. Voit kuitenkin käyttää melkein mitä tahansa 9x9x9 Rubikin kuutiota.

Vaihe 2: Rakenna se

Rakentaa se
Rakentaa se
Rakentaa se
Rakentaa se

Ratkaisijan rakentaminen

Tämä malli sai inspiraationsa LEGO EV3: n MindCub3r -suunnittelusta. Jos haluat rakentaa BricKuberin, aloita rakentamalla MindCub3r. Täydelliset LEGO -rakennusohjeet löytyvät täältä.

Rubiksin kuutionratkaisumallissa on kolme suurta liikkuvaa osaa. Ensimmäinen on teline Rubikin kuution pitämiseksi. Toinen on sekoitin, käsivarsi, jota käytetään Rubikin kuution kääntämiseen.

Lopuksi lisätään kameran varsi. MindCubrin alkuperäisessä suunnittelussa tämä piti EV3 -värianturia Rubikin kuution päällä. Muutetussa suunnittelussa se pitää Raspberry Pi -kameran Rubikin kuution päällä. Käytämme kahta LEGO Mindstorms -moottoria kuution käsittelyyn: ensimmäinen istuu telineen alapuolella kuutiota pyörittäen, ja toinen liikuttaa sekoitusvartta pyörittääkseen kuutiota vastakkaisella akselilla.

Kokoa BrickPi3

Löydät BrickPi3: n asennusohjeet täältä. Meidän on koottava kotelo, kiinnitettävä BrickPi3, Raspberry Pi, Raspberry Pi -kamera, lisättävä SD -kortti ja lisättävä paristot. Ohjelmiston asennuksen helpottamiseksi Raspbian for Robots sisältää suurimman osan ohjelmistoista, jotka tarvitset jo asennuksessa. Tarvitset vähintään 8 Gt: n SD -kortin, ja haluat laajentaa levyn SD -kortin täysikokoiseksi.

Kiinnitä BrickPi3

Lisäämme BrickPi3: n LEGO -kokoonpanoon. Käytimme LEGO EV3 -siipiä BrickPi3: n tukemiseen ja tasoitimme sen BricKuber -rungon kanssa. Tämä on hyvä askel lisätä 8XAA -paristoja virtalähteeseen ja kiinnittää BrickPi3 -virtalähde LEGO -kokoonpanoon. Ohjelmointia varten voit käyttää BrickPi3 -laitetta USB -liitännän kautta Raspberry Pi -laitteeseen, mutta moottorien siirtämiseen tarvitset virtalähteen Power Packin avulla.

Liitä moottorit BrickPi3: een

Kiinnitä Shuffler -moottori MD -porttiin. Kiinnitä kelamoottori BrickPi3: n MA -porttiin. Kiinnitä kameran anturimoottori MC-porttiin (tämä on pienempi servomainen moottori). Vaikka emme siirrä kameraa, haluat ehkä säätää kameran sijaintia moottoreilla.

Kiinnitä Raspberry Pi -kamera

Kiinnitä kamera LEGO Camera -tuen avulla. Kameran pienen mustan linssin tulisi mahtua kahden LEGO -palkkituen väliin. Kiinnitä kamera paikalleen LEGO -tukiin sähköteipillä. Tämä on hyvä aika varmistaa, että kamera on asennossa, joka pystyy sieppaamaan koko Rubikin kuution. Voit ottaa testikuvan raspistill -komennolla

raspistill -o cam.jpg

Tarkista, että kuutio on hyvin keskellä kuvan keskellä.

Vaihe 3: Valmistele ohjelmisto

Voit käyttää mitä tahansa Raspbian- tai Raspbian for Robots -versiota, mukautettua kuvaa, joka toimitetaan jo asennetun BrickPi3: n mukana. Jos käytät Raspbianin vakioversiota, voit asentaa BrickPi3 -kirjastot komennolla

sudo curl -kL dexterindustries.com/update_brickpi3 | lyödä

Tämä vaihe asentaa kaikki kirjastot, joita tarvitaan BrickPi3: n suorittamiseen Raspbian -kuvassa. Ohita tämä vaihe, jos käytät Raspbian for Robotsia: BrickPi3 on jo asennettu.

Asenna lopuksi kaikki projektiriippuvuudet komennolla:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | lyödä

Tässä vaiheessa BrickPi3: n on oltava yhteydessä Internetiin. Projekti on riippuvainen useista kirjastoista, mukaan lukien muutamat Daniel Waltonin (@dwalton76) Githubin tärkeät kirjastot, joita käytetään Rubikin kuution ratkaisemiseen.

Vaihe 4: Ratkaise Rubikin kuutio

Ratkaise Rubikin kuutio
Ratkaise Rubikin kuutio
Ratkaise Rubikin kuutio
Ratkaise Rubikin kuutio
Ratkaise Rubikin kuutio
Ratkaise Rubikin kuutio

Aseta ratkaisematon Rubikin kuutio telineeseen. Suorita komento

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

Robotti kääntää kuution kummallekin puolelle ja kamera ottaa kuusi kuvaa, yhden kuution kummaltakin puolelta. Raspberry Pi määrittää kuution kokoonpanon kuuden kuvan perusteella. Kuution kokoonpano välitetään kociemba Python -kirjastoon tehokkaan ratkaisun löytämiseksi. Lopuksi robotti suorittaa liikkeet ratkaistakseen Rubikin kuution!

Vaihe 5: Lähdekoodi

Kaikki BricKuberin lähdekoodit löytyvät avoimen lähdekoodin github -repostamme täältä.

Tämä projekti käyttää seuraavia komennon asentamia ohjelmistopaketteja

Suositeltava: