Sisukord:

BricKuberi projekt - Raspberry Pi Rubiksi kuubiku lahendamisrobot: 5 sammu (piltidega)
BricKuberi projekt - Raspberry Pi Rubiksi kuubiku lahendamisrobot: 5 sammu (piltidega)

Video: BricKuberi projekt - Raspberry Pi Rubiksi kuubiku lahendamisrobot: 5 sammu (piltidega)

Video: BricKuberi projekt - Raspberry Pi Rubiksi kuubiku lahendamisrobot: 5 sammu (piltidega)
Video: Micro SD Arduino Mega per sintetizzatore audio • Progetto 1000 2024, November
Anonim
Image
Image

BricKuber suudab Rubiku kuubi lahendada vähem kui 2 minutiga.

BricKuber on avatud lähtekoodiga Rubiku kuubiku lahendamisrobot, mille saate ise ehitada

Tahtsime koos Raspberry Pi -ga ehitada Rubiksi kuubiku lahendamisroboti. Kiiruse asemel läksime lihtsusega: kui teil on Raspberry Pi, BrickPi komplekt ja tavaline LEGO Mindstorms EV3 või NXT komplekt, peaksite saama hõlpsalt meie jälgedes käia. Tarkvara on kirjutatud Pythoni programmeerimiskeeles. Siin näete kogu Githubi lähtekoodi.

Taust Rubiku kuubik on hiljuti hakanud tagasi tulema. See leiutati 1974. aastal ja on maailma enimmüüdud mänguasi. Kuid nende lahendamine nõuab mõtlemist, pingutust ja oskusi… miks mitte lasta robotil seda teha? Selles projektis võtame Raspberry Pi, BrickPi ja LEGO Mindstorms komplekti ning ehitame Rubiku kuubiku lahendamisroboti. Lihtsalt asetage lahendamisse lahendamata Rubiku kuup, käivitage python -programm ja teie Rubiku kuup on lahendatud! Projekt kasutab Pi -d Rubiku kuubi otseseks lahendamiseks. BrickPi3 võtab lahendamata Rubiku kuubiku ja Raspberry Pi teeb Raspberry Pi kaameraga pildi Rubiku kuubi mõlemast küljest. Pi loob värviväljakutest tekstikaardi, mis näitab, kus need kuubikul asuvad. Kui Pi on kuubi täielikult kaardistanud, kasutab Pi Rubiku kuubi lahendamiseks vajalike käikude kaardistamiseks „kociemba” püütoniteeki. Seda teavet võtavad Pi ja BrickPi3, et lahendada Rubiku kuup LEGO mootorite abil. Tulemus: lahendatud Rubiku kuup.

Samm: tööriistad ja materjalid

Ehitage see
Ehitage see
  • BrickPi3 - me kasutame BrickPi abil LEGO mootoreid, mis lahendavad Rubiku kuubiku lahendajat.
  • Raspberry Pi - Pi tegeleb töötlemise, pildistamise ja BrickPi juhtimisega.
  • Vaarika Pi kaamera - Pi kaamera teeb pildi lahendamata Rubiksi kuubikust.
  • Etherneti kaabel - masin peab olema Internetiga ühendatud. Kui soovite seda teha WiFi kaudu, on see ka hea!
  • Raspbian for Robots SD Card - tarkvara, mis töötab Raspberry Pi -ga. Sellega kaasneb enamik selle õpetuse jaoks vajalikust tarkvarast. Samuti saate tarkvara tasuta alla laadida.
  • LEGO Mindstorms EV3 komplekt (31313) - vajate hunnikut LEGO ja kahte suurt mootorit, ühte servomootorit ja ultraheliandurit.
  • Rubiku kuubik - leidsime ühe, mis keerleb siin päris vabalt. Siiski saate kasutada peaaegu kõiki 9x9x9 Rubiku kuubikuid.

2. samm: ehitage see üles

Ehitage see
Ehitage see
Ehitage see
Ehitage see

Lahendaja ehitamine

See disain oli inspireeritud LEGO EV3 MindCub3r disainist. BricKuberi ehitamiseks alustage MindCub3ri ehitamisest. Täielikud LEGO ehitusjuhised leiate siit.

Rubiku kuubiku lahendaja kujunduses on kolm peamist liikuvat osa. Esimene on häll Rubiku kuubi hoidmiseks. Teine on segaja, käsi, mida kasutatakse Rubiku kuubi ümberpööramiseks.

Lõpuks lisame kaamera käe. MindCubri algses disainis hoiti EV3 värvisensorit Rubiku kuubi kohal. Meie muudetud kujunduses hoiab see Rubiku kuubi kohal Raspberry Pi kaamerat. Kuubiga manipuleerimiseks kasutame kahte LEGO Mindstormsi mootorit: esimene asub kuubi pööramiseks hälli all ja teine liigutab käepidet, et kuubi vastassuunalisel teljel keerutada.

Pange kokku BrickPi3

BrickPi3 kokkupaneku juhised leiate siit. Peame korpuse kokku panema, kinnitama BrickPi3, Raspberry Pi, Raspberry Pi kaamera, lisama SD -kaardi ja lisama patareid. Tarkvara hõlpsamaks seadistamiseks on Raspbian for Robots kaasas enamiku tarkvaraga, mida vajate juba seadistamiseks. Teil on vaja vähemalt 8 GB SD -kaarti ja soovite ketta laiendada SD -kaardi täissuuruses.

Kinnitage BrickPi3

Lisame BrickPi3 LEGO koostesse. Kasutasime LEGO EV3 tiibu, et BrickPi3 toestada ja muuta see BricKuberi kehaga võrdseks. See on hea samm, et lisada toiteplokile 8XAA patareid ja kinnitada BrickPi3 toiteplokk LEGO komplekti külge. Programmeerimiseks saate BrickPi3 toita USB -toite kaudu Raspberry Pi -le, kuid mootorite teisaldamiseks peate toiteallikaga varustama.

Ühendage mootorid BrickPi3 -ga

Kinnitage segamismootor mootoripordile “MD”. Kinnitage hällimootor BrickPi3 porti “MA”. Kinnitage kaamera anduri mootor “MC” porti (see on väiksem servo-sarnane mootor). Kuigi me ei liiguta kaamerat, võiksite mootori abil kaamera asukohta reguleerida.

Kinnitage Raspberry Pi kaamera

LEGO kaamera toe abil kinnitage kaamera. Kaamera väike must lääts peaks mahtuma kahe LEGO talatoe vahele. Kinnitage kaamera mõne elektrilindi abil LEGO -tugede külge. See on hea aeg veendumaks, et kaamera on sellises asendis, et jäädvustada kogu Rubiku kuup. Proovipildi saate teha käsuga raspistill

raspistill -o cam.jpg

Kontrollige, kas kuubik on pildi keskel hästi tsentreeritud.

Samm: valmistage tarkvara ette

Võite kasutada mis tahes Raspbiani või Raspbian for Robots versiooni, meie kohandatud pilti, mis on kaasas juba installitud BrickPi3 -ga. Kui kasutate Raspbiani standardversiooni, saate käsu abil installida BrickPi3 teegid

sudo curl -kL dexterindustries.com/update_brickpi3 | lööma

See samm installib kõik teegid, mida on vaja BrickPi3 käitamiseks teie Raspbiani pildil. Kui kasutate Raspbian for Robots, jätke see samm vahele: BrickPi3 on juba installitud.

Lõpuks installige kõik projekti sõltuvused käsu abil:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | lööma

Selle sammu jaoks peab teie BrickPi3 olema Internetiga ühendatud. Projekt sõltub mitmest raamatukogust, sealhulgas mõned olulised raamatukogud, mille autor on Daniel Walton (@dwalton76) Githubis ja mida kasutatakse Rubiku kuubi lahendamiseks.

Samm: lahendage Rubiku kuup

Lahendage Rubiku kuup
Lahendage Rubiku kuup
Lahendage Rubiku kuup
Lahendage Rubiku kuup
Lahendage Rubiku kuup
Lahendage Rubiku kuup

Asetage hälli lahendamata Rubiku kuubik. Käivitage käsk

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

Robot pöörab kuubi iga näo poole ja kaamera teeb 6 pilti, ühe kuubi mõlemalt poolt. Raspberry Pi määrab kuue pildi põhjal kuubi konfiguratsiooni. Cube'i konfiguratsioon edastatakse tõhusa lahenduse leidmiseks kociemba Pythoni teeki. Lõpuks teostab robot liigutusi Rubiku kuubi lahendamiseks!

Samm: lähtekood

Kogu BricKuberi lähtekoodi leiate meie avatud lähtekoodiga githubi repost siin.

See projekt kasutab järgmisi käsuga installitud tarkvarapakette

Soovitan: