#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 sú naprogramované a uložené s pomocou TeachPendantu a pozície 10 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 sa robot dostane nazad do pozície 10. Pohybom 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 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.