Návrh a implementace lokalizačního modulu pro autonomní mobilní robot

Podobné dokumenty
Vysoká škola báňská Technická univerzita Ostrava Hornicko-geologická fakulta Institut geodézie a důlního měřictví GEODÉZIE II

Ing. Jiří Fejfar, Ph.D. GNSS. Globální navigační satelitní systémy

Zdroje dat GIS. Digitální formy tištěných map. Vstup dat do GISu:

Principy GPS mapování

2012, Brno Ing.Tomáš Mikita, Ph.D. Geodézie a pozemková evidence

Evropský navigační systém. Jan Golasowski GOL091

Geoinformační technologie

14. Elektronická navigace od lodní přes leteckou po GPS principy, vlastnosti, technické prostředky

GPS přijímač. Jan Chroust

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

SYSTÉM GALILEO. Jakub Štolfa, sto231

GPS - Global Positioning System

Galileo evropský navigační družicový systém

Global Positioning System

Využití GPS pro optimalizaci pohonu elektromobilů

Globální polohové a navigační systémy

Globální navigační satelitní systémy 1)

Globální družicový navigační systém

Komunikace MOS s externími informačními systémy. Lucie Steinocherová

Vizualizace dat z GPS modulu. Projekt do BROB

Geodézie Přednáška. Globální navigační satelitní systémy (GNSS)

Global Positioning System

EGNOS (European Geostationary Navigation Overlay Service) Prezentace do předmětu Geografické informační systémy

Moderní technologie v geodézii

Globální navigační satelitní systémy a jejich využití v praxi

POROVNÁNÍ JEDNOTLIVÝCH SYSTÉMŮ

GLONASS. Obsah. [editovat] Vývoj. Z Wikipedie, otevřené encyklopedie Skočit na: Navigace, Hledání

13. Elektronická navigace od lodní přes leteckou po GPS principy, vlastnosti, technické prostředky

Satelitní navigace v informačních systémech dopravce. Plzeň Seminář ZČU Plzeň 1

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Úvod do oblasti zpracování přesných GNSS měření. Ing. Michal Kačmařík, Ph.D. Pokročilé metody zpracování GNSS měření přednáška 1.

MRAR-L. Družicové navigační systémy. Č. úlohy 4 ZADÁNÍ ROZBOR

Další metody v geodézii

Úvod do mobilní robotiky AIL028

GPSnavigator. mija. Jednoduchý návod na postavení GPS navigátoru z MLAB modulů a GPS modulu LEADTEK LR9552

Dokumentace ke knihovně InsDevice

Permanentní GNSS stanice pro sledování systému Galileo pro projekt IGS MGEX. Dokumentace funkčního vzorku

Vypracoval: Ing. Antonín POPELKA. Datum: 30. června Revize 01

GNSS korekce Trimble Nikola Němcová

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Měření tlouštěk asfaltových vrstev vozovky georadarem

GPS. Uživatelský segment. Global Positioning System

Leica 4/2006 GLONASS. Proč nyní? Vážení přátelé!

Nové technologie pro určování polohy kontejneru na terminálu

Modul GPS přijímače ublox LEA6-T

Souřadnicové soustavy a GPS

Permanentní GNSS stanice pro sledování systému QZSS pro projekt JAXA MGM. Dokumentace funkčního vzorku

FVZ K13138-TACR-V004-G-TRIGGER_BOX

Nové technologie pro určování polohy kontejneru na terminálu

Aplikace. Hlásič SMS

Kinematika Trajektorie pohybu, charakteristiky pohybu Mirek Kubera

Měření na přijímači GPS

Permanentní sítě určování polohy

GEODÉZIE VYŠŠÍ ODBORNÁ ŠKOLA STAVEBNÍ STŘEDNÍ ŠKOLA STAVEBNÍ VYSOKÉ MÝTO. Přípravný kurz k vykonání maturitní zkoušky v oboru Dopravní stavitelství

Permanentní GNSS stanice Kunžak rozšíření o sledování systému Galileo. Dokumentace funkčního vzorku

Ing. Jiří Fejfar, Ph.D. Dálkový průzkum Země

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

VLASTOSTI DRUŽICOVÉHO NAVIGAČNÍHO SYSTÉMU GPS-NAVSTAR

Uživatelský modul GPS

Určování polohy s využitím GPS a GSM sítí

ELEKTRONICKÉ ORIENTAČNÍ POMŮCKY PRO NEVIDOMÉ - NAVIGAČNÍ CENTRUM SONS

Software pro vzdálenou laboratoř

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

VŠB-TUO Nmea0183 David Mikolanda, mik

BROB - Základy robotiky (2016) GPS navigace pro plovoucího robota třídy KAMbot (S.12) Jan Mazoch, Jakub Hadámek, Lukáš Hvizdák

GPS přijímač a jeho charakteristiky P r e z e n t a c e 1 1 KONSTRUKCE GPS PŘIJÍMAČŮ A JEJICH CHARAKTERISTIKY

Globální navigační satelitní systémy (GNSS)

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

EXTRAKT z české technické normy

SEMESTRÁLNÍ PROJEKT Y38PRO

Vrstvy periferních rozhraní

Analýza současného stavu vozového parku a návrh zlepšení. Petr David

Problematika rušení meteorologických radarů ČHMÚ

MISYS souřadnicové systémy, GPS MISYS. Souřadnicové systémy, GPS. Gdě Proboha Sú? II/2012 Gepro, spol. s r.o. Ing.

SLOVNÍČEK POJMŮ SATELITNÍ NAVIGACE

Střední průmyslová škola zeměměřická GNSS. Jana Mansfeldová

Globální navigační satelitní systémy a jejich využití v praxi


Diplomová práce Prostředí pro programování pohybu manipulátorů

EXTRAKT z mezinárodní normy

Control4 driver systému Lacrima - přijímač TRX-A a bateriové rádiové snímače teploty, vlhkosti TTX-A, TTX-AH a TTX-AX

Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8

1) Sestavte v Matlabu funkci pro stanovení výšky geoidu WGS84. 2) Sestavte v Matlabu funkci pro generování C/A kódu GPS družic.

TÉMATICKÝ OKRUH Softwarové inženýrství

PB169 Operační systémy a sítě

ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně

Návod k použití softwaru Solar Viewer 3D

FORTANNS. 22. února 2010

Použití UART a radia na platformě micro:bit

9 MODERNÍ PŘÍSTROJE A TECHNOLOGIE V GEODEZII

Globální navigační satelitní systémy (GNSS)

Matematika (a fyzika) schovaná za GPS. Global Positioning system. Michal Bulant. Brno, 2011

KIS a jejich bezpečnost I Šíření rádiových vln

Implementace projektu Foster Rail. Infrastruktura. Datum: Místo: ČVUT Praha. Ing. Petr Kolář

Diagnostika signálu vlakového zabezpečovače

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Seznámení s Quidy. vstupní a výstupní moduly řízené z PC. 2. srpna 2007 w w w. p a p o u c h. c o m

NÁVOD K OBSLUZE konfigurační SW CS-484

Obsah. Kapitola 1 Co je GPS Kapitola 2 Typy přijímačů GPS Kapitola 3 Automobilová navigace Úvod... 7

Přenos signálů, výstupy snímačů

Transkript:

Mendelova univerzita v Brně Provozně ekonomická fakulta Návrh a implementace lokalizačního modulu pro autonomní mobilní robot Bakalářská práce Vedoucí práce: Ing. Vít Ondroušek, Ph.D. Filip Koutský Brno 2013

Nejvíce bych chtěl poděkovat svému vedoucímu Ing. Vítu Ondrouškovi Ph.D. za jeho trpělivost a ochotu při vedení bakalářské práce, kterou tak bylo možné dovést do zdárného konce.

Prohlašuji, že jsem bakalářskou práci na téma Návrh a implementace pro autonomní mobilní robot vypracoval samostatně s použitím literatury a pramenů, uvedených na seznamu literatury. V Brně dne 23. května 2013

Abstract This bachelor thesis deals with the implementation and testing of the localization module for an autonomous mobile robot. The thesis describes the principle of the global navigation systems currently used and planned systems and their suitability for use for an autonomous mobile robot. The practical part of the thesis deals with the implementation of the GPS localization module of the control system of the specific autonomous robot. The data from the working space of the robot are acquired using the implemented module. The repeatability of the data acquisition is evaluated. Finally, the suitability of using the implemented localization module and the GPS sensor for the control system of the robot are discussed. Keywords Robot, program, GPS, GNSS, localization, autonomous. Abstrakt Bakalářská práce se zabývá implementací a testováním lokalizačního modulu pro autonomní mobilní robot. V práci je popsán princip fungování globálních navigačních systémů, aktuálně používaných a připravovaných systémů, a jejich vhodnost pro využití na autonomním mobilním robotu. V praktické části se práce zabývá implementací lokalizačního GPS modulu pro řídicí jednotku konkrétního robotu. Pomocí tohoto modulu jsou naměřena data v pracovním prostoru robotu. U těchto dat je následně vyhodnocena opakovatelnost měření. Na závěr je v práci diskutována vhodnost použití daného senzoru a vytvořeného modulu pro řídicí jednotku autonomního mobilního robotu. Klíčová slova Robot, program, GPS, GNSS, lokalizace, autonomní.

Obsah 11 Obsah 1 Úvod 15 1.1 Motivace... 15 1.2 Cíl Práce... 15 2 GNSS 16 2.1 Obecná struktura GNSS... 16 2.1.1 Kosmický segment... 16 2.1.2 Řídicí segment... 17 2.1.3 Uživatelský segment... 17 2.2 Principy měření... 18 2.2.1 Kódové měření... 18 2.2.2 Fázová měření... 18 2.2.3 Dopplerovské měření... 19 2.2.4 Rozlišování signálů z více družic... 19 2.2.5 Vyhodnocování polohy přijímače... 19 2.3 Rozšiřující systémy GNSS... 21 2.3.1 SBAS... 22 2.3.2 GBAS... 22 2.3.3 IGS... 23 2.3.4 ILRS... 23 3 Americký systém GPS 24 3.1 Stav kosmického segmentu GPS... 24 3.2 Řídicí segment systému GPS... 25 3.3 Uživatelský segment systému GPS... 25 3.4 Standardy pro výpis dat GPS... 26 3.4.1 Standard RTCM SC-104... 26 3.4.2 Standard RINEX... 26 3.4.3 Standard NMEA 0183... 27

12 Obsah 4 Evropský systém Galileo 28 4.1 Stav kosmického segmentu systému Galileo... 28 4.2 Řídicí systém systému Galileo... 28 4.3 Uživatelský segment systému Galileo... 28 5 Návrh řešení 30 5.1 Zhodnocení polohového senzoru... 31 5.2 Návrh implementace programového modulu pro komunikaci mezi senzorem a programovým modulem... 32 5.3 Komunikace mezi programovým modulem a řídicí jednotkou... 33 6 Metodika 34 7 Praktická část 35 7.1 Implementace lokalizačního modulu... 35 7.1.1 Naprogramování části komunikující se senzorem... 35 7.1.2 Získávání dat ze senzoru GPS...36 7.1.3 Realizace logování informací získaných ze senzoru GPS... 37 7.1.4 Řešení konfigurace programu... 37 7.1.5 Grafické rozhraní pro výpis informací... 38 7.2 Testování a ladění modulu...39 7.3 Naměření dat pro vyhodnocení opakovatelnosti a zaměření cest pro pohyb robotu...39 7.4 Vyhodnocení použitelnosti modulu a daného senzoru...42 8 Závěr 43 9 Literatura 45 A Vizualizace měření za pomoci GPSVISUALIZERU 47

Seznam obrázků 13 Seznam obrázků Obr. 1 Kosmický segment (3) 16 Obr. 2 Možné polohy přijímače (3 družice) (5) 20 Obr. 3 Vliv nesynchronizovanosti hodin přijímače s hodinami družice (1) 21 Obr. 4 Referenční stanice CZEPOS (7) 23 Obr. 5 Rozmístění družic a oběžných drah (9) 24 Obr. 6 Ilustrace družice GPS Blok IIR(9) 25 Obr. 7 Ukázka dat standardu RINEX(12) 27 Obr. 8 Ukázka dat standardu NMEA 0183 27 Obr. 9 Rozmístění družic a oběžných drah systému Galileo (15) 28 Obr. 10 Autonomní robot 30 Obr. 11 GPS/Galileo senzor NL 402U od firmy NaviLock (16) 31 Obr. 12 Obslužný program pro senzor NL-402U, u-center 6.01 33 Obr. 13 Ukázka dat standardu NMEA 0183 ze senzoru GPS/Galileo NL-402U 36 Obr. 14 Ukázka struktury konfiguračního souboru 38 Obr. 15 Ukázka Grafického okna pro výpis informací ze senzoru 38 Obr. 16 Procentuální obsažení bodů v odchylkách 42

14 Seznam tabulek Seznam tabulek Tab. 1 Odchylky mezi prvním a druhým měřením 40 Tab. 2 Odchylky mezi druhým a třetím měřením 40 Tab. 3 Odchylky mezi třetím a prvním měřením 41 Tab. 4 Odchylky mezi druhým a čtvrtým měřením 41 Tab. 5 Odchylky mezi třetím a čtvrtým měřením 41 Tab. 6 Odchylky mezi čtvrtým a prvním měřením 41

Úvod 15 1 Úvod Robot je stroj, který je schopen s určitou mírou samostatnosti vykonávat zadané úkoly. Ty jsou vykonávány buďto předem stanoveným způsobem, za pomoci interakce s uživatelem, nebo samostatně jen se zadaným cílem. V posledním případě nemá robot předem stanovený postup jak cíle dosáhnout, ale postup jak se k cíli dostat volí sám. K tomu potřebuje nějakým způsobem vnímat okolí kolem sebe a vyhodnocovat situaci. To je řešeno pomocí senzorů různého druhu. Takovým senzorem může být i senzor pro určování polohy za pomoci rádiového signálu z družic. Tento systém se obecně nazývá GNSS (angl. Global Navigation Satellite System), neboli Globální polohový družicový systém. Globální polohové družicové systémy jsou v dnešní době velmi používanou technologií. Oblast použití je velmi rozsáhlá od použití k orientaci v přírodě po automatické pilotování letadel. Systémů pracujících na principu vysílání a příjímání rádiových signálů a z nich vypočítávajících polohu je více. Některé jsou ve funkčním stavu (GPS/GLONASS) některé teprve ve vývoji (Galileo). (1) U outdoor robotů je použití polohového senzoru spojeno s jejich orientací ve venkovním prostředí. Za pomoci informací o své poloze, polohy kam se má dostat a informací z dalších senzorů, je schopen si vypočítat další možný směr cesty a tím se dostat k zadanému cíli. Jak bylo řečeno, robotu by nestačilo pouze znát svoji polohu, a proto je vybaven dalšími senzory, které mu k dosažení cíle pomohou. 1.1 Motivace Minulý rok začala skupinka studentů z Mendelovy Univerzity pracovat na projektu, jehož cílem má být robot, který bude schopen autonomního pohybu po zpevněných cestách městských parků. Projekt byl rozdělen do dílčích částí, na kterých jednotliví studenti pracují. Jednou z těchto částí je i lokalizace robotu za pomoci Globálních družicových polohových systémů. Celý robot bude využívat i jiné způsoby lokalizace a lokalizace za pomoci Globálních družicových polohových systémů bude důležitou součástí celého projektu, která bude dále využívána dalšími moduly řídicí jednotky robotu. 1.2 Cíl Práce Cílem práce je navržení a implementace konfigurovatelného lokalizačního modulu pro řídicí jednotku mobilního autonomního robotu. Pracovní prostor robotu je určen zpevněnými cestami městských parků. Modul by měl být schopen číst a ukládat údaje o poloze ze senzoru GPS/Galileo NL-402U a v patřičné formě je posílat řídicí jednotce robotu.

16 GNSS 2 GNSS GNSS je zkratkou z anglického Global Navigation Satellite System, česky Globální Družicový Polohový Systém. Jedná se o službu umožňující za pomoci družic autonomní prostorové určování polohy. K určování polohy je zapotřebí zařízení pro příjem signálů z těchto družic, podle kterých jsou pak schopny polohu vypočítat. Přesnost těchto zařízení se pohybuje od desítek metrů až po několik milimetrů. GNSS systémy některé literatury rozdělují do dvou skupin, a to GNSS-1 a GNSS-2. Do skupiny GNSS-1 je zařazován americký systém GPS a ruský systém GLONASS. Oba tyto systémy byly prioritně vyvinuty pro vojenskou sféru a poté uvolněny pro civilní použití. Do druhé skupiny GNSS-2 se pak řadí vyvíjené GPS-III, Galileo a COMPASS. Ty by měly být velice přesné a spolehlivé pro aplikace jako Safety of life. Mimo GNSS ještě existují regionální autonomní družicové polohové systémy jako je čínský systém Beidou-1 a vyvíjený indický systém IRNSS a japonský QZSS. 2.1 Obecná struktura GNSS Globální družicové polohové systémy se obecně skládají ze tří segmentů. Těmi jsou: kosmický segment, řídicí segment a uživatelský segment. Každý z těchto segmentů plní svou určitou velmi důležitou úlohu a vhodnou konfigurací těchto segmentů se ovlivňuje celkové chování Globálních družicových polohových systémů. 2.1.1 Kosmický segment Kosmický segment je tvořen umělými družicemi obíhající zemi po oběžných drahách viz, Obr. 1. Přesněji je kosmický segment definován: typem oběžné dráhy (nízké, střední vysoké, geostacionární; kruhové nebo eliptické), výškou sklonem a počtem oběžných drah a počtem rozmístěných umělých družic na oběžné dráze. Konfigurace kosmického segmentu je závislá na požadavcích stanovených uživatelským segmentem a možnostmi řídicího segmentu. (1, 2) Obr. 1 Kosmický segment (3)

GNSS 17 2.1.2 Řídicí segment Řídicí segment je tvořen několika typy pozemních stanic plnící různé úlohy. Typy stanic jsou: monitorovací stanice, hlavní řídicí stanice a stanice pro komunikaci s družicemi. Monitorovací stanice mají za úkol monitorovat signály vysílané družicemi a posílat je do hlavní řídicí stanice ke zpracování. Tyto stanice jsou rozmístěny tak, aby bylo možné sledovat co nejvíce družic po co nejdelší dobu. Hlavní řídicí stanice, jak bylo řečeno v předchozím odstavci, zpracovává signály přeposílané od monitorovacích stanic. Z těchto signálů je modelováno chování kosmického segmentu, určují se parametry oběžných drah a korekční parametry hodin družic a výsledky jsou poté odesílány do stanice pro komunikaci s družicemi. Tyto stanice jsou zpravidla dvě, jedna hlavní a jedna záložní. Stanice pro komunikaci s družicemi slouží k přeposílání výsledků přebíraných od hlavní řídicí stanice zpět družici. Pomocí těchto parametrů jsou korigovány parametry oběžných drah a atomových hodin družice. Stanice jsou také používány k řízení družic a zpravidla jsou totožné s monitorovacími stanicemi. Konfigurace řídicího segmentu záleží na účelu budování globálního navigačního systému (vojenské účely, civilní použití, atd.) a možnostech rozmístění a provozování pozemních stanic. 2.1.3 Uživatelský segment Uživatelský segment je tvořen pasivními přijímači (komunikace probíhá pouze od družice k přijímači) komunikujícími s družicemi, které jsou momentálně nad obzorem. Pomocí parametrů přijímaných z družic jsou dopočítávány požadované údaje jako souřadnice, nadmořská výška, čas, atd. Základem těchto přijímačů je procesor pro početní operace, anténa s předzesilovačem pro příjem signálu, časové základny a komunikační rozhraní. Snímače se dají rozdělit podle různých údajů: Podle počtu přijímaných pásem (na kterých frekvencích je schopný přijímač poslouchat): Jednofrekvenční Dvoufrekvenční Vícefrekvenční Podle počtu kanálů (počet možných přijímaných signálů od různých družic): Jednokanálové Vícekanálové Podle principu měření: Fázové Kódové (1, 4)

