Simluátor Trilobota. (projekt do předmětu ROB)

Podobné dokumenty
Vytvoření bootovatelného média

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

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

SEMESTRÁLNÍ PROJEKT Y38PRO

Rocrail. Nejprve: Obecný úvod. Instalace

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

Základní typy struktur výpočetních systémů

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

Dispatcher PDA Dokumentace

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

Vývoj SW pro mobilní zařízení s ios. Petr Hruška, Skymia s.r.o. Teorie a praxe IP telefonie,

Komunikace s automaty MICROPEL. správa systému lokální a vzdálený přístup do systému vizualizace, umístění souborů vizualizace

Ladění ovladačů pomocí virtuálního stroje...2 Úvod...2 Ladění ovladačů pomocí dvou fyzických počítačů...2 Ladění ovladačů pomocí jednoho fyzického

FORTANNS. 22. února 2010

Ročníkový projekt DYNAMICKÉ HTML. Projektová dokumentace. Jan Ehrlich, Petr Marek, Tomáš Marván, Martin Paľo. Vedoucí projektu: RNDr.

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

Matematika v programovacích

Instalace a konfigurace web serveru. WA1 Martin Klíma

Principy operačních systémů. Lekce 1: Úvod

Prostředky automatického řízení Úloha č.5 Zapojení PLC do hvězdy

Úvod do Linuxu. SŠSI Tábor 1

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Pokročilé architektury počítačů

Uživatelská příručka

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

P R E Z E N T A C E Max Communicator 9

POSTUP NAHRÁNÍ SOFTWAROVÝCH ROZŠÍŘENÍ DO OBCHODNÍ PLATFORMY METATRADER 4 PRO UŽIVATELE MS WINDOWS

VirtualBox desktopová virtualizace. Zdeněk Merta

Radim Dolák Gymnázium a Obchodní akademie Orlová

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Nápověda k aplikaci EA Script Engine

KRY. Projekt č. 2. Kamil Dudka xdudka00

Simulace TCP - Didaktická akční hra

Uživatelský manuál A4000BDL

Střední odborná škola a Střední odborné učiliště, Hořovice

Emulátor psaní SMS na mobilním telefonu. (projekt do předmětu ITU)

Použití programu uscope k simulaci výukového přípravku pro předmět PMP

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

Nástroje pro vývoj software

Uživatelská příručka

Technická specifikace

INSTALACE SOFTWARE A AKTIVACE PRODUKTU NÁVOD

QTREE-DUMX4 Vícekanálový multiplexer pro připojení měřidel Mitutoyo na USB port PC Uživatelská příručka. Řízení jakosti podle norem ISO 9000

Software pro vzdálenou laboratoř

Střední odborná škola a Střední odborné učiliště, Hořovice

Karel Bittner HUMUSOFT s.r.o. HUMUSOFT s.r.o.

3D sledování pozice vojáka v zastavěném prostoru a budově

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Operační systémy. Cvičení 1: Seznámení s prostředím

Emulátory. Autor: Martin Fiala. Spouštění programů a her z jiných OS nebo jiných platforem. InstallFest

Využití systému Dynamips a jeho nástaveb pro experimenty se síťovými technologiemi Petr Grygárek

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

INSTALACE BlueFRITZ! USB

Technologie počítačových sítí

PRO K206 Kompletní letecký elektronický systém

1. Podmínky chodu aplikace

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Jak programovat Tinykeyer?

PROSTŘEDKY AUTOMATICKÉHO ŘÍZENÍ Úloha č. 4 Hierarchická struktura řízení

TDP RPort 1.0. uživatelská příručka. 12. července 2007 Na slupi 2a, Praha 2

A4300BDL. Ref: JC

ZÁKLADNÍ POKYNY PRO INSTALACI PROID+ Z INSTALAČNÍHO MÉDIA

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

Příloha č. I: Schéma zapojení vývojové desky PVK-PRO

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Virtualizace na Linuxu

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

Vzdálený přístup k počítačům

Arduino Martin Friedl

Uživatelská příručka

1 Uživatelská dokumentace

úvod Historie operačních systémů

OPS Paralelní systémy, seznam pojmů, klasifikace

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Pokročilé architektury počítačů

Instalace a připojení čtečky čipových karet v systému CryptoPlus Eval

Ope p r e a r čn č í s ys y té t m é y y Windo d w o s Stručný přehled

Jan Kratochvíl, F 3 MOD. 15. února 2004

Instalace Debianu pomocí debootstrap

Program pro tvorbu technických výpočtů. VIKLAN - Výpočty. Uživatelská příručka. pro seznámení se základními možnostmi programu. Ing.

Profesionální služby kolem Linuxu

Software Eurotel mobile PhoneTools umožňuje komunikaci s moduly Siemens MC 35 Terminal / MC 35i Terminal (dále jen Siemens modul).

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

Paralelní výpočty ve finančnictví

Projekt implementace OS Linux do výuky informačních technologií

CineStar Černý Most Praha

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

VIRTUALBOX INSTALACE OS

Systémy pro sběr a přenos dat

LINUX - INSTALACE & KONFIGURACE

Záznam dat Úvod Záznam dat zahrnuje tři základní funkce: Záznam dat v prostředí třídy Záznam dat s MINDSTORMS NXT

Virtualizace v architekturě počítačů Virtualization in architecture of computers

EXTRAKT z technické normy ISO

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

Seznámení s prostředím dot.net Framework

Transkript:

Simluátor Trilobota (projekt do předmětu ROB) Kamil Dudka Jakub Filák xdudka00 xfilak01 BRNO 2008

1 Úvod Jako školní týmový projekt jsme si zvolili simulátor trilobota 1 a jeho prostředí. Simulátor komunikuje s aplikacemi pomocí virtuálního sériového portu. Komunikující aplikace na druhé straně portu tedy neví, že komunikují se simulátorem místo skutečného robota. Tento přístup má několik výhod: Práce se simulátorem je stejně jednoduchá jako práce s robotem. Není potřeba nijak zasahovat do kódu stávajících aplikací. Aplikace používající simulátor mohou běžet na jiném operačním systému. Simulaci robota a jeho prostředí jsme se snažili udělat co nejvíce věrohodnou a do simulace jsme záměrně zahrnuli některé chyby, které se vyskytují při práci se skutečným robotem (prokluz kol apod.). 2 Návrh 1 Trilobot je typ robota. Obrázek 1: Konceptuální schéma simulátoru 1

Simulátor se skládá z několika částích, které jsou na sobě téměř nezávislé. Klíčovým prvkem celého systému je virtuální sériový port zmíněný výše. Ten je součásti linuxového (případně FreeBSD) jádra a v terminologii jádra se mu říká pseudoterminál (PTY). Jeho úloha je znázorněna na obr. 1. Pseudoterminál vidí uživatelský proces jako pár zařízení. Na jedno zařízení (master) je napojen proces simulátoru, který řídí komunikaci. Na druhé stranu (slave) se mohou připojovat aplikace pro řízení robota. Ty mohou se zařízením pracovat přímo, pokud se jedná o linuxové aplikace. Aplikace, které jsou původně napsané pro jiné platformy mohou se simulátorem komunikovat pomocí emulace (wine) nebo virtualizace (VMware). Speciálním typem klientské aplikace je terminál, což je program patřící k našemu projektu. Tento terminál umožňuje se simulátorem komunikovat textem a to ve dvou módech. Prvním módem je skriptovací režim, který je vhodný pro ovládání robota jednoduchými skripty např. skript demo.sh, který je součástí projektu, také používá terminál a jeho skriptovací režim. Naopak interaktivní režim je vhodný pro interakci s uživatelem. V tom případě je k dispozici historie příkazů dříve zadaných, ve které je možné zpětně vyhledávat. Poslední částí simulátoru je vizualizátor, který je oddělený od simulátoru naslouchajícího na virtuálním portu. Procesy simulátoru a vizualizátoru tedy mohou např. běžet na různých strojích, přičemž je zajišťována komunikace relativně úsporným protokolem posílají se pouze inkrementální změny stavu robota (rychlost, poloměr zatáčky, stav odometru,...) a plánované události (srážka s překážkou,...). Princip simulace chování robota je založen na hierarchickém DEVS formalismu. Rootkoordinátorem celého simulátoru je třída Trilobot. Tak jak ve skutečnosti se simulátor trilobota skládá z několika komponent, které ovlivňují trilobotovo chování. Na rozdíl od hierarchického DEVS v našem simulátoru neexistují žádné viditelné propojení mezi komponentami. Komponenty však mohou s ostatními komponentami komunikovat díky tomu, že simulátor má veřejnou množinu komponent. Dalším rozdílem mezi naším simulátorem je to, že zpracování událostí se provádí pouze při příchodu externí události. Náš simulátor tedy nikdy nevykonává interní události, ale veškeré jeho chování, které je způsobeno externí událostí, se musí vytvořit do budoucnosti. To znamená, že se musí vykonat všechny interní události, naplánované po externí události, dokud jsou nějaké plánované. Model simulátoru je znázorněn na obrázku 2. Chování robota v prostředí simulátoru odpovídá chování robota v reálném prostředí. Jednotlivé komponenty trilobota napodobují chyby, které se vyskytují i ve skutečném trilobotovi. Odpovídající odchylky mezi tím, co bylo trilobotovi zadáno, a tím, co skutečně vykonal, jsme změřili v labora- 2

Obrázek 2: Stručný náčrt modelu simulátoru toři a také jsme využili výsledků z práce Trilobot Control, František Zbořil. Námi naměřené výsledky jsou uvedeny v tabulce 1. Tabulka 1: Výsledky měření v laboratoři 3 Sestavení a instalace Simulátor trilobota je implementován v jazyce C++ s využitím několika volně dostupných knihoven. V aktuální verzi je přeložitelný na systémech GNU/Linux. Pro jeho přeložení je nutné mít překladový systém CMake, program pro tvorbu lexikálních analyzátorů GNU/Flex, vizuální toolkit Qt 4.4+ a C++ knihovnu Boost. Pokud jsou splněny všechny podmínky stačí 3

pro přeložení spustit příkaz make. Po úspěšném přeložení se nacházejí binární soubory v adresáři build. Pro snadnost práce se systémem jsou vytvořeny tři shellové skripty. Pro spuštění demo ukázky chování trilobota v simulátoru stačí spustit skript s názvem demo.sh. Skript spustí simulátor, vizualizátor a terminál v příkazovém módu, do kterého pošle sadu ukázkových příkazů. Pro přímé zasílání příkazů trilobotovi stačí spustit skript s názvem terminal.sh, který spustí simulátor, vizualizátor a terminál v interaktivním módu. Poslední skript slouží pro spuštění vizuálního nástroje pro řízení trilobota. Tento vizuální nástroj je aplikace vytvořená pro operační systém MS Windows a je proto nutné mít nainstalován program wine. Nástroj nese jméno TrilobotGUI a nebyl součástí tohoto projektu. Pro spuštění stačí provést skript s názvem tg.sh 4 Závěr Původním cílem bylo zcela nahradit práci v laboratoři pomocí vyvinutého simulátoru. Tento cíl se ukázal příliš optimistický a simulátor jej splnil jen z části. Plnohodnotná simulace robota a jeho prostředí překračuje rámec školního projektu. Přesto je vzniklý simulátor užitečnou pomůckou pro vývoj aplikací na ovládání robota. Díky použité abstrakci sériového portu je možné jej použít i na testování již hotových aplikacích. Není potřeba měnit zdrojový kód aplikací ani je jinak upravovat. Navíc je simulace nezávislá na použitém operačním systému. Objektový model simulátoru je od začátku navrhován, aby byl co nejvíce rozšiřitelný podle potřeb konkrétní aplikace. Při jeho návrhu byly použity návrhové vzory a moderní programovací techniky. Pevně věříme, že bude tento simulátor užitečný. 4