Obsah:

Projekt BricKuber - robot na riešenie kocky Raspberry Pi Rubiks: 5 krokov (s obrázkami)
Projekt BricKuber - robot na riešenie kocky Raspberry Pi Rubiks: 5 krokov (s obrázkami)

Video: Projekt BricKuber - robot na riešenie kocky Raspberry Pi Rubiks: 5 krokov (s obrázkami)

Video: Projekt BricKuber - robot na riešenie kocky Raspberry Pi Rubiks: 5 krokov (s obrázkami)
Video: Часть 1. Аудиокнига Герберта Уэллса «Машина времени» (гл. 01–06) 2024, Jún
Anonim
Image
Image

BricKuber dokáže vyriešiť Rubikovu kocku za menej ako 2 minúty.

BricKuber je open source robot na riešenie Rubikových kociek, ktorý si môžete postaviť sami

S Raspberry Pi sme chceli postaviť robota na riešenie kociek Rubiks. Namiesto rýchlosti sme išli s jednoduchosťou: ak máte Raspberry Pi, súpravu BrickPi a štandardnú súpravu LEGO Mindstorms EV3 alebo NXT, mali by ste byť schopní ľahko ísť v našich stopách. Software je napísaný v programovacom jazyku Python. Tu môžete vidieť všetok zdrojový kód na Github.

Pozadie Rubikova kocka sa nedávno začala vracať. Bol vynájdený v roku 1974 a je najpredávanejšou hračkou na svete. Ich riešenie však vyžaduje myslenie, úsilie a zručnosť… tak prečo to nenechať robota? V tomto projekte berieme Raspberry Pi, BrickPi a sadu LEGO Mindstorms a zostrojíme robota na riešenie kociek Rubikovej kocky. Jednoducho vložte neriešenú Rubikovu kocku do riešiča, spustite program python a vaša Rubikova kocka je vyriešená! Projekt pomocou Pi priamo rieši Rubikovu kocku. BrickPi3 odoberá nevyriešenú Rubikovu kocku a Raspberry Pi odfotí každú stranu Rubikovej kocky pomocou kamery Raspberry Pi. Pi vytvára textovú mapu farebných štvorcov, ktorá ukazuje, kde sa na kocke nachádzajú. Keď Pi úplne zmapuje kocku, pomocou knižnice python „kociemba“zmapuje pohyby potrebné na vyriešenie Rubikovej kocky. Tieto informácie získavajú Pi a BrickPi3 na vyriešenie Rubikovej kocky pomocou motorov LEGO. Výsledok: vyriešená Rubikova kocka.

Krok 1: Nástroje a materiály

Postavte to
Postavte to
  • BrickPi3 - BrickPi použijeme na ovládanie motorov LEGO, ktoré riešia riešenie Rubikovej kocky.
  • Raspberry Pi - Pi bude vykonávať spracovanie, fotografovanie a ovládanie BrickPi.
  • Kamera Raspberry Pi - Kamera Pi odfotí nevyriešenú Rubikovu kocku.
  • Ethernetový kábel - Budete potrebovať, aby bolo vaše zariadenie pripojené k internetu. Ak to chcete urobiť cez wifi, je to tiež v poriadku!
  • Karta SD Raspbian for Robots - softvér, na ktorom je spustený Raspberry Pi. K tomu je dodávaná väčšina softvéru potrebného pre tento tutoriál. Softvér si môžete stiahnuť aj zadarmo.
  • Súprava LEGO Mindstorms EV3 (31313) - Budete potrebovať hromadu LEGO a dva veľké motory, jeden servomotor a ultrazvukový senzor.
  • Rubikova kocka - Našli sme takú, ktorá sa tu celkom voľne točí. Môžete však použiť takmer akúkoľvek Rubikovu kocku 9x9x9.

Krok 2: Postavte to

Postavte to
Postavte to
Postavte to
Postavte to

Budovanie Riešiteľa

Tento dizajn bol inšpirovaný dizajnom MindCub3r pre LEGO EV3. Ak chcete postaviť BricKuber, začnite stavbou MindCub3r. Kompletný návod na stavanie LEGO nájdete tu.

Riešenie riešiteľa Rubikovej kocky má tri hlavné pohyblivé časti. Prvá je kolíska na uchytenie Rubikovej kocky. Druhým je shuffler, rameno, ktoré slúži na prevrátenie Rubikovej kocky.

Nakoniec pridáme rameno fotoaparátu. V pôvodnom dizajne od MindCubr to držalo farebný senzor EV3 nad Rubikovou kockou. V našom upravenom dizajne drží kameru Raspberry Pi nad Rubikovou kockou. Na manipuláciu s kockou používame dva motory LEGO Mindstorms: prvý sedí pod kolískou na otáčanie kocky a druhý pohybuje ramenom miešadla, aby kocku roztočil na opačnú os.

Zostavte BrickPi3

Tu nájdete návod na montáž BrickPi3. Budeme musieť zostaviť puzdro, pripojiť BrickPi3, Raspberry Pi, kameru Raspberry Pi, pridať kartu SD a pridať batérie. Aby bolo nastavenie softvéru jednoduchšie, Raspbian for Robots je dodávaný s väčšinou softvéru, ktorý už budete potrebovať nastaviť. Budete potrebovať najmenej 8 GB kartu SD a budete chcieť disk rozšíriť tak, aby zodpovedal celej veľkosti karty SD.

Pripojte BrickPi3

Pridáme BrickPi3 do zostavy LEGO. „Krídla“LEGO EV3 sme použili na podporu BrickPi3 a jeho vyrovnanie s telom BricKuber. Toto je dobrý krok k pridaniu batérií 8XAA k napájaciemu bloku a pripojeniu napájacieho zdroja BrickPi3 k zostave LEGO. Na programovanie môžete BrickPi3 napájať z Raspberry Pi pomocou USB napájania, na presun motorov však budete potrebovať napájanie z Power Packu.

Pripojte motory k BrickPi3

Pripojte motor Shuffler k portu motora „MD“. Pripojte kolískový motor k portu „MA“na BrickPi3. Pripojte motor senzora kamery k portu „MC“(toto je menší motor podobný servu). Aj keď s kamerou nebudeme hýbať, možno budete chcieť upraviť polohu kamery pomocou motorov.

Pripojte kameru Raspberry Pi

Pripojte kameru pomocou podpory LEGO Camera. Malý čierny objektív fotoaparátu by mal zapadnúť medzi dve podpery lúčov LEGO. Zaistite kameru na mieste k podperám LEGO pomocou elektrickej pásky. Toto je vhodný čas na to, aby ste sa presvedčili, že kamera je schopná zachytiť celú Rubikovu kocku. Testovací obrázok môžete urobiť pomocou príkazu raspistill

raspistill -o cam.jpg

Skontrolujte, či je kocka v strede obrázku dobre vycentrovaná.

Krok 3: Príprava softvéru

Môžete použiť akúkoľvek verziu Raspbian alebo Raspbian pre Robots, náš vlastný obrázok, ktorý je súčasťou už nainštalovaného BrickPi3. Ak používate štandardnú verziu Raspbian, knižnice BrickPi3 môžete nainštalovať pomocou príkazu

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Tento krok nainštaluje všetky knižnice potrebné na spustenie BrickPi3 na vašom obrázku Raspbian. Tento krok preskočte, ak používate Raspbian pre roboty: BrickPi3 je už nainštalovaný.

Nakoniec nainštalujte všetky závislosti projektu pomocou príkazu:

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

Na tento krok bude potrebné, aby bol váš BrickPi3 pripojený k internetu. Existuje niekoľko knižníc, od ktorých projekt závisí, vrátane niektorých zásadných, ktorých autorom je Daniel Walton (@dwalton76) na Github, ktoré sa používajú na riešenie Rubikovej kocky.

Krok 4: Vyriešte Rubikovu kocku

Vyriešte Rubikovu kocku
Vyriešte Rubikovu kocku
Vyriešte Rubikovu kocku
Vyriešte Rubikovu kocku
Vyriešte Rubikovu kocku
Vyriešte Rubikovu kocku

Do kolísky vložte nevyriešenú Rubikovu kocku. Spustite príkaz

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

Robot obráti kocku na každú tvár a fotoaparát nasníma 6 fotografií, jednu z každej strany kocky. Raspberry Pi určí konfiguráciu kocky zo šiestich obrázkov. Konfigurácia Cube bude odoslaná do knižnice kociemba Python, aby našla efektívne riešenie. Nakoniec robot vykoná ťahy a vyrieši Rubikovu kocku!

Krok 5: Zdrojový kód

Všetky zdrojové kódy pre BricKuber nájdete v našom open source github repo tu.

Tento projekt používa nasledujúce softvérové balíky nainštalované príkazom

Odporúča: