Turinys:
- 1 žingsnis: įrankiai ir medžiagos
- 2 žingsnis: sukurkite
- 3 žingsnis: Paruoškite programinę įrangą
- 4 žingsnis: išspręskite Rubiko kubą
- 5 žingsnis: šaltinio kodas
Video: „BricKuber“projektas - „Raspberry Pi Rubiks“kubo sprendimo robotas: 5 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
„BricKuber“gali išspręsti Rubiko kubą maždaug per 2 minutes.
„BricKuber“yra atviro kodo Rubiko kubo sprendimo robotas, kurį galite sukurti patys
Mes norėjome su „Raspberry Pi“sukurti Rubiko kubo sprendimo robotą. Vietoj to, kad siektume greičio, pasirinkome paprastumą: jei turite „Raspberry Pi“, „BrickPi“rinkinį ir standartinį „LEGO Mindstorms EV3“ar „NXT Kit“rinkinį, turėtumėte lengvai sekti mūsų pėdomis. Programinė įranga parašyta „Python“programavimo kalba. Visą „Github“šaltinio kodą galite pamatyti čia.
Fonas Rubiko kubas neseniai pradėjo sugrįžti. Išrastas 1974 m., Tai yra geriausiai parduodamas žaislas pasaulyje. Tačiau jų sprendimas reikalauja minčių, pastangų ir įgūdžių… tai kodėl gi neleisti robotui to padaryti? Šiame projekte mes paimame „Raspberry Pi“, „BrickPi“ir „LEGO Mindstorms“rinkinį ir sukursime Rubiko kubo sprendimo robotą. Tiesiog įdėkite neišspręstą Rubiko kubą į sprendiklį, paleiskite python programą ir jūsų Rubiko kubas bus išspręstas! Projektas naudoja Pi, kad tiesiogiai išspręstų Rubiko kubą. „BrickPi3“fotografuoja neišspręstą Rubiko kubą, o „Raspberry Pi“fotografuoja kiekvieną Rubiko kubo pusę su „Raspberry Pi“fotoaparatu. Pi sukuria spalvų kvadratų tekstinį žemėlapį, kuriame parodyta, kur jie yra kube. Kai „Pi“visiškai suplanavo kubą, jis naudoja „kociemba“python biblioteką, kad suplanuotų judesius, reikalingus Rubiko kubui išspręsti. Šią informaciją paima „Pi“ir „BrickPi3“, kad išspręstų Rubiko kubą naudojant „LEGO“variklius. Rezultatas: išspręstas Rubiko kubas.
1 žingsnis: įrankiai ir medžiagos
- „BrickPi3“- mes naudosime „BrickPi“, kad valdytume „LEGO“variklius, kurie išsprendžia Rubiko kubo sprendiklį.
- „Raspberry Pi“- „Pi“apdoros, fotografuos ir lieps „BrickPi“.
- „Raspberry Pi“kamera - „Pi“kamera nufotografuos neišspręstą Rubiko kubą.
- Ethernet kabelis - jums reikės, kad jūsų įrenginys būtų prijungtas prie interneto. Jei norite tai padaryti naudodami „Wi -Fi“, tai taip pat gerai!
- „Raspbian for Robots“SD kortelė - programinė įranga, kurioje veikia „Raspberry Pi“. Tai yra dauguma programinės įrangos, reikalingos šiai pamokai. Programinę įrangą taip pat galite atsisiųsti nemokamai.
- LEGO Mindstorms EV3 rinkinys (31313) - Jums reikės krūvos LEGO ir dviejų didelių variklių, vieno servo variklio ir ultragarso jutiklio.
- Rubiko kubas - radome tokį, kuris čia sukasi gana laisvai. Tačiau galite naudoti beveik bet kokį 9x9x9 Rubiko kubą.
2 žingsnis: sukurkite
Sprendėjo kūrimas
Šį dizainą įkvėpė LEGO EV3 „MindCub3r“dizainas. Norėdami sukurti „BricKuber“, pradėkite nuo „MindCub3r“kūrimo. Visą LEGO statybos instrukciją rasite čia.
„Rubiks“kubo sprendiklio dizainas turi tris pagrindines judančias dalis. Pirmasis yra lopšys Rubiko kubui laikyti. Antrasis yra maišytuvas, ranka, naudojama Rubiko kubui apversti.
Galiausiai pridedame fotoaparato rankeną. Originaliame „MindCubr“projekte EV3 spalvų jutiklis buvo laikomas ant Rubiko kubo. Mūsų modifikuotame dizaine jis turi Raspberry Pi kamerą virš Rubiko kubo. Mes naudojame du „LEGO Mindstorms“variklius, kad manipuliuotume kubu: pirmasis yra žemiau lopšio, kad pasuktų kubą, o antrasis judina maišytuvo ranką, kad suktų kubą priešinga ašimi.
Surinkite „BrickPi3“
„BrickPi3“surinkimo instrukcijas rasite čia. Mums reikės surinkti dėklą, pritvirtinti „BrickPi3“, „Raspberry Pi“, „Raspberry Pi“fotoaparatą, pridėti SD kortelę ir pridėti baterijas. Kad būtų lengviau įdiegti programinę įrangą, „Raspbian for Robots“pateikiama su dauguma programinės įrangos, kurios jums jau reikės. Jums reikės bent 8 GB SD kortelės ir norėsite išplėsti diską, kad jis atitiktų viso dydžio SD kortelę.
Pritvirtinkite „BrickPi3“
Pridedame „BrickPi3“prie „LEGO“rinkinio. Mes panaudojome „LEGO EV3“„sparnus“, kad galėtume palaikyti „BrickPi3“ir padaryti jį lygų „BricKuber“korpusui. Tai geras žingsnis pridėti 8XAA baterijas prie maitinimo bloko ir prijungti „BrickPi3“maitinimo bloką prie „LEGO“mazgo. Programavimui galite įjungti „BrickPi3“per USB maitinimą į „Raspberry Pi“, tačiau, norėdami perkelti variklius, turėsite tiekti energiją naudodami „Power Pack“.
Prijunkite variklius prie „BrickPi3“
Pritvirtinkite maišytuvo variklį prie variklio prievado „MD“. Pritvirtinkite lopšio variklį prie „BrickPi3“prievado „MA“. Pritvirtinkite fotoaparato jutiklio variklį prie „MC“prievado (tai yra mažesnis servo tipo variklis). Nors nejudinsime fotoaparato, galbūt norėsite pakoreguoti kameros vietą naudodami variklius.
Prijunkite „Raspberry Pi“fotoaparatą
Naudodami „LEGO Camera“palaikymą, pritvirtinkite fotoaparatą. Mažas juodas fotoaparato objektyvas turėtų tilpti tarp dviejų LEGO spindulių atramų. Pritvirtinkite fotoaparatą prie LEGO atramų tam tikra elektros juosta. Tai tinkamas laikas įsitikinti, kad fotoaparatas yra tokioje padėtyje, kad galėtų užfiksuoti visą Rubiko kubą. Galite padaryti bandomąją nuotrauką naudodami raspistill komandą
raspistill -o cam.jpg
Patikrinkite, ar kubas yra gerai centre paveikslo viduryje.
3 žingsnis: Paruoškite programinę įrangą
Galite naudoti bet kurią „Raspbian“arba „Raspbian for Robots“versiją, mūsų pasirinktinį vaizdą, pateiktą kartu su jau įdiegtu „BrickPi3“. Jei naudojate standartinę „Raspbian“versiją, galite įdiegti „BrickPi3“bibliotekas naudodami komandą
sudo curl -kL dexterindustries.com/update_brickpi3 | mušti
Šis veiksmas įdiegs visas bibliotekas, reikalingas „BrickPi3“paleidimui jūsų „Raspbian“vaizde. Praleiskite šį veiksmą, jei naudojate „Raspbian for Robots“: „BrickPi3“jau įdiegta.
Galiausiai įdiekite visas projekto priklausomybes naudodami komandą:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | mušti
Norėdami tai padaryti, „BrickPi3“turės būti prijungtas prie interneto. Yra daug bibliotekų, nuo kurių priklauso projektas, įskaitant keletą svarbių Danielio Waltono (@dwalton76) „Github“bibliotekų, kurios naudojamos Rubiko kubui spręsti.
4 žingsnis: išspręskite Rubiko kubą
Į lopšį įdėkite neišspręstą Rubiko kubą. Vykdykite komandą
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Robotas pasuks kubą į kiekvieną veidą, o kamera nufotografuos 6 nuotraukas, po vieną iš kiekvienos kubo pusės. „Raspberry Pi“nustatys kubo konfigūraciją iš šešių nuotraukų. „Cube“konfigūracija bus perduota „kociemba Python“bibliotekai, kad būtų rastas efektyvus sprendimas. Galiausiai robotas atliks judesius, kad išspręstų Rubiko kubą!
5 žingsnis: šaltinio kodas
Visą „BricKuber“šaltinio kodą galite rasti mūsų atvirojo kodo „github“repo čia.
Šiame projekte naudojami šie komandos įdiegti programinės įrangos paketai
Rekomenduojamas:
Arduino - Labirinto sprendimo robotas („MicroMouse“) Sieninis robotas: 6 žingsniai (su paveikslėliais)
Arduino | Labirinto sprendimų robotas („MicroMouse“) Sienų sekimo robotas: Sveiki, aš esu Izaokas ir tai yra mano pirmasis robotas „Striker v1.0“. Šis robotas buvo sukurtas paprastam labirintui išspręsti. Konkurse turėjome du labirintus ir robotą sugebėjo juos identifikuoti. Dėl bet kokių kitų labirinto pakeitimų gali prireikti pakeisti
Labirinto sprendimo robotas („Boe-bot“): 5 žingsniai
Labirinto sprendimo robotas („Boe-bot“): ši instrukcija parodys, kaip suprojektuoti ir pasigaminti savo labirinto sprendimo robotą, naudojant paprastas medžiagas ir robotą. Tai taip pat apims kodavimą, todėl taip pat reikalingas kompiuteris
Balansavimo robotas / 3 ratų robotas / STEM robotas: 8 žingsniai
Balansavimo robotas / 3 ratų robotas / STEM robotas: Mes sukūrėme kombinuotą balansavimo ir 3 ratų robotą, skirtą naudoti mokyklose ir po pamokų. Robotas sukurtas naudojant „Arduino Uno“, pasirinktinį skydą (pateikiama visa konstrukcijos informacija), „Li Ion“akumuliatorių paketą (visa tai atitinka
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą - Nykščių robotas - Servo variklis - Šaltinio kodas: 26 žingsniai (su paveikslėliais)
[Arduino robotas] Kaip padaryti judesio fiksavimo robotą | Nykščių robotas | Servo variklis | Šaltinio kodas: „Thumbs Robot“. Naudotas MG90S servo variklio potenciometras. Tai labai smagu ir lengva! Kodas yra labai paprastas. Tai tik apie 30 eilučių. Tai atrodo kaip judesio fiksavimas. Prašome palikti bet kokį klausimą ar atsiliepimą! [Instrukcija] Šaltinio kodas https: //github.c
Intuityvus labirinto sprendimo robotas: 3 žingsniai
Intuityvus labirinto sprendimo robotas: šioje instrukcijoje sužinosite, kaip sukurti labirinto sprendimo robotą, kuris išspręstų žmonių nubrėžtus labirintus. Nors dauguma robotų sprendžia pirmojo tipo nupieštus labirintus (turite sekti linijas, jie yra keliai), normalūs žmonės linkę piešti antros rūšies labirintą