Često postavljana pitanja#

Opća pitanja#

Što je jedinstveno kod CMUcam1?#

Tradicionalno su potrebna brza računala za snimanje i obradu slika kamere. Također je potrebno napisati softver za obavljanje ove obrade. Zbog toga je teško koristiti vid kao senzor u jednostavnim sustavima.

CMUcam1 vizijski sustav koristi brzi jeftini mikrokontroler za obradu sve brze obrade podataka kamere i sadrži softver za obavljanje jednostavnih vizijskih zadataka. Budući da korisnik može odabrati izlaz samo informacija visoke razine niske propusnosti iz vizijskog sustava, poput crveni objekt je na položaju X-Y, moguće je da jednostavan procesor poput PIC mikrokontrolera pročita ove podatke i usmjeri malog robota u zadacima poput jurenja obojene lopte. CMUcam1 vizijski sustav omogućuje zanemarivanje složenosti povezivanja kamere i korištenje vida baš kao i bilo kojeg drugog senzora (npr. sonara) koji se često koristi u robotskim sustavima.

Koja je brzina okvira CMUcam1?#

Najbrža brzina okvira je 16,7 sličica u sekundi. To znači da vam CMUcam1 može reći položaj objekta oko 17 puta u sekundi. Koristeći serijski softverski protokol možete to usporiti ako želite.

Koje brzine prijenosa CMUcam1 podržava?#

Od najnovije verzije firmvera (v1.12) CMUcam1 može komunicirati pri brzinama prijenosa od 9600, 19200, 38400 ili 115200. Brzina prijenosa odabire se putem postavki jumpera na ploči.

Kako nadograditi firmver mojeg CMUcam1?#

Ako trenutno koristite firmver v1.11, nema razloga za nadogradnju osim ako vam ne treba podrška za niže brzine prijenosa. Verzija 1.11 podržava 38400 i 115200 baud. Verzija 1.12 podržava te brzine prijenosa i dodaje podršku za 9600 i 19200 baud. Za nadogradnju firmvera morat ćete ponovno programirati flash memoriju u čipu procesora. Ako imate programator, možete preuzeti trenutnu verziju s naše stranice Preuzimanja i sami ponovno flashati procesor.

Radi li CMUcam1 vani?#

CMUcam1 radi vani, ali ne na izravnom sunčevom svjetlu. CMOS kamera koju koristimo nema visokokvalitetni IR filtar pa sunčevo svjetlo zasićuje crvene piksele i slika u biti postaje monokromna na izravnom sunčevom svjetlu. Moguće je dodati vanjski filtar za poboljšanje rada na otvorenom. Imamo kratak zapis koji vam pokazuje kako uvjeti osvjetljenja utječu na CMUcam1 koji možete preuzeti ovdje.

Mogu li napisati vlastiti kod za CMUcam1?#

Svakako. Da biste to učinili, zatražite od nas izvorni kod firmvera, naručite sebi C programsko okruženje za Ubicom čip i krenite. Kada vam pošaljemo izvorni kod firmvera, poslat ćemo vam i sažetak o tome kako je kod strukturiran te informacije o programskom okruženju koje koristimo.

Koliko energije troši CMUcam1?#

Cijeli sustav troši oko 200 miliampera.

Koje je vidno polje CMUcam1?#

Ovo ovisi o leći koju postavite na CMOS kameru. Ako naručite CMOS kameru kakva se prodaje standardno, dobit ćete oko 25 stupnjeva vidnog polja, što je relativno usko. Međutim, možete po narudžbi naručiti leće šireg kuta kada naručujete svoju CMOS kameru.

Koji procesor koristi CMUcam1?#

Naš kod za obradu slike nalazi se na mikrokontrolerskom čipu tvrtke Ubicom koji radi na 75 MHz, SX28AC. Ovaj čip očitava sve piksele s CMOS kamere putem paralelnog sučelja i obavlja svu obradu u stvarnom vremenu. Zatim rezultate komunicira vašem mikrokontroleru ili računalu putem sučelja serijskog priključka.

Koju CMOS kameru koristi CMUcam1?#

Koristimo CMOS kameru koja koristi OmniVision OV6620 CMOS kameru na čipu. Koristimo CMOS kamera pločicu broja modela C3088 na kojoj su montirani senzor, konektor i leća.

Radi li CMUcam1 s drugim CMOS kamerama?#

Ne. Trenutno su hardverski i softverski sustav dizajnirani da rade posebno s OmniVision OV6620 CMOS kamerom. Sustav bi trebalo potpuno redizajnirati da bi radio s drugom kamerom.

Postoji li neko mjesto gdje mogu pronaći odgovore na dodatna pitanja koja imam?#

Da. Imamo neke informacije o tehničkijim pitanjima na ovoj stranici.

Gdje mogu saznati više o računalnom vidu općenito?#

