online kép - Fájl  tubefájl feltöltés file feltöltés - adja hozzá a fájlokat onlinefedezze fel a legújabb online dokumentumokKapcsolat
  
 

Letöltheto dokumentumok, programok, törvények, tervezetek, javaslatok, egyéb hasznos információk, receptek - Fájl kiterjesztések - fajltube.com

Online dokumentumok - kep
  

Lézeres tavolsagmérés

fizikai



felso sarok

egyéb tételek

jobb felso sarok
 
Magneses jelenségek
REOLÓGIA
Fizika II, Hõtan: vizsgatételek
Lézeres tavolsagmérés
 
bal also sarok   jobb also sarok


Lézeres távolságmérés



mérési útmutató









Háromdimenziós látórendszerek mûködése

Általános alapelvek

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.

Az intenzitás- és távolságkép közötti kapcsolat

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ése

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).

Pontonkénti lézer letapogatás

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

Fénykés

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

Összetett fény

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

Kódolt fény, és módosított változatai

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.

A módszerek összehasonlítása

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)

Az alkalmazott eszközök és módszerek ismertetése

A mérõrendszer felépítése és mûködése

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

A szinkronizált pontonkénti lézer letapogatás geometriája

A kétdimenziós geometriai modell

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

A háromdimenziós geometriai modell

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.

A rendszer korlátai

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 és kalibrációja

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)

A mérõrendszer megvalósítása

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

Kamera és jelfeldolgozó

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.

Technikai jellemzõk

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

Mérés menete

Beugró

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.

Mérési feladat

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?


Mérési jegyzõkönyv

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.

Függelék

Vázlat PC-n futó mérésvezérlõ és adatgyûjtõ programhoz



* 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;


Tükörmozgató és kamerakezelõ rutinok (deklarációk a mirror.h, camera.h fájlokban)


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

Távolságkép példa (fullscan.raw)

























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.

Matlab programvázlatok


%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)



Irodalomjegyzék


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 Optical Range Sensor, diplomamunka, Johannes Kepler Universität, Linz


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


Felhasználási feltételek