Informatika 1 Jan Roupec, A4/702, 54114 3346, roupec@fme.vutbr.cz Literatura: Moodle. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.
Organizace výuky Teoretický výklad a ukázky budou probíhat na přednáškách. Účast na přednáškách je důrazně doporučená pro všechny, kteří se s probíranou problematikou dosud nesetkali. Cvičení s počítačovou podporou mají laboratorní charakter: Cvičení zpravidla na přednášky navazují. Student je povinnen být na cvičení teoreticky připraven na základě podkladů z proběhlých přednášek, literatury a předchozích cvičení. Na úvod téměř každého cvičení proběhne krátký elektronický test, kterým se ověří docházka a připravenost studenta na další práci. Nepřipravenost na test může být důvodem pro vyloučení z hodiny. Na cvičeních nebude prováděn výklad, práce bude zaměřena na řešení zadaných úloh a individuální konzultace. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 2
Hodnocení 1in Zvládnutí kurzu 1IN bude ohodnoceno klasifikovaným zápočtem. Hodnocení A-F dle ECTS bude stanoveno dle bodů získaných z: absolvovaných testů (neomluvená absence = 0 bodů) za vypracovanou a přesvědčivě odprezentovanu semestrální práci. Stupnice ECTS: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 3
Obsah kurzu Kurz 1IN je zaměřen na počítačovou podporu činností typických při modelování, navrhování, testování vlastností a řízení strojních soustav a technologických celků. Jedná se o činnosti typické pro tvůrčí pracovníky - techniky používající počítač jako nástroj, nikoliv IT profesionály. Přesto bude pozornost věnována i obecnější informatické problematice, neboť počítačový způsob myšlení je pro techniky výhodný. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 4
Obsah kurzu Nejde o kurs: základů užívání PC (znalost se předpokládá ze SŠ), využití běžného kancelářského sw (typicky Word apod.), CAD systémů (jsou obsahem jiných předmětů), specializovaných činností IT pracovníků, např. správa sítí, databází, internetové aplikace, profesionální tvorba sw (lze je studovat v předmětech zajišťovaných ÚAI v rámci některých oborů) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 5
Obsah 1. přednášky úvodní informace (již byly) co obsahuje informatika, systémová terminologie, metodologie modelování úvod do Matlabu Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 6
Informatika Věda o informacích a jejich zpracování. Ke zpracování informací se používá téměř výhradně výpočetní technika, proto se informatika vedle teoretických poznatků zabývá i implementací a aplikací těchto poznatků v počítačových systémech. V anglicky mluvících zemích často používán termín Computer Science. Je to zjednodušení, i angličtina (někdy) rozlišuje, např. Information Science, Computer Science, Information Technology, Information Theory. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 7
Informatika Zahrnuje mnoho (pod-)oborů, např.: (dle CSAB - Computer Science Accreditation Board) teoretická informatika (theoretical computer science) algoritmy a datové struktury (Algorithms and Data Structures) metodika programování a programovací jazyky (Programming Methodology and Languages) prostředky a architektura výpočetní techniky (Computer Elements and Architecture) softwarové inženýrství (někdy uváděno zcela samostatně, někdy jako součást aplikované informatiky) numerické a symbolické výpočty (Numerical and Symbolic Computation) bioinformatika, symbolická matematika, kognitivní vědy, ... aplikovaná informatika (prakticky vše související, co není obsaženo v teoretických disciplínách) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 8
Teoretická informatika teorie informace, matematická logika, teorie automatů, teorie čísel, teorie grafů, teorie složitosti, teorie vyčíslitelnosti, gramatiky a jazyky, optimalizace (matematika), kryptografie, počítačová geometrie, neuronové sítě, evoluční algoritmy, ... Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. (Není obsahem 1in, ale většina uvedených témat je obsahem předmětů ÚAI nebo ÚM v některých oborech.) 9
Aplikovaná informatika operační systémy, počítačové sítě a komunikace, počítačová grafika, informační systémy, databáze, umělá inteligence, robotika, zpracování obrazu, rozpoznávání obrazu, rozpoznávání řeči, zpracování textů, Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. CAE, CAD, kancelářské aplikace, zábavní průmysl, vizualizace technologických procesů technické výpočty, simulace a modelování, ... 10
Systémová metodologie 1948 - vznik kybernetiky (Norbert Wiener) 1949 - 1952 - teorie systémů (L. von Bertalanffy, biolog) Teorie systémů vznik má přímou souvislost s řešením složitých problémů na systémových objektech, vykazujících charakteristické systémové vlastnosti, teoreticko-filozofická vědní disciplína, která se komplexně a na obecné úrovni zabývá hledáním formálně identických zákonů, podle nichž se chovají různorodé reálné i abstraktní soustavy. Systémová metodologie: abstraktní objekt, jehož struktura je tvořena systémovým přístupem, systémovým myšlením, systémovými metodami a systémovými postupy. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 11
Systémové disciplíny operační analýza, systémová analýza, matematická statistika, systémové inženýrství, morfologická analýza, kybernetika, inženýrská psychologie, logistika, modelování, teorie chaosu, počítačové technologie, synergetika. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 12
Systém původně pojem výhradně pro vědecké a odborné použití prvotní vymezení: Systém je účelově definovaná soustava prvků a vazeb mezi nimi, jež vykazují jako celek určité vlastnosti resp. chování. nyní řada přenesených významů, módní slovo původ z řečtiny (spojením termínů syn a histemi, tzn. dávat něco dohromady, použití už u Aristotela - celek, který je více než souhrnem svých částí) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 13
Systém reálný systém (real system) reálné objekty, prvky a vazby mezi nimi jsou reálné (materiální) - technické objekty, přírodní živé a neživé objekty, abstraktní systém (abstract system) abstraktní objekt, prvky a vazby nemají materiální charakter (politický systém, ...), Systémy lze klasifikovat dle různých dalších kritérií: podle podstaty (mechanický, chemický, softwarový, politický, …) podle vývoje v čase (statický, dynamický) podle vazeb na okolí (otevřený, uzavřený) deterministické, stochastické Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 14
Systém módní slovo, mnoho (i přenesených) významů blíže neupřesněného pojmu systém pro nás zajímavé významy: objekt je systémem, tzn. má systémové vlastnosti (může být reálný i abstraktní) - SOUSTAVA systém je abstraktním objektem - byl vytvořen subjektem, přiřazen jinému objektu, vytvořem procesem abstrakce, zobecnění a formalizace všeho podstatného, co souvisí s řešením konkrétního problému - SYSTÉM Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 15
Model, modelování možné různé chápání slova model (móda, slepovací modely letadel, slévárenský model, modelová situace, ...) mohou mít materiální povahu nebo být abstraktní (matematické modely, datové modely, relační modely) pro naše potřeby budeme používat abstraktní modely jako prostředky pro ověřování vlastností existujících nebo navrhovaných soustav, výpočtový model, často splývá s pojmem matematický model (není to přesně totéž, pro účel tohoto kurzu většinou nebudeme rozlišovat) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 16
Matematický a datový model Matematický model: souhrn matematických vztahů popisujících chování nebo strukturu daného systému (souhrn dat a matematických vztahů, které umožňují ze vstupních dat získat výstupní data, která s dostatečnou přesností odpovídají datům popisujícícm odezvu skutečného systému na vstupní podněty popsané vstupními daty). Datový model: souhrn vhodně volených dat (proměnných), z jejichž hodnot lze identifikovat stav systému. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 17
Modelování Problémová situace Existence problému, oborově orientované, nelze dát obecný návod z hlediska informatiky. Sestavení modelového objektu Oborově orientované + matematika (výběr vhodné teorie a aparátu) Sestavení výpočtového modelu Záležitost informatiky a matematiky Provedení simulací Záležitost oboru a informatiky, volba vhodné prezentace a vizualizace Identifikace parametrů modelu, verifikace výpočtového modelu Oborově orientované + matematika + informatika experiment, měření, statistické zpracování, aproximace, regresní analýza, ... Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 18
Modelování jako inženýrská činnost výběr řešení problému z mnoha možností (osvědčených znalostí a postupů) a při respektování mnoha omezení optimální volba musí respektovat účel a ekonomické, technické a organizační podmínky a omezení Inženýrská metoda (iterativní charakter) formulace problému analýza problému hledání řešení výběr řešení realizace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 19
Výpočtový model obvykle tvořen matematickým popisem problému a postupem k jeho zpracování, v reálných situacích jsou modely obvykle komplikované, nejčastěji dynamické, k popisu reality používají diferenciální rovnice, časté je použití matic k sestavení modelu a k identifikaci jeho parametrů obvykle nutné provést experimenty a statisticky je vyhodnotit postupy (algoritmy) vedoucí k získání výsledků s využitím modelu rovněž nebývají primitivní (obvykle se nejedná o "dosazení do vzorce") Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 20
Výpočtový model řešení obvykle s využitím výpočetní techniky možné přístupy: využít komerční sw pro danou problematiku (FEM - např. Ansys apod., kinematická a dynamická analýza - např. MSC.Adams, komplexní CAE balíky typu PRO/Mechanica) (k dokonalému využití nutná dobrá znalost sw, hodné pro větší firmy, konstrukční kanceláře, vysoká cena sw, omezení na oblasti a přístupy obsažené v sw), ve velmi jednoduchých případech použít běžný kancelářský sw (typicky Excel) (omezení na malý okruh problémů, ve vhodných situacích účinné), naprogramovat model v univerzálním algoritmickém programovacím jazyce (C/C++, Pascal/Delphi, ...) (žádná omezení v aplikační oblasti a použitých metodách, často neefektivní, programování je samostatná inženýrská disciplína, ne zrovna jednoduchá), využít speciální modelovací sw nástroje(Matlab/SimuLink, MapleSim, ...) (v současné době asi nejlepší varianta pro tvůrčí technické pracovníky - neprogramátory) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 21
Poznámka k programování interdisciplinární záležitost (znalosti z oblasti aplikace + informatika, hw, sw), inženýrská činnost, uplatňuje se inženýrská metoda, vliv talentu však vyšší než u jiných inženýrských disciplin, obvykle nutná spolupráce s odborníkem z oblasti aplikace (pro přijatelnou vzájemnou komunikaci je vhodné, aby tento byl počítačově gramotný), obvykle lépe pronikne programátor do oblasti aplikace než naopak, vznik nových profesí, poměrně málo početné (USA cca 0.5% populace programátorů), IT pracovníci nejsou jen programátoři (naopak, programátorů je mezi nimi menšina), Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 22
Matlab komerční sw (MathWorks), na VUT celoškolské licence, Matrix Laboratory, v současné době se stal celosvětovým standardem v oblasti technických výpočtů a simulací ve sféře vědy, výzkumu a průmyslu i ve vzdělávání, integrované prostředí pro: matematické výpočty, návrhy algoritmů, získávání dat, modelování a simulaci, analýzy a vizualizace dat, vědeckou a inženýrská grafiku, tvorbu jednodušších aplikací, včetně GUI Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 23
Matlab pracuje jako interpret (rychlejší vývoj, vysoký výkon u symbolických operací s poli, relativně nízký výkon u procedurálního kódu), rozsáhlé specializované knihovny funkcí, možný import dat z některých FEM a CAD sw produktů (např. Unigraphics, Pro/Engineer, ...), velká síla ve snadné práci s poli (vektory, matice), přímočařejší vývoj algoritmů než u klasických procedurálních jazyků, ve srovnání s klasickými programovacími jazyky se uživatel může víc soustředit na řešený problém než na struktury k jeho popisu, pro používání není nutné, aby se uživatel stal "opravdovým" programátorem, nutné však některé znalosti, dovednosti a schopnost algoritmického myšlení Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 24
Matlab vs. Octave Matlab je poměrně drahý komerční produkt, existuje freeware GNU alternativa - Octave, Octave doporučen pro samostatnou práci studentů mimo fakultu, Octave v základních možnostech srovnatelný, výhody Octave: cena, nevýhody Octave: absence uživatelské podpory, ne zcela dokonalá kompatibilita s Matlabem, výskyt některých chyb (chyby jsou v každém sw), horší vzhled a ovládání Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 25
Příklad Manipulátor pevná délka ramen, možnost natočení: je třeba simulovat pohyb koncového bodu na obrázku již je modelový objekt, v tomto případě kinematické schéma Závislost polohy koncového bodu na natočeních: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 26
Příklad Manipulátor - přechod k výpočtovému modelu Zajímá nás přechod z výchozího stavu do koncového stavu Chceme vykreslit skutečný průběh v náčrtku zeleně znázorněné trajektorie. Předpokládejme, že se natáčení děje konstantní rychlostí a tato rychlost je pro oba natáčecí mechanismy stejná, tzn. že k otočení mezi krajními polohami obou natáčecích mechanismů dojde za stejný čas, dynamické vlastnosti nebudeme uvažovat. Obě natočení budeme od výchozích hodnot zvyšovat o jeden stupeň, pro každou jejich hodnou vypočítáme souřadnice koncového bodu a zaneseme do grafu. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 27
Příklad Manipulátor - přechod k výpočtovému modelu De facto vykreslujeme body o souřadnicích celkem to bude 181 bodů. Souřadnice v závislosti na i, které nám zastupuje čas (skutečný čas nás nezajímá), jsou: Zbývá tedy spočítat souřadnice pro každé i a vykreslit graf. To můžeme např. ručně s využitím kalkulačky a milimetrového papíru. Pokud použijeme počítač, můžeme si souřadnice vypočítat a graf nakreslit např. pomocí Excelu. Další možnost je použít nějaký speciální sw pro kinematiku nebo tuto úlohu naprogramovat např. v C++. Dále ukážeme využití sw Matlab. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 28
Příklad Manipulátor - realizace výpočtového modelu v Matlabu Matlab velmi dobře podporuje práci s vektory a maticemi. Do proměnných alfa_1 a alfa_2 (budou to vektory o 181 prvcích) si připravíme hodnoty alfa_1 = (0,1,2,...180) alfa_2 = (-90,-89, ... 90) Tyto hodnoty jsou ve stupních, počítač potřebuje radiány. Proto všechny prvky vektorů ještě vynásobíme hodnotou K tomu všemu postačí použít příkazy: Nyní pro každou odpovídající dvojici natočení vypočítáme souřadnice koncového bodu. Opět budeme pracovat s vektory. V proměnné x i y je 181 hodnot, jedná se o hodnoty souřadnic koncového bodu pro příslušné hodnoty úhlů natočení ramen. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. alfa_1 = (0:180)*pi/180; alfa_2 = (-90:90)*pi/180; x = l_1*cos(alfa_1) + l_2*cos(alfa_1+alfa_2); y = l_1*sin(alfa_1) + l_2*sin(alfa_1+alfa_2); 29
Příklad Manipulátor - dokončení výpočtového modelu Je třeba ještě určit hodnoty délek ramen, v předchozích příkazech se předpokládalo, že jsou uloženy v proměnných l_1 a l_2. Hodnoty musí být do těchto proměnných přiřazeny dříve, než budou využity pro určení hodnot x a y. Celý výpočtový model zapsaný v Matlabu potom zní: Všimněte si, že proměnné l_1 a l_2 jsou skaláry, obsahují pouze jednu hodnotu. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. l_1 = 1.3; l_2 = 0.7; alfa_1 = (0:180)*pi/180; alfa_2 = (-90:90)*pi/180; x = l_1*cos(alfa_1) + l_2*cos(alfa_1 + alfa_2); y = l_1*sin(alfa_1) + l_2*sin(alfa_1 + alfa_2); 30
Příklad Manipulátor - provedení simulace Necháme-li Matlab provést příkazy z předchozího snímku, budou v proměnných x a y výsledné hodnoty. Původně jsme požadovali grafické znázornění dráhy koncového bodu. Tento graf jednoduše obdržíme po zadání příkazu: Druhý příkaz je použit pouze pro lepší orientaci v grafu, způsobí zobrazení mřížky. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. plot(x,y); grid('on'); 31
Příklad - modifikace Manipulátor - přechod k výpočtovému modelu Zajímá nás přechod z výchozího stavu do koncového stavu První rameno se tedy opět otočí o 180 stupňů, druhé rameno se však tentokrát za stejnou dobu otočí o 360 stupňů, jeho úhlová rychlost je nyní dvojnásobná než je rychlost prvního ramene. Opět budeme vykreslovat 181 bodů, hodnoty v proměnné alfa_2 tedy musíme připravit s přírůstkem 2 stupně (samozřejmě opět v radiánech). Současně se změnila koncová hodnota z 90 na 270 stupňů (-90+360). Ostatní části modelu se nemění. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. alfa_2 = (-90:2:-90+360)*pi/180; 32
Příklad - modifikace Manipulátor - provedení simulací Po vykreslení výsledků modifikovaného výpočtového modelu dostaneme graf: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 33
Příklad - závěr Manipulátor - další možnosti modelu Malými úpravami výpočtového modelu by bylo možné jej použít pro další účely, např.: zjistit akční radius koncového bodu, zobrazit časové průběhy složek pohybu koncového bodu v jednotlivých osách, určení potřebných natočení pro dosažení dané pozice manipulátoru, stanovení nejvhodnějích délek ramen pro co nejpřesnější sledování požadované trajektorie. Byť je příklad jednoduchý, budeme se k němu vracet. Detailně se "triky" použité ve výpočtovém modelu tohoto příkladu objasní v dalším průběhu semestru. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. 34