MODUL 4 · PROGRAMSKI ALATI U INDUSTRIJSKOJ ROBOTICI
Nastavna jedinica 4.6
Statusi robota
Isti položaj alata robot može postići na više načina: s laktom gore ili dolje, s ručnim zglobom okrenutim naprijed ili natrag, s osi zakrenutom za puni krug u jednu ili drugu stranu. Taj izbor naziva se statusom ili konfiguracijom, i ako ga program ne zada, robot ga bira sam — ne uvijek onako kako bismo očekivali.
- objasniti zašto isti položaj alata ima više rješenja u zglobovima
- protumačiti zapis statusa ruke i podatke o okretajima osi
- prepoznati nedostižnu točku i razlikovati njezine uzroke
- objasniti pojavu singularnosti i njezine posljedice na gibanje
- protumačiti tipične poruke upravljačkog sustava o konfiguraciji i dosegu
- procijeniti je li točka dostižna u zadanoj konfiguraciji
Zašto isti položaj ima više rješenja
Proračun položaja zglobova iz zadanog položaja alata naziva se inverznom kinematikom i za šestoosnu ruku u pravilu ima osam rješenja. Ona nastaju kombinacijom triju izbora: ruka može biti okrenuta prema naprijed ili preko glave, lakat može biti podignut ili spušten, a ručni zglob može biti u jednom ili drugom od dvaju položaja koji daju isti smjer alata.
Sva su rješenja jednako ispravna s gledišta položaja alata, ali se uvelike razlikuju po putanji kojom robot dolazi, po tome zapinje li o napravu i po tome ostaje li unutar opsega zakreta. Zato se uz točku zapisuje status, podatak koji kontroleru kaže koje od rješenja treba upotrijebiti.
| Izbor | Mogućnosti | Praktična posljedica |
|---|---|---|
| Položaj ruke | naprijed / preko glave | robot radi ispred baze ili iza nje |
| Položaj lakta | gore / dolje | ruka se diže iznad ili spušta ispod spojnice |
| Položaj ručnog zgloba | okrenut / neokrenut | peta os pozitivna ili negativna |
| Okretaji osi | broj punih krugova | os stoji na istom kutu, ali nakon drugog broja okretaja |
Zapis statusa i okretaji osi
Status se zapisuje kao mali niz cijelih brojeva. Prvi dio opisuje kombinaciju triju izbora opisanih gore, a drugi dio bilježi broj okretaja pojedinih osi. Drugi dio postoji jer osi koje se zakreću za više od punoga kruga imaju isti kut na više mjesta: kut od 30 stupnjeva i kut od 390 stupnjeva daju isti položaj alata, ali nisu isti položaj zgloba.
Zbog toga se kod robota s velikim opsegom šeste osi događa da program radi ispravno dok se ne nakupi previše zakreta u istu stranu, a onda robot prije sljedeće točke napravi puni okret natrag kako bi se odmotao. Taj okret traje, oduzima vrijeme ciklusa i može zapinjati o cijevi na ruci.
! Tocka s potpuno zadanim statusom
! robconf: cf1, cf4, cf6, cfx
CONST robtarget pUzmi := [[1250, -400, 920],
[0, 0.7071, 0.7071, 0],
[0, -1, 0, 0],
[9E9, 9E9, 9E9, 9E9, 9E9, 9E9]];Zapamtite
Točka bez zadanog statusa nije nedovršena, ali jest nepredvidiva. Kontroler tada bira rješenje najbliže trenutačnom položaju, a to ovisi o tome odakle je robot došao.
Nedostižne točke
Poruka o nedostižnoj točki ne znači uvijek isto. Postoje četiri različita uzroka, a razlikuju se po tome što treba učiniti. Prvi je da je točka jednostavno predaleko: udaljenost od baze veća je od dosega. Drugi je da je točka preblizu — unutar prostora oko baze u koji robot ne može doći ni u kojem položaju.
Treći uzrok je orijentacija: točka je unutar dosega, ali traženi nagib alata zahtijeva zakret zgloba izvan njegova opsega. Četvrti je status: točka je dostižna, ali ne u zadanoj konfiguraciji. Taj je slučaj najčešći u programima prenesenima iz modela, jer se konfiguracija u modelu razlikovala od one u koju je robot stigao na stroju.
| Uzrok | Prepoznaje se po | Postupak |
|---|---|---|
| Točka predaleko | udaljenost veća od dosega | pomaknuti element ili robota |
| Točka preblizu baze | položaj unutar unutarnjeg prostora | udaljiti napravu od baze |
| Orijentacija izvan opsega | poruka o osi koja prekoračuje granicu | zakrenuti alat oko osi prilaza ili promijeniti prihvat |
| Pogrešna konfiguracija | poruka o statusu ili nemogućem rješenju | zadati drugi status ili umetnuti međutočku |
| Zapetljane osi | poruka o broju okretaja | vratiti robota u sigurnosni položaj prije ciklusa |
Pojednostavljena provjera dohvata u ravnini kroz dva članka ruke. Za zadanu udaljenost i visinu računa se kut lakta te se provjerava ostaje li unutar opsega za odabranu konfiguraciju.
Singularnosti
Singularnost je položaj u kojem se dvije osi poravnaju tako da obavljaju isto gibanje. Robot u tom trenutku gubi jedan stupanj slobode: postoji smjer u kojem se alat ne može gibati bez beskonačno velike brzine nekog zgloba. Kontroler to prepoznaje i ili usporava gibanje ili ga zaustavlja s porukom.
Kod šestoosne ruke tri su tipične singularnosti. Singularnost ručnog zgloba nastaje kada se četvrta i šesta os poravnaju, što se događa kada peta os prođe kroz nulu; to je najčešći slučaj. Singularnost ramena nastaje kada se radna točka nađe iznad ili na osi prvog zgloba. Singularnost lakta nastaje kada je ruka posve ispružena.
Praktična obrana je jednostavna. Putanje se ne vode kroz područje oko poravnanja, u prijelazima se koristi gibanje po zglobovima umjesto pravocrtnog, a alat se postavlja tako da se peta os tijekom rada drži podalje od nule. Ako se singularnost ne može izbjeći, prolazi se sporo i uz zadanu konfiguraciju.
Pažnja
Blizina singularnosti ne daje uvijek poruku o pogrešci. Češće se pojavljuje kao naglo trzanje u sredini pravocrtnog gibanja, uz zvuk pogona koji odudara od ostatka ciklusa. Takvo mjesto uvijek treba ukloniti, a ne ubrzati.
Zašto se status uopće zadaje
Postoji uvriježeno mišljenje da je zadavanje statusa suvišna pedantnost jer robot ionako dođe gdje treba. To vrijedi dok se program izvodi uvijek iz istog smjera. Čim se doda grananje, čim se ciklus nastavi nakon zaustavljanja ili čim se točka dosegne iz drugog dijela programa, kontroler može odabrati drugo rješenje i ruka napravi zamah kroz prostor kroz koji nikada prije nije prošla.
U ćeliji ZR-1 to je opipljivo: robot iz stroja izlazi s obratkom, a zatim ide na paletu koja je s druge strane baze. Ako status nije zadan, prijelaz s jedne strane na drugu može se izvesti preko glave ili ispred baze, a samo je jedna od te dvije putanje slobodna od ograde. Zato se status zadaje u svim točkama koje se nalaze na granici između dvaju područja rada.
Uz to vrijedi i pravilo o povratku: prije svakog ciklusa robot se dovodi u sigurnosni položaj u kojem su konfiguracija i broj okretaja poznati. Time se ciklus svaki put pokreće iz istog stanja, pa se ponašanje ne mijenja od komada do komada.
Ključni pojmovi
| Pojam | Značenje |
|---|---|
| Inverzna kinematika | Proračun položaja zglobova iz zadanog položaja i orijentacije alata. |
| Status ruke | Podatak o odabranoj kombinaciji položaja ruke, lakta i ručnog zgloba. |
| Okretaji osi | Broj punih krugova koje je os prešla, uz isti prividni kut. |
| Nedostižna točka | Točka koju robot ne može postići zbog dosega, opsega osi ili zadanog statusa. |
| Singularnost ručnog zgloba | Poravnanje četvrte i šeste osi pri prolasku pete osi kroz nulu. |
| Singularnost lakta | Položaj u kojem je ruka posve ispružena i gubi upravljivost u smjeru pružanja. |
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
Koliko rješenja u zglobovima u pravilu ima isti položaj alata kod šestoosne ruke?
Kombinacija triju dvostrukih izbora daje osam rješenja inverzne kinematike.
Pitanje 2 od 3
Singularnost ručnog zgloba nastaje kada:
Poravnanjem četvrte i šeste osi robot gubi jedan stupanj slobode.
Pitanje 3 od 3
Točka je unutar dosega, ali kontroler javlja da je nedostižna. Najvjerojatniji uzrok je:
Dostižnost ovisi i o statusu i o opsegu zakreta zglobova, ne samo o udaljenosti.
Odgovoreno 0 od 3.