Tartalomjegyzék:

BricKuber projekt - Raspberry Pi Rubiks kocka megoldó robot: 5 lépés (képekkel)
BricKuber projekt - Raspberry Pi Rubiks kocka megoldó robot: 5 lépés (képekkel)

Videó: BricKuber projekt - Raspberry Pi Rubiks kocka megoldó robot: 5 lépés (képekkel)

Videó: BricKuber projekt - Raspberry Pi Rubiks kocka megoldó robot: 5 lépés (képekkel)
Videó: BricKuber Raspberry Pi Rubiks Cuber Solves in 90 Seconds 2024, November
Anonim
Image
Image

A BricKuber körülbelül 2 perc alatt meg tudja oldani a Rubik -kockát.

A BricKuber egy nyílt forráskódú Rubik -kocka -megoldó robot, amelyet saját maga készíthet

Szerettünk volna Rubik -kocka -megoldó robotot építeni a Raspberry Pi -vel. Ahelyett, hogy gyorsaságra törekednénk, egyszerűséggel mentünk: ha van Raspberry Pi, BrickPi készlete és szabványos LEGO Mindstorms EV3 vagy NXT készlete, akkor könnyen léphet a nyomunkba. A szoftver Python programozási nyelven íródott. Itt láthatja a Github összes forráskódját.

Háttér A Rubik -kocka a közelmúltban kezdett visszatérni. 1974-ben találták fel, ez a világ legkelendőbb játéka. De ezek megoldása gondolkodást, erőfeszítést és ügyességet igényel… akkor miért nem hagyja, hogy egy robot megtegye? Ebben a projektben veszünk egy Raspberry Pi -t, egy BrickPi -t és egy LEGO Mindstorms készletet, és felépítünk egy Rubik -kockát megoldó robotot. Egyszerűen helyezzen egy megoldatlan Rubik -kockát a megoldóba, futtassa a python programot, és Rubik -kockája megoldódott! A projekt a Pi -t használja a Rubik -kocka közvetlen megoldására. A BrickPi3 a megoldatlan Rubik -kockát, a Raspberry Pi pedig a Raspberry Pi kamerával készít képet a Rubik -kocka mindkét oldaláról. A Pi szöveges térképet készít a színes négyzetekről, amely megmutatja, hol találhatók a kockán. Amikor a Pi teljesen feltérképezte a kockát, a Pi a „kociemba” python könyvtárat használja fel a Rubik -kocka megoldásához szükséges lépések feltérképezésére. Ezt az információt a Pi és a BrickPi3 veszi fel, hogy megoldja a Rubik -kockát a LEGO motorok segítségével. Az eredmény: megoldott Rubik -kocka.

1. lépés: Eszközök és anyagok

Építsd meg
Építsd meg
  • BrickPi3 - A BrickPi segítségével irányítjuk a Rubik -kockát megoldó LEGO -motorokat.
  • Raspberry Pi - A Pi elvégzi a feldolgozást, képeket készít és parancsot ad a BrickPi -nek.
  • Raspberry Pi Camera - A Pi Camera képet készít a megoldatlan Rubiks -kockáról.
  • Ethernet kábel - Szüksége lesz arra, hogy a gép csatlakozzon az internethez. Ha ezt wifi -n keresztül szeretné megtenni, az sem baj!
  • Raspbian for Robots SD Card - A Raspberry Pi -t futtató szoftver. Ez az oktatóanyaghoz szükséges szoftverek nagy részével együtt jár. A szoftvert ingyenesen is letöltheti.
  • LEGO Mindstorms EV3 készlet (31313) - Szükséged lesz egy halom LEGO -ra és két nagy motorra, egy szervomotorra és egy ultrahangos érzékelőre.
  • Egy Rubik -kocka - Találtunk itt olyat, amely elég szabadon forog. Bármilyen 9x9x9 -es Rubik -kockát használhat.

2. lépés: Építsd fel

Építsd meg
Építsd meg
Építsd meg
Építsd meg

A Megoldó építése

Ezt a dizájnt a LEGO EV3 MindCub3r tervezése ihlette. A BricKuber felépítéséhez kezdje a MindCub3r építésével. A teljes LEGO építési útmutató itt található.

A Rubiks kocka megoldó három fő mozgó részből áll. Az első egy bölcső a Rubik -kocka tartására. A második a keverő, egy kar, amely a Rubik -kocka megfordítására szolgál.

Végül hozzáadunk egy kamerakart. A MindCubr eredeti tervezésében ez tartotta az EV3 színérzékelőt a Rubik -kocka felett. Módosított kialakításunk szerint Raspberry Pi kamerát tart a Rubik -kocka felett. Két LEGO Mindstorms motort használunk a kocka manipulálásához: az első a bölcső alatt ül a kocka elforgatásához, a második pedig a keverőkart mozgatja, hogy a kocka ellenkező tengelyen forogjon.

