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

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

Projekt BROB. Základy robotiky. Téma: Digitální časomíra. Vedoucí projektu: Tomáš Jílek

Uživatelská příručka

Taktilní snímač pro KAMbot

Telemetrický komunikační protokol JETI

Obsah. O autorovi 11 Předmluva 13 Zpětná vazba od čtenářů 14 Errata 14

Raspberry PI: Obr. 1 Raspberry PI

Robotická ruka. Lukáš Fotr a Jaroslav Karban. Integrovaná střední škola, 2. ročník Kumburská 846, Nová Paka

Merkur perfekt Challenge Studijní materiály

UniPi 1.1 Lite Technologická dokumentace

Počítač jako elektronické, Číslicové zařízení

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Nadpis: GPS Najdi si cestu

Úvod do programování. Lekce 1

MBus Explorer MULTI. Uživatelský manuál V. 1.1

Rozvoj vzdělávání žáků karvinských základních škol v oblasti cizích jazyků Registrační číslo projektu: CZ.1.07/1.1.07/

SEAHU SH017 (PiToDin) Hardwerový popis

HPS-120. Manuál nastavení bezdrátového modemu

GEOGRAFICKÁ SLUŽBA ARMÁDY ČESKÉ REPUBLIKY

Měření teploty na RaspberryPi

BROB -ZÁKLDY ROBOTIKY

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

UC485P. Převodník RS232 na RS485 nebo RS422. Průmyslové provedení s krytím

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

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

FN485 Gateway 2 Galvanically Isolated V1.0 Instalační návod

Ethernet převodníky sériových linek. v Přepěťová ochrana 30A AI RE AO DO. minilan-485 AI RE AO DO EZS PIDS EKV. MIOS & Modbus IO moduly nebo senzory

Úvod do mobilní robotiky NAIL028

MAPY VELKÉHO A STŘEDNÍHO MĚŘÍTKA

Komunikační adaptér USB - RS485 - virtuální sériový port ELO E218. Uživatelský manuál

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

Max. nabíjecí čas: cca 3 hodiny Nabíjení: LED bliká v intervalu cca 2 sekundy Konec nabíjení: LED bliká cca 2x za sekundu

Řídicí systém pro každého

Vizualizace dat z GPS modulu. Projekt do BROB

Ovladač pro bezdrátové snímače začleněné do řízení v realném čase (modul VMonDrv) Uživatelská příručka

Pro zprovoznění komunikace našeho Sigfox modemu se sítí je potřeba udělat následující kroky. Jako první si otevřeme webové stránky

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Uživatelský manuál. KNX232e / KNX232e1k

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Protokol GPS pro MORSE

KTE / PPEL Počítačová podpora v elektrotechnice

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Environmentální výchova

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ VYHLEDÁVÁNÍ NULOVÉHO BODU OBROBKU POMOCÍ DOTYKOVÉ SONDY

Metody řízení moderních soustav s

Návrh konstrukce odchovny 3. dil

OPC server systému REXYGEN. Uživatelská příručka

1. 5. Minimalizace logické funkce a implementace do cílového programovatelného obvodu CPLD

Leoš Liška.

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Modul. Vlastnosti. Odběr řídicí část. výstupy 0,5A. velikost 6M

Uživatelský modul GPS

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr

Specifikace Bridge TEM

Marie Kocinová: Metadata a jejich využití pro web i tato prezentace byla připravena v programu ZPS

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

Struktury a dynamická paměť

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

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

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

Aplikace. Hlásič SMS

GPS NAVIGACE PRO VENKOVNÍ PRUZKUMNÝ ROBOT

MĚŘENÍ ČASU PRŮJEZDU TRASY

ASYNCHRONNÍ MODEM RS-422(V.11) OPTICKÉ VLÁKNO OPTO422 UŽIVATELSKÝ MANUÁL

CZ.1.07/2.2.00/ )

Spider. Šest 1-Wire senzorů na sběrnici RS-485 CZ

CCI.GPS. Nastavení GPS a geometrie traktoru. Návod k obsluze. Reference: CCI.GPS v1.0

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Programování v jazyce C a C++

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

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OVK-VZ-III/2-ZÁ-318

Čtyřnohý kráčející robot

UC485. Převodník linky RS232 na RS485 nebo RS422 s galvanickým oddělením

TES GPS Osobní lokátor (dále GPS OL)

NRRF 12. Síťový čtecí modul 433 MHz s dlouhým dosahem. Uživatelská příručka

KATALOG PRODUKTŮ. Finanční, vědecké, stolní a kapesní kalkulátory. info@moravia-europe.eu.

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

2.8 Kodéry a Rekodéry

Struktura a architektura počítačů (BI-SAP) 10

BROB Základy robotiky. Ing. František Burian, Ph.D. Jan Macháček VUT ID: Martin Pavelka VUT ID:

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

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

Vstupní jednotka E 100 IP. Návod na použití. Strana 1

POČÍTAČE A PROGRAMOVÁNÍ

CNC Technologie a obráběcí stroje

8 Třídy, objekty, metody, předávání argumentů metod

Úvod do programování - Java. Cvičení č.4

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

LED zobrazovač. Úvod. Jak to pracuje? Popis zapojení. Autor: Ing.Tomáš Pavera / OK2TPQ Datum: Revize: 1.0

Popis třídy CCoordTrans

Personální evidence zaměstnanců

60305-a. GPS přijímač BT-348. Příručka uživatele

Specifikace Bridge TEM

SNÍMAČOVÝ EXPANDÉR TB8.1x2 RS232 - ASCII

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

Transkript:

BROB - Základy robotiky (2016) GPS navigace pro plovoucího robota třídy KAMbot (S.12) Autoři: Vedoucí projektu: Jan Mazoch, Jakub Hadámek, Lukáš Hvizdák Ing. Lukáš Kopečný, Ph.D.

Zadaní Navrhněte a realizujte GNS (GPS) modul pro plovoucí verzi robotu KAMbot. Vytvořte algoritmus pro autonomní navigaci robotu pomocí GNS modulu.

Obsah Úvod 1 Problematika navigace pomocí GPS 1 Popis funkce main a programu 1 Popisy funkcí volaných v mainu 1 Formát NMEA 3 Propojení Raspberry Pi 2 B s GPS modemem NEO 6M 3

Úvod Cílen našeho projektu byl návrh GPS navigace, výběr GPS čipu a naprogramování softwaru (dále pouze sw) řídicího KAMbota. GPS čip jsme vybrali NEO-6M (NEO-6M-0-001). Sw vypočítavá z GPS souřadnic vektor a aktuální úhel natočení kormidla, v našem případě reprezentovaného servomotorem. Jako hardware jsme zvolili Raspberry Pi 2.0, s operačním systémem Raspbian (Kernel v. 4.1).

Problematika navigace pomocí GPS Při návrhu autonomní navigace GPS je nutné se rozhodnout, jakým způsobem budeme zjišťovat směr vektoru, jímž se robot pohybuje a jaká je jeho relativní poloha vůči cílovým souřadnicím. V našem případě vypočítáváme úhel pohybového vektoru od cílových souřadnic pomocí funkce atan2, který vrací azimut (úhel od severu). Popis funkce main a programu V programu definuje strukturu struct coordinates { double longtitude; double latitude; }, která obsahuje zeměpisnou délku a šířku. V mainu vytváříme proměnné typu struct coordinates, actual_position pro aktuální polohu, old_postion pro předešlou polohu a target pro cílové souřadnice. Ze souřadnic v actual_position a old_positon definuje pohybový vektor. Dále se v main volají funkce k jednotlivým výpočtům. Popisy funkcí volaných v mainu struct coordinates position(file *stream); Funkce čte stream a zároveň separuje GPS souřadnice z ttyama0, což je sériová komunikace mezi GPS modemem a Raspberry Pi. Probíhá zde přepočet z jednotlivých znaků uložených v proměnné char na souřadnice ve formátu double. Rovněž testuje zda-li má GPS signál. double angle(struct coordinates actual_position, struct coordinates target); Funkce vypočítavá úhel do aktuální pozice k cílovým souřadnicím pomocí dvou úhlů. Úhel 1 prom. "uhel1" vypočítavá azimut od pohybového vektoru. Úhel 2 prom. "uhel2" vypočte azimut od cílových souřadnic (úhel 360 nebo 0 je úhel k severu a úhel 180 je k jihu). Námi hledaný úhel k cílovým souřadnicím je rozdíl úhlu 2 a úhlu 1. double distance(struct coordinates actual_position, struct coordinates target); Funkce počítá vzdálenost dvou souřadnic, pomocí goniometrických funkcí aby byl přepočet přesný kvůli zemskému zakřivení. Pro naše použití se jedná o nadbytečnost ale vzhledem k možnosti využití na jiném projektu jsme se to rozhodly zakomponovat.

Formát NMEA GPS posílá data ve formátu NMEA. NMEA je standard, původně určený pro automatizovaný přenos dat mezi jednotlivými zařízeními elektroniky lodí. Všechny zprávy mají stanoven formát podle následujícího schematu: $XXYYY,a1,a2,a3,...,an*cc Zprávu tvoří řádek ASCII znaků (písmen a číslic), který ukončuje znak odřádkování. Každý řádek začíná znakem $, po kterém následují dva znaky určující typ vysílače (v našem případě GP jako GPS). Další dva znaky udávají o který druh zprávy se jedná. Nás zajímá buďto zpráva GGA, nebo GLL, které obě obsahují aktuální šouřadnice (délku a šířku). Původně jsme chtěli odečítat také azimut, ale po několika testech, které skončili neúspěchem (azimut udával nesmyslné hodnoty), jsme došli k závěru, že si veškeré úhly bude mepřepočítávat sami pomocí souřadnic. Ve zprávě GLL nám položka udává zeměpisnou šířku, při čemž první dva znaky jsou stupně a za nimi hned následují minuty. Dále je za čárkou N, které nám říká, že se jedná o severní šířku. Za další čárkou je zeměpisná délka ve stejném formátu jak šířka, následované písmenem E, které značí východní délku. Celá zpráva vypadá takto: $GPGLL,0011.82542,N,01715,99646,E,455,V,N*64 Propojení Raspberry Pi 2 B s GPS modemem NEO 6M Propojení je snadné stačí k tomu pouze 4 drátky, rozdělení sběrnice GPIO u Raspberry viz obr.1 níže. Propojte mezi sebou Rx z GPS na Tx u Raspberry, Tx z GPS na Rx Raspberry, napájení +3V na +3V a GND.

Obrázek 1 schématu sběrnice GPIO u Raspberry Pi 2 B.

Obrázek 2 přepočtu úhlu