You are on page 1of 109

Zbirka rešenih zadataka iz robotike

Doc. dr Srđan Savić


...
Fakultet tehničkih nauka, Univerzitet u Novom Sadu

Novi Sad, 2019.


1. Homogene transformacije

Pre nego što počnemo sa objašnjenjem zadatka daćemo nekoliko pojašnjenja vezano za notaciju i
usvojene pretpostavke.
 Usvojićemo kao pretpostavku, koja važi za sve naredne zadatke, da su svi koordinatni sistemi
desni, što znači da kada prstima desne šake idemo od x-ose ka y-osi, palac pokazuje pravac z-
ose. Kada postavimo palac desne šake duž neke ose, usmeren u njenom pozitivnom smeru, tada
savijeni prsti desne šake pokazuju pozitivan matematički smer rotacije oko posmatrane ose.
 Podsećamo čitaoce da simbol crne tačke u krugu označava osu koja izlazi iz papira, dok simbol
x u krugu označava osu koja ulazi u papir.
 Takođe, bez gubitka opštosti, u svim zadacima koji slede koristićemo pravilo o slaganju rotacija,
za slučaj kada se svaka rotacija vrši oko neke od osa novonastalog koordinatnog sistema, koji
je rezultat prethodne rotacije. Posledica toga jeste da se ukupna transformacija dobija
množenjem pojedinačnih transformacija onim redosledom kako su se i primenjivale.

Zadatak 1.1
Na slici su prikazana dva kolaborativna industrijska robota u zadatku kooperacije. Levi robot drži radni
predmet, dok je na desnom montiran alat za obradu. Naći homogene transformacije H 10 , H 32 H 14 za
koordinatne sisteme prikazane na slici, ako je poznato:

1 0 0 0.1 
0 1 0 0 
H 43   .
0 0 1 0.25
 
0 0 0 1 

Rešenje:

Razmotrimo prvu homogenu transformaciju H 10 koja se traži u zadatku. Nju možemo odrediti na osnovu
zadatih parametara sa slike. Cilj nam je da odredimo niz sukcesivnih transformacija, translacija i
rotacija, koje je potrebno primentiti na koordinatni sistem k.s.1, kako bismo ga poklopili sa k.s.0, po
poziciji i orijentaciji. Postoji beskonačno mnogo mogućih rešenja datog problema. Cilj nam je da
odredimo homogenu transformaciju između k.s.1 i k.s.0 u što manjem broju koraka, tj. primenjujući što
manje translacija i/ili rotacija.

Jedno moguće rešenje bilo bi sledeće:

Novi Sad, 2019.


H10  Tranz , 0,5mTranx, 0,5 m Rot y ,135 Tranz , 1,5 m , (1)

Kao što vidimo iz (1), prvo je k.s.1 transliran duž ose z1 u njenom negativnom smeru za dužinu
poslednjeg segmenta robota 0,5m. Nakon toga se posmatra novonastali koordinatni sistem k.s.1’, koji
se sada nalazi u centru trećeg zgloba robota. On je transliran u odnosu na k.s.1, ali još uvek ima istu
orijentaciju. Pošto je ugao između drugog i trećeg segmenta robota 90º, x-osa novonastalog
koordinatnog sistema se poklapa sa glavnom osom drugog segmenta robota, što nam omogućava da kao
seledeću transformaciju izaberemo translaciju duž trenutne x-ose za 0,5m u negativnom smeru. Time
ćemo dobiti novi koordinatni sistem k.s.1’’, pozicioniran u centru drugog zgloba robota, sa
neizmenjenom orijentacijom. Kako bismo poklopili koordinani početak trenutnog koordinatnog sistema
k.s.1’’, sa koordinatnim početkom k.s.0, što je krajnji cilj, potrebno je izvršiti još jednu translaciju.
Međutim, da bi se to omogućilo, prvo je potrebno izvršiti određenu rotaciju k.s.1’’ kako bi se neka od
njegovih osa poklopila sa osom prvog segmenta robota, tj. željenim pravcem poslednje translacije. Ako
pogledamo krajnju orijentaciju k.s.0 videćemo da se njegova z0-osa poklopa sa pravcem prvog globa.
Dakle, kako bismo smanjili ukupan broj transformacija, izabraćemo da se k.s.1’’ rotira oko sopstvene
y1’’-ose za ugao od 135º. Time ćemo obezbediti konačnu željenu orijentaciju koja se poklapa sa
orijentacijom ciljnog koordinatnog sistema k.s.0, i ujedno ćemo poklopiti z1’’-osu sa željenim pravcem
poslednje translacije. Kao rezultat rotacije dobijamo koordinatni sistem k.s.1’’’, čiji se koordiatni
početak nalazi u centru drugog zgloba, a čija se orijentacija poklapa sa orijentacijom k.s.0. Na kraju nam
ostaje još samo da transliramo koordinatni sistem k.s.1’’’ za visinu stuba robota 1,5m z-ose u
negativnom smeru, čime je zadatak završen.

Prikažimo, vežbe radi, još jednu alternativu kako se mogla odrediti transformacija H 10 :

H10  Tranz , 0,5m Rot y ,90 Tranz , 0,5m Rot y ,45 Tranz , 1,5m , (2)

Nizovi tranformacija prikazani u (1) i (2), rezultuju istom ukupnom homogenom transformacijom, tj.
istom krajnjom pozicijom i orijentacijom koordinatnog sistema. Međutim u (1) je željeni cilj postignut
sa manjim brojem operacija.
Raspišimo sada jednačinu (1) tako što ćemo simbolički zapis pojedinačnih transformacija, zameniti
odgovarajućim elementarnim matricama homogenih transformacija:

 2 2 

0 0 0,5   2
0 0
1 0 0 0  1
 2 
1 0 0 0 
0 1 0 0  0 1 0 0   0 1 0 0  0 1 0 0 
H10     , (3)
0 0 1 0,5 0 0 1 0  2 0 0 1 1,5 
0 
2
    0  
0 0 0 1  0 0 0 1  2 2  0 0 0 1 
 
 0 0 0 1
 2 2 2  3 2 
 0   0.7071 0 0.7071 1.5607 
 2 2 4  
 0 1 0 0   0 1 0 0 
H10    , (4)
 2 2 2  3 2   0.7071 0 0.7071 0.5607 
0 
 2 2 4   0 0 0 1 

 
 0 0 0 1 

Razmotrimo sada homogenu transformaciju H 32 . Ova transformacija se takođe može odrediti na osnovu
parametara sa slike. Cilj nam je dakle da odredimo niz trasnlacija i rotacija koje je potrebno primentiti
na k.s.2 kako bismo ga poklopili sa k.s.3. Ovde predstavljamo jedno od mogućih rešenja.

H32  Tranz ,1m Rot y ,135 Tranz ,0,5m Rot y , 45 Tranz ,0,5m Rotz ,180 , (5)

Novi Sad, 2019.


Nakon raspisivanja izraza (5) dolazimo do željene homogene transformacije.

 2 2   2 2 
 0 
0  2
0
0 0  2
0 0
1 0 0   1 0
   
0 0 2 1 0 2 1 0 0 0
0  
1 0 0   0 1 0 0  0 1 0 0   0 1 0 0  0 1 0 0   0 1 0 0 
H 32      
0 0 1 1  2 0 0 1 0,5  2 0 0 1 0,5  0 0 1 0
0  0 
2 2
   0 
 0  0  
0 0 0 1 2 2 0 0 1  2 2  0 0 0 1  0 0 0 1
    ,(6)
 0 0 0 1  0 0 0 1
0 0 1 0.8536 
0 1 0 0 

1 0 0 0.6464 
 
0 0 0 1 

Poslednja transformacija koja se tražila u zadatku jeste homogena transformacija H14 . Nju nije
jednostavno odrediti direktno sa slike, ali se može dobiti primenom pravila o slaganju homogenih
transformacija. Jedno moguće rešenje bilo bi sledeće:

H14  H10 H 02 H 32 H 34 , (7)

pri čemu skrećemo pažnju da je homogena transformacija H 34 data u zadatku, dok je homogenu
transformaciju H 02 jednostavno odrediti sa slike. Odredimo prvo homogenu transformaciju H 02 :

1 0 0 3
0 1 0 0 
H 02  Tranx ,3m  , (8)
0 0 1 0
 
0 0 0 1

Sada konačno možemo odrediti homogenu transformaciju H14 kao:

 0.7071 0 1.5607  1
0.7071 0 0 3 0 0 1 0.8536  1 0 0 0.1 
 0 1 0 0  0 1 0 0  0 1 0 0  0 1 0 0 
H14   , (9)
 0.7071 0 0.7071 0.5607  0 0 1 0 1 0 0 0.6464  0 0 1 0.25
    
 0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1 
 0.7071 0 0.7071 0.3081
 0 1 0 0 
H14   , (10)
 0.7071 0 0.7071 1.3738 
 
 0 0 0 1 

Podsetimo se još na kraju fizičke interpretacije elemenata homogene transformacije. Podmatrica


dimenzije 3x3 u gornjem levom uglu predstavlja matricu rotacije koja opisuje ukupnu promenu
orijentacije prilikom prelaska iz koordinatnog sistema k.s.1 u k.s.4. Tri kolone ove matrice rotacije
predstavljaju projekcije jediničinih vektora osa k.s.4 na ose k.s.1. Četvrta vrsta matrice homogene
transformacije sastoji se od trokomponentnog vektora perspektive i skalarnog faktora skaliranja. U svim
primerima u ovoj zbirci, i generalno u primenama u oblsati robotike, perspektiva i skaliranje uvek imaju
ove podrazumevae vrednosti. Konačno, elementi prve tri vrste u četvrtoj koloni su x, y i z komponenta
vektora translacije koji opisuje poziciju koordinantnog početka k.s.4 u odnosu na referentni koordinatni
sistem k.s.1.

Novi Sad, 2019.


Zadatak 1.2
Nаći mаtricе trаnsfоrmаciја H 10 , H 10 i H 02 zа kооrdinаtnе sistеmе prikаzаnе nа slici, аkо је pоznаtо:

 1 3  X2
 0 0
 2 2  Y2
 0 1 0 1 X1 Z2
H12   .
 3 1 1 Z0
0 
 2 2 2 Y1
  Z1 2m Y0
 0 0 0 1
30º
X0
Оdrеditi kооrdinаtе tаčkе А u prvоm kооrdinаtnоm sistеmu аkо је njеnа pоziciја u drugоm
kооrdinаtnоm sistеmu (0,0,1).

Rešenje:

Homogena transformacija H 10 može se odredit na osnovu date slike. Dakle potrebno je definisati niz
sukcesivnih rotacija i translacija koje će prevesti koordinatni sistem k.s.0 u k.s.1. Kao što je poznato
postoji beskonačno mnogo načina da se ovo uradi. Navodimo jedno od mogućih rešenja:

H10  Rot x ,60 Tranz ,2 m Rot z ,90 , (1)

Dakle, prvo rotiramo koordinatni sistem k.s.0 tako da njegovu z-osu poklopimo sa z-osom koordinatnog
sistema k.s.1. Zatim, transliramo novonastali koordinatni sistem duž njegove trenutne z-ose za 2m u
pozitivnom smeru. Time se dobija koordinatni sistem čiji se koordinatni početak poklapa sa krajnjim
ciljem, ali se još razlikuje po orijentaciji. Na kraju novonastali koordinatni sistem rotiramo oko trenutne
z-ose za ugao od 90º, tako da se njegova x i z osa poklope sa odgovarajućim osama koordinatnog sistema
k.s.1, čime je ostvarena i željena pozicija i orijentacija.

Kada u jednačinu (1) uvrstimo izraze za elementarne homogene transformacije dobjiamo:

1 0 0 0  0 1 0 0 
  1 0 0 0  0 1 0 0  
0 1

3
0   1

3
 3
0  1 0 0  
0
 2 2  0 1 0 0 2 2 
H0  
1
  , (2)
0 0 0 1 2  0 0 1 0 
0  1 
3 1 3 1
  0   0
2 2 0 0 1  0 0 0 1  2 2 
   
0 0 0 1  0 0 0 1 

Razmotrimo sada homogenu transformaciju H 10 . Postoje dva načina kako je možemo odrediti. Prvi način
je da se ona odredi sa slike, slično kao i H 10 . Razlika je što je sada potrebno definisati niz sukcesivnih
rotacija i translacija koje će prevesti koordinatni sistem k.s.1 u k.s.0. Jedno od mogućih rešenja bilo bi:

H10  Tranz , 2 m Rot z , 90 Rot x , 60 , (3).

Kao alternativni pristup iskoristićemo činjenicu da se homogena transformacija H 10 može dobiti


inverzijom homogene transformacije H 10 . Podsećamo čitaoca da za matricu rotacije R važi osobina
ortogonalnosti, koja podrazumeva da je R 1  RT . Za matricu homogene transformacije ne važi osobina
ortogonalnosti, što možemo zapisati na sledeći način:

Novi Sad, 2019.


H10   H10    H10  ,
1 T
(4).

Ipak, prilikom određivanja inverzne matrice homogene transformacije koristi se osobina ortogonalnosti
matrice rotacije. Operacija invertovanja se zapravo pojednostavljuje tako što se radi zasebno za svaki
od podblokova unutar homogene transformacije: (i) matricu rotacije, (ii) vektor translacije, (iii) vektor
perspektive i (iv) faktor skaliranja. Ako se prisetimo da matrica rotacije čini podmatricu dimenzije 3x3
u gornjem levom uglu homogene transformacije, tada se ovaj blok može jednostavno invertovati
primenom operacije transponovanja. U opštem slučaju invertovana vrednost homogene transformacije
određuje se prema sledećoj formli:

d10   R10  d    R1 T   R10  d10 


1 1 1 T
 R0
H10   1    0
 0 , (5).
0 0 0 1   0 0 0 1   0 0 0 1 

T
 
 0 1 0   1 3
  0 
 2 2 
 3
R10   R10 
T 1
 0    1 0 0 , (6).
2 2   
 
 3 1  0  3 1 
 0  2 
2 
2
2

 1 3  3 3
0    0    
 2 2  2 2  0
  
d10    R 10     0  ,
T
d10  1 0 0   3    0 (7).
   
0 1   3 1   2 
 
3 1  
 2 2   2 2 

 1 3 
0 0
 2 2 
  1 0 0 0
H10   , (8).
0  3 1
2 
 2 2 
 
 0 0 0 1

Što se tiče homogene transformacije H 02 , nju nije moguće odrediti samo na osnovu date slike jer položaj
koordinatnog sistema k.s.2 nije definisan. Međutim, potrebno je iskoristiti dodatnu informaciju koja je
data u zadatku, a koja se tiče homogene transformacije H 12 . Slaganjem homogenih transformacija
moguće je odrediti H 02 na sledeći način:

H 02  H10 H12  H10  H12  ,


1
(9)

Primetimo da je u zadatku data homogena transformacija H 12 , a da je nama potrebna transformacija H 12


zbog čega je potrebno još jednom primentiti proceduru za određivanje invertovane matrice.

Novi Sad, 2019.


 1 3 3
 0  
 2 2 4 
 R 1 T   R 12  d12   0 1
T
0 1 
H  2
2
1  , (10).
 0 0 0 1   3 1 1 
0 
 2 2 4 
 
 0 0 0 1 

Uvrštavanjem izraza (10) nazad u izraz (9) dobijamo traženu homogenu transformaciju H 02 .

 1 3  1 3 3
0 0   0    0 1 0 1 
 2 2  2 2 4   
 1 0 0 0  0 1 0 1   1 0 0  3 
H 02     3 , (11)
0  3 1   0 0 1 
2  
1 3 1
0   2 
 2 2  2 2 4  
   1 
1  
0 0 0
0 0 0 1  0 0 0

U zadatku se dodatno traži da se odrеde kооrdinаtе tаčkе А u kооrdinаtnоm sistеmu k.s.1 аkо је njеnа
pоziciја u kооrdinаtnоm sistеmu k.s.2 data vektorom p2A  0 0 1 . Razmotrimo sledeću sliku:
T

p1A X2 p2A
Y2
X1 Z2
Z0
Y1
Z1 2m Y0
30º
2 A X0
R1 p2
d12

Na slici možemo primetiti naznačeni trougao vektora, na osnovu kog možemo napisati sledeću relaciju:

 3  1 3  3  3  3
   0   0        
 4   2 2   4   2   4 
p 1  d 1  R 1 p 2   1    0 1
A 2 2 A  
0   0    1    0    1  , (12)
         
 1   3 0  1  1   1    1    1 
 4   2 2   4   2   4 

Ovde je važno da iznesemo nekoliko napomena. Vektor translacije d12 je izražen u koordinatnom
sistemu k.s.1, kao i rezultujući vektor p 1A . Međutim vektor p 2A je izražen u koordinatnom sistemu k.s.2.
Pošto je moguće sabirati samo vektore koji su izraženi u istom koordinatnom sistemu, vektor p 2A smo
preveli u koordinatni sistem k.s.1 tako što smo ga pomnožili matricom rotacije R 12 koja opisuje razliku
u orijentaciji između dva posmatrana koordinatna sistema, odnosno kako je koordinatni sistem k.s.2
zarotiran u odnosu na k.s.1. Da sumiramo, vektor p 2A (zelena strelica) predstavlja položaj tačke A kako
se ona vidi iz drugog koordinatnog sistema i on je projektovan na ose k.s.2. Vektor p 1A (plava strelica)
predstavlja položaj tačke A kako se ona vidi iz prvog koordinatnog sistema i on je projektovan na ose
k.s.1. Konačno, vektor R 12 p 2A (narandžasta strelica) predstavlja položaj tačke A kako se ona vidi iz
drugog koordinatnog sistema, ali projektovano na ose k.s.1.

Novi Sad, 2019.


Izraz (12) se može alternativno zapisati i korišćenjem homogenih transformacija. Zbog razlika u
dimenzijama između vektora položaja koji su dimenzije 3x1 i homogenih transformacija koje su
dimenzije 4x4, potrebno je vektore položaja proširiti neutralnim elementom (jedinicom), kako bi se
uskladile dimenzije.

p1A   R12 d12  p 2A 


     , (13)
 1  4 x1 000 1   1  4 x1
H12

Zadatak 1.3
Dаt је sistеm kојi sе sаstојi оd dvа rаdаrа i dvа leteća оbјеktа, kао štо је prikаzаnо nа slici. Dаte su vеze
izmеđu rаdаrа i letećih оbјеkatа u оbliku sledećih hоmоgеnih trаnsfоrmаciјa:

0 0 1 3 0 0 1 2 
1 0 0 
1  1 0 0 3
H OR11   H OR 22  
0 1 0 4 0 1 0 4
   
0 0 0 1 0 0 0 1

Оdrеditi hоmоgеne trаnsfоrmаciје: H RR12 , H OR12 i H OO12 .


Odrediti rastojanje između dva objekta.

Rešenje:
Homogenu transformaciju između dva radarska sistema možemo odrediti sa slike. Jedan od načina da
koordinatni sistem k.s.1, vezan za prvi radar, poklopimo sa koordinatnim sistemom k.s.2, vezanim za
drugi radar, jeste da primenimo sledeći niz transformacija:

H RR12  Rot x ,30 Trany ,2 m Rot x ,30 , (1).

Dakle, prvo se izvrši rotacija oko trenutne x-ose za 30º, zatim translacija duž novonastale y-ose za 2m i
konačno rotacija oko novonastale x-ose za 30º. Kada raspišemo izraz (1) i uvrstimo izraze za
elementarne homogene transformacije, koje odgovaraju rotacijama ili translacijama oko/duž
pojedinačnih osa, dobijamo:

Novi Sad, 2019.


1 0 0 0 1 0 0 0
  1 0 0 0  
0 3

1
0  0 3

1
0
 2 2  0 1 0 2   2 2 
H R1  
R2
  
0 0 0 1 0 
0  0
1 3 1 3
  0 0  0
2 2 0 1  2 2 
   
0 0 0 1  0 0 0 1
, (2)
1 0 0 0  1 0 0 0  1 0 0 0
     1 0 0 0 
0 3

1
3  0
3

1
0 0
1

3
3 
 2 2  2 2   2 2  0 0,5 0,866 1, 732 
   
0 1 0 0,866 0,5 1 
1  0 0 0 1 
3 1 3 3 1
     0 
2 2 2 2 2 2 0 0 1 
    
0 0 0 1  0 0 0 1  0 0 0 1

Time smo odredili poziciju i orijentaciju drugog radarskog sistema u odnosu na prvi. Sledeće što je
potrebno odrediti jeste položaj letećeg objekta O2 u odnosu na prvi radarski sistem R1, što je određeno
homogenom transformacijom H OR12 . Ovu transformaciju možemo odrediti primenom pravila o slaganju
homogenih transformacija na sledeći način:

H OR12  H RR12 H OR 22 , (3)

1 0 0 0  0 0 1 2 
  0  
0 1 2  1 3  3 
0 1

3
3     0    2 3  3 
   1 0 0 3  2 2  2 
H OR12  2 2  ,
 (4)
0 0 1 0 4  3  3 3  
1 
3 1 1
  0   0    2  1 
2 2 0 0 1  2 2  2  
 
0 0 0 1  0 
 0 0 1 
 0 0 1 2 
 
 1 3  3  2 3   0 0 1 2 
 2  0   
2  2    0,5 0,866 0 3, 232
H OR12   , (5)
 3 1  63 3    0,866 0,5 0 0, 402 
 0     0 
 
 2 2 0 0 1 
 2
 
 0 0 0 1 

U zadatku se traži da se odredi homogena transformacija između koordinatnih sistema vezanih za dva
leteća objekta. Ova transformacija H OO12 se takođe može odrediti primenom pravila o slaganju homogenih
transformacija:

H RR12 H OR 22   H OR11  H RR12 H OR 22 ,


1
H OO12  H 01
R1
(6).

Iz izraza (6) vidimo da je prvenstveno potrebno odrediti homogenu transformaciju H 01R1 invertovanjem
poznate transformacije H OR11 na sledeći način:

 R O1 T   R OR11  dOR11 
T

H R1
01  H R1
O1 1
  R1 , (7).
 000 1 

Novi Sad, 2019.


0 1 0
R  R
R1
01
O1 T
R1   0 0 1  , (8)
1 0 0 

 0 1 0   3  1
d  R
R1
01 R1
O1 T
d O1
R1   0 0 1 1    4 , (9)
 1 0 0   4  3

0 1 0 1
0 0 1 4 
R1
H 01  , (10).
1 0 0 3
 
0 0 0 1

Sada je moguće konačno odrediti homogenu transformaciju između dva leteća objekta.

1 0 0 0
0 1 0 1   0 0 1 2 
0 0 1

3
3 
0 1 4     1 0 0 3
H OO12  H 01
R1
H RR12 H OR 22  
2 2
 
1 0 0 3  0 1 0 4
1 
3 1
  0 
0 0 0 1  2 2  0 0 0 1
 
0 0 0 1 

   1 3  3 
0
1

3
 3 1   
1 2   2
 0    2 3  3  1 
 2 
 
2 2 0 0 2

  1 0 0 3  3 1  3 3  
3  
3 1
 0   0    2  3   
 2 2   0 1 0 4  2

2  2  
1 0 0 3   0 0 0 1   0 0 1  2  3


 
0 0 0 1   0 
 0 0 1 
 1 3  5  2 3  
  0   
 2 2  2    0,5 0,866 0 4, 232 
   0 3,598 
 2  3 3    0,866 0,5
  3 1
0    0
 2 2 2  0 1 1 
    
 0 0 1 1   0 0 0 1 
, (11).
 
 0 0 0 1 

Konačno, u zadatku se traži da se odredi rastojanje između dva leteća objekta. Ovo rastojanje zapravo
odgovara intenzitetu vektora translacije od koordinatnog početka O1 i do koordinatnog početka O2.


d   d   d 
O2 2 2 O2 2
O1O2  dOO12  O1 x
O2
O1 y O1 z  5, 644m , (12).

Zadatak 1.4
Prikazana robotska ćelija se sastoji od industrijskog robota, pokretne trake i radnog predmeta. Na slici
su označena tri koordinatna sistema: bazni koordinatni sistem robota k.s.0 (base frame), koordinatni
sistem alata k.s.1 (TCP) i koordinatni sistem radnog predmeta k.s.2 (workobject). Na slici su dati
potrebni konstrukcioni parametri robota i definisana je trenutna poza robota. Potrebno je odrediti sledeće

Novi Sad, 2019.


homogene transformacije: (i) od baze do alata H 01 , (ii) od alata do baze H10 , (od baze do radnog
predmeta) H 02 i (iv) od alata do radnog predmeta H12 .

Rešenje:
Odredimo prvo homogenu transformaciju od baznog koordinatnog sistema do alata robota, na osnovu
parametara definisanih na slici. Jedno od mogućih rešenja jeste da se primeni sledeći niz transformacija:

H10  Tranz ,1m Rot x , 135 Trany , 0,5mTranz ,0,5m , (1)

Dakle, prvo se koordinatni sistem k.s.0 translira duž svoje z-ose za dužinu prvog segmenta robota 1m.
Nakon toga je potrebno poklopiti neku osu novonastalog koordinatnog sistema sa osom drugog
segmenta, kako bi se izvršila sledeća translacija. Zato se koordinatni sistem rotira oko novonastale x-
ose za ugao od 135º u negativnom matematičkom smeru. Nakon toga se translra duž novonatle y-ose u
negativnom smeru za dužinu drugog segmenta robota 0,5m. Pošto je ugao između drugog i trećeg
segmenta 90º z-osa novonastalog koordinatnog sistema se već poklapa sa osom trećeg segmenta robota,
usled čega se konačno vrši translacija duž novonastale z-ose za dužinu trećeg segmenta 0,5m. Ukoliko
uvrstimo konkretne vrednosti u odgovarajuće elementarne homogene transformacije dobijamo konačnu
homogenu transformaciju od baze do alata robota.

1 0 0 0
1 0 0 0   1 0 0 0  1 0 0 0 
0 0  2 2
0 
1 0 0    0 1 0 0,5 0 1 0 0 
H10   
2 2
 
0 0 1 1  0 0 1 0  0 0 1 0,5
0 
2 2
  0    
0 0 0 1  2 2  0 0 0 1  0 0 0 1 
 
0 0 0 1
, (2)
1 0 0 0 1 0 0 0 
  1 0   
0  2
0 0 2  1 0 0 0 
0  0
2 2 2

 2 2  0 1 0 0,5  2 2
 
2   0 0, 707 0, 707 0, 707 
    
0  2 0 0 1 0,5   0 0, 707 0, 707 1 
1  1  
2 2 2
  0   
 2 2  0 0 0 1   2 2  0 0 0 1 
   
 0 0 0 1 0 0 0 1 

Što se tiče homogene transformacije od alata do baze robota postoje dva različita pristupa kako da se
odredi. Jedan način jeste da se odredi na osnovu slike, po analogiji sa gore opisanim procesom,
slaganjem odgovarajućih elementarnih homogenih transformacija:

Novi Sad, 2019.


I H10  Tranz , 0,5mTrany ,0,5m Rot x ,135 Tranz , 1m , (3)

Drugi pristup jeste da se iskoristi poznata homogena trnasformacija od baze do alata H 10 i da se njenim
invertovanjem odredi transformacija od alata do baze H 10 . Primenićemo ovaj drugi pristup zasnovan na
inverziji homogene transformacije.

 R1 T   R10  d10 
T

II H   H
0
1 0
1 1
 0 , (4)
 000 1 

   
 1 0 0  0   0 
    
 2 2   1 2 
d10    R10  d10   0
T 2
 , (5)
2 2  2   2 
    
 2 2   1   1  2 

 0  2 2   2 

1 0 0 0 
 
0  2 2 1 2  1 0 0 0 

 2 2 2  0 0, 707 0, 707 1, 207 
II  H10    , (6)
0 2 2 1  2  0 0, 707 0, 707 0, 207 

 2 2 2  0 0 0 1 

 
0 0 0 1 

Homogena transformacija od baze robota do radnog predmeta može se takođe odrediti na osnovu
parametara datih na slici. Jedno od mogućih rešenja se dobija slaganjem sledećih elementarnih
homogenih transformacija:

H02  Trany ,2 mTranz ,0,5m Rotz ,180 , (7)

1 0 0 0  1 0 0 0   1 0 0 0   1 0 0 0 
0 1 0 2  0 1 0 0   0 1 0 0   0 1 0 2 
H 02    , (8)
0 0 1 0  0 0 1 0,5  0 0 1 0  0 0 1 0,5
     
0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1 

Konačno, homogena transformacija od alata robota do radnog predmeta dobija se na osnovu poznatih
homogenih transformacija, primenom pravila o njihovom slaganju.

Novi Sad, 2019.


1 0 0 0   1 0 0 0 
   
 2 1 2 
1 2   1 0 0 0   2

2
0  2   2  4  2
2 0 

 2 2 2   0 1 0 
2    2 2 


H12  H10 H 02     
0 2 2 1  2 0 0 1 0,5  2 2  2 1  2 

   0 0 0
 0 
1  
  2    

2 2 2

2 2  4 2   ,(9)
0 0 0 1   
0 0 0 1 
 1 0 0 0 
 0 0, 707 0, 707 0,56 
 
 0 0, 707 0, 707 1, 268 
 
0 0 0 1 

Zadatak 1.5: Na slici je ilustrovana robotska ćelija sa industrijskim robotom. Kamera na nosaču snima
radni predmet na stolu i navodi alat robota ka radnom predmetu (problem vizuelnog servoisanja).
Ukoliko je poznata pozicija i orijentacija radnog predmeta u koordinatnom sistemu kamere, potrebno je
odrediti poziciju i orijentaciju radnog predmeta u odnosu na alat (TCP) robota. Na slici su dati
konstrukcioni parametri nosača kamere i definisiana je pozicija i orijentacija vrha robota u odnosu na
njegovu bazu.

Kolika je udaljenost radnog predmeta od baze robota?

 3 1 
 0 0
 2 2 
 1 3 
radni _ predmet
H kamera  H2  
3
0  1
 2 2 
 0 1 0 0
 
 0 0 0 1

Rešenje:
U zadatku se traži da se odredi homogena transformacija od alata robota do radnog predmeta, što
možemo uraditi primenom pravila o slaganju homogenih transformacija. Obratimo pažnju da je u
zadatku data homogena transformacija od kamere do radnog predmeta, koja opisuje poziciju i
orijentaciju radnog predmeta u odnosu na koordinatni sistem kamere. Stoga, možemo reći da ćemo
transformaciju od alata do radnog predmeta dobiti ako prvo uradimo transformaciju od alata do kamere,
a zatim od kamere do radnog predmeta.
radni _ predmet
HTCP  HTCP
kamera radni _ predmet
H kamera  H13  H12 H 32 , (1)

Novi Sad, 2019.


Kao međukorak potrebno je odrediti homogenu transformaciju od alata robota do kamere. Kako bismo
iskoristili konstrukcione parametre robota date na slici, ponovo ćemo primeniti pravilo o slaganju
homogenih transformacija. Odredićemo transformaciju od alata do kamere, kao prvobitnu
transformaciju od kamere do baze robota kombinovanu sa transformacijom od baze robota do kamere.
kamera
HTCP  HTCP
baza kamera
H baza , (2)

Na osnovu parametara sa slike, homogena transformacija od alata do baze robota može se odrediti na
sledeći način:

baza
HTCP  Tranz , 0,2 m Rot y , 150 Tranx, 0,5mTranz , 1m , (3)

 3 1 
 
0  2
0 0
1 0 0,5 1

0 0 2 1 0 0 0 0
0 
1 0 0   0 1 0 0  0 1 0 0  0 1 0 0 
baza
HTCP    
0 0 1 0.2   1 0 0 1 0  0 0 1 1
0 
3
  0   
0 0 0 1  2 2  0 0 0 1  0 0 0 1
 
 0 0 0 1
 3 1   3 1 2 3 
   
0 0,5  2 
0 0  0
 
1 0 2 4
 2 2  
 0 1 0 0  0 1 0 0   0 1 0 0 
    , (4)
 1 0 0 1 1   1 9  10 3 
0.2  
3 3
0   0 
 2 2  0 0 0 1   2 2 20 
   
 0 0 0 1   0 0 0 1 
 0,866 0 0,5 0,933 
 0 1 0 0 

 0,5 0 0,866 0, 416 
 
 0 0 0 1 

Sledeće što je potrebno odrediti je homogena transformacija od baze robota do kamere. To je takođe
moguće uraditi na osnovu parametara datih na slici. Jedan od mogućih načina je slaganjem sledećih
elementarnih homogenih transformacija:

kamera
Hbaza  Tranz ,1,5mTranx ,1m Rot x ,90 , (5)

1 0 0 0  1 0 0 1  1 0 0 0  1 0 0 1
0 1 0 0  0 1 0 0  0 0 1 0  0 0 1 0 
kamera
Hbaza   , (6)
0 0 1 1,5 0 0 1 0  0 1 0 0  0 1 0 1,5 
     
0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1

Konačno, na uvrštavanjem rezultat iz (4) i (5) u izraz (2) odredićemo homogenu transformaciju od alata
robota do kamere:

Novi Sad, 2019.


 3  3  3 3 2 3  
2 3   
1
  2  4  4  
1 0
 0   1 0 1  2
 2 2 4 
0 2   
 0 1 0 0  0 0 1 0   0 0 1 0 

kamera
HTCP   
 1 3 9  10 3  0 1 0 1,5  1 3  1 3 3 9  10 3  
0 
 2  0 0
 
0 1  2
 0     

2 20

2 2 4 20 
 0 0 0 1   
 0 0 0 1  , (7)
 3 1 1  3 
  0 
 2 2 4   0,866 0,5 0 0, 683
 0 0 1 
0   0 0 1 0 
 
 1 3 1 5 3  0,5 0,866 0 0,383
 0  
 2 2 20   0 0 0 1 
 
 0 0 0 1 

Konačno, možemo na osnovu izraza (1) odrediti homogenu transformaciju od alata robota do radnog
predmeta, što je krajnji cilj.

 3 1 1  3   3 1   1 3 
  0  0 0   1 0 0 
 2 2 4  2 2   4 
 0 0 1 0  1 3   0 1 0 0 
radni _ predmet
HTCP   0  1   
 1 3 1 5 3   2 2  0 0 1 5 3 
 0 1
 2 2 20   0 1 0 0  20 
     , (8).
 0 0 0 1  0 0 0 1 0 0 0 1 
 1 0 0 0,183
 0 1 0 0 

0 0 1 0, 483 
 
0 0 0 1 

Udaljenost radnog predmeta od baze robota predstavlja intenzitet vektora translacije između dva
koordinatna početka, koordinatnih sistema vezanih za bazu robota i radni predmet. Pošto nas interesuje
samo udaljenost, želimo da skrenemo pažnju da vektori translacije od baze do radnog predmeta (
radni _ predmet
d baza ) i od radnog predmeta do baze ( dbaza
radni _ predmet ) imaju isti intenzitet, tako da je svejedno koji

ćemo korsititi. Dakle, vekotr koji predstavlja poziciju radnog predmeta u odnosu na bazu robota,
dobićemo sabiranjem dva vekotra, koji predstavljaju pozicije kamere u odnosu na bazu i radnog
predmeta u odnosu na kameru, respektivno. Skrećemo pažnju čitaocu da se mogu sabirati samo vekotri
koji su izraženi u istom referentnom koordinatnom sistemu. Zbog toga je vekotr translacije od kamere
do radnog predmeta pomnožen odgovarajućom matricom rotacije, kako bi bio sveden na bazni referentni
koordinatni sistem.
radni _ predmet
dbaza  dbaza
kamera
 R baza
kamera radni _ predmet
d kamera , (9)

 1  1 0 0   0   1 
d radni _ predmet
baza   0   0 0 1  1   0  , (10)
1,5 0 1 0   0  0,5

Kada smo odredili vektor translacije od baze do radnog predmeta, željeno rastojanje jednostavno
određujemo kao intenzitet posmatranog vektora.

Novi Sad, 2019.


radni _ predmet
dbaza  12  02  0,52  1, 25  1,118m , (11)

Zadatak 1.6:
Odrediti homogene transformacije H 01 , H 02 i H 12 .

Izračunati za koje vreme će vrh robota (koordinatni početak K.S.2) stići u Target_10, ako se kreće
konstantnom brzinom od 1m/s.

Relativni položaj koordinatnih sistema je predstavljen slikom i poznato je:

 2  2 
 0 0.3 
 2 2 
 6 6 1 
 0.2 
H110   4 4 2 
 2 2 3 
 0.3
 4 4 2 
 0 0 0 1 

Target_10

Rešenje:
𝐻01 = 𝑇𝑟𝑎𝑛𝑥,1𝑚 𝑇𝑟𝑎𝑛𝑧,0.4𝑚 𝑅𝑜𝑡𝑧,180° 𝑅𝑜𝑡𝑥,180°

1 0 0 1 1 0 0 0 −1 0 0 0 1 0 0 0
𝐻01 = [0 1 0 0 ] [0 1 0 0 ] [ 0 −1 0 0 ] [0 −1 0 0]
0 0 1 0 0 0 1 0.4 0 0 1 0 0 0 −1 0
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
1
1 0 0 1 −1 0 0 0 −1 0 0 1 −1 0 0
0
= [0 1 0 0 ][ 0 1 0 0 ] = [ 0 1 0 0 ]= 0 1 0 2
0 0 1 0.4 0 0 −1 0 0 0 −1 0.4 0 0 −1
0 0 0 1 0 0 0 1 0 0 0 1 [0 0 0 5]
1

𝐻02 = 𝑇𝑟𝑎𝑛𝑧,1𝑚 𝑇𝑟𝑎𝑛𝑥,0.5𝑚 𝑅𝑜𝑡𝑦,120° 𝑇𝑟𝑎𝑛𝑧,0.5𝑚 𝑅𝑜𝑡𝑧,−90°

Novi Sad, 2019.


1 √3
1 0 0 0 1 0 0 0.5 − 0 0 1 0 0 0 0 1 0 0
2 2
𝐻02 = [0 1 0 0 ] [0 1 0 0 ] 0 1 0 0 [0 1 0 0 ] [−1 0 0 0]
0 0 1 1 0 0 1 0 √3 1 0 0 1 0.5 0 0 1 0
0 0 0 1 0 0 0 1 − 0 − 0 0 0 0 1 0 0 0 1
2 2
[ 0 0 0 1]
1 √3
1 − 0 0 0 1 0 0
1 0 0 2 2 −1 0 0 0
2 0 1 0 0
= 0 1 0 0 1
0 0 1
0 0 1 1 − √3 0 − 1 0 2
[0 0 0 1] 2 2 [0 0 0 1]
[ 0 0 0 1]
1 √3 √3 1 √3 2 + √3
1 0 − 0 −
1 0 0 2 2 4 2 2 4
2 −1 0 0 0 = −1 0 0 0
= 0 1 0 0
0 0 1 1 0 − √3 − 1 − 1 0 −
√3

1 3
[0 0 0 1] 2 2 4 2 2 4
[0 0 0 1 ] [0 0 0 1 ]
0 −0.5 0.866 0.933
−1 0 0 0
=[ ]
0 −0.866 −0.5 0.75
0 0 0 1

𝐻21 = 𝐻20 𝐻01

(𝑅02 )𝑇 −(𝑅02 )𝑇 𝑑02 ]


𝐻20 = (𝐻02 )−1 = [
000 1
0 1 0 2 + √3 0
1 √3 1 + 2√3
0 4
𝑑20 = −(𝑅02 )𝑇 𝑑02 = 2 2 0 = 4
√3 1 3 √3
[− 2 0
2 ] [ 4 ] [ −
4 ]
0 −1 0 0
1 √3 1 + 2√3 0 −1 0 0
− 0 −
2 2 4 −0.5 0 −0.866 1.116
𝐻20 = =[ ]
√3 1 √3 0.866 0 −0.5 −0.433
0 − − 0 0 0 1
2 2 4
[ 0 0 0 1 ]

0 −1 0 0 0 −1 0 0
1 √3 1 + 2√3 −1 0 01 1 √3 1 3√3
− 0 − 0 1 00 0 − +
𝐻21 = 2 2 4 2 = 2 2 4 10
√3 1 √3 0 0 −1 √3 1 1 √3
0 − − 5 − 0 − +
2 2 4 [0 0 0 1] 2 2 5 4
[ 0 0 0 1 ] [ 0 0 0 1 ]
0 −1 0 0
0.5 0 0.866 0.27
=[ ]
−0.866 0 0.5 0.233
0 0 0 1

Novi Sad, 2019.


𝑇𝑎𝑟𝑔𝑒𝑡_10 𝑇𝑎𝑟𝑔𝑒𝑡_10
𝑑2 𝑑2
𝒱= ⇒𝑡=
𝑡 𝒱
𝑇𝑎𝑟𝑔𝑒𝑡_10 𝑇𝑎𝑟𝑔𝑒𝑡_10
𝐻2 = 𝐻21 𝐻1

√2 √2 3
0 −1 0 0 − 0
1 √3 1 3√3 2 2 10
0 − + √6 √6 1 1
= 2 2 4 10
𝑇𝑎𝑟𝑔𝑒𝑡_10 − −
𝐻2
√3 1 1 √3 4 4 2 5
− 0 − + √2 √2 √3 3
2 2 5 4 −
[ 0 0 0 1 ] 4 4 2 10
[0 0 0 1 ]
√6 √6 1 1
− −
4 4 2 5
2√2 + √6 −2√2 + √6 3 −2 + 3√3
= 8 8 4 20
√2 − 2√6 √2 + 2√6 √3 −7 + 2√3
8 8 4 20
[ 0 0 0 1 ]
−0.612 −0.612 0.5 0.2
0.66 −0.047 0.75 0.16
=[ ]
−0.435 0.789 0.433 −0.176
0 0 0 1
1
5
𝑇𝑎𝑟𝑔𝑒𝑡_10 −2 + 3√3
𝑑2 =
20
−7 + 2√3
[ 20 ]

2 2
𝑇𝑎𝑟𝑔𝑒𝑡_10 1 2 −2 + 3√3 −7 + 2√3
|𝑑2 | √
= ( ) +( ) +( ) = 0.311𝑚
5 20 20

0.311𝑚
𝑡= 𝑚 = 0.311𝑠
1
𝑠

Zadatak 1.7
Odrediti homogene transformacije H 01 , H10 , i H13 . Relativni položaj koordinatnih sistema je
predstavljen slikom i data je homogena transformacija H 23 .

Novi Sad, 2019.


 1 3 
 0 0 
 2 2 
 0 1 0 1 
H 23   
 3 0
1
0.5
 2 2 
 
 0 0 0 1 

Rešenje:
𝐻01 = 𝑇𝑟𝑎𝑛𝑦,0.4𝑚 𝑇𝑟𝑎𝑛𝑧,1𝑚 𝑅𝑜𝑡𝑧,180°

1 0 0 0 1 0 0 0 1 0 0 0
𝐻01 = [0 1 0 0.4 ] [0 1 0 0 ] [0 −1 0 0]
0 0 1 0 0 0 1 1 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 −1 0 0 0 −1 0 0 0
=[ 0 1 0 0.4 ] [ 0 −1 0 0 ] = [ 0 −1 0 0.4 ]
0 0 1 1 0 0 1 0 0 0 1 1
0 0 0 1 0 0 0 1 0 0 0 1
0
−1 0 0 2
= 0 −1 0 5
0 0 1
1
[0 0 0
1]
(𝑅01 )𝑇 −(𝑅01 )𝑇 𝑑01 ]
𝐻10 = (𝐻01 )−1 = [
000 1
1 0 0 0 0
𝑑10 = −(𝑅01 )𝑇 𝑑01 = [0 1 0 ] [0.4] = [0.4]
0 0 −1 1 −1
−1 0 0 0
−1 0 0 0 2
0 −1 0 0.4
𝐻10 = [ ] = 0 −1 0
5
0 0 1 −1
0 0 1 −1
0 0 0 1 [0 0 0 1]

𝐻13 = 𝐻10 𝐻02 𝐻23

Novi Sad, 2019.


𝐻02 = 𝑇𝑟𝑎𝑛𝑧,2𝑚 𝑇𝑟𝑎𝑛𝑦,0.6𝑚 𝑅𝑜𝑡𝑥,−60°

1 0 0 0
1 0 0 0 1 00 0 1 √3
0 0
𝐻02 = [0 1 0 0 ] [0 10 0.6 ] 2 2
0 0 1 2 0 01 0 √3 1
0 0 0 1 0 00 1 0 − 0
2 2
[0 0 0 1]
1 0 0 0 1 0 0 0
1 0 0 0 1 √3 1 √3 3
3 0 0 0
= 0 1 0
5
2 2 = 2 2 5
0 0 1 2 0 − √3 1 √3 1
0 0 − 2
[0 0 0 1] 2 2 2 2
[0 0 0 1] [0 0 0 1]
1 0 0 0
0 0.5 0.866 0.6
=[ ]
0 −0.866 0.5 2
0 0 0 1

1 0 0 0 1 √3
−1 0 0
0 1 √3 3 0 0
2 0 2 2
𝐻13 = 0 −1 0 2 2 5 0 1 0 1
5
0 0 1 −1 0 − √3 1 2 − √3 0 1 0.5
[0 0 0 1] 2 2 2 2
[0 0 0 1] [ 0 0 0 1]
−1 0 0 0 1 √3
1 √3 1 0 0
0 − − − 2 2
= 2 2 5 0 1 0 1
√3 1 √3 1 1
0 − 1 − 0
2 2 2 2 2
[0 0 0 1 ][ 0 0 0 1]
1 √3
− 0 − 0
2 2
3 1 √3 −14 − 5√3
= 4 − −
2 4 20
√3 √3 1 5 − 2√3
− −
4 2 4 4
[ 0 0 0 1 ]
−0.5 0 −0.866 0
0.75 −0.5 −0.433 −1.133
=[ ]
−0.433 −0.866 0.25 0.384
0 0 0 1

Zadatak 1.8
Odrediti homogene transformacije H 01 , H 02 i H12 . Relativni položaj koordinatnih sistema je
predstavljen slikom.

Novi Sad, 2019.


Rešenje:
𝐻01 = 𝑇𝑟𝑎𝑛𝑥,1𝑚 𝑇𝑟𝑎𝑛𝑧,1𝑚 𝑅𝑜𝑡𝑦,−30° 𝑅𝑜𝑡𝑧,90°

√3 1
1 0 0 1 1 0 0 0 0 − 0 0 1 0 0
2 2
0 1 0 0 0 1 0 0
0 1 0 0 [−1 0 0 0
𝐻01 = [ ][ ] ]
0 0 1 0 0 0 11 1 √3 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 0 0 1
2 2
[ 0 0 0 1]
√3 1 √3 1
1 0 0 1 0 − 0 0 − 1
2 2 2 2
0 1 0 0 −1 0 0 0 = −1 0 0 0
=[ ]
0 0 1 1 1 √3 1 √3
0 0 0 1 0 2 2
0 0
2 2
1
[0 0 0 1] [ 0 0 0 1]
0 0.866 −0.5 1
−1 0 0 0
=[ ]
0 0.5 0.866 1
0 0 0 1

𝐻02 = 𝑇𝑟𝑎𝑛𝑥,0.5𝑚 𝑇𝑟𝑎𝑛𝑧,0.8𝑚 𝑅𝑜𝑡𝑥,180°

Novi Sad, 2019.


1 0 0 0.5 1 0
0 0 1 0 0 0
0 1 0 0 0 1
0 0 0 −1 0 0
𝐻02 = [ ][ ][ ]
0 0 1 0 0 0
1 0.8 0 0 −1 0
0 0 0 1 0 0
0 1 0 0 0 1
1 0 0 0.5 1 0 0 0 1 0 0 0.5
0 1 0 0 0 −1 0 0 0 −1 0 0
=[ ][ ]=[ ]
0 0 1 0.8 0 0 −1 0 0 0 −1 0.8
0 0 0 1 0 0 0 1 0 0 0 1
1
1 0 0
2
= 0 −1 0 0
4
0 0 −1
5
[0 0 0 1]

𝐻12 = 𝐻10 𝐻02

(𝑅01 )𝑇 −(𝑅01 )𝑇 𝑑01 ]


𝐻10 = (𝐻01 )−1 = [
000 1
0 1 0 0
√3 1 1 −1 − √3
0 1 )𝑇 1 − 0 −
𝑑1 = −(𝑅0 𝑑0 = 2 2 [0] = 2
1 √3 1 1 − √3
[ 2 0 − ] [ ]
2 2
0 −1 0 0
√3 1 −1 − √3 0 −1 0 0
0
0.866 0 0.5 −1.366
𝐻10 = 2 2 2 =[ ]
1 √3 1 − √3 −0.5 0 0.866 −0.366
− 0 0 0 0 1
2 2 2
[ 0 0 0 1 ]

0 −1 0 0 1 0 1 0 0
√3 1 −1 − √3 1 0 0
2 √3 1 −2 − 5√3
0 0 −
𝐻12 = 2 2 2 0 −1 0 0 = 2 2 20
1 √3 1 − √3 0 4 1 √3 5 − 2√3
− 0 0 −1 − 0 −
2 2 2 5 2 2 20
[ 0 0 0 1 ] [0 0 0 1] [ 0 0 0 1 ]
0 1 0 0
0.866 0 −0.5 −0.533
=[ ]
−0.5 0 −0.866 0.077
0 0 0 1
Zadatak 1.9
Odrediti homogene transformacije H 01 , H 02 i H12 .

Izračunati rastojanje od koordinatnog početka K.S.2 do koordinatnog početka K.S. 1.

Novi Sad, 2019.


Relativni položaj koordinatnih sistema je predstavljen slikom. Oba robota su ista i dužine svih njihovih
segmenata su po 0,5m.

z1 x2

x1 y2 z2
45º y1

60º

z0
60º 45º
x0 y0

0,2 0,2

Rešenje:
𝐻01 = 𝑇𝑟𝑎𝑛𝑦,−0.2𝑚 𝑅𝑜𝑡𝑥,30° 𝑇𝑟𝑎𝑛𝑧,0.5𝑚 𝑅𝑜𝑡𝑥,−45° 𝑇𝑟𝑎𝑛𝑧,0.5𝑚

1 0 0 0 1 0 0 0
1 0 0 0 √3 1 1 0 0 0 √2 √2 1 0 0 0
0 − 0 0 0
0 1 0 −0.2 2 2 0 1 0 0 2 2 0 1 0 0
𝐻01 = [ ] [ ] [ ]
0 0 1 0 1 √3 0 0 1 0.5 √2 √2 0 0 1 0.5
0 0 0 1 0 0 0 0 0 1 0 − 0 0 0 0 1
2 2 2 2
[0 0 0 1] [0 0 0 1]
1 0 0 0 1 0 0 0
√3 1 1 √2 √2 1 0 0 0
0 − − 0 0 0 1 0 0
= 2 2 5 2 2 1
1 √3 √2 √2 1 0 0 1 2
0 0 0 −
2 2 2 2 2 [0 0 0 1]
[0 0 0 1 ] [0 0 0 1]
1 0 0 0 1 0 0 0
√3 1 1 √2 √2 √2
0 − − 0
= 2 2 5 2 2 4
1 √3 √2 √2 2 + √2
0 0 0 −
2 2 2 2 4
[0 0 0 1 ] [0 0 0 1 ]
1 0 0 0
√2 + √6 −√2 + √6 −18 − 5√2 + 5√6
0
= 4 4 40
√2 − √6 √2 + √6 √2 + 2√3 + √6
0
4 4 8
[0 0 0 1 ]
1 0 0 0
0 0.966 0.259 −0.32
=[ ]
0 −0.259 0.966 0.916
0 0 0 1

𝐻02 = 𝑇𝑟𝑎𝑛𝑦,0.2𝑚 𝑅𝑜𝑡𝑥,−45° 𝑇𝑟𝑎𝑛𝑧,0.5𝑚 𝑅𝑜𝑡𝑥,60° 𝑇𝑟𝑎𝑛𝑧,0.5𝑚 𝑅𝑜𝑡𝑥,−120° 𝑅𝑜𝑡𝑧,−90°

Novi Sad, 2019.


1 0 0 0 1 0 0 0 1 0 0 0
1 0 0 0 √2 √2 1 0 0 0 1 √3 1 0 0 0 1 √3 0 1 0 0
0 0 0 − 0 0 − 0
0 1 0 0.2 2 2 0 1 0 0 2 2 0 1 0 0 2 2 −1 0 0 0
𝐻02 = [ ] [ ] [ ] [ ]
0 0 1 0 √2 √2 0 0 1 0.5 √3 1 0 0 1 0.5 √3 1 0 0 1 0
0 0 0 1 0 −
2 2
0 0 0 0 1 0 2 2
0 0 0 0 1 0 −
2

2
0 0 0 0 1
[0 0 0 1] [0 0 0 1] [0 0 0 1]

1 0 0 0 1 0 0 0 1 0 0 0
√2 √2 1 1 √3 1 √3 0 1 0 0
0 0 − 0 0 − 0
2 2 5 2 2 2 2 −1 0 0 0
𝐻02 = [ ]
√2 √2 √3 1 1 √3 1 1 0 0 1 0
0 − 0 0 0 − −
2 2 2 2 2 2 2 2 0 0 0 1
[0 0 0 1] [0 0 0 1] [0 0 0 1]
1 0 0 0 0 1 0 0
√2 + √6 √2 − √6 4 + 5√2 1 √3
0 0 0
= 4 4 20 2 2
−√2 + √6 √2 + √6 √2 √3 1 1
0 0 −
4 4 4 2 2 2
[0 0 0 1 ][ 0 0 0 1]
0 1 0 0
−√2 + √6 √2 + √6 8 + 15√2 − 5√6
0
= 4 4 40
√2 + √6 √2 − √6 3√2 + √6
0
4 4 8
[ 0 0 0 1 ]
0 1 0 0
0.259 0 0.966 0.424
=[ ]
0.966 0 −0.259 0.836
0 0 0 1
𝐻12 = 𝐻10 𝐻02

(𝑅01 )𝑇 −(𝑅01 )𝑇 𝑑01 ]


𝐻10 = (𝐻01 )−1 = [
000 1
−1 0 0 0 0
𝑑10 = −(𝑅01 )𝑇 𝑑01 = [ 0 −0.966 0.259 ] [−0.32] = [ 0.546 ]
0 −0.259 −0.966 0.916 −0.802

1 0 0 0
0 0.966 −0.259 0.546
𝐻10 = [ ]
0 0.259 0.966 −0.802
0 0 0 1
1 0 0 0 0 1 0 0
0 0.966 −0.259 0.546 0.259 0 0.966 0.424
𝐻12 = [ ][ ]
0 0.259 0.966 −0.802 0.966 0 −0.259 0.836
0 0 0 1 0 0 0 1
0 1 0 0
= [0 0 0.866 0.739]
1 0 0 0.115
0 0 0 1

Novi Sad, 2019.


Zadatak 1.10
Odrediti homogene transformacije: H10 , H12 i H 02 . Izračunati rastojanje od koordinatnog početka K.S.
2 do koordinatnog početka K.S. 0. Relativni položaj koordinatnih sistema je predstavljen slikom. Dužine
segmenata egzoskeleta na natkolenici i potkolenici su po 0,5m.

x1

y1 z1
1,2m
45º

1,5m
x2
z0 y2

y0 z2
x0
0,2m
30º

Zadatak 1.11
Nа slici је prikаzаn rehabilitacioni robot kod kog je dužina prvog segmenta 0,5m, drugog segmenta
0,5m a trećeg 0,2m. Dаtа је hоmоgеnа trаnsfоrmаciја H 02 , između koordinatnih sistema k.s.0 i k.s. 2.

Odrediti homogene transformacije H 01 i H 21 . Odrediti vektor pozicije tačke A izražen u k.s.0 ( p A0 ), ako
je poznat vektor pozicije tačke A u k.s. 2 ( p A2 ).

1 0 0 0
 
0 2

2
1,5
 2 2 
H0  
2

0 2 2
1
 2 2 
 
0 0 0 1

Novi Sad, 2019.


segment 2 z2 y2
segment 3
45° 90°
x2

y1 x1
z1

segment 1
0
60° p   0 
2
A

 2 
z0
0,2m

x0 y0

Zadatak 1.12

Nа slici је prikаzаn egzoskelet kod kog je dužina segmenta natkolenice 0,5m i potkolenice takođe 0,5m.

Odrediti homogene transformacije H 01 , H 02 i H12 . Odrediti dužinu polukoraka prikazanog na slici, tj.
rastojanje između koordinatnih sistema k.s.2 i k.s.1.

y0
z0
60° x0 60°

z1 y2
30°
45°
z2
x1 y1 x2
Rešenje:

Novi Sad, 2019.


Novi Sad, 2019.
Novi Sad, 2019.
Zadatak 1.13
Za robotski teleoperativni sistem prikazan na slici odrediti homogene transformacije: H 01 , H 02 i H 23 ,
ako je poznata homogena transformacija H13 . Relativni položaj koordinatnih sistema je prikazan na
slici.

30°
x1 90°
z1

1m y1
0 1 0 0.2 
z0 1 0 0 0.5 
x2
y0 y2 H 13  
x0 z2 y3 0 0 1 1
 
0 0 0 1
x3 z3
0.5m
45°

Rešenje:

Novi Sad, 2019.


Novi Sad, 2019.
Novi Sad, 2019.
Zadatak 1.14
Za robotski sistem prikazan na slici odrediti homogene transformacije: H 01 , H10 , H 02 i H12 .
Relativni položaj koordinatnih sistema je prikazan na slici.

1m
0,8m

y2
x2 y1
z2
45º z1 x1

1m 1,2m

z0

x0 y0

Rešenje:

Novi Sad, 2019.


Novi Sad, 2019.
Zadatak 1.15
Nа slici је prikаzаn sistеm i dаtа је hоmоgеnа trаnsfоrmаciја H PO .

а) Оdrеditi mаtricu hоmоgеnе trаnsfоrmаciје H PK .


b) Izrаčunаti udаlјеnоst оbјеktа (О) оd kооrdinаtnоg sistеmа vеzаnоg zа pоdlоgu (P).
c) Оdrеditi mаtricu hоmоgеnе trаnsfоrmаciје izmеđu kаmеrе (K) i оbјеktа (О) H KO .
d) Izrаčunаti rаstојаnjе izmеđu kаmеrе (K) i оbјеktа (О).

Rešenje:

Novi Sad, 2019.


Novi Sad, 2019.
Novi Sad, 2019.
Zadatak 1.16
Odrediti homogene transformacije H01, H02 i H13.
Data je homogena transformacija između koordinatnih sistema k.s.2 i k.s.3, H23.
Vrednosti dužina segmenata i zakrenutost u zglobovima manipulatora su date na slici.

Zadatak 1.17
Odrediti homogenu transformaciju H 12 , ako je poznata H 02 . Koliko je rastojanje između kamera?
Relativni položaj koordinatnih sistema je predstavljen slikom. Sve kamere su istih dimenzija.

z2
y2

z1
z0
x2
y0 y1 x1
x0
5m

60º
Novi Sad, 2019.
0 0 1 0.5
 
0 1 0 5.5 
H02  
1 0 0 0.2
 
0 0 0 1 

Zadatak 1.18
Za date homogene transformacije H 03 i H12 odrediti rastojanje između šaka čoveka. Relativni položaj
koordinatnih sistema je predstavljen slikom. Sve kamere su istih dimenzija.

z0
z3
y3 z2
y0
z1
x0
x3
x2 y2 x1
y1

5m

120º

0 0 1 0.5  1 0 0 0.2 
   
0 1 0 4.5  0 -1 0 4.5 
H30   H12  
-1 0 0 0.5 0 0 1 0.6
   
 0 0 0 1   0 0 0 1 

Novi Sad, 2019.


2. DH notacija i direktna kinematika

Zadatak 2.1
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a) Postavljanje koordinatnih sistema u skladu sa pravilima Denavit-Hartenberg notacije nije
jednoznačno rešiv problem. Dakle postoji više mogućih načina da se pravilno postave koordinatni
sistemi za zadatu konfiguraciju robotskog manipulatora. Prilikom postavljanja koordinatnih sistema
neophodno je ispoštovati ograničenja nametnuta pravilima DH notacije, a koja se tiču mogućih načina
za postavljanje x-osa koordinatnih sistema. Pored obaveznih ograničenja, postoji i niz preporuka za
postavljanje koordinatnih sistema koje rezultuju određenim pojednostavljenjima u skupu DH
parametara koji se određuju sa slike. Pre nego što se podsetimo same procedure, želimo da napomenemo
da se zglobovi robota numerišu od broja 1, dok se koordinatni sistemi numerišu počevši od broja 0, tako
da su indeksi smaknuti za 1.
Procedura za postavljanje koordinatnih sistema je sledeća:
 Korak1: postaviti z-osu u svaki od zglobova, tako da joj se pravac poklapa sa osom rotacije
(ukoliko je zglob rotacioni) ili pravcem translacije (ukoliko je zglob translacioni). Smer ose
izabrati proizvoljno. Na vrh robota postaviti z-osu, koja prolazi kroz TCP (Tool Center Point),
tako da bude paralelna sa z-osom poslednjeg zgloba.
 Korak2: Postaviti x-ose svih koordinatnih sistema tako da budu zadovoljena sledeća
ograničenja: (i) xi seče zi-1 osu i (ii) xi upravno na zi-1 osu. Želimo da iznesemo nekoliko važnih
zapažanja. Kao prvo, nulti koordinatni sistem nema svog prethodnika tako da je on izuzet od
ovih ograničenja. To se može iskoristiti tako da se on naknadno prilagodi ostalim koordinatnim
sistemima (videti preporuke koje slede). Kao drugo, u nekim situacijama postoji određena
sloboda prilikom određivanja koordinatnog početka, tj. nije obavezno da x-ose prolaze kroz
centre zglobova (takođe videti preporuke koje slede).
 Korak3: Dodati y-ose tako da se dobiju desni koordinatni sistemi.

Preporuke za postavljanje koordinatnih sistema:


 Ukoliko su dve susedne z-ose paralelne odabrati im istu orijentaciju. Time će se nulirati
pramaetar α.
 Kad god je moguće, postaviti dve susedne x-ose tako da budu paralelne/kolinearne i isto
usmerene. Time će se poništiti fiksni ugaoni ofset u nultom položaju koji se dodaje na parametar
θ, što pojednostavljuje dalje izračunavanje. Nulti koordinatni sistem je uvek moguće naknadno
prilagoditi prvom koordinatnom sistemu u skladu sa ovom preporukom, pošto ne podleže
nikakvim ograničenjima.

Novi Sad, 2019.


 U slučaju da se dve susedne z-ose (zi i zi-1) seku, tada xi osa zbog ograničenja mora da prođe
kroz tačku njihovog preseka, čime je jednoznačno određen položaj koordinatnog početka O i.
Međutim ako su dve susedne z-ose paralelne ili mimoilazne u prostoru, tada xi osa može da
bude bilo koja njihova zajednička normala. To znači da postoji sloboda u izboru koordinatnog
početka. Tada je moguće izabrati položaj koordinatnog početka tako da rastojanje dve susedne
x-ose (xi i xi-1), mereno duž ose zi-1 bude nula, čime se poništava parametar d.

Primenimo sada navedenu proceduru na zadatu robotsku konfiguraciju:

Korak1: Postavljamo z-ose u zglobove robota. Poslednja z-osa, vezana za hvataljku robota je izabrana
da bude paralelna z-osi poslednjeg zgloba.

z0 z2 z3

z1

Korak2: Postavljamo x-ose u skladu sa ograničenjima.

z0 z2 z3

z1

x1 x2
x3

x0

Ovde ćemo dati nekoliko napomena. Osa x1 mora da bude upravna na ravan koju grade ose z0 i z1, i
mora da prolazi kroz tačku njihovog preseka, kako bi bila zadovoljena ograničenja. Time je koordinatni
početak O1 jednoznačno definisan i ostaje samo da se izabere smer ose x1. Međutim, osa x0 može da ima
proizvoljnu orijentaciju u horizontalnoj ravni i koordinatni početak O0 ne mora da bude u bazi robota,
već bilo gde duž ose z0. Primera radi, ako bismo koordinatni početak O0 podigli gore u tačku preseka
osa z0 i z1 tada bi ose x0 i x1 bile kolinearne, čime bismo uprostili DH parametre (d1=0, θ1=0). Iako je
ovo u skladu sa preporukama, ovo je specifičan slučaj gde smatramo opravdanim da nulti koordinatni
sisem ostane dole u bazi robota, iz razloga što je krajnji cilj zadtka direktne kinematike da se odredi
pozicija i orijentacija vrha robota u odnosu na bazu, a ne u odnosu na neku proizvoljnu tačku na
konstrukciji robota.

Novi Sad, 2019.


Što se tiče ose x2 situacija je ista kao sa osom x1, tako da važi gore navedena analiza.
Slično kao i kod baznog koordinatnog sistema, koordinatni početak O3, koji predstavlja vrh robota je
namenski postavljen na sredini hvataljke, iako bi u skladu sa preporukom za pojednostavljenje
parametara osa x3 mogla da se postavi kolinearno sa osom x2. Međutim, što se tiče izbora njene
orijentacije preporuka je ispoštovana.

Korak3: U poslednjem koraku dodajemo y-ose, tako da formiramo desne koordinatne sisteme.

d2 d2 * a3
z0 z2 z3
α1 α2

y2 z1

x1 y1 x2 y3

d1*
x3

d1 y0
x0

Sledeći korak jeste da se odrede DH parametri na osnovu našeg izbora koordinatnih sistema, prikazanih
na slici. Pošto smo rekli da je prema DH notaciji moguće postaviti koordinate sisteme na više od jednog
načina, sledi da DH parametri nisu inherento svojstvo robotskog manipulatora, već su zavisni od
konkretnog izbora koordinatnih sistema.

Podsećamo čitaoca na definiciju pojedinačnih DH parametara


 a – rastojanje dve susedne z-ose (npr. z0 i z1), mereno duž „novije“ x-ose (x1).
 α – ugao između dve susedne z-ose (npr. z0 i z1), mereno oko „novije“ x-ose (x1).
 d – rastojanje dve susedne z-ose (npr. x0 i x1), mereno duž „starije“ z-ose (z0).
 θ – ugao između dve susedne z-ose (npr. x0 i x1), mereno oko „starije“ z-ose (z0).

Prilikom određivanja parametara rukovodimo se sledećim principom. Svaki zglob deli dva koordinatna
sistema. Ako posmatramo i-ti zglob, prilikom njegovog kretanja k.s. Oi-1 miruje, a k.s. Oi i se kreće
zajedno sa zglobom i ostalim segmentima robota, koji se nalaze iza zgloba. Sa 4 DH parametra treba da
opišemo razliku u poziciji i orijentaciji između ova dva susedna koordinatna sistema, u nekom
proizvoljnom položaju. Znak *, koji stoji uz pojedine parametre, označava da je u pitanju aktivni stepen
slobode i da se tim parametrom opisuje razlika u poziciji ili orijentaciji koja nastaje kao posledica
kretanja zgloba. Ukoliko je zglob translatorni, tada se parametar d označava simbolom *, da naglasi
aktivno translatorno izduženje. Ukoliko je zglob rotacioni, taa se ugaoni parametar θ označava znakom
* da označi aktivnu rotaciju. Na osnovu slike dolazimo do sledeće tabele sa DH parametrima.

a α d θ
zglob 1 0 -90º d1+d1* 0
zglob 2 0 90º d2+d2* 0
zglob 3 a3 0 -d3 θ3*+90º

Dakle parametar d1+d1* označava da postoji fiksna visina stuba d1, koja predstavlja konstrukcioni
parametar robota i da usled aktiviranja zgloba dolazi do njegovog izduženja za vrednost d 1*. Analogno

Novi Sad, 2019.


ovome, parametar θ3*+90º, znači da u nultom položaju robota postoji fiksni ugaoni ofset od 90º između
x-osa koordinatnih sistema k.s.2 i k.s.3, a da usled aktiviranja rotacionog zgloba osa x2 ostaje da miruje,
dok se osa x3 pomera za ugao θ3*.

b) Rešavanje direktnog kinematskog problema podrazumeva određivanje pozicije i orijentacije vrha


robota u odnosu na bazni Dekartov koordinatni sistem. Drugim rečima, potrebno je odrediti ukupnu
homogenu transfromaciju od baze do vrha, što u ovom zadatku znači između koordinatnih sistema 0 i
3. Do ukupne homogene transformacije se dolazi tako što se prvo odrede pojedinačne homogene
transformacije između svaka dva sukcesivna koordinatna sistema u kinematskom lancu, počevši od
baze, a zatim se primeni princip o slaganju homogenih transfromacija. Podsetimo se kako izgleda
matrica homogene transfromacije u opštem oblike, izvedena za DH parametre:

Ci  Si C i Si S i ai Ci 


 S Ci C i Ci S i ai Si 
H ii-1  i .(1)
 0 S i C i di 
 
 0 0 0 1 

Da bismo dobili pojedinačne homogene transformacije između dva susedna koordinatna sistema,
potrebno je uvrstiti parametre iz tabele 1 u matricu datu izrazom (1). Konkretno, kada uvrstimo
parametre iz prve vrste, koji se odnose na zglob1, dobićemo homogenu transfromaciju H 10 , itd. Na taj
način dobijamo:

1 0 0 0
0 0 1 0
H0  
1  .(2)
0 1 0 d1  d1* 
 
0 0 0 1 
1 0 0 0 
0 0 1 0 
H12   .(3)
0 1 0 d 2  d 2* 
 
0 0 0 1 
  S3* C3* 0 a3 S3* 
 
C *  S3* 0 a3C3* 
H 32   3 .(4)
 0 0 1 d3 
 
 0 0 0 1 

Ukupna homogena transformacija se nalazi slaganjem pojedinačnih homogenih transfromacija:

H 30  H10 H12 H 32 ,(5)

Podsećamo čitaoca da množenje matrica nije komutativno i da je redosled množenja važan. Kao
međukorak možemo izračunati H 02 :

1 0 0 0 
0 1 0 d 2  d 2* 
H 02   .(6)
0 0 1 d1  d1* 
 
0 0 0 1 

Analizirajmo na trenutak međurezultat koji smo dobili. Vidimo da je matrica rotacije R02 jedinična
matrica što znači da koordinatni sistemi k.s.0 i k.s.2 imaju identičnu orijentaciju. Ovo se jasno vidi sa
slike, što je potvrda da smo dobili dobar rezulat. Takođe, pogledajmo vektor translacije u četvrtoj koloni

Novi Sad, 2019.


matrice. Vidimo da koordinatni početak O2 u odnosu na koordinatni početak O0 uopšte nije transliran
duž x-ose, dok je duž y i z osa transliran za vrednosti d2+d2* i d1+d1*, respektivno, što se takođe jasno
vidi sa slike. Konačno, ukupna homogena transformacija od baze do vrha iznosi:

  S 3* C 3* 0 a3 S 3* 
 
 C 3
*
 S *
3 0  d 2  d  a3C  
*
2
*
3
H0  
3
 .(7)
 0 0 1  d1  d1*  d3  
 
 0 0 0 1 

Zadatak 2.2
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)
Potrebno je prvo postaviti koordinatene sistema na konstrukciju robotskog manipulatora u skladu sa
pravilima DH notacije. Prvi korak jeste da se postave z-ose svih koordinatnih sistema u zglobove
manipulatora, tako da se poklapaju sa osama rotacije, odnosno translacije, zglobova. Smerove z-osa
usvajamo proizvoljno. Podsećamo da se zglobovi robota numerišu od 1, dok se koordinatni sistemi
numeriši od 0. Takođe podsećamo da se na vrh robota (TCP), postavlja dodatni koordinatni sistem, čija
z-osa (zN) u skladu sa preoporukama DH notacije treba da bude paralelna sa z-osom poslednjeg zgloba
(zN-1).
Sledeći korak u proceduri jeste postavljanje x-osa svih kooordinatnih sistema u skladu sa ograničenjima
koja propisuje DH notacija. Ograničenja formalno iskazuju uslov da svaka x-osa mora da bude upravna
na z-osu prethodnog koordinatnog sistema i da je seče. Želimo da istaknemo da ograničenja ne važe za
bazni, nulti koordinatni sistem, zato što on nema svog prethodnika. Prilikom postavljanja x-osa poželjno
je ispoštovati preporuke, propisane DH notacijom, kako bi se maksimalno pojednostavili rezultujući DH
parametri. Za detaljno objašnjenje ove procedure pogledati zadatak 2.1. Poslednji korak jeste da se
dodaju y-ose svih koordinatnih sistema, tako da svi koordinatni sistemi budu desni.

Novi Sad, 2019.


a1 a2 a3
z0 z1
y2 y3
y1

x1 x2 x3

d1* z2 z3

d1 y0
x0

Na osnovu slike dolazimo do sledeće tabele sa DH parametrima.

a α d θ
zglob 1 a1 0 d1+d1* 0
zglob 2 a2 90º 0 θ2*
zglob 3 a3 0 0 θ3*

b)
U drugom delu zadatka, potrebno je odrediti ukupnu homogenu transfromaciju od baze do vrha robota
i time odrediti poziciju i orijentaciju vrha u odnosu na bazu, za poznate pozicije u zglobovima.
Podsetimo se kako izgleda matrica homogene transfromacije u opštem oblike, izvedena za DH
parametre:

Ci  Si C i Si S i ai Ci 


 S Ci C i Ci S i ai Si 
H ii-1  i .(1)
 0 S i C i di 
 
 0 0 0 1 

Uvrštavanjem DH parametara iz prve vrste tabele 1, dobijamo homogenu transformaciju između


koordinatnih sistema k.s.0 i k.s.1:

1 0 0 
a1
0 1 0 
0
H10    .(2)
0 0 1 d1  d1* 
 
0 0 0 1 

Vidimo da je dobijena jedinična matrica rotacije u okviru homogene transformacije H 10 , što odgovara
činjenici da koordinatni sistemi k.s.0 i k.s.1 imaju identičnu orijentaciju u nultom položaju, a da ih
povezuje translatorni zglob koji neće uticati na promenu orijentaciju tokom kretanja. Uvrštavanjem DH
parametara iz druge vrste tabele 1, dobijamo homogenu transformaciju između koordinatnih sistema
k.s.1 i k.s.2:

Novi Sad, 2019.


C 2* 0 S 2* a2 C 2* 
 * 
S 0 C 2* a2 S 2* 
H12   2 .(3)
 0 1 0 0 
 
 0 0 0 1 

Konačno, po analogiji sa prethodnim izrazima, određujemo homogenu transformaciju između


koordinatnih sistema k.s.2 i k.s.3:

C3*  S3* 0 a3C3* 


 * 
S C3* 0 a3 S3* 
H 32   3 .(4)
 0 0 1 0 
 
 0 0 0 1 

Ukupnu homogenu transformaciju od baze do vrha robota dobijamo primenom pravila o slaganju
sukcesivnih homogenih transformacija:

H 30  H10 H12 H 32 ,(5)

Kao međukorak odredićemo homogenu transformaciju H 02 :

C 2* 0 S 2* a1  a2 C 2* 
 * 
S 0 C 2* a2 S 2* 
H 02   2 .(6)
 0 1 0 d1  d1* 
 
 0 0 0 1 

Krajnje rešenje problema direktne kinematike dato je sledećom homogenom transformacijom:

C 2*C3*

C 2* S 3* S 2* a1  a2 C 2*  a3C 2*C3*  

 S *C *
H0   2 3
3
 S 2* S 3* C 2*  a2 S 2*  a3 S 2*C3*   .(7)
 S 3*

C 3* 0  d1  d1*  a3 S3*  
 0 0 0 1 

Zadatak 2.3
Zа rоbоtsku kоnfigurаciјu prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi pоziciјu vrhа rоbоtа u оdnоsu nа bazni kооrdinаtni
sistеm (u opštim brojevima).

Novi Sad, 2019.


Rešenje:
a) z1
z2 z3
y2 y3
z0

x1 x2 x3
y1

x0
y0

a α d θ
zglob 1 0 0º d1 θ1*
zglob 2 -a2 90º d2+d2* 0º
zglob 3 -a3 0º 0 θ3*

b)
𝐶𝜃1∗ −𝑆𝜃1∗ 0 0
𝑆𝜃 ∗ 𝐶𝜃1∗ 0 0
𝐻01 = [ 1 ]
0 0 1 𝑑1
0 0 0 1
1 0 0 −𝑎2
0 0 −1 0
𝐻12 = [ ]
0 1 0 𝑑2 + 𝑑2∗
0 0 0 1

𝐶𝜃3∗ −𝑆𝜃3∗ 0 −𝑎3 𝐶𝜃3∗



𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗ ]
𝐻23 = [ 𝑆𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃1∗ 𝐶𝜃3∗ −𝐶𝜃1∗ 𝑆𝜃3∗ 𝑆𝜃1∗ −𝑎2 𝐶𝜃1∗ − 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗


𝑆𝜃 ∗ 𝐶𝜃 ∗ −𝑆𝜃1∗ 𝑆𝜃3∗ −𝐶𝜃1∗ −𝑎2 𝑆𝜃1∗ − 𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗
𝐻03 = [ 1 ∗ 3 ]
𝑆𝜃3 𝐶𝜃3∗ 0 𝑑1 + 𝑑2 + 𝑑2∗ − 𝑎3 𝑆𝜃3∗
0 0 0 1

Novi Sad, 2019.


Zadatak 2.4
Zа rоbоtsku kоnfigurаciјu prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi pоziciјu vrhа rоbоtа u оdnоsu nа bazni kооrdinаtni
sistеm (u opštim brojevima).

Rešenje:
a)

z2 z3
z0
y1 z1

x1 x3
x2
y2 y3

x0

y0

a α d θ
zglob 1 -a1 90º d1+d1* 0º
zglob 2 -a2 -90º 0 θ2*
zglob 3 -a3 0º 0 θ3*

b)
1 0 0 −𝑎1
0 0 −1 0
𝐻01 = [ ]
0 1 0 𝑑1 + 𝑑1∗
0 0 0 1

Novi Sad, 2019.


𝐶𝜃2∗ 0 −𝑆𝜃2∗ −𝑎2 𝐶𝜃2∗

𝐶𝜃2∗ −𝑎2 𝑆𝜃2∗ ]
𝐻12 = [ 𝑆𝜃2 0
0 −1 0 0
0 0 0 1

𝐶𝜃3∗ −𝑆𝜃3∗ 0 −𝑎3 𝐶𝜃3∗



𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗ ]
𝐻23 = [ 𝑆𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃2∗ 𝐶𝜃3∗ −𝐶𝜃2∗ 𝑆𝜃3∗ −𝑆𝜃2∗ −𝑎1 − 𝑎2 𝐶𝜃2∗ − 𝑎3 𝐶𝜃2∗ 𝐶𝜃3∗


𝑆𝜃 ∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗
𝐻03 = [ ∗ 3 ∗ ]
𝑆𝜃2 𝐶𝜃3 −𝑆𝜃2∗ 𝑆𝜃3∗ 𝐶𝜃2∗ 𝑑1 + 𝑑1∗ − 𝑎2 𝑆𝜃2∗ − 𝑎3 𝑆𝜃2∗ 𝐶𝜃3∗
0 0 0 1
Zadatak 2.5
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)
x1 z2 z3

x0 z1
x3

z0 y2
y0 x2
y1 y3

Kako je krajnji cilj zadtka direktne kinematike da se odredi pozicija i orijentacija vrha robota u odnosu
na bazu, možemo da uvedemo dodatni kordinatni sistem, koji će se nalaziti u bazi robotske
konfiguracije.

x1 z2 z3

x0 z1
x3
Novi Sad, 2019. y2
z0 y0 x 2
y1 y3
a α d θ
baza 0 -90º dB 0º
zglob 1 0 90º 0 θ1*-90º
zglob 2 0 90º d2+d2* 90º
zglob 3 -a3 0º 0 θ3*-90º

b)
1 0 0 0
0 0 1 0
𝐻𝐵0 = [ ]
0 −1 0 𝑑𝐵
0 0 0 1

𝑆𝜃1∗ 0 −𝐶𝜃1∗ 0

−𝑆𝜃1∗
𝐻01 = [−𝐶𝜃1 0 0]
0 1 0 0
0 0 0 1

0 0 1 0
1 0 0 0
𝐻12 = [ ]
0 1 0 𝑑2 + 𝑑2∗
0 0 0 1

𝑆𝜃3∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗



𝑆𝜃3∗ 0 𝑎3 𝐶𝜃3∗ ]
𝐻23 = [−𝐶𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝑩 = 𝑯𝟎𝑩 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃1∗ 𝐶𝜃3∗ −𝐶𝜃1∗ 𝑆𝜃3∗ 𝑆𝜃1∗ −(𝑑2 + 𝑑2∗ )𝐶𝜃1∗ − 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗
𝑆𝜃3∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗
𝐻𝐵3 = [ ]
−𝑆𝜃1∗ 𝐶𝜃3∗ 𝑆𝜃1∗ 𝑆𝜃3∗ 𝐶𝜃1∗ (𝑑2 + 𝑑2∗ )𝑆𝜃1∗ + 𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗
0 0 0 1
Zadatak 2.6
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Novi Sad, 2019.


Rešenje:
a)
z1

z0 z2
y1 z3
x1
x3
x2 y2 y3

y0
x0

a α d θ
zglob 1 0 0º d1+d1* 0º
zglob 2 0 -90º 0 θ2*
zglob 3 0 0º d3+d3* 0º

b)
1 0 0 0
𝐻01 = [0 1 0 0 ]
0 0 1 𝑑1 + 𝑑1∗
0 0 0 1

𝐶𝜃2∗ 0 −𝑆𝜃2∗ 0

𝐶𝜃2∗
𝐻12 = [ 𝑆𝜃2 0 0]
0 −1 0 0
0 0 0 1

Novi Sad, 2019.


1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃2∗ 0 −𝑆𝜃2∗ −(𝑑3 + 𝑑3∗ )𝑆𝜃2∗



𝐶𝜃2∗ (𝑑3 + 𝑑3∗ )𝐶𝜃2∗
𝐻03 = [ 𝑆𝜃2 0 ]
0 −1 0 𝑑1 + 𝑑1∗
0 0 0 1
Zadatak 2.7
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a) z0
y2 z1

x1
y1 x2

z2
y3

y0 z3
x3
x0

a α d θ
zglob 1 0 -90º d1+d1* 0º

Novi Sad, 2019.


zglob 2 0 -90º d2+d2* 0º
zglob 3 0 0º d3 θ3*

b)
1 0 0 0
𝐻01 = [0 0 1 0 ]
0 −1 0 𝑑1 + 𝑑1∗
0 0 0 1

1 0 0 0
𝐻12 = [0 0 1 0 ]
0 −1 0 𝑑2 + 𝑑2∗
0 0 0 1

𝐶𝜃3∗ −𝑆𝜃3∗ 0 0
𝑆𝜃 ∗ 𝐶𝜃3∗ 0 0 ]
𝐻23 = [ 3
0 0 1 𝑑3
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃3∗ −𝑆𝜃3∗ 0 0

−𝐶𝜃3∗ 𝑑2 + 𝑑2∗
𝐻03 = [−𝑆𝜃3 0 ]
0 0 −1 𝑑1 + 𝑑1∗ − 𝑑3
0 0 0 1
Zadatak 2.8
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)

x2 z2 y3 z3
z0
z1 x3

x1 y2
y1

Novi Sad, 2019.


y0
a α d θ
zglob 1 0 -90º d1 θ1*
zglob 2 0 90º d2+d2* -90º
zglob 3 -a3 0º 0 θ3*-90º

b)
𝐶𝜃1∗ 0 −𝑆𝜃1

0

𝐶𝜃1∗
𝐻01 = [ 𝑆𝜃1 0 0 ]
0 −1 0 𝑑1
0 0 0 1

0 0 −1 0
𝐻12 = [−1 0 0 0 ]
0 1 0 𝑑2 + 𝑑2∗
0 0 0 1

𝑆𝜃3∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗



𝑆𝜃3∗ 0 𝑎3 𝐶𝜃3∗ ]
𝐻23 = [−𝐶𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝑆𝜃1∗ 𝐶𝜃3∗ −𝑆𝜃1∗ 𝑆𝜃3∗ −𝐶𝜃1∗ −𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗ − (𝑑2 + 𝑑2∗ )𝑆𝜃1∗
−𝐶𝜃1∗ 𝐶𝜃3∗ 𝐶𝜃1∗ 𝑆𝜃3∗ −𝑆𝜃1∗ 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗ + (𝑑2 + 𝑑2∗ )𝐶𝜃1∗
𝐻03 = [ ]
𝑆𝜃3∗ 𝐶𝜃3∗ 0 𝑑1 − 𝑎3 𝑆𝜃3∗
0 0 0 1

Zadatak 2.9
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Novi Sad, 2019.


Rešenje:
a) z2 z3
z0
z1 x3

x1 y2
y1 x2 y3

y0
x0

a α d θ
zglob 1 0 -90º d1 θ1*
zglob 2 0 90º d2+d2* 0º
zglob 3 -a3 0º 0 θ3*-90º

b)
𝐶𝜃1∗ 0 −𝑆𝜃1∗ 0

𝐶𝜃1∗
𝐻01 = [ 𝑆𝜃1 0 0 ]
0 −1 0 𝑑1
0 0 0 1

1 0 0 0
𝐻12 = [0 0 −1 0 ]
0 1 0 𝑑2 + 𝑑2∗
0 0 0 1

𝑆𝜃3∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗



𝑆𝜃3∗ 0 𝑎3 𝐶𝜃3∗ ]
𝐻23 = [−𝐶𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐


∗ ∗ ∗ ∗
𝑆(𝜃1∗ + 𝜃3∗ ) 𝐶(𝜃1∗ + 𝜃3∗ ) 0 −𝑎3 𝑆(𝜃1 + 𝜃3 ) − (𝑑2 + 𝑑2 )𝑆𝜃1
∗ ∗ ∗ ∗
𝐻03 = [−𝐶(𝜃1 + 𝜃3 ) 𝑆(𝜃1 + 𝜃3 ) 0 𝑎3 𝐶(𝜃1∗ + 𝜃3∗ ) + (𝑑2 + 𝑑2∗ )𝐶𝜃1∗ ]
0 0 1 𝑑1
0 0 0 1
Zadatak 2.10

Novi Sad, 2019.


Za konfiguraciju Ojlerovog zgloba prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a) y1
x2
z0 z1 x3
x1 z2 z3

y2 y3

x0

y0

a α d θ
zglob 1 0 90º d1 θ1*
zglob 2 0 -90º 0 θ2*+90º
zglob 3 0 0º d3 θ3*

b)
𝐶𝜃1∗ 0 𝑆𝜃1∗ 0

𝐻01 = [ 𝑆𝜃1 0 −𝐶𝜃1∗ 0 ]
0 1 0 𝑑1
0 0 0 1

−𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0

𝐻12 = [ 𝐶𝜃2 0 −𝑆𝜃2∗ 0]
0 −1 0 0
0 0 0 1

Novi Sad, 2019.


𝐶𝜃3∗ −𝑆𝜃3∗ 0 0

𝐶𝜃3∗
𝐻23 = [ 𝑆𝜃3 0 0 ]
0 0 1 𝑑3
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

−𝐶𝜃1∗ 𝑆𝜃2∗ 𝐶𝜃3∗ − 𝑆𝜃1∗ 𝑆𝜃3∗ 𝐶𝜃1∗ 𝑆𝜃2∗ 𝑆𝜃3∗ − 𝑆𝜃1∗ 𝐶𝜃3∗ −𝐶𝜃1∗ 𝐶𝜃2∗ −𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗
−𝑆𝜃1∗ 𝑆𝜃2∗ 𝐶𝜃3∗ + 𝐶𝜃1∗ 𝑆𝜃3∗ 𝑆𝜃1∗ 𝑆𝜃2∗ 𝑆𝜃3∗ + 𝐶𝜃1∗ 𝐶𝜃3∗ −𝑆𝜃1∗ 𝐶𝜃2∗ −𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗
𝐻03 = [ ]
𝐶𝜃2∗ 𝐶𝜃3∗ −𝐶𝜃2∗ 𝑆𝜃3∗ −𝑆𝜃2∗ 𝑑1 − 𝑑3 𝑆𝜃2∗
0 0 0 1
Zadatak 2.11
Za robotsku konfiguraciju prikazanu kinematskom shemom na slici:
a. Postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)
z1

z0
x1 z2 z3

x2 x3
y1 y2 y3

x0

y0

a α d θ
zglob 1 -a1 0º d1+d1* 0º

Novi Sad, 2019.


zglob 2 0 -90º 0 θ2*+90º
zglob 3 0 0º d3+d3* 0º

b)
1 0 0 −𝑎1
0
𝐻0 = [0
1 1 0 ]
0 0 1 𝑑1 + 𝑑1∗
0 0 0 1

−𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0

𝐻12 = [ 𝐶𝜃2 0 −𝑆𝜃2∗ 0]
0 −1 0 0
0 0 0 1

1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

−𝑆𝜃2∗ 0 −𝐶𝜃2∗ −𝑎1 − (𝑑3 + 𝑑3∗ )𝐶𝜃2∗



0 −𝑆𝜃2∗ −(𝑑3 + 𝑑3∗ )𝑆𝜃2∗
𝐻03 = [ 𝐶𝜃2 ]
0 −1 0 𝑑1 + 𝑑1∗
0 0 0 1
Zadatak 2.12
Za scara robotsku konfiguraciju:
a. Nacrtati kinematsku šemu, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema
slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)

z1
z0
x2 y2
x1
yNovi
1
Sad, 2019.
z2

y3
a α d θ
zglob 1 -a1 0º d1 θ1*
zglob 2 -a2 180º 0 θ2*
zglob 3 0 0º d3+d3* 0º

b)

𝐶𝜃1∗ −𝑆𝜃1∗ 0 −𝑎1 𝐶𝜃1
𝐻01 = [ 𝑆𝜃1

𝐶𝜃1∗ 0 −𝑎1 𝑆𝜃1∗ ]
0 0 1 𝑑1
0 0 0 1

𝐶𝜃2∗ 𝑆𝜃2∗ 0 −𝑎2 𝐶𝜃2∗



−𝐶𝜃2∗ 0 −𝑎2 𝑆𝜃2∗ ]
𝐻12 = [ 𝑆𝜃2
0 0 −1 0
0 0 0 1

1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐


∗ ∗ ∗
𝐶(𝜃1∗ + 𝜃2∗ ) 𝑆(𝜃1∗ + 𝜃2∗ ) 0 −𝑎1 𝐶𝜃1 − 𝑎2 𝐶(𝜃1 + 𝜃2 )
∗ ∗ ∗ ∗
−𝑎1 𝑆𝜃1∗ − 𝑎2 𝑆(𝜃1∗ + 𝜃2∗ )
𝐻03 = [ 𝑆(𝜃1 + 𝜃2 ) −𝐶(𝜃1 + 𝜃2 ) 0 ]
0 0 −1 𝑑1 − 𝑑3 − 𝑑3∗
0 0 0 1
Zadatak 2.13
Za cilindričnu robotsku konfiguraciju:
a. Nacrtati kinematsku šemu, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema
slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:

Novi Sad, 2019.


a)

z1

z0 y1 z2
z3
x1
x2 y2
x3
y3

y0
x0

a α d θ
zglob 1 0 0º d1 θ1*
zglob 2 0 -90º d2+d2* 0º
zglob 3 0 0º d3+d3* 0º

b)
𝐶𝜃1∗ −𝑆𝜃1∗ 0 0

𝐶𝜃1∗
𝐻01 = [ 𝑆𝜃1 0 0 ]
0 0 1 𝑑1
0 0 0 1

1 0 0 0
𝐻12 = [0 0 1 0 ]
0 −1 0 𝑑2 + 𝑑2∗
0 0 0 1

1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

Novi Sad, 2019.


𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃1∗ 0 −𝑆𝜃1∗ −(𝑑3 + 𝑑3∗ )𝑆𝜃1∗



𝐶𝜃1∗ (𝑑3 + 𝑑3∗ )𝐶𝜃1∗
𝐻03 = [ 𝑆𝜃1 0 ]
0 −1 0 𝑑1 + 𝑑2 + 𝑑2∗ + 𝑑3 + 𝑑3∗
0 0 0 1
Zadatak 2.14
Za sfernu robotsku konfiguraciju:
a. Nacrtati kinematsku šemu, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema
slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)

z0
z1 x3
x2 z2 z3

x1
y2 y1 y3

y0
x0

a α d θ
zglob 1 0 -90º d1 θ1*
zglob 2 0 -90º 0 θ2*-90º
zglob 3 0 0º d3+d3* 0º

b)

Novi Sad, 2019.


𝐶𝜃1∗ 0 −𝑆𝜃1∗ 0

𝐶𝜃1∗
𝐻01 = [ 𝑆𝜃1 0 0 ]
0 −1 0 𝑑1
0 0 0 1

𝑆𝜃2∗ 0 𝐶𝜃2∗ 0

𝐻12 = [−𝐶𝜃2 0 𝑆𝜃2∗ 0]
0 −1 0 0
0 0 0 1

1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃1∗ 𝑆𝜃2∗ 𝑆𝜃1∗ 𝐶𝜃1∗ 𝐶𝜃2∗ (𝑑3 + 𝑑3∗ )𝐶𝜃1∗ 𝐶𝜃2∗


𝑆𝜃 ∗ 𝑆𝜃 ∗ −𝐶𝜃1∗ 𝑆𝜃1∗ 𝐶𝜃2∗ (𝑑3 + 𝑑3∗ )𝑆𝜃1∗ 𝐶𝜃2∗
𝐻03 = [ 1 ∗ 2 ]
𝐶𝜃2 0 −𝑆𝜃2∗ 𝑑1 − (𝑑3 + 𝑑3∗ )𝑆𝜃2∗
0 0 0 1
Zadatak 2.15
Za antropomorfnu robotsku konfiguraciju:
a. Nacrtati kinematsku šemu, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema
slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)

z0
x1 x2 x3

z1 y2 y3
y1
z2 z3

x0

y0

Novi Sad, 2019.


a α d θ
zglob 1 0 -90º d1 θ1*
zglob 2 -a2 0º 0 θ2*
zglob 3 -a3 0º 0 θ3*

b)
𝐶𝜃1∗ 0 −𝑆𝜃1∗ 0

𝐶𝜃1∗
𝐻01 = [ 𝑆𝜃1 0 0 ]
0 −1 0 𝑑1
0 0 0 1

𝐶𝜃2∗ −𝑆𝜃2∗ 0 −𝑎2 𝐶𝜃2∗



𝐶𝜃2∗ 0 −𝑎2 𝑆𝜃2∗ ]
𝐻12 = [ 𝑆𝜃2
0 0 1 0
0 0 0 1

𝐶𝜃3∗ −𝑆𝜃3∗ 0 −𝑎3 𝐶𝜃3∗



𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗ ]
𝐻23 = [ 𝑆𝜃3
0 0 1 0
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐

𝐶𝜃1∗ 𝐶(𝜃2∗ + 𝜃3∗ ) −𝐶𝜃1∗ 𝑆(𝜃2∗ + 𝜃3∗ ) −𝑆𝜃1∗ −𝑎2 𝐶𝜃1∗ 𝐶𝜃2∗ − 𝑎3 𝐶𝜃1∗ 𝐶(𝜃2∗ + 𝜃3∗ )
𝑆𝜃 ∗ 𝐶(𝜃 ∗ + 𝜃 ∗ ) −𝑆𝜃1∗ 𝑆(𝜃2∗ + 𝜃3∗ ) 𝐶𝜃1∗ −𝑎2 𝑆𝜃1∗ 𝐶𝜃2∗ − 𝑎3 𝑆𝜃1∗ 𝐶(𝜃2∗ + 𝜃3∗ )
𝐻03 = [ 1 ∗2 ∗3 ]
−𝑆(𝜃2 + 𝜃3 ) −𝐶(𝜃2∗ + 𝜃3∗ ) 0 𝑑1 + 𝑎2 𝑆𝜃2∗ + 𝑎3 𝑆(𝜃2∗ + 𝜃3∗ )
0 0 0 1
Zadatak 2.16
Za Dekartovu robotsku konfiguraciju:
a. Nacrtati kinematsku šemu, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema
slici odrediti DH parametre.
b. Rešiti direktni kinematski problem i odrеditi poziciju vrhа rоbоtа u оdnоsu nа nulti (bazni)
kооrdinаtni sistеm (u opštim brojevima).

Rešenje:
a)

x1 z0

y2 z1
y1
x2
x0

z2
y0
Novi Sad, 2019.
y3
a α d θ
zglob 1 0 -90º d1+d1* 0º
zglob 2 0 -90º d2+d2* 90º
zglob 3 0 0º d3+d3* 0º

b)
1 0 0 0
𝐻01 = [0 0 1 0 ]
0 −1 0 𝑑1 + 𝑑1∗
0 0 0 1

0 0 −1 0
𝐻12 = [1 0 0 0 ]
0 −1 0 𝑑2 + 𝑑2∗
0 0 0 1

1 0 0 0
𝐻23 = [0 1 0 0 ]
0 0 1 𝑑3 + 𝑑3∗
0 0 0 1

𝑯𝟑𝟎 = 𝑯𝟏𝟎 𝑯𝟐𝟏 𝑯𝟑𝟐



0 0 −1 −𝑑3 − 𝑑3
3 0 −1 0 𝑑2 + 𝑑2∗
𝐻0 = [ ]
−1 0 0 𝑑1 + 𝑑1∗
0 0 0 1
Zadatak 2.17
Za antropomorfnu robotsku konfiguraciju sa Ojlerovim zglobom prikazanu kinematskom shemom na
slici, postaviti koordinatne sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.

Novi Sad, 2019.


Rešenje:
x3
x5
x2
x4 x6
z0
z3 y4 z5 z6

z2 y1 y6
z4
y3 x1 y5

z1
y0
x0

a α d θ
zglob 1 0 90º d1 θ1*
zglob 2 a2 0º 0 θ2*+90º
zglob 3 0 90º 0 θ3*
zglob 4 0 -90º d4 θ4*
zglob 5 0 90º 0 θ5*
zglob 6 0 0º d6 θ6*

Zadatak 2.18
Za C-arm robotsku konfiguraciju prikazanu kinematskom shemom na slici, postaviti koordinatne
sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.

Rešenje:

Novi Sad, 2019.


z4 y5
z1
y4 x5 z5
z0 y1 y3

x1 y2 z2 z3
x2 x3

x4
y0

x0

a α d θ
zglob 1 0 0º d1 θ1*
zglob 2 0 -90º d2+d2* 0º
zglob 3 0 0º d3+d3* 90º
zglob 4 -a4 -90º 0 θ4*
zglob 5 -a5 0º 0 θ5*+90º

Zadatak 2.19
Za kuka DLR robotsku konfiguraciju prikazanu kinematskom shemom na slici, postaviti koordinatne
sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.

Rešenje:

Novi Sad, 2019.


z7
y7
x7

z6

y5 y6
x5 x6

z5 z4
y4
y3
x3 x4
z3 z2

y2
y1
x1 x2

z1 z0 y0
x0

a α d θ
zglob 1 0 90º d1 θ1*
zglob 2 0 -90º 0 θ2*
zglob 3 0 90º d3 θ3*
zglob 4 0 -90º 0 θ4*
zglob 5 0 90º d5 θ5*
zglob 6 0 -90º 0 θ6*
zglob 7 0 0º d7 θ7*

Zadatak 2.20
Za konfiguraciju ljudske ruke prikazanu kinematskom shemom na slici, postaviti koordinatne sisteme u
skladu sa DH konvencijom i prema slici odrediti DH parametre.

Novi Sad, 2019.


Rešenje:
Možemo da primetimo da se dva rotaciona zgloba, u zglobu šake, preklapaju. Kako bi lakše rešili
zadatak, možemo ih odvojiti, tj. pomeriti jedan u odnosu na drugi, s tim da je rastojanje između
zglobova i nakon odvajanja jednako nula.

x0 x1
y1 x2 y2

y0 z0
z1

z2
y4 z3

x3 y3

x4

z4
x5

y5
a6 = 0 z5 x6
z6

y6 x7
z7

y7

a α d θ
zglob 1 0 -90º d1 θ1*
zglob 2 0 -90º 0 θ2*+90º
zglob 3 0 -90º d3 θ3*-90º
zglob 4 0 -90º 0 θ4*
zglob 5 0 90º d5 θ5 +90º
*

zglob 6 -a6 = 0 90º 0 θ6*-90º


zglob 7 -a7 0º 0 θ7*

Zadatak 2.21
Za robotsku konfiguraciju Sawyer ruke prikazanu kinematskom shemom na slici, postaviti koordinatne
sisteme u skladu sa DH konvencijom i prema slici odrediti DH parametre.

Novi Sad, 2019.


Rešenje:

x2 x3 z3 x6
z1
x7
z5
z2 y3
y2 z6 z7
y1
z0 x4 x5 y6
x1 y7
z4 y5
y4

x0

y0

a α d θ
zglob 1 -a1 90º d1 θ1*
zglob 2 0 -90º d2 θ2*+90º
zglob 3 0 90º d3 θ3*
zglob 4 0 -90º -d4 θ4*
zglob 5 0 90º d5 θ5*
zglob 6 0 -90º d6 θ6*
zglob 7 0 0º d7 θ7*

Novi Sad, 2019.


3. Jakobijan
Zadatak 3.1
Izračunati numerički Jakobijan za SCARA konfiguraciju. Date su sledeće homogene transformacije:

Cθ1 Sθ1 0 l1Cθ1 


 
Sθ Cθ1 0 l1Sθ1 
H10   1
0 0 1 d1 
 
 0 0 0 1 
Cθ2 Sθ2 0 l2Cθ2 
 
Sθ -Cθ2 0 l2Sθ2 
H12   2
0 0 -1 0 
 
 0 0 0 1 
1 0 0 0
 
0 1 0 0
H2  
3
0 0 1 d3 
 
0 0 0 1 
C  θ1  θ 2  S  θ1  θ2  0 l1Cθ1  l2 C  θ1  θ2 
 
H0    1 2 
3 S θ θ -C  θ1  θ2  0 l1Sθ1  l2S  θ1  θ2  
0 0 -1 d1 -d3 
 
 0 0 0 1 

Rešenje:

SCARA konfiguracija robota ima 2 rotaciona zgloba i jedan translatorni.

𝑱 = [ 𝑱𝟏 𝑱𝟐 𝑱𝟑 ]

𝒛0 𝑥 𝒓𝐻
0]
𝑱𝟏 = [
𝒛0
0
𝒛0 = [0]
1
𝑙1 𝐶𝜃1 + 𝑙2 𝐶(𝜃1 + 𝜃2 )
𝒓𝐻 3
0 = 𝒓0 = [ 𝑙1 𝑆𝜃1 + 𝑙2 𝑆(𝜃1 + 𝜃2 ) ]
𝑑1 − 𝑑3
𝒊 𝒋 𝒌
𝒛0 𝑥 𝒓𝐻
0 = | 0 0 1 |
𝑙1 𝐶𝜃1 + 𝑙2 𝐶(𝜃1 + 𝜃2 ) 𝑙1 𝑆𝜃1 + 𝑙2 𝑆(𝜃1 + 𝜃2 ) 𝑑1 − 𝑑3

= (−𝑙1 𝐶𝜃1 − 𝑙2 𝐶(𝜃1 + 𝜃2 ))𝒊 + (𝑙1 𝐶𝜃1 + 𝑙2 𝐶(𝜃1 + 𝜃2 ))𝒋

−𝑙1 𝐶𝜃1 − 𝑙2 𝐶(𝜃1 + 𝜃2 )


𝑙1 𝐶𝜃1 + 𝑙2 𝐶(𝜃1 + 𝜃2 )
𝑱𝟏 = 0
0
0
[ 1 ]

Novi Sad, 2019.


𝒛1 𝑥 𝒓1𝐻
𝑱𝟐 = [ ]
𝒛1

0
𝒛1 = [0]
1

𝒓𝐻 𝐻 1
0 = 𝒓1 + 𝒅0

𝒓1𝐻 = 𝒓𝐻 1
0 − 𝒅0

𝑙2 𝐶(𝜃1 + 𝜃2 )
𝒓1𝐻 = [ 𝑙2 𝑆(𝜃1 + 𝜃2 ) ]
𝑑3

𝒊 𝒋 𝒌
𝒛1 𝑥 𝒓1𝐻 = | 0 0 1|
𝑙2 𝐶(𝜃1 + 𝜃2 ) 𝑙2 𝑆(𝜃1 + 𝜃2 ) 𝑑3

= (−𝑙2 𝑆(𝜃1 + 𝜃2 ))𝒊 + (𝑙2 𝐶(𝜃1 + 𝜃2 ))𝒋

−𝑙2 𝑆(𝜃1 + 𝜃2 )
𝑙2 𝐶(𝜃1 + 𝜃2 )
𝑱𝟐 = 0
0
0
[ 1 ]
𝒛2
0
𝑱𝟑 = [ 0 ]
0
0
𝒛2 𝑖𝑧 𝐻02 → 𝒛2 = [ 0 ]
−1
0
0
−1
𝑱𝟑 =
0
0
[0]

−𝑙1 𝐶𝜃1 − 𝑙2 𝐶(𝜃1 + 𝜃2 ) −𝑙2 𝑆(𝜃1 + 𝜃2 ) 0


𝑙1 𝐶𝜃1 + 𝑙2 𝐶(𝜃1 + 𝜃2 ) 𝑙2 𝐶(𝜃1 + 𝜃2 ) 0
0 0 −1
𝑱 =
0 0 0
0 0 0
[ 1 1 0]

Novi Sad, 2019.


Zadatak 3.2
Odrediti Jakobijan i dodatne pogonske momente koji se javljaju u zglobovima cilindričnog manipulatora
ako na vrh robota deluje generalisana sila F=[2 3 1 0 0 2]T i ako je ugao u prvom zglobu π/2, a izduženja
drugog i trećeg zgloba 1m i 0.5m, respektivno.

Odrediti Jakobijan u opštim brojevima, a zadate brojčane vrednosti uvrstiti tek prilikom računanja
pogonskih momenata.

Date su sledeće homogene transformacije:

Cθ1 Sθ1 0 0 1 0 0 0 1 0 0 0 Cθ1 0 Sθ1 d3Sθ1 



Sθ Cθ1 0 0  
0 0 1 0  3 0 1 0 0  3  Sθ1 0 Cθ1 d3Cθ1 
H10   1 H12   H  H0 
 0 0 1 d1  0 -1 0 d 2  2 0 0 1 d3   0 -1 0 d1  d 2 
       
 0 0 0 1  0 0 0 1  0 0 0 1   0 0 0 1 

Rešenje:

Cilindrična konfiguracija robota ima jedan rotacioni zglob i dva translatorna.

𝑱 = [ 𝑱𝟏 𝑱𝟐 𝑱𝟑 ]

𝒛0 𝑥 𝒓𝐻
0]
𝑱𝟏 = [
𝒛0

0
𝒛0 = [0]
1
−𝑑3 𝑆𝜃1
𝒓𝐻
0 = 𝒓3
0 = [ 𝑑3 𝐶𝜃1 ]
𝑑1 + 𝑑2

𝒊 𝒋 𝒌
𝒛0 𝑥 𝒓𝐻
0 = | 0 0 1 |
−𝑑3 𝑆𝜃1 𝑑3 𝐶𝜃1 𝑑1 + 𝑑2

= (−𝑑3 𝐶𝜃1 )𝒊 + (−𝑑3 𝑆𝜃1 )𝒋

−𝑑3 𝐶𝜃1
−𝑑3 𝑆𝜃1
𝑱𝟏 = 0
0
0
[ 1 ]
𝒛2
0
𝑱𝟐 = [ 0 ]
0
0
𝒛1 = [0]
1

Novi Sad, 2019.


0
0
1
𝑱𝟐 =
0
0
[0]

𝒛2
0
𝑱𝟑 = [ 0 ]
0
−𝑆𝜃1
𝒛2 𝑖𝑧 𝐻02 → 𝒛2 = [ 𝐶𝜃1 ]
0
−𝑆𝜃1
𝐶𝜃1
𝑱𝟑 = 0
0
0
[ 0 ]

−𝑑3 𝐶𝜃1 0 −𝑆𝜃1


−𝑑3 𝑆𝜃1 0 𝐶𝜃1
0 1 0
𝑱 =
0 0 0
0 0 0
[ 1 0 0 ]

𝑭 = [2 3 1 0 0 2]𝑇

2 2
−𝑑3 𝐶𝜃1 −𝑑3 𝑆𝜃1 0 0 0 1 3 0 −0,5 0 0 0 1 3 0,5
𝑇 1 1
𝝉=𝑱 ∙𝑭=[ 0 0 1 0 0 0] ∙ = [0 0 1 0 0 0] ∙ = [ 1 ] 𝑁𝑚
0 0
−𝑆𝜃1 𝐶𝜃1 0 0 0 0 0 −1 0 0 0 0 0 0 −2
[2] [2]

Zadatak 3.3
Izračunati numerički Jakobijan za sfernu konfiguraciju.
a) Odrediti komponentu pogonskog momenta  u drugom zglobu manipulatora koja potiče od
tereta mase 5kg, koji manipulator drži.
b) Naći Jakobijan i odrеditi svе singulаrnе tаčkе nа оpsеgu θ1  - π 2 ,π 2  , θ2   -π,π  , d3  0.1,1
. Singulаrnа tаčkа је tаčkа u kојој је dеtеrminаntа dеlа Јаkоbiјаnа vеzаnоg zа linеаrnо krеtаnjе
jednaka 0.
c) Odrediti ugaonu i linearnu brzinu vrha robota pоdlоgu ukоlikо је visinа prvоg sеgmеntа 1.2m ,
ugао u prvоm zglоbu  / 3 , ugао u drugоm zglоbu  / 6 i izdužеnjе trеćеg sеgmеntа је 0.3m .
Brzina u prvom zglobu je 1rad/s, brzina u drugom zglobu -0.5rad/s i poslednji segment se
izdužuje brzinom 0.25m/s.
Date su sledeće homogene transformacije:

Novi Sad, 2019.


Cθ1 0 Sθ1 0
 
Sθ 0 -Cθ1 0
H10   1
0 1 0 d1 
 
 0 0 0 1 
-Sθ2 0 Cθ2 0
 
Cθ 0 Sθ2 0
H12   2
0 1 0 0
 
 0 0 0 1
1 0 0 0
 
0 1 0 0
H32  
0 0 1 d3 
 
0 0 0 1 
-Cθ1Sθ 2 Sθ1 Cθ1Cθ2 d3Cθ1Cθ2 
 
-Sθ Sθ -Cθ1 Sθ1Sθ2 d3Sθ1Cθ2 
H30   1 2
Cθ2 0 Sθ2 d1 +d3Sθ2 
 
 0 0 0 1 

Rešenje:

a)
𝜏2 = 𝑱𝑻𝟐 ∙ 𝑭

𝑚 = 5𝑘𝑔 → 𝑭 = 𝑚 ∙ 𝒈 ≈ 50𝑁

Kada se sila F zapiše u vektorskom obliku, sila se razloži na x, y, i z osu, i svaka od tih osa ima uticaj
momenta sile.

𝐹 = [0 0 −50 0 0 0]𝑇 (sila F deluje samo u pravcu z-ose, ali zbog dejstva gravitacije sila
deluje na dole, i zbog toga stoji predznak – ispred broja 50)

𝒛 𝑥 𝒓𝐻
𝑱2 = [ 1 1 ]
𝒛1

𝑆𝜃1
𝒛1 = [−𝐶𝜃1 ]
0

𝒓𝐻 𝐻 1
0 = 𝒓1 + 𝒅0

𝒓1𝐻 = 𝒓𝐻 1
0 − 𝒅0

𝑑3 𝐶𝜃1 𝐶𝜃2
𝒓1𝐻 = [ 𝑑3 𝑆𝜃1 𝐶𝜃2 ]
𝑑3 𝑆𝜃2

𝒊 𝒋 𝒌
𝒛1 𝑥 𝒓1𝐻 = | 𝑆𝜃1 −𝐶𝜃1 0 |
𝑑3 𝐶𝜃1 𝐶𝜃2 𝑑3 𝑆𝜃1 𝐶𝜃2 𝑑3 𝑆𝜃2

= (−𝑑3 𝑆𝜃2 𝐶𝜃1 )𝒊 + (−𝑑3 𝑆𝜃1 𝑆𝜃2 )𝒋 + (𝑑3 𝐶𝜃2 )𝒌

Novi Sad, 2019.


−𝑑3 𝑆𝜃2 𝐶𝜃1
−𝑑3 𝑆𝜃1 𝑆𝜃2
𝑑3 𝐶𝜃2
𝑱𝟐 =
𝑆𝜃1
−𝐶𝜃1
[ 0 ]

0
0
−50
𝝉𝟐 = 𝑱𝑻𝟐 ∙ 𝑭 = [−𝑑3 𝑆𝜃2 𝐶𝜃1 −𝑑3 𝑆𝜃1 𝑆𝜃2 𝑑3 𝐶𝜃2 𝑆𝜃1 −𝐶𝜃1 0] ∙ = −50𝑑3 𝐶𝜃2 𝑁𝑚
0
0
[ 0 ]
b)
𝑱 = [ 𝑱𝟏 𝑱𝟐 𝑱𝟑 ]

𝒛0 𝑥 𝒓𝐻
0]
𝑱𝟏 = [
𝒛0

0
𝒛0 = [0]
1
𝑑3 𝐶𝜃1 𝐶𝜃2
𝒓𝐻
0 = 𝒓30 = [ 𝑑3 𝑆𝜃1 𝐶𝜃2 ]
𝑑1 + 𝑑3 𝑆𝜃2

𝒊 𝒋 𝒌
𝒛0 𝑥 𝒓𝐻
0 = | 0 0 1 |
𝑑3 𝐶𝜃1 𝐶𝜃2 𝑑3 𝑆𝜃1 𝐶𝜃2 𝑑1 + 𝑑3 𝑆𝜃2

= (−𝑑3 𝑆𝜃1 𝐶𝜃2 )𝒊 + (𝑑3 𝐶𝜃1 𝐶𝜃2 )𝒋

−𝑑3 𝑆𝜃1 𝐶𝜃2


𝑑3 𝐶𝜃1 𝐶𝜃2
𝑱𝟏 = 0
0
0
[ 1 ]

−𝑑3 𝑆𝜃2 𝐶𝜃1


−𝑑3 𝑆𝜃1 𝑆𝜃2
𝑑3 𝐶𝜃2
𝑱𝟐 =
𝑆𝜃1
−𝐶𝜃1
[ 0 ]
𝒛2
0
𝑱𝟑 = [ 0 ]
0

Novi Sad, 2019.


𝐶𝜃1 𝐶𝜃2
𝒛2 𝑖𝑧 𝐻02 → 𝒛2 = [ 𝑆𝜃1 𝐶𝜃2 ]
𝑆𝜃2

𝐶𝜃1 𝐶𝜃2
𝑆𝜃1 𝐶𝜃2
𝑱𝟑 = 𝑆𝜃2
0
0
[ 0 ]

−𝑑3 𝑆𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃2 𝐶𝜃1 𝐶𝜃1 𝐶𝜃2


𝑑3 𝐶𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃1 𝑆𝜃2 𝑆𝜃1 𝐶𝜃2
0 𝑑3 𝐶𝜃2 𝑆𝜃2
𝑱 =
0 𝑆𝜃1 0
0 −𝐶𝜃1 0
[ 1 0 0 ]

−𝑑3 𝑆𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃2 𝐶𝜃1 𝐶𝜃1 𝐶𝜃2


|𝐽𝐿 | = | 𝑑3 𝐶𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃1 𝑆𝜃2 𝑆𝜃1 𝐶𝜃2 | = 𝑑32 𝐶𝜃2 = 0
0 𝑑3 𝐶𝜃2 𝑆𝜃2
𝜋
𝐶𝜃2 = 0 → 𝜃2 = ± 𝑠𝑖𝑛𝑔𝑢𝑙𝑎𝑟𝑖𝑡𝑒𝑡
2

c)

−𝑑3 𝑆𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃2 𝐶𝜃1 𝐶𝜃1 𝐶𝜃2


𝑑3 𝐶𝜃1 𝐶𝜃2 −𝑑3 𝑆𝜃1 𝑆𝜃2 𝑆𝜃1 𝐶𝜃2 𝜃̇1
𝒗̇ 0 𝑑3 𝐶𝜃2 𝑆𝜃
[ ]= 2 ∙ [𝜃̇2 ]
𝒘̇ 0 𝑆𝜃1 0
0 −𝐶𝜃1 0 𝑑̇3
[ 1 0 0 ]

−0,23 −0,075 0,757 −0,00325


0,131 −0,131 0,751 1 0,384
𝒗̇ 0 0,261 0,5 ∙ [−0,5] = 0,0055
[ ]=
𝒘̇ 0 0,5 0 −0,25
0,25
0 −0,87 0 0,435
[ 1 0 0 ] [ 1 ]

−0,00325 −0,25
𝒗̇ = [ 0,384 ] 𝒘̇ = [ 0,435 ]
0,0055 1

Novi Sad, 2019.


Zadatak 3.4
Odrediti Jakobijan za Ojlerov zglob. Date su sledeće homogene transformacije:

𝐶𝜃1∗ 0 𝑆𝜃1∗ 0 −𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0 𝐶𝜃3∗ −𝑆𝜃3∗ 0 0



𝐻01 = [ 𝑆𝜃1 0 −𝐶𝜃1∗ 0 ] 𝐻 2 = [ 𝐶𝜃2∗ 0 −𝑆𝜃2∗ 0 ] 𝐻 3 = [ 𝑆𝜃3∗ 𝐶𝜃3∗ 0 0 ]
0 1 0 𝑑1 1 0 −1 0 0 2 0 0 1 𝑑3
0 0 0 1 0 0 0 1 0 0 0 1

−𝐶𝜃1∗ 𝑆𝜃2∗ 𝐶𝜃3∗ − 𝑆𝜃1∗ 𝑆𝜃3∗ 𝐶𝜃1∗ 𝑆𝜃2∗ 𝑆𝜃3∗ − 𝑆𝜃1∗ 𝐶𝜃3∗ −𝐶𝜃1∗ 𝐶𝜃2∗ −𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗
−𝑆𝜃1∗ 𝑆𝜃2∗ 𝐶𝜃3∗ + 𝐶𝜃1∗ 𝑆𝜃3∗ 𝑆𝜃1∗ 𝑆𝜃2∗ 𝑆𝜃3∗ + 𝐶𝜃1∗ 𝐶𝜃3∗ −𝑆𝜃1∗ 𝐶𝜃2∗ −𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗
𝐻03 = [ ]
𝐶𝜃2∗ 𝐶𝜃3∗ −𝐶𝜃2∗ 𝑆𝜃3∗ −𝑆𝜃2∗ 𝑑1 − 𝑑3 𝑆𝜃2∗
0 0 0 1
Kinematska šema Ojlerovog zgloba je data na slici:

y1
x2
z0 z1 x3
x1 z2 z3

y2 y3

x0

y0
Rešenje:
𝑧0 × 𝑟0,3
𝐽1 = [ 𝑧0 ]

0
𝑧0 = [0]
1

−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗ →𝐴1


𝑟0,3 = [ −𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗ ] →𝐵1
𝑑1 − 𝑑3 𝑆𝜃2∗ → 𝐶1

𝑖 𝑗 𝑘 −𝐵1 𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗


𝑧0 × 𝑟0,3 =|0 0 1 | = −𝐵1 𝑖 + 𝐴1 𝑗 + 0𝑘 = [ 𝐴1 ] = [−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗ ]
𝐴1 𝐵1 𝐶1 0 0

Novi Sad, 2019.


𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗
−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗
𝐽1 = 0
0
0
[ 1 ]

𝑧 ×𝑟
𝐽2 = [ 1 𝑧 1,3 ]
1

𝑆𝜃1∗
𝑧1 = [−𝐶𝜃1∗ ]
0
0
𝑑01 =[0]
𝑑1

−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗ →𝐴2


0
𝑟1,3 = 𝑟0,3 − 𝑑01 = [ −𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗ ] →𝐵2
−𝑑3 𝑆𝜃2∗ → 𝐶2

𝑖 𝑗 𝑘
0
𝑧1 × 𝑟1,3 = |𝑆𝜃1∗ −𝐶𝜃1∗ 0 | = −𝐶2 𝐶𝜃1∗ 𝑖 − 𝐶2 𝑆𝜃1∗ 𝑗 + (𝐵2 𝑆𝜃1∗ + 𝐴2 𝐶𝜃1∗ )𝑘
𝐴2 𝐵2 𝐶2
−𝐶2 𝐶𝜃1∗ 𝑑3 𝐶𝜃1∗ 𝑆𝜃2∗
=[ −𝐶2 𝑆𝜃1∗ ] = [ 𝑑3 𝑆𝜃1∗ 𝑆𝜃2∗ ]
𝐵2 𝑆𝜃1∗ + 𝐴2 𝐶𝜃1∗ −𝑑3 𝐶𝜃2∗

𝑑3 𝐶𝜃1∗ 𝑆𝜃2∗
𝑑3 𝑆𝜃1∗ 𝑆𝜃2∗
−𝑑3 𝐶𝜃2∗
𝐽2 =
𝑆𝜃1∗
−𝐶𝜃1∗
[ 0 ]

𝑧2 × 𝑟2,3
𝐽3 = [ 𝑧2 ]

𝐶𝜃1∗ 0 𝑆𝜃1∗ 0 −𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0


∗ ∗ ∗
𝐻02 = 𝐻01 𝐻12 = [ 𝑆𝜃1 0 −𝐶𝜃1 0 ] [ 𝐶𝜃2 0 −𝑆𝜃2∗ 0]
0 1 0 𝑑1 0 −1 0 0
0 0 0 1 0 0 0 1
−𝐶𝜃1∗ 𝑆𝜃2∗ −𝑆𝜃1∗ −𝐶𝜃1∗ 𝐶𝜃2∗ 0
−𝑆𝜃1∗ 𝑆𝜃2∗ 𝐶𝜃1∗ −𝑆𝜃1∗ 𝐶𝜃2∗ 0
=[ ]
𝐶𝜃2∗ 0 −𝑆𝜃2∗ 𝑑1
0 0 0 1

Novi Sad, 2019.


−𝐶𝜃1∗ 𝐶𝜃2∗
𝑧2 = [ −𝑆𝜃1∗ 𝑆𝜃2∗ ]
−𝑆𝜃2∗

0
𝑑02 = [ 0 ]
𝑑1

−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗ →𝐴3 𝑖 𝑗 𝑘


0
𝑟2,3 = 𝑟0,3 − 𝑑02 = [ −𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗ ] →𝐵3 𝑧2 × 𝑟2,3
0
= |−𝐶𝜃1∗ 𝐶𝜃2∗ −𝑆𝜃1∗ 𝑆𝜃2∗ −𝑆𝜃2∗ |
−𝑑3 𝑆𝜃2∗ → 𝐶3 𝐴3 𝐵3 𝐶3
= (−𝐶3 𝑆𝜃1 𝐶𝜃2 + 𝐵3 𝑆𝜃2 )𝑖 − (−𝐶3 𝐶𝜃1 𝐶𝜃2 + 𝐴3 𝑆𝜃2 )𝑗 + (−𝐵3 𝐶𝜃1∗ 𝐶𝜃2∗
∗ ∗ ∗ ∗ ∗ ∗

−𝐶3 𝑆𝜃1∗ 𝐶𝜃2∗ + 𝐵3 𝑆𝜃2∗ 0


+ 𝐴3 𝑆𝜃1∗ 𝐶𝜃2∗ )𝑘 = [ 𝐶3 𝐶𝜃1∗ 𝐶𝜃2∗ − 𝐴3 𝑆𝜃2∗ ] = [0]
−𝐵3 𝐶𝜃1∗ 𝐶𝜃2∗ + 𝐴3 𝑆𝜃1∗ 𝐶𝜃2∗ 0

0
0
0
𝐽3 = −𝐶𝜃 ∗ 𝐶𝜃 ∗
1 2
−𝑆𝜃1∗ 𝑆𝜃2∗
[ −𝑆𝜃2∗ ]

𝑑3 𝑆𝜃1∗ 𝐶𝜃2∗ 𝑑3 𝐶𝜃1∗ 𝑆𝜃2∗ 0


−𝑑3 𝐶𝜃1∗ 𝐶𝜃2∗ 𝑑3 𝑆𝜃1∗ 𝑆𝜃2∗ 0
0 −𝑑3 𝐶𝜃2∗ 0
𝐽 = [𝐽1 𝐽2 𝐽3 ] = −𝐶𝜃1∗ 𝐶𝜃2∗
0 𝑆𝜃1∗
0 −𝐶𝜃1∗ −𝑆𝜃1∗ 𝑆𝜃2∗
[ 1 0 −𝑆𝜃2∗ ]

Zadatak 3.5
Odrediti Jakobijan za robotsku konfiguraciju sa slike. Date su sledeće homogene transformacije:

1 0 0 −𝑎1 −𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0 1 0 0 0


0 𝐶𝜃2∗ 0 −𝑆𝜃2∗ 0
𝐻01 = [0 1 0 2
∗ ] 𝐻1 = [
0 ] 𝐻 3 = [0 1 0 ]
0 0 1 𝑑1 + 𝑑1 0 −1 0 0 2 0 0 1 𝑑3 + 𝑑3∗
0 0 0 1 0 0 0 1 0 0 0 1

−𝑆𝜃2∗ 0 −𝐶𝜃2∗ −𝑎1 − (𝑑3 + 𝑑3∗ )𝐶𝜃2∗



0 −𝑆𝜃2∗ −(𝑑3 + 𝑑3∗ )𝑆𝜃2∗
𝐻03 = [ 𝐶𝜃2 ]
0 −1 0 𝑑1 + 𝑑1∗
0 0 0 1
Kinematska šema manipulatora je data na slici:

z1

z0
x1 z2 z3

x2 x3
y1 y2 Sad, 2019.
Novi y3
Rešenje:
𝑧0
0
𝐽1 = [ ]
0
0
0
𝑧0 = [0]
1
0
0
1
𝐽1 = 0
0
[0]

𝑧 ×𝑟
𝐽2 = [ 1 𝑧 1,3 ]
1

0
𝑧1 = [0]
1
−𝑎1
𝑑01 =[ 0 ]
𝑑1 + 𝑑1∗

−𝑎1 − (𝑑3 + 𝑑3∗ )𝐶𝜃2∗ −𝑎1 −(𝑑3 + 𝑑3∗ )𝐶𝜃2∗ →𝐴


0 ∗ ∗
𝑟1,3 = 𝑟0,3 − 𝑑01 = [ −(𝑑3 + 𝑑3 )𝑆𝜃2 ] − [ 0 ] = [ −(𝑑3 + 𝑑3∗ )𝑆𝜃2∗ ] →𝐵
𝑑1 + 𝑑1∗ 𝑑1 + 𝑑1∗ 0 →𝐶

𝑖 𝑗 𝑘 −𝐵 (𝑑3 + 𝑑3∗ )𝑆𝜃2∗


0
𝑧1 × 𝑟1,3 = |0 0 1 | = −𝐵𝑖 + 𝐴𝑗 + 0𝑘 = [ 𝐴 ] = [−(𝑑3 + 𝑑3∗ )𝐶𝜃2∗ ]
𝐴 𝐵 𝐶 0 0

Novi Sad, 2019.


(𝑑3 + 𝑑3∗ )𝑆𝜃2∗
−(𝑑3 + 𝑑3∗ )𝐶𝜃2∗
𝐽2 = 0
0
0
[ 1 ]
𝑧2
0
𝐽3 = [ ]
0
0

1 0 0 −𝑎1 −𝑆𝜃2∗ 0 −𝐶𝜃2∗ 0


0 𝐶𝜃2∗ 0 −𝑆𝜃2∗
𝐻0 = 𝐻0 𝐻1 = [0
2 1 2 1 0
∗ ][
𝑑1 + 𝑑1
0]
0 0 1 0 −1 0 0
0 0 0 1 0 0 0 1
−𝑆𝜃2∗ 0 −𝐶𝜃2∗ −𝑎1

= [ 𝐶𝜃2 0 −𝑆𝜃2∗ 0
0 −1 0 𝑑1 + 𝑑1∗ ]
0 0 0 1

−𝐶𝜃2∗
𝑧2 = [ −𝑆𝜃2∗ ]
0

−𝐶𝜃2∗
−𝑆𝜃2∗
𝐽3 = 0
0
0
[ 0 ]

0 (𝑑3 + 𝑑3∗ )𝑆𝜃2∗ −𝐶𝜃2∗


0 −(𝑑3 + 𝑑3∗ )𝐶𝜃2∗ −𝑆𝜃2∗
𝐽 = [𝐽1 𝐽2 𝐽3 ] = 1 0 0
0 0 0
0 0 0
[0 1 0 ]
Zadatak 3.6:
Na slici je prikazana kinematska šema robotskog manipulatora i dato je rešenje direktnog kinematskog
problema.
a) Odrediti geometrijski Jakobijan u opštim brojevima.
b) Odrediti pogonske momente u zglobovima koji su potrebni da bi se uravnotežila generalisana
sila F=[2 3 1 0 0 2]T koja deluje na vrh manipulatora, ako se robot nalazi u sledećoj konfiguraciji:
q1=π/2rad, d2=0.5m i q3=π/6rad, pri čemu ćemo uvesti pretpostavku da robot miruje u stanju
ravnoteže i zanemarićemo gravitaciono opterećenje. Visina stuba d1=1m, a dužine segmenata
su a2=0,5m i a3=0,5m.
c) Odrediti odgovarajući analitički Jakobijan, za slučaj da je orijentacija zadata preko „roll, pitch
i jaw“ uglova, pri čemu brzine rotacije predstavljaju izvode ovih uglova.

Novi Sad, 2019.


C 1  S 1 0 0  1 0 0 a2  C 3  S 3 0 a3C 3 
 S 
C 1 0 0  2 0 0 1 0    S C 3 0 a3 S 3 
H10   1 , H1  , H32   3 ,
 0 0 1 d1  0 1 0 d 2   0 0 1 0 
     
 0 0 0 1 0 0 0 1   0 0 0 1 
C 1 0 S 1 a2C 1 
 S  0 C  a2 S 1 
H 02   1 1
,
 0 1 0 d1  d 2 
 
 0 0 0 1 
C 1C 3 C 1S 3 S 1  a3C 1C 3  a2C 1  
 
S  C   S 1S 3 C 1  a3 S 1C 3  a2 S 1  
H 30   1 3
 S 3 C 3 0 a3 S 3  d1  d 2 
 
 0 0 0 1 

Kinematska šema manipulatora je data na slici:

Rešenje:
a)
Jakobijan posmatranog manipulatora ćemo odrediti tako što ćemo analizirati uticaj, tj. doprinos brzine
u svakom pojedinačnom zglobu robota, komponentama linearne i ugaone brzine vrha robota. Doprinos
svakog pojedinačnog zgloba će biti opisan 6-komponentni vektorom i predstavljaće po jednu kolonu
matrice Jakobijana. Analizu ćemo vršiti od baze ka vrhu robota.

VAŽNA NAPOMENA: Svi elementi Jakobijana moraju biti izraženi u nultom, baznom koordinatnom
sistemu.

Posmatrajmo prvi zglob manipulatora i uticaj njegovog kretanja na linearnu i ugaonu brzinu vrha
manipulatora. Kada se prvi zglob rotira, svi elementi kinematskog lanca koji se nalaze posle zgloba,
posmatraju se kao jedno kruto telo, koje rotira oko ose zgloba z0 brzinom 1* . Pošto je ugaona brzina ω
globalno svojstvo (globalni kinematski atribut) krutog tela, to znači da sve tačke krutog tela imaju istu
ugaonu brzinu. Usled toga ugaona brzina vrha (TCP-a) je identična kao brzina rotacije zgloba, tj.
ω  z 0 1* . Sa slike 1 vidimo da se vrh robota zapravo kreće po kružnici radiusa r=a2+a3, pri čemu linearna
brzina vrha leži u pravcu tangente na kružnicu. Pravac te tangente je određen vektorskim proizvodom
z 0  r0 ,3 . Dakle, linearna brzina vrha, usled rotacije u prvom zglobu, biće jednaka v   z 0  r0 ,3  1* .
a2+ a3
z0 z0 × r0,3

r0,3

Novi Sad, 2019.


Slika 1. Ilustracija uticaja rotacionog zgloba (zglob 1) na ugaonu i linearnu brzinu vrha robota.

Na osnovu iznete analize dolazimo do sledeće formule za Jakobijan rotacionog zgloba:

z  r 
J1   0 0 ,3  , (1)
 z0 

Jedinični vektor ose z0 izražen u sopstvenom koordinatnom sistemu k.s.0 se trivijalno određuje, pošto
je ortogonalan na ose x0 i y0 i celom dužinom leži na z0 osi. Vektor r0,3, koji predstavlja krak rotacije,
jeste vektor translacije od koordinatnog početka O0 do koordinatnog početka O3, koji označavamo sa
d30 i koji se nalazi u četvrtoj koloni homogene transformaije H30 .

0   a3C 1C 3  a2C1   a


z 0  0 ,r0 ,3  d30   a3 S 1C3  a2 S 1   b , (2)
1   a3 S 3  d1  d 2   c

Kao što smo napomenuli, vektorski proizvod z 0  r0 ,3 određuje pravac linearne brzine vrha duž tangente
na kružnicu po kojoj se kreće vrh robota. Rezultat vektorskog proizvoda je novi vektor koji je upravan
na ravan koju grade vektori z0 i r0,3. Njegov smer možemo odrediti prema pravilu desne ruke. Traženi
vektorski proizvod dat je sledećim izrazom:

i j k
z 0  r0 ,3  0 0 1  aj  bi   a3C 1C 3  a2C 1  j   a3 S 1C3  a2 S 1  i ,(3)
a b c
Prva kolona Jakobijana, koja opisuje doprinos prvog zgloba biće:

 a3 S 1C 3  a2 S 1 
 a C C  a C 
 3 1 3 2 1 
 0 
J1    , (4)
 0 
 0 
 
 1 

Analizirajmo sada doprinos drugog zgloba, koji je translatorni, linearnoj i ugaonoj brzini vrha. Kao što
smo već pomenuli, prilikom translacije drugog zgloba, svi elementi kinematskog lanca koji se nalaze
posle zgloba, kreću se kao jedno kruto telo. Pošto se prilikom translacije zgloba uopšte ne menja
orijentacija vrha robota, doprinos ugaonoj brzini vrha je nula, što se može zapisati kao ω  03 x1 d 2* .
Prilikom izvlačenja i uvlačenja zgloba dolazi do translacije vrha robota u pravcu ose translatornog
zgloba, pri čemu intenzitet linearne brzine vrha odgovara brzini izvlačenja zgloba. To možemo zapisati
kao v  z1d 2* .

z1
z1d2*

d2*

Novi Sad, 2019.


Slika 2. Ilustracija uticaja translatornog zgloba (zglob 2) na ugaonu i linearnu brzinu vrha robota.

Na osnovu iznete analize dolazimo do sledeće formule za Jakobijan translatornog zgloba:

 z1 
0
J 2    , (5)
0
 
0

0 
z1  0  , (6)
1 

0 
0 
 
1 
J 2    , (7)
0 
0 
 
0 

Treći zglob, posmatrano od baze, jeste rotacioni usled čega primenjujemo sledeću formulu:

z  r 
J 3   2 2 ,3  , (8)
 z2 

Potreban nam je jedinični vektor ose z2 izražen u nultom, baznom koordinatnom sistemu. Veza između
nultog u drugog koordinatnog sistema data je homogenom transformacijom H 02 . Treća kolona u matrici
rotacije R 02 sadrži projekcije ose z2 na ose koordinatnog sistema k.s.0.

 S 1 
z 2   C 1  , (9)
 0 

Vektor translacije od koordinatnog početka 2 do koordinatnog početka 3 označavamo sa d32 i on je dat


u četvrtoj koloni homogene transformacije H32 . Međutim, ovaj vektor je izražen u koordinatnom sistemu
2, a mi smo napomenuli da svi elementi Jakobijana moraju biti svedeni na koordinatni sistem nula, što
možemo uraditi na sledeć način:

r20,3  R 02d32 ,(10)

pri čemu matricu rotacije R 02 možemo izdvojiti iz homogene transformacije H 02 . Drugi, jednostavniji
način, da se odredi r20,3 je ilustrovan na slici 3. Uočimo trougao koji formiraju vektori naznačeni na slici.
Vidimo da se traženi vektor može odrediti primenom paralelogramskog pravila za sabiranje vektora, pri
čemu je važno voditi računa da se mogu sabirati/oduzimati samo oni vektori koji su izraženi u istom
koordinatnom sistemu, što ovde jeste slučaj.

Novi Sad, 2019.


d23

d02
r2,30

Slika . Ilustracija metode za određivanje vektora trsnlacije r20,3 .

 a3C 1C 3   A
r20,3  r0 ,3  d02   a3 S 1C 3   B ,(10)
 a3 S 3   C

Komponenta linearne brzine vrha, koja potiče od rotacije u trećem zglobu, jeste vektor koji leži duž
tangente na kružnicu po kojoj se vrh kreće, a koja je određena sledećim vektorskim proizvodom:

i j k
z 2  r20,3  S 1 C 1 0  CC 1i  BS 1k  AC 1k  CS 1 j 
A B C
 a3 S 3C 1i  a3 S 3 S 1 j  a3 S 1C 3 S 1k  a3C 1C 3C 1k 


 a3 S 3C 1i  a3 S 3 S 1 j  a3 S 2 1C 3  a3C 2 1C 3 k   ,(10)


 a3 S 3C 1i  a3 S 3 S 1 j  a3C 3 S 2 1  C 2 1 k  
1
 a3 S 3C 1i  a3 S 3 S 1 j  a3C 3k

Dakle, Jakobijan za treći zglob dat je sledećim izrazom:

  a3 S 3C 1 
 a S  S  
 3 3 1
 a3C 3 
J3    , (11)
 S 1 
 C 1 
 
 0 

Kompletni Jakobijan za posmatrani robotski manipulator dat je sledećom matricom:

 a3 S 1C 3  a2 S 1  0 a3 S 3C 1 


 
  a3C 1C 3  a2C 1  0 a3 S 3 S 1 
 0 1 a3C 3 
J  , (12)
 0 0 S 1 
 0 0 C 1 
 
 1 0 0 
b)

Novi Sad, 2019.


Kako bi se odredili pogonski momenti u zglobovima robota, koji su potrebni da kompenzuju eksternu
generalisanu silu koja deluje na vrh robota, korsti se jednačina statike, izvedena iz principa virtuelnog
rada. Ova relacija uspostavlja vezu između n-dimenzionog prostora momenata u zglobovima
manipulatora i m-dimenzionog prostora generalisane sile koja deluje na vrh manipulatora. Podsećamo
da je n broj stepeni slobode robota, dok je m dimenzija operacionog prostora. Linearno preslikavanje
koje preslikava prostor sila na vrhu u prostor odgovarajućih momenata u zglobovima dato je u vidu
transponovanog Jakobijana i iskazano je sledećom jednačinom:

τ  JT F , (13)

Nakon uvrštavanja konkretnih vrednosti za unutrašnje koordinate manipulatora i generalisanu silu na


vrhu dolazimo do konačnih vrednosti potrebnih pogonskih momenata.

 1       1     1      
  S   C    S    0  S   C  
 2  2   6  2  2   2  6   2 
  1       1    1      
  C  C    C   0  S   S   2
  2  2   6  2  2  2  6   2  3
   
 1   1 
0 1 C 
J 2 6 , F    , (14)
  0
   0
0 0 S 
 2   
   2 
  
 0 0 C   
2
 
 1 0 0 

 2  3 
 0 0 
 4 
 1  2  3 
 0 0    0 0 0 0 1
 4  4 
J 3  J   0
T
0 1 0 0 0  , (15)
 0 1   
4   0
 1 0 0
1 3

 0 0 1   4 4 
 0 0 0 
 
 1 0 0 

2
 2  3     2  3   2 3 
 0 0 0 0 1  3   2  
 4  1   2   2 
τ 0 0 1 0 0 0     1    1  Nm , (16)
  0    
 0 1 3     3 3   3  3 
 1 0 0 0  
 4 4     4 4   4 
 2 

Zadatak 3.7:
Na slici je prikazana kinematska šema ravanskog robotskog manipulatora i dato je rešenje direktnog
kinematskog problema.
a) Odrediti geometrijski Jakobijan u opštim brojevima.
b) Odrediti sve singularne konfiguracije manipulatora.

Novi Sad, 2019.


z2 z3
z0
z1 x3

x1 y2
y1 x2 y3

y0
x0

𝐶𝜃1∗ 0 −𝑆𝜃1∗ 0 1 0 0 0
𝑆𝜃 ∗ 0 𝐶𝜃1∗ 0 ] 𝐻 2 = [0 0 −1 0
𝐻01 = [ 1 ]
0 −1 0 𝑑1 1 0 1 0 𝑑2 + 𝑑2∗
0 0 0 1 0 0 0 1

𝑆𝜃3∗ 𝐶𝜃3∗ 0 −𝑎3 𝑆𝜃3∗


−𝐶𝜃3∗ 𝑆𝜃3∗ 0 𝑎3 𝐶𝜃3∗
𝐻23 = [ ]
0 0 1 0
0 0 0 1

𝑆(𝜃1∗ + 𝜃3∗ ) 𝐶(𝜃1∗ + 𝜃3∗ ) 0 −𝑎3 𝑆(𝜃1∗ + 𝜃3∗ ) − (𝑑2 + 𝑑2∗ )𝑆𝜃1∗
−𝐶(𝜃1∗ + 𝜃3∗ ) 𝑆(𝜃1∗ + 𝜃3∗ ) 0 𝑎3 𝐶(𝜃1∗ + 𝜃3∗ ) + (𝑑2 + 𝑑2∗ )𝐶𝜃1∗
𝐻03 = [ ]
0 0 1 𝑑1
0 0 0 1

Rešenje:
a)
Prvi zglob, posmatrano od baze, jeste rotacioni zglob usled čega primenjujemo sledeću formulu:

z  r 
J1   0 0 ,3  , (1)
 z0 

Potrebno je odrediti jedinični vektor ose z0, kao i vektor translacije od baze do vrha robota, pri čemu je
važno da oba vektora budu izražena u baznom koordinatnom sistemu. Vektor translacije d30 nalazimo u
četvrtoj koloni homogene transformacije H30 .

0
   
 a S 1*  *3  d 2  d 2* S 1* 
 3  a
  

* *
  *

* 
z 0  0 ,r0 ,3  d0   a3C 1  3  d 2  d 2 C 1   b , (2)
3

1   d1 c
 

Vektorski proizvod vektora z0 i r0 ,3 određuje pravac komponente linearne brzine vrha, koja nastaje
usled rotacije prvog zgloba.

Novi Sad, 2019.


i j k
z 0  r0 ,3            
 0 0 1  aj  bi  a3 S 1*  *3  d 2  d 2* S 1* j  a3C 1*  *3  d 2  d 2* C 1* i ,(3)
a b c
Konačno, Jakobijan za prvi zglob je dat sledećim izrazom:

  
  a C *  *
3 1 3   d 2  
 d 2* C 1* 

 * 

 a3 S 1  3
* *
  d 
2  d 2 S 1 
*

 
J1   0  , (4)
 0 
 
 0 
 
 1 

Pošto je drugi zglob translatorni, primenjujemo sledeću formulu:

 z1 
0
J 2    , (5)
0
 
0

Jedinični vektor ose z1, izražen u baznom koordinatnom sistemu, dat je u trećoj koloni homogene
transformacije H10 .

  S 1* 
 
z1   C 1*  , (6)
 
 0 
Druga kolona Jakobijana, koja opisuje doprinos translacije u drugom zglobu, linearnoj i ugaonoj brzini
vrha, data je sledećim izrazom:
  S 1* 
 *
 C 1 
 
0 
J2   , (7)
 0 
 
 0 
 0 

Treći zglob je rotacioni, pa još jednom primenjujemo formulu za Jakobijan rotacionog zgloba.

z  r 
J 3   2 2 ,3  , (8)
 z2 

Jedinični vektor ose z2, izražen u baznom, nultom koordinatnom sistemu, dat je u trećoj koloni
homogene transformacije H 02 . Pošto je sa slike očigledno da su ose z0 i z2 paralelne i jednako usmerene,
možemo lako zaključiti da su njihovi jedinični vektori, svedeni na bazni koordinatni sistem, isti.

0
z 2   0  ,(9)
1 

Novi Sad, 2019.


Vektor translacije od koordinatnog početka O2 do koordinatnog početka O3, izražen u nultom
koordinatnom sistemu može se odrediti na sledeći način:


 a3 S 1*  *3

  A
r20,3 
 r0 ,3  d02   a3C 1*  *3    B , (10)
 0  C
 

Sve komponente u prethodnom izrazu su poznate. Vektor r0 ,3 smo već odredili u jednačini (2), dok se
vektor translacije d 02 može izvući iz četvrte kolone homogene transformacije H 02 .


  d 2  d 2* S 1* 
 

 
d02   d 2  d 2* C 1*  ,(11)
 d1 
 

Nakon što odredimo njihov vektorski proizvod dobijamo treću kolonu Jakobijana, koja opisuje doprinos
rotacije u trećem zglobu, brzini vrha manipulatora.
i j k
z 2  r2 ,3 
 0 0 1   Bi  Aj  0k  a3C 1*  *3 i  a3 S 1*  *3 j ,(12)   
A B C

  a3C

*
1  *3 


 a S
 3 *
1  * 
3  
J 3   0  , (13)

 0 
 
 0 
 1 

Konačno, ukupan Jakobijan za prikazani ravanski manipulator sa tri stepena slobode, predstavljen je
sledećom matricom:

 3  
  a C *  *
1 3   d 2  
 d 2* C 1*  S 1* 
a3C 1*  *3 
 
 * 
*

 a3 S 1  3
*
  d 2  d 2*  S *
1 C 1* 
a3 S 1  3 
*

 
J 0 0 0  , (14)
 0 0 0 
 
 0 0 0 
 
 1 0 1 

b)
Vidimo da u matrici Jakobijana figurišu tri vrste čiji su svi elementi jednaki nuli. Iz izraza (15) vidimo
da brzine u zglobovima robota nemaju nikakvog uticaja na određene komponente brzine vrha robota,
(vz, ωx, i ωy), što je i očekivano pošto je u pitanju ravanski manipulator čiji vrh usled ograničenja ne
može da se pomeri u svim prostornim pravcima. Zapravo, dimenzija operacionog prostora ovog
manipulatora je 3, pošto nam je dovoljno 2 promenljive da opišemo poziciju vrha i još jedna da opišemo
njegovu orijentaciju u ravni. Iz tog razloga, možemo posmatrati redukovani Jakobijan koji odgovara
operacionom prostoru datog manipulatora i koji je dat izrazom (16).

Novi Sad, 2019.



 
 vx    a3C 1  3
v  
* *
  d 2  
 d 2* C 1*  S 1* 
 a3C 1*  *3 


 y   a3 S 1*  *3
v  
   d 2  d 2*  S *
1 C 1*  
 a3 S 1*  *3   1* 
 *
 z  0 0 0   d 2  , (15)
 x     * 
   0 0 0
  1 
 y  0 0 0 
 z   
 1 0 1 

Dimenzija redukovanog Jakobijana je 3x3, što znači da je on kvadratna matrica.

  
 a3C 1*  *3  d 2  d 2* C 1*

  S 1* 
a3C 1*  *3 


J redukovano   
  a3 S 1*  *3  d 2  d 2* S 1*  C 1*  * 

a3 S 1  3  , (16)
*

 1 0 1 
 

Iz linearne algebre je poznato da za kvadratnu matricu kažemo da je singularna ukoliko je njena


determinanta jednaka nuli. Na osnovu toga, kako bismo odredili singularne konfiguracije posmatranog
manipulatora, potrebno je izračunati determinantu redukovanog Jakobijana i izjednačiti je sa nulom,
čime se dobija jednačina po unutrašnjim koordinatama robota. Rešavanjem ove jednačine mogu se
odrediti sve singularne konfiguracije svojstvene ovom manipulatoru.

J redukovano  0 ,(17)

  
a3C 1*  *3  d 2  d 2* C 1*   S 1* 
a3C 1*  *3 
J redukovano  a S   3
*
1     d
*
3 2  d2
*
 S *
1 C 1* a S  
3
*
1  *3 
1 0 1

       
 a3C 1*  *3 C 1*  d 2  d 2* C 2 1*  a3 S 1*  *3 S 1*  a3C 1*  *3 C 1*  a3 S 1*  *3 S 1*  d 2  d 2* S 21*     

  d 2  d 2* 
, (18)

 
 d 2  d 2*  0  d 2*   d 2 ,(19)

Unutrašnja koordinata d 2* predstavlja izduženje u drugom zglobu robota. Pošto izduženje ne može biti
negativno, sledi da prikazani manipulator nema nijednu singularnu konfiguraciju. Kao što vidimo iz
(19), kada bi bilo ispunjeno d 2*  d 2 , tada bi se ose prvog i trećeg zgloba poklopile, što bi
predstavljalo singularnu konfiguraciju.

Zadatak 3.8:
Opisati postupak za izračunavanje numeričkog Jakobijan za robotsku konfiguraciju sa slike. Napisati
formulu za Jakobijan svakog pojedinačnog zgloba. Za svaki član unutar formula objasniti kako se on
računa.

Novi Sad, 2019.


Zadatak 3.9:
Opisati postupak za izračunavanje numeričkog Jakobijan za robotsku konfiguraciju sa slike. Napisati
formulu za Jakobijan svakog pojedinačnog zgloba. Za svaki član unutar formula objasniti kako se on
računa

a) b)

Zadatak 3.10:
Opisati postupak za izračunavanje numeričkog Jakobijan za robotsku konfiguraciju sa slike. Napisati
formulu za Jakobijan svakog pojedinačnog zgloba. Za svaki član unutar formula objasniti kako se on
računa.

Zadatak 3.11:
Opisati postupak za izračunavanje numeričkog Jakobijan za robotsku konfiguraciju sa slike. Napisati
formulu za Jakobijan svakog pojedinačnog zgloba. Za svaki član unutar formula objasniti kako se on
računa.

Novi Sad, 2019.


Novi Sad, 2019.
4. Inverzna kinematika

Zadatak 4.1
Zа robotsku kоnfigurаciјu sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

a1 d3 d3 *

 S 2* 0 C 2* a1   d 3  d 3*  C 2* 
 
 C 2*
H0  
3 0 S 2*  d3  d3*  S 2*  d1*
 0 1 0 d1  d1* 
 
 0 0 0 1 

d1

Оdrеditi svа rеšеnjа za unutrašnje koordinate (d1*, θ2*, d3*) nа оpsеgu  2*    ,  аkо je a1=0.5m,
d1=0.2m i d3=0.2m, a rоbоt trеbа dа dоstignе pоziciјu vrha (x=1.1, y=0.3, z=0.75).

Zadatak 4.2
Zа robotsku kоnfigurаciјu sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

d2 d2* a3

  S *3 C *3 0 a3 S *3 


 
H 30  C 3 S *3 a3C *3  d 2  d 2* 
*
0 d1 *
=   d3
 0 0 1 d1  d1*  d3 
 0 
 0 0 1 
d1

Оdrеditi svа rеšеnjа za unutrašnje koordinate (d1*, d2*, θ3*) nа оpsеgu 3*    ,  аkо je a3=0.3m,
d1=0.5m, d2=0.3m i d3=0.3m, a rоbоt trеbа dа dоstignе pоziciјu vrha (x= -0.3, y=1, z=0.75).

Zadatak 4.3
Zа Ojlerov zglob rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

 c*1 s*2 c*3  s*1 s*3 -c*1 s*2s*3  s*1 c*3 -c*1 c*2 -d 3c*1 c*2 
 * * * 
s s c  c*1 s*3 -s*1 s*2s*3  c*1 c*3 -s*1 c*2 -d3s*1 c*2 
H0   1 2 3
3

 c*2 c*3 c*2s*3 s*2 d3s*2  d1 
 
 0 0 0 1 

Оdrеditi svа rеšеnjа za θ1* ,θ2* ,θ3* nа оpsеgu θ1  -π,π  , θ2   -π,π  , θ3   -π,π  , ako vrh robota treba da se
6 2 4 2
nađe u poziciji ( x   ,y , z ) i ako su d1=1m i d3=0.5m.
8 8 4

Zadatak 4.4

Novi Sad, 2019.


Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je:

 C 1S 2 S 1 C 1C 2 d3C 1C 2 


 S  S  C 1 S 1C 2 d3 S 1C 2 
H 30
=  1 2
 C 2 0 S 2 d1  d3 S 2 
 
 0 0 0 1 

Оdrеditi svа rеšеnjа nа оpsеgu оd θ1  -π,π  , θ2   -π,π  ako robot treba da se nađe u poziciji (x = -1.4,
y = -0.5, z = 1.2) i ako je visina prvog segmenta d1=0.5m.

Zadatak 4.5
Zа skаrа kоnfigurаciјu rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

  S 1   2  C 1   2  0 l1 S1  l2 S 1   2  


 
C 1   2   S 1   2  0 l1C1  l2 C 1   2  
H 03  
 C 2 0 1 h  d3 
 
 0 0 0 1  .

Оdrеditi svа rеšеnjа nа оpsеgu оd θ1  -π,π  , θ2   -π,π  аkо је l1  1m , l2  0.5m , h  1m i vrh rоbоtа
trеbа dа dоstignе pоziciјu (-1.2, 0.9, 0.6).

Zadatak 4.6
Rеšiti invеrzni kinеmаtski prоblеm zа cilindričnu kоnfigurаciјu, аkо је:

C1 0  S1  S1  d3 


 S 0 C1 C1  d3 
H 03   1 .
 0 1 0 d2 
 
 0 0 0 1 

Prоmеnlјivе vеličinе su 1 ,d 2 i d3 . Оdrеditi svа rеšеnjа nа оpsеgu оd θ1  -π,π  , аkо rоbоt trеbа dа sе
nаđе u pоziciјi x= -1.5, y= -0.4 i z=1.

Zadatak 4.7
Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je poznato:

 C 1S 2 S 1 C 1C 2 d3C 1C 2 


 S  S  C 1 S 1C 2 d3 S 1C 2 
H 30
=  1 2
 C 2 0 S 2 d1  d3 S 2 
 
 0 0 0 1 

Оdrеditi svа rеšеnjа nа оpsеgu оd θ1  -π,π  , θ2   -π,π  , ako vrh robota treba da se nađe u poziciji (-
1.5, -0.4, 1) i ako je visina prvog segmenta d1=0.5m.

Zadatak 4.8
Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je:

Novi Sad, 2019.


 C 1S 2 S 1 C 1C 2 d3C 1C 2 
 S  S  C 1 S 1C 2 d3 S 1C 2 
H 30
=  1 2
 C 2 0 S 2 d1  d3 S 2 
 
 0 0 0 1 

Оdrеditi svа rеšеnjа nа оpsеgu оd θ1  -π,π  , θ2   -π,π  , ako vrh robota treba da se nađe u poziciji (-1.5,
1.2, 2) i ako je visina prvog segmenta d1=0.5m.

Zadatak 4.9
Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je:

 C 1S 2 S 1 C 1C 2 d3C 1C 2 


 S  S  C 1 S 1C2 d3 S 1C2 
H 03   1 2
 C 2 0 S 2 d1  d3 S 2 
 
 0 0 0 1 

Izračunati vrednosti unutrašnjih koordinata ako robot treba da se nađe u poziciji (-1.6, -1.2, 2) i ako je
visina prvog segmenta d1=0.5m.

Zadatak 4.10
Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je:

 C 1S 2 S 1 C 1C 2 d3C 1C 2 


 S  S  C 1 S 1C 2 d3 S 1C 2 
H 30
=  1 2
.
 C 2 0 S 2 d1  d3 S 2 
  d1
 0 0 0 1 
y0

Izračunati vrednosti unutrašnjih koordinata u početnom položaju, kada se vrh robota nalazi u poziciji
(0.5, 0, 0.5) i u krajnjem položaju, kada se vrh robota nalazi u poziciji (-1.1, -0.4, 1.2), ako je visina
prvog segmenta d1=0.5m.

Zadatak 4.11
Rešiti inverzni kinematski problem za sfernu konfiguraciju, ako je:

 C 1S 2 S 1 C 1C 2 d3C 1C 2 


 S  S  C 1 S 1C 2 d3 S 1C 2 
H 30
=  1 2
.
 C 2 0 S 2 d1  d3 S 2 
  d1
 0 0 0 1 
y0

Novi Sad, 2019.


Izračunati vrednosti unutrašnjih koordinata u početnom položaju, kada se vrh robota nalazi u poziciji
(0, 0, 0.75) i u krajnjem položaju, kada se vrh robota nalazi u poziciji (-1, -0.4, 1.2), ako je visina
prvog segmenta d1=0.5m.

Zadatak 4.12:
Zа robotsku konfiguraciju sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

 S 2* 0 C 2* a1   d 3  d 3*  C 2* 
 
 C 2*
H0  
3 0 S 2*  d3  d3*  S 2* 
 0 1 0 d1  d1* 
 
 0 0 0 1 

Оdrеditi svа rеšеnjа za d1* ,θ2* ,d3* nа оpsеgu θ2   -π,π  , ako vrh robota treba da se nađe u poziciji
( x  0,934 , y  0, 296 , z  1, 25 ) i ako su a1=0.3, d1=1m i d3=0.5m

Zadatak 4.13: Zа Ojlerov zglob rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

 c1* s*2 c*3  s1* s*3 c1* s*2 s*3  s1*c*3 c1*c*2 d3c1*c*2 
 * * * 
 s s c  c1* s*3  s1* s*2 s*3  c1* c*3  s1*c*2 d3 s1*c*2 
H0   1 2 3
3

 c*2 c*3 c*2 s*3 s*2 d3 s*2  d1 
 
 0 0 0 1 

a) Оdrеditi svа rеšеnjа za θ1* ,θ2* ,θ3* nа оpsеgu θ1  -π,π  , θ2   -π,π  , θ3   -π,π  , ako vrh robota treba da
6 2 4 2
se nađe u poziciji ( x   ,y , z ) i ako su d1=1m i d3=0.5m.
8 8 4
b) Оdrеditi svа rеšеnjа za θ1* ,θ2* ,θ3* nа оpsеgu θ1  -π,π  , θ2   -π,π  , θ3   -π,π  , ako vrh robota treba
ostvari željenu orijentaciju definisanu sledećim vrednostima Z,Y,Z Ojlerovih uglova:
  30 ,  45 ,  60 .
c) Оdrеditi svа rеšеnjа za θ1* ,θ2* ,θ3* nа оpsеgu θ1  -π,π  , θ2   -π,π  , θ3   -π,π  , ako vrh robota treba
ostvari željenu orijentaciju definisanu sledećim vrednostima Roll, Pitch i Jaw uglova:
  30 ,  45 ,  60 .
d) Оdrеditi svа rеšеnjа za θ1* ,θ2* ,θ3* nа оpsеgu θ1  -π,π  , θ2   -π,π  , θ3   -π,π  , ako vrh robota treba
ostvari željenu orijentaciju definisanu sledećom matricom rotacije:

Rešenje:
a) Pošto je u pitanju robotski manipulator sa 3 stepena slobode jasno je da vrh manipulatora ne može da
ostvari i željenu poziciju i željenu orijentaciju u trodimenzionalnom prostoru, jer takav zadatak zahteva
minimalno 6 stepeni slobode. Međutim, u ovom delu zadatka zahteva se da se reši inverzni kinematksi
problem samo za poziciju vrha manipulatora. Za poznatu željenu poziciju vrha (x,y,z) potrebno je
odrediti odgovarajuće unutrašnje koordinate, tj. ugaone pozicije u zglobovima ( θ1* ,θ2* ,θ3* ), koje realizuju
željenu poziciju vrha.

Novi Sad, 2019.


Podsećamo čitaoca da data homogena transformacija H30 predstavlja rešenje direktne kinematike za
sferni Ojlerov zglob i sadrži u sebi informaciju o poziciji i orijentaciji vrha u odnosu na bazni
koordinatni sistem. Pri tome, pozicija vrha je data vektorom translacije d30 , koji se nalazi u četvrtoj
koloni homogene transformacije. Dakle komponente vektora translacije zapravo predstavljaju x, y, i z
koordinatu centra hvataljke izražene u odnosu na bazni koordinatni sistem. Na osnovu toga, moguće je
postaviti sistem jednačina koje povezuju zadatu poziciju vrha, izraženu u operacionom prostoru, sa
traženim pozicijama zglobova, izraženim u konfiguracionom prostoru:

x  d3c1* c*2 , (1)

y  d3 s1*c*2 , (2)

z  d3 s*2  d1 . (3)

Vidimo da je u pitanju sistem trigonometrijskih jednačina koji je potrebno rešiti po pozicijama zglobova
θ1* ,θ2* ,θ3* . Podsećamo čitaoca da je prilikom rešavanja sistema neophodno uzeti u obzir periodičnost
trigonometrijskih funkcija, kako bi se odredila sva rešenja inverznog kinematskog problema.
Pre nego što pristupimo rešavanju sistema jednačina želimo da iznesemo nekoliko napomena. Kao što
je poznato inverzni kinematski problem nije uvek jednoznačno rešiv i moguće je čak da ne postoji
nijedno rešenje. Primer slučaja kada ne postoji rešenje inverznog kinematskog problema jeste kada je
zadata željena pozicija vrha izvan radnog prostora robota. Podsećamo čitaoca da u okviru softvera za
programiranje industrijskih robota često postoji opcija za proveru da li je zadata pozicija u okviru radnog
prosotra. Primera radi, u softveru ABB robotStudio u pitanju je opcija koja se zove reachability koja
proverava da li je definisani target dohvatljiv od strane robota. Za kompleksne robotske sisteme sa puno
stepeni slobode nije tako lako mapirati radni prostor pa nije jednostavno uraditi ovu proveru.
Međutim, Ojlerov zglob je dobio naziv sferni upravo zbog oblika svog radnog prostora. Ako pogledamo
pažljivije videćemo da na poziciju vrha utiču samo prva dva zgloba manipulatora, pri čemu treći zglob
utiče samo na orijentaciju hvataljke ali ne i na pozociju njenog centra (TCP). Dakle centar hvataljke,
vezane za Ojlerov zglob, može da se kreće samo po unutrašnjoj površini sfere čiji je centar u tački
preseka sve tri ose Ojlerovog zgloba i čiji je poluprečnik dužina drugog segmenta d3. Dakle vrh
Ojlerovog zgloba ne može da ostvari proizvoljnu poziciju u trodimenzionalnom prostoru, jer je zbog
njegove kinematske strukture i konstrukcije, kretanje njegovog vrha ograničeno na kretanje po površini
sfere sledećom jednačinom veze:

 x  02   y  02   z  d1 2  d32 , (4)

pri čemu je d3 poluprečnik sfere a vektor c=[0 0 d1]T pozicija centra sfere u odnosu na bazni koordinatni
sistem. Uvrštavanjem zadate pozicije vrha x,y,z i poznatih konstanti d1 i d3 jednostavno možemo
proveriti da li je zadovoljeno ograničenje, tj. da li je zadata pozicija vrha u radnom prostoru
manipulatora.

2 2 2
 6   2   4 2 
 1   0,5  ,
2
   0      0    (5)
 8   8   4 

0, 25  0, 25 . (6)

Ukoliko ne bi bilo zadovoljeno ograničenje, ne bismo morali da rešavamo sistem jednačina, već bismo
samo konstatovali da je zadata pozicija izvan radnog prostora.
Ako ponovo pogledamo sistem jednačina (1-3), vidimo da je to sistem 3 jednačine sa 2 nepoznate, što
znači da je sistem neodređen. Kao što vidimo u sistemu ne figuriše promenljiva θ3* , što je u skladu sa
našom analizom da treći zglob ne utiče na poziciju centra hvataljke, već samo na njenu orijentaciju.

Novi Sad, 2019.


Postoji više načina da se reši dati sistem. Cilj je da kominovanjem datih jednačina pokušamo da izrazimo
nepoznatu promenljivu preko poznatih. Podelimo jednačinu (2) sa jednačinom (1):

y d3 s1*c*2 s1*  y


   tg 1*  1*  arctg    k , k  0,1, 2,... , (7)
x d3c1*c*2 c1*  x

Napravimo malu digresiju i prisetimo se kako izgleda funkcija tangens na trigonometrijskom krugu.

tg(α) α

α±π

Sl. 1 Prikaz periodičnosti funkcije tangens na trigonometrijskom krugu

Primetimo da u okviru jednog punog kruga zapravo postoje dva različita ugla koji imaju istu vrednost
tangensa. Ostala rešenja predstavljaju njihove celobrojne umnoške, kada se ugao obrne zapun krug.
Pošto je zadatkom specificirano da se analiziraju samo rešenja na opsegu [-π,π] jednačina (7) će zapravo
imati dva rešenja:

 2 
 
y    2  1 
1*  arctg    arctg  8   arctg 
   arctg    30 , (8)
x  6   6  3
 
 8 

1*  1*    150 . (9)

Poziciju drugog zgloba *2 možemo odrediti iz jednačine (3):

 4 2 
   1   2
z  d z  d
  arcsin 
s*2   *2  arcsin  4   arcsin 
 2   45 .
1 1
(10)
d3  d3   1   
 
 2 

Ako uzmemo u obzir periodičnost sinusne funkcije, možemo konstatovati da u opsegu [-π,π] postoje
dva različita ugla koji imaju istu vrednost sinusne funkcije. To su uglovi α i π-α. Stoga, imamo dva
rešenja za poziciju u drugom zglobu manipulatora:

*2  45
. (11)
*2    45  135

Novi Sad, 2019.


Što se tiče pozicije trećeg zgloba, rekli smo da ona ne utiče na poziciju vrha, te nam ostaje samo da
konstatujemo da treći zglob može da ima bilo koju vrednost iz dozvoljenog opsega:

*3   ,  . (12)

Odredimo sada sve moguće kombinacije rešenja dobijenih za pojedinačne zglobove manipulatora. Pošto
imamo po dva moguća rešenja za pozicije u prvom i drugom zglobu sledi da imamo ukupno četiri
moguće kombinacije:

Kombinacija 1: 1*  30 , *2  45 , *3  ,


Kombinacija 2: 1*  30 , *2  135 , *3  , 
Kombinacija 3: 1*  150 , *2  45 , *3  , 
Kombinacija 4: 1*  150 , *2  135 , *3  , 

Prikazane kombinacije zapravo predstavljaju različita rešenja inverznog kinematskog problema, tj.
predstavljaju različite konfiguracije robota koje ostvaruju zadatu željenu poziciju vrha. Podsećamo
čitaoca da u softveru ABB RobotStudio postoji opcija Configurations i da je beophodno izabrati jednu
od mogućih konfiguracjia za zadati target kako bi se realizovala putanja. Prilikom kretanja planiranja
kretanja robota važno je voditi računa o kompatibilnosti konfiguracija koje su izabrane za sukcesivne
targete.
Važno je napomenuti da nisu sve prikazane kombinacije tačna rešenja inverznog kinematskog problema.
Neke kombinacije su netačne, dok neke druge kombinacije predstavljaju matematički korektna rešanja
koja nisu fizički ostvariva (npr. zahtevaju negativno izduženje u translatornom zglobu). Zbog toga je
potrebno uraditi proveru svih rešenja kako bi se ustanovilo koja su rešenja korektna u fizičkom smislu.
Provera rešenja se radi tako što se pozicije zglobova iz svake pojedinačne kombinacije rešenja
uvrštavaju nazad u početni sistem jednačina (1-3) i proverava se da li daju zadate vrednosti pozicije vrha
x,y,z. Želimo još da napomenemo da je važno voditi računa o periodičnosti trigonometrijskih funkcija
prilikom rešavanja sistema. Kada bi se zanemarila periodičnost funkcija neke od kombinacija rešenja bi
bilo izostavljene, pri čemu bi moglo da se desi da se upravo fizički tačno rešenje izostavi.

Provera rešenja:

Zadata pozicija vrha: x = - 0.30619, y = -0.17678, z = 1.3536

Kombinacija1 → x = -0.30619, y = -0.17678, z = 1.3536 Tačno


Kombinacija2 → x = 0.30619, y = 0.17678, z = 1.3536 Netačno
Kombinacija3 → x = 0.30619, y = 0.17678, z = 1.3536 Netačno
Kombinacija4 → x = -0.30619, y = -0.17678, z = 1.3536 Tačno

Zadatak 4.14:
Zа robotsku konfiguraciju sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:
a4

x2 z3 z4

x1 y3 x4

z2
z1 y1 y4
x3

Novi Sad, 2019.


𝐶𝜃2∗ 𝐶𝜃4∗ −𝐶𝜃2∗ 𝑆𝜃4∗ 𝑆𝜃2∗ −𝑎4 𝐶𝜃2∗ 𝐶𝜃4∗ − 𝑑3∗ 𝐶𝜃2∗
𝑆𝜃4∗ 𝐶𝜃4∗ 0 −𝑎4 𝑆𝜃4∗ y2
𝐻04 = [ ∗ ∗ ∗ ∗ ∗ ]
−𝑆𝜃2 𝐶𝜃4 𝑆𝜃2 𝑆𝜃4 𝐶𝜃2 𝑎4 𝑆𝜃2 𝐶𝜃4∗ + 𝑑3∗ 𝑆𝜃2∗ + 𝑑1
∗ d1
0 0 0 1

z0
x0

y0

Оdrеditi svа rеšеnjа za 𝜃2∗ , 𝑑3∗ , 𝜃4∗ nа оpsеgu 𝜃2∗ , 𝜃4∗ ∈ [−𝜋, 𝜋], ako vrh robota treba da se nađe u poziciji
(𝑥 = −1.013, 𝑦 = −0.25, 𝑧 = 2.013) i ako su 𝑑1 = 1𝑚, 𝑎4 = 0.5𝑚.

Zadatak 4.15:

Zа robotsku kоnfigurаciјu sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

𝑆𝜃1∗ 𝐶𝜃3∗ −𝑆𝜃1∗ 𝑆𝜃3∗ −𝐶𝜃1∗ −𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗ − (𝑑2 + 𝑑2∗ )𝑆𝜃1∗
−𝐶𝜃1∗ 𝐶𝜃3∗ 𝐶𝜃1∗ 𝑆𝜃3∗ −𝑆𝜃1∗ 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗ + (𝑑2 + 𝑑2∗ )𝐶𝜃1∗
𝐻03 = [ ] z0
𝑆𝜃3∗ 𝐶𝜃3∗ 0 𝑑1 − 𝑎3 𝑆𝜃3∗
0 0 0 1

y0

x0

Оdrеditi svа rеšеnjа za unutrašnje koordinate (θ1*, d2*, θ3*) nа оpsеgu 1* ,3*    ,  аkо je d1=1m i
a3=0.5m, a rоbоt trеbа dа dоstignе pоziciјu vrha (x=-0.625, y=1.08, z=1.43).

Rešenje:
(1), 𝑥 = −𝑎3 𝑆𝜃∗1 𝐶𝜃∗3 − (𝑑2 + 𝑑∗2 )𝑆𝜃∗1
(2), 𝑦 = 𝑎3 𝐶𝜃∗1 𝐶𝜃∗3 + (𝑑2 + 𝑑∗2 )𝐶𝜃∗1
(3), 𝑧 = 𝑑1 − 𝑎3 𝑆𝜃∗3

(1) 𝑥 −𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗ − (𝑑2 + 𝑑2∗ )𝑆𝜃1∗ −𝑆𝜃1∗ (𝑎3 𝐶𝜃3∗ + 𝑑2 + 𝑑2∗ )
, = = = −𝑡𝑔𝜃1∗ ⇒ 𝜃1∗
(2) 𝑦 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗ + (𝑑2 + 𝑑2∗ )𝐶𝜃1∗ 𝐶𝜃1∗ (𝑎3 𝐶𝜃3∗ + 𝑑2 + 𝑑2∗ )
𝑥
= 𝑎𝑟𝑐𝑡𝑔 (− ) ± 𝑘𝜋; 𝑘 = 1
𝑦

𝜃∗1 = 30°
′′ ′
𝜃∗1 = 𝜃∗1 − 𝜋 = 30° − 180° = −150°
′′′
𝜃∗1 = 𝜃∗1 ′ + 𝜋 = 30° + 180° = 210° → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑑𝑎𝑡𝑎 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎.

𝑧 − 𝑑1 𝑧 − 𝑑1
(3), 𝑆𝜃∗3 = − ⇒ 𝜃∗3 = arcsin(− )
𝑎3 𝑎3


𝜃∗3 = −60°
′′ ′
𝜃∗3 = 𝜋 − 𝜃∗3 = 180° + 60° = 240° → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑑𝑎𝑡𝑎 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎.

Novi Sad, 2019.


𝑦 − 𝑎3 𝐶𝜃∗1 𝐶𝜃∗3
(2), 𝑑2∗ = − 𝑑2
𝐶𝜃∗1


𝑑∗2 = 0𝑚
′′
𝑑∗2 = −1,497𝑚 → 𝑇𝑟𝑎𝑛𝑠𝑙𝑎𝑐𝑖𝑗𝑎 𝑛𝑒 𝑚𝑜ž𝑒 𝑑𝑎 𝑏𝑢𝑑𝑒 𝑛𝑒𝑔𝑎𝑡𝑖𝑣𝑛𝑎.

Kombinacije i provera:
1) 𝜃1∗ ′ , 𝑑2∗ ′ , 𝜃3∗ ′ → 𝑥 = −0,625𝑚, 𝑦 = 1,08𝑚, 𝑧 = 1,43𝑚 → 𝑇𝑎č𝑛𝑜.
2) 𝜃∗1 ′′ , 𝑑2∗ ′ , 𝜃∗3 ′ → 𝑥 = 0,625𝑚, 𝑦 = −1,08𝑚, 𝑧 = 1,43𝑚 → 𝑁𝑒𝑡𝑎č𝑛𝑜.

Zadatak 4.16:

Zа robotsku kоnfigurаciјu sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

z0 y0

x0
C 2*C3*

C 2* S 3* S 2* a
1  a2 C 2*  a3C 2*C3*  

 S *C *
H0   2 3
3
 S 2* S 3* C 2*  a2 S 2*  a3 S 2*C3*  
 S 3*

C 3* 0  d1  d1*  a3 S3*  
 0 0 0 1 

Оdrеditi svа rеšеnjа za unutrašnje koordinate (d1*, θ2*, θ3*) nа оpsеgu  2* ,3*    ,  аkо je a1=0.5m,
a2=0.5m i a3=0.5m, a rоbоt trеbа dа dоstignе pоziciјu vrha (x=1.239, y=0.427, z=1.85).

Rešenje:
(1), 𝑥 = 𝑎1 + 𝑎2 𝐶𝜃2∗ + 𝑎3 𝐶𝜃2∗ 𝐶𝜃3∗
(2), 𝑦 = 𝑎2 𝑆𝜃2∗ + 𝑎3 𝑆𝜃2∗ 𝐶𝜃3∗
(3), 𝑧 = 𝑑1 + 𝑑1∗ + 𝑎3 𝑆𝜃3∗

Novi Sad, 2019.


(2) 𝑦 𝑎2 𝑆𝜃2∗ + 𝑎3 𝑆𝜃2∗ 𝐶𝜃3∗ 𝑦 𝑆𝜃2∗ (𝑎3 𝐶𝜃3∗ + 𝑎2 )
, = ⇒ = = 𝑡𝑔𝜃2∗ ⇒ 𝜃2∗
(1) 𝑥 𝑎1 + 𝑎2 𝐶𝜃2∗ + 𝑎3 𝐶𝜃2∗ 𝐶𝜃3∗ 𝑥 − 𝑎1 𝐶𝜃2∗ (𝑎3 𝐶𝜃3∗ + 𝑎2 )
𝑦
= 𝑎𝑟𝑐𝑡𝑔 ( ) ± 𝑘𝜋; 𝑘 = 1
𝑥 − 𝑎1

𝜃2∗ ′ = 30°
𝜃2∗ ′′
= 𝜃2∗ ′
− 𝜋 = 30° − 180° = −150°
𝜃2∗ ′′′ = 𝜃2∗ ′ + 𝜋 = 30° + 180° = 210° → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑑𝑎𝑡𝑎 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎.

𝑦 − 𝑎2 𝑆𝜃2∗ 𝑦 − 𝑎2 𝑆𝜃2∗
(2), 𝐶𝜃3∗ = ⇒ 𝜃3

= ±arccos( )
𝑎3 𝑆𝜃2∗ 𝑎3 𝑆𝜃2∗

𝜃2∗ ′ → 𝜃3∗ = 45°; 𝜃3∗ ′′ = −45°
𝑦 − 𝑎2 𝑆𝜃2∗
𝜃2∗ ′′ → = −2.708 → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎 𝑎𝑟𝑐𝑐𝑜𝑠.
𝑎3 𝑆𝜃2∗

(3), 𝑑1∗ = 𝑧 − 𝑑1 − 𝑎3 𝑆𝜃3∗



𝜃3∗ ′ → 𝑑1∗ = 0.5𝑚
′′
𝜃3∗ ′′ → 𝑑1∗ = 1.2𝑚

Kombinacije i provera:
1) 𝑑1∗ ′ , 𝜃2∗ ′ , 𝜃3∗ ′ → 𝑥 = 1,239𝑚, 𝑦 = 0,427𝑚, 𝑧 = 1,85𝑚 → 𝑇𝑎č𝑛𝑜.
2) 𝑑1∗ ′′ , 𝜃2∗ ′ , 𝜃3∗ ′′ → 𝑥 = 1,239𝑚, 𝑦 = 0,427𝑚, 𝑧 = 1,85𝑚 → 𝑇𝑎č𝑛𝑜.

Zadatak 4.17:

Zа robotsku kоnfigurаciјu sa slike rеšiti invеrzni kinеmаtski prоblеm, аkо је pоznаtо:

𝐶𝜃1∗ 𝐶𝜃3∗ −𝐶𝜃1∗ 𝑆𝜃3∗ 𝑆𝜃1∗ −𝑎2 𝐶𝜃1∗ − 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗


𝑆𝜃 ∗ 𝐶𝜃 ∗ −𝑆𝜃1∗ 𝑆𝜃3∗ −𝐶𝜃1∗ −𝑎2 𝑆𝜃1∗ − 𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗
𝐻03 = [ 1 ∗ 3 ]
𝑆𝜃3 𝐶𝜃3∗ 0 𝑑1 + 𝑑2 + 𝑑2∗ − 𝑎3 𝑆𝜃3∗ z0
0 0 0 1
x0

y0

Оdrеditi svа rеšеnjа za unutrašnje koordinate (𝜃1∗ , 𝑑2∗ , 𝜃3∗ ) nа оpsеgu 𝜃1∗ , 𝜃3∗ ∈ [−𝜋, 𝜋] аkо je d1=1m,
a2=0.5m i a3=0.5m, a rоbоt trеbа dа dоstignе pоziciјu vrha (x=-0.466, y=0.808, z=2.25).

Rešenje:
(1), 𝑥 = −𝑎2 𝐶𝜃1∗ − 𝑎3 𝐶𝜃1∗ 𝐶𝜃3∗

Novi Sad, 2019.


(2), 𝑦 = −𝑎2 𝑆𝜃1∗ − 𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗
(3), 𝑧 = 𝑑1 + 𝑑2 + 𝑑2∗ − 𝑎3 𝑆𝜃3∗

(2) 𝑦 −𝑎2 𝑆𝜃1∗ − 𝑎3 𝑆𝜃1∗ 𝐶𝜃3∗ −𝑆𝜃1∗ (𝑎3 𝐶𝜃3∗ + 𝑎2 ) 𝑦


, = ∗ ∗ ∗ = ∗ ∗ = 𝑡𝑔𝜃1∗ ⇒ 𝜃1∗ = 𝑎𝑟𝑐𝑡𝑔 ( ) ± 𝑘𝜋; 𝑘
(1) 𝑥 −𝑎2 𝐶𝜃1 − 𝑎3 𝐶𝜃1 𝐶𝜃3 −𝐶𝜃1 (𝑎3 𝐶𝜃3 + 𝑎2 ) 𝑥
=1

𝜃1∗ ′ = −60°
𝜃1∗ ′′ = 𝜃1∗ ′ − 𝜋 = −60° − 180° = −240° → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑑𝑎𝑡𝑎 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎.
𝜃1∗ ′′′ = 𝜃1∗ ′ + 𝜋 = −60° + 180° = 120°

𝑥 + 𝑎2 𝐶𝜃1∗ 𝑥 + 𝑎2 𝐶𝜃1∗
(1), 𝐶𝜃3∗ = − ∗
⇒ 𝜃3 = ±arccos(− )
𝑎3 𝐶𝜃1∗ 𝑎3 𝐶𝜃1∗

′ ′ ′′
𝜃1∗ → 𝜃3∗ = 30°; 𝜃3∗ = −30°
𝑥 + 𝑎2 𝐶𝜃1∗
𝜃1∗ ′′′ →− = −2.864 → 𝑁𝑒 𝑢𝑙𝑎𝑧𝑖 𝑢 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎 𝑎𝑟𝑐𝑐𝑜𝑠.
𝑎3 𝐶𝜃1∗

(3), 𝑑2∗ = 𝑧 − 𝑑1 − 𝑑2 + 𝑎3 𝑆𝜃3∗



𝜃3∗ ′ → 𝑑2∗ = 0,5𝑚
′′
𝜃3∗ ′′ → 𝑑2∗ = 0𝑚

Kombinacije i provera:
1) 𝜃1∗ ′ , 𝑑2∗ ′ , 𝜃3∗ ′ → 𝑥 = −0,466𝑚, 𝑦 = 0,808𝑚, 𝑧 = 2,25𝑚 → 𝑇𝑎č𝑛𝑜.
2) 𝜃1∗ ′ , 𝑑2∗ ′′ , 𝜃3∗ ′′ → 𝑥 = −0,466𝑚, 𝑦 = 0,808𝑚, 𝑧 = 2,25𝑚 → 𝑇𝑎č𝑛𝑜.

Novi Sad, 2019.


5. Sinteza trajektorije
Zadatak 5.1
Izvršiti sintezu trajektorije za zglobove dvosegmentnog ravanskog mehanizma polinomima
odgovarajućih stepena, tako da budu zadovoljeni sledeći uslovi:
a) zglob1 kreće u trenutku t=0 s sa pozicije q(0)=0 rad sa brzinom v(0)=0 rad/s,
b) zglob1 u trenutku t=3 s dostiže poziciju q(3)=π/2 rad sa brzinom v(3)= 0 rad/s,
c) zglob2 kreće u trenutku t=0 s sa pozicije q(0)= π/2 rad sa brzinom v(0)=0 rad/s,
d) zglob2 u trenutku t=3 s dostiže poziciju q(3)=π rad sa brzinom v(3)= π/3 rad/s.

Da li će srednja brzina, u intervalu od 0s do 3s, biti jednaka oba zgloba mehanizma?

Zadatak 5.2
Izvršiti sintezu trajektorije polinomom odgovarajućeg stepena i izrаčunаti prоsеčnu brzinu u zglоbu
rоbоtа u intеrvаlu оd 1-1.5 sеkundе njеgоvоg krеtаnjа, аkо zа zglоb rоbоtа vаžе slеdеći uslоvi:
a) u trеnutku t=0s krеćе iz mirоvаnjа (brzinа i ubrzаnjе su nulа), sа pоziciје 2m
b) u trеnutku t=2s dоstižе pоziciјu 1m i pоtpunо sе zаustаvlја u njој (brzinа i ubrzаnjе su nulа)

Zadatak 5.3
Izvršiti sintezu trajektorije u zglobu robota polinomom odgovarajućeg stepena i izračunati srednje
ubrznje na intervalu od 0s do 2s аkо zа zglоb rоbоtа vаžе slеdеći uslоvi:
a) u trеnutku t=0s krеćе iz mirоvаnjа (brzinа i ubrzаnjе su nulа), sа pоziciје 0m
b) u trеnutku t=2s dоstižе pоziciјu 2m i pоtpunо sе zаustаvlја u njој (brzinа i ubrzаnjе su nulа)

Zadatak 5.4
Izvršiti sintezu trajektorije za zglobove dvosegmentnog ravanskog mehanizma polinomima
odgovarajućih stepena, tako da budu zadovoljeni sledeći uslovi:
a) zglob1 kreće u trenutku t=0 s sa pozicije q(0)=0 rad sa brzinom v(0)=0 rad/s,
b) zglob1 u trenutku t=3 s dostiže poziciju q(3)=π/2 rad sa brzinom v(3)= 0 rad/s,
c) zglob2 kreće u trenutku t=0 s sa pozicije q(0)= 0 rad sa brzinom v(0)=0 rad/s,
d) zglob2 u trenutku t=3 s dostiže poziciju q(3)=π/3 rad sa brzinom v(3)= 0 rad/s.

Da li će srednje ubrzanje, u intervalu od 0s do 3s, biti jednako za oba zgloba mehanizma?

Rešenje:

Za zglob 1:
t=0 s q(0)= 0 rad; v(0)= 0 rad/s
𝜋
t=3 s q(3)= 2 rad; v(3)= 0 rad/s

Za zglob 2:
t=0 s q(0)= 0 rad; v(0)= 0 rad/s
𝜋
t=3 s q(3)= 3 rad; v(3)= 0 rad/s

ZGLOB 1:
𝑞(𝑡) = 𝑎3 𝑡 3 + 𝑎2 𝑡 2 + 𝑎1 𝑡 + 𝑎0 (1)

Novi Sad, 2019.


𝑞̇ (𝑡) = 𝑣(𝑡) = 3𝑎3 𝑡 2 + 2𝑎2 𝑡 + 𝑎1 (2)

𝑞(0) = 𝑎0 = 0
𝑣(0) = 𝑎1 = 0
𝜋
𝑞(3) = 27𝑎3 + 9𝑎2 + 3𝑎1 + 𝑎0 =
2 (3)

𝑣(3) = 27𝑎3 + 6𝑎2 + 𝑎1 = 0


(4)

Jednačinu (3) pomnožimo sa -1 i saberemo sa jednačinom (4). Dobijemo:


𝜋 𝜋
−3𝑎2 = − → 𝑎2 =
2 6
Uvrstimo 𝑎2 u jednačinu (4) i dobijamo:
𝜋 𝜋
27𝑎3 + 6 = 0 → 𝑎3 = −
6 27
Nakon dobijenih rešenja uraditi proveru, tako što je sva dobijena rešenja potrebno ubaciti
nazad u jednačine q(3) i v(3) i proveriti da li se rešenje jednačina poklapa za zadatim
rešenjem.

ZGLOB 2:
𝑞(𝑡) = 𝑎3 𝑡 3 + 𝑎2 𝑡 2 + 𝑎1 𝑡 + 𝑎0
(5)
̇ = 𝑣(𝑡) = 3𝑎3 𝑡 2 + 2𝑎2 𝑡 + 𝑎1
𝑞(𝑡) (6)

𝑞(0) = 𝑎0 = 0
𝑣(0) = 𝑎1 = 0
𝜋
𝑞(3) = 27𝑎3 + 9𝑎2 + 3𝑎1 + 𝑎0 =
3 (7)

𝑣(3) = 27𝑎3 + 6𝑎2 + 𝑎1 = 0


(8)

Jednačinu (7) pomnožimo sa -1 i saberemo sa jednačinom (8). Dobijemo:


𝜋 𝜋
−3𝑎2 = − → 𝑎2 =
3 9
Uvrstimo 𝑎2 u jednačinu (7) i dobijamo:
𝜋 𝜋 2𝜋
27𝑎3 + 9 = → 𝑎3 = −
9 3 81

Obavezno i za zglob 2 uraditi proveru.

Zadatak 5.5
Izvršiti sintezu trajektorije u zglobu robota polinomom odgovarajućeg stepena i izračunati ubrzanje u
zglobu robota u trenutku t=1.5s ako za zglob robota važe sledeći uslovi:

Novi Sad, 2019.


a) u trenutku t =2s zglob se nalazi u poziciji 4m
b) u trenutku t=1s zglob se nalazi u poziciji 2m dok je brzina u zglobu 1m/s
c) u trenutku t =0s brzine i ubrzanja robota su 0

Rešenje:
𝑚 𝑚
𝑡 = 0𝑠 ⟶ 𝑞̇ (0) = 0; 𝑞̈ (0) = 0 2
𝑠 𝑠
𝑚
𝑡 = 1𝑠 ⟶ 𝑞(1) = 2𝑚; 𝑞̇ (1) = 1
𝑠
𝑡 = 2𝑠 ⟶ 𝑞(2) = 4𝑚

𝑛 = 𝑏𝑟. 𝑜𝑔𝑟𝑎𝑛𝑖č𝑒𝑛𝑗𝑎 − 1 = 5 − 1 = 4 ⟶ 𝑅𝑒𝑑 𝑝𝑜𝑙𝑖𝑛𝑜𝑚𝑎

(1), 𝑞(𝑡) = 𝑎4 𝑡 4 + 𝑎3 𝑡 3 + 𝑎2 𝑡 2 + 𝑎1 𝑡 + 𝑎0
(2), 𝑞̇ (𝑡) = 4𝑎4 𝑡 3 + 3𝑎3 𝑡 2 + 2𝑎2 𝑡 + 𝑎1
(3), 𝑞̈ (𝑡) = 12𝑎4 𝑡 2 + 6𝑎3 𝑡 + 2𝑎2

𝑡 = 0𝑠 ∧ (1) ⟶ 𝑞(0) = 𝑎0
𝑡 = 0𝑠 ∧ (2) ⟶ 𝑞̇ (0) = 𝑎1 = 0
𝑡 = 0𝑠 ∧ (3) ⟶ 𝑞̈ (0) = 2𝑎2 = 0 ⇒ 𝑎2 = 0

𝑡 = 1𝑠 ∧ (1) ⟶ 𝑎4 + 𝑎3 + 𝑎0 = 2
𝑡 = 1𝑠 ∧ (2) ⟶ 4𝑎4 + 3𝑎3 = 1
Prvu jednačinu pomnožimo sa 4, a zatim od nje oduzmemo drugu.
𝑎3 + 4𝑎0 = 7 ⇒ 𝑎3 = 7 − 4𝑎0

𝑡 = 2𝑠 ∧ (1) ⟶ 16𝑎4 + 8𝑎3 + 𝑎0 = 4


16𝑎4 + 8(7 − 4𝑎0 ) + 𝑎0 = 4
16𝑎4 + 56 − 31𝑎0 = 4
16𝑎4 − 31𝑎0 = −52
(𝑡 = 1𝑠 ∧ (1)) ∗ 4 ⟶ 4𝑎4 + 4𝑎3 + 4𝑎0 = 8
4𝑎4 + 4(7 − 4𝑎0 ) + 4𝑎0 = 8
4𝑎4 + 28 − 12𝑎0 = 8
4𝑎4 − 12𝑎0 = −20
Drugu jednačinu pomnožimo sa 4, a zatim od nje oduzmemo prvu.
28
−17𝑎0 = −28 ⇒ 𝑎0 = = 1.647
17

𝑎3 = 7 − 4𝑎0 = 7 − 4 ∗ 1.647 = 4.412

𝑎4 + 𝑎3 + 𝑎0 = 2 ⇒ 𝑎4 = 2 − 𝑎3 − 𝑎0 = 2 − 4.412 − 1.647 = −4.059

𝑡 = 1.5𝑠 ∧ (3) ⟶ 𝑞̈ (1.5) = 12𝑎4 𝑡 2 + 6𝑎3 𝑡 + 2𝑎2


𝑚
= 12 ∗ (−4.059) ∗ (1.5)2 + 6 ∗ 4.412 ∗ 1.5 + 2 ∗ 0 = −69.642
𝑠2

Zadatak 5.6

Novi Sad, 2019.


Izrаčunаti prоsеčnu brzinu u zglоbu rоbоtа u intеrvаlu оd 0.5-2.5 sеkundе njеgоvоg krеtаnjа аkо zа
zglоb rоbоtа vаžе slеdеći uslоvi:
a) u trеnutku t=0s krеćе iz mirоvаnjа (brzinа i ubrzаnjе su nulа), sа pоziciје 1m
b) u trеnutku t=3s dоstižе pоziciјu 2m i pоtpunо sе zаustаvlја u njој (brzinа i ubrzаnjе su nulа)
Zadatak 5.7
Izvršiti sintezu trajektorije u zglobu robota polinomom, i izračunati srednje ubrznje na intervalu od 0s
do 3s аkо zа zglоb rоbоtа vаžе slеdеći uslоvi:
a) u trеnutku t=0s krеćе iz mirоvаnjа (brzinа i ubrzаnjе su nulа), sа pоziciје 2m
b) u trеnutku t=3s dоstižе pоziciјu 1m i pоtpunо sе zаustаvlја u njој (brzinа i ubrzаnjе su nulа)

Zadatak 5.8
Izvršiti sintezu trajektorije u zglobu robota polinomom odgovarajućeg stepena i izračunati srednje
ubrznje na intervalu od 0s do 2s аkо zа zglоb rоbоtа vаžе slеdеći uslоvi:
a) u trеnutku t=0s krеćе iz mirоvаnjа (brzinа i ubrzаnjе su nulа), sа pоziciје 3m
b) u trеnutku t=2s dоstižе pоziciјu 1m i pоtpunо sе zаustаvlја u njој (brzinа i ubrzаnjе su nulа)

Zadatak 5.9
Izvršiti sintezu trajektorije u zglobu robotskog manipulatora, pomoću polinoma odgovarajućeg
stepena, ako su zadati sledeći uslovi kretanja:
 u trenutku t=0s vrednost unutrašnje koordinate zgloba je q(0)=1m,
 u trenutku t=0s ubrzanje je a(0)=0 m/s2,
 u trenutku t=3s vrednost unutrašnje koordinate zgloba je q(3)=2m,
 u trenutku t=3s brzina u zglobu manipulatora je v(3)=5m/s,
 u trenutku t=3s ubrzanje je a(3)=0 m/s2,

Zadatak 5.10
Izvršiti sintezu kretanja polinomom odgovarajućeg stepena, i odrediti prosečnu brzinu na intervalu od
t=0 s do t=2 s, tako da su zadovoljeni sledeći uslovi:
a) zglob kreće u trenutku t=0 s sa pozicije 0m, brzinom 0m/s
b) u trenutku t=1s, prolazi kroz poziciju 1m
c) u trenutku t=2s, zaustavlja se u poziciji 2m sa brzinom 0m/s

Rešenje:
t=0 s q(0)= 0m; v(0)= 0 m/s
t=1 s q(1)= 1m
t=2 s q(2)= 2m; v(2)= 0 m/s

𝑞(𝑡) = 𝑎4 𝑡 4 + 𝑎3 𝑡 3 + 𝑎2 𝑡 2 + 𝑎1 𝑡 + 𝑎0
(1)
̇ = 𝑣(𝑡) = 4𝑎4 𝑡 4 + 3𝑎3 𝑡 2 + 2𝑎2 𝑡 + 𝑎1
𝑞(𝑡) (2)

𝑞(0) = 𝑎0 = 0
𝑣(0) = 𝑎1 = 0
𝑞(1) = 𝑎4 + 𝑎3 + 𝑎2 + 𝑎1 + 𝑎0 = 1
(3)

Novi Sad, 2019.


𝑞(2) = 16𝑎4 + 8𝑎3 + 4𝑎2 + 2𝑎1 + 𝑎0 = 2
(4)
𝑣(2) = 32𝑎4 + 6𝑎3 + 4𝑎2 + 𝑎1 = 0
(5)

Jednačinu (3) pomnožimo sa -4 i saberemo sa jednačinom (5). Jednačinu (4) pomnožimo sa -1


i saberemo sa jednačinom (5). Dobijemo:
16𝑎4 − 2𝑎3 = −2
(6)
28𝑎4 + 2𝑎3 = −4 (7)

Jednačine (6) i (7) saberemo i iz njih nađemo 𝑎4 :


3
44𝑎4 = −6 → 𝑎4 = −
22

Uvrstimo 𝑎4 u jednačinu (6) i dobijamo:


3 2
16 ∙ (− ) − 2𝑎3 = −2 → 𝑎3 = −
22 22
Uvrstimo 𝑎4 i 𝑎3 u jednačinu (3) i dobijamo:
3 2 27
− − + 𝑎2 = 1 → 𝑎2 =
22 22 22

Obavezno uraditi proveru.

Zadatak 5.11
Izrаčunаti brzinu u zglоbu rоbоtа u trеnutku t  1s аkо zа zglоb rоbоtа vаžе slеdеći uslоvi:
a) U trеnutku t=2s zglоb sе nаlаzi u pоziciјi 1m.
b) U trеnutku t=0s pоziciја i brzinа rоbоtа је 0.
c) U trеnutku t=3s brzinа i ubrzаnjе rоbоtа је 0.

Zadatak 5.12
Izvršiti sintezu trajektorije za zglobove dvosegmentnog ravanskog mehanizma polinomima
odgovarajućih stepena, tako da budu zadovoljeni sledeći uslovi:
a) zglob1 kreće u trenutku t=0 s sa pozicije q(0)=0 rad sa brzinom v(0)=0 rad/s,
b) zglob1 u trenutku t=2 s dostiže poziciju q(2)=π/2 rad sa brzinom v(2)= π/6 rad/s,
c) zglob2 kreće u trenutku t=0 s sa pozicije q(0)=0 rad sa ubrzanjem a(0)=0 rad/s2,
d) zglob2 u trenutku t=2 s dostiže poziciju q(2)=π rad sa ubrzanjem a(2)= π/3 rad/s2.

Da li će srednja brzina u oba zgloba mehanizma biti jednaka?

Novi Sad, 2019.


6. Zadaci za napredni nivo znanja
Zadatak 6.1: Na slici je ilustrovana robotska ćelija sa industrijskim robotom. Kamera na nosaču snima
radni predmet na stolu i navodi alat robota ka radnom predmetu (problem vizuelnog servoisanja).
Poznata je pozicija i orijentacija radnog predmeta izražena u koordinatnom sistemu kamere i dati su
konstrukcioni parametri nosača kamere. Priloženi su relevantni podaci iz dokumentacije (datasheet)
robota koji se tiču njegovih konstrukcionih parametara i dimenzija. Robot se nalazi u svom početnom
nultom položaju, i na slici je definisiana pozicija i orijentacija vrha robota (TCP-a) u odnosu na njegovu
bazu.
 Da li je radni predmet dohvatljiv za robota (reachability)?
 Da li se radni predmet nalazi u radnom prostoru robota?
 U koliko različitih konfiguracija robot može da dohvati radni predmet?
 U kojoj konfiguraciji je robot najudaljeniji od singulariteta?

 3 1 
 0 0
 2 2 
 1 3 
radni _ predmet
H kamera  H2  
3
0  1
 2 2 
 0 1 0 0
 
 0 0 0 1

Skica rešenja:
1. Naći homogenu transformaciju od baze robota do radnog predmeta H baza target
. Time je definisana
pozicija i orijentacija radnog predmeta (target-a) u odnosu na bazni koordinatni sistem robota.
Time dobijamo željenu poziciju i orijentaciju za koju ćemo rešavati problem inverzne
kinematike.
2. Na osnovu podataka iz datasheet-a primeniti DH notaciju i rešiti direktni kinematski problem.
Dobijena homogena transformacija od baze do vrha H baza TCP
se izjednačava sa H baza
target
kako bi se
postavio inverzni kinematski problem.
3. Primenjuje se rasprezanje u Ojlerovom zglobu kako bi se zasebno rešio inverzni kinematski
problem za poziciju i orijentaciju. Nalaze se sva rešenja inverznog kinematskog problema (sve
konfiguracije). Ovo nam daje odgovor na prva tri pitanja.
4. Poznato je da je u singularitetu determinanta Jakobijana jednaka nuli. Dakle potrebno je odrediti
Jakobijan, a zatim izračunati njegovu determinantu za konkretne vrednosti koje odgovaraju
različitim konfiguracijama.

Zadatak 6.2: Na slici je ilustrovana robotska ćelija sa industrijskim robotom. Kamera na nosaču snima
radni predmet na stolu i navodi alat robota ka radnom predmetu (problem vizuelnog servoisanja).

Novi Sad, 2019.


Poznata je pozicija i orijentacija radnog predmeta izražena u koordinatnom sistemu kamere i dati su
konstrukcioni parametri nosača kamere. Priloženi su relevantni podaci iz dokumentacije (datasheet)
robota koji se tiču njegovih konstrukcionih parametara i dimenzija. Robot se nalazi u svom početnom
nultom položaju, i na slici je definisiana pozicija i orijentacija vrha robota (TCP-a) u odnosu na njegovu
bazu. Dato je rešenje direktne kinematike u vidu homogene transformacije od baze do vrha H baza TCP
i
target
poznata je pozicija i orijentacija radnog predmeta u odnosu na bazu robota H baza .
 Uraditi sintezu trajektorije na nivou zglobova manipulatora, polinomima odgovarajućih stepena,
ukoliko vrh robota treba da pređe iz početnog nultog položaja u definisani target, krećući se
proizvoljnom putanjom (MoveJ komanda).
 Potrebno je da se svi zglobovi kreću sinhronizovano i da završe kretanje u istom trenutku.
 Maskimalne brzine i ubrzanja svih zglobova su definisana sledećim vektorima: ...
 Robot kreće iz apsolutnog mirovanja i potpuno se zaustavlja u krajnjem cilju. To znači da su i
brzina i ubrzanje svih zglobova jednake nuli i na početku i na kraju kretanja.

 3 1 
 0 0
 2 2 
 1 3 
radni _ predmet
H kamera  H2  
3
0  1
 2 2 
 0 1 0 0
 
 0 0 0 1

Skica rešenja:
1. Primenjuje se rasprezanje u Ojlerovom zglobu kako bi se zasebno rešio inverzni kinematski
problem za poziciju i orijentaciju. Nalaze se sva rešenja inverznog kinematskog problema (sve
konfiguracije). Bira se jedna konfiguracija. Inverzni problem se rešava i za početni položaj
robota i za krajnji položaj robota u izabranoj konfiguraciji. Time se dobijaju početne i krajnje
vrednosti pozicije za svaki zglob. Pošto znamo da robot kreće iz mirovanja i završava u
mirovanju, sada imamo ukupno šest graničnih uslova za svaki zglob, što znači da ćemo koristiti
polinome petog stepena za sintezu trajektorije.
2. Pošto je zadata maksimalna brzina i maksimalno ubrzanje i znamo da se koriste polinomi petog
stepena, moguće je odrediti potrebno vreme trajanja pokreta za svaki zglob. Pošto svi zglobovi
treba da završe kretanje u istom trenutku prilagođavamo se najsporijem zglobu i biramo
maksimalno vreme pokreta.

Novi Sad, 2019.

You might also like