Përmbajtje:

Zgjidhësi i Rubikut të Rubikut në kohë reale me sy të lidhur duke përdorur Raspberry Pi dhe OpenCV: 4 hapa
Zgjidhësi i Rubikut të Rubikut në kohë reale me sy të lidhur duke përdorur Raspberry Pi dhe OpenCV: 4 hapa

Video: Zgjidhësi i Rubikut të Rubikut në kohë reale me sy të lidhur duke përdorur Raspberry Pi dhe OpenCV: 4 hapa

Video: Zgjidhësi i Rubikut të Rubikut në kohë reale me sy të lidhur duke përdorur Raspberry Pi dhe OpenCV: 4 hapa
Video: Первый босс. Мрозгера ► 6 Прохождение The Legend of Zelda: Tears of the Kingdom 2024, Nëntor
Anonim

Ky është versioni i dytë i mjetit kubik të Rubikut i bërë për zgjidhjen me sy të mbyllur. Versioni i parë u zhvillua nga javascript, mund ta shihni projektin RubiksCubeBlindfolded1

Ndryshe nga versioni i mëparshëm, ky version përdor bibliotekën OpenCV për të zbuluar ngjyrat dhe futur hyrjet, dhe siguron teknikë më të mirë të vizualizimit.

Çështja më e madhe në këtë version më të ri është vizualizimi i rezultateve, artikujt e sekuencës shfaqen në kubin e vizatuar 1 në të njëjtën kohë. Meqenëse kubi është një formë 3D, është e vështirë të shfaqësh të gjitha anët në të njëjtën kohë. Shikoni rezultatet në videon time në kanalin tim në YouTube

Unë jam duke përdorur një kub pa ngjitës, kjo ka nevojë për një njohje të personalizuar dhe shumica e kodeve me burim të hapur nuk mbështeten. Kam përdorur këtë burim të hapur të zhvilluar nga Kim Koomen i cili specifikon zona fikse në kornizën e kamerës për të zbuluar ngjyrat e sakta të projektit të faqeve të kubit qbr

Hapi 1: Përbërësit e nevojshëm

  • Mjedër Pi
  • webcam

ose mund të përdorni laptopin tuaj

Hapi 2: Varësitë

  • Python 3
  • bibliotekë e mpirë
  • Biblioteka OpenCV

$ sudo apt-get install python3-opencv

Rubiks Paketa e palosur me sy të verbër

$ pip3 instaloni RubiksBlindfolded

Hapi 3: Përgatitjet

Ju duhet të kalibroni zbulimin e ngjyrave si një hap paraprak. Kodet e ngjyrave HSV ndryshojnë për shkak të ndriçimit, cilësisë dhe rezolucionit të kamerës dhe ngjyrave të kubit në vetvete. Në rastin tim, unë kombinoj dritat e bardha dhe të verdha për të marrë rezultate të sakta.

Përditësoni funksionin get_color_name (hsv) në colordetection.py

Kodi burimor origjinal përdor paketën kociemba për të zgjidhur kubin, ai zgjidhet duke gjetur hapat e kundërt të çdo përleshjeje. Në këtë version, unë përdor paketën time të zgjidhjes të quajtur RubiksBlindfolded që botohet në PyPI. Shihni përshkrimin për të ditur si ta përdorni RubiksBlindfolded

Hapi 4: Përdorimi

Përdorimi
Përdorimi
Përdorimi
Përdorimi

Pas instalimit të të gjitha varësive dhe vendosjes së kamerës, është koha për të ekzekutuar skriptin me sy të mbyllur

Së pari, duhet të skanoni kubin tuaj në orientimet e sakta. Kjo është struktura e kubit, rendi i skanimit të fytyrave nuk është i rëndësishëm. Vini re se këto janë ngjyrat e paracaktuara të fytyrave të kubit, ju mund t'i ndryshoni ato duke përditësuar fjalorin e shënimeve në skriptin me sy të mbyllur.

Për të bërë skanimin shtypni tastin hapësinor për të ruajtur pamjen dhe tastin ESC pas përfundimit

Së dyti, ju mund të shihni sekuencat e zgjidhjes në tastierë dhe kontrollin e barazisë për t'ju treguar nëse keni nevojë të aplikoni algoritmin e barazisë apo jo

Së treti, do të krijohet një kornizë e re që shfaq 2 kube të vizatuar për sekuencën e skajit dhe sekuencën e qosheve. Ju mund të përdorni çelësat e shigjetës majtas dhe djathtas për ndërrimin midis artikujve të sekuencës dhe çelësat shigjetë lart dhe poshtë për ndërrimin midis skajit dhe qoshes. ngjyra gri e hapur paraqet sekuencën aktuale.

Ju mund të shihni ngjyrat e tamponit aktual që ndryshojnë në mënyrë dinamike nga tastet e shigjetave. Ngjyrat gri përfaqësojnë kubin e synuar, dhe ngjyra rozë përfaqëson fytyrën që shkëmbehet

Kodi i burimit

github.com/mn-banjar/blindfolded2

Recommended: