Google překladač: English Deutsch

Model-Based Development

Autor článku: Vojtěch Rulc   

Tags: CAE | LabVIEW | MATLAB | Modelování | Octave | OpenWire | Simulace | Simulink | solidThinking

modelovani simulace ilustracniV dnešní době, stejně jako kdykoliv dříve, trvá tlak na výkon, přesnost, spolehlivost výrobků a na jejich výrobní náklady. Modelování a simulace pomocí CAE se stávají stále dostupnějšími a jsou klíčem k úspěšnému a bezproblémovému uvedení produktu na trh. Zároveň se stále zlevňují nejrůznější senzory, aktivní prvky a výpočetní jednotky, což umožňuje dosahovat parametrů, kterých samotné čistě mechanické systémy nejsou schopny.

Takové systémy mohou díky senzorům vnímat okolní prostředí a pomocí výpočetních jednotek se na základě předem nastavených algoritmů rozhodnout, jak se svému okolí aktivními prvky přizpůsobit nebo jak zareagovat, aby bylo dosaženo požadovaného chování.

modelovani simulace 1

Kde lze těchto schopností využít? Použití je vskutku široké! Jako první příklad, který je nasnadě a přicházíme s ním do styku denně téměř všichni, lze uvést asistenční systémy v automobilech. Automobil díky vnímání okolí a situace, ve které se nachází, pomáhá řidiči zvládat nebezpečné manévry, dokáže přizpůsobit rychlost jízdy vozidlu před ním, na základě stavu vozovky nastavit vlastnosti odpružení, atd. Spojováním a neustálým rozvíjením takových funkcí přirozeně vznikají více čí méně autonomní automobily – tedy tzv. „samořiditelná auta“ – téma v současné době velmi populární.

Dalšími příklady, zase z jiných oblastí, můžou být automatizace v oblasti výroby, chytrá domácnost, pokročilá inteligentní klimatizace, automatická převodovka, drony, chytré vysavače, nebo třeba i robotická chirurgie, která umožňuje méně invazivní operativní zásahy, než jaké byly nutné doposud, a třeba i eliminaci přirozeného klepání rukou chirurga. Uplatnění je možné skutečně téměř kdekoliv.

Problémem, který s těmito systémy však vyvstává, je komplexita. Téměř jediná možnost, jak se s ní vypořádat, je proces tzv. Model-Based Development (MBD), který umožňuje zvládnout vývoj a simulace těchto komplexních systémů, využívajících nové možnosti mechatroniky.

Model-Based Development je vývojová metoda, která stanovuje společný rámec pro komunikaci v průběhu návrhu dynamického systému. Vývoj je založen na následujících 4 krocích:

- Modelování produktu a okolního prostředí,
- analýza a sestavení regulátoru,
- simulace produktu a fungování regulátoru,
- spojení všech předchozích fází nasazením regulátoru.

Vyjmenované kroky mohou být uplatněny na různé metody projektového managementu. Jako příklad můžeme uvést rozšířený V-diagram, jenž je znázorněn na obrázku.

modelovani simulace 2

Pro podporu Model-Based Development se na trhu nabízí hned několik řešení. Mnohá z nich jsou tradiční a etablovaná. Většina lidí z oboru zná Matlab a Simulink od MathWorks, LabVIEW od National Instruments nebo otevřený OpenWire od Mitov Software. Relativní novinkou je celá rodina nástrojů od společnosti solidThinking, která pomáhá ve všech jednotlivých fázích MBD a výše zmiňovaným softwarům se výrazně podobá. Jedná se o solidThinking Compose, solidThinking Activate a solidThinking Embed, které doplňují ještě tradiční nástroje společnosti Altair: MotionView a MotionSolve. Ty pomocí simulací multibody systémů výrazně usnadňují lineární i nelineární modelování.

SolidThinking Compose je prostředí numerických výpočtů pro vědecké účely i inženýrství. Využívá intuitivní interpretační jazyk, kterým lze pomocí jedné a té samé syntaxe provádět nejen výpočty ve všech odvětvích matematiky, ale i programovat. Nabízí řadu knihoven pokročilé matematiky a výsledky lze zobrazit ve 2D i 3D grafech. Jeho nespornou výhodou je v porovnání s prací v tabulkových kalkulátorech vyšší rychlost a kompatibilita s rozšířeným svobodným softwarem Octave.

modelovani simulace 3

SolidThinking Activate slouží k sestavování blokových diagramů a ke grafickému programování. Tento přístup je výhodný svou jednoduchostí a intuitivností. Díky němu je programování dostupné i člověku, který s ním doposud nepřišel do styku, a není nutné, aby znal nějaký programovací jazyk. Ovšem případné znalosti programovacího jazyka je možné výhodně využít při tvorbě vlastních diagramových bloků. Activate podporuje kromě Open Matrix Language a HyperMath Language i tradiční jazyk C. Další užitečnou funkcí je přítomnost bloku, který umožňuje napojit vývojový diagram na multibody model a co-simulovat spolu s MotionSolve. Díky tomu, že v MotionView lze jednoduchým průvodcem během několika desítek sekund vygenerovat model automobilu, lze pak uživatelsky přívětivě simulovat v Activate asistenční systémy vozidla. Všechny doposud zmíněné vlastnosti Activate se týkaly zpracování signálů, jak je tomu u podobných softwarů běžné. Activate ovšem umí pracovat i s importovanými knihovnami simulačního jazyka Modelica. Ten slouží k fyzikálnímu popisu modelu. Každý jeho blok vyjadřuje nějakou fyzikální entitu, ať už mechanickou, elektrickou nebo třeba termodynamickou. Ty se pak schematicky řadí a software sám vytvoří rovnice popisující znázorněný systém. Tento přístup je mezi inženýry oblíben z toho důvodu, že umožňuje rychle a efektivně měnit popisovaný systém, aniž by bylo potřeba znovu formulovat často složité rovnice.

Konečně se dostáváme k solidThinking Embed, který nachází využití především v posledním kroku MBD – nasazení regulátoru, resp. algoritmu, na vyvíjený produkt a jeho následné otestování. Tento nástroj automaticky překóduje vývojové diagramy do požadovaného jazyka (zpravidla jazyka C), který již může být nahrán na cílový hardware. S pomocí Embed je možné provádět simulace metodami SIL, PIL a HIL. Přitom je možné v reálném čase sledovat data na CAN, OPC, sériovém portu, UDP a na deskách pro sběr dat. Pro mnohé uživatele může být výhodou i možnost importu modelů ze Simulinku.

V souladu s hlavní myšlenkou MBD je i skutečnost, že zmíněné softwary jsou kompatibilní s Functional Mock-up Interface (FMI). To je standardizované rozhraní pro počítačové co-simulace. Uživateli umožňuje simulovat různé podsystémy v softwaru pro to nejvhodnějším nezávisle na jejich výrobci. Produkty solidThinking lze díky tomu použít i v kombinaci s již dříve zakoupeným a používaným softwarem jiných výrobců. A to ve všech fázích vývoje, od konstrukčních CAD programů až po závěrečné testování.

Zvládnutí MBD pomocí nástrojů solidThinking

modelovani simulace 4

Proces MBD s využitím produktů solidThinking si můžeme ukázat na příkladu vývoje aktivního odpružení automobilu. Zpočátku je nutné fyzikálně popsat mechatronický systém odpružení. K tomu se nabízí několik nástrojů. První možností je celé zavěšení kola vymodelovat jako multibody model v MotionView, čímž si ušetříme práci se sestavováním pohybových rovnic. Model pak propojíme s Activate pomocí speciálního co-simulačního bloku a můžeme se pustit rovnou do další fáze. Druhou možností si můžeme práci se sestavováním rovnic také ušetřit. V Activate využijeme knihovny Modelica a odpružení znázorníme blokovým diagramem, čímž se rovnice virtuálně vytvoří samy. Třetí cesta, nejtradičnější, je sestavení pohybových rovnic, které pak lze zapsat do bloku stavového prostoru nebo do obecnějšího bloku maticových výrazů.

Druhým krokem MBD je analýza a sestavení regulátoru. Buď můžeme použít některý z regulátorů, který Activate rovnou v základu nabízí (například PID), nebo si naprogramovat kterýkoliv jiný. K tomu lze použít buď samotné grafické programování, nebo u složitějších regulátorů využít programu Compose. V něm můžeme regulátor naprogramovat, debugovat a vyladit kód, a ten následně jednoduše zkopírovat do Activate.

modelovani simulace 5

V tuto chvíli je vše připraveno ke třetímu kroku. V něm můžeme provést simulaci a zkontrolovat výsledky. Této fázi testování samotného modelu se říká Model-In-the-Loop (MIL) simulace. Na základě výsledků můžeme ověřit, zda jsou zachovány všechny požadované funkce a zda se systém chová podle našich představ. Pokud ne, máme okamžitě možnost měnit parametry nebo algoritmus. Tato fáze testování je samozřejmě značně zidealizovaná, protože vychází z více či méně zjednodušeného matematického modelu a odehrává se za ideálních podmínek. Zmíněná idealizace je však zároveň užitečná tím, že výsledky nejsou zatíženy provozními nepřesnostmi a snáze odhalíme, proč nedosahujeme požadovaných vlastností nebo předpokládaného chování.

V závěrečném kroku přichází ke slovu solidThinking Embed. V něm navržený regulátor, zapsaný jako blokové schéma, automaticky překódujeme do jazyka C a nahrajeme na testovací hardware. Zpravidla se začíná simulací Processor-In-the-Loop (PIL), při které je regulátor nahrán na univerzální vývojovou desku osazenou stejným procesorem, kterým bude vybaven cílový hardware. Tato simulace nám umožňuje ověřit, zda procesor zvládá všechny výpočty v reálném čase, případně určit vhodnou frekvenci řídícího cyklu tak, aby byl chod bezproblémový. Dále se obvykle přistupuje k simulaci metodou Hardware-In-the-Loop (HIL). Při ní se program nahraje již na cílový hardware, ale signály ze senzorů (v našem případě patrně senzor zrychlení, senzor pro snímání povrchu vozovky, snímač tlaku, apod.) a aktivní prvky (kompresor, vysokotlaké čerpadlo, ...) jsou simulovány testovacím počítačem. Jedná se o virtuální realitu pro vyvíjený produkt. V tomto případě je spojení zajištěno jen pomocí A/D převodníků, proudových smyček, apod., na rozdíl od metody PIL, kde jako rozhraní mezi počítačem a produktem sloužil speciální komunikační kanál (sériový port, CAN, ethernet, ...). Poslední fází je už standardní fyzické testování, kterým proces MBD končí.

modelovani simulace 6

Nástroje společnosti solidThinking vás tedy mohou pohodlně provést celým vývojem mechatronických systémů. Zajištěna je nejenom kompatibilita mezi jednotlivými kroky návrhů a jejich testování, ale i kompatibilita s jinými nástroji na trhu. Právě kombinace již zavedených CAE nástrojů soustřeďujících se na konkrétní úzké oblasti problematiky a uživatelsky přívětivých nástrojů solidThinking může být obzvláště výhodná.

O společnosti solidThinking

SolidThinking je dceřinou společností tradičního výrobce CAE nástrojů Altair. Sídlí ve městě Troy, ve státě Michigan ve Spojených státech amerických, a společně s Altair provozuje kanceláře ve 24 státech na 3 kontinentech. V poslední době se ve vývoji svých softwarových nástrojů zaměřuje na uživatelskou přívětivost a jednoduchost uživatelského prostředí tak, aby bylo možné je využívat intuitivně jak zkušenými odborníky, tak méně kvalifikovanými lidmi s krátkou praxí. Důraz je kladen na to, aby uživateli vyvíjené produkty mohly být uváděny na trh efektivně rychle.
Distributorem nástrojů společnosti solidThinking na českém trhu je firma Advanced Engineering, s. r. o.

www.advanced-eng.cz

info@advanced-eng.cz


Mohlo by vás zajímat: