Satura rādītājs:

Reāllaika Rubika kuba risinātājs ar aizsietām acīm, izmantojot Raspberry Pi un OpenCV: 4 soļi
Reāllaika Rubika kuba risinātājs ar aizsietām acīm, izmantojot Raspberry Pi un OpenCV: 4 soļi

Video: Reāllaika Rubika kuba risinātājs ar aizsietām acīm, izmantojot Raspberry Pi un OpenCV: 4 soļi

Video: Reāllaika Rubika kuba risinātājs ar aizsietām acīm, izmantojot Raspberry Pi un OpenCV: 4 soļi
Video: Smart Rubik`s cube GAN 356 i Review | One of my favorite smart cubes 2024, Novembris
Anonim

Šī ir Rubika kuba rīka otrā versija, kas paredzēta risināšanai ar aizsietām acīm. 1. versiju izstrādāja javascript, jūs varat redzēt projektu RubiksCubeBlindfolded1

Atšķirībā no iepriekšējās, šī versija izmanto OpenCV bibliotēku, lai noteiktu krāsas un ievadītu ievades, un nodrošina labāku vizualizācijas tehniku.

Lielākā problēma šajā jaunākajā versijā ir izvades vizualizācija, secības vienumi tiek parādīti uzzīmētajā kubā 1 vienlaikus. Tā kā kubs ir 3D forma, ir grūti parādīt visas malas vienlaikus. Skatiet rezultātus manā YouTube kanāla YouTube videoklipā

Es izmantoju kubu bez uzlīmēm, tam nepieciešama pielāgota atpazīšana, un lielākā daļa atvērtā pirmkoda kodu netiek atbalstīti. Es izmantoju šo Kima Koomena izstrādāto atvērto avotu, kas nosaka fiksētas kameras rāmja zonas, lai noteiktu pareizās kuba seju krāsas qbr projektam

1. darbība. Nepieciešamās sastāvdaļas

  • Raspberry Pi
  • tīmekļa kamera

vai arī varat izmantot klēpjdatoru

2. darbība. Atkarības

  • Python 3
  • numpy bibliotēka
  • OpenCV bibliotēka

$ sudo apt-get install python3-opencv

Iepakojums ar aizsietām acīm

$ pip3 instalēt RubiksBlindfolded

3. solis: Sagatavošanās

Kā iepriekšējs solis ir jākalibrē krāsu noteikšana. HSV krāsu kodi ir atšķirīgi apgaismojuma, kameras kvalitātes un izšķirtspējas un pašas kuba krāsas dēļ. Manā gadījumā es apvienoju baltas un dzeltenas gaismas, lai iegūtu pareizus rezultātus.

Atjauniniet funkciju get_color_name (hsv) vietnē colordetection.py

Sākotnējais avota kods izmanto kociemba pakotni, lai atrisinātu kubu, tas tiek atrisināts, atrodot jebkuras kodēšanas apgrieztās darbības. Šajā versijā es izmantoju savu risinājumu paketi ar nosaukumu RubiksBlindfolded, kas tika publicēta vietnē PyPI. Skatiet aprakstu, lai uzzinātu, kā to izmantot RubiksBlindfolded

4. solis: lietošana

Lietošana
Lietošana
Lietošana
Lietošana

Pēc visu atkarību instalēšanas un kameras iestatīšanas ir pienācis laiks palaist skriptu ar aizsietām acīm

Pirmkārt, jums ir jāpārbauda kubs pareizajā virzienā. Šī ir kuba struktūra, seju skenēšanas secība nav svarīga. Ņemiet vērā, ka šīs ir kuba seju noklusējuma krāsas, jūs varat tās mainīt, atjauninot piezīmju vārdnīcu skriptā blindfolded.py

Lai veiktu skenēšanu, nospiediet atstarpes taustiņu, lai saglabātu skatu, un ESC taustiņu pēc pabeigšanas

Otrkārt, konsolē varat redzēt risinājumu secības un paritātes pārbaudi, lai uzzinātu, vai jums ir jāpiemēro paritātes algoritms.

Treškārt, tiks izveidots jauns rāmis, kurā parādīti 2 uzzīmēti kubi malu secībai un stūra secībai. Jūs varat izmantot kreiso un labo bulttaustiņu, lai pārslēgtos starp secības vienumiem, un augšup un lejup vērstos bulttaustiņus, lai pārslēgtos starp malu un stūri. gaiši pelēka krāsa attēlo pašreizējo secību.

Ar bulttaustiņiem varat redzēt pašreizējā bufera krāsas, kas dinamiski mainās. Pelēkas krāsas attēlo mērķa kubiku, un rozā krāsa apzīmē maināmo seju

Avota kods

github.com/mn-banjar/blindfolded2

Ieteicams: