You are on page 1of 139

1.11.

Dinamik Denklem Çıkarırken Dikkat Edilmesi Gereken Kurallar

1. Dinamik denklem çıkarırken her bir adımda kütle merkezinin


koordinatlarının ana koordinat sistemine göre doğru bulunup bulunmadığını
test etmek için aşağıdaki işlemler yapılır.

a) Öncelikle robot bağlarının kütle merkezlerinin ana koordinat


sistemine göre koordinatları robotun sıfır konumdaki katı gövde yapısından
bakılarak tespit edilir.

b) Bu koordinatların hi vektörlerine doğru bir şekilde aktarıldığını


anlamak için her adımda elde edilen hi vektöründe her açı için sıfır derece
verilir. Bu durumda elde edilen vektör robotun sıfır konum değerlerini
sağlamalıdır.
Şekil 1.5.3’de verilen robot üzerinde bir örnek test işlemi gerçekleştirelim.
Şekil 1.12’de robotun kütle merkezlerinin ana koordinat sistemine göre
koordinatları görülmektedir. Şekil 1.12’den bir iki ve üçüncü bağın kütle
merkezlerinin ana koordinat sistemine göre konumları aşağıdaki gibi bulunur.
Birinci bağ

 0p   0 
 0 x1   
 p y1    0  (1.11.1)
0   h1 
 pz1   2 
 
 
 0 p x3   0 
0   
m3
 y3     d2 
p d3
l3
 0 p   d3
 z3    h1 
2 

 0 p x2   0  2
0   d2 
 p y2      d2
 0p   2  m2
 z2   h1 

 0 p x1   0 
0    m1
 p y1    0  h1
 0 p   h1  z0
 z1   2 
z0,1
x0 1

y0

Şekil 1.12. Kütle merkezlerinin ana koordinat sistemine göre konumları.


İkinci bağ
 0p   0 
 0 x2   1 
 py2    d2 
0   2  (1.11.2)
p
 z2   h1 

Üçüncü bağ
 
 0p   0 
 0 x3   d 
 p y3    2 
0  1
 d h  (1.11.3)
p
 z3   2 3 1

Şimdide elde ettiğimiz h vektörlerini yazalım.

 0p  T
 0 x1   h1 
h1   py1   0 0
0   2  (1.11.4)
p
 z1 
 0p   1 
 2 d2 s1 
 0 x2   1 
h2   p y2    d2c1 

0   2 
p
 z2   h1 
 
  (1.11.5)

 1 
c s
 1 2 2 3 ( l  d3 )  d s
2 1
 0p   
 0 x3  1
h3   py3   s1s2 ( l3  d3 )  d2c1 
0   2 
p
 z3   1 
 c 2 ( l3  d3 )  h1  (1.11.6)
 2 
Bu vektörlerde açılara sıfır derece verip katı gövde yapısından elde ettiğimiz
koordinatları elde edelim. Eğer aynı sonuçları elde edersek işlemler doğru bir
şekilde gerçekleştirilmiş demektir.

T
 h1 
h1  0 0
 2  (1.11.7)

 1 
d
 2 2 s (0)   0 
  
1
h2   d2c(0)
1 
 2 
  d2 
   2 
h1 h1 
   (1.11.8)
 
 1 
c(0)s (0 )( l3  d3 )  d2 s(0)  
 2   0 
1
h3  s(0)s(0)( l3  d3 )  d2c(0)
 2    d2 
 

c (0 )(
1
l  d )  h
 1
 l  d  h 
 3 3 1  (1.11.9)
 2   2 3 3 1

Bilindiği gibi olduğundan

   
 0  0
 
h3    d2 
    d2 
 1 d  d  h   
1
 d h 
 2 3 3 1
  2 3 1
 (1.11.10)
elde edilir. Görüldüğü gibi sıfır konumdan elde edilen koordinatlarla hi
vektöründen elde edilen koordinatlar aynı çıktığından işlemler doğru bir
şekilde gerçekleştirilmiştir. Eğer bu koordinatlar aynı çıkmazsa hi yanlış
seçilmiş demektir. hi ifadesinin doğru bir şekilde belirlenmesi için

 0p 
 0 x i 0
 p yi   iT hi
0 
 pzi  (1.11.11)

denkleminden faydalanılır. hi ifadesini bulmak için denklemin her iki yanını
da 0iT 1 ile önden çarpalım.

 0p 
xi
0 1  0  0 1 0
iT  yi   iT
p iT hi
0 
 pzi 
0 1 0
iT iT birim matrise eşit olduğundan

 0p 
xi
0 1  0 
hi  iT  p yi 
0 
 pzi  (1.11.12)

olur. Şimdi de i=1 alarak birinci bağ için h1ifadesini belirleyelim

 0 p   c1 s1 0 0  0 
 x1
  s1 c1   T
0 1 0 0 0  0   h 
h1  1T  p y1     h1   0 0  1 1
1  h1 
0   0 0
 2  
2 
 pz1   0 0 0 1   1 
(1.11.13)
elde edilir. h2 ve h3 aynı şekilde bulunabilir. Bu anlatılanlardan dinamik
denklemlerin eklemlere yerleştirilen koordinat sistemlerinden bağımsız
olduğu söylenebilir. Koordinat sistemleri hi ifadeleri belirlendikten sonra
eklemlere yerleştirilebilir.

2. Kütle matrisi simetrik bir matris olmalıdır. Örnek 1.5.3’de ki robotun


kütle matrisini inceleyelim. Aşağıda görülen bu matriste D12  D21, ve D23  D32
olduğundan matris simetriktir.

 1 
 D 11 d m c
2 3 2 ( l3  d3 )  d m s
2 3 2
 2 
 1 
D  d2m3c2 ( l3  d3 ) D22 0
 2 
  m3d2s2 0 m3 
 
  (1.11.14)
,
, 3. NE ve LE yönteminden elde edilen her bir bağın kütle merkezinin
konumunu gösteren vektörler ( iPCi  hi ) eşit olmalıdır. Aşağıda görüldüğü
, gibi örnek 1.5.3’de ki robot bağlarının kütle merkezinin konumunu gösteren
,
vektörler her iki yöntemde de eşit çıkmıştır.

     
0  0   0 
  3
1
PC1  0 
2
PC2  0  PC3  0 
  1   1 
1   d2   l3 
 h1   2 
 2   2 
(1.11.15)

 0   0   0 
     
0  0  0 
h1   1  h2   1  h3   1 
 h1  d2  l3
 2   2   2 
 1   1   1 
(1.11.16)
4. Her hangi bir robot için elde edilen dinamik modelin doğru olduğunu
test etmek için aşağıdaki matris elde edilir. Bu matris görüldüğü üzere
doğrudan kütle ve coriolis matrisine bağlıdır.

N(q, q  (q, q
)  D  )  2C(q, q
) (1.11.17)

bu matris eksi bakışımlı bir matris olmalıdır. Eksi bakışımlı bir matriste simetrik
elemanlar zıt işaretli köşegendeki elemanlar ise sıfırdır. Bu özellik q TN(q, q )q
ifadesini sıfır yapar. Denklemde D kütle matrisini gösterirken,
n
C(q, q ) k, j   Cijk q i (1.11.18)
i 1

1  Mk j Mk i Mij 


Cijk     
2  qi q j qk  (1.11.19)
dır. Üç eklemli bir robot için Cijk ve C(q, q )k, j elemanları aşağıdaki gibi
bulunur (i,j,k=1,2,3). Cijk elemanları

1  D11 D11 D11  1 D11


C111      
2  q1 q1 q1  2 q1

1  D21 D21 D11   D21 1 D11 


C112         
2  q1 q1 q2   1q 2 q2 

1  D31 D31 D11   D31 1 D11 


C113         
2  q1 q1 q3   1q 2 q3 

1  D12 D11 D12  1  D11 


C121        
2  q1 q2 q1  2  q2 
1  D22 D21 D12 
C122     
2  q1 q2 q2 

1  D32 D31 D12 


C123     
2  q1 q2 q3 

1  D13 D11 D13  1  D11 


C131        
2  1q q3 q1  2 q
 3 

1  D23 D21 D13 


C132     
2  q1 q3 q2 

1  D33 D31 D13 


C133     
2  q1 q3 q3 
1  D11 D12 D21 
C211     
2  q2 q1 q1 

1  D21 D22 D21  1  D22 


C212        
2  q2 q1 q2  2  q1 

1  D31 D32 D21 


C213     
2  q2 q1 q3 

1  D12 D12 D22   D 1 D22 


C221        12  
2  q2 q2 q1   q2 2 q1 

1  D22 D22 D22  1  D22 


C222        
2  q2 q2 q2  2  q2 
1  D32 D32 D22   D 1 D22 
C223        32  
2  q2 q2 q3   2q 2 q3 

1  D13 D12 D23 


C231     
2  q2 q3 q1 

1  D23 D22 D23  1  D22 


C232        
2  q2 q3 q2  2  q3 

1  D33 D32 D23 


C233     
2  q2 q3 q3 

1  D11 D13 D31 


C311     
2  q3 q1 q1 
1  D21 D23 D31 
C312     
2  3q q1 q2 

1  D31 D33 D31  1  D33 


C313        
2  3q q1 q3  2 q
 1 

1  D12 D13 D32 


C321     
2  3q q2 q1 

1  D22 D23 D32 


C322     
2  q3 q2 q2 

1  D32 D33 D32  1  D33 


C323        
2  q3 q2 q3  2  q2 
1  D D13 D33   D13 1 D33 
C331   13      
2  q3 q3 q1   3q 2 q1 

1  D D23 D33   D23 1 D33 


C332   23      
2  q3 q3 q2   3q 2 q2 

1  D33 D33 D33  1  D33 


C333        
2  q3 q3 q3  2  q3 
C(q, q )k,j elemanları

n
C(q, q )1,1   Cijk q i
i 1

 1  C211q
 C111q  2  C311q
3

n
C(q, q )1,2   Cijk q i
i 1

 1  C212q
 C112q  2  C312q
3

n
C(q, q )1,3   Cijk q i
i 1

 1  C213q
 C113q  2  C313q
3
n
C(q, q )2,1   Cijk q i
i 1

 1  C221q
 C121q  2  C321q
3

n
C(q, q )2,2   Cijk q i
i 1

 1  C222q
 C122q  2  C322q
3

n
C(q, q )2,3   Cijk q i
i 1

 1  C223q
 C123q  2  C323q
3

n
C(q, q )3,1   Cijk q i
i 1

 1  C231q
 C131q  2  C331q
3
n
C(q, q )3,2   Cijk q i
i 1

 1  C232q
 C132q  2  C332q
3

n
C(q, q )3,3   Cijk q i
i 1

 1  C233q
 C133q  2  C333q
3
Bir robotun her bir bağının kinetik enerjisini bulmak için

1 T 
K q D(q)q (1.12.1)
2

denkleminden faydalanılır. Denklemde, D(q) kütle matrisini, q ise eklem


değişkenlerinin hızlarını göstermektedir. Şimdi bu denklemi kullanarak öncelikle
örnek 1.5.3’de ki robotun her bir bağının kinetik enerjisini daha sonrada robotun
toplam kinetik enerjisini bulalım. Birinci bağın kütle matrisini hatırlayalım.

Izz1 0 0
 
D(q1 )   0 0 0
 0 0 0

Sonuç olarak birinci bağın kinetik enerjisi aşağıdaki gibi bulunur.

1 T 
K1  q D(q1)q
2

Izz1 0 0  1 

2

1 
1  2 d 
  0
3 
 
0 0  2 
 0 0 0 d
 
3

1
 Iz z1  12 (1.12.2)
2
İkinci bağın kinetik enerjisi aşağıdaki gibi bulunur.

1 T 
K2  q D(q2 )q
2

1 2 2 2 
 4 m2d2  s 2Ix x2  c 2Iyy2 0 0   
 
1
1      
 1  2 d 3  0 Izz2 0 2 
2
 0 0 0 d 
3
 
1 1  2  1 I  2
 ( m2d2
2  s2
 I
2 x x2  c2
 I )
2 yy2 1 zz 2 (1.12.3)
2 4 2 2
Üçüncü bağın kinetik enerjisi

1 T 
K3  q D(q3 )q
2

 D11(q3 ) D12(q3 )  d2m3s2    



1 
2

1  2 
3

d d m c ( 1 l  d ) D (q )

2 3 2
2
3 3 22 3 0
 1 
  2 
  
  m3d2s2 0 m3  d3 

1 2 1
 [s 2 (Ix x3  m3 ( l2 2 2 2 2
3  l3d3  d3 ))  Izz3 c 2  m3d2 ]1
2 4
1 1 2  1 m d
2
 [m3( l2
3  l d
3 3  d2
3 )  I ]
yy3 2 3 3
2 4 2

1 
 [d2m3c2( l3  d3 )] 1 2  [d2m3s2]1d 3 (1.12.4)
2
şeklinde elde edilir. Denklemde kullanılan kısaltmalar aşağıda verilmiştir.

1
D11(q3)  m3s22( l2 2 2 2 2
3  l3d3  d3 )  m3d2  s 2Ix x3  c 2Izz3
(1.12.5)
4
1
D12(q3)  d2m3c2( l3  d3 ) (1.12.6)
2
1
D22(q3)  m3( l2 2
3  l3d3  d3 )  Iyy3 (1.12.7)
4
Bağların kinetik enerjilerinin toplamı robotun toplam kinetik enerjisini verir ve
aşağıdaki gibi gösterilir.

K T  K1  K2  ... Ki
(1.12.8)
denklemde i robotun serbestlik derecesini göstermektedir. Bu durumda
toplam kinetik enerji her bağın kinetik enerjisinin toplanmasıyla aşağıdaki gibi
bulunur.
K T  K1  K2  K3

1 1 1
 Izz1  12  ( m2d2 2 2 2
2  s 2Ix x2  c 2Iyy2 )1
2 2 4
1 1 2 1 2
 Izz2  2
2  [s  (I
2 x x3  m3 ( l3  l3d3  d2 2 2 2
3 ))  Izz3 c 2  m3d2 ]1
2 2 4
1 1 2 1 m d2
 [m3( l2 2
3  l3d3  d3 )  Iyy3 ]2  3 3
2 4 2

1
 [d2m3c2( l3  d3 )] 1 2
2


 [d2m3s2]1d 3 (1.12.9)
Toplam kinetik enerjiyi bulmanın başka bir yolu ise denklem 1.12.1’de D(q)
yerine robotun toplam kütle matrisini yazmaktır. Robotun topla kütle martısı
denklem 1.5.66’da verilmiştir. Bu durumda toplam kinetik enerji matrisi

1 T  (1.12.10)
KT  q D(q)q
2
 1 
 D11 d2m3c2 ( l3  d3 )  d2m3s2 

 2   1 

2

1 
1  2 d3
 d m c ( 1 l  d )
 2 3 2
2
3 3 D22 0   2 
  
  m3d2s2 0 m3  d3 
 
 

bulunur. Yukarıdaki işlemin sonucu 1.12.9’daki sonuçla aynıdır. Ayrıca


denklemde,
1 1 2
D11  Izz1  m2d2 2 2
2  s 2 (Ix x2  Ix x3  m3( l3  l3d3  d3 ))
4 4

 c22(Iyy2  Izz3 )  m3d2


2

1
D22  m3( l2 2
3  l3d3  d3 )  Izz2  Iyy3
4

Bir bağın potansiyel enerjisi, bağın kütlesi, yerçekimi ivmesi ve kütle


merkezine göre bağın yüksekliğinin çarpılmasıyla bulunabilir. Her bir bağın
kütle merkezine göre yüksekliği hi vektörünün z ekseni göz önünde
bulundurularak kolayca hesaplanabilir. Bu durumda, potansiyel enerji
denklemi aşağıdaki gibi ifade edilir.

Pi  mighi(z) (1.12.11)
Bağların potansiyel enerjilerinin toplamı robotun toplam potansiyel enerjisini
verir ve aşağıdaki gibi gösterilir.

PT  P1  P2  ... Pi (1.12.12)

Yukarıdaki denklemi kullanarak her eklemin potansiyel enerjisi aşağıdaki gibi


bulunur.

1
P1  m1gh1(z)  m1gh1 (1.12.13)
2

P2  m2gh2(z)  m2gh1 (1.12.14)

P3  m3gh3(z)  m3g[cos 2 ( 1 l3  d3 )  h1 ] (1.12.15)


2
Robotun toplam potansiyel enerjisi ise

PT  P1  P2  P3

1 1
 m1gh1  m2gh1  m3g[cos2( l3  d3 )  h1]
2 2
(1.12.15)

şeklinde bulunur. Toplam potansiyel enerjinin her bir eklem değişkenine göre
türevi alınarak tork ifadesindeki yer çekimi vektörü elde edilebilir. Bu durum
aşağıdaki denklemle gösterilebilir.

PT
Gi  (1.12.16)
qi
Bu durumda her bir eklemin yer çekimi vektörü aşağıdaki gibi bulunur.

PT
G1  0 (1.12.17)
q1

PT 1
G2   m3g sin 2 ( l3  d3 ) (1.12.18)
q2 2

PT
G3   m3g cos 2 (1.12.19)
q3

Yukarıda elde edilen G1, G2 ve G3 denklem 1.5.68, 1.5.70 ve 1.5.72’deki ile


aynıdır.
1.13. Tork ifadesinin Ayrık parametreler Cinsinden Yazılması

Bir robot manipülatörünün eklemlerine etkiyen tork ifadesi sabit ve değişken


parametreler cinsinden ayrı ayrı tanımlanabilir. Sabit parametreler (  ) gibi
bir vektörle, değişken parametreler, Y(q, q , q
) gibi bir matrisle ifade edilir. Bu
iki ifade aşağıdaki gibi çarpılarak tork ifadesi elde edilir.

, q
Y(q, q )   (1.13.1)
denklemde  vektörü tork vektörünün sabit terimlerinden oluşurken Y(q, q , q )
matrisi ise tork vektörünün konum hız ve ivme ifadelerinden oluşur. Şimdi
örnek 1.5.3’de ki robotun tork vektörünü ( ) ve Y(q, q
, q
) cinsinden yazalım.

y11 y12 y13 y14 y15 y16 y17 0 y19   1 


   
 0 0 y 23 y 24 y 25 y 26 y 27 y 28 0    2 
 0 0 y33 y34 0 y36 0 0 0   3 
(1.13.2)
denklemde   1 2 3 4 5 6 7 8 9 T ’dir. Bu vektör aşağıda
görüldüğü gibi robotun sabit yapısal terimlerini içerir.
1  Izz1  1
m2d2
2  m3d2
2
4
1
2  Ix x2  Ix x3  l2
3m3
4
3  m3l3

4  m3
1
5  d2l3m3
2
6  d2m3
1 2
7  Ix x2  Ix x3  Iyy2  Izz3  l3m3
4
1 2
8  Izz2  Iyy3  l3m3
4
9  Iyy2  Izz3
, q
Ayrıca Y(q, q ) matrisinin elemanları ise aşağıdaki gibi bulunur.

y11  1

y12  s221

y13  d3s221  2d3s2c21 2  s22 1 3

y14  d2 2  2   2  
3s 21  2d3s2c212  2d3s 213

y15  c22  s2 2


2

y16  d3c22  s23  d3s2 2  


2  2c223

y17  2s2c2 1 2

y19  c221
y23  d32  d3s2c212   2 3  1
gs2
2

y24  d2 2 2  
32  d3s2c21  2d323  d3gs2

y25  c21

y26  d3c21

y27  s2c212

y28  2
1 2 2 1 2
y33  s 21  
2 2 2

  d s2  2  d  2  gc
y34  d 3 3 2 1 3 2 2

y36  s21
1.14. Robot Dinamiğinin Kartezyen Uzayda Tanımlanması

Şimdiye kadar dinamik denklemleri aşağıdaki genel denklemde görüldüğü gibi


eklem uzayında ifade ettik.
  C(q, q
i  D(q)q  )  G(q)

Robot dinamiğini kartezyen değişkenler cinsinden ifade etmek için ise

 )  Gx (q)
F  Dx (q)  Cx (q, q (1.14.1)

denklemi kullanılır. Denklemde, F robotun uç işlevcisine etki eden kuvvet-tork


vektörünü,  uç işlevcinin konum ve yönelimini,  ve  ise sırasıyla doğrusal
ve açısal hız ve ivmeleri temsil eden kartezyen vektörü göstermektedir.

F  fx fy fz x y z T

  p x p y pz    T


  vx vy vz x y z T


  v x v y v z 
x 
y 
z T
Diğer terimler eklem uzayında olduğu gibi,Dx (q) kartezyen kütle matrisi,
 ) Kartezyen Coriolis ve merkezkaç kuvvet vektörü ve Gx (q)
Cx (q, q
yerçekimi vektörünü göstermektedir. Kartezyen uzaydan eklem uzayına
geçmek için aşağıdaki denklem kullanılır.

  JT (q)F
(1.14.3)
Denklemde JT Jakobiyen matrisin devriğini göstermektedir. Denklem 1.14.3’ün
her iki tarafını J-T ile çarpalım.

J T   J T JTF
Denklemde JT JT  I matris olduğundan

F  JT  (1.14.4)
şeklinde elde edilir. Denklemde  ifadesi yerine eşdeğerini yazalım.

F  J T [D(q)q
  C(q, q
 )  G(q)]

 J TD(q)q
  J T C(q, q
 )  J T G(q)
(1.14.5)
Bilindiği gibi uç işlevcideki kartezyen hızlar Jakobiyen matrisi ve eklem hızları
cinsinden aşağıdaki gibi ifade edilmektedir.

  Jq (1.14.6)
Bu denklemin her iki tarafının da türevini alalım.
  J q
  Jq


 çekilirse ivme ifadesi aşağıdaki gibi elde edilir.


Denklemden q

  J1  J1J J1


q (1.14.7)

İvme ifadesi denklem 1.14.5’de yerine yazılınca robotun uç işlevcisine etki


eden kuvvet-tork vektörü aşağıdaki gibi olur.

F  J TD(q)J1  J TD(q)J1J J1  J T C(q, q


 )  J T G(q) (1.14.8)

Yukarıda elde ettiğimiz ifadeyi denklem 1.14.1 ile eşitleyelim.


J TD(q)J1  J TD(q)J1J J1  J T C(q, q
 )  J T G(q)

 )  Gx (q)
 Dx (q)  Cx (q, q (1.14.9)

Karşılıklı ifadeler bir birine eşit olacağından Kartezyen kütle matrisi, Coriolis ve
merkezkaç kuvvet vektörü ve yerçekimi ivmesi aşağıdaki gibi bulunur.

Dx (q)  JT (q)D(q)J1(q) (1.14.10)

Cx (q, q  )  D(q)J1(q)J(q)J1 ]
 )  JT (q)[C(q, q (1.14.11)

Gx (q)  J TG(q) (1.14.12)


1.15. Hamiltonion Denklemiyle Robot Dinamiğinin Bulunması

Bir robot manipülatörünün dinamik modelini çıkarmanın başka bir yolu da


Hamiltonion denklemi kullanmaktır. Hamiltonion denklemi kinetik enerji ile
potansiyel enerjinin toplamından oluşmaktadır.
H=K+V (1.15.1)

Denklemde K bir robot manipülatörünün kinetik ve P ise Potansiyel enerjisini


göstermektedir. Daha önce bir robot manipülatörünün kinetik ve potansiyel
enerjisinin nasıl bulunacağını anlatılmıştı. Hamiltonion denklemi ‘H’ ile bir
robotun eklemlerine etkiyen torklar arasında aşağıdaki ilişki vardır.

H(q, q )  T
q 
t (1.15.2)
)
H(q, q
Denklemde t ifadesi n serbestlik dereceli bir robot için zincir
kuralından faydalanarak aşağıdaki gibi yazılır.

)
H(q, q H  H  H  H  H  H 
 q1  q1  q2  q2 ... qn  qn
t 1
q  q1 q2  q2 n
q  qn

Bu durumda denklem 1.15.2 aşağıdaki gibi yeniden düzenlenebilir.


H  H  H  H  H  H 
q1  q1  q2  q2 ... qn  qn

 q1  q1 
 q2  q2 
 qn  qn
 1 
 

 q 1 q
2  n  2 
... q
...
 
 n 
(1.15.4)
ÖRNEK 1.13.1.

Örnek 1.5.3’deki robotunun Hamiltonion denklemini yazıp bu denklemden


faydalanarak her bir ekleme etkiyen torkları bulunuz.

ÇÖZÜM 1.13.1

Daha önce örnek 1.5.3’deki robotunun kinetik enerjisi denklem 1.12.9 ve


potansiyel enerjisi denklem 1.12.15’de elde edilmişti. Bu ifadelerden
faydalanarak Hamiltonion denklemini aşağıdaki gibi elde edilir.
H=P+K

1 1 1
 Izz1  12  ( m2d2 2 2 2
2  s 2Ix x2  c 2Iyy2 )1
2 2 4
1 1 2 1 2
 Izz2  2
2  [s  (I
2 x x3  m3 ( l3  l3d3  d2 2 2 2
3 ))  Izz3 c 2  m3d2 ]1
2 2 4
1 1 2  1 m d
2
 [m3( l2
3  l d
3 3  d2
3 )  I ]
yy3 2 3 3
2 4 2
1
 [d2m3c2( l3  d3 )] 1 2
2
1 1
 m1gh1  m2gh1  m3g[c os2( l3  d3 )  h1]
2 2
Bu ifadeyi denklem 1.13.4’teki denkleme uyarlayalım.

 1 
H 
  1
1 
H 
 1
1 
H 
  2
2 
H 
 2
2 
H 

d
d3 
H 
 d3

d3   1  2 d 
  
3  2
3  3 

H 
  1
1 
H 
 1
1 
H 
  2
2 
H 
 2
2 
H 

d
d3 

H 
d
  
d3   11   2 2  d3 3 
3 3
Denklemde,

H  1
1  [(Izz1  m2d2
2  s22Ix x2  c22Iyy2 ) 1
  1 4
1
 (s2 2 (Ix x3  m3 ( l2 2 2 2 
3  l3d3  d3 ))  Izz3 c 2  m3d2 )1
4
1  ]
 d2m3c2( l3  d3 ) 2  (d2m3s2 )d3 1
2 (1.15.5)

H 
1  0 (1.15.6)
 1
H  1
2  [(m3( l2
3  l3d3  d2
3 )  Izz2  Iyy3 ) 2
 
2 4
1
 d2m3c2( l3  d3 ) 1]2 (1.13.7)
2
H  1
2  [s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12
 2 4

1 
 d2m3s2 ( l3  d3 ) 1 2  d2m3c2 1d 3
2
1 (1.15.8)
 m3gs2( l3  d3 )] 2
2

H    d m s  ]d

d3  [m3d3 2 3 2 1 3 (1.15.9)

d 3

1 1 2
H 
d3  [ s  2 m3 ( d 3  l3 )12
2
 m3(d3  l3 )2
 d3 2 2

 d2m3c2 1 2 
 m3gc2 ]d 3 (1.15.10)
Yukarıda elde ettiğimiz denklemlerdeki parantezleri açalım.

H  1 2 2 1 2 2
1  [Izz1  m2d2  s 2(Ix x2  Ix x3  m3( l3  l3d3  d3 ))
  1 4 4
 c22(Iyy2  Izz3 )  m3d2 ]   d m c ( 1 l  d ) 

2 1 1 2 3 2 3 3 2 1
2
 
 (d2m3s2 )d (1.15.11)
3 1

H  1
2  (m3 ( l23  l3d3  d23 )  Izz2  Iyy 3 ) 22
 
2 4

1
 d2m3c2 ( l3  d3 ) 12
2 (1.15.12)
H  1
2  s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12  2
 2 4
1
 d2m3s2 ( l3  d3 ) 1 2  2  d2m3c2 1d
 
3 2
2
1
 m3gs2 ( l3  d3 ) 2 (1.15.13)
2

H 
d3  m d d
  d m s  d


d 3 3 3 2 3 2 1 3 (1.15.14)
3

H  1 1
d3  s 2 2m3 ( d 3  l3 )12d3  m3 (d3  l3 ) 22d 3
 d3 2 2

 d2m3c2 1 2d 
 m3gc2d
3 3 (1.15.15)
Denklem 1.5.77, 1.5.78 ve 1.5.79’daki torkları elde etmek için denklem 1.13.13’teki
1
denklemde s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12  2 ifadesini ekleyip
4
1
çıkaralım. Denklemde (Ix x2  Ix x3  Iyy2  Izz3  m3( l2 2
3  l3d3  d3 )) ifadesini A kabul
4
edip işlemleri ona göre yapalım

s2c2A 12 2  s2c2A 12 2  s2c2A 12 2

Denklemi aşağıdaki gibi düzenleyelim.

2s2c2A 12 2  s2c2A 12 2

Yeni durumda denklem 1.15.13 aşağıdaki gibi olur.


H  1
2  2s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12  2
 2 4
1
 s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l2 2 2
3  l3d3  d3 ))1 2
4
1  
 d2m3s2 ( l3  d3 ) 1 2  2  d2m3c2 1d3 2
2
1
 m3gs2 ( l3  d3 ) 2
2 (1.15.16)
1
Aynı şekilde denklem 1.13.15’te s2 2m3 (d3  l3 ) 12d 3 ifadesini aynı denkleme
2
ekleyip çıkaralım.
1   s2  m (d  1 l ) 2d
  s2  m (d  1 l ) 2d

s2 2m3 (d3  l3 ) 12d3 2 3 3 3 1 3 2 3 3 3 1 3
2 2 2

Denklemi aşağıdaki gibi düzenleyelim

  s2  m ( 1 l  d ) 2d
s2 2m3 (l3  2d3 ) 12d 
3 2 3 3 3 1 3
2
1
Bu seferde  m3 (d3  l3 ) 22d 3 ifadesini aynı denkleme ekleyip çıkaralım.
2

1   m (d  1 l ) 2d
  m (d  1 l ) 2d

m3 (d3  l3 ) 2 d
2 3 3 3 3 2 3 3 3 3 2 3
2 2 2
Denklemi aşağıdaki gibi düzenleyelim.
  m ( 1 l  d ) 2d
m3 (l3  2d3 ) 22d 
3 3 3 3 2 3
2
Bu düzenlemelerden sonra denklem 1.15.15 aşağıdaki gibi bulunur.

H  1
d3 = s2 2m3 (l3  2d3 ) 12d 3  s2 2m3 ( l3  d3 ) 12d 3
 d3 2

  m ( 1 l  d ) 2d
m3 (l3  2d3 ) 22d 
3 3 3 3 2 3
2

 d2m3c2 1 2d 
 m3gc2d
3 3 (1.15.17)
Şimdi de yukarıda elde ettiğimiz denklem 1.15.11, 1.15.12, 1.15.13, 1.15.14,
1.15.16 ve 1.15.17’yi eklem torklarını bulmak için toplayalım. Toplam
içerisindeki terimleri dik dörtgenler içerisine alalım. Bu dik dörtgenlere de
içerisinde ki terimler hangi tork ifadesine aitse onu gösterecek şekilde birer
çember iliştirelim. Bu anlatılanlar aşağıda açık bir şekilde gösterilmiştir.

1 1 2
[Izz1  m2d2
2  s2
 (I
2 x x2  Ix x3  m3 ( l3  l3d3  d2
3 ))
4 4
Bu aşamada her bir tork ifadesine ait terimleri bir araya toplayalım.

1 1 2
1,1    1,8  [Izz1  m2d2 2 2
2  s 2 (Ix x2  Ix x3  m3 ( l3  l3d3  d3 ))
4 4

 c22(Iyy2  Izz3 )  m3d2  


2 ]11
1
 2s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12  2
4
1 1
 d2m3c2 ( l3  d3 ) 12  d2m3s2 ( l3  d3 ) 1 2  2
2 2

 d2m3s21d 
 s22m3(l3  2d3 ) 12d
3 3

 
 d2m3c2 1d 
 d2m3c2 1 2d
3 2 3
(1.15.18)

1 1
2,1    2,5  d2m3c2 ( l3  d3 ) 21  (m3 ( l2 2  
3  l3d3  d3 )  Izz2  Iyy 3 )2 2
2 4
1
 s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l2 2 2
3  l3d3  d3 ))1 2
4

 m3(l3  2d3 ) 2 


2d3
(1.15.19)
   m d
3,1    3,5  (d2m3s2 )d  
3 1 3 3d3

1 
 s22m3( l3  d3)12d 3
2
1  
 m3( l3  d3) 2
2d3  m3gc2d3 (1.15.20)
2

Son olarak denklem 1.15.18’deki ifadeyi ,  1 denklem 1.13.19’daki ifadeyi


.  2 ve denklem 1.15.20’deki ifadeyi d 3 parantezine alalım. Parantez
içerisindeki ifadeler sırasıyla 1, 2 ve 3’ü verir. Elde edilen bu torklar denklem
1.5.77, 1.5.77 ve 1.5.79 ile aynı çıkmıştır.
 1 1 2
1,1    1,8  [Izz1  m2d2
2  s2
 (I
2 x x2  I x x3  m3 ( l3  l d
3 3  d2
3 ))
 4 4

 c22(Iyy2  Izz3 )  m3d2 ]   d m c ( 1 l  d )  d m s d


2 1 2 3 2 3 3 2 2 3 2 3
2
1
 2s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l2 2  
3  l3d3  d3 ))12
4
1 
 d2m3s2 ( l3  d3 ) 22  s22m3(l3  2d3 ) 1d 3
2

 2d2m3c2 2d 
 
3 1
 1
2,1    2,5  d2m3c2 ( l3  d3 )1  (m3 ( 1 l23  l3d3  d23 )  Izz  Iyy )2
 2 4 2 3

1
 s2c2 (Ix x2  Ix x3  Iyy 2  Izz3  m3 ( l23  l3d3  d23 )) 12
4
 1 
 m3 (l3  2d3 ) 2d 3  m3 gs 2 ( l3  d3 2
)
2 
3,1 
   3,5   (d2m3s2 )1  m3d 
3  s 2
 m
2 3 (
1
2
l3  d3 ) 12

1
 m3 ( l3  d3 ) 22  m3gc2 d

3
2
1.16. RRP Eklem Yapısına Sahip bir Robotun Benzetim Modelinin
Çıkarılması
Şekil 1.6’daki RRP eklem yapısına sahip robotun üç boyutlu uzayda meydana
getirdiği hareketlerin detaylı analizi yapmak için bu robotun Şekil 1.13’te ki
dinamik düzenleşimini göz önünde bulunduralım. Eklemler sıfır konumundan
başlamak suretiyle 10 saniye içerisinde sırasıyla, birinci eklem 360 derece,
ikinci eklem 180 derece ve üçüncü eklem 20 birim hareket etsin. Bu hareket
gerçekleşirken sırasıyla
a) Kütle matrisinin her bir elemanının
b) Coriolis/merkezkaç kuvvet, yer çekimi vektörü ve eklem torklarının,
c) Her bir eklemin, kinetik/potansiyel enerjisini, Lagrange ve Hamilton
grafiklerini
d) Y matrisi ve vektörünü kullanarak her bir eklemdeki torkun zamana
göre grafiğini çiziniz. Burada bulduğumuz sonuçlarla b şıkkından elde
ettiğimiz sonuçları karşılaştıralım.
e) Her bir eklemde meydana gelen çizgisel ve dönel kuvvetlerin zamana
göre grafiklerini çizelim.
b=0.25 m3

a=1 d3=20

r2
d2=10
m2
r2=2
r1

r1=3
m1
h1=30

z0,1

Şekil 1.13. RRP eklem yapısına sahip robotun dinamik düzenleşimi.


Şekil 1.13’teki robotun bağ uzunlukları ve kütle ağırlıkları aşağıda verilmiştir.

h1=30, d2=10, d3=20, m1=15, m2=6, m3=3

Şekil 1.13’te görüldüğü gibi ilk iki bağ silindirik yapıya sahiptir. Yoğunluğu
homojen olarak dağılmış bu silindirik nesnelerin atalet momenti aşağıdaki gibi
hesaplanır (kitabın ekler bölümünde yoğunlukları homojen olarak dağılmış
bazı geometrik şekillerin atalet momentleri verilmiştir).

m1(3r12  4h12 ) 15(3  32  4  302 )


Ix x1    4533. 8
12 12

m1(3r12  4h12 )
Iyy1   4533. 8
12

m1r12
Izz1   67. 5
2
m2(3r22  4d2
2 )  206
Ix x2  Iyy2 
12
m2r22
Izz2   12
2

Üçüncü eklem prizmatik bir yapıya sahip olduğundan atalet momenti aşağıda
görüldüğü gibi hesaplanır.

m3(b2  4d2
3)
Ix x3   400. 02
12

m3(a2  4d2
3)
Iyy3   400. 25
12

m3(a2  b2 )
Izz3   0.265
12
Elde ettiğimiz bu değerleri Matlab’te uygulayalım. Öncelikle Matlab
programında komutunu yazmak veya Şekil 1.14’te görüldüğü gibi Matlab araç
çubuğunda bulunan simulink model butonunu tıklamak suretiyle simulink
başlatılır.

Şekil 1.14. Matlab komut penceresi


Simulink komutunun yazılmasıyla Simulink iki tane pencere açar. Birinci
pencere başlıksız, içerisine yeni modellerin çizilebileceği Şekil 1.15’te görülen
bir model penceresidir.

Şekil 1.15. Yeni bir model penceresi.


İkinci pencere ise Şekil 1.16’da görülen blok kütüphanelerini içeren ana
penceredir.

Şekil 1.16. Blok kütüphanelerini içeren ana pencere


Simulink hakkında detaylı bilgiyi (Bingül 2005) kaynağından alabilirsiniz.
Örneği gerçekleştirmek için,

1. Başlangıç değerlerinin tanımlandığı ‘iniNS.m’ adlı bir m dosyası


açıp aşağıdaki ifadeleri içerisine yazalım.

iniNS.m dosyası

global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2


Izz3 g q1i q1f q2i q2f q3i q3f tf
h1=30; d2=10; l3=20; m1=15; m2=6; m3=3;
Ixx1=4533.8; Iyy1=4533.8 Izz1=67.5;
Ixx2=206; Iyy2=206; Izz2=12;
Ixx3=400.02; Iyy3=400.25; Izz3=0.265;
g=9.81
q1i=0; %birinci eklemin başlangıç açı değeri
q1f=360; %birinci eklemin bitiş açı değeri
q2i=0; %ikinci eklemin başlangıç açı değeri
q2f=180; %ikinci eklemin bitiş açı değeri
q3i=0; %Üçüncü eklemin başlangıç açı değeri
q3f=20; %Üçüncü eklemin bitiş açı değeri
tf=10; %bitim zamanı

Birkaç farklı dosyada kullanılacak olan değişkenlerin ‘global’ değişken olarak


atandığına dikkat edin. ‘iniNS.m’ adlı dosya içerisinde örnekte yer alan
eklemlerin başlangıç ve bitiş açı değerleri, bunların sembolik ifadeleri ( q1i,
q1f, q2i, q2f ... gibi) ve eklemlerin çalışma süresi (tf) yer almaktadır.
2. Örnekte verilen robot eklemlerinin yumuşak bir şekilde hareket
edebilmesi için üçüncü dereceden polinomla gerçekleştirilen bir
yörüngeden faydalanılmıştır. Bu yörünge ‘yorunge.m’ adlı bir
dosyaya yazılır.

yorunge.m dosyası

function yor=yorunge(t);
global q1i q1f q2i q2f q3i q3f tf;
%%%% Birinci eklem %%%%
a10=q1i;
a11=0;
a12=(3/tf^2)*(q1f-q1i);
a13=(-2/tf^3)*(q1f-q1i);
konum1=a10+a11*t+a12*t^2+a13*t^3;
hiz1=a11+2*a12*t+3*a13*t^2;
ivme1=2*a12+6*a13*t;
%%%% İkinci eklem %%%%
a20=q2i;
a21=0;
a22=(3/tf^2)*(q2f-q2i);
a23=(-2/tf^3)*(q2f-q2i);
konum2=a20+a21*t+a22*t^2+a23*t^3;
hiz2=a21+2*a22*t+3*a23*t^2;
ivme2=2*a22+6*a23*t;
%%%% Üçüncü eklem %%%%
a30=q3i;
a31=0;
a32=(3/tf^2)*(q3f-q3i);
a33=(-2/tf^3)*(q3f-q3i);
konum3=a30+a31*t+a32*t^2+a33*t^3;
hiz3=a31+2*a32*t+3*a33*t^2;
ivme3=2*a32+6*a33*t
yor=[konum1; hiz1; ivme1; konum2; hiz2; ivme2; konum3; hiz3;
ivme3];

Her bir ekleme ait konum, hız ve ivme bilgisi ‘yor’ adlı bir vektöre yukarıda
olduğu gibi yazılır. Bu vektördeki sıralama daha sonra kullanılacaktır.

3. Örnekte istenenler çok uzun olduğundan öncelikle a şıkkını


gerçekleştirelim. Bunun için dynNS.m dosyasını yazalım. ‘yorunge.m’
dosyasında bulunan ‘yor’ vektöründeki her bir elemanın dynNS.m
dosyasındaki (q1, dq1, ddq2...) değişkenlerine atanmasına dikkat
ediniz.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
q1=u(1); %Birinci eklemin konumu
q2=u(4); %İkinci eklemin konumu
q3=u(7); %Üçüncü eklemin konumu
dq1=u(2); %Birinci eklemin hızı
dq2=u(5); %İkinci eklemin hızı
dq3=u(8); %Üçüncü eklemin hızı
ddq1=u(3); %Birinci eklemin ivmesi
ddq2=u(6); %İkinci eklemin ivmesi
ddq3=u(9); %Üçüncü eklemin ivmesi

s1=sin(q1*pi/180); s2=sin(q2*pi/180); s3=sin(q3*pi/180);


c1=cos(q1*pi/180); c2=cos(q2*pi/180); c3=cos(q3*pi/180);
%%% Kütle matrisi %%%
M11=Izz1+(1/4)*m2*d2^2+s2^2*(Ixx2+Ixx3+m3*(0.25*l3^2-
l3*q3+q3^2))+ c2^2*(Iyy2+Izz3)+m3*d2^2;
M12=d2*m3*c2*(0.5*l3-q3);
M13=-d2*m3*s2;
M21=d2*m3*c2*(0.5*l3-q3);
M22=Izz2+Iyy3+m3*(0.25*l3^2-l3*q3+q3^2);
M23=0;
M31=-d2*m3*s2;
M32=0;
M33=m3;

M=[M11 M12 M13; M21 M22 M23; M31 M32 M33];


robot_param=[M];
Kütle matrisinin her bir elemanının zamana göre değişimini görmek için
‘nsdynamic.mdl’ dosyasını gerçekleştirelim. Öncelikle ‘yorunge.m’ dosyasına
eklemlerin konum, hız ve ivme ifadelerinde kullanılan ‘t’ zamanını üreten clok
bloğu eklenir. ‘yorunge.m’ dosyasında görüldüğü gibi zaman ‘t’ değişkeniyle
açıklandığından (konum1=a10+a11*t+a12*t^2+a13*t^3) ‘function
yor=yorunge(t)’ ifadesinde parantez içerisine (t) yazılır. ‘nsdynamic.mdl’
dosyasındaki simulation menüsünde Simulation parameters seçeneği
tıklanarak simulasyonun başlangıç/bitiş zamanı ve simulasyon adım sayısı
belirlenebilir. Şekil 1.17’de görüldüğü gibi başlangıç zamanı (start time) 0.0,
bitiş zamanı (stop time) 10.0 ve simulasyon adım sayısı 0.01 olarak
belirlenmiştir. Bitiş zamanı (stop time) iniNS.m dosyasındaki tf=10 ile aynı
olmalıdır.
Şekil 1.17. Simülasyon başlangıç/bitiş zamanı ve simülasyon adım sayısının
belirlenmesi.
clok bloğu yorunge bloğuna eklenir. Yorunge bloğu 9 adet çıkışa sahip
olduğundan, bu bloğa 9 adet çıkışı bulunan bir demux bloğu eklenir. Bu blok
ise 9 adet girişi olan bir mux bloğuna eklenir. Aslında ‘demux’ ve ‘mux’
bloklarına gerek yoktur. Yorunge bloğu doğrudan dynNS bloğuna eklenebilir.
Her bir eklemin konum, hız ve ivme grafikleri görüntüleneceğinden bu bloklar
kullanılmıştır. Sonuç olarak dynNS bloğu 9 adet çıkışı bulunan bir demux
bloğuna eklenir. Bu bloğa kütle matrisinin elemanlarının grafiklerini
görüntülemek için 9 adet scope eklenir. Bu durumda ‘nsdynamic.mdl’ dosyası
Şekil 1.18’deki gibi oluşturulur.
Şekil 1.18. ‘nsdynamic.mdl’ dosyası.
Simulink model penceresinde hazırlanan bir simülasyonu çalıştırmak için
menü çubuğundaki Simulation menüsünden Start seçeneğini, Ctrl+T kısa
yolunu veya help menüsünün altındaki üçgeni kullanabiliriz. Bu simülasyonun
çalışabilmesi için File menüsünden Model properties seçeneğinde Callbacks
tıklanır. Şekil 1.19’da görüldüğü gibi bu seçenekte Model initialization
function içerisine başlangıç değerlerinin atandığı ‘iniNS’ dosyası yazılır.

Şekil 1.19. Başlangıç değerlerinin atanması


Şimdi şekil 1.18’deki ‘nsdynamic.mdl’ dosyasını çalıştırarak sırasıyla eklemlerin
konum, hız, zaman ve kütle matrisinin elamanlarını zamana bağlı olarak
çizelim.

1.16.1. Matlab’te Grafik Çizimi


Şekil 1.18’de M11 kütle çıkışına M11.mat dosyasının eklendiğine dikkat edin.
Bu dosyanın içerisinde ilk satırda M11’in kütle değerleri ve ikinci satırda bu
kütle değerlerinin gerçekleştiği zaman bilgileri yer almaktadır. Şekil 1.18’de
görüntünün sade olması düşünülerek gösterilmemesine karşın kütle
matrisinin her bir elemanı, eklem konum, hız ve ivmeleri için çıkışta bir adet
‘*** .mat’ bloğu bulunmaktadır. Bu ‘*** .mat’ matrislerindeki bilgiler ‘plot’ ve
‘subplot’ komutlarına aşağıdaki gibi yazılarak her bir elemana ait grafik çizilir.
‘subplot’ komutu birden fazla grafiği bir arada çizmek için kullanılır. Örnek
olarak aşağıdaki satırları Matlab programında yazıp M11, M12, M13 ve M14
grafiklerini çizelim.
Öncelikle ‘nsdynamic.mdl’ dosyasında ‘to File1’ bloğu tıklanır. Bu işlem ‘Blok
Parameters: To File1’ adlında bir pencere açar (bu işlem bütün elemanlar için
gerçekleştirilir). Bu pencerenin içerisi Şekil 1.20’deki gibi doldurulur. Daha
sonra ‘nsdynamic.mdl’ dosyası çalıştırılır. Bu dosya çalıştıktan sonra aynı
dizinde M11.mat, M12.mat, M13.mat ve M21.mat dosyaları oluşur.

Şekil 1.20. Blok parametrelerinin dosyaya yazılması.


Daha sonra Matlab programına aşağıdaki satırlar yazılır ve ‘enter’ tuşuna
basılarak Şekil 1.21’deki M11, M12, M13 ve M21 elemanlarının grafiği çizilir.

load M11; load M12; load M13; load M21;

subplot(2,2,1)
plot(M11(1,:), M11(2,:))
subplot(2,2,2)
plot(M12(1,:), M12(2,:))
subplot(2,2,3)
plot(M13(1,:), M13(2,:))
subplot(2,2,4)
plot(M21(1,:), M21(2,:))
Yukarıda yapılan işlemler diğer elemanlar içinde aynı şekilde gerçekleştirilir.

1150 300

1100
250
1050

1000 200

950
M11

M12
150
900

850 100

800
50
750

700 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
0 300

-5 250

-10 200
M13

-15

M21
150

-20
100

-25
50

-30
0 1 2 3 4 5 6 7 8 9 10 0
Zaman (saniye) 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)
750 1

0.8
700
0.6

650 0.4

0.2
600
M22

M23
0
550
-0.2

500 -0.4

-0.6
450
-0.8

400 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
0 1

0.8
-5
0.6

0.4
-10
0.2
M31

M32
-15 0

-0.2
-20
-0.4

-0.6
-25
-0.8

-30 -1
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4

3.8

3.6

3.4

M33 3.2

2.8

2.6

2.4

2.2

2
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.21. Kütle matrisinin elemanlarının grafiği.


Birinci ekleme ait konum, hız ve ivme grafiği şekil 1.22’de görülmektedir.

360 54

48
300
42

240 36
Konum (derece)

30

Hiz
180
24

120 18

12
60
6

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
21.6

15

10

5
Ivme

-5

-10

-15

-21.6
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.22. Birinci eklemin konum, hız ve ivme grafiği.


İkinci ekleme ait konum, hız ve ivme grafiği şekil 1.23’de görülmektedir.

180 27

160 24

140 21

120 18
Konum (derece)

100 15

Hiz
80 12

60 9

40 6

20 3

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
10.8

Ivme 3

-3

-6

-9

-10.8
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.23. İkinci eklemin konum, hız ve ivme grafiği.


Üçüncü ekleme ait konum, hız ve ivme grafiği şekil 1.24’te görülmektedir.

20 3

18
2.5
16

14
2
Konum (birim)

12

10

Hiz
1.5

8
1
6

4
0.5
2

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
1.2

0.8
0.6

0.4
0.2
Ivme
0
-0.2

-0.4

-0.6

-0.8

-1

-1.2
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.24. Üçüncü eklemin konum, hız ve ivme grafiği.


b) Coriolis/merkezkaç kuvvet, yer çekimi vektörü ve tork ifadelerinin
grafiğini çizmek için dynNS.m dosyasında kütle matrisinin altına
aşağıdaki satırlar eklenir. Ayrıca, ‘nsdynamic.mdl’ dosyası da Şekil
1.25’deki gibi yeniden düzenlenir.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;

%%%% Coriolis ve centrifugal kuvvetler %%%%

C1=2*[s2*c2*(Ixx2+Ixx3-Iyy2-Izz3+m3*(0.25*l3^2-
l3*q3+q3^2))]*dq1*dq2-[d2*m3*s2*(0.5*l3-q3)]*dq2^2-
2*[d2*m3*c2]*dq2*dq3+[m3*s2^2*(-l3+2*q3)]*dq1*dq3;
C2=-s2*c2*(Ixx2+Ixx3-Iyy2-Izz3+m3*(0.25*l3^2-
l3*q3+q3^2))*dq1^2+m3*(-l3+2*q3)*dq2*dq3;
C3=m3*s2^2*(0.5*l3-q3)*dq1^2+m3*(0.5*l3-q3)*dq2^2;
C=[C1;C2;C3];

%%%% Yerçekimi vektörü %%%%

G1=0; G2=m3*g*s2*(0.5*l3-q3); G3=m3*g*c2;


G=[G1;G2;G3];

%%%% Eklem torkları %%%%

ddq=[ddq1; ddq2; ddq3]; tork=M*ddq+C+G;


robot_param=[C G tork];
Şekil 1.25. Coriolis ve merkezkaç kuvvet vektörünü çizdiren dosya.
Coriolis ve merkezkaç kuvvet vektörünün elemanlarına ait grafikler Şekil
1.26’da görülmektedir.

5 5
x 10 x 10
5 6

4
4
3

2
2
1

0
C1

C2
-1
-2
-2

-3
-4
-4

-5 -6
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4
x 10
3

C3
-1

-2

-3
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.26. Coriolis ve merkezkaç kuvvet vektörünün elemanları.


Yer çekimi vektörünün elemanlarına ait grafikler Şekil 1.27’de görülmektedir.

1 120

0.8
90
0.6
60
0.4
30
0.2

0 0
G1

G2
-0.2
-30
-0.4
-60
-0.6
-90
-0.8

-1 -120
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
30

20

10

0
G3

-10

-20

-30
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.27. Yer çekimi vektörünün elemanlarının grafikleri.


Eklem torklarına ait grafikler Şekil 1.28’de görülmektedir.

5 5
x 10 x 10
5 6

4
4
3

2
2
1
Tork1

Tork2
0 0

-1
-2
-2

-3
-4
-4

-5 -6
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4
x 10
3

Tork3
0

-1

-2

-3
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.28. Eklem torklarının grafikleri.


c) Her eklemin kinetik/potansiyel enerjisini, robotun toplam
potansiyel/kinetik enerjisini, Lagrange ve Hamilton grafiklerini
çizmek için dynNS.m dosyasında yer çekimi vektörünün altına
aşağıdaki satırlar eklenir. ‘nsdynamic.mdl’ dosyası da Şekil 1.29’daki
gibi yeniden düzenlenir.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;

%%%% Kinetik enerji %%%%

K1=0.5*Izz1*dq1^2;
K2=0.5*(0.25*m2*d2^2+s2^2*Ixx2+c2^2*Iyy2)*dq1^2+0.5*Izz2*dq2
^2
Şekil 1.29. Kinetik/potansiyel enerji, toplam kinetik/potansiyel enerji
Lagrange ve Hamilton model penceresi
K3=0.5*[s2^2*(Ixx3+m3*(0.25*l3^2-l3*q3+q3^2))+c2^2*Izz3+...
m3*d2^2]*dq1^2+0.5*[m3*(0.25*l3^2- l3*q3+q3^2)+…
Iyy3]*dq2^2+l3*q3+q3^2)+Iyy3]*dq2^2+0.5*m3*dq3^2+...
[d2*m3*c2*(0.5*l3-q3)]*dq1*dq2-[d2*m3*s2]*dq1*dq3;

KinEn=[K1;K2;K3];

%%%% Potansiyel enerji %%%%

P1=m1*g*(h1/2); P2=m2*g*h1; P3=m3*g*[c2*(-0.5*l3+q3)+h1];


PotEn=[P1;P2;P3]; robot_param=[KinEn;PotEn];
Şekil 1.29 ve şekil 1.30’da görülen K1, K2 ve K3 bir, iki ve üçüncü eklemlerin
kinetik, P1, P2 ve P3 ise potansiyel enerjisini temsil etmektedir. Ayrıca TK
toplam kinetik enerji, TP toplam potansiyel enerji, L Lagrange ve son olarak H
ise Hamilton ifadelerini göstermektedir.

4 5
x 10 x 10
10 6

9
5
8

7
4
6

K2
5
K1

4
2
3

2
1
1

0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5
x 10
12 2208.5

10
2208

8
2207.5

6
K3

P1
2207
4

2206.5
2

0 2206
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
1767 900

850
1766.5

800

1766
750
P2

P3
1765.5 700

650
1765
600

1764.5 550
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5
x 10
18 4900

16
4850
14
4800
12

10 4750
TK

TP
8 4700

6
4650
4
4600
2

0 4550
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5 5
x 10 x 10
18 18

16 16

14
14
12
12
10
10
8

H
L

8
6
6
4
4
2

0 2

-2 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)

Şekil 1.30. Kinetik/potansiyel enerji, toplam kinetik/potansiyel enerji


Lagrange ve Hamilton grafikleri
d) Y matrisi ve vektörünü kullanarak her bir eklemdeki torkun
grafiklerini çizmek için Yalfa.m adında yeni bir dosya açalım ve bu
dosyaya aşağıdaki satırları ekleyelim. Ayrıca, ‘nsdynamic.mdl’
dosyasını da Şekil 1.31’deki gibi yeniden düzenleyelim.

Yalfa.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;

%%%% Y matrisi ve alfa vektörü %%%%

alfa1=Izz1+0.25*m2*d2^2+m3*d2^2;
alfa2=Ixx2+Ixx3+0.25*m3*l3^2;
alfa3=m3*l3;
alfa4=m3;
alfa5=0.5*d2*l3*m3;
alfa6=d2*m3;
alfa7=Ixx2+Ixx3-Iyy2-Izz3+0.25*l3^2*m3;
alfa8=Izz2+Iyy3+0.25*l3^2*m3;
alfa9=Iyy2+Izz3

y11=ddq1;
y12=s2^2*ddq1;
y13=-q3*s2^2*ddq1-2*q3*s2*c2*dq1*dq2-s2^2*dq1*dq3;
y14=q3^2*s2^2*ddq1+2*q3^2*s2*c2*dq1*dq2+2*q3*s2^2*dq1*dq
3;
y15=c2*ddq2-s2*dq2^2;
y16=-q3*c2*ddq2-s2*ddq3+q3*s2*dq2^2-2*c2*dq2*dq3;
y17=2*s2*c2*dq1*dq2;
y19=c2^2*ddq1
y23=-q3*ddq2+q3*s2*c2*dq1^2-dq2*dq3+0.5*g*s2;
y24=q3^2*ddq2-q3^2*s2*c2*dq1^2+2*q3*dq2*dq3-q3*g*s2;
y25=c2*ddq1;
y26=-q3*c2*ddq1;
y27=-s2*c2*dq1^2;
y28=ddq2;

y33=0.5*s2^2*dq1^2+0.5*dq2^2;
y34=ddq3-q3*s2^2*dq1^2-q3*dq2^2+g*c2;
y36=-s2*ddq1;

ALFA=[alfa1 alfa2 alfa3 alfa4 alfa5 alfa6 alfa7 alfa8 alfa9];


Y=[y11 y12 y13 y14 y15 y16 y17 0 y19; 0 0 y23 y24 y25 y26 y27
y28 0;0 0 y33 y34 0 y36 0 0 0];
tork123=Y*ALFA‘;
Şekil 1.31. Y ve ile eklem torklarını hesaplayan model penceresi.
5 5
x 10 x 10
5 6

4
4
3

2
2
1
Tork1

Tork2
0 0

-1
-2
-2

-3
-4
-4

-5 -6
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4
x 10
3

Tork3
0

-1

-2

-3
0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye)

Şekil 1.32. Y matrisi ve vektörü kullanılarak elde edilen torklar.

Görüldüğü gibi Şekil 1.28’de elde edilen eklem torklarıyla Y matrisi ve vektörü
kullanılarak elde edilen torklar aynı çıkmıştır.
e) Her bir eklemde meydana gelen çizgisel ve dönel kuvvetlerin zamana
göre grafiklerini çizmek için dynNS.m dosyasında kaldığımız yerden
itibaren aşağıdaki satırları ekleyelim.

Birinci eklemdeki çizgisel ve açısal kuvvetler için ‘dynNs.m’ dosyasına


eklenmesi gereken satırlar aşağıda görülmektedir. Birinci eklemdeki çizgisel ve
açısal kuvvetleri görüntülemek için ‘nsdynamic.mdl’ dosyası da Şekil 1.33’de
görüldüğü gibi yeniden düzenlenir.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
%%%%% Birinci eklemdeki çizgisel ve açısal kuvvetler %%%%

fx1=c2*[0.5*d2*m2*c2*ddq1+g*m2*s2-0.5*l3*m3*s2*c2*dq1^2+…
0.5*l3*m3*ddq2+m3*(-q3*ddq2+q3*s2*c2*dq1^2+d2*c2*ddq1+…
g*s2-2*dq2*dq3)]-s2*[-0.5*d2*m2*s2*ddq1+g*m2*c2+
0.5*l3*m3*(s2^2*dq1^2+dq2^2)+m3*(-q3*(s2^2*dq1^2+dq2^2)
-d2*s2*ddq1+g*c2+ddq3)];
Şekil 1.33. Birinci eklemdeki çizgisel ve açısal kuvvetleri hesaplayan model
penceresi
fy1=-(-0.5*d2*m2*dq1^2)+0.5*l3*m3*(s2*ddq1+2*c2*dq1*dq2)+...
m3*(-q3*s2*ddq1-2*q3*c2*dq1*dq2+d2*dq1^2-2*s2*dq1*dq2);

fz1=s2*[0.5*d2*m2*c2*ddq1+g*m2*s2-0.5*l3*m3*s2*c2*dq1^2+…
0.5*l3*m3*ddq2+m3*(-q3*ddq2+q3*s2*c2*dq1^2+d2*c2*ddq1+…
g*s2-2*dq2*dq3)]+c2*[-0.5*d2*m2*s2*ddq1+g*m2*c2+…
0.5*l3*m3*(s2^2*dq1^2+dq2^2)+m3*(-q3*(s2^2*dq1^2+…
dq2^2)-d2*s2*ddq1+g*c2+ddq3)]+m1*g;

nx1=c2*[Ixx2*s2*ddq1+(Ixx2-Iyy2+Izz2)*c2*dq1*dq2]-...
s2*[Iyy2*c2*ddq1+(Ixx2-Iyy2-Izz2)*s2*dq1*dq2]-
d2*s2*[0.5*d2*m2*c2*ddq1+g*m2*s2-
0.5*l3*m3*s2*c2*dq1^2+…
0.5*l3*m3*ddq2+m3*(-q3*ddq2+q3*s2*c2*dq1^2+d2*c2*ddq1+…
g*s2-2*dq2*dq3)]-d2*c2*[-0.5*d2*m2*s2*ddq1+g*m2*c2+...
0.5*l3*m3*(s2^2*dq1^2+dq2^2)+m3*(-q3*(s2^2*dq1^2+…
dq2^2)-d2*s2*ddq1+g*c2+ddq3)];

ny1=-Izz2*ddq2-(Iyy2-Ixx2)*s2*c2*dq1^1;

nz1=[Izz1+(1/4)*m2*d2^2+s2^2*(Ixx2+Ixx3+m3*(0.25*l3^2-…
l3*q3+q3^2))+c2^2*(Iyy2+Izz3)+m3*d2^2]*ddq1+…
[d2*m3*c2*(0.5*l3-q3)]*ddq2-[d2*m3*s2]*ddq3+...
2*[s2*c2*(Ixx2+Ixx3-Iyy2-Izz3+m3*(0.25*l3^2-…
l3*q3+q3^2))]*dq1*dq2-[d2*m3*s2*(0.5*l3-q3)]*dq2^2-…
2*[d2*m3*c2]*dq2*dq3+[m3*s2^2*(-l3+2*q3)]*dq1*dq3;
Şekil 1.33’deki simulink dosyasının çalıştırılmasıyla birinci eklemdeki çizgisel
ve açısal kuvvetler şekil 1.34’deki gibi elde edilir.

4 4
x 10 x 10
4 18

3 16

14
2

12
1
10

fy1
0
fx1

8
-1
6
-2
4

-3 2

-4 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4
x 10
8000 3

7000 2

1
6000
0
5000
-1
4000

nx1
fz1

-2
3000
-3
2000
-4
1000
-5

0 -6

-1000 -7
0 1 2 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5
x 10
150 5

4
100
3

2
50
1
ny1

nz1
0 0

-1
-50
-2

-3
-100
-4

-150 -5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)

Şekil 1.34. Birinci eklemdeki açısal ve çizgisel kuvvetler.


İkinci eklemdeki çizgisel ve açısal kuvvetler için ‘dynNs.m’ dosyasına
eklenmesi gereken satırlar aşağıda görülmektedir.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;

%%%% İkinci eklemdeki çizgisel ve açısal kuvvetler %%%%

fx2=0.5*d2*m2*c2*ddq1+g*m2*s2-0.5*l3*m3*s2*c2*dq1^2+…
0.5*l3*m3*ddq2+m3*(-q3*ddq2+q3*s2*c2*dq1^2+…
d2*c2*ddq1+g*s2-2*dq2*dq3);
fy2=-0.5*d2*m2*s2*ddq1+g*m2*c2+0.5*l3*m3*(s2^2*dq1^2+…
dq2^2)+ m3*(-q3*(s2^2*dq1^2+dq2^2)- d2*s2*ddq1+g*c2+ddq3);

fz2=-0.5*d2*m2*dq1^2-[0.5*l3*m3*(s2*ddq1+2*c2*dq1*dq2)+...
m3*(-q3*s2*ddq1-2*q3*c2*dq1*dq2+d2*dq1^2-2*s2*dq1*dq3)];

nx2=Ixx2*s2*ddq1+(Ixx2-Iyy2+Izz2)*c2*dq1*dq2+[Ixx3*s2*ddq1+...
(Ixx3+Iyy3-Izz3)*c2*dq1*dq2]+0.5*d2*(-0.5*d2*m2*s2*ddq1+…
g*m2*c2)+(0.5*l3-q3)*[0.5*l3*m3*(s2*ddq1+2*c2*dq1*dq2)+…

m3*(-q3*s2*ddq1- 2*q3*c2*dq1*dq2+d2*dq1^2-2*s2*dq1*dq3)];

ny2=Iyy2*c2*ddq1+(Ixx2-Iyy2-Izz2)*s2*dq1*dq2+Izz3*c2*ddq1+...
(Ixx3-Iyy3-Izz3)*s2*dq1*dq2-0.5*d2*(0.5*d2*m2*c2*ddq1+…
g*m2*s2);
Nz2= [-d2*m3*c2*(0.5*l3+q3)]*ddq1+[Izz2+Iyy3+m3*(0.25*l3^2+…
l3*q3+q3^2)]*ddq2-s2*c2*(Ixx2+Ixx3-Iyy2-Izz3+m3*(0.25*l3^2-…
l3*q3+q3^2))*dq1^2+m3*(-l3+2*q3)*dq2*dq3
m3*(l3+2*q3)*dq2*dq3+m3*g*s2*(0.5*l3-q3);

İkinci eklemdeki çizgisel ve açısal kuvvetleri görüntülemek için


‘nsdynamic.mdl’ dosyası da Şekil 1.35’de görüldüğü gibi yeniden düzenlenir.
Şekil 1.35. İkinci eklemdeki çizgisel ve açısal kuvvetleri hesaplayan model
penceresi
Şekil 1.35’deki simulink dosyasının çalıştırılmasıyla ikinci eklemdeki çizgisel ve
açısal kuvvetler şekil 1.36’deki gibi elde edilir.

4
x 10
2000 3

0
2
-2000

-4000
1
-6000

fy2
-8000 0
fx2

-10000
-1
-12000

-14000
-2
-16000

-18000 -3
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4 6
x 10 x 10
0 1.5

-2
1
-4

-6 0.5

-8

nx2
0
fz2

-10

-12 -0.5

-14
-1
-16

-18 -1.5
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5
x 10
5000 6

4
0

2
-5000

nz2
0
ny2

-10000
-2

-15000 -4

-20000 -6
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)

Şekil 1.36. İkinci eklemdeki açısal ve çizgisel kuvvetler.


Son olarak üçüncü eklemdeki çizgisel ve açısal kuvvetler için ‘dynNs.m’
dosyasına eklenmesi gereken satırlar aşağıda görülmektedir.

dynNS.m dosyası

function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;

%%%% İkinci eklemdeki çizgisel ve açısal kuvvetler %%%%

fx3=-0.5*l3*m3*s2*c2*dq1^2+0.5*l3*m3*ddq2+...
m3*(-q3*ddq2+q3*s2*c2*dq1^2+d2*c2*ddq1+g*s2-2*dq2*dq3);

fy3=0.5*l3*m3*(s2*ddq1+2*c2*dq1*dq2)+...
m3*(-q3*s2*ddq1-2*q3*c2*dq1*dq2+d2*dq1^2-2*s2*dq1*dq3);
fz3=[-d2*m3*s2]*ddq1+m3*ddq3+m3*s2^2*(0.5*l3-q3)*dq1^2+...
m3*(0.5*l3-q3)*dq2^2+m3*g*c2;

nx3=Ixx3*s2*ddq1+(Ixx3+Iyy3-Izz3)*c2*dq1*dq2+…
0.5*l3*[0.5*l3*m3*(s2*ddq1+2*c2*dq1*dq2)+m3*(-q3*s2*ddq1-…
2*q3*c2*dq1*dq2+d2*dq1^2-2*s2*dq1*dq3)];

ny3=-Iyy3*ddq2+(Ixx3-Izz3)*s2*c2*dq1^2-0.5*l3*[-…
0.5*l3*m3*s2*c2*dq1^2+0.5*l3*m3*ddq2+m3*(- q3*ddq2+…
q3*s2*c2*dq1^2+d2*c2*ddq1+g*s2-2*dq2*dq3)];

nz3=Izz3*c2*ddq1+(Ixx3-Iyy3-Izz3)*s2*dq1*dq2;
Üçüncü eklemdeki çizgisel ve açısal kuvvetleri görüntülemek için
‘nsdynamic.mdl’ dosyası da Şekil 1.37’de görüldüğü gibi yeniden düzenlenir.
Şekil 1.37’deki simulink dosyasının çalıştırılmasıyla da üçüncü eklemdeki
çizgisel ve açısal kuvvetler şekil 1.38’de görüldüğü gibi elde edilir.
4
x 10
2000 10

0 9

-2000 8

-4000 7

-6000 6

fy3
-8000 5
fx3

-10000 4

-12000 3

-14000 2

-16000 1

-18000 0
0 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
4 5
x 10 x 10
3 16

14
2
12

1 10

nx3
0
fz3

-1 4

2
-2
0

-3 -2
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)
5
x 10
8 100

0
6
-100

4 -200

-300
ny3

nz3
2
-400

0 -500

-600
-2
-700

-4 -800
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
Zaman (saniye) Zaman (saniye)

Şekil 1.38. Üçüncü eklemdeki açısal ve çizgisel kuvvetler.


ALIŞTIRMALAR

Şekil 1.39’da verilen 3 eklemli robotların Lagrange-Euler, Newton-Euler ve


Hamiltonion yöntemlerini kullanarak dinamik modellerini çıkarınız.
l1 l2

d3 d2 3
d2
a) PPP d1 b) PPR

d1

l2 l3
3 l1 l2 l3
3
2

d2

2

d1 c) PRR d) RRR

1
3

d3
l2 l3 2
l1
d2 l2

e) RPR f) RRP
1 1

l1 l2 l3
l2 l3

2 3
3
d1 d2

g) PRR h) RPR
1
l2
l2 l3
3
2

l3 3
d2 d2

h1
i) RRR k) RPR
h1

z0,1
1
1

2
l1 l2
d2

3
l2 d3
h1
h1

2
m) PRR n) RRP
z0,1
d1 1
l3

l3
3 l2
l2

d2
3
d2 2

h1

h1

z0,1 1
1

p) RRR r) RPR

Şekil 1.39. Üç eklemli endüstriyel robotlar.

You might also like