diplomovÁ prÁcegeo.fsv.cvut.cz/proj/dp/2014/vaclav-vlk-dp-2014.pdfit is a stepper motor, a laser...
TRANSCRIPT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZEFAKULTA STAVEBNÍ
OBOR GEODÉZIE A KARTOGRAFIE
DIPLOMOVÁ PRÁCEKALIBRACE NIVELAČNÍ LATĚ PROSTŘEDNICTVÍM
SEKVENCE DIGITÁLNÍCH SNÍMKŮ
Vedoucí práce: Ing. Zdeněk VYSKOČIL, Ph.D.Katedra geomatiky
červen 2014 Václav VLK
ABSTRAKTTato práce zkoumá možnosti využití digitálního USB mikroskopu pro kalibraci digitální
nivelační latě. Cílem práce je vyvinout uživatelsky přívětivý počítačový program, který uži-
vateli umožní určit měřítko latě. Pro tento účel bylo využito prostředí systému MATLAB
2013a spolu s dalšími přídavnými balíčky, tzv. toolboxy. Program komunikuje s dal-
šími přístroji v laboratoři, které jsou součástí horizontálního komparátoru, který navrhl
a sestrojil na fakultě stavební ČVUT Ing. Zdeněk Vyskočil, Ph.D a kolektiv. Jedná se
o krokový motor, laserový interferometr a samotný USB mikroskop. Tato diplomová
práce popisuje jednotlivé funkce programu a prováděné výpočty, které slouží ke kalib-
raci nivelační latě, a na základě provedených kalibrací zhodnocuje využitelnost kalibrace
nivelačních latí pomocí snímkování digitálním mikroskopem.
KLÍČOVÁ SLOVAKalibrace digitální nivelační latě, laserový interferometr, digitální mikroskop, detekce linií
ve snímku
ABSTRACTThis paper explores the possibilities of using digital USB microscope for calibrating digital
leveling rod. The goal is to develop a user-friendly computer application for determining
the scale of the leveling rod. For this purpose has been used MATLAB 2013 with ad-
ditional toolboxes. The application communicates with other devices in the laboratory
which are part of the horizontal comparator. It is a stepper motor, a laser interferometer
and the USB microscope. Horizontal comparator was designed and constructed by Ing.
Zdeněk Vyskočil, Ph.D et al. at the Faculty of Civil Engineering, CTU in Prague. This
thesis describes the application features and calculations. This thesis also evaluate the
usability of digital microscope as a tool for digital rod calibration.
KEYWORDSDigital level rod calibration, laser interferometer, digital microscope, image line detection
PROHLÁŠENÍ
Prohlašuji, že diplomovou práci na téma „Kalibrace nivelační latě prostřednictvím sek-
vence digitálních snímků“ jsem vypracoval samostatně, podle pokynů vedoucího práce.
Použitou literaturu a podkladové materiály uvádím v seznamu zdrojů.
V Praze dne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(podpis autora)
PODĚKOVÁNÍ
Děkuji vedoucímu diplomové práce Ing. Zdeňku Vyskočilovi, Ph.D. za pomoc a cenné
rady při zpracování této práce. Dále bych chtěl poděkovat Ing. Zdeňku Lukešovi, Ph.D.
za přínosné připomínky a také Antonínu Roubalovi za technická řešení nových prvků
komparátoru.
Obsah
Úvod 7
1 Horizontální komparátor pro systémovou kalibraci 9
1.1 Laserový interferometr Renishaw ML10 . . . . . . . . . . . . . . . . . 10
1.2 Horizontální posun latě . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1 Krokový motor . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Vozík nesoucí lať . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3 Skloněné zrcadlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Řídící software DLSC . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 Osvětlení . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Ruční digitální mikroskop Celestron II . . . . . . . . . . . . . . . . . 16
1.7 Uchycení mikroskopu . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Teorie 19
2.1 Kalibrace latě pomocí sekvence digitálních snímků . . . . . . . . . . . 19
2.1.1 Statistické zhodnocení měřených hodnot . . . . . . . . . . . . 21
2.2 Kalibrace obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Tvorba řídícího programu KLPM 23
3.1 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.1.1 Image Acquisition Toolbox . . . . . . . . . . . . . . . . . . . . 24
3.1.2 Computer Vision System Toolbox . . . . . . . . . . . . . . . . 28
3.1.3 Souřadnicové systémy . . . . . . . . . . . . . . . . . . . . . . 29
3.1.4 Image Processing Toolbox . . . . . . . . . . . . . . . . . . . . 31
3.1.5 Instrument Control Toolbox . . . . . . . . . . . . . . . . . . . 40
3.1.6 GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Seznam zdrojových souborů programu KLPM . . . . . . . . . . . . . 42
3.3 Hlavní ovládací panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3.1 Nápověda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Ovládací panel motoru . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.1 Funkce motor.m . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5 Ovládací panel interferometru . . . . . . . . . . . . . . . . . . . . . . 49
3.5.1 Funkce Interfero_delka.m . . . . . . . . . . . . . . . . . . . . 54
3.6 Mikroskop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6.1 Funkce realVideo_linematch.m . . . . . . . . . . . . . . . . . 56
3.6.2 Funkce DetekceLinii.m . . . . . . . . . . . . . . . . . . . . . . 58
3.7 Tabulka kalibrovaného úseku . . . . . . . . . . . . . . . . . . . . . . . 59
3.8 Kalibrace obrazu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.9 Kalibrace latě . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.10 Kompilace programu . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4 Kalibrace latě pomocí digitálního mikroskopu 74
4.1 Příprava kalibrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.1.1 Urovnání latě do vodorovné polohy . . . . . . . . . . . . . . . 74
4.1.2 Připojení přístrojů k PC a navázání spojení . . . . . . . . . . 74
4.1.3 Urovnání mikroskopu . . . . . . . . . . . . . . . . . . . . . . . 75
4.1.4 Volba kalibrovaného úseku . . . . . . . . . . . . . . . . . . . . 76
4.2 Kalibrace obrazu na počátku kalibrovaného úseku . . . . . . . . . . . 76
4.3 Kalibrace latě ve směru „TAM“ . . . . . . . . . . . . . . . . . . . . . 77
4.4 Kalibrace obrazu na konci kalibrovaného úseku . . . . . . . . . . . . . 78
4.5 Kalibrace latě ve směru „ZPĚT“ . . . . . . . . . . . . . . . . . . . . 80
4.6 Zhodnocení kalibrací . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.7 Porovnání se systémovou kalibrací . . . . . . . . . . . . . . . . . . . . 82
Závěr 84
Použité zdroje 86
Seznam symbolů, veličin a zkratek 88
Seznam příloh 94
A Elektronická příloha 95
ČVUT v Praze ÚVOD
ÚvodTato práce nepřímo navazuje na moji bakalářskou práci, ve které se pomocí
mnoha systémových kalibrací digitálního nivelačního systému Leica NA3003 zkou-
maly vlastnosti horizontálního komparátoru, který navrhl a sestrojil na fakultě sta-
vební ČVUT Ing. Zdeněk Vyskočil, Ph.D a kolektiv. Nivelační přístroj je brán spolu
s příslušnou latí jako jeden celek neboli systém. Proto tedy systémová kalibrace.
Měřítko je nezbytné zjistit pro každou lať, která je s daným nivelačním přístro-
jem používána. V rámci metrologického řádu resortu ČUZK však nejsou tyto ka-
librace latí spolu s nivelačním přístrojem jako jednoho systému v současné době
řešeny (pouze samostatně). A právě proto je potřeba určit měřítko nivelační latě
jako samostatného celku, tedy bez měření nivelačního přístroje během kalibrace.
Tato práce zkoumá možnosti využití digitálního USB mikroskopu pro kalibraci digi-
tální nivelační latě na stávajícím horizontálním komparátoru. Za tímto účelem bylo
nutné vytvořit počítačový program, který komunikuje s dalšími přístroji, které jsou
součástí komparátoru. Jedná se o krokový motor a velmi přesný laserový interfero-
metr, který slouží jako délkový etalon. Krokový motoru posouvá vozík s vodorovně
ležící latí po dráze. Laserový interferometr velmi přesně určuje pozici, kde se ak-
tuálně vozík s latí nachází. Pomocí USB mikroskopu se pořizují snímky čárového
kódu latě, které se následně vyhodnocují. Na každém snímku jsou vyhledány linie,
tedy přechody mezi černými a světlými dílky na lati a díky tomu mohou být ur-
čeny středy černých dílků na snímku. Vzdálenosti mezi středy vybraných dílků na
lati následně slouží k výpočtu měřítka kalibrovaného úseku nivelační latě. Uživatel
programu, po navázání spojení s přístroji, musí, před samotnou kalibrací latě, nej-
prve urovnat mikroskop a poté provést kalibraci obrazu, díky které se určí velikost
obrazových bodů snímku. Pro vytvoření programu bylo zvoleno prostředí systému
MATLAB 2013a spolu s dalšími přídavnými balíčky, tzv. toolboxy, které obsahují
rozšiřující funkce specifické pro různé oblasti využití. Např. pro pořizování dat ze
záznamových zařízení, zpracování pořízených obrazových dat, pro komunikaci PC
s přístroji přes různá rozhraní, atd. Dále systém MATLAB umožňuje vytvářet gra-
fická uživatelská rozhraní, neboli GUI (z angličtiny Graphical User Interface), tedy
7
ČVUT v Praze ÚVOD
tvorbu uživatelsky přívětivých, samostatně spustitelných programů. Pomocí vytvo-
řeného programu byly provedeny kalibrace digitální nivelační latě Leica. V závěru
této práce jsou zhodnoceny výsledky provedených kalibrací nivelační latě pomocí
USB mikroskopu.
8
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
1 Horizontální komparátor pro systémo-
vou kalibraciTato kapitola popisuje horizontální komparátor určený pro systémovou kalibraci
nivelačního přístroje a latě jako jednoho celku a provedené úpravy pro kalibraci
pomocí digitálního USB mikroskopu.
Horizontální komparátor je chráněn užitným vzorem č. 18519, jehož majiteli jsou
Ing. Zdeněk Vyskočil, Ph.D., doc. Ing. František Krpata, CSc. a Antonín Roubal.
Obr. 1.1: Schéma fungování horizontálního komparátoru
Lať je při kalibraci ve vodorovné poloze a pro zobrazení čárového kódu latě do
svislé roviny se používá zrcadla skloněného k záměrné přímce nivelačního přístroje
v úhlu 45∘. Toto zrcadlo je pevně uchyceno v rámu nad nivelační latí (viz. obr. 1.2).
Nivelační lať je umístěna na vozíku, který se pohybuje po ocelové kolejové dráze v ose
rovnoběžné se záměrnou přímkou nivelačního přístroje. O pohyb vozíku po dráze se
stará krokový motor, který otáčí hnací ložiskovou tyčí. Na vozíku se také nachází
odrazný hranol interferometru. Interferometr je laserové zařízení, které dokáže měřit
změny vzdálenosti s přesností na mikrometry [3]. Celý proces systémové kalibrace je
automatizován pomocí softwaru DLSC, díky propojení krokového motoru, laserového
interferometru a nivelačního přístroje s PC. Pro kalibraci pomocí USB mikroskopu
bylo tedy nutné vytvořit ovládací software, určený přímo k tomuto účelu.
9
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Obr. 1.2: Pohled od nivelačního přístroje směrem k zrcadlu
1.1 Laserový interferometr Renishaw ML10
Laserový interferometr Renishaw ML10 Gold Standard je kompaktní (obsahuje
laserovou hlavu i přijímač signálu), přenosný měřící systém, pro velmi přesné ur-
čování délkových rozdílů v jednom směru, z čehož vychází měření i jiných veličin
(rovinnost, sklon dráhy atd.), při použití příslušných optických elementů. Interfero-
metr Renishaw dosahuje vynikajících stabilních garantovaných přesností lepších než
±0, 7𝜇𝑚.𝑚−1 [1].
Obr. 1.3: Laserový interferometr Renishaw ML10 Gold Standart
10
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Jak je vidět na obrázku 1.4, interferometr používá k odrazu paprsku odrazný
hranol, který je umístěn na pojízdném vozíku, který nese lať. Měření interferometru
se při kalibraci pohybuje ve vzdálenosti od 0,7 m do 2,8 m. Aby interferometr správně
opravoval měřené délky z vlivu indexu lomu prostředí, musí se mu na začátku každé
kalibrace zaslat informace o aktuální teplotě (na desetiny ∘C s přesností 0,3∘C),
tlaku vzduchu (v Pa s přesností 100 Pa) a relativní vlhkosti vzduchu (na jednotky %
s přesností 20%) [3]. Při změně atmosférických hodnot v laboratoři je délka určena
s chybou 0,96 ppm / ∘C (0,96 𝜇𝑚 na metr délky, při změně o 1∘C), 0,27 ppm / hPa
a o 0,0084 ppm / % relativní vlhkosti vzduchu [1].
Obr. 1.4: Schéma uspořádání optiky laserového interferometru
Tab. 1.1: Vybraná technická data o Renishaw ML10 Gold Standart
Zdroj laseru Helium neonová (HeNe) laserová trubiceVýkon laseru <1 mWVlnová délka ve vakuu 632,990577 nmDlouhodobá stabilita frekvence ±0, 05 𝑝𝑝𝑚 (miliontin celku)Stabilita frekvence po 1hodině ±0, 02 𝑝𝑝𝑚 (miliontin celku)Dosah 0–40mVýstup 5 pin ’Datalink’Napájení 100-240 VAC (nominal) 50-60 HzPracovní teplota 0–40∘C (32–104∘F)
11
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
1.2 Horizontální posun latě
1.2.1 Krokový motor
K elektrickému motoru je připojena řídící jednotka. Součástí motoru je pružná
spojka se spojkovou skříní, kde dochází k převodu otáček motoru na hnací tyč (viz.
obr 1.5). Motor otáčí železnou tyčí s trapézovým závitem o průměru 40 mm a délce
3,7 m. Tyč je na svém konci usazena v ložisku připevněném k ocelovém překladu.
Horizontální posun latě umožňuje posouvat lať s minimálním krokem 16 mikrokroků,
což za použití převodovky znamená posun o 0,01 mm. Rychlost pohybu je však
omezená. Posun o 1 m trvá při maximální rychlosti asi 3 minuty.
Obr. 1.5: Krokový motor, řídící jednotka, zdroj napětí a vypínač
Na koncích dráhy jsou nainstalovány bezpečnostní spínače pro okamžité vypnutí
krokového motoru, díky čemuž nehrozí poškození komparátoru při chybném zadání
úseku kalibrace.
1.2.2 Vozík nesoucí lať
Vozík s tyčí spojuje duralová deska. Tato deska je přišroubována k čelu vozíku
a nese otvor se závitem, kterým tyč prochází (viz. obr. 1.6). K vozíku je ve svém
středu připevněna kovová traverza, která na třech šroubech nese lať. Dva šrouby na
jedné straně zajišťují možnost horizontace latě v příčném směru a jeden šroub vzadu
ve směru podélném.
12
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Obr. 1.6: Připevnění poháněné matice k vozíku
1.3 Skloněné zrcadlo
Pro nezkreslené zobrazení obrazu čárového kódu latě je nutné, aby zrcadlo svíralo
úhel 45∘ s normálou k ploše latě i se záměrnou přímkou nivelačního přístroje. Zrca-
dlo je umístěno v konstrukci, která je připevněna k tělu komparátoru a umožňuje
částečné natáčení zrcadla pomocí hrubých a jemných ustanovek.
Obr. 1.7: Využití běžného tenkého zrcadla při nastavení skloněného zrcadla
Pro nastavení zrcadla do polohy odkloněné od osy latě o 45∘ se používá jedno-
duchý postup, využívající nivelační přístroj jako autokolimátor. To zajišťuje na lať
(pod zrcadlo) položené běžné tenké zrcadlo s pokovenou zadní stranou [4].
Při kalibraci samotné latě, pomocí digitálního USB mikroskopu, využití zrcadla
a nutnost jeho urovnání zcela odpadá, což časově zkracuje celý proces kalibrace.
13
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
1.4 Řídící software DLSC
Autorem programu Digital level system calibration (DLSC) je Ing. Zdeněk Lukeš,
Ph.D., který program vyvinul ve spolupráci s Ing. Zdeňkem Vyskočilem, Ph.D. v roce
2009. Program je určen pro operační systém typu Linux a s uživatelem komunikuje
v anglickém jazyce.
Nivelační přístroj a interferometr provedou měření, které odešlou do PC, kde se
měřené hodnoty zaregistrují, a program dá poté pokyn motoru, aby posunul vozíkem
o zvolený krok na další pozici, kde se měření opakuje, dokud vozík nedosáhne zadané
koncové pozice.
Obr. 1.8: Uživatelské prostředí programu DLSC
Během měření (kalibrace) program vykresluje graf vývoje výškových odchy-
lek a regresní přímku (aproximace měřených hodnot přímkou metodou nejmenších
čtverců). V grafu se na ose 𝑦 zobrazují normalizované rozdíly ℎ𝑙𝑎𝑡−𝑑𝑙𝑎𝑠𝑒𝑟, tedy rozdíly
opravené o průměrnou hodnotu a na ose 𝑥 pozice na lati ℎ𝑙𝑎𝑡. Výsledkem kalibrace
je údaj o měřítku systému: 𝑚 = 1+𝑎0, kde 𝑎0 je násobný koeficient regresní přímky.
Jde tedy o lineární regresi, kde měření nivelačního přístroje ℎ𝑙𝑎𝑡 je nezávislá a měření
interferometru 𝑑𝑙𝑎𝑠𝑒𝑟 závislá proměnná.
Celý projekt lze exportovat do formátu *.txt.
14
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Ukázka části exportovaného měření:
DIGITAL LEVEL SYSTEM CALIBRATION v1,00 (Nov 10 2011 12:45:15)--------------------------------------------------------------------------------Project name: DINI12File name: /home/zed/calibration/DINI12_LD12_k154Start time: 2012-01-26-16:07:59Operator: V. VlkInstrument: DINI12 Instrument ID: 701882Staff: LD12 Staff ID: 10322Sessions: 1. LD12 10322 a~2. LD12 10322 b 3. LD12 10322 c 4. LD12 10322 d--------------------------------------------------------------------------------Session 1 : LD12 10322a~--------------------------------------------------------------------------------Start time: 2012-01-26-16:07:59 End time: 2012-01-26-16:32:53Start position [mm]: 119,97 End position [mm]: 1899,48Step [mm]: 20,00Number of observations: 90Distance level-staff [m]: 3,81Linear regression results:--------------------------System scale: 0,999996 ( -4 ppm)System scale RMS: 0,000002 ( 2 ppm)RMS of unit weight [um]: 10Maximum residuum [um]: 28 Minimum residuum [um]: -20Observations:-------------h_level d_laser residuals temperature_Air pressure humidity temperature_Mat1 temperature_Mat2[mm] [mm] [um] [deg C] [hPa] [%] [deg C] [deg C]------------------------------------------------------------------------------------------------------119,97 -1774,850 -4 0,0 0,0 0,0 0,0 0,0139,99 -1754,839 5 0,0 0,0 0,0 0,0 0,0159,97 -1734,855 1 0,0 0,0 0,0 0,0 0,0179,95 -1714,878 4 0,0 0,0 0,0 0,0 0,0199,94 -1694,900 15 0,0 0,0 0,0 0,0 0,0219,92 -1674,915 10 0,0 0,0 0,0 0,0 0,0
Při tvorbě řídícího programu pro kalibraci latě pomocí USB mikroskopu byla
snaha o obdobný způsob statistické analýzy měřených hodnot a tedy určení měřítka
latě, aby bylo možné oba způsoby kalibrace výsledkově porovnat.
1.5 Osvětlení
Samotné osvětlení laboratoře je nedostačující pro měření pomocí digitálních ni-
velačních přístrojů a proto je nutné lať osvětlit přídavným zdrojem světla. K tomuto
účelu slouží podélná zářivka, která je napevno připevněna k rámu, nesoucí skloněné
zrcadlo (obr. 1.9).
Obr. 1.9: Osvětlení latě
15
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Při kalibraci latě pomocí USB mikroskopu není potřeba lať zářivkou osvětlovat,
neboť samotný mikroskopu má vlastní zdroj světla v podobě šesti bílých LED diod
(obr. 1.10).
Obr. 1.10: Objektiv mikroskopu s LED diodami
1.6 Ruční digitální mikroskop Celestron II
Ruční digitální mikroskop firmy Celestron je určen spíše pro veřejnost, než pro
vědecké účely. Výhodou je příznivá pořizovací cena (1 500Kč) a dostupnost. Pro účely
kalibrace latě je však plně dostačující.
Parametry přístroje [2]:
∙ Zvětšení: 10x–40x (až 150x na některých monitorech)
∙ LED osvětlení pomocí 6 diod v kruhu
∙ Připojení i napájení přes USB 2.0 kabel
∙ Kamera 2 MPx (CMOS)
∙ Rychlost snímání videa: 25 snímků za vteřinu (při nízkém rozlišení)
∙ Možnost focení a nahrávání videa přes dodávaný software
∙ Součástí je nastavitelný kovový stojan
16
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Obr. 1.11: Digitální mikroskop Celestron II (zdroj [2])
1.7 Uchycení mikroskopu
Pro uchycení mikroskopu bylo nutné ke stávající konstrukci přimontovat obdél-
níkový jaekl, ke kterému se, pomocí dvou šroubů s podložkami, přichytil kovový
stojan mikroskopu (obr. 1.12).
Obr. 1.12: Uchycení mikroskopu
Polohování mikroskopu probíhá ručně s pomocí kovového stojanu, který se skládá
ze dvou kulových hlav mezi destičkami, které jsou k sobě přitahovány pomocí šroubu.
S mikroskopem lze tedy libovolně ručně manipulovat, ale pouze ve všech osách zá-
roveň.
17
ČVUT v Praze 1. HORIZONTÁLNÍ KOMPARÁTOR PRO SYSTÉMOVOU KALIBRACI
Zaostřování obrazu probíhá ručně pomocí šedého vroubkovaného kolečka z umělé
hmoty. Povrch tohoto kolečka je naneštěstí velmi hladký a proto není lehké obraz
zaostřit, aniž by mikroskop nezměnil svoji polohu.
18
ČVUT v Praze 2. TEORIE
2 Teorie
2.1 Kalibrace latě pomocí sekvence digitálních snímků
nivelační lať
interferometr
d1
d2
d3
o1 o2 o3
p3
p2
p1
s1 s2 s3
[Academic use only] Obr. 2.1: Schéma znázorňující snímkování latě
Čárový kód se u digitálních nivelačních latí skládá z množství různě silných
černých dílků (proužků). Jednotlivé dílky se skládají z různého počtu elementárním
dílků. Velikost elementárním dílku, resp. velikost nejužší mezery mezi dílky, je pro
daného výrobce digitálních nivelačních přístrojů stejná. U digitálních nivelačních
latí pro přístroje Leica je to 2,025 mm. Díky tomu lze poměrně jednoduše určit
vzdálenosti mezi jednotlivými dílky, vzdálenosti mezi jejich středy, či jejich pozici
na lati (p1, p2, p3 na obrázku 2.1) vztaženou k libovolnému počátku (první dílek
na lati, patka latě atd.).
Před kalibrací latě se určí tzv. kalibrované dílky. Na pozicích kalibrovaných dílků
(p1, p2, p3) se provádí snímkování pomocí digitálního mikroskopu (s1, s2, s3)
a měření délky pomocí laserového interferometru (d1, d2, d3). Měřená délka před-
stavuje vzdálenost středu snímku od počátku měření interferometru. Střed kalibro-
vaného dílku se ale zpravidla nenachází přesně na středu snímku. Proto se k měřené
délce musí přičíst ještě oprava, neboli vzdálenost středu dílku od středu obrazu.
19
ČVUT v Praze 2. TEORIE
Opravy (o1, o2, o3) jsou na obrázku 2.1 vyobrazeny v rovině snímku (s1, s2,
s3), jedná se tedy o počet obrazových bodů (pixelů). Pro získání opravy v délko-
vých jednotkách, je potřeba vynásobit každý z těchto pixelů svojí velikostí. Určení
velikosti jednotlivých pixelů se zabývá sekce 2.2 Kalibrace obrazu.
Při kalibraci se mikroskop nepohybuje nad latí, ale svoji pozici mění pomocí
krokového motoru nivelační lať (viz. obr. 2.2).
1
23
45
6
7 8
109
11
p1
d1
d2
p2
0
480,5
960
640,5 1280
+o1
0
480,5
960
640,5 1280
-o2
12
[Academic use only] Obr. 2.2: Schéma znázorňující různé pozice latě při kalibraci
Seznam jednotlivých prvků komparátoru popsaných v obrázku 2.2:
1: Ocelová lavice s kolejovou drahou2: Krokový motor3: Hnací ložisková tyč4: Připevnění vozíku k poháněné matici na hnací ložiskové tyči5: Ložiskové ukotvení ložiskové tyče6: Vozík nesoucí lať7: Nivelační lať8: Patka latě9: Odrazný hranol interferometru
10: Laserový interferometr11: Pozice snímání čárového kódu latě pomocí mikroskopu12: Zeď laboratoře
20
ČVUT v Praze 2. TEORIE
Obrazové souřadnice středu kalibrovaného dílku se v každém snímku určí pomocí
tzv. detekce linií. Řídící software provede analýzu každého snímku. Ve snímku vy-
hledá linie (přechody černá-bílá). Vypočte středy mezi sousedními liniemi a vyřadí
ty, které se nacházejí na bílém pozadí.
Do vyrovnání vstupují na ose X známé hodnoty pozic na lati 𝑝𝑙𝑎𝑡 a na ose Y nor-
malizované rozdíly 𝑝𝑙𝑎𝑡 − 𝑑𝑙𝑎𝑠𝑒𝑟 + 𝑜. Na obrázku 2.2 je vidět, že v případě urovnání
latě na vozík patkou ke zdi, se lať při kalibraci pohybuje směrem ke zdi. V tako-
vém případě se musí měřené délky d násobit koeficientem −1, aby platilo pravidlo:
když p1 < p2, tak d1 < d2. Opravy o, o které se opravují měřené délky d mají
vždy kladnou hodnotu, pokud se střed kalibrovaného dílku nachází v dolní polovině
snímku, resp. zápornou hodnotu, nachází-li se v horní polovině snímku.
Tab. 2.1: Ukázka hodnot získaných při kalibraci latě, kde Rozdíl = p - (d + o)
Kalib. dílek Pozice dílku [mm] Měřená délka [mm] Oprava [mm] Rozdíl [mm]
1 450,050 -370,56463 -0,01180 812,57633
2 500,725 -311,85955 +0,00592 812,57863
3 557,425 -255.14721 -0,00296 812,57517
2.1.1 Statistické zhodnocení měřených hodnot
Měřítko kalibrovaného úseku latě se vypočte aproximací měřených hodnot přím-
kou metodou nejmenších čtverců. Výsledkem je údaj o měřítku kalibrovaného úseku
latě: 𝑚 = 1+𝑎0, kde 𝑎0 je násobný koeficient regresní přímky. Jde o lineární regresi,
kde pozice na lati 𝑝𝑙𝑎𝑡 je nezávislá a opravené měření interferometru 𝑑𝑙𝑎𝑠𝑒𝑟 +𝑜 závislá
proměnná.
2.2 Kalibrace obrazu
Aby mohla být určena velikost oprav (vzdálenost středu kalibrovaného dílku
od středu obrazu), je nejprve nutné určit velikosti jednotlivých pixelů (obrazových
bodů). Před samotnou kalibrací latě se tedy musí provést ještě tzv. kalibrace obrazu.
21
ČVUT v Praze 2. TEORIE
Ta se provádí obdobným způsobem, jako dříve popsaná kalibrace latě s tím rozdílem,
že se s latí nepřejíždí mezi jednotlivými dílky na lati, ale provádí se opakované
snímkování jediného dílku, který se v obraze posouvá o velmi malou vzdálenost
(motor posouvá s latí např. o 0,1 mm).
2
3
4
1
u3
u2
u1
KU
[Academic use only] Obr. 2.3: Schéma zobrazující posun středu dílku při kalibraci obrazu
Na obrázku 2.3 je zobrazen dílek na začátku kalibrace obrazu a na jejím konci.
Střed dílku se na každém snímku nachází v jiné pozici (1, 2, 3 a 4). Pro každou
pozici jsou známy jak obrazové souřadnice středu dílku, tak i délka z interferometru.
Jednotlivé rozdíly měřených délek se vydělí příslušným počtem pixelů, čímž se získá
průměrná velikost jednoho pixelu v daném úseku (u1, u2, u3). Tato hodnota se
poté zobrazí do grafu na X-ové souřadnici středu daného úseku (vyjádřeno v pi-
xelech). Hodnoty v grafu se poté aproximují pomocí polynomu 3. stupně, čímž se
získají velikosti jednotlivých pixelů v kalibrovaném úseku KU.
Polynom 3. stupně byl zvolen po poradě s vedoucím práce, neboť zde nehraje roli
pouze nekolmost objektivu mikroskopu vůči lati, ale i jeho optická chyba. Distorze,
neboli zkreslení obrazu, které se obecně projevuje měnící se ostrostí obrazu směrem
od středu snímku k jeho okrajům. Přímka na okrajích snímku se jeví zakřivená. Při
kalibraci latě je tedy žádoucí, aby se kalibrované dílky nacházely co nejblíže středu
snímku. Proto bylo rozhodnuto ke kalibraci obrazu i latě používat pouze elementární
(nejužší) dílky na lati.
Pro určení co možná největšího rozsahu pixelů se na začátku kalibrace obrazu
najede s latí do takové pozice, aby se dílek v obraze nacházel u jednou z okrajů.
22
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3 Tvorba řídícího programu KLPMPro tvorbu řídícího programu KLPM bylo zvoleno prostředí MATLAB verze
8.1.0.604 (vydání R2013a) s těmito přídavnými balíčky (tzv. Toolboxy):
∙ Image Acquisition Toolbox, verze 4.5 (R2013a)
∙ Image Processing Toolbox, verze 8.2 (R2013a)
∙ Computer Vision System Toolbox, verze 5.2 (R2013a)
∙ Instrument Control Toolbox, verze 3.3 (R2013a)
ČVUT poskytuje svým zaměstnancům a studentům k užívání vždy aktuální
licenci akademické verze prostředí MATLAB spolu s mnoha toolboxy. Prostředí
MATLAB je využíváno studenty oboru Geodézie a kartografie v průběhu celého
studia k výpočtům a zpracování zadaných úloh a proto bylo zvoleno jako nejvhod-
nější nástroj pro tvorbu řídícího programu. Použitý operační systém Microsoft Win-
dows 8 Version 6.2 (Build 9200) je 64-bitovým systémem a proto i výpočetní skripty
v prostředí MATLAB byly pro zvýšení výpočetního výkonu ukládány v 64-bitové
verzi.
3.1 MATLAB
MATLAB je integrované prostředí pro vědeckotechnické výpočty, modelování,
návrhy algoritmů, simulace, analýzu a prezentaci dat, paralelní výpočty, měření
a zpracování signálů, návrhy řídicích a komunikačních systémů. MATLAB je nástroj
jak pro pohodlnou interaktivní práci, tak pro vývoj širokého spektra aplikací [5].
Hlavní vlastnosti:
∙ Programovací jazyk pro numerické výpočty, vizualizace a vývoj aplikací
∙ Interaktivní prostředí pro zkoumání, navrhování a řešení problémů
∙ Matematické funkce lineární algebry, statistiky, Fourierovy analýzy, filtrování,
optimalizace, numerické integrace a řešení diferenciálních rovnic
23
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
∙ Vestavěné uživatelské rozhraní pro vizualizaci dat a nástroje pro vytváření
vlastních grafů
∙ Vývojové nástroje pro zlepšení kvality kódu a maximalizaci výkonu
∙ Nástroje pro tvorbu aplikací s grafickým rozhraním
∙ Funkce pro integraci Matlabovských algoritmů s externími aplikacemi a pro-
gramovacími jazyky jako je C, Java, .NET a Microsoft Excel.
Následující podkapitoly popisují použité toolboxy a také vlastnosti jednotlivých
funkcí, které byly využity při tvorbě programu KLPM.
3.1.1 Image Acquisition Toolbox
Image Acquisition Toolbox je sada funkcí, které rozšiřují schopnosti výpočet-
ního prostředí MATLAB. Toolbox podporuje širokou škálu operací pro pořizování
snímků, včetně:
∙ Automatické rozpoznání hardwaru a konfigurace jeho hardwarových vlastností
∙ Získávání snímků pomocí mnoha typů zařízení pro snímání obrazu, od profe-
sionálních fotoaparatur, až po USB kamery
∙ Zobrazení tzv. „živého náhledu“ videa
∙ Spouštění automatického opakovaného pořizování snímků
∙ Konfigurace tvz. „Callback“funkcí, které se provedou při výskytu určitých
událostí
∙ Uvedení obrazových dat do pracovního prostředí MATLABu
Pro používání funkcí Image Acquisition Toolboxu je však nezbytné mít současně
nainstalovaný i Image Processing Toolbox [6].
Pro pořizování obrazových dat pomocí Image Acquisition Toolbox je nutné po-
stupovat podle těchto základních kroků:
24
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
1. Instalace a nastavení zařízení pro pořizování snímků
2. Získání informace, která jedinečně identifikuje naše snímací zařízení
info = imaqhwinfo(’winvideo’)
3. Vytvoření video input objectu (objekt vstupu videa, skrze tento objekt MATLAB
se zařízením komunikuje)
obj = videoinput(’winvideo’, 1);
4. Nastavení pořizovaných snímků pomocí video objektu (volitelné)
set(obj,’ReturnedColorSpace’,’grayscale’); (Přijímat obraz ve škále šedi)
5. Náhled snímaného videa (volitelné)
preview(obj);
6. Pořízení obrazových dat
image = getsnapshot(obj);
7. Úklid (zastavení snímání, zavření náhledu, smazání video objektu)
closepreview(obj);
delete(obj);
Funkce imaqhwinfo
Funkce imaqhwinfo poskytuje informace o všech dostupných (připojených) za-
řízeních pro snímání obrazu.
Příkaz info = imaqhwinfo(’adaptorname’) vrací do proměnné info strukturu
textových polí, které obsahují informace o adaptéru uvedeném jako textový řetězec
’adaptorname’ (název adaptéru). V našem případě se jedná o adaptér ’winvideo’,
neboť požadujeme výpis dostupných zařízení pro zpracování obrázků zobrazených
ve správci zařízení v ovládacích panelech systému Windows. Získaná informace ob-
sahuje verzi adaptéru a výpis dostupných zařízení pro daný adaptér.
Ukázka získání informace o všech dostupných zařízení pro adaptér ’winvideo’:info = imaqhwinfo(’winvideo’)info =
AdaptorDllName: [1x73 char]AdaptorDllVersion: ’4.5 (R2013a)’
25
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
AdaptorName: ’winvideo’DeviceIDs: {[1]}
DeviceInfo: [1x1 struct]
Každému zařízení je přiděleno identifikační číslo DeviceID, které se využívá k pří-
stupu k informacím o daném zařízení (název, standardní formát, podporované for-
máty).
Ukázka získání informace o určitém zařízení dostupném skrze příslušný adaptér.
K identifikování zařízení slouží jeho identifikační číslo DeviceID:
dev_info = imaqhwinfo(’winvideo’, 1)dev_info =
DefaultFormat: ’YUY2_1280x960’DeviceFileSupported: 0
DeviceName: ’Celestron Digital Microscope’DeviceID: 1
VideoInputConstructor: ’videoinput(’winvideo’, 1)’VideoDeviceConstructor: ’imaq.VideoDevice(’winvideo’, 1)’
SupportedFormats: {1x8 cell}
Získané údaje o zařízení se následně používají např. ve funkci videoinput.
Funkce imaqreset
Při prvním zavolání funkce imaqhwinfo se informace o nalezených zařízeních
uloží do mezipaměti. Funkce imaqreset se využívá pro vynucené vyhledání nově
připojených zařízení, které mohly být připojeny až po spuštění programu MATLAB.
Funkce imaqreset odstraní všechny objekty pro získávání obrazu, které exis-
tují v mezipaměti a uvolní všechny adaptéry načtené z panelu nástrojů Windows.
Výsledkem je obnovení (znovu načtení) všech připojených zařízení pro získávání ob-
razu.
Funkce videoinput
Funkce videoinput vytváří video input object (objekt vstupu videa), díky kte-
rému MATLAB komunikuje s daným zařízením.
Příkaz obj = videoinput(adaptorname,deviceID,format) vytvoří video in-
put object, kde format je textový řetězec, který specifikuje konkrétní formát videa
podporovaný zařízením, adaptorname je název adaptéru (v našem případě ’winvideo’)
a deviceID je identifikační číslo zařízení pro pořizování obrazových dat.
26
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Funkce getselectedsource
Funkce getselectedsource vrací aktuálně zvolený video source object. Při ote-
vření video source objektu je uživateli umožněno v reálném čase měnit nastavení vi-
deo input objektu, tedy měnit parametry zobrazovaného videa (jas, kontrast, barvy,
ostrost atd.).
Příkaz src = getselectedsource(obj) vyhledá všechny video source objekty
(video source object) související se vstupním video objektem (video input object)
obj a vrátí takový video source object src, jehož atribut Selected (Zvoleno) je
nastaven na „ON“.
Funkce preview
Příkaz preview(obj) zobrazí okno s živým náhledem videa snímaného zaříze-
ním, se kterým MATLAB komunikuje skrze video input object obj.
Funkce getsnapshot
Příkaz image = getsnapshot(obj) ihned vrátí jeden snímek pořízený zaříze-
ním skrze video input object obj. Počet vrácených snímků tedy není závislý na
hodnotě atributu video input objektu FramesPerTrigger. Datový typ vráceného
snímku se odvíjí od příslušné barevné škály, která je nastavena pomocí atributu
ReturnedColorSpace.
Stejný výsledek produkuje i příkaz getdata(obj,1,’uint8’), kde obj je video
input object, 1 je počet pořízených snímků a (’uint8’) je typ dat (hodnoty pixelů
u snímků pořizovaných ve škále šedi jsou v paměti uloženy jako unsigned integer
8-bit, tedy od 0 do 255).
Funkce trigger
Příkaz trigger(obj) zahájí sběr dat z video input objektu obj. Video objekt obj
musí být spuštěn a jeho atribut TriggerType musí být nastavena na ’Manual’. To
se provede pomocí příkazu triggerconfig(obj, ’Manual’);. Pro spuštění video
objektu obj se musí využít funkce start(obj).
27
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Funkce trigger (spoušť) je využívána spolu s funkcí timer (časovač) pro zobra-
zování snímků z aktuálně pořizovaného videa, které byly nějakým způsobem zpra-
covány (upraveny). Upravené snímky se díky těmto funkcím zobrazí až ve chvíli,
kdy jsou připraveny k zobrazení. Zobrazované video se překreslí až ve chvíli, kdy je
další upravený snímek k dispozici. Zobrazované video se tedy liší od pořizovaného
a často je i pomalejší (nezobrazuje všechny pořizované snímky, ale jen některé po
úpravě). K úpravě snímků se používají funkce obsažené v Computer Vision System
Toolboxu, které umožňují do snímků vkládat různé geometrické obrazce, symboly
a texty.
3.1.2 Computer Vision System Toolbox
Computer Vision System Toolbox poskytuje algoritmy a nástroje pro návrh a si-
mulaci počítačového vidění a systémy pro zpracování videa. Obsahuje nástroje a al-
goritmy pro detekci pohybu, detekci objektů, sledování objektů, prostorového vidění,
zpracování a analýzu videa. Nástroje zahrnují vstupy a výstupy video souborů, zob-
razení videa, kreslení grafiky a skládání obrazu [7].
Funkce insertShape
Funkce insertShape umožňuje do snímku či videa kreslit různé geometrické
tvary (linie, obdélníky, kruhy a polygony).
Příkaz obrazek = insertShape(image, ’circle’, [150 280 35], ’LineWidth’,
5) vloží do snímku image kroužek o síle čáry 5 a o poloměru 35 pixelů na pozici
x=150, y=280.
Funkce insertMarker
Funkce insertMarker umožňuje do snímku či videa kreslit různé symboly (linie,
obdélníky, kruhy a polygony).
Příkaz obrazek = insertMarker(image, [50 100], ’x’, ’color’, ’yellow’,
28
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.1: Ukázka obrázku s vloženými geometrickými tvary (zdroj: mathworks.com)
’size’, 10) vloží do snímku image na pozici x=50, y=100 žlutý křížek o velikosti
10.
Funkce insertText
Funkce insertText umožňuje do snímku či videa kreslit různé textové řetězce
(písmena i čísla).
Příkaz obrazek = insertText(image, [50 100], ’Ahoj’, ’FontSize’, 18) vloží
do snímku image na pozici x=50, y=100 textový řetězec Ahoj o velikosti písma 18.
3.1.3 Souřadnicové systémy
Poloha v obraze se může určovat pomocí různých souřadnicových systémů. V MATLABu
se používá hlavně pixelových a prostorových souřadnic, což jsou dva hlavní souřad-
nicové systémy používané v programu Computer Vision System Toolbox.
Souřadnice pixelů
Souřadnice pixelu umožňuje určit polohu ve snímku. V tomto souřadnicovém
systému je s obrazem zacházeno jako s množinou diskrétních prvků uspořádaných
v mřížce, seřazených shora dolů a zleva doprava (viz. obr 3.2).
První souřadnice pixelu r (řádek) se zvyšuje směrem dolů, zatímco druhá sou-
řadnice c (sloupec) se zvyšuje na pravé straně. Pixelové souřadnice jsou celočíselné
hodnoty v rozmezí od 1 do délky řádku nebo sloupce. Pixelové souřadnice pou-
žívané v programu Computer Vision System Toolbox jsou identické s pixelovými
29
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.2: Počátek pixelového souřadnicového systému (zdroj: [7])
souřadnicemi používanými programy Image Processing Toolbox a MATLAB. Platí
zde soulad mezi indexy pixelů a indexy prvních dvou rozměrů matice v MATLABu.
Například hodnota pixelu v pátém řádku a druhém sloupci je uložena v matici na
pozici [4;2]. Díky tomu lze použít klasické indexování matic pro přístup k hodnotám
jednotlivých pixelů. Hodnota pixelu [4;2] v obrázku 3.3 je 1, což odpovídá bílé barvě.
Pixely barevných obrázků obsahují hodnotu od 0 do 1 pro každou RGB (červená,
zelená a modrá) složku (např. [0,1; 0,2; 1,0]).
obrazek = [0.0 0.6 0.4 0.5
0.7 0.8 0.9 1.0
1.0 0.9 0.8 0.6
0.6 0.8 0.7 1.0];
obrazek(3,1) = 0.4
Prostorové souřadnice
Prostorové souřadnice umožňují určit polohu v obraze s větší přesností než pixe-
lové souřadnice. Například u pixelového souřadnicového systému je pixel považován
za samostatnou jednotku, jednoznačně identifikovanou celým číslem řádku a sloupce
(např. obrazek(3,4)). V prostorovém systému souřadnic mohou být souřadnice
bodu zapsány desetinným číslem (např. [3,3; 4,7]). Následující obrázek znázorňuje
prostorový souřadnicový systém.
30
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.3: Vizualizace matice obrazek obsahující snímek ve škále šedi
Obr. 3.4: Počátek prostorového souřadnicového systému (zdroj: [7])
Souřadnice středu obrazu se určí ze vztahu:
𝑋𝑆 = počet sloupců matice2 + 0, 5 ,
𝑌𝑆 = počet řádků matice2 + 0, 5 .
3.1.4 Image Processing Toolbox
Image Processing Toolbox poskytuje komplexní sadu algoritmů, funkcí a aplikací
pro zpracování obrazu, analýzu, vizualizaci a vývoj vlastních algoritmů. Umožňuje
31
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
provést analýzu obrazu, segmentaci obrazu, vylepšení obrazu, redukce šumu, geomet-
rické transformace a registraci obrazu. Mnohé funkce toolboxu podporují vícejádrové
procesory, grafické karty a generování kódu v jazyce C.
Image Processing Toolbox podporuje širokou škálu obrazových formátů, včetně
těch s vysokým dynamickým rozsahem, vysokým rozlišením v řádu gigapixelů, vlo-
ženým ICC profilem a tomografické formáty. Vizualizační funkce a aplikace umožňují
prozkoumat obrázky a videa, zkoumat oblast pixelů, nastavení barev a kontrastu,
vytvořit kontury nebo histogramy a manipulovat s oblastí zájmu (ROI, neboli re-
gion of interest). Toolbox podporuje pracovní postupy pro zpracování, zobrazení
a navigaci velkých snímků [8].
Všechny níže vyjmenované funkce Image Processing Toolboxu se v řídícím pro-
gramu KLPM využívají k detekci linií ve snímku a následnému určení snímkových
souřadnic středu černých dílků na lati.
Obr. 3.5: Vzorový snímek latě pořízený digitálním mikroskopem
Funkce graytresh
Příkaz [level EM] = graythresh(I) určí globální práh (úroveň) obrazu I,
který lze použít k převodu obrazu na obraz binární pomocí funkce im2bw. Výstupní
proměnná level je normalizovaná hodnota barevné intenzity, která leží v rozsahu
[0, 1]. Druhá výstupní proměnná EM obsahuje hodnotu v rozsahu [0, 1] a označuje
32
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
účinnost prahování graythresh vstupního obrazu I. Dolní mez je dosažitelná pouze
těmi obrazy, které obsahují pouze jednu úroveň šedi. Horní mez je dosažitelná pouze
dvouhodnotovými obrázky.
Výsledek prahování vzorového snímku latě I (viz. obr 3.5):
level = 0.57843137254902, EM = 0.917846672128219
Na obrázku 3.6 je zobrazen histogram vzorového snímku s červeně vyznačenou
hodnotu level*255 = 147,5. Obrázek 3.7 zobrazuje hodnoty jednotlivých pixelů
na ose Y. Jedná se o jeden sloupec pixelů, který se nachází na středu snímku (počet
pixelů na ose X / 2). Červeně je opět vyznačena hodnota přechodu.
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
Skala sedi
Poc
et p
ixel
u
0 50 100 150 200 250
Obr. 3.6: Histogram
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
Y Souradnice pixelu
Stu
pen
sedi
pix
elu
Obr. 3.7: Hodnoty pixelů
Při převodu na binární obraz (černá/bílá) se pixely, které mají stupeň šedi pod
vyznačeným přechodem převedou do černé barvy (hodnota 0) a zbylé do bílé (1).
Funkce edge
Příkaz BW = edge(I,’prewitt’,’horizontal’) má na vstupu snímek I, který
zpracuje a vrátí binární obraz BW stejné velikosti s hodnotou pixelu 1 na pozicích,
kde funkce detekuje hranu.
Ve výchozím nastavení používá funkce edge pro detekci hran metodu Sobel, ale
nejlepších výsledků bylo dosaženo s metodou Prewitt1 , která se od metody Sobel
liší pouze hodnotami v používaných 3 x 3 maskách.1Judith M.S. Prewitt publikovala v roce 1970 kapitolu „Object Enhancement and Extraction“
ve své akademické práci „Picture processing and Psychopictorics“
33
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
200 400 600 800 1000 1200
100
200
300
400
500
600
700
800
900
Obr. 3.8: Vzorový snímek převedený na binární snímek
Operátor používá dvě 3 x 3 masky, které jsou konvolvovány (hodnota daného
pixelu ve výstupním obraze se vypočte vynásobením každé hodnoty 3 x 3 masky
s odpovídající hodnotou daného pixelu vstupního obrazu) s původním obrazem I pro
výpočet aproximace derivací - jeden pro horizontální a jeden pro vertikální změny.
Definujeme-li 𝐼 jako zdrojový obraz a 𝐺𝑥 a 𝐺𝑦 jako dva obrazy, které v každém bodě
obsahují horizontální a vertikální aproximaci derivací, jsou tyto získány ze vztahu:
𝐺𝑥 =
⎡⎢⎢⎢⎢⎢⎣−1 0 +1
−1 0 +1
−1 0 +1
⎤⎥⎥⎥⎥⎥⎦ · 𝐼 , 𝐺𝑦 =
⎡⎢⎢⎢⎢⎢⎣+1 +1 +1
0 0 0
−1 −1 −1
⎤⎥⎥⎥⎥⎥⎦ · 𝐼 ,
Operátor vypočítá gradient intenzity obrazu v každém bodě, což je směr největší
možné změny od bílé k černé a rychlost změny v tomto směru. Výsledek tedy ukazuje,
jak „náhle“ nebo „hladce“ se obraz na tomto místě mění a díky tomu lze určit
pravděpodobnost, že daná část obrazu obsahuje hranu a jakým směrem je tato
hrana orientována.
V každém bodě obrazu mohou být výsledné aproximace gradientu kombinovány,
rozsah gradientu se poté určí pomocí následujícího vztahu:
𝐺 =√︁
𝐺2𝑥 + 𝐺2
𝑦 .
Využitím tohoto poznatku lze určit směr gradientu ze vztahu:
34
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.9: Příklad principu konvolvace 3 x 3 masky s pixelem původního snímku
(zdroj: developer.apple.com)
Θ = arctan 𝐺𝑦
𝐺𝑥
.
Pokud nastane případ Θ = 0 , znamená to, že směr maximálního kontrastu z černé
k bílé směřuje na snímku zleva doprava. Další úhly jsou určovány ve směru proti
hodinovým ručičkám.
Metoda Prewitt najde hrany pomocí Prewittovy aproximace derivací. Vrací
hrany na těch místech, kde je gradient snímku I maximální [9].
Pro ukázku byl gradient snímku I vypočten pomocí příkazu:
[Gmag, Gdir] = imgradient(I,’prewitt’)
Funkce hough
Příkaz [H, theta, rho] = hough(BW) vypočítá standardní Houghovu trans-
formaci (SHT) vstupního binárního obrazu BW. Houghova transformace se používá
pro detekci linií v obraze. Funkce vrací H, výslednou matici Houghovy transformace.
theta (od -90∘ do 89∘) a rho jsou hodnoty, přes které byla transformace provedena.
Standardní Houghova transformace (SHT) využívá parametrické vyjádření přímky:
35
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.10: Rozsah gradientu Gmag (vlevo) a Směr gradientu, Gdir (vpravo)
Obr. 3.11: Výstupní binární obrázek z funkce na detekci hran edge
𝜌 = 𝑥 · cos(𝜃) + 𝑦 · sin(𝜃) ,
kde 𝜌 je délka úsečky kolmé k detekované linii, jejíž počátek je v počátku snímku
(levý horní roh) a konec na detekované linii. 𝜃 je úhel, který svírá osa X s přímkou
procházející počátkem, která je kolmá k detekované linii, měřený ve stupních ve
směru hodinových ručiček od kladného směru osy x (viz. obr. 3.13). Rozsah úhlu 𝜃
je (−90∘ ≤ 𝜃 < 90∘) a měří se také ve směru hodinových ručiček od kladného směru
osy x.
36
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
θ
ρ
−80 −60 −40 −20 0 20 40 60 80
−1500
−1000
−500
0
500
1000
1500
Obr. 3.12: Grafické znázornění Houghovy transformace binárního snímku BW
Obr. 3.13: Určení úhlu Theta
Pozice prvků v matici SHT je určena hodnotami rho, resp. theta. Prvky v SHT
matici představují akumulované hodnoty. Zpočátku je hodnota každého prvku nu-
lová. Pro každý prvek, který není na pozadí, se pro každou hodnotu theta vypočte
příslušná hodnota rho. rho je poté zaokrouhleno na nejbližší povolenou řádku ma-
tice SHT. Hodnota tohoto prvku se zvýší (postupně se akumuluje). Na konci tohoto
postupu hodnota Q v matici SHT o souřadnicích (r, c) představuje, že Q bodů v ro-
vině xy leží na linii určené pomocí theta (c) a rho (r). Maximální hodnoty v SHT
představují potenciální linie ve vstupním obraze.
Funkce houghpeaks
Příkaz peaks = houghpeaks(H, numpeaks) najde vrcholy v Houghovy trans-
formační matici H (SHT). numpeaks je skalární hodnota, která určuje maximální
37
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
počet vrcholů, která má funkce identifikovat. Pokud se numpeaks nezadají, nastaví
se implicitně na hodnotu 1.
Funkce vrací údaje o nalezených vrcholech. Jedná se o matici o rozměrech Q x 2,
kde Q se může pohybovat od 0 do numpeaks. Q obsahuje souřadnice řádků a sloupců
nalezených vrcholů.
peaks = houghpeaks(H, 5)
peaks =
798 1
1492 1
1148 1
Jak je vidět z předešlého příkladu, funkce houghpeaks nalezla celkem tři vrcholy
v matici H.
Funkce houghlines
Příkaz lines = houghlines(BW, theta, rho, peaks) vyznačí úsečky v ob-
razu BW, nalezené pomocí předchozích funkcí Houghovy transformace.
Funkce houghlines vrací úsečky v podobě pole struktur, jejichž počet se rovná
počtu nalezených úseček. Každá struktura obsahuje následující prvky:
∙ point1 - vektor obsahující souřadnice (x, y) počátku úsečky
∙ point2 - vektor obsahující souřadnice (x, y) konce úsečky
∙ theta - úhel ve stupních, pochází z Houghovy transformační matice
∙ rho - pozice na ose rho v Houghově transformační matici
Do funkce houghlines mohou vstupovat i následující parametry:
∙ ’FillGap’ - Kladné reálné číslo, které určuje vzdálenost mezi dvěma úseč-
kami spojenými se stejnými prvky Houghovy transformace. Pokud je vzdále-
nost mezi úsečkami nižší než zadaná hodnota, funkce houghlines tyto čárové
segmenty spojí do jedné úsečky. Výchozí hodnota je 20.
38
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
∙ ’MinLength’ - Kladné reálné číslo, které určuje minimální délku nově vzniklé
úsečky pomocí spojení z více segmentů. Pokud je úsečka kratší, nepoužije se.
Výchozí hodnota je 40.
Obrázek 3.14 zobrazuje vzorový snímek I spolu s detekovanými liniemi pomocí
následujícího kódu:
BW = edge(I,’prewitt’,’horizontal’)
[H, theta, rho] = hough(BW)
peaks = houghpeaks(H, 5)
lines = houghlines(BW,theta,rho,peaks,’FillGap’,200,’MinLength’,800)
200 400 600 800 1000 1200
100
200
300
400
500
600
700
800
900
Obr. 3.14: Vzorový snímek I s vyznačenými liniemi nalezenými pomocí Houghovy
transformace
39
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.1.5 Instrument Control Toolbox
Instrument Control Toolbox umožňuje MATLABu komunikovat přímo s přístroji,
jako jsou osciloskopy, funkční generátory, analyzátory signálů, napájecí zdroje a ana-
lytické přístroje. Toolbox se k nástrojům připojí prostřednictvím ovladačů, jako je
IVI a VXIplug & play, nebo prostřednictvím textu na bázi příkazů SCPI přes běžně
používané komunikační protokoly jako GPIB, VISA, TCP/IP a UDP [10].
Funkce tcpip
Funkce tcpip vytváří TCPIP objekt. TCPIP objekt se využívá pro komunikaci
se zařízeními připojenými k lokální počítačové síti. Program KLPM pomocí TCPIP
objektu komunikuje s laserovým interferometrem, který je připojen ke vzdálenému
počítači přes sériový port.
Příkaz t = tcpip(’147.32.131.11’,5001,’Terminator’,’CR/LF’) vytvoří TCPIP
objekt, díky kterému může MATLAB komunikovat s počítačem, jehož síťová IP ad-
resa je 147.32.131.11. Komunikace probíhá po portu 5001. Nastavení terminátoru se
odvíjí od typu zařízení a jeho způsobu připojení k PC. Zpravidla se uvádí v doku-
mentaci daného zařízení.
Příklad použití:
1. Vytvoření TCPIP objektu
t = tcpip(’147.32.131.11’,5001,’Terminator’,’CR/LF’)
2. Připojení TCPIP objektu ke vzdálenému hostiteli
fopen(t)
3. Odeslání příkazu ke vzdálenému hostiteli a přijímání odpovědi
fprintf(t,’SignalStrength’)
Signal = fscanf(t)
4. Odpojení TCPIP objektu od vzdáleného hostitele
fclose(t)
40
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.1.6 GUIDE
GUI (grafické uživatelské rozhraní) poskytuje pohodlné ovládání softwarových
aplikací pomocí myši, což eliminuje potřebu učit se programovací jazyk nebo příkazy
za účelem spuštění aplikace.
MATLAB aplikace jsou samostatné programy obsahující MATLAB s plnohod-
notným uživatelským rozhraním, které automatizují úlohu nebo výpočet. GUI ob-
vykle obsahuje ovládací prvky, jako jsou nabídky, panely nástrojů, tlačítka a posuv-
níky. Mnoho produktů MATLAB, jako je Curve Fitting Toolbox, Signal Processing
Toolbox, Image Acquisition Toolbox a Control System Toolbox, obsahují aplikace
s vlastní uživatelským rozhraním. Vytvořit lze také vlastní aplikace, obsahující od-
povídající uživatelské rozhraní, pro ostatní uživatele.
Aplikace GUIDE (vývoj GUI prostředí) poskytuje nástroje pro tvorbu uživatel-
ských rozhraní pro vlastní aplikace. GUIDE Layout Editor umožňuje graficky navrh-
nout uživatelské rozhraní. GUIDE pak automaticky generuje MATLAB kód uživa-
telského rozhraní. Úpravami tohoto kódu se může dále upravovat chování aplikace.
MATLAB obsahuje vestavěné funkce, které pomáhají vytvořit GUI pro aplikace
programově. Přidat se dají dialogová okna, ovládací prvky uživatelského rozhraní
(např. tlačítka a posuvníky) a kontejnery (například panely a skupiny tlačítek) [11].
Obr. 3.15: Prostředí pro návrh grafického uživatelského rozhraní - guide (zdroj: [11])
41
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.2 Seznam zdrojových souborů programu KLPM
Aplikace GUIDE vytváří dva soubory charakterizující nově vytvořené uživatel-
ské rozhraní (okno). Prvním je soubor s příponou *.fig, který obsahuje informace
o umístění jednotlivých grafických prvků (texty, tlačítka, posuvníky, tabulky atd.).
Druhým je soubor s příponou *.m, který je připraven pro naprogramování vlastních
příkazů, které se mají vykonat po spuštění rozhraní (zobrazení okna) nebo po in-
terakci s jednotlivými prvky uživatelského rozhraní, jako např. stisk tlačítka, posun
posuvníku atd.
MAIN
Napoveda
main motor
Interferometr
Mikroskop
dilky late.m
motor.m
motorSTOP.m
Detekce linii.m
realVideo linematch.m
realVideo 4linky.m
realVideo 2linky.m
Interfero delka.m
KalibraceLate.m
KalibraceObrazu.m
[Academic use only] Obr. 3.16: Kostra programu KLPM
Seznam zdrojových souborů se stručným popisem:
MAIN.fig + MAIN.m
Hlavní ovládací panel. Zobrazí se při spuštění programu KLPM. Slouží ke
spouštění zbylých uživatelských rozhraní (Napoveda, main_motor, Interferometr
a Mikroskop) a výpočetních skriptů (dilky_late.m, KalibraceObrazu.m a Kalib-
raceLate.m).
Napoveda.fig + Napoveda.m
Okno s nápovědou. Obsahuje návod k použití programu KLPM pro kalibraci
latě.
main_motor.fig + main_motor.m
Okno ovládacího panelu motoru. Umožňuje komunikaci s krokovým motorem
42
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
přes sériový port, který pohybuje s latí po dráze. Využívá funkcí motor.m
a motorSTOP.m.
Interferometr.fig + Interferometr.m.
Okno ovládacího panelu interferometru. Umožňuje komunikaci s laserovým
interferometrem přes TCP/IP. Využívá funkce Interfero_delka.m.
Mikroskop.fig + Mikroskop.m
Okno pro výběr a nastavení mikroskopu. Umožňuje zvolit zobrazovací zařízení
a formát obrazu a zobrazit jeho náhled. Umožňuje spuštění funkce pro urovnání
mikroskopu realVideo_linematch.m.
dilky_late.m
Výpočetní skript sloužící k vytvoření tabulky rozestupů mezi kalibrovanými
dílky. Tato tabulka je požadována při spuštění KalibraceLate.m.
KalibraceObrazu.m
Výpočetní skript, který využívá funkcí motor.m, Interfero_delka.m a Detekce-
Linii.m, ke kalibraci obrazu. Výstupem je textový soubor s velikostmi jednot-
livých pixelů. Tento soubor je požadována při spuštění KalibraceLate.m.
KalibraceLate.m
Výpočetní skript, který po načtení souboru s tabulkou rozestupů kalibrace
a souboru z kalibrace obrazu, využívá funkcí motor.m, Interfero_delka.m a De-
tekceLinii.m k určení měřítka kalibrovaného úseku nivelační latě.
motor.m
Funkce, která odesílá motoru pokyn k posunu latě zadaným směrem a o zada-
nou vzdálenost.
motorSTOP.m
Funkce, která posílá motoru dotaz a přijímá odpověď. Z přijaté odpovědi zjiš-
ťuje, zda-li je motor v pohybu, či nikoli.
Interfero_delka.m
Funkce, která vrací aktuálně odečtenou délku laserovým interferometrem.
43
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
DetekceLinii.m
Funkce, která ve vstupním obrázku vyhledává linie, na základě čehož poté
vypočítává souřadnice středů černých dílků.
realVideo_linematch.m
Funkce, která zobrazuje video ze zobrazovacího zařízení, v kterém detekuje
linie pomocí funkce DetekceLinii.m. Nalezené linie a středy černých dílků vy-
kresluje do zobrazovaného videa. Slouží jako zpětná vazba při urovnávání mi-
kroskopu.
realVideo_4linky.m
Funkce, která zobrazuje video ze zobrazovacího zařízení. Do každého snímku
videa zakresluje tři červené poloprůhledné plochy, kterými tak vyznačí dvě
oblasti pro umístění černého dílku na začátku kalibrace obrazu.
realVideo_2linky.m
Funkce, která zobrazuje video ze zobrazovacího zařízení. Do každého snímku
videa zakresluje dvě červené poloprůhledné plochy, kterými tak vyznačí oblast
pro umístění prvního kalibrovaného dílku na začátku kalibrace latě.
3.3 Hlavní ovládací panel
Představováno soubory MAIN.fig a MAIN.m.
Okno hlavního ovládacího panelu se otevře při spuštění programu KLPM. Slouží
jako nabídka pro pohodlné spouštění všech aplikací, které vedou k určení měřítka
kalibrovaného úseku latě a také k zobrazení okna s nápovědou (viz. obr. 3.17).
Před spuštěním programu se musí do USB portu PC připojit jednak krokový motor
pomocí redukce „serial-to-USB“ a jednak mikroskop.
Hlavní ovládací panel slouží také jako platforma pro ukládání dat. Jedná se
o různá nastavení, které uživatel programu zadává v jiných oknech (např. port pro
připojení motoru, rychlost pohybu motoru atd.). Např. pokud uživatel změnil hod-
noty v okně ovládacího panelu motoru a toto okno poté zavřel, při opětovném ote-
vření okna budou hodnoty ve stejném stavu, v jakém byly před uzavřením okna.
44
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.17: Okno hlavního ovládacího panelu programu KLPM
Hlavní ovládací panel tedy musí být stále spuštěný. Po kliknutí na křížek pro ukon-
čení programu se objeví dialogové okno dotazující se o potvrzení tohoto kroku (viz.
obr. 3.18). Při zvolení odpovědi „Ano“ se zavřou všechna právě otevřená okna pro-
gramu KLPM a program se ukončí.
Obr. 3.18: Okno dotazující se o potvrzení o ukončení aplikace
3.3.1 Nápověda
Představováno soubory Napoveda.fig a Napoveda.m.
Okno nápovědy se otevře po kliknutí na tlačítko „Nápověda“ umístěné na hlavním
ovládacím panelu. Okno nápovědy obsahuje na pravé straně seznam dostupných
položek a v levé části zobrazuje text aktuálně zvolené položky (viz. obr. 3.19).
Při změně položky v seznamu se změní nejen zobrazovaný text, ale i název rá-
mečku (viz. obr. 3.20).
Text nápovědy obsahuje instrukce o postupu práce s programem a poskytuje
rady při řešení obvyklých problémů.
45
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.19: Okno nápovědy
Obr. 3.20: Okno nápovědy po změně položky
3.4 Ovládací panel motoru
Představováno soubory main_motor.fig a main_motor.m.
Okno ovládacího panelu motoru se otevře po kliknutí na tlačítko „Motor“ umís-
těné na hlavním ovládacím panelu. Při spuštění aplikace se program dotáže pomocí
příkazu COMport = instrhwinfo(’serial’) na výpis dostupných sériových portů.
Pokud není nalezen žádný sériový port, zobrazí se okno z obrázku 3.21.
Obr. 3.21: Okno chybové hlášky o nenalezení sériového portu
Pokud příkaz COMport = instrhwinfo(’serial’) nalezné dostupné sériové porty,
okno ovládacího panelu motoru se zobrazí a nalezené porty jsou připraveny k výběru
v rozbalovací nabídce (viz. obr. 3.22).
46
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.22: Okno ovládacího panelu motoru
Uživatel může vyzkoušet spojení s motorem přes nastavený port stisknutím tla-
čítka „Zkouška spojení“. Stisknutím tlačítka „Zkouška spojení“ se motoru odešle
přes zvolený sériový port příkaz k posunu o velmi malou vzdálenost (pomocí funkce
motor.m). Po odeslání tohoto příkazu je pomocí funkce motorSTOP.m v cyklu opa-
kovaně zjišťováno, zda-li se motor ještě pohybuje, či už se zastavil. V případě, že se
dal do pohybu a zastavil se, zobrazí se hláška z obrázku 3.23.
Obr. 3.23: Zpráva o úspěšném připojení motoru
V případě, že se motor do pohybu nedal, znamená to, že nedostal příkaz k pohybu
a stále není připojen. V takovém případě se zobrazí chybová hláška (viz. obr. 3.24)
a okno s nápovědou (viz. obr. 3.25).
Obr. 3.24: Chybová hláška připojení motoru
47
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.25: Nápověda k připojení motoru, pokud se motor nepřipojil
Okno „Ovládací panel motoru“ slouží jako samostatná aplikace pro posun ni-
velační latě. Uživatel má možnost zvolit směr pohybu latě (ke zdi nebo ode zdi),
rychlost pohybu a délku posunu latě. Délka posunu se může zadat jak v centimet-
rech nebo přímo v krocích motoru. Při zadání jedné hodnoty se hodnota v druhém
políčku automaticky přepočítá dle konstanty: 1 𝑘𝑟𝑜𝑘 𝑚𝑜𝑡𝑜𝑟𝑢 = 4, 040𝑒−6 cm. Za-
dané hodnoty jsou kontrolovány a v případě zadání příliš nízké, či vysoké hodnoty
je uživatel upozorněn pomocí zprávy z obrázku 3.26. Stisknutím tlačítka „START“
se motoru pomocí funkce motor.m odešlou zadané hodnoty pro posun latě.
Obr. 3.26: Upozornění na hranice zadávaných hodnot
3.4.1 Funkce motor.m
Funkce motor.m slouží pro odesílání povelů k pohybu motoru přes sériový port.
Funkci se na vstupu zadává celkem pět údajů:
1: Název sériového portu, např. ’COM3’ (hodnota z ovládacího panelu motoru)
2: Počáteční rychlost motoru (hodnota z ovládacího panelu motoru)
3: Počáteční zrychlení motoru (hodnota z ovládacího panelu motoru)
4: Maximální rychlost motoru (hodnota z ovládacího panelu motoru)
5: Směr pohybu latě spolu s počtem kroků motoru (jakým směrem a o jakou vzdá-
lenost má motor s latí posunout), např. ’f40000’ (dopředu o 40000 kroků)
48
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.5 Ovládací panel interferometru
Představováno soubory Interferometr.fig a Interferometr.m.
Okno ovládacího panelu interferometru se otevře po kliknutí na tlačítko „Interferometr“
umístěné na hlavním ovládacím panelu.
Laserový interferometr je připojen přes sériový port ke starému notebooku s ope-
račním systémem Windows XP. Na tomto notebooku se nejprve musí spustit pro-
gram, který komunikuje s interferometrem. Tento program poskytl pan Ing. Jiří
Matoušek, který ho však neaktualizuje pro novější operační systémy. Na notebooku
se dále musí spustit program „TCP tunel“, který je určen k vytvoření tunelu mezi
počítači připojenými k místní síti. V programu „TCP tunel“ se musí zadat IP ad-
resa, díky které notebook komunikuje se sítí a port 5001. Následně se klikne na
tlačítko „Start“ pro vytvoření TCP tunelu.
Počítač, ke kterému je připojen motor a digitální mikroskop (a na kterém je
program KLPM spuštěn) musí být tedy také připojen k místní síti, aby mohl s in-
terferometrem přes TCP/IP komunikovat (viz. obr. 3.27).
TCP tunel
IP:
port:
StartSTOP
147.32.131.11
5001
Windows XP
IP:147.32.131.11
Windows 8
interferometr
motor
mikroskop
místní síť
KLPM - Interferometr
spojení
Zkouška
starý notebook
[Academic use only] Obr. 3.27: Schéma zobrazující připojení přístrojů v laboratoři
49
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Po otevření okna ovládacího panelu interferometru je zobrazeno pouze pole pro
zadání IP adresy a tlačítko „Zkouška spojení“. Zbytek uživatelského rozhraní je
zatím skrytý (viz. obr. 3.28). Uživatel musí zadat IP adresu notebooku, ke kterému
je interferometr připojen. Zadaná IP adresa se musí shodovat s tou, která byla
zadána v programu „TCP tunel“.
Obr. 3.28: Okno ovládacího panelu interferometru před navázáním spojení
Po zadání IP adresy a stisknutí tlačítka „Zkouška spojení“ program nejdříve
zkontroluje textový řetězec IP adresy a v případě nesrovnalostí zobrazí okno s ná-
povědou (viz. obr. 3.29).
Obr. 3.29: Okno s nápovědou o správném zadání IP adresy
50
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Pokud je zadaná IP adresa ve správném formátu, program vytvoří TCPIP ob-
jekt, díky kterému komunikuje s interferometrem. Při navazování spojení se dočasně
zobrazí oznamovací okno (obrázek 3.30).
Obr. 3.30: Okno s nápovědou o správném zadání IP adresy
Pokud interferometr na dotaz odpoví, ale nepošle v odpovědi požadované znaky,
že je připojen, zobrazí se chybová hláška (obrázek 3.31), která informuje uživatele
o tom, že interferometr dotazovací řetězec sice přijal (tedy že TCP/IP spojení fun-
guje), ale že zpět neodeslal požadovaný řetězec.
Obr. 3.31: Chybová hláška o nepřipojení interferometru, který však dotazovací ře-
tězec přijal
Pokud se nepodaří interferometr připojit, zobrazí se chybová hláška (obrázek
3.32).
Obr. 3.32: Okno chybové hlášky o nepřipojení interferometru
Pokud vše proběhne v pořádku, zobrazí se oznamující hláška o úspěšném připo-
jení interferometru (viz. obr. 3.33) a zobrazí se dosud skryté panely uživatelského
rozhraní.
51
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.33: Okno s oznámením o úspěšném navázání spojení
Při každé komunikaci s interferometrem jsou získány i údaje o síle laserového sig-
nálu a vlnové délce (Lambda). Tyto hodnoty jsou poté zobrazovány v uživatelském
rozhraní (viz. obr. 3.34).
Obr. 3.34: Okno ovládacího panelu interferometru po navázání spojení
52
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Pokud síla signálu klesne pod 30%, zobrazí se varovná hláška (obrázek 3.35).
Obr. 3.35: Varovná hláška o nízké síle signálu
Laserový interferometr Renishaw ML10 nedisponuje jednotkou pro automatic-
kou korekci vlnové délky. Proto se mu před každým měřením musí zaslat aktuální
atmosférické hodnoty (teplota, tlak a vlhkost vzduchu). K tomuto účelu slouží pa-
nel s názvem „Nastavení aktuálních atmosférických hodnot“. Uživatel musí vyplnit
všechna tři políčka a stisknout tlačítko „Odeslat do Interferometru“. Pokud uživatel
nevyplní všechna tři pole nebo zadá některou z hodnot v jiném řádu, než se očekává,
zobrazí se příslušná varovná zpráva. Pokud jsou zadané hodnoty v pořádku, odešlou
se do interferometru, který by měl pomocí zadaných hodnot upravit vlnovou délku.
Pokud se vlnová délka Lambda změnila či nikoli, zobrazí se příslušná hláška (viz.
obr. 3.36).
Obr. 3.36: Okno se zprávou o úspěšném změně atmosférických hodnot
Ve spodním panelu s názvem „Laserové měření“ se po stisku tlačítka „Získat
délku“ interferometru odešle pokyn pro změření délky pomocí funkce Interfero_delka.m.
Tato délka (v metrech) se poté zobrazí do tabulky (viz. obr. 3.37). Hodnoty v ta-
bulce lze označit a zkopírovat. Kliknutím na tlačítko „Vyčistit tabulku“ se provede
vymazání hodnot z tabulky.
53
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.37: Okno ovládacího panelu interferometru se zobrazenými měřenými délkami
3.5.1 Funkce Interfero_delka.m
Funkce Interfero_delka.m slouží pro získání délky z laserového interferometru,
který s PC komunikuje po lokální síti skrze TCP/IP tunel. Funkci se na vstupu
zadává pouze IP adresa PC, ke kterému je interferometr připojen přes sériový port
a na kterém je spuštěn program TCP/IP tunel. Funkce vytvoří spojení pomocí
TCPIP objektu vytvořeného pomocí funkce tcpip. Interferometru odesílá pokyn
pro odečtení délky a zaslání její hodnoty zpět. Funkce odečte délku celkem 10 x
a posledních pět hodnot zprůměruje. Výsledný aritmetický průměr vrací na výstup.
3.6 Mikroskop
Představováno soubory Mikroskop.fig a Mikroskop.m.
Okno mikroskopu se otevře po kliknutí na tlačítko „Mikroskop“ umístěné na hlavním
ovládacím panelu. Při spuštění program pomocí funkce imaqhwinfo(’winvideo’)
vyhledá dostupná zobrazovací zařízení a seznam jejich podporovaných obrazových
formátů. Tyto údaje poté použije pro naplnění rozbalovacích nabídek (viz. obrázky
54
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.38 a 3.39). Pokud není žádné zařízení dostupné, zobrazí se chybová hláška se
zprávou: „Nebylo nalezeno žádné záznamové zařízení!“
Obr. 3.38: Rozbalovací nabídka dostupných zobrazovacích zařízení
Obr. 3.39: Rozbalovací nabídka dostupných formátů obrazu daného zařízení
Po výběru požadovaného zařízení a obrazového formátu je možné výsledek na-
stavení zhodnotit stisknutím tlačítka „Spustit náhled videa“. Při zaškrtnutí volby
„Otevřít tabulku s nastavením obrazu při spuštění náhledu videa“ se spolu s náhle-
dem videa pomocí funkce preview(obj) zobrazí i video source object (viz. obrázky
3.40 a 3.41). Náhled videa je užitečný při zaostřování mikroskopu.
55
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.40: Okno uživatelského rozhraní mikroskopu
Obr. 3.41: Okno náhledu videa s tabulkou obsahující parametry video source objektu
Po stisknutí na tlačítka „Urovnání mikroskopu s detekcí linií“ se spustí funkce
realVideo_linematch.m.
3.6.1 Funkce realVideo_linematch.m
Funkce realVideo_linematch.m slouží jako kontrola správného urovnání mikro-
skopu před kalibrací.
56
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Funkci se na vstupu zadávají tři údaje:
1: Identifikační číslo zobrazovacího zařízení DeviceID (dle volby v okně Mikro-
skop)2: Formát obrazu (dle volby v okně Mikroskop)3: Počet snímků za vteřinu, které se budou zobrazovat (rychlost videa)
Tyto údaje použije pro vytvoření video input objektu pomocí příkazu obj =
videoinput(’winvideo’, DeviceID, Format).
Hodnotu počtu snímků za vteřinu využije při vytvoření časovače pomocí funkce
timer. Pomocí funkce trigger spouští získávání snímků z videa. Díky využití časo-
vače získává pouze daný počet snímků za vteřinu, což zajistí větší časový prostor pro
zpracování jednotlivých snímků. Každý snímek prochází zpracováním. Nejdříve sní-
mek vstupuje do funkce DetekceLinii.m a následně jsou detekované linie a tangenta
jejich stočení zobrazeny do snímku pomocí funkcí insertShape a insertText (viz.
obr. 3.42).
Obr. 3.42: Okno zobrazující živé video s detekovanými liniemi a středy dílků
Tato funkce uživateli poskytuje zpětnou vazbu při urovnávání mikroskopu. Mi-
kroskop by měl být urovnán do takové polohy, aby byly detekované linie pokud
možno rovnoběžné s delší stranou snímku a aby byla ostrost po celé ploše snímku
konstantní, tedy aby byla plocha snímku rovnoběžná s plochou čárového kódu latě.
57
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Pokud je detekovaná linie stočená o více než 20′′ , zobrazí se na videu červenou bar-
vou. Uživatel by se měl tedy snažit, aby byly všechny zobrazené linie zelenou barvou
a zobrazovaná tangenta stočení linií se blížila k nule.
3.6.2 Funkce DetekceLinii.m
Funkce DetekceLinii.m slouží k detekci linií ve snímku pomocí funkcí popsaných
v sekci 3.1.4 Image Processing Toolbox.
Funkci se na vstupu zadává pět údajů:
1: Vstupní obrázek (v podobě matice)2: Počet vrcholů (peaks), které má detekovat funkce houghpeaks
3: Hodnota citlivosti, která slouží jako konstanta upravující hodnotu přechodu
(funkce graytrash) používanou ve funkci houghpeaks
4: Hodnota argumentu ’FillGap’ ve funkci houghlines
5: Hodnota argumentu ’MinLength’ ve funkci houghlines
Na výstup jdou takové detekované linie, které jsou stočené vůči delší straně
snímku o méně než 1∘ a protínají svislý střed snímku. Mezi dvěma sousedními liniemi
jsou vypočteny středy. Pro každý střed je poté vyhodnocováno, zda-li se nachází na
černém pozadí. Průměrná hodnota všech pixelů na stejné řádce musí být menší než
hodnota přechodu (funkce graytresh).
Na výstupu z funkce DetekceLinii.m jsou celkem čtyři proměnné:
XY - matice o rozměrech „počet linií“ × 4 obsahující na každém řádku pixelové
souřadnice počátku a konce detekované linie (úsečky) v následujícím pořadí:
[𝑥1 𝑦1 𝑥2 𝑦2]
COEFF - matice o rozměrech „počet linií“ × 2 obsahující na každém řádku koeficienty
(𝑎0 𝑎1) detekované linie/přímky
Y_APROX - matice o rozměrech „počet linií“ × 2 obsahující na každém řádku Y-ové
pixelové souřadnice linie, v kterých linie protíná okraje snímku: [𝑦𝑝𝑟𝑜 𝑥=1 𝑦𝑝𝑟𝑜 𝑥=𝑚𝑎𝑥]
Stredy_dilku - vektor obsahující souřadnice středů černých dílků v obraze
58
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
3.7 Tabulka kalibrovaného úseku
Představováno souborem dilky_late.m.
Po kliknutí na tlačítko „Vytvořit novou tabulku kalibračních rozestupů pro lať
Leica“ umístěné na hlavním ovládacím panelu se zobrazí dialog pro zadání hod-
not rozsahu kalibrace (viz. obr .3.43).
Obr. 3.43: Okno sloužící k zadání požadovaného úseku kalibrace
Po zadání hodnot a kliknutí na tlačítko „OK“ se provede výpočet.
Výsledek výpočtu se zobrazí v dialogovém okně (viz. obr .3.44).
Obr. 3.44: Okno s výslednými parametry vygenerované tabulky rozestupů kalibrace
Uživatel má možnost se rozhodnout, zda-li chce výsledek uložit, či nikoli. Pokud
zvolí možnost „Ne“, zobrazí se zpráva na obrázku 3.46 a výpočetní skript se ukončí.
59
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Pokud zvolí možnost „Ano“, zobrazí se okno (obr. 3.45) průzkumníka Windows pro
zvolení adresáře a názvu souboru s výslednou tabulkou.
Obr. 3.45: Okno průzkumníka Windows pro uložení souboru s tabulkou rozestupů
Obr. 3.46: Okno varovné hlášky, že vygenerovaná tabulka nebyla uložena
Pokud uživatel toto okno zavře, nebo klikne na „Storno“, zobrazí se okno se
zprávou na obrázku 3.46. Pokud uživatel tabulku uloží, zobrazí se okno se zprávou:
„Tabulka kalibračních rozestupů byla uložena.“
Zdrojovou matici s pozicemi nejužších dílků na latích určených pro nivelační
přístroje Leica poskytl vedoucí práce.cb mm1 02 6,07503 10,12504 20,25005 24,30006 36,4500. .. .. .
156 2656,8000157 2660,8500158 2666,9250159 2670,9750160 2679,0750
60
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
První dílek v matici o souřadnici 0 mm je však až třetím nejužším dílkem od
počátku latě. Jeho vzdálenost od patky latě je asi 82 mm. Výsledná zpráva o výsledku
výpočtu (obr. 3.44) je opravena o tuto zkutečnost.
Výstupem je tedy textový soubor, který obsahuje vektor s rozestupy mezi jed-
notlivými kalibrovanými dílky na lati. Rozestupy jsou v milimetrech. Posledními
dvěma hodnotami v souboru jsou vzdálenosti prvního a posledního kalibrovaného
dílku.[frame=single]5.8725000e+01, 5.6700000e+01, 4.0500000e+01, 4.6575000e+01, 4.2525000e+01, 5.6700000e+01, 6.8850000e+01,7.0875000e+01, 5.0625000e+01, 4.4550000e+01, 8.3025000e+01, 5.2650000e+01, 4.0500000e+01, 7.4925000e+01,5.0625000e+01, 7.4925000e+01, 4.6575000e+01, 4.0500000e+01, 5.2650000e+01, 5.0625000e+01, 4.2525000e+01,6.8850000e+01, 9.5175000e+01, 4.6575000e+01, 5.0625000e+01, 4.0500000e+01, 4.0500000e+01, 4.0500000e+01,1.2352500e+02, 8.7075000e+01, 4.4550000e+01, 4.0500000e+01, 4.8600000e+01, 5.0625000e+01, 4.4200000e+02,2.3660000e+03
3.8 Kalibrace obrazu
Představováno souborem KalibraceObrazu.m.
Funkce KalibraceObrazu.m se spustí po kliknutí na tlačítko „Kalibrace obrazu“ umís-
těné na hlavním ovládacím panelu. Kalibrace obrazu probíhá dle následujících bodů:
1. Zobrazení okna průzkumníka Windows pro výběr složky sloužící k ukládání
výstupů.
2. Zobrazení okna s instruktáží (obrázek 3.47).
Obr. 3.47: Okno s instruktážní zprávou před kalibrací obrazu
3. Spuštění funkce realVideo_4linky.m (živý náhled videa a vyznačenými ob-
lastmi pro umístění kalibrovaného dílku v obraze (viz. obr. 3.48)).
4. Vytvoření video input objektu pomocí příkazu vid = videoinput(’winvideo’,
DeviceID, DeviceFormat), nastavení video objektu na získávání snímků v od-
stínech šedi a spuštění zařízení pomocí příkazu start(vid).
61
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.48: Okno videa s vyznačenými oblastmi pro umístění dílku před kalibrací
5. Pořízení snímku pomocí funkce getsnapshot.
6. Detekce linií a určení středu kalibrovaného dílku v pořízeném snímku pomocí
funkce DetekceLinii.m (pokud nenalezen žádný střed dílku, zobrazení chybové
hlášky a ukončení kalibrace obrazu).
7. Vyhodnocení, zda-li se střed kalibrovaného dílku nachází v jedné z vyznačených
oblastí.
(a) Pokud ne, odstranění video input objektu (delete(vid)) a zobrazení
okna z obrázku 3.49.
Obr. 3.49: Okno s otázkou, zda-li opakovat či ukončit kalibraci obrazu
i. Pokud zvoleno „Zkusit znovu“, návrat k bodu č. 2.
ii. Pokud zvoleno „Ukončit“, kalibrace obrazu se ukončí.
62
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
(b) Pokud se střed kalibrovaného dílku nachází v jedné z vyznačených kraj-
ních oblastí, zobrazí se graf zobrazující pořízený snímek spolu s deteko-
vanými liniemi a středem dílku (viz. obr. 3.50). Graf a samotný pořízený
snímek se uloží do zvolené složky ve formátu PNG, resp. TIFF a dále se
pokračuje bodem č. 8.
Obr. 3.50: Graf zobrazující pořízený snímek s detekovanými liniemi a středem dílku
8. Výpočet limitní obrazové souřadnice (nachází se ve stejné vzdálenosti od pro-
tilehlého delšího okraje obrazu jako se nyní nachází střed dílku v obrazu),
sloužící pro vyhodnocení, zda-li už kalibrovaný dílek v obraze „přejel“ od jed-
noho okraje k druhému.
9. Vytvoření okna průběhu kalibrace obrazu s tlačítkem pro ukončení (viz. obr.
3.51).
Obr. 3.51: Okno průběhu kalibrace obrazu s tlačítkem pro ukončení
63
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
10. Změření délky pomocí funkce Interfero_delka.m a společně s obrazovou sou-
řadnicí středu dílku uložení do matice MIRY.
11. Vyhodnocení, zda-li se střed dílku v obraze dostal za limitní hodnotu (zda-li
se nachází v blízkosti opačného okraje, než u kterého se nacházel na začátku
kalibrace).
(a) Pokud ještě limit nepřekročil, pokračuje se bodem č. 12.
(b) Pokud už limit překročil, kalibrace je u konce a provede se závěrečný
proces, počínaje bodem č. 24.
12. Udělení pokynu motoru, pomocí funkce motor.m, aby s latí posunul o 0,1 mm.
13. Změření délky pomocí funkce Interfero_delka.m.
14. Pořízení snímku pomocí funkce getsnapshot a jeho uložení do zvolené složky
ve formátu TIFF.
15. Detekce linií a určení středu kalibrovaného dílku v pořízeném snímku pomocí
funkce DetekceLinii.m (pokud není nenalezen žádný střed dílku, kalibrace ob-
razu pokračuje bodem č. 12).
16. Zobrazení grafu zobrazujícího pořízený snímek spolu s detekovanými liniemi
a středem dílku a jeho uložení ve formátu PNG.
17. Uložení délky (získané v bodě č. 13) a obrazové souřadnice středu dílku do
matice MIRY.
18. Výpočet počtu pixelů mezi současnou a předchozí pozicí středu dílku v obrazu
a uložení do proměnné rozdil_StredyDilkuPX.
19. Výpočet vzdálenosti mezi současnou a předchozí pozicí nivelační latě a uložení
do proměnné d_StredyDilku.
20. Výpočet průměrné obrazové souřadnice mezi současnou a předchozí pozicí
středu dílku v obrazu a její uložení do prvního sloupce matice MERITKA.
64
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
21. Výpočet průměrné velikosti jednoho pixelu z daného obrazového úseku d_StredyDilku
/ rozdil_StredyDilkuPX a uložení do druhého sloupce matice MERITKA.
22. Pokud matice MERITKA obsahuje alespoň dva řádky, vstupuje do vyrovnání
pomocí MNČ. Jejími hodnotami je proložen polynom 3. stupně. Je tak ur-
čena velikost každého pixelu z dosavadního kalibrovaného úseku obrazu. Do
výsledné matice MeritkoPX se do prvního sloupce ukládá souřadnice pixelů
a do druhého sloupce jejich velikost v mikrometrech.
23. Výpočet procentuálního vyjádření stavu průběhu kalibrace obrazu a aktuali-
zace okna průběhu kalibrace (viz. obr. 3.51). Kalibrace obrazu dále pokračuje
návratem k bodu č. 11.
24. Odstranění video objektu (delete(vid)) a zavření všech oken (grafu a okna
s průběhem kalibrace).
25. Uložení výsledné matice MeritkoPX do textového souboru. Tento soubor slouží
pro načtení této matice MeritkoPX při kalibraci latě (funkce KalibraceLate.m).
26. Zobrazení grafu (viz. obr. 3.52) s výsledkem kalibrace obrazu (hodnoty z ma-
tice MERITKA) s proloženým polynomem 3. stupně (hodnoty z matice MeritkoPX)
a jeho uložení do formátu PDF.
250 300 350 400 450 500 550 600 650 7005.5
5.55
5.6
5.65
5.7
5.75
5.8
5.85
5.9
5.95
6Velikost jednotlivých obrazových bodù
Obrazové body [pix]
Vel
ikos
t obr
azov
ého
bodu
[µm
]
Obr. 3.52: Graf zobrazující výsledek kalibrace obrazu
65
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
27. Uložení proměnných MIRY, rozdil_StredyDilkuPX, d_StredyDilku, MERITKA
a MeritkoPX do textového souboru Kalib_obr_promenne.txt (slouží ke kon-
trole).
28. Uložení všech textových výstupů, které MATLAB při kalibraci vypisoval, do
textového souboru log__kal_obr.txt (slouží ke kontrole, pokud se kalibrace
přeruší z důvodu nějaké chyby).
3.9 Kalibrace latě
Představováno souborem KalibraceLate.m.
Funkce KalibraceLate.m se spustí po kliknutí na tlačítko „Kalibrace latě“ umístěné
na hlavním ovládacím panelu. Kalibrace latě probíhá dle následujících bodů:
1. Zobrazení okna průzkumníka Windows pro výběr souboru s tabulkou roze-
stupů kalibrace (vygenerována pomocí funkce dilky_late.m) a následné načtení
dat do proměnné TAB_rozestupu.
2. Zobrazení okna průzkumníka Windows pro výběr souboru kalibrace obrazu,
který obsahuje velikosti jednotlivých pixelů a následné načtení dat do pro-
měnné MeritkoPX.
3. Zobrazení okna průzkumníka Windows pro výběr složky sloužící k ukládání
výstupů.
4. Zobrazení okna s instruktáží (obrázek 3.53).
Obr. 3.53: Okno s instruktážní zprávou
5. Spuštění funkce realVideo_2linky.m (živý náhled videa s vyznačenou oblastí
pro umístění kalibrovaného dílku v obraze). Uživatel najede pomocí ovládacího
66
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
panelu motoru s kalibrovaným dílkem přibližně na střed obrazu (viz. obr. 3.54)
a okno ovládacího panelu motoru a okno videa zavře.
Obr. 3.54: Kalibrovaný dílek posunut do vyznačené oblasti pomocí motoru
6. Vytvoření video input objektu pomocí příkazu vid = videoinput(’winvideo’,
DeviceID, DeviceFormat), nastavení video objektu na získávání snímků v od-
stínech šedi a spuštění zařízení pomocí příkazu start(vid).
7. Pořízení snímku pomocí funkce getsnapshot.
8. Detekce linií a určení středu kalibrovaného dílku v pořízeném snímku pomocí
funkce DetekceLinii.m (pokud nenalezen žádný střed dílku, zobrazení chybové
hlášky a ukončení kalibrace obrazu).
9. Vyhodnocení, zda-li se střed kalibrovaného dílku nachází ve vyznačené oblasti
(v úseku kalibrace obrazu).
(a) Pokud ne, odstranění video input objektu (delete(vid)) a zobrazení
okna z obrázku 3.55.
i. Pokud zvoleno „Zkusit znovu“, návrat k bodu č. 4.
ii. Pokud zvoleno „Ukončit“, kalibrace latě se ukončí.
67
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.55: Okno s otázkou, zda-li opakovat či ukončit kalibraci obrazu
(b) Pokud se střed kalibrovaného dílku nachází ve vyznačené oblasti, pokra-
čuje se bodem č. 10.
10. Výpočet opravy, neboli vzdálenosti středu dílku od středu obrazu, za pomoci
matice MeritkoPX z kalibrace obrazu a její uložení do prvního sloupce matice
MIRY.
11. Zobrazení okna, dotazujícího se na umístění patky latě (viz. obr. 3.56). Tato
informace slouží ke zjištění směru posunu latě, k určení znaménka měřených
délek interferometrem a k určení znaménka délek opravujících rozestupy mezi
kalibrovanými dílky (tzv. opravy motoru).
Obr. 3.56: Okno s otázkou o pozici latě
(a) Pokud se patka latě nachází dál od zdi, lať se bude posouvat směrem od
zdi, délky měřené interferometrem se budou násobit číslem 1 a opravy
motoru číslem -1.
(b) Pokud se patka latě nachází blíže ke zdi, lať se bude posouvat směrem ke
zdi, délky měřené interferometrem se budou násobit číslem -1 a opravy
motoru číslem 1.
12. Zobrazení dotazovacího okna, zda-li se jedná o tzv. zpětnou kalibraci (viz. obr.
3.57).
68
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
Obr. 3.57: Okno dotazující se, jedná-li se o tzv. zpětnou kalibraci
(a) Pokud se nejedná o zpětnou kalibraci, nic se nemění.
(b) Pokud se jedná o zpětnou kalibraci, tabulka rozestupů kalibrace se pře-
vrátí pomocí funkce TAB_rozestupu = flipud(TAB_rozestupu) a změní
se směr posunu latě a znaménko oprav motoru.
13. Zobrazení okna s grafem zobrazující pořízený snímek spolu s detekovanými
liniemi a středem dílku (viz. obr. 3.58). Graf a samotný pořízený snímek se
uloží do zvolené složky ve formátu PNG, resp. TIFF.
Obr. 3.58: Okno zobrazující aktuálně vyhodnocený snímek
69
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
14. Vytvoření okna průběhu kalibrace obrazu s tlačítkem pro ukončení (viz. obr.
3.59). Pokud se kdykoliv stiskne tlačítko pro ukončení kalibrace, okamžitě se
přeskočí až na bod č. 34.
Obr. 3.59: Okno průběhu kalibrace latě s tlačítkem pro ukončení
15. Změření délky pomocí funkce Interfero_delka.m a její uložení se správným zna-
ménkem do druhého sloupce matice MIRY.
16. Výpočet opravené měřené délky (součet hodnot na stejném řádku v matici
MIRY) a uložení této hodnoty do vektoru Cteni.
17. Výpočet pozice kalibrovaného dílku na lati (od patky latě) v milimetrech (po-
stupným přičítání kalibračních rozestupů) a uložení do vektoru PoziceNaLati.
18. Výpočet rozdílu Cteni - PoziceNaLati a uložení do vektoru rozdil.
19. Uložení právě vypočtených hodnot (PoziceNaLati, Cteni, rozdil) do matice
VYSLEDKOVA.
20. Cyklus, který se opakuje tolikrát, kolik je rozestupů kalibrace (jaká je velikost
vektoru TAB_rozestupu).
21. Udělení pokynu motoru, pomocí funkce motor.m, aby s latí posunul o vzdá-
lenost z vektoru TAB_rozestupu opravenou o tzv. opravu motoru (hodnotu
opravy získané v bodě č. 10, resp. 26 s příslušným znaménkem). Motor tedy
s latí přejede do takové pozice, v které se střed kalibrovaného dílku nachází
velmi blízko středu obrazu (do 50 𝜇𝑚).
22. Opakované měření délky pomocí funkce Interfero_delka.m, dokud rozdíl dvou
po sobě měřených délek není menší než 0,1 mm, což značí, že se motor zastavil.
70
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
23. Pořízení snímku pomocí funkce getsnapshot a jeho uložení do zvolené složky
ve formátu TIFF.
24. Změření délky pomocí funkce Interfero_delka.m a její uložení se správným zna-
ménkem do druhého sloupce matice MIRY.
25. Detekce linií a určení středu kalibrovaného dílku v pořízeném snímku pomocí
funkce DetekceLinii.m (pokud není nenalezen žádný střed dílku, zobrazí se chy-
bová hláška a kalibrace latě se ukončí).
26. Výpočet opravy, neboli vzdálenosti středu dílku od středu obrazu, za pomoci
matice MeritkoPX z kalibrace obrazu a její uložení do prvního sloupce matice
MIRY.
27. Zobrazení grafu zobrazujícího pořízený snímek spolu s detekovanými liniemi
a středem dílku a jeho uložení ve formátu PNG (viz. obr. 3.58).
28. Výpočet opravené měřené délky (součet hodnot na stejném řádku v matici
MIRY) a uložení této hodnoty do vektoru Cteni.
29. Výpočet pozice kalibrovaného dílku na lati (od patky latě) v milimetrech (po-
stupným přičítání kalibračních rozestupů) a uložení do vektoru PoziceNaLati.
30. Výpočet rozdílu Cteni - PoziceNaLati a uložení do vektoru rozdil.
31. Uložení právě vypočtených hodnot (PoziceNaLati, Cteni, rozdil) do matice
VYSLEDKOVA.
32. Aktualizace okna průběhu kalibrace (viz. obr. 3.59).
33. Pokud se nejednalo o poslední kalibrovaný dílek, pokračuje kalibrace latě ná-
vratem k bodu č. 16. Pokud se o však poslední kalibrovaný dílek jednalo,
kalibrace pokračuje následujícím bodem.
34. Odstranění video objektu (delete(vid)) a zavření všech oken (grafu a okna
s průběhem kalibrace).
71
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
35. Pokud se během kalibrace zpracovaly tři a více dílků, provede se statistické
zhodnocení vedoucí k určení měřítka kalibrovaného úseku latě.
(a) Výpočet normalizovaných rozdílů a jejich uložení do vektoru rozdil_D.
Jedná se o hodnoty z vektoru rozdil opravené o jejich průměrnou hod-
notu.
(b) Výpočet lineární regrese, kde PoziceNaLati je nezávislá a rozdil_D zá-
vislá proměnná. Výsledkem je údaj o měřítku kalibrovaného úseku latě:
𝑚 = 1 + 𝑎0, kde 𝑎0 je násobný koeficient regresní přímky.
(c) Výpočet oprav od vyrovnané hodnoty a jejich uložení do vektoru res.
36. Uložení vektorů rozdil_D a res do čtvrtého, resp. pátého sloupce matice
VYSLEDKOVA.
37. Uložení výsledků kalibrace a výsledné matice VYSLEDKOVA do textového sou-
boru vysledky_kalibrace.txt.
38. Zobrazení grafu (viz. obr. 3.60) normalizovaných rozdílů (𝑑𝑙𝑎𝑠𝑒𝑟 + 𝑜𝑝𝑟𝑎𝑣𝑎) −
𝑝𝑜𝑧𝑖𝑐𝑒 𝑛𝑎 𝑙𝑎𝑡𝑖 (PoziceNaLati na ose X a rozdil_D na ose Y) s proloženou
regresní přímkou a jeho uložení do formátu PDF.
400 600 800 1000 1200 1400 1600 1800 2000 2200 2400−10
−5
0
5
10
15Výsledek kalibrace latì pomocí snímkování digitáním mikroskopem
Pozice na lati [mm]
Opr
avy
od p
rum
eru
[µm
]
Obr. 3.60: Graf zobrazující výsledek kalibrace latě
72
ČVUT v Praze 3. TVORBA ŘÍDÍCÍHO PROGRAMU KLPM
39. Uložení všech proměnných do souboru Kalib_late_vsechny_promene.mat (slouží
ke kontrole, v prostředí MATLAB se načítá pomocí příkazu:
load(Kalib_late_vsechny_promene.mat)).
40. Uložení všech textových výstupů, které MATLAB při kalibraci vypisoval, do
textového souboru log_„datum“.txt (slouží ke kontrole, pokud se kalibrace
přeruší z důvodu nějaké chyby).
3.10 Kompilace programu
Pro vytvoření samostatně spustitelného programu v prostředí Windows byla po-
užita aplikace MATLAB Compiler. Vytvořen byl instalační balíček KLPM_pkg.exe
o velikosti 413 MB, který vedle samotného programu KLPM nainstaluje i MATLAB
Runtime Library. Jedná se o knihovnu obsahující všechny MATLAB funkce potřebné
pro správný chod všech MATLAB aplikací. Program KLPM je tedy možné používat
i na počítačích, které nemají nainstalovaný MATLAB. V takovém případě se po spuš-
tění KLPM_pkg.exe (viz. obr. 3.61) automaticky spustí program MCRInstaller.exe,
což je samorozbalovací archiv (viz. obr. 3.62) obsahující instalátor MATLAB Run-
time Library. Samotný program se poté spouští pomocí KLPM.exe o velikosti 29 MB.
Obr. 3.61: Okno zobrazující průběh instalace balíčku KLMP_pkg.exe
Obr. 3.62: Samorozbalovací archiv MCRInstaller.exe, obsahující instalátor MRL
73
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
4 Kalibrace latě pomocí digitálního mik-
roskopuKe kalibraci digitální nivelační latě Nedo Leica GPCL3, s.č. 29723 (délka 3 m) byl
využit nově vytvořený řídící software Kalibrace latě pomocí mikroskopu (KLPM).
Provedeny byly celkem dvě kalibrace latě, které měly prověřit správné fungování
programu KLPM. Nejdříve ve směru „TAM“ na úseku od 442 mm do 2366 mm
a poté ve směru „ZPĚT“ na úseku od 2366 mm do 442 mm. Na zvoleném úseku bylo
měřeno celkem na 35 pozicích. Před každou kalibrací latě byla provedena kalibrace
obrazu na počátečním kalibrovaném dílku úseku.
4.1 Příprava kalibrace
Před samotným měřením se musí provést několik nezbytných úkonů, aby byla
zajištěna požadovaná přesnost kalibrace.
4.1.1 Urovnání latě do vodorovné polohy
Nivelační lať byla na vozík připevněna patkou blíže ke zdi laboratoře. Lať byla
nejdříve urovnána pomocí rektifikované libely s přesností 0,2 mm/m a poté urov-
nána do vodorovné polohy pomocí nivelace. K nivelaci latě byl použit druhý digitální
nivelační přístroj Leica NA3003. Místo těžké nivelační latě byly použity dvě tenké
papírové stupnice s kódem, které byly připevněny lepící páskou k polystyrenu čtver-
cových rozměrů. Čtení byla provedena nad nosníky, které lať podpírají (viz. obr.
4.1). Měření se opakovalo, dokud nebyl rozdíl výšek mezi nosníky menší než 0,1 mm.
4.1.2 Připojení přístrojů k PC a navázání spojení
Před spuštěním programu KLPM byl k USB portu počítače připojen digitální
mikroskop a pomocí redukce ze sériového na USB port i krokový motor. Počítač byl
pomocí síťového kabelu připojen ke školní počítačové síti, aby mohl přes TCP/IP
74
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
Obr. 4.1: Proužky se stupnicemi na polystyrenu v pozici nad jedním z nosníků
tunel komunikovat s laserovým interferometrem. Ten se připojil opět pomocí re-
dukce ze sériového na USB port ke „starému“ notebooku, na kterém byl spuštěn
program pro komunikaci s přístrojem a program TCP tunel. Zadána byla IP adresa
147.32.131.11 a port 5001.
Po spuštění programu KLPM byla, prostřednictvím ovládacího panelu motoru,
navázána komunikace s krokovým motorem přes sériový port COM3. Poté prostřed-
nictvím ovládacího panelu interferometru byla navázána komunikace s laserovým
interferometrem pomocí zadané IP adresy 147.32.131.11. Síla signálu se pohybovala
okolo 50%.
4.1.3 Urovnání mikroskopu
Ze seznamu dostupných zařízení byl zvolen Celestron digital microscope a for-
mát obrazu byl ponechán standardní YUY2_1280x960. Poté se stisknutím tlačítka
„Urovnání mikroskopu“ spustil živý náhled videa, v kterém byly zakresleny dete-
kované linie spolu s údaji o jejich stočení. Obraz mikroskopu byl nejdříve nahrubo
zaostřen a poté byl mikroskop ručně urovnán. Všechny detekované linie v obrazu
byly zobrazeny zeleně, což značilo, že se od delší strany záběru nestáčí o více než
20′′ . Okno s videem pro urovnání mikroskopu se zavřelo a pomocí tlačítka „Spustit
náhled videa“ se spustil živý náhled videa, díky kterému se obraz mikroskopu ručně
doostřil.
75
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
4.1.4 Volba kalibrovaného úseku
Pro volbu kalibrovaného úseku byla použita funkce programu KLPM, ve které
byl zadán úsek 440 mm až 2400 mm s minimálním rozestupem kalibrovaných dílků
40 mm. Funkce vypočetla, že první kalibrovaný dílek bude ve vzdálenosti 442 mm
a poslední dílek ve vzdálenosti 2366 mm od patky latě. Minimální rozestup dvou sou-
sedních dílků bude 40,500 mm a maximální 123,525 mm. Rozestup větší jak 100 mm
bude v kalibrovaném úseku latě pouze jeden. Tabulka rozestupů kalibrace byla ulo-
žena do souboru 442az2366mm_40mm.txt.
4.2 Kalibrace obrazu na počátku kalibrovaného
úseku
Před spuštěním kalibrace obrazu byly interferometru odeslány aktuální atmosfé-
rické hodnoty (teplota 22,0∘C, tlak 99100 Pa a relativní vlhkost 52%). Pro kalibraci
obrazu byl použit první dílek zvoleného kalibrovaného úseku.
250 300 350 400 450 500 550 600 650 700
5.6
5.65
5.7
5.75
5.8
5.85
5.9
Velikost jednotlivých obrazových bodù
Obrazové body [pix]
Vel
ikos
t obr
azov
ého
bodu
[µm
]
Obr. 4.2: Graf kalibrace obrazu na začátku kalibrovaného úseku (442 mm)
76
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
Měřeno bylo celkem na 30 pozicích. Na každé pozici se detekce linií zdařila. Vý-
počet byl tedy proveden na 29 úsecích. Kalibrovaný úsek snímku zahrnoval celkem
477 pixelů (od pixelu 239 do pixelu 716).
Velikosti jednotlivých pixelů blízko středu obrazu (480,5):pixel velikost [um]471 5.8087472 5.8089473 5.8091474 5.8094475 5.8096476 5.8098477 5.8101478 5.8103479 5.8106480 5.8108481 5.8110482 5.8113483 5.8115484 5.8118485 5.8120486 5.8123487 5.8125488 5.8127489 5.8130490 5.8132
Průměrná velikost pixelu blízko středu snímku je 5, 8110 𝜇𝑚.
4.3 Kalibrace latě ve směru „TAM“
400 600 800 1000 1200 1400 1600 1800 2000 2200 2400−10
−5
0
5
10
15Výsledek kalibrace latì pomocí snímkování digitáním mikroskopem
Pozice na lati [mm]
Opr
avy
od p
rum
eru
[µm
]
Obr. 4.3: Graf průběhu kalibrace ve směru „TAM“
Čas začátku kalibrace: 26.05.2014 16:41:31Čas konce kalibrace: 26.05.2014 17:02:00Počáteční pozice [mm]: 442Koncová pozice [mm]: 2366
77
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
Počet observací: 35Měřítko: 0.99999152 (-8.48 ppm)Střední kvadratická chyba měřítka: 0.00000094 (0.94 ppm)Střední kvadratická chyba z~oprav [um]: 3.2Max oprava po vyrovnání [um]: 6.6Min oprava po vyrovnání [um]: -6.9
Pozice na Opravené čtení Rozdíl Opravy od průměrného Odchylky od regresnílati [mm] interfrometru [mm] [mm] rozdílu [um] přímky [um]------------------------------------------------------------------------------------------------------------442.000 -370.57633 -812.57633 8.04 -0.02500.725 -311.85363 -812.57863 10.34 2.78557.425 -255.15017 -812.57517 6.89 -0.20597.925 -214.65335 -812.57835 10.06 3.32644.500 -168.07854 -812.57854 10.25 3.91687.025 -125.55590 -812.58090 12.61 6.63743.725 -68.85100 -812.57600 7.71 2.21812.575 0.00543 -812.56957 1.28 -3.64883.450 70.87670 -812.57330 5.01 0.69934.075 121.50496 -812.57004 1.75 -2.14978.625 166.05655 -812.56845 0.16 -3.36
1061.650 249.08100 -812.56900 0.71 -2.101114.300 301.72920 -812.57080 2.51 0.151154.800 342.22928 -812.57072 2.43 0.411229.725 417.16096 -812.56404 -4.25 -5.631280.350 467.78763 -812.56237 -5.92 -6.871355.275 542.71130 -812.56370 -4.59 -4.911401.850 589.28228 -812.56772 -0.57 -0.491442.350 629.78335 -812.56665 -1.64 -1.221495.000 682.43104 -812.56896 0.67 1.541545.625 733.05926 -812.56574 -2.55 -1.261588.150 775.58485 -812.56515 -3.14 -1.491657.000 844.42798 -812.57202 3.73 5.971752.175 939.60987 -812.56513 -3.16 -0.121798.750 986.18713 -812.56287 -5.42 -1.981849.375 1036.81095 -812.56405 -4.24 -0.371889.875 1077.31519 -812.55981 -8.48 -4.261930.375 1117.80718 -812.56782 -0.47 4.091970.875 1158.31188 -812.56312 -5.17 -0.272094.400 1281.83545 -812.56455 -3.74 2.212181.475 1368.91249 -812.56251 -5.78 0.912226.025 1413.46634 -812.55866 -9.63 -2.572266.525 1453.95974 -812.56526 -3.03 4.382315.125 1502.56028 -812.56472 -3.57 4.252365.750 1553.19053 -812.55947 -8.82 -0.58
4.4 Kalibrace obrazu na konci kalibrovaného úseku
Před spuštěním kalibrace obrazu byly interferometru odeslány aktuální atmosfé-
rické hodnoty (teplota 21,8∘C, tlak 99000 Pa a relativní vlhkost 49%). Pro kalibraci
obrazu byl použit poslední dílek zvoleného kalibrovaného úseku.
Velikosti jednotlivých pixelů blízko středu obrazu (480,5):pixel velikost [um]471 5.8408472 5.8404473 5.8401474 5.8397475 5.8393476 5.8389477 5.8385478 5.8382479 5.8378480 5.8374481 5.8371482 5.8367483 5.8364484 5.8361485 5.8357486 5.8354487 5.8351488 5.8347489 5.8344490 5.8341
Průměrná velikost pixelu blízko středu snímku je 5, 8374 𝜇𝑚. Tato hodnota se
liší o 0, 0264 𝜇𝑚 oproti kalibraci obrazu na začátku úseku.
78
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
250 300 350 400 450 500 550 600 650 700
5.6
5.8
6
6.2
6.4
6.6
Velikost jednotlivých obrazových bodù
Obrazové body [pix]
Vel
ikos
t obr
azov
ého
bodu
[µm
]
Obr. 4.4: Graf kalibrace obrazu na konci kalibrovaného úseku (2366 mm)
Měřeno bylo celkem na 33 pozicích. Na pozicích 27, 30 a 32 se detekce linií
nezdařila z důvodu nerovnoměrného osvětlení pomocí LED diod mikroskopu. Černý
dílek odrážející světlo se na levé straně snímku zdá být jako bílý (viz. obr. 4.5).
Výpočet byl tedy proveden na 28 úsecích. Kalibrovaný úsek snímku zahrnoval celkem
514 pixelů (od pixelu 222 do pixelu 736).
Obr. 4.5: Snímek pořízený na pozici 32, u kterého nebyly detekovány linie
79
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
4.5 Kalibrace latě ve směru „ZPĚT“
400 600 800 1000 1200 1400 1600 1800 2000 2200 2400−8
−6
−4
−2
0
2
4
6
8
10Výsledek kalibrace latì pomocí snímkování digitáním mikroskopem
Pozice na lati [mm]
Opr
avy
od p
rum
eru
[µm
]
Obr. 4.6: Graf průběhu kalibrace ve směru „ZPĚT“
Čas začátku kalibrace: 26.05.2014 17:45:49Čas konce kalibrace: 26.05.2014 18:06:16Počáteční pozice [mm]: 2366Koncová pozice [mm]: 442Počet observací: 35Měřítko: 1.00000521 (5.21 ppm)Střední kvadratická chyba měřítka: 0.00000088 (0.88 ppm)Střední kvadratická chyba z~oprav [um]: 3.0Max oprava po vyrovnání [um]: 6.6Min oprava po vyrovnání [um]: -4.9
Pozice na Opravené čtení Rozdíl Opravy od průměrného Odchylky od regresnílati [mm] interfrometru [mm] [mm] rozdílu [um] přímky [um]------------------------------------------------------------------------------------------------------------2366.000 1553.16837 -812.83163 0.72 -4.352315.375 1502.54289 -812.83211 1.20 -3.602266.775 1453.93920 -812.83580 4.89 0.342226.275 1413.43938 -812.83562 4.71 0.382181.725 1368.88960 -812.83540 4.49 0.382094.650 1281.81357 -812.83643 5.52 1.861971.125 1158.29180 -812.83320 2.29 -0.721930.625 1117.79061 -812.83439 3.48 0.681890.125 1077.29030 -812.83470 3.79 1.201849.625 1036.78515 -812.83985 8.94 6.561799.000 986.16963 -812.83037 -0.54 -2.661752.425 939.58751 -812.83749 6.58 4.711657.250 844.41313 -812.83687 5.96 4.581588.400 775.56770 -812.83230 1.39 0.371545.875 733.03895 -812.83605 5.14 4.341495.250 682.42032 -812.82968 -1.23 -1.761442.600 629.77120 -812.82880 -2.12 -2.371402.100 589.26638 -812.83362 2.71 2.661355.525 542.69301 -812.83199 1.08 1.281280.600 467.77458 -812.82542 -5.49 -4.901229.975 417.14925 -812.82575 -5.16 -4.321155.050 342.22243 -812.82757 -3.34 -2.101114.550 301.72115 -812.82885 -2.06 -0.611061.900 249.07156 -812.82844 -2.47 -0.74978.875 166.05061 -812.82439 -6.52 -4.37934.325 121.49946 -812.82554 -5.37 -2.98883.700 70.87544 -812.82456 -6.35 -3.70812.825 -0.00195 -812.82695 -3.96 -0.94743.975 -68.85627 -812.83127 0.36 3.74687.275 -125.55156 -812.82656 -4.35 -0.68644.750 -168.07657 -812.82657 -4.34 -0.45598.175 -214.65752 -812.83252 1.61 5.75557.675 -255.15349 -812.82849 -2.42 1.93500.975 -311.85156 -812.82656 -4.35 0.29442.250 -370.57615 -812.82615 -4.76 0.19
80
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
4.6 Zhodnocení kalibrací
Odlišná znaménka výsledných měřítek (-8,48 a +5,21 ppm) nejsou výsledkem
chybného výpočtu. Při sečtení měřených kalibrovaných úseků latě („JEST“) a po-
rovnání s danou délkou úseku „MÁ BÝTI“, se potvrdila správnost výpočtu, viz.
následující tabulka:
Tab. 4.1: Porovnání délky kalibrovaných úseků se změřenou hodnotou
Směr kalib. „MÁ BÝTI“ [mm] „JEST“ [mm] rozdíl [um] poměr„TAM“ 1923,750 1923,76687 -16,87 0,99999123 (-8,77 ppm)„ZPĚT“ 1923,750 1923,74452 +5,48 1,00000285 (+2,85 ppm)
Normalizované rozdíly z obou kalibrací byly vyneseny do grafu a byla provedena
lineární regrese (viz. obr. 4.7).
400 600 800 1000 1200 1400 1600 1800 2000 2200 2400−10
−5
0
5
10
15
Graf normalizovaných rozdílu "(dlaser
+ oprava) − pozice na lati"
Pozice na lati [mm]
Opr
avy
od p
rum
eru
[µm
]
Kalibrace TAM
Kalibrace ZPET
Regresní prímka
Obr. 4.7: Graf porovnávající průběhy kalibrací ve směru „TAM a ZPĚT“
Počet observací: 70Měřítko: 0.99999836 (-1.64 ppm)Střední kvadratická chyba měřítka: 0.00000104 (1.04 ppm)Střední kvadratická chyba z~oprav [um]: 5.0Max oprava po vyrovnání [um]: 11.5Min oprava po vyrovnání [um]: -8.3
81
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
Vliv na přesnost mají zejména následující jevy:
1. Chyba určení délky laserovým interferometrem lineárně vzrůstající s velikostí
měřené délky (± 0, 7 ppm) [1].
2. Chyba z nekompenzování vlnové délky laserového interferometru z měnících
se atmosférických podmínek v laboratoři (+0,96 ppm /∘C, -0,27 ppm / mbar,
+0,0084 ppm / % Rel. vlhkosti) [1].
3. Přesnost určení středu kalibrovaného dílku v obraze. Linie jsou v obraze dete-
kovány s přesností na celé pixely. Střed dílku je jejich průměrem, tedy je určen
s přesností poloviny velikosti pixelu, která činila asi 5, 8 𝜇𝑚.
4. Chyba z měnící se vzdálenosti čárového kódu latě od objektivu mikroskopu
max. 0, 5𝜇𝑚 na každé pozici. Rozdíl v určení velikosti pixelu na začátku úseku
a na jeho konci činil 0, 026 𝜇𝑚, což při najetí se středem dílku na střed obrazu
do ±10 pixelů, způsobí chybu v určení opravy asi 0, 3 𝜇𝑚.
Při kalibraci ve směru „TAM“ se lať pohybovala směrem ke zdi, díky čemuž
klesala měřená délka pomocí interferometru. Lineárně však klesala i chyba měřené
délky (bod č. 1). Naopak s měnícími se atmosférickými podmínkami mírně vzrůstala
chyba určení vlnové délky (bod č. 2). Dále mírně vzrůstala i chyba z určení opravy
(bod č. 4). Vzniklé chyby tedy během měření mohly „jít“ proti sobě a nepatrně se
navzájem vyrušovat.
Naopak při kalibraci ve směru „ZPĚT“ se lať pohybovala směrem od zdi, díky
čemuž vzrůstala měřená délka pomocí interferometru. Všechny chyby tedy v průběhu
kalibrace vzrůstaly.
4.7 Porovnání se systémovou kalibrací
Pro stejnou nivelační lať byly pomocí řídícího softwaru DLSC provedeny systé-
mové kalibrace s trojicí nivelačních přístrojů Leica. Systémové kalibrace byly pro-
vedeny na úsecích latě od 500 mm do 2500 mm a od 510 mm do 2510 mm s krokem
20 mm.
82
ČVUT v Praze 4. KALIBRACE LATĚ POMOCÍ DIGITÁLNÍHO MIKROSKOPU
Tab. 4.2: Výsledná měřítka systémových kalibrací stejné latě s přístroji Leica
Nivelační přístroj DNA03 (sč. 723289) NA3003 (sč. 93206) NA3003 (sč. 93346)500 - 2500 mm -1,01 -10,33 -4,71500 - 2500 mm -3,76 -10,46 -4,62500 - 2500 mm -0,80 -9,32 -4,08průměr [ppm] -1,86 -10,04 -4,47510 - 2510 mm -1,66 -3,07 -2,32510 - 2510 mm -11,05 -10,09 -4,44510 - 2510 mm 2,91 -10,02 1,71průměr [ppm] -3,27 -7,73 -1,68
Výsledky systémové kalibrace sice nelze přímo porovnávat s výsledky kalibrace
latě pomocí digitálního mikroskopu, neboť do výsledku promlouvá přesnost nive-
lačního přístroje a přesnost urovnání skloněného zrcadla, ale i přesto lze porovnat
rozptyl výsledných měřítek. Srovnáním s výsledky systémové kalibrace bylo ověřeno
správné fungování programu KLPM. Výsledná měřítka latě -8,48 ppm a +5,21 ppm
řádově odpovídají výsledkům systémové kalibrace.
83
ČVUT v Praze ZÁVĚR
ZávěrKvůli potřebě kalibrovat digitální nivelační latě jako samostatný celek bylo roz-
hodnuto o použití sekvence digitálních snímků čárového kódu latě pomocí digitál-
ního USB mikroskopu Celestron spolu s laserovým interferometrem Renishaw ML10
jako délkovým etalonem. Pro tento účel byl vyvinut řídící software KLPM zalo-
žený na výpočetní platformě MATLAB. Tento software umožňuje uživateli navázat
spojení s přístroji používanými při kalibraci latě. Software obsahuje jednoduchou
nápovědu, která uživateli poskytne informace o postupu práce s programem. Uži-
vatelské rozhraní programu umožňuje pohodlně spouštět jednotlivé aplikace sloužící
pro komunikaci s přístroji. Jedná se o krokový motor (posun latě), laserový interfe-
rometr (měření délek) a digitální mikroskop (snímkování latě). Dále program umož-
ňuje, na základě zadaných hodnot počátku a konce kalibrace, vygenerovat tabulku
s rozestupy mezi kalibrovanými dílky. Součástí programu je aplikace pro kalibraci
obrazu, díky které se zjišťují velikosti jednotlivých pixelů ve snímcích z digitálního
mikroskopu. Po navázání spojení s přístroji, vygenerování tabulky s rozestupy mezi
kalibrovanými dílky a provedení kalibrace obrazu je možné spustit samotnou kalib-
raci latě. Program určuje pozici středu kalibrovaného dílku v obraze pomocí detekce
linií. V každém snímku se pomocí výpočetních funkcí vyhledají liniové přechody
mezi černými dílky a světlými mezerami na lati. Díky informaci o velikosti jednot-
livých pixelů v obraze lze určit vzdálenost středu černého dílku v obrazu od středu
snímku. Laserový interferometr určuje pozice středu obrazu. Sečtením těchto dvou
hodnot se získá skutečná pozice středu dílku na lati („JEST“). Porovnáním s teo-
retickou pozicí dílku („MÁ BÝTI“) se získá rozdíl („MÁ BÝTI - JEST“) v každý
kalibrovaný dílek na lati. Vynesením normalizovaných rozdílů (rozdílů „MÁ BÝTI
- JEST“ opravených o průměrnou hodnotu) do grafu a proložením těchto hodnot
regresní přímkou se získá měřítko kalibrovaného úseku latě.
Pomocí řídícího softwaru KLPM byly provedeny dvě kalibrace digitální nivelační
latě Nedo Leica GPCL3, s.č. 29723 (délka 3 m) na úseku 446 mm až 2366 mm s mi-
nimálním rozestupem kalibrovaných dílků 40 mm. Provedena byla jedna kalibrace
ve směru „TAM“ (od 446 mm do 2366 mm) a jedna ve směru „ZPĚT“ (od 2366 mm
84
ČVUT v Praze ZÁVĚR
do 446 mm). Výsledné měřítko kalibrovaného úseku bylo 0,99999152 (-8,48 ppm),
resp. 1,00000521 (5,21 ppm). Před každou kalibrací latě byla provedena kalibrace
obrazu na prvním dílku úseku. Rozdíl průměrné velikosti pixelu na středu obrazu
činil 0, 0264 𝜇𝑚. Srovnáním s výsledky systémové kalibrace bylo ověřeno správné
fungování programu KLPM. Výsledná měřítka latě -8,48 ppm a +5,21 ppm řádově
odpovídají výsledkům systémové kalibrace.
Řídící software byl zkompilován do samostatně spustitelného programu určeného
pro 64-bitové operační systémy Windows.
85
ČVUT v Praze POUŽITÉ ZDROJE
Použité zdroje[1] Laser measurement system - system architecture. [online].
Dostupné z: <http://www.arc-bg.com/prod_file/81.pdf>.
[2] CELESTRON, LLC. Deluxe Handheld Digital Microscope.
[online]. [cit. 2014-05-05]. Dostupné z: <http://www.
celestron.com/browse-shop/microscopes/digital-microscopes/
deluxe-handheld-digital-microscope>.
[3] VYSKOČIL, Z. Kalibrace digitálních nivelačních přístrojů - systémová kalibrace
na horizontálním komparátoru, Disertační práce, ČVUT Praha, 2009.
[4] VLK, V. Zjišťování systémových vlivů na výsledek kalibrace latě, Bakalářská
práce, ČVUT Praha, 2012.
[5] THE MATHWORKS, Inc. MATLAB: Primer 2014a. [online]. [cit. 2014-
05-05]. Dostupné z: <http://www.mathworks.com/help/pdf_doc/matlab/
getstart.pdf>.
[6] THE MATHWORKS, Inc. Image Acquisition Toolbox: User’s Guide. 2014a. [on-
line]. [cit. 2014-05-05]. Dostupné z: <http://www.mathworks.com/help/pdf_
doc/imaq/imaq_ug.pdf>.
[7] THE MATHWORKS, Inc. Computer Vision System Toolbox: User’s Guide.
2014a. [online]. [cit. 2014-05-05]. Dostupné z: <http://www.mathworks.cn/
help/pdf_doc/vision/vision_ug.pdf>.
[8] THE MATHWORKS, Inc. Image Processing Toolbox: User’s Guide. 2014a.
[online]. [cit. 2014-05-05]. Dostupné z: <http://www.mathworks.co.uk/help/
pdf_doc/images/images_tb.pdf>.
[9] FISHER, R. Sobel Edge Detector. 2003. [online]. [cit. 2014-05-05]. Dostupné z:
<http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm>.
86
ČVUT v Praze POUŽITÉ ZDROJE
[10] THE MATHWORKS, Inc. Instrument Control Toolbox: User’s Guide. 2014a.
[online]. [cit. 2014-05-05]. Dostupné z: <http://www.mathworks.cn/help/
pdf_doc/instrument/instrument.pdf>.
[11] THE MATHWORKS, Inc. MATLAB: Creating Graphical User Interfaces.
2014a. [online]. [cit. 2014-05-05]. Dostupné z: <http://www.mathworks.com/
help/pdf_doc/matlab/buildgui.pdf>.
87
ČVUT v Praze SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK
Seznam symbolů, veličin a zkratekČVUT České vysoké učení technické
FSv Fakulta stavební
ČUZK Český úřad zeměměřický a katastrální
DLSC Digital level system calibration
KLPM Kalibrace latě pomocí mikroskopu
GUI Graphical User Interface
MRL MATLAB Runtime Library
88
Seznam obrázků1.1 Schéma fungování horizontálního komparátoru . . . . . . . . . . . . . 9
1.2 Pohled od nivelačního přístroje směrem k zrcadlu . . . . . . . . . . . 10
1.3 Laserový interferometr Renishaw ML10 Gold Standart . . . . . . . . 10
1.4 Schéma uspořádání optiky laserového interferometru . . . . . . . . . . 11
1.5 Krokový motor, řídící jednotka, zdroj napětí a vypínač . . . . . . . . 12
1.6 Připevnění poháněné matice k vozíku . . . . . . . . . . . . . . . . . . 13
1.7 Využití běžného tenkého zrcadla při nastavení skloněného zrcadla . . 13
1.8 Uživatelské prostředí programu DLSC . . . . . . . . . . . . . . . . . . 14
1.9 Osvětlení latě . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.10 Objektiv mikroskopu s LED diodami . . . . . . . . . . . . . . . . . . 16
1.11 Digitální mikroskop Celestron II (zdroj [2]) . . . . . . . . . . . . . . . 17
1.12 Uchycení mikroskopu . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Schéma znázorňující snímkování latě . . . . . . . . . . . . . . . . . . 19
2.2 Schéma znázorňující různé pozice latě při kalibraci . . . . . . . . . . . 20
2.3 Schéma zobrazující posun středu dílku při kalibraci obrazu . . . . . . 22
3.1 Ukázka obrázku s vloženými geometrickými tvary (zdroj: mathworks.com) 29
3.2 Počátek pixelového souřadnicového systému (zdroj: [7]) . . . . . . . . 30
3.3 Vizualizace matice obrazek obsahující snímek ve škále šedi . . . . . . 31
3.4 Počátek prostorového souřadnicového systému (zdroj: [7]) . . . . . . . 31
3.5 Vzorový snímek latě pořízený digitálním mikroskopem . . . . . . . . . 32
3.6 Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.7 Hodnoty pixelů . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.8 Vzorový snímek převedený na binární snímek . . . . . . . . . . . . . . 34
3.9 Příklad principu konvolvace 3 x 3 masky s pixelem původního snímku
(zdroj: developer.apple.com) . . . . . . . . . . . . . . . . . . . . . . . 35
3.10 Rozsah gradientu Gmag (vlevo) a Směr gradientu, Gdir (vpravo) . . . 36
3.11 Výstupní binární obrázek z funkce na detekci hran edge . . . . . . . . 36
3.12 Grafické znázornění Houghovy transformace binárního snímku BW . . 37
3.13 Určení úhlu Theta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.14 Vzorový snímek I s vyznačenými liniemi nalezenými pomocí Hou-
ghovy transformace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.15 Prostředí pro návrh grafického uživatelského rozhraní - guide (zdroj:
[11]) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.16 Kostra programu KLPM . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.17 Okno hlavního ovládacího panelu programu KLPM . . . . . . . . . . 45
3.18 Okno dotazující se o potvrzení o ukončení aplikace . . . . . . . . . . 45
3.19 Okno nápovědy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.20 Okno nápovědy po změně položky . . . . . . . . . . . . . . . . . . . . 46
3.21 Okno chybové hlášky o nenalezení sériového portu . . . . . . . . . . . 46
3.22 Okno ovládacího panelu motoru . . . . . . . . . . . . . . . . . . . . . 47
3.23 Zpráva o úspěšném připojení motoru . . . . . . . . . . . . . . . . . . 47
3.24 Chybová hláška připojení motoru . . . . . . . . . . . . . . . . . . . . 47
3.25 Nápověda k připojení motoru, pokud se motor nepřipojil . . . . . . . 48
3.26 Upozornění na hranice zadávaných hodnot . . . . . . . . . . . . . . . 48
3.27 Schéma zobrazující připojení přístrojů v laboratoři . . . . . . . . . . . 49
3.28 Okno ovládacího panelu interferometru před navázáním spojení . . . 50
3.29 Okno s nápovědou o správném zadání IP adresy . . . . . . . . . . . . 50
3.30 Okno s nápovědou o správném zadání IP adresy . . . . . . . . . . . . 51
3.31 Chybová hláška o nepřipojení interferometru, který však dotazovací
řetězec přijal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.32 Okno chybové hlášky o nepřipojení interferometru . . . . . . . . . . . 51
3.33 Okno s oznámením o úspěšném navázání spojení . . . . . . . . . . . . 52
3.34 Okno ovládacího panelu interferometru po navázání spojení . . . . . . 52
3.35 Varovná hláška o nízké síle signálu . . . . . . . . . . . . . . . . . . . 53
3.36 Okno se zprávou o úspěšném změně atmosférických hodnot . . . . . . 53
3.37 Okno ovládacího panelu interferometru se zobrazenými měřenými dél-
kami . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.38 Rozbalovací nabídka dostupných zobrazovacích zařízení . . . . . . . . 55
3.39 Rozbalovací nabídka dostupných formátů obrazu daného zařízení . . . 55
3.40 Okno uživatelského rozhraní mikroskopu . . . . . . . . . . . . . . . . 56
3.41 Okno náhledu videa s tabulkou obsahující parametry video source
objektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.42 Okno zobrazující živé video s detekovanými liniemi a středy dílků . . 57
3.43 Okno sloužící k zadání požadovaného úseku kalibrace . . . . . . . . . 59
3.44 Okno s výslednými parametry vygenerované tabulky rozestupů kalib-
race . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.45 Okno průzkumníka Windows pro uložení souboru s tabulkou rozestupů 60
3.46 Okno varovné hlášky, že vygenerovaná tabulka nebyla uložena . . . . 60
3.47 Okno s instruktážní zprávou před kalibrací obrazu . . . . . . . . . . . 61
3.48 Okno videa s vyznačenými oblastmi pro umístění dílku před kalibrací 62
3.49 Okno s otázkou, zda-li opakovat či ukončit kalibraci obrazu . . . . . . 62
3.50 Graf zobrazující pořízený snímek s detekovanými liniemi a středem
dílku . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.51 Okno průběhu kalibrace obrazu s tlačítkem pro ukončení . . . . . . . 63
3.52 Graf zobrazující výsledek kalibrace obrazu . . . . . . . . . . . . . . . 65
3.53 Okno s instruktážní zprávou . . . . . . . . . . . . . . . . . . . . . . . 66
3.54 Kalibrovaný dílek posunut do vyznačené oblasti pomocí motoru . . . 67
3.55 Okno s otázkou, zda-li opakovat či ukončit kalibraci obrazu . . . . . . 68
3.56 Okno s otázkou o pozici latě . . . . . . . . . . . . . . . . . . . . . . . 68
3.57 Okno dotazující se, jedná-li se o tzv. zpětnou kalibraci . . . . . . . . 69
3.58 Okno zobrazující aktuálně vyhodnocený snímek . . . . . . . . . . . . 69
3.59 Okno průběhu kalibrace latě s tlačítkem pro ukončení . . . . . . . . . 70
3.60 Graf zobrazující výsledek kalibrace latě . . . . . . . . . . . . . . . . . 72
3.61 Okno zobrazující průběh instalace balíčku KLMP_pkg.exe . . . . . . 73
3.62 Samorozbalovací archiv MCRInstaller.exe, obsahující instalátor MRL 73
4.1 Proužky se stupnicemi na polystyrenu v pozici nad jedním z nosníků 75
4.2 Graf kalibrace obrazu na začátku kalibrovaného úseku (442 mm) . . . 76
4.3 Graf průběhu kalibrace ve směru „TAM“ . . . . . . . . . . . . . . . . 77
4.4 Graf kalibrace obrazu na konci kalibrovaného úseku (2366 mm) . . . . 79
4.5 Snímek pořízený na pozici 32, u kterého nebyly detekovány linie . . . 79
4.6 Graf průběhu kalibrace ve směru „ZPĚT“ . . . . . . . . . . . . . . . 80
4.7 Graf porovnávající průběhy kalibrací ve směru „TAM a ZPĚT“ . . . 81
Seznam tabulek1.1 Vybraná technická data o Renishaw ML10 Gold Standart . . . . . . . 11
2.1 Ukázka hodnot získaných při kalibraci latě, kde Rozdíl = p - (d +
o) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1 Porovnání délky kalibrovaných úseků se změřenou hodnotou . . . . . 81
4.2 Výsledná měřítka systémových kalibrací stejné latě s přístroji Leica . 83
ČVUT v Praze SEZNAM PŘÍLOH
Seznam příloh
A Elektronická příloha 95
94
ČVUT v Praze A. ELEKTRONICKÁ PŘÍLOHA
A Elektronická přílohaCD se samostatně spustitelným programem, zdrojovými soubory (výpočetními
skripty atd.) a výstupy z provedených kalibrací.
95