18 GNSS 2.2 Principy měření Globální družicové polohové systémy pracují na principu měření vzdáleností mezi pasivním přijímačem a několika družicemi. Výsledná poloha se následně stanovuje protínáním. Způsobů měření vzdáleností přijímače od družic lze provádět na základě kódových, fázových, nebo dopplerovských měření. Všechny tři způsoby měření jsou pro tento účel použitelné, ale v praxi se používá jen kódové nebo fázové měření. 2.2.1 Kódové měření Princip kódového měření je určování vzdálenosti mezi přijímačem a družicí. K měření jsou používány tzv. dálkoměrné kódy, které jsou zjednodušeně řečeno přesné časové značky. Tyto kódy jsou přijímány přijímačem a následně je z nich zjišťován čas odeslání a přijetí jedné sekvence kódu. Z těchto časů je nadále zjištěn rozdíl ti a za pomoci jednoduchého vztahu, viz rovnice 1, jsme schopni dopočítat vzdálenost mezi družicí a přijímačem. = (1) kde c [m/s] je rychlost šíření rádiových vln ti [s] je rozdíl mezi odesláním kódu družicí a přijetím přijímačem di [m] je vypočtená vzdálenost mezi přijímačem a družicí Protože hodiny přijímače a družice nejsou synchronní, vykazuje časový rozdíl ti chybu. To způsobuje, že vypočtená hodnota di, neurčuje skutečnou vzdálenost mezi přijímačem a družicí, ale tzv. zdánlivou vzdálenost. Přesnost tohoto způsobu měření záleží na frekvenci dálkoměrných kódů, které se pohybují od jednotek megahertzů pro standardní přesnost, až po desítky megahertzů pro vysokou přesnost. Těmto frekvencím odpovídají vlnové délky od 300 po 30 m. Při dosažitelné přesnosti měření 1 2% vlnové délky vychází přesnost určení polohy od 3 m do 6 m pro jednotky megahertzů a pro desítky megahertzů se přesnost pohybuje od 0,3 do 0,6 m. Uvedená teoretická přesnost je však ještě snížena vlivem prostředí a celkové nepřesnosti hodin. 2.2.2 Fázová měření Fázová měření oproti kódovým měřením pracují na odlišném fyzikálním principu. Nepřenášejí žádné dálkoměrné kódy, ale pracují se svými nosnými vlnami. Zjednodušeně lze říci, že přijímač počítá počet vlnových délek mezi přijímačem a družicí. Ten je složen ze dvou částí: celočíselného násobku nosných vln, který je velmi obtížně určován a desetinou částí, kterou přijímač určuje naopak velmi snadno. Tím vzniká tzv. číselná nejednoznačnost, která se rovná počtu celých vlnových délek mezi přijímačem a družicí na počátku měření. Po prvním určení číselné nejednoznačnosti je přijímač již schopen průběžně sledovat změny fázového posunu. To znamená, že přijímač udržuje celočíselnou nejednoznačnost a k ní připočítává celý počet vlnových délek o změněnou vzdálenost a poté i desetinou část. V případě přerušení signálu dochází k přerušení sledování nosné vlny a k tzv. fázovému skoku. Přijímač není schopen obnovit počítání vlnové délky a musí začít nový cyklus změřením číselné nejednoznačnosti a následnému novému sledování změn vlnové délky. Protože fázové měření pracuje s nosnou vlnou,

GNSS 19 kde jsou vlnové délky velmi krátké, řádově v prvních desítkách cm. Výsledná přesnost se tedy u fázového měření pohybuje až v řádech jednotek milimetrů. 2.2.3 Dopplerovské měření Jak již bylo zmíněno výše, i když jde pomocí dopplerovského měření měřit vzdálenost, v praxi se u družicových polohových systémů pro tento účel nepoužívá a spíše se používá k určování rychlosti přijímače. Princip měření je založen na dopplerovském posunu frekvence na nosné vlně. Tento posun je měřen po určitou dobu a ze získaných údajů je vypočítávána změna radiální vzdálenosti mezi družicí a přijímačem. Poloha je následně vypočtena z rozdílů vzdáleností. 2.2.4 Rozlišování signálů z více družic Aby bylo možné signály z více družic rozlišit, může se použít kmitočtové dělení, kódové dělení, anebo časové dělení. Kmitočtové dělení používá k rozlišení jednotlivých signálů změnu frekvence nosné vlny. Přijímač musí být tedy schopen přijímat nosné vlny všech frekvencí. Kódové dělení na rozdíl od kmitočtového používá stejnou frekvenci nosné vlny a rozlišuje družice na základě kódu vysílaném družicí. Přijímač musí být tedy schopen tento kód přijímat a identifikovat. Časové dělení používá také jako kódové dělení stejnou frekvenci nosné vlny a družice jsou rozlišovány na základě přesně definovaných časových úseků, ve kterých smějí vysílat. 2.2.5 Vyhodnocování polohy přijímače Jak bylo uvedeno na začátku kapitoly, výsledná poloha se určuje protínáním. Jedná se o protínání kulových ploch, kde středem je družice a poloměrem je zdánlivá vzdálenost. Při příjmu signálu z jedné družice, lze určit, že se přijímač nachází někde na kulové ploše dané družice. V případě, že v daný okamžik máme data od dvou družic, nachází se přijímač na kružnici vzniklé protnutím kulových ploch dvou družic. Při třech družicích již můžeme určit pouze dva body, na kterých se přijímač může nacházet, viz Obr. 2. Jeden z nich můžeme ale vyloučit, nýbrž se vyskytuje daleko ve vesmíru.

20 GNSS Obr. 2 Možné polohy přijímače (3 družice) (5) Pro výpočet souřadnic v trojrozměrném prostoru použijeme soustavu tří rovnic o třech neznámých podle rovnice 2. = + + = + + (2) = + + kde X, Y, Z [m] jsou námi hledané souřadnice xi, yi, zi [m] jsou souřadnice dané družice ri= di [m] což je vypočtená vzdálenost mezi přijímačem a družicí Teoreticky lze tedy říci, že pro lokalizaci v třírozměrném prostoru přijímače stačí přijímat signál ze tří družic, ale to jen teoreticky. Nebyly totiž zohledněny chyby vzniklé nesynchronizací hodin přijímače a družice, zpoždění signálu při průchodu atmosférou atd. V praxi, jak již bylo v této kapitole řečeno, měřenou vzdálenost ovlivňuje hlavně nesynchronizovanost hodin družice a přijímače. Tento neznámý posun, označovaný jako T, se na vyhodnocování polohy projeví tak, že místo jednoho bodu vznikne trojúhelník, viz Obr. 3.

GNSS 21 Obr. 3 Vliv nesynchronizovanosti hodin přijímače s hodinami družice (1) Při výpočtu souřadnic přibývá čtvrtá neznámá T, o kterou ponižujeme výslednou vzdálenost. Při čtyřech neznámých nepostačují pouze tři měření, a proto je nutné jedno přidat. Pro výpočet tedy použijeme soustavu čtyř rovnic o čtyřech neznámých, jak ukazuje rovnice 3 = + + = + + (3) = + + = + + kde, X, Y, Z [m] jsou námi hledané souřadnice xi, yi, zi [m] jsou souřadnice dané družice ri = di [m] je vypočtená vzdálenost mezi přijímačem a družicí c [m/s] je rychlost šíření rádiových vln T [s] je časový posun hodin mezi přijímačem a družicemi Jak bylo zmíněno výše, k výpočtu souřadnic v prostoru je zapotřebí signálu ze čtyř družic. V praxi se ale používá i takzvaná neplnohodnotná 2D navigace, kde se určuje poloha pouze na elipsoidu. Aby bylo možné takto polohu určit, dosazuje se do rovnice 3 místo neznámé souřadnice Z číslo 0. (1, 2, 6) 2.3 Rozšiřující systémy GNSS Jedná se o systémy, pomocí kterých je možno zvýšit přesnost určení polohy přijímače. Jsou to: SBAS (Satellite Based Augmentation Systems), GBAS (Ground Based Augmentation Systems), IGS (International GNSS Service) a ILRS (International Laser Ranging Service). Jedná se o obecné názvy systémů, které shrnují dohromady jednotlivé regionální systémy.

22 GNSS 2.3.1 SBAS Je metoda pro zpřesnění vyhodnocení polohy, kde je použito referenčních stanic s přesně známou polohou. Referenční stanice v reálném čase vyhodnocují stav kosmického segmentu a stav ionosféry. Pomocí těchto informací vypočítávají korekce, které následně posílají přes geostacionární družice. Přijímač, který je schopen přijímat tyto korekce, podle nich může zpřesnit svoji polohu. Tento systém je určen spíše pro leteckou a námořní dopravu kvůli umístění družic nad rovníkem, což způsobuje nízký vysílací výkon. Jak již bylo řečeno, SBAS je obecný název a zahrnuje: Globální systémy SBAS (komerční produkty): Omnistar StarFire Starfix Regionální systémy SBAS: WAAS (Wide Area Augmentation, Spojené státy) EGNOS (European Geostationary Navigation Overlay System, Evropa) MASAS (MTSAT Satellite Based Augmentation Systém, Japonsko) GAGAN (GPS Aided Geo Augmented Navigation, Indie) CWAAS (Canadian WAAS, Kanada) SNAS (Satellite Navigation Augmentation System, Čína) 2.3.2 GBAS Tento systém je obdobně jako SBAS tvořen sítí referenčních stanic, které vypočítávají korekce, ale na rozdíl od něj posílají korekce přijímači přímo, a to pomocí radiových vln nebo mobilních sítí. Stejně jako SBAS se jedná o obecný název a zahrnuje Regionální systémy: GRAS (Austrálie) DGPS (Spojené státy) WAGE (Spojené státy) EUREF (Evropa) CZEPOS (Česká republika) (1, 2)

GNSS 23 Obr. 4 Referenční stanice CZEPOS (7) 2.3.3 IGS IGS je mezinárodní organizace, sledující pomocí přibližně tří set monitorovacích stanic kosmický segment. Tyto stanice poskytují velmi přesné parametry kosmického segmentu, jako jsou efemeridy družic GPS/GLONASS, ionosférické a troposférické zpoždění, přesné zpoždění pro hodiny v přijímačích GPS, parametry rotace země a trojrozměrné souřadnice monitorovacích stanic. (1, 2) 2.3.4 ILRS Jedná se o službu umožňující nezávislé sledování družic na oběžné dráze za pomoci laserových měření. Pro možnost takto družice sledovat, musejí být družice vybaveny odražečem. Možnost laserového sledování podporují zatím jen některé družice. Ze systému GLONASS ji podporuje šest družic, z vyvíjeného systému Galileo dvě družice a COMPAS a GPS pouze jedna družice. (8)

24 Americký systém GPS 3 Americký systém GPS Americký systém GPS (Global Positioning System), neboli Globální polohovací systém, začal s vývojem již v roce 1973, tehdy s názvem NAVSTAR GPS (Navigation SignalTiming and Ranging Global Positioning Systes). Tehdy vzniknul spojením dvou projektů pro určování polohy System 621B a přesného času Timation. Mezi léty 1974-1979 se začala testovat funkčnost na pozemních stanicích a byl vyvinut experimentální přijímač. V roce 1978 začalo vypouštění 11 vývojových družic prvního bloku. Roku 1979 byl původní návrh s osmnácti družicemi rozšířen na čtyřiadvacet, protože původních osmnáct by nebylo dostačující. V roce 1980 na základě dohod o zákazu jaderných testů mezi USA a USSR,začalo vypouštění družic se senzory pro detekci jaderných výbuchů. 8. prosince 1993 byla vyhlášena počáteční operační schopnost. To je označení stavu, kdy je nejméně osmnáct družic plně funkčních. 17. ledna 1994 již byla vyhlášena plná operační schopnost, což znamená, že je k dispozici kompletní sestava plně funkčních čtyřiadvaceti družic. 3.1 Stav kosmického segmentu GPS Jak bylo zmíněno výše, kosmický segment GPS byl původně projektován na 24 družic. Ten je nyní využíván v mezním počtu 32 družic. Ty obíhají zemi ve výšce přibližně 20200km po šesti drahách se sklonem 55, které jsou od sebe posunuty o 60 a na nichž je nepravidelně rozmístěno 5 6 družic. Vše je znázorněno na Obr. 5. Družice obíhají rychlostí 3,8m/s a zemi oběhnou za přibližně 11hodin a 58 minut. (6, 9) Obr. 5 Rozmístění družic a oběžných drah (9) Hlavní vlastnosti družic: 3 4 velmi přesné atomové hodiny 12 antén pro vysílání rádiových kódů v pásmu L(2000 1000Mhz) Antény pro komunikaci mezi družicemi Antény pro komunikaci s pozemními kontrolními stanicemi v pásmu S (2204,4Mhz)

Americký systém GPS 25 Solární panely a baterie jako zdroj napájení Senzory a detektory pro detekci balistických střel a jaderných výbuchů Obr. 6 Ilustrace družice GPS Blok IIR(9) Družice je zapotřebí pravidelně několikrát do roka odstavit a podrobit údržbě atomových hodin a korekci oběžné dráhy. Tato odstávka se pohybuje přibližně na 12 24 hodin. Předpokládané životnosti družic jsou 10 let, ale skutečná bývá spíše větší. Na Obr. 6 můžeme vidět ilustraci nejpočetnější družice Blok IIR. Na Oběžných drahách jich obíhá celkem 12 a jejich skutečná životnost se pohybuje kolem 14 let i více. 3.2 Řídicí segment systému GPS Řídicí systém systému GPS je složen z hlavního velitelství, řídicího a záložního řídicího střediska, tří povelových stanic a osmnácti monitorovacích stanic. Řídicí segment, jak již bylo popsáno, monitoruje a koriguje stav kosmického systému. Tento segment komunikuje i s uživateli GPS za pomoci zpráv NANU (Notice Advisory NAVSTAR Users), kde zveřejňuje například plánované odstávky družic, stažení a uvedení nových družic a zpětně i informace o nezdravých družicích. V případě zničení stanic řídicího segmentu jsou družice schopny přejít do takzvaného stavu AUTONAV, ve kterém jsou schopny pracovat samostatně až šest měsíců. 3.3 Uživatelský segment systému GPS Uživatelský segment se skládá z jednotlivých přijímačů GPS a služeb, které jsou uživatelům k dispozici. Uživatele GPS lze podle možnosti užití rozdělit do dvou skupin a to: Autorizovaní uživatelé mají možnost využívat službu PPS (Precise Positioning Service). Tato služba poskytuje vysokou přesnost. Jedná se převážně o vojenský sektor USA a některé spojenecké armády.

26 Americký systém GPS Ostatní uživatelé používají službu SPS (Standard Positioning System). Tato služba není tak přesná jako služba PPS a pro uživatele mimo území USA je omezena výška do 18km a rychlost do 515m/s, jako prevence proti možnému zneužití v oblasti navigace zbraní. (6, 9) 3.4 Standardy pro výpis dat GPS Globální satelitní polohové systémy v dnešní době poskytují neuvěřitelné množství informací. Tyto informace je zapotřebí nějakým způsobem interpretovat, vyhodnocovat i přenášet mezi různými programy. Kvůli tomu musely vzniknout nějaké standardy pro komunikaci s přijímači. Jako první vznikl standard v oblasti DGPS a to RTCM SC-104. Dalším standardem je standard pro výstup dat ze senzoru, který nese název RINEX. Další standard obecně definuje rozhraní výstupních dat. Prvotně byl vyvinut pro lodní dopravu, ale rozšířil se i do letecké a pozemní dopravy. Jedná se o standard NMEA 0183. 3.4.1 Standard RTCM SC-104 Standard byl vytvořen Radiotechnickou komisí pro námořní služby (angl. Radio Technical Commision for Marine Services - RTCM) na žádost Institutu pro navigaci USA (angl. U.S. Institute of Navigation - ION). Standard je určen pro zjednodušení přenosu a upřesnění pravidel diferenciálních korekcí. Jedná se o rámce binárního formátu sestávající z 30 bitových slov. O přenos dat se stará prvních 24 bitů, zbylých 6 bitů je pro zabezpečení a případně pro detekci chyb přenosu a jejich opravy. První verze byla publikována v roce 1985. Na základě testování byly v roce 1990 provedeny úpravy a byla vydána verze 2. Tato verze byla posouzena jako dostatečně robustní a akceptována jak výrobci, tak provozovateli referenčních stanic. Další verze následovala roku 1994, která byla zaměřena na rozšíření ke kinematickému měření. Nejnovější verze 3 podporuje velmi vysokou přesnost navigace přes vysílání mobilních GNSS přijímačů. (10) 3.4.2 Standard RINEX Původně byl tento standard vytvořen pro předávání dat mezi institucemi podílející se na projektu vytvoření celoevropské přesné geodetické sítě. V roce 1989 se na šestém geodetickém symposiu o určování polohy za pomoci družic sešli tvůrci tohoto standardu s tvůrci jiných standardů v té době používaných s cílem dohody o používání jednoho z nich. Dohoda padla na RINEX a začalo se pracovat na přesné specifikaci. Roku 1993 proběhly poslední korektury a od této doby byl standard akceptován všemi hlavními výrobci GPS přijímačů i mnohými dalšími. Přidali se také tvůrci programů pro zpracování dat, kteří do programů zabudovali možnost načítaní dat z tohoto formátu. Nejnovější verze standardu, verze 3.01, se skládá ze tří souborů textového formátu, a to souboru obsahující měřená data, navigační zprávy a meteorologická data. Každý soubor se skládá z hlavičky a datové části. V hlavičce, která se skládá ze sloupců, jsou globální informace pro celý soubor. Data jsou poté vypsána v řádcích pod sebou. Standard je optimalizován tak, aby zabíral co nejméně místa. Standard je také schopen pracovat s více systémy a rozšířeními GNSS (GLONASS, Galileo, SBAS atd.). Ukázka dat je vyobrazena na Obr. 7. (11)

Americký systém GPS Obr. 7 Ukázka dat standardu RINEX(12) 3.4.3 Standard NMEA 0183 27 Standard NMEA 0183 vznikl pro propojování námořnických elektronických zařízení na počátku 80. let, kdy Národní asociace pro námořní elektroniku (angl. National Marine Electronic Association - NMEA) zjistila potřebu zavedení obecného standardu komunikace mezi námořními elektronickými zařízeními. K tomuto standardu se přidali i výrobci GPS a začali vybavovat přijímače komunikačním kanálem podporujícím tento standard. Komunikace mezi přijímačem (zdroj dat) a jiným zařízením (počítač, mobil, atd.) probíhá jednosměrně sériově a asynchronně. Data jsou tvořena textovými řetězci s informacemi oddělenými čárkami. Řetězec začíná symbolem $, za ním označení příslušného protokolu např. GPGGA, za označením pokračuje čárka a hodnoty jimi oddělené. Na konci je za symbolem * oddělen kontrolní součet a úplně nakonec je znak konce řádky. Ukázku výpisu standardu NMEA 0183 je na Obr. 8. (13) Obr. 8 Ukázka dat standardu NMEA 0183

28 Evropský systém Galileo 4 Evropský systém Galileo Systém Galileo má být evropský autonomní GNSS, samostatně fungující vedle systému GPS a GLONASS. První zmínky o systému Galileo jsou z roku 1999. Tehdy se jednalo o veřejný projekt financovaný soukromými investory s plánovaným spuštěním v roce 2008. Později však od projektu pro příliš velké riziko odstoupili a projekt převzala EU a posunula spuštění systému na rok 2012. I když už je po roce 2012, současný stav systému Galileo není ani zdaleka schopný provozu a spuštění systému se znovu posunulo a to na rok 2014. Galileo plánuje poskytovat různé typy služeb, které budou popsány dále v této kapitole. 4.1 Stav kosmického segmentu systému Galileo Systém je plánovaný na třicet družic, obíhající zemi na třech oběžných drahách se sklonem 56 k zemskému rovníku a vzájemně posunutých od sebe o 120 viz Obr. 9. Družice budou obíhat ve výšce cca. 23222 km. Aktuálně se na oběžných drahách nachází pouze čtyři družice. Jak bylo řečeno spuštění by mělo proběhnout roku 2014, zatím pouze v částečné operační schopnosti. Plná operační schopnost se plánuje na rok 2019-2020. (14) Obr. 9 Rozmístění družic a oběžných drah systému Galileo (15) 4.2 Řídicí systém systému Galileo Jádrem řídicího systému Galileo jsou dvě řídicí centra. Tyto centra mají za úkol tak jako u GPS monitorovat stav kosmického segmentu a jeho korigování. Nezávisle na těchto centrech by měli existovat takzvané regionální složky ERIS (External Region Integrity System), provozovány soukromými společnostmi nebo státy mimo EU. Tyto složky by měli nezávisle posílat hlášení o integritě systému Galileo a tím zvýšit jeho spolehlivost. 4.3 Uživatelský segment systému Galileo Stejně jako GPS je uživatelský segment systému Galileo tvořen přijímači uživatelů. Ten bude ale poskytovat více různých služeb a to:

Evropský systém Galileo 29 Open service (OS) - veřejně dostupný s menší přesností Comercial service (CS) - placená služba s vyšší přesností než OS Safety of life service (SOL) šifrovaná služba s důrazem na integritu a bezpečnost Search and rescue (SAR) - nouzová lokalizace v rámci záchranné služby COSPAS/SARSAT Public regulated service (PRS) - šifrovaná, kontrolovaná služba určená pro armády. (14)

30 Návrh řešení 5 Návrh řešení Cílem práce je vytvoření programového modulu, komunikujícího se senzorem GPS/Galileo/GLONASS a poskytujícím údaje o poloze pro řídicí jednotku mobilního venkovního robotu viz Obr. 10. Ten je schopen autonomního pohybu po zpevněných cestách městských parků, které současně monitoruje a pořizuje fotodokumentaci okolí. Obr. 10 Autonomní robot Robot se skládá z podvozku, který je ackermanova typu. Jedná se o sériově vyráběný podvozek, který byl upraven pro potřeby autonomního pohybu po venkovních zpevněných cestách. Podvozek je dále vybaven stejnosměrným motorem zajišťujícím pohyb robotu a servopohonem pro řízení natočení předních kol. Nejnižší vrstva řídicí architektury je založena na platformě Arduino. Pro potřeby výpočtu odometrie jsou na kolech umístěny IRC senzory, dále robot vybaven 3D kompasem a GPS typu NL-402U. Pro detekci cesty je robot osazen dvěma HD kamerami, které zajišťují stereoskopický obraz okolního prostředí. Nejvyšší vrstvu architektury řízení představuje řídicí program, tvořený nezávislými programovými moduly, komunikujícími se senzory, Arduinem a kamerami zapojenými přes rozhraní USB, prozatím do netbooku Acer Aspire One. Programový modul, jehož návrh a implementace je hlavním cílem této práce, by měl být schopen, poskytnou řídicí jednotce dostatečně přesné údaje o poloze. Z toho důvodu je potřeba zhodnocení použitelnosti polohového senzoru NL-402U, který byl pro autonomní mobilní robot poskytnut. Další důležitou částí je návrh způsobu komunikace mezi programovým modulem a senzorem a zvážení, v jakém programovém jazyce bude implementován. Nutné je také na-

Návrh řešení 31 vrhnutí způsobu komunikace mezi programovým modulem a hlavní řídicí jednotkou mobilního robotu, zejména v jakém formátu a s jakou frekvencí bude programový modul řídicí jednotce poskytovat data. 5.1 Zhodnocení polohového senzoru Jak bylo popsáno v kapitole 2.1.3, existuje mnoho druhů polohových senzorů přijímající signály z družic. Každý se vyznačuje určitými vlastnostmi a vybrat mezi nimi není jednoduché. Důležité pro výběr je, z kolika satelitů je senzor schopen přijímat data v jednom okamžiku, jaké podporuje formáty dat, které rozšíření je schopen aplikovat, jaké rozhraní je užito pro připojení, s jakou frekvencí je schopen poskytovat data, atd. Pro autonomní mobilní outdoor robot je, tak jako v jiných aplikacích družicových polohových systémů, důležitá přesnost. Ta se odvíjí od parametrů senzoru GPS. U autonomního robotu, s ohledem na pohyb po zpevněných cestách o šířce od 1,5 do 4 m a faktu, že se nejedná o jediný lokalizační prvek, bude postačovat přesnost do 3 m. Dalším požadavkem je frekvence snímání dat. Protože se robot bude pohybovat rychlostí 1 3 km/h, při které urazí za čas 1s vzdálenost 0,27 0,83 m, bude pro autonomní mobilní robot postačovat frekvence snímání jednou za sekundu. Jedním z požadavků je také rozhraní pro připojení k netbooku, v tomto případě bude zapotřebí rozhraní USB. Důležité je také, v jakém formátu jsou data poskytovaná ze senzoru, aby byly dobře zpracovatelné. Parametry senzoru: Čip u-blox 5 pro příjem signálu ze systému GPS a Galileo Příjem až z padesáti satelitů v jednom okamžiku Podporuje rozšíření DGPS, WAAS, EGNOS a MSAS Výpis formátem NMEA 0183 s protokoly GGA, GSA, GSV, RMC a VTG Rozhraní USB 1.1 Automatická modulační rychlost až 115200 Frekvence výpisu až 4 Hz Krytí IPX6 Operativní teplota -40 C 85 C Start už od 3,5 sekundy (16) Obr. 11 GPS/Galileo senzor NL 402U od firmy NaviLock (16)

32 Návrh řešení Po srovnání parametrů senzoru a požadavků pro použití na autonomním mobilním outdor robotu jsou výsledky uspokojivé. Výpis formátem NMEA 0183 s protokoly GGA, GLL,GSA,GSV,RMC a VTG je pro práci vhodný. Obecně byly protokoly popsány v kapitole 3.4.3, detailněji budou popsány v praktické části. Požadavek na rozhraní pro připojení k PC je rovněž splněn. Maximální možná frekvence snímání dat je oproti požadavku čtyřnásobná. Teoretická přesnost udávaná výrobcem je v normálním režimu <2.5m v rozšířeném režimu SBAS <2.0m. V rámci praktické části bude ověřováno, zda je senzor schopen v reálných podmínkách dosahovat požadované přesnosti do 3 m, která byla pro lokalizační modul stanovena. 5.2 Návrh implementace programového modulu pro komunikaci mezi senzorem a programovým modulem Podle senzoru NL-402U, kde je připojení senzoru pomocí rozhraní USB, se nabízí možnost sériové komunikace mezi senzorem a programovým modulem. Tento způsob již byl použit u podobných aplikací, a proto se jeví jako nejvhodnější. Protože ostatní programové části i řídicí program jsou programovány v jazyce Java a pro tento programovací jazyk existují i vhodné knihovny pro sériovou komunikaci, tak i pro tento modul byl daným jazykem pro programování jazyk Java. Pro sériovou komunikaci byly nalezeny dvě skoro totožné knihovny javax.comm od firmy Oracle a knihovna RXTX. Obě knihovny již byly pro sériovou komunikaci v podobné aplikaci použity, a proto se jeví jako vhodné i pro tento účel.(17) Celý programový modul by měl být konfigurovatelný. Proto musí být řešeny možnosti nastavování výpisu informací, např.:co je potřeba vypisovat, v jakém formátu budou vypisovaná data, co bude zapotřebí logovat apod. Pro tuto potřebu by měl posloužit konfigurační textový soubor, kde budou pomocí přesně daných pravidel nastavovány potřebné možnosti. Konfigurace senzoru z důvodu nezjistitelnosti pravidel konfiguračního souboru, by měla probíhat za pomoci přiloženého programu u-center 6.01, viz Obr. 12.

Návrh řešení 33 Obr. 12 Obslužný program pro senzor NL-402U, u-center 6.01 5.3 Komunikace mezi programovým modulem a řídicí jednotkou Aby řídicí jednotka byla schopna data přijatá od modulu zpracovat, bude zapotřebí sjednotit formát polohových dat. Ze senzoru jsou data získávána ve stupních a minutách. Takový formát je hůře přenositelný a zpracovatelný. Nejjednodušším formátem jak pro přenos, tak i pro čtení je desetinné číslo. Modul by tedy měl provádět přepočet z původního formátu ve stupních a minutách na jednodušší desetinný formát. Pro řídicí jednotku je také důležitá frekvence přijímání dat, aby byla schopna dostatečně přesně plánovat trajektorii pohybu. Ta byla již navrhnuta v kapitole 5.1.

34 Metodika 6 Metodika Kapitola popisuje postup řešení problému návrhu a implementace lokalizačního modulu pro autonomní mobilní robot. Za prvé bude implementace modulu pro komunikaci se senzorem GPS/Galileo NL-402U. V kapitole 5.2. byly pro tento účel uvedeny dvě knihovny pro komunikaci se sériovým portem. Ty budou v průběhu implementace testovány, která je pro tuto aplikaci vhodnější. Do modulu se také zavedou konfigurační metody, tak aby bylo modul možné jednoduše nastavovat. Za druhé bude modul otestován v reálném prostředí, tedy v městských parcích. Hlavním úkolem bude zjištění spolehlivosti a opakovatelnosti měření senzoru GPS při zhoršených podmínkách pro provoz GPS. Po otestování bude potřeba odstranit chyby, zjištěné při testování, popřípadě vylepšit modul o poznatky, které z testování vyplynou. Za třetí bude za pomoci implementovaného modulu určena poloha cest (v našem případě Arboretum Mendelovy univerzity). Pro vyhodnocení opakovatelnosti senzoru GPS, bude měření probíhat minimálně 3 krát. Za čtvrté bude zhodnocena použitelnost senzoru GPS pro použití na autonomním mobilním robotu s ohledem na dosaženou přesnost opakovatelnosti měření. Budou zde popsány dosažené výsledky měření a vypočtených odchylek.