CMUcam1 obavlja jednostavan zadatak računalnog vida za koji je dizajniran u malom, jeftinom pakiranju. Međutim, opći problem računalnog vida pokušaja prepoznavanja proizvoljnih objekata u proizvoljnim uvjetima još je uvijek vrlo aktivna istraživačka tema i vrlo daleko od toga da bude bilo gdje blizu riješenog problema.

Ako želite naučiti više o računalnom vidu, isprobajte ove poveznice:

Tehnička pitanja#

Koji je točan slijed koraka koje demo način izvodi pri uključivanju?#

Evo točnog slijeda koji demo način rada izvodi pri uključivanju:

  1. Resetirajte kameru.

  2. Pričekajte 5 sekundi da se automatska prilagodba parametara kamere stabilizira.

  3. Pošaljite string registara kamere: CR 18 32 19 32 koji odabire YCrCb način rada i isključuje automatsko pojačanje.

  4. Izvršite naredbu TW.

Nakon toga, kamera će početi pokretati servo motor prema srednjoj masi boje koju je otkrila naredba TW.

Koji je točan slijed koraka koje izvodi naredba „TW”?#

Evo točnog slijeda koji izvodi naredba TW:

  1. Smanjite prozor na 1/4 veličine (u svakoj dimenziji) trenutnog prozora u novi prozor centriran na sredini trenutnog prozora.

  2. Pozovite get mean.

  3. Vratite prozor na punu veličinu slike.

  4. Postavite maksimalnu i minimalnu vrijednost za svaki kanal boje na srednju vrijednost za taj kanal +/- 30.

Nakon toga, kamera će početi slati (stream) pakete tipa C, M ili N.

Pod kojim uvjetima se LED praćenja upali kada je automatski način omogućen?#

LED će zasvijetliti kada je vraćeni pixel_count >= 2. Vraćeni pixel_count = (actual_pixel_count + 4) / 8.

Ako CMOS kamera ima razlučivost od 352 x 288 piksela, zašto je razlučivost CMUcam1 samo 80 x 143?#

Problem ovdje je kako rade digitalne kamere u boji. U svim digitalnim kamerama u boji (čak i vrlo skupim - osim nekih temeljenih na nekoj vrlo naprednoj tehnologiji) dobivate samo jedno mjerenje kanala boje po položaju piksela, to se naziva mozaično filtriranje. Evo lijepog dijagrama koji pomaže objasniti ovo:

Mosaic

(Dijagram ljubaznošću tvrtke Foveon, Inc.)

Dakle, ono što možete vidjeti je da se pikseli mogu smatrati raspoređenima u skupine po četiri, gdje postoje dva G mjerenja te jedno R i jedno B mjerenje po skupini. Ako odbacite jedno od G mjerenja (što mi činimo) vidite da je stvarna razlučivost kamere 352x288 bliža 176x144. Kameru pokrećemo u načinu polurazlučivosti koji preskače svaki drugi 2x2 blok horizontalno što vam daje 88x144. Zbog ograničenja memorije u procesoru odbacujemo 8 stupaca horizontalno i jedan red vertikalno, koji sadrži test uzorak, što vam daje 80x143 kao konačnu razlučivost.

Samo za informaciju, standardne digitalne kamere koriste složene tehnike interpolacije kako bi pokušale popuniti nedostajuće vrijednosti boja na svakom pikselu i dale vam nešto malo bliže punoj razlučivosti senzora.

Kako mogu točno izoštriti CMUcam1?#

Naravno, najbolji način za nastavak fokusiranja je snimanje ispisa okvira pomoću GUI-ja. Možda nemate računalo pri ruci ili možda koristite BotBall CMUcam1, koji nema dovoljnu razlučivost pri svojoj tvornički postavljenoj brzini od 9600 bauda da bi ovo dobro radilo.

U tom slučaju postoje dvije alternative. Prvo, možete pokušati brojati navoje. Leća nije potpuno uvijena pri vrhuncu izoštrenosti. Umjesto toga, vidljiv je otprilike 1 milimetar razmaka navoja. Što se tiče broja navoja, to je otprilike 2 navoja vidljiva u razmaku između leće i nosača leće.

Druga alternativa oslanja se na ideju da su, kada je slika oštra, tamni dijelovi najtamniji, a svijetli najsvjetliji. Drugim riječima, kada je kontrast najveći. Kada slika postane neizoštrena, tada ekstremi izblijede u ujednačeniju raspodjelu intenziteta. Dakle, ako pokrenete streaming način rada, a zatim pozovete GM (Get Mean), možete fokusirati u stvarnom vremenu. Pogledajte crvenu devijaciju. Dok oštro fokusirate na objekt visokog kontrasta (poput komada papira s puno napisanog na njemu) na željenoj udaljenosti, doći će do primjetnog vrhunca u crvenoj devijaciji kada je najoštrije fokusirano. Imajte na umu da ovaj pristup fokusiranju zahtijeva da kamera i meta budu prilično čvrsto postavljeni dok okrećete leću.