Indholdsfortegnelse:
- Trin 1: Værktøjer og materialer
- Trin 2: Byg det
- Trin 3: Forbered softwaren
- Trin 4: Løs en Rubiks terning
- Trin 5: Kildekoden
Video: BricKuber Project - en Raspberry Pi Rubiks Cube Solving Robot: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
BricKuber kan løse en Rubiks terning på cirka mindre end 2 minutter.
BricKuber er en open source Rubiks kubeopløsningsrobot, du selv kan bygge
Vi ville bygge en Rubiks kubeopløsningsrobot med Raspberry Pi. I stedet for at gå efter hastighed gik vi med enkelhed: Hvis du har et Raspberry Pi, et BrickPi -kit og et standard LEGO Mindstorms EV3 eller NXT Kit, skal du let kunne følge i vores fodspor. Softwaren er skrevet i programmeringssproget Python. Du kan se al kildekoden på Github her.
Baggrund Rubiks terning er for nylig begyndt at komme tilbage. Opfundet i 1974, er det verdens bedst sælgende legetøj. Men at løse dem kræver tanke, indsats og dygtighed… så hvorfor ikke lade en robot gøre det? I dette projekt tager vi en Raspberry Pi, en BrickPi og et sæt LEGO Mindstorms og bygger en Rubiks kubeopløsningsrobot. Placer ganske enkelt en uløst Rubiks terning i løsningen, kør python -programmet, og din Rubiks terning er løst! Projektet bruger Pi til direkte at løse Rubiks terning. BrickPi3 tager den uløste Rubiks terning, og Raspberry Pi tager et billede af hver side af Rubiks terning med Raspberry Pi -kameraet. Pi opretter et tekstkort over farvekvadraterne, der viser, hvor de er placeret på terningen. Når den har fuldstændig kortlagt terningen, bruger Pi “poci -biblioteket” kociemba “til at kortlægge de træk, der er nødvendige for at løse Rubiks terning. Disse oplysninger tages af Pi og BrickPi3 for at løse Rubiks terning ved hjælp af LEGO motorer. Resultatet: en løst Rubiks terning.
Trin 1: Værktøjer og materialer
- BrickPi3 - Vi bruger BrickPi til at styre LEGO -motorerne, der løser Rubiks terningsløser.
- Raspberry Pi - Pi vil behandle, tage billeder og kommandere BrickPi.
- Raspberry Pi -kamera - Pi -kameraet tager et billede af den uløste Rubiks -terning.
- Ethernet -kabel - Du skal have din maskine tilsluttet internettet. Hvis du vil gøre dette via wifi, er det også fint!
- Raspbian til Robots SD -kort - Softwaren, der kører Raspberry Pi. Dette leveres med det meste af den software, der er nødvendig til denne vejledning. Du kan også downloade softwaren gratis.
- LEGO Mindstorms EV3 Kit (31313) - Du skal bruge en bunke LEGO og to store motorer og en servomotor og ultralydssensoren.
- En Rubiks terning - Vi fandt en, der spinder ret frit her. Du kan dog bruge næsten enhver 9x9x9 Rubiks terning.
Trin 2: Byg det
Bygger Solver
Dette design er inspireret af MindCub3r -designet til LEGO EV3. For at bygge BricKuber skal du starte med at bygge MindCub3r. Komplet LEGO byggevejledning kan findes her.
Rubiks kubeopløsningsdesign har tre store bevægelige dele. Den første er en vugge til at holde Rubiks terning. Den anden er shuffler, en arm, der bruges til at vende Rubiks terning.
Endelig tilføjer vi en kameraarm. I det originale design af MindCubr holdt dette EV3 -farvesensoren over Rubiks terning. I vores modificerede design har den et Raspberry Pi -kamera over Rubiks terning. Vi bruger to LEGO Mindstorms -motorer til at manipulere terningen: den første sidder under holderen for at rotere terningen, og den anden bevæger shufflerarmen for at dreje terningen på en modsat akse.
Saml BrickPi3
Du kan finde monteringsvejledning til BrickPi3 her. Vi bliver nødt til at samle sagen, vedhæfte BrickPi3, Raspberry Pi, Raspberry Pi -kameraet, tilføje et SD -kort og tilføje batterier. For at gøre softwaren lettere at konfigurere, leveres Raspbian for Robots med det meste af den software, du allerede har brug for. Du skal bruge mindst et 8 GB SD -kort, og du vil udvide disken til at passe til SD -kortets fulde størrelse.
Fastgør BrickPi3
Vi tilføjer BrickPi3 til LEGO -samlingen. Vi brugte LEGO EV3 “vinger” til at understøtte BrickPi3 og gøre den i niveau med BricKuber -kroppen. Dette er et godt skridt til at tilføje 8XAA -batterier til strømforsyningen og tilslutte BrickPi3 -batteripakken til LEGO -enheden. Til programmering kan du drive BrickPi3 via USB -strøm til Raspberry Pi, men for at flytte motorerne skal du levere strøm med Power Pack.
Tilslut motorerne til BrickPi3
Slut shuffler -motoren til motorporten "MD". Slut holderen til "MA" -porten på BrickPi3. Sæt kamerasensormotoren til "MC" -porten (dette er den mindre servolignende motor). Selvom vi ikke flytter kameraet, kan du justere kameraets placering ved hjælp af motorerne.
Sæt Raspberry Pi -kameraet på
Brug LEGO Camera -understøttelsen til at fastgøre kameraet. Kameraets lille sorte linse skal passe mellem de to LEGO strålestøtter. Fastgør kameraet på plads til LEGO -understøtningerne med noget elektrisk tape. Dette er et godt tidspunkt at sørge for, at kameraet er placeret, så det er i stand til at fange hele Rubiks terning. Du kan tage et testbillede med kommandoen raspistill
raspistill -o cam.jpg
Kontroller, at terningen er godt centreret i midten af billedet.
Trin 3: Forbered softwaren
Du kan bruge enhver version af Raspbian eller Raspbian til Robots, vores brugerdefinerede billede, der følger med, at BrickPi3 allerede er installeret. Hvis du bruger en standardversion af Raspbian, kan du installere BrickPi3 -bibliotekerne ved hjælp af kommandoen
sudo curl -kL dexterindustries.com/update_brickpi3 | bash
Dette trin installerer alle de biblioteker, der er nødvendige for at køre BrickPi3 på dit Raspbian -billede. Spring dette trin over, hvis du bruger Raspbian til robotter: BrickPi3 er allerede installeret.
Endelig skal du installere alle projektafhængigheder ved hjælp af kommandoen:
sudo curl https://raw.githubusercontent.com/DexterInd/Brick… | bash
Til dette trin skal din BrickPi3 være forbundet til internettet. Der er en række biblioteker, som projektet afhænger af, herunder nogle afgørende af Daniel Walton (@dwalton76) på Github, der bruges til at løse Rubiks terning.
Trin 4: Løs en Rubiks terning
Læg en uløst Rubiks terning i holderen. Kør kommandoen
sudo python ~/Dexter/BrickPi3/Projects/BricKuber/BricKuber.py
Robotten vender terningen til hvert ansigt, og kameraet tager 6 billeder, en på hver side af terningen. Raspberry Pi bestemmer terningkonfigurationen ud fra de seks billeder. Cube -konfigurationen sendes til kociemba Python -biblioteket for at finde en effektiv løsning. Endelig vil robotten udføre trækkene for at løse Rubiks terning!
Trin 5: Kildekoden
Hele kildekoden til BricKuber kan findes i vores open source github -repo her.
Dette projekt bruger følgende softwarepakker installeret af kommandoen
Anbefalede:
Arduino - Maze Solving Robot (MicroMouse) Wall Following Robot: 6 trin (med billeder)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Welcome I'm Isaac, og dette er min første robot " Striker v1.0 " Denne robot er designet til at løse en simpel labyrint. I konkurrencen havde vi to labyrinter og robotten Alle andre ændringer i labyrinten kan kræve en ændring i
Let tilt-baseret farveændrende trådløs Rubiks kubelampe: 10 trin (med billeder)
Let tilt-baseret farveændring af trådløs Rubiks kubelampe: I dag skal vi bygge denne fantastiske Rubiks kube-lignende lampe, der skifter farve baseret på hvilken side der er opad. Terningen kører på et lille LiPo-batteri, opladet af et standard mikro-usb-kabel, og har i min test en batterilevetid på flere dage. Det her
Funktionelt USB -flashdrev Rubiks Cube: 7 trin (med billeder)
Funktionelt USB Flash Drive Rubiks Cube: I denne vejledning vil jeg vise dig, hvordan du laver dit eget Rubik USB Flash Drive Du kan se det færdige produkt i følgende video:
Arduino Mega Stepper Shield til en Rubiks Cube Solver: 4 trin
Arduino Mega Stepper Shield til en Rubiks Cube Solver: For et stykke tid siden arbejdede jeg på en maskine, der automatisk løser enhver krypteret 3x3 Rubiks Cube. Du kan se mine instruktioner om det her. I projektet blev stepper -drivere fra polulu brugt til at køre seks motorer. For at to skal forbinde disse d
Maze Solving Robot (Boe-bot): 5 trin
Maze Solving Robot (Boe-bot): Denne vejledning viser dig, hvordan du designer og laver din helt egen labyrintløsningsrobot ved hjælp af enkle materialer og en robot. Dette vil også omfatte kodning, så en computer er også nødvendig