Rychlý průvodce simulacemi a simulačním softwarem

Rychlý průvodce simulacemi a simulačním softwarem Tagy: Software, Simulace
| Publikováno dne

Poslední úprava dne

Simulační software, program, engine či aplikace... Co si pod těmito synonymy představit? Nejdříve se zaměřme na pojem "Simulace". "Simulace" je Oxfordským slovníkem definována relativně rozsáhle, viz snímek níže. Pro případ tohoto článku budeme vycházet z poslední zvýrazněné pasáže, a to v zběžném překladu tvrzení, že "Simulace je využití počítačového modelu něčeho za účelem jeho studia, respektive lepšího porozumění". Onen účel studia si přitom okamžitě rozšíříme dále na účely tréninku (AI), testování a analytiky. Zjednodušeně mluvíme o počítačové modelování událostí za specifickým účelem.

Simulace je užitečná kdykoli, kdy je nezbytné řešit bezpečnost, chování, trénink a optimalizaci jakýchkoli systémově uchopitelných zdrojů (číslicově řízené stroje, AI systémy, lidé, kooperace). Leč se tato problematika může zdát úplatná až poslednímu desetiletí, nejvyšší četnosti pojmu "simulace" v odborné literatuře bylo dosaženo kolem roku 1991.

Definice slova "Simulace" dle slovníku Oxford Languages a jeho frekvence užívání v čase

Od vrcholu počtu vydaných publikací zaměřených na simulace eskalujícím v letech 1990-1993 došlo k neuvěřitelnému posunu technologických možností zaručujících znatelně vyšší rychlost, škálovatelnost a přesnost simulací. Současné roky jsou ve znamení cloud computingu, umělé inteligence, zaměření na automatizaci a především o dokončování rychlých 5G sítí, které odbourají další část doposud existujících limitací. Opomenout ovšem nesmím to nejzásadnější - ono druhé slovo z nadpisu - zkrátka, nástroj pro tvorbu, správu a řízení simulací. Je přitom jedno, zda jej nazveme softwarem, programem, nebo aplikací. Pojďme se na tyto simulační nástroje a jejich možnosti podívat blíže.

1. Seznámení se s moderními simulacemi

Neexistuje téměř oboru, pozice a místa, kde by moderní simulace nenacházely uplatnění. Ze snadno uchopitelných simulací vezměme profesní simulace zaměřené na výcvik pracovníků - pilotů, chirurgů, vojáků, řidičů, elektrikářů, zdravotních sester, policistů, hasičů a mnoha dalších. V těchto případech je obecným cílem simulace zvýšeni psychické stability - nechat pracovníky virtuálně zažít psychicky náročné a kritické situace poplatné jejich profesi tak, aby na ně byly lépe připraveni v momentě, kdy k nim dojde naostro.

Simulace ve virtuální realitě při tréninku operačních zákroků

Pokročilejším typem jsou průmyslové simulace. V tomto případě se simuluje zpravidla chování příkazově definovaného, částečně autonomního, robotického pracoviště, případně vzájemné kooperace takovýchto pracovišť v rámci plně nebo částečně (s lidskou obsluhou) robotizované linky.

Digitální model robotizované továrny na výrobu nákladních vozidel

Nejnáročnější disciplínou jsou simulace chování autonomních strojů plně řízených umělou inteligencí (AI). Typickým zástupcem jsou autonomní manipulátory, zdvižné vozíky či samořízené automobily. Obdobnou záležitostí mohou být simulace založené na obecných vzorcích chování živočichů, předpokladů (kosmické programy) a dat sesbíraných v rámci chytrých zařízení propojených v rámci IOT (internet věcí).

Společným jmenovatelem výše zmíněných příkladů užití je v podstatě nemožnost provádění obdobných simulací v reálném světě - je to příliš časově, finančně a technicky náročné, nehledě na bezpečnostní rizika spojené se selháním.

Naproti tomu, virtuální simulace jsou enormně efektivní a nesou spolu velmi málo rizik. Aby byly přesné a funkční, je potřeba pracovat v digitálním prostoru s fyzikálně přesnými komponentami ve fyzikálně přesném světem. Mluvíme zde o tzv. digitálních dvojčatech (digital twin) - digitálníchch modelech přesně reflektujících vlastnosti reálného světa.

2. Zpracování simulačních dat - Real-time vs Batch vs Stream processing

Výraz processing (zpracování) zná každý. Občas se lze setkat i s nadřazeným výrazem pipeline, který velmi zjednodušeně je souborem pravidel řídících proces zpracování výpočetních požadavků. Právě tím je definováno zpracování typu realtime, batch a stream.

  1. Real-time processing

    Jak je z názvu patrné, zpracování v reálném čase je metoda okamžité simulace na základě aktuálních dat. Odezva mezi vstupem a výstupem, tedy čas zpracování, se v tomto případě pohybuje v co nejkratším možném časovém intervalu, typicky milisekundách.

    Příkladem užití real-time processingu jsou aplikace určené pro profesní simulace. Pracovníci v nich interagují s prostředím a na základě těchto interakcí je průběh simulací okamžitě aktualizován. Představit si můžete letecký simulátor - každá interakce s letadlem vyvolává okamžitou reakci. Asi není překvapením, že real-time processing je hojně využívám ve hrách.

  2. Batch processing

    Batch processing je metoda pro efektivní zpracování velkého objemu dat najednou. Na vstupu je obvykle počítačová databáze, z níž jsou data simulačním softwarem průběžně hromadně vytahována a zpracovávána. Výstupem je posléze simulace ve formě výstupní zprávy libovolného typu. Po čas zpracování není možné do výpočtů zasahovat, doba trvání zpracování je odvislá čistě od výpočetního výkonu výpočetní stanice. Tím je značně ztíženo případné ladění.

    Batch processing lze tedy používat v případě individuálních simulací, jejichž průběh je striktně definován a jejichž výstupy neslouží jako okamžité vstupní body do následujících procesů - tedy výstupy nemusí být k dispozici v rámci úzce definovaného času.

  3. Stream processing

    Stream processing je způsob zpracování vhodný při vzájemné kooperaci dvou a více systémů. Výstup z jednoho systému je přímým vstupem systému druhého, a to bez jakéhokoli mezi ukládání dat v databázi (není-li to vyžadováno pro účely dodatečné analytiky).

    Stream Processing je tedy jakýmsi systémem založených na komunikaci více systémů prostřednictvím mezi sebou zasílaných událostí. Oproti realtime processingu však Stream processing pracuje pouze se zdroji uvnitř svého uzavřeného systému (nedochází zde k interakcím zvenčí).

3. Simulační software jako vývojová platforma

Spektrum využitelnosti simulací je extrémně široké. Zpracování simulací se dále liší dle konkrétních potřeb. Jejich rozsah se přitom může lišit ba průběžně měnit. K dosažení dlouhodobě přínosných a efektivních přínosů je nezbytné využívat komplexního řešení, které umožňuje práci s interními i externími vstupy - doslova vývojovou platformu.

Očekávání od simulačního software

Vlastnost Popis
Přívětivost Přehledné uživatelské prostředí, snadná použitelnost, rychlé odezvy
Interoperabilita Možnost propojení s dalšími nástroji prostřednictvím komunikačních protokolů (API, DIS, HLA, DDS...)
Otevřenost Možnost přidávání dalších funkcionalit přímo nebo prostřednictvím balíčků
Týmová práce Možnost sdílení práce a dat v týmu
Deployment Způsob zpracování dat - lokální výpočetní stanice, cloud...
Možnosti nastavení parametrů výstupu - přesnost, vzhled, formát, cílové zařízení...
Kvalitní výstupy Nejen přesnost výsledků, ale i jejich snadno pochopitelné a modifikovatelné vyobrazení
Nelimitovaný prostor Možnost provádění simulací v libovolném měřítku
* Uvedené body se samozřejmě mohou částečně lišit na základě potřeb simulací v konkrétním odvětví

