Model Dinamik Robot Planar 1 DOF dan Simulasi
Indrazno Siradjuddin
Pemodelan pergerakan suatu benda dalam sistem dinamik dapat dilakukan dengan beberapa cara diantaranya adalah dengan menggunakan metode Lagrangian, Hamiltonian dan Newton-Euler. Semua teknik dapat digunakan untuk menghasilkan persamaan gerak dinamik yang sama. Persamaan gerak dinamik adalah merupakan persamaan yang merelasikan input dalam hal ini gaya F dan torsi τ dengan output atau gejala dinamik (translasi: percepatan ¨x, kecepatan ˙x dan posisi x atau rotasi: percepatan sudut ¨θ, kecepatan sudut ˙θ dan sudut θ). Teknik yang digunakan untuk penurunan persamaan gerak dinamik dalam penjelasan ini adalah dengan teknik Lagrangian.
1
Review Gerak Translasi dan Rotasi
Sebelum membahas lebih lanjut derivasi persamaan gerak dinamik, Tabel 1 berikut akan mengin-gatkan kita analogi dan istilah standar pada persamaan gerak translasi dan rotasi
Tabel 1: Analogi gerak translasi dan gerak rotasi
No Gerak translasi Gerak rotasi
1 Posisi, x Sudut, θ 2 Kecepatan translasi, ˙x, dx dt, v Kecepatan sudut, ˙θ, dθ dt, ω 3 Percepatan translasi, ¨x, d 2x dt2, a Percepatan sudut, ˙ω, ¨θ, d2θ dt2, α 4 Massa, m Inersia, I 5 Gaya, F = m¨x Torsi, τ = I ¨θ 6 Usaha, W = F ∆x Usaha, W = τ ∆θ 7 Energi kinetik,K = 1 2m ˙x 2 Energi kinetik, K = 12I ˙θ2 8 Daya, P = F ˙x Daya, P = τ ˙θ
2
Persamaan Euler-Lagrange
Metode lagrangian menggunakan diskripsi dari total energi kinetik K dan energi potensial P untuk memperoleh persamaan gerak sistem dinamik. Persamaan gerak sistem dinamik Euler-Lagrange diperoleh dengan
Qi = d dt ∂L ∂ ˙qi − ∂L ∂qi (1) dimana Qi adalah gaya ke i yang digeneralisasi (gaya yang dimaksud dapat berupa torsi). qi
dino-tasikan denganL dan dihitung dengan
L = K − P (2)
3
Energi Kinetik dan Energi Potensial 1 DOF Robot Lengan
Gambar 1: Robot Lengan 1 DOF
Total energi kinetik K robot lengan Gambar 1 terdiri dari energi kinetik gerak translasi Kt
dan energi kinetik gerak rotasi Kr. Untuk energi kinetik gerak translasi, kecepatan transalasi
diproyeksikan pada sumbu x dan sumbu y, sehingga didapat
K = Kt+Kr (3) = 1 2mv 2+1 2I ˙θ 2 (4) = 1 2m(v 2 x+ vy2) + 1 2I ˙θ 2 (5)
dari transformasi geometri, proyeksi koordinat titik pusat berat lengan pada sumbu x dan y adalah
x = lccos θ (6)
y = lcsin θ (7)
(8) sehingga dapat diturunkan menjadi
dx
dt = vx =−lc˙θ sin θ (9)
dy
dt = vy = lc˙θ cos θ (10)
dengan mensubstitusikan persamaan (9) dan (10) kedalam persamaan (5) didapatkan K = 12ml2c˙θ2+
1 2I ˙θ
Energi potensial untuh sebuah massa m akibat gaya gravitasi secara umum dapat dituliskan sebagai berikut
P = mgh (12)
dimana h adalah tinggi proyeksi titik pusat berat terhadap sumbu y, oleh karena itu energi potensial dapat dihitung dengan
P = mglcsin θ (13)
4
Persamaan Gerak Dinamik 1 DOF
Dari penjelasan sebelumnya, energi kinetik dan energi potensial dari sistem 1 DOF robot lengan dapat dituliskan ulang dalam persamaan Lagrange sebagai berikut
L = (12ml2c˙θ 2+1
2I ˙θ
2)
− (mglcsin θ) (14)
Pada kasus sistem dinamik 1 DOF robot lengan ini, gaya yang digeneralisasi pada Persamaan (1) adalah torsi Qi = τ dan koordinat yang digeneralisasi adalah posisi sudut qi= θ, sehingga
persamaan Euler-Lagrange dapat ditulis kembali menjadi
τ = d dt ∂L ∂ ˙θ − ∂L ∂θ (15) Komponen ∂L
∂θ dapat diturunkan sebagai berikut ∂L ∂θ = ∂ (1 2ml 2 c˙θ2+ 1 2I ˙θ 2) − (mglcsin θ) ∂θ (16) = −mglccos θ (17) Komponen ∂L
∂ ˙θ dapat diturunkan sebagai berikut ∂L ∂ ˙θ = ∂ (1 2ml 2 c˙θ2+ 1 2I ˙θ 2)− (mgl csin θ) ∂ ˙θ (18) = mlc2˙θ + I ˙θ (19)
Oleh karena itu
d dt ∂L ∂ ˙θ = dmlc˙θ + I ˙θ dt (20) = mlc2θ + I ¨¨ θ (21)
Sehingga persamaan akhir dari sistem dinamik 1 DOF robot lengan adalah
Dalam kasus ini fungsi torsi τ tergantung dari state dinamik ¨θ dan θ. Persamaan (22) adalah disebut persamaan dinamik terbalik (inverse dynamic equation). Persamaan yang menghitung kebutuhan torsi suatu aktuator robot untuk menghasilkan state dinamik ¨θ dan θ.
Untuk persamaan dinamik maju (forward dynamic equation) dihasilkan dengan mencari fungsi state dinamik orde yang tertinggi dalam hal ini ¨θ, dapat dihitung dengan
¨
θ = τ− mglccos θ
ml2 c + I
(23) untuk state dengan orde yang lebih rendah lainnya, dengan persamaan diskrit dapat didekati dengan menggunakan metode Euler, yaitu
˙θi = ˙θi−1+ ∆t¨θi (24)
θi = θi−1+ ∆t ˙θi (25)
dimana i menunjukkan indeks waktu diskrit dan ∆t adalah waktu cuplik (sampling time). Dengan membuat τ = 0 pada Persamaan (23), dengan kata lain tidak ada pengaruh input torsi eksternal, maka gejala alamiah sistem dinamik dapat disimulasikan dengan
¨
θ = −mglccos θ
ml2 c + I
(26) Penurunan persamaan Euler-Lagrange untuk sistem dinamik 1 DOF robot lengan diatas dapat dibantu dengan menggunakan program Python dengan cara simbolik. Program Python untuk menyelesaikan persamaan differensial Euler-Lagrange (lihat Program 1).
1 from sympy i m p o r t ∗ 2 #t h e t a = T, t i m e = t , t o r q u e = t a u 3 #i n e r t i a = I , mass = m, c e n t r e o f mass l e n g t h = l 4 #t h e t a d o t = dT , g r a v i t y = g 5 6 T, t , tau , I , m, l , g = s y m b o l s (’T t t a u I m l g ’) 7 dT = d i f f (T( t ) , t ) 8 L1 = m∗ g ∗ l ∗ s i n (T( t ) ) 9 L2 = 0 . 5 ∗ (m∗ l ∗∗2∗dT∗∗2 + I ∗dT∗ ∗ 2 ) 10 11 dL1dT = d i f f ( L1 , T( t ) ) 12 dL2ddT = d i f f ( L2 , dT) 13 dL2dt = d i f f ( dL2ddT , t ) 14 t a u = dL2dt − dL1dT 15 16 p p r i n t ( dL1dT ) 17 p p r i n t ( dL2ddT ) 18 p p r i n t ( dL2dt ) 19 p p r i n t ( t a u )
Program 1: Penurunan Persamaan Euler-Lagrange dengan Python
Gejala alamiah state sistem dinamik digambarkan pada Gambar 2. Program Python untuk simulasi gejala alamiah state sistem dinamik ditulis seperti pada Program 2.
0 2 4 6 8 10 Time, t(s) −7.5 −5.0 −2.5 0.0 2.5 5.0 7.5 θ(rad) , ˙ θ( rad s ), ¨ θ( rad 2s ) θ(t) ˙θ(t) ¨ θ(t)
Gambar 2: Simulasi state gejala alamiah sistem dinamik 1 DOF robot lengan 1 from math i m p o r t ∗ 2 from p y l a b i m p o r t ∗ 3 from numpy i m p o r t ∗ 4 i m p o r t m a t p l o t l i b . p y p l o t a s p l t 5 6 d e f Dynamic1DOF ( s t a t e , t ) : 7 m = 1 . #l i n k mass ( kg ) 8 l = 1 . 9 l c = 0 . 5 ∗ l #l i n k l e n g t h (m) 10 g = 9 . 8 1 #g r a v i t y (m/ s ˆ 2 ) 11 I = ( 1 . / 3 . ) ∗ m ∗ l ∗∗2 #moment o f i n e r t i a ( kg mˆ 2 ) 12 t h e t a = s t a t e [ 0 ] #i n r a d i a n 13 t h e t a d o t = s t a t e [ 1 ] #i n r a d i a n p e r s e c o n d 14 t h e t a d d o t = (−m∗ g ∗ l c ∗ c o s ( t h e t a ) ) / ( I + m∗ l c ∗ ∗ 2 ) #i n r a d i a n p e r s e c o n d ˆ2 15 dT = t [ 1 ] − t [ 0 ] #t i m e s a m p l i n g 16 STATE = z e r o s ( ( s i z e ( t ) , 3 ) ) 17 f o r i i n r a n g e( s i z e ( t ) ) : 18 t h e t a d d o t = (−m ∗ g ∗ l c ∗ c o s ( t h e t a ) ) / ( I + m ∗ l c ∗∗ 2 ) # i n r a d i a n p e r s e c o n d ˆ2 19 t h e t a d o t = t h e t a d o t + (dT ∗ t h e t a d d o t ) 20 t h e t a = t h e t a + (dT ∗ t h e t a d o t ) 21 p r i n t t h e t a d d o t , t h e t a d o t , t h e t a 22 STATE [ i ] [ 0 ] = t h e t a 23 STATE [ i ] [ 1 ] = t h e t a d o t 24 STATE [ i ] [ 2 ] = t h e t a d d o t 25 r e t u r n STATE 26 27 28 t = l i n s p a c e ( 0 . 0 , 1 0 . 0 , 1 0 0 1 ) 29 s t a t e 0 = [ 4 5 . 0 ∗ p i / 1 8 0 . 0 , 0 . 0 ] 30 STATE = Dynamic1DOF ( s t a t e 0 , t ) 31 p l t . f i g u r e ( 1 )
32 p l t . r c (’ t e x t ’, u s e t e x=True ) 33 p l t . r c (’ f o n t ’, f a m i l y=’ s e r i f ’) 34 p l t . x l a b e l (r ’ Time , $ t ( \ mathrm{ s } ) $ ’)
35 p l t . y l a b e l (r ’ $ \ t h e t a ( \ mathrm{ r a d } ) $ , $ \ d o t {\ t h e t a } ( \ f r a c {\mathrm{ r a d }}{\ mathrm{ s } } ) $ , $ \ ddot {\ t h e t a } ( \ f r a c {\mathrm{ rad }}{\ mathrm{ s } ˆ 2 } ) $ ’)
36 #p l t . x l i m ( [ 0 . 0 , 1 2 . 5 ] ) 37 p l t . p l o t ( t , [ d a t [ 0 ] f o r d a t i n STATE ] , ’− ’, l i n e w i d t h = 0 . 7 5 , l a b e l=r ’ $ \ t h e t a ( t ) $ ’ ) 38 p l t . p l o t ( t , [ d a t [ 1 ] f o r d a t i n STATE ] , ’ : ’, l i n e w i d t h = 0 . 7 5 , l a b e l=r ’ $ \ d o t \ t h e t a ( t ) $ ’) 39 p l t . p l o t ( t , [ d a t [ 2 ] f o r d a t i n STATE ] , ’ −. ’, l i n e w i d t h = 0 . 7 5 , l a b e l=r ’ $ \ ddot \ t h e t a ( t ) $ ’) 40 p l t . l e g e n d ( f r a m e a l p h a = 0 . 0 , l o c =1) 41 p l t . g r i d ( True ) 42 p l t . s a v e f i g (’ . . / F i g s / Lagrange1DOFSim . p d f ’) 43 p l t . show ( )