Praktická část 35 7 Praktická část Cílem praktické části je vytvoření konfigurovatelného programového modulu, komunikujícího se senzorem GPS, poskytujícího data o poloze. Tento modul bude součástí řídicího programu autonomního mobilního robotu, který bude schopen, za pomoci předem daných průjezdných bodů, pohybu po zpevněných cestách městských parků. Praktická část je rozdělena do několika částí: Implementace lokalizačního modulu Testování a ladění modulu Naměření dat pro vyhodnocení opakovatelnosti a zaměření cest pro pohyb robotu Vyhodnocení použitelnosti modulu a daného senzoru 7.1 Implementace lokalizačního modulu Při programování lokalizačního modulu bylo postupováno po následujících krocích: Naprogramování části komunikující se senzorem. Řešení problematiky získávání a výpisu informací poskytovaných senzorem GPS. Realizace logování informací poskytované senzorem GPS. Vytvoření konfiguračních metod a struktury soboru, pro nastavování lokalizačního modulu Vytvoření grafického rozhraní pro výpis informací ze senzoru GPS 7.1.1 Naprogramování části komunikující se senzorem Před samotným programováním lokalizačního modulu bylo zapotřebí nastudovat problematiku komunikace mezi senzorem a rozhraním USB. Jazyk Java tento typ komunikace podporuje a má na tuto problematiku své knihovny javax.comm. Při studiu problematiky byla zjištěna ještě další knihovna třetích stran RXTX. Tyto knihovny pracují na stejném principu a měli by být kompatibilní i zaměnitelné. Aby operační systém (v tomto případě Windows 7) byl schopen se senzorem vůbec pracovat, potřebuje ovladače. K tomu jsou využity originální ovladače od výrobce NaviLock. Pro navázání spojení se senzorem je vytvořena třída Connection. Zde je hlavní metoda connect, která slouží pro připojení se k senzoru. Modul je schopný za pomoci této knihovny komunikovat s jakýmkoli sériovým portem, proto je zapotřebí nejdříve identifikovat port, na kterém je připojen senzor GPS. Poté je port inicializován a otevřen pro následnou komunikaci. Původně začala implementace s knihovnou RXTX. Poté byla zkoušena možnost záměny za knihovnu javax.comm, která bez jakýchkoli problémů fungovala. Oproti knihovně RXTX byl programový modul s knihovnou javax.comm při načítání rychlejší. Od tohoto okamžiku probíhala další implementace spolu s touto knihovnou. Při skoro hotovém programovém modulu byl pokus s prohozením knihoven opakován. Bohužel tento pokus byl již neúspěšný a z neznámého důvodu se nezobrazovaly ani nelogovaly data. Z tohoto důvodu byl program dokončen s knihovnou javax.comm. (17)

36 Praktická část 7.1.2 Získávání dat ze senzoru GPS Parametry použitého snímače umožňují snímat data ze senzoru až čtyři krát za sekundu. Pro potřeby výše popsaného autonomního mobilního robotu postačuje snímání dat jedenkrát za sekundu. Senzor tedy každou sekundu provede měření a přepošle data ve formátu NMEA 0183 s protokoly GGA, GLL, GSA, GSV, RMC a VTG. Každý protokol poskytuje souhrn určitých informací, které jsou poté využitelné pro různé účely. Ukázky těchto protokolů jsou vidět na obrázku Obr. 13 a pod ním jsou protokoly přesněji popsané. $GPGGA,170532.000,4915.5862,N,01641.6667,E,1,05,2.8,301.2,M,42.3,M,,0000*57 $GPGSA,A,3,12,25,02,29,14,,,,,,,,3.9,2.8,2.8*30 $GPGSV,3,1,09,02,41,082,32,04,22,046,,10,00,071,,12,58,085,33*7C $GPGSV,3,2,09,14,26,255,32,24,21,156,29,25,80,328,33,29,46,224,37*70 $GPGSV,3,3,09,31,27,312,35*41 $GPGLL,4915.5862,N,01641.6667,E,170532.000,A,A*58 $GPRMC,170533.000,A,4915.5861,N,01641.6669,E,1.23,146.27,120513,,,A*61 $GPVTG,146.27,T,,M,1.23,N,2.3,K,A*0A Obr. 13 Ukázka dat standardu NMEA 0183 ze senzoru GPS/Galileo NL-402U Protokol GGA (Global Positioning System Fix Data) obsahuje veškerá data o poloze a data o stavu určování polohy. V jeho řetězci je postupně čas, zeměpisná šířka, indikátor severu nebo jihu, zeměpisná délka, indikátor východu nebo západu, stav určení polohy (2D/3D, DGPS), počet použitých satelitů, horizontální rozptyl přesnosti, nadmořskou výšku, jednotku nadmořské výšky, rozdíl oproti geoidu, jednotku rozdílu oproti geoidu, staří DGPS korekcí a číslo referenční stanice DGPS. Protokol GLL (Geographic Positon Longitude/Latitude) je protokol poskytující pouze základní informace o poloze a stavu. Z textového řetězce jsme schopni vyčíst zeměpisnou šířku, indikátor severu nebo jihu, zeměpisnou délku, indikátor východu nebo západu, čas, stav určování polohy a nastavení určování polohy. Protokol GSA (GNSS DOP and Active Satellites) poskytuje informace o počtu používaných satelitů a jejich ID, přesnostech a nastavených módech. V řetězci tedy postupně najdeme: operační mód (manual/automatic), navigační mód (žádný, 2D, 3D), počet právě používaných satelitů, ID právě používaných satelitů, polohový rozptyl přesnosti, horizontální rozptyl přesnosti a nakonec vertikální rozptyl přesnosti. Protokol GSV (GNSS Satellites in View) nese informace o viditelných satelitech nad obzorem. O každém viditelném satelitu nese řetězec jeho ID, elevační úhel, azimut a sílu signálu. Do každého řetězce se vejdou informace pouze o čtyřech satelitech, takže je protokol posílán více řetězci. Protokol RMC (Recommended Minimum Specific GNSS Data) je protokol poskytující základní informace pro potřeby navigace. V řetězci postupně nalezneme čas, stav určení polohy, zeměpisnou šířku, indikátor severu nebo jihu, zeměpisnou délku, indikátor východu nebo západu, rychlost nad zemí (v knotech), pravý kurz, datum, magnetický kurz, magnetický kurz (východ/západ) a způsob určování polohy. Posledním protokolem je protokol VTG (Course Over Ground and Ground Speed), který poskytuje informace o pohybu. V řetězci je postupně obsažen pravý kurz, jeho jednotka (True), magnetický kurz, jed-

Praktická část 37 notka magnetického kurzu (Magnetic), rychlost nad zemí (v knotech), její jednotka, rychlost nad zemí (v Km/h), její jednotka a způsob vyhodnocování polohy.(13) Získávání těchto dat je realizováno za pomoci třídy PortReader a již zmíněné třídy Connection. Třída Connection je potřebná pro získání informací o připojení, aby třída PortReader mohla vypisovat z nastaveného připojeného portu. Samotné získávání dat řeší metoda run, která je přetíženou metodou třídy Thread, aby byla spustitelná jako nové vlákno. Data čte nepřetržitě znak po znaku, který připojuje vždy nakonec řetězcové proměnné. Po nalezení konce řádky proběhne zjištění, o jaký protokol se jedná a přepošle se na další zpracování. 7.1.3 Realizace logování informací získaných ze senzoru GPS Logování informací je zapotřebí pro zaměřování cest, zpětnou kontrolu pohybu robotu, nebo pro propojení fotografií s geoinformacemi. Pro účely pohybu robotu samotného nehraje žádnou roli. Logování je řešeno za pomoci třídy Logging, která využívá knihovnu Jlogger. Ten se využívá k veškerému logování informací na robotu, aby vznikl jednotný soubor informací o chování robotu. Logování GPS informací ze senzoru probíhá ještě zvlášť, jak kvůli pozdějšímu využití samotných geoinformací, tak kvůli velkému množství dat. Výhoda Jloggeru je jak v jednotnosti logovaných dat, tak množství nastavení, které podporuje. Protože je zbytečné logovat všechny informace ze senzoru GPS, jsou informace, které se mají logovat, nastaveny v konfiguračním souboru stejně, jako u vypisování. O to se stará metoda getdata za pomoci třídy Configuration. Metoda getdata přebere data, poskytovaná třídou PortReader a pomocí čárky rozdělí data v řetězci do pole řetězců. Postupně se kontroluje, co je nastaveno pro výpis, a buď se data připojí do výsledného řetězce, nebo ne. Poté se zavolá metoda savelog a veškeré data nastavená pro logování se vypíší na konzole a uloží do souborů. 7.1.4 Řešení konfigurace programu Jak bylo popsáno již v kapitole 5.2, z důvodu nezjistitelnosti a komplikovanosti konfiguračního souboru GPS senzoru, je samotný senzor nastavován za pomoci dodávaného programu u-blox. Konfigurace programu tedy spočívá pouze ve výběru informací, které se budou vypisovat nebo logovat. Konfigurace je realizována pomocí třídy Configuration. Ta obsahuje logické proměnné s názvy podle všech informací možných ze senzoru GPS získat, metodu loadconfig pro načtení souboru a nastavení logických proměnných podle něho a metody pro dotaz na hodnotu těchto logických proměnných. Konfigurační soubor je textového typu. Informace v něm jsou jednoduše editovatelné i snadno pochopitelné. Jedná se vždy o dva řádky pro jeden protokol, viz Obr. 14. První řádek obsahuje zkratkou popsané data, které se dají z daného protokolu vypsat. Druhý řádek začíná názvem protokolu a za ním je za pomoci binárních čísel uvedeno, které informace z daného protokolu se mají vypisovat. Na posledních dvou řádcích je nastavení logování, kde struktura je stejná jako u protokolů a je označen jako LOG. Vše je odděleno čárkami pro jednoduchou separaci v metodě loadconfig.

