Project - Palcom

2007 OTDK dokumentáció
>> English abstract
Palcom, 2005 Bemutató Videók Download

A projekt célkitűzése

Dolgozatunk témája egy olyan autonóm robot megtervezése és kivitelezése, amely egy homogén, gyengén textúrázott környezet figyelembevételével önálló navigációra képes. Hosszú távú céljaink közé tartozik ennek a robotnak oly módon való továbbfejlesztése, hogy alkalmas legyen a vakok, gyengén látók mindennapi életükben való segítségnyújtásra, számukra ismeretlen terepen való beltéri tájékozódáshoz.

 

A rendszer felépítése

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ó, 1.2 GHz-en közvetíti a videójelet a fogadóba, ahonnan composite bemeneten kerül átadásra a digitalizáló kártyába. A beérkező képfolyamot vezérlő szoftver dolgozza fel a számítógépen és az általa kinyert információból automatikusan irányítja a robotot. Fejlesztés során három különféle autó két különböző 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. 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érlő szoftvert két fejlesztői környezet alatt, Delphi és C# nyelvenis megvalósítottuk. C# nyelvre való áttérésre az autonomitás megnövelése, valamint a platformfüggetlenséghez való közelebb kerülés érdekében volt szükség. Mindkét rendszer hasonlóan modul-felépítésű. A feldolgozás egy pipeline-on keresztül folyik. A digitalizáló kártyából az input modul DirectX segítségével kapja meg a képfolyamot, melyet előfeldolgozásra küldjük annak érdekében, hogy optimális információkat tudjunk biztosítani az irányítás számára.

Képfeldolgozó modul

Delphi-ben a zajszurést a pixelnoise algoritmussal kezeljük. Erre azért van szükség, mivel a fel-felvillanó pixelek, apróbb intenzitásváltozások a képben nagy arányban ronthatják a detektálás folyamatát. Ezek a zajok többnyire a rádiós jeltovábbításból származnak. A legeredményesebben felhasznált élkereső szűrők a sobel és susan. C#ban fontosabb előfeldolgozó algoritmus az RGB, Treshold, és HSL szurők, melyekkel nemcsak zajszurés, hanem eredményes élkiemelés is biztosítható. Élkeresésre továbbá a Canny algoritmust használjuk. Az előfeldolgozóból a döntéstámogató modulba érkezik a kép.

Delphi AI működése

Vonalkövetés során egy meghatározott színintenzitáshoz hasonlítjuk a további pixeleket, így becsülve a követendő vonal helyzetét a robothoz képest. A PAL-középpont x koordinátáját tekintve alapértéknek különböző y értékekkel 3 vonalban vizsgáltatjuk a pixeleket. Ahol a színintenzitás többször egymás után is nagyobb, az a pont potenciális útnak tekintendő. A 3 detektáló vonal egymáshoz képest mért irány és nagyság meghatározása után irányváltoztató adatot küldünk ki a robot részére. Ha az első vonal mentén az intenzitás alacsony az akadálynak minősül, ezért ellentétes irányváltoztatásra kényszeríti a robotot. Ha nincs értékelhető vonal vagy akadályát detektál, tolatás történik, és a mögöttes rész vizsgálatára is sort kerítve hasonló módszerrel kerestethetünk alkalmas pályát.

Akadálykerüléshez előfeldolgozásként élkereső algoritmust használunk, melynek eredményességét pixelzajszuréssel támogatjuk. A PAL-holtpont szélétől (a középponttól r1 távolságban) különböző szögértékben kontúrpont-távolságot mérünk. Ezen távolságok alapján küldjük ki a robot számára az irányítási adatokat. Ha a távolságértékek olyannyira lecsökkentek hogy a robot már nem képes az akadály kikerülésére a mögöttes részt vizsgáltatva lehetséges esetben tolatást végeztetünk.

Pályakövetés

Amíg delphiben külön algoritmusok szolgálnak a különféle navigációs viselkedés számára, c#-ban egy univerzális algoritmust alkalmazunk, melyet különböző paraméteres beállításokkal használva mindhárom forma megvalósítható. Az algoritmus egy olyan irányvonalat határoz meg a 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..

Konklúzió

Sikerült kifejleszteni egy olyan rendszert, amely 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 összeállított rendszer költségtakarékos eszközökből egyszerűen összeállítható. Rövid távú továbbfejlesztési terveink közé tartozik egy olyan dinamikus döntéstámogató modul írása, amely képes emlékezni a környezet azon részére, ahol a mobil robot egyszer már járt. Így a kisautó kicserélésével eredeti célunkat elérhetjük, vak embertársainknak segítő rendszer készíthető.

Irodalom

 








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


Eredmények

Fórum

Kapcsolat:
Palcom Group

Keni
Lacc
SDr

BMF-NIK-IAR, 2004-2006