V minulém díle jsme nastínili, co by měl průmyslový robot umět. Dnes si přiblížíme, jak ho vlastně rozpohybovat.
Pohyby robota programujeme s ohledem na typ stroje a výrobce primárně ve vývojovém prostředí. Konkrétně jde o aplikaci pro modelování, off-line programování a simulaci robotických pracovišť. Výhodná je jednak v tom, že umožňuje lokální práci, a jednak proto, že je možné ji dále vyvíjet během připojení ke kontroléru robota, ale i bez jeho fyzické přítomnosti (formou vytváření virtuálního prostředí s emulací kontroléru reálného robota).
Robot může být podle druhu aplikace naváděn zcela autonomně na základě předem definovaných trajektorií. K tomu stačí pouze vlastní kontrolér, který řeší exaktně zadanou úlohu a s okolními zařízeními může nebo nemusí komunikovat prostřednictvím vstupně výstupních periferií, jako jsou digitální nebo analogové linky. U složitějších pracovišť, kde se periferie a případně výpočetní možnosti robotického kontroléru jeví jako nedostačující, je nutné využít další prvky průmyslové automatizace, jako jsou zpravidla nadřazené řídicí systémy (PLC), bezpečnostní komponenty, kamery a snímače.
Většinu úloh z oblasti automatizovaného řešení lze provést standardní cestou řídicího systému daného robota, který zajišťuje komplexní fungování robotického stroje v požadovaném softwarovém rozsahu. S rozvojem robotiky a standardizací průmyslových řešení se však objevují stále složitější nestandardní typy úloh, na které běžný robotický systém nestačí. Pro takové případy je tu právě nadřazený řídicí systém vyšší kategorie, který je schopen komplexně pojmout zadaný problém.
Do této kategorie se typicky řadí úlohy v trojrozměrném prostoru, kde je řešen odběr obrobků různého tvaru a polohy z fyzicky ohraničeného prostoru (např. nádoby), tzv. „bin picking“. Řídicí systém musí být schopen zpracovat obraz na základě prostorového skenování výrobků volně ložených v kontejneru, vyhodnotit tvar a polohu těchto dílů a následně s výrobkem manipulovat. Robot pak musí zvládnout vyzvednout výrobek z bedny a přemístit ho na předem určenou pozici. K tomu jsou využívány specializované softwarové nástroje pro vyhledávání obrazového vzoru v prostoru, které mají za úkol prvek lokalizovat. Dalšími nástroji je třeba následně řešit samotné vyzvednutí z bedny.
V praxi se běžné polohování robota řeší standardně pomocí kontroléru, kdežto programově náročnější část – vyzvednutí dílu – je provedena externím výpočetním zařízením (PC), které je připojeno přímo na akční členy pohonů a přebírá tak veškeré řízení přímo bez participace vlastního kontroléru. Po opuštění kolizního prostoru daného objektu – vyjetí z bedny – je pak řízení předáno zpět pod kontrolér a další operace probíhají obvyklou cestou.
Pokud robot pracuje s předměty, které nemají opakovanou rozměrovou přesnost, je třeba provádět prostorové korekce předem naprogramovaných pohybů (trajektorií), případně tuto trajektorii přímo tvořit dle aktuálních potřeb. Z těchto požadavků vyvstávají typy úloh, kdy robot je podle situace částečně nebo plně ovládán externím zařízením.
Nadřazený systém vyhodnocuje situaci kamerou a na základě zpracovaných obrazových informací a dat posílá požadavek směrem k robotovi na předem určený pohyb po trajektorii (podle typu úlohy). Je třeba uvažovat různé souřadné systémy a provádět mezi nimi konverze tak, aby kontrolér obdržel relevantní informaci o požadované poloze již v souřadném systému robota, případně jsou tato data zpracována až na úrovni řídicího systému. Po vydání příkazu k pohybu robot definovaným způsobem přejíždí do zadané/vypočtené pozice. Následně podává zpět nadřazenému systému informaci o ukončení operace a případně také o své reálné pozici, resp. o TCP (tool center point – pozice středu nástroje).
Do procesu dále vstupují okolnosti a pojmy, jako je osvětlení prostoru, přesnost zaměření pozice, přesnost polohování robotu, zrychlení, rovnoměrnost pohybu, takt snímání, synchronizace polohy a času, přenos dat apod.
Navádění robota kamerou pro uchopování předmětů
Systém navádění se skládá z kamery a vyhodnocovacího zařízení s příslušným softwarovým vybavením, které spolupracují s řídicí strukturou. Robot přijímá povely k pohybu na požadovanou pozici. Následně je z kontroléru vrácena skutečná pozice, detekovaná/vypočtená na základě údajů z enkoderů všech os robota. Do procesu vyhodnocení polohy není promítnuta odchylka způsobená mechanickými částmi a vnějšími vlivy, které mají za následek rozdíl mezi skutečnou a vypočtenou polohou TCP.
Úloha je postavena na bázi optického vyhledávání místa robotické manipulace s volně položenými objekty. Strojové vidění tak rozšiřuje aplikační možnosti robota.
Skrze zvolený komunikační kanál se do programu robota (kontroléru) přenášejí data o požadované pozici. Robot je naváděn do místa nabrání/uchopení předmětu, kdy je zároveň korigována orientace úchopu, provedena kontrola uchopení s následnou manipulací a přesunu předmětu do požadovaného místa odložení.
Navádění robota kamerou pro měřicí úkony
Přesnost polohování robota je odvozeno od rozpoznaného obrazu a v některých případech tímto i limitována. Úloha může znít také jako polohování robota nesoucího měřený objekt, kdy robot nese v chapadle předmět, který je snímán stacionární kamerou.
Pohyb po měřicí trajektorii
Na základě trojrozměrného CAD modelu je ve vývojovém prostředí (podle možností konkrétního programového řešení) vytvořena pevně daná trajektorie, po které se robot pohybuje bez ovlivnění, resp. korekce z vnějšího nadřazeného systému. Odchylky měření jsou přímo závislé na přesnosti mechanismu robota.
Pohyb po zadávaných bodech
Z nadřazeného systému jsou skrz některou komunikační strukturu sekvenčně zadávány průjezdní body, po kterých se má TCP pohybovat. Je třeba brát v úvahu omezení daná možnostmi robota, a to jak kinematické, tak softwarové, kdy robot nemusí být z různých důvodů schopen dosáhnout požadované pozice. Omezení vyplývá zejména ze singulárních bodů (nejednoznačná konfigurace os robota pro dosažení konkrétní žádané polohy/pozice). Případně může při pohybu vzniknout chyba polohování, kdy je chybně definován pohyb a robot není schopen pokračovat do dalšího bodu (např. pohyb s požadovanou vysokou přesností průjezdu bodem versus rychlost pohybu).
Polohování robota nesoucího měřicí zařízení
Robot je využíván pro polohování měřicích aparatur, kdy je jeho pohyb řízen z nadřazeného systému. Např. přímočarý průjezd TCP skrz zadávané body. Přesnost polohování není v tomto případě rozhodující.
Při tomto typu úlohy může být požadavek na generování spouštěcích pulzů pro kameru v reálném čase, kdy:
- Robot generuje v reálném čase ekvidistantní pulzy, odvozené od dráhy pohybu nebo od pomyslné (kamerou sledované) dráhy na povrchu CAD modelu skenovaného předmětu.
- Rychlost pohybu robota musí být i po složitých trajektoriích natolik opakovatelná a známá, aby se dalo jinými prostředky vygenerovat sekvenci časových pulzů, které odpovídají dráhově ekvidistantnímu dělení.
Kalibrace systému s 2D a 3D obrazovým snímačem
Pokud má robot pracovat s informacemi získanými pomocí obrazového snímače a na základě nich např. měnit trajektorii svého pohybu, je nutné popsat vztah mezi koordinačním systémem obrazového snímače a koordinačním systémem robota. Za použití tohoto vztahu a kalibrace samotného obrazového snímače je následně možné robotovi předávat v jeho souřadném systému informaci o poloze sledované entity obrazovým snímačem.
Robotický systém s kamerou nesenou robotickým ramenem (a), robotický systém se stacionární kamerou (b)
Jedním ze způsobů kalibrace je kalibrace pomocí kalibračního plata. Kalibrace je založena na známosti transformačních vztahů (relativních poloh koordinačních systémů) některých entit systému a dopočtu zbylých transformačních vztahů uzavřeného relačního řetězce.
Stejně jako ostatní pracoviště, musí být i to robotické bezpečné pro osoby, které se v něm pohybují. Z pohledu spolupráce s člověkem rozlišujeme roboty na ty běžné průmyslové a kolaborativní, které se někdy označují slovem „kobot“. Obecně je snaha pohyb člověka v blízkosti robota co nejvíce omezit. I robot, který je výrobcem deklarovaný jako „bezpečný“ a „kolaborativní“, představuje jisté ohrožení. Byl totiž testován za určitých podmínek, které při skutečném nasazení často nelze zajistit. Před uvedením do provozu je proto třeba vždy nejprve posoudit možná rizika daná provedením pracoviště a způsobem práce, a na základě toho následně provést taková opatření, která vyhoví požadavkům dané aplikace na bezpečnost práce a provozu.
Předchozí díl: