• Tidak ada hasil yang ditemukan

PENELUSURAN LINTASAN DENGAN JARINGAN SARAF TIRUAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENELUSURAN LINTASAN DENGAN JARINGAN SARAF TIRUAN"

Copied!
7
0
0

Teks penuh

(1)

PENELUSURAN LINTASAN

DENGAN JARINGAN SARAF

TIRUAN

Tugas mendasar dari robot berjalan ialah dapat bergerak secara akurat pada suatu lintasan (trajectory) yang diberikan. Atau dengan kata lain galat antara posisi (baik x dan y) serta orientasi (θ) yang dibuat robot dengan nilai referensi lintasan yang diberikan seminimum mungkin. Istilah yang sering dipakai untuk masalah ini ialah trajectory tracking atau penelusuran lintasan. Untuk menyelesaikannya digunakan metode Neural Network Predictive Control (NNPC). NNPC juga merupakan suatu jaringan saraf tiruan, hanya saja model ini sering digunakan sebagai alat prediksi atau estimator.

Dasar dari NNPC ialah meminimumkan suatu cost function atau fungsi ongkos yang kudratik dalam beberapa iterasi. Fungsi ongkos tersebut mengandung galat antara hasil prediksi dengan referensi dan perubahan masukan sistem sebagai akibat dari prediksi. Sistem persamaan ruang keadaan DDMR yang diperoleh sebelumnya terdiri atas keluarann = 3 dan masukanm = 2. Untuk sistem seperti ini definisikan

(2)

fungsi ongkos kuadratiknya sebagai berikut V(k) = 1 2hp ˆ eTLˆe+ 1 2hu ∆uTR∆u, (4.1) dengan ˆe=                        x(k+ 1)−xˆ(k+ 1) . x(k+hp)−xˆ(k+hp) y(k+ 1)−y(kˆ + 1) . y(k+hp)−y(kˆ +hp) θ(k+ 1)−θˆ(k+ 1) . θ(k+hp)−θˆ(k+hp)                        dan ∆u=                     u1(k+ 1)−u1(k) u1(k+ 2)−u1(k+ 1) . u1(k+hu)−u1(k+hu−1) u2(k+ 1)−u2(k) . . u2(k+hu)−u2(k+hu−1)                     . ˆ

e merupakan galat antara referensi dan prediksi lintasan aktual. Misalkan u1 = VR dan u2 =VLsebagai masukan sehingga ∆umenggambarkan perubahan masukan

akibat hasil prediksi yang muncul. Sementara hp dan hu merupakan penentu banyak iterasi yang ditentukan berdasarkan waktu tempuh dan selang waktu antar iterasi, serta k ∈ Z adalah langkah iterasi. Matriks bobot (weight matrices) L

Rn(hp−1)×n(hp−1)

dan R Rmhu×mhu menentukan seberapa besar perubahanu

1 dan

u2 yang akan terjadi dan galat ˆe yang timbul dapat dipertimbangkan.

Fungsi ongkosV(k)harus dihitung dan diminimumkan untuk setiap iterasik. Untuk meminimumkan V(k) terdapat dua tahap yang harus dilakukan yaitu:

1. Memprediksi atau mengestimasi lintasan aktual yang akan dibentuk robot.

2. Mengoptimasikan nilai um(k+j) untukk = 1, . . . , hu dan m = 1 atau 2.

(3)

4.1

Prediksi Lintasan Aktual DDMR

Tujuan dari tahap pertama ini adalah mengetahui nilai dari ˆek untukk = 1, . . . ,hp. Untuk itu nilai referensi lintasanx(k),y(k), danθ(k) untukk = 1, . . . ,hpharus dike-tahui. Karena jaringan saraf tiruan dapat digunakan sebagai aproksimator fungsi, maka kelebihan ini dimanfaatkan untuk melakukan prediksi lintasan aktual robot.

Langkah pertama ialah membangun jaringan dari sistem yang diprediksi. Model jaringanrecurrentyang dipilih. Alasannya, karena tipe jaringan ini dapat melakukan umpan balik yang memungkinkan jaringan untuk melakukan perhitungan galat an-tara hasil prediksi (masukan pada jaringan) dengan targetnya. Selain itu, tipe jaringan recurrent memiliki unit delay sehingga jaringan ini bisa melakukan per-hitungan secara rekursif. Untuk mendapat gambaran lebih mengenai jaringan yang dipilih, pada Gambar (5.1) disajikan model jaringannya. Tipe jaringan recurrent

x(k) y(k) u1(k) u2(k) 1 1,1 w 1 4,1 w 1 1 b 1 2 b 1 3 b 1 4 b 2 1,1 w 2 1,3 w 2 1 b

masukan Lapisan 1 (tan-sigmoid- ) Lapisan 2 (purelin) keluaran

ˆ( 1) x k+ ˆ( 1) y k+ 1 q -å å

å

å

å

å

å

θ(k) θ(k+1)^

Gambar 4.1: Model Jaringan Recurrent untuk Sistem DDMR

yang digunakan ialah tipe Elman. Jaringan Elman di atas terdiri atas dua lapisan yang memiliki lima masukan dan tiga keluaran. Lapisan pertama terdapat empat buah neuron dengan tan-sigmoid sebagai fungsi transfer. Sementara lapisan kedua terdiri atas tiga neuron denganpurelin sebagai fungsi transfernya.

(4)

Levenberg-Marquardt dan Mean Square Error (MSE) sebagai ukuran kinerja. Levenberg-Marquardt merupakan algoritma yang paling cepat dalam proses back propagation. Untuk lebih jelas mengenai algoritmaLevenberg-Marquardt dapat dilihat pada Lam-piran B. Hasil dari training pada jaringan ialah estimasi dari posisi dan orientasi untuk selang waktu berikutnya. Sehingga estimasi dari keluaran untuk iterasi se-lanjutnya dan ˆθ(k+ 1 +i) dapat dihitung secara rekursif melalui

ˆ

x(k+i+ 1) =f2(f1(x(k+i), y(k+i), θ(k+i), u1(k+i), u2(k+i))). (4.2)

Begitu pula untuk ˆy(k+ 1 +i) dan ˆθ(k+ 1 +i) dengan bentuk yang serupa seperti (4.2). f1 dan f2 berturut-turut adalah fungsi transfer tan-sigmoid dan purelin.

Untuk iterasi pertamau1(k+i) danu2(k+i) yang dipilih konstan dan sama dengan kondisi awalnya, yaitu u1(0) danu2(0).

4.2

Optimisasi Masukan

Optimisasi dilakukan menggunakan algoritma Gauss-Newton (lebih jelas tentang algoritmanya dapat dilihat di Lampiran A). Setelah melakukan estimasi pertama untuk langkah kek+1,kita dapat menghitungx(k+1)−xˆ(k+1),y(k+1)−yˆ(k+1), dan θ(k+ 1)−θ(kˆ + 1) yang merupakan galat. Selanjutnya kita misalkan ˆel(k+ 1) menggantikan tiga bentuk pengurangan sebelumnya denganm mewakili x(k), y(k), dan θ(k). Oleh karena itu, untuk iterasi selanjutnya kita memiliki ˆem(k+ 1 + i) dengan i ∈ [1;hp]. Berikutnya, ˆem(k+ 1 +i) diekspansi dengan deret Taylor orde satu, yaitu ˆ em(δul) = ˆem,0 + ∂eˆm ∂ul δul= ˆem,0− ∂Zˆ ∂ul δul, (4.3) dengan ˆZ =h xˆ yˆ θˆ iT

dan δul merupakan variasi dariul untukl = 1 dan 2. Un-tuk menghitung persamaan (4.3) defnisikan matriksDlk ∈Rhp−1×hu sebagai berikut

Dlk=

∂Z(kˆ + 1 +i)

∂ul(k+j) , (4.4)

dengani∈[1;hp] danj ∈[1;hu]. Bentuk turunan ini dapat dihitung secara rekursif dalam pembagian sebagai berikut:

(5)

1. i=j , perhitungan dilakukan secara langsung, yaitu ∂Zˆ(k+ 1 +i) ∂ul(k+j) = f2(f1( ˆZ(k+i), y(k+i), θ(k+i), u1(k+i), u2(k+i)) ∂ul(k+j) . (4.5)

2. i > j, dihitung secara bertahap dari ∂Z(kˆ + 1 +i) ∂ul(k+j) = n X r=1 ∂Z(kˆ + 1 +i) ∂Zˆr(k+j) ∂Zˆr(k+i) ul(k+j) . (4.6) 3. i < j , ∂∂uZˆ(k+1+i) l(k+j) = 0.

Bentuk turunan pada (4.5) dan bagian pertama dari (4.6) dihitung dari stuktur jaringan yang dibuat sebelumnya. Oleh karena itu, dari struktur pada Gambar (4.1) ∂Z(kˆ + 1 +i) ∂ul(k+j) = ( n1 X s=1 Ws1Ns1(os(k+ 1))wu,sl)( n2 X s=1 Ws2Ns2(W1 s)wss2 ), (4.7) denganNs1 adalah turunan dari fungsi transfer f1 dengan masukan os yang berben-tuk os(k+ 1) = n1 X s=1 wu,slul(k+i) + n1 X s=1 wZ,snZ(k+i). (4.8)

wu,sl adalah bobot untuk uk pada lapisan 1, wZ,sn adalah bobot untuk Z pada lapisan satu, danwss2 adalah bobot untuk lapisan dua. Ws1 =f1(Zwy+ukwu) dan W2

s =f2(Ws1wss), untuk s= 1, . . . , n2. n1 dan n2 masing-masing adalah banyaknya

neuron pada lapisan satu dan dua.

Modifikasi perubahan masukan menjadi bentuk sebagai berikut:

∆u=                     u1(k+ 1)−u1(k) +δu1(k+ 1) u1(k+ 2)−u1(k+ 1) +δu1(k+ 2)−δu1(k+ 1) . u1(k+hu)−u1(k+hu−1) +δu1(k+hu)−δu1(k+hu−1) u2(k+ 1)−u2(k)δu2(k+ 1) . . u2(k+hu)−u2(k+hu−1) +δu2(k+hu)−δu2(k+hu−1)                     . (4.9)

(6)

Bentuk di atas dapat ditulis menjadi ∆ul =T1ul+T2δul, (4.10) dengan T1 =         −1 1 0 · · · 0 0 −1 1 0 · · · 0 . .. ... ... 0 · · · 0 −1 1 · · · 0         ∈Rhu×hp+1, (4.11) T2 =            1 0 · · · 0 −1 1 0 · · · 0 0 . .. ... . .. ... 0 · · · 0 −1 1            ∈Rhu×hu, (4.12) danul = h ul(k) · · · ul(k+hp) iT

. Dari persamaan (4.3) dan (4.10) fungsi ongkos pada persamaan (4.1) dapat ditulis ulang menjadi

V(δu) = 1 2hp (ˆe0+Dδu)TL(ˆe 0+Dδu) + 1 2hu ( ¯T1u+ ¯T2δu)TR( ¯T 1u+ ¯T2δu), (4.13)

dimanaD∈Rn(hp−1)×mhu dibentuk dari matriks−Dlk, serta ¯T

1 ∈Rmhu×m(hp+1) dan

¯

T2Rmhu×mhu masing-masing dibentuk dari matriks T

1 dan T2. Persamaan (4.13)

diekspansi dan diturunkan terhadapδu, untuk meminimumkannya buat turunannya sama dengan nol. Kemudian dicari solusi dalam bentuk δu sedemikian sehingga diperoleh hasilnya sebagai berikut:

δu = ( 1 hp DTLD+ 1 hu ¯ T2TRT¯2)−1 ( 1 hp DTLeˆ0+ 1 hu ¯ T2TRT¯1u). (4.14)

δuinilah yang ditambahkan padauawal dan dengan memilih ∆t <1 (agar iterasinya stabil) diperoleh:

ubaru=u+ ∆tδu. (4.15)

Dengan ubaru ini iterasi berikutnya bermanfaat untuk memprediksi langkah selan-jutnya (iterasi berikutnya δu tidak perlu dihitung lagi). Permasalahan selanjutnya

(7)

ialah pemilihan matriks bobotLdanR serta melakukan perhitungan secara rekursif untuk memprediksi lintasan dan orientasi sampai akhir iterasi, yaitu hp.

Gambar

Gambar 4.1: Model Jaringan Recurrent untuk Sistem DDMR

Referensi

Dokumen terkait

(ii) Biaya benih padi hibrida 3 – 10 kali lebih tinggi dibandingkan dengan benih padi inbrida, dan petani miskin tidak mampu untuk berinvestasi biaya dan risiko kerugian bila

90 persen dari peserta pelatihan menyebutkan bahwa kegiatan pelatihan sesuai dengan kebutuhan mereka, 92 persen menyebutkan bahwa mereka sangat senang dapat

Pengurus, masing-masing atau bersama-sama, bertanggung jawab secara pribadi atas segala kerugian yang timbul pada kekayaan Dana Pensiun akibat tindakan Pengurus yang melanggar

Puji dan syukur penulis panjatkan kepada Allah Bapa, Putra dan Roh Kudus, karena atas rahmat dan karunianya penulis dapat menyelesaikan skripsi yang berjudul Analisa dan

bentuk/aspek lain peran serta masyarakat yaitu masyarakat mematuhi ketentuan pada Pasal 29 ayat 4 Undang-undang Nomor 18 Tahun 2008 dengan membuang sampah pada

menunjukan bahwa Program Studi Manajemen Pendidikan Islam pada tahun 2016 s/d 2020 membutuhkan dosen untuk melaksanakan pendidikan dan pengajaran sebanyak 76 orang

C.. 2) Bagaimana pengaruh petani dan pemuda terhadap kemenangan Dollah Mando dan faktor penyebab kekalahan Fatmawati Asis pada Pilkada Kabupaten Sidrap tahun

Langkah kemudian yaitu memahami proses keputusan pembelian mulai dari tahap awal mengenai pemahaman masalah, pencarian informasi, pemilihan alternatif, keputusan