You are on page 1of 42

T.C.

KOCAELİ ÜNİVERSİTESİ

MÜHENDİSLİK FAKÜLTESİ
MEKATRONİK MÜHENDİSLİĞİ

Prof. Dr. Serdar KÜÇÜK 1


4.1. Giriş

Robot manipülatörlerinin ters kinematiği, robot kontrolünün en önemli


aşamalarından birini oluşturmaktadır.

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.

Altı serbestlik derecesine sahip bir endüstriyel robot manipülatörlerinin son üç


eklemi bir noktada kesiştiğinde, kolaylıkla ters kinematik çözüm gerçekleştirilirken,
kesişmediğinde ise ters kinematik problem oldukça zor bir hal almaktadır.

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.

Başka bir ifadeyle, bir robot manipülatörünün uç işlevcisinin yönelimini ve


konumunu Kartezyen koordinat sisteminden eklem koordinat sistemine
dönüştürme işlemine ters kinematik problem denir.

Ters kinematik problem çözümü, gerçek zamanlı kontrol, eyleyicilerin eklem


torklarının hesaplanması, kaynak, boyama ve yörünge planlaması gibi bir çok
uygulama için son derece önemlidir.

3
Ters Kinematik Problemin Yapısı

Ters kinematik problem, aşağıdaki özelliklerden dolayı çözülmesi oldukça güçtür.

1. Analitik olarak karmaşık, doğrusal olmayan denklemler içerir.

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.

3. Her zaman matematiksel çözüm fiziksel çözümü temsil etmez. Şekillerde


görüldüğü gibi θ=Atan2(-k, 𝑝𝑧 ) ise matematiksel çözümle fiziksel çözüm
örtüşürken tam tersine θ=Atan2(k,−𝑝𝑧 ) ise fiziksel olarak gerçekleşemeyecek bir
çözüm üretmektedir.

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.

Sayısal çözümün bilgisayar ortamında analitik çözüme göre daha yavaş


çalışmasından dolayı robot tasarımcıları genellikle analitik çözümün mümkün
olduğu tasarımlar üzerinde durmaktadır. Günümüzde endüstriyel robotlar (PUMA
ve SCARA) çoğunlukla analitik olarak çözülebilen basit yapılara sahip olacak
şekilde üretilmektedirler.

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.

1. Euler bileğinin üç eklemi de bir noktada kesiştiğinden, bu bileğin eklendiği


endüstriyel robot manipülatörlerinin ters kinematiği tamamen analitik olarak
çözülebilmektedir. Eklem kaçıklılıklı bilekli endüstriyel robotların son üç ekleminde
a ve d değişkenleri bulunduğundan, bu robot manipülatörlerinin bir kısmı
tamamen analitik olarak çözülebilmektedir.
2. Euler bilekli robotların ters kinematik denklemlerinde konum ile yönelim
birbirinden ayrı gerçekleştiğinden, bu robotlar için her zaman analitik çözüm
vardır. Buna rağmen, eklem kaçıklılıklı bilekli robotların ters kinematik
denklemlerinde konum ile yönelim iç içe olduğundan her zaman analitik çözüm
gerçekleşmeyebilir.
3. Euler bilekli robotların ters kinematiğinde en fazla üç bilinmeyenli üç denklem
olduğundan analitik olarak çözülürken, eklem kaçıklılıklı bilekli robotların ters
kinematiğinde ise üç denkleme karşılık üçten fazla bilinmeyen olduğundan analitik
çözümleri oldukça güç veya yoktur. Bu açıdan bu robotların bir kısmının ters
kinematiği sayısal olarak çözülür.
8
4. Euler bilekli robotlarda ilk üç eklem uç işlevcinin konumunu, son üç eklem ise
yönelimini belirlerken, eklem kaçıklılıklı bilekli robotlarda konumla yönelim iç içe
gerçekleşmektedir. Bu açıdan Euler bilekli robotlarda, çalışma uzayında hemen
hemen bütün noktalara ulaşılırken, eklem kaçıklılıklı bilekli robotlarda çalışma
uzayı genişlemesine karşın bütün noktalara ulaşılamaz.

