Serverová komponenta pro aktualizaci modelu autonomního navigačního systému

Abstract
Tato diplomová práce popisuje vývoj a ovládání webové služby, která poskytuje data autonomnímu navigačnímu systému pro zařízení typu dron a auto.Nejprve je ve zprávě charakterizováno autonomní zařízení. Stručně jsou popsány hardwarové periferie a komunikační rozhraní experimentálního zařízení.Další část se zabývá návrhem serverové aplikace, která dle ad hoc požadavků zařízení aktualizuje 3D mapu a okolí. Spolu s tím se dále zaobírá vytvořením schématu relační databáze pro ukládání této mapy. Webová služba využívá veřejně dostupná REST API služeb ArcGIS a OpenStreetMap pro sběr příslušných mapových podkladů, ze kterých získá potřebné informace. Ze služby ArcGIS pomocí API získáme například nerovnost terénu, odpovídající texturu a nejvyšší a nejnižší body pro jednu dlaždici. Podobným způsobem ze služby OpenStreetMap získáme informace o objektech, kterým se zařízení má vyhnout. Pro objekty se spočítá půdorys a výška a z těchto informací následně dojde ke spojení a vytvoření vlastních mapových podkladů, o které může navigační systém požádat. Výsledky je možné vracet jak ve formátu JSON, tak i v XML. Jelikož jsou tyto operace výpočetně velice náročné, po dokončení se jejich výsledky ukládají do databáze. Při budoucím dotazu na množinu dlaždic se již vypočtené dlaždice načtou z databáze a počítat se budou pouze nové neznámé. Služba rovněž poskytuje data pro webovou aplikaci sloužící pro sledování dráhy letu dronu a pro desktopovou aplikaci sloužící pro výběr oblasti, ve které se navigační systém bude pohybovat. Při programování byl použit programovací jazyk Java, aplikační server Tomcat 7.0, ArcGIS SDK 10.2.4 a databáze MariaDB.
This master thesis describes development and controlling of a web service which provides data to an autonomous navigation system used for drone and car devices.First of all, we characterize an autonomous device. The hardware peripherals and communication interface of the experimental device are briefly described.The next part deals with the design of a server application which updates the 3D map according to the ad hoc requests of the device. It also deals with the creation of a relational database schema for storing this map.The web service uses the publicly available REST API of ArcGIS and OpenStreetMap to collect relevant map data to obtain the necessary information. From ArcGIS using API, we get terrain inequality, corresponding texture, and the highest and lowest points for a single tile. Similarly, from OpenStreetMaps we get information about the objects which a device should avoid. For objects, a floor plan and heights are calculated and this information will then be merged with information from ArcGIS and created for the maps itself, which the navigation system can request. The results can be returned both in JSON format and XML.Since these operations are computationally demanding, the results are stored in a database after completion. For a future query on a set of tiles, the already calculated tiles will be loaded from database and only new unknown ones will be calculated.The service also provides data for a drone flight tracking web application and a desktop application to select an area which the navigation system will move in. Java programming language, Tomcat 7.0 application server, ArcGIS SDK 10.2.4 and MariaDB database were used for programming.
Description
Subject(s)
ArcGIS, autonomní navigační systém, dron, Java, mapy, OpenStreetMap, serverová komponenta, webová služba, ArcGIS, autonomous navigation system, drone, Java, maps, OpenStreetMap, server component, web service
Citation
ISSN
ISBN