Vybrané partie z robotiky

Podobné dokumenty
SLAM. Simultaneous localization and mapping. Ing. Aleš Jelínek 2015

Programování průmyslových robotů. Ing. Adam Chromý

Mechanika. Použité pojmy a zákony mohou být použity na jakékoliv mechanické stroje.

Mechanika

Statika. fn,n+1 F = N n,n+1

ZÁKLADY ROBOTIKY Kinematika a topologie robotů

SEBELOKALIZACE MOBILNÍCH ROBOTŮ. Tomáš Jílek

Úvod do mobilní robotiky NAIL028

Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

2. Kinematika bodu a tělesa

České vysoké učení technické v Praze Fakulta biomedicínského inženýrství

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

Kalibrační proces ve 3D

Měření průtoku kapaliny s využitím digitální kamery

Robotické architektury pro účely NDT svarových spojů komplexních potrubních systémů jaderných elektráren

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

GIS Geografické informační systémy

CNC stroje. Definice souřadného systému, vztažných bodů, tvorba NC programu.

PRŮMYSLOVÉ ROBOTY A MANIPULÁTORY

Měření dat Filtrace dat, Kalmanův filtr

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Aleš Najman [ÚLOHA 38 KONTROLA A POHONY]

Teorie tkaní. Modely vazného bodu. M. Bílek

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

OSA. maximalizace minimalizace 1/22

GIS Geografické informační systémy

Genius 4x Čtyřosý pozicionér pro frézovací, vrtací a vyvrtávací stroje

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

5. Umělé neuronové sítě. Neuronové sítě

Cíle lokalizace. Zjištění: 1. polohy a postavení robota (robot pose) 2. vzhledem k mapě 3. v daném prostředí

SEBELOKALIZACE MOBILNÍCH ROBOTŮ. Tomáš Jílek

Roboty a manipulátory. Učební text VOŠ a SPŠ Kutná Hora

Jasové transformace. Karel Horák. Rozvrh přednášky:

Odměřovací systémy. Odměřování přímé a nepřímé, přírůstkové a absolutní.

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

Dynamika tekutin popisuje kinematiku (pohyb částice v času a prostoru) a silové působení v tekutině.

i β i α ERP struktury s asynchronními motory

SENZORY PRO ROBOTIKU

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

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

EXPERIMENTÁLNÍ MECHANIKA 2 Přednáška 5 - Chyby a nejistoty měření. Jan Krystek

ROBOTIKA M3A 2018/2019 ING. VLADIMÍR VYHŇÁK

Robotika průmyslové roboty. Vypracoval: Bc. Ludvík Kochaníček Kód prezentace: OPVK-TBdV-AUTOROB-KE-3-STZ-KOH-002

DIPLOMOVÁ PRÁCE OPTIMALIZACE MECHANICKÝCH

EXPERIMENTÁLNÍ MECHANIKA 1. Jan Krystek

Globální matice konstrukce

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Úvod do mobilní robotiky AIL028

TECHNICKÁ UNIVERZITA V LIBERCI

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

Semestrální projekt. Vyhodnocení přesnosti sebelokalizace VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií

7. Rozdělení pravděpodobnosti ve statistice

MRBT. Stacionární průmyslový robot EPSON C3 aplikace pro prezentaci

VK CZ.1.07/2.2.00/

Posouzení přesnosti měření

Okruhy problémů k teoretické části zkoušky Téma 1: Základní pojmy Stavební statiky a soustavy sil

Modelování a simulace Lukáš Otte

Kinematika příklad. Robotika. Vladimír Smutný. Centrum strojového vnímání. České vysoké učení technické v Praze

b) Po etní ešení Všechny síly soustavy tedy p eložíme do po átku a p ipojíme p íslušné dvojice sil Všechny síly soustavy nahradíme složkami ve sm

Diskrétní řešení vzpěru prutu

Jednofaktorová analýza rozptylu

Zapojení odporových tenzometrů

Dynamické chyby interpolace. Chyby při lineární a kruhové interpolaci.

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

A U T O R : I N G. J A N N O Ž I Č K A S O Š A S O U Č E S K Á L Í P A V Y _ 3 2 _ I N O V A C E _ _ C N C V Z T A Ž N É A O B R Y S O V É B

Intervalový odhad. Interval spolehlivosti = intervalový odhad nějakého parametru s danou pravděpodobností = konfidenční interval pro daný parametr

Mechanika s Inventorem

Integrovaná střední škola, Sokolnice 496

Kalibrace ROBOTU OBSAH

Nelineární problémy a MKP

OTÁZKY K PROCVIČOVÁNÍ PRUŽNOST A PLASTICITA II - DD6

Předpokládané znalosti žáka 1. stupeň:

Stanovení nejistot při výpočtu kontaminace zasaženého území

Chyby měření 210DPSM

Markov Chain Monte Carlo. Jan Kracík.

2) Nulový bod stroje používáme k: a) Kalibraci stroje b) Výchozímu bodu vztažného systému c) Určení korekcí nástroje

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

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

METODICKÝ LIST 1. Název výukové aktivity (tématu): 2. Jméno autora: Ing. Petr Hořejší, Ph.D., Ing. Jana Hořejší 3. Anotace:

Výukové texty. pro předmět. Automatické řízení výrobní techniky (KKS/ARVT) na téma

Přímá a inverzní kinematika manipulátoru pro NDT (implementační poznámky) (varianta 2: RRPR manipulátor)

Tvorba výpočtového modelu MKP

CW01 - Teorie měření a regulace

Abychom obdrželi všechna data za téměř konstantních podmínek, schopných opakování:

1 Tuhé těleso a jeho pohyb

NESTABILITY VYBRANÝCH SYSTÉMŮ. Úvod. Vzpěr prutu. Petr Frantík 1

Merkur perfekt Challenge Studijní materiály

11 Zobrazování objektů 3D grafiky

Náhodné (statistické) chyby přímých měření

Algoritmy a struktury neuropočítačů ASN - P11

Ústav automatizace a měřicí techniky.

Nejistota měření. Thomas Hesse HBM Darmstadt

Měření hodinového úhlu transformátoru (Distribuce elektrické energie - BDEE)

Momenty setrvačnosti a deviační momenty

Práce s texty, Transformace rastru, Připojení GPS

Pružnost a plasticita II CD03

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Transkript:

FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Vybrané partie z robotiky Autoři textu: Ing. Aleš Jelínek Ing. Adam Chromý Brno 2015 Komplexní inovace studijních programů a zvyšování kvality výuky na FEKT VUT v Brně OP VK CZ.1.07/2.2.00/28.0193

2 FEKT VUT v Brně Obsah 1 ÚVOD... 4 1.1 VSTUPNÍ TEST... 4 2 SLAM SEBELOKALIZACE A MAPOVÁNÍ... 5 2.1 SENZORY PRO SEBELOKALIZACI A MAPOVÁNÍ... 6 2.2 NÁROKY NA MAPOVACÍ ALGORITMUS... 7 2.3 KONEČNÁ PŘESNOST SENZORŮ A INTEGRACE CHYBY... 8 2.4 METODY KOREKCE INTEGRAČNÍ CHYBY... 10 2.5 SHRNUTÍ... 13 2.6 KONTROLNÍ OTÁZKY... 13 3 PROGRAMOVÁNÍ PRŮMYSLOVÝCH ROBOTŮ... 14 3.1 POJEM PRŮMYSLOVÝ ROBOT... 14 3.2 HISTORIE PRŮMYSLOVÉ ROBOTIKY... 14 3.3 KONSTITUCE PRŮMYSLOVÝCH ROBOTŮ... 16 3.4 ZÁKLADNÍ PARAMETRY... 17 3.4.1 Počet stupňů volnosti (Degrees of freedom, DOF, Number of axes)... 17 3.4.2 Kinematická koncepce (Kinematics)... 18 3.4.3 Pracovní prostor (Working Envelope, Operational Area)... 18 3.4.4 Rychlost (Speed) a Zrychlení (Acceleration)... 18 3.4.5 Užitečné zatížení (Carying Capacity, Payload)... 18 3.4.6 Přesnost (Accuracy) a opakovatelnost (Repeatability) polohování... 18 3.4.7 Způsoby řízení pohybu (Motion Control)... 19 3.4.8 Napájení motorů (Power Source)... 20 3.5 ŠESTIOSÝ MANIPULÁTOR EPSON C3... 20 3.5.1 Základní parametry... 20 3.5.2 Řídicí jednotka RC180... 22 3.6 PROGRAMOVÁNÍ TRAJEKTORIE... 22 3.6.1 Základní příkazy jazyka SPEL+... 23 3.7 PRAKTICKÉ APLIKACE PRŮMYSLOVÝCH ROBOTŮ... 25 3.8 KONTROLNÍ OTÁZKY... 25 4 APLIKACE ROBOTIKY V BIOMEDICÍNĚ... 26 4.1 MEZIOBOROVÁ SPOLUPRÁCE... 26 4.2 POSTUP HLEDÁNÍ ROBOTICKÝCH APLIKACÍ V JINÝCH OBORECH... 27 4.3 HISTORIE APLIKOVANÉ ROBOTIKY V BIOMEDICÍNĚ... 28 4.4 PŘEHLED SOUČASNÝCH ROBOTICKÝCH APLIKACÍ V LÉKAŘSTVÍ... 30 4.4.1 Chirurgické roboty... 30 4.4.2 Invalidní vozíky... 31 4.4.3 Robotické exoskelety... 32 4.4.4 Umělé robotické končetiny... 32 4.4.5 Rehabilitační kybernetika... 33 4.4.6 Stomatologický robot... 33 4.4.7 Další robotické aplikace... 33 4.5 ANALOGIE POSTURÁLNÍ STABILITY A KYBERNETIKY... 34

Název učebního textu 3 4.6 KONTROLNÍ OTÁZKY... 35 5 DODATKY... 36 5.1 VÝSLEDKY TESTŮ... 36 5.1.1 Vstupní test... 36 5.1.2 SLAM sebelokalizace a mapování... 36 5.1.3 Programování průmyslových robotů... 36 5.1.4 Aplikace robotiky v biomedicíně... 37

4 FEKT VUT v Brně 1 Úvod Vážení studenti! Dostává se Vám do rukou (doufejme) první ze série skript Vybrané partie z robotiky. Jde o texty určené jako podpůrný studijní prostředek k předmětům MRBT a BROB vyučovaných na ÚAMT FEKT VUT v Brně. Koncepce těchto skript kopíruje koncepci předmětů jde o sérii zdánlivě značně odloučených témat, která však dohromady snad dají studentovi solidní přehled o mobilní a stacionární robotice. Oba předměty se, stejně jako robotika sama, dynamicky rozvíjí v čase. Proto jsme zvolili přístup, kdy máte k dispozici každým rokem upravované prezentace k jednotlivým přednáškám, a dále tato skripta, která se budou obměňovat podstatně méně často, obsahují však mnohem podrobnější rozbor problematiky. Je tedy třeba upozornit především na stránky předmětů https://sites.google.com/site/vutrobotika, kde najdete vždy nejčerstvější informace k předmětům MRBT, BROB, včetně zmiňovaných prezentací k jednotlivým přednáškám. Pokud budete mít náměty, dotazy nebo naleznete chyby, neváhejte se ozvat na adresu: zalud@feec.vutbr.cz. Za kolektiv autorů a vyučujících Vám jako garant zmiňovaných předmětů přeji hodně úspěchů při studiu a ať Vás robotika baví a naplňuje jako nás! Luděk Žalud 1.1 Vstupní test 1) Jmenujte alespoň tři druhy senzorů, které může robot využít pro získávání informací o geometrii svého okolí. 2) Jaké druhy chyb rozlišujeme u senzorů fyzikálních veličin? 3) Kde se roboty nejčastěji využívají? 4) Kolik stupňů volnosti má bod a kolik těleso s nenulovými rozměry? 5) Jmenujte alespoň tři oblasti lidské činnosti, kde se roboty používají.

Název učebního textu 5 2 SLAM sebelokalizace a mapování Na úvod shrňme základní důvody, které nás vedou k implementaci sebelokalizačních a mapovacích algoritmů pro mobilní roboty. Sebelokalizace je zásadní z hlediska bezpečnosti, ať už máme na mysli bezpečnost robotu samotného, nebo naopak ochranu okolí před jeho nežádoucí činností (typický příklad pro oba případy jsou kolize). Dále je sebelokalizace nutná při plánování akcí, kdy robot potřebuje znát svou orientaci v mapě a průběžně zpětnovazebně kontrolovat, jestli je plán vykonáván dle požadavků. Význam mapování je možné rozdělit podle toho, kdo bude výslednou mapu používat. V dnešní době se mapa vytváří primárně pro lidi, kteří robot využívají pouze jako průzkumný prostředek bez jakékoli významnější autonomie. Tímto způsobem jsou mapovány oblasti, kam se člověk nedostane (kanalizace), kde je příliš nebezpečno (zamořené oblasti), případně kde by lidská výprava byla velmi drahá (mise na Mars). S pokračujícím rozvojem umělé inteligence se však mapy stávají významné i pro robot samotný. Mapu můžeme s jistou mírou abstrakce považovat za vzpomínky robotu na místa, v nichž se už někdy nacházel, což je velmi užitečné při plánování akcí, příkladem je schopnost vrátit se po co nejkratší trajektorii k nabíječce. Obecně mohou v robotické praxi nastat čtyři situace: 1) Pokud robot zná svou přesnou polohu a zároveň má přesnou mapu okolního prostředí je situace nejjednodušší a navigaci, plánování atd. lze realizovat na základě spolehlivých dat. Bohužel se jedná o situaci vzácnou, typicky se vyskytuje pouze ve virtuálních prostředích, jako jsou herní enginy, kde apriorní znalost prostředí simuluje vnímání virtuálních postav. 2) Dále je možné se setkat se situací, kdy známe přesnou polohu robota (např. pomocí RTK GPS), ale mapa prostředí je neznámá. Obvykle není problém ji na základě měření postupně dotvářet, typicky se používají mřížky obsazenosti (prakticky se jedná o inkrementální přidávání lokálních obrazů na určenou pozici globální mapy). Podmínkou správné funkce je informace o absolutní poloze, nikoli pouze relativní změna vůči poloze minulé. Přesnost mapy odpovídá přesnosti sebelokaizace. 3) Častěji je k dispozici přesná mapa prostředí (např. plány budov) ale robot se v ní musí orientovat vlastními prostředky. Zde se již začíná projevovat neurčitost měření robot pořídí svými senzory nedokonalý obraz reality a ten následně porovnává s mapou. Vzhledem k tomu, že zná svou polohu v rámci právě pořízeného obrazu okolí, je schopen po nalezení největší shody obrazu a mapy určit svou polohu v globálních souřadnicích. Přesnost sebelokalizace odpovídá přesnosti senzorů robota, jimiž své okolí zkoumá. 4) SLAM (Simultaneous localization and mapping) problém nastává, pokud robot nemá k dispozici ani informace o poloze, ani mapu. V takové situaci je nutné mapu tvořit na základě lokálních informací a zároveň udržovat znalost polohy robota v ní. Jedná se o výrazně složitější úlohu oproti předchozím, protože nejsou k dispozici žádná spolehlivě správná data. Řešení speciálních případů však již existuje. Problematika SLAM je relativně nová robotická disciplína. První související publikace lze vystopovat v druhé polovině 80. let, během 90. let se objevily první náznaky obecných řešení. Přelomovým se stal článek z roku 2001 A solution to the simultaneous localization and map building (SLAM) problem, kde autoři matematicky dokázali existenci řešení problému SLAM. Přes tyto úspěchy existuje stále mnoho limitů a stále se jedná o intenzivně zkoumanou oblast robotiky, zejména pokud jde o efektivitu výpočtu a rozpoznávání orientačních bodů, což

6 FEKT VUT v Brně by umožnilo pohyb robotů v obecných prostředích. V dalším textu představíme nejdůležitější poznatky o této problematice, které jsou v současnosti dostupné. 2.1 Senzory pro sebelokalizaci a mapování Na základě předchozího textu by se mohlo zdát, že SLAM vyžaduje velmi přesné senzory, avšak opak je pravdou. Jak lidé, tak zvířata SLAM řeší zcela mimovolně, aniž by měli možnost přesně měřit vzdálenosti, či provádět složité pravděpodobnostní výpočty. Chyba našeho odhadu vzdálenosti se pohybuje v jednotkách, ne-li desítkách procent a přesto se bez zjevných problémů pohybujeme i v prostředí, kde jsme nikdy dřív nebyli a trefíme na již navštívená místa, i když máme jen omezenou představu, jak dlouhá taková cesta skutečně bude. Mozek je evolučně uzpůsoben k řešení abstraktních úloh, jako je srovnávání vzorů, vyhledávání význačných orientačních bodů a tvoření logických vazeb mezi nimi. V hlavě tedy (zjednodušeně řečeno) nosíme topologickou mapu, v jejíchž uzlech jsou významné objekty a přechody pak tvoří odhady vzdáleností mezi nimi. Při orientaci používáme zpětnou vazbu, neustále kontrolujeme přítomnost předmětů, které v dané oblasti očekáváme a jsme schopni se vypořádat i výraznými změnami. Vlastnosti strojové sebelokalizace jsou vzhledem k orientačním schopnostem živých organizmů inverzní. Robotům jsou k dispozici přesné senzory, jejichž chyba se pohybuje hluboko pod jedním procentem z rozsahu, nicméně omezená výpočetní kapacita řídicí jednotky na řešení abstraktních úloh buď nestačí, nebo potřebné algoritmy nejsou dostatečně vyvinuté. Obvyklá je kombinace obojího. Je tedy možné ukládat přesná metrická data, ale širší pojem o významu okolní scény chybí, stejně jako logické souvislosti mezi skenovanými objekty. V současnosti se využívají buď významné body v podobě rohů, nebo hran, které lze najít v měřených datech, případně umělé orientační body, jako jsou signální majáky, nebo nalepovací kódy. Zpětná vazba při sebelokalizaci opět funguje za využití těchto bodů, ovšem robustnost je diskutabilní, protože většina dostupných algoritmů nezvládá dynamicky se měnící prostředí. Z výše uvedeného vyplývá, že senzory samy o sobě nemohou přímo poskytnout informace, na jejichž základě by se dala tvořit konzistentní topologická mapa. Obr. 2.1 a) zobrazuje surová data z laserového skeneru při umístění robotu v běžném kancelářském prostředí, Obr. 2.1 b), c) ukazují záběry stereokamer z týchž prostor. Dalšími běžně užívanými senzory jsou ultrazvukové sonary. Ze surových dat je následně třeba extrahovat významné body a objekty a ty následně použít při budování mapy. Na závěr kapitoly o senzorech pro sebelokalizaci a mapování je vhodné uvést ještě externí navigační systémy. Pokud dojde k jejich použití, robot přestává řešit SLAM problém v jeho obecné podobě, situace se podstatně zjednoduší a úloha bude odpovídat bodu 2) z klasifikace v úvodu. Jmenujme alespoň čtyři základní možnosti: 1) GNSS (Global navigation satellite system) udává polohu v rámci celosvětové soustavy souřadnic. Zásadním omezením je dostupnost signálu. 2) Navigační majáky jsou prakticky přenesením konceptu GNSS do lokálních podmínek. Operační oblast robotu je pokryta signálem majáků a sebelokalizace funguje na principu triangulace. 3) Vodicí čáry vyznačují trajektorii, po které má robot dovoleno se pohybovat. Čára může být značena vizuálně (nalepovací páska), magneticky, nebo případně drátem buzeným definovaným signálem. 4) Navigační značky bývají realizovány nalepovacími kódy, které v sobě obvykle obsahují informace o vlastní poloze, případně i o poloze sousedních kódů.

Název učebního textu 7 b) a) c) Obr. 2.1: a) - surová data z laserového skeneru. b), c) obraz z levé a pravé kamery stereovize. 2.2 Nároky na mapovací algoritmus Na základě analogie s živými organismy se ukázalo, že mapovací algoritmus by měl být schopen ukládat vzájemné pozice významných orientačních bodů a objektů zájmu, což je obtížné, ale u jednoduchých geometrických útvarů již proveditelné. Přiměřená přesnost metrických údajů je zajištěna kvalitními senzory. Pro potřeby SLAM jsou však zásadně důležité i možnosti úprav stávající mapy. Během průzkumu dochází ke korekcím, opravám a aktualizacím, což by měl mapovací algoritmus podporovat. Přidávání nových pozorování vyplývá z povahy věci robot by měl být schopen zapamatovávat si nové věci. Aktualizace starších pozorování je důležitá kvůli dynamickým změnám prostředí (typicky pohyb lidí). Mapa by měla odpovídat pouze dlouhodobě neměnným částem prostředí, nestálé objekty by měly být odfiltrovány. Dále by mělo platit, že čím má robot danou oblast lépe prozkoumanou, tím přesnější by výsledná mapa měla být. Odtud se dostáváme k formulaci prvního požadavku na mapovací algoritmus: 1) Konvergence: S pokračujícím průzkumem prostředí se mapa postupně zpřesňuje. V limitním případě nekonečně dlouho trvajícího průzkumu by všechny statické objekty měly být v mapě zaneseny dokonale přesně. Prakticky je tento stav pochopitelně nedosažitelný,

