Professional Documents
Culture Documents
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
Üçüncü bağ
0p 0
0 x3 d
p y3 2
0 1
d h (1.11.3)
p
z3 2 3 1
0p T
0 x1 h1
h1 py1 0 0
0 2 (1.11.4)
p
z1
0p 1
2 d2 s1
0 x2 1
h2 p y2 d2c1
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 s1s2 ( l3 d3 ) d2c1
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
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)
0 p c1 s1 0 0 0
x1
s1 c1 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.
1
D 11 d m c
2 3 2 ( l3 d3 ) d m s
2 3 2
2
1
D d2m3c2 ( l3 d3 ) D22 0
2
m3d2s2 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
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
Izz1 0 0
D(q1 ) 0 0 0
0 0 0
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
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
[d2m3c2( l3 d3 )] 1 2 [d2m3s2]1d 3 (1.12.4)
2
şeklinde elde edilir. Denklemde kullanılan kısaltmalar aşağıda verilmiştir.
1
D11(q3) m3s22( l2 2 2 2 2
3 l3d3 d3 ) m3d2 s 2Ix x3 c 2Izz3
(1.12.5)
4
1
D12(q3) d2m3c2( 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 d2
[m3( l2 2
3 l3d3 d3 ) Iyy3 ]2 3 3
2 4 2
1
[d2m3c2( l3 d3 )] 1 2
2
[d2m3s2]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 d2m3c2 ( l3 d3 ) d2m3s2
2 1
2
1
1 2 d3
d m c ( 1 l d )
2 3 2
2
3 3 D22 0 2
m3d2s2 0 m3 d3
1
D22 m3( l2 2
3 l3d3 d3 ) Izz2 Iyy3
4
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)
1
P1 m1gh1(z) m1gh1 (1.12.13)
2
PT P1 P2 P3
1 1
m1gh1 m2gh1 m3g[cos2( 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
, 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.
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 s221
y14 d2 2 2 2
3s 21 2d3s2c212 2d3s 213
y19 c221
y23 d32 d3s2c212 2 3 1
gs2
2
y24 d2 2 2
32 d3s2c21 2d323 d3gs2
y25 c21
y26 d3c21
y27 s2c212
y28 2
1 2 2 1 2
y33 s 21
2 2 2
d s2 2 d 2 gc
y34 d 3 3 2 1 3 2 2
y36 s21
1.14. Robot Dinamiğinin Kartezyen Uzayda Tanımlanması
) Gx (q)
F Dx (q) Cx (q, q (1.14.1)
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 JT JT I matris olduğundan
F JT (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
) 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.
Cx (q, q ) D(q)J1(q)J(q)J1 ]
) JT (q)[C(q, q (1.14.11)
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 q2 q2 n
q qn
ÇÖZÜM 1.13.1
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
[d2m3c2( l3 d3 )] 1 2
2
1 1
m1gh1 m2gh1 m3g[c os2( 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 11 2 2 d3 3
3 3
Denklemde,
H 1
1 [(Izz1 m2d2
2 s22Ix x2 c22Iyy2 ) 1
1 4
1
(s2 2 (Ix x3 m3 ( l2 2 2 2
3 l3d3 d3 )) Izz3 c 2 m3d2 )1
4
1 ]
d2m3c2( l3 d3 ) 2 (d2m3s2 )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
d2m3c2( l3 d3 ) 1]2 (1.13.7)
2
H 1
2 [s2c2 (Ix x2 Ix x3 Iyy 2 Izz3 m3 ( l23 l3d3 d23 )) 12
2 4
1
d2m3s2 ( l3 d3 ) 1 2 d2m3c2 1d 3
2
1 (1.15.8)
m3gs2( 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
d2m3c2 1 2
m3gc2 ]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
c22(Iyy2 Izz3 ) m3d2 ] d m c ( 1 l d )
2 1 1 2 3 2 3 3 2 1
2
(d2m3s2 )d (1.15.11)
3 1
H 1
2 (m3 ( l23 l3d3 d23 ) Izz2 Iyy 3 ) 22
2 4
1
d2m3c2 ( l3 d3 ) 12
2 (1.15.12)
H 1
2 s2c2 (Ix x2 Ix x3 Iyy 2 Izz3 m3 ( l23 l3d3 d23 )) 12 2
2 4
1
d2m3s2 ( l3 d3 ) 1 2 2 d2m3c2 1d
3 2
2
1
m3gs2 ( 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 )12d3 m3 (d3 l3 ) 22d 3
d3 2 2
d2m3c2 1 2d
m3gc2d
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 s2c2 (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
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
d2m3c2 1 2d
m3gc2d
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
d2m3c2 1d
d2m3c2 1 2d
3 2 3
(1.15.18)
1 1
2,1 2,5 d2m3c2 ( l3 d3 ) 21 (m3 ( l2 2
3 l3d3 d3 ) Izz2 Iyy 3 )2 2
2 4
1
s2c2 (Ix x2 Ix x3 Iyy 2 Izz3 m3 ( l2 2 2
3 l3d3 d3 ))1 2
4
1
s22m3( l3 d3)12d 3
2
1
m3( l3 d3) 2
2d3 m3gc2d3 (1.15.20)
2
2d2m3c2 2d
3 1
1
2,1 2,5 d2m3c2 ( l3 d3 )1 (m3 ( 1 l23 l3d3 d23 ) Izz Iyy )2
2 4 2 3
1
s2c2 (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 (d2m3s2 )1 m3d
3 s 2
m
2 3 (
1
2
l3 d3 ) 12
1
m3 ( l3 d3 ) 22 m3gc2 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’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 )
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.
iniNS.m dosyası
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.
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
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)
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)
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)
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)
dynNS.m dosyası
function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
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];
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)
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)
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)
dynNS.m dosyası
function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
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];
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)
Yalfa.m dosyası
function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
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;
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)
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.
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)
dynNS.m dosyası
function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
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);
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)
dynNS.m dosyası
function robot_param=dynNS(u);
global h1 d2 l3 m1 m2 m3 Ixx2 Ixx3 Iyy2 Iyy3 Izz1 Izz2 Izz3 g;
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)
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