38 Praktická část UTC,LAT,LON,STA,SVU,HDOP,MSL,GES,DGPSA,DGPSRS GGA,1,1,1,1,1,1,1,1,1,1 LAT,LON,UTC,STA,MOD GLL,1,1,1,1,1 OMOD,NMOD,SVU,USV,PDOP,HDOP,VDOP GSA,1,1,1,1,1,1,1,1 UTC,STA,LAT,LON,SOG,COG,DAT,MAGVA,MAGVA2,MOD RMC,1,1,1,1,1,1,1,1,1,1 COG,COGM,SOGKN,SOGKM,MOD2 VTG,1,1,1,1,1 GSV,1 JEN ZAPNUTÍ NEBO VYPNUTÍ UTC,DAT,LAT,LON,MSL,GES,COG,COGM,MAGVA,MAGVA2,SOG,OMOD,NMOD, LOG,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Obr. 14 Ukázka struktury konfiguračního souboru Načtení konfigurace probíhá pochopitelně na začátku programu. Pomocí metody loadconfig se postupně čtou řádky textového souboru. Ty se rozseparují podle čárek na jednotlivá data a podle nich se nastavují jednotlivé binární proměnné představující nastavení výpisu nebo logování konkrétních dat. Pro všechny proměnné jsou implementovány metody pro předání její hodnoty, která se využívá právě pro zjištění, zda se má či nemá vypsat. 7.1.5 Grafické rozhraní pro výpis informací Grafické rozhraní slouží k přehlednému zobrazení informací poskytované z GPS senzoru. Toto okno je rozčleněno na jednotlivé NMEA 0183 protokoly a hodnoty v něm obsažené. Za pomoci konfiguračních metod jsou vypisovány jen data, které jsme za pomoci konfiguračního souboru nastavili. Ukázka okna je na obrázku Obr. 15. Obr. 15 Ukázka Grafického okna pro výpis informací ze senzoru

Praktická část 39 O vykreslování a zobrazení dat se stará třída Gui rozšířená o knihovnu JFrame, která je k tvorbě grafických rozhraní nutná. Hlavní částí třídy je konstruktor Gui, který se stará o celé sestavení okna a jeho následné vykreslení. Třída je propojená s třídou Configuration, která poskytuje informace, která data se mají zobrazovat. Podle toho metoda display nastaví zobrazování jednotlivých popisů a textových polí, do kterých se data budou vypisovat. Protože grafické okno nevypisuje vždy všechno, nepoužívá pro rozmístění popisů a textových oken pro výpis dat žádné přednastavené rozmístění v okně. Veškeré pozicování v okně tedy probíhá absolutně. Veškeré popisy a textová pole jsou vytvořena konstruktorem, ale jsou zneviditelněny. O zviditelnění se poté stará metoda display, která za pomoci třídy Configuration a předávacích metod binárních proměnných, nastaví daným popisům a textovým polím viditelnost na hodnotu True. Při této operaci se nastavuje taky pozice popisů a textových polí. To je prováděno pomocí metody setxy, která vypočítá a nastaví nové souřadnice, pro daný popis či textové pole. Data se poté vypisují do polí za pomoci metod printnázev_protkolu, kde přeberou řetězec s daným protokolem, ten rozseparují podle čárek a poté jednotlivá data zobrazí na daných textových polích. (17) 7.2 Testování a ladění modulu Základní testování programového modulu probíhá při implementaci, kde modul nevypisuje ani neloguje reálná data, ale jen prázdné NMEA0183 věty. Podle nich a hlavně podle popisu vět z literárních zdrojů, je možné program zprovoznit do stavu schopného testování v reálném prostředí, ale ne do plného bezproblémového stavu. V tomto případě veškeré testování a následné měření probíhá v Arboretu Mendelovy univerzity v Brně. Modul je testován pouze za pomoci notebooku, protože robot ještě není schopen pohybu, s připojeným senzorem upevněným na rameni. Při testování v reálném prostředí, tedy procházení Arboreta, se vyskytuje hned několik problémů. Prvním problémem je různé přetékání nebo podtékání řetězcových hodnot. Tento problém nastává u NMEA 0183 vět s měnícím se množstvím dat, a to u protokolu GSV a GSA. U protokolu GSV nastává ještě problém, kdy byla věta díky většímu počtu satelitů rozdělena na vět několik. Dalšími problémy jsou z neznámého důvodu pády díky nulovým hodnotám. Naštěstí těchto chyb není mnoho a tak není velký problém je odstranit. Problémy jsou odstraněny implementací správného zpracování dat doplnění programu o výjimky, které odchytávají nestandardní chování a o kontrolní metody. Celý programový modul je znovu několikrát odzkoušen, zda jsou chyby odstraněny a program je schopen bezproblémového provozu. 7.3 Naměření dat pro vyhodnocení opakovatelnosti a zaměření cest pro pohyb robotu Měření již reálných dat pro vyhodnocování opakovatelnosti měření za pomoci lokalizačního programového modulu probíhá tak, jako probíhalo testování v Arboretu Mendelovy univerzity v Brně. Cílem této části práce je provedení minimálně tří měření Arboreta a vyhodnocení opakovatelnosti. Všechna měření probíhají stejně za pomoci netbooku Acer Aspire One s připojeným senzorem GPS/Galileo NL-402U upevněným na rameni a to vždy po stejné trase. Měření jsou celkem čtyři v časovém rozpětí cca 3 měsíců. Při

40 Praktická část měření jsou sledovány možné vlivy na měření, jako je olistění stromů a jaká byla v době měření oblačnost. První měření se uskutečnilo 9. 4. 2013, kdy nebyly stromy ještě olistěné a za lehce zatažené oblohy. Další měření proběhlo 26. 4. 2013, kdy se již stromy začali listnatět. Obloha při tomto měření jasná bez mraků. Předposlední měření probíhalo 13. 5. 2013, kdy byly stromy již plně olistěny a obloha spíše bez mraků. Poslední měření proběhlo 15. 5. 2013, také s plně olistěnými stromy a jasnou oblohou. Data získaná měřením jsou následně zpracována a importována do programu ArcMap. Jelikož bylo hlavním cílem zhodnotit opakovatelnost měření, porovnávají se vždy dvě měření navzájem. Konkrétně se hledá množství bodů z druhého měření, které je vzdáleno o méně delta δ [cm] vůči prvnímu měření. Výsledky jsou znázorněny v grafu, viz Obr. 16. Případně jsou stanoveny intervaly vzdáleností (δmin, δmax) a opět hledány četnosti výskytů, viz Tab. 1 až Tab. 6. Další, výstupem dat je jejich vizualizace za pomoci internetové aplikace GPS VISU- ALIZER, kterou je možné vidět v příloze A. Porovnání je tedy šest a to: první s druhým měřením, druhé s třetím měřením, druhé se čtvrtým měřením, třetí s prvním měřením, třetí s čtvrtým měřením a čtvrté s prvním měřením. Při prvním porovnáváním je porovnáno první měření s druhým. První měření má celkem 1886 bodů a hodnoty v intervalech jsou zobrazeny v tabulce Tab. 1. Do požadované přesnosti do 3 metrů se vešlo 95,7 % všech měřených bodů druhého měření. Tab. 1 Odchylky mezi prvním a druhým měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 523 201 250 64 401 450 21 51 100 669 251 300 43 451 500 7 101 150 343 301 350 18 501 550 6 151 200 163 351 400 24 551 600 5 Druhé porovnávání bylo mezi druhým a třetím měřením. Druhé měření obsahuje celkem 1766 bodů. V tabulce Tab. 2 můžeme vidět rozprostření bodů ve stanoveném intervalu. Zde se do požadované přesnosti vešlo 97,6 % bodů. Tab. 2 Odchylky mezi druhým a třetím měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 324 201 250 93 401 450 8 51 100 585 251 300 61 451 500 1 101 150 441 301 350 27 501 550 0 151 200 220 351 400 6 551 600 0 Třetí porovnávání bylo mezi třetím a prvním měřením. Třetí měření má cekem 1766 bodů. V tabulce Tab. 3 můžeme zase vidět rozprostření bodů v určitých intervalech. Do předepsané přesnosti se v tomto porovnávání vešlo 96,2 % bodů.

Praktická část 41 Tab. 3 Odchylky mezi třetím a prvním měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 360 201 250 105 401 450 7 51 100 588 251 300 47 451 500 3 101 150 336 301 350 40 501 550 0 151 200 152 351 400 12 551 600 0 Čtvrté porovnávání bylo mezi druhým a čtvrtým měřením. Jak již bylo zmíněno druhé měření má cekem 1766 bodů. V tabulce Tab. 4 můžeme vidět rozprostření bodů v určitých intervalech. Do předepsané přesnosti se v tomto porovnávání vešlo 98,0 % bodů. Tab. 4 Odchylky mezi druhým a čtvrtým měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 381 201 250 108 401 450 3 51 100 575 251 300 63 451 500 3 101 150 405 301 350 25 501 550 0 151 200 198 351 400 5 551 600 0 Páté porovnávání bylo mezi třetím a čtvrtým měřením. Třetí měření, jak již bylo řečeno, má cekem 1766. V tabulce Tab. 5 můžeme zase vidět rozprostření bodů v určitých intervalech. Do předepsané přesnosti se v tomto porovnávání vešlo 98,8 % bodů. Tab. 5 Odchylky mezi třetím a čtvrtým měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 603 201 250 45 401 450 3 51 100 719 251 300 29 451 500 4 101 150 170 301 350 7 501 550 2 151 200 64 351 400 4 551 600 0 Poslední porovnávání bylo mezi čtvrtým a prvním měřením. Čtvrté měření má cekem 1796 bodů. V tabulce Tab. 6 můžeme vidět rozprostření bodů v určitých intervalech. Do předepsané přesnosti se v tomto porovnávání vešlo 98,5 % bodů. Tab. 6 Odchylky mezi čtvrtým a prvním měřením Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů Vzdálenost δ [cm] Počet bodů 0 50 332 201 250 87 401 450 0 51 100 635 251 300 48 451 500 0 101 150 455 301 350 23 501 550 0 151 200 212 351 400 4 551 600 0 Všechna měření a jejich porovnání ukazují, že do stanovené přesnosti do 3 m se průměrně vejde 97,5 %. V grafu viz Obr. 16 je možné vidět procentuální obsažení bodů v odchylkách mezi měřeními.

42 Praktická část 100 Množství bodů vzdálených maximálně o δ [%] 90 80 70 60 50 40 30 20 10 0 50 100 150 200 250 300 350 400 450 Maximální vzdálenost bodů δ max [cm] První proti druhému Druhé proti třetímu Třetí proti prvnímu Druhé proti čtvrtému Třetí proti čtvrtému Čtvrté proti prvnímu Obr. 16 Procentuální obsažení bodů v odchylkách 7.4 Vyhodnocení použitelnosti modulu a daného senzoru Programový modul byl otestován v reálném prostředí Arboreta Mendelovy univerzity, kde již nevykazoval žádné chyby a pracoval bez problémů. Za jeho pomoci byl otestován senzor GPS/Galileo NL-402U a naměřena data pro vyhodnocení opakovatelnosti. Z těchto dat a z grafu, viz Obr. 16, je patrné, že maximální odchylka mezi dvěma měřeními δ max je 6 m, a ta se navíc vyskytla pouze u pěti bodů z prvního měření. Posun těchto bodů je většinou způsoben náhlým výpadkem signálu nebo jeho zkreslením. Z grafu na Obr. 16 můžeme vyčíst procentuální četnost výskytu bodů v určitých intervalech vzdáleností. Do intervalu 0 až 3 m, který je považován za uspokojivý pro potřeby lokalizace mobilního robotu, průměrně spadá 97,5 % bodů, což je pro potřeby cílové činnosti robotu postačující. Velice dobrých výsledků je dosaženo i do vzdálenosti 2 m, kde je průměrně obsaženo 89,9 %. Od této vzdálenosti se množství bodů rapidně snižovalo a ve vzdálenosti do 50 cm bylo obsaženo průměrně pouze 24,1 % bodů. V implementovaném modulu je možné provést některá dílčí vylepšení. Jedním z nich by bylo automatické rozpoznání sériového portu, na kterém se nachází senzor GPS/Galileo NL-402U. Dalším velice užitečným vylepšením by bylo zjištění struktury konfiguračního souboru pro senzor a zavedení konfigurace senzoru do programového modulu.

Závěr 43 8 Závěr Cílem práce bylo navrhnutí a naimplementování konfigurovatelného lokalizačního modulu pro konkrétní autonomní mobilní robot, který bude schopen pohybu po zpevněných cestách městských parků. Tento modul má být schopen číst a ukládat data o poloze ze senzoru GPS/Galileo NL-402U a v patřičné formě je poskytovat řídicí jednotce robotu. Celá práce je rozdělena na dvě stěžejní části a to teoretickou a praktickou část. V teoretické části je nejprve obecně rozebrána problematika určování polohy za pomoci družic viz kapitola 2. Ta sestává z podkapitol 2.1 popisující základní strukturu globálních polohových družicových systémů. V další podkapitole 2.2 jsou popsány způsoby měření a vyhodnocování polohy přijímače a první kapitolu zakončuje popis rozšiřujících systémů pro GNSS viz kapitola 2.3. Další dvě kapitoly 3 a 4 pojednávají o systémech, které podporuje daný senzor NL-402U a to GPS a Galileo. U těchto systémů je popsána jejich struktura a možnosti, které nabízejí a zdali jsou v provozu, či je zahájení provozu teprve v plánu. U funkčního systému GPS jsou popsány standardy pro přenos dat, které jsou důležité pro praktickou část. V páté kapitole je návrh řešení jednotlivých částí lokalizačního modulu. Zejména způsobu komunikace, získávání, vypisování a logování dat ze senzoru a konfigurace. Šestá kapitola obsahuje metodiku při zpracovávání praktické části. Praktická část (kapitola 7) sestává ze čtyř podkapitol. První podkapitolou 7.1 je popis implementace lokalizačního modulu. Zde je v jednotlivých podkapitolách popsáno pět částí programu. U každé kapitoly jsou popsány třídy obstarávající danou část a jejich hlavní metody. První část viz kapitola 7.1.1 se zabývá způsobem komunikace programového modulu se senzorem GPS/Galileo NL- 402U a testováním knihoven pro tuto komunikaci. Další část viz kapitola 7.1.2 se zabývá problematikou získávání informací ze senzoru a jeho zpracování. Třetí část viz kapitola 7.1.3 popisuje způsob logování informací získaných ze senzoru a jejich využití. V další části, v kapitole 7.1.4, je řešena konfigurace programového modulu a senzoru. V poslední části viz kapitola 7.1.5 je popsán způsob výpisu informací za pomoci grafického rozhraní. Další podkapitolou 7.2 praktické části je testování a ladění lokalizačního modulu. Zde je popsán způsob testování modulu, jaké byly nalezeny chyby a jejich způsob odstranění. Poté následovala podkapitola 7.3 popisující sérii měření pro vyhodnocení opakovatelnosti dat a způsoby provedení. Tyto výsledky jsou následně zhodnoceny v poslední kapitole 7.4 - praktické části. V zadání této bakalářské práce je uvedeno pět bodů, které musí být splněny. První bod se týká nastudování problematiky určování polohy za pomoci globálních polohových systémů. Splnění tohoto bodu je dáno rešeršní částí uvedenou v kapitolách 2 až 4. Dalším bodem zadání je navrhnutí způsobu využití senzoru NL-402U pro potřeby lokalizace robotu. Návrh způsobu užití je diskutován v kapitole 5. Třetí bod zadání se týká naprogramování konfigurovatelného lokalizačního modulu pro řídicí jednotku robotu. Uvedený modul byl úspěšně naprogramován, detailní popis implementace je uveden v kapitole 7.1. Vytvořený modul byl následně testován v reálném prostředí, čímž byl splněn další bod zadání, viz kapitoly 7.2 a 7.3. Posledním bodem zadání je vyhodnocení použitel-

44 Závěr nosti vytvořeného řešení a návrh možných vylepšení. Použitelnost navrženého řešení je diskutována v kapitole 7.4. Veškerá naměřená data neslouží jen pro potřebu vyhodnocení, ale mají využití i v následném testování robotu v Arboretu Mendelovy univerzity. Data jsou využita pro tvorbu mapového podkladu cest, po kterých se robot může pohybovat. Řešení předkládané v této práci je součástí komplexního funkčního celku a je i nadále využíváno řídicí jednotkou robotu. Tato jednotka je pak schopná na základě dodaných dat od jednotlivých modulů provádět lokalizaci robotu, plánování jeho trajektorie, řízení pohybu, atd. Dále je možné programový modul využít pro zaměřování dalších možných tras pro pohyb robotu. Předložené řešení bude například využito pro sestavení mapových podkladů v rámci soutěže Robotour 2013, která se uskuteční v městském parku ve městě Lodže v Polsku. Díky tomu, že modul je schopen pracovat odděleně od řídicí jednoty, je možné tento modul využít i pro jiné řídicí jednotky využívající polohová data.

Literatura 45 9 Literatura 1 RAPANT, Petr. Družicové polohové systémy. Vyd. 1. Ostrava: Vysoká škola báňská - Technická univerzita, 2002, 197 s. ISBN 80-248-0124-8. 2 International GNSS Service, dostupné z: http://igscb.jpl.nasa.gov/ 3 How does the Global Positioning Systém work?. [online]. [cit. 2013-05- 19]. Dostupné z: http://www.pocketgpsworld.com 4 STEINER, Ivo a Jiří ČERNÝ. GPS od A do Z. 3., aktualiz. vyd. Praha: enav, 2004, 220 s. ISBN 80-239-3314-0. 5 Mobil mania: Už vím, jak pracuje navigační systém GPS. [online]. [cit. 2013-05-19]. Dostupné z: http://www.mobilmania.cz/clanky/uz-vim- jak-pracuje-navigacni-system-gps/jak-gps-urci-polohu/sc-3-a-1111127- ch-1030454/default.aspx 6 HOFMANN-WELLENHOF, Bernhard. Global positioning system: theory and practice. 5th, rev. ed. Wien: Springer, 2001, xxii, 382 s. ISBN 32-118- 3534-2. 7 Geoportál ČÚZK: Body Sítě permanentních stanic GNSS České republiky CZEPOS [online]. [cit. 2013-05-19]. Dostupné z: http://geoportal.cuzk.cz/(s(ilcgecvzsm1hp145o1iqrt55))/default.aspx?m ode=textmeta&side=bodpole&metadataid=cz-cuzk-czepos- BODY&menu=274 8 Tracking Many GNSS: Introduction. [online]. [cit. 2013-05-19]. Dostupné z: http://cddis.gsfc.nasa.gov/lw17/docs/papers/session10/01- Wilkinson_ILRS17_manygnss.pdf 9 Official U.S. Government informatik about the Global Positioning System (GPS) and related topics: Space Segment. [online].[cit. 2013-05-19]. Dostupné z: http://www.gps.gov/systems/gps/space/ 10 The Radio Technical Commission for Maritime Services. [online]. [cit. 2013-05-19]. Dostupné z: http://www.rtcm.org/ 11 RINEX. [online]. [cit. 2013-05-19]. Dostupné z: http://igscb.jpl.nasa.gov/igscb/data/format/rinex301.pdf 12 UNAVCO: GPS Data Products. [online]. [cit. 2013-05-19]. Dostupné z: http://pbo.unavco.org/data/gps 13 National Marine Electronic Association. [online]. [cit. 2013-05-19]. Dostupné z: http://www.nmea.org/ 14 European GNSS Agency, doztupné z: www.gsa.europa.eu/ 15 Globální polohovací a navigační satelitní systémy. [online].[cit. 2013-05- 19]. Dostupné z: http://geologie.vsb.cz/geoinformatika/kap09.htm 16 NaviLock: Navilock NL-402U USB GPS / Galileo Receiver. [online]. [cit. 2013-05-19]. Dostupné z: http://navilock.com/ 17 HEROUT, Pavel. Učebnice jazyka Java. 5., rozš. vyd. České Budějovice: Kopp, 2010, 386 s. ISBN 978-80-7232-398-2.

46 Přílohy Přílohy

Vizualizace měření za pomoci GPSVISUALIZERU 47 A Vizualizace měření za pomoci GPSVISUALIZERU