Studijní program: B2612 / Elektrotechnika a informatika Studijní obor: 1802R022 / Informatika a logistika
Návrh interaktivního softwaru pro vzdálené ovládání mobilních robotů
A Design of Interactive Software for Remote Control of Mobile Robots
Bakalářská práce
Autor: Tomáš Zajíc
Vedoucí práce: Ing. Miroslav Holada, Ph.D.
V Liberci 17. 5. 2013
TECHNICKÁ
Fakulta mechatroniky, informatiky a mezioborových studií Ústav informačních technologií a ele
Z
Jméno a příjmení:
Tomáš Zajíc
Osobní číslo: M10000052 Studijní program: B2612 Studijní obor: 1802R022 /
Název tématu: Návrh interaktivního softwaru pro vzdálené ovládání mobilních robotů
Vedoucí učitel práce: Ing. Miroslav Holada, Ph.D.
1. Seznamte se s problematikou projektu pr školitele.
2. Seznamte se s možnostmi vzdáleného ovládání mobilních robot přenos obrazu z kamer robota, informace z dalších senzor nastavení jednotlivých stav
3. Naprogramujte kompaktní graficky orientovaný sof miniponorky.
4. Realizovaný software prakticky otestujte a diskutujte možnosti spušt různých platformách.
V Liberci dne 6. 10. 2012
2
TECHNICKÁ UNIVERZITA V LIBERCI
Fakulta mechatroniky, informatiky a mezioborových studií
ních technologií a elektroniky Akademický rok: 2012/2013
Zadání bakalá ř ské práce
Tomáš Zajíc
M10000052
B2612 / Elektrotechnika a informatika 1802R022 / Informatika a logistika
Návrh interaktivního softwaru pro vzdálené ovládání mobilních robotů
Ing. Miroslav Holada, Ph.D.
Zásady pro vypracování:
Seznamte se s problematikou projektu průzkumná miniponorka na pracovišti
Seznamte se s možnostmi vzdáleného ovládání mobilních robotů
enos obrazu z kamer robota, informace z dalších senzorů a také zobrazení a nastavení jednotlivých stavů řídícího mikrokontroléru.
Naprogramujte kompaktní graficky orientovaný software pro vzdálené ovládání
Realizovaný software prakticky otestujte a diskutujte možnosti spušt zných platformách.
vedoucí učitel projektu (podpis) ...
UNIVERZITA V LIBERCI
Fakulta mechatroniky, informatiky a mezioborových studií
Akademický rok: 2012/2013
Návrh interaktivního softwaru pro vzdálené ovládání mobilních
zkumná miniponorka na pracovišti
Seznamte se s možnostmi vzdáleného ovládání mobilních robotů. Zaměřte se na ů a také zobrazení a
tware pro vzdálené ovládání
Realizovaný software prakticky otestujte a diskutujte možnosti spuštěni na
itel projektu (podpis) ...
Prohlášení
Byl jsem seznámen s tím, že na mou bakalá zákon č. 121/2000 Sb. o právu autorském, zejména § 60
Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé bakalá
Užiji-li bakalářsko
povinnosti informovat o této skute požadovat úhradu nákladů
Bakalářskou práci jsem vypracoval samostatn a na základě konzultací s vedoucím bakalá
Datum
Podpis
3
známen s tím, že na mou bakalářskou práci se pln 121/2000 Sb. o právu autorském, zejména § 60 – školní dílo.
ědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé bakalářské práce pro vnitřní potřebu TUL.
řskou práci nebo poskytnu-li licenci k jejímu využití, jsem si
povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skute
skou práci jsem vypracoval samostatně s použitím uvedené literatury konzultací s vedoucím bakalářské práce.
skou práci se plně vztahuje
domí, že Technická univerzita v Liberci (TUL) nezasahuje do mých
li licenci k jejímu využití, jsem si vědom ě má TUL právo ode mne jejich skutečné výše.
s použitím uvedené literatury
Pod ě kování
Na tomto místě bych rád pod
vedení bakalářské práce, za poskytnuté informace a cenné rady spoluautorům miniponorky, pán
Štěpánkovi a Davidu Svobodovi miniponorky.
4
ě bych rád poděkoval panu Ing. Miroslavu Holadovi, Ph.
ské práce, za poskytnuté informace a cenné rady. Dále bych rád pod ky, pánům Miroslavu Roubíčkovi, Martinu Peklákovi, pánkovi a Davidu Svobodovi díky kterým jsem se mohl podílet na rozvíjení proje
nu Ing. Miroslavu Holadovi, Ph.D., za odborné . Dále bych rád poděkoval Martinu Peklákovi, Jakubu díky kterým jsem se mohl podílet na rozvíjení projektu
Abstrakt
Návrh interaktivního softwaru pro vzdálené ovládání mobilních robot
ůHlavním cílem této práce
softwarem uvnitř miniponorky. Tento program s co nejjednodušším ovládáním
aktuálních programů pro miniponorku. Vyzkoušet tyto programy nedostatky a vytvořit program pro
odstraní. Program, zabýva podrobněji a vylepšit práci s
Tato práce pojednává ovládání. Zaměřuje se na př a nastavení jednotlivých stav
kompaktně graficky orientovaným softwarem pro vzdálené ovládání m byl hlavním cílem této práce,
Požadovaný software v rámci této bakalářské práce tvořen v rámci jiné bakalá v miniponorce. Finálním
a vytvořit tak software, který bude schopen ovládat miniponorku a ze senzorů integrovaných v
Celý software byl Visual Studio 2008.
Klíčová slova: miniponorka, klient, server
5
Návrh interaktivního softwaru pro vzdálené ovládání mobilních
této práce bylo vytvoření programu pro komunikaci s ř miniponorky. Tento program měl být graficky a uživatelsky co nejjednodušším ovládáním. Avšak nejdříve bylo nutné seznámit se s
ů pro miniponorku. Vyzkoušet tyto programy na poč program pro komunikaci s miniponorkou, který tyt zabývající se přenosem videa z webkamery, bylo potř ji a vylepšit práci s obrazem.
Tato práce pojednává nejdříve o robotech a možnostech uje se na přenos obrazu z kamer robota, informace ze jednotlivých stavů řídícího mikrokontroléru. V hlavní č graficky orientovaným softwarem pro vzdálené ovládání m byl hlavním cílem této práce, a na závěr praktickým otestováním samotného
Požadovaný software se skládá ze dvou podprogramů. Jeden program byl tvo řské práce - měl komunikovat s miniponorkou a ovládat ji
rámci jiné bakalářské práce a zajišťoval přenos obrazu
cílem této práce bylo oba tyto podprogramy spojit do jednoho it tak software, který bude schopen ovládat miniponorku a zárove
integrovaných v miniponorce, obraz nebo záznamy videa z sepsán v jazyce C++ za pomoci vývojového prost
miniponorka, klient, server
Návrh interaktivního softwaru pro vzdálené ovládání mobilních
ení programu pro komunikaci s řídícím graficky a uživatelsky přívětivý íve bylo nutné seznámit se s hlavní koncepcí na počítači, zjistit jejich který tyto nedostatky bylo potřeba prozkoumat
možnostech jejich vzdáleného senzorů, zobrazení hlavní části se zabývá graficky orientovaným softwarem pro vzdálené ovládání miniponorky, který
samotného softwaru.
ů. Jeden program byl tvořen miniponorkou a ovládat ji. Druhý byl obrazu z webkamery cílem této práce bylo oba tyto podprogramy spojit do jednoho zároveň přijímat data
miniponorky.
prostředí Microsoft
Abstract
A Design of Interactive Software for Remote Control of Mobile Robots
The main objective of this work was control software inside
friendly with easy navigation. However, at first it was necessary to main concepts of the current programs for
on computer, find all their weakness submersibles without all these weakness of the submersibles was necessa
Firstly, this work discuss It focuses on the transmission of
sensors, display and settings each status of the contr deals with compact graphically
which was the main objective of this work software.
The required software is composed of two sub created in this work and it should communicate with
second one was created in another work and it ensures the transmission of image out of webcam in submersibles
and to create software, which will be able to control the time accept data from sensors integrated in the
of submersibles.
All software was
environment Microsoft Visual Studio 2008.
Keywords: Submersibles, client, server
6
A Design of Interactive Software for Remote Control of Mobile
objective of this work was to create a program for communication with control software inside submersibles. The program should be graphically and
easy navigation. However, at first it was necessary to
he current programs for submersibles. Try these programs , find all their weaknesses and create a program for communication with without all these weaknesses. The program for transmission of video out
was necessary to examine and improve the image.
Firstly, this work discusses about robots and possibilities their remote control.
focuses on the transmission of images out of cameras of robot, information from sensors, display and settings each status of the control microcontroller. The main part
with compact graphically oriented software for remote control of
which was the main objective of this work and at the end deals with practical test of the
software is composed of two sub-programs. The first one was created in this work and it should communicate with submersibles and control it. The second one was created in another work and it ensures the transmission of image out submersibles. Final objective of this work was to combine these programs create software, which will be able to control the submersibles
time accept data from sensors integrated in the submersibles, image or record of video out
was written in C++ language by using interactive development environment Microsoft Visual Studio 2008.
, client, server
A Design of Interactive Software for Remote Control of Mobile
a program for communication with should be graphically and user easy navigation. However, at first it was necessary to acquaint with the . Try these programs and create a program for communication with The program for transmission of video out
their remote control.
images out of cameras of robot, information from ol microcontroller. The main part oriented software for remote control of submersibles, end deals with practical test of the
programs. The first one was and control it. The second one was created in another work and it ensures the transmission of image out Final objective of this work was to combine these programs submersibles and at the same , image or record of video out
by using interactive development
Obsah
Prohlášení ...
Poděkování ...
Abstrakt ...
Abstract ...
Obsah ...
Seznam obrázků ...
Seznam ukázek ...
Seznam použitých zkratek Úvod ...
1 Základní informace o projektu pr
1.1 Historie průzkumné miniponorky 1.2 Řízení a ovládání miniponorky
2 Seznámení se s možnostmi ovládání robot
2.1 Základní dělení robot 2.2 Senzory a jejich rozd
2.3 Základní principy ovládání robot 2.4 Přenos obrazu z kamer robota
2.4.1 Přenos obrazu p 2.4.2 Komunikace s 2.4.3 Komunikace s
3 Kompaktní graficky orientovaný software pro vzdálené ovládání
miniponorky ...
3.1 Komunikace klient 3.2 Historie programů
3.2.1 Původní program psaný v 3.2.2 První komunika
3.3 Program pro přenos obrazu z webkamery 3.3.1 Testování programu pro p
3.3.2 Vylepšení programu pro p 3.4 Program pro komunikaci s
3.4.1 Navržení programu klienta pro ovládání miniponorky 7
...
...
...
...
...
...
...
Seznam použitých zkratek ...
...
Základní informace o projektu průzkumná miniponorka ...
ůzkumné miniponorky ...
ízení a ovládání miniponorky ...
možnostmi ovládání robotů ...
ělení robotů ...
Senzory a jejich rozdělení ...
Základní principy ovládání robotů ...
kamer robota ...
enos obrazu přes telefon s Wi-Fi ...
Komunikace s roboty na vysokou vzdálenost ...
Komunikace s roboty přes rozhraní LAN ...
Kompaktní graficky orientovaný software pro vzdálené ovládání ...
Komunikace klient-server ...
Historie programů pro průzkumnou miniponorku a jejich nedostatky program psaný v jazyce pascal ...
První komunikační program do miniponorky psaný v jazyce C++
řenos obrazu z webkamery...
Testování programu pro přenos obrazu z webkamery ...
Vylepšení programu pro přenos obrazu z webkamery ...
Program pro komunikaci s miniponorkou - klient ...
Navržení programu klienta pro ovládání miniponorky ...
... 3
... 4
... 5
... 6
... 7
... 9
... 9
... 10
... 11
... 12
... 14
... 15
... 16
... 16
... 17
... 17
... 18
... 18
... 19
... 20
Kompaktní graficky orientovaný software pro vzdálené ovládání ... 21
... 21
zkumnou miniponorku a jejich nedostatky ... 23
... 23
jazyce C++ ... 24
... 24
... 25
... 26
... 28
... 28
3.4.2 Grafická realizace programu klienta pro ovládání miniponorky 3.4.3 Programovací č
3.4.4 Programovací č 3.4.5 Programovací č 3.4.6 Programovací č 3.4.7 Programovací č 3.5 Program pro komunikaci s
3.5.1 Navržení programu serveru pro ovládání miniponorky
3.5.2 Grafická realizace programu serveru pro ovládání miniponorky 3.5.3 Programovací č
3.6 Finální verze programu pro ovládání pr 3.6.1 Cíl finální verze programu
3.6.2 Grafický design finální verze programu 3.6.3 Programovací č
4 Praktické otestování programu
Závěr ...
Použitá literatura a zdroje informací Přílohy ...
Příloha A – Přiložené CD
Příloha B – Design finální verze programu
8
Grafická realizace programu klienta pro ovládání miniponorky Programovací část programu pro ovládání miniponorky – Programovací část programu pro ovládání miniponorky – Programovací část programu pro ovládání miniponorky – Programovací část programu pro ovládání miniponorky – Programovací část programu pro ovládání miniponorky –
Program pro komunikaci s miniponorkou – server ...
Navržení programu serveru pro ovládání miniponorky ...
Grafická realizace programu serveru pro ovládání miniponorky Programovací část programu serveru ...
Finální verze programu pro ovládání průzkumné miniponorky
Cíl finální verze programu ...
Grafický design finální verze programu ...
Programovací část finální verze programu ...
Praktické otestování programu ...
...
Použitá literatura a zdroje informací ...
...
řiložené CD...
Design finální verze programu ...
Grafická realizace programu klienta pro ovládání miniponorky ... 29
– připojení ... 31
– výpis dat ... 32
– ovládání... 32
– konstanty ... 34
– odeslání ... 35
... 36
... 36
Grafická realizace programu serveru pro ovládání miniponorky ... 36
... 37
zkumné miniponorky ... 38
... 38
... 39
... 40
... 42
... 43
... 44
... 46
... 46
... 46
Seznam obrázk ů
Obr. 1: Průzkumná miniponorka
Obr. 2: PICAXE 18M2 ...
Obr. 3: Ilustrační obrázek robotického ramene
Obr. 4: Robot připojený k telefonu, který je ovládán pomocí Wi Obr. 5: Ilustrační obrázek robota
Obr. 6: Schéma fungování komunikace klient
Obr. 7: Náhled programu napsaného v jazyce pascal a vývojovém prost Obr. 8: Názorný obrázek př
Obr. 9: Názorná ukázka možnoností nastavení obrazu z webkamery Obr. 10: Náhled na program pro ovládání miniponorky v serverovém Obr. 11: První grafický a funk
Obr. 12: Program serveru pro ovládání miniponorky Obr. 13: Finální verze programu pro ovládání miniponorky Obr. 14: Design ovládací č
Obr. 15: Fullscreen obrazu s
Seznam ukázek
Ukázka 1: Připojení k serveru Ukázka 2: Odeslání dat na server Ukázka 3: Ovládání pomocí tla Ukázka 4: Ovládání pomocí tla
Ukázka 5: Volání procedury pro poslání dat na server Ukázka 6: Příklad uložení konstant v programu Ukázka 7: Odesílání dat na server
Ukázka 8: Zobrazení obrazu z p
Ukázka 9: Volání procedury „SetObrazLabel“ a vytvo
9
ů
zkumná miniponorka ...
...
ní obrázek robotického ramene [5] ...
řipojený k telefonu, který je ovládán pomocí Wi-Fi [7] ...
ní obrázek robota na Marsu [10] ...
Obr. 6: Schéma fungování komunikace klient-server [13] ...
Obr. 7: Náhled programu napsaného v jazyce pascal a vývojovém prostř Obr. 8: Názorný obrázek předchozí verze software, který ovládal miniponorku
: Názorná ukázka možnoností nastavení obrazu z webkamery ...
Obr. 10: Náhled na program pro ovládání miniponorky v serverovém softwaru Obr. 11: První grafický a funkční návrh pro program klienta ...
Obr. 12: Program serveru pro ovládání miniponorky ...
inální verze programu pro ovládání miniponorky ...
Obr. 14: Design ovládací části finálního softwaru ...
Obr. 15: Fullscreen obrazu s návrhem designu ...
ipojení k serveru...
Ukázka 2: Odeslání dat na server ...
Ukázka 3: Ovládání pomocí tlačítek v programu ...
Ukázka 4: Ovládání pomocí tlačítek na klávesnici...
Ukázka 5: Volání procedury pro poslání dat na server...
íklad uložení konstant v programu...
Ukázka 7: Odesílání dat na server ...
Ukázka 8: Zobrazení obrazu z původního klienta v mém programu...
Ukázka 9: Volání procedury „SetObrazLabel“ a vytvoření nové události doubleclick
... 12
... 15
... 16
... 18
... 19
... 22
Obr. 7: Náhled programu napsaného v jazyce pascal a vývojovém prostředí delphi ... 23
edchozí verze software, který ovládal miniponorku ... 24
... 25
softwaru ... 27
... 29
... 37
... 39
... 46
... 47
... 31
... 32
... 33
... 34
... 34
... 35
... 35
... 40
ení nové události doubleclick .... 41
Seznam použitých zkratek
API Application Programming Interface DSN Deep Space Network
HDD Hard Disc Drive IP Internet Protocol LAN Local Area Network LED Light-Emitting Diode MSL Mars Science Laboratory
NASA National Aeronautics and Space Administration a kosmonautiku
PC Personal Computer
PLC Programmable Logic Controller USB Universal Serial Bus
10
m použitých zkratek
Application Programming Interface – rozhraní pro programování aplikací Deep Space Network – síť hlubokého vesmíru
Hard Disc Drive – pevný disk
Protocol – internetový protokol Local Area Network – lokální síť
Emitting Diode – dioda emitující světlo
Mars Science Laboratory – Marsovská vědecká laboratoř National Aeronautics and Space Administration - národní ú a kosmonautiku
Personal Computer – osobní počítač
Programmable Logic Controller – programovatelný logický automat Universal Serial Bus – univerzální sériová sběrnice
rozhraní pro programování aplikací
decká laboratoř
árodní úřad pro letectví
rogramovatelný logický automat
Úvod
Celá tato bakalář
miniponorka je rozsáhlý projekt, jehož cílem je vytvo ze souše jakýmkoli PC s ovládacím softwarem,
nebo pod ní v libovolném sm
uživatele, přijímat tak příkazy, které stavu se nachází, fotografie a
z integrovaných senzorů jako jsou stav baterií, teplota nebo úhel Tento mobilní robot by mohl být jednou v
a jejich mapování.
V současné době se miniponorky využívají v činnosti. Velice užitečné jsou u policejních útvar průzkum dna, potopených lodí nebo nalezených je využíváno tam, kde je to pro
se dostat z důvodu malých nebo neznámých prostor jeskyní.
Projekt je tvořen již n
stále schopnější robot a vše se blíží k na ovládání robota přes síť
pro ovládání miniponorky a získávání dat a informací nazp mít jasné grafické rozhraní.
Při tvorbě softwaru bylo využito vývojové prost a testování programů probíhalo pod
od firmy Microsoft.
11
bakalářská práce se týká průzkumné miniponorky.
miniponorka je rozsáhlý projekt, jehož cílem je vytvoření mobilního robota
ovládacím softwarem, schopného pohybovat se na vodní hladin v libovolném směru. Miniponorka by měla být schopná re
říkazy, které následně vykoná a odesílat informace o tom , fotografie a videozáznam z webkamery spolu s
ů jako jsou stav baterií, teplota nebo úhel náklonu Tento mobilní robot by mohl být jednou využíván při průzkumu dna rybník
ě se miniponorky využívají v mnoho odvětvích čné jsou u policejních útvarů pro vyšetřování dna, potopených lodí nebo nalezených starých korábů
využíváno tam, kde je to pro člověka nebezpečné nebo tam, kam je velice obtížné vodu malých nebo neznámých prostor, například při zkoumání zatopen
řen již několik let bakalářskými a diplomovými pra
jší robot a vše se blíží k finálnímu stavu. Tato práce se zabývá softwarem řes síťové rozhraní. Software by měl mít všechny
pro ovládání miniponorky a získávání dat a informací nazpět z miniponorky. Vše by m mít jasné grafické rozhraní.
ě softwaru bylo využito vývojové prostředí Microsoft Visual Studio 2008 ů probíhalo pod systémem Windows 7 Profes
onorky. Průzkumná mobilního robota, ovládaného schopného pohybovat se na vodní hladině schopná reagovat na podněty informace o tom, v jakém spolu s dalšími daty náklonu miniponorky.
dna rybníků a nádrží
mnoho odvětvích a pro různé ování. V mořích pro korábů. Miniponorek , kam je velice obtížné ři zkoumání zatopených
skými a diplomovými pracemi a tak vzniká Tato práce se zabývá softwarem l mít všechny náležitosti vhodné t z miniponorky. Vše by mělo
edí Microsoft Visual Studio 2008 Windows 7 Professional 64bit CZ
1 Základní informace o projektu pr miniponorka
Průzkumná miniponorka je plavidlo, které je schopné se pohybovat jak na vody, tak i pod vodou. Miniponorka
zařízení, které je používáno pro zkoumání umístěný na břehu vody.
Miniponorku je možné
Hlavní část tvoří žlutý dutý kvádr, v pro ovládání miniponorky.
mikrokontrolér Picaxe, balastní komo k napájení celé miniponorky v
Druhou část tvoří
prostorového rovnoběžníku, který je vp je umístěná klasická notebooková webkam před ponorkou v průběhu ponoru.
Jako třetí část je možné ozna miniponorky. V těchto trubkách
roztočením uvádí celou miniponorku do pohybu. Vrtule použité jako a užší a tak nemají příliš vysoký hnací výkon.
12
Základní informace o projektu pr ů zkumná
ponorka je plavidlo, které je schopné se pohybovat jak na , tak i pod vodou. Miniponorka má rozměry asi 70x50x40 cm. Jedná se o ízení, které je používáno pro zkoumání čistších vod a je ovládáno p
je možné rozdělit na tři základní části:
žlutý dutý kvádr, v němž se nachází veškerá elektronika pro ovládání miniponorky. Uvnitř je umístěna základní deska z mikrokontrolér Picaxe, balastní komory, čerpadla a hlavně také 2 bateri
miniponorky v provozu.
komora připevněná k hlavní části vpředu. Tato komora má tvar ěžníku, který je vpředu vybaven plexisklem. Za plexisklem ná klasická notebooková webkamera, která je používána ke snímá
ů ěhu ponoru.
je možné označit dvě trubky, které jsou umíst
ěchto trubkách jsou připevněny motory s vrtulemi, které svým celou miniponorku do pohybu. Vrtule použité jako
říliš vysoký hnací výkon.
Obr. 1: Průzkumná miniponorka
zkumná
ponorka je plavidlo, které je schopné se pohybovat jak na hladině Jedná se o robotické e ovládáno přes počítač
veškerá elektronika důležitá a základní deska z notebooku, baterie, které slouží
ředu. Tato komora má tvar n plexisklem. Za plexisklem era, která je používána ke snímání prostředí
trubky, které jsou umístěny vespod vrtulemi, které svým celou miniponorku do pohybu. Vrtule použité jako pohon jsou slabší
Na vrchu hlavní části miniponorky se nachází úchyt, díky kterému se s dobře manipuluje v případě
ventilek, který umožňuje
model je dobře utěsněn a neobsahuje žádné trhliny, voda a tím dojít k nevratnému poškození za a pomocí redukce lze použít jakýko
miniponorky.
Jak už je uvedeno
ve kterých jsou umístěny motory a jejich vrtule, které uvádí ponorku do pohybu.
jež jsou kolem vrtulí, zvyšuj
kamenů či větších nečistot pod vodou. Mezi drobné problémy takovéhoto sestavení trubek, motorů a vrtulí je možnost vtékaní ne
trubek byly mřížky, které pr Mřížky se rychle zanesly a
Na komoře umístěné v
diod. Na spodním okraji je instalováno najdeme níže. Ty jsou urč
světelných zdrojů, není intenzita sv obrazu, který snímá kamera.
s největší pravděpodobností došlo k umístěny a tak došlo ke zkratu.
V tomto roce byly do ponorky p
vylepšit její ovládání, pohyb a pomoci tak vytvo schopen vypořádat se vším, co ho p
je integrace dvou balastních komor místo jedné. Díky tomuto vylepšení bude ponorka schopna se pod vodou naklán
vertikální poloze. Obě komory se budou moci napoušt
a tím bude jen na uživateli, jak bude tato novinka využita. Dále byl do ponorky integrován akcelerometr, díky
nakloněna, přesně o kolik stup
vypouštět jednu či druhou balastní komoru.
13
Na vrchu hlavní části miniponorky se nachází úchyt, díky kterému se s řípadě přenosu nebo přemístění. Dále je zde možné
před ponorem zvýšit tlak uvnitř plavidla a tak se ujistit, že celý ě ěn a neobsahuje žádné trhliny, kterými by mohla d
nevratnému poškození zařízení miniponorky. Ventilek je použít jakýkoliv kompresor, který vytvoří potř
uvedeno výše, pod hlavní částí plavidla se nachází dv ěny motory a jejich vrtule, které uvádí ponorku do pohybu.
jsou kolem vrtulí, zvyšují jejich výkon a chrání je před vnějším nebezpe
čistot pod vodou. Mezi drobné problémy takovéhoto sestavení a vrtulí je možnost vtékaní nečistot do trubky a její ucp
é právě vtékaní nečistot bránily, ale vznikl a efektivita pohonu se snížila na minimum.
ře umístěné v přední části hlavního modulu je možné vid Na spodním okraji je instalováno šest LED diod pro osvětlení.
jsou určeny jako hlavní světlo. Bohužel i při použití velkého množství není intenzita světla dostačující a nepřináší tedy př
snímá kamera. V současné době je většina LED diod mimo provoz, protože ěpodobností došlo k prosáknutí vody do prostoru, kde jsou LED diody ny a tak došlo ke zkratu.
tomto roce byly do ponorky přidány nové komponenty a senzory, které by m pohyb a pomoci tak vytvořit komplexnějšího robota, který
vším, co ho při zkoumání dna rybníků čeká. Hlavním p
integrace dvou balastních komor místo jedné. Díky tomuto vylepšení bude ponorka hopna se pod vodou naklánět a tak bude snazší pohyb v horizontální a zárove
ě komory se budou moci napouštět a vypouštět nezávisle na sob bude jen na uživateli, jak bude tato novinka využita. Dále byl do ponorky
lerometr, díky němuž bude možné sledovat, jak je miniponorka ě o kolik stupňů a podle toho bude možné reagovat a napoušt
či druhou balastní komoru.
ásti miniponorky se nachází úchyt, díky kterému se s ní velice je zde možné nalézt také plavidla a tak se ujistit, že celý by mohla do ponorky natéct iniponorky. Ventilek je galuskový potřebný tlak uvnitř
ástí plavidla se nachází dvě trubky, ny motory a jejich vrtule, které uvádí ponorku do pohybu. Trubky, ějším nebezpečím v podobě istot pod vodou. Mezi drobné problémy takovéhoto sestavení istot do trubky a její ucpání. Na koncích tím jiný problém.
ásti hlavního modulu je možné vidět několik LED ětlení. Více LED diod ři použití velkého množství ináší tedy příliš velké zlepšení tšina LED diod mimo provoz, protože vody do prostoru, kde jsou LED diody
ponenty a senzory, které by měly ějšího robota, který se bude ů čeká. Hlavním přínosem integrace dvou balastních komor místo jedné. Díky tomuto vylepšení bude ponorka horizontální a zároveň t a vypouštět nezávisle na sobě bude jen na uživateli, jak bude tato novinka využita. Dále byl do ponorky jak je miniponorka a podle toho bude možné reagovat a napouštět nebo
1.1 Historie pr ů
Projekt průzkumná miniponorka vznikl Cílem tohoto dlouhodobého projektu je
prací seznámit studenty s
které se pohybují po zemi, hledají cestu z
všech školách mnoho, tento projekt se zabývá robotem, který se bude pohybovat pod vodou. Projekt průzkumná min
a v následující části bude popsáno
Práce a projekty v
Jiroušek Petr: Průzkumná miniponorka Oliva Jan: Průzkumná miniponorka Peklák Martin: Průzkumná miniponorka Roubíček Miroslav: Průzkumná miniponorka
Práce a projekty v
Peklák Martin: Návrh elektronické výbavy experimentální dálkov mini
Roubíček Miroslav: Návrh konstrukce experimentální dálkov miniponorky
Vričan Ondřej: 3D Vizualizace pr
Práce a projekty v
Peklák Martin: Projekt miniponorka Svoboda David: Projekt miniponorka
Štěpánek Jakub: Elektronická výbava mobilního robota Zajíc Tomáš: Projekt miniponorka
Práce a projekty v Svoboda David: Návrh
Peklák Martin: Systém vyvažování pr
Zajíc Tomáš: Návrh interaktivního softwaru pro vzdálené ovládání mobilních robotů
14
Historie pr ů zkumné miniponorky
ůzkumná miniponorka vznikl díky Ing. Miroslavu Holadovi, Ph.D.
Cílem tohoto dlouhodobého projektu je prostřednictvím bakalářských nebo diplomových vývojem mobilních robotů a jejich ovládání
se pohybují po zemi, hledají cestu z bludiště nebo manipulují svým ramenem , tento projekt se zabývá robotem, který se bude pohybovat pod ůzkumná miniponorka byl vytvořen v akademickém
bude popsáno, jak je postupně vyvíjen.
Práce a projekty v akademickém roce 2009/2010:
Průzkumná miniponorka – návrh a realizace ovládacího softwaru Průzkumná miniponorka – návrh a realizace kamerového systému Průzkumná miniponorka – návrh a realizace systému napájení Průzkumná miniponorka – návrh a realizace elektropohonu
akademickém roce 2010/2011:
Návrh elektronické výbavy experimentální dálkově miniponorky
Návrh konstrukce experimentální dálkově řízené pr miniponorky
3D Vizualizace průzkumné miniponorky
akademickém roce 2011/2012:
Projekt miniponorka – možnosti statického a dynamického Projekt miniponorka – nízkoúrovňový řídící software Elektronická výbava mobilního robota
Projekt miniponorka – grafický ovládací terminál
akademickém roce 2012/2013:
Návrh řídícího systému pro ovládání mobilních robot Systém vyvažování průzkumné miniponorky
Návrh interaktivního softwaru pro vzdálené ovládání mobilních robotů
díky Ing. Miroslavu Holadovi, Ph.D.
řských nebo diplomových a jejich ovládáním. Jelikož robotů, nebo manipulují svým ramenem, je na , tento projekt se zabývá robotem, který se bude pohybovat pod en v akademickém roce 2009/2010
návrh a realizace ovládacího softwaru návrh a realizace kamerového systému návrh a realizace systému napájení návrh a realizace elektropohonu
Návrh elektronické výbavy experimentální dálkově řízené
ě řízené průzkumné
dynamického řídící software
grafický ovládací terminál
cího systému pro ovládání mobilních robotů
Návrh interaktivního softwaru pro vzdálené ovládání mobilních
1.2 Ř ízení a ovládání miniponorky
Základní prvek, který ovládá o klasické PC, notebook, ale také
programování je velice jednoduché a logické
a notebook jsou velice rychlé a není obtížné využití v PLC a mikrokontroléry jsou
a tak nebyl problém integrovat základní desku z V některých případech je velice v V projektu miniponorka bylo využito práv miniponorky tuto variantu umož
z notebooku od firmy HP. Ta m porty, integrovanou síťovou
XP od firmy Microsoft a do systému byly nahrány ovlada
miniponorky. Dále zde byly nainstalovány programy nutné pro spušt jako je server, webkamera, a další podp
právě díky integrované síť
Uvnitř miniponorky se dále nacházel mikrokontrolér PICAXE 18M2.
mikrokontrolér je často používán v Podporuje až 16 vstupů
input/output piny, a paralelní úkoly Kombinací notebo
kdyby byl použit pouze mikrokontrolér nebo
15
ízení a ovládání miniponorky
Základní prvek, který ovládá každého robota, je počítač. M klasické PC, notebook, ale také o PLC nebo starší mikrokontrolé programování je velice jednoduché a logické, jak už vyplývá z názvu PLC. Po
notebook jsou velice rychlé a není obtížné využití v praxi. Problém je jejich velikost, jsou menší. Miniponorka je však dostatečně prostorov
tak nebyl problém integrovat základní desku z notebooku.
řípadech je velice výhodné zkombinovat ně tu miniponorka bylo využito právě této možnosti, protože velikost pr
tuto variantu umožňovala. Do miniponorky byla posazena
notebooku od firmy HP. Ta měla pouze nejzákladnější vybavení, jako je HDD, USB ťovou kartu a podobně. Na HDD byl nainstalován systém Windows XP od firmy Microsoft a do systému byly nahrány ovladače pro za
miniponorky. Dále zde byly nainstalovány programy nutné pro spuště
mera, a další podpůrný software. S miniponorkou se komunikovalo díky integrované síťové kartě a rozhraní LAN (RJ-45).
miniponorky se dále nacházel mikrokontrolér PICAXE 18M2.
často používán v projektech pro svou velikost
e až 16 vstupů/výstupů, rozšířené funkce, jako jsou konfigurovatelné paralelní úkoly. [3]
Kombinací notebooku a mikrokontroléru byl vytvořen komplexn kdyby byl použit pouze mikrokontrolér nebo pouze notebook.
Obr. 2: PICAXE 18M2
čítač. Může se jednat o PLC nebo starší mikrokontroléry, jejichž názvu PLC. Počítač praxi. Problém je jejich velikost, čně prostorově řešena
kombinovat několik zařízení.
protože velikost průzkumné posazena základní deska jší vybavení, jako je HDD, USB Na HDD byl nainstalován systém Windows če pro zařízení uvnitř miniponorky. Dále zde byly nainstalovány programy nutné pro spuštění komunikace, miniponorkou se komunikovalo
miniponorky se dále nacházel mikrokontrolér PICAXE 18M2. Tento a vhodné funkce.
ené funkce, jako jsou konfigurovatelné
řen komplexnější robot, než
2 Seznámení se s
V této části je popsáno, jakým zp způsobem fungují. V případě
a jak přesně bude fungovat, aby bylo možné program co nejlépe napsat a vyladit.
2.1 Základní d ě
První roboti byli
nebyl schopen nijak reagovat na aktuální podmínky a neob čidla. Naopak dnešní roboti se vyráb
reagovat na okolní podmínky a
je možné roboty rozdělit podle jejich pohybu. Za
Stacionární roboti nejsou schopni pohybu. Do této skupiny robot manipulátory, které plní svou úlohu a nepot
Příklad takového robota vidíme na obrázku níže. Úkolem tohoto pohybovat ramenem a tak není t
Obr. 3
Z toho vyplývá, že druhým typem robot
Tito roboti se během své práce mohou pohybovat. Takovým zajímavým p určitě roboti na Marsu. Cílem t
pohybu neobejdou. Dalším p
16
Seznámení se s možnostmi ovládání robot ů
ásti je popsáno, jakým způsobem jsou ovládáni podobní roboti a jakým řípadě programování robotů je nutné vědět, jak se bude
bude fungovat, aby bylo možné program co nejlépe napsat a vyladit.
Základní d ě lení robot ů
ovládáni pomocí pevného neboli statického
nebyl schopen nijak reagovat na aktuální podmínky a neobsahoval žádné senzory nebo Naopak dnešní roboti se vyrábějí s různými čidly a senzory a tak jsou schopni reagovat na okolní podmínky a tím jsou mnohem schopnější než jejich p
ělit podle jejich pohybu. Zaprvé mohou být roboti stacionární Stacionární roboti nejsou schopni pohybu. Do této skupiny robotů
manipulátory, které plní svou úlohu a nepotřebují se přemisťovat z íklad takového robota vidíme na obrázku níže. Úkolem tohoto
a tak není třeba pohybu z místa na místo. [4]
3: Ilustrační obrázek robotického ramene [5]
toho vyplývá, že druhým typem robotů jsou mobilní neboli pohybliví roboti.
ěhem své práce mohou pohybovat. Takovým zajímavým p Marsu. Cílem těchto robotů je zkoumání povrchu Marsu a pohybu neobejdou. Dalším příkladem mobilního robota je určitě
možnostmi ovládání robot ů
podobní roboti a jakým se bude pohybovat, bude fungovat, aby bylo možné program co nejlépe napsat a vyladit.
neboli statického programu, který sahoval žádné senzory nebo dly a senzory a tak jsou schopni jší než jejich předchůdci. Dále být roboti stacionární.
Stacionární roboti nejsou schopni pohybu. Do této skupiny robotů patří průmyslové ťovat z místa na místo.
íklad takového robota vidíme na obrázku níže. Úkolem tohoto robota je pouze
ilní neboli pohybliví roboti.
hem své práce mohou pohybovat. Takovým zajímavým příkladem jsou je zkoumání povrchu Marsu a proto se bez íkladem mobilního robota je určitě tento projekt.
Průzkumná miniponorka, jak už z dna vodních ploch a nádrží a t
dvěma roboty je takový, že robot na Marsu se pohybuje po souši za úpln gravitačních podmínek, než
nebo pod vodou, kde je nutné vyvažování pomocí balastních komor, aby nedo k samovolnému vynoření a tím
Další možností, jak rozlišovat roboty pohyb může být kloubový úhlový a kloubový ot Roboty je také možné rozdě
autonomní nebo inteligentní.
2.2 Senzory a jejic
Senzory jsou obecně
fungují na jednoduchém principu. M
převádí na signál, který odešlou a tento signál je zpracován v systémech. Nejčastěji se jedná o elektrický signál. Typy senzor měřené veličiny, media
fyzikálního principu, druhu styku s stupně integrace. Jako příklady senzor
snímač výšky hladiny a další. Tyto senzory se nachází i v
2.3 Základní principy ovládání robot
V předchozích kapitolách byly popsány základní principy robot způsobem se liší a jak fungují.
než je možné robota ovládat, je nutné znát, jak funguje a jaké má vlastnosti. Ovládání robotů může probíhat nespoč
není jen o tom dát mu příkaz, který má vykonat, ale také je dobré získat pomocí robota nějaké informace z okolí, ve kterém se práv
kamery a další zařízení, které z míst, kam by bylo pro člově
17
onorka, jak už z názvu vyplývá, by měla být používána pro zkoumání dna vodních ploch a nádrží a tudíž se bez pohybu také neobejde. Rozdíl mezi t
ma roboty je takový, že robot na Marsu se pohybuje po souši za úpln ních podmínek, než jsou na Zemi a miniponorka se pohybuje na hladin
e je nutné vyvažování pomocí balastních komor, aby nedo ření a tím přerušení průzkumu dna. [4]
jak rozlišovat roboty, je podle způsobu jejich pohybu.
ový úhlový a kloubový otočný nebo teleskopický a posuvný je také možné rozdělit do skupin podle toho, zda jsou řízeni, ovlád
autonomní nebo inteligentní. [4]
Senzory a jejich rozd ě lení
Senzory jsou obecně brány jako zdroje informací pro řídící systém. Senzory jednoduchém principu. Měří nějakou fyzikální veličinu, kterou následn evádí na signál, který odešlou a tento signál je zpracován v měř
ěji se jedná o elektrický signál. Typy senzorů mů
iny, media sloužícího k přenosu signálu (elektrické, pneumatické,…), fyzikálního principu, druhu styku s prostředím (dotykové, bezdotykové) nebo podle
říklady senzorů je možno uvést snímač teploty, sníma výšky hladiny a další. Tyto senzory se nachází i v průzkumné miniponorce.
Základní principy ovládání robot ů
edchozích kapitolách byly popsány základní principy robot liší a jak fungují. Všechny tyto informace jsou velice důležité, protože d než je možné robota ovládat, je nutné znát, jak funguje a jaké má vlastnosti. Ovládání
že probíhat nespočtem možných způsobů. Základní myšlenka ovl
není jen o tom dát mu příkaz, který má vykonat, ale také je dobré získat pomocí robota okolí, ve kterém se právě nachází. K tomu slouží
řízení, které je díky programům možné ovládat a kam by bylo pro člověka obtížné se dostat.
používána pro zkoumání Rozdíl mezi těmito ma roboty je takový, že robot na Marsu se pohybuje po souši za úplně jiných jsou na Zemi a miniponorka se pohybuje na hladině vody e je nutné vyvažování pomocí balastních komor, aby nedošlo
ůsobu jejich pohybu. Tento ný nebo teleskopický a posuvný.
, ovládáni, regulováni,
cí systém. Senzory činu, kterou následně měřících a řídících ů můžeme měřit podle elektrické, pneumatické,…), edím (dotykové, bezdotykové) nebo podle č teploty, snímač naklonění, zkumné miniponorce. [6]
edchozích kapitolách byly popsány základní principy robotů, jakým ůležité, protože dříve než je možné robota ovládat, je nutné znát, jak funguje a jaké má vlastnosti. Ovládání . Základní myšlenka ovládání robotů íkaz, který má vykonat, ale také je dobré získat pomocí robota slouží právě senzory, ovládat a také posílat data
2.4 P ř enos obrazu z
Nejdříve je nutné se podívat na to, jak m až k uživateli. Je mnoho rů
ho zpracovávat. Základní rozdíly jsou v v samotném přenosu, který
využít přenosu dat přes kabel USB, pomocí rozhraní LAN, vzduchem p využitím rádiových vln.
rozhraní LAN, ale do budoucna se o
vodou a tak by mohla být realizována bezdrátová komunikace s
2.4.1 P
řenos obrazu p
Jednou z možností jak pracovat s
který podporuje wifi. Základem je mít nainstalo s obrazem a jeho odeslání
Obraz lze díky tomuto programu posílat po všech dostupných kanálech v
Při použití těchto zařízení za nastavení nižšího rozlišení (400x240 nebo 320x240) dochází k velmi malému zpoždění (100
Obr. 4: Robot př
V projektu miniponorka se také plánuje ovládání a p ale bohužel tento způsob
vodou a tak by nebylo možné se s
18
enos obrazu z kamer robota
íve je nutné se podívat na to, jak můžeme přenášet obraz z různých způsobů, jak se vzdáleně k obrazu z
Základní rozdíly jsou v zařízení, které je pro přenos enosu, který je pro získání dat využíván. Pří komunikaci s
řes kabel USB, pomocí rozhraní LAN, vzduchem p
V tomto projektu je prozatím využívána komunikace p o budoucna se očekává využití rádiových vln, které lze posílat i pod vodou a tak by mohla být realizována bezdrátová komunikace s miniponorkou.
ř
enos obrazu p
řes telefon s Wi-Fi
možností jak pracovat s obrazem robota je za použití mobilního telefonu, . Základem je mít nainstalovaný program, který bude schopen obrazem a jeho odesláním. Jako příklad je možné uvést program WebCamera P Obraz lze díky tomuto programu posílat po všech dostupných kanálech v
řízení za nastavení nižšího rozlišení (400x240 nebo 320x240) dochází ění (100-150ms). [7]
připojený k telefonu, který je ovládán pomocí W
projektu miniponorka se také plánuje ovládání a přenos informací vzduchem, ůsob není možný. Důvodem je, že signál wifi
vodou a tak by nebylo možné se s miniponorkou pod hladinou nijak spojit.
řenášet obraz z robota robota dostat, a jak řenos využíváno nebo ří komunikaci s robotem lze es kabel USB, pomocí rozhraní LAN, vzduchem přes wifi nebo tomto projektu je prozatím využívána komunikace přes diových vln, které lze posílat i pod
miniponorkou.
obrazem robota je za použití mobilního telefonu, vaný program, který bude schopen práce íklad je možné uvést program WebCamera Plus.
Obraz lze díky tomuto programu posílat po všech dostupných kanálech včetně wifi.
ízení za nastavení nižšího rozlišení (400x240 nebo 320x240) dochází
efonu, který je ovládán pomocí Wi-Fi [7]
řenos informací vzduchem, vodem je, že signál wifi se špatně šíří pod norkou pod hladinou nijak spojit.
2.4.2 Komunikace s
Roboti, které je třeba ovládat nebo z tak blízko, jak by se dalo č
na 156 milionů kilometrů vzdálenou planetu Mars. Roboti jsou na takovou vzdálenost ovládáni pomocí sítě hlubokého
které získávají obrázky z laboratoře MSL, která je umíst
laboratoř, která zpracovává prvky a chemické slou
na Zemi přes DSN a tak je možné díky tomuto robotovi získávat informace o prost z míst, kam by bylo obtížné se dostat a to díky možnosti komunikovat p
na vzdálenost 156 milionů
Obr.
Na obrázku 5 vidíme robota na Marsu. Program, který ho ovládá je n aby robot popojížděl po povrchu Marsu a sám vyhledával
obrázku vidět, tak je vybaven robotickou rukou s
a nad robotem je umístěna kamera, která vše zachycuje a p který robota ovládá, musí být co nejp
na tak vysokou vzdálenost. Jediná chyba v
a proto je nutné vývoj ovládacího programu nezanedbat a k podmínkám ve kterých se bude nacházet.
19
Komunikace s roboty na vysokou vzdálenost
oboti, které je třeba ovládat nebo z nich získávat důležité informace, nemusí být jak by se dalo čekat. Americká společnost NASA poslala již n
kilometrů vzdálenou planetu Mars. Roboti jsou na takovou vzdálenost ě hlubokého vesmíru DSN. Obsahují dvě dvoumegapixelové
které získávají obrázky z Marsu a dále je posílají přes DSN do Marsovské v
která je umístěna na Zemi. Robot na Marsu dále obsahuje chemickou , která zpracovává prvky a chemické sloučeniny na Marsu a vše op
a tak je možné díky tomuto robotovi získávat informace o prost o obtížné se dostat a to díky možnosti komunikovat př
na vzdálenost 156 milionů kilometrů. [8], [9]
Obr. 5: Ilustrační obrázek robota na Marsu [10]
vidíme robota na Marsu. Program, který ho ovládá je n ěl po povrchu Marsu a sám vyhledával objekty ke zkoumání
t, tak je vybaven robotickou rukou s již zmiňovanou chemickou laborato ěna kamera, která vše zachycuje a poté je vše odesláno
který robota ovládá, musí být co nejpřesnější, protože dodatečně už je
na tak vysokou vzdálenost. Jediná chyba v programu by mohla znamenat obrovské škody a proto je nutné vývoj ovládacího programu nezanedbat a udělat co nejpř
podmínkám ve kterých se bude nacházet.
roboty na vysokou vzdálenost
ležité informace, nemusí být nost NASA poslala již několik robotů vzdálenou planetu Mars. Roboti jsou na takovou vzdálenost dvoumegapixelové kamery, do Marsovské vědecké na na Zemi. Robot na Marsu dále obsahuje chemickou iny na Marsu a vše opět posílá zpět a tak je možné díky tomuto robotovi získávat informace o prostředí o obtížné se dostat a to díky možnosti komunikovat přes vesmírnou síť
vidíme robota na Marsu. Program, který ho ovládá je napsán tak, objekty ke zkoumání. Jak je na ovanou chemickou laboratoří je vše odesláno. Program, č ě už je obtížné ho upravit programu by mohla znamenat obrovské škody ělat co nejpřesněji vzhledem
Největším problémem komunikace s na kterou komunikuje, přináší.
v závislosti na poloze Marsu v
neustále vysílány na Zemi. Toto zpožd
na Zemi vidíme, kde se robot nacházel minimáln problému vychází rizika tako
ho včas zastavit. Proto program, který je v reagovat na povrchové podmínky
dostatečně pomalý, aby bylo možné ho v Bakalářská práce je v
s miniponorkou neustále v
zpožděním a tak může jako uživatel
by mohly nastat. Další výhodou této práce je, že miniponorka nacházet a nemusí
Nevýhodou miniponorky je špatná viditelnost pod vodou, viditelnosti, jako je tomu na Marsu.
2.4.3 Komunikace s
LAN neboli lokální sí je přenosová rychlost, která Ethernet a Wi-Fi. [11]
Projekt miniponorka využívá práv technologii Ethernet, protože Wi
rozhraní je velice rychlé a díky malému právě pro komunikaci s
komunikaci mohou zprostř komunikací s roboty.
Nevýhodou u této komunikace je je například u miniponorky problém s celého pohybu. Možným
například pomocí polystyrenu. Tímto zlepšením kabel odpor při pohybu.
20
tším problémem komunikace s tímto robotem je zpoždění, které , přináší. Toto zpoždění je minimálně 8 minut a
oze Marsu vůči zemi. Komunikace je pomocí rádiových vln, které jsou neustále vysílány na Zemi. Toto zpoždění má obrovský vliv na ovládání, protože zde
Zemi vidíme, kde se robot nacházel minimálně před osmi minutami. Z
zí rizika taková, že robot se může přiblížit k útesu a už není možné as zastavit. Proto program, který je v robotovi nainstalován,
reagovat na povrchové podmínky a včas se všem rizikům vyhnout aby bylo možné ho včas zastavit a poslat jiným smě ská práce je v tomto směru mnohem jednodušší, protože orkou neustále v kontaktu a ví co se právě děje uvnitř i vn
ůže jako uživatel okamžitě reagovat na problémy a chyby, které nastat. Další výhodou této práce je, že je přesně známo prostř
miniponorka nacházet a nemusí být řešena jiná gravitace, jako je to u robot
Nevýhodou miniponorky je špatná viditelnost pod vodou, kde se těžko docílí perfektní na Marsu.
Komunikace s roboty p
řes rozhraní LAN
LAN neboli lokální síť je vlastně počítačová síť na malém území. Výhodou enosová rychlost, která dosahuje řádově až GB/s. Nejrozšířenější technologie jsou
Projekt miniponorka využívá právě síťové komunikace LAN
technologii Ethernet, protože Wi-Fi nemá pod vodou dostatečný dosah signálu
rozhraní je velice rychlé a díky malému zpoždění při posílání dat a obrazu je vhodné miniponorkou. Lze využít Windows API funkcí, které tuto komunikaci mohou zprostředkovávat. Komunikace LAN je jedna z
Nevýhodou u této komunikace je kabel, který musí mít robot p íklad u miniponorky problém s odporem kabelu ve vodě a dochází k
ým řešením tohoto problému je nadlehčení kabelu nad hladinu íklad pomocí polystyrenu. Tímto zlepšením kabel není pod vodou a není
ění, které vzdálenost, 8 minut a může být i vyšší diových vln, které jsou ní má obrovský vliv na ovládání, protože zde ed osmi minutami. Z tohoto útesu a už není možné musí být schopný m vyhnout, anebo musí být as zastavit a poslat jiným směrem. [8], [9]
ru mnohem jednodušší, protože je uživatel ř i vně s minimálním problémy a chyby, které prostředí, kde se bude , jako je to u robotů na Marsu.
ěžko docílí perfektní
na malém území. Výhodou ř ější technologie jsou
ové komunikace LAN a konkrétně čný dosah signálu. Toto i posílání dat a obrazu je vhodné miniponorkou. Lze využít Windows API funkcí, které tuto edkovávat. Komunikace LAN je jedna z nejpoužívanějších
kabel, který musí mít robot připojen a tak ě a dochází k brzdění čení kabelu nad hladinu, vodou a není tak velký
3 Kompaktní graficky orientovaný software pro vzdálené ovládání miniponorky
Hlavním cílem této bakalá orientovaného softwaru
program, díky kterému bude moci uživatel ovládat miniponorku a bude p z webkamery, která se v
program co nejvíce uživatelsky p
co se v miniponorce děje, jak se pohybuje ze senzorů, které jsou v ponorce
přehledný, takže by nemě
ovládáno tlačítky v programu nebo na klávesnici.
napsáno, že má být vytvoř
sebou nějakým způsobem komunikovat.
rozhraní LAN a jedná se o komunikaci klient
3.1 Komunikace klient
Jak už je psáno výše, v síťová architektura, která odd
Klient a server spolu komunikují p
komunikace musí obsahovat jak server, tak i klienta.
Klient-serve
kdy první program (klient) žádá o služby druhý program (server).
posílat data jednomu nebo i n
žádosti zpracovávat a vracet požadovanou informaci zp obsahuje pouze dvě části a to serverovou a klientskou.
Základní charakteristika klienta:
- Klient je aktivní
- Posílá žádosti na server - Je připojen k
- Čeká a dostává odpov - Komunikuje
21
Kompaktní graficky orientovaný software pro vzdálené ovládání miniponorky
Hlavním cílem této bakalářské práce bylo vytvoření kompaktního
pro vzdálené ovládání miniponorky. To znamená napsat program, díky kterému bude moci uživatel ovládat miniponorku a bude p
v miniponorce nachází. Vše mělo být vytvoř program co nejvíce uživatelsky příjemný, to znamená, aby byl přehledný a by
miniponorce děje, jak se pohybuje, a byly zobrazeny dů
ponorce integrovány. Program by měl být jednoduchý a graficky ehledný, takže by nemělo být složité se v něm okamžitě orientovat. Vše by
programu nebo na klávesnici. Jelikož je v názvu bakalá napsáno, že má být vytvořen interaktivní software, vyplývá z toho, že bud
ůsobem komunikovat. Celý tento software komunikuje p se o komunikaci klient – server.
Komunikace klient-server
Jak už je psáno výše, v této práci se uplatňuje komunikace klient
odděluje klienta, který je obvykle graficky uživatelský, a serv Klient a server spolu komunikují přes počítačovou síť. Z toho vyplývá, že tato komunikace musí obsahovat jak server, tak i klienta.
server realizuje komunikaci mezi dvěma počítač
kdy první program (klient) žádá o služby druhý program (server). Každý klient m posílat data jednomu nebo i několika připojeným serverům. Servery naopak mohou tyto žádosti zpracovávat a vracet požadovanou informaci zpět klientům.
ě části a to serverovou a klientskou. [12]
charakteristika klienta:
Klient je aktivní
Posílá žádosti na server
řipojen k malému počtu serverů eká a dostává odpovědi
kuje přímo s koncovými uživateli díky grafickému rozhraní
Kompaktní graficky orientovaný software pro
ření kompaktního graficky o znamená napsat program, díky kterému bude moci uživatel ovládat miniponorku a bude přijímat video být vytvořeno tak, aby byl řehledný a bylo jasné vše, byly zobrazeny důležité parametry ěl být jednoduchý a graficky orientovat. Vše by mělo být názvu bakalářské práce toho, že bude software mezi Celý tento software komunikuje přes síťové
komunikace klient-server. Je to ky uživatelský, a server.
toho vyplývá, že tato
čítačovými programy, Každý klient může m. Servery naopak mohou tyto ům. Klient-server tedy
uživateli díky grafickému rozhraní [12]
Základní charakteristika serveru:
- Server je pasivní
- Naslouchá na síti a reaguje na žádosti p - Po přijetí požadavku jej obslouží - Může vzdálen
klientům [12
Obr. 6: Schéma fungování komunikace klient Hlavní výhodou komunikace klient
počítače a tak je zde mnohem snadn opravit, modernizovat nebo p
je, že jsou všechny údaje uloženy na serverech, které jsou mnohem bezpe většina klientů. Servery mohou kontrolovat p
přistupovat a měnit data mohou jen n problém s přetěžováním sítě
Výhody však převažují nad nevýhodami a tak v miniponorky byla právě komunikace klient
že v miniponorce je integrován
je možné komunikovat pomocí rozhraní LAN a vše nastavit p V miniponorce probíhá komunikace p
miniponorky jsou na pevném disku nainstalovány programy (servery) a k se připojují programy, které mají uživatelé na b
servery dva. První server, který je v
zprostředkování odesílání dat, která obsahují videozáznam zaznamená webkamera, která je umíst
v miniponorce zprostředkovává zasílání dat ze senzor samotné miniponorky.
22 Základní charakteristika serveru:
Server je pasivní
Naslouchá na síti a reaguje na žádosti připojených klientů řijetí požadavku jej obslouží
ůže vzdáleně instalovat/odinstalovat aplikace a přenášet data ke 12]
: Schéma fungování komunikace klient-server [13 komunikace klient-server je, že jsou úkoly rozdě e a tak je zde mnohem snadnější údržba. Díky tomuto je možné opravit, modernizovat nebo přemístit, aniž by to ovlivnilo funkci klientů je, že jsou všechny údaje uloženy na serverech, které jsou mnohem bezpe
. Servery mohou kontrolovat přístup a zdroje a z
nit data mohou jen někteří oprávnění klienti. Mezi hlavní nevýhody pat žováním sítě. [12]
řevažují nad nevýhodami a tak v rámci projektu pr ě komunikace klient-server použita. Je využita
miniponorce je integrována základní deska z notebooku se síťovým p
možné komunikovat pomocí rozhraní LAN a vše nastavit přes vzdálenou plochu miniponorce probíhá komunikace přesně ve smyslu rozhraní klient
miniponorky jsou na pevném disku nainstalovány programy (servery) a k
ipojují programy, které mají uživatelé na břehu (klienti). V ponorce se nachází servery dva. První server, který je v miniponorce se stará o přenos videa,
odesílání dat, která obsahují videozáznam dění před miniponorkou zaznamená webkamera, která je umístěna v přední části plavidla. Druhý server
ředkovává zasílání dat ze senzorů v miniponorce a ipojených klientů
řenášet data ke
13]
je, že jsou úkoly rozděleny mezi různé jší údržba. Díky tomuto je možné server nahradit, aniž by to ovlivnilo funkci klientů. Další výhodou je, že jsou všechny údaje uloženy na serverech, které jsou mnohem bezpečnější než ístup a zdroje a z toho vyplývá, že Mezi hlavní nevýhody patří
rámci projektu průzkumné Je využita zvláště z důvodu, ťovým připojením a tak řes vzdálenou plochu.
klient-server. Uvnitř miniponorky jsou na pevném disku nainstalovány programy (servery) a k těmto serverům ponorce se nachází nos videa, to znamená, ě řed miniponorkou, což ásti plavidla. Druhý server miniponorce a dále ovládaní
3.2 Historie program nedostatky
V této části bakalář
dříve, a bude zde popsáno, jak fungovaly Každá část bude doplněna obr
software byl napsán v jazyce pascal, zbylé programy byly psány už jen v
3.2.1 P
ůvodní program psaný v
Jak už bylo zmíně
2009/2010, byl napsán v jazyce pascal v velice jednoduchý a přehledný. Uživatel se p
od něho video z webkamery, která nahrávala vše co probíhalo pomocí kláves nebo pomocí
Obr. 7: Náhled programu napsaného v jazyce pascal a Nevýhodou tohoto programu je práv
je vytvořen speciálně pro výukové pot pro roboty. Dalším nedostatkem jsou
23
Historie program ů pro pr ů zkumnou miniponorku a jejich nedostatky
ásti bakalářské práce budou zmíněny programy, které byly již napsány popsáno, jak fungovaly, a jaké byly důvody jejich dalšího
ěna obrázkem, který bude reprezentovat daný program.
jazyce pascal, zbylé programy byly psány už jen v ů
vodní program psaný v jazyce pascal
zmíněno, první software, který byl napsán v akademickém jazyce pascal ve vývojovém prostředí delphi. Tento program byl řehledný. Uživatel se připojil k serveru v miniponorce a p
webkamery, která nahrávala vše co se děje před plavidlem. Ovládání íhalo pomocí kláves nebo pomocí tlačítek, které byly v programu př
Náhled programu napsaného v jazyce pascal a vývojovém prost
Nevýhodou tohoto programu je právě jazyk, ve kterém je psaný. Tento jazyk ě pro výukové potřeby a tak není nejvhodnější pro psaní program Dalším nedostatkem jsou tlačítka, která nejsou nejlépe řešená
zkumnou miniponorku a jejich
ny programy, které byly již napsány vody jejich dalšího vylepšování.
daný program. První jazyce pascal, zbylé programy byly psány už jen v jazyce C++.
akademickém roce delphi. Tento program byl miniponorce a přijímal řed plavidlem. Ovládání
připraveny.
vývojovém prostředí delphi jazyk, ve kterém je psaný. Tento jazyk
ější pro psaní programů řešená, protože použité
„CheckBoxy“ jsou pro uživatele nep
obrázek nebo text který by oznamoval aktuální pohyb nebo stav. Velkým problémem tohoto programu byla nedostate
by v praxi mohlo docházet k
miniponorkou. Ale i přes tyto chyby a nedostatky byl tento program p a cílem tedy bylo vytvořit podobný program v
3.2.2 První komunika v jazyce C++
V loňském roce byl
který byl schopný komunikovat na bázi klient
jednoduchý a nebyl připraven pro další vylepšování. Funk ovládací, to znamená, že klient pouze odes
žádosti. Komunikace probíhala pomoc síťovou komunikaci. Přenos videa byl p v tomto programu dále pokra
Obr. 8: Názorný obrázek p Grafickou úpravu toho projekt. Na levé straně obrázku je vid
straně obrázku. Na serveru vidíme text, který zna nebo jaký úkon právě vykonává. V
a vše je zde za pomocí obrázku odlišené.
to šipka směřující stejným znázornilo se to na obrazcích v
3.3 Program pro p
V následující části této bakalá z webkamery v miniponorce
24
jsou pro uživatele nepřehledné a nejasné a bylo by lepší p
obrázek nebo text který by oznamoval aktuální pohyb nebo stav. Velkým problémem tohoto programu byla nedostatečná stabilita, protože nefungovalo vše jak má a tak házet k výpadkům, které by mohly znamenat ztrátu kontroly nad
řes tyto chyby a nedostatky byl tento program p řit podobný program v jazyce C++.
První komunika
ční program do miniponorky jazyce C++
roce byl v rámci bakalářského projektu napsán software
který byl schopný komunikovat na bázi klient-server. Tento program však byl pouze řipraven pro další vylepšování. Funkčnost softwaru byla jen ovládací, to znamená, že klient pouze odesílal data serveru v ponorce a ten vykonal žádosti. Komunikace probíhala pomocí Windows socketu (winsock), který zajiš
řenos videa byl přes tuto komponentu nejistý a tak nebylo možné tomto programu dále pokračovat.
Názorný obrázek předchozí verze software, který ovládal miniponorku Grafickou úpravu tohoto programu jsem dělal osobně jako sv
ě obrázku je vidět server, který přijímá žádosti od klienta na pravé obrázku. Na serveru vidíme text, který značí, jakým směrem se ponorka pohybuje
ě vykonává. V klientovi také vidíme vše co
zde za pomocí obrázku odlišené. Pokud se ponorka pohybovala, nazna stejným směrem. Pokud čerpadla napouštěla nebo vypoušt na obrazcích v klientovi. Stejným způsobem fungovala
pro p ř enos obrazu z webkamery
části této bakalářské práce je popsán program
webkamery v miniponorce. Cílem bylo prozkoumat program pro posílání videa é a nejasné a bylo by lepší přidat nějaký obrázek nebo text který by oznamoval aktuální pohyb nebo stav. Velkým problémem ná stabilita, protože nefungovalo vše jak má a tak ztrátu kontroly nad es tyto chyby a nedostatky byl tento program pěkně sestaven
do miniponorky psaný
napsán software v jazyce C++, server. Tento program však byl pouze čnost softwaru byla jen ponorce a ten vykonal indows socketu (winsock), který zajišťoval es tuto komponentu nejistý a tak nebylo možné
ftware, který ovládal miniponorku ě jako svůj bakalářský ijímá žádosti od klienta na pravé ěrem se ponorka pohybuje se v ponorce děje Pokud se ponorka pohybovala, naznačovala ěla nebo vypouštěla, sobem fungovala i světla.
pro přenos obrazu Cílem bylo prozkoumat program pro posílání videa