Talaan ng mga Nilalaman:
- Hakbang 1: Mga Tool at Materyales
- Hakbang 2: Buuin Ito
- Hakbang 3: Ihanda ang Software
- Hakbang 4: Malutas ang isang Rubik’s Cube
- Hakbang 5: Ang Source Code
Video: BricKuber Project - isang Raspberry Pi Rubiks Cube Solving Robot: 5 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:15
Maaaring malutas ng BricKuber ang isang Rubik cube sa halos mas mababa sa 2 minuto.
Ang BricKuber ay isang bukas na mapagkukunan ng paglutas ng robot ng Rubik na maaari mong buuin ang iyong sarili
Nais naming bumuo ng isang Rubiks cube paglutas ng robot sa Raspberry Pi. Sa halip na humingi ng bilis, nagpunta kami sa pagiging simple: kung mayroon kang isang Raspberry Pi, isang BrickPi kit, at isang karaniwang LEGO Mindstorms EV3 o NXT Kit, dapat mong madaling masundan ang aming mga yapak. Ang software ay nakasulat sa wika ng programa ng Python. Maaari mong makita ang lahat ng source-code sa Github dito.
Background Ang kubo ng Rubik ay nagsimula kamakailan lamang na gumawa ng isang pagbabalik. Naimbento noong 1974, ito ang laruang larong binebenta sa buong mundo. Ngunit ang paglutas sa kanila ay tumatagal ng pag-iisip, pagsisikap, at kasanayan… kaya bakit hindi hayaan ang isang robot na gawin ito? Sa proyektong ito, kumukuha kami ng isang Raspberry Pi, isang BrickPi, at isang hanay ng mga LEGO Mindstorms at bumuo ng isang robot sa paglutas ng cube ng Rubik. Maglagay lamang ng isang hindi nalutas na cube ng Rubik sa solver, patakbuhin ang programa ng sawa, at malutas ang kubo ng iyong Rubik! Gumagamit ang proyekto ng Pi upang direktang malutas ang Rubik’s cube. Kinukuha ng BrickPi3 ang hindi nalutas na kubo ni Rubik at ang Raspberry Pi ay kumukuha ng larawan ng bawat panig ng kubo ng Rubik kasama ang Raspberry Pi Camera. Lumilikha ang Pi ng isang mapa ng teksto ng mga parisukat na kulay na nagpapakita kung saan matatagpuan ang mga ito sa kubo. Kapag buong mapa nito ang kubo, ang Pi ay gumagamit ng "kociemba" python library upang mapa ang mga galaw na kinakailangan upang malutas ang Rubik's cube. Ang impormasyong ito ay kinuha ng Pi at BrickPi3 upang malutas ang kubo ng Rubik gamit ang mga motor ng LEGO. Ang resulta: isang malulutas na kubo ni Rubik.
Hakbang 1: Mga Tool at Materyales
- BrickPi3 - Gagamitin namin ang BrickPi upang makontrol ang mga LEGO motor na malulutas ang solusyong kubo ng Rubik.
- Raspberry Pi - Gagawin ng Pi ang pagproseso, pagkuha ng mga larawan, at pag-uutos sa BrickPi.
- Raspberry Pi Camera - Kukuha ng larawan ng Pi Camera ang hindi nalutas na Rubiks cube.
- Ethernet Cable - Kakailanganin mo ang iyong makina upang makakonekta sa internet. Kung nais mong gawin ito sa paglipas ng wifi, ayos din!
- Raspbian para sa Robots SD Card - Ang software na nagpapatakbo ng Raspberry Pi. Ito ay kasama ng karamihan ng software na kinakailangan para sa tutorial na ito. Maaari mo ring i-download ang software nang libre.
- LEGO Mindstorms EV3 Kit (31313) - Kakailanganin mo ng isang tumpok ng LEGO at dalawang malalaking motor, at isang servo motor, at ang Ultrasonic Sensor.
- A Rubik's Cube - Natagpuan namin ang isa na malayang umikot dito. Maaari mong gamitin ang halos anumang 9x9x9 Rubik’s cube bagaman.
Hakbang 2: Buuin Ito
Pagbuo ng Solver
Ang disenyo na ito ay inspirasyon ng disenyo ng MindCub3r para sa LEGO EV3. Upang maitayo ang BricKuber, magsimula sa pamamagitan ng pagbuo ng MindCub3r. Ang mga buong tagubilin sa gusali ng LEGO ay matatagpuan dito.
Ang disenyo ng Rubiks cube solver ay may tatlong pangunahing mga gumagalaw na bahagi. Ang una ay isang duyan upang hawakan ang kubo ng Rubik. Ang pangalawa ay ang shuffler, isang braso na ginagamit upang baligtarin ang kubo ng Rubik.
Panghuli, nagdagdag kami ng isang braso ng camera. Sa orihinal na disenyo ng MindCubr, hawak nito ang sensor ng kulay ng EV3 sa ibabaw ng kubo ng Rubik. Sa aming binagong disenyo, nagtataglay ito ng isang Raspberry Pi Camera sa ibabaw ng kubo ng Rubik. Gumagamit kami ng dalawang mga motor ng LEGO Mindstorms upang manipulahin ang kubo: ang una ay nakaupo sa ibaba ng duyan upang paikutin ang kubo, at ang pangalawa ay gumagalaw ng braso ng shuffler upang paikutin ang kubo sa isang kabaligtaran na axis.
Ipunin ang BrickPi3
Maaari kang makahanap ng mga tagubilin sa pagpupulong para sa BrickPi3 dito. Kakailanganin naming tipunin ang kaso, ilakip ang BrickPi3, ang Raspberry Pi, ang Raspberry Pi Camera, magdagdag ng isang SD Card, at magdagdag ng mga baterya. Upang gawing mas madaling i-set up ang software, ang Raspbian for Robots ay may kasamang karamihan ng software na kakailanganin mo nang mag-setup. Kakailanganin mo ng hindi bababa sa isang 8 GB SD Card, at gugustuhin mong palawakin ang disk upang magkasya sa buong sukat ng SD Card.
Ikabit ang BrickPi3
Idinagdag namin ang BrickPi3 sa pagpupulong ng LEGO. Ginamit namin ang "mga pakpak" ng LEGO EV3 upang suportahan ang BrickPi3 at gawin itong antas sa katawan ng BricKuber. Ito ay isang mahusay na hakbang upang magdagdag ng mga baterya ng 8XAA sa power pack at ikabit ang power pack ng BrickPi3 sa LEGO Assembly. Para sa pagprograma maaari mong paganahin ang BrickPi3 sa pamamagitan ng USB power sa Raspberry Pi, subalit upang ilipat ang mga motor na kakailanganin mong magbigay ng lakas sa Power Pack.
Ikonekta ang Mga Motors sa BrickPi3
Ikabit ang Shuffler Motor sa motor port na "MD". Ikabit ang cradle motor sa port na "MA" sa BrickPi3. Ikabit ang sensor ng Camera ng motor sa port na "MC" (ito ang mas maliit na motor na tulad ng servo). Kahit na hindi namin ililipat ang camera, baka gusto mong ayusin ang lokasyon ng camera gamit ang mga motor.
Ikabit ang Camera ng Raspberry Pi
Gamit ang suporta ng LEGO Camera, ikabit ang camera. Ang maliit na itim na lens ng camera ay dapat magkasya sa pagitan ng dalawang suporta ng LEGO beam. I-secure ang camera sa lugar sa mga suporta ng LEGO gamit ang ilang electrical tape. Ito ay isang magandang panahon upang matiyak na ang camera ay posisyon upang makuha ang buong kubo ng Rubik. Maaari kang kumuha ng larawan ng pagsubok kasama ang utos ng raspistill
raspistill -o cam.jpg
Suriin na ang kubo ay mahusay na nakasentro sa gitna ng larawan.
Hakbang 3: Ihanda ang Software
Maaari mong gamitin ang anumang bersyon ng Raspbian o Raspbian para sa Robots, ang aming pasadyang imahe na kasama ng naka-install na na BrickPi3. Kung gumagamit ka ng isang karaniwang bersyon ng Raspbian, maaari mong mai-install ang mga aklatan ng BrickPi3 gamit ang utos
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Ang hakbang na ito ay mai-install ang lahat ng mga aklatan na kinakailangan upang patakbuhin ang BrickPi3 sa iyong Larawan sa Raspbian. Laktawan ang hakbang na ito kung gumagamit ka ng Raspbian for Robots: naka-install na ang BrickPi3.
Panghuli, i-install ang lahat ng mga dependency ng proyekto gamit ang utos:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Para sa hakbang na ito ang iyong BrickPi3 ay kailangang maiugnay sa internet. Mayroong isang bilang ng mga aklatan na nakasalalay sa proyekto, kabilang ang ilang mga mahalaga ni Daniel Walton (@ dwalton76) sa Github, na ginagamit upang malutas ang kubo ng Rubik.
Hakbang 4: Malutas ang isang Rubik’s Cube
Maglagay ng isang hindi nalutas na cube ng Rubik sa duyan. Patakbuhin ang utos
sudo python ~ / Dexter / BrickPi3 / Mga Proyekto / BricKuber / BricKuber.py
Ang robot ay i-on ang kubo sa bawat mukha at ang camera ay kukuha ng 6 na mga larawan, isa sa bawat panig ng Cube. Tutukoy ng Raspberry Pi ang pagsasaayos ng kubo mula sa anim na larawan. Ang pagsasaayos ng Cube ay ipapasa sa kociemba Python library upang makahanap ng isang mahusay na solusyon. Sa wakas, isasagawa ng robot ang mga galaw upang malutas ang Rubik's Cube!
Hakbang 5: Ang Source Code
Ang lahat ng source code para sa BricKuber ay matatagpuan sa aming open source github repo dito.
Gumagamit ang proyektong ito ng mga sumusunod na mga pakete ng software na naka-install ng utos
Inirerekumendang:
Functional USB Flash Drive Rubiks Cube: 7 Hakbang (na may Mga Larawan)
Functional USB Flash Drive Rubiks Cube: Sa tutorial na ito ipapakita ko sa iyo, kung paano gumawa ng iyong sariling Rubik USB Flash Drive. Maaari mong makita ang natapos na produkto sa sumusunod na video:
Magic Cube o Micro-controller Cube: 7 Hakbang (na may Mga Larawan)
Magic Cube o Micro-controller Cube: Sa Mga Instructionable na ito, ipapakita ko sa iyo kung paano gumawa ng isang Magic cube mula sa may sira na Micro-controller. Ang ideyang ito ay nagmula kapag kinuha ko ang Faulty ATmega2560 micro-controller mula sa Arduino Mega 2560 at gumawa ng isang cube .Tungkol sa hardware ng Magic Cube, gumawa ako bilang
Ang Butter Robot: ang Arduino Robot Na May Existential Crisis: 6 Mga Hakbang (na may Mga Larawan)
The Butter Robot: the Arduino Robot With Existential Crisis: Ang proyektong ito ay batay sa animated na serye " Rick and Morty ". Sa isa sa mga yugto, gumagawa si Rick ng isang robot na ang tanging layunin ay magdala ng mantikilya. Bilang mga mag-aaral mula sa Bruface (Brussels Faculty of Engineering) mayroon kaming takdang-aralin para sa mecha
Robot Gong: Ultimate Hackaton Project Idea para sa Sales at Product Geeks (Walang Kinakailangan na Coding): 17 Mga Hakbang (na may Mga Larawan)
Robot Gong: Ultimate Hackaton Project Idea para sa Sales at Product Geeks (Walang Kinakailangan na Pag-coding): Bumuo tayo ng isang robotic na musikal na gong na na-trigger ng email. Pinapayagan kang mag-set up ng mga awtomatikong alerto sa email upang mapapatay ang gong … (sa pamamagitan ng SalesForce, Trello, Basecamp …) Hindi na makakalimutan ang iyong koponan na " GONGGG " kapag naglabas ng bagong code, isang dea
Project ng Score Board Na May P10 LED Display Paggamit ng DMD: 6 Mga Hakbang (na may Mga Larawan)
Project ng Score Board Na May P10 LED Display Paggamit ng DMD: Kadalasan ay nagkikita kami sa isang soccer stadium; mayroong isang higanteng LED board na nagsisilbing isang scoreboard. Gayundin sa iba pang larangan ng palakasan, madalas din nating alam ang scoreboard ng display screen na gawa sa LED. Bagaman hindi posible, mayroon ding larangan na tayo pa rin