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



Podobné dokumenty
Základy fuzzy řízení a regulace

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

Fuzzy regulátory Mamdaniho a Takagi-Sugenova typu. Návrh fuzzy regulátorů: F-I-A-D v regulátorech Mamdaniho typu. Fuzzifikace. Inference. Viz. obr.

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

U Úvod do modelování a simulace systémů

VÝVOJ NOVÉHO REGULAČNÍHO ALGORITMU KOTLE VERNER S PODPOROU PROGRAMU MATLAB

Controlweb. Úvod. Specifikace systému

Modelování a simulace Lukáš Otte

VYUŽITÍ FUZZY MODELŮ PŘI HODNOCENÍ OBTÍŽNOSTI CYKLOTRAS

Programování II. Modularita 2017/18

POUŽITÍ REAL TIME TOOLBOXU PRO REGULACI HLADIN V PROPOJENÝCH VÁLCOVÝCH ZÁSOBNÍCÍCH

KNIHOVNA MODELŮ TECHNOLOGICKÝCH PROCESŮ

CAL (CAN Application Layer) a CANopen

Laborato regula ních systém a prost edk Název prezentace ídicích systém Umíst ní laborato E228 Správce laborato Ing. Št pán O ana, Ph.D.

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

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

Analytické metody v motorsportu

Hodnocení obtížnosti cyklotras pomocí fuzzy modelů na území Jihomoravského kraje

Katalog biomedicínských modelů, výuka simulacim a modelování v biomedicínském inženýrství, interaktivní systém v MatLab-Simulinku

Metoda Monte Carlo a její aplikace v problematice oceňování technologií. Manuál k programu

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Vývoj informačních systémů. Obecně o IS

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

Úvod do fuzzy logiky a fuzzy regulátory

Úvod do expertních systémů

Konfigurace řídicího systému technikou Hardware In The Loop

JEDNOTKY. E. Thöndel, Ing. Katedra mechaniky a materiálů, FEL ČVUT v Praze. Abstrakt

MST - sběr dat pomocí mobilních terminálů on-line/off-line

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

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

Úvod do modelování a simulace. Ing. Michal Dorda, Ph.D.

Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky. prof. Ing. Stanislav Hanus, CSc v Brně

SIMULACE SYSTÉMŮ S ROZPROSTŘENÝMI PARAMETRY V SIMULINKU

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Využití neuronové sítě pro identifikaci realného systému

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava

Obsah DÍL 2 KAPITOLA 6. 6 Automatická regulace Základní terminologie historické souvislosti 12


PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

FORTANNS. 22. února 2010

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

Matematika v programovacích

Konsolidace zálohování a archivace dat

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI JAZYKOVÉHO FUZZY MODELOVÁNÍ

Umělá inteligence a rozpoznávání

POPIS, IDENTIFIKACE SYSTÉMU A NÁVRH REGULÁTORU POMOCÍ MATLABU V APLIKACI FOTBAL ROBOTŮ

Použití softwaru VisVAP pro vývoj nových systémů řízení dopravy aplikace fuzzy algoritmů pro LŘD a SSZ.

Počítačové řešení elektrických obvodů

Usuzování za neurčitosti

VYUŽITÍ GRAFICKÉHO UŽIVATELSKÉHO ROZHRANÍ MATLABU VE VÝZKUMU A VÝUCE MĚŘENÍ

SIMULACE JEDNOFÁZOVÉHO MATICOVÉHO MĚNIČE

Virtuální přístroje. Matlab a Instrument Control Toolbox. J.Tomek, A.Platil

Fuzzy množiny, Fuzzy inference system. Libor Žák

Uživatelská příručka

OSA. maximalizace minimalizace 1/22

28.z-8.pc ZS 2015/2016

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Fuzzy regulátory. Miloš Schlegel.

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

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

Ústav automatizace a měřicí techniky.

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

Problémové domény a jejich charakteristiky

Vývoj IS - strukturované paradigma II

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

VISUAL BASIC. Přehled témat

Architektura softwarových systémů

UML. Unified Modeling Language. Součásti UML

