Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Dette er den andre versjonen av Rubiks kubeverktøy laget for å løse med bind for øynene. Den første versjonen ble utviklet av javascript, du kan se prosjektet RubiksCubeBlindfolded1
I motsetning til den forrige bruker denne versjonen OpenCV -bibliotek for å oppdage fargene og angi inngangene, og gir bedre visualiseringsteknikk.
Det største problemet i denne nyeste versjonen er visualisering av utganger, sekvenselementene vises på tegnet kube 1 om gangen. Siden terningen er en 3D -form, er det vanskelig å vise alle sidene samtidig. Se resultatene på min YouTube -kanal YouTube -video
Jeg bruker en klistreløs kube, dette trenger tilpasset gjenkjenning og de fleste åpen kildekoder støttes ikke. Jeg brukte denne åpen kildekode utviklet av Kim Koomen som spesifiserer faste områder på kamerarammen for å oppdage de riktige fargene på kubesiden qbr -prosjektet
Trinn 1: Komponenter som trengs
- Bringebær Pi
- webkamera
eller du kan bruke den bærbare datamaskinen
Trinn 2: Avhengigheter
- Python 3
- numpy bibliotek
- OpenCV -bibliotek
$ sudo apt-get install python3-opencv
RubiksBlindfoldet pakke
$ pip3 installer RubiksBlindfolded
Trinn 3: Forberedelser
Du må kalibrere fargedeteksjonen som et forhåndstrinn. HSV -fargekodene varierer på grunn av belysningen, kamerakvaliteten og oppløsningen og selve kubefargene. I mitt tilfelle kombinerer jeg hvitt og gult lys for å få riktige resultater.
Oppdater funksjonen get_color_name (hsv) på colordetection.py
Den originale kildekoden bruker kociemba -pakken for å løse terningen, den løses ved å finne de omvendte trinnene i enhver kryptering. I denne versjonen brukte jeg min egen løsningspakke RubiksBlindfolded som ble publisert på PyPI. Se beskrivelsen for å vite hvordan du bruker den RubiksBlindfolded
Trinn 4: Bruk
Etter at du har installert alle avhengighetene og konfigurert kameraet, er dette på tide å kjøre blindfolded.py -skriptet
Først må du skanne kuben i riktig retning. Dette er kubestrukturen, rekkefølgen på å skanne ansiktene er ikke viktig. Legg merke til at dette er standardfargene på kubesidene, du kan endre dem ved å oppdatere notasjonsordlisten på blindfolded.py script
Trykk på mellomromstasten for å lagre visningen og ESC -tasten etter at du er ferdig
For det andre kan du se løsningssekvensene på konsollen, og paritetskontrollen for å fortelle deg om du må bruke paritetsalgoritmen eller ikke
For det tredje vil det bli generert en ny ramme som viser 2 tegnet terninger for kantsekvens og hjørnesekvens. Du kan bruke venstre og høyre piltast for å bytte mellom sekvenselementene, og pil opp og ned for å bytte mellom kant og hjørne. den lysegrå fargen representerer gjeldende sekvens.
Du kan se fargene på gjeldende buffer som endres dynamisk med piltastene. Grå farger representerer målet cubie, og rosa farge representerer bytte ansikt
Kildekode
github.com/mn-banjar/blindfolded2