Professional Documents
Culture Documents
KOCAELİ ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
MEKATRONİK MÜHENDİSLİĞİ
Altı serbestlik derecesine sahip bir robotla üç boyutlu uzayda bütün noktalara
ulaşılabildiğinden genellikle endüstride 6 serbestlik derecesine sahip robotlar
tercih edilmektedir.
Seri robotlarda kolay olan ileri kinematik için her zaman bir çözüm elde edilirken,
ters kinematik hem zor hem de her zaman çözüm elde etmek mümkün
olmayabilir.
2
Ters kinematik problem Kartezyen uzayda, ana çerçeveye göre verilen uç
işlevcinin konum ve yönelim verileri yardımıyla eklem değişkenlerinin bulunması
şeklinde tanımlanabilir.
3
Ters Kinematik Problemin Yapısı
2. Eklemlerin yapısına bağlıdır. Ters kinematik problem bir robotta prizmatik eklem
sayısı artıkça kolaylaşmakta, dönel eklem sayısı artıkça zorlaşmaktadır.
z0,1
4
4. Aynı uç işlevci düzenleşimi için birden fazla çözüm olabilir. Ters kinematik çözüm
sayısı robotun serbestlik derecesinin yanında aynı zamanda eklem değişkenlerine
de bağlıdır. Her bir eklemde a ve d parametrelerinin her ikisinin de bulunması
çözüm sayısının artmasına neden olur. Örneğin şekildeki 6R robotta her bir eklem
için en azından bir a veya d değişkeni olduğundan ters kinematik çözüm sayısı 26
=64’tür. Yalnız bu çözümlerin bir kısmı gerçek bir kısmı ise sanal çözümler olabilir.
5
Dönel eklemlerden oluşan robotlarda fiziksel çözüm sayısının fazla olması, üç
boyutlu uzayda bir noktaya pek çok farklı şekilde ulaşma imkanı sağlar. Şekilde
PUMA-560 robotunun aynı noktaya dört farklı şekilde ulaşabildiği görülmektedir.
6
5. Ters kinematik problem, verilen bir robot düzenleşimi için tamamen analitik
(closed form) olarak çözülebileceği gibi, analitik çözümün mümkün olmadığı
durumlarda sayısal yöntemler kullanılarak da çözülebilir.
Fakat tamamen kesin sonuç üreten analitik çözüme ait denklemler bilgisayar
ortamında çok hızlı çalışırken, eklem açılarının iteratif olarak çözüldüğü sayısal
çözüm ise bilgisayar ortamında analitik çözüme göre daha yavaş çalışır. Ayrıca,
sayısal olarak eklem açılarını bulmak için yazılan algoritmanın yapısı da (çözüm
zamanı ve başlangıç koşulları) son derece önemlidir.
7
Endüstriyel robotlarda Euler ve eklem kaçıklılıklı bilekli olmak üzere iki tip bilek
kullanılmaktadır. Bu iki bileği ters kinematik çözümlerini incelendiğinde aşağıdaki
sonuçlara varılabilir.
10
Ters Kinematik Çözüm (Analitik çözüm yaklaşımı)
Altı serbestlik derecesine sahip bir robotun ileri yön kinematiği aşağıdaki gibi
yazılabilir.
0
6T 01T 21T 23T 34T 45T 56T (1)
0
6T ileri yön kinematik matrisi, konum ve yönelim verilerini içeren matris
elemanları cinsinden aşağıdaki gibi yazılabilir. Bu matrisin 1. kolonu uç işlevcisinin
normal vektörünü (n = [nx ny nz ]T ), 2. kolonu kayma (sliding) vektörünü (s =
[sx sy sz ]T ) ve 3. kolonu ise yaklaşım (approaching) vektörünü ( a =
[ax ay az ]T ) göstermektedir.
0 −1 0
Denklemde 1𝑇 1𝑇 = I olduğundan , ifade aşağıdaki gibi basitleşir.
T
0
1
1 0
6 T 21T 23T 34T 45T 56T
Bu şekilde türetilebilecek diğer denklemler:
T T
0
1
1
2
1 0
6 T 23T 34T 45T 56T
T T T
0
1
1
2
2
3
1 0
6 T 34T 45T 56T
T
0
1
1
2 T 23T 34T 1 0
6T 45T 56T
T0
1
1
T T T
2
2
3
3
4
4
5 T
1 0
6 T 56T
Diğer bir denklemde Raghavan ve Roth adlı bilim adamları tarafından üretilmiştir.
T 34T 45T 21T 1 01T 1 06T 56T 1
2
3 12
Daha önce belirtilen bu 6 adet denklem sistemini kullanarak ters kinematik çözüm
için gerekli olan eşitlikler türetilir. Bu eşitliklerde yer alan bazı bazı trigonometrik
ifadelerden faydalanarak ters kinematik çözüm kolayca çözülebilir. Bu eşitlikler
aşağıda verilmiştir.
13
ÖRNEK 4.1
ÇÖZÜM 4.1
Çözüm için öncelikle robotun ileri kinematik matrisleri ( 03T = 01T 12T 23T) bulunur.
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 141
0
3T = 01T 12T 23T ifadesinin her iki tarafını da 0 −1
1T ile çarpalım. Yeni durumda
aşağıdaki denklem elde edilir.
T
0
1
1 0
3
T 01T
1 0
1T 1
2T 2
3T
0 −1 0
Bilindiği gibi 1T 1T = I olduğundan sonuçta denklem aşağıdaki gibi olur.
T
0
1
1 0
T 21T 23T
3
Yukarıda denklemin sol tarafında yer alan robotun 01T dönüşüm matrisinin tersi:
1 10 R T 10R T 0 P1
0
1T
0 0 0 1
0 0 1 0 0 1
c1 s1 0 0 0
Konum vektörü: 10R T 0 P1 s1 c1 0 0 0
0 0 1 0 0 15
c1 s1 0 0
s c1 0 0
0
Bu durumda 1T dönüşüm matrisinin tersi: 0T 1 1
1
0 0 1 0
0 0 0 1
Bu aşamada 01𝑇 −1 03T = 12T 23T ifadesini yazabiliriz.
c1r11 s1r21 c1r12 s1r22 c1r13 s1r23 c1 p x s1 p y c 2 s 2 0 l2c 2 l1
s r c r s1r12 c1r22 s1r13 c1r23 s1 p x c1 p y s 2 c 2 0 l2 s 2
1 11 1 21
r31 r32 r33 pz 0 0 1 0
0 0 0 1 0 0 0 1
Yukarıdaki sağ ve sol tarafta matris içerisinde bulunan 12 denklemi bir birine
eşitleyerek bağımsız denklemler elde edebiliriz.
16
1. . c1r11 s1r21 c 2 7 ve 8. denklemler çözüm üretmesine
2. . s1r11 c1r21 s 2 rağmen genellikle ters kinematik çözümün
3. . r31 0 tamamı mümkünse kol uzunlukları,
4. . c1r12 s1r22 s 2 px , py , pz cinsinden elde edilmek istenir.
Çözüm için 10 ve 11. denklemlerden
5. . s1r12 c1r22 c 2 faydalanalım.
6. . r32 0
7. . c1r13 s1r23 0 10 ve 11. denklemlerde eşitliğin her iki
8. . s1r13 c1r23 0 tarafının karelerini alıp alt alta toplayalım.
Elde edeceğimiz eşitliği daha önceden
9. . r33 1
bulduğumuz denklemlerden birine
10. . c1 p x s1 p y l2 c 2 l1
benzeterek eklem değişkenini kol
11. . s1 p x c1 p y l 2 s 2 uzunlukları yönelim ve konum cinsinden
12. . pz 0 yazalım.
p x2 p y2 l12 l 22
Denklemde cθ2 ifadesini çekelim: c 2
2l1l 2
2 2
p x2 p y2 l12 l 22
p 2
p 2
l 2
l
2 A tan 2 1 x y 1 2
,
2 l l
1 2
2l1l 2
θ2 artık bilinen bir değişken olduğuna göre 10. denklemden θ1 aşağıdaki gibi
bulunur.
c1 px s1 p y l2c 2 l1
1 A tan 2( p y , p x ) A tan 2( p y2 p x2 (l 2 c 2 l1 ) 2 , l 2 c 2 l1 ) 18
ÖRNEK 4.2
19
ÇÖZÜM 4.2
a) Px, py ve bacak uzunluklarını ters kinematik denklemde yerlerine yazalım.
Eklem değişkenleri, teorik olarak bulunan sıraya göre elde edilir. Dolayısıyla
öncelikle ikinci eklem değişkeni θ2 bulunur.
2
px2 p y2 l12 l22 px2 p y2 l12 l22
2 A tan 2 1 ,
A tan 2 1 (0.49) 2 , 0.49
2l1l2 2l1l2
A tan 2 0.866, 0.49 60
1 A tan 2( p y , p x ) A tan 2( p y 2 p x2 (l 2 c 2 l1 ) 2 , l 2 c 2 l1 )
1 A tan 2(2.5, 12.99) A tan 2( 2.52 12.992 (5cos(60) 10) 2 , 5cos(60) 10)
1 10.9 19.1 20
Görüldüğü gibi şekildeki robot için toplam dört farklı çözüm kümesi elde ettik.
Ç1 {1 10.9 19.1 30 , 2 60 } Ç 2 {1 10.9 19.1 30 , 2 60 }
Ç3 {1 10.9 19.1 8.20 , 2 60 } Ç4 {1 10.9 19.1 8.20 , 2 60 }
px l2 (c1c 2 s1s 2 ) l1c1 5[c (30)c (60) s (30) s (60)] 10c(30) 12.99
p l (c s s c ) l s 5[c(30) s (60) s (30)c(60)] 10s (30) 2.5
y 2 1 2 1 2 1 1
pz 0 0 0
Y
(12.99, 2.5)
l2
X
l1 2 60
1 8.2
1 8.2, 2 60
ÇÖZÜM 4.3
d3
İleri kinematik dönüşüm matrislerini hatırlayalım.
l2
c1 s1 0 0
c 2 s 2 0 0 1 0 0 0
s 0 0 0 0
1 c1 0 1 d 2 1 l2 d3
1T
0
0
3T
2
2T
1
0 0 1 h1 s 2 0 1 0
2
c 2 0 0 0
d2 0 0 0 1
0 0 0 1 0 0 0 1
. . . c 2 (c 1 px s 1 p y ) s 2 ( p z h1 ) . . . 0
. . . s (c p s p ) c ( p h ) . . . l d
2 1 x 1 y 2 z 1
2 3
. . . s 1 px c 1 p y d2 . . . 0
0 0 0 1 0 0 0 1
ÖRNEK 4.4
25
ÇÖZÜM 4.4
0 −1 0
1T 4T = 12T 23T 34T ifadesinde sol ve sağ taraftaki ifadeleri bir birine eşitleyelim.
. . . c1 p x s1 p y . . . 0
. . . s1 p x c1 p y . . . l3 s 3 (l 2 d 2 )
. . . p z h1 . . . l3 c 3
. . . 1 . . . 1
p z h1 p z h1 p h1 2
p z h1 l3c 3 ise c 3 ve 3 A tan 2( , 1 ( z ) )
l3 l3 l3
26
θ1 , (1,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur: c1 p x s1 p y 0
Bulunan ifade asin𝜃 + bcos𝜃 = 0′ a benzemektedir ve çözüm aşağıdaki gibidir.
Ç2 { 3 için 1 }
Ç2 { 3 için 1 }
Ç2 { 3 için 1 }
27
ÖRNEK 4.5 ÇÖZÜM 4.5
T
0
1
1 0
6T 21T 23T 34T 45T 56T
. . . c1 p x s1 p y . . . d 4 s 23 l2 c 2
. . . s p c p . . . d
1 x 1 y
2
. . . p z h1 . . . d 4 c 23 l2 s 2
0 0 0 1 0 0 0 1
T
0
1
1
2T 23T 1 0
6 T 34T 45T 56T
c1c 23r11 s1c 23r21 s 23r31 c1c 23r12 s1c 23r22 s 23r32 c1c 23r13 s1c 23r23 s 23r33 .
c s r s s r c r c1s 23r12 s1s 23r22 c 23r32 c1s 23r13 s1s 23r23 c 23r33 .
1 23 11 1 23 21 23 31
5 A tan 2( 1 (c1s 23r13 s1s 23r23 c 23r33 ) 2 , c1s 23r13 s1s 23r23 c 23r33 )
c1s 23r12 s1s 23r22 c 23r32 c1s 23r11 s1s 23r21 c 23r31
6 A tan 2 ,
sin 5 sin 5
Bu robotta 6 tane dönel eklem olmasına rağmen son üç eklem bir noktada
kesiştiğinden çözüm kümesi sayısı 64 yerine 16’dır. Şekilde verilen her çözüm
kümesinde θ1 ’den başlayıp θ6 ’ya kadar takip edilebilecek her bir yol bir çözüm
kümesini temsil etmektedir. 16 çözüm kümesinden ikisi aşağıda verilmiştir.
Ç1 {1 , 3 , 2 5 , 4 ve 6 } Ç2 {1 , 3 , 2 5 , 4 ve 6 }
1
- +
3
3
- + - +
2 2 2 2
- + - + - + - +
5 5 5 5 5 5 5 5
- + - + - + - + - + - + - + - +
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
Ç2 31
Ç1
ÖRNEK 4.6
32
ÇÖZÜM 4.6
Öncelikle şekildeki robotun ters kinematiğini teorik olarak çözmek için ileri
kinematik dönüşüm matrislerini hatırlayalım.
cos1 sin 1 0 0 cos 2 sin 2 0 l1
sin cos1 0 0 sin cos 2 0 0
0
T 1 1
T 2
1
0 0 1 h1
2
0 0 1 0
0 0 0 1 0 0 0 1
1 0 0 l2 cos 4 sin 4 0 0
0 1 0 sin
0 cos 4 0 0
3T 4T
2 3 4
0 0 1 d 3 0 0 1 d4
0 0 0 1 0 0 0 1
cos 5 sin 5 0 0 cos 6 sin 6 0 0
0 0 1 0 0 0 1 0
5T
4 6T
5
sin 5 cos 5 0 0 sin 6 cos 6 0 0
0 0 0 1 0 0 0 1
33
Aşağıdaki denklemden faydalanarak uç işlevcisinin kartezyen uzayda konumunu
belirleyen ilk üç eklem değişkeni θ1 , θ2 ve d3 ’ü bulalım.
. . . c1 p x s1 p y . . . l2 c 2 l1
. . . s p c p . . .
T
0
1
1 0
T 21T 23T 34T 45T 56T
6 1 x 1 y
l 2 s 2
. . . p z h1 . . . d3 d 4
0 0 0 1 0 0 0 1
θ1 , (1,4) ve (2,4) karşılıklı matris elemanlarının karesini alıp alt alta toplayalıp
sadeleştirme işlemi yapıldıktan sonra aşağıdaki gibi bulunur.
d 3 h1 p z d 4 34
Aşağıdaki denklemden faydalanarak uç işlevcisinin kartezyen uzayda yönelimini
belirleyen son üç eklem değişkeni θ4 , θ5 ve θ6 bulalım.
T T
0
1
1
2
1 0
6 T 23T 34T 45T 56T
c12 r11 s12 r21 c12 r12 s12 r22 c12 r13 s12 r23 . c 4c5c 6 s 4 s 6 c 4c5 s 6 s 4c 6 c 4 s5 .
s r c r s12 r12 c12 r22 s12 r13 c12 r23 . s 4c5c 6 s 4 s 6 s 4c5 s 6 c 4c 6 s 4 s5 .
12 11 12 21
r31 r32 r33 . s5c 6 s5 s 6 c5 .
0 0 0 . 0 0 0 .
r32 r
6 A tan 2 , 31
sin 5 sin 5
35
Robotun uç işlevcisinin Kartezyen uzaydaki konumunun px = 28, py = 31 , pz =
6 olması için gerekli olan ilk üç eklem değişkenini (θ1 , θ2 , θ3 ) daha önce elde
ettiğimiz teorik denklemlerden faydalanarak bulalım.
1 A tan 2(31, 28) A tan 2( 4 262 (282 312 ) 2097 2 , 2097) 47.91 15.12
Görüldüğü gibi θ1 = 63.03° ve θ1 = 32.79° olmak üzere iki farklı açı elde ettik.
İkinci eklem değişkenini bulmak için birinci eklem değişkenini θ1 = 63.03° alalım.
s1 p x c1 p y c1 p x s1 p y l1
2 A tan 2( , )
l2 l2
d 3 h1 p z d 4 d 3 22 6 4 12 36
Uç işlevcinin sabit koordinat sisteminin X ekseninde 𝛾 = 42° , Y ekseninde 𝛽 =
− 17° ve Z ekseninde 𝛼 = 25° döndürülmesiyle aşağıdaki matris elde edilir.
s12 r13 c12 r23 c12 r13 s12 r23 s12 s1c 2 c1s 2 s(25.77)
4 A tan 2 ,
sin 5 sin 5 c12 c1c 2 s1s 2 c(25.77)
s (25.77) 0.0859 c(25.77) (0.6983) c(25.77) 0.0859 s (25.77) (0.6983)
4 A tan 2 , -72.2
sin(135.29) sin(135.29)
ÇÖZÜM 4.6
0 0 1 0 0 0 1 d2 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
. c34 s5 . l4 c34 l3c3 l2 . c1r13 s1r23 . c1 ( p x r13d 6 ) s1 ( p y r23d 6 )
. s s . l4 s34 l3 s3 . s1r13 c1r23 . s1 ( p x r13d 6 ) c1 ( p y r23d 6 )
34 5
. c5 0 0 . r33 s 6 r31 c 6 r32 r33d 6 pz d 2
0 0 0 1 0 0 0 1
𝜃6 (3,3) karşılıklı matris elemanlarının eşitlenmesiyle aşağıdaki gibi bulunur.
Yukarıdaki ifadede cθ3 cθ34 + sθ3 sθ34 = cθ4 eşittir. Bu ifadeyi yukarıdaki
denklemde yerine yazıp cθ4 ifadesini çekelim.
(1,4) ve (2,4) karşılıklı matris elemanların karelerini alıp alt alta toplayalım.
Denklemde px − r13 d6 = m ve py − r23 d6 = n kullanılmıştır.
m2 n 2 l22 2l2 mc1 2l2 ns1 l42 l32 2l3l4 (c3c34 s3 s34 )
Yukarıdaki ifadede cθ3 cθ34 + sθ3 sθ34 = cθ4 eşittir. Bu ifadeyi yukarıdaki
denklemde yerine yazıp cθ4 ifadesini çekelim.
m 2 n 2 l 22 2l 2 mc1 2l 2 ns1 l 42 l32
c 4
2l3l 4 40
İki cθ4 ifadesini bir birine eşitlenip sadeleştirme yapalım.
px2 p y2 l22 2l2 px c1 2l2 p y s1 k 2 l32 m 2 n 2 l22 2l2 mc1 2l2 ns1 l42 l32
2l3k 2l3l4
c1 (2l2 km 2l2l4 px ) s1 (2l2 kn 2l2l4 p y ) l4 ( p x2 p y2 l22 k 2 l32 ) k (m 2 n 2 l22 l42 l32 ) 0
l 4 ( p x p y l 2 k 2 l3 ) k ( m 2 n 2 l 2 l 4 l3 ) y
2 2 2 2 2 2 2
41
𝜃4 daha önce bulduğumuz ifadelerden faydalanarak bulunabilir.
p x2 p y2 l22 2l2 p x c1 2l2 p y s1 k 2 l32
c 4
2l3 k
p x p y l 2 2l 2 p x c1 2l 2 p y s1 k 2 l3
2 2 2 2
Denklemde s olsun.
2l3 k
4 Atan2( 1 s 2 , s )
3 A tan 2(c 4 s5 , s 4 s5 ) A tan 2 s 25 (s1r13 c1r23 ) 2 , s1r13 c1r23 )
42