![]() |
kategória | ![]() |
||||||||
|
||||||||||
![]() |
![]() |
![]() |
![]() |
|
|
||
![]() |
![]() |
|
|||||||||||||
Lézeres távolságmérés
mérési útmutató
Az ipar gyors fejlõdése olyan módszerek kifejlesztését kívánja meg, amelyek kellõképpen rugalmasak, képesek alkalmazkodni a változó körülményekhez, igényekhez. Ez a követelmény csak úgy teljesíthetõ, ha a folyamatokat irányító rendszerek elegendõ információt tudnak szerezni a környezetükbõl. Az ember, bár igen sokféle érzékszervvel rendelkezik a külvilágot leíró ismereteinek 90%-át a látás útján szerzi; és egyre inkább kitûnik, hogy a mûszaki alkalmazások sem tudják nélkülözni az információszerzésnek ezt a formáját.
Besl [2] szerint, egy mesterséges látórendszer kellõ rugalmasságához, hogy különbözõ problémák megoldásához ugyanazokat az eszközöket használhassuk, a rendelkezésre álló adatok feldolgozását - különösen a kezdeti lépéseket - a lehetõ legkevesebb speciális, az adott feladatra jellemzõ, a priori ismeret felhasználásával kell elvégezni (ez az úgynevezett adatvezérelt feldolgozás, data driven processing). Ezek az adatok szolgálnak bemenetül a feldolgozás azon részéhez, amely felhasználja a környezetrõl és a feladatról rendelkezésre álló információkat (ez a modellvezérelt feldolgozás, model driven processing).
Az elsõ mesterséges látórendszerek az emberi szem által is érzékelt látványból, a klasszikus fényképezési eljárások útján készült képekbõl indultak ki. Ezek az úgynevezett intenzitásképek (intensity image), melyek képek a szó köznapi értelmében; azaz az egyes pontok fényessége attól függ, hogy a környezet adott pontnak megfelelõ helyérõl az érzékelõbe mennyi fény jut. Az intenzitáskép a tárgyat megvilágító fénynek az érzékelõbe való visszaverõdésébõl alakul ki. Mind a fényforrás, mind az érzékelõ modellezése igen bonyolult feladat, az objektumról pedig általános esetben semmilyen információ nem áll rendelkezésünkre, ezért intenzitáskép alapján nehéz feladat a látott objektumok alakját, térbeli elhelyezkedését meghatározni 636i84g , és az adatok általában nem értelmezhetõk egyértelmûen.
Egyre szélesebb körben alkalmaznak ezért olyan eszközöket, amelyek közvetlenül alkalmasak távolság mérésére. Ezek a vizsgált térrészrõl úgynevezett távolságképet (range image, depth map) készítenek, melynek pontmátrixában távolságmérések eredményei szerepelnek (például a kép (x1,y1) koordinátájú pontjának értéke: az objektum magassága - azaz az xy síktól való távolsága - az (x1,y1) pontban). A távolságkép azonban igen sok - általános célú módszerek kidolgozásához nélkülözhetetlen - információt nem tartalmaz az objektumról (pl. felületének mintázata, anyagi minõsége), és a képek bizonyos kedvezõtlen tulajdonságai (pl. nem abszolút integrálható) megnehezítik a feldolgozásukat.
Egy térbeli felület ideális esetben, (x, y, z) Descartes koordináta
rendszerben matematikailag egy, az (x, y)
síkbeli tartományon értelmezett alakú egyenlettel írható le.
Az ideális távolságkép (x,y) koordinátájú pontjának az értéke ebben az esetben z (tehát a távolságkép az f függvény mintáit tartalmazza). A z=f(x,y) távolságfüggvényt matematikailag vizsgálva: az értelmezési tartománya az alkalmazott felvételi módszertõl függõen az xy sík nem biztosan egyszeresen összefüggõ tartománya (lehet, hogy egyes pontokról nem tudunk információt szerezni), az értékkészlete pedig nem véges (a távolság értéke végtelen is lehet). A függvény így nem abszolút integrálható, ezért nem Fourier-transzformálható, ezen alapuló feldolgozási módszerek csak korlátozottan alkalmazhatóak.
Ebbõl az ideális távolságkép alapján meghatározható az ideális intenzitáskép, a megvilágítás és a reflexiós modell megadásával. A Lambert-féle reflexiós modell szerint:
Ahol I itt a pont fényessége, r a visszaverõdési tényezõ (a felület anyagi minõségétõl, szerkezetétõl és a fény hullámhosszától függõ), n a felületi egységnormális, s a megvilágítás irányvektora.
A normálvektor az f felületre:
így:
Ha r és s állandó, akkor az (x,y) pontban az intenzitás az f függvény (lényegében a távolságkép) x és y koordináták szerinti parciális deriváltjaival arányos. Az ideális intenzitáskép (x,y) koordinátájú pontjának az értéke tehát:
Távolságképek készítésére sok módszer ismert, ezeket az alábbi ábrán foglaltuk össze ([6] alapján).
A passzív technikákban olyan képekkel dolgozunk, amelyek a vizsgált területet megvilágító (természetes vagy mesterséges) fények visszaverõdésébõl alakulnak ki. Általában több ilyen kép alapján határozunk meg mélységi információt (térben, idõben felvett képsorozatból), vagy az intenzitásképbõl kinyerhetõ más jellemzõkbõl (árnyékolás, kontúr stb.). [10]
Az aktív technikák esetén meghatározott jellel tapogatjuk le a vizsgált területet, leggyakrabban ultrahanggal vagy lézerrel. Ezek a módszerek általában megbízhatóbb távolságadatokat szolgáltatnak, mint a passzív technikák.
Távolság mérésére használt módszerek mesterséges látórendszerekben
A trianguláció elvét alkalmazó strukturált fényes módszer egyes változatait ismertetjük és hasonlítjuk össze a következõ részben ([5] szerinti osztályozást követve).
A trianguláció elvén alapuló legegyszerûbb távolságérzékelõ érzékelõ vázlatos felépítése látható az alábbi ábrán. Lézersugárral megvilágítjuk a vizsgált felület egy pontját, az onnan visszaverõdõ fényt egy gyûjtõlencsével a pozícióérzékelõre fókuszáljuk. Annak alapján, hogy a pozícióérzékelõ mely pontjára jut fény, a visszaverõdés helye megállapítható.
Pontonkénti lézer letapogatás modellje
A pontonkénti letapogatás módosított változata, pontszerû megvilágítás helyett az objektumra egy csíkot vetítünk, ahogy az alábbi ábrán látható. A csík elõállítható gyorsan mozgó lézerpont segítségével, vagy egyéb fényforrás alkalmazásával. Egy felvételbõl a csík összes pontjának térbeli koordinátái meghatározhatóak, és ez a pontonkénti letapogatásnál nagyobb sebességet tesz lehetõvé, a számítási idõ növekedése árán.
Fénykéses megvilágítás
A vizsgált területre egy idõben több csíkot vetítünk, és ezzel egy lépésben az egész térrészrõl információt kapunk.
Összetett fényes megvilágítás
A módszer hátránya azonban, hogy az adatok kiértékelése nem minden esetben vezet egyértelmû eredményhez, mint ahogy az az alábbi ábrán látható lépcsõs felületnél megfigyelhetõ. A csíkok ugyanis az ugrás jellegû éleknél eltûnnek, majd a következõ látható felületrészen bizonyos eltolással ismét megjelennek. Az eltolás mértéke a felület ismerete nélkül nem számítható ki, ezért a csíkok összekeveredhetnek, végigkövetésük nem lehetséges, a távolságmérés nem végezhetõ el.
Egyszerre több csíkot vetítve az egyes csíkok menete nem minden esetben követhetõ végig egyértelmûen
Az elõzõ pontban bemutatott módszernél leírt többértelmûség kiküszöbölésére fejlesztették ki ezt az eljárást. A vizsgált felületre itt is egyszerre több csíkot vetítünk, de a területrõl több felvétel is készül és az egyes felvételeken az összes csík közül csak egyeseket jelenítünk meg, bizonyos kódolás szerint. Minden csíknak egyedi sötét/világos sorozat felel meg, így ezek egymástól egyértelmûen elkülöníthetõk.
Kódolt fény: az egyes csíkokat bizonyos kódolás szerint világítjuk meg
Lehetséges kódolás különbözõ színek illetve szürkeárnyalatok alkalmazásával (színkódolás), ezek a módszerek azonban igen érzékenyek a felületek minõségének, színének változásaira, a környezetbõl származó fényhatásokra, ezért csak speciális esetekben használhatóak.
Ha a csíkok intenzitásának változása koszinusz jellegû függvényt követ, és a függvény fázisát idõben folyamatosan módosítjuk, akkor az ilyen módon megvilágított felületrõl készült néhány felvétel alapján, egyszerû számításokkal nyerhetünk igen pontos információkat a vizsgált felületrõl. Azonban többértelmûségi problémák ennél a módszernél is felléphetnek, ezért abszolút távolság mérésére csak korlátozottan használható.
A csíkok intenzitásának változása koszinuszos függvényt követ
Alkalmazzák ez elõbbi módszerek kombinációit is:
Színkódolt fázistolás: egyszerre vetítünk fel háromféle, fázisában eltolt intenzitás-eloszlást, különbözõ színekkel, így egy felvételbõl meghatározhatjuk a térbeli információkat; a módszer elõnye, hogy nagyon gyors, így mozgó tárgyak esetén is alkalmazható
Fázistolás és kódolt fény kombinációja: a többértelmûségek kiszûrhetõk és a kódolt fény módszernél pontosabb eredményekhez jutunk.
Az elõzõ pontokban leírt módszerek jellemzõit az alábbi táblázatban foglalhatjuk össze ([5]):
Módszer |
Felbontás |
Korlátozó tényezõk |
Sebesség |
Mozgó tárgyak mérése |
Vizsgálható tárgyakra vonatkozó megkötések |
Pontonkénti letapogatás |
Nagyon magas |
Mechanika |
Nagyon lassú |
Nem lehetséges |
Kevés |
Fénykés |
Közepes |
Mechanika és a kamera felbontása |
Lassú |
Korláto-zásokkal |
Kevés |
Kódolt fény |
Közepes |
Megvilágítás és a kamera felbontása |
Közepes |
Nem lehetséges |
Közepes |
Fázistolás |
Magas |
Szürkeárnyalatok képzése és a kamera felbontása |
Gyors |
Nem lehetséges |
Közepes |
Színkódolt fázistolás |
Magas (többértelmû-ség elõfordul-hat) |
Színek elõállítása és a kamera felbontása |
Nagyon gyors |
Lehetséges |
Nagyon szigorú (a tárgy felülete nem tartalmaz-hat lyukakat, árkokat) |
Összetett fény |
Alacsony |
Megvilágítás és a kamera felbontása |
Nagyon gyors |
Lehetséges |
Szigorú |
Színkódolás |
Közepes |
Színek elõállítása és a kamera felbontása |
Nagyon gyors |
Lehetséges |
Szigorú (a tárgy felülete egyszínû kell legyen) |
A mérõrendszer szinkronizált triangulációt alkalmaz, ahol a szinkronizáció azt jelenti, hogy az érzékelõ geometriai helyzetét a letapogató lézersugár mozgatásával szinkronban változtatjuk. Így a mérõrendszerhez a detektált fénysugár eltérítõ mechanizmusa is hozzátartozik.
A mérõrendszer felépítését az alábbi ábrán mutatjuk be. Az 5mW-os HeNe lézerforrásból (1) a fény a kétoldalas x irányú eltérítõ tükörre (2), majd a (3) állótükrön megtörve a (4) y irányú eltérítõ tükörre jut. A lézerfénnyel megvilágított tárgyponton szétszóródó fény egy része az (5), (6) és (2) tükrökön keresztül a gyûjtõlencsébe (7) jut. A lencse a fényt a CCD érzékelõre (9) fókuszálja. Az eltérítõ tükröket a (10), (11), (12) galvánmotoros eltérítõ egységek mozgatják.
Az x irányú szinkronizációt a kétoldalas tükör (2) automatikusan biztosítja. Az y irányú szinkronizációt a (4) és (5) eltérítõ tükrök mozgatásának szinkronizálásával oldjuk meg. Így ez a szinkron nem automatikus, és nem is tökéletes (Egydimenziós CCD vonalérzékelõ alkalmazása esetén ezért hengerlencse (8) elhelyezése szükésges, amely a gyûjtõlencsérõl érkezõ fényt az érzékelési szakaszra merõleges fénycsíkba fókuszálja.)
A mérõrendszer felépítése
Az alábbi ábrán látható elrendezésben az x tengely (d; 0) pontjából vetítjük a letapogató lézersugarat. A koordinátarendszer origójában helyezkedik el a kamera gyûjtõlencséjének geometriai középpontja. Célunk, hogy a detektor egyenesére illesztett P tengelyen meghatározzuk a lézerfény által megvilágított tárgypont képpontjának helyét. A P tengely 0 pontja a P tengely és a lencse geometriai tengelyének metszéspontjában van. Az egyszerûbb geometriai leírást segíti, hogy a detektor egyenesét az xz síkban az origó körül elforgatjuk (Q -kal (szinkronizáció), így a P tengely mindig párhuzamos lesz az x tengellyel, tõle való távolsága pedig
(1)
ahol f a gyûjtõlencse fókusztávolsága és l a tárgytávolság.
A szinkron trianguláció geometriai modellje 2 dimenzióban
Elemi koordinátageometriai megfontolások alapján, a levezetés mellõzésével a képpont helye a detektor egyenesén:
(2, 3)
Ebbõl p-nek z-re illetve Dx-re vonatkozó érzékenysége:
(4, 5)
Fenti két kifejezés összevetésébõl látható, hogy p-nek z-re való érzékenysége jóval nagyobb, mint Dx-re. Ezt konkrét példával szemléltetjük az alábbi ábrán (z = 750 mm, d = 150 mm, f = 200 mm; ábrázoltuk p(Dz) függvényt Q és p(Dx) függvényt z=z0 feltétel mellett).
A képpont helyzete a vonalérzékelõn (p) a távolság (Dz) és az oldalirányú eltérítés (Dx) függvényében
Az x tengelytõl h távolságra helyezkedik el a lézersugár y irányú eltérítését és a detektált fénysugár visszatérítését biztosító síktükör H forgástengelye. Ezzel az y irányú szinkronizált eltérítéssel biztosítjuk, hogy a detektált fénysugár mindig visszatér az xz síkba. Az alábbi ábra szerint a P(x,y,z) és az xz síkban lévõ P'(x,y,z') pontoknak megfelelõ p koordináta megegyezik. P' ponthoz úgy jutunk, hogy az APB háromszöget H tengely körül az xz síkba beforgatjuk. Ekkor z és z' között a következõ összefüggés áll fenn:
(6)
A trianguláció geometriai modellje három dimenzióban
A (2) egyenlet szerint P mérési eredmény ismeretében z' egyértelmûen meghatározható. Ennek ismeretében P(x,y,z) pont koordinátáit a következõ összefüggések adják:
(7, 8, 9)
A fentiek alapján a szinkronizált triangulációs mérési elv alkalmazásának fõ jellemzõi:
Az x irányú szinkronizált eltérítés következtében a detektált fénypont pozíciója lényegében csak a vizsgált tárgypont távolságának, z koordinátájának a függvénye. Ezért nagy mélységi felbontóképesség és nagy x irányú látószög érhetõ el.
Az y irányú szinkronizáció a három dimenziós mérést valójában két dimenziós mérési feladattá transzformálja. Ez lehetõvé teszi, hogy detektorként vonalérzékelõt alkalmazzunk és, hogy y irányban is nagy látószöget érjünk el.
Elõfordul, hogy adott pontot megvilágítva az érzékelõbe nem jut a környezeti fénynél számottevõen több energia: ilyen esetben nem tudunk távolságot mérni. Ennek okai a következõk lehetnek:
a fénysugár áthalad vagy elnyelõdik a felületen (átlátszó, illetve erõsen elnyelõ vagy egyenetlen felületû tárgyakon), a felületrõl visszaverõdõ fény intenzitása erõsen lecsökken (a)
a tárgy felületén direkt reflexió történik, a beesõ fénysugár jól meghatározott irányba verõdik vissza, a szóródás mértéke csekély, így az érzékelõ látószögébe esõ térrészbõl nem érkezik számottevõ mennyiségû fény (b)
a fénysugár közel párhuzamos a tárgy felületével, így a lézerpont véges kiterjedése miatt szélesebb mélységtartományból történik meg a visszaverõdés és ez a vonalérzékelõn lapos, elnyújtott csúcsként jelenik meg, amely nem különíthetõ el a környezetbõl származó zavaró fények által okozott intenzitásváltozásoktól (c)
árnyékolási jelenség: mivel az érzékelõ és a fényforrás nem egy pontban vannak, a tárgy leárnyékolhatja a megvilágított pontból szétszóródó fénynek az érzékelõ látószögébe esõ részét (d)
a tárgy felülete olyan mértékben elnyeli a megvilágító fény energiáját, hogy a visszaverõdõ fény nem különíthetõ el a környezetbõl érkezõ egyéb fényektõl
Bizonyos esetekben az érzékelõbe nem érkezik megfelelõ intenzitású visszavert fény (a. többszörös visszaverõdés, b. direkt reflexió, c. nagy beesési szög, d. árnyékolási jelenség)
A tárgy felületi minõségébõl adódó problémák a lézersugár energiájának növelésével, az érzékelõre érkezõ fény szûrésével, illetve a felület megváltoztatásával (a felület bevonása, mechanikai megmunkálás) enyhíthetõk.
A nagy beesési szög miatt fellépõ hatás intenzitáscsökkenés mérsékelhetõ koncentráltabb fénynyaláb alkalmazásával.
Az árnyékolás jelensége a mérés elvébõl adódik, csak akkor nyerhetünk maradéktalan leírást a tárgyról, ha azt mozgatjuk, különbözõ nézõpontokból vizsgáljuk (például dönthetõ, forgatható alapra helyezzük el; ha a mozgatás paraméterei rendelkezésre állnak, rekonstruálható az árnyékmentes látvány).
A berendezés beállítása során biztosítanunk kell:
a két y irányú eltérítõ tükör egytengelyûségét
az y irányú eltérítõ tükrök és a CCD vonalérzékelõ párhuzamosságát
a lézerfény, az y irányú eltérítõ tükrök és a CCD vonalérzékelõ egysíkúságát
az x irányú eltérítõ tükör tengelyének merõlegességét a lézerfény és az y irányú eltérítõ tükrök tengelyére
A berendezés kalibrációja:
z0 távolságra elhelyezünk egy z-tengelyre merõleges referencia síkot, amelynek segítségével elvégezzük az x és y irányú eltérítés kalibrációját
beállítjuk a két y irányú eltérítõ tükör együttmozgását, szinkronizációját
elvégezzük a referencia síkhoz viszonyított mélységi (z irányú) kalibrációt, úgy, hogy a z0 távolságban elhelyezett referencia síkra ismert vastagságú mérõhasábokat helyezünk, és felvesszük a p(Qi,zi)
Távolságkép felvételéhez a tükröket mozgatva végig kell pásztázzuk a tárgyfelület pontjait, mindenütt megmérve a lézerpont helyét a CCD érzékelõn. Ehhez a feladathoz egy PC-t használunk, mely a jelfeldolgozó processzorral felszerelt kamerával egy szabványos RS-232 soros vonalon kommunikál, a tükröket pedig egy egyszerû DA átalakító segítségével állítja. A mérési adatokat Matlab program segítségével értelmezzük, elemezzük és jelenítjük meg.
A mérõrendszer megvalósításának blokkvázlata
A tárgyfelületrõl visszaverõdõ fényt a Vision Components cég VC11 típusjelû kamerájával detektáljuk, melyet kifejezetten valós-idejû képfeldolgozási feladatokhoz fejlesztettek ki. Ehhez a kamerában egy nagy teljesítményû, jelfeldolgozó processzor (DSP - Digital Signal Processor) alapú számítómûvet valósítottak meg.
A kamerában markerkövetõ algoritmust futtatunk (a marker valamilyen jellegzetes, a képen könnyen felismerhetõ objektum - esetünkben a lézersugár fényes beesési pontja). A marker súlypontjának aktuális pozícióját a kamera a soros portján keresztül folyamatosan szolgáltatja.
A kamera mûködését alábbi ábrán látható blokkvázlata alapján mutatjuk be.
Vision Components VC11 videokamera blokkvázlata
A kamera három egységbõl épül fel az érzékelõ, a CPU és a kapcsolati panelbõl.
Az érzékelõ panel rögzíti a képet egy ICX059AL típusjelû CCD érzékelõ segítségével. A készült kép mérete 752x582 képpont.
A panelbõl kimenõ analóg jelet a CPU panel használja fel. A CPU panelen az Analog Devices cég ADSP2181 típusjelû jelfeldolgozó processzora mûködik (80 kB belsõ RAM-mal, 2MB külsõ DRAM, 512kB külsõ Flash-EPROM memóriával). A videojel digitalizálás után a processzor által elérhetõ DRAM-ba kerül. A panel digitális videojel kimenetére akár közvetlenül az A/D átalakítóról érkezõ jel, akár egy DRAM-ban lévõ kép továbbítható. Emellett egy bináris (1 bit színmélységû fekete-fehér) kép helyezhetõ a megjelenített képre, ennek videojelét közvetlenül a processzor állítja elõ (ez a módszer alkalmas pl. különféle grafikák, feliratok, kurzorok élõ képre való vetítésére). A processzor 4 kimeneti és 4 bemeneti digitális vonalat kezel különféle egyszerûbb vezérlési feladatok támogatására. A kamera V24 (RS232) szabványú soros vonalon keresztül is kommunikál a külvilággal (maximum 115200 baud sebességgel).
A kapcsolati panel elvégzi a fedõkép ráhelyezését a videoképre, és az így kapott videojelet D/A átalakítás után külsõ csatlakozóra vezeti ki. A panel a processzor által kezelt TTL/CMOS szintû jeleket galvanikusan leválasztja és 12/24V-os PLC jelekhez illeszti. Ezen kívül a panel a V24 vonal pufferelését és jelszint illesztését is végzi.
A kamerán VC/RT valós-idejû operációs rendszer fut, amely a felhasználó által írt programok futtatását, képek rögzítését és megjelenítését, valamint a soros interfészen keresztüli kommunikációt végzi.
A kamerához a mellékelt GNU C fordítóval készíthetünk saját programokat. Képfeldolgozó algoritmusok megvalósítását az igen gazdag VCLIB nevû optimalizált függvénykönyvtár segíti.
A kamera nagyon jól használható a legkülönbözõbb képfeldolgozási feladatokra, ugyanis a mûveletek legjelentõsebb része "helyben", a jelfeldolgozó processzor által elvégezhetõ, és ez igen gyors, pontos és megbízható mûködést eredményez.
Sugárforrás: 5 mW teljesítményû HeNe lézercsõ
CCD kamera:
Vision Components VC11 (CCD kamera+ADSP 2181 processzor)
752x582 felbontás
256 szürkeárnyalat
Tükörmozgató elektronika:
Emalog gyártmányú galvanomotorok
0..5V alapjel, PID szabályozó
A triangulációs rendszer adatai:
névleges mérési távolság (z0) 750 mm
bázistávolság (d) 200 mm
Látómezõ:
x irányú: eltérítési szög mellett 100 mm;
y irányú: eltérítési szög mellett 150 mm;
vizsgálható mélységi tartomány: 750 100 mm
Felbontóképesség:
z irányú: 0,5 mm
x irányú: 0,1 mm
A mérésre az útmutató alapján elõzetesen fel kell készülni! Ezt a mérés elején ellenõrizzük, és ennek eredménye beleszámít a kapott osztályzatba.
Tudni kell a következõket:
A mérés elve az útmutató alapján: az intenzitás- és távolságkép közötti kapcsolat, távolságképek készítése, a mérõrendszer megvalósításának értése, a szinkronizált pontonkénti lézer letapogatás geometriájának elve, a rendszer korlátai
C programozás alapjai
Matlab alapvetõ funkcióinak ismerete, valamint function; fopen, fscanf, fclose; polyfit, polyval; image, colormap, mesh, surf használata.
Bármilyen számítógépen a felvett képek a C:\MERES\3DSCAN\ÉÉHHNN könyvtárban dolgozzon (ÉÉHHNN a mérés dátuma). Ezen belül a mérésvezérlõ forráskódját a SRC, a Matlab függvényeket a MATLAB, a kész mérési adatokat a RAW könyvtárba mentse.
Készítse el a PC-n futó vezérlõ és adatgyûjtõ programot (kiindulásként használja a függelékben található programvázlatot), mely a következõ funkciókat tudja ellátni:
A. Az X és Y1, Y2 eltérítõ tükröket a kurzormozgató gombokkal irányítja
B. Az eltérítõ tükrök mozgatásával kirajzol a lézerrel egy megadható méretû téglalap alakú területet (a letapogatandó terület kijelölésére)
C. Megadható méretû és sûrûségû pontrács szerint távolságérték mintát vesz (letapogatja a tárgyfelületet), és a mérési adatokat Matlab számára értelmezhetõ formájú szöveges fájlba helyezi (.raw kiterjesztés, ld. példa a függelékben; ügyeljen a helyes tükörmozgatási stratégia megválasztására, és a marker pozíció mérhetetlenség kezelésére)
Ellenõrizze a távolságmérõ kalibrációját és a PC-n futó program helyes mûködését!
A. Készítsen néhány felvételt a tükrök teljes mozgási tartományában néhány az alapsíkkal párhuzamos síkról
B. Elemezze az elkészült szövegfájlok alapján a felvételeken látható eltéréseket az ideális eredményektõl (használható terület behatároltsága, ennek oka, zaj, nemlinearitások; a jegyzõkönyvben egy konkrét képen ezek bemutatása)
C. A felvételek alapján határozza meg a távolságmérésre elfogadható pontossággal használható területet, szükség szerint a mérõrendszer elemeinek kis mértékû elmozdításával korrigálja az észlelt rendellenességeket. A továbbiakban ezen a területen belül dolgozzon!
Jelenítse meg Matlab programmal a távolságképeket
A. Vegye fel egy lépcsõs elrendezés (stairs.raw) és néhány tetszõleges forma távolságképét
B. Írjon Matlab függvényt (draw1(img)), amely síkbeli szürkeárnyalatos képként jelenít meg egy tetszõleges távolságképet (img egy egyszerû mátrix, mely a raw fájlból a rawread(filename) függvénnyel nyerhetõ)
Kézfej távolságképének síkbeli szürkeárnyalatos ábrázolása
C. Írjon Matlab függvényt (draw2(img)), amely térbeli felületként jelenít meg egy tetszõleges távolságképet (ilyen kép ld. a címlapon)
D. Írjon Matlab függvényt (draw3(img, linecount)), amely szintvonalas ábrázolással jelenít meg egy tetszõleges távolságképet (megadható legyen, hogy hány vonallal ossza fel a teljes távolságtartományt)
Egy egér (a számítógépes pozícionáló eszköz) távolságképének szintvonalas ábrázolása
E. Nézze meg a távolságképeket a megvalósított függvényekkel! Készítsen símítószûrõket a különféle hibák zavaró hatásának csökkentésére (pl. medián szûrõ: filtmed(img,winsize), csak a mérhetetlen pontokban alkalmazott medián szûrõ: filtmed2(img,winsize), aluláteresztõ konvolúciós szûrõ: filtconv(img)), és hasonlítsa össze az eredményt az elõzõ képekkel
Kalibrálja a marker pozíció mérésének adatait
A. Vegye fel 10 db egymástól 1 cm-re lévõ sík távolságképét (kb. 15x15-ös felbontással, fájlnevek: calib00.raw, calib01.raw, . calib09.raw)
B. A síkok középpontjában mért adatok alapján állapítsa meg a pozícióadat és a valódi távolság közötti függvénykapcsolat jellegét
C. Milyen a függvénykapcsolat a síkok széleinek közelében? Mi ennek az oka?
D. Adjon becslést a mérõrendszer pontosságára. Hogyan változik a hiba a teljes mérési tartományban?
A mérésrõl mérõcsoportonként egy jegyzõkönyvet kell készíteni. A kapott osztályzat a beugró eredményébõl és a jegyzõkönyvbõl alakul ki.
A mérési jegyzõkönyvben szerepeljen:
a vezérlõ és adatgyûjtõ program és minden Matlab függvény forráskódja
a szöveges elemzéseket támassza alá megfelelõ szemléletes kép beillesztésével
A mérés végeztével ellenõrizze, hogy a szükséges forrásfájlok és mérési eredmények megtalálhatók a megfelelõ könyvtárakban.
* 3dscan.cpp
*
* MoMic
*
* Written by: evf., szak, merocsoportszam
* Date: yyyy.mm.dd
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
#include <process.h>
#include "camera.h"
#include "mirror.h"
int MirrorMove(void)
int ShowField(int x1, int x2, int y1, int y2)
int ScanField(char* fn, int x1, int x2, int nx, int y1, int y2, int ny)
void Instructions()
int main(int argc, char *argv[])
CameraInit();
MirrorInit();
if (!strcmp(argv[1],"move"))
result=MirrorMove();
else if (!strcmp(argv[1],"field"))
else if (!strcmp(argv[1],"scan"))
else
Instructions();
CameraDone();
MirrorDone();
return result;
const int MIRROR_MIN=0; // x, y1, y2 tukor DAC minimum ertek (0V)
const int MIRROR_MAX=4095; // x, y1, y2 tukor DAC maximum ertek (+5V)
const int MIRROR_ORG=2048; // x, y1, y2 tukor kozepallasanak megfelelo DAC ertek
void SetMirrorX(int dax); // X tukor mozgatasa a DAC ertek megadasaval
void SetMirrorY(int day1, int day2); // Y1, Y2 tukor mozgatasa a DAC ertekek megadasaval
int CameraGetCoords(int *x, int *y); // Marker pozicio lekerese a kamerabol
// visszateresi ertek hiba eseten (nem talalt markert) -1
Az elsõ két sor fejléc:
minimális és maximális DAC érték, minták száma az X tengelyre (1. sor)
minimális és maximális DAC érték, minták száma az Y tengelyre (2. sor)
Ezután következnek a nyers mérési adatok (marker pozíció X koordinátája), egymástól szóközzel elválasztva, sor végén CR/LF-el lezárva.
%Read raw file in matrix
function img=rawread(filename)
fid=fopen(filename)
a=fscanf(fid,'%f %f %i',3);
xmin=a(1)
xmax=a(2)
xno=a(3)
a=fscanf(fid,'%f %f %i',3);
ymin=a(1)
ymax=a(2)
yno=a(3)
img=fscanf(fid,'%i',[xno,yno]);
fclose(fid)
Besl, P. J., Jain, R.C. [1986]. Invariant surface characteristics for three-dimensional object recognition in range images. Computer Vision, Graphics, Image Processing, 33, (Jan.), 33-80
Besl, P.J. [1988]. Surfaces in Range Image Understanding, Springer-Verlag, Springer Series in Perception Engineering
Gil, B., Mitchie, A., Aggarwal, J.K. [1983]. Experiments in combining intensity and range edge maps. Computer Vision, Graphics, Image Processing, 21, (Mar.), 395-411
Haralick, R.M., Watson, L.T., Laffey, T.J. [1983]. The topographical primal sketch. Int. J. Robotics Res. 2, 1 (Spring) 50-72
Jais,
S.[1997]. Investigations on Optical 3D
Measurement Techniques and Implementation of an
Sanz, J.L.C. [1989]. Advances in Machine Vision, Springer-Verlag, New York
Wager, R. [1992]. Integrierte Auswertung von Abstands- und Intensitätsbildern, diplomamunka, Universität Karlsruhe
Wei, J. [1989]. Modellgesteurte Szenen-Interpretation durch Fusion von Intensitäts- und Abstandbildern, doktori disszertáció, Universität Karlsruhe
Lassó, A. [1998]. Háromdimenziós képek feldolgozása és illesztése CAD adatbázishoz, TDK dolgozat, Budapesti Mûszaki Egyetem
Fisher R. B. [2000] CVOnline https://www.dai.ed.ac.uk/CVonline/
Találat: 3579