Project - Palcom

2007 OTDK dokumentáció
>> English abstract
Palcom, 2006 Bemutató Download

Célkitűzés, és kritériumok

A dolgozat témája egy olyan PAL optikával felszerelt mobil robot megtervezése és kivitelezése, amely autonóm navigációra képes. Autonómia alatt olyan feladatok önálló elvégzésére való képességet értünk, mint vonalkövetés, akadálykerülés, objektumkövetés, önálló helyzet-meghatározás, térképezés, illetve térkép alapján komplexebb navigáció megvalósítása A robot összeállításának alapveto kritériuma volt, hogy hardver oldalról egyszeru, könnyen reprodukálható komponenseket használjon fel, ezzel stabil alapot nyújtva a további kutatásokhoz és fejlesztésekhez. Ezért a rendszer problémamegoldó képessége szoftveres úton lett megvalósítva.

 

A rendszer felépítése

Az ábrán a rendszer architektúrális felépítése látható. A fontosabb modulokat késobb részletesebben kifejtem. A rendszer felépítése kliens-szerver architektúrára épül: a kliens a mobil robot, a szerver a feldolgozó egység a számítógép. A roboton vezetéknélküli kamera található, amely 1.2 GHz-en közvetíti a videojelet a fogadóba, ahonnan composite bemeneten kerül átadásra a digitalizáló kártyába. A beérkezo képfolyamot vezérlo szoftver dolgozza fel a számítógépen és az általa kinyert információból automatikusan irányítja a robotot. A fejlesztés során három különféle autó két különbözo irányítását készítettük el.

 

Irányítás I.

Az első robotunk alapját egy RC autó alkotja, ahol a PC és a távirányító kapcsolatát egy optocsatolóval oldottuk meg. Ennek segítségével párhuzamos porton keresztül tudunk 9 irányítási értéket kiküldeni. Az autó hátulütője a diszkrét irányíthatóság, ami a sebességszabályozás hiánya, illetve a durva irányváltoztatást jelenti. Annak érdekében, hogy pontosabb navigációt tudjunk elérni, váltani kellett precíziósabb irányítású autóra.

Irányítás II.

Az újonnan elkészült robot előnye az RC autóhoz képest, hogy a távirányító, és az autó közötti kommunikációs frekvencia megváltoztatható, így több hasonló Modell RC–t is lehet egyidejuleg vezérelni. Másik fontos előnye, a pontosabb, precíziós irányítás, mely révén, az irány, és a sebesség finom állítására van lehetőség. A vezérléshez ezt a két értéket kell soros porton kiküldeni, melyek intervalluma a különböző ModellRC autóknál eltér, ezért programból állítható. Az eredeti távirányítóba plusz elektronikával csatlakozunk be. Az áramkör megépítéséhez PIC mikrokontroller felhasználása tunt a legideálisabb választásnak sokrétű tudása, és kis mérete miatt.

Az áramkör elvi kapcsolási rajza az ábrán látható. Három impulzussal vezérelhetjük az távirányítót. Az első impulzus 15 ms-onként követi egymást, ez a periódusidő. Az irányt a soros porton vett első adatból számolt időérték elteltével kiküldött második impulzus határozza meg, majd őt követi a harmadik impulzus, a második adatból számolt időérték elteltével a sebesség vezérléséhez.

Robotok

A robotokat egy optikai szenzorral láttuk el, mely elegendő információt biztosít a navigációhoz.. Látható, hogy míg az RC-nél a kamera rögzítése fix, addig a Modell RC-knél a felfüggesztés magassága változtatható, így nagyobb terület belátására képes. A kamera PAL-optikával van felszerelve, ennek segítségével a látószög 360 fok-ra bővül.

 

A teljeslátószög előnyei

A PAL optika előnyei közé tartozik, hogy nincs szükség mozgó alkatrészre a környezet vizsgálatához, valamint változó távolságban az éles kép eléréséhez nem szükséges külön fókuszálni. A környezet 360fokos képét 2 dimenzióra vetíti le ezzel körgyurus képet alkot, azaz polár koordinátával leírható hengervetületet ad. Felépítéséből adódóan a közepén egy holttér található, mely a képalkotásban nem vesz részt. A kép közepén levő holttér nem vesz részt a képalkotásban. Könnyen áttranszformálható az alsó képen látható perspektív nézetbe, azaz kiteríthető azonban ez a feldolgozás szempontjából többletinformációt nem nyújt. Tulajdonságai: a középpont, a belső sugár és külső sugár, valamint a lencse görbülete. A PAL-középpont gyakran eltolódva helyezkedik el a kép közepéhez képest, ezért KORRIGÁCIÓ szükséges, amit a szoftver automatikusan elvégez

 

Vezérlő szoftver

A vezérlo szoftver elozménye egy Delphi alatt készült prototípus rendszer, amelyben kipróbálásra kerültek az egyszerubb képfeldolgozási algoritmusok, és navigálási rendszerek. A végleges rendszer C# alatt készült, amelynek elonyei a modularizálhatóság, és az új funkciók beépítésének egyszerusége. A rendszer moduláris felépítésu: az egyes modulok között a képfolyam egy pipeline-on keresztül továbbítódik. A képek feldolgozása a következoképpen történik: a digitalizáló kártyáról érkezo képfolyam az Input modulba érkezik, melynek feladata kamerából kép kinyerése, vagy teszt videó visszajátszása. Ez továbbítja a Döntéshozó, és Mapper moduloknak. A döntéshozó elemzi a képet, és százalékos értékeket küld a Navigation modulnak, mely soros porton irányítás és sebesség értékeket továbbít a PIC részére.

Döntéshozó modul

A három alapveto navigációs programot (vonalkövetés, objektum követés, valamint “free fall” navigáció) egyetlen komplex algoritmus valósítja meg, különbözo paraméteres beállításokkal. Az algoritmus egy olyan irányvonalat határoz meg az elofeldolgozott képen, mely a középpontban tart össze, a kezdete a középponttól r1 távolságnyira van. A hosszát a távolság paraméterrel tudjuk változtatni. 90foktól a Keresési szög paraméterig balra, illetve jobbra kezd keresni a fokértékek között. A meghatározott vonalak mentén összeadja a pixelintezitásokat, és amelyiknél az érték túllépi a threshold minimum küszöbszámot valamint a legtöbb, az a szögérték lesz kiválasztva az irányítás számára. Az eddig felvázolt komponensek alkotják a rendszer vázát, a továbbiakban a térképezés megvalósítását ismertetem, melynek futása az alapveto navigációs programokkal párhuzamosan történik.

PAL paraméterek

A térkép felépítése több lépésben történik. Az elso lépés a PAL optika tulajdonságainak: a középpont, a belso vakfolt, valamint a külso holttér sugarának automatizált megállapítása. A középpont megállapításáért felelos algoritmus abból a feltételezésbol indul ki, hogy a vakfolt általánosságban a kép közepén helyezkedik el. Így eloször veszi a kép középpontját, majd egy threshold alapú pixeldifferenciálás segítségével felméri az adott ponttól a vakfolt horizontális, és vertikális kiterjedését. A két szakasz megfelezésével eloáll a vakfolt középpontjának pozíciója. A belso vakfolt sugarának megállapításáért felelos algoritmus a középpontból kiindulva átlósan mind a négy irányba felméri a vakfolt kiterjedését. Ez a mérés két szomszédos pixel differenciája alapján történik. Ezzel eloáll négy szakasz, majd ezen szakaszok átlagát véve eloáll a belso sugár. A külso sugár megállapítása hasonlóképpen történik, viszont ott a két szomszédos pixel differenciája helyett az adott pixel értékét feltételezzük egy threshold érték fölé. A megállapított értékek nem optimálisak, de kielégítok: mivel ezt a mérést csupán egyszer - a konfigurálási szakaszban - kell elvégezni, az eredmények akár kézzel ellenorizhetoek, felülbírálhatóak.

Képkiterítés

A második lépés a PAL optikából érkezo kép transzformációja egy olyan virtuális felülnézeti képpé, amelyen a földön lévo, párhuzamos egyenesek a képen is párhuzamosak. A képkiterítés elvégzéséhez egy transzformációs görbét használunk, amely az optika görbületét írja le. A képkiteríto eloszurés végeredményeként eloállt kép alapján kerül az aktuális pozíció meghatározásra, valamint - további eloszurések után - ezekbol a képekbol épül fel a teljes térkép.

Lokalizáció

A harmadik lépés a kiterített képek alapján történo lokalizáció. A lokalizáció relatív: a felépített térkép zérus pontja megegyezik a robot kiindulási pontjával. Ezt szem elott tartva a lokalizációs feladat alapvetoen redukálódik a két beérkezett kép közötti relatív elfordulás, és elmozdulás megállapítására; ezt egy neurális háló segítségével végezzük a következoképpen: A beérkezett képekbol eloször egy különbség-kép kerül eloállításra; a háló bemenetét ez a különbség kép adja. A hálónak három kimenete van: az X,Y tengelyen való elmozdulás, valamint az elfordulás. A háló topológiáját tekintve elorecsatolt, az optimális rejtett réteg nagyságát mérésekkel állapítottuk meg. A háló elore tanított. Ahhoz hogy megfelelo számú tanító minta álljon rendelkezésre, nagy beltéren kellett videókat forgatni. A videókat ezután képkockákra vágtuk, és a képeket kézzel illesztettük össze. Így az egyes képek pozíció, és fordulási adatait letárolva, létrejött a tanító minta; ez alapján történt a háló tanítása. A tanítási folyamat során érdekes még megjegyezni, hogy a tanítási ido minimalizálása érdekében egy hibrid módszer került alkalmazásra: a tanítás elso fázisában a genetikus algoritmus nagy vonalakban (1%-os hibázási pontossággal) összeállította a neurális hálót, majd az apró pontosításokat (a 0.1%-os optimális határig) a hiba-visszaterjesztéses algoritmus fejezte be.

Blending szuro

A kiterítési, és lokalizációs hibák csökkentése érdekében az egyes területekhez tartozó színkomponens értékek egy blending szuron keresztül íródnak át a térképre leképezett pozíciójukba. A blending szuro lényege, hogy a térképen minden pixel színkomponens értéke mellett letárolásra kerül az is, hogy az adott pixel tartalma hány korábbi beérkezo képbol került kiszámolásra (a továbbiakban: alfa komponens). A beérkezo értékek hatása tehát a felépített térképre nézve logaritmikusan csökken.

Konklúzió

A rendszer összefoglalásaként az alábbi konklúziót vonhatjuk le: Sikerült kifejleszteni egy olyan rendszert, amely hardver oldalról egyszeru, könnyen reprodukálható komponenseket tartalmaz, ezzel stabil alapot nyújtva a további, hasonló robotika, és gépi látás területén folyó kutatásokhoz, és fejlesztésekhez. Az eloállított térképezo rendszer a kameraképek gyenge minosége, és a gyors mozgás ellenére is képes stabil térképezésre. Az elmozdulás megállapítására jellemzokövetés helyett a neurális háló alkalmazásával nemcsak pontosabb helyzetmeghatározást, de gyorsabb futási idot is eredményez, ezzel további eroforrásokat felszabadítva. Az ennek segítségével kinyert térkép a korábban elkészített keretprogram, és navigációs rendszerrel kiegészülve számos további navigálási, és programozhatósági lehetoségre mutat elore. Továbbfejlesztési terveink közé tartozik a rendszer útkereso modullal való kiegészítése, melynél a robot a térképen statikus, valamint a beérkezett képen dinamikus akadály-felismerést végezve képes a felhasználó által megadott cél pozícióba ütközésmentesen eljutni.








Navigáció:
Absztrakt
Palcom/2006
Palcom/2005
Palcom/2004


Eredmények

Fórum

Kapcsolat:
Palcom Group

Keni
Lacc
SDr

BMF-NIK-IAR, 2004-2006