Obsah:

Projekt BricKuber - robot na řešení krychle Raspberry Pi Rubiks: 5 kroků (s obrázky)
Projekt BricKuber - robot na řešení krychle Raspberry Pi Rubiks: 5 kroků (s obrázky)

Video: Projekt BricKuber - robot na řešení krychle Raspberry Pi Rubiks: 5 kroků (s obrázky)

Video: Projekt BricKuber - robot na řešení krychle Raspberry Pi Rubiks: 5 kroků (s obrázky)
Video: Микро-кирпич Мотоциклетный трансформер - Bikey 2024, Červen
Anonim
Image
Image

BricKuber dokáže vyřešit Rubikovu kostku za méně než 2 minuty.

BricKuber je robot na řešení Rubikových kostek s otevřeným zdrojovým kódem, který si můžete postavit sami

Chtěli jsme s Raspberry Pi postavit robota na řešení krychlí Rubiks. Než abychom šli na rychlost, šli jsme s jednoduchostí: pokud máte Raspberry Pi, stavebnici BrickPi a standardní stavebnici LEGO Mindstorms EV3 nebo NXT, měli byste být schopni snadno jít v našich stopách. Software je napsán v programovacím jazyce Python. Zde můžete vidět všechny zdrojové kódy na Githubu.

Pozadí Rubikova kostka se nedávno začala vracet. Vynalezen v roce 1974, je to nejprodávanější hračka na světě. Jejich řešení však vyžaduje myšlení, úsilí a dovednosti… tak proč to nenechat robota? V tomto projektu vezmeme Raspberry Pi, BrickPi a sadu LEGO Mindstorms a postavíme robota na řešení krychle Rubik. Jednoduše vložte do řešiče nevyřešenou Rubikovu kostku, spusťte program python a vaše Rubikova kostka je vyřešena! Projekt pomocí Pi přímo řeší Rubikovu kostku. BrickPi3 vezme nevyřešenou Rubikovu kostku a Raspberry Pi vyfotí každou stranu Rubikovy kostky pomocí kamery Raspberry Pi. Pi vytvoří textovou mapu barevných čtverců, která ukazuje, kde se na krychli nacházejí. Když Pi plně zmapuje krychli, pomocí pythonové knihovny „kociemba“zmapuje pohyby potřebné k vyřešení Rubikovy kostky. Tyto informace berou Pi a BrickPi3 k vyřešení Rubikovy kostky pomocí motorů LEGO. Výsledek: vyřešená Rubikova kostka.

Krok 1: Nástroje a materiály

Postav to
Postav to
  • BrickPi3 - BrickPi použijeme k ovládání motorů LEGO, které řeší řešič Rubikovy kostky.
  • Raspberry Pi - Pi bude zpracovávat, fotografovat a ovládat BrickPi.
  • Raspberry Pi Camera - Pi Camera vyfotí nevyřešenou Rubikovu kostku.
  • Ethernetový kabel - Budete potřebovat, aby bylo vaše zařízení připojeno k internetu. Pokud to chcete udělat přes wifi, je to také v pořádku!
  • Karta SD Raspbian for Robots - Software, na kterém běží Raspberry Pi. To přichází s většinou softwaru potřebného pro tento tutoriál. Software si také můžete zdarma stáhnout.
  • Sada LEGO Mindstorms EV3 (31313) - Budete potřebovat hromadu LEGO a dva velké motory, jeden servomotor a ultrazvukový senzor.
  • Rubikova kostka - Našli jsme takovou, která se tu docela volně otáčí. Můžete však použít téměř jakoukoli Rubikovu kostku 9x9x9.

Krok 2: Postavte to

Postav to
Postav to
Postav to
Postav to

Budování Řešitele

Tento design byl inspirován designem MindCub3r pro LEGO EV3. Chcete -li sestavit BricKuber, začněte stavěním MindCub3r. Kompletní návod ke stavění LEGO najdete zde.

Konstrukce řešiče Rubikovy kostky má tři hlavní pohyblivé části. První je kolébka pro uložení Rubikovy kostky. Druhým je shuffler, rameno, které slouží k převrácení Rubikovy kostky.

