Proč vyvíjet mobilní roboty?
 |
| Obr. 1 Schéma efektivního počítačového návrhu |
Stroje s kolovým nebo pásovým podvozkem dálkově řízené nebo s vlastním autonomním chováním jsou již používány (za všechny lze uvést vozítka na Marsu). Mezi vhodné aplikace patří hlídková a servisní činnost v oblastech nedostupných nebo nebezpečných člověku (jaderná zařízení), odstraňování min a pyrotechnika obecně, vojenství a kosmonautika. Jinou oblast využití představuje záchranářská technika (vyhledávání obětí zemětřesení) a dále sociální a zdravotní péče. Mimo tyto spíše výjimečné způsoby nasazení jsou vyvíjeny také například roboti pro obsluhu automatických výrobních linek.
Vývoj mobilních robotů vede také stimulaci jiných vědních a technických oborů. Mobilní roboti vyžadují vyspělé technologie, které se pak využívají i jinde. Například firma Toyota pracuje na projektu humanoidního robotu a proklamuje, že výsledky výzkumu v oblasti senzoriky aplikuje v nových modelech automobilů. Podobně je podporován vývoj v oblasti umělých svalů a manipulátorů, jehož výsledky lze použít pro návrh nových aktivních protéz.
V neposlední řadě jsou mobilní roboti velmi vhodným objektem výuky. Představují ideální interaktivní mechatronickou soustavu, na které lze popisovat problémy mechaniky, návrhu pohonů, elektroniky, řízení atd. Nezanedbatelný je faktor relativně velkého zájmu studentů o danou problematiku a z toho plynoucí míra motivace.
Proč chodicí roboti?
Klasičtí roboti na kolech nebo pásech mají problémy s překonáváním i poměrně jednoduchých překážek. Typickým příkladem jsou obyčejné schody, které může mnohem lépe překonat chodicí robot. Pokud se podaří sestrojit robota, který bude mít mechanické schopnosti alespoň blízké člověku, bude tento robot schopen pohybu v nám přirozeném prostředí, což je velmi důležité. Tento směr vývoje dosvědčují v posledních letech nové konstrukce humanoidních robotů se stále lepšími vlastnostmi a schopnostmi.
Chodicí robot však patrně ještě dlouho nebude schopen „konkurovat“ kolovému v běžných aplikacích. Je to dáno třemi základními problémy, kterým mobilní robotika čelí a které jsou u kráčejících strojů ještě mnohem komplikovanější. Je to problém umělé inteligence (a složitosti řízení obecně), problém energie a problém ceny vlastního robota. Žádný z nich ale není neřešitelný.
Počítačové modelování
Počítačové modelování představuje mocný inženýrský nástroj. Velký rozsah teorie i praxe modelování vyžaduje přesné vymezení oblasti, ve které se pohybujeme. Pro významnou třídu problémů vztažených k analýze chování komplexních mechatronických systémů postačuje uvažovat dynamické systémy se soustředěnými parametry. Představuje to většinou přípustné zjednodušení, které výrazně ulehčí (dá se říci, že umožní) řešení. V mechanice jsou to soustavy tuhých (nedeformovatelných) těles propojených vazbami, které mohou být pružné – tzv. soustavy MBS (Multi Body System), v elektrotechnice pak klasické obvody s odpory, kondenzátory a indukčnostmi soustředěnými do jednoho bodu.
Základní speciální úlohy
V určitých fázích návrhu mobilního robota (nebo obecně mechatronického systému) lze řešit izolovaně jednotlivé mechanické, elektrické a další problémy, zejména následující:
- úlohy kinematiky: přímá a inverzní kinematická úloha, generování trajektorie – představují řešení soustav algebraických nelineárních rovnic, příp. transcendentních rovnic; analytické řešení inverzní úlohy často nelze najít a používá se iterační algoritmus využívající výpočtu Jakobiánu;
- úlohy statiky: slouží k přibližnému (a někdy i dostačujícímu) dimenzování pohonů a mechanických částí robota a matematicky jde o řešení algebraických rovnic;
- úlohy dynamiky: řeší setrvačné účinky mechanických částí systému, které mohou být podstatné; jde o řešení soustavy nelineárních obyčejných diferenciálních rovnic, inverzní úloha nelineární algebraické rovnice;
- návrh pohonů: na základě znalosti potřebné síly a rychlosti, resp. momentu a úhlové rychlosti je vybrán (příp. konstruován) vhodný pohon (motor a převodovka);
- pevnostní analýza: slouží k dimenzování jednotlivých částí konstrukce; v tomto případě jsme se spokojili s hrubou kontrolou únosnosti součástí, důkladná optimalizace tvaru nebyla prováděna (např. z důvodu relativně malého poměru hmotnosti mechanické konstrukce k celkové hmotnosti robota).
Komplexní model
Práce se základními úlohami nemůže ovšem poskytnout věrohodný pohled na systém jako celek a obtížně zachytí informační a energetické toky mezi jednotlivými podsystémy. Proto pracujeme s komplexním modelem, který je tvořen těmito vhodně propojenými dílčími modely:
- mechanický model (dynamika mechanismu robota);
- elektrický model (dynamika elektrické části pohonu);
- elektronický model (senzory, zpracování sensorické informace, spínané zdroje energie);
- řídicí model (digitální řízení servopohonů);
- vyšší úrovně řízení a plánování (generování trajektorie, rozhodování, inteligence stroje).
Při komplexním modelování se postupuje jinak než v klasickém pojetí konstrukce, při němž byl systém dekomponován na jednotlivé „obory“, které byly řešeny odděleně příslušnými specialisty. U vysoce optimalizovaných soustav tak postupovat nelze. Hodnota parametrů mechanických, pohonových a řídicích je natolik provázána, že jejich volbu nelze od sebe oddělit. Klasický přístup vede obecně na předimenzování dílčích podsystémů, které zde není možné tolerovat.
Přirozeně tak komplexní modelování vyžaduje řešení problému optimalizace systému s mnoha parametry. Nabízejí se stochastické, evoluční (genetické algoritmy) a jiné metody.
Virtuální prototyp
Virtuální prototyp (VP) lze chápat jako zobecnění komplexního modelu popsaného v předchozí části. Vedle vlastního mechatronického systému je modelována také jeho interakce s okolním prostředím (statickými i dynamickými objekty). Dále se velmi často využívá vizualizace dynamiky chování. Široce chápaný VP také zahrnuje výrobní technologii, montáž atd., kterými se zde však zabývat nebudeme.
Jako důležitý aspekt VP se v literatuře často objevuje model systému 3D CAD, jenž je často uváděn jako prvotní element celého VP. Tento názor nemusí být vždy platný – například pro dynamickou analýzu MBS plně postačuje definice hmotností a matic setrvačnosti jednotlivých těles, jejich konkrétní tvar a rozměry nejsou podstatné. Návrh 3D CAD má v procesu návrhu konečného produktu důležité místo, je ale vhodné ho realizovat až po provedení základních důležitých simulačních výpočtů a ujasnění nejenom koncepce systému, ale i konkrétních optimalizovaných parametrů (první iterace VP). V další iteraci je možné data 3D CAD použít pro zpřesnění VP.
Virtuální prototyp by měl (byť v omezené míře) umožnit takové testování budoucího produktu na počítači, které je srovnatelné s testováním reálného prototypu. O tom, že se tato snaha daří, svědčí mimo jiné nové modely automobilů a dokonce letadel, o kterých výrobci tvrdí, že byly celé navrženy a testovány na počítači.
Efektivní návrh mechatronického systému
 |
| Obr. 2 Návrh inverzního kinematického modelu v prostředí SimMechanics |
Je zřejmé, že v různých fázích návrhu konečného reálného prototypu se používají rozdílné modely tak, aby byl celý proces maximálně efektivní. Na obr. 1 je uvedeno schéma možného způsobu efektivního počítačového návrhu od zadání základních požadavků po oživení reálného prototypu. Jednotlivé bloky schématu mají následující význam. Ve fázi zadání problému modelovaného systému jsou definovány požadavky na nově vyvíjený technický objekt nebo je prováděna analýza existujícího objektu. Elementární výpočty (první iterace) jsou charakterizovány volbou koncepce, topologie a prvním návrhem geometrie. Pomocí elementárních výpočtů (statických, kinematických atd.) jsou tyto specifikace ověřeny a upraveny. Obtížně modelované jevy, jako například vliv dynamiky složitého mechanismu, zahrnujeme v této fázi naddimenzováním parametrů systému (např. pohonů).
 |
| Obr. 3 Čtyřnohý robot Jaromír |
V bloku komplexního modelu (druhá iterace) je již vytvářen model systému zahrnující všechny potřebné podsystémy (mechanický, elektrický, řídicí atd.). Modely mohou mít různou složitost a pro jejich vytváření lze použít nástroje pro automatickou tvorbu modelu. Po odladění modelu se definuje požadované chování a následně optimalizují parametry. Jedná se pochopitelně o proces podobný předchozí iteraci, ovšem je vykonáván na kvalitativně vyšší (přesnější) úrovni. Ve fázi virtuálního prototypu (třetí iterace) je k simulačnímu komplexnímu modelu přidána interakce s okolím a dochází ke zpřesňování jednotlivých submodelů. Významnou roli hraje vizualizace, aktuální je detailní návrh 3D CAD. Postupně se zapojují dílčí fyzické součásti navrhovaného systému (testování hardwaru, HiL – Hardware in the Loop, MiL – Mechanics in the Loop, SiL – Software in the Loop). Tím významně rostou nároky na výpočetní rychlost modelu (VP), numerické modely v případě možnosti nahrazujeme analytickými.
Výsledkem popsaného postupu modelování by měl být prototyp splňující trojimperativ dobrého projektu (parametry, cena, čas). Během skutečného návrhu pochopitelně nejde vše tak hladce, jak ukazuje teorie. Potíž je s faktory, které nelze předpovídat a modelovat, nebo které nejsou při zadání projektu známy a vynoří se v tu nejnevhodnější chvíli.
Pak je nutné opustit dílčí výsledky, vrátit se například v schématu o iteraci zpátky nebo (v horším případě) provádět úpravy již na hotovém prototypu. Konkrétní zkušenosti se stavbou experimentálních chodicích robotů jsou uvedeny v další kapitole.
Použité nástroje
Výše uvedený přístup k návrhu robota byl realizován pomocí sady programu Matlab:
- Matlab/SimMechanics – nástroj pro automatickou tvorbu mechanických modelů (statických, kinematických a dynamických) na základě zadané topologie a geometrie (tělesa a vazby) – tímto nástrojem byl proveden první a rychlý krok v procesu návrhu systému;
- Matlab/Simulink – návrh součástí komplexního modelu mimo mechanismus (elektrický submodel, řízení, výpočet parametrů apod.);
- Matlab – analytické kinematické modely v podobě funkcí
Na obr. 2 je příklad navrženého inverzního kinematického modelu (pro jednu polohu) v SimMechanics. Nahoře je model CAD, který poskytuje hmotnosti a matice setrvačnosti jednotlivých těles pro bloky Body. Vazby Joint pak definují možný vzájemný pohyb těles. Vstupem do modelu je poloha koncového bodu nohy, výstupem natočení tří servopohonů. V dolní části obrázku je pak vizualizace v prostředí SimMechanics, která nepracuje s přesnou trojrozměrnou podobou těles, ale pouze s geometrií přípojných bodů. Po spuštění simulace je na základě zadaných vlastností systému automaticky vytvořen kinematický nebo dynamický model, který je následně je řešen (přímá dynamika integrací).
Realizovaní experimentální roboti
Metody a přístupy popsané v tomto článku byly použity při stavbě dvou experimentálních robotů (Laboratoř mechatroniky, ÚT AV ČR a ÚMTMB FSI VUT v Brně). Do projektů byli zapojeni i studenti a realizace proběhla během krátké doby (několik měsíců). Konstrukce robotů byla vyrobena z obrobených duralových profilů a pro pohon byly použity servopohony RC. Pro řídicí elektroniku byly použity mikrokontroléry Atmel ATMega.
Čtyřnohý robot Jaromír
 |
| Obr. 4 Kinematický model robota Jaromír v prostředí Matlab/SimMechanics |
Čtyřnohý robot Jaromír (obr. 3) vznikl v roce 2003 a je výsledkem samostatné aktivity několika studentů FSI. Hlavním cílem bylo vytvoření fyzického experimentálního zařízení, na němž by bylo možné ověřovat a implementovat teoretické výsledky dosažené v rámci diplomových a dizertačních prací. Převážně se jedná o problémy modelování kinematiky, dynamiky, řízení a využití algoritmů umělé inteligence.
Robot je schopen samostatného pohybu po rovině (algoritmus chůze řízen umělou neuronovou sítí), při dálkovém řízení z PC (BlueTooth) pak zvládá i chůzi po nerovném terénu. V současné době jsou připraveny některé prvky senzorického systému, například infračervené dálkoměry pro detekci překážek, akcelerometry MEMS (Micro Electro-Mechanical System) pro zjištění natočení robota v prostoru, FSR snímače pro měření kontaktní síly v došlapu.
Při návrhu robotu sehrálo počítačové modelování významnou roli. Před výrobou prototypu jsme v podstatě pracovali pouze s první iterací modelu (podle schématu na obr. 1), což bylo vzhledem k charakteru problému dostatečné (požadavek pomalé, statické chůze). V průběhu testování vlastností prototypu byl využit kinematický model celého robota sestavený v prostředí Matlab/SimMechanics (obr. 4).
 |
| Obr. 5 Konstrukce robota Golem II vytvořená v prostředí 3D CAD |
V současné době je však vytvořen virtuální prototyp, který byl použitý pro ověření algoritmu chůze po nerovném terénu. Bez počítačové simulace by bylo testování nesmírně časově náročné a hrozilo by poškození experimentálního robota. Počítačový model v Matlab/SimMechanics byl také použit pro generování tréninkových dat pro učení neuronové sítě (chůze po rovině). Dále byly automaticky vytvořené modely použity jako referenční pro rychlé analytické kinematické modely.
Během výroby prototypu se ukázalo, že vypočtené hodnoty velmi dobře odpovídají realitě. Vyskytly se jen drobné problémy s převody menších servopohonů, které nezvládaly rázová zatížení a musely být vyměněny za odolnější kovové. Některé další obrázky, video a vizualizaci ve formátu VRML si lze prohlédnout na stránce:
www.umt.fme.vutbr.cz/~rgrepl/.
Dvounohý robot Golem II
Dvounohý robot Golem II vznikl v roce 2005, a to již plně v rámci výzkumných aktivit Laboratoře mechatroniky. Koncepčně je podobný čtyřnohému robotu, podstatně náročnější jsou ovšem požadavky na pohony a řízení. V současné době je řídicí elektronika stále ve vývojovém stadiu, jsou prováděny experimenty s řízením stability na základě vyhodnocení došlapových snímačů FSR. Byly také zrealizovány základní experimenty s únosností a stabilitou.
 |
| Obr. 6 Vývoj robota Golem II |
Během návrhu byl použit především simulační model mechanismu robota v prostředí Matlab/SimMechanics. Vliv servopohonů byl zahrnut pouze omezením působícího momentu. Opakovanými výpočty se změnou parametrů byly optimalizovány geometrické rozměry a typy použitých servopohonů. Následně byla vytvořena konstrukce 3D CAD (obr. 5) a byly opět provedeny zpřesňující výpočty. Zásadní roli sehrály automaticky vytvořené modely během návrhu analytických kinematických modelů, které sloužily jako verifikační. Díky tomu byl relativně rychle proveden přepis modelů do jazyka ANSI C a implementace do řídicího mikrokontroléru.
Při oživování prototypu se vyskytly dva problémy: komplikovanější chování digitálně řízených servopohonů (oproti dříve použitým analogovým) a stálá regulační odchylka nejvíce namáhaných kyčelních servopohonů. Řešením bylo překonstruování řídicí jednotky a náhrada několika pohonů výkonnějšími a digitálně řízenými. Projekt je v současné době v aktivním vývoji (obr. 6).
Závěr
Počítačové modelování může být při vhodném použití velmi účinným nástrojem, který urychlí a zkvalitní návrh nového stejně jako inovační cyklus stávajícího mechatronického systému. Důležitá je vyvážená volba typu modelu (od jednoduchých základních výpočtů až po velmi komplikované virtuální prototypy), a to i s ohledem na dobu jeho použití v kontextu celého projektu. Vhodnou teoretickou základnu nabízí mechatronika.
Metody a přístupy popsané v článku byly aplikovány při vývoji dvou experimentálních chodicích robotů, přičemž jako vývojové nástroje byly použity Matlab a Matlab/Simulink/SimMechanics. Díky počítačovému modelování a velké motivaci řešitelského týmu včetně studentů inženýrského i postgraduálního studia byly během krátké doby zrealizovány oba projekty, jejichž vývoj stále pokračuje.
Výsledků publikovaných v tomto článku bylo dosaženo za podpory projektu MSM 0021630518 Simulační modelování mechatronických soustav.
Ing. Robert Grepl, Ph.D.
Laboratoř mechatroniky
společné pracoviště
ÚTAVČR a ÚMTMB FSI VUT v Brně