Innholdsfortegnelse:

Sanntids Rubiks kube med bind for øynene ved hjelp av Raspberry Pi og OpenCV: 4 trinn
Sanntids Rubiks kube med bind for øynene ved hjelp av Raspberry Pi og OpenCV: 4 trinn

Video: Sanntids Rubiks kube med bind for øynene ved hjelp av Raspberry Pi og OpenCV: 4 trinn

Video: Sanntids Rubiks kube med bind for øynene ved hjelp av Raspberry Pi og OpenCV: 4 trinn
Video: Rune Karlsen og Geir Håvik gir en innføring i KNX - HAN grensesnittet for AMS måler. 2024, Juli
Anonim

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

Bruk
Bruk
Bruk
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

Anbefalt: