Aplikácia fuzzy regulácie a indoroovej navigácie s využitím Parrot A. R. Drone

Oblasť výskumu a vývoja bezpilotných prostriedkov, alebo tiež dronov, je v súčasnej dobe veľmi populárna. Rovnako populárne je v robotickom svete aplikovať, v rámci riadiacich štruktúr robotov, metódy umelej inteligencie. My sme sa rozhodli skĺbiť tieto dve problematiky a spojiť ich v projekte autonómneho riadenia quadrokoptéry v indoor priestoroch. V rámci našej aplikácie sme vyvinuli riadiace štruktúry pre komerčný quadrokoptér A. R. Drone na báze fuzzy logiky. Počas vývoja sme vyvinuli vlastný systém určovania globálnej pozície drona v krytom priestore (absencia GPS signálu) na základe využitia markerov. Zo softwarového hľadiska bol projekt kompletne realizovaný na platforme ROS s využítím ArUcO a FuzzyLite knižnice.


Prvým problém, s ktorým sme sa museli vysporiadať, bolo určenie pozície drona v rámci priestoru. Keďže je naša aplikácia primárne určená do krytých priestorov, nie je možné využiť GPS signál a určovať polohu pomocou neho. Elektronika dronu poskytuje informáciu z IMU (Inertial Measurement Unit) jednotky, ktorá pozostáva z akcelerácie vo všetkých troch osiach a jej orientácie jednotky v priestore, takzvané Eulerové uhly. V teoretickom prípade je možné dvojitou integráciou akcelerácie získať polohu, no už malý šum spôsobí, že za pár sekúnd je integrovaná poloha nepoužiteľná. Parrot A. R. Drone je vybavený aj dvojicou kamier, pričom predná kamera disponuje rozlíšením 720p a vzorkovacou frekvenciou 30fps. Práve túto kameru sme sa rozhodli využiť v našej aplikácii.

Jednou z možností ako určiť polohu mono-kamery v priestore je použitie markerov a knižnice ArUco, s ktorou sme mali prvé skúsenosti. Primárna myšlienka, s ktorou pracuje knižnica, je určenie polohy markera voči statickej kamere. My sme sa rozhodli túto myšlienku otočiť a zafixovať markery do pevnej polohy a pohybovať kamerou, dronom. Výsledkom je globálny pozičný systém využiteľný v prípade indoor a aj outdoor navigácie.

Po zachytení prvého markera kamerou, je tomuto markeru priradená pozícia [0, 0]. Poloha nových nájdených markerov je vypočítaná vzhľadom na pozíciu predchádzajúcich markerov, ktoré už majú vypočítanú polohu v rámci referenčného systému, a počiatok súradnicového systému, teda marker s pozíciou [0, 0]. Nutnou podmienkou pre výpočet polohy nového markera je to, aby bol súčasne v zornom poli kamery spolu s markerom, ktorý už má svoju polohu určenú.

Polohy všetkých markerov sú uložené v dynamickom poli a zobrazené pomocou simulačného prostredia R-Viz. Pomocou markerov je možné vytvoriť navigačnú sieť s postačujúcimi rozmermi a obsiahnuť relatívne veľké priestory. Takto vytvorená sieť je schopná poskytovať globálnu pozíciu drona v priestore voči jej počiatku.

Video zobrazuje postupné nachádzanie nových markerov a ich zanášanie do mapy v simulačnom prostredí R-Viz. Pre vizualizácia aktuálnej polohy drona sme použili nami vytvorený URDF model Parrot A. R. Drone.

Keď už sme dokázali určiť polohu drona v priestore, k slovu sa dostal samotný návrh a realizácia fuzzy regulátorov. Pri návrhu regulátorov sme vychádzali zo skúsenosti, ktoré sme získali pri simulačnom návrhu regulácie hexakoptéry v rámci súťaže Euroc. Regulácia drona Parrot A. R. Drone  pozostáva z vytvorenia a naladenia fuzzy regulátorov v jeho 3 osiach, v osi X a Y (dopredný a bočný pohyb) a v osi Z (výška a azimut).

Pri návrhu fuzzy regulátorov drona sme použili štandarný Mamdaniho typ regulátorov, pričom fuzzyfikácia premenných a návrh pravidiel vychádzala zo skúseností pilota – experta. Pre každú premennú sme si zvolili trojuholníkové funkcie príslušnosti a rozsahom univerza <-100, 100>. Reálne hodnoty, vstupujúce zo systému do regulácie, boli prepočítané pomocou jednotlivých váhových zosilnení na nami zvolený rozsah univerza.

Pre realizáciu regulátorov bol použitý jazyk C++ a knižnica FuzzyLite. Výpočet fuzzy regulácie, mapovanie a určovanie polohy drona sú realizované na univerzálnej pozemnej stanici. Celý systém je prepojený pomocou ROS.

Na záver sme si dovolili pripraviť krátke video, ktoré sme nazvali Drone – exhibition. Prajeme príjemný zážitok 🙂

Galéria k článku:

Ján Bačík