Sadržaj:
- Korak 1: Alati i materijali
- Korak 2: Izgradite ga
- Korak 3: Pripremite softver
- Korak 4: Riješite Rubikovu kocku
- Korak 5: Izvorni kod
Video: BricKuber projekt - robot za rješavanje kockica Raspberry Pi Rubiksa: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
BricKuber može riješiti Rubikovu kocku za manje od 2 minute.
BricKuber je Rubikov robot za rješavanje kockica otvorenog koda koji možete sami izgraditi
Želeli smo da napravimo robota za rešavanje Rubiks kocke sa Raspberry Pi. Umjesto da idemo na brzinu, krenuli smo s jednostavnošću: ako imate Raspberry Pi, BrickPi komplet i standardni LEGO Mindstorms EV3 ili NXT Kit, trebali biste lako krenuti našim stopama. Softver je napisan u programskom jeziku Python. Ovdje možete vidjeti sav izvorni kod na Githubu.
Pozadina Rubikova kocka nedavno se počela vraćati. Izumljena 1974. godine, najprodavanija je igračka na svijetu. Ali njihovo rješavanje zahtijeva razmišljanje, trud i vještinu… pa zašto ne biste dopustili robotu da to učini? U ovom projektu uzimamo Raspberry Pi, BrickPi i set LEGO Mindstorms i izrađujemo robota za rješavanje Rubikove kocke. Jednostavno stavite neriješenu Rubikovu kocku u rješavač, pokrenite program python i vaša Rubikova kocka je riješena! Projekt koristi Pi za direktno rješavanje Rubikove kocke. BrickPi3 uzima neriješenu Rubikovu kocku, a Raspberry Pi snima svaku stranu Rubikove kocke pomoću Raspberry Pi kamere. Pi stvara tekstualnu mapu kvadrata u boji koja pokazuje gdje se nalaze na kocki. Kada potpuno preslika kocku, Pi koristi biblioteku pythona "kociemba" za mapiranje poteza potrebnih za rješavanje Rubikove kocke. Ove podatke uzimaju Pi i BrickPi3 za rješavanje Rubikove kocke pomoću LEGO motora. Rezultat: riješena Rubikova kocka.
Korak 1: Alati i materijali
- BrickPi3 - Koristit ćemo BrickPi za upravljanje LEGO motorima koji rješavaju Rubikovo kockalo.
- Raspberry Pi - Pi će raditi obradu, slikati i komandovati BrickPi -jem.
- Raspberry Pi kamera - Pi kamera će snimiti neriješenu Rubiksovu kocku.
- Ethernet kabel - bit će vam potrebno da vaš uređaj bude povezan na internet. Ako to želite učiniti putem WiFi -ja, i to je u redu!
- SD kartica Raspbian for Robots - softver koji pokreće Raspberry Pi. Ovo dolazi s većinom softvera potrebnog za ovaj vodič. Takođe možete besplatno preuzeti softver.
- LEGO Mindstorms EV3 komplet (31313) - trebat će vam hrpa LEGO -a i dva velika motora, jedan servo motor i ultrazvučni senzor.
- Rubikova kocka - pronašli smo onu koja se ovdje prilično slobodno vrti. Ipak, možete koristiti gotovo bilo koju Rubikovu kocku 9x9x9.
Korak 2: Izgradite ga
Izgradnja Solvera
Ovaj dizajn je inspiriran dizajnom MindCub3r za LEGO EV3. Da biste izgradili BricKuber, počnite s izgradnjom MindCub3r. Kompletna LEGO uputstva za izgradnju možete pronaći ovdje.
Dizajn Rubiks kocke ima tri glavna pokretna dijela. Prva je kolevka za držanje Rubikove kocke. Drugi je miješalica, ruka koja se koristi za okretanje Rubikove kocke.
Na kraju dodajemo krak kamere. U originalnom dizajnu kompanije MindCubr, ovo je držalo senzor boje EV3 preko Rubikove kocke. U našem izmijenjenom dizajnu drži Raspberry Pi kameru preko Rubikove kocke. Za manipulaciju kockom koristimo dva LEGO Mindstorms motora: prvi se nalazi ispod postolja kako bi rotirao kocku, a drugi pomiče ruku za miješanje kako bi okrenuo kocku na suprotnoj osi.
Sastavite BrickPi3
Upute za sastavljanje BrickPi3 možete pronaći ovdje. Morat ćemo sastaviti kućište, pričvrstiti BrickPi3, Raspberry Pi, Raspberry Pi kameru, dodati SD karticu i dodati baterije. Radi lakšeg postavljanja softvera, Raspbian for Robots dolazi s većinom softvera koji vam je već potreban. Trebat će vam najmanje 8 GB SD kartica, a htjet ćete proširiti disk tako da odgovara punoj veličini SD kartice.
Pričvrstite BrickPi3
Dodajemo BrickPi3 u LEGO sklop. Koristili smo LEGO EV3 "krila" za podršku BrickPi3 i izravnali ga s BricKuber tijelom. Ovo je dobar korak za dodavanje 8XAA baterija u napajanje i priključivanje BrickPi3 napajanja na LEGO sklop. Za programiranje možete napajati BrickPi3 preko USB napajanja na Raspberry Pi, međutim za pomicanje motora morat ćete napajati napajanje s Power Pack -om.
Spojite motore na BrickPi3
Priključite motor za miješanje na priključak motora "MD". Priključite motor postolja na priključak “MA” na BrickPi3. Priključite motor senzora kamere na priključak “MC” (ovo je manji motor nalik servo-u). Iako nećemo pomjerati kameru, možda ćete htjeti prilagoditi lokaciju kamere pomoću motora.
Priključite kameru Raspberry Pi
Pomoću podrške za LEGO kameru pričvrstite kameru. Mali crni objektiv fotoaparata trebao bi stati između dva nosača LEGO zraka. Pričvrstite kameru na mjesto za LEGO nosače nekom električnom trakom. Ovo je dobar trenutak da se uvjerite da je kamera u položaju da može snimiti cijelu Rubikovu kocku. Možete napraviti probnu sliku pomoću komande raspistill
raspistill -o cam.jpg
Provjerite je li kocka dobro centrirana u sredini slike.
Korak 3: Pripremite softver
Možete koristiti bilo koju verziju Raspbiana ili Raspbiana za robote, našu prilagođenu sliku koja dolazi s već instaliranim BrickPi3. Ako koristite standardnu verziju Raspbiana, možete instalirati biblioteke BrickPi3 pomoću naredbe
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Ovaj korak će instalirati sve biblioteke potrebne za pokretanje BrickPi3 na vašoj Raspbian slici. Preskočite ovaj korak ako koristite Raspbian za robote: BrickPi3 je već instaliran.
Na kraju, instalirajte sve ovisnosti o projektu pomoću naredbe:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Za ovaj korak vaš BrickPi3 će morati biti povezan s internetom. Postoje brojne biblioteke od kojih projekt ovisi, uključujući neke ključne od Daniel Waltona (@dwalton76) na Githubu, koje se koriste za rješavanje Rubikove kocke.
Korak 4: Riješite Rubikovu kocku
Stavite neriješenu Rubikovu kocku u ležište. Pokrenite naredbu
sudo python ~/Dexter/BrickPi3/Projekti/BricKuber/BricKuber.py
Robot će okrenuti kocku na svako lice, a kamera će snimiti 6 slika, po jednu sa svake strane kocke. Raspberry Pi će odrediti konfiguraciju kocke iz šest slika. Konfiguracija Cube bit će proslijeđena kociemba Python biblioteci kako bi se pronašlo učinkovito rješenje. Konačno, robot će izvesti poteze kako bi riješio Rubikovu kocku!
Korak 5: Izvorni kod
Sav izvorni kod za BricKuber možete pronaći u našem otvorenom kodu github repo ovdje.
Ovaj projekt koristi sljedeće softverske pakete instalirane naredbom
Preporučuje se:
Potpuno IC prilagodljiv elektronički set od osam kockica: 14 koraka (sa slikama)
Potpuno IC prilagodljiv elektronički set od osam kockica: U suradnji s J. Arturo Espejel Báez. Sada možete imati do 8 kockica od 2 do 999 lica u kutiji promjera 42 mm i visine 16 mm! Igrajte svoje omiljene društvene igre s ovim džepnim elektronskim setom kockica koji se može konfigurirati! Ovaj projekt sastoji se od
Šestostrana LED kockica sa PCB -om sa WIFI -em i žiroskopom - PIKOCUBE: 7 koraka (sa slikama)
Šestostrane LED kockice sa PCB -om sa WIFI -em i žiroskopom - PIKOCUBE: Zdravo, proizvođači, to je proizvođač moekoe! Danas vam želim pokazati kako izgraditi prave LED kockice na osnovu šest PCB -a i ukupno 54 LED diode. Uz unutrašnji žiroskopski senzor koji može otkriti kretanje i položaj kockica, kocka dolazi s ESP8285-01F koji je
Projekt kockica maline PI: 6 koraka
Raspberry PI Dice Project: Lijep mali projekat lemljenja, a jednom je završio vježbu programiranja Raspberry PI. Zatvoreni smo zbog korona virusa, pa je ovo pokušaj da se školujem kod kuće i zaposlim svog desetogodišnjeg sina. Ovo je lijep mali projekat
DIY komplet osciloskopa - Vodič za sastavljanje i rješavanje problema: 10 koraka (sa slikama)
DIY komplet osciloskopa - Vodič za sastavljanje i rješavanje problema: Vrlo često mi je potrebno, prilikom projektiranja nekog elektroničkog spravica, osciloskop kako bih promatrao prisutnost i oblik električnih signala. Do sada sam koristio stari sovjetski (1988.) jednokanalni analogni CRT osciloskop. I dalje je funkcionalan
Generator kockica: 12 koraka (sa slikama)
Generator kockica: Ovo uputstvo je za moj glavni projekat koji sam završio u okviru svog kursa sistema i kontrola IGCSE. Dobio je ocjenu A* i vodit ću vas kako to učiniti u ovom uputstvu. Pristojno iskustvo u elektronici, kao i očekivanje