Preskoči na sadržaj
FORTRONIQ

MODUL 3 · PROGRAMIRANJE INDUSTRIJSKOG ROBOTA

Nastavna jedinica 3.3

Programiranje jednostavnog zadatka industrijskog robota

Uzimanje predmeta s jednog mjesta i odlaganje na drugo najjednostavniji je robotski zadatak i ujedno kostur gotovo svakog složenijeg. Ako se on napravi uredno — s promišljenim redoslijedom točaka, provjerom signala i ispitivanjem korak po korak — sve ostalo je nadogradnja.

Moći ću:
  • provesti analizu zadatka i popisati ulazne podatke, signale i ograničenja
  • izraditi dijagram toka programa prije pisanja koda
  • sastaviti popis točaka s njihovom ulogom i međusobnim odnosom
  • naučiti točke na robotu i zapisati ih uz odgovarajući alat i radni predmet
  • napisati program s naredbama gibanja, upravljanjem prihvatnicom i provjerom ulaza
  • ispitati program korak po korak u ručnom radu i sigurno prijeći u automatski rad
  • prepoznati i izbjeći česte pogreške pri prvom programu

Analiza zadatka

Zadatak glasi: robot uzima obradak sa stola za uzimanje i odlaže ga na traku. Prije nego što se napiše ijedna naredba, treba odgovoriti na nekoliko pitanja, jer svaki odgovor mijenja program.

  • Kako je obradak postavljen? Leži li uvijek u istom položaju ili se položaj mijenja?
  • Čime se hvata? Prihvatnicom s dvama prstima, vakuumskom prihvatnicom ili magnetom?
  • S koje strane robot smije prići? Postoji li naprava ili stijenka koja smeta?
  • Koji signali postoje? Ima li senzor prisutnosti obratka i ima li prihvatnica potvrdu stezanja?
  • Što se događa kada obratka nema? Robot čeka, javlja poruku ili preskače ciklus?
  • Koliko traje ciklus i koliko komada treba u satu?

Odgovori se zapisuju, jer čine dokumentaciju zadatka. Iz njih slijedi popis signala, a iz popisa signala izravno naredbe za postavljanje izlaza i čekanje ulaza. Pretpostavimo za nastavak: obradak je kvadar, leži u napravi s gnijezdom pa je položaj uvijek isti, hvata se prihvatnicom s dvama prstima odozgo, senzor u gnijezdu javlja prisutnost, a prihvatnica ima sklopku koja potvrđuje stegnuto stanje.

SignalVrstaOznakaZnačenje
Prisutnost obratkadigitalni ulazdiObradak1 kada je obradak u gnijezdu
Potvrda stezanjadigitalni ulazdiStegnuto1 kada su prsti zatvoreni na obratku
Potvrda otpuštanjadigitalni ulazdiOtpusteno1 kada su prsti otvoreni
Stezanje prihvatnicedigitalni izlazdoStegni1 zatvara prste
Traka slobodnadigitalni ulazdiTrakaSlobodna1 kada je mjesto odlaganja prazno
Ciklus u tijekudigitalni izlazdoURadu1 dok robot izvodi ciklus

Dijagram toka

Dijagram toka crta se prije programa i rješava ono što se u kodu teško vidi: redoslijed, mjesta odluke i što se događa kada uvjet nije ispunjen. Nije ga potrebno crtati programom; olovka i papir dovoljni su, a korist je ista.

Za naš zadatak tijek je sljedeći, zapisan kao pseudokod:

POCETAK
  otpusti prihvatnicu
  idi u sigurnosnu tocku
  PONAVLJAJ
    AKO nema obratka u gnijezdu ONDA
        cekaj 0,5 s
        nastavi od pocetka petlje
    KRAJ AKO
    idi iznad mjesta uzimanja
    spusti se na mjesto uzimanja
    stegni prihvatnicu
    cekaj potvrdu stezanja
    podigni se iznad mjesta uzimanja
    AKO traka nije slobodna ONDA cekaj KRAJ AKO
    idi iznad mjesta odlaganja
    spusti se na mjesto odlaganja
    otpusti prihvatnicu
    cekaj potvrdu otpustanja
    podigni se iznad mjesta odlaganja
    povecaj brojilo za 1
  DOK je pogon ukljucen
KRAJ

Dijagram odmah otkriva dvije stvari koje se u žurbi zaboravljaju. Prvo, prihvatnicu treba otpustiti na početku, jer nitko ne zna u kakvom je stanju ostala nakon prethodnog zaustavljanja. Drugo, između uzimanja i odlaganja postoji provjera je li mjesto odlaganja slobodno; bez nje robot odlaže na zauzeto mjesto.

Zapamtite

Vrijeme uloženo u dijagram toka vraća se pri ispitivanju. Program napisan bez dijagrama obično radi, ali se pri prvoj izmjeni pokaže da nitko ne zna zašto je neki korak ondje gdje jest.

Početakotpusti prihvatnicuu sigurnosnu točkuima obratka?prilaz i uzimanjedaneodmak od uzimanjamjesto prazno?odloži i otpustipovećaj brojilopogon radi?dane, čekajdaKrajne
Slika 3.5 — Dijagram toka uzimanja i odlaganja s dvjema odlukama: ima li obratka i je li mjesto odlaganja slobodno.

Popis točaka

Pet točaka dovoljno je za cijeli zadatak. Njihov raspored nije stvar ukusa: svaka ima razlog postojanja i svaka se uči na određen način.

TočkaUlogaNačin dolaskaTočnost
pSigurnapočetni i završni položaj, slobodan od svih preprekazglobno gibanjezona zaobljenja
pIznadUzimanjatočka iznad obratka, okomito nad mjestom uzimanjazglobno gibanjezona zaobljenja
pUzimanjepoložaj u kojem prsti obuhvaćaju obradakpravocrtno gibanje, okomito prema doljetočan dolazak
pIznadOdlaganjatočka iznad mjesta odlaganjazglobno gibanjezona zaobljenja
pOdlaganjepoložaj u kojem se obradak spušta na trakupravocrtno gibanje, okomito prema doljetočan dolazak

Točke iznad uzimanja i odlaganja postoje zbog jednog razloga: prilaz obratku uvijek mora biti okomit i pravocrtan. Ako robot prilazi koso, prsti zapinju za rub gnijezda ili guraju obradak prije nego što ga obuhvate. Visina tih točaka bira se tako da prihvatnica sigurno prelazi preko svih prepreka, obično 80 do 150 mm iznad radne točke.

Sigurnosna točka uči se kao zglobni položaj, jer mora biti dostižna iz svakog stanja i ne smije ovisiti o konfiguraciji. Preostale četiri uče se kao položaji alata, uz određen alat i određen radni predmet, jer se pri pomaku naprave ili trake mijenja samo radni predmet, a točke ostaju.

Pažnja

Točke iznad uzimanja i odlaganja ne uče se posebno. Nauči se radna točka, a točka iznad nje dobiva se pomakom po osi alata, primjerice naredbom koja zadanoj točki dodaje odmak. Time se osigurava da su dvije točke doista jedna iznad druge i da se pri izmjeni radne točke pomiču zajedno.

Učenje točaka i pisanje programa

Točke se uče u ručnom radu sa smanjenom brzinom, s privjeskom u ruci i sklopkom mrtvog čovjeka u srednjem položaju. Postupak je za svaku točku isti: odabere se koordinatni sustav u kojem je primicanje najjednostavnije, robot se dovede u položaj najprije grubo pa sve sporije, provjeri se položaj iz dvaju pogleda i tek se onda točka sprema.

Pri primicanju obratku smanjuje se postotak brzine. Uobičajen je slijed 50 % dok je robot daleko, 10 % na posljednjih nekoliko centimetara i 2 do 5 % na posljednjih nekoliko milimetara. Ako se prsti moraju smjestiti u uski prostor, korisno je gibati se u alatnom koordinatnom sustavu, jer se tada pomak po osi alata poklapa sa smjerom prilaza.

Kada su točke naučene, program se piše iz dijagrama toka gotovo doslovno.

PROC main()
    ! priprema
    SetDO doStegni, 0;                ! otpusti prihvatnicu
    WaitDI diOtpusteno, 1;
    MoveAbsJ jpSigurna, v500, fine, tPrihvatnica;

    WHILE TRUE DO
        IF diObradak = 0 THEN
            WaitTime 0.5;
        ELSE
            UzmiKomad;
            OdloziKomad;
            nBrojac := nBrojac + 1;
        ENDIF
    ENDWHILE
ENDPROC

PROC UzmiKomad()
    MoveJ Offs(pUzimanje,0,0,120), v1000, z30, tPrihvatnica;
    MoveL pUzimanje, v80, fine, tPrihvatnica;
    SetDO doStegni, 1;
    WaitDI diStegnuto, 1\MaxTime:=2;
    MoveL Offs(pUzimanje,0,0,120), v200, z30, tPrihvatnica;
ENDPROC

PROC OdloziKomad()
    WaitDI diTrakaSlobodna, 1;
    MoveJ Offs(pOdlaganje,0,0,120), v1000, z30, tPrihvatnica;
    MoveL pOdlaganje, v100, fine, tPrihvatnica;
    SetDO doStegni, 0;
    WaitDI diOtpusteno, 1;
    MoveL Offs(pOdlaganje,0,0,120), v300, z30, tPrihvatnica;
ENDPROC

Uočite tri pojedinosti. Brzina prilaza obratku manja je od brzine povratka, jer se pri prilazu traži točnost, a pri povratku brzina. Naredbe stezanja i otpuštanja uvijek su praćene čekanjem na potvrdu, a ne slijepim čekanjem na vrijeme. I sve točke iznad radnih dobivene su odmakom od radne točke, pa se pri pomicanju naprave mijenja jedna vrijednost, a ne dvije.

Vrijeme ciklusa uzimanja i odlaganjaRačunski prikaz

Procjena trajanja jednog ciklusa iz duljina segmenata, brzina gibanja i vremena rada prihvatnice. Dodatak na ubrzanje i usporavanje uzet je kao stalna vrijednost po segmentu, pa je rezultat orijentacijski.

Vrijeme gibanja—s
Vrijeme prihvatnice—s
Vrijeme ciklusa—s
Komada na sat—

Ispitivanje programa

Program se nikada ne pokreće prvi put u automatskom radu. Ispitivanje ima tri stupnja i svaki od njih otkriva drugu vrstu pogreške.

Prvi stupanj: korak po korak pri najmanjoj brzini. Sustav se postavi u ručni rad sa smanjenom brzinom, postotak se spusti na 10 %, a program se izvodi jedan redak po jedan, uz držanje sklopke mrtvog čovjeka. Prati se ide li robot ondje kamo je zamišljeno, postoji li opasnost od sudara i reagiraju li prihvatnica i signali. Ovo je jedini stupanj u kojem je čovjek unutar ograde.

Drugi stupanj: neprekidno izvođenje smanjenom brzinom. Program se pusti da teče, i dalje u ručnom radu, uz postotak 25 do 50 %. Sada se vide stvari koje se u koraku po korak ne primijete: prijelazi između točaka, učinak zona zaobljenja i ponašanje u petlji. Uobičajeno je pustiti nekoliko ciklusa zaredom, jer se pogreške u povratku u početni položaj vide tek u drugom prolazu.

Treći stupanj: automatski rad. Čovjek izlazi iz ćelije, vrata se zatvore, provjeri se da su sve zaštitne funkcije djelatne i program se pokrene izvana. Prvih nekoliko ciklusa prati se kroz zaštitnu ogradu, uz ruku na tipki za zaustavljanje. Tek nakon toga se mjeri vrijeme ciklusa i prilagođavaju brzine i zone zaobljenja.

StupanjNačin radaBrzinaŠto se otkriva
Korak po korakručni, smanjena brzina10 %pogrešno naučene točke, sudar, neispravan signal
Neprekidno, smanjenoručni, smanjena brzina25 do 50 %prijelazi među točkama, učinak zona, ponašanje petlje
Automatski radautomatskiprogramiranastvarno vrijeme ciklusa, ponašanje pri punoj brzini, suradnja sa strojem

Pažnja

Prije prvog pokretanja provjerite da je prihvatnica prazna i da je put do sigurnosne točke slobodan. Prva naredba u programu često je gibanje u sigurnosnu točku, a robot do nje ide najkraćim putem — ne onim kojim ste ga doveli ručno.

Česte pogreške početnika

Pogreške pri prvom programu ponavljaju se iz generacije u generaciju i gotovo su uvijek iste. Popis koji slijedi nastao je iz onoga što se u radionici najčešće vidi.

PogreškaŠto se dogodiKako se izbjegava
Kosi prilaz obratkuprsti zapinju, obradak se pomiče prije stezanjauvijek pravocrtan prilaz iz točke iznad radne točke
Čekanje na vrijeme umjesto na signalprogram radi dok je sve u redu, zakaže pri sporijem ventilučekanje na potvrdu ulaza, uz ograničenje najduljeg čekanja
Točan dolazak u svakoj točkiciklus je dulji, gibanje trzavotočan dolazak samo u radnim točkama
Zona zaobljenja u radnoj točkirobot ne dođe do obratka nego ga zaobiđeu točki uzimanja i odlaganja uvijek točan dolazak
Prihvatnica u neodređenom stanju na početkupri pokretanju ispusti ili stisne obradakprva naredba programa postavlja poznato stanje izlaza
Nema provjere prisutnosti obratkarobot steže prazan prostor i nastavlja ciklusuvjet na ulazu prisutnosti prije uzimanja
Točke naučene s pogrešnim alatomsvi položaji pomaknuti za iznos razlikeprije učenja provjeriti odabrani alat i radni predmet
Prvo pokretanje u automatskom radusudar pri punoj brziniobvezan slijed od triju stupnjeva ispitivanja

Dvije pogreške zaslužuju poseban osvrt. Prva je zamjena čekanja na signal čekanjem na vrijeme. Program u kojem piše da se nakon stezanja čeka 0,3 sekunde radit će mjesecima, a zatajit će onog dana kada tlak u mreži padne i ventil zakasni. Druga je nedostatak poznatog početnog stanja. Robot koji se nakon zaustavljanja u nuždi pokreće s obratkom u prihvatnici, a program počinje naredbom otpuštanja, ispustit će taj obradak na pod — ili obrnuto, pokušat će uzeti nov obradak s već punom prihvatnicom.

Rješenje za oboje isto je: program mora početi pripremom u kojoj se utvrđuje i uspostavlja poznato stanje, a ne pretpostavlja. Ta priprema obično je najkraći potprogram u cijelom programu i najviše puta spašava ciklus.

naprava za uzimanjetraka za odlaganjepSigurnapIznadUzimanjapUzimanjepIznadOdlaganjapOdlaganje
Slika 3.6 — Ćelija s napravom i trakom te pet točaka koje su dovoljne za cijeli ciklus uzimanja i odlaganja.

Ključni pojmovi

PojamZnačenje
Sigurnosna točkaPoložaj slobodan od svih prepreka, iz kojega program počinje i u koji se vraća.
Točka iznad radne točkeTočka dobivena odmakom od radne točke po osi alata, radi okomitog prilaza.
PripremaUvodni dio programa koji uspostavlja poznato stanje izlaza i položaja.
Čekanje na signalZadržavanje izvođenja dok ulaz ne poprimi zadanu vrijednost.
Izvođenje korak po korakIspitivanje u kojem se izvodi jedan redak programa po pritisku tipke.
Vrijeme ciklusaVrijeme od početka do povratka u početni položaj za jedan komad.

Provjeri se

Kratka provjera prije prelaska na sljedeću jedinicu. Odgovor se potvrđuje klikom, a obrazloženje se prikazuje odmah.

Pitanje 1 od 3

Zašto se radnoj točki uzimanja uvijek prilazi iz točke točno iznad nje?

Kosi prilaz gura obradak ili zapinje za rub gnijezda; okomit pravocrtan prilaz to isključuje.

Pitanje 2 od 3

Nakon naredbe stezanja prihvatnice ispravnije je:

Čekanje na potvrdu radi i onda kada ventil zakasni, a slijepo čekanje na vrijeme ne.

Pitanje 3 od 3

Kojim redoslijedom se program ispituje?

Svaki stupanj otkriva drugu vrstu pogreške, a čovjek je unutar ograde samo u prvom.

Odgovoreno 0 od 3.