Ruby 3D hĺbková kamera
Ruby 3D hĺbková kamera
Používateľská príručka
(v1.0) 28. septembra 2022
TECHNOLÓGIE VISION
Nerian Vision GmbH Zettachring 2
70567 Stuttgart Nemecko
E-mail: service@nerian.com www.nerian.com
Obsah
1 Funkcia skončilaview
4
2 Zahrnuté diely
4
3 Všeobecné špecifikácie
4
3.1 Podrobnosti o hardvéri . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Stereo párovanie . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3 Snímkové frekvencie a rozlíšenia . . . . . . . . . . . . . . . . . . . 5
4 Bezpečnosť lasera
5
5 Mechanické špecifikácie
6
5.1 Rozmery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.2 Montáž . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.3 Teplota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Fyzické rozhrania
9
6.1 Rozhranie Overview . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.2 Napájanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3 Port GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.3.1 Výstup spúšťača . . . . . . . . . . . . . . . . . . . . . . . 11
6.3.2 Spúšťací vstup . . . . . . . . . . . . . . . . . . . . . . . . 11
6.3.3 Synchronizačný impulz (PPS) . . . . . . . . . . . . . . . . 11
6.4 Tlačidlo Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.5 Stavové LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7 Výsledky spracovania
13
7.1 Opravené obrázky . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.2 Mapy rozdielov . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7.3 Farebná obrazová projekcia . . . . . . . . . . . . . . . . . . . . . . . 16
7.4 Časový rozvrhamps a poradové čísla . . . . . . . . . . . . . . . . 16
8 Konfigurácia siete
17
8.1 Konfigurácia IP . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.2 Jumbo rámy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9 Konfigurácia
19
9.1 Stav systému . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2 Predvoľby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.3 Preview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.4 Nastavenia akvizície . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.1 Nastavenia formátu . . . . . . . . . . . . . . . . . . . . . . . 23
9.4.2 Snímková frekvencia . . . . . . . . . . . . . . . . . . . . . . . . . 24
1
9.4.3 Kontrola expozície . . . . . . . . . . . . . . . . . . . . . . 24 9.4.4 Ovládanie vyváženia bielej . . . . . . . . . . . . . . . . . . . 24 9.5 Nastavenia siete . . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.6 Výstupné kanály . . . . . . . . . . . . . . . . . . . . . . . . . . 26 9.7 Údržba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9.8 Kalibrácia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.8.1 Kalibračná doska . . . . . . . . . . . . . . . . . . . . . . 29 9.8.2 Obmedzenie veľkosti obrazu na kalibráciu . . . . . . . . 30 9.8.3 Záznam kalibračných rámcov . . . . . . . . . . . . . . . 31 9.8.4 Vykonanie kalibrácie . . . . . . . . . . . . . . . . . . . 31 9.9 Nastavenia spracovania . . . . . . . . . . . . . . . . . . . . . . . . . 32 9.9.1 Prevádzkový režim . . . . . . . . . . . . . . . . . . . . . . 32 9.9.2 Nastavenia rozdielov . . . . . . . . . . . . . . . . . . . . . . 33 9.9.3 Nastavenia algoritmu . . . . . . . . . . . . . . . . . . . . . 33 9.10 Rozšírené nastavenia automatickej expozície a zisku . . . . . . . . . . . 35 9.10.1 Expozícia a zisk . . . . . . . . . . . . . . . . . . . . . 35 9.10.2 Manuálne nastavenia . . . . . . . . . . . . . . . . . . . . . . . 36 9.10.3 Nastavenia ROI . . . . . . . . . . . . . . . . . . . . . . . . 37 9.11 Nastavenia spúšťania . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.12 Synchronizácia času . . . . . . . . . . . . . . . . . . . . . . . 38 9.13 ReviewVýsledky kalibrácie . . . . . . . . . . . . . . . . . . . 39 9.14 Automatická rekalibrácia . . . . . . . . . . . . . . . . . . . . . . . . . 41 9.15 Oblasť záujmu . . . . . . . . . . . . . . . . . . . . . . . . . . 42 9.16 Inerciálna meracia jednotka . . . . . . . . . . . . . . . . . . . . . 43 9.16.1 Kalibrácia inerciálnej meracej jednotky . . . . . . . 44
10 Informácie o používaní API
45
10.1 Všeobecné informácie . . . . . . . . . . . . . . . . . . . . . . . . 45
10.2 Prenos obrázkov Príkladample . . . . . . . . . . . . . . . . . . . . . . 45
10.3 AsyncTransfer Prample . . . . . . . . . . . . . . . . . . . . . . 47
10.4 3D rekonštrukcia . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.5 Parametre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
11 Dodávaný softvér
49
11.1 NVCom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2 GenICam GenTL Producer . . . . . . . . . . . . . . . . . . . . 50
11.2.1 Inštalácia . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.2 Virtuálne zariadenia . . . . . . . . . . . . . . . . . . . . . . . 51
11.2.3 ID zariadení . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3 Uzol ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
12 Podpora
52
13 Informácie o záruke
53
2
14 Informácie o otvorenom zdroji
53
3
3 VŠEOBECNÉ ŠPECIFIKÁCIE
1 Funkcia skončilaview
Ruby je hĺbková kamera založená na stereo videní. Jeho dva monochromatické obrazové snímače zaznamenávajú scénu v mierne odlišnej podobe viewpozícií. Koreláciou obrazových údajov z oboch obrazových snímačov môže Ruby odvodiť hĺbku každého pozorovaného bodu. Vypočítaná hĺbková mapa sa prenáša cez 1G Ethernet do pripojeného počítača alebo iného vstavaného systému. Na zachytenie informácií o farbe sa používa ďalší farebný snímač a farebný obraz sa automaticky zarovná s údajmi o hĺbke.
Ruby môže vykonávať merania aktívne alebo pasívne. Pre aktívne merania sa používa laserový projektor na premietanie vzoru na viditeľné povrchy. To umožňuje meranie predmetov, aj keď majú jednotný a bezštruktúrny vzhľad.
V situáciách, keď premietaný vzor nie je možné pozorovať z dôvodu jasného okolitého svetla, dlhých meracích vzdialeností alebo preto, že je projektor vypnutý, je možné merania získať pasívne. V prípade pasívnych meraní je na získanie presných výsledkov potrebná dostatočná povrchová štruktúra.
2 Zahrnuté diely
Pri objednávaní novej hĺbkovej kamery Ruby 3D od Nerian Vision Technologies by ste mali zahrnúť nasledujúce diely:
· Ruby 3D hĺbková kamera · 12 V DC napájanie s vymeniteľnými sieťovými konektormi pre Eu-
lano, Severná Amerika, Veľká Británia a Austrália · Tlačená používateľská príručka · Kábel Ethernet, 3 m
Ak niektorá z týchto položiek chýba, kontaktujte zákaznícku podporu.
3 Všeobecné špecifikácie
3.1 Podrobnosti o hardvéri
Obrazový snímač Rozlíšenie obrazu Formát snímača Ohnisková vzdialenosť Pole View Projektor vzoru clony
IMX296 1.5 MP 1/2.9″ 4.18 mm 62.2° × 48.8° (74.0° diagonálne) 3.0 laser s náhodnými bodmi (trieda 1)
4
3.2 Stereo párovanie
4 LASEROVÁ BEZPEČNOSŤ
Vlnová dĺžka projektora Inerciálny senzor (IMU) Max. Rýchlosť merania IMU Napájanie Spotreba energie Rozmery Hmotnosť I/O Prevádzková teplota Zhoda
830 nm BNO085 400 Hz (magnetometer: 100 Hz) 11.2 30 V DC 9W 130 × 92.5 × 34.5 mm cca. 450 g Gigabit Ethernet, GPIO 0 40 °C CE, FCC, UKCA, RoHS, Laser class 1
3.2 Stereo párovanie
Stereo algoritmus Maximálne rozlíšenie Podporované formáty pixelov Rozsah rozdielov Snímková frekvencia Rozlíšenie subpixelov Následné spracovanie
Variácia Semi-Global Matching (SGM) 1440 × 1056 pixelov Mono8, Mono12, RGB8 32 až 256 pixelov až 60 fps 4 bity (1/16 pixelu) Kontrola konzistencie, kontrola jedinečnosti, interpolácia medzier, redukcia šumu, filtrovanie škvŕn
3.3 Dosiahnuteľné obnovovacie frekvencie a rozlíšenia obrázkov
Maximálna snímková frekvencia, ktorú možno dosiahnuť, závisí od nakonfigurovaného rozlíšenia obrazu a rozsahu disparít. Tabuľka 1 poskytuje zoznam odporúčaných konfigurácií. Toto je len podmnožina dostupného konfiguračného priestoru. Na splnenie špecifických požiadaviek aplikácie možno použiť rôzne rozlíšenia obrázkov a rozsahy rozdielov.
Tabuľka 1: Maximálna snímková frekvencia podľa rozlíšenia obrazu a rozsahu disparít.
Rozsah rozdielov
128 pixelov 256 pixelov
Rozlíšenie obrazu 720×512 1024×768 1440×1026
60 fps neuvádza sa
30 fps 17 fps
15 fps 8 fps
4 Bezpečnosť lasera
Ruby obsahuje infračervený laserový projektor, ktorý nie je viditeľný pre ľudské oko. Laser je v súlade s medzinárodnými normami IEC 60825-1:2014 a DIN EN 60825-1:2015 pre triedu 1. Preto je laser považovaný za bezpečný pre oči a bezpečnostné opatrenia nie sú potrebné.
5
5 MECHANICKÉ ŠPECIFIKÁCIE
Obrázok 1: Laserový štítok na spodnej strane Ruby.
Upozornenie na laser triedy 1 nájdete na štítku produktu na spodnej strane zariadenia. Tento štítok je znázornený na obrázku 1.
Akékoľvek zmeny alebo úpravy vykonané na systéme, ktoré nie sú výslovne schválené výrobcom, môžu zrušiť oprávnenie používateľa prevádzkovať zariadenie.
5 Mechanické špecifikácie
5.1 Rozmery
Obrázky 2 a 3 zobrazujú Ruby pri pohľade z rôznych smerov. Uvedené rozmery sú merané v milimetroch.
5.2 Montáž
Kryt Ruby obsahuje dve montážne konzoly po stranách zariadenia. Každá montážna konzola má dva štrbinové otvory, ktoré umožňujú montáž Ruby na rovný povrch. Rozmery a umiestnenie štrbinových otvorov sú uvedené na obrázku 2b.
Ruby má navyše 1/4″ UNC závitový otvor na spodnej strane. To umožňuje namontovať Ruby na štandardný statív fotoaparátu.
5.3 Teplota
Ruby je možné prevádzkovať bez ďalších opatrení pri teplote okolia medzi 0°C a 40°C. Ak sa vyžaduje prevádzka pri vyššej teplote okolia, musia sa vykonať dodatočné opatrenia na chladenie. Takéto opatrenia môžu pozostávať z pripevnenia Ruby na tepelne vodivý povrch a/alebo z použitia ventilátora na zvýšenie prietoku vzduchu. Pri prevádzke Ruby pri takýchto zvýšených teplotách okolia sledujte teplotné snímače zariadenia (pozri časť 9.1).
6
5.3 Teplota
5 MECHANICKÉ ŠPECIFIKÁCIE
a) Predná strana view
(b) Hore view
Obrázok 2: (a) Predná časť a (b) horná časť view Ruby s rozmermi v milimetroch.
7
5.3 Teplota
5 MECHANICKÉ ŠPECIFIKÁCIE
(a) Späť view
(b) Spodná časť view
Obrázok 3: (a) zadná časť a (b) spodná časť view Ruby s rozmermi v milimetroch.
8
6 FYZICKÝCH ROZHRANÍ
Obrázok 4: Dostupné rozhrania na zadnej strane.
6 Fyzické rozhrania
6.1 Rozhranie Overview
Obrázok 4 zobrazuje dostupné fyzické rozhrania na zadnej strane Ruby. Tieto rozhrania sú: Konektor napájania jednosmerným prúdom: Pripája sa k zdroju napájania v rámci povolených hodnôt
zvtage rozsah (pozri časť 6.2). Port GPIO: Výstup spúšťacieho signálu alebo synchronizácia Ruby s externým zariadením
spúšťací zdroj. Funguje tiež ako vstup pre časový synchronizačný impulz (pozri časť 6.3). Ethernetový port: Port na pripojenie Ruby ku klientskemu počítaču alebo inému vstavanému systému cez 1G Ethernet. Tento port sa používa na poskytovanie výsledkov spracovania a na poskytovanie prístupu ku konfiguračnému rozhraniu. Tlačidlo Reset: Tlačidlo na resetovanie firmvéru zariadenia späť do továrenského stavu (pozri časť 6.4). Kontrolka napájania: Zelená dióda LED signalizujúca, že je zariadenie zapnuté. LED stavu spojenia (zelená): Indikuje, či bolo ethernetové spojenie úspešne nadviazané (pozrite si časť 6.5).
9
6.2 Napájanie
6 FYZICKÝCH ROZHRANÍ
1 6
Priradenie kolíkov 1 Spúšťací vstup (opto-izolovaný) 2 Synchronizačný vstup (opto-izolovaný) 3 Spúšťací výstup (opto-izolovaný) 4 Opto GND 5 +5V 6 GND
Obrázok 5: Priradenie pinov GPIO konektora.
6.2 Napájanie
Napájací konektor je potrebné pripojiť k dodávanému napájaciemu adaptéru alebo inému vhodnému objtage zdroj. Pri použití alternatívneho napájacieho zdroja sa prosím uistite, že objtage je v povolenom rozsahu 11.2 – 30 V DC. Vyššia objtages môže poškodiť zariadenie. Napájací zdroj by mal byť dimenzovaný na najmenej 10 W.
Napájací konektor používa zásuvkový konektor s vnútorným priemerom 6.5 mm a priemerom kolíka 2 mm. Spojovacia spojka by mala mať vonkajší priemer 5.5 mm. Polarita musí byť kladná v strede.
6.3 Port GPIO
Port GPIO poskytuje prístup k nasledujúcim signálom:
· Výstup spúšťača
· Spúšťací vstup
· Synchronizačný impulz (PPS)
· Výstup +5V DC
Všetky vstupné a výstupné dátové signály sú pripojené cez optočleny. Preto musí byť kolík Opto GND použitý ako uzemňovacia referencia pre všetky signály.
Okrem I/O signálov poskytuje Ruby 5V DC výstup, ktorý dokáže dodať prúd až 100 mA. Ak je prekročený prúdový limit, výstupný výkon sa vypne.
Konektor GPIO používa zásuvkový konektor Molex Micro-Lock Plus série 505567. Priradenie pinov je zobrazené na obrázku 5. Nasledujúce čísla dielov výrobcu zodpovedajú zodpovedajúcim konektorom a mali by sa použiť na prepojenie:
45111-0606 204532-0601
Zodpovedajúci konektor s káblom 600 mm Zodpovedajúci konektor bez káblov
Charakteristiky každého jednotlivého I/O signálu sú opísané v nasledujúcich podkapitolách.
10
6.3 Port GPIO
6 FYZICKÝCH ROZHRANÍ
Spúšťací výstup 6
1
Opto GND
4
3
TLP293
GND
Obrázok 6: Schéma výstupného obvodu spúšťača
6.3.1 Výstup spúšťača
V aplikácii strojového videnia môže byť potrebné synchronizovať ďalšie senzory alebo osvetlenie (napr. projektor vzorov) so získavaním obrazu Ruby. Na tento účel môže Ruby vydávať spúšťací signál s otvoreným kolektorom na GPIO kolíku 3. Signál je izolovaný cez optočlen, ako je znázornené na schéme zapojenia na obrázku 6.
Absolútne maximálne hodnoty optočlena sú:
Zberač-emitor objtage: max. 80 V
Emitor-zberač objtage: max. 7 V
Kolektorový prúd:
max. 50 mA
Stratový výkon kolektora: max. 100 mW
Ďalšie podrobnosti o konfigurácii spúšťacieho výstupu nájdete v časti 9.11.
6.3.2 Spúšťací vstup
Namiesto synchronizácie iného zariadenia so získavaním obrázkov Ruby, môže Ruby tiež synchronizovať získavanie obrázkov s externým zdrojom spúšťania pomocou spúšťacieho vstupného signálu na kolíku 1. Obj.tagÚroveň vstupného spúšťacieho signálu musí byť medzi 3.3 V a 24 V. Ruby spotrebuje na tento signál prúd 2 mA. Ďalšie podrobnosti o konfigurácii spúšťacieho vstupu nájdete v časti 9.11.
6.3.3 Synchronizačný impulz (PPS)
Synchronizačný impulz z kolíkov 2 je vstupný signál, ktorý možno použiť na synchronizáciu vnútorných hodín Ruby s vysokou presnosťou. Kedykoľvek je prijatý kladný signál, Ruby môže buď resetovať svoj vnútorný čas na 0, alebo uložiť aktuálny systémový čas a preniesť ho s ďalším rámcom. Zvtage tohto impulzu musí byť medzi 3.3 a 24 V. V typickej aplikácii sa impulz generuje zo zdroja impulzov za sekundu (PPS).
Podrobnosti o konfigurácii synchronizačného impulzu a iných metód synchronizácie, ako je PTP alebo NTP, nájdete v časti 9.12.
11
6.4 Tlačidlo Reset
6 FYZICKÝCH ROZHRANÍ
6.4 Tlačidlo Reset
Na zadnej strane zariadenia je zapustené resetovacie tlačidlo. Tlačidlo sa používa na resetovanie firmvéru Ruby do továrenského stavu. Reset by sa mal vykonať, ak zariadenie prestane reagovať v dôsledku nesprávnej konfigurácie alebo poškodenia firmvéru. Po spustení procedúry resetovania sa stratia všetky konfigurácie, kalibrácia a nainštalované aktualizácie firmvéru.
Ak chcete spustiť reset, jemne stlačte tlačidlo špendlíkom, keď je zariadenie vypnuté. Potom zapojte napájanie a držte tlačidlo stlačené a krátko nato tlačidlo uvoľnite.
Proces resetovania bude trvať niekoľko minút. Po dokončení resetovania sa zariadenie normálne spustí a bude zistiteľné v sieti s predvolenou IP adresou. Aplikáciu NVCom (pozrite si časť: 11.1) môžete použiť na sledovanie toho, kedy sa zariadenie po dokončení resetovania stane viditeľným.
6.5 Stavové LED diódy
Zariadenie obsahuje tri stavové LED diódy, ako je znázornené na obrázku 4:
Kontrolka napájania (zelená): Kontrolka napájania svieti nazeleno, keď je zariadenie zapnuté.
LED stavu spojenia (zelená): Indikuje, či bolo ethernetové spojenie úspešne nadviazané. Ak sa LED po pripojení ethernetového kábla nerozsvieti, skontrolujte, či kábel nie je poškodený a uistite sa, že vzdialený systém (prepínač alebo hostiteľský počítač) je funkčný.
LED dióda stavu snímania (oranžová): Táto dióda LED informuje o stave snímania obrazu a možných poruchách lasera:
Vypnuté: Získavanie obrázkov sa ešte nezačalo. Toto je prípad, ak sa zariadenie stále zavádza. Skontrolujte prosím web rozhranie pre chyby (pozri časť 9.1), ak LED zostane vypnutá dlhšie ako niekoľko minút po zapnutí.
Bliká: Získavanie snímok bolo úspešne spustené a zariadenie funguje podľa plánu.
Stále svieti: Bola zistená porucha lasera a laserový projektor bol vypnutý. Pre vyriešenie tohto zlyhania kontaktujte podporu.
12
7 VÝSLEDKY SPRACOVANIA
(a)
(b)
Obrázok 7: Prample pre (a) neopravený a (b) opravený obraz kamery.
7 Výsledky spracovania
7.1 Opravené obrázky
Dokonca aj s presne nastavenými obrazovými snímačmi Ruby je nepravdepodobné, že získate zábery, ktoré by sa zhodovali s očakávaným výsledkom z ideálneho stereo fotoaparátu. Obrázky sú ovplyvnené rôznymi skresleniami, ktoré sú výsledkom chýb v optike a umiestnení snímača. Preto je prvým krokom spracovania, ktorý sa vykonáva, operácia neskreslenia obrazu, ktorá je známa ako oprava obrazu.
Oprava obrazu vyžaduje presnú znalosť projektívnych parametrov nastavenia kamery. Tie je možné určiť pomocou kalibrácie fotoaparátu. Podrobné vysvetlenie postupu kalibrácie fotoaparátu nájdete v časti 9.8. Ruby bude dodaný vopred kalibrovaný a rekalibrácia zvyčajne nebude potrebná počas životnosti zariadenia.
Obrázok 7a ukazuje príkladample obraz kamery, kde bola kamera nasmerovaná na kalibračnú dosku. Okraje dosky sa zdajú byť mierne zakrivené v dôsledku radiálnych skreslení spôsobených optikou fotoaparátu. Obrázok 7b zobrazuje rovnaký obrázok po oprave obrázka. Tentoraz sa všetky hrany kalibračnej dosky javia ako dokonale rovné.
7.2 Mapy rozdielov
Výsledky stereo zhody sa dodávajú vo forme mapy disparít z pohľadu ľavej monochromatickej kamery. Mapa disparít spája každý pixel na obrázku z ľavej kamery so zodpovedajúcim pixelom na obrázku z pravej kamery. Pretože oba obrázky boli predtým opravené tak, aby zodpovedali ideálnej geometrii stereo kamery, zodpovedajúce pixely by sa mali líšiť iba svojimi horizontálnymi súradnicami. Mapa disparít tak kóduje iba horizontálny súradnicový rozdiel.
13
7.2 Mapy rozdielov
7 VÝSLEDKY SPRACOVANIA
(a)
(b)
Obrázok 8: Prample pre (a) obraz z ľavej kamery a zodpovedajúcu mapu disparít.
Exampsúbory pre obraz z ľavej kamery a zodpovedajúca mapa disparít sú znázornené na obrázkoch 8a a 8b. Tu je mapa disparít farebne kódovaná, pričom modré odtiene odrážajú malé rozdiely a červené odtiene odrážajú veľké rozdiely. Ako je možné vidieť, disparita je úmerná inverznej hĺbke zodpovedajúceho bodu scény.
Rozsah disparít určuje oblasť obrázka, ktorá sa hľadá na nájdenie zhody pixelov. Veľký rozsah disparít umožňuje veľmi presné merania, ale spôsobuje vysokú výpočtovú záťaž, a tým znižuje dosiahnuteľnú snímkovú frekvenciu. Ruby podporuje konfigurovateľný rozsah disparít (pozri časť 9.9), ktorý umožňuje používateľovi vybrať si medzi vysoko presnými alebo vysokorýchlostnými meraniami.
Mapu disparít je možné transformovať na množinu 3D bodov. Toto je možné vykonať na správnej metrickej stupnici, ak bol systém správne kalibrovaný. Transformácia mapy disparít na množinu 3D bodov vyžaduje znalosť matice Q mapovania disparity k hĺbke, ktorá je vypočítaná počas kalibrácie kamery a prenášaná Ruby spolu s každou mapou disparity. 3D umiestnenie xyz T bodu so súradnicami obrazu (u, v) a disparitou d možno rekonštruovať takto:
xy =
z
1 w
x · y,
z
s
x
u
y
z
=
Q
·
v
d
w
1
Pri použití matice Q poskytnutej spoločnosťou Ruby budú prijaté súradnice merané v metroch vzhľadom na súradnicový systém znázornený na obr.
14
7.2 Mapy rozdielov
z (optická os)
7 VÝSLEDKY SPRACOVANIA
x
y
Obrázok 9: Súradnicový systém použitý na 3D rekonštrukciu.
ure 9. Tu sa počiatok zhoduje so stredom projekcie objektívu (umiestnenie clony v modeli dierkovej kamery) pre ľavú monochromatickú kameru. Efektívna implementácia tejto transformácie je zabezpečená dostupným API (pozri časť 10.4).
Ruby vypočítava disparitné mapy s disparitným rozlíšením, ktoré je nižšie ako jeden pixel. Disparitné mapy majú bitovú hĺbku 12 bitov, pričom spodné 4 bity každej hodnoty predstavujú zlomkovú disparitnú zložku. Preto je potrebné vydeliť každú hodnotu v mape disparít 16, aby sa získala správna veľkosť disparity.
Ruby používa niekoľko techník následného spracovania s cieľom zlepšiť kvalitu máp disparít. Niektoré z týchto metód odhalia chybné rozdiely a označia ich ako neplatné. Neplatné disparity sú nastavené na 0xFFF, čo je najvyššia hodnota, ktorá môže byť uložená v 12-bitovej disparitnej mape. V exampNa mape disparít z obrázku 8b sú neplatné disparity znázornené sivou farbou.
Upozorňujeme, že na ľavom okraji obrázka mapy rozdielov je zvyčajne pruh neplatných rozdielov. Toto správanie sa očakáva, pretože mapa disparít sa počíta z perspektívy ľavej kamery. Oblasti obrazu na ľavom okraji obrazu ľavého fotoaparátu nie je možné pozorovať pravým fotoaparátom, a preto nemožno vypočítať žiadnu platnú disparitu. Čím ďalej vľavo sa objekt nachádza, tým ďalej musí byť, aby bol viditeľný aj pre pravú kameru. Celý rozsah hĺbky je teda možné pozorovať len pre ľavé obrazové pixely s horizontálnymi súradnicami obrazu u dmax.
Podobne možno očakávať, že sa neplatné rozdiely vyskytnú vľavo na akomkoľvek objekte v popredí. Táto neplatná oblasť podobná tieňom je spôsobená zakrytým viditeľným pozadím na obrázku z pravej kamery, ale nie na obrázku z ľavej kamery. Tento efekt je známy ako oklúzny tieň a je jasne viditeľný na poskytnutom príkladeample obraz.
15
7.3 Farebná obrazová projekcia
7 VÝSLEDKY SPRACOVANIA
(a)
(b)
Obrázok 10: Prample pre (a) mapu disparít a (b) premietaný farebný obraz s artefaktom.
7.3 Farebná obrazová projekcia
Ľavý monochromatický snímač sa používa ako referenčná kamera na výpočet hĺbky. Aj keď je snímač farieb umiestnený hneď vedľa neho, medzi farebným obrázkom a mapou disparít / ľavým monochromatickým obrázkom bude paralaxa (zdanlivý optický posun).
Tento posun možno kompenzovať premietnutím farebného obrazu späť do view referenčnej kamery. Po vykonaní tejto projekcie budú mať zodpovedajúce obrazové body medzi ľavým monochromatickým obrazom, mapou disparít a farebným obrazom identické obrazové súradnice a všetky tri obrazy možno priamo prekryť.
Ruby je schopná vykonať túto projekciu automaticky. Projekcia závisí od meraní hĺbky a bohužiaľ nie je dokonalá. To znamená, že sa dajú očakávať nejaké vizuálne artefakty. Množstvo artefaktov silne závisí od kvality merania hĺbky. Artefakty môžu byť ovplyvnené najmä okrajmi objektov.
Zväčšená podsekcia exampFarebný obrázok a hĺbkovú mapu, ktoré znázorňujú tento efekt, je možné vidieť na obrázku 10. V prípadoch, keď je prijateľná paralaxa medzi meraním hĺbky a farebným obrázkom, je možné sa vyhnúť artefaktom vypnutím tejto projekcie. Ďalšie podrobnosti nájdete v časti 9.6.
7.4 Časový rozvrhamps a poradové čísla
Každá sada obrázkov prenášaných službou Ruby obsahuje aj časový údajamp a poradové číslo. Najčasovejšíamp sa meria s mikrosekundovou presnosťou a je nastavený na čas, v ktorom obrazové snímače začali exponovať snímku.
16
8 KONFIGURÁCIA SIETE
Preto by sa pri pokuse o meranie oneskorenia snímača mal vždy zvážiť expozičný čas.
Ako je vysvetlené v častiach 6.3.3 a 9.12, je možné synchronizovať vnútorné hodiny Ruby s externým signálom alebo časovým serverom. To priamo ovplyvňuje vyrobený čas stamps. Pri synchronizácii s časovým serverom sa čas stamps sa merajú v mikrosekundách od 1. januára 1970, 00:00:00 UTC. Ak sa nevykoná žiadna synchronizácia, vnútorné hodiny sa pri zapnutí nastavia na 0. Pri synchronizácii s externým signálom PPS, ako je vysvetlené v časti 6.3.3, sú hodiny nastavené na 0 na hrane prichádzajúceho signálu.
Upozorňujeme, že synchronizácia so signálom PPS tiež vytvára záporný časamps. Stáva sa to, keď je prijatý synchronizačný signál, zatiaľ čo Ruby spracováva už nasnímaný pár obrázkov. Negatívny časamp je potom časový rozdiel medzi príjmom synchronizačného signálu a časom zachytenia aktuálneho obrazového páru.
8 Konfigurácia siete
Odporúča sa pripojiť Ruby priamo k ethernetovému portu hostiteľského počítača, bez akýchkoľvek prepínačov alebo rozbočovačov medzi nimi. Dôvodom je skutočnosť, že Ruby vytvára sieťové údaje s veľmi vysokou priepustnosťou, čo môže viesť k strate paketov pri použití sieťových prepínačov, ktoré nedokážu dosiahnuť požadovaný výkon. Musí sa zabezpečiť, aby sieťové rozhranie hostiteľského počítača zvládlo rýchlosť prichádzajúcich dát 900 MBit/s.
Potrebné nastavenia konfigurácie siete pre hostiteľský počítač sú popísané v nasledujúcich podkapitolách.
8.1 Konfigurácia IP
V predvolenom nastavení bude Ruby používať IP adresu 192.168.10.10 s maskou podsiete 255.255.255.0. Ak je však v sieti prítomný server DHCP, môže Ruby priradiť inú adresu. V takom prípade použite na zistenie zariadenia dodaný softvér NVCom (pozri časť 11.1).
Ak v sieti nie je prítomný žiadny iný server DHCP, Ruby spustí svoj vlastný server DHCP. To znamená, že ak je váš počítač nakonfigurovaný na používanie dynamickej adresy IP, počítač automaticky dostane adresu IP v správnej podsieti a nie je potrebná žiadna ďalšia konfigurácia.
Ak váš počítač nie je nakonfigurovaný na používanie dynamickej adresy IP alebo je integrovaný server DHCP Ruby zakázaný, musíte svoju adresu IP nakonfigurovať manuálne. V prípade systému Windows 10 postupujte podľa týchto krokov:
1. Kliknite na ponuku Štart > Nastavenia > Sieť a internet > Ethernet > Zmeniť možnosti adaptéra.
2. Kliknite pravým tlačidlom myši na požadované ethernetové pripojenie.
17
8.2 Jumbo rámy
8 KONFIGURÁCIA SIETE
3. Kliknite na „Vlastnosti“
4. Vyberte `Internet Protocol Version 4 (TCP/IPv4)'.
5. Kliknite na „Vlastnosti“.
6. Vyberte „Použiť nasledujúcu adresu IP“.
7. Zadajte požadovanú IP adresu (192.168.10.xxx).
8. Zadajte masku podsiete (255.255.255.0).
9. Stlačte tlačidlo OK.
Pre Linux použite prosím nasledujúce príkazy na dočasné nastavenie IP adresy 192.168.10.xxx na sieťovom rozhraní eth0: sudo ifconfig eth0 192.168.10.xxx netmask 255.255.255.0
8.2 Jumbo rámy
Pre maximálny výkon by mal byť Ruby nakonfigurovaný na používanie Jumbo Frames (pozri časť 9.5). V predvolenom nastavení nemusí byť podpora Jumbo Frame v dodanej konfigurácii povolená, pretože to vyžaduje vhodnú konfiguráciu sieťového rozhrania hostiteľského počítača.
Ak je Ruby prístupná cez web rozhranie a objavené v zozname zariadení (napr. v NVCom, pozri časť 11.1), ale neprijímajú sa žiadne obrazové dáta (0 fps), môže to znamenať, že Jumbo Frame sú aktivované v Ruby, ale sieťové pripojenie príslušného klientskeho počítača nie je správne nakonfigurovaný tak, aby ich akceptoval.
Ak chcete aktivovať podporu Jumbo Frame v systéme Windows 10, postupujte podľa týchto krokov:
1. Otvorte „Centrum sietí a zdieľania“
2. Otvorte dialógové okno vlastností požadovaného sieťového pripojenia
3. Stlačte tlačidlo „Konfigurovať...“
4. Otvorte kartu „Rozšírené“.
5. Vyberte `Jumbo Packet' a vyberte požadovanú veľkosť paketu (pozri obrázok 11)
Upozorňujeme, že na rozdiel od Linuxu niektoré sieťové ovládače pre Windows počítajú ako súčasť veľkosti paketu aj 14-bajtovú ethernetovú hlavičku. Pri konfigurácii Ruby na používanie 9000 bajtov MTU môže počítač so systémom Windows vyžadovať veľkosť paketu 9014 bajtov.
V Linuxe možno podporu Jumbo Frame aktivovať nastavením dostatočne veľkého MTU pomocou príkazu ifconfig. Na konfiguráciu 9000 bajtov MTU pre rozhranie eth0 použite nasledujúci príkazový riadok:
18
9 KONFIGURÁCIA
Obrázok 11: Konfigurácia Jumbo Frames vo Windows > sudo ifconfig eth0 mtu 9000 Uvedomte si prosím, že názov rozhrania sa môže líšiť od eth0, najmä v novších vydaniach Linuxu. MTU sa priradí automaticky podľa nastavení Ruby Jumbo Frame vždy, keď počítač so systémom Linux prijme konfiguráciu z aktívneho servera Ruby DHCP (pozri časť 9.5). V systéme Windows automatické priraďovanie MTU nefunguje, pretože systém Windows túto funkciu nepodporuje.
9 Konfigurácia
Ruby sa konfiguruje cez a web rozhranie, ku ktorému sa dostanete zadaním jeho IP adresy do vášho prehliadača. Predvolená adresa je http://192.168.10.10, ale ak je v sieti prítomný server DHCP, môže Ruby priradiť inú adresu (pozri časť 8.1). V takom prípade použite na zistenie zariadenia dodaný softvér NVCom (pozri časť 11.1).
Ak bola Ruby práve pripojená, bude trvať niekoľko sekúnd, kým sa spustí web rozhranie je prístupné. Za použitie web vyžaduje prehliadač s podporou HTML 5. Použite najnovšiu verziu jedného z hlavných prehliadačov, ako je Chrome, Firefox, Safari alebo Edge.
The web-rozhranie je rozdelené na dve časti: Všeobecné nastavenia a Ad19
9.1 Stav systému
9 KONFIGURÁCIA
Obrázok 12: Snímka obrazovky so stavovou stránkou konfigurácie.
rozšírené nastavenia. Stránky všeobecných nastavení obsahujú najčastejšie upravované parametre. Úprava iba týchto parametrov by mala byť dostatočná pre väčšinu aplikácií. Menej často upravované parametre, ktoré môžu byť relevantné pre veľmi špecifické aplikácie, nájdete na stránkach rozšírených nastavení.
9.1 Stav systému
Prvá stránka, ktorú uvidíte pri otvorení web rozhranie je stránka „stav systému“, ktorá je znázornená na obrázku 12. Na tejto stránke nájdete nasledujúce informácie:
Model: Názov modelu vášho zariadenia.
Stav kalibrácie: Poskytuje informácie o tom, či bol systém správne kalibrovaný.
Stav spracovania: Označuje, či bol spustený podsystém spracovania obrazu. Ak to tak nie je, môže ísť o problém s konfiguráciou alebo sa mohla vyskytnúť systémová chyba. V tomto prípade si pozrite systémové denníky. Podsystém spracovania obrazu sa spustí okamžite po odstránení príčiny chyby.
Teplota SOC: Teplota centrálneho systému na čipe (SoC), ktorý vykonáva všetky úlohy spracovania. Maximálna prevádzková teplota
20
9.2 predvolieb
9 KONFIGURÁCIA
Obrázok 13: Snímka obrazovky stránky konfiguračných predvolieb.
pre použitý SoC je 100 C. Na signalizáciu dobrých, alarmujúcich a kritických teplôt sa používa zeleno-oranžovo-červené farebné kódovanie.
Ľavý/pravý/farebný obrazový snímač: Teploty čipu pre ľavý, pravý a farebný obrazový snímač. Maximálna prevádzková teplota pre obrazové snímače je 75 C. Podobne ako pri teplote SOC je aplikované zeleno-oranžovo-červené farebné kódovanie.
Systémové denníky: Zoznam správ systémových denníkov zoradených podľa času. V bežnej prevádzke nájdete informácie o aktuálnom výkone systému. V prípade chýb obsahujú systémové protokoly zodpovedajúce chybové hlásenia.
9.2 predvolieb
Pre vybrané kombinácie rozlíšenia obrazu a snímkovej frekvencie sú k dispozícii rôzne predvoľby konfigurácie. Dôrazne sa odporúča použiť predvoľbu, pretože zaručí optimálne využitie výkonu Ruby.
Obrázok 13 zobrazuje predvoľby web- stránka rozhrania. Načítanie predvoľby zmení iba parametre, ktoré sú relevantné pre danú konfiguráciu. Ostatné parametre sa meniť nebudú. Ak by mali byť všetky parametre nastavené na preferovanú predvolenú hodnotu, odporúča sa najskôr vykonať reset konfigurácie (pozri časť 9.7) a potom načítať požadovanú predvoľbu.
21
9.3 Preview
9 KONFIGURÁCIA
Obrázok 14: Snímka obrazovky pred konfiguráciouview stránku.
9.3 Preview
Preview stránka, ktorá je znázornená na obrázku 14, poskytuje živé predview aktuálne vypočítanej mapy disparít. Uistite sa, že vaše sieťové pripojenie podporuje veľkú šírku pásma, ktorá je potrebná na streamovanie video dát (pozrite časť 8.2). Na použitie predview vyžadujete priame sieťové pripojenie k Ruby. Nie je možné použiť medziľahlý proxy server alebo smerovač, ktorý vykonáva preklad sieťových adries (NAT).
Pri otváraní predview Ruby prestane prenášať obrazové údaje do akéhokoľvek iného hostiteľa. Prenos pokračuje hneď po zatvorení okna prehliadača, používateľ stlačí tlačidlo pauzy pod preview alebo ak používateľ prejde na inú stránku. Iba jedna otvorená inštancia preview stránka alebo akákoľvek iná stránka, ktorá streamuje video dáta do prehliadača, je súčasne povolená. Ak sa pokúsite otvoriť viac ako raz, údaje dostane iba jedna inštancia.
Preview ktorý sa zobrazuje v prehliadači, neodráža plnú kvalitu vypočítanej mapy disparít. Najmä snímková frekvencia je obmedzená na 20 fps a presnosť subpixelov nie je dostupná. Ak chcete získať kvalitnú predview, použite aplikáciu NVCom, ktorá je popísaná v časti 11.1.
Rôzne schémy farebného kódovania je možné vybrať prostredníctvom rozbaľovacieho zoznamu pod predview oblasť. Vpravo je zobrazená farebná škála, ktorá poskytuje informácie o mapovaní medzi farbami a hodnotami disparít. To možné
22
9.4 Nastavenia akvizície
9 KONFIGURÁCIA
Obrázok 15: Snímka obrazovky konfiguračnej stránky pre nastavenia akvizície.
farebné schémy sú:
Rainbow: Dúhová farebná schéma s nízkymi vlnovými dĺžkami zodpovedajúcimi vysokým disparitám a vysokými vlnovými dĺžkami zodpovedajúcimi nízkym disparitám. Neplatné rozdiely sú zobrazené sivou farbou.
Červená / modrá: Gradient od červenej k modrej, pričom červené odtiene zodpovedajú vysokým rozdielom a modré odtiene zodpovedajú nízkym rozdielom. Neplatné rozdiely sú zobrazené čiernou farbou.
Nespracované údaje: Nespracované údaje o rozdieloch bez farebného označenia. Intenzita pixelov sa zhoduje s celočíselnou zložkou nameranej disparity. Neplatné rozdiely sú zobrazené bielou farbou.
9.4 Nastavenia akvizície
Najrelevantnejšie parametre pre získavanie snímok sú uvedené na stránke nastavení snímania, ktorá je znázornená na obrázku 15. Táto stránka je rozdelená do troch odlišných oblastí.
9.4.1 Nastavenia formátu Táto časť obsahuje všetky nastavenia týkajúce sa formátu obrázka. Namiesto individuálnej úpravy nastavení formátu odporúčame použiť predvoľbu
23
9.4 Nastavenia akvizície
9 KONFIGURÁCIA
(pozri časť 9.2) a jednotlivé nastavenia meňte iba v prípade potreby. To zaistí optimálne využitie zobrazovacích a spracovateľských schopností Ruby.
Upozorňujeme, že na to, aby sa zmeny konfigurácie prejavili, je potrebné stlačiť tlačidlo Použiť. Dostupné nastavenia sú:
šírka:
Výška: Formát pixelov:
Binning horizontálne:
Binning Vertical:
Jas projektora vzoru:
Šírka vybranej oblasti záujmu (ROI) v pixeloch. Ďalšie možnosti oblasti záujmu nájdete v časti 9.15. Výška vybratej oblasti záujmu v pixeloch. Požadovaný režim kódovania pixelov. Dostupné nastavenia sú 8-bitové mono (Mono8) alebo 12-bitové mono (Mono12P). Počet horizontálnych fotosenzitívnych buniek, ktoré sú kombinované pre jeden pixel obrázka. Počet vertikálnych fotosenzitívnych buniek, ktoré sú kombinované pre jeden pixel obrázka. Jas projektora vzorov uvedený v percentách. 100 % znamená plný jas, kým 0 % úplne vypne projektor.
9.4.2 Snímková frekvencia
Snímkovú frekvenciu, pri ktorej Ruby zaznamenáva obrázky, je možné voľne konfigurovať. Maximálna snímková frekvencia, ktorú je možné dosiahnuť, závisí od zvoleného rozlíšenia obrazu, rozsahu disparít, formátu pixelov a sieťového rozhrania. Ak nastavíte snímkovú frekvenciu, ktorá je vyššia ako dosiahnuteľné maximum, môže to mať za následok nepravidelné získavanie snímok alebo žiadne snímky. Odporúča sa najprv vybrať predvoľbu (pozri časť 9.2) s požadovaným rozlíšením a potom iba v prípade potreby znížiť obnovovaciu frekvenciu.
9.4.3 Kontrola expozície
Ruby bude automaticky riadiť expozíciu a zisk snímača tak, aby zodpovedala danej priemernej intenzite, ktorú je možné zvoliť v oblasti „ovládanie expozície“. Ak si neželáte automatické nastavenie, používateľ môže alternatívne určiť manuálny čas expozície a nastavenie zisku. Pokročilejšie možnosti expozície a zisku sú dostupné na stránke „pokročilé nastavenia automatickej expozície a zisku“ (pozri časť 9.10).
9.4.4 Ovládanie vyváženia bielej
Ruby podporuje automatické alebo manuálne vyváženie bielej; je možné ovládať faktory vyváženia červenej a modrej farby. Túto funkciu je možné nakonfigurovať v oblasti „ovládanie vyváženia bielej“. V predvolenom režime vyváženia bielej, „automatický (sivý svet)“, sa nastavenia vyváženia farebného kanála upravujú v reálnom čase na základe heuristického odhadu farby osvetlenia z obrazových údajov. V „manuálnom“ režime vyváženia bielej je algoritmus deaktivovaný a červené a
24
9.5 Nastavenia siete
9 KONFIGURÁCIA
Obrázok 16: Snímka obrazovky konfiguračnej stránky pre sieťové nastavenia.
faktory vyváženia modrej je možné nastaviť manuálne. V oblasti sú zobrazené aj aktuálne účinné bilančné faktory.
9.5 Nastavenia siete
Stránka „nastavenia siete“, ktorá je zobrazená na obrázku 16, sa používa na konfiguráciu všetkých parametrov súvisiacich so sieťou. Ruby sa môže automaticky dotazovať na konfiguráciu siete prostredníctvom požiadaviek klienta DHCP, ktoré sú predvolene povolené na uľahčenie prepínania medzi existujúcimi nastaveniami siete. Zariadenia Ruby v sieti, ktorá priraďuje nastavenia IP cez DHCP, sa dajú ľahko nájsť a pristupovať k nim prostredníctvom rozhrania API na zisťovanie zariadení a tiež pomôcky NVCom (časť 11.1). Ak nie sú prítomné žiadne servery DHCP, Ruby použije svoje nastavenia statickej adresy IP ako záložnú.
Podpora klienta DHCP môže byť vypnutá, ak sú požadované pevné nastavenia IP a zariadenie sa nebude prepínať medzi rôznymi sieťami. V tomto prípade sa nastavenia IP v tejto časti používajú ako statické hodnoty.
Ruby obsahuje aj záložný server DHCP. V predvolenom nastavení je povolená, ale spustí sa iba vtedy, keď zlyhá predchádzajúca požiadavka klienta DHCP. To znamená, že ak je vypnutá podpora klienta DHCP, nikdy sa nespustí žiadny server DHCP, aby sa zabezpečilo, že Ruby nebude nikdy súťažiť s existujúcim serverom DHCP. Server Ruby DHCP používa ako základ nastavenia adresy IP; rozsah prenájmu je vždy v podsieti /24 adresy IP.
V časti „Nastavenia IP“ môžete zakázať alebo povoliť zložku DHCP
25
9.6 Výstupné kanály
9 KONFIGURÁCIA
nents a špecifikujte IP adresu, masku podsiete a adresu brány, ktoré sa používajú ako statická konfigurácia alebo záložná konfigurácia v závislosti od nastavení DHCP. Pri zmene nastavení IP sa uistite, že váš počítač je v rovnakej podsieti alebo že existuje smerovač brány, cez ktorý možno prenášať údaje medzi oboma podsieťami. V opačnom prípade nebudete mať prístup k web rozhranie a možno budete nútení vykonať reset firmvéru (pozri časť 6.4).
V časti `sieťový protokol' si môžete vybrať základný sieťový protokol, ktorý sa použije na doručenie výsledkov výpočtu na klientsky počítač. Možné možnosti sú TCP a UDP. Vzhľadom na širokopásmové údaje v reálnom čase odporúčame použiť UDP.
Aby ste dosiahli čo najlepší výkon, mala by byť aktivovaná podpora pre jumbo snímky v sekcii „jumbo snímky“. Predtým sa však musíte uistiť, že podpora jumbo rámcov je povolená aj pre sieťové rozhranie vášho klientskeho počítača. Podrobnosti o tom, ako povoliť podporu jumbo rámcov na vašom počítači, nájdete v Časti 8.2 na strane 18. Pre klientske počítače Linux sa nastavenie jumbo rámcov (MTU) automaticky použije pri prijímaní konfigurácie z aktívneho servera Ruby DHCP. Upozorňujeme, že v tomto prípade zmena režimu Ruby Jumbo Frames alebo veľkosti MTU vyžaduje nové prenájmy DHCP na šírenie nastavenia (napr. odpojením a opätovným vložením sieťového kábla).
9.6 Výstupné kanály
Aktívne výstupné kanály je možné nakonfigurovať na stránke „výstupné kanály“. Výstupný kanál je tok obrazových údajov, ktorý sa prenáša cez sieť. K dispozícii sú nasledujúce výstupné kanály:
· Výstup pre ľavú kameru
· Disparita výstupu
· Výstup pre pravú kameru
· Výstup z farebnej kamery
Ak je prevádzkový režim (pozri časť 9.9) nastavený na stereo párovanie (predvolené nastavenie) alebo rektifikáciu, potom sa obrazové dáta všetkých výstupných kanálov upravia (podrobnosti nájdete v časti 7.1). Ak je však prevádzkový režim nastavený na prechod, snímky z kamery sa prenesú bez úprav.
Ako je popísané v časti 7.3, obraz z farebnej kamery je možné premietať do view ľavého fotoaparátu. Túto projekciu je možné aktivovať výberom zodpovedajúcej možnosti pre parameter „režim farebného výstupu“.
Upozorňujeme, že zvýšenie počtu aktívnych výstupných kanálov tiež zvyšuje zaťaženie siete a môže viesť k zníženiu snímkovej frekvencie. Všetky špecifikácie výkonu uvedené v tomto dokumente sa vzťahujú na konfiguráciu s aktivovaným iba farebným a disparitným výstupným kanálom.
26
9.7 Údržba
9 KONFIGURÁCIA
Obrázok 17: Snímka obrazovky konfiguračnej stránky výstupných kanálov.
9.7 Údržba
Na stránke údržby, ktorá je znázornená na obrázku 18, si môžete stiahnuť a file ktorý obsahuje aktuálnu konfiguráciu zariadenia a systémové denníky stlačením odkazu na stiahnutie. V prípade technických problémov uveďte toto file vo vašej žiadosti o podporu, aby bolo možné reprodukovať konfiguráciu vášho zariadenia a aby bolo možné preskúmať systémové problémy.
Stiahnutá konfigurácia file je možné neskôr znova nahrať. To umožňuje rýchle prepínanie medzi rôznymi konfiguráciami zariadení. Ak chcete nahrať konfiguráciu, vyberte konfiguráciu file a stlačte tlačidlo nahrávania. Upozorňujeme, že nahranie inej konfigurácie môže zmeniť adresu IP zariadenia. Aby ste sa vyhli chybnému stavu konfigurácie, nahrávajte iba konfigurácie, ktoré boli predtým stiahnuté cez web rozhranie.
Ak máte problémy s aktuálnou konfiguráciou zariadenia, môžete všetky nastavenia konfigurácie obnoviť na predvolené výrobné nastavenia stlačením tlačidla Reset. Upozorňujeme, že toto tiež obnoví konfiguráciu siete, čo môže viesť k zmene adresy IP Ruby.
Ak Ruby vykazuje známky chybného správania, je možné reštartovať zariadenie stlačením tlačidla „reboot now“. Bude trvať niekoľko sekúnd, kým sa reštart dokončí a Ruby opäť poskytne údaje o meraní. Ak to zariadenie nie je možné, použite túto funkciu ako alternatívu k vypnutiu napájania
27
9.8 Kalibrácia
9 KONFIGURÁCIA
Obrázok 18: Snímka obrazovky stránky údržby konfigurácie.
ľahko prístupné. Stránka údržby ďalej umožňuje vykonávať aktualizácie firmvéru. Použite
táto funkcia len pre firmvér files, ktoré boli oficiálne vydané spoločnosťou Nerian Vision Technologies. Ak chcete vykonať aktualizáciu firmvéru, vyberte požadovaný firmvér file a stlačte tlačidlo aktualizovať. Proces aktualizácie bude trvať niekoľko sekúnd. Počas aktualizácií firmvéru neodpájajte zariadenie, znovu nenačítavajte stránku údržby ani neklikajte na tlačidlo aktualizácie. V opačnom prípade to môže viesť k poškodeniu firmvéru. Po dokončení aktualizácie sa zariadenie automaticky reštartuje s novou verziou firmvéru. Konfigurácia zariadenia sa počas aktualizácií firmvéru zachová, ale niektoré aktualizácie môžu vyžadovať, aby ste neskôr upravili konkrétne nastavenia.
9.8 Kalibrácia
Ruby sa dodáva predkalibrovaný a používateľská kalibrácia sa zvyčajne počas životnosti zariadenia nevyžaduje. Ak by ste však zaznamenali zníženie kvality a hustoty merania, môžete prípadné optické nesúososti opraviť vykonaním opätovnej kalibrácie. V tomto prípade sa použije kalibračná stránka, ktorá je znázornená na obrázku 19.
28
9.8 Kalibrácia
9 KONFIGURÁCIA
Obrázok 19: Snímka obrazovky konfiguračnej stránky pre kalibráciu kamery.
9.8.1 Kalibračná doska
Potrebujete kalibračnú dosku, čo je plochý panel s viditeľným kalibračným vzorom na jednej strane. Vzor, ktorý používa Ruby, pozostáva z asymetrickej mriežky čiernych kruhov na bielom pozadí, ako je znázornené na obrázku 20.
Pri otvorení kalibračnej stránky musíte najskôr určiť veľkosť kalibračnej dosky, ktorú budete v procese kalibrácie používať. Uistite sa, že ste vybrali správnu veľkosť, pretože inak sa výsledky kalibrácie nedajú použiť na 3D rekonštrukciu so správnou metrickou mierkou (pozri časť 7.2).
Vzor si môžete stiahnuť priamo z tejto stránky. Jednoducho vyberte požadovanú veľkosť vzoru v rozbaľovacom zozname „kalibračná tabuľa“ a kliknite na odkaz na stiahnutie.
Ak potrebujete kalibračnú dosku s vlastnou veľkosťou, môžete si vybrať vlastnú z rozbaľovacieho zoznamu „kalibračná doska“. To vám umožní manuálne zadať podrobnosti kalibračnej dosky. Prvý rozmer veľkosti vzoru je počet kruhov v jednom stĺpci mriežky. Toto číslo musí byť rovnaké pre všetky stĺpce mriežky kruhov.
Počet kruhov na riadok sa môže meniť o 1 medzi nepárnymi a párnymi riadkami. Druhý rozmer je teda súčtom kruhov v dvoch po sebe idúcich radoch. Všetky predvolené kalibračné vzory na stiahnutie majú veľkosť 4 × 11.
Posledný parameter, ktorý musíte zadať pri použití vlastnej kalibrácie
29
9.8 Kalibrácia
9 KONFIGURÁCIA
5 cm 2 palcov
Veľkosť: 4 x 11; Rozstup kruhov: 2.0 cm; Priemer kruhu: 1.5 cm; nerian.com
Obrázok 20: Kalibračná doska používaná spoločnosťou Ruby.
doska je rozstup kruhu. Toto je vzdialenosť medzi stredmi dvoch susedných kruhov. Vzdialenosť musí byť rovnaká v horizontálnom a vertikálnom smere pre všetky kruhy.
Po zadaní správnej veľkosti dosky kliknite na tlačidlo pokračovať a pokračujte v procese kalibrácie.
9.8.2 Obmedzenie veľkosti obrazu na kalibráciu
V predvolenom nastavení bude proces kalibrácie prebiehať na celej ploche snímača s maximálnou platnou veľkosťou snímky dostupnou pre aktuálne aktívny formát snímky a nastavenia získavania. Toto sa odporúča pre väčšinu nastavení, pretože kedykoľvek po kalibrácii je možné vybrať menšiu oblasť záujmu (pozri časť 9.15). Pre špeciálne nastavenia, naprample ak je obrazový kruh šošovky menší ako plocha obrazového snímača, je potrebné pred počiatočnou kalibráciou obmedziť príslušnú oblasť snímača.
Stlačením tlačidla `obmedziť na okno' v spodnej časti `pre kameruview` sa zobrazí vycentrovaný prekryvný rám, ktorého veľkosť možno zmeniť potiahnutím. Ak sa použije, kalibrácia sa prepne do režimu obmedzenej oblasti. Kalibráciu je možné vrátiť na predvolenú operáciu stlačením tlačidla „reset na plné rozlíšenie“.
Keď bol proces kalibrácie úspešne dokončený s obmedzenou oblasťou, zníži sa predvolená výstupná veľkosť (a maximálna dostupná veľkosť oblasti záujmu) z maximálnej platnej veľkosti obrázka na vybratú, čím sa efektívne vylúčia všetky oblasti, ktoré sú mimo oblasť kalibrovaného snímača.
30
9.8 Kalibrácia
9 KONFIGURÁCIA
9.8.3 Zaznamenávanie kalibračných rámcov
Živá predview všetkých obrazových snímačov sa zobrazí v `prehľade fotoaparátuview' oblasť. Pokiaľ nie je oblasť kalibrácie obmedzená tak, ako je uvedené vyššie, rozlíšenie kamery sa počas kalibrácie nastaví na maximálnu platnú veľkosť snímky pre aktuálne aktívny formát snímky a nastavenia získavania. Uistite sa, že kalibračná doska je úplne viditeľná na všetkých snímkach kamery a potom stlačte tlačidlo „zachytiť jeden snímok“ v ovládacej časti. Opakujte tento proces niekoľkokrát, pričom pohybujete buď kamerou alebo kalibračnou doskou.
Kalibračná tabuľa musí byť zaznamenaná vo viacerých rôznych polohách a orientáciách. V predu sa zobrazí zelené prekrytieview okno pre všetky miesta, kde bola doska predtým zistená. Mali by ste meniť vzdialenosť dosky a uistite sa, že pokryjete väčšinu poľa view všetkých kamier.
Čím viac snímok zaznamenáte, tým presnejšia bude vypočítaná kalibrácia. Viac snímok však tiež spôsobuje, že výpočet kalibračných parametrov trvá dlhšie. Ruby podporuje záznam až 40 kalibračných snímok. Na získanie presných výsledkov odporúčame použiť aspoň 20 kalibračných rámov.
Zaznamenávanie kalibračných snímok je možné zjednodušiť aktivovaním režimu „automatického snímania“. V tomto režime sa nový kalibračný rámec zaznamenáva v pevných intervaloch snímania. V časti automatického snímania môžete zadať požadovaný interval a potom stlačiť tlačidlo „spustiť automatické snímanie“. V prípade potreby je možné prehrať počuteľný zvuk, ktorý signalizuje odpočítavanie a nahrávanie novej snímky. Režim automatického snímania možno zastaviť stlačením tlačidla „zastaviť automatické snímanie“.
Malá predview z každého zachyteného kalibračného rámca sa pridá do sekcie „zachytené snímky“. Rámy sú prekryté zistenými polohami kruhov kalibračnej dosky. Môžete kliknúť na ktorúkoľvek z predview obrázky, aby ste videli kalibračný rám v plnom rozlíšení. BývalýampSúbor pre kalibračný rámček so správne rozpoznanou kalibračnou doskou je znázornený na obrázku 21. Ak sa kalibračná doska nerozpoznala správne alebo ak nie ste spokojní s kvalitou kalibračného rámika, môžete ho vymazať kliknutím na symbol × .
9.8.4 Vykonanie kalibrácie
Po zaznamenaní dostatočného počtu kalibračných snímok môžete spustiť proces kalibrácie stlačením tlačidla kalibrovať v ovládacej časti. Čas potrebný na kalibráciu kamery závisí od počtu kalibračných snímok, ktoré ste zaznamenali. Dokončenie kalibrácie zvyčajne trvá niekoľko minút. Ak je kalibrácia úspešná, budete okamžite presmerovaní na `review kalibračnej stránke.
Kalibrácia zlyhá, ak vypočítané vertikálne alebo horizontálne posunutie pixelov prekročí povolený rozsah pre ktorýkoľvek bod obrázka. Najčastejšie príčiny zlyhania kalibrácie sú:
· Nedostatočný počet kalibračných rámcov.
31
9.9 Nastavenia spracovania
9 KONFIGURÁCIA
Obrázok 21: Prample kalibračný rám s detekovanou kalibračnou doskou.
· Slabé pokrytie poľa view s kalibračnou doskou.
· Šošovky so silným geometrickým skreslením.
· Objektívy s nerovnakou ohniskovou vzdialenosťou.
· Rámy s chybnou detekciou kalibračnej dosky.
Ak kalibrácia zlyhá, odstráňte príčinu chyby a zopakujte proces kalibrácie. Ak je príčinou chyby jeden alebo viacero chybných kalibračných snímok, môžete tieto snímky vymazať a znova stlačiť tlačidlo kalibrácie. Podobne v prípade príliš malého počtu kalibračných snímok môžete zaznamenať ďalšie snímky a reštartovať kalibračný výpočet.
9.9 Nastavenia spracovania
9.9.1 Prevádzkový režim
Hlavné parametre spracovania možno zmeniť na stránke „nastavenia spracovania“, ktorá je znázornená na obrázku 22. Najrelevantnejšou možnosťou je režim prevádzky, ktorý možno nastaviť na jednu z nasledujúcich hodnôt:
Pass through: V tomto režime Ruby preposiela snímky všetkých obrazových snímačov bez úprav. Tento režim je určený pre reviewpred použitím akéhokoľvek spracovania.
Rectify: V tomto režime Ruby prenáša opravené obrázky všetkých obrazových snímačov. Tento režim je určený na overenie správnosti rektifikácie obrazu.
Stereo párovanie: Toto je predvolený režim, v ktorom Ruby vykonáva skutočné spracovanie stereo obrazu (stereo párovanie). Ruby prenáša mapu disparít a v závislosti od konfigurácie výstupných kanálov aj opravené obrázky.
32
9.9 Nastavenia spracovania
9 KONFIGURÁCIA
Obrázok 22: Snímka obrazovky konfiguračnej stránky pre spracovanie nastavení.
9.9.2 Nastavenia rozdielov
Ak je prevádzkový režim nastavený na stereo párovanie, potom „nastavenia disparity“ umožňujú konfiguráciu rozsahu disparít, ktoré vyhľadáva Ruby. Rozsah rozdielov ovplyvňuje dosiahnuteľnú snímkovú frekvenciu. Po zmene rozsahu disparít by sa mala upraviť snímková frekvencia (odporúčania nájdete v časti 3.3 na strane 5). Uvedomte si, že zvýšenie rozsahu rozdielov zníži aj maximálnu veľkosť obrázka, ktorú je možné nakonfigurovať.
Voľba „počet disparít“ určuje celkový počet pixelov, v ktorých sa hľadajú zhody. Táto možnosť má veľký vplyv na rozlíšenie hĺbky a pokrytý rozsah merania (pozri časť 7.2). Začiatok rozmedzia disparít je možné zvoliť pomocou možnosti „offset disparity“. Typicky je požadovaná hodnota 0 pre posun, čo umožňuje meranie rozsahu až do nekonečna. Ak je isté, že pozorovateľná vzdialenosť je obmedzená, potom sa nízke hodnoty disparity nevyskytnú. V tomto prípade je možné zvýšiť posun disparity tak, že tieto nízke disparity nie sú vypočítané.
9.9.3 Nastavenia algoritmu
Správanie sa algoritmov spracovania obrazu je možné ovládať pomocou „nastavení algoritmu“. Predvolená konfigurácia bola určená pomocou metód strojového učenia, a preto by mala byť najlepšou voľbou pre väčšinu použití
33
9.9 Nastavenia spracovania
9 KONFIGURÁCIA
prípadoch. Všetky parametre algoritmu je však možné upraviť pomocou web rozhranie. Nasledujúce parametre riadia algoritmus stereo zhody:
Pokuta za zmeny disparít (P1): Trest, ktorý sa uplatňuje na postupne sa meniace rozdiely. Veľká hodnota spôsobuje, že postupné zmeny rozdielov sa vyskytujú menej často, zatiaľ čo malá hodnota spôsobuje, že postupné zmeny sa vyskytujú častejšie. Pre pixely, ktoré sú na okrajoch obrazu (P1-edge) a pixely, ktoré nie sú na okrajoch (P1-no-edge), je možné nakonfigurovať rôzne hodnoty. Tieto hodnoty musia byť menšie ako hodnoty pre P2.
Pokuta za diskontinuity disparít (P2): Trest, ktorý sa uplatňuje pri náhle sa meniacich disparitách. Veľká hodnota spôsobuje, že diskontinuity disparity sa vyskytujú menej často, zatiaľ čo malá hodnota spôsobuje, že diskontinuity sa vyskytujú častejšie. Pre pixely, ktoré sú na okrajoch obrazu (P2-edge) a pixely, ktoré nie sú na okrajoch (P2-no-edge), je možné nakonfigurovať rôzne hodnoty. Tieto hodnoty musia byť väčšie ako hodnoty pre P1.
Ruby používa optimalizačný algoritmus na zlepšenie presnosti vypočítanej mapy disparít na rozlíšenie subpixelov. Ak je relevantná iba malá oblasť záujmu (ROI) vstupného obrázka/mapy rozdielov, potom tento proces automatického ladenia možno obmedziť len na túto oblasť záujmu. V tomto prípade by ste mali očakávať presnejšie merania subpixelov vo vnútri oblasti záujmu. Relevantné parametre na obmedzenie NI ladenia subpixelov sú:
Vyladenie optimalizácie subpixelov v oblasti záujmu: Ak je povolené, optimalizácia subpixelov sa vyladí na oblasť definovanú nasledujúcimi parametrami, a nie na celý obrázok.
Šírka: Šírka vybratého regiónu záujmu (ROI) v pixeloch.
Výška: Výška vybratej oblasti záujmu v pixeloch.
Offset X: Horizontálne posunutie oblasti záujmu vzhľadom k stredu snímky.
Offset Y: Vertikálne posunutie oblasti záujmu vzhľadom k stredu snímky.
Ruby implementuje niekoľko metód na následné spracovanie vypočítanej mapy disparít. Každý spôsob následného spracovania je možné aktivovať alebo deaktivovať jednotlivo. Dostupné metódy sú:
Maskovať pixely okraja: Ak je povolená, táto možnosť označí všetky rozdiely, ktoré sú blízko okraja viditeľnej oblasti obrázka, za neplatné, pretože majú vysokú neistotu. Patria sem aj všetky pixely, pre ktoré nie sú dostupné žiadne aktuálne obrazové údaje v dôsledku deformácie spôsobenej opravou obrazu (pozri časť 7.1).
34
9.10 Pokročilé nastavenia automatickej expozície a zisku 9 KONFIGURÁCIA
Kontrola konzistencie: Ak je povolená, stereo zhoda sa vykonáva v oboch smeroch zhody, zľava doprava a sprava doľava. Pixely, pre ktoré rozdiel nie je konzistentný, sú označené ako neplatné. Citlivosť kontroly konzistencie je možné ovládať pomocou posúvača „Citlivosť kontroly konzistencie“.
Kontrola jedinečnosti: Ak je povolená, pixely na mape disparít sú označené ako neplatné, ak neexistuje dostatočne jedinečné riešenie (tj nákladová funkcia nemá globálne minimum, ktoré je výrazne nižšie ako všetky ostatné lokálne minimá). Citlivosť kontroly jedinečnosti je možné ovládať pomocou posúvača „Citlivosť kontroly jedinečnosti“.
Filter textúry: Ak je povolený, pixely, ktoré patria do oblastí obrázka s malou textúrou, sú na mape rozdielov označené ako neplatné, pretože existuje vysoká pravdepodobnosť, že tieto pixely sa nezhodujú. Citlivosť tohto filtra je možné nastaviť pomocou posúvača „citlivosť filtra textúr“.
Interpolácia medzier: Ak je povolená, malé škvrny neplatných rozdielov, ktoré sú spôsobené jedným z predchádzajúcich filtrov, sa vyplnia pomocou interpolácie.
Redukcia šumu: Ak je povolená, na mapu disparít sa použije obrazový filter, ktorý zníži šum a odstráni odľahlé hodnoty.
Iterácie škvrnitého filtra: Označí malé izolované miesta s podobnými rozdielmi ako neplatné. Takéto škvrny sú často výsledkom chybných zápasov. Počet iterácií určuje, aký agresívny bude filter pri odstraňovaní škvŕn. Hodnota 0 deaktivuje filter.
9.10 Rozšírené nastavenia automatickej expozície a zisku
Aby bola zaistená najlepšia možná kvalita obrazu, Ruby poskytuje plne automatický expozičný čas a adaptáciu na rýchlo sa meniace svetelné podmienky, ktoré sa často vyskytujú pri vonkajších scenároch. Obe automatické funkcie môžete aktivovať a deaktivovať nezávisle na stránke automatickej expozície, ktorá je znázornená na obrázku 23.
9.10.1 Expozícia a zisk
Režim: Vyberá, či sa čas expozície a/alebo zisk upravia automaticky. Za normálnych okolností by sa na automatické nastavenie oboch parametrov mala zvoliť „automatická expozícia a zisk“.
Cieľová intenzita: Vyberá priemernú hodnotu intenzity pre stereo obrazy, na ktorú sa zameriava automatické nastavenie. Hodnoty intenzity sú zapísané v percentáchtage čísla s 0 predstavuje čiernu a 100 bielu. Pre farebné a monochromatické snímače možno zadať rôzne hodnoty.
35
9.10 Pokročilé nastavenia automatickej expozície a zisku 9 KONFIGURÁCIA
Obrázok 23: Snímka obrazovky konfiguračnej stránky pre nastavenie automatickej expozície a zisku. Cieľová snímka: Vyberie, či je intenzita ľavého rámu, intenzita
pravý rám alebo priemerná intenzita oboch rámov by sa mala prispôsobiť cieľovej intenzite. Maximálny čas expozície: Je možné určiť maximálnu hodnotu času expozície, aby sa obmedzilo rozmazanie pohybu. Hodnota maximálneho expozičného času by mala byť vždy menšia ako čas medzi dvoma snímkami. Pre farebné a monochromatické snímače možno zadať rôzne hodnoty. Maximálny zisk: Rovnako ako pri expozičnom čase je možné obmedziť maximálny povolený zisk. Obmedzenie zisku môže zlepšiť výsledky spracovania obrazu v situáciách s vysokým šumom snímača. Pre farebné a monochromatické snímače možno zadať rôzne hodnoty. 9.10.2 Manuálne nastavenia Ak je automatické nastavenie deaktivované vo výbere režimu, možno v tejto časti manuálne nastaviť čas expozície a/alebo zisk na pevné hodnoty.
36
9.11 Nastavenia spúšťača
9 KONFIGURÁCIA
Obrázok 24: Snímka obrazovky konfiguračnej stránky pre nastavenia spúšťača.
9.10.3 Nastavenia oblasti záujmu
Namiesto vykonávania úpravy s ohľadom na priemernú intenzitu celého obrázka môžete vypočítať priemernú intenzitu len pre oblasť záujmu. V takom prípade povoľte „použiť ROI na úpravu“. `Offset X' a `Offset Y' popisujú stredovú polohu oblasti vzhľadom na stred obrazu. „Šírka ROI“ a „Výška ROI“ vám umožňujú upraviť priestorové rozšírenie oblasti záujmu. ROI musí byť úplne obsiahnutá v obrázku. Ak to tak nie je, ROI sa automaticky oreže.
9.11 Nastavenia spúšťača
Stránka „nastavenia spúšťača“, ktorá je znázornená na obrázku 24, umožňuje konfiguráciu vstupu a výstupu spúšťača. Ruby obsahuje port GPIO, ktorý poskytuje prístup k jednému spúšťaciemu výstupu a jednému spúšťaciemu vstupnému signálu. Elektrické špecifikácie týchto signálov nájdete v časti 6.3.
Keď je aktivovaný spúšťací vstup, Ruby zachytí snímku iba vtedy, keď signálny impulz dorazí na vstupný kolík spúšťača, alebo ak sa cez API vyšle softvérový spúšťač. V prípade hardvérového spúšťacieho signálu sa expozícia obrazového snímača začína nábežnou hranou prichádzajúceho signálu. Keď je aktivovaný spúšťací vstup, spúšťací výstup nie je dostupný.
Keď spúšťací výstup nie je povolený, je možné určiť, či je
37
9.12 Synchronizácia času
9 KONFIGURÁCIA
Obrázok 25: Snímka obrazovky konfiguračnej stránky pre synchronizáciu času.
výstup by mal byť viazaný na konštantné zapnuté (logická 1) alebo konštantné vypnutie (logická 0). Ak je povolená, polarita generovaného signálu môže byť aktívna-vysoká alebo aktívna nízka. Šírka impulzu môže byť konštantná alebo môže prechádzať medzi zoznamom vopred nakonfigurovaných hodnôt.
Frekvencia spúšťacieho výstupu bude vždy zodpovedať aktuálnej snímkovej frekvencii Ruby. Je však možné určiť časový posun, čo je oneskorenie od začiatku expozície snímača po nábežnú hranu výstupu spúšťača.
9.12 Synchronizácia času
Stránka „synchronizácia času“, ktorá je znázornená na obrázku 25, sa môže použiť na konfiguráciu troch možných metód synchronizácie vnútorných hodín Ruby. Ako je vysvetlené v časti 7.4, interné hodiny sa používajú na meranie časuampzachytených snímok.
Prvou možnosťou je synchronizácia s časovým serverom pomocou Network Time Protocol (NTP) až do verzie 4. V tomto prípade Ruby synchronizuje svoje interné hodiny s daným časovým serverom pomocou koordinovaného svetového času (UTC). Presnosť synchronizácie času závisí od latencie vašej siete a časového servera. Ak je aktívna synchronizácia času NTP, štatistika synchronizácie sa zobrazuje vo vyhradenej stavovej oblasti.
Ako alternatívu k NTP je možné na synchronizáciu použiť protokol PTP (Precision Time Protocol). PTP poskytuje výrazne vyššiu presnosť pri
38
9.13 Reviewvýsledky kalibrácie
9 KONFIGURÁCIA
Obrázok 26: Snímka obrazovky konfiguračnej stránky pre reviewkalibrácia kamery.
spárované s NTP, a preto by sa mali uprednostňovať, ak sú dostupné. Rovnako ako v prípade NTP sa hodiny nastavia na UTC a zobrazia sa informácie o stave synchronizácie.
Pri použití signálu Pulse Per Second (PPS) je možné vnútorné hodiny resetovať na 0 vždy, keď je prijatý synchronizačný signál. Prípadne systémový čas stamp pre posledný prijatý PPS signál možno preniesť so zachyteným rámcom. Podrobnosti o synchronizácii PPS nájdete v časti 6.3.3 na strane 11.
9.13 Reviewvýsledky kalibrácie
Po vykonaní kalibrácie môžete skontrolovať výsledky kalibrácie na `review kalibračnej stránke, ktorá je znázornená na obrázku 26. V hornej časti tejto stránky môžete vidieť živý predbežnýview všetkých obrazových snímačov, keď sú opravené s aktuálnymi kalibračnými parametrami. Uistite sa, že zodpovedajúce body na obrázkoch všetkých obrazových snímačov majú zhodné vertikálne súradnice.
Aktivovaním možnosti „zobraziť epipolárne čiary“ môžete na obrázkoch prekryť množinu vodorovných čiar. To umožňuje jednoduché vyhodnotenie, či je splnené kritérium rovnakých vertikálnych súradníc. Bývalýample pre ľavý a pravý vstupný obrázok s prekrytými epipolárnymi čiarami je znázornený na obrázku 27.
V sekcii „informácie o kvalite“ nájdete priemernú chybu reprodukcie. Toto je miera kvality vašej kalibrácie s nižšou hodnotou
39
9.13 Reviewvýsledky kalibrácie
9 KONFIGURÁCIA
Obrázok 27: Prample na vyhodnotenie vertikálnych súradníc obrazu.
znamená lepšie výsledky kalibrácie. Uistite sa, že priemerná chyba premietania je výrazne pod 1 pixel.
Všetky vypočítané kalibračné parametre sú zobrazené v sekcii `calibration data'. Tieto parametre sú:
M1, M2 a M3: matrice kamery pre ľavú, pravú a farebnú kameru.
D1, D2 a D3: koeficienty skreslenia pre ľavú, pravú a farebnú kameru.
R1, R2 a R3: rotačné matice pre rotácie medzi pôvodným a opraveným obrazom kamery.
P1, P2 a P3: projekčné matice v nových (rektifikovaných) súradnicových systémoch.
Q12: Matica mapovania disparity k hĺbke pre ľavú kameru. Jeho použitie nájdete v časti 7.2.
Q13: Matica mapovania disparity k hĺbke pre farebnú kameru (zvyčajne nie je potrebná).
T12, T13: vektor translácie medzi súradnicovými systémami ľavej a pravej a ľavej a farebnej kamery.
R12, R13: rotačná matica medzi súradnicovými systémami ľavého a pravého a ľavého a farebného fotoaparátu.
Kamerové matice Mi sú štruktúrované nasledovne:
fx 0 cx
Mi
=
0
fy
cy
,
(1)
001
40
9.14 Automatická opätovná kalibrácia
9 KONFIGURÁCIA
Obrázok 28: Snímka obrazovky nastavení automatickej rekalibrácie.
kde fx a fy sú ohniskové vzdialenosti šošoviek v horizontálnom a vertikálnom smere (merané v pixeloch) a cx a cy sú súradnice obrazu stredu projekcie.
Vektory koeficientov skreslenia D1 a D2 majú nasledujúcu štruktúru:
Di = k1 k2 p1 p2 k3 ,
(2)
kde k1, k2 a k3 sú koeficienty radiálneho skreslenia a p1 a p2 sú koeficienty tangenciálneho skreslenia.
Všetky informácie o kalibrácii si môžete stiahnuť ako strojovo čitateľný YAML file, kliknutím na odkaz na stiahnutie v spodnej časti sekcie „kalibračné údaje“. To vám umožní jednoducho importovať kalibračné údaje do vašich vlastných aplikácií. Okrem toho si môžete uložiť kalibračné údaje do počítača a znova ich načítať neskôr pomocou časti „nahrať kalibračné údaje“.
9.14 Automatická opätovná kalibrácia
Na stránke „auto re-calibration“, ktorá je znázornená na obrázku 28, môžete povoliť automatický odhad parametrov kalibrácie. V tomto prípade zostáva systém kalibrovaný, aj keď optické nastavenie podlieha zmenám.
Kalibračné parametre sa zvyčajne delia na vnútorné parametre (ohnisková vzdialenosť, projekčný stred a koeficienty skreslenia) a vonkajšie parametre (transformácia medzi polohami všetkých kamier). Len automatická rekalibrácia
41
9.15 Oblasť záujmu
9 KONFIGURÁCIA
vykonáva aktualizáciu vonkajších parametrov, pretože sú výrazne náchylnejšie na zmeny. Presnejšie povedané, odhaduje sa iba rotácia medzi kamerami. Toto je zvyčajne najkrehkejší parameter, ktorý môže byť výrazne ovplyvnený aj malými deformáciami.
Automatickú rekalibráciu možno aktivovať výberom možnosti „povoliť automatickú rekalibráciu“. Ruby potom bude nepretržite počítať samples pre odhadovanú rotáciu medzi kamerami. Na výber konečného odhadu rotácie zo súboru rotácií sa používa robustná metóda odhaduamples. Počet sampsúbory, ktoré sa používajú na tento proces odhadu, je možné nakonfigurovať. Malá sampVeľkosti súborov umožňujú rýchlu reakciu na zmeny zarovnania, zatiaľ čo veľké sampVeľkosti súborov umožňujú veľmi presné odhady. Ak je vybratá možnosť „trvale uložiť opravenú kalibráciu“, potom sa aktualizovaná kalibrácia zapíše do energeticky nezávislej pamäte a zostane prítomná aj po vypnutí napájania.
Aby automatická kalibrácia fungovala, kamery musia sledovať scénu s dostatočnými vizuálnymi informáciami. Ruby identifikuje hlavné prvky obrázka a priradí ich na všetky obrázky. Ak nie je možné zistiť dostatok funkcií, automatická opätovná kalibrácia sa nespustí. Typická scéna by mala stačiť na automatickú rekalibráciu ľavej a pravej monochromatickej kamery. Na spustenie automatickej rekalibrácie na farebnej kamere sa však odporúča použiť čiernobiely vzor s bohatými funkciami. Biela strana s tlačeným textom, naprample, na tento účel dobre poslúži.
V oblasti štatistiky môžete nájsť rôzne informácie o aktuálnom výkone procesu automatickej kalibrácie. To zahŕňa stav posledného pokusu o rekalibráciu, čas od poslednej aktualizácie kalibrácie, rotačný posun poslednej aktualizácie a počet otáčokampsúbory, ktoré boli zhromaždené a vyradené od poslednej aktualizácie. Nakoniec môžete nájsť zoznam nedávno vypočítaných rotácií medzi kamerami v oblasti histórie. Uvedené rotácie sú reprezentované ako rotačné kvaternióny.
9.15 Oblasť záujmu
Ak nie je potrebný celý obraz snímača, ale iba podsekcia, môžete to nakonfigurovať na stránke „oblasť záujmu“ (ROI). Táto stránka otvorí preview ľavého a pravého obrázka s prekrytými rámami zobrazujúcimi orezanú oblasť, ktoré možno súčasne posúvať a meniť veľkosť pomocou myši (pozri obr. 29). Zariadenie zreviduje požadované rozmery oblasti záujmu; v tomto prípade uvidíte, že sa oblasť automaticky prichytí na najbližšiu platnú veľkosť obrázka.
Ak bola kalibrácia vykonaná na obmedzenom vycentrovanom okne namiesto plného rozlíšenia snímača (pozri časť 9.8), tieto obmedzené rozsahy nemožno počas výberu oblasti záujmu prekročiť. Preview veľkosť snímky na stránke výberu oblasti záujmu bude odrážať obmedzené rozlíšenie kalibračného času.
42
9.16 Inerciálna meracia jednotka
9 KONFIGURÁCIA
Obrázok 29: Snímka obrazovky výberu oblasti záujmu.
9.16 Inerciálna meracia jednotka
Inerciálna meracia jednotka (IMU) zabudovaná v Ruby, ktorá môže poskytovať v reálnom čase trojrozmerné merania pre údaje z akcelerometra, gyroskopu, lineárneho zrýchlenia a magnetometra, ako aj integrované kvaterniónové orientačné hodnoty, možno nakonfigurovať na „jednotke inerciálneho merania“ strana, ktorá je znázornená na obrázku 30.
V sekcii „frekvencia sieťových paketov“ môžete nastaviť rýchlosť paketov za sekundu pre údaje zo senzorov. Hodnota môže byť zvýšená pre použitie s minimálnou latenciou (v reálnom čase) alebo znížená pre čisté zaznamenávanie časových radov, v takom prípade budú dlhšie dátové dávky agregované pre každý paket.
Sampfrekvencie pre jednotlivé snímače je možné konfigurovať v `sampsekcia frekvencií. Hodnoty sa pohybujú medzi 0 Hz (čo deaktivuje konkrétny kanál) a maximálnou frekvenciou, ktorá je 100 Hz pre dáta magnetometra a 400 Hz pre ostatné kanály. Kanál „štyri rotácie“, ktorý odráža orientáciu zariadenia integrovanú z jednotlivých kanálov snímača, má ďalší prepínač režimu: v „absolútnom (geomagnetickom)“ režime zariadenie integruje magnetometer, ktorý poskytuje údaje o uhle vybočenia (tj rotáciu okolo gravitačná os), čím sa odhadne absolútny azimut kompasu. V „relatívnom (negeomagnetickom)“ režime sa nepoužívajú žiadne údaje z magnetometra a odčítanie natočenia je založené výlučne na integrácii pohybu, čo znamená začiatok pri nulovom vybočení bez ohľadu na počiatočnú orientáciu zariadenia a postupne sa rozbieha
43
9.16 Inerciálna meracia jednotka
9 KONFIGURÁCIA
Obrázok 30: Snímka obrazovky s nastaveniami inerciálnej meracej jednotky.
posun hláseného uhla vybočenia vzhľadom na absolútny smer kompasu.
9.16.1 Kalibrácia inerciálnej meracej jednotky
Žiť view orientačných hodnôt si môžete pozrieť v časti „kalibrácia / orientácia zariadenia“. Okrem uhlov náklonu, sklonu a vybočenia sa kvalita kalibrácie uvádza na stupnici od nuly do troch (odzrkadľujúce úrovne BNO08X nespoľahlivé; nízka presnosť; stredná presnosť; a vysoká presnosť). Odhadovaná presnosť uhla natočenia (amerického kompasu) sa uvádza, ak je aktivovaný „absolútny (geomagnetický)“ režim. Údaje magnetometra sú najmenej spoľahlivým komponentom, preto môže byť stav kalibrácie v „absolútnom (geomagnetickom)“ režime hlásený ako menej presný.
Tlačidlo 'start calibration' prepne IMU do režimu kalibrácie. Odporúčaný postup je potom orientovať zariadenie do piatich až šiestich kolmých smerov (zodpovedajúcich plochám kocky) s rôznymi rotáciami a krátko ponechať zariadenie v pokoji v každej z týchto orientácií. Stav kalibrácie by sa mal postupne zlepšovať na úroveň 2 alebo 3. Tlačidlo „Dokončiť kalibráciu“ uloží nové kalibračné údaje a resetuje hodnoty IMU, ktoré sa po krátkom čase obnovia s novou základnou kalibráciou, ktorá potom pretrvá počas cyklov napájania.
44
10 INFORMÁCIE O POUŽÍVANÍ API
10 Informácie o používaní API
10.1 Všeobecné informácie
Multiplatformové libvisiontransfer C++ a Python API je k dispozícii na prepojenie vlastného softvéru s Ruby. Pre Windows je dostupná binárna verzia knižnice, ktorú možno použiť s Microsoft Visual Studio. Pre Linux skompilujte knižnicu z dostupného zdrojového kódu. Rozhranie API je súčasťou dostupného vydania softvéru, ktorý si môžete stiahnuť z našej podpory webmiesto1.
Rozhranie libvisiontransfer API poskytuje funkčnosť pre príjem výsledkov spracovania Ruby cez počítačovú sieť. Okrem toho API umožňuje aj prenos obrazových údajov. Môže sa teda použiť na emuláciu Ruby pri vývoji systémov.
Prenesené výsledky spracovania pozostávajú zo sady obrázkov. Zvyčajne sú to opravený ľavý obrázok a vypočítaná mapa disparít. Ak je však nakonfigurovaný, Ruby môže poskytnúť aj nespracované zaznamenané obrázky alebo všetky opravené obrázky (pozri časť 9.9).
Pôvodné a opravené snímky z fotoaparátu sa zvyčajne prenášajú s monochromatickou bitovou hĺbkou 8 bitov alebo 12 bitov na pixel alebo v 8-bitovom režime RGB. Disparitná mapa sa vždy prenáša s bitovou hĺbkou 12 bitov. Vnútri knižnice sú mapa disparít a všetky 12-bitové obrázky nafúknuté na 16 bitov, aby sa umožnilo efektívnejšie spracovanie.
Rozhranie API poskytuje tri triedy, ktoré možno použiť na príjem a prenos obrazových údajov:
· ImageProtocol je najviac nízkoúrovňové rozhranie. Táto trieda umožňuje kódovanie a dekódovanie súborov obrázkov do/zo sieťových správ. Celú sieťovú komunikáciu budete musieť zvládnuť sami.
· ImageTransfer otvára sieťový konektor na odosielanie a prijímanie súborov obrázkov. Táto trieda je jednovláknová, a preto sa pri prijímaní alebo prenose údajov zablokuje.
· AsyncTransfer umožňuje asynchrónny príjem alebo prenos súborov obrázkov. Táto trieda vytvára jedno alebo viac vlákien, ktoré obsluhujú všetku sieťovú komunikáciu.
Podrobné informácie o použití každej triedy nájdete v dostupnej dokumentácii API.
10.2 Prenos obrázkov Príkladample
Bývalýample na použitie triedy ImageTransfer v C++ na prijímanie výsledkov spracovania cez sieť a ich zapisovanie do obrazu files, je uvedený nižšie.
1https://nerian.com/support/software/
45
10.2 Prenos obrázkov Príkladample
10 INFORMÁCIE O POUŽÍVANÍ API
Tento zdrojový kód file je súčasťou vydania zdrojového kódu API. Ďalšie informácie o používaní ImageTransfer a napramples v Pythone.
#include < prenos videnia / vymenovanie zariadenia . h> #include < visiontransfer / imagetransfer . h> #include < visiontransfer/sada obrázkov . h> #include #include #include
#ifdef _MSC_VER // Vizuálne štúdio #definesnprintf #endif
neprichádza _snprintf_s
s
snprintf
pomocou menného priestoru visiontransfer ;
int main() { // Hľadať Stereo zariadenia Nerian DeviceEnumeration deviceEnum; DeviceEnumeration::DeviceList devices = deviceEnum.discoverDevices(); if (devices.size() == 0) { std::cout << „Neboli objavené žiadne zariadenia!“ << std::endl; return -1; }
// Tlačové zariadenia std : : cout << ” D iscovereddevices : ” << std : : endl ; for ( unsignedinti = 0 ; i < zariadenia . veľkosť ( ) ; i ++) {
std : : cout << zariadenia [ i ] . to S reťazec ( ) << std : : endl ; } std : : cout << std : : endl ;
// Vytvorte objekt na prenos obrázkov, ktorý prijíma dáta z // prvého zisteného zariadenia ImageTransfer imageTransfer (zariadenia [0]);
// Príjem 100 obrázkov pre ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” Prijíma sa sada obrázkov ” << imgNum << std : : endl ;
// Prijať obrázok ImageSet imageSet ; while (! imageTransfer . acceptImageSet ( imageSet )) {
// Pokračujte v pokusoch, kým príjem nebude úspešný }
// Napíšte všetky zahrnuté obrázky jeden po druhom pre ( inti = 0 ; i < imageSet . getNumberOfImages ( ) ; i ++) {
// Vytvorenie súboru PGM
46
10.3 AsyncTransfer Prample
10 INFORMÁCIE O POUŽÍVANÍ API
char fileNázov [100]; snprintf ( fileNázov , veľkosť ( názov súboru ) , ” image%03d_%d . pgm”, ja,
imgNum);
imageSet . zápisPgmFile (ja, fileNázov ); } }
návrat 0; }
10.3 AsyncTransfer Prample
Bývalýampsúbor na použitie triedy AsyncTransfer v C++ na prijímanie výsledkov spracovania cez sieť a ich zapisovanie do obrazu files, je uvedený nižšie. Tento zdrojový kód file je súčasťou vydania zdrojového kódu API. Ďalšie informácie o používaní AsyncTransfer a napramples v Pythone.
#include < prenos videnia / vymenovanie zariadenia . h> #include < visiontransfer / asynctransfer . h> #include < visiontransfer/sada obrázkov . h> #include #include #include
#ifdef _MSC_VER // Vizuálne štúdio #definesnprintf #endif
neprichádza _snprintf_s
s
snprintf
pomocou menného priestoru visiontransfer ;
int main() { skúsiť { // Hľadať Stereo zariadenia Nerian DeviceEnumeration deviceEnum; DeviceEnumeration::DeviceList devices = deviceEnum.discoverDevices(); if (devices.size() == 0) { std::cout << „Neboli objavené žiadne zariadenia!“ << std::endl; return -1; }
// Tlačové zariadenia std : : cout << ” D iscovereddevices : ” << std : : endl ; for ( unsignedinti = 0 ; i < zariadenia . veľkosť ( ) ; i ++) {
std : : cout << zariadenia [ i ] . to S reťazec ( ) << std : : endl ; } std : : cout << std : : endl ;
47
10.4 3D rekonštrukcia
10 INFORMÁCIE O POUŽÍVANÍ API
// Vytvorenie objektu prenosu obrázkov, ktorý prijíma dáta z // prvého zisteného zariadenia AsyncTransfer asyncTransfer (zariadenia [0]);
// Príjem 100 obrázkov pre ( int imgNum=0; imgNum<100; imgNum++) {
std : : cout << ” Prijíma sa sada obrázkov ” << imgNum << std : : endl ;
// Prijať obrázok ImageSet imageSet ; while (! asyncTransfer . collectReceivedImageSet ( imageSet ,
0.1 / časový limit / )) { // Pokračujte v pokusoch, kým príjem nebude úspešný }
// Napíšte všetky zahrnuté obrázky jeden po druhom pre ( inti = 0 ; i < imageSet . getNumberOfImages ( ) ; i ++) {
// Vytvorenie súboru PGM char fileNázov [100]; snprintf ( fileNázov , veľkosť ( názov súboru ) , ” image%03d_%d . pgm”, ja,
imgNum);
imageSet . zápisPgmFile (ja, fileNázov ); } } } catch ( const std : : výnimka & ex ) { std : : cerr << ” Vyskytla sa výnimka : ” << ex . co ( ) << std : : endl ; }
návrat 0; }
10.4 3D rekonštrukcia
Ako je popísané v časti 7.2, mapu disparít možno transformovať na množinu 3D bodov. To si vyžaduje znalosť matice Q mapovania disparity k hĺbke (pozri časť 7.2), ktorú Ruby prenáša spolu s každou mapou disparity.
Optimalizovanú implementáciu požadovanej transformácie, ktorá využíva inštrukčné sady SSE alebo AVX, zabezpečuje API prostredníctvom triedy Reconstruct3D. Táto trieda konvertuje mapu disparít na mapu 3D súradníc bodov. Ďalšie podrobnosti nájdete v dokumentácii API.
10.5 parametrov
Na čítanie a zápis parametrov zariadenia sa používa samostatný sieťový protokol. Tento protokol je implementovaný pomocou DeviceParameters. Všetky parametre, ktoré sa zmenia prostredníctvom tohto protokolu, sa resetujú, ak sa zariadenie reštartuje alebo ak používateľ vykoná zmenu parametrov prostredníctvom web rozhranie.
48
11 DODÁVANÝ SOFTVÉR
Obrázok 31: Snímka obrazovky aplikácie NVCom.
11 Dodávaný softvér
11.1 NVCom
Dostupné zdrojové kódy alebo binárne verzie softvéru obsahujú aj klientsku aplikáciu NVCom, ktorá je znázornená na obrázku 31. Pri zostavovaní tejto aplikácie sa uistite, že máte nainštalované knižnice OpenCV a Qt. NVCom poskytuje nasledujúce funkcie:
· Objavte zariadenia Ruby, view ich stav a prístup k ich nastaveniu. · Prijímať a zobrazovať obrázky a mapy rozdielov z Ruby. · Vykonajte farebné označenie máp rozdielov. · Poskytnite živú 3D vizualizáciu pointcloud. · Zapisujte prijaté dáta do files ako obrázky alebo 3D mračná bodov. NVCom prichádza s GUI, ktoré poskytuje prístup ku všetkým dôležitým funkciám. Pokročilejšie funkcie sú dostupné prostredníctvom volieb príkazového riadka, ktoré sú uvedené v tabuľke 2. Voľby príkazového riadka možno použiť aj na automatizáciu nahrávania alebo prehrávania údajov. Pokiaľ nie je NVCom spustený v negrafickom režime, otvorí sa okno GUI, ktoré zobrazuje prijaté obrázky. Aktuálne zobrazenú sadu obrázkov je možné zapísať na disk stlačením klávesu Enter alebo kliknutím na ikonu fotoaparátu na paneli nástrojov. Po stlačení medzerníka alebo kliknutí na ikonu nahrávania sa všetky nasledujúce snímky uložia. Pri zatvorení NVCom uloží svoje aktuálne nastavenia, ktoré sa automaticky znova načítajú pri ďalšom spustení NVCom.
49
11.2 GenICam GenTL Producer
11 DODÁVANÝ SOFTVÉR
Tabuľka 2: Dostupné možnosti príkazového riadka pre NvCom.
-c VAL
-f FPS -w DIR -s DIR -n Negrafické -p PORT -H HOST -t zap./vyp. -d -T -3 VAL
-z VAL -F -b zapnutie/vypnutie -h, pomoc
Vyberte schému farebného kódovania (0 = žiadna farba, 1 = červená / modrá, 2 = dúha) Obmedzte rýchlosť odosielania snímok na FPS Okamžite zapíšte všetky obrázky do DIR Pošlite obrázky z daného adresára
Na komunikáciu použiť zadané číslo vzdialeného portu Na komunikáciu použiť zadaný názov vzdialeného hostiteľa Aktivovať / deaktivovať prenosy TCP Zakázať príjem obrázkov Tlačiť frame timestamps Napíšte 3D mračno bodov so vzdialenosťami do VAL (0 = vypnuté) Nastavte faktor priblíženia na VAL percent Spustiť v režime celej obrazovky Zápis mračien bodov v binárnom ako textovom formáte Zobrazí túto pomoc.
11.2 GenICam GenTL Producer
11.2.1 Inštalácia
Dostupné vydanie softvéru ďalej obsahuje softvérový modul, ktorý vyhovuje štandardu GenICam GenTL. Štandard GenTL špecifikuje generické rozhranie transportnej vrstvy pre prístup ku kamerám a iným zobrazovacím zariadeniam. Podľa konvencie pomenovania GenICam je producent GenTL softvérový ovládač, ktorý poskytuje prístup k zobrazovaciemu zariadeniu cez rozhranie GenTL. Na druhej strane spotrebiteľ GenTL je akýkoľvek softvér, ktorý používa jedného alebo viacerých producentov GenTL prostredníctvom tohto rozhrania. Dodávaný softvérový modul zastupuje výrobcu GenTL a je možné ho použiť s akýmkoľvek aplikačným softvérom, ktorý pôsobí ako spotrebiteľ. To umožňuje rýchlu integráciu Ruby do existujúcich softvérových balíkov pre strojové videnie, ako je napr. HALCON.
V závislosti od verzie, ktorú ste si stiahli, sa producent poskytuje buď ako binárny alebo ako zdrojový kód. Ak si vyberiete vydanie zdrojového kódu, producent bude zostavený spolu s ostatnými softvérovými komponentmi. Vytvorený/stiahnutý binárny súbor má názov nerian-gentl.cti. Aby ho spotrebiteľ našiel, toto file musí byť umiestnený v adresári, ktorý je vo vyhľadávacej ceste GenTL. Vyhľadávacia cesta je špecifikovaná prostredníctvom nasledujúcich dvoch premenných prostredia:
GENICAM_GENTL32_PATH: Vyhľadávacia cesta pre 32-bitových producentov GenTL. GENICAM_GENTL64_PATH: Vyhľadávacia cesta pre 64-bitových producentov GenTL.
Binárny inštalátor systému Windows automaticky nakonfiguruje tieto prostredia
50
11.2 GenICam GenTL Producer
11 DODÁVANÝ SOFTVÉR
premenných. Pri zostavovaní vydania zdrojového kódu nakonfigurujte premenné prostredia manuálne.
11.2.2 Virtuálne zariadenia
Po nastavení vyhľadávacej cesty je výrobca pripravený na použitie spotrebiteľom. Pre každý Ruby výrobca poskytuje päť virtuálnych zariadení, z ktorých každé dodáva jednu časť získaných dát. Tieto virtuálne zariadenia sú pomenované takto:
/color Poskytuje obraz z farebnej kamery, ktorý prenáša Ruby. V predvolenej konfigurácii je to obraz po použití rektifikácie a projekcie. Obraz je zakódovaný ako RGB obraz s 8 bitmi na kanál (RGB8).
/left Poskytuje obraz z ľavej kamery, ktorý prenáša Ruby. V predvolenej konfigurácii nie je tento dátový tok dostupný. Obraz je kódovaný 8 alebo 12 bitmi na pixel (Mono8 alebo Mono12).
/right Poskytuje správny obraz kamery. V predvolenej konfigurácii nie je tento dátový tok dostupný. Obrázok je kódovaný vo formáte Mono8 alebo Mono12.
/disparity Poskytuje mapu rozdielov, ktorú prenáša Ruby. Tieto údaje nie sú dostupné, ak je Ruby nakonfigurovaný v režime prechodu alebo opravy. Disparitná mapa sa prenáša s nezbaleným kódovaním 12 bitov na pixel (Mono12).
/pointcloud Poskytuje transformáciu mapy disparít na 3D mračno bodov (pozri časť 7.2). Každý bod je reprezentovaný tromi 32-bitovými číslami s pohyblivou rádovou čiarkou, ktoré kódujú súradnice x, y a z (Coord3D_ABC32f).
/ Toto virtuálne zariadenie poskytuje viacdielny dátový tok, ktorý obsahuje všetky dáta, ktoré sú dostupné cez ostatné zariadenia. V predvolenej konfigurácii poskytuje toto zariadenie obraz z ľavej kamery, mapu disparít a 3D mračno bodov.
Virtuálne zariadenia /color, /left, /right a /disparity dodávajú nespracované dáta, ktoré sú prijaté od Ruby. Údaje získané cez zariadenie /pointcloud vypočítava výrobca z prijatej disparitnej mapy. Toto sa dosiahne vynásobením mapy disparít mapovacou maticou Q disparity k hĺbke (pozri časť 7.2), ktorú odošle Ruby spolu s každým párom obrázkov. Neplatné disparity sú nastavené na minimálnu disparitu a výsledkom sú body s veľmi veľkými vzdialenosťami.
Odporúča sa použiť viacdielne virtuálne zariadenie / ak sa vyžaduje viac ako jeden typ údajov. To zaručí, že všetky získavanie údajov bude synchronizované. Pri požadovaní len jedného typu vstupných údajov je najefektívnejšou možnosťou použitie vyhradených virtuálnych zariadení.
51
11.3 Uzol ROS
12 PODPORA
11.2.3 ID zariadení Všetky ID zariadení pridelené výrobcom sú URLs a pozostávajú z nasledujúcich komponentov:
protokol :// adresa / virtuálne zariadenie
Komponent protokolu identifikuje základný transportný protokol, ktorý sa má použiť na komunikáciu. Možné sú nasledujúce hodnoty:
udp: Na komunikáciu použite prenosový protokol UDP bez pripojenia.
tcp: Na komunikáciu použite transportný protokol TCP orientovaný na spojenie.
Virtuálne zariadenie musí byť nastavené na jeden z názvov zariadení, ktoré boli uvedené v predchádzajúcej časti. Niektorí exampsúbory pre platné ID zariadenia sú: udp://192.168.10.10/ pointcloud tcp://192.168.10.100/ zostáva
11.3 Uzol ROS
Na integráciu Ruby s operačným systémom robota (ROS) existuje oficiálny uzol ROS. Tento uzol sa nazýva nerian_stereo a možno ho nájsť v oficiálnom úložisku balíkov ROS. Uzol publikuje vypočítanú mapu disparít a zodpovedajúci 3D mrak bodov ako témy ROS. Okrem toho môže publikovať informácie o kalibrácii kamery a hodnoty IMU.
Ak chcete nainštalovať tento uzol zo serverov balíkov ROS v systéme Ubuntu Linux, použite nasledujúce príkazy: > sudo apt -get update > sudo apt -get install ros -`rosversion -d`-nerian -stereo
Podrobné informácie o tomto uzle možno nájsť na príslušnej wiki stránke ROS2.
12 Podpora
Ak potrebujete podporu pri používaní Ruby, použite naše fórum podpory na https://nerian.com/support/forum/ alebo kontaktujte:
Nerian Vision GmbH Zettachring 2 70567 Stuttgart Nemecko
2http://wiki.ros.org/nerian_stereo
52
14 INFORMÁCIE O OTVORENOM ZDROJE
Telefón: +49 711 2195 9414 E-mail: service@nerian.com
Webstránka: www.nerian.com
13 Informácie o záruke
Na zariadenie je poskytovaná 2-ročná záruka podľa nemeckého federálneho zákona (BGB). Záruka sa stratí, ak:
· kryt je otvorený inými osobami ako oficiálnym servisným personálom Nerian Vision Technologies.
· Firmvér je upravený alebo nahradený, s výnimkou oficiálnych aktualizácií firmvéru.
V prípade záruky kontaktujte náš tím podpory.
14 Informácie o otvorenom zdroji
Firmvér Ruby obsahuje kód z knižníc a aplikácií s otvoreným zdrojovým kódom uvedených v tabuľke 3. Zdrojový kód týchto softvérových komponentov a znenie príslušných softvérových licencií možno získať z informácií o otvorenom zdroji webmiesto3. Niektoré z týchto komponentov môžu obsahovať kód z iných open source projektov, ktoré tu nemusia byť uvedené. Konečný zoznam nájdete v príslušných zdrojových balíkoch.
Nasledujúce organizácie a jednotlivci prispeli k rôznym komponentom open source:
Free Software Foundation Inc., Emmanuel Pacaud, EMVA a prispievatelia, The Android Open Source Project, Red Hat Incorporated, University of California, Berkeley, David M. Gay, Christopher G. Demetriou, Royal Institute of Technology, Alexey Zelkin, Andrey A. Chernov, FreeBSD, SL Moshier, Citrus Project, Todd C. Miller, DJ Delorie, Intel Corporation, Henry Spencer, Mike Barcroft, Konstantin Chuguev, Artem Bityuckiy, IBM, Sony, Toshiba, Alex Tatmanjants, M. Warner Losh, Andrey A. Chernov, Daniel Eischen, Jon Beniston, ARM Ltd, CodeSourcery Inc, MIPS Technologies Inc, Intel Corporation, Willow Garage Inc., NVIDIA Corporation, Advanced Micro Devices Inc., OpenCV Foundation, Itseez Inc., The Independent JPEG Group, elibThomas G. Lane, Guido Vollbeding, SimonPierre Cadieux, Eric S. Raymond, Mans Rullgard, Cosmin Truta, Gilles Vollant, James Yu, Tom Lane, Glenn Randers-Pehrson, Willem van Schaik, John Bowler, Kevin Bracey, Sam Bushell, Magnus Holmgren, Greg Roelofs, Tom Tanner, Andreas Dilger, Dave Martindale, Guy Eric Schalnat, Paul Schmidt, Tim Wegner, Sam Leffler, Silicon Graphics, Inc. Industrial Light & Magic, University of Delaware, Martin Burnicki, Harlan Stenn, Danny Mayer, The PHP Group , OpenSSL Software Services, Inc., OpenSSL Software Foundation, Inc., Andy Polyakov, Ben Laurie, Ben Kaduk, Bernd Edlinger, Bodo Möller, David Benjamin, Emilia Käsper, Eric Young, Geoff Thorpe, Holger Reif, Kurt Roeckx, Lutz Jänicke , Mark J. Cox, Matt Caswell, Matthias St. Pierre, Nils Larsch, Paul Dale, Paul C. Sutton, Ralf S. Engelschall, Rich Salz, Richard Levitte, Stephen Henson, Steve Marquess, Tim Hudson, Ulf Möller, Viktor Dukhovni
3http://nerian.com/support/resources/scenescan-open-source/
53
14 INFORMÁCIE O OTVORENOM ZDROJE
Všetci autori prispievajúci do balíkov zahrnutých v PetaLinuxe. Úplný zoznam získate na adrese www.xilinx.com/petalinux.
Ak si myslíte, že vaše meno by malo byť zahrnuté v tomto zozname, dajte nám vedieť.
54
14 INFORMÁCIE O OTVORENOM ZDROJE
Tabuľka 3: Open source komponenty.
Názov Aravis GenApi referenčná implementácia libgpiod libwebzásuvky Linux PTP ntp
OpenCV
OpenSSL PetaLinux PHP
Verzia 0.6.4 opravená 3.1.0 1.4 2.2 3.1 4.2.8p10
3.2.0
1.1.1d 2019.2
licencie
GNU LGPL 2.0 GenICam Licencia GNU LGPL 2.1 GNU LGPL 2.1 GNU GPL 2 BSD Licencia MIT Licencia BSD Licencia libpng Licencia JasPer Licencia 2.0 BSD Licencia Rôzne PHP licencie
55
História revízií
14 INFORMÁCIE O OTVORENOM ZDROJE
História revízií
Dátum revízie
Autor(i) Popis
v1.0
28. septembra 2022 KS
v0.1
23. augusta 2022 KS
Počiatočná verzia Predbežný návrh
56
Dokumenty / zdroje
![]() |
Nerian Ruby 3D hĺbková kamera [pdfPoužívateľská príručka Ruby 3D hĺbková kamera, Ruby 3D, hĺbková kamera, kamera |
![]() |
Nerian Ruby 3D hĺbková kamera [pdfPoužívateľská príručka Ruby 3D hĺbková kamera, Ruby 3D, hĺbková kamera, kamera |