Ulaşılabilir çalışma uzayı (reachable workspace) ve dexterious çalışma uzayı, robot


manipülatörlerinin çalışma uzaylarını belirleyen çok önemli iki özelliktir. Ulaşılabilir
çalışma uzayı, bir robot manipülatörünün uç işlevcisini rastgele hareket ettirip
yönlendirdiği, robotların serbestlik derecelerinin azalmasına neden olan tekil
noktaların bulunmadığı bölgeye denir.

Nitelikli (dexterious) çalışma uzayı ise uç işlevcisinin yönelme ve öteleme


hareketlerini en büyük kapasitede gerçekleştirdiği bölgedir. Dolayısıyla nitelikli
çalışma uzayı ulaşılabilir çalışma uzayının bir alt kümesidir.

Ters kinematik çözüm, bütün eklem değişkenlerinin bilgisayar ortamında öz yineli


işlemler gerçekleştirilerek Newton-Raphson ve Runga-Kutta yöntemlerinde olduğu
gibi sayısal olarak çözülebilir. Sayısal çözüm için kinematik eşitliklerin farklarının
toplamını alan tahmin edici ve düzeltici tip algoritmalar kullanılır. 9
Ters kinematik problemin sayısal yöntemlerle çözümlenmesinde karşılaşılan en
büyük sorun, Jakobiyen matrisin tekil olduğu noktalarda yazılan algoritmanın
çözüm üretememesidir.

Ayrıca, başlangıç çözüm vektörü (eklem değişkenlerini içeren vektör) çözüme


yönelik vektör elemanlarından oluşmadığı zaman, sayısal çözüm kararlı bir çözüm
üretmekten uzaklaşır.

Hem tamamen sayısal hem de tamamen analitik çözümün gerçekleştirilemediği


durumlarda ise, eklem değişkenlerinden birkaçı sayısal olarak bulunup, geri
kalanlar için analitik olarak çözülebilen yarı analitik çözüm uygulanır.

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.

 r11 r12 r13 px 


r r22 r23 p y 
6T 
0  21
r31 r32 r33 pz 
 
0 0 0 1
11
Denklem 1 aşağıdaki gibi yazılarak ters kinematik çözüm için gerekli olan eşitlikler
türetilir.
 T
0
1
1 0
6 T  01T  1 0
1 T 21T 23T 34T 45T 56T

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.

cos θ = a ise θ = Atan2(± 1 − a2 , a)

sin θ = a ise θ = Atan2 (a , ± 1 − a2 )

cos θ = a ve sin θ = b ise θ = Atan2 (b, a)

asin θ + b cos θ = 0 ise θ = Atan2 −b, a veya θ = Atan2 b, −a

asin θ + b cos θ = c ise θ = Atan2 a, b + Atan2 ± a2 + b 2 − c 2 , c

Bu eşitliklerin dışında nadir kullanılabilecek diğer trigonometrik denklemler ders


kitabında mevcuttur.

13
ÖRNEK 4.1

Şekildeki RR eklem yapısına sahip düzlemsel robotun ters kinematiğini çözünüz.

ÇÖZÜM 4.1
Çözüm için öncelikle robotun ileri kinematik matrisleri ( 03T = 01T 12T 23T) bulunur.

c1  s1 0 0 c 2  s 2 0 l1  1 0 0 l2 


 s c1 0 0  s c 2 0 0  0 1 0 0 
 1  2 3T 

1T  2T 
0 1 2

 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 

c1  s1 0  c1 s1 0


Yönelim matrisinin transpozu: 10 R   s1 c1 0 ise 0 T
R   s c1 0
 1  1

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

 c1 s1 0  0  0 
Konum vektörü: 10R T 0 P1   s1 c1 0 0  0

 0 0 1 0 0 15
 c1 s1 0 0
 s c1 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.

 c1 s1 0 0   r11 r12 r13 px  c 2  s 2 0 l1  1 0 0 l2 


  s c 0 0   r21 r22 r23 p y   s 2 c 2 0 0  0 1 0 0 
 1 1

 0 0 1 0   r31 r32 r33 pz   0 0 1 0  0 0 1 0
     
 0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1

 c1r11  s1r21 c1r12  s1r22 c1r13  s1r23 c1 p x  s1 p y  c 2  s 2 0 l2c 2  l1 
  s r  c r  s1r12  c1r22  s1r13  c1r23  s1 p x  c1 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. . c1r11  s1r21  c 2 7 ve 8. denklemler çözüm üretmesine
2. .  s1r11  c1r21  s 2 rağmen genellikle ters kinematik çözümün
3. . r31  0 tamamı mümkünse kol uzunlukları,
4. . c1r12  s1r22   s 2 px , py , pz cinsinden elde edilmek istenir.
Çözüm için 10 ve 11. denklemlerden
5. .  s1r12  c1r22  c 2 faydalanalım.
6. . r32  0
7. . c1r13  s1r23  0 10 ve 11. denklemlerde eşitliğin her iki
8. .  s1r13  c1r23  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. . c1 p x  s1 p y  l2 c 2  l1
benzeterek eklem değişkenini kol
11. .  s1 p x  c1 p y  l 2 s 2 uzunlukları yönelim ve konum cinsinden
12. . pz  0 yazalım.

c 21 p x2  s 21 p y2  2 p x p y c1 s1  l22 c 2 2  2l1l2 c 2  l12


 s 21 p x2  c 21 p y2  2 p x p y c1s1  l22 s 2 2

p x2 (c 21  s 21 )  p y2 (s 21  c 21 )  l22 (c 2 2  s 2 2 )  2l1l2 c 2  l12


17
cθ2 + sθ2 = 1 olduğundan denklem şöyle yazılabilir: p x2  p y2  l22  2l1l2 c 2  l12

p x2  p y2  l12  l 22
Denklemde cθ2 ifadesini çekelim: c 2 
2l1l 2

Bulunan ifade 𝑐𝑜𝑠𝜃 = 𝑎′ ya benzemektedir: 𝑐𝑜𝑠𝜃 = 𝑎 ise   A tan 2  1  a 2 , a  


Bu durumda ikinci dönel eklem değişkeni θ2 aşağıdaki gibi bulunur.

  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.
c1 px  s1 p y  l2c 2  l1

Bu ifadede aşağıdaki ifadeye benzemektedir: a sin  b cos  c ise

px = b, py = a ve 𝑙2 cθ2 + 𝑙1 = c   A tan 2(a, b)  A tan 2( a 2  b 2  c 2 , c)

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

Örnek 4.1’deki robotun kol uzunlukları 𝑙1 =10 ve 𝑙2 = 5 olarak veriliyor. Buna


göre,
a) Robotun uç işlevcisinin Kartezyen uzaydaki konumu px = 12.99, py = 2.5
olması için birinci eklem değişkeni θ1 ve ikinci eklem değişkeni θ2 kaç derece
olmalıdır.
b) Bütün çözüm kümelerini bularak robotun gerçek konumunu eklem açılarını
göstererek çiziniz.

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

 px2  p y2  l12  l22  12.992  2.52  102  52 


denklemde     0.49
 2 l l
1 2   2  10  5 

b) θ2 = ∓60° açısının pozitif veya negatif değerinin cosinüsü aynı olduğundan


birinci eklem değişkeni θ1 ifadesini bulmak için θ2 = 60° alalım.

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 }

Bu çözüm kümelerinin doğruluğunu araştırmak için bulduğumuz açıları ileri


kinematikteki konum vektöründe yerlerine yazılır. İkinci çözüm kümesinde
bulunan açıları konum vektöründe yerine yazalım. Aşağıda görüldüğü gibi robot
doğru noktaya gitmiştir.

 px  l2 (c1c 2  s1s 2 )  l1c1  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

Diğer çözüm kümeleri


2  60
de bu şekilde test edilebilir. l1
l2
(12.99, 2.5)
1  30
X 21
1  30, 2  60
Y

(12.99, 2.5)

l2
X
l1 2  60
1  8.2

1  8.2, 2  60

Dikkat edileceği gibi, çözüm kümelerinden sadece Ç2 ve Ç3 robotun doğru konuma


ulaşmasına yardımcı olurken Ç1 ve Ç4 ise robotu doğru konuma ulaştırmaz.
22
ÖRNEK 4.3
Şekildeki RRP eklem yapısına sahip robotun ters kinematiğini çözünüz.

ÇÖZÜM 4.3
d3
İleri kinematik dönüşüm matrislerini hatırlayalım.

l2
c1  s1 0 0
c 2  s 2 0 0  1 0 0 0 
 s 0 0  0 0
 1 c1  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 

Eklem değişkenlerini bulmak için aşağıdaki denklemde kullanalım.


h1
 T T
0
1
1
2
1 0
3T  23T
z0,1
1  c1c 2 s1c 2 s 2  s 2 h1   r11 r12 r13 px  1 0 0 0 
 c s  s1s 2 c 2 c 2 h1  r21 r22 r23 p y  0 0 1 (l2  d3 ) 
 1 2 
 s1 c1 0 d 2   r31 r32 r33 pz  0 1 0 0 
    
 0 0 0 1  0 0 0 1  0 0 0 1 
23
Bu robotun ters kinematiği sadece konum vektöründen elde edilebileceğinden
sadece konumları yazalım.

 . . . 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 

Denklemde s1 p x  c1 p y  d 2  0 ise s1 p x  c1 p y  d 2 olur. Bu durumda θ1


a sin  b cos  c
1  A tan 2( p x ,  p y )  A tan 2( p x 2  p y 2  d 2 2 , d 2 )

θ2 ,(1,4) karşılıklı matris elemanlarının eşitlenmesiyle aşağıdaki gibi bulunur.


c 2 (c1 px  s1 p y )  s 2 ( pz  h1 )  0 ise a sin   b cos   0

 2  A tan 2(c1 px  s1 p y , pz  h1 ) ve  2  A tan 2(c1 px  s1 p y , pz  h1 )

d3 , (2,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.


d3  s 2 (c1 px  s1 p y )  c 2 ( pz  h1 )  l2 24
Bu robotunda iki dönel ekleminden kaynaklanan dört farklı çözüm kümesi vardır.
3. eklem prizmatik olduğundan bu eklem sisteme ek bir çözüm kümesi katmaz.

Ç1  {1   için  2   ve d 3 } Ç 2  {1   için  2   ve d 3 }

Ç3  {1   için  2   ve d 3 } Ç 4  {1   için  2   ve d 3 }

ÖRNEK 4.4

Şekildeki üç eklemli RPR


robotunun ters kinematiğini
çözünüz ve çözüm kümelerini
bulunuz.

25
ÇÖZÜM 4.4

Şekildeki robotun ileri kinematik dönüşüm matrislerini hatırlayalım.

cos1  sin 1 0 0 0 1 0 0   cos 3  sin  3 0 0 1 0 0 l3 


 sin  0 0  1  0
 cos1 0 0 1 l  d  0 1 0 3 0 1 0 0 
1T 
0 1
2T 
 2 2  3T  
2
4T 

 0 0 1 h1  1 0 0 0   sin  3  cos 3 0 0 0 0 1 0
       
 0 0 0 1 0 0 0 1   0 0 0 1 0 0 0 1

0 −1 0
1T 4T = 12T 23T 34T ifadesinde sol ve sağ taraftaki ifadeleri bir birine eşitleyelim.

. . . c1 p x  s1 p y  . . . 0 
. . .  s1 p x  c1 p y  . . . l3 s 3  (l 2  d 2 )
 
. . . p z  h1  . . . l3 c 3 
   
. . . 1  . . . 1 

θ3 , (3,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

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: c1 p x  s1 p y  0
Bulunan ifade asin𝜃 + bcos𝜃 = 0′ a benzemektedir ve çözüm aşağıdaki gibidir.

1  A tan 2( p x , p y ) veya 1  A tan 2( p x ,  p y )

d2 , (2,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.


d 2  s1 px  c1 p y  l3 s3  l2

Bu robotunda bir önceki örnekte olduğu gibi d2 prizmatik eklem değişkeninin


çözüm kümesine etkisi olmadığından iki dönel ekleminden kaynaklanan dört farklı
çözüm kümesi bulunmaktadır.
Ç1  { 3   için 1  }

Ç2  { 3   için 1  }

Ç2  { 3   için 1  }
Ç2  { 3   için 1  }
27
ÖRNEK 4.5 ÇÖZÜM 4.5

Şekildeki RRRRRR eklem yapısına Robotun ileri kinematik dönüşüm


sahip robotun ters kinematiğini matrisleri:
çözünüz ve çözüm kümelerini
bulunuz. cos1  sin 1 0 0  cos 2  sin  2 0 0
 sin  cos1 0 0   0 0 1 d 2 
1T 
0  1
2T 
1 
 0 0 1 h1   sin  2  cos 2 0 0
   
 0 0 0 1  0 0 0 1

cos 3  sin 3 0 l2   cos 4  sin 4 0 0


 sin cos 3 0 0   0 0 1 d 4 
3T 
2  3
4T 
3 
 0 0 1 0  sin 4  cos 4 0 0
   
 0 0 0 1  0 0 0 1

cos 5  sin 5 0 0  cos 6  sin 6 0 0


 0   0
 0  1 0 5 0 1 0
5T  T 
4
 sin 5 cos 5 0 0 6  sin 6  cos 6 0 0
   
 0 0 0 1  0 0 0 1
28
Uç işlevcisinin kartezyen uzayda konumunu belirleyen ilk üç eklem değişkeni θ1 ,
θ2 ve θ3 ’ü bulalım. Bunun için aşağıdaki denklemden faydalanılabilir.

 T
0
1
1 0
6T  21T 23T 34T 45T 56T

 . . . c1 p x  s1 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 

θ1 , (2,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

1  A tan 2( p x , p y )  A tan 2( p x 2  p y 2  d 2 2 , d 2 )


θ3 , (1,4), (2,4) ve (3,4) karşılıklı matris elemanlarının karelerinin alt alta
toplanmasıyla bulunur. Bu işlem gerçekleştirildiğinde 𝐬𝐢𝐧𝜽𝟑 = 𝒂 bulunur. Bu
ifadenin çözümü:

3  A tan 2 a,  1  a 2 
px 2  p y 2  ( pz  h1 ) 2  d 4 2  l2 2  d 2 2
Denklemde a ifadesi: a   29
2 d 4 l2
Uç işlevcisinin kartezyen uzayda yönelimini belirleyen son üç eklem değişkeni θ4 ,
θ5 ve θ6 ’yı bulalım. Bunun için aşağıdaki denklemden faydalanılabilir.

T
0
1
1
2T 23T 1 0
6 T  34T 45T 56T
 c1c 23r11  s1c 23r21  s 23r31 c1c 23r12  s1c 23r22  s 23r32 c1c 23r13  s1c 23r23  s 23r33 .
 c s r  s s r  c r c1s 23r12  s1s 23r22  c 23r32 c1s 23r13  s1s 23r23  c 23r33 .
 1 23 11 1 23 21 23 31

 s1r11  c1r21  s1r12  c1r22  s1r13  c1r23 .


 
 0 0 . .
 . . c 4 s5 .
 s c  s5 s 6 c5 .
 5 6
 . . s 4 s5 .
 
 . . 0 .

θ5 , (2,3) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

5   A tan 2( 1  (c1s 23r13  s1s 23r23  c 23r33 ) 2 ,  c1s 23r13  s1s 23r23  c 23r33 )

θ4 , (1,3) ve (3,3) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.


  s1r13  c1r23 c1c 23r13  s1c23r23  s23r33 
 4  A tan 2  , 
 s 5 s 5  30
θ6 ,(2,1) ve (2,2) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

 c1s 23r12  s1s 23r22  c 23r32 c1s 23r11  s1s 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

Şekilde Euler bilekli SCARA robotu veriliyor. Bu robotun uç işlevcisinin konumunun


px = 28, py = 31 , pz = 6 ve yöneliminin X-Y-Z sabit açı sistemine göre γ = 42°,
β = −17° ve α = 25° olması için dönel eklem değişkenlerinin (θ1 , θ2 , θ3 , θ4 , θ5 ve
θ6 ) açıları ve prizmatik eklem değişkeni d3 ’ün uzunluğu ne olmalıdır (𝑙1 = 26, 𝑙2 =
18, ℎ1 = 22 ve 𝑑4 = 4).

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.
cos1  sin 1 0 0 cos 2  sin  2 0 l1 
 sin  cos1 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.

 . . . c1 p x  s1 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.

1  A tan 2( p y , p x )  A tan 2( 4l12 ( p x2  p y2 )  k 2 , k ) k  px2  p y2  l12  l22

θ2 (1,4) ve (2,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.


  s1 p x  c1 p y c1 p x  s1 p y  l1 
 2  A tan 2 , 
 l2 l2 

d3 (3,4) karşılıklı matris elemanlarının eşitlenmesiyle 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
 c12 r11  s12 r21 c12 r12  s12 r22 c12 r13  s12 r23 .  c 4c5c 6  s 4 s 6 c 4c5 s 6  s 4c 6 c 4 s5 .
  s r  c r  s12 r12  c12 r22  s12 r13  c12 r23 .   s 4c5c 6  s 4 s 6 s 4c5 s 6  c 4c 6 s 4 s5 .
 12 11 12 21

 r31 r32 r33 .  s5c 6  s5 s 6 c5 .
   
 0 0 0 .  0 0 0 .

θ5 (3,3) karşılıklı matris elemanlarının eşitlenmesiyle aşağıdaki gibi bulunur.

 5  A tan 2( 1  r33 2 ,  r33 )


θ4 (1,3) ve (2,3) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

  s12 r13  c12 r23  c12 r13  s12 r23 


 4  A tan 2 , 
 sin  5 sin  5 
θ6 (3,1) ve (3,3) karşılıklı matris elemanlarının eşitlenmesiyle bulunur.

  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( p y , p x )  A tan 2( 4l12 ( p x2  p y2 )  k 2 , k )


k  p x2  p y2  l12  l22  282  312  26 2  182  2097

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.
 s1 p x  c1 p y c1 p x  s1 p y  l1
 2  A tan 2( , )
l2 l2

  s(63.03)  28  c(63.03)  31 c(63.03)  28  s(63.03)  31  26 


 2  A tan 2  ,   A tan 2( 0.6, 0.79)  37.25
 18 18 

Prizmatik eklem değişkeni d3 aşağıdaki gibi bulunur.

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.

 0.8667  0.4914 0.0858 


R XYZ 42,  17, 25   0.4041 0.5909  0.6982
0.29237 0.6399 0.7107 

Bu matrisin elemanlarından faydalanarak uç işlevcisinin yönelimini sağlayan açı


kümesi θ4 , θ5 ve θ6 aşağıdaki gibi bulunur. Önce θ5 açısını bulalım.

5  A tan 2( 1  r332 ,  r33 )  A tan 2( 1  0.7107 2 ,  0.7107)  135.29

θ4 açısını bulmak için beşinci eklem değişkenini θ5 = +135.29° alalım.

  s12 r13  c12 r23  c12 r13  s12 r23  s12  s1c 2  c1s 2  s(25.77)
 4  A tan 2 , 
sin  5 sin  5 c12  c1c 2  s1s 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) 

 r32 r   0.6399 0.29237 


𝜽𝟔 ise 6  A tan 2  , 31   A tan 2   ,   65.44 37
 sin  5 sin  5   sin(135.29) sin(135.29) 
ÖRNEK 4.6
Son olarak eklem kaçıklılıklı bilekli bir robotun ters kinematiğini bulalım. Bu bilekte
hem d hem de a parametresi olduğu için ters kinematiği Euler bilekli robotlara
göre daha karmaşık işlemler içerir. Aşağıdaki eklem kaçıklılıklı bilekli 6 serbestlik
dereceli robotun ters kinematiğini çözünüz.

ÇÖZÜM 4.6

Öncelikle şekildeki robotun ileri


kinematik dönüşüm matrislerini
hatırlayalım

cos1  sin1 0 0 1 0 0 0 cos 3  sin 3 0 l2 


 sin cos1 0 0 0 1 0 0   sin cos 3 0 0 
 2T 
 3T 

1T 
0 1 1 2 3

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

cos 4  sin 4 0 l3  cos 5  sin 5 0 l4  cos 6  sin 6 0 0 


 sin cos 4 0 0   0 0  1 0   0 0  1  d 6 
4T 
3  4
5T 
4  6T 
5 
 0 0 1 0  sin 5 cos 5 0 0  sin 6 cos 6 0 0 
     
 0 0 0 1  0 0 0 1  0 0 0 38 1 
İki, beş ve altıncı eklem değişkenlerini ( 𝜃6 , 𝜃5 ve 𝑑2 ) bulalım.
2
3T 34T 45T  21T 1 01T 1 06T 56T 1

 . c34 s5 . l4 c34  l3c3  l2   . c1r13  s1r23 . c1 ( p x  r13d 6 )  s1 ( p y  r23d 6 ) 
 .  s s . l4 s34  l3 s3   . s1r13  c1r23 .  s1 ( p x  r13d 6 )  c1 ( p y  r23d 6 ) 
 34 5

. c5 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.

 6  A tan 2(r32 , r31 ) veya  6  A tan 2(r32 ,  r31 )

𝜃5 , (3,2) karşılıklı matris elemanlarının eşitlenmesiyle aşağıdaki gibi bulunur.

 5  Atan2 ( 1  r33 2 , r33 )


𝑑2 (3,4) karşılıklı matris elemanlarının eşitlenmesiyle bulunur: d 2  p z  r33d 6
Bir, üç ve dördüncü eklem değişkenlerini (𝜃1 , 𝜃3 ve 𝜃4 ) bulalım.

. . . c1 p x  s1 p y  . . . d 6 c 34 s 5  l4 c 34  l3c 3  l2 


. . .  s1 p x  c1 p y  . d 6 s 34 s 5  l4 s 34  l3 s 3 
 T
0
1
1 0
T  21T 23T 34T 45T 56T
6  
. .
. . . pz  . . .  d 6 c 5  d 2 
   
. . . 1  . . . 1 
Dönel eklem değişkeni θ1 , (1,4) ve (2,4) karşılıklı matris elemanlarının karelerini
alıp alt alta toplayalım (denklemde k = d6 sθ5 + I4 )

p x2  p y2  l22  2l2 p x c1  2l2 p y s1  k 2  l32  2l3 k (c 3c 34  s 3 s 34 )

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.

p x2  p y2  l22  2l2 p x c1  2l2 p y s1  k 2  l32


c 4 
2l3 k

(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 mc1  2l2 ns1  l42  l32  2l3l4 (c3c34  s3 s34 )

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 mc1  2l 2 ns1  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 c1  2l2 p y s1  k 2  l32 m 2  n 2  l22  2l2 mc1  2l2 ns1  l42  l32

2l3k 2l3l4

c1 (2l2 km  2l2l4 px )  s1 (2l2 kn  2l2l4 p y )  l4 ( p x2  p y2  l22  k 2  l32 )  k (m 2  n 2  l22  l42  l32 )  0

Yukarıdaki denklemde bazı ifadelerin yerine p, q ve y yazalım.


(2l2 kn  2l2l4 p y )  p (2l 2 km  2l 2 l 4 p x )  q

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

Gerekli düzenlemeleri yaparak birinci eklem değişkenini aşağıdaki gibi buluruz.

q c1  p s1   y 1  A tan 2( p , q)  A tan 2 p 2  q 2  y 2 ,  y)

41
𝜃4 daha önce bulduğumuz ifadelerden faydalanarak bulunabilir.
p x2  p y2  l22  2l2 p x c1  2l2 p y s1  k 2  l32
c 4 
2l3 k
p x  p y  l 2  2l 2 p x c1  2l 2 p y s1  k 2  l3
2 2 2 2
Denklemde  s olsun.
2l3 k

 4  Atan2( 1  s 2 , s )

Dönel eklem değişkeni 𝜃3 , (2,2) karşılıklı matris elemanlarının eşitleyip gerekli


düzenleme yapılırsa aşağıdaki gibi bulunur.

s 3 (c 4 s 5 )  c 3 ( s 4 s 5 )   s1r13  c1r23 a sin   b cos   c

3  A tan 2(c 4 s5 , s 4 s5 ) A tan 2 s 25  (s1r13  c1r23 ) 2 ,  s1r13  c1r23 )

42

You might also like