Innholdsfortegnelse:
- Trinn 1: Verktøy og materialer
- Trinn 2: Bygg det
- Trinn 3: Forbered programvaren
- Trinn 4: Løs en Rubiks kube
- Trinn 5: Kildekoden
Video: BricKuber Project - en Raspberry Pi Rubiks Cube Solving Robot: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
BricKuber kan løse en Rubiks kube på omtrent 2 minutter.
BricKuber er en åpen kildekode for Rubiks kubeoppløsningsrobot du kan bygge selv
Vi ønsket å bygge en Rubiks kubeoppløsningsrobot med Raspberry Pi. I stedet for å gå for fart, gikk vi med enkelhet: hvis du har en Raspberry Pi, et BrickPi -sett og et standard LEGO Mindstorms EV3 eller NXT -sett, bør du enkelt kunne følge i våre fotspor. Programvaren er skrevet på programmeringsspråket Python. Du kan se all kildekoden på Github her.
Bakgrunn Rubiks kube har nylig begynt å komme tilbake. Den ble oppfunnet i 1974 og er verdens mest solgte leketøy. Men å løse dem krever tanke, innsats og dyktighet… så hvorfor ikke la en robot gjøre det? I dette prosjektet tar vi en Raspberry Pi, en BrickPi og et sett med LEGO Mindstorms og bygger en Rubiks kubeoppløsningsrobot. Bare legg en uløst Rubiks kube i løsningen, kjør python -programmet, og Rubiks kube er løst! Prosjektet bruker Pi til å løse Rubiks kube direkte. BrickPi3 tar den uløste Rubiks kube og Raspberry Pi tar et bilde av hver side av Rubiks kube med Raspberry Pi -kameraet. Pi lager et tekstkart over fargekvadratene som viser hvor de er plassert på kuben. Når den har fullstendig kartlagt kuben, bruker Pi pythonbiblioteket "kociemba" for å kartlegge bevegelsene som trengs for å løse Rubiks kube. Denne informasjonen er tatt av Pi og BrickPi3 for å løse Rubiks kube ved hjelp av LEGO -motorene. Resultatet: en løst Rubiks kube.
Trinn 1: Verktøy og materialer
- BrickPi3 - Vi bruker BrickPi til å kontrollere LEGO -motorene som løser Rubiks terningsløser.
- Raspberry Pi - Pi vil gjøre behandlingen, ta bilder og kommandere BrickPi.
- Raspberry Pi -kamera - Pi -kameraet tar et bilde av Rubiks -terningen som ikke er løst.
- Ethernet -kabel - Du trenger maskinen din for å være koblet til internett. Hvis du vil gjøre dette via wifi, er det også greit!
- Raspbian for Robots SD Card - Programvaren som kjører Raspberry Pi. Dette kommer med det meste av programvaren som trengs for denne opplæringen. Du kan også laste ned programvaren gratis.
- LEGO Mindstorms EV3 Kit (31313) - Du trenger en haug med LEGO og to store motorer, og en servomotor, og ultralydsensoren.
- En Rubiks kube - Vi fant en som snurrer ganske fritt her. Du kan imidlertid bruke omtrent hvilken som helst 9x9x9 Rubiks kube.
Trinn 2: Bygg det
Å bygge løseren
Dette designet ble inspirert av MindCub3r -designet til LEGO EV3. For å bygge BricKuber, begynn med å bygge MindCub3r. Fullstendig LEGO byggeinstruksjoner finner du her.
Rubiks kubeoppløsningsdesign har tre store bevegelige deler. Den første er en vugge for å holde Rubiks kube. Den andre er shuffler, en arm som brukes til å snu Rubiks terning.
Til slutt legger vi til en kameraarm. I det originale designet av MindCubr holdt dette EV3 -fargesensoren over Rubiks kube. I vår modifiserte design har den et Raspberry Pi -kamera over Rubiks kube. Vi bruker to LEGO Mindstorms -motorer for å manipulere kuben: den første sitter under vuggen for å rotere kuben, og den andre beveger shuffler -armen for å snurre kuben på en motsatt akse.
Monter BrickPi3
Du finner monteringsinstruksjoner for BrickPi3 her. Vi må montere saken, feste BrickPi3, Raspberry Pi, Raspberry Pi -kameraet, legge til et SD -kort og legge til batterier. For å gjøre programvaren enklere å konfigurere, kommer Raspbian for Robots med det meste av programvaren du trenger allerede er installert. Du trenger minst et 8 GB SD -kort, og du vil utvide disken til å passe til full størrelse på SD -kortet.
Fest BrickPi3
Vi legger BrickPi3 til LEGO -enheten. Vi brukte LEGO EV3 "vingene" til å støtte BrickPi3 og gjøre den i nivå med BricKuber -kroppen. Dette er et godt skritt for å legge til 8XAA -batterier i strømpakken og feste BrickPi3 -enheten til LEGO -enheten. For programmering kan du drive BrickPi3 via USB -strøm til Raspberry Pi, men for å flytte motorene må du levere strøm med Power Pack.
Koble motorene til BrickPi3
Fest shuffler -motoren til motorporten “MD”. Fest holderen til “MA” -porten på BrickPi3. Fest kamerasensormotoren til "MC" -porten (dette er den mindre servolignende motoren). Selv om vi ikke flytter kameraet, kan det være lurt å justere plasseringen av kameraet ved hjelp av motorene.
Fest Raspberry Pi -kameraet
Fest LEGO Camera støtte. Det lille svarte objektivet til kameraet skal passe mellom de to LEGO strålestøttene. Fest kameraet på plass til LEGO -støttene med litt elektrisk tape. Dette er et godt tidspunkt å sørge for at kameraet er i posisjon for å kunne fange hele Rubiks kube. Du kan ta et testbilde med raspistill -kommandoen
raspistill -o cam.jpg
Kontroller at terningen er godt sentrert i midten av bildet.
Trinn 3: Forbered programvaren
Du kan bruke hvilken som helst versjon av Raspbian eller Raspbian for Robots, vårt tilpassede bilde som følger med BrickPi3 som allerede er installert. Hvis du bruker en standardversjon av Raspbian, kan du installere BrickPi3 -bibliotekene med kommandoen
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Dette trinnet vil installere alle bibliotekene som trengs for å kjøre BrickPi3 på ditt Raspbian -bilde. Hopp over dette trinnet hvis du bruker Raspbian for Robots: BrickPi3 er allerede installert.
Til slutt installerer du alle prosjektavhengigheter med kommandoen:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
For dette trinnet må din BrickPi3 være koblet til internett. Det er en rekke biblioteker som prosjektet er avhengig av, inkludert noen avgjørende av Daniel Walton (@dwalton76) på Github, som brukes til å løse Rubiks kube.
Trinn 4: Løs en Rubiks kube
Legg en uløst Rubiks kube i holderen. Kjør kommandoen
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Roboten vil snu kuben til hvert ansikt, og kameraet tar 6 bilder, en på hver side av kuben. Raspberry Pi vil bestemme kubekonfigurasjonen ut fra de seks bildene. Kubekonfigurasjonen vil bli sendt til kociemba Python -biblioteket for å finne en effektiv løsning. Til slutt vil roboten utføre tiltakene for å løse Rubiks kube!
Trinn 5: Kildekoden
All kildekoden for BricKuber finner du i vår github -repo med åpen kildekode her.
Dette prosjektet bruker følgende programvarepakker installert av kommandoen
Anbefalt:
Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trinn (med bilder)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Welcome I'm Isaac, og dette er min første robot " Striker v1.0 " Denne Roboten ble designet for å løse en enkel labyrint. I konkurransen hadde vi to labyrinter og roboten Alle andre endringer i labyrinten kan kreve en endring i
Enkel vippebasert fargeskiftende trådløs Rubiks kubelampe: 10 trinn (med bilder)
Enkel vippebasert fargeendring av trådløs Rubiks kubelampe: I dag skal vi bygge denne fantastiske Rubiks kubelignende lampe som endrer farge basert på hvilken side som er opp. Kuben kjører på et lite LiPo-batteri, ladet med en standard mikro-usb-kabel, og har i min test en batterilevetid på flere dager. Dette
Funksjonell USB Flash Drive Rubiks Cube: 7 trinn (med bilder)
Funksjonell USB Flash Drive Rubiks Cube: I denne opplæringen skal jeg vise deg hvordan du lager din egen Rubik USB Flash Drive Du kan se det ferdige produktet i følgende video:
Arduino Mega Stepper Shield for en Rubiks Cube Solver: 4 trinn
Arduino Mega Stepper Shield for en Rubiks Cube Solver: For en stund siden jobbet jeg på en maskin som automatisk løser alle krypterte 3x3 Rubiks Cube. Du kan se instruksjonene mine om det her. I prosjektet ble stepperdrivere fra polulu brukt til å kjøre seks motorer. For at to skal koble disse d
Maze Solving Robot (Boe-bot): 5 trinn
Maze Solving Robot (Boe-bot): Denne veiledningen viser deg hvordan du designer og lager din egen labyrintløsningsrobot, ved hjelp av enkle materialer og en robot. Dette vil også inkludere koding, så en datamaskin er også nødvendig