Základní pojmy a práce průmyslových robotů
PRŮMYSLOVÍ ROBOTI – ZÁKLADNÍ POJMY
Jak by vlastně měl vypadat robot? Tak, jak jsme jej popisovali v historické exkurzi? Nejvýstižnější popis takového dává blokové schéma z obr. 3.1. Robot, který by měl nahrazovat člověka, musí být schopen fyzicky ovlivňovat prostředí, ve kterém se robot nachází, a v tomto prostředí se pohybovat. To zajišťuje jeho motorický subsystém, ten svými efektory prostředí ovlivňuje. Efektory také zajišťují pohyb robota v prostoru. Robot musí být schopen nějakým způsobem reagovat na prostředí a jeho změny. To zajišťuje senzorický subsystém. Nad těmito systémy je nadřazen kognitivní subsystém, ve kterém probíhá rozhodovací a hlavní řídicí činnost. V tomto subsystému je ukryta inteligence robota. Senzorický systém je rozdělen na dvě části – receptory, které snímají fyzikální signály z prostředí a převádí je na vhodné vnitřní signály, a systém zpracování a výběru dat, který vybírá z takových signálů informace důležité pro robota.
Obr. 3.1. – blokové schéma obecného robota
Příkladem může být snímání prostředí televizní kamerou a vyhodnocení tvaru a polohy předmětu, který má robot uchopit. Motorický systém je rovněž rozdělen na dvě části – efektory, které provádějí zásahy do prostředí, a realizátor plánů, podle kterého jsou efektory řízeny. Příkladem může být rameno robota, servomechanizmy a řídicí počítač, který takové rameno řídí. Kognitivní subsystém představuje nadřazené inteligentní řízení. Tento subsystém provádí hlubší analýzu informace přicházející ze senzorického susbsytému, taková analýza již zahrnuje vnímání a chápání. Tato analýza vyžaduje, aby robot měl vybudován nějaký model prostředí a stanoven cíl své práce. Na základě této analýzy modelu prostředí a cíle práce se zde také provádí řešení úloh a plán akcí, které nakonec robot provede. Kognitivní systém tak uzavírá nejvyšší smyčku zpětné vazby K, která je potřebná pro inteligentní chování robota. Mezi senzorickým a motorickým systémem existují ještě zpětnovazební smyčky nižší úrovně. Je to tzv. operační smyčka O,
která zajišťuje vykonání naplánované úlohy. Operační smyčky jsou u robotů představovány např. smyčkami servomechanismů, které pohybují ramenem robota. Nejnižší úroveň řízení představují tzv. reflexivní smyčky R, které řeší základní jednoduché problémy (podobně jako u člověka reflexy např. na popálení). Příkladem může být smyčka nárazník–motory, která zastaví pohyb robota při dotyku s překážkou. Podobně jako u člověka, je zapotřebí aby jednotlivé výše popsané subsystémy byly v harmonické rovnováze. I ti nejlepší zatím postavení roboti pro výzkumné účely jsou vybavováni jen zárodky kognitivního řízení. Průmysloví roboti nejsou vybaveni ani takovými zárodky. Průmysloví roboti současnosti nejsou tedy vybaveni inteligencí ve smyslu kognitivního robota. Blokové schéma průmyslového robota je nakresleno na obr. 3.2. U průmyslového robota zadává robotovi plán práce – program člověk. Řídicí subsystém (realizátor plánů a blok zpracování a výběru dat) je tvořen především počítačem v různém provedení. Efektory spolu s receptory tvoří manipulátor, který je počítačem a patřičnou elektronikou řízen. I pro průmyslového robota platí, že všechny jeho subsystémy musí být v harmonické rovnováze. V následující části této kapitoly si uvedeme základní pojmy, které bývají použity přímo jako katalogové údaje průmyslových robotů. Některé z těchto pojmů budou podrobněji vysvětleny a použity v následujících kapitolách.
Velmi důležitou skupinou u průmyslových robotů je mechanická část manipulátoru. Mechanická část manipulátoru je nejčastěji tvořena ramenem a zápěstím s chapadlem. Různé druhy koncepce ramen, zápěstí a chapadel najde čtenář např. v [Šolc, 1990] nebo [Buda, 1985]. Úkolem manipulátoru je zajistit polohování robotem uchopeného předmětu v prostoru. Z mechaniky je známo, že poloha a orientace tělesa v prostoru je charakterizována šesti údaji. Většinou jsou to 3 hodnoty [x,y,z] souřadnic nějakého referenčního bodu tělesa v základním kartézském souřadném systému a 3 úhly [α,β,γ] natočení nějakého referenčního systému, pevně s tělesem spojeného, vzhledem k tomuto základnímu souřadnému systému. Říkáme, že volné těleso má v prostoru 6 stupňů volnosti. Je tedy zřejmé, že manipulátor musí mít nejméně 6 volně a snadno nastavitelných veličin – proměnných, aby uchopený předmět dokázal volně polohovat, musí mít rovněž 6 stupňů volnosti (pojem stupně volnosti bude upřesněn v dalším textu). To je mechanicky zajišťováno tzv. osami – klouby, které jsou poháněny – nastavovány pohony (u robotů je zvykem používat pojem kloub, u obráběcích strojů pojem osa). Menší počet kloubů než 6 snižuje manipulační schopnosti robota. Počet kloubů je tedy důležitý katalogový údaj. Většinou bývá manipulátor tvořen ramenem se třemi klouby a zápěstím, které má další tři klouby.
Na obr. 3.3. jsou nakresleny základní kinematické koncepce ramen průmyslových robotů. Každé rameno je na tomto obrázku zakončeno chapadlem, které se může jen zavírat a otevírat. Manipulátory na obrázku uvedené mají jen tři osy. Je zjevné, že pokud by úkolem robota, vybaveného takovým manipulátorem, bylo přenést a vylít sklenici s vodou, nebudou to roboti koncepce a) ani b) schopni provést. Robot s koncepcí c) by takový úkol sice provést mohl, ale jen přes své tělo.
Obr. 3.4. Ukázka jiných možných kinematických koncepcí ramen průmyslových robotů.
Při manipulaci je s každým kloubem spojen údaj o jeho nastavení, tzv. kloubová proměnná. Kloubové proměnné bývají označovány symbolem q. Kloubové proměnné manipulátorů na obr. 3.3. se shodují se souřadnicemi známých souřadnicových systémů – kartézkého, cylindrického a sférického. Odtud jsou odvozeny názvy uvedených koncepcí. Kinematických koncepcí průmyslových robotů existuje celá řada a lze je najít např. v [Šolc, 1990].
Obr. 3.5. Planární manipulátor s šesti klouby a obr. 3.6. Planární manipulátor se třemi klouby.
Různé koncepce mají různé výhody a nevýhody a ovlivňují mnohé praktické vlastnosti robotů, např. spolehlivost. Koncepce mají vliv i na dosažitelnou rychlost manipulace. Více kloubů zvyšuje významně manipulační schopnosti robota. Na obr. 3.5. je nakresleno schéma planárního manipulátoru s šesti rotačními klouby. Rameno se může pohybovat pouze v rovině. Je zřejmé, že jeho manipulační schopnosti jsou díky většímu počtu kloubů takové, že může manipulovat za překážkou. Přestože rameno má 6 kloubů, nemůže s uchopeným předmětem volně manipulovat v prostoru. Šest kloubů je tedy pouze podmínka nutná, nikoliv však postačující pro volnou (plnou) manipulovatelnost s předmětem, klouby zřejmě musí být vhodným způsobem uspořádány. Další omezení pohybu manipulátoru jsou způsobena dorazy a geometrickými rozměry manipulátoru, tato omezení stanovují pracovní prostor manipulátoru. U manipulátoru z obr. 3.6. je zajisté z mechanických důvodů možné jen určité vysunutí ramene a zároveň je omezeno natočení ramene. Důležitou informací, která je u průmyslových robotů uváděna, je způsob programování, resp. plánování dráhy robota. Někdy je tento údaj uváděn pod pojmem způsob řízení robota. K vysvětlení těchto pojmů si musíme nejprve vysvětlit pojmy přímé úlohy kinematiky a inverzní úlohy kinematiky. Je zřejmé, že znalost kloubových souřadnic nám umožňuje naprosto jednoznačně určit hodnoty souřadnic koncového členu manipulátoru v kartézském prostoru. Označíme-li si vektor kloubových souřadnic q = [q1; q1; q1; q1; q1; q1]T (u robota se šesti klouby) a vektor pozice koncového členu robota např. chapadla P = [x;y;z;α;β;γ]T, pak existuje jednoznačné zobrazení z prostoru kloubových souřadnic do prostoru kartézských souřadnic, které zapíšeme ve formě P = f(q), což představuje 6 rovnic, které jsme u mnoha manipulátorů schopni sestavit z běžnými znalostmi geometrie. Nalezení těchto rovnic je přímá úloha kinematiky. Pohyb robota tedy můžeme naprogramovat v prostoru kloubových souřadnic a robot vykoná příslušný pohyb v kartézských souřadnicích. Pro člověka je ovšem přirozenější představit si pohyb a plánovat jej v kartézských souřadnicích. U některých systémů programování musíme tedy řešit obrácenou úlohu, tj. ze znalostí pozice P umět vypočítat hodnoty kloubových souřadnic, to je inverzní úloha kinematiky. Tato úloha je mnohem složitější než přímá úloha kinematiky. Inverzní úloha kinematiky může mít více řešení, může mít dokonce nekonečně mnoho řešení.
Obr. 3.7. Planární manipulátory s nejednoznačným řešením inverzní úlohy kinematiky
Pro planárního robota z obr. 3.7.a má inverzní úloha kinematiky dvě řešení, pro planární manipulátor z obr. 3.7.b má inverzní úloha dokonce nekonečně mnoho řešení. Při řešení inverzní úlohy musíme samozřejmě uvažovat pozici P uvnitř pracovního prostoru manipulátoru. Průmysloví roboti jsou programováni a následně řízeni podle schématu na obr. 3.8.
Obr. 3.8. Blokové schéma řízení průmyslového robota
Dráha robota je většinou naprogramována a uložena ve formě kloubových souřadnic. Údaje o žádaných hodnotách kloubových souřadnic už jsou spolu s příslušným časem uloženy v paměti robota. Řídicí systém pak při vykonávání programu – plánu – zajišťuje, že platí q(t) je prakticky shodné s qž(t). Přímou úlohu kinematiky při daném průběhu q(t) pak vlastně řeší samotný mechanismus manipulátoru. V podstatě existují tři způsoby plánování dráhy robota – programování:
- Přímé programování – učení. Přímé učení bývá prováděno dvěma způsoby:
- Obsluha vede rameno a zápěstí robota po žádané dráze a žádanou rychlostí. To může být zařízeno tak, že obsluha přímo drží pracovní nástroj v chapadle robota a vykonává s ním operace, které má pak robot opakovat (viz obr. 3.9). Takto bývají např. programováni roboti určení pro stříkání barvy. Řídicí systém robota si zapamatuje požadovaný pohyb ve formě tabulky údajů qž(t) a posléze tento pohyb vykonává podle schéma na obr. 3.8. Určitou nevýhodou tohoto způsobu učení je, že člověk musí provádět programovací pohyb dostatečně dokonale, robot všechny jeho případné chyby, jako např. škubnutí rukou, opakuje.
- Obsluha navádí robota do požadovaných pozic v prostoru, např. pomocí tlačítek na přenosném programovacím panelu. V požadované pozici, kterou může nastavovat velmi přesně a libovolně dlouho, obsluha stiskne tlačítko „zapamatuj si tuto pozici“. Do paměti robota se tak uloží posloupnost údajů o požadované pozici ve formě poměrně malého počtu údajů q1, q2 … qn. K těmto údajům o poloze se před spuštěním robota v režimu plnění programu musí dodat ještě vhodným způsobem údaj o čase a případně o způsobu, jak mají být body v prostoru propojeny. Tyto dodatečné údaje pak určují, jak bude skutečně pohyb vykonávat, v každém případě však projde robot posloupností pozic q1, q2 … qn. Výhodou tohoto způsobu učení je, že údaje o pozicích mohou být zadávány velmi precizně a je jich relativně málo. Nevýhodou je, že pohyb mezi těmito pozicemi nemusí být obsluze dostatečně dobře znám. Problém bude demonstrován v příkladu 3.1.
- Nepřímé programování – offline.
Při tomto způsobu programování je programována trajektorie pohybu Pž(t) ve formě křivek v prostoru, např. podle výkresů. Čas je parametrem těchto křivek a vyplývá z technologického postupu, např. svařování. Offline je řešena i inverzní úloha kinematiky a údaje qž(t) jsou použity pro řízení robota. - Přímé plánování – online.
Je podobné předchozímu způsobu s tím rozdílem, že inverzní úloha kinematiky se musí řešit v reálném čase. Takový způsob plánování se používá v případě, že robot má svůj pohyb provádět na základě údajů od senzorů ve měnícím se prostředí. Robot má např. uchopit pohybující se objekt a trajektorie objektu není předem známa. Při tomto způsobu plánování dráhy je v obr. 3.8. uzavřena i vnější zpětná vazba od pozice P.
Způsoby programování a řízení 1a, 2 a 3 se take nazývají CP (Continuos Path), způsob 1b se nazývá PTP (Point to Point).
Příklad 3.1.
Mějme planárního robota z obr. 3.6. Jeho pracovní prostor je určen v kloubových souřadnicích rozsahem r∈<0.5m; 1m>, α∈<0o; 90o>. Přímá úloha kinematiky (pro polohu v rovině) je vyjádřena vzorci (3.1),
inverzní úloha vzorci (3.2).
Robot je vybaven velmi jednoduchým PTP řídicím systémem a má např. provádět svařování po přímce rovnoběžné s osou y počínaje bodem o souřadnicích [0.75m; 0m] a konče bodem [0.75m; 0.6m]. Obsluha navede robota na tuto přímkovou dráhu a určí k zapamatování 7 bodů, viz tab. 3.1.
Tab. 3.1. Posloupnost naprogramovaných bodů trajektorie manipulátoru
Časové údaje a průběh dráhy jsou v tomto případě definovány tak, že obsluha stanoví jednoduchým způsobem rychlosti pohybu v jednotlivých kloubech. V našem případě jsou to rychlosti v kloubu r 2,1 mm/s a v kloubu α 0,75 o/s. Řídicí systém robota polohuje jednotlivé klouby nastavenou rychlostí tak, že kloub, který dosáhne naprogramovanou pozici v čase jako první, zastaví a počká až naprogramovanou pozici dosáhne druhý kloub. Tím je zajištěno, že klouby a koncový člen projdou naprogramovanými pozicemi. Vzhledem k různým rychlostem pohonů kloubů a různým vzdálenostem naprogramovaných bodů v kloubovém souřadném prostoru dochází však k tomu, že dráha mezi naprogramovanými body v kartézském prostoru je pro obsluhu špatně představitelná, viz obr. 3.10 a 3.11. Obsluha odhalí tento problém většinou během zkušebního běhu robota a naprogramováním dalších bodů může nevhodný průběh dráhy opravit. Uváděný způsob programování dráhy byl velmi jednoduchý. U složitějších systémů s tímto typem programování se používá např. proložení naprogramovaných bodů vhodným polynomem a skutečně lze i PTP systém použít pro plynulé svařování.
Obr. 3.11. Průběh kartézských souřadnic koncového členu manipulátoru v režimu plnění programu.