B12-Konstrukce mobilního robotu

Transkript

B12-Konstrukce mobilního robotu
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VUT V BRNĚ, TECHNICKÁ
3058/10, 616 00 BRNO, ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY
B12-Konstrukce
mobilního robotu
BROB - semestrální projekt
Tomáš Krajcar(154777), Jan Usnul (155255)
letní semestr 2014
Vedoucí práce: Ing. Tomáš Florián
Obsah
1.
Zadání .................................................................................................................................. 4
2.
Úvod .................................................................................................................................... 4
3.
Konstrukce ........................................................................................................................... 5
3.1.
Napájení....................................................................................................................... 6
3.2.
Regulátor ..................................................................................................................... 6
3.3.
IP kamera ..................................................................................................................... 7
3.4.
WiFi router................................................................................................................... 8
3.5.
Snímače ....................................................................................................................... 8
3.5.1. SRF04-Ultra-Sonic Ranger...................................................................................... 8
3.5.2. Sharp GP2Y0A21YK0F ............................................................................................ 9
3.6.
4.
HW-mikrokontrolér Arduino Uno .............................................................................. 10
Software ............................................................................................................................ 11
4.1.
UDP komunikace ....................................................................................................... 11
4.2.
Arduino ...................................................................................................................... 12
4.3.
C# ............................................................................................................................... 12
5.
Závěr .................................................................................................................................. 14
6.
Zdroje................................................................................................................................. 14
7.
Přílohy ................................................................................................................................ 16
7.1.
Schéma zapojení robotu ............................................................................................ 16
OBRÁZEK 2-1 CELKOVÝ POHLED NA ROBOTA ...................................................................................................................... 4
OBRÁZEK 3-1 ROBOT Z LEVÉ ČÁSTI ................................................................................................................................... 5
OBRÁZEK 3-2 ZADNÍ ČÁST ROBOTA .................................................................................................................................. 5
OBRÁZEK 3-3 BATERIE LI-POL 2C ................................................................................................................................... 6
OBRÁZEK 3-4 REGULÁTOR ESC ....................................................................................................................................... 6
OBRÁZEK 3-5 A) KAMERA AXIS 207 B) SCHÉMA PROPOJENÍ KOMUNIKACE ............................................................................. 7
OBRÁZEK 3-6 ZADNÍ STRANA SNÍMAČE SRF04................................................................................................................... 8
OBRÁZEK 3-7 A) DIAGRAM ZOBRAZUJÍCÍ PRŮBĚH SIGNÁLU PŘI MĚŘENÍ B) SCHÉMA ZAPOJENÍ SNÍMAČE SRF04 ............................... 9
OBRÁZEK 3-8 SNÍMAČ SHARP GP2Y0A21YK0F................................................................................................................ 9
OBRÁZEK 3-9 GRAF ZÁVISLOSTI VÝSTUPNÍHO NAPĚTÍ NA VZDÁLENOSTI PŘEKÁŽKY .................................................................... 10
OBRÁZEK 3-10 DESKA ARDUINO UNO R3 ....................................................................................................................... 11
OBRÁZEK 4-1 UKÁZKA VZHLEDU ŘÍDICÍ APLIKACE .............................................................................................................. 13
TABULKA 3-1 PARAMETRY ESC REGULÁTORU.................................................................................................................... 6
TABULKA 3-2 PARAMETRY KAMERY AXIS MODEL 207 [3] ................................................................................................... 8
TABULKA 3-3 PARAMETRY D-LINK DAP 1160 [8] ............................................................................................................. 8
TABULKA 3-4 PARAMETRY SNÍMAČE SRF04-ULTRA-SONIC RANGER [4] ................................................................................ 9
TABULKA 3-5 PARAMETRY SNÍMAČE SPOLEČNOSTI SHARP TYP GP2Y0A21YK0F [5] .............................................................. 10
2
TABULKA 4-1 BITOVÉ SLOŽENÍ UDP PAKETU (PŘEVZATO Z [6]) ........................................................................................... 12
3
1. Zadání
Postavte mobilní robot, který bude využívat podvozek Tamiya TT-01. Vyberte vhodnou řídicí
elektroniku, moduly pro bezdrátovou komunikaci, kameru a snímače, které bude operátor využívat
při jeho řízení. Celý robot bude řízen pomocí počítače a aplikace napsané v jazyce C#, která mu bude
vhodně vizualizovat veškeré potřebné údaje.
2. Úvod
Celý projekt je založen na dálkovém řízení robotu prostřednictvím aplikace ve Windows. Uživatel bude robot ovládat hracím ovladačem typu XBOX 360. Celá aplikace je vytvořená jak pro náročnější uživatele, tak pro i pro méně zkušené. Po zadání základních připojovacích údajů a připojení
ovladače k PC se po zmáčknutí tlačítka CONNECT (tlačítko A na ovladači) odešlou zaváděcí pakety do
autíčka. Vše se uživateli vypisuje přímo aplikace.
Obrázek 2-1 celkový pohled na robota
4
3. Konstrukce
Konstrukce je založená na podvozku Tamiya TT-01. Ten jsme již měli. Podvozek je doplněn o
hliníkové díly (kardan, tlumiče, řídicí tyč). Z původního modelu museli být odebrány části, které byli
nedostačující. V jednotlivých podkategoriích si probereme dílčí konstrukční úpravy.
Obrázek 3-1 robot z levé části
Konstrukce autíčka TT-01 3-1
Obrázek 3-2 zadní část robota
5
3.1.
Napájení
Při navrhované konstrukci nám bylo zřejmé, že první
co musíme udělat je vyměnit původní baterii. Tou byl typ NiCd s kapacitou 1500 mAh. Výstupní napět nevyhovovalo z
důvodu napájení IP kamery a WiFi routeru. Proto byla vybrána baterie Li-Pol 2C s kapacitou 5000 mAh. Tohle je již
zcela vyhovující pro napájení celého robotu. Konstrukce
napájení obsahuje i dva stabilizátory. Jeden je pro servomotor. Druhý pro IP kameru, WiFi router a samotné Arduino.
Li-Pol akumulátor se používá ve spoustě elektrických
zařízení od mobilních telefonů po RC modely. Baterie se
skládá z článků. Běžně se pro modelářské účely používají 2-6
článkové baterie. Plně nabitý článek má až 4,23 V, pokud klesne napětí pod 2,7 V může být článek
nenávratně zničen. Kapacita je daná objemem článku, běžně se pohybuje od 100 mAh do 5000 mAh.
(Převzato z [9])
Obrázek 3-3 Baterie Li-Pol 2C
Výhody:





velká kapacita na malém rozměru
nemá paměťový efekt
minimální samovybíjení
nominální napětí 3,7 V
rychlonabíjení až 4 násobkem kapacity článku
Nevýhody:



kapacita klesá i při nepoužívání akumulátoru
vyšší pořizovací cena
časem se zvyšuje tlak uvnitř baterie
3.2.
Regulátor
Dále bylo potřeba odebrat regulátor, který nevyhovoval z důvodu,
že měl integrovaný příjem FM signálu z dálkového ovladače. Ten byl nahrazen ESC regulátorem od výrobce HSP typ ESC320 pro DC motor Johnson 540. Regulátor umožňuje obousměrný chod. Sám si najde středovou pozici. Má ochranu proti přehřátí a kontroluje stav nízké baterie. Jedná se neznámého výrobce z Číny, takže k regulátoru nebylo možné dohledat katalogový list.
Obrázek 3-4 regulátor ESC
Napájecí napětí 4,8 - 8,4 V
Rozměry
34x34,25 mm
Váha
45,5 g
Tabulka 3-1 Parametry ESC regulátoru
6
3.3.
IP kamera
Kamera je použita od společnosti AXIS model 207 Network Camera. Byla vybrána právě
z důvodu, že má dobře zpracované zázemí (SDK) pro jazyk C# i C++. Tedy má již vytvořené třídy pro
nahrávání videa, pořizování snímků i připojení přes WiFi k samotné kameře. Ve své třídě se jedná o
nejlepší volbu a to díky MPEG-4, který má i odhad pohybu. Také může pořizovat obrázky ve formátu
JPEG. Její základ tvoří deska z mikrofonu, která zajišťuje, nejenom nahrávaní videa, ale také zvuku. To
se skvěle hodí právě pro řízení našeho robota. Hlavními parametry pro vybrání kamery byla kvalita
obrazu, a jak se kamera vypořádá s vyššími rychlostmi pohybu, kterých náš robot může dosáhnout.
Nutno dodat, že v naší konstrukci nejde obraz kamery přes Arduino, ale přímo se prostřednictvím
našeho routeru posílá do aplikace v PC. Objektiv kamery má 4 mm v průměru. Horizontální pozorovací úhel je
. Světelná citlivost činí 1-10 000 lux. Časová uzávěrka je v rozsahu od 1/10000 s do 1/2 s.
Samotné video je v MPEG-4 druhé řady, která podporuje normu ISO/IEC 14496-2. Rozlišení je až
640x480, tedy pro naše podmínky zcela dostačující. Rychlost smínkování je až 30 fps. Integrita systému zahrnuje otevřená API v jazyce C#. Funkce pro detekování pohybu a zvuku nebyli využity. Typ
procesoru samotné kamery je ARTPEC-A s pamětí 30 MB typu RAM. Dále obsahuje i 4 MB paměti
typu FLASH. Napájení smí být v rozmezí 4,9, až 5,1 V stejnosměrného napětí s výkonovým omezením
2,5 W. Připojení je zajištěno přes RJ-45 Ethernet 10BASE-T/100BASE-TX kabel. Dále lze připojit
sekundární zdroj napájení. Kamera obsahuje i jeden vstup na alarm. Výrobce udává teplotní rozsah,
ve kterém může kamera pracovat, od 5 do 50 a rozsah vlhkosti okolí od 20 do 80 % RH. Jelikož náš
robot je určen primárně pro ježdění v místnosti je tento teplotní rozsah zcela dostačující. Tento model kamery váží 180 g s průměrem podstavce 80 mm. Výška ohniska kamery od podstavce je 99 mm.
AXIS 207
PC
ROUTER
Arduino
Obrázek 3-5 a) kamera AXIS 207 b) Schéma propojení komunikace
7
Napájecí napětí [V]
4,9 až 5,1
Světelná svítivost [lux]
1 až 10 000
Časová uzávěrka [s]
1/10 000 až 1/2
Výkonové omezení [W]
2,5
Rychlost snímání [fps]
30
Formát videa
MPEG-4
Formát obrázků
JPEG
Rozlišení videa
640x480
Pracovní teplota okolí [ ]
5 až 50
Pracovní vlhkost okolí [%]
20 až 80
Hmotnost [g]
180
Výška ohniska kamery [mm]
99
Tabulka 3-2 Parametry kamery AXIS model 207 [3]
3.4.
WiFi router
Jako router je použitý typ D-Link DAP 1160. Maximální rychlost tohoto modelu je 54 Mbs
podle standartu IEEE 802.11g. Také tento model obsahuje vestavěný DHCP server, který automaticky
přiřazuje IP adresu připojeným klientům. Šifrování podle WPA-PSK/WPA2-PSK zajišťuje 64/128-bit
WEP. Konfigurace je na standardní adrese 192.168.0.50. Uživatel zde najde klasické rozhraní s běžným nastavením. Použitá IP kamera a arduino jsou k tomuto zařízení připojeny přes kabel LAN. Operátor k nim přistupuje pomocí IP adres. Pro dálkové ovládání robota není frekvence 2,5 GHz vhodná,
protože je v dnešní době již hodně rušená. Ovšem pro náš projekt je dostačující. Výstupní hodnoty
pro 802.11b se typicky pohybují okolo 16dBm a pro 802.11g okolo 14dBm.
Napájecí napětí [V]
5
Podporované standardy WiFi
802.11/g/b, 802.3/802.3u
Podporované standardy pro Ethernet
10BASE-T/100BASE-TX
Pracovní frekvence [GHz]
2,4 - 2,4835
Standardy ochrany
WPA-EAP a WPA2-EAP
Rozměry [mm]
144x109x30
Hmotnost [g]
221
Pracovní rozsah teplot [ ]
0 až 55
Pracovní rozsah vlhkosti [%]
10 až 90
Platné certifikáty
FCC třídy B, CE, C-Tick, Wi-Fi
Tabulka 3-3 Parametry D-Link DAP 1160 [8]
3.5.
3.5.1.
Snímače
SRF04-Ultra-Sonic Ranger
Jako přední snímač vzdálenosti byl vybrán ultrazvukový snímač SRF04-Ultra-Sonic Ranger.
Ten byl vytvořen za účelem použití v malých robotech. Vše je navrženo podle kritéria nejnižší ceny. Maximální zesílení pro LM1458 je
1 MHz a maximální zesílení pro 40 kHz je podle výpočtu:
1000000/40000 = 25. O kontrolní funkce se stará PIC12C508. Měření začíná pulsem Trigger (10 ). Následně vysílač vyšle osm pulsů
o frekvenci 40 Hz. Poté čeká na nejnižší echo. Měření času začíná
od vyslání echa a skončí jeho přijetím. Pomocí známého času pulsu
8
Obrázek 3-6 zadní strana snímače SRF04
lze vypočítat vzdálenost překážky. Jestliže puls nedorazí do 36 mS, překážka je označena jako nedetekována. Výstupní amplituda měřeného signálu míří do regulátoru LM311. Ten zajistí čistý výstupní
signál. Protože MAX232 je v průběhu poslouchání Echa vypnutý musí se čekat dalších 10 mS na zpracování došlého signálu.
Tento systém tedy spolehlivě měří od vzdálenosti tří centimetrů. Jde s ním měřit i jeden nebo
dva centimetry, ovšem šířka pulsů je, pro tak malé hodnoty, již minimální. To způsobuje, že nelze
měřit vzdálenost pod jeden centimetr. Maximální měřicí vzdálenost je kolem 3 m. Průměrná spotřeba
proudu je pod 50 mA, typicky ovšem kolem 30 mA. Měření vzdálenosti lze provádět jak v centimetrech, tak ve stopách. Jde tedy pouze o nastavení. Například pokud budeme-li měřit v
a dělit výsledek měření číslem 58 výsledek bude v centimetrech, nebo můžeme dělit číslem 148 a poté bude
výsledek ve stopách [4].
Konstrukčně obsahuje tento snímač 4 nožičky na připojení. Jedna nožička zajišťuje napájení
snímače 5 V a druhá zajišťuje zem. Další dvě se starají o přijímání pulsů z mikrokontroléru a posílání
výsledného pulsu ven. V našem případě je přijímač a vysílač oddělen. Jedná se tedy o dvojhlavý systém. Mechanické provedení použitého snímače je kompaktní.
Obrázek 3-7 a) diagram zobrazující průběh signálu při měření b) schéma zapojení snímače SRF04
Maximální doba měření jednoho pulsu [ms]
36
Spotřeba proudu [mA]
50 (typicky 30)
Měřicí rozsah [cm]
1 až 300
Tabulka 3-4 Parametry snímače SRF04-Ultra-Sonic Ranger [4]
3.5.2.
Sharp GP2Y0A21YK0F
Jako druhý snímač na měření vzdálenosti je použitý infračervený snímač společnosti Sharp
typ GP2Y0A21YK0F. Je umístěný na zadní straně auta,
kde není potřeba měřit tak velké vzdálenosti jako na
přední straně. Tahle jednotka je kombinací PSD (position
sensitive detector) a IRED (infrared emitting diode).
Princip měření je následující. Vnitřní oscilátor dává do
LED pulzy o frekvenci 120 Hz každých 8 ms. Infračervené
diody jsou namířeny stejným směrem a vzájemně vzdáObrázek
3-8
snímač
Sharp leny od sebe jen pár centimetrů. Jedna dioda vysílá inGP2Y0A21YK0F
9
fračervené pulsy a druhá tyto pulsy snímá. Snímaný signál je potřeba zesílit a následně vyhodnotit
špičky tohoto signálu. Vzniklé stejnosměrné napětí je úměrné vzdálenosti objektu [10].
Měřicí rozsah tohoto snímače je dle výrobce 10 cm až 80 cm. Výstup je analogový. Snímač je, co by
do velikosti, malý. Jeho rozměry jsou 29,5x13x13,5 mm. Spotřeba proudu je stanovena na 30 mA a
potřebné napájecí napětí musí být v rozsahu 4,5 až 5,5 V. Vzdálenost pro upozornění operátora je 25
cm. Výstup tohoto snímače je analogový. Připojené napětí je v rozsahu 4,5, až 5,5 V. Teplotní rozsah
je dle výrobce -40 až +70 . Doporučený rozsah pro měření tímto snímačem je -10 až +60 . Pokud
je měřený objekt v maximální měřitelné vzdálenosti je průměrná spotřeba proudu maximálně 40 mA.
Výstupní napětí je tedy v rozsahu 0,25 (pro vzdálenost 10 cm) až 0,55 (pro vzdálenost 80 cm). Výstupní diferenciální napětí, tedy napětí mezi maximální a minimální měřitelnou vzdáleností, je v rozsahu 1,65 až 2,15 V [5].
Časová náročnost prvního měření činí 38,3 ms s chybnou 9,6 ms. Poté hned začne druhé
měření. Ovšem po skončení prvního měření se, do maximálně 5 ms, začne tohle měření vyhodnocovat. Můžeme tedy říci, že od začátku prvního měření máme konečný výsledek po 81,6 ms. Vyhodnocení měření trvá stejně dlouho jako samotné měření.
Obrázek 3-9 graf závislosti výstupního napětí na vzdálenosti překážky
Napájecí napětí [V]
4,5 až 5,5
Spotřeba proudu [mA]
30
Měřicí rozsah [cm]
10 až 80
Rozměry [mm]
29,5x13x13,5
Doporučený rozsah teploty okolí [ ]
-10 až +60
Doba prvního měření [ms]
38,3 9,6
Doba výsledku od začátku prvního měření [ms]
81,6
Tabulka 3-5 parametry snímače společnosti Sharp typ GP2Y0A21YK0F [5]
3.6.
HW-mikrokontrolér Arduino Uno
Arduino je open-source HW platforma založená na mikrokontroléru ATMega od firmy Atmel
a grafickém vývojovém prostředí Arduino IDE (který vychází z prostředí Wiring- Processing). Arduino
IDE je multiplaformní programovací prostředí založené na Javě. Programovací prostředí je velmi jednoduché, a proto je tato platforma tak rozšířená. I začátečník, který umí trochu programovat v C/C++
se podívá na jeden návod a za 15 minut rozbliká LED diodu.
10
Desky arduino obsahují 8bitové
mikrokontroléry z rodiny AVR od firmy Atmel a množství dalších podpůrných
obvodů. Oficiální vydání Arduina, které
vyrábí a prodává Italská firma Smart
Projects, používají čipy ATMega8, ATMega168, ATMega328, ATMega1280 a
ATMega2560. Každá deska má většinu
I/O pinů přístupných přes precizní patice, do kterých se jednoduše připojují
další obvody, kterým ve světě arduina
Obrázek 3-10 deska Arduino Uno R3
říká shieldy. Na deskách bývá několik
diod, resetovací tlačítko, konektory pro ICSP programování, napájecí konektor, oscilátor a obvod
zprostředkovávající komunikaci po USB. Základní verze Arduina, Arduino Uno, poskytuje celkem 14
I/O digitálních pinů a 6 pinů analogových. Šest digitálních pinů je také možné použít na softwarově
řízený PWM výstup.
Hlavní mikrokontrolér, který je uživatelsky programovatelný, již má bootloader (kód, který se po
spuštění postará o základní nastavení mikrokontroléru, jako jsou interní časovače, nastavení rozhraní USART a další) a nastavené potřebné Fuses bajty (těmi se nízko úrovňově nastavují některé vlastnosti čipu). Díky tomu se uživatel nemusí starat o detaily a své programy píše v jazyce podobném
C/C++.(Převzato z [1])
Ačkoliv je Arduino připojeno k počítači pomocí rozhraní USB, je softwarově simulována sériová komunikace přes linku RS-232. Na desce Uno toto obstarává ATMega8U2 s předprogrovaným firmware
(ten je, jako vše ostatní, volně dostupný v podobě zdrojových kódů).
Programuje se zde v jazyce velmi podobném C++. Arduino je zjednodušený mikrokontrolér takže
uživatel nemusí přesně znát registry procesoru, což na jednu stranu usnadňuje práci, proto ti co programují čistá AVR od atmelu dávají od arduina ruce pryč. Na internetu jsou tisíce návodů a knihoven,
které začátečníkovi pomůžou se vším, co je potřeba. K arduino si lze dokoupit spoustu doplňkového
HW jako například ethernet shield nebo driver shield. Pro náš projekt bylo původně vybráno Arduino
MEGA 2560, které disponuje 256 KB paměti, a 56 digitálními vstupy a výstupy a 16 analogovými vstupy. Nakonec je, kvůli velikosti mikrokontroléru, použito Arduino Uno, tedy základní model, který má
32KB paměti flash, 14 digitální vstupů a výstupů a 6 analogových vstupů. Dále je arduino osazeno
ethernet shieldem abychom s ním mohli komunikovat přes UDP pakety. Jedná se o 8bitový mikroprocesor což, jak jsme v průběhu realizace zjistili, není dostačující.
4. Software
4.1.
UDP komunikace
Pro komunikaci mikrokontroléru arduino a Windows Form aplikace v C# je použitý Ethernetový protokol UDP (user datagram protocol). O protokolu UDP je známo, že nedává záruky za da11
tagramy, které přenáší mezi počítači na síti. Někdy je označován jako nespolehlivý. Na rozdíl od protokolu TCP totiž nezaručuje, zda přenášený datagram neztratí, zda se nezmění pořadí doručených
datagramů nebo zda nebude doručen vícekrát.
Protokol UDP je vhodný pro nasazení, které vyžaduje jednoduchost nebo pro aplikace otázka
odpověď. Jeho bezstavovost je vhodná pro aplikace, kde se počítá se ztrátami datagramů. Jako například komunikace PLC protokol MODBUS UDP, DNS, sdílení souborů po LAN. To je také důvod proč i
my jsme vybrali protokol UDP. UDP nevyžaduje handshaking a proto je i výsledná komunikace rychlejší.
+
0
32
64
bity 0-15
zdrojový port
délka
bity 16-31
cílový port
kontrolní součet
data
Tabulka 4-1 bitové složení UDP paketu (převzato z [6])
Popis komunikace, z aplikace v C# se po kliknutí na connect vyšle na příslušnou IP adresu
zpráva: ,,Připojeno“, na druhé straně je arduino, které kontroluje, zda první dva přijaté pakety jsou
„P“ a „r“ je to považováno za začátek komunikace a arduino odpoví stejně, tedy pošle zpátky na IP
adresu odesílatele zprávu „Připojeno“. Normální komunikace probíhá, tak že se pošle znak „Z“ a za
ním 3 místná informace o rychlosti (typicky 100), to samé s rychlostí, kdy se pošle znak „R“ a číslo
100. Arduino tyto informace převezme, zjistí příslušné rychlosti. Zpět do C# pošle zprávu první znak
„I“ za ním 1 char/byte obsahující vzdálenost z infračerveného snímače vzdálenosti a pak znak „U“ a 1
char/byte obsahující vzdálenost z ultrazvukového snímače vzdálenosti. Timeout komunikace je nastaven na 500 ms. Arduino a C# si mezi sebou posílají zprávy každých 30 ms.
4.2.
Arduino
SW pro arduino je psán v programovacím prostředí arduino IDE. Jazyk je podobný C++. Jsou
použity interní knihovny arduina pro SPI rozhraní, Ethernet pro Ethernet Shield a knihovnu pro servo,
která umí generovat 50Hz pulzy pro řízení modelářského serva a modelářského motoru. Program se
skládá ze dvou částí, inicializace (void setup) a nekonečné smyčky (void loop). V inicializace se nastaví
vstupní a výstupní piny, začne komunikaci po ethernete, do serva se pošle inicializační pulz pro nastavení polohy do 0, a motoru také inicializační pulz s nulovou rychlostí. Pro běh programu je potřeba
pseudo-watchdog. Ten funguje tak, že se rychlost nastaví do 0, pokud nepřijde paket od řídicího SW
každých 500 ms. V nekonečné smyčce probíhají tyto události, každý 250 krok smyčky se změří vzdálenost z infračerveného snímače vzdálenosti, každý 300 krok se změří ultrazvukovou vzdálenost. Dále
se ve smyčce kontroluje, zda přišla zpráva z řídící aplikace, pokud ano zprávu je zpracována a vynuluje se Watchdog.
4.3.
C#
Pro tento programovací jazyk jsme se rozhodli z důvodu jeho jednoduchosti pro vytváření
aplikací do operačního systému Windows. Náš program se skládá ze dvou tříd. Jedna, která komunikuje s ovladačem a druhá (hlavní), která řeší vše ostatní. Použili jsme dva Formy, které nám zajišťují
jednoduché, ale dostačující, uživatelské prostředí. Vyřešili jsme zde výstupní hodnoty ze snímačů a z
ovladače, výstup z kamery a celkové přihlašování k autíčku. Pro případ přerušení spojení mezi počítačem a ovladačem lze autíčko řídit i šipkami na klávesnici. Ty lze, ovšem použít jen při odpojení ovladače jinak jsou blokovány.
12
Nalevo můžeme vidět oblast Řízení. Pod ní je násobek rychlosti, ten nám zajišťuje rychlostí
omezení autíčka v násobcích 1, 0,75, 0,5, 0,25. Uživatel si tyhle násobky rychlosti může přepínat přímo při ovládání autíčka a to prostřednictvím šipek na ovladači. Dále si můžeme všimnout čtyř progressbarů. Ty nám ukazují, která hodnota se aktuálně načítá. Z důvodu přesnosti jsou obě hodnoty,
řízení i zatáčení, ukazovány i číselně. Vpravo od oblastí řízení vidíme velkou oblast týkající se připojení
k samotnému autíčku a IP kameře. Co se týče oblasti Připojení Controlleru, tak ta sice zajišťuje potvrzení, že je či není ovladač připojen, ale uživatel to musí zadávat ručně. Tedy musí kliknout na Connect_X nebo Disconnect_X, automatické rozpoznání připojení controlleru v tomto programu není.
Poslední oblastí je samotný výstup z IP kamery. Nad ní jsou výstupy z obou snímačů, které zčervenají,
jestliže jejich naměřená vzdálenost klesne pod 50cm pro ultrazvukový snímač a 25cm pro infračervený snímač.
Obrázek 4-1 ukázka vzhledu řídicí aplikace
Samotné řízení je v C# řešeno dvěma způsoby v závislosti na používaném prostředku. Pokud
uživatel ovládá autíčko prostřednictvím klávesnice je řízení řešeno pomocí mapy řízení. V programu
jsou čtyři globální proměnné typu BOOL, které nabývají hodnoty true od chvíle, kdy je zmáčknutá
klávesa, až do chvíle kdy je klávesa puštěna. Pro tento způsob jsme se rozhodli z toho důvodu, že již
vytvořená funkce od společnosti Microsoft, která řeší stisk kláves, může nabývat pouze jedné hodnoty. Ovšem my pro řízení potřebujeme dvě a právě proto to řešíme tímto způsobem. Poté je zde další
funkce, která přidává či ubírá aktuální hodnoty pro řízení autíčka právě v závislosti na hodnotách True
či False v naší mapě řízení. Ovládání autíčka prostřednictvím ovladače je řešeno přímým přepočtem
hodnot, které z ovladače jdou. Řízení je dané na levou páčku (zatáčení), levý Trigger (brzda) a pravý
Trigger (plyn). Všechny prvky dává na výstup hodnotu typu double 0 až 1, pro levou páčku je to rozsah -1 až 1 v typu double v ose x. Do přepočtu pro aktuální rychlost je zařazena i hodnota z aktuálního násobku maximální rychlosti.
Pro podrobný návod na ovládání slouží vytvořená nápověda přímo v programu. V menu Nastaveni -> Help -> Controller.
13
5. Závěr
Projekt jako celek byl zpracován podle zadání. Sériový modelářský podvozek tamiya TT-01 byl
doplněn nový regulátor, novou řídící elektroniku, kameru, router, a baterii s vyšší kapacitou. Průzkumný mobilní robot je vybaven IP kamerou, která umožňuje operátorovi sledovat a nahrávat prozkoumávané prostředí. Problém nastal s umístěním kamery, která je umístěna příliš vepředu, a tak
operátor nevidí natočení kol. V budoucnu by bylo lepší umístit kameru do zadní části robota. K řízení
je použit, na doporučení vedoucího projektu, ovladač pro konzoli XBOX 360 doplněn o přijímač pro
PC s OS Windows. Ten je v konečném důsledku pro operátora velmi pohodlný. Ovládání je jednoduché
na
použití.
Pro příští realizaci by bylo lepší zvolit výkonnější mikrokontrolér Arduino Due, který má
32bitový mikroprocesor na architektuře ARM, u kterého lze použít ,,RTOS“, a použít vlákna. Ten se
hodí tehdy, pokud chceme zároveň zpracovávat signály ze vstupů a v tu samou dobu komunikovat
přes UDP s nadřazenou aplikací. Z praktického testování bylo zjištěno, že robot sám o sobě neumí
udržet směr (azimut) rovně, bylo by proto dobré doplnit jej o elektromagnetický kompas, který by
uměl udržet zadaný směr řízení. Dále by bylo zajímavé doplnit robota o GPS modul, který by mohl
zaznamenávat trasu. Jako poslední by bylo dobré změnit, nevhodně zvolený WiFi router v pásmu 2,4
GHz, na kterém dnes komunikuje prakticky všechno. Pro příští realizaci by bylo vhodné použít router,
který pracuje v pásmu 5 GHz, které v dnešní době není tak zarušené.
Na projektu jsme se naučili jak pracovat s mikrokotrolérem programovaným v jazyce C++,
ethernetovým protokolem UDP, programováním aplikací pro Windows v C#. Zjistili jsme, že výroba
robota za sebou má spoustu drobností, na které se přijde až v průběhu realizace. Obecně lze říci, že
oblast mobilních robotů je velmi zajímavá a perspektivní. Na mobilním robotovi by bylo možné vytvořit spoustu podružných aplikací jako například model parkovacího asistenta, kterého známe z moderních aut, nebo jej využít pro mapování terénu či jízdu dle zadaných waypointů.
6. Zdroje
[1] Arduino. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia
Foundation, 2001-, 3.4. 2014 [cit. 2014-04-26]. Dostupné z: http://cs.wikipedia.org/wiki/Arduino
[2] Arduino. WARREN, John-David. ARDUINO. Arduino: Homepage [online]. 2014. vyd. New
York, NY: Apress, c2011 [cit. 2014-04-26]. Dostupné z: http://arduino.cc/
[3] AXIS 207 Network Camera. AXIS COMMUNICATIONS. AXIS Communications [online]. 2014.
vyd. [cit. 2014-04-26]. Dostupné z: http://www.axis.com/en/products/cam_207/index.htm
[4] SRF04 Technical Documentation. DEVANTECH LTD. Robot Electronics: Devantech Ltd [online]. 2014. vyd. [cit. 2014-04-26]. Dostupné z: http://www.robotelectronics.co.uk/htm/srf04tech.htm
[5] Sharp: GP2Y0A21YK0F. SHARP. Sharp: Microelectronics of the Americas [online]. 2014.
vyd. [cit. 2014-04-26]. Dostupné z: http://www.sharpsma.com/webfm_send/1489
[6] User datagram protocol [online]. 2014 [cit. 2014-04-27]. Dostupné z:
http://cs.wikipedia.org/wiki/User_Datagram_Protocol
14
[7]Arduino Uno board [online]. 2014 [cit. 2014-04-27]. Dostupné z:
http://arduino.cc/en/Main/ArduinoBoardUno
[8] D-Link: Building Networks for People. D-LINK. User Manual: DAP-1160 [online]. verze 1.30.
2009 [cit. 2014-04-30]. Dostupné z: http://www.dlink.com/cz/cs
[9] Li-Pol akumulátory. [online]. [cit. 2014-05-06]. Dostupné z:
http://cs.wikipedia.org/wiki/Lithium-polymerov%C3%BD_akumul%C3%A1tor
[10] ŠMÍD, David. Infračervený detektor vzdálenosti. HW SERVER S.R.O. HW.cz: Vše o elektrotechnice a programování [online]. 2005, 18. Říjen 2005 [cit. 2014-05-06]. Dostupné z:
http://www.hw.cz/teorie-a-praxe/konstrukce/infracerveny-detektor-vzdalenosti.html
15
7. Přílohy
7.1.
Schéma zapojení robotu
16

Podobné dokumenty

Plný text - Technical University of Liberec

Plný text - Technical University of Liberec neopotřebovávají se. Z tohoto důvodu se běţně vyskytují v zařízeních, pouţívaných v domácnostech nebo podnicích. Jsou často označované jako PIR, „Pasivní infračervený‖, „pyroelektrický‖, nebo „IR p...

Více

průvodce světem

průvodce světem 2.13 Arduino Intel Galileo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Více

bakalářská práce - Informační systém školy

bakalářská práce - Informační systém školy V další kapitole si shrneme získané a aplikované znalosti a zkušenosti, které tato bakalářská práce přinesla. V třetí kapitole bude provedena analýza vhodného hardwaru k měření, popis systému Ardui...

Více

Ako naprogramovať Arduino - mirobozik.sk

Ako naprogramovať Arduino - mirobozik.sk Po stiahnutí inštalačného súboru arduino-1.0.2-windows.zip (v dobe písania tejto knihy bola aktuálna verzia Arduino IDE 1.0.2, vo vašom prípade sa toto číslo môže líšiť), túto následne rozbalíme (r...

Více

Struãn˘ návod k obsluze

Struãn˘ návod k obsluze • Pokud ponecháte fotoaparát se zapnut˘m napájením a po urãitou dobu jej nepouÏíváte (10 minut – pokud jste toto nastavení nezmûnili), fotoaparát pfiejde do úsporného reÏimu a automaticky se vypne k...

Více

Výprodej svítidel

Výprodej svítidel Provedení : podstavec šedý beton / hliník šedý / matakrylát červený

Více

Bakalářská práce Popis programových celků pro tvorbu

Bakalářská práce Popis programových celků pro tvorbu ustálená představa o herním enginu jako o programu zajišťujícím ve hře následující prvky: grafiku animaci zvuk herní fyziku možnosti skriptování umělou inteligenci logiku a herní principy UI/GUI sí...

Více