Výše obsažené vlastnosti lze následně vizualizovat do následující struktury užívané při tvorbě a zpracování simulačních aplikací.

Výstupní levelVýstupní data simulace v požadovaném formátu
Aplikační level Uživatelské rozhraní pro přípravu a definici parametrů simulací.
Integrační level Vrstva zahrnující veškeré nástroje potřebné pro tvorbu simulací. Základní nástroje jsou obsaženy v této vrstvě nativně, další mohou být přidány prostřednictvím balíčků a napojením na další systémy.
Framework level Engine obsahující vývojové nástroje nezbytné pro běh všech vyšších vrstev. Schopnosti enginu ovlivňují rychlost výpočtů, interoperabilitu, kvalitu renderingu a spousty dalších věcí.

Při volbě optimálního simulačního softwaru je potřeba brát v potaz všechny tyto vrstvy, paradoxně to na první pohled nejviditelnější - tedy aplikační level - je to nejméně důležité. Naučit se v méně intuitivním prostředí je totiž snazší, než přidávání nových funkcí, psaní vlastních rozšíření a jiných zásahů do softwaru určeného pro tvorbu simulací.

Způsob práce v simulačním software

Počítačové simulace se provádí v plně digitálním prostředí, a to za využití modelů a řídících systémů dle konkrétních potřeb. Základní nezbytnou funkcí simulačního softwaru je podpora importu modelů v co nejvíce formátech. Hned další potřebou je propojení chování modelu s ideálně identickým řídícím systémem, jako je používán v reálném světě. Toho lze dosáhnout pomocí přímého propojení, případně přes emulátor.

Po propojení modelu s řídícím systémem se lze zaměřit na definici prostředí simulace. Simulovat počasí, povětrnostní podmínky, viditelnost, denní čas, adhezi, gravitaci, tlaky, skupenství hmoty a spousty dalšího. To vyžaduje použití velmi přesné fyziky adaptované na konkrétní případ. Opět se neobejdeme bez buď nativního nebo externího nástroje.

Nezbytnou dovedností při simulacích je nejen znalost fyzikálních procesů, ale i samotného principu fungování simulací. Je rozdíl v tvorbě tréninkových aplikací pro lidi a stroje - rozpoznávací schopnosti zmíněných fungují rozdílně. Stejně tak je výhodná schopnost zaměření se jen na to důležité - tvoří-li se simulace zahrnující prostředí, postačí pro správný výsledek použít generické (náhodné prostředí), geotypické (působí reálně, ale není), nebo geospecifické (digitální kopii reálného prostředí)?

V závislosti na typu simulace mohou následovat další úkony od optimalizace pro rychlejší a plynulejší běh, přes analytiku, aplikaci algoritmů pro hledání co nejefektivnějšího nastavení a podobně. O tom případně více v jiných článcích.

4. Rychlý pohled na dostupné softwary pro tvorbu simulací

Rozhodnete-li se pro využívání simulací, budete jistě řešit otázku jak a v čem tyto simulace tvořit. Po chvíli hledání na internetu dojdete navíc k závěru, že Váš problém netkví v neexistenci vhodného nástroje, ba naopak, v jejich nadbytku a "o to těžším" výběru. Nakonec stačí se podívat na seznam existujících simulačních softwarů. Onen seznam navíc není úplný, nesmíme zapomínat ani na obecnější univerzální nástroje vhodné rovněž pro tvorbu simulací. Příkladem mohou být herní enginy, zejména Unreal a Unity.

Právě jejich použití je velice vhodné při profesních simulacích díky vysoké podobnosti tvorby těchto simulací s vývojem her. Avšak díky specializovaným nástavbám a možnostem propojení s externími nástroji lze oba herní enginy využívat i pro další typy virtuálních simulací.

Když už přijde na samotný výběr softwaru, je nutné se připravit na poměrně netransparentní cenový model, jestliže nejdete směrem bezplatného řešení. Simulační softwary jsou zpravidla specializované nástroje prodávané v malém množství, zpravidla individuálně. Od toho se odvíjí vyšší ceny, které navíc zpravidla zjistíte až po zaslání poptávky.

Ze všeho doposud napsaného Vám pravděpodobně přijde využívání virtuálních simulací extrémně komplikované - komplexní technologie, potřeba specializovaných pracovníků, pravděpodobně vysoké fixní náklady. Nejspíše nejvhodnější čas přejít na ukázky simulací a z nich pramenících finančních, zdravotních, emočních a technologických benefitů.

5. Příklady simulací ve virtuální realitě

S dnešními technologiemi a nástroji lze efektivně simulovat cokoliv. Mezi simulace by šlo zařadit i nejráznější automatizované testy prováděné na úrovni jednotlivého softwaru i celých závodů, v rámci tohoto článku se však budu zabývat typem simulací vedoucích nejen k ověření správné funkčnosti a chování, ale především přinášejících nové poznatky a možnosti využití vedoucí ke zvýšené efektivitě a produktivitě. Rozdělil jsem je do 3 následujících kategorií:

  • Profesní simulace pro efektivní vzdělávání a přípravu pracovníků
  • Profesní simulace pro zvyšování efektivity a stability výroby
  • Specializované simulace pro využití v úzce zaměřených odvětvích

5.1 Profesní a vzdělávací simulace

Účelem profesní simulace je efektivní předání zkušenosti. Vyjma správných postupů pro provádění profesí se může jednat i o obecné vzdělávací simulace - například pro výuku chemie. Jistě z vlastní zkušenosti víte, že nejtěžší věci jsou ty, které děláte poprvé. S každým dalším opakováním provádíte daný úkon s vyšší jistotou, rychleji a často i lépe. To je přínosem, avšak někdy i rizikem.

Specializovaná simulace dokáže řešit obojí. Nováčkům přinese prvotní zkušenost a tím zvýší jejich jistotu při obdobných úkonech v reálném světě. Naopak, ostříleným matadorům dokáže simulovat nejrůznější problémy a tím je udržovat v pozoru.

Aby byla vzdělávací simulace co nejefektivnější, musí v uživateli vyvolávat emoce. Jen tak se zažité události v rámci tohoto simulačního tréninku zapíšou do dlouhodobé paměti pracovníka. Díky tomu chyby bezpečně vykonané v rámci simulace nebudou s vyšší pravděpodobností opakovány v reálném světě, s existujícím reálným nebezpečím.

Klíčovou nutností užitečné simulace je realističnost a plná přítomnost pracovníka. Obojímu pomáhá provádění simulací ve virtuální realitě, avšak přesto v reálném měřítku, čase a prostoru. To je možné s využitím brýlí pro virtuální realitu.

Výhodou virtuálních profesních simulací je i škálovatelnost. Oproti výcviku pracovníků v testovacích centrech čítajících jen omezený počet výcvikových pracovišť, simulace pracovních úkonů ve virtuální realitě je limitována pouze počtem VR headsetů. Již zavedená výcviková centra poté mohou sloužit až pro finální přípravu pracovníků.

Příklady oborů

  • Chirurgie - příprava mediků a operatérů na nové typy a metody operativních úkonů a zvládání krizových situací
  • Elektroinstalace - příprava pracovníků pracujících s elektrickými rozvody
  • Letectví - příprava pilotů na nové typy letadel a zvládání krizových situací
  • Bezpečnostní složky a BOZP - příprava hasičů, policistů a dalších pracovníků na krizové momenty jejich profese
  • Výroba - teoretická příprava pracovníků do výroby - seznámení s pracovišti a úkony

Obecně k tvorbě profesních a vzdělávacích simulací

Profesní simulace se velmi podobají hrám a v podstatě stejným způsobem jsou i tvořeny. K tvorbě se využívá zpravidla real-time herní engine, ve většině případů Unreal nebo Unity. Oproti hrám jsou simulace zaměřené na maximální realističnosti. Hojně se využívá digitálních dvojčat, tedy přesné kopii fyzických prostor, strojů a mechanismů v digitálním světě. Vývojáři herních enginů s tímto využitím počítají a jdou jemu naproti - v obou zmíněných herních enginech je dostupná řada nástrojů pomáhající s tvorbou simulací.

Virtuální simulace může probíhat plně ve virtuálním světě, případně v kombinaci propojení virtuálního a fyzického světa.

Profesním simulacím se věnuji v rámci služby tvorba profesních a vzdělávacích simulací. Na dané produktové stránce naleznete detailní přehled informací vztahujícím se k produktům zabývajícími se vzděláváním současných a budoucích pracovníků. Součástí stránky jsou rovněž případové studie prokazující přínos vzdělávání a tréninku ve virtuální realitě.

5.2 Průmyslové simulace

Automatizace a počítačové řízení je neodmyslitelnou součástí výroby. Z období automatizovaných strojů obsluhovaných lidskou obsluhou se pomalu přesouváme do průmyslu 4.0 a s ním související částečné a plně autonomní výroby. S tím přichází potřeba simulací umožňující simulace na celých výrobních celcích namísto jednotlivých pracovištích.

Při návrhu, optimalizaci a řízení plně automatizovaných výrobních linek je nezbytné řešit efektivní propojení jednotlivých automatizovaných pracovišť formou přímých přepravníků případně autonomních manipulátorů. Výsledkem je potřeba komplexní simulace zahrnující procesy samotné výroby i přepravy. Do procesu může vstupovat řada rozdílných operačních systémů. Průmyslové simulace umožňují veškeré tyto aspekty zahrnout a tím umožnit komplexní pohled na výrobní proces.

Nezpochybnitelnou součástí simulací v průmyslové výrobě je rovněž virtuální prototypování. Jeho využití se uplatňuje při návrhu a vývoji nových robotů a jiných automatizovaných strojů s hardwarem řízeným softwarem.

Průmyslové simulace lze řešit ve specializovaných softwarech (například VisualComponents), stejně jako herního enginu se specializovaným rozšířením (např. Prespective nebo Algoryx pro Unity / Unreal). Softwaru Prespective se věnuji v článku Prespective - Software pro virtuální simulace v herním enginu Unity, pluginům od Algoryx poté v Komplexní fyzikálně přesné simulace s AGX Dynamics od Algoryx.

Více informací k průmyslovým simulacím naleznete na prodejní stránce služby zabývající se tvorbou průmyslových simulací.

5.3 Specializované simulace

Za specializované simulace v rámci tohoto článku považuji úzce zaměřené simulace bez ohledu na odvětví. Může se jednat o široce používané řešení pro simulaci konkrétních dílčích uzlů, avšak i velmi specifické řešení na míru pro běh simulací pouze v rámci jedné firmy.

S narůstajícím počtem společností, které konkrétní simulaci vyžadují, rapidně roste pravděpodobnost úzce zaměřeného, již hotového. řešení (pravděpodobně vhodný specializovaný nástroj naleznete v rámci seznamu připojeném v kapitole Simulační softwary). Naopak, čím méně mainstream dané simulace jsou (například simulace v rámci vývoje autonomního řízení), o to vyšší je předpoklad využití obecného softwaru se specializovanou (komerční nebo vlastnoručně vyvinutou) nástavbou.

_______
Rádi by jste využili virtuální simulace v rámci Vašeho podnikání?
Průmyslové simulace | Profesní simulace