Szerelje össze a BrickPi3 -at

A BrickPi3 összeszerelési utasításait itt találja. Össze kell szerelnünk a tokot, rögzítenünk kell a BrickPi3 -at, a Raspberry Pi -t, a Raspberry Pi kamerát, hozzá kell adnunk egy SD -kártyát, és hozzá kell tennünk az elemeket. A szoftver telepítésének megkönnyítése érdekében a Raspbian for Robots a legtöbb szoftvert tartalmazza, amelyekre már szüksége van. Szüksége lesz legalább 8 GB -os SD -kártyára, és ki kell bővítenie a lemezt az SD -kártya teljes méretének megfelelően.

Csatlakoztassa a BrickPi3 -at

Hozzáadjuk a BrickPi3 -at a LEGO szerelvényhez. A LEGO EV3 „szárnyait” használtuk a BrickPi3 alátámasztására és a BricKuber testtel való egy szintre állítására. Ez jó lépés ahhoz, hogy 8XAA elemeket tegyen a tápegységhez, és csatlakoztassa a BrickPi3 tápegységet a LEGO szerelvényhez. A programozáshoz a BrickPi3 -at USB -ről a Raspberry Pi -re táplálhatja, azonban a motorok mozgatásához áramellátásra van szüksége a Power Pack -al.

Csatlakoztassa a motorokat a BrickPi3 -hoz

Csatlakoztassa a keverőmotort az „MD” motorporthoz. Csatlakoztassa a bölcsőmotort a BrickPi3 „MA” portjához. Csatlakoztassa a kamera érzékelő motorját az „MC” porthoz (ez a kisebb szervószerű motor). Annak ellenére, hogy nem mozgatjuk a kamerát, érdemes lehet beállítani a kamera helyét a motorok segítségével.

Csatlakoztassa a Raspberry Pi kamerát

A LEGO Camera támogatás használatával csatlakoztassa a kamerát. A fényképezőgép kis fekete lencséjének el kell férnie a két LEGO sugártartó között. Bizonyos elektromos szalaggal rögzítse a fényképezőgépet a helyén a LEGO tartókhoz. Itt az ideje, hogy megbizonyosodjon arról, hogy a kamera olyan helyzetben van, hogy képes legyen rögzíteni a teljes Rubik -kockát. Tesztképet készíthet a raspistill paranccsal

raspistill -o cam.jpg

Ellenőrizze, hogy a kocka jól középen van-e a kép közepén.

3. lépés: Készítse elő a szoftvert

Használhatja a Raspbian vagy a Raspbian for Robots bármely verzióját, a már telepített BrickPi3 -hoz tartozó egyedi képünket. Ha a Raspbian szabványos verzióját használja, akkor a paranccsal telepítheti a BrickPi3 könyvtárakat

sudo curl -kL dexterindustries.com/update_brickpi3 | bash

Ez a lépés telepíti az összes könyvtárat, amely szükséges a BrickPi3 futtatásához a Raspbian képen. Ha Raspbian for Robots -t használ, hagyja ki ezt a lépést: a BrickPi3 már telepítve van.

Végül telepítse az összes projektfüggőséget a következő paranccsal:

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

Ehhez a lépéshez a BrickPi3 készüléknek csatlakoznia kell az internethez. Számos könyvtár függ a projekttől, köztük Daniel Walton (@dwalton76) néhány fontos könyvtára a Githubon, amelyeket a Rubik -kocka megoldására használnak.

Lépés: Oldja meg a Rubik -kockát

Oldja meg a Rubik -kockát
Oldja meg a Rubik -kockát
Oldja meg a Rubik -kockát
Oldja meg a Rubik -kockát
Oldja meg a Rubik -kockát
Oldja meg a Rubik -kockát

Helyezzen egy megoldatlan Rubik -kockát a bölcsőbe. Futtassa a parancsot

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

A robot minden oldalra fordítja a kockát, és a kamera 6 képet készít, a kocka mindkét oldaláról egyet. A Raspberry Pi a hat kép alapján határozza meg a kocka konfigurációját. A Cube konfigurációt a kociemba Python könyvtárba továbbítjuk, hogy hatékony megoldást találjunk. Végül a robot végrehajtja a lépéseket a Rubik -kocka megoldására!

5. lépés: A forráskód

A BricKuber összes forráskódja megtalálható a nyílt forráskódú github repóban.

Ez a projekt a következő szoftvercsomagokat használja, amelyeket a parancs telepített

Ajánlott: