Autonómne systémy sa postupne stávajú súčasťou nášho každodenného života od samojazdiacich áut až po robotické vysávače. Vývoj autonónmych systémov neobišiel ani veľmi populárnu oblasť dronov. Tvorba algoritmov pre drony prináša viaceré výzvy. Spoločnosť MathWorks ponúka viaceré produkty pre vývoj rôznych algoritmov, ale pre oblasť dronov ponúka samostatnú nadstavbu – UAV Toolbox.
Využitie dronov v spoločnosti má stúpajúci trend. Môžeme si ich všimnúť v priemysle pri inšpekciách a monitorovaní, doručovaní zásielok, filmovaní, prípadne vo výučbe. Väčšinou ich riadenie predstavuje manuálnu činnosť, kde pilot ovláda drona v jeho blízkosti. V súčasnej dobe sa v tejto oblasti nasadzujú algoritmy, ktoré umožňujú prechod od manuálneho riadenia ku autonómnemu letu. To má za následok potrebu tvorby a testovania komplikovaných algoritmov. Nie vždy je bezpečné testovať algoritmy priamo v reálnom svete. Spoločnosť MathWorks poskytuje overené nástroje pre bezpečný a rýchly spôsob tvorby a testovania autonómnych systémov vrátane dronov.
Základom simulácie dronov a všeobecne UAV (Unmanned Aerial Vehicles) zariadení je dynamika ich letu. Miera presnosti modelu závisí od spôsobu, akým dynamiku modelujeme. Na vytvorenie rýchleho prototypu UAV Toolbox obsahuje zjednodušené navigačné modely – fixed-wing a multirotor. Pomocou týchto modelov odhadujeme stavy UAV na základe riadenia a prostredia. Na pokročilé modelovanie môžeme využiť bloky z Aerospace Toolboxu a Aerospace blocksetu, ktoré modelujú dynamiku detailnejšie. Okrem blokov pre rovnice pohybu umožňujú modelovať aerodynamické sily a momenty, akčné členy, motory alebo vplyv prostredia a počasia.
Dynamika letu nadväzuje na plánovanie pohybu. Pri plánovaní máme väčšinou preddefinovanú misiu so stanovenými bodmi na trase. UAV Toolbox obsahuje bloky na zabezpečenie sledovania stanovených bodov, pohyb po orbite alebo plánovania misie. S využitím Navigation Toolboxu máme možnosť rozšíriť autonómne algoritmy do väčších detailov. Môžeme využiť mapy obsadenosti na plánovanie pohybu pri rôznych prekážkach s algoritmami ako je RTT a simulovať rôzne kinematické obmedzenia.
Po vytvorení algoritmu je potrebné algoritmus overiť v prostredí reprezentujúce skutočný svet. UAV Toolbox poskytuje viaceré možnosti tvorby prostredia. Najrýchlejším spôsobom je tvorba prostredia, v ktorom sú prekážky definované ako kvádre. V tomto prostredí máme možnosť generovať syntetické merania zo snímačov, ako je INS, GPS alebo lidar. Pokročilejšie prostredia je možné simulovať pomocou 3D prostredia s využitím Unreal Engine. Z tohto prostredia získame realistickejšie dáta z kamier alebo lidaru. Poslednou možnosťou je využitie kosimulácie s Gazebom.
Vytvorený algoritmus, ktorý bol overený v simulačnom prostredí je potrebné otestovať, prípadne nasadiť na reálne zariadenie. UAV Toolbox obsahuje podporu protokolu MAVLink, ktorý slúži na výmenu dát medzi riadiacou stanicou a autopilotom alebo palubným počítačom. Podporný balíček pre PX4 Autopilots umožňuje prístup k perifériám a možnosť generovania kódu pomocou nadstavby Embedded Coder. Ďalšie podporné balíčky uľahčujú nasadenie autonómnych algoritmov na riadiaci počítač, napríklad NVIDIA Jetson, ktorý si vymieňa informácie s autopilotom.
Medzi úlohy návrhu autónomnych algoritmov pre UAV zariadenia patrí analýza leteckých dát. UAV Toolbox umožňuje import zaznamenaných dát vo formáte TLOG, ULOG, prípade vašom vlastnom formáte. Interaktívna vizualizácia a analýza dát je zabezpečená pomocou aplikácie Flight Log Analyzer. Pre pokročilejšiu analýzu je možné využívať ďalšie nadstavby, ako je Signal Processing Toolbox.
UAV Toolbox obsahuje dokumentáciu s príkladmi, ktoré vám pomôžu začať s tvorbou autonómnych algoritmov pre UAV zariadenia. Referenčný príklad UAV Package Delivery vás prevedie návrhom a simuláciou algoritmu pre malého drona. Okrem dokumentácie a príkladov máte k dispozícii sériu videí na stránke MathWorks s názvom Drone Simulation and Control.
Michal Blaho (HUMUSOFT), 10.02.2021