8 FEKT VUT v Brně podaří-li se ale implementovat algoritmus, který podmínku konvergence teoreticky splňuje, lze předpokládat, že v konečném čase dosáhne mapa dostatečné přesnosti a nezačne divergovat. Druhý požadavek se zdá být samozřejmostí, ale v praxi tomu tak často není: 2) Konzistentnost: Jednomu bodu v prostoru odpovídá jeden bod v mapě. Ke vzniku nekonzistentní mapy typicky dochází v prostředí dlouhých chodeb, které se různě stáčí a uzavírají velké smyčky. Ilustrativní příklad je uveden na Obr. 2.2. Kvůli omezené (byť vysoké) přesnosti senzorů dojde k chybě v určení úhlu, pod kterým se chodba zatáčí a případně i v délce rovných úseků. Pokud je smyčka dostatečně velká, i malá chyba způsobí, že k protnutí nedojde. Robot poté bude pokračovat v průzkumu chodby, kde už dříve byl, ale mapa bude narůstat, jako by se pohyboval ve stále novém prostředí. Odtud je vidět, že nekonzistentní mapa nesplňuje ani podmínku konvergence. Obecné systémové řešení tohoto problému zatím neexistuje, obvykle se používají různé heuristiky například pokud mapa protíná sebe sama, zjevně k nekonzistenci došlo. Samotná oprava se realizuje sjednocením odpovídajících si orientačních bodů. Obr. 2.2: Ukázka nekonzistentní mapy. Při uzavírání smyčky vlivem nepřesností dochází k chybě a jednomu bodu ve skutečnosti nyní odpovídají dva body na mapě. 2.3 Konečná přesnost senzorů a integrace chyby Žádný senzor neměří zcela přesně, vždy má nějakou chybu. Při určování polohy robotu a tvorbě mapy rozlišujeme dva druhy měření: 1) Absolutní měření: Poloha se měří vzhledem k pevné vztažné soustavě. Příkladem může být GNSS, ale lze použít i statické orientační body v prostředí kde se robot pohybuje. Při takovémto způsobu určování polohy je chyba konstantní a pohybuje v mezích, které obvykle uvádí výrobce senzoru. 2) Relativní měření: Poloha se měří vzhledem k předchozí poloze, a to pouze za pomoci inerciálních snímačů, odometrie a podobně. Při tomto způsobu měření chybí zpětná vazba na statické okolí, či jiný pevný souřadný systém a chyby jednotlivých měření se sčítají, chyba se tedy integruje.

Název učebního textu 9 Právě integrace chyby činí úlohu SLAM obtížnou, protože nutí robot orientovat se vůči vnějšímu prostředí a způsobuje mimo jiné i zmíněné potíže s konzistentností mapy. Problém se objevuje i v nejjednodušších situacích, jak je vidět z Obr. 2.3. Obr. 2.3: Simulace pohybu robotu po přímce při uvažování chyby měření posunu v obou osách a azimutu. I když je chyba určení polohy jen 5 % z dráhy ujeté v každém kroku, již po dvaceti krocích se toto měření stává nepoužitelným. Situace z Obr. 2.3 zároveň jasně ukazuje, že i když má chyba nulovou střední hodnotu, k nekontrolovatelnému nárůstu přesto dojde. Při průměrování, kde by se taková chyba potlačila, je celková suma dělena počtem vzorků, ale při integraci, čili samotném sčítání, k tomuto efektu nedojde. Chyba pak nepředvídatelně narůstá s narůstajícím počtem vzorků, jak je zobrazeno na sérii simulací na Obr. 2.4. Obr. 2.4: Integrace chyby při nulovém pohybu.

10 FEKT VUT v Brně Pokud je přítomna aditivní chyba s nenulovou střední hodnotou, bývají následky ještě horší, což ukazují simulace na Obr. 2.5. Zdaleka nejproblematičtější je ovšem nejistota v určení azimutu, kdy nejde pouze o chybu samotného natočení, ale nepřímo je ovlivněna i poloha v souřadnicích x, y. Špatná informace o natočení mívá hlavní podíl na chybách odometrie a podobných systémů, protože absolutní odchylka posunu není ohraničena chybou samotného senzoru, ale délkou dráhy ujeté mezi vzorkováním, která bývá řádově větší. Například obrovskou odchylku z Obr. 2.3 způsobila hlavně chyba ±0,05 rad v měření natočení. Obr. 2.5: Integrace chyby při nulové střední hodnotě, nenulové střední hodnotě v jedné ose a nenulové střední hodnotě v obou osách. Shrnutím výše uvedených poznatků docházíme k jasnému závěru, že na základě pouze relativních měření není úloha SLAM řešitelná. Jejich výhodou je ovšem snadná a rychlá dostupnost dat. V praxi bývají oba druhy měření kombinovány tím způsobem, že relativní metody průběžně určují trajektorii robota a periodicky jsou korigovány pomocí absolutních měření. Díky tomu je trajektorie rychle aktualizována a přitom je stále vázána na externí vztažný systém, takže chyba je shora omezená. 2.4 Metody korekce integrační chyby Korekce podle stabilní reference je možné provést několika způsoby. Jednoduchá je situace, kdy máme k dispozici přesnou mapu prostředí a neurčitá je pouze poloha (bod 3) z úvodní klasifikace). Obecný postup v tomto případě je následující: 1) Pomocí relativních metod určíme změnu polohy oproti předchozímu měření, což umožňuje určit, ve které části mapy se robot přibližně nachází. 2) Dále pomocí vnějších senzorů získáme lokální snímek okolí a ten následně porovnáme s mapou. Porovnávat začínáme v místě, na které ukázal odhad, a dále prošetřujeme čím dál širší okolí. 3) Pokud nedošlo k neočekávaným událostem, měla by být chyba relativního určení polohy shora omezená a v okolí definovaném velikostí této chyby by mělo být možné najít velmi dobrou shodu lokálního snímku a mapy. 4) Místo, kde je shoda nejlepší prohlásíme za současnou pozici robotu. Protože srovnáváme statické okolí a přesnou mapu je určení polohy absolutní. Další relativní změnu polohy měříme vůči tomuto bodu a k integraci chyby mezi kroky tak nedochází. 5) Pokud maximální shoda nastala mimo očekávané hranice, jsou v zásadě dvě alternativy: buď byl robot neočekávaně přemístěn (sklouzl ze svahu, někdo ho přenesl), nebo je odhad maximální chyby podceněn.

Název učebního textu 11 6) Pokud robot úspěšně nalezl v mapě svou polohu, může se pokračovat v další cestě a algoritmus se vrací k bodu 1). Metoda srovnávání lokálního snímku s mapou závisí na senzorickém vybavení robotu a reprezentaci mapy. Pokud je robot vybaven laserovými skenery a mapa je tvořena geometrickými útvary (úsečky, oblouky, křivky, ), lze použít metodu ICP (Iterative Closes Point). Funguje tak, že k vybraným bodům ve skenu jsou nalezeny geometricky nejbližší body v mapě a následně je vypočítána transformace (translace + rotace), která zajistí, že součet kvadrátů vzdáleností mezi dvojicemi je co nejmenší. Po provedení transformaci se celá procedura opakuje, jsou nalezeny nové nejbližší body atd. V případě reprezentace mapy pomocí mřížek obsazenosti se používají korelační metody známé například z oblasti počítačového vidění. Pro všechny metody vyhodnocující podobnost je důležité, aby jejich kriteriální funkce byla konvexní, tj. měla pokud možno jedno minimum. Pokud robot při hledání shody snímku a mapy najde více potenciálních řešení, může paralelně rozvíjet několik hypotéz o své poloze a postupně odstraňovat ty, které se ukáží jako falešné. SLAM ve své plnohodnotné podobě se řeší pomocí filtrů založených na Bayesovské statistice a stavovém popisu robotu a prostředí kolem něho. Teoreticky je pro správnou funkci těchto metod nezbytné, aby bylo splněno základní pravidlo: Markovův předpoklad: Následující stavy systému závisí pouze na stavu současném a nikoli na stavech předchozích. Pokud je tento předpoklad splněn a neexistuje žádná další stavová proměnná, která by budoucnost systému mohla ovlivnit, hovoříme o takzvaném kompletním stavovém popisu. Jedná se o teoretický ideál, který v praxi nelze splnit (stav robota je například ovlivněn lidmi okolo, jejichž chování však nelze přesně modelovat). V praxi se tedy spokojíme s nekompletním stavovým popisem, který vystihuje alespoň klíčové vlastnosti systému. Tímto se ovšem dostáváme do situace, kdy Markovův předpoklad splněn není. Obecně k porušení dojde vždy, když reálný systém obsahuje nemodelovanou dynamiku, skutečné rozložení pravděpodobností neodpovídá předpokladům, nebo nějaký stav působí ve více krocích (typicky plánovací algoritmus). V praxi záleží na míře těchto nedokonalostí, obvyklé východisko je, že vliv nemodelovaných stavů je vydáván za šum, s jehož přítomností je počítáno. Základní struktura Bayesovského filtru je následující: 1. Bayes_Filter(bel(x t 1 ), u t, z t ): 2. for all x t do 3. bel(x t ) = p(x t u t, x t 1 ) bel(x t 1 ) dx t 1 4. bel(x t ) = η p(z t x t ) bel(x t ) 5. endfor 6. return bel(x t ) Obr. 2.6: Základní struktura Bayesovského filtru. Vstupem algoritmu je předpokládaný stav systému na konci předchozího kroku bel(x t 1 ), aktuální vektor řídicího zásahu u t a aktuální vektor měření z t. Další kroky se provádějí pro všechny prvky stavového vektoru x. Nejprve určíme predikci stavu bel(x t ) na

12 FEKT VUT v Brně základě stavu z minulého kroku a aktuálního řídicího zásahu což je provedeno na řádku 3. Následně dochází ke korekci predikovaného stavu podle měření a dostáváme předpokládaný stav systému v současnosti bel(x t ). O předpokládaném stavu hovoříme proto, že Bayesovské filtry počítají s pravděpodobností a ke každému výsledku se tedy automaticky pojí i určitá nejistota. Právě korekce vůči vnějšímu prostředí zajišťuje, že tato nejistota neroste s časem, ale drží se v předem známých mezích. Pozornému čtenáři jistě neuniklo, že popsaný proces je velmi podobný navigaci se známou mapou. Je tomu skutečně tak, protože princip korekce platí v obou případech, nicméně pokud mapa není předem známá, nemůže být považována konstantní a stává se součástí stavového vektoru systému. Při probíhajícím průzkumu tak dochází s každou iterací k úpravě mapy a jejímu zpřesnění, případně doplnění. Základní filtry pro nejjednodušší situace jsou Kalmanův filtr a Informační filtr. Jedná se o duální filtry, které jsou navzájem inverzní, avšak popisují totéž. 1) Kalmanův filtr je založen na tzv. momentové parametrizaci. Stav systému je popsán pomocí vektoru středních hodnot (první obecný moment) a kovarianční matice (druhý centrální moment). 2) Informační filtr je popsán kanonickou parametrizací, tedy informačním vektorem (Fisherova míra informace) a informační maticí (Fisherova informační matice). Filtry jsou vzájemně opačné informační matice je inverzní ke kovarianční a mezi stavovými vektory je vztah obdobný. Z této duality vyplývají i opačné vlastnosti z hlediska výpočetní náročnosti. Kalmanův filtr snadno provádí krok predikce (řádek 3. z Obr. 2.6), zatímco korekce pomocí měření (řádek 4. z Obr. 2.6) je výpočetně náročnější. V případě informačního filtru je situace přesně opačná, predikce je složitější a korekce lze naopak aplikovat snadno. Kalmanův a informační filtr jsou lineární, a pokud je v modelovaných závislostech přítomna nelinearita, často přestávají fungovat. Tento problém je řešen vícero způsoby, uveďme dva nejčastější: 1) Rozšířený Kalmanův filtr provádí lokální linearizaci pomocí Taylorova rozvoje. Pro systém tedy musíme být schopni vypočítat první derivaci a určit jeho Jakobián. 2) Unscented Kalman filter (široce uznávaný český název ještě neexistuje) vychází z hodnot nelineární funkce ve vybraných bodech a na jejich základě vytvoří po částech lineární náhradu. Výhodou je, že není třeba hledat Jakobián, problém je metodika výběru správných bodů. Další možností jsou tzv. neparametrické filtry, které ke správné funkci nepotřebují Gaussovské rozložení pravděpodobnosti a lze je s výhodou použít pro nelineární systémy. 1) Histogramový filtr je diskrétní obdobou klasického Bayesovského filtru. Nepočítá tedy se spojitým pravděpodobnostním rozložením v rámci stavového prostoru, ale udává společnou hodnotu vždy pro určitý region. 2) Částicový filtr (též Monte-Carlo lokalizace) reprezentuje rozložení pravděpodobnosti rozmístěním tzv. částic po stavovém prostoru. Částice začínají jako náhodné vzorky stavového prostoru a s přibývajícími informacemi dochází k jejich shlukování na místech, kde je vyšší pravděpodobnost, že se systém nachází.

Název učebního textu 13 Na základě výše zmíněných přístupů bylo vypracováno mnoho algoritmů, které s rozdílnou úrovní kvality a výkonnosti řeší problém SLAM. V současnosti patří mezi nejkvalitnější GraphSLAM, který sleduje vazby mezi objekty zájmu v mapě navzájem i vzhledem k robotu, linearizuje je a odvozuje z nich informační matici, která je následně zpracovávána pomocí vhodného filtru Bayesovského typu. Zpracování je možné až po pořízení všech dat a je prováděno na konci průzkumu, jedná se tedy o offline algoritmus. SEIF (Sparse Extended Information Filter) algoritmus naopak funguje online a mapa je tedy dostupná již během průzkumu. Navíc funguje v konstantním čase (doba úprav mapy nezáleží na její velikosti), což ho činí dobrou volbou pro roboty, které by měly mapu aktivně tvořit a používat. Dále je podporován provoz s více průzkumnými roboty současně. Popsané efektivity je však dosaženo za cenu zanedbání informačně málo hodnotných vazeb mezi objekty v mapě, což může mít negativní vliv na přesnost a rychlost konvergence řešení. FastSLAM představuje techniku založenou na částicových filtrech. Výpočetní náročnost je úměrná logaritmu počtu prvků v mapě. Výhodou je, že na rozdíl od předchozích algoritmů neprovádí linearizaci ani jiné podobné úpravy a může fungovat s mnohem širší škálou i velmi nelineárních modelů. 2.5 Shrnutí V předchozím textu byl stručně nastíněn problém sebelokalizace a mapování za předpokladu neurčitosti všech měření. Úvod obsahuje klasifikaci problematiky a dále následuje srovnání schopností živých organismů a strojů při řešení sebelokalizace a mapování, na kterém jsou ukázány nejpodstatnější faktory ovlivňující tuto činnost (odhad vzdáleností a rozpoznání orientačních bodů). Na základě těchto poznatků jsou odvozeny klíčové vlastnosti, které by měla splňovat kvalitní mapa konzistentnost a konvergence. Složitost SLAM vyplývá z fundamentální vlastnosti relativních měření, konkrétně integrace chyby, což je důkladně popsáno a ilustrováno na mnoha příkladech. Dále je ukázáno, jak se tomuto vlivu bránit pomocí přístupu predikce (relativní měření) korekce (absolutní měření). Postup je nejprve ukázán v jednodušší situaci (orientace ve známé mapě) a posléze je představen obecný filtr Bayesovského typu a Markovův předpoklad umožňující jeho funkci. Závěr kapitoly je věnován stručnému představení různých Bayesovských filtrů a několika, v současnosti nejpokročilejších, SLAM algoritmů. 2.6 Kontrolní otázky 1) Co je to SLAM a k čemu je? 2) Jaké jsou principy SLAM u lidí a robotů? 3) Jaké nároky klademe na kvalitní mapu? 4) Co je to integrace chyby a jak jí korigovat? 5) Jaká omezení působí Markovův předpoklad? 6) Jaký je princip Bayesovského filtru? 7) Jaké metody se pro řešení SLAM používají?

14 FEKT VUT v Brně 3 Programování průmyslových robotů Současný trend průmyslového sektoru je charakterizován převážně nasazováním nových technologií za účelem urychlení výroby nebo zvýšení její přesnosti. Pro splnění těchto požadavků jsou vhodnými přístroji právě stacionární robotické manipulátory. Tato kapitola shrnuje nejdůležitější parametry, které je nutné znát pro výběr vhodného manipulátoru, představuje jejich nejčastější praktické aplikace a zmiňuje základní principy a příkazy pro plánování jejich trajektorie. 3.1 Pojem průmyslový robot Definice pojmu průmyslový robot není zcela jednotná a jednoznačná. Většina autorů se shoduje na tom, že průmyslový robot je víceúčelový programovatelný stroj se dvěma a více pohybovými osami. Průmyslový robot by měl být tedy vybaven pamětí, ve které je uložen program, jednotkou, která uložený program vykonává a měl by být vybaven pohyblivou částí, kterou je možné programově umísťovat do různých poloh. Některé definice pak ještě blíže specifikují, že průmyslový robot by měl mít určitý stupeň samostatnosti, tedy zpětnou vazbu, a to ve smyslu být schopen vnímat okolí a na základě toho pak provádět určitý úkol (rozhodovat se). Tato podmínka je obsažena i ve standardu ISO8373:2012. Ačkoliv je tato definice standardizována, v nabídce firem lze pod pojmem průmyslový robot najít množství zařízení, které podmínku samostatnosti nesplňují, a tak je tato definice v průmyslové praxi používána jen zřídka. Definice průmyslového robotu dle ISO8373:2012 Průmyslový robot je poháněné zařízení programovatelné ve dvou nebo více osách s určitým stupněm samostatnosti, pohybující se uvnitř omezeného prostředí, a za účelem plnění úkolu. Samostatností je v tomto kontextu myšlena schopnost provádět určený úkol v závislosti na aktuálním stavu a za současného vnímání okolí, a to samostatně, bez zásahu člověka. 3.2 Historie průmyslové robotiky Za první zařízení, které naplňuje požadavky na průmyslový robot lze považovat konstrukci, kterou v roce 1937 sestavil ze stavebnice Meccano (Merkur) G.P. Taylor z Toronta (Obr. 3.1). Bylo hnáno jedním motorem, jehož pohyb byl rozváděn pomocí reléově spínaných převodovek na dva otočné a tři posuvné klouby, které tak umožňovaly kladení kvádříků do různých míst a s různou orientací. Celý program byl zaznamenán na děrném štítku, který realizoval spínání příslušných převodovek. Obr. 3.1: První zařízení splňující definici průmyslového robotu (1937).

Název učebního textu 15 Smysl tohoto přístroje nebyl nikterak praktický, avšak ukázal, že je možné vytvořit zařízení, jehož činnost lze operativně naprogramovat tak, aby realizoval zadanou úlohu. Rozvoj průmyslové robotiky užitečné v praxi pak začal v 50. letech 20. století, kdy se objevují první robotické teleoperátory (Obr. 3.2). Teleoperátor Teleoperátor je zařízení zprostředkovávající dálkové vnímání a dálkové působení na vzdálené prostředí. Nejsou schopny pracovat samostatně, pouze umožňují přenášet vjemy (obrazové, zvukové, měření veličin) z prostředí, které je pro člověka nebezpečné (např. sutiny, hořící dům) nebo nedostupné (malé prostory, ve vzduchu, ve vodě, ve vesmíru, apod.) a následně na prostředí působit (projíždět ním, odebírat vzorky, manipulovat s materiálem, apod.) Tyto stroje byly původně vyvíjeny pro bezpečnou manipulaci s radioaktivním materiálem v atomovém průmyslu, své uplatnění však velmi rychle našly například v hutnictví nebo těžkém strojírenství, kde sloužily k manipulaci s těžkými předměty. Byly schopný práci výrazně ulehčit, stále však nebyly schopny člověka nahradit. Obr. 3.2: Robotický teleoperátor GE Yes-Man z roku 1956 (vlevo, uprostřed), teleoperátor MASCOT z roku 1958 (vpravo). Zlom nastal, když se firma General Motors po několika smrtelných úrazech dělníků ve svých továrnách začala zabývat otázkou zvýšení bezpečnosti práce se současným zachováním produktivity. Výsledek těchto snah se dostavil v roce 1961, kdy tým robotiků z firmy Unimation pod vedením G. Devola sestrojil první plně programovatelný robot UNIMATE, který byl v GM nasazen na přenášení těžkých součástí z lité oceli a jejich svařování (Obr. 3.3).

16 FEKT VUT v Brně Obr. 3.3: První automatický průmyslový robot UNIMATE (1961). Předpis jeho činnosti bylo možné nadefinovat pomocí přímého programování, kdy obsluha naváděla robota ručně do žádaných pozic, hodnoty kloubových souřadnic pak byly ukládány do paměti a následně sloužily jako žádaná hodnota pro servoregulátory. Započal tak bouřlivý rozvoj průmyslových robotů: během 70. 90. let proniká do robotiky mnoho firem, které známe jako hlavní výrobce robotů dodnes ABB, KUKA, FANUC, Epson, Adept a další. Stacionární roboty nacházejí nové využití i mimo průmysl rozvíjí se vesmírný program, vojenská robotika, vznikají první umělé končetiny nebo chirurgické a rehabilitační roboty. V současnosti již nevznikají žádné převratně nové koncepce, dochází spíše ke zvyšování rychlosti a přesnosti operace robotů. S klesající cenou také dochází k jejich rozšiřování i do menších a méně bohatých průmyslových odvětví. 3.3 Konstituce průmyslových robotů Aby byly splněny všechny požadavky na robota kladené definicí, je nutné, aby robot sestával z následujících součástí (Obr. 3.4): Kinematický řetězec (1) soustava na jedné straně pevně spojena se stolem, rámem, nebo dalším systémem a s přírubou pro uchycení pracovního nástroje na straně druhé. Jedná se o pohyblivou část robotu polohovatelnou do různých poloh uvnitř (omezeného) pracovního prostoru. Kinematický řetězec sestává z následujících částí: o Počátek souřadné soustavy (base-point, axes-origin) (2) nejčastěji místo uchycení robotu ke konstrukci, definuje počátek kartézského souřadného systému, který používáme k popisu bodů uvnitř pracovního prostoru robotu. o Ramena (link, arm) (3) tuhé spoje různých délek, zakončené na obou stranách pohyblivými klouby (analogie s lidskými končetinami). Tuhost materiálu ovlivňuje přesnost pozicování, jejich délka velikost pracovního prostoru robotu. o Klouby (joint, axis) (4) pohyblivé spoje ramen, bývají buď rotačního (kuličkové ložisko) nebo posuvného charakteru (jezdec na kolejnici) a umožňují polohování robotu. Jejich počet, vzájemné umístění a rozsah jejich pohybu definují dostupnost jednotlivých pracovních bodů. Jednotlivé klouby jsou vybaveny motory a enkodéry měřícími jejich polohu, což je nutným předpokladem pro přesné polohování. Regulace polohy kloubu na žádanou hodnotu se provádí pomocí polohového servomechanismu.

Název učebního textu 17 o Koncový bod (end-point, tool-point, tool-end) (5) konec kinematického řetězce, vybavený nástavcem pro umístění pracovního nástroje (svářečka, sprejovací nástavec, chapadlo, vrtačka, apod.). Mluvíme-li o žádané pozici robotu, myslíme tím polohu tohoto bodu v prostoru. Řídicí jednotka (6) jádro každého robotu, nejčastěji se jedná o průmyslové PC nebo PLC. Většinou bývá oddělena od kinematického řetězce aby nedošlo k jejímu poškození nebo aby byla lépe dostupná. S kinematickým řetězcem bývá spojena vodiči řídícími kloubové motory a snímající polohu kloubů (7). Jednotka bývá vybavena rozhraním pro programování činnosti (USB, Ethernet, RS232) (8), pro připojení externích snímačů (Ethernet, ProfiBus, RS232, RS485, SPI, CAN, apod.) (9) a rozhraním pro připojení bezpečnostních prvků (světlené závory, ochranné klece, apod.). Často disponuje speciálními proprietárními konektory pro připojení programovacího modulu pro přímé učení, diagnostickými moduly apod. Obr. 3.4: Konstituce průmyslového manipulátoru (1 - kinematický řetězec, 2 - počátek souřadnic, 3 - ramena, 4 - klouby, 5 - koncový bod, 6 - řídicí jednotka, 7 - připojení enkodérů a motorů, 8 - programovací rozhraní, 9 - externí snímače). 3.4 Základní parametry V současné době existuje velké množství různých průmyslových manipulátorů a pro správnou volbu vhodného typu je nutné znát jejich základní parametry. Výběr správného modelu je pak hledáním optima mezi pořizovací cenou robotu a jeho vlastnostmi. 3.4.1 Počet stupňů volnosti (Degrees of freedom, DOF, Number of axes) Ve většině případů odpovídá počtu kloubů kinematického řetězce a určuje, kolik souřadnic v poloze koncového bodu jsme schopni ovlivnit. Například má-li robot jeden posuvný kloub, je možné jeho koncový bod polohovat pouze po úsečce, jejíž délka je dána jeho rozsahem. Má-li robot pouze jeden rotační kloub, jeho koncový bod se bude pohybovat po kružnici nebo oblouku (v případě omezeného rozsahu kloubu). V obou případech budeme mít

18 FEKT VUT v Brně 1 DOF budeme schopni ovlivnit pouze jednu prostorovou souřadnici. Pomocí 2 DOF jsme pak schopni popsat polohu bodu v rovině, a pomocí 3 DOF polohu bodu v prostoru. Pro úplný popis polohy pak potřebujeme 6 DOF 3 souřadnice pro popis bodu v prostoru a 3 souřadnice pro jednoznačné určení jeho natočení (příklad: nestačí určit polohu konce vrtáku v prostoru, je ještě nutné určit, z kterého směru vrtáme). Nezapomeňme však, že má-li robot 6 DOF, neznamená to automaticky, že jsme schopni dosáhnout všech bodů v určitém prostoru. Podmínka 6 DOF pro plný popis polohy je podmínka nutná, nikoliv však postačující, neboť ještě záleží na vzájemném uspořádání kloubů a ramen. 3.4.2 Kinematická koncepce (Kinematics) Popisuje vzájemné uspořádání pevných ramen a kloubů. Mezi základní kinematické koncepce patří:... Robotické rameno (Articulated) obsahuje pouze rotační klouby, nejvíce flexibilní, nejméně přesné. Kartézské (Cartesian, Gantry, Linear) obsahuje pouze posuvné klouby, pro precizní manipulaci, pohyb uvnitř krychle. SCARA obsahuje 2 rotační a jeden posuvný kloub, vhodné pro přenášení objektů, přesné, rychlé. 3.4.3 Pracovní prostor (Working Envelope, Operational Area) Oblast, do které lze umístit koncový bod manipulátoru. Závisí na kinematické koncepci, počtu DOF a rozměrech ramen. 3.4.4 Rychlost (Speed) a Zrychlení (Acceleration) Maximální rychlost nebo zrychlení, kterých jsou klouby schopny dosáhnout. Vyšší hodnoty způsobují rychlejší práci robotu, často jsou však vykoupeny nižší přesností pohybu. Některé manipulátory proto umožňují několik pracovních módů rychlejší méně přesné a pomalejší přesnější. Poznámka: skutečná maximální rychlost pak závisí také na zvolené trajektorii, neboť například při krátkých úsecích mezi body není možné díky omezenému zrychlení dosáhnout maximální rychlosti. 3.4.5 Užitečné zatížení (Carying Capacity, Payload) Hmotnost nákladu, který unese koncový bod. Zpravidla několik kg, nutné volit dle uvažovaného nástroje umístěného na koncovém bodě manipulátoru. Díky omezené tuhosti materiálu ramene mají často manipulátory různé módy dle hmotnosti při méně kg dosahují vyšší přesnosti a zrychlení, při větším zatížení přesnost a max. zrychlení klesá. 3.4.6 Přesnost (Accuracy) a opakovatelnost (Repeatability) polohování Tyto pojmy bývají velmi často zaměňovány, ačkoliv je mezi nimi zásadní rozdíl (Obr. 3.5). Přesnost je maximální odchylka skutečné pozice koncového bodu manipulátoru od pozice požadované. Lze ji popsat jako absolutní chybu měření, tedy odchylku měření hodnoty od správné. Přesnost pozicování lze vylepšit zavedením další zpětné vazby nebo také kalibrací. Opakovatelnost určuje s jakou přesností je schopen vrátit se do stejné polohy. Je to tedy rozptyl poloh, do kterých se koncový bod dostane při stejné žádané hodnotě. Tato hodnota však nemá žádnou souvislost se skutečnou pozicí a je dána zejména rozlišením kloubových

Název učebního textu 19 enkodérů, tuhostí ramen či vůli v převodech, kterou do značné míry určuje typ převodování, které může být: Přímé (Direct Drive) nevznikají vůle, ale je nutný velký moment motoru Převodovka (Gear Drive) vůle v převodech způsobuje horší opakovatelnost. Harmonické (Harmonic Drive) speciální kompozice převodovky výrazně eliminuje vůle a tím i zvyšuje přesnost.. Opakovatelnost je zásadní parametr robotů, neboť chybu opakovatelnosti nelze jednoduše kompenzovat. Obr. 3.5: K vysvětlení pojmů přesnost a opakovatelnost: dobrá přesnost i opakovatelnost (vlevo), dobrá opakovatelnost, špatná přesnost (uprostřed), špatná opakovatelnost, dobrá přesnost průměr hodnot leží ve středu (vpravo). 3.4.7 Způsoby řízení pohybu (Motion Control) Rozlišujeme v zásadě dva způsoby řízení pohybu Point to Point (PTP) a Continuous Path (CP). První z nich disponuje menšími možnostmi pohybu a hodí se spíše pro bodové aplikace (vrtání, přenášení apod.). Druhý z nich umožňuje pohyb více řídit a hodí se na činnosti, kde nezávisí na navštívených bodech, ale na celém průběhu trajektorie (svařování, postřikování, apod.). Terminologie v praxi však není jednotná a uvedené pojmy se používají ve dvou odlišných významech: Význam z pohledu trajektorie (Obr. 3.6): o PTP: jsou definovány jednotlivé diskrétní body, které je potřeba navštívit, avšak pohyb mezi nimi není nijak definován (např. jeď z bodu A do B přes M). o CP: kromě průjezdních bodů je definováno i po jaké křivce se má bodů dosáhnout (např. jeď z bodu A do B přes M po kružnici). Obr. 3.6: K vysvětlení pojmů Point to Point (PTP) a Continuous Path (CP).

20 FEKT VUT v Brně Význam z pohledu rychlosti (Obr. 3.7) o PTP: Manipulátor v požadovaných bodech zcela zastaví a následně se rozjede do dalšího bodu (přesnější, ale trhanější pohyb). o CP: Manipulátor v požadovaných bodech pouze mírně přibrzdí, aby byl schopen dodržet požadovanou přesnost (ta je však nižší než u pozicování PTP, čím je nižší tím méně bude manipulátor přibržďovat). Obr. 3.7: Průběh rychlosti koncového bodu manipulátoru při PTP (vlevo) a CP (vpravo). Červeně je naznačen čas, kdy se manipulátor nachází v žádané poloze. 3.4.8 Napájení motorů (Power Source) Elektrické rychlejší pohyb, ale nižší povolené zatížení, rotační klouby, nelze je použít ve výbušném prostředí. Hydraulické silnější, ale pomalejší, posuvné klouby, vhodné i do výbušného prostředí. 3.5 Šestiosý manipulátor EPSON C3 Laboratoř teleprezence a robotiky disponuje přesným šestiosým manipulátorem EPSON C3 (Obr. 3.8), na kterém budou prakticky představeny jednotlivé parametry uvedené v předchozí části tohoto textu. 3.5.1 Základní parametry Schéma robotického manipulátoru vyobrazuje Obr. 3.8. Robot je vybaven šesti rotačními klouby (Joint #1 Joint #6), jedná se tedy o kinematickou koncepci articulated (robotické rameno). Tato koncepce přináší 6 DOF, lze jej tedy plně polohovat v pracovním prostoru kulovitého tvaru. Jednotlivé klouby jsou poháněny pomocí střídavých elektrických servomotorů o výkonu 50 400 W, které disponují točivým momentem 8 10 N.m (osy blíže koncového bodu mohou být slabší, neboť musí překonávat menší moment síly). Protože jsou motory elektrické dosahují vysoké rychlosti (450 720 stupňů za sekundu), avšak mají nižší točivý moment, což se projevuje v nižším maximálním zatížení, které je pouze 3 nebo 5 kg (při zatížení 3 5 kg robot dosahuje nižších rychlostí a zrychlení, než při zatížení do 3 kg). Převodování je řešeno pomocí precizní harmonické převodovky, jsou zde tedy eliminovány vůle v převodech. Moment motorů je na osu převáděn pomocí řemenového rozvodu (Obr. 3.9). Jednotlivé klouby jsou pak vybaveny inkrementálními enkodéry s velmi vysokým rozlišením (145 233 pulzů na stupeň). Veškeré tyto vlastnosti jsou základními předpoklady pro velmi dobrou opakovatelnost, která je u tohoto robotu ±0,02 mm. Pohyb robotu lze programovat jak v režimu PTP, tak v režimu CP, je tedy vhodný i pro aplikace náročné na preciznost pohybu.

Název učebního textu 21 Z důvodů bezpečnosti je robot vybaven brzdami, které jsou ve výchozím stavu zabrzděné a lze je elektromagneticky odbrzdit. V případě výpadku napájení či v případě bezpečnostního vypnutí tak robot zůstane v poloze v jaké je a nedojde k jeho zhroucení. Obr. 3.8: Schéma robotického manipulátoru EPSON C3. Obr. 3.9: Detailní pohled na rozvod pohodu os u robotického manipulátoru EPSON C3.

22 FEKT VUT v Brně 3.5.2 Řídicí jednotka RC180 Manipulátory EPSON jsou řízen pomocí unifikované řídicí jednotky RC 180 v robustním průmyslovém provedení, která je vybavena 32 bitovým mikrokontrolérem. Není vybavena pevným diskem, disponuje pouze s Flash pamětí na program. Základním rozhraním pro programování robotu a současně i komunikaci s externími zařízeními je Ethernet a USB, volitelně lze dokoupit vstupně-výstupní digitálně-analogový modul, Fieldbus, RS232. K jednotce lze také připojovat speciální proprietární zařízení, které umožňuje jednoduché programování robotu bez znalosti programovacích jazyků (Teach Pendant operátor navádí robota do žádaných pozic, které stiskem tlačítka ukládá, robot pak pohyb opakuje). Program činnosti robotu je pak programován ve vlastním skriptovacím jazyce SPEL+, který obsahuju dostatek příkazů pro popis trajektorie formou bodů, přímek, oblouků, parabol či bézierových křivek. Úkolem řídicí jednotky jsou zejména tyto činnosti: Postupné provádění programu ve SPEL+ na základě informací z vnějších čidel. Transformace z kartézského souřadného systému, ve kterém posujeme polohu robotu do kloubových souřadnic (požadované úhly natočení jednotlivých kloubů) a z nich pak do pulzních souřadnic (o kolik pulzů potřebujeme otočit kloub z aktuální polohy, abychom dosáhli požadovaných kloubový souřadnic). Kontrola mezí pohybu, aby nedošlo k sebepoškození ramene. Detekce kolizí ramene pomocí přesného měření zatížení motorů, které je schopné detekovat náraz ramene do předmětu a tím robota ihned zastavit. Řešení dynamiky pohybu v závislosti na hmotnosti břemene, aby nedocházelo k překmitům při regulaci polohy koncového bodu na žádanou hodnotu a přitom byl ohyb co nejrychlejší. 3.6 Programování trajektorie Rozlišujeme základní režimy programování, které nabízejí u všech výrobků téměř všichni výrobci: Přímé programování (přímé učení) je přímé učení robota žádanému pohybu bez použití programovacích jazyků. Obsluha robotu ve fázi učení předvede žádaný pohyb a robot jej pak automaticky opakuje. Učení probíha dvěma způsoby (Obr. 3.10): o Obsluha vede rameno požadovanou trajektorií a požadovanou rychlostí. Při tomto učení jsou do paměti ukládány časové průběhy kloubových souřadnic, které pak robot sleduje. Není zde nutné řešit inverzní kinematickou úlohu a učení je velmi jednoduché, nevýhodou však je, že veškeré nepřesnosti při učení (zaškobrtnutí, třes rukou, apod.) jsou pak stále opakovány při provozu. o Obsluha navádí rameno do jednotlivých bodů, které jsou ukládány stisknutím tlačítka a pojmenovávány (A, B,...). Následně je možné na displeji učícího nástroje (Teach Pendant) zvolit jak se má mezi uloženými body rameno pohybovat (definujeme rychlost, zrychlení, typ trajektorie přímka, oblouk, parabola, apod.). Proces učení je mírně složitější (jednotka musí řešit inverzní kinematickou úlohu), řeší se však problém opakujících se chyb z procesu učení.

Název učebního textu 23 Obr. 3.10: Přímé programování pomocí přesného provádění žádaného pohybu (vlevo) a nástroj pro přímé programování druhým uvedeným způsobem (vpravo). Nepřímé programování (offline programování) je zápis trajektorie ve skriptovacím jazyce, jeho otestování na simulaci a následné nahrání do řídicí jednotky. Vyžaduje vyšší prostorovou představivost programátora, neboť body jsou zde zadávány pomocí souřadnic, avšak umožňuje větší flexibilitu programu lze nastavit větvení, opakování, podmínky apod. Výhoda offline programování je, že inverzní úloha se jednou předem vyřeší do formy časových průběhu kloubových souřadnic, které jsou pak již pouze sledovány a nekladou nároky na výpočetní výkon. Přímé plánování (online programování) je nejnáročnější na výpočetní výkon řídicí jednotky, neboť inverzní kinematická úloha je zde řešena v reálném čase. Také je nutné mít se na pozoru při pohybu v blízkosti singulárních bodů, neboť robot se zde může pohybovat těžce předvídatelným způsobem (u offline programování toto zjistíme předem na simulaci). Velkou výhodou však je, že robot je schopen pružně reagovat na nestandardizovatelné události (např. výrobky přijíždějí z různých míst a různě natočené, robot je musí správně uchopit a umístit do krabice, které může být také pokaždé v různé poloze) 3.6.1 Základní příkazy jazyka SPEL+ Způsob offline programování trajektorie robotického manipulátoru je přibližně stejný u všech výrobců, i když každý z nich má mírně odlišný skriptovací jazyk. Zde si ukážeme základní příkazy jazyka SPEL+ pro šestiosé manipulátory, které jsou základními stavebními kameny popisu trajektorie. Tyto příkazy se většinou v ostatních jazycích liší jen nepatrně. 3.6.1.1 Příkaz XY(x,y,z,u[,v,w]) Definuje bod v prostoru pomocí 6 nebo 4 os. Souřadnice x, y, z definují polohu koncového bodu v prostoru a souřadnice u, v, w jeho natočení dle konvence RPY (roll - pitch - yaw). V případě, že jsou poslední 2 osy vynechány, není v těchto osách pohybováno. Příklad: P20 = XY(10, 0, 0, -45, 0, 0) // uložení bodu označeného jako P20 P10 = XY(60, 30, -50, 45, 10,20) + P20 // P10 má souř. (70, 30, -50, 0, 10, 20)

24 FEKT VUT v Brně 3.6.1.2 Příkaz GO Přesune koncový bod manipulátoru z aktuální polohy do bodu P. Není zde definováno po jaké trajektorii řídicí jednotka pouze optimalizuje rychlost kloubů tak, aby se všechny klouby rozjely současně a do žádaných poloh dorazily také ve stejný čas. Trajektorie tak může být nepředvídatelná a je vhodné si ji předem vyzkoušet. Příklad: GO XY(10, 0, 0, -45, 0, 0) // robot se posune na pozici danou // souřadnicemi GO P10 // robot se posune do bodu P10 GO P10+P20 // robot se posune do bodu daného // souřadnicemi (80,30,-50,-45,10,20) 3.6.1.3 Příkaz MOVE Přesune koncový bod manipulátoru z aktuální polohy do bodu P po přímce. Je důležité si uvědomit, že tato úloha někdy nemusí mít řešení, i když jsou oba body dosažitelné a přímka prochází pouze přes body, které jsou také dosažitelné. Je to dáno omezením natočení kloubů, kdy např. z úhlu -179 do úhlu -180 je nutné přejít pomocí otočení o 359 a nikoliv pouze o 1. V takovémto případě nelze pohyb po přímce dodržet. Příklad: MOVE P10 // robot se posune do bodu P10 po přímce 3.6.1.4 Příkaz ARC Přesune koncový bod manipulátoru z aktuální polohy do bodu P1 po oblouku, který prochází bodem P2. Příklad: GO P10 // realizuje trajektorii, která začíná v bodě P10 ARC P20, P30 // a prochází přes bod P20 do bodu P30 po // oblouku 3.6.1.5 Příkaz JUMP Přesune koncový bod manipulátoru z aktuální polohy do bodu P tak, že dojde k nadzvednutí koncového bodu o určitou hodnotu v ose Z (do bodu A), následně k přesunu nad cílový bod (bod B) a nakonec ke spuštění v ose Z do cílového bodu P. Pohyb přes body A a B je realizován pomocí CP (v bodech se nezastavuje), dojezd do bodu je PTP (v cílovém bodě se zastaví). Tuto trajektorii si lze představit jako trajektorii jeřábu, který břemeno nejprve zveden, pak posune a nakonec zase spustí. Příklad: JUMP P10 // robot zvedne předmět v aktuálním bodě // a položí ho do bodu P10 3.6.1.6 Modifikátor CP Uvedením modifikátoru CP za příkaz (např. GO či MOVE) uvádíme, že v cílovém bodě má koncový bod manipulátoru pouze přibrzdit a ihned pokračovat dalším příkazem. Bez jeho uvedení se manipulátor v bodě zastaví. Příklad: GO P10 // Robot provede PTP přesun z P10 do P14 ve MOVE P11 CP // tvaru zaobleného rohu. V průběhu realizace ARC P12, P13 CP // zaobleného rohu v průjezdních bodech P11, MOVE P14 // P12 a P13 nezastavuje.

Název učebního textu 25 3.7 Praktické aplikace průmyslových robotů Ačkoliv to na první pohled z medií nemusí být zřejmé, drtivá většina robotů operujících po světě jsou průmyslové manipulátory (přibližně 90%). Dle IFR bylo v roce 2014 na světe 1,5 milionu operujících průmyslových robotů. Mezi nejčastější průmyslové aplikace patří: Souvislé sváření s využitím CP (Arc Welding) Bodové sváření plechů pomocí PTP (Spot Welding) Překládání, nakládání a vykládání těžkého materiálu (Material Handling) Automatizovaná obsluha dalších přístrojů (Machine Tending) Stříkání tekutých a práškových barev, laků (Painting) Přenášení, balení, skládání, vkládání a paletizace výrobků (Palletizing) Sestavování a kompletace součástí výrobku (Assembly) mechanické řezání, broušení, leštění, smirkování (Surface Trimming) nanášení lepidel, těsniv, tlumicích materiálů, pěnování (Sealing) kontrolní měření pomocí kamer, laseru a čidel (Inspection) Kromě průmyslu jsou robotické manipulátory používány i v dalších odvětvích, například ve zdravotnictví (viz kapitola Aplikace robotiky v biomedicíně). 3.8 Kontrolní otázky 1) Vyjmenujte požadavky kladené na průmyslové roboty. 2) Co je to teleoperátor? 3) Vyjmenujte základní parametry při výběru robotu. 4) Jaký je rozdíl mezi CP a PTP? Uveďte oba významy, ve kterých se tyto zkratky používají. 5) Kolik procent všech robotů na světě tvoří průmyslové roboty?

26 FEKT VUT v Brně 4 Aplikace robotiky v biomedicíně Robotika je multioborová vědní disciplína, které svým rozsahem přesahuje do mnoha různých oborů. Již samotný robot je bez ohledu na jeho kontext multioborový. Podvozek, klouby, ramena, úchopy či nárazníky budou mít původ v oboru mechaniky či strojírenství. Pohony jednotlivých os, ramen či úchopů, serva, často i samotný zdroj energie, kamery a veškeré snímače elektrických i neelektrických veličin, ty spadají do oboru elektrotechniky. Rozhodovací čí regulační algoritmy, komunikační protokoly, teleprezence, stavová vizualizace či počítačové vidění to vše bude patřit do informatiky. Znalosti z těchto tří oblastí však často pro správný návrh a následnou vhodnou konstrukci robotu ještě nestačí je třeba proniknout i do základů toho oboru, pro který bude robot sloužit. Ačkoliv je tato kapitola věnována biomedicínským aplikacím robotiky, neznamená to, že uvedené poznatky nelze použít při hledání nových aplikací v jiných oborech. Základní principy jsou totiž všude stejné. Seznámíme se s nimi v první části tohoto textu. V dalších částech se pak budeme věnovat historii medicínské robotiky a představíme si některé současné robotické aplikace. Přehled o aplikacích v oboru bývá dobrým výchozím bodem pro návrh nového robotického systému. Nakonec si ukážeme na konkrétním případě, jak je možné použít technickou kybernetiku v medicíně pro vysvětlení principů a jevů uvnitř lidského těla. Analogické pohledy na stejnou věc z úhlu jiného oboru totiž často pomohu vyřešit případy, které se zdají v rámci oboru nepochopitelné či neřešitelné. 4.1 Mezioborová spolupráce Představa, že za robotickým inženýrem přijde například lékařský odborník, formuluje problém, se kterým se potýká ve svém oboru a robotik se následně bude snažit vymyslet aplikaci robotiky šitou na jeho problém, je ve většině případů nereálná. Ano, takové případy existují, ale jsou spíše ojedinělé. V drtivé většině případů musí vzejít iniciativa z druhé strany od robotika. Důvodem je fakt, že lékař o problému a jeho možném řešení většinou vůbec neví. Úkony, které během praxe (nebo i běžného života) provádíme, děláme totiž povětšinou stále stejným způsobem, kterému jsme se jednou naučili a neřešíme, zda je náhodou nelze dělat jinak. Výzkum společnosti Microsoft ukázal, že při vydání nové verze, která zachovává všechny staré funkce a k tomu navíc přidává zrychlené volání funkce rovnou z hlavního panelu, většina uživatelů neregistrovala významné zlepšení ergonomie programu. Většina uživatelů pak v následující otázce odpověděla, že si možnosti zrychleného volání nevšimla. Při vydání nové verze pouze s novými prvky (bez zachování těch starých) většina uživatelů reflektuje i přes počáteční nepříjemnosti (nutnost naučit se novému) významné zlepšení ergonomie. Nové robotické aplikace je tedy potřeba iniciativně vyhledávat a cílovým uživatelům je aktivně nabízet. Role zúčastněných osob shrnuje Tab. 4.1. Základní fáze při hledání nových robotických aplikacích jsou pak shrnuty v následující kapitole.

Název učebního textu 27 Odborník z oboru robotiky Informuje se o současných aplikacích robotiky v daném oboru za účelem inspirace či jejich inovace. Navrhuje modifikované aplikace nebo vylepšení. Informuje se o činnostech (zejména těch složitých a přitom rutinních), které mimooborový odborník vykonává a hledá analogie z jiných oborů, kde byla robotika aplikována a přinesla zlepšení, následně navrhuje jak robotiku aplikovat. Odborník z jiného oboru Konzultuje současné aplikace s robotikem a vysvětluje mu jejich použití, výhody a úskalí. Hodnotí přínos modifikované aplikace nebo navržené inovace. Potvrzuje či vyvrací analogie, konzultuje přínos navržené robotické aplikace. Ukazuje možné robotické aplikace nebo obecně možnosti robotiky. Upravuje a vylepšuje robotickou aplikaci na základě zpětné vazby od mimooborového odborníka. Snaží se vymyslet, jak a kde by se dalo předvedené použít. Poskytuje zpětnou vazbu pro předvedené návrhy robotických aplikací. Poskytuje zpětnou vazbu při testování nové robotické aplikace, používá prototyp k léčbě svých pacientů. Tab. 4.1: Role zúčastněných osob při ideální mezioborové spolupráci. 4.2 Postup hledání robotických aplikací v jiných oborech Postup při hledání nových robotických aplikací v neznámých oborech lze rozdělit do 6ti po sobě jdoucích základních fází, kterými je nutné projít pro úspěšnou a užitečnou robotickou aplikaci. 1) Studium historie robotických aplikací v oboru Na počátku bývá vhodné seznámit se s historií robotiky v daném oboru. Lze tak nejen určit, do jaké míry je obor vhodný pro aplikaci robotiky, ale také jaké úkoly již byly vyřešeny a zejména zjistit, které projekty měly jaký dopad na vývoj oboru. Ne všechny se totiž všechny úspěšné projekty uchytí a historie je to, co nám umožní analyzovat možné překážky, které by nás nenapadly. Naopak některé historické překážky již v dnešní době neplatí (např. cena komponent je nižší, výkonnost hardware vyšší), a proto by možná stálo za to některé historicky neúspěšné projekty obnovit. U neúspěšných projektů se ptejte na otázku co by bylo nutné změnit, aby byl projekt úspěšný a analyzujte, zda to v dnešní době není dosažitelné. 2) Studium současných robotických aplikací v oboru Dokonalá znalost současných aplikací v oboru je důležitá nejen z hlediska novosti nápadu (aby již projekt neexistoval), ale je také dobrým zdrojem inspirace pro nové aplikace. Je vhodné se zaměřit i na finanční stránku a dopad aplikace, což jsou důležité informace pro analýzu návrhu nové aplikace. Současnou aplikaci je také možné vylepšit, zde je však potřeba provést pečlivou analýzu dopadu.

28 FEKT VUT v Brně 3) Studium problémů v oboru a jejich současných řešení Konzultace s odborníky v oboru jsou ty nejlepší zdroje nápadů. Ptejte se jich, co a jak se dělá, jaké jsou zde úskalí a výhody. Nechte si dopodrobna popsat jejich činnosti. Zaměřte se zejména na rutinní složité úkoly, které mají největší potenciál dopadu. 4) Hledání analogií v jiných oborech a návrh nového řešení Hledejte ve svém oboru (nebo vám blízkých oborech) analogické situace, které jsou již vyřešeny. Snažte se na každý problém podívat z různých pohledů a hledejte podobnost. V mnoha případech jsou nové nápady pouze převzaty z jiného oboru a mírně upraveny. 5) Analýza dopadu robotické aplikace Každý nový nápad robotické aplikace podrobte důkladné analýze, ve které ověříte, jaký potenciální dopad může aplikace mít. Jak velký je okruh zájemců, proč by měli aplikaci používat, jaké jim přinese výhody. Existují-li již řešení, která řešení stejný problém, hledejte v čem je to vaše lepší. Uvědomte si, že dosáhnout stejných výsledků je málo, výsledky musí být výrazně lepší nebo nebude motivace novou aplikaci začít používat. Zaměřte se také na problémy a překážky vašeho řešení (např. zdravotnická certifikace). 6) Konzultace s odborníky v oboru Projde-li nápad nové aplikace přes analýzu dopadu, seznamte s nápadem odborníka v oboru. Ověřte si, zda vaše domněnky nejsou mylné. 7) Sestrojení prototypu Sestrojte funkční zařízení, pomocí kterého ověříte jeho realizovatelnost a získáte možnost předvést v praxi vaši aplikaci. 8) Testování ve spolupráci s odborníky v oboru Nechejte vaše robotické zařízení používat odborníka z oboru. Konzultujte s ním ergonomii práce, výhody, nevýhody, překážky a problémy. Mějte na paměti, že používání přístroje, na který není odborník zvyklý, se odráží na jeho výkonu. Musí tedy být nějakým způsobem motivován tento přístroj používat. Nic není zadarmo a mezioborová spolupráce musí být výhodná pro obě strany. 9) Nasazení robotické aplikace v praxi Posledním bodem je nasazení do praxe a v případě komerčních projektů čekání na zásah neviditelné ruku trhu. 4.3 Historie aplikované robotiky v biomedicíně Počátky robotiky obecně spadají do 17. 18. století, ve kterém převládá snaha o vytvoření umělého člověka (humanoida) nebo stroje s podobou zvířete (zooid). Jednalo se převážně o hříčky pro přilákání pozornosti. Mechanický pohon díky slabému silovému působení však neumožňoval aplikace interagující s člověkem. S rozvojem industrializace v 19. století, převážně s vynálezem parního stroje, vznikají první nápady na užití robotiky v lékařství. Z této doby pochází například nákresy podpůrných

Název učebního textu 29 mechanizmů pro chůzi pacientů s obrnou poháněné parním strojem, které však nebylo technicky možné realizovat. První praktické aplikace se objevují až v 1. polovině 20. století. Teleoperátory 1, které byly původně určeny zejména pro atomový průmysl, se začaly používat pro manipulaci s nakažlivými a toxickými materiály. S příchodem prvního automatického programovatelného manipulátoru UNIMATE ve 2. polovině 20. století nastává bouřlivý rozvoj robotiky v mnoha oborech, včetně medicíny. Robotické manipulátory se uplatňují v automatizaci rutinních úkolů při výrobě léčiv (míchání, vážení, manipulace se zkumavkami, apod.). Výhodou automatizace výrobního procesu byla vyšší rychlost výroby a vyšší přesnost. Objevují se také první elektrické invalidní vozíky, které byly po dlouhá léta pouze v hlavách konstruktérů, neboť neexistovala vhodná hnací jednotka. První kolečková křesla se objevují již na čínských malbách v 6. stol. př. n. l., avšak první elektricky poháněný invalidní vozík byl představen až v roce 1953 v Kanadě. Technický pokrok umožnil také vznik robotických exoskeletů (Obr. 4.1). První z nich nesl název Hardiman a byl představen v roce 1960. Vnitřní oblek snímal silové působení paží člověka pomocí tenzometrů, vnější mechanická kostra pak byla vybavena elektrickými motory, které pak byly schopny působit na předmět násobnou silou. Celý systém tak fungoval násobič síly s koeficientem až 25. Z důvodů velké časové odezvy motorů na působení paže a nestability pohybu způsobené šumem na tenzometrech nebyl tento projekt úspěšný. Obr. 4.1: První robotický exoskelet Hardiman (1960). 1 Zařízení umožňující provádět manipulační činnosti na dálku. Jsou ovládány operátorem např. pomocí joysticku nebo snímáním pohybem jeho rukou a slouží k činnosti s nebezpečnými materiály. Více v kapitole Programování průmyslových robotů.

30 FEKT VUT v Brně Vznikají také první chirurgické roboty 2, které se začaly používat pro asistenci operátorovi, zejména jako třetí ruka pro pomocné držení nástrojů. Prvním chirurgickým robotem byl robot Hertthrob, předastavený v roce 1983 v Kanadě (Obr. 4.2). V roce 1989 byly pro cvičení s pacienty s nervovým postižením sestaveny první rehabilitační roboty. Cílem takových zařízení je stimulovat aktivaci příslušných nervových drah pomocí nuceného pohybu končetin Obr. 4.2: První chirurgický robot Heartthrob (vlevo) a rehabilitační robot (vpravo). Současný stav vývoje je charakterizován přechodem od složitých univerzálních prostředků (např. exoskelety) k jednodušším a jednoúčelovým. Převládá spíše nepatrná inovace stávajících aplikací nad vývojem zcela nových. Pokrok brzdí zejména velká byrokracie a oligopol s pateristickými prvky 3. Zdravotnictví však má velké rezervy co se týče optimality zdravotnické péče, slabá mezioborová spolupráce. V budoucnu se očekává rozvoj v souvislosti s rozmachem nanověd např. nanorobotická cílená distribuce léčiv, nanorobotické chirurgické operace, nanorobotické čištění cév. 4.4 Přehled současných robotických aplikací v lékařství Tato kapitola přináší stručný přehled současně používaných robotických aplikací ve zdravotnictví. 4.4.1 Chirurgické roboty Chirurgické roboty jsou přesné teleoperátory (Obr. 4.3), které realizují zejména funkci silového děliče (pohyb operátora v centimetrech způsobí pohyb nástroje v milimetrech). Ovládají se pohyby rukou, kdy operátor pracuje jako u klasické operace nebo robot ovládá přes počítač pomocí joysticků. Mezi základní výhody chirurgických robotů patří: Chirurg není stresován, nemusí stát, může v klidu sedět. Eliminuje se tak riziko chyby i třes rukou způsobený únavou. Vyšší přesnost pozicování nástroje umožňuje provádět minimálně invazivní operace, díky kterým je pak menší krvácení, bolest, rychlejší hojení a menší rizika. Možnost využívat třetí ruku pro pomocné držení tkání či nástrojů. 2 Pojem je dále vysvětlen v části Přehled současných robotických aplikací v lékařství. 3 Oligopol = trh je rozdělen mezi několika hlavními hráči, neexistuje zde konkurence. Paterismus = medicínské firmy udržují lékařské odborníky cíleně v nevědomosti o jednoduchosti jejich přístrojů, které pak mohou prodat za vyšší cenu.

Název učebního textu 31 Automatická kontrola zanoření nástroje nebo softwarové omezení prudkých pohybů umožňuje provádět např. přesnější řezy skalpelem, což snižuje riziko chyby chirurga. Systémy umožňují i operace na dálku (chirurg ovládá robotický systém z jiného města), které však nejsou příliš časté. Hlavní nevýhodou tohoto systému je vysoká pořizovací cena (přibližně 45 mil. Kč + každý nástroj cca 100 tis. Kč), díky které je těchto přístrojů v ČR pouze několik (v roce 2014 jich bylo 9). Obr. 4.3: Chirurgický robotický systém davinci. 4.4.2 Invalidní vozíky Elektricky poháněná vozítka pracující na podobném principu jako teleoperátory s rozdílem, že dálkové ovládání je součástí přístroje. Hlavním problémem v oblasti invalidních vozíků je neexistence univerzálního podvozku, který by byl vhodný pro všechny povrchy. Diferenciální podvozek (Obr. 4.4 vlevo) je jednoduchý na konstrukci, dosahuje dobré manipulovatelnosti (lze se otáčet na místě), vyžaduje však absolutně rovnou podlahu. Ackermanův podvozek (Obr. 4.4 vpravo) je podvozek používaný u osobních automobilů, je vhodný i do terénu, je však složitější a nedosahuje tak dobré manipulovatelnosti. Podvozek se všesměrovými koly (Obr. 4.5) je výborně manipulovatelný (může jet všemi směry a u toho libovolně rotovat), je však náchylný na nečistoty a vhodný pouze pro úplnou rovinu. Ve výzkumu se objevují projekty různých hybridních podvozků, problém však stále není uspokojivě vyřešen. Obr. 4.4: Schéma diferenciálního (vlevo) a Ackermanova podvozku (vpravo).

32 FEKT VUT v Brně Obr. 4.5: Invalidní vozík s všesměrovými koly (vlevo). Detail všesměrového kola (vpravo). 4.4.3 Robotické exoskelety Robotický exoskelet je motorizovaný oblek, který umožňuje pohyb nepohyblivým pacientům (Obr. 4.6 vlevo). Ovládá se pomocí joysticku jako invaldní vozík a používá se pro rehabilitaci končetin nebo jako vertikalizátor umožňující chůzi nemohoucím. Jiné typy exoskeletů fungují jako násobič síly (Obr. 4.6 vpravo). Tyto typy se používají například v nemocnicích pro zvedání a přenášení nemohoucích pacientů. Obr. 4.6: Robotický exoskelet ve funkci chodítka (vlevo) a jako násobič síly (vpravo). 4.4.4 Umělé robotické končetiny Dlouholetou snahou v oblasti robotiky je vytvoření umělé končetiny (Obr. 4.7), která je napojena na nervový systém člověka a umožňuje ovládání ramene pomocí mozku. Agentura DARPA na tyto projekty vymezila 100 mil. dolarů, které vývoj posunuly vpřed, nicméně stále je k cíli ještě daleko. Ovládání ruky je v současné době již vyřešeno na poměrně dobré úrovni, opační komunikační kanál je zatím nespolehlivý (přenos teploty a tlaku na bříško prstu zpět do mozku). Umělé končetiny jsou stále ještě příliš drahé pro masové použití, nejsou vhodné pro venkovní prostředí a rozhraní člověk stroj je stále ještě příliš křehké.

Název učebního textu 33 Obr. 4.7: Umělé končetiny. 4.4.5 Rehabilitační kybernetika V oblasti rehabilitace jsou používány rehabilitační roboty (Obr. 4.8), což jsou vlastně nepohyblivé exoskelety, které umožňují přesný pohyb cvičení. Existují roboty ovládané pacientem, fyzioterapeutem nebo s pevným programem. Rozvíjí se také zpětnovazební rehabilitace, kde pacient ovládá hru pomocí svého těla. Pacient je tak více motivován cvičit a hra může být nastavena tak, aby pacient cviky prováděl správně. Obr. 4.8: Rehabilitační kybernetika: rehabilitační robotika (vlevo a uprostřed), zpětnovazební rehabilitace - ovládání hry vlastním tělem (vpravo). 4.4.6 Stomatologický robot Jedná se o automatickou výrobu zubních náhrad pracující na principu negativního 3D tisku z keramického bločku je přesným CNC přístrojem vytvářena zubní náhrada, která je přesnější a estetičtější. Zubní lékař nejprve zaměří zubní čelist optickým 3D skenerem, v příslušném software virtuálně vymodeluje správný tvar zubní náhrady, která ne následně vyfrézována robotem během několika minut a implantována do pacientovy čelisti. 4.4.7 Další robotické aplikace Dále jsou používány například: Teleoperační manipulátory manipulátory řízené dálkově v reálném čase, určené pro manipulaci s nebezpečným (dynamické rentgeny) nebo nakažlivým materiálem (infikované tkáně).

34 FEKT VUT v Brně Průmyslové roboty pro automatizaci rutinních úkonů (výroba léků, biochemické analýzy, histologické rozbory). Pomocné roboty robotická sestra (podávání nástrojů, ovládané hlasem), RIBA II (zvedač a přenášeč pacientů v nemocnicích), MySpoon (krmení pacientů bez rukou), exoskelety pro zvedání pacientů v nemocnicích. A mnoho dalších 4.5 Analogie posturální stability a kybernetiky Hledání analogií mezi problémy napříč obory je základem pro úspěšné vyřešení projektu. Na následujícím příkladu si ukážeme, jak lze ryze biologickou věc jako je posturální stabilita pojmout z technického pohledu. Na takto definovaný problém pak můžeme aplikovat veškeré poznatky klasické kybernetiky. Obr. 4.9: Kybernetické schéma regulace stability pacienta stojícího na vratké ploše. Pacient stojí na vratké plošině tvořené půlkruhovou úsečí a jeho cílem je udržovat stabilitu. Vycházíme z klasického modelu zpětnovazebního regulátoru (Obr. 4.9). Regulovanou soustavou je v tomto případě stabilizační svalstvo, jehož činnost je ovládána nervovými signály (vstup) a které ovlivňují hodnotu naklonění od rovnovážné osy. Zpětná vazba je realizována měřením náklonu pomocí snímače jménem rovnovážné ústrojí, jehož výstupní veličina je opět nervový signál. Žádaná hodnota je rovnováha, kterou lze definovat jako nulovou odchylku osy pacienta od směru působení tíhové síly, takže regulační odchylka je rovna záporně vzaté hodnotě náklonu. Funkci regulátoru zde plní algoritmy v mozku, které na základě náklonu určují hodnotu regulačního zásahu do soustavy. Zavedeme-li měření náklonu vratké plošiny a tuto hodnotu budeme pacientovi zobrazovat na obrazovce počítače (Obr. 4.10), vznikne zde druhá regulační smyčka, kde je zpětnovazebním převodníkem namísto rovnovážného ústrojí inerciální snímač, jehož elektrický výstup je softwarově zpracováván do grafické formy na obrazovce počítače a ten následně okem převáděn na nervové signály vedoucí opět do mozku. Zpětnovazební měření je v této smyčce přesnější, proto i regulace stability pacienta touto smyčkou bude lepší (menší porucha ve zpětné vazbě). Protože tuto druhou regulační smyčku realizuje opět mozek, tedy stejný regulátor, dojde

Název učebního textu 35 k adaptaci regulačního algoritmu na základě regulace pomocí horní smyčky, což následně povede k lepším výsledkům i v případě regulace bez optické zpětné vazby. Obr. 4.10: Kybernetické schéma regulace stability pacienta stojícího na vratké ploše vybavené měřením náklonu a zpětnou vazbou pro pacienta. 4.6 Kontrolní otázky 1) Kdo ze zúčastněných musí být aktivnější pro úspěšnou meziborovou spolupráci? 2) Co je to analýza dopadu? 3) Uveďte základní výhody robotických operací oproti běžným. 4) Co je to robotický exoskelet?