Robotika - 7 (Kinematika Robot)

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 55

ROBOTIKA

KINEMATIKA ROBOT

Chaeriah Bin Ali Wael ST, MT


[email protected]
UNRIKA - Batam

Definisi Kinematika Robot

Kinematika : Studi analitis pergerakan lengan robot (robot arm) terhadap


sistem kerangka koordinat referensi yang diam/bergerak tanpa
memperhatikan gaya yang menyebabkan pergerakan tersebut.
Topik pembahasan kinematika

Direct/Forward Kinematics : (angles to positions)


Diketahui : panjang setiap link dan sudut setiap joint
Informasi yang akan diperoleh : posisi dari ujung lengan robot
dalam kerangka 3 D

Inverse Kinematics : (Positions to angles)


Diketahui : panjang setiap link, posisi ujung lengan robot
Informasi yang akan diperoleh : sudut masing joint untuk dapat
mencapai posisi tersebut

Kinematika Robot
Kinematika invers

Ruang Kartesian/
2D-3D
P(x, y, z)

Ruang
Sudut/Sendi
(r, )

Kinematika forward

Vektor

PerkalianTitik (Dot Product) :


Representasi
a b = a b cos
Geometri :

a x b x
A B = = a xb x + a y b y
a y b y

Representasi vektor :

a x
a
y

Vektor satuan : vektor dengan panjang (norm)sama dengan satu


uB =

B
B
uB

b x
b
y

Vektor

PerkalianTitik (Dot Product) :


Contoh :
Tentukan hasil kali titik dari dua vektor a = 2i dan b = 2i + 2 j !
Jawab :
Cara (1) : Representasi geometri
a b = a b cos
= 2 8

1
=4
2

Cara (2) : representasi vektor

) (

a b = ai bi + aj bj
= (2 2) + (0 2)
=4

Matriks

Penjumlahan matriks :

Perkalian matriks :

a b e
c d + g

f (a + e )
=

h (c + g )

(b + f )
(d + h )

Matriks A (m x n) dan Matriks B (n x p), dapat dikalikan jika jumlah


kolom Matriks A sama dengan jumlah baris Matriks B.
Perkalian matriks tidak secara umum tidak bersifat komutatif (NonCommutative Multiplication) AB BA
a b e
c d g

f (ae + bg )
=

h (ce + dg )

(af + bh )
(cf + dh )

Transformasi Dasar
Permasalahan transformasi :

Bagaimana menghitung nilai sebuah titik terhadap sebuah Kerangka


Koordinat (KK) tertentu yang mengalami rotasi.

Penentuan matriks rotasi dasar

Bagaimana menghitung nilai sebuah titik tehadap sebuah Kerangka


Koordinat (KK) tertentu yang mengalami translasi/pergeseran.

Penentuan vektor translasi

Matriks Rotasi Dasar

Perhatikan dua buah Kerangka Koordinat


(KK) 0XYZ dan 0UVW yang pada saat
awal berimpit.

OXYZ merupakan KK diam

OUVW merupakan KK bergerak

Titik P ikut bergerak bersama KK


OUVW

Pada saat KK OUVW bergerak/berputar,


titik pusat (origin) selalu berimpit dengan
titik pusat KK OXYZ (coincident)

Matriks Rotasi Dasar

Titik P dapat direpresentasikan terhadap


KK OXYZ maupun KK OUVW :

pUVW = (pu, pv, pw)T

pXYZ = (px, py, pz)T

Persoalannya adalah bagaimana menghitung


matrik transformasi (3 x 3) yang akan
mentransformasikan koordinat pUVW
menjadi nilai koordinat yang dinyatakan
terhadap KK OXYZ :

pxyz = R puvw

Matriks Rotasi Dasar

Titik pUVW dan pXYZ dapat dinyatakan


dalam nilai komponen vektor, sbb :

pXYZ = px ix + py jy + pz kz

pUVW = pu iu + pv jv + pw kw

Berdasarkan definisi dot product, maka


diperoleh :
Pers (1)

Matriks Rotasi Dasar

Pers. (1) dapat dituliskan dalam bentuk matriks, sbb :


pxyz = R puvw

Koordinat pUVW terhadap koordinat pXYZ diperoleh dengan cara :


puvw = Q pxyz

Matriks Rotasi Dasar

Karena dot product bersifat komutatif, maka :

Q = R-1 = RT

QR = RTR = R-1R = I

Q, R disebut matrik transformasi orthogonal.


Q, R disebut juga matrik transformasi orthonormal karena elemenelemen nya berupa vektor satuan (unit vector).

Matriks Rotasi Dasar


Rotasi Terhadap Sumbu X

Rotasi Terhadap Sumbu Y

Rotasi Terhadap Sumbu Z

Matriks Rotasi Terhadap Sb. X


Rotasi Terhadap Sumbu X

pXYZ = Rx, pUVW


ix iu

Matriks Rotasi Terhadap Sb. Y


pXYZ = Ry, pUVW
iy iv

Rotasi Terhadap SumbuY

Matriks Rotasi Terhadap Sb. Z


pXYZ = Rz, pUVW
iz iw

Rotasi Terhadap Sumbu Z

Matriks Rotasi Dasar


Contoh (1) :
Diketahui dua buah titik auvw = (4,3,2)T dan buvw = (6,2,4)T terhadap
Kerangka Koordinat (KK) OUVW.
Hitunglah nilai titik tersebut terhadap KK OXYZ (axyz dan bxyz) jika
KK OUVW diputar terhadap sumbu OZ sebesar 60o !

Matriks Rotasi Dasar


Jawab :

Matriks Rotasi Dasar


Contoh (2) :
Diketahui dua buah titik axyz = (4,3,2)T dan bxyz = (6,2,4)T terhadap
KK OXYZ
Hitunglah nilai titik tersebut terhadap KK OUVW (auvw dan bovw) jika
KK OUVW diputar terhadap sumbu OZ sebesar 60o !

Matriks Rotasi Dasar


Jawab :

Matriks Rotasi Komposit

Matrik rotasi dasar dapat dikalikan untuk menyatakan rotasi


terhadap beberapa sumbu dari Kerangka Koordinat.
Mengingat bahwa perkalian matriks tidak bersifat komutatif, maka
urutan rotasi terhadap beberapa sumbu menjadi penting.
Contoh (3) :
Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah
nilai matrik rotasi, apabila KK OUVW berturut-turut :

diputar terhadap sumbu OX sebesar sudut , kemudian


diputar terhadap sumbu OZ sebesar sudut , kemudian
diputar terhadap sumbu OY sebesar sudut

Matriks Rotasi Komposit

Contoh (3)
Jawab :

Matriks Rotasi Komposit

Contoh (4) :
Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah
nilai matrik rotasi, apabila KK OUVW berturut-turut :
diputar terhadap sumbu OY sebesar sudut , kemudian
diputar terhadap sumbu OZ sebesar sudut , kemudian
diputar terhadap sumbu OX sebesar sudut

Matriks Rotasi Komposit

KK OUVW (bergerak) selain dapat diputar terhadap KK OXYZ


(referensi/diam) dapat pula diputar terhadap sumbunya sendiri (sumbu OU,
sumbu OV atau sumbu OW).
Aturan umum untuk menghitung matriks transformasi komposit yang
mencakup dua kemungkinan rotasi diatas (berputar terhadap sumbu KK diam
atau KK dirinya sendiri) adalah :
Pada saat awal dua buah KK tersebut berimpit (coincident) dengan demikian
matrik rotasi adalah matrik Identitas/Satuan, I.
Bila KK OUVW diputar terhadap salah satu sumbu dari KK OXYZ lakukan
proses perkalian premultiply sesuai dengan matriks rotasi dasar dan
urutannya.
Bila KK OUVW diputar terhadap salah satu sumbu dari KK nya sendiri
(OUVW) lakukan proses perkalian postmultiply sesuai dengan matriks rotasi
dasar dan urutannya .

Matriks Rotasi Komposit

Contoh (5) :
Pada saat awal KK OXYZ dan KK OUVW berimpit. Hitunglah
nilai matrik rotasi, apabila KK OUVW berturut-turut :
diputar terhadap sumbu OY sebesar sudut , kemudian
diputar terhadap sumbu OW sebesar sudut , kemudian
diputar terhadap sumbu OU sebesar sudut

Matriks Rotasi Komposit

Contoh (5) :
Jawab :

Perhatikan contoh diatas menghasilkan nilai matrik rotasi


komposit yang sama dengan contoh sebelumnya namun
berbeda dalam urutan rotasi.

Matriks Translasi

Sebuah robot dapat berpindah tempat dan berotasi pada waktu yang
bersamaan. Gerakan ini dapat dinyatakan dalam matriks
transformasi sebagai berikut :
p x r11
p
y = r21
p z r31
1 0

r12
r22
r32

r13
r23
r33

s x pu
s y pv

s z pw
1 1

Atau dituliskan sebagai berikut :


p xyz R
1 = 0 0 0

s puvw
1 1

Ket :
R : matriks Rotasi 3x3
s : matriks translasi 3x1

Matriks Transformasi Homogen

Kombinasi antara matriks rotasi dan matriks translasi dikenal


sebagai matriks transformasi homogen.
Secara umum, matriks transformasi homogen dinyatakan sbb :
R33
T =
f13

p31
matriks rotasi
=

1 1 transformasi perspektif

vektor posisi
penskala

Matriks transformasi homogen hanya untuk gerak translasi :


TTrans

1
0
=
0

0
1
0
0

0 dx
0 dy
1 dz

0 1

Matriks Transformasi Homogen

Matriks transformasi untuk gerak rotasi saja :


Terhadap sb. x
Terhadap sb. Y
Terhadap sb. Z

Matriks Transformasi Homogen

Contoh (6) :
Tentukan matriks transformasi homogen untuk kasus berikut :
W N
O
W
W A

Y
T
P

X
Z

W X
Y Point relative to the
W X-Y-Z frame
WZ

WI
J Point relative to the
W I-J-K frame
W K

W N
O Point relative to the
W N-O-A frame
W A

Matriks Transformasi Homogen

Contoh (6)
Jawab :
W I Pi n i
J
W = Pj + n j
W K Pk n k

WI ni
J
W = n j
W K n k

1 0

oi
oj
ok
0

oi
oj
ok

ai
aj
ak
0

ai W N

a j W O
a k W A

Pi W N

Pj W O
Pk W A

1 1

Matriks Transformasi Homogen

Contoh (6)
Jawab :

W Tx i x
Y
W = Ty + i y
W Z Tz i z

jx
jy
jz

W
J
W
W K

Substituting for

k x W

k y W J
k z W k
I

W X i x
Y
W = i y
W Z i z

1 0

W X i x
Y
W = i y
W Z i z

1
0

jx
jy

kx
ky

jz
0

kz
0

Tx n i
Ty n j
Tz n k

1 0

oi
oj

ai
aj

ok
0

ak
0

jx
jy

kx
ky

jz
0

kz
0

Tx W I

Ty W J
Tz W K

1 1
Pi W N

Pj W O
Pk W A

1 1

Matriks Transformasi Homogen

Contoh (6)
Jawab :
W N
W X
O
Y
W
= H W

W A
W Z

1
1

i x
i
H= y
i z

jx
jy
jz
0

kx
ky
kz
0

Tx n i
Ty n j
Tz n k

1 0

oi
oj
ok
0

ai
aj
ak
0

Pi
Pj
Pk

oi
oj
ok
0

ai
aj
ak
0

0
0
0

Matriks H juga dapat dituliskan sebagai berikut :


1
0
H=
0

0
1
0
0

0 Tx i x
0 Ty i y
1 Tz i z

0 1 0

jx
jy
jz
0

kx
ky
kz
0

0 1
0 0
0 0

1 0

0
1
0
0

0 Pi n i
0 Pj n j
1 Pk n k

0 1 0

Kinematika Robot Statik

Kinematika Arm-Robot 1 Sendi


Kedudukan ujung lengan P(x,y)
diperoleh dengan cara kinematik maju,
sebagai berikut :
x = l cos
y = l sin
Jika (x,y) diketahui, maka diperoleh
dengan kinematika invers sebagai
berikut :
= arctan (y/x)
atau
= tan-1 (y/x)

Kinematika Arm-Robot 2 Sendi


The Geometric Solution
2

l1

l2

(x , y)

Using the Law of Cosines:


sin B sin C
=
b
c
sin 1 sin(180 2 )
sin( 2 )
=
=
l2
x 2 + y2
x 2 + y2
1 = 1 +
y
= arctan 2
x

Kinematika Arm-Robot 2 Sendi


The Geometric Solution
2

l2

(x , y)

Using the Law of Cosines:

c 2 = a 2 + b 2 2ab cos C
( x 2 + y 2 ) = l1 + l2 2l1l2 cos(180 2 )
2

cos(180 2 ) = cos( 2 )
x 2 + y 2 l1 l2
cos( 2 ) =
2l1l2
2

l1

Redundancy caused since 2 has two possible


values

l sin( )
y
2
1 = arcsin 2
+ arctan 2
x 2 + y2
x

x 2 + y 2 l12 l2 2

2 = arccos

2l1l2

Redundant since 2 could be in the first or


fourth quadrant.

The Algebraic Solution


2

l2

(x , y)

c1 = cos1
c1+ 2 = cos( 2 + 1 )
(1) x = l1 c1 + l2 c1+ 2

l1

(2) y = l1 s1 + l2 sin 1+ 2

(3) = 1 + 2

(1) 2 + (2) 2 = x 2 + y 2 =

) (

= l1 c1 + l2 (c1+ 2 ) 2 + 2l1l2 c1 (c1+ 2 ) + l1 s1 + l2 (sin1+ 2 ) 2 + 2l1l2 s1 (sin1+ 2 )


2

= l1 + l2 + 2l1l2 (c1 (c1+ 2 ) + s1 (sin1+ 2 ) )


2

= l1 + l2 + 2l1l2 c 2
2

Only Unknown

x 2 + y 2 l12 l2 2

2 = arccos

2
l
l
1 2

Note :
cos(a+ b) = (cos a)(cos b) + (sin a)(sin b)

sin(a+b) = (cos a)(sin b) + (cos b)(sin a)

x = l1 c1 + l2 c1+ 2
= l1 c1 + l2 c1c 2 l2 s1s2
= c1 (l1 + l2 c 2 ) s1 (l2 s2 )
y = l1 s1 + l2 sin 1+ 2
= l1 s1 + l2 s1c 2 + l2 s 2 c1
= c1 (l2 s 2 ) + s1 (l1 + l2 c 2 )
c1 =

x + s1 (l 2 s 2 )
(l1 + l 2 c 2 )

x + s1 (l 2 s 2 )
y=
(l 2 s 2 ) + s1 (l1 + l 2 c 2 )
(l1 + l 2 c 2 )

Note :
cos(a+ b) = (cos a)(cos b) + (sin a)(sin b)

sin(a+b) = (cos a)(sin b) + (cos b)(sin a)

We know what 2 is from the previous


slide. We need to solve for 1 . Now we
have two equations and two unknowns (sin
1 and cos 1 )

Substituting for c1 and simplifying


many times

1
=
x l 2 s 2 + s1 (l12 + l 2 2 + 2l1l 2 c 2 )
(l1 + l 2 c 2 )
s1 =

y(l1 + l 2 c 2 ) x l 2 s 2
x 2 + y2

Notice this is the law of cosines and


can be replaced by x2+ y2

y(l1 + l 2 c 2 ) x l 2 s 2
1 = arcsin
x 2 + y2

Kinematika Arm-Robot 2 Sendi


Kedudukan ujung lengan P(x,y) diperoleh
dengan cara kinematik maju, sebagai
berikut :
x = l1 cos 1 + l2 cos 1 cos 2 - l2 sin 1
sin 2
y = l1 sin 1 + l2 sin 1 cos 2 + l2 cos 1
sin 2
Jika (x,y) diketahui, maka diperoleh
dengan kinematika invers sebagai berikut :
y (l + l cos 2 ) x l2 sin 2

1 = tan 1 2
x(l1 + l2 cos 2 ) + y l2 sin 2
1

x 2 + y 2 l12 l2 2

2 = cos

2 l1 l2

Kinematika Robot Mobile

Pergerakan Robot Mobile


Pergerakan robot mobile dibedakan menjadi :
Holonomic
Jika derajat kebebasan yang dapat dikendalikan sama dengan derajat
kebebasan total, maka robot dikatakan holonomic.
Non-holonomic
Jika derajat kebebasan yang dapat dikendalikan kurang dari derajat
kebebasan total, maka itu dikenal sebagai gerakan non-holonomic.
Redundant
Jika derajat kebebasan yang dapat dikendalikan lebih dari derajat
kebebasan total maka kontrol dianggap berlebihan atau redudant

Holonomic vs. Non-holonomic

Holonomic vs. Non-holonomic

Sistem Kontrol Robotik


Kontroler
P(x,y,z) +

e
-

Transformasi
koordinat
P ke

Kinematik invers
Ruang
kartesian

Robot
(elektronik & mekanik)

H(s)

G(s)

Kinematik maju
Transformasi
koordinat
P ke

Ruang
Sendi/sudut

(1, , n)

Kinematika Robot Mobile


Ket :
Xb, Yb : merupakan base frame,
yaitu sumbu kartesian yang
merepresentasikan ruangan
terhadap robot.
Xm, Ym : merupakan moving
frame, yaitu sumbu kartesian
yang merepresentasikan robot
terhadap ruangan.
: sudut moving robot mobile
terhadap ruangan.
P : titik pusat robot mobile.

Kinematika Sistem Non-holonomik


Salah satu contoh robot aplikasi yang memiliki struktur kinematik nonholonomic adalah mobile robot.
Holonomic
Bergerak dalam kawasan 2D
Kontur medan yang tidak rata (turun-naik) tidak dimasukkan sebagai unsur
sumbu Z
Analisa kinematik berbasis titik koordinat, dapat dilakukan dengan
menggunakan matriks transformasi homogen T yang mengandung elemen
rotasi dan translasi :

r11 r12
T = r21 r22
0 0

x cos
y = sin
1 0

sin
cos
0

x
y
1

Kinematika Sistem Non-holonomik

Kinematika Sistem Non-holonomik


Jika koordinat asal titik pxyz dinyatakan sebagai q1(x1,y1) dan titik
tujuan puvw dinyatakan sebagai q2(x2,y2), maka dapat ditulisa dalam
persamaan :
x2 r11
y = r
2 21
1 0

r12
r22
0

x x1
y y1
1 1

Jika diuraikan akan diperoleh :


x2 cos x1 sin y1 + (x2 x1 )
y = sin x + cos y + ( y y )
1
1
2
1
2
1

0( x1 ) + 0( y1 ) + 1 1

x2 cos
y = sin
2
1 0

sin
cos
0

x2 x1 x1
y2 y1 y1
1 1

Kinematika Mobile Robot


Jenis roda pada robot mobile :

Ackerman steering (car steering)

Differensial steering

Kinematika Mobile Robot


Jenis roda pada robot mobile :

Tank steering

Kinematika Mobile Robot


Jenis roda pada robot
mobile :

Omni directional steering

Kinematika DDMR
: sudut hadap robot terhadap
sumbu x bidang cartesian.
2b : lebar robot diukur dari garis
tengah antar roda.
r : jari-jari roda
d : jarak antara titik
(x,y) : koordinat acuan di tubuh
robot terhadap sumbu XY.

Dinamika Robot

Kinematika : Studi analitis pergerakan lengan robot (robot arm)


terhadap sistem kerangka koordinat referensi yang
diam/bergerak tanpa memperhatikan gaya yang menyebabkan
pergerakan tersebut.
Persamaan dinamika digunakan untuk kebutuhan :

Perancangan strategi dan algoritma kendali agar lengan robot


memenuhi tanggapan dan kinerja yang diinginkan
Evaluasi perancangan kinematika dan struktur dari lengan robot

Dinamika Robot

Terdapat dua permasalahan dinamika robot :


Forward Dynamic Problem : Persamaan dinamika digunakan
untuk menghitung nilai posisi, kecepatan dan percepatan dari setiap
joint apabila diberikan gaya/torsi pada setiap joint.
Inverse Dynamic Problem : Persamaan dinamika digunakan untuk
menghitung nilai gaya/torsi setiap joint apabila diberikan posisi,
kecepatan dan percepatan dari setiap joint.
Beberapa pendekatan untuk menentukan persamaan dinamika :
Lagrange-Euler Formulation (LE): Menghasilkan persamaan
diferensial orde dua non-linier. Sangat baik untuk kebutuhan simulasi
Newton-Euler Formulation (NE) : Menghasilkan persamaan linier
rekursif. Sangat baik untuk komputasi real-time (inverse dynamic
problem)

Anda mungkin juga menyukai