Studentská tvůrčí a odborná činnost STOČ 2015



Podobné dokumenty
Metodické pokyny k materiálu č. 35 Mobilní robot III - Závodní auto (STAVBA)

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEIV Souborná činnost na složitých elektronických zařízeních zaměřená na servisní a profesní působení studenta

Merkur perfekt Challenge Studijní materiály

PROGRAMOVÁNÍ ROBOTŮ LEGO MINDSTORM S VYUŽITÍM MATLABU

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Základy fuzzy řízení a regulace

METODICKÝ LIST 1. Název výukové aktivity (tématu): 2. Jméno autora: Ing. Petr Hořejší, Ph.D., Ing. Jana Hořejší 3. Anotace:

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Metodické pokyny k materiálu č. 39 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (PROGRAM 1)

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

ROBOTICKÝ POPELÁŘ. Jan Dimitrov, Tomáš Kestřánek. VOŠ a SPŠE Františka Křižíka Na Příkopě 16, Praha 1

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ MEIV Souborná činnost na složitých elektronických zařízeních zaměřená na servisní a profesní působení studenta

Název: Dráha a rychlost pohybu robota I. Tematický celek: Pohyb těles

Charakteristika základních konstruktů robota. Popis ovládacího prostředí robota.

DUM č. 13 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms

Charakteristika základních konstruktů robota. Popis ovládacího prostředí robota. Další možnosti programování robota.

METODICKÝ LIST. Výklad: Seznámení se se stavebnicí, ukázky jiných projektů a možností stavebnice

LFLC MATLAB/SIMULINK - SYSTÉM PRO UNIVERSÁLNTÍ APLIKACE FUZZY LOGIKY. Antonín Dvořák, Hashim Habiballa, Vilém Novák a Vikátor Pavliska

ÚKOLOVÝ LIST. Aktivita projektu Obloha na dlani - Laboratoř vědomostí ROBOT NA PÁSOVÉM PODVOZKU

Studentská tvůrčí a odborná činnost STOČ 2017

Učivo: Detailnější zopakování používání některých částí uživatelského rozhraní LEGO MINDSTORMS NXT Paleta programování

Pavel Koupý. Anti-crash robot

Lekce 11 Měření vzdálenosti a rychlosti

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

Metodické pokyny k materiálu č. 41 Mobilní robot III - Závodní auto - Dálkové ovládání 2 (STAVBA)

Robotická rehabilitační pomůcka pro děti

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

Projekt podpořený Operačním programem Přeshraniční spolupráce Slovenská republika Česká republika

L07 Univerzální Robot verze 1.2

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

Návod připojení a základní práce s programem RT ToolBox

DUM č. 20 v sadě. 29. Inf-5 RoboLab a Lego Mindstorms

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Zpracování neurčitosti

Překladač a jeho struktura

Ověření funkčnosti ultrazvukového detektoru vzdálenosti

Metodické pokyny k materiálu č. 38 Mobilní robot III - Závodní auto - Dálkové ovládání 1 (STAVBA)

Programování NXT - ovládání (pracovní list)

DATA MIGRATION AND OPTIMIZATION OF RELATIONAL DATABASES WITH UNCERTAINTY. Bogdan Walek

Mezinárodní kolo soutěže Baltík 2010, kategorie C a D

13 Barvy a úpravy rastrového

Kapitola 2. o a paprsek sil lze ztotožnit s osou x (obr.2.1). sil a velikost rovnou algebraickému součtu sil podle vztahu R = F i, (2.

SW IAI - jednoduché programování pohonu

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

VYUŽITÍ SNÍMACÍCH SYSTÉMU V PRŮMYSLOVÉ AUTOMATIZACI SVOČ FST 2019

ve spolupráci KTIV PdF UP porádá

Robotický LEGO seminář na FEL ČVUT v Praze

Tabulkový procesor. Základní rysy

Programování LEGO MINDSTORMS s použitím nástroje MATLAB a Simulink

Základy logického řízení

Řídicí technika. Obsah. Fuzzy řízení Fuzzy množiny Operace s fuzzy množinami Fuzzy pravidla Fuzzy regulátory. Fuzzy řízení.

Zápočtový projekt předmětu Robotizace a řízení procesů

Programátorská dokumentace

METODICKÝ LIST K TECHNICKÉMU KROUŽKU:

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

ON-LINE SLEDOVÁNÍ POHYBUJÍCÍHO SE PŘEDMĚTU S VYUŽITÍM DIGITÁLNÍ KAMERY ON-LINE TRACKING OF MOVING OBJECT USING DIGITAL CAMERA

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Algoritmizace a programování

Přípravek pro demonstraci řízení pohonu MAXON prostřednictvím

Dual Eye Mapping Duální navigace a sledování povrchu (inteligentnější a rychlejší úklid)

Zkoušení heterogenních a austenitických svarů technikou Phased Array a technikou TOFD

CAD_Inventor -cvičení k modelování a tvorbě technické obrazové dokumentace Spirála

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Interpolace obrazu pro experimentální měřiče plošného teplotního rozložení

Merkur perfekt Challenge Studijní materiály

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

Automatizace v silniční dopravě

5 Přehled operátorů, příkazy, přetypování

Profilová část maturitní zkoušky 2015/2016

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel.

ŘÍZENÍ MECHANICKÝCH ZAŘÍZENÍ

Konvexnost, konkávnost

TÉMATICKÝ OKRUH Teorie zpracování dat, Databázové a informační systémy a Teorie informačních systémů

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

Název projektu: Život s počítačem. Číslo projektu: OPVK.CZ.1.07/1.2.32/

6. ROČNÍK ŠKOLNÍ SOUTĚŽE V PROGRAMOVÁNÍ 2013

Řízení robota senzorem teploty II. Tematický celek: Termodynamika. Komplexní úloha - 2. část:

Fuzzy logika. Informační a znalostní systémy

Využití stavebnice LEGO Mindstorms EV3 nejenom ve výuce technických předmětů

Příloha č. 2 Technická specifikace

Pracoviště pro vývoj FPGA karet

Open Roberta Lab. Jan Preclík 1

2. Mechatronický výrobek 17

DPZ10 Radar, lidar. Doc. Dr. Ing. Jiří Horák Institut geoinformatiky VŠB-TU Ostrava

SEKVENČNÍ LOGICKÉ OBVODY

Lekce 01 Úvod do algoritmizace

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

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

Měření výkonových parametrů spalovacího motoru na hydrodynamické motorové brzdě SF 902. Radim Čech, Petr Tomčík

Systém, který na základě stavu světla detekuje snímání pohybu. vzorová úloha (SŠ) Jméno Třída Datum

Logické proměnné a logické funkce

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Rozšiřující desce s dalšími paralelními porty Rozšiřující desce s motorkem Elektrickém zapojení Principu činnosti Způsobu programování

Varianta: 1201 TEST STUDIJNÍCH PŘEDPOKLADŮ 4 strany 1. strana INSTRUKCE

pracovní list studenta

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Aplikace vytěžování dat

Transkript:

Studentská tvůrčí a odborná činnost STOČ 2015 POUŽITÍ FUZZY LOGIKY PRO ŘÍZENÍ AUTONOMNÍHO ROBOTA - 2D MAPOVÁNÍ PROSTORU Michal JALŮVKA Ostravská univerzita v Ostravě Dvořákova 7 701 03 Ostrava 23. dubna 2015 FAI UTB ve Zlíně

Klíčová slova: fuzzy, lego, robot, Java, mapování Anotace: Obsahem práce je návrh logiky chování autonomního robota při 2D mapování prostoru. Rozhodování robota je založeno na teorii fuzzy množin a fuzzy logice, jež umožňuje vyhodnocovat závěry na základě nepřesného popisu určité situace pomocí jazykově formulovaných fuzzy (IF-THEN) pravidel. Tato pravidla jsou následně integrována v programovatelném zařízení robota. Na konstrukci robota byla použita robotická stavebnice LEGO MINDSTORMS EV3. Funkčnost robota zahrnuje ovládání EV3 komponent, mapování prostoru, uchování získaných dat a vytvoření mapy daného prostoru. V rámci práce byl vyvinut program, který realizuje tuto funkčnost robota. V závěru jsou zhodnoceny výsledky mapování, které byly srovnány s reálným prostorem. Dále jsou uvedeny návrhy ke zlepšení programu a jeho využití v dalších projektech. 2

Obsah 1. LINGUISTIC FUZZY LOGIC CONTROLLER... 4 2. LEGO MINDSTORM EV3... 4 3. POUŽITÍ FUZZY LOGIKY PRO ŘÍZENÍ AUTONOMNÍHO ROBOTA... 4 4. EXPERIMENTÁLNÍ STUDIE... 7 5. ZHODNOCENÍ VÝSLEDKŮ A ZÁVĚR... 8 Literatura... 9 3

1. LINGUISTIC FUZZY LOGIC CONTROLLER Linguistic Fuzzy Logic Controller (LFLC) je software založený na teorii fuzzy množin a fuzzy logice. Umožňuje vyhodnocovat závěry na základě nepřesného popisu určité situace pomocí jazykově formulovaných fuzzy (IF-THEN) pravidel. Tento software vytváří soubor báze pravidel (v ní je obsažen vstupní a výstupní fuzzy množiny, IF-THEN pravidla), z něhož se provádí dedukce po předložení vstupních množin. Software byl vytvořen v Ústavu pro výzkum a aplikace fuzzy modelování (IRAFM) na Ostravské univerzitě. Jeho demo verze LFLC 2000 (např. omezený počet pravidel) a je volně dostupný na oficiálních stránkách http://irafm.osu.cz/en/c100_software/ s podrobnou dokumentací [3]. Program LFLC umožňuje generovat CSV soubor, ve kterém jsou kombinace vstupních hodnot dle jejich definičních oborů a po provedení inferenční metody i výsledná výstupní hodnota. V každém řádku je počet sloupců dle uvedených vstupních proměnných v RB souboru a jeden výstupní sloupec. Díky tomuto souboru je snadné vyhledat takovou výstupní hodnotu z řádku, ve které se vstupní hodnoty shodují nebo přibližují s hodnotami zadanými do bází pravidel. 2. LEGO MINDSTORM EV3 LEGO MINDSTORMS jsou programovatelné robotické stavební sady, které umožňují vytvořit a ovládat své vlastní LEGO roboty. Jedná se o třetí generaci LEGO MINDSTORMS, přičemž zkratka "EV" znamená evoluci, odtud tedy EV3. [2] Tato stavebnice disponuje programovatelnou řídící kostku EV3 brick, která se svým firmwarem může ovládat a řídit své vstupní a výstupní zařízení. Příkladem jednotlivých zařízení může být: 1. Motory: a. Velký motor b. Střední motor 2. Senzory: a. Barevný senzor b. Dotykový senzor c. Infračervený senzor d. Ultrazvukový senzor 3. Dálkový ovladač Řídící kostka má zaveden defaultně operační systém z dílen LEGO Mindstorms, který může komunikovat s vývojovým prostředím od totožné firmy. Existuje varianta, která umožňuje zavést do kostky jiný operační systém, zvláště takový, který umožňuje spouštět programy napsané v programátorském jazyce (C/C++, Java). Nejužívanější alternativy operačního systému je BrickOS pro programování v C/C++ a LeJOS [4] pro Javu. 3. POUŽITÍ FUZZY LOGIKY PRO ŘÍZENÍ AUTONOMNÍHO ROBOTA Chování robota je realizován za pomocí fuzzy pravidel, což jsou podmíněné jazykové výrazy ve tvaru [1]: IF antecedent THEN konsekvent (1) přičemž antecedent je složen z jedné nebo více fuzzy množin oddělených logickými spojkami a konsekvent je jediná fuzzy množina. 4

Báze pravidel jsou sestaveny v prostředí LFLC tak, aby se mohl robot rozhodovat, jak by měl získat souřadnice překážky. Ideálně se senzor snímající překážky chová jako radar, který je nastaven směrem dopředu vzhledem k jízdě robota a otáčí se o 180 doprava nebo doleva. Snímání senzoru vychází z předpokladu, že jeho lokace je vztažena k bodu [0;0] (označen fialovou tečkou). Z technických důvodů to nemusí být možné (zamotání datového kabelu, méně ideální konstrukce robota), a proto je senzor nastaven tak, aby snímal nanejvýš na 90 doprava nebo doleva. Aby robot pokryl snímání celý prostor, musel by se otáčet o 360. Důležitými vstupními proměnnými pro naše rozhodování je vzdálenost překážky a úhel (pro otočení senzoru a otočení robota). Pro naše experimentální účely je dostatečné, aby báze pravidel byla navržena pouze pro první kvadrant, tj. v rozmezí úhlu od 0 do 90. Pro pokrytí celého prostoru (0 až 360 ) je navržena další báze pravidel, která nám zaručí, v jakém kvadrantu snímáme překážku. Výsledná lokace (čtvercová oblast) má ve skutečnosti rozměry 150x150mm (obr. 1). Obr. 1: Úplné zobrazení snímaného prostoru Vstupní proměnná Vzdálenost překážky (báze pravidel pro snímání překážky) je vyjádřena v mm a je v rozsahu 0 1000mm. Skládá se z množiny termů znázorňující prostor mezi dvěma sousedními kružnicemi (obr. 1). Každý z těchto termů má funkci příslušnosti tvaru lichoběžníku. Vstupní proměnná Úhel (báze pravidel pro snímání překážky) vyjadřuje otočení senzoru. Je definovaná od 0 do 90 (obr. 1). Každý z těchto termů má funkci příslušnosti tvaru trojúhelníkovou. Výstupní proměnná Souřadnice (báze pravidel pro snímání překážky) je chápána jako X-ová souřadnice vycházející ze vstupních proměnných Vzdálenost překážky a Úhel. Množina termů má funkci příslušnosti tvaru trojúhelníku. V tabulce 1 jsou vypsána fuzzy pravidla pro snímání překážky. Vzhledem k tomu, že tato báze pravidel je rozsáhlá, je vypsán výběr pravidel, která nabývají proměnnou úhel ostrý30. 5

Pořadí pravidla Vzdálenost překážky Úhel Souřadnice 05. do75 ostrý30 Souřadnice0 12. do150 ostrý30 Souřadnice0 19. do225 ostrý30 Souřadnice1 26. do300 ostrý30 Souřadnice1 33. do375 ostrý30 Souřadnice1 40. do450 ostrý30 Souřadnice1 47. do525 ostrý30 Souřadnice2 54. do600 ostrý30 Souřadnice2 61. do675 ostrý30 Souřadnice2 68. do750 ostrý30 Souřadnice2 75. do825 ostrý30 Souřadnice3 82. do900 ostrý30 Souřadnice3 89. do975 ostrý30 Souřadnice3 96. do1000 ostrý30 Souřadnice3 Tab.1: Výběr báze pravidel pro snímání překážky nabývající proměnná úhel ostrý30 Díky tomuto rozhodovacímu procesu získáme X-ovou souřadnici při předložení vstupních proměnných Vzdálenost překážky a Úhel. Pro Y-ovou souřadnici je třeba náš Úhel odečíst od 90. Takto získáme souřadnici překážky z prvního kvadrantu Vstupní proměnná Úhel (báze pravidel pro znaménko souřadnice) nabývá součtu úhlu natočeného senzoru a úhlu natočeného robota. Je definovaná od -359 do 359 (obr. 1). Každý z těchto termů má funkci příslušnosti tvaru lichoběžníku. Výstupní proměnná Znaménko (báze pravidel pro znaménko souřadnice) má množinu termů s funkcí příslušnosti tvaru trojúhelníku. V tabulce 2 jsou vypsána fuzzy pravidla pro snímání překážky. Vzhledem k tomu, že tato báze pravidel je rozsáhlá, je vypsán výběr pravidel, která nabývají proměnnou úhel ostrý30. Pořadí pravidla Úhel Znaménko 01. kladdo180 kladné 02. kladdo360 záporné 03. zapdo180 záporné 04. zapdo360 kladné Tab.2: Báze pravidel pro znaménko souřadnice 6

Podle těchto pravidel získáme skutečnou polohu překážky, která nám říká, ve kterém kvadrantu (z obrázku 1) se skutečně nalézá. Pro Y-ovou souřadnici budeme stejně jako v předchozí bázi zvyšovat úhel o 90. 4. EXPERIMENTÁLNÍ STUDIE Pro experimentální účely byl sestaven robot z robotické stavebnice Lego Mindstorm EV3. Tento robot (viz obr. 2) používá svou řídící kostku, jež má zavedený linuxový operační systém LeJOS. Tento robot používá: 2 velké motory pro pohyb roboty, střední motor pro otáčení senzoru a ultrasonický senzor. Obr. 2: Testovací robot Pro experimentální účely byl vytvořen program, jenž realizuje chování robota pro mapování prostoru, je rozdělen do pěti částí (vrstev) představující jednotlivé funkčnosti (obr. 3). Obr. 3: Use Case chování robota 7

Proces snímání prostoru má nastavení na 15 iterací (nemá implementován algoritmus, kdy se má sám zastavit). Každá iterace se skládá z dílčích činností (viz obr. 4). Obr. 4: Iterace procesu snímání Testování robota probíhalo ve vymezeném prostoru (obr. 5). Robot tento prostor nasnímal a vytvořil jeho mapu. Tento prostor je rozdělen do mřížky s rozměrem jedné buňky 5x5cm. Tato mřížka nám pomůže určit lokaci překážek, testovacího robota a jeho následných úkonů. Po spuštění programu robot začne snímat své okolí a zaznamenávat souřadnice překážek do své paměti. Po ukončení procesu snímání vytvoří výstupní obraz, tedy mapu snímaného prostoru, která byla porovnána s reálnou mapou. Obr. 5: Snímaný prostor 5. ZHODNOCENÍ VÝSLEDKŮ A ZÁVĚR Experimentální výsledky byly zhodnoceny porovnáním získané mapy, kterou robot nasnímal (obr. 6 vpravo) a mapy reálného snímaného prostoru (obr. 6 vlevo). Na mapě prostoru jsou označeny oblastí, kde se nachází překážky. Obě mapy jsou rozděleny do čtvercových oblastí, které ve skutečnosti odpovídá rozměrům 15x15 cm. 8

Obr. 6: Mapa reálného prostoru a získaná mapa z robota Bylo vytvořeno několik experimentů a vždy jsme získali podobné výsledky, které jsou prezentovány na obrázku 6. Výsledná mapa se částečně shoduje s mapou reálného prostoru. Během testování jsem si všiml, že se robot nepohybuje do přesné vzdálenosti a neotáčí se pod úhlem, jakým chceme dosáhnout. To způsobuje vychýlení dráhy a přepisování parametrů ve snímaných čtvercových oblastí. Dále jsem si všiml, že senzoru nemá vhodné umístění. Způsobuje špatné vyhodnocování směru pro příští iteraci snímání. Jeden z příkladu je takový, že tělo robota je postaven hned vedle překážky, ale senzor vidí vedle se volnou cestu, to má za následek otočení robota a kolize senzoru s přepážkou. V některém případě došlo i k neustále otáčením doleva a doprava. Bylo by vhodné umístit senzor ve středu těla, aby rozhodování příštího směru bylo korektním. Dalším problém je přepisování překážek během snímání. Stává se, že senzor pod určitým úhlem nezaznamená překážku, která je před ním. To nám způsobuje, že dříve zaznamenanou překážku ve čtvercové oblasti vyhodnotí jako oblast bez překážky, tudíž ve výsledné mapě z černého bodu vznikne šedý bod. V poslední řadě bych zmínil zaznamenání oblastí mimo snímaného prostoru (vpravo od zeleného obdélníka) způsobené tím, že překážka je oblepena papírem a ultrazvukové vlny jemu prochází. Literatura [1] Novák, V. Základy fuzzy modelování. 1. Praha : BEN, 2000. ISBN 80-730-0009-1. [2] Podpora - Mindstorms LEGO.com. LEGO Mindstorms EV3. [Online] The LEGO GROUP, 2014. [Citace: 1. 12 2014.] http://www.lego.com/cs-cz/mindstorms/support. [3] IFRAM. LFLC. Ostrava : Ostravská univerzita, 2003. [4] LeJOS, Java for LEGO Mindstorms. [Online] 2009. [Citace: 2014. 12 1.] www.lejos.org 9