Nakonec přidáme rameno fotoaparátu. V původním návrhu od MindCubr to drželo barevný senzor EV3 nad Rubikovou kostkou. V našem upraveném designu drží kameru Raspberry Pi přes Rubikovu kostku. K manipulaci s kostkou používáme dva motory LEGO Mindstorms: první sedí pod kolébkou, aby kostku otočil, a druhá pohybuje ramenem míchačky, aby kostku roztočila na opačnou osu.

Sestavte BrickPi3

Zde najdete montážní návod k BrickPi3. Budeme muset sestavit pouzdro, připojit BrickPi3, Raspberry Pi, kameru Raspberry Pi, přidat kartu SD a přidat baterie. Aby bylo nastavení softwaru snazší, Raspbian for Robots přichází s většinou softwaru, který již budete potřebovat nastavit. Budete potřebovat alespoň 8 GB SD kartu a budete chtít disk rozšířit tak, aby odpovídal plné velikosti SD karty.

Připojte BrickPi3

Přidáme BrickPi3 do sestavy LEGO. „Křídla“LEGO EV3 jsme použili k podpoře BrickPi3 a k vyrovnání s tělem BricKuber. Toto je dobrý krok k přidání baterií 8XAA do napájecího zdroje a připojení napájecího zdroje BrickPi3 k sestavě LEGO. Pro programování můžete BrickPi3 napájet přes USB napájení Raspberry Pi, ale pro přesun motorů budete potřebovat napájení Power Packem.

Připojte motory k BrickPi3

Připojte motor Shuffler k portu motoru „MD“. Připojte kolébkový motor k portu „MA“na BrickPi3. Připojte motor senzoru kamery k portu „MC“(jedná se o menší motor podobný servu). Přestože kameru nepohybujeme, možná budete chtít upravit polohu kamery pomocí motorů.

Připojte kameru Raspberry Pi

Připojte kameru pomocí podpory LEGO Camera. Malý černý objektiv fotoaparátu by měl zapadnout mezi dvě podpěry paprsků LEGO. Zajistěte kameru na místě pomocí LEGO pásek elektrickou páskou. Nyní je vhodné se ujistit, že kamera je v pozici, aby dokázala zachytit celou Rubikovu kostku. Zkušební obrázek můžete pořídit příkazem raspistill

raspistill -o cam.jpg

Zkontrolujte, zda je kostka dobře vycentrovaná uprostřed obrázku.

Krok 3: Připravte software

Můžete použít libovolnou verzi Raspbian nebo Raspbian pro roboty, naši vlastní bitovou kopii, která je součástí již nainstalovaného BrickPi3. Pokud používáte standardní verzi Raspbian, můžete nainstalovat knihovny BrickPi3 pomocí příkazu

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Tento krok nainstaluje všechny knihovny potřebné ke spuštění BrickPi3 na vašem obrázku Raspbian. Tento krok přeskočte, pokud používáte Raspbian pro roboty: BrickPi3 je již nainstalován.

Nakonec nainstalujte všechny závislosti projektu pomocí příkazu:

sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash

Pro tento krok bude nutné, aby byl váš BrickPi3 připojen k internetu. Existuje řada knihoven, na kterých projekt závisí, včetně některých klíčových knihoven Daniela Waltona (@dwalton76) na Githubu, které slouží k řešení Rubikovy kostky.

Krok 4: Vyřešte Rubikovu kostku

Vyřešte Rubikovu kostku
Vyřešte Rubikovu kostku
Vyřešte Rubikovu kostku
Vyřešte Rubikovu kostku
Vyřešte Rubikovu kostku
Vyřešte Rubikovu kostku

Umístěte nevyřešenou Rubikovu kostku do kolébky. Spusťte příkaz

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

Robot otočí kostku na každou tvář a kamera pořídí 6 snímků, jeden z každé strany kostky. Raspberry Pi určí konfiguraci krychle ze šesti obrázků. Konfigurace Cube bude předána do knihovny kociemba Python, aby našla efektivní řešení. Nakonec robot provede tahy k vyřešení Rubikovy kostky!

Krok 5: Zdrojový kód

Veškerý zdrojový kód pro BricKuber najdete v našem open source github repo zde.

Tento projekt používá následující softwarové balíčky nainstalované příkazem

Doporučuje: