Sisällysluettelo:
- Vaihe 1: Työkalut ja materiaalit
- Vaihe 2: Rakenna se
- Vaihe 3: Valmistele ohjelmisto
- Vaihe 4: Ratkaise Rubikin kuutio
- Vaihe 5: Lähdekoodi
Video: BricKuber -projekti - Raspberry Pi Rubiks Cube -ratkaisurobotti: 5 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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
- 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
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
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:
Toimiva USB -muistitikku Rubiks Cube: 7 vaihetta (kuvilla)
Toimiva USB -muistitikku Rubiks Cube: Tässä opetusohjelmassa aion näyttää sinulle, miten voit tehdä oman Rubikin USB -muistitikun Voit nähdä valmiin tuotteen seuraavassa videossa:
RGB LED CUBE 4x4x4: 6 vaihetta (kuvilla)
RGB LED CUBE 4x4x4: Tänään kerron kuinka tehdä 4x4x4 led -kuutio, joka on rakennettu Arduino Nanosta, RGB -LEDit 10 mm - yleinen anodi ja kaksipuolinen prototyyppi PCB
Mini Cube Bluetooth -kaiutin: 6 vaihetta (kuvilla)
Mini Cube Bluetooth -kaiutin: ENIntro Hei, suunnittelin aiemmin muutamia kaiuttimia ja sain äskettäin idean Bluetooth -kaiuttimen luomiseksi, koska minulla oli joitakin osia kuolleista Bluetooth -kaiuttimista. Tyttöystäväni piirsi ajatuksensa siitä, miltä sen pitäisi näyttää, ja sitten se oli minun
Arduino Mega Stepper Shield Rubiks Cube Solverille: 4 vaihetta
Arduino Mega Stepper Shield Rubiks Cube Solverille: Jonkin aikaa sitten työskentelin koneella, joka ratkaisee automaattisesti kaikki salatut 3x3 Rubiks Cube. Näet ohjeeni tästä. Projektissa polulusta peräkkäisiä ajureita käytettiin kuuden moottorin käyttämiseen. Jotta kaksi voisi yhdistää nämä
Magic Cube tai Micro-controller Cube: 7 vaihetta (kuvien kanssa)
Magic Cube tai Micro-controller Cube: Tässä oppaassa näytän sinulle, kuinka tehdä Magic-kuutio viallisesta mikro-ohjaimesta. Tämä idea tulee siitä, kun olen ottanut viallisen ATmega2560-mikro-ohjaimen Arduino Mega 2560: sta ja valmistanut kuution .Tietoja Magic Cube -laitteistosta minulla on