#08 Tvorba programu
Tvorba programu - plánovanie jednotlivých činností
Tvorba programu robota si vyžaduje naplánovanie všetkých potrebných činností nutných pre vykonanie úlohy. Definovanie a plánovanie týchto činností zväčša býva prvou fázou programovania. Do tejto oblasti môžme zaradiť napríklad:
- Všeobecné plánovanie úlohy a definovanie účelu využitia robota
- Využitie diagramov na popis pracovných činností akými sú napríklad detailný popis pracovného procesu, definovanie jednotlivých pozícií a ich číslovanie a definovanie vstupných a výstupných signálov.
Softvérové objekty
Pri programovaní robotov existuje niekoľko softvérových objektov:
- Programový modul: Každý modul programu obsahuje dáta o cykloch pre konkrétnu úlohu. Rozdelenie programu do modulov uľahčuje tvorbu a úpravy programu. Všetky moduly programu sú vymazané pokiaľ dôjde k vymazaniu daného programu z pamäte robota. Tieto moduly zvyčajne vytvára programátor.
- Dáta: Predstavujú ich hodnoty zapísané v programe. Dáta sú spracované pomocou jednotlivých inštrukcií.
- Cyklus: Skladá sa zo zoznamu inštrukcií a definuje akú úlohu robot vykonáva.
- Hlavný cyklus: Býva označovaný ako "main". Ide o hlavný a počiatočný cyklus programu. Každý program musí mať main cyklus, inak by nebolo možné ho spustiť.
- Inštrukcia: Požiadavka na vykonanie určitej činnosti ako napríklad otvorenie/zatvorenie čeľustí, presun na inú pozíciu a pod.
- Systémový modul: Obsahuje dáta a cykly potrebné pre vykonanie určitej činnosti. Je podobný programovému modulu. Zvyčajne je vytváraný výrobcom.
Inštrukcie
Inštrukcie pre robota sú zapísané v programe pomocou príkazov v programovacom jazyku. Je možné ich rozdeliť do niekoľkých kategórií:
- Pohybové a polohové inštrukcie: Obsahujú informácie o polohách jednotlivých bodov v priestore, súradniciach, interpolácii a rýchlostiach.
- Inštrukcie pre ovládanie programu: Obsahujú informácie o začiatku a konci programu, vetvení programu, opakovaní jednotlivých cyklov a podmienkach pre prerušenie programu.
- Nástrojové inštrukcie: Obsahujú informácie o podmienkach, pri ktorých dôjde k otvoreniu/zatvoreniu čeľustí alebo k inej operácií, v závislosti od typu použitého efektora.
- Vstupné a výstupné inštrukcie: Popisujú vstupné a výstupné signály a slúžia na kooperáciu s ostatnými robotmi a zariadeniami.
- Komunikačné inštrukcie: Spracúvajú dáta slúžiace na komunikáciu robota a PC.
- Iné inštrukcie: Nastavenia parametrov, výber programu, reset a pod.
Príklad Pick-and-Place programu
Tvorba jednoduchého programu, akým je uchopenie objektu, presun do inej pozície a položenie objektu môže prebiehať nasledovne: Na obrázku je možné vidieť 4 potrebné pozície pre definovanie tejto úlohy:
- Pozícia 1: Pozícia pre uchopenie objektu.
- Pozícia 2: Pozícia pre položenie objektu.
- Pozícia 10: Počiatocná pozícia pre uchopenie.
- Pozícia 20: Počiatočná pozícia pre položenie.
Pozície 1 a 2 sú naprogramované a uložené s pomocou TeachPendantu a pozície 10 a 20 sú dopočítané a definované počas programovania. Vykonanie danej úlohy začne pohybom 1, teda presunutím efektora robota do pozície 10 ktorá sa nachádza nad objektom. Ďalej nasleduje pohyb 2 a uchopenie objektu v pozícii 1. Objekt bude uchopený a pohybom 3 sa robot dostane nazad do pozície 10. Pohybom 4 robot objekt presunie do pozície 20, umiestnenej nad miestom, kam má byť objekt uložený. Pozícia 20 je zároveň počiatočnou pozíciou pre uloženie objektu. Robot pohybom 5 uloží objekt na požadované miesto a vráti sa do počiatočnej pozície (6). Pohybom 7 sa robot dostane do počiatočnej pozície pre uchopenie ďaľšieho objektu a cyklus sa opakuje. Štruktúru a sled operácií cyklu je možné vyjadriť pomocou diagramu: Inštrukcie pre vykonanie jednotlivých krokov sú zapísané v programe. Syntax jednotlivých príkazov a štruktúra programu sa môže líšiť, podľa toho aký programovací jazyk robot využíva.
Využitie vstupných a výstupných signálov
Pre detekciu objektov v pracovnom priestore sa využívajú senzory. Signály zo senzorov sú prenášané do ovládacej jednotky robota počas priebehu programu. Tieto signály majú využitie pri logickom rozhodovaní a vetvení programu. V závislosti od hodnoty ktorú signál reprezentuje, robot môže priebeh programu prerušiť. Príkladom je detekcia objektu v blízkosti efektora. Pokiaľ senzory zachytia objekt v určitej vzdialenosti od efektora, ovládacia jednotka robota zastaví iné prerušenia, uchopenia a pokračuje v programe. Efektor robota sa pohybuje vo vzdialenosti 50mm v smere osi Z. Pokiaľ je objekt umiestnený v definovanej polohe, vykoná sa inštrukcia pre uchopenie objektu. V prípade že objekt nie je umiestnený na svojom mieste, robot sa vráti do počiatočnej pozície a cyklus sa opakuje. Diagram môže vyzerať nasledovne:
Flexibilita robotov - výzva pri programovaní
Vyššie uvedený príklad Pick-and-Place programu je jednou z najzákladnejších úloh pre priemyselného robota. Aj napriek relatívnej jednoduchosti úlohy tvorba programu vyžaduje hneď niekoľko krokov. Práve flexibilita priemyselných robotov a široké možnosti ich využitia predstavujú určitú výzvu pri programovaní. Každá úloha môže byť iná a vykonávaná v odlišnom prostredí. S vývojom priemyselných robotov však dochádza aj k vývoju rôznych metód programovania, ktoré sú čoraz viac intuitívnejšie.
Autor: Jakub Michalčík | Daily Automation
Zdroje:
- LEHTLA, T. Introduction to robotics. Talinn. 2008.