ROS Industrial

Ak si dnes pROS_industrial_Logo_Squareorovnáte výsledky dosiahnuté v oblasti robotického výskumu s tým, čo je reálne nasadené vo výrobe, uvidíte obrovský rozdiel. Dôvodov je viacero, no vo všeobecnosti platí, že priemyselné roboty by dokázali omnoho viac, ako iba neustále opakovanie vopred naučených pohybov, ak by mali k dispozícii kvalitný software a spoľahlivé riadenie. A práve nato sa zameriava ROS-Industrial

Úplné počiatky ROS-Industrial (Shaun Edwards zo SwRI 2012)

História a SwRI

Po 4 rokoch intenzívneho vývoja, kedy už bolo zrejmé, že ROS sa stáva jednotkou medzi open-source frameworkami, sa o neho začali zaujímať aj vývojari z oblasti priemyselnej robotiky. V ROS boli totiž už v tom čase dostupné kvalitné nástroje, ktoré buď vo výbave priemyselných robotov chýbali alebo bolo mimoriadne komplikované integrovať ich do riadenia manipulátorov. Išlo najmä o nástroje ako 3D sensing, automatické generovanie trajektórií či riešenie úloh inverznej kinematiky. Vytvoriť ROS kompatibilné drivre pre priemyselné roboty si však vyžadovalo prácu na obidvoch stranách systému, tak na strane PC, ako aj na strane robotických controllerov. Iniciatívu v tejto oblasti prebralo robotické oddelenie Southwest Research Institute v Texase a v spolupráci s americkým výrobcom priemyselných manipulátorov Yaskawa-Motoman začiatkom roku 2012 vytvorili prvý ROS-I driver pre priemyselné manipulátory Motoman rady SIA.

Open source mentalita

Ak máte skúsenosti s priemyselnými manipulátormi, tak sami dobre viete, že tieto systémy sú väčšinou uzavreté, výrobcovia vám síce umožnia základné programovanie cez pendant, zapínanie cez digitálne vstupy, prípadne ovládanie po niektorej priemyselnej zbernici, no málokedy sprístupnia celý systém pre priame zadávanie trajektórie pohybu. Buď takéto riešenia predávajú integrované ako celok aj spolu s vision systémom alebo za rozšírenú funkcionalitu vrátane inverznej kinematiky požadujú nemalé licenčné poplatky.

Do tejto atmosféry v roku 2012 vstúpili SwRI a Motoman a zadarmo sprístupnili a zverejnili ovládače pre svoje roboty. Na prvý pohľad nezmyselný krok, ktorý sa ale veľmi rýchlo ukázal ako prelomový. Naštartoval totiž komunitu vývojárov, ktorí sa postarali o testovanie, ladenie, a vývoj ďalších komponentov systému. Samotní vývojári zo SwRI sa neskôr vyjadrili, že za prvý rok sa im vrátilo 100 násobne viac, ako do toho na začiatku dali.

Vo veľmi krátkom čase sa ku iniciatíve ROS-Industrial pripojilo viacero výrobcov priemyselných robotov, pribudla podpora pre Universal Robots, ABB, Fanuc, Adept a KUKA manipulátory a taktiež prepojenie MTConnect bridge pre spoluprácu s obrábacími strojmi. ROS-Industrial už v prvom roku svojej existencie na viacerých príkladoch ukázal, kde sa skrýva jeho potenciál. Jedným z takýchto príkladov bola aj demonštrácia interoperabilty na veľtrhu Automate 2013 v Chicagu, kde v jednej pracovnej bunke v tesnej blízkosti spolupracovali na triedení neusporiadaných komponentov dva manipulátory rôznych výrobcov ovládané z jedného programu.

 ROS-Industrial SwRI na veľtrhu Automate 2013 v Chicagu

Kinematika

Z hľadiska riadenia pohybu manipulátora umožňuje ROS ďaleko viac ako iba riešenie inverznej kinematiky. Vďaka knižnici MoveIt, pochádzajúcej taktiež z dielne Willow Garage, máte k dispozícii kompletný motion planner, ktorého úlohou nie je iba interpolovať body trajektórie medzi začiatočným a koncovým bodom ale najmä hľadať takú trajektóriu, pri ktorej manipulátor žiadnou svojou časťou nepríde počas pohybu do kontaktu so svojím okolím – tzv. collision avoidance motion planning. Samozrejme systém musí vedieť, či už na základe 3D modelu pracoviska alebo údajov zo senzorov, že v okolí robota sa niejaká prekážka nachádza. Výstupom plannera je sekvencia polôh, rýchlostí a zrýchlení pre jednotlivé kĺby s príslušnými časovými známkami. Úlohou ROS-Industrial je vyfiltrovať, prispôsobiť a preniesť túto trajektóriu do riadiaceho systému konkrétneho robota , a následne ju vykonať na reálnom zariadení.

collision_avoidance_final

Collision avoidance motion planning

Senzorika

ROS tým, že bol primárne vyvíjaný pre potreby servisnej robotiky je silný aj v senzorickej oblasti. K dispozícii sú drivre pre rôzne typy hardwaru od obyčajných USB kamier, cez priemyselné kamery, 3D senzory Kinect, Asus Xtion, až po laserové snímače SICK, či Hokuyo. Najpoužívanejšie senzory ako napríklad Kinect majú drivre dostupné už v základnej inštalácii ROS, ostatné väčšinou fungujú out-of-the-box, čiže si ich stiahnete z GitHubu, buildnete a používate. Veľkou výhodou systému je jednoduchý prístup k funkciám knižníc OpenCV a PCL, ktoré umožnujú spracovanie získaných dát, či už ide o obraz alebo point-cloud.

Komunikačné možnosti

Z priemyselných zberníc je zatiaľ možné z ROS komunikovať iba cez EtherCat a v posledných mesiacoch sa intenzívne pracovalo aj na CanOpen. Samozrejmosťou sú klasické sériové linky ako RS485, RS232 či priamo USB. Pre zbernice PROFIBUS, DeviceNET, Modbus, a OPC servre  drivre chýbajú, sú technicky realizovateľné, v budúcnosti by mohli pribudnúť, ale zatiaľ ešte nie sú dostupné. Z tohto dôvodu nie je v súčasnom stave možné z ROS komunikovať s PLC prípadne využívať priemyselné HMI jednotky na vizualizáciu.

Vizualizácia

ROS-Industrial vďaka kombinácii silných vizualizačných nástrojov a prepojenia s reálnymi robotmi okrem iného plní aj funkciu offline programovacieho nástroja. Do simulačného prostredia je možné natiahnuť 3D model robota ako aj celého pracoviska a programovať pohybové sekvencie bez potreby práce s reálnym zariadením. Pri práci online je možné pripravené sekvencie overiť, pričom samozrejmosťou je online vizualizácia stavu robota ako aj možnosť premietať do simulačného prostredia point-cloudy  z reálnych 3D senzorov. Modulárna architektúra ROS aj v tomto prípade umožňuje vyskladanie programu pre potreby konkrétnej aplikácie. Podrobnejšie informácie o možnostiach ROS-I sa dozviete v nasledujúcej prednáške.


Aktuálne možnosti ROS-I (Jeremy Zoss SwRI)

Vývoj ROS-Industrial je financovaný konzorciom priemyselných firiem, ktoré majú záujem túto technológiu v budúcnosti využiť vo svojich výrobných procesoch. To, že ROS-I má veľký potenciál potvrdil aj nemecký Fraunhofer IPA, keď sa v roku 2014 pridal ku SwRI ako kľúčovej organizácii, zabezpečujúcej vývoj hlavných komponentov systému. V súčasnosti je Fraunhofer IPA  zodpovedný za vývoj a propagáciu ROS-I v Európe.

Budúcnosť ROS-Industrial

Ak si kupujete priemyselný robot  aby dookola vykonával jednu a tú istú pohybovú sekvenciu, ROS-Industrial vôbec nepotrebujete. Skutočný potenciál tohto systému sa ukáže až keď je potrebné dynamicky generovať trajektórie pohybu, čiže ak máte komplikovanejšie pracovisko využívajúce kamerový prípadne iný senzorický systém. V praxi ide najčastejšie o manipuláciu s neusporiadaným objektami, paletizáciu a depaletizáciu, odihlovanie komponentov a podobne. Aj keď už existujú príklady úspešného nasadenia ROS-I do výroby, komerčnou sférou je ešte stále vnímaný najmä ako „šikovný prototyper“, čiže aplikácia sa pomerne rýchlo navrhne a odladí v ROS ale keď dôjde na jej reálne nasadenie je celá funkcionalita prepísaná do štandardného programovacieho jazyka robotického riadiaceho systému. Opäť, dôvodov je viacero, čiastočne sa o nich dozviete z prednášky Erika Nievesa, každopádne cieľom vývojárov je dotiahnuť ROS-I do takého stavu, aby mohol byť plnohodnotným a univerzálnym riadiacim systémom, ktorý bude akceptovaným priemyslom.

A ako sa na ROS pozerá priemysel, o aktuálnych trendoch aj o tom prečo je pre výrobcov priemyselných robotov ROS zaujímavý sa viac dozviete z prednášky technologického riaditeľa Motoman – Erika Nievesa z ROSCon2013.

Erik Nieves a jeho prednáška o prínose ROS pre priemyselnú robotiku
František Ďurovský