5. Metody návrhu uživatelského rozhraní

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

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

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Ivan Švarc. Radomil Matoušek. Miloš Šeda. Miluše Vítečková. c..~"f~ AKADEMICKÉ NAKlADATEL.STVf. Brno 20 I I

GIS Libereckého kraje

Návrh a simulace zkušební stolice olejového čerpadla. Martin Krajíček

PŘIJÍMACÍ TEST z informatiky a matematiky pro navazující magisterské studium Fakulta informatiky a managementu Univerzity Hradec Králové

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

Automatizační a měřicí technika (B-AMT)

CATIA V5 vs CATIA V4 Martina Staňková

Software pro formování dielektrika kondenzátorů

Zpracování neurčitosti

SW pro správu a řízení bezpečnosti

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA

Modelování elektromechanického systému

INFORMATIKA. Charakteristika vyučovacího předmětu:

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

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

RELATIONAL DATA ANALYSIS

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

6 Objektově-orientovaný vývoj programového vybavení

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Teorie systémů TES 5. Znalostní systémy KMS

POČÍTAČOVÁ FORMALIZACE MENTÁLNÍCH MODELŮ METODAMI PRAVDĚPODOBNOSTNÍHO JAZYKOVÉHO MODELOVÁNÍ

Centrum kompetence automobilového průmyslu Josefa Božka - AutoSympo a Kolokvium Božek 2. a , Roztoky -

EFEKTIVNÍ NÁVRH FUZZY SYSTÉMŮ V PROSTŘEDÍ FUZZYDESIGNER, MATLAB A SIMULINK. Renata Pytelková, Jan Kolínský, Petr Horáček. ProTyS a.s.

Software pro testování kvality kondenzátorů v provozních podmínkách

Transkript:

LFLC 2000 + MATLAB/SIMULINK - SYSTÉM PRO UNIVERSÁLNTÍ APLIKACE FUZZY LOGIKY Antonín Dvořák, Hashim Habiballa, Vilém Novák a Vikátor Pavliska Abstrakt. Softwarový balík LFLC 2000 je komplexním nástrojem pro návrh jazykových popisů (tj. soustav fuzzy pravidel IF-THEN) určených pro fuzzy regulaci a řízení, rozhodování, popř. klasifikaci. Jeho potenciální využití leží jak v průmyslových, tak v akademických aplikacích. Propojení se systémem MATLAB/Simulink umožňuje dále rozšířit možnosti LFLC 2000. 1 Úvod Softwarový balík LFLC 2000 je prostředkem pro návrh, ladění a zpracování jazykových popisů, tj. soustav fuzzy pravidel typu JESTLIŽE-PAK. Tato pravidla mají tvar podmínky a vyskytují se v nich vágní výrazy přirozeného jazyka, např. malý, velmi velký, zhruba střední apod. Software je vyvíjen na Ústavu pro výzkum a aplikace fuzzy modelování (ÚVAFM) při Ostravské Univerzitě v Ostravě. Jde o vylepšenou verzi původního programového vybavení LFLC (Linguistic Fuzzy Logic Controller) 1.5, který vyvinul prof. V. Novák v 90. letech minulého století pod platformou MS-DOS. Původní LFLC 1.5 byl využíván nejen v akademickém prostředí, ale i v průmyslových aplikacích. Po třeba zmodernizovat nejen design aplikace, ale i jeho modelovací schopnosti vedly k vývoji jeho verze pro systém WINDOWS, kterou je LFLC 2000. Vzhledem k rozvoji informačních technologií nebyl systém vyvíjen jako samostatná aplikace, ale bylo využito moderních prostředků a komunikačních protokolů s využitím produktu MATLAB. Software je již nyní ve stádiu distribuovatelné verze, která je na ÚVAFM stále zdokonalována, jak po stránce implementační, tak teoretické. Na softwaru spolupracuje tým pracovníků spolu se studenty katedry matematiky Přírodovědecké fakulty Ostravské univerzity. Je nutné zdůraznit, že LFLC 2000 je softwarovou realizací původních vědeckých výsledků dosažených na Ostravské universitě, které jsou mezinárodně uznávány, a systém v žádném případě nekopíruje jiné softwarové systémy vyvíjené jinde, a to včetně MATLAB/FuzzyLogic toolbox. 2 Teoretické základy Aplikace umožňuje navrhovat báze pravidel typu: JESTLIŽE X 1 je A 1 A... A X n je A n PAK Y je B, kde A i a B jsou jazykové výrazy charakterizující hodnoty proměnných X i a Y. Příklad: Představme si situaci, kdy budeme modelovat akční zásahy řidiče v automobilu na brzdnou soustavu vzhledem ke sledovaným veličinám vzdálenosti překážky od vozidla a rychlosti vozidla. Pravidlo pak může vypadat takto: Jestliže VZDÁLENOST PŘEKÁŽKY je malá a RYCHLOST je velká pak SÍLA PŮSOBÍCÍ NA PEDÁL BRZDY je velmi velká. V tomto případě byly použity speciální výrazy přirozeného jazyka, a to malý a velmi velký. Slovo velmi se nazývá jazykový operátor a modifikuje vý znam výrazu malý. LFLC 2000 umožňuje používat standardní jazykové výrazy i definovat a testovat použití vlastních výrazů (s uživatelsky definovaným významem). Standardní výrazy jsou malý,

střední, velký, popř. doplněné o jeden z jazykových operátorů výrazně, značně, velmi, spíše, více méně, zhruba, dosti zhruba, velmi zhruba. V aplikacích v oblasti automatického řízení, kde je nutno uvažovat i záporné hodnoty proměnných, můžeme používat i výrazů typu - střední apod. Báze takto definovaných pravidel vytvářejí pak jazykový popis chování systému. Aplikace nejen umožňuje návrh takových pravidel a t estování jejich chování (viz oddíl 3), ale má také implementovány různé druhy metod pro odvozování hodnot výstupních proměnných v závislosti na vstupních hodnotách (tzv. inferenční neboli dedukční metody). Na tomto místě je vhodné podotknout, že uživatel pracuje hlavně s jazykovými výrazy a modifikuje jazykový popis pouze pomocí nich. Počítač se tak stává partnerem, který rozumí přirozenému jazyku a umí na něj reagovat. Dvě základní inferenční (dedukční) metody, které systém LFLC 2000 obsahuje, jsou fuzzy aproximace (dobře známá z literatury i aplikací jako Mamdaniho max-min pravidlo) a fuzzy logická dedukce. Tato metoda, soustavně rozvíjená na našem pracovišti, interpretuje JESTLIŽE-PAK pravidla jako jazykově zadané logické implikace, a odvozování závěru pak probíhá jako dedukce pomocí inferenčního pravidla modus ponens. Přibližná dedukce v LFLC 2000 pracuje na principu zadání vstupních hodnot při určité bázi pravidel a aplikaci inferenční metody, která vytvoří výstupní fuzzy množinu. Tu pak lze defuzzifikovat na výstupní hodnotu. Program umožňuje i výběr vhodné metody defuzzifikace. Pro fuzzy logickou dedukci je zde navržena a implementována speciální defuzzifikační metoda DEE (defuzzifikace evaluačních výrazů), protože standardní běžně používaná metoda COG (těžiště) v tomto případě nefunguje správně. Součástí systému je také původní metoda, pomocí níž lze automaticky naučit jazykový popis na základě dat a aproximovat data pomocí metod fuzzy logiky. Systém LFLC 2000 je navržen tak, aby uživatel pracoval zejména s jazykovými popisy. Ladění těchto popisů pak spočívá v modifikaci použitých jazykových výrazů, tj. uživatel mění slova použitá v popisu. Pouze zcela výjimečně je třeba měnit i fuzzy množiny - významy těchto jazykových výrazů. Tento rys odlišuje softwarový systém LFLC 2000 od ostatních softwarových systémů implementujících metody fuzzy logiky. Více informací o teoretických základech fuzzy logiky je možné najít v literatuře uvedené na konci článku, zejména v pracích [5] a [7]. Samozřejmě, standardní postup používaný v jiných systémech je v LFLC 2000 také možný. 3 Aplikace LFLC umožňuje návrh, testování a učení jazykových popisů. Tyto popisy mohou být využity v řízení, podpoře rozhodování a dalších aplikacích. Můžeme rozlišit tyto základní úkoly realizované pomocí LFLC: - návrh jazykových popisů. LFLC umožňuje použít různé předdefinované jazykové výrazy. Má také prostředky pro analýzu vlastností popisů (detekce identických nebo nekonsistentních pravidel atd.). - návrh a modifikace uživatelských výrazů. K předdefinovaným jazykovým výrazům lze navíc definovat uživatelské výrazy v situacích, kdy jsou stan dardní nedostatečné. - testování inference nad navrženými jazykovými popisy. LFLC umožňuje uživateli sledovat chování jazykových popisů pro různé hodnoty. Může vybírat různé inferenční a defuzzifikační metody a sledovat projekce proti různým proměnným. Také má k dispozici informace o aktivovaných pravidlech a nejvhodnějších jazykových výrazech přiřazených hodnotám ze vstupních a výstupních intervalů.

- učení jazykových popisů z experimentálních dat. LFLC implementuje několik metod učení se z experimentálních dat. - modelování regulačních procesů. LFLC má díky klientovi pro MATLAB (Simulink) možnost vytvořené a otestované jazykové popisy využít k simulaci regulačního procesu na modelech systémů (v Simulinku). 4 Implementace a komunikace s ostatními produkty LFLC 2000 je vytvořeno v programovacím jazyce C++ s použitím vizuálního nástroje pro návrh grafického rozhraní Borland C++ Builder pro platformu MS-WINDOWS (32-bit). Systém je rozdělen do několika modulů, které umožňují jeho efektivní rozvíjení. Hlavním stavebním kamenem je jádro systému, které implementuje reprezentaci fuzzy množin, proměnných, báze pravidel, inferenčních metod apod. Toto jádro je nezávislé na grafickém rozhraní a jeho algoritmy jsou přístupné i jiným softwarovým systémům ve formě COM (Component object model) objektu RBaseCOM. Jádro je tvořeno pomocí objektově orientované metodologie. Objekty jádra využívá grafické rozhraní aplikace (GUI). Ukázku GUI můžete vidět na obrázku 1, který ukazuje obrazovku pro návrh pravidel a s ledování jejich vlastností. Obrázek 1: Návrh pravidel Sloupce Group a Inconsistency slouží k detekci shodných pravidel, respektive pravidel se stejnou levou a různou pravou stranou. Obrázek 2 ukazuje testovací obrazovku, kde uživatel může zkoumat chování navrženého jazykového popisu. Na levé straně může interaktivně vkládat hodnoty pro vstupní proměnné a na pravé straně může sledovat změny výstupní fuzzy množiny. Zároveň lze vybírat metody inference i defuzzifikace. Také lze

sledovat použitá JESTLIŽE-PAK pravidla a v pravém dolním rohu je znázorněna projekce výstupní proměnné vzhledem k vybrané vstupní proměnné. Obrázek 2: Testovací obrazovka Během návrhu jazykového popisu se musí specifikovat použité proměnné. U nich zpravidla stačí zadat pouze rozsah možných hodnot (v terminologii 2000 hovoříme o jejich jazykovém kontextu). Pokud to však uživatel potřebuje, může modifikovat významy používaných standardních jazykových výrazů (tj. mírně upravovat tvar implementovaných fuzzy množin), popř. doplnit své vlastní jazykové výrazy a ty p ak používat v popisu. Z hlediska modelování regulačních systémů je nejdůležitější vytvoření COM objektu, který zapouzdřuje základní metody jádra zavedení popisu, práci s proměnnými a inferenci nad vstupními daty. Pro práci s MATLABem je vytvořena S-funkce, která umožňuje simulaci různých procesů a jejich řízení. V prostředí produktu MATLAB lze používat dva přístupy pro práci s algoritmy jádra LFLC 2000 a to buď s použitím již zmiňované S-funkce přímo v simulačních schématech programové nadstavby Simulink, anebo lze používat mex-funkci (LFLCInfer) v uživatelem zkonstruovaných programech. Tato funkce je naprogramovaná v jazyce C++ a opět využívá dříve zmíněný COM objekt. LFLCInfer umožňuje provádění inferencí z popisů vytvořených v samostatné aplikaci LFLC 2000. Jako příklad propojení systémů LFLC 2000 a Simulink uvádíme regulaci jednoduchého 1 dynamického SISO systému s přenosovou funkcí F ( p) =. Pro regulaci je p 3 + 3 p 2 + 3 p + 1

použit jazykový popis matex.rb, jehož část je zobrazena na Obrázku 1. Regulační schéma v systému Simulink znázorňuje Obrázek 3: Obrázek 3: Regulační schéma Na obrázku 4 vidíme průběh regulace dynamického systému pomocí jazykového popisu matex.rb.

Obrázek 4: Průběh regulace Z našich zkušeností se systémem LFLC vyplývá, že pomocí jednoho jazykového popisu (s případnými drobnými modifikacemi) je možné úspěšně regulovat celou řadu dynamických systémů různých řádů i charakteristik. Přitom jsou zachovány všechny významné vlastnosti fuzzy regulace, zejména značná robustnost - necitlivost vůči změnám podmínek či vstupů a poruchám. Práce s jazykovými popisy je velmi jednoduchá a intuitivní a případné pozdější změny či úpravy nepřinášejí velké problémy, protože i po delší době lze rychle pochopit, co vlastně jazykový popis dělá. To demonstruje velkou sílu a potenciál našeho systému, který takto důsledně respektuje původní záměr fuzzy logiky umožnit pracovat s přirozeným jazykem a naučit počítače, aby mu rozuměli. 5 Závěr LFLC 2000 nabízí potenciálně velmi široké použití v celé řadě aplikací, a to jak v regulaci a řízení, tak při různých rozhodovacích problémech nebo při klasifikaci. Jde o systém, který je již v současné době schopen nasazení a bude i v budoucnosti rozvíjen. Jelikož se na systému pracuje současně s vývojem nových teoretických metod, dochází i k jejich rychlé integraci do LFLC 2000 a tím se jeho možnosti ještě dále rozšiřují. Propojení LFLC 2000 se systémem MATLAB/Simulink dále rozšiřuje jeho možnosti. 6 Literatura 1. Bělohlávek, R., Dvořák, A., Jedelský, D., Novák, V.: Object Oriented Implementation of Fuzzy Logic Systems. Obsaženo v Camarinha-Matos, L.M. et al. (eds.): Intelligent Systems for Manufacturing. Multi-Agent Systems and Virtual Organizations. Kluwer, Dordrecht 1998, 589-594.

2. Dvořák, A., Jedelský, D.: Defuzzification and Chaining of Rules in Hierarchical Fuzzy Systems. Ve sborníku 1999 Eusflat-Estylf Joint Conference, 199-202. 3. Dvořák, A, Novák, V.: Fuzzy Logic Deduction with Crisp Observations. Zasláno do Soft Computing. 4. Novák, V.: Linguistically Oriented Fuzzy Logic Controller and Its Design. Int. J. of Approximate Reasoning 12(1995), 263-277. 5. Novák, V.: Základy fuzzy modelování. BEN, Praha 2000. 6. Novák V., Kovář, J.: Linguistic IF-THEN Rules in Large Scale Application of Fuzzy Control. Obsaženo v Da Ruan, Kerre E.E. (eds) Fuzzy If-Then Rules in Computational Intelligence: Theory and Applications. Kluwer, Boston 2000, 223-241. 7. Novák, V., Perfilieva, I., Močkoř, J.: Mathematical Principles of Fuzzy Logic. Kluwer, Boston 1999. Kontakt: Ústav pro výzkum a aplikace fuzzy modelování, Ostravská univ ersita 30.dubna 22, 701 03 Ostrava 1, Česká Republika tel.: +420596160234, e-mail: vilem.novak@osu.cz www: http://ac030.osu.cz/irafm