ANALISIS KINERJA ALGORITME WALL-FOLLOWING PADA
VARIASI TINGKAT KETIDAKPASTIAN PEMBACAAN
SENSOR JARAK ROBOT (STUDI KASUS: KONTES ROBOT
PEMADAM API INDONESIA-DIVISI ROBOT BERKAKI)
DIMAS WIRASTOMO HASURUNGAN NAPITUPULU
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Analisis Kinerja Algoritme Wall-Following pada Variasi Tingkat Ketidakpastian Pembacaan Sensor Jarak Robot (Studi Kasus: Kontes Robot Pemadam Api Indonesia-Divisi Robot Berkaki) adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Agustus 2015
ABSTRAK
DIMAS WIRASTOMO HASURUNGAN NAPITUPULU. Analisis Kinerja Algoritme Wall-Following pada Variasi Tingkat Ketidakpastian Pembacaan Sensor Jarak Robot (Studi Kasus: Kontes Robot Pemadam Api Indonesia-Divisi Robot Berkaki). Dibimbing oleh KARLISA PRIANDANA dan VEKTOR DEWANTO.
Wall-following adalah salah satu metode navigasi yang digunakan untuk menyusuri kontur dinding. Penelitian ini menganalisis perilaku algoritme wall-following standar pada variasi tingkat ketidakpastian pembacaan sensor jarak robot berkaki. Simulator yang digunakan adalah Virtual Robot Experimentation Platform. Bentuk alur dinding yang dibangun menyerupai huruf S. Lebar robot yang digunakan 0.50 meter dan lebar lorong dinding 0.75 meter. Algoritme wall-following diintegrasikan pada robot dan diberikan nilai galat yang diperoleh dari fungsi distribusi normal acak. Simulasi menunjukkan bahwa untuk ukuran robot dan dinding yang ditetapkan, nilai maksimum deviasi standar yang masih dapat ditoleransi adalah 0.18 meter. Nilai tersebut setara dengan nilai galat 0.11 meter dalam Kontes Robot Pemadam Api Indonesia. Semakin besar nilai deviasi standar galat, maka semakin besar panjang gesekan antara robot dengan dinding. Namun, nilai galat tidak selalu berpengaruh buruk terhadap total waktu simulasi dan jarak tempuh robot.
Kata kunci: galat, ketidakpastian, navigasi, wall-following
ABSTRACT
DIMAS WIRASTOMO HASURUNGAN NAPITUPULU. Analysis of Wall-Following Algorithm Performance on Various Levels of Robot’s Distance Sensor Readings Uncertainty (Case Study: Indonesia Fire Fighting Robot Contest-Legged Robot Division). Supervised by KARLISA PRIANDANA and VEKTOR DEWANTO.
Wall-following is a navigation method that is used to follow the contour of the wall. This study analyzes the behavior of plain wall-following algorithm at varying levels of uncertainty of legged robot’s distance sensor readings. The utilized simulator is Virtual Robot Experimentation Platform. The simulated wall-following trajectory was built to resemble the letter S. The robot’s width is 0.50 meter, and the distance between left and right walls is 0.75 meter. Wall-following algorithm is integrated in the robot, and the error value is obtained from a random normal distribution function. Simulations revealed that for the determined dimensions of robot and trajectory, the maximum value of the error’s standard deviation that is still tolerable is 0.18 meter. This value is equivalent to an error standar deviation of 0.11 meter in Indonesia Fire Fighting Robot Contest. The standard deviation of error is proportional to the length of friction between the robot and the wall. However, there was no evidence that the error values give negative impacts to the total simulation time and total distance.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada
Departemen Ilmu Komputer
ANALISIS KINERJA ALGORITME WALL-FOLLOWING PADA
VARIASI TINGKAT KETIDAKPASTIAN PEMBACAAN
SENSOR JARAK ROBOT (STUDI KASUS: KONTES ROBOT
PEMADAM API INDONESIA-DIVISI ROBOT BERKAKI)
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
BOGOR 2015
PRAKATA
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Februari 2015 ini ialah analisis terhadap algoritme wall-following, dengan judul Analisis Kinerja Algoritme Wall-Following pada Variasi Tingkat Ketidakpastian Pembacaan Sensor Jarak Robot (Studi Kasus: Kontes Robot Pemadam Api Indonesia-Divisi Robot Berkaki).
Terima kasih penulis ucapkan kepada Ibu Karlisa Priandana, ST MEng dan Bapak Vektor Dewanto, ST MEng selaku pembimbing. Terima kasih juga penulis ucapkan pada Bapak DrEng Heru Sukoco, SSi MT sebagai koordinator lab keilmuan Net Centric Computing yang telah banyak memberikan saran dan masukkan terhadap penelitian ini. Ungkapan terima kasih juga penulis ucapkan kepada ayah, ibu, keluarga, Dhira, Kresna, Ilkom angkatan 47, rekan-rekan NCC, dan UKM MAX!! IPB atas doa dan dukungan selama ini.
Semoga karya ilmiah ini bermanfaat.
DAFTAR ISI
DAFTAR TABEL vi
DAFTAR GAMBAR vi
DAFTAR ALGORITME vi
DAFTAR LAMPIRAN vii
PENDAHULUAN 1
Latar Belakang 1
Perumusan Masalah 1
Tujuan Penelitian 2
Manfaat Penelitian 2
Ruang Lingkup Penelitian 2
METODE 2
Pembangunan Simulator 2
Implementasi Wall-Following 4
Pembangunan Evaluator 4
Pembangkitan Galat 4
Pengujian 5
Analisis Hasil 5
HASIL DAN PEMBAHASAN 6
Pembangunan Simulator 6
Implementasi Wall-Following 7
Pembangunan Evaluator 7
Pembangkitan Galat 7
Pengujian 9
Analisis Hasil 10
KESIMPULAN DAN SARAN 13
Kesimpulan 13
Saran 13
DAFTAR PUSTAKA 13
DAFTAR TABEL
1 Aturan standar untuk left dan right wall-following 7 2 Hasil 50 kali perulangan percobaan algoritme
left wall-following, untuk setiap nilai devasi standar
dengan nilai rataan galat = 0 9
3 Hasil 50 kali perulangan percobaan algoritme
right wall-following, untuk setiap nilai devasi standar
dengan nilai rataan galat = 0 10
4 Hasil rata-rata 50 kali perulangan percobaan terhadap
algoritme left wall-following, untuk setiap nilai devasi standar
dengan nilai rataan galat = 0 10
5 Hasil rata-rata 50 kali perulangan percobaan terhadap algoritme right wall-following, untuk setiap nilai
devasi standar dengan nilai rataan galat = 0 10 6 Hasil rata-rata percobaan terhadap algoritme left
wall-following setelah dinormalisasi metode min-max [0,1]
serta hasil penjumlahan dari ketiga parameter yang diuji 12 7 Hasil rata-rata percobaan terhadap algoritme right
wall-following setelah dinormalisasi metode min-max [0,1]
serta hasil penjumlahan dari ketiga parameter yang diuji 12
DAFTAR GAMBAR
1 Alur penelitian 3
2 Robot Hexapod real (a) dan simulasi (b) 3
3 Visualisasi dari Persamaan 1 4
4 Peta berbentuk "S" yang dibangun dalam simulasi 6 5 Lima arah sinar sensor Hokuyo yang dipakai 6 6 Evaluator: jejak robot (a) dan jendela konsol (b) 8 7 Grafik waktu (sumbu x) terhadap jarak robot dengan
dinding (sumbu y) 8
8 Grafik hasil rata-rata percobaan terhadap algoritme
left wall-following 11
9 Grafik hasil rata-rata percobaan terhadap algoritme
right wall-following 11
10 Grafik hasil penjumlahan ketiga parameter dari algoritme
left dan right wall-following 12
DAFTAR ALGORITME
DAFTAR LAMPIRAN
1 Potongan program left dan right wall-following standar 14 2 Potongan program pembangkitan galat dalam Python dan V-REP 16 3 Hasil 50 kali perulangan percobaan left dan right wall-following
1
PENDAHULUAN
Latar Belakang
Perkembangan ilmu pengetahuan dan teknologi robotika telah sampai pada zaman autonomus robot. Autonomous robot adalah robot yang mampu berperilaku secara mandiri. Autonomous robot dapat dibagi menjadi 2, yaitu autonomous stationary robot dan autonomous mobile robot. Sistem navigasi menjadi bagian terpenting pada autonomous mobile robot agar robot mampu bergerak secara mandiri. Sistem navigasi pada autonomous mobile robot dapat diartikan sebagai suatu kemampuan untuk memandu pergerakan dari suatu posisi ke posisi lain yang dituju melalui penentuan posisi dan arah geraknya (Siegwart dan Nourbakhsh 2004).
Wall-following merupakan salah satu metode navigasi yang digunakan untuk menyusuri kontur dinding. Metode ini biasanya digunakan robot yang memiliki kemampuan menyusuri dinding atau labirin untuk menyelesaikan misi-misi tertentu. Algoritme wall-following bertujuan menjaga agar jarak robot pada dinding tetap pada batas yang diinginkan selama robot bernavigasi. Wall-following dapat dicapai dari salah satu di antara 4 metode, yaitu: kontak, non-kontak (sensor aktif), non-kontak (sensor pasif), dan kontak lunak (Gordon dan Myke 2006).
Ketidakpastian timbul ketika robot kekurangan informasi untuk melakukan tugasnya. Hal ini diakibatkan dari lima faktor yang berbeda, yaitu: lingkungan, sensor, robot, model, dan komputasi (Thrun et al. 2000). Lingkungan pada dunia nyata tidak dapat diprediksi karena bersifat dinamis. Sensor pada dasarnya memiliki batasan untuk mendeteksi objek, keterbatasan muncul karena 2 faktor utama, yaitu: jangkauan dan resolusi sensor, serta pengaruh gangguan terhadap sensor yang mempengaruhi hasil dari pengukuran sensor sehingga informasi yang didapat kurang akurat. Penggerak robot meliputi motor yang pada batasan tertentu tidak terduga, karena dipengaruhi oleh kontrol gangguan dan wear-and-tear. Model robot adalah abstraksi dari robot pada dunia nyata. Model tersebut hanya melakukan sebagian proses fisik dari robot dan lingkungannya. Kesalahan pada model adalah sumber ketidakpastian yang dihindari pada bidang robotik. Robot adalah real-time systems sehingga jumlah komputasi yang dapat dikerjakan terbatas. Hal ini membuat algoritme yang digunakan lebih mengutamakan ketepatan waktu dibandingkan akurasi.
Penelitian ini akan menganalisis perilaku algoritme wall-following terhadap ketidakpastian pembacaan sensor robot pada robot berkaki dan mendapatkan nilai tingkat ketidakpastian pembacaan sensor robot yang masih dapat ditoleransi oleh algoritme wall-following.
Perumusan Masalah
Permasalahan yang akan dibahas, yaitu:
1 Seberapa tinggi tingkat ketidakpastian pembacaan sensor jarak yang mengakibatkan algoritme wall-following tidak berjalan.
2
Tujuan Penelitian
Tujuan penelitian dari penelitian ini adalah:
1 Mendapatkan nilai maksimum tingkat ketidakpastian pembacaan sensor jarak yang masih dapat ditoleransi oleh algoritme wall-following.
2 Melakukan analisis kinerja algoritme wall-following terhadap ketidakpastian pembacaan sensor jarak pada robot berkaki.
3 Mengetahui metrik kinerja yang sesuai untuk menganalisis atau mengukur kinerja algoritme wall-following.
Manfaat Penelitian
Dengan diketahuinya nilai deviasi standar maksimal yang dapat ditoleransi dari nilai galat acak distribusi normal, maka pemilihan spesifikasi sensor jarak dapat dilakukan dengan tepat. Dalam hal ini, sensor jarak yang dapat digunakan adalah sensor jarak dengan nilai kesalahan di bawah nilai toleransi.
Ruang Lingkup Penelitian
Ruang lingkup penelitian dibatasi pada:
1 Varian algoritme wall-following yang diuji dalam penelitian ini adalah algoritme wall-following standar.
2 Nilai galat sensor merupakan nilai acak berdistribusi normal dengan rataan (µ = 0) dan sebuah deviasi standar (σ) tertentu yang divariasikan dalam penelitian. 3 Robot dan sensor yang digunakan dalam simulator adalah Hexapod dan Hokuyo
URG 04LX UG01_Fast.
4 Lapangan yang dikembangkan mengacu pada ketentuan Kontes Robot Pemadam Api Indonesia 2015, berfokus pada aturan lebar dinding sebesar 0.46 meter. 5 Menggunakan simulator Virtual Robot Experimentation Platform (V-REP).
METODE
Metode yang digunakan terdiri atas tahap pembangunan simulator, implementasi wall-following, pembangunan evaluator, pembangkitan galat, pengujian, dan analisis hasil. Alur tahapan penelitian dapat dilihat pada Gambar 1.
Pembangunan Simulator
Robot
3
Gambar 2 Robot Hexapod real (a) dan simulasi (b)
Lingkungan
Lingkungan yang dibangun mengikuti ketentuan KRPAI 2015. Fokus utamanya tertuju pada aturan lebar dinding atau lorong yang memiliki lebar 0.46 meter dan lebar maksimum robot adalah 0.31 meter. Sehingga didapatkan rasio antara lebar dinding dengan lebar robot adalah 1.5:1 (Dikti 2014).
Sensor
Sensor yang digunakan adalah sensor Hokuyo URG 04LX UG01_Fast yang tersedia dalam simulator V-REP. Spesifikasi sensor Hokuyo URG 04LX UG01-_Fast (Hokuyo 2009):
Sumber cahaya: Infrared (λ=785nm)
Lebar cahaya: 240o
Resolusi sudut: 0.36o
Jarak operasi: 0.02m-4m
Sistem kerja sensor adalah sensor memancarkan sinar laser pada target (dinding) kemudian sinar tersebut dipantulkan kembali ke sensor. Berkas sinar yang ditangkap kemudian dianalisis. Perubahan komposisi cahaya yang diterima dari sebuah target ditetapkan sebagai sebuah karakter objek. Waktu perjalanan sinar saat dipancarkan dan diterima kembali, diperlukan sebagai variabel penentu perhitungan jarak dari benda ke sensor.
Pembangunan
4
(1)
Implementasi Wall-Following
Pada tahap ini, algoritme wall-following diintegrasikan pada robot. Algoritme wall-following terbagi menjadi 2, yaitu left wall-following dan right wall-following. Inti dari algoritme wall-following adalah menjaga agar jarak antara robot dengan dinding konstan. Pada penelitian ini, pembacaan jarak antara sensor dengan dinding diberi suatu nilai galat seperti pada Persamaan 1 dan divisualisasikan pada Gambar 3.
�′= � +
Keterangan:
d’ adalah jarak yang terbaca oleh robot
d adalah jarak yang dikirimkan oleh sensor
x adalah galat pembacaan sensor
Pembangunan Evaluator
Pada tahap ini, evaluator dibangun untuk mendapatkan nilai metrik kinerja dari 3 parameter, sebagai berikut:
1 Durasi waktu yang diperlukan dari mulai sampai selesai. 2 Panjang jarak yang ditempuh oleh robot terhadap lintasan. 3 Panjang gesekan yang terjadi antara robot dengan dinding.
Pembangkitan Galat
Nilai galat didapatkan dari inversi distribusi normal. Persamaan galat berdistribusi normal dengan deviasi standar (σ) dan rataan (µ = 0) ditunjukkan pada Persamaan 2 (Michael et al. 1976):
5
Pengujian terhadap algoritme wall-following dilakukan beberapa kali dengan nilai deviasi standar yang berbeda-beda. Nilai deviasi standar yang diujikan memiliki rentang dari σmin sampai σmax. Pengujian dikatakan berhasil jika robot
berhasil mencapai finish. σmin adalah ketika tingkat keberhasilan percobaan
mencapai 100% dan kondisi saat robot selama simulasi tidak menghasilkan gesekan dengan dinding, sedangkan σmax adalah ketika tingkat keberhasilan dari percobaan
mencapai lebih dari 50% dan kondisi saat robot sudah menghasilkan gesekan maksimal dengan dinding.
Analisis Hasil
Analisis hasil dilakukan dengan membandingkan hasil dari pengujian beberapa nilai deviasi standar. Nilai hasil didapatkan dengan menjumlahkan ketiga parameter yang terdapat pada evaluator. Untuk menyeragamkan nilai yang berbeda rentang dan satuan, maka dilakukan normalisasi dengan metode min-max terlebih dahulu. Persamaan normalisasi min-max ditunjukkan pada Persamaan 3 (Han dan Kamber 2006). Setelah normalisasi, maka nilai setiap parameter akan berada pada rentang [a,b] yang dalam hal ini diambil nilai [0,1]. Hasil penjumlahan paling besar menunjukkan nilai galat sangat berpengaruh dan memiliki nilai kepastian yang paling buruk, sedangkan hasil penjumlahan yang paling kecil menunjukkan nilai galat kurang berpengaruh dan memiliki nilai kepastian yang paling bagus.
�′= � − � �
� �� − � � − +
Keterangan:
v’ adalah nilai normalisasi
v adalah nilai pengamatan
vmax adalah nilai maksimal
vmin adalah nilai minimum
a adalah nilai batas bawah, dengan a = 0
6
Gambar 4 Peta berbentuk "S" yang dibangun dalam simulasi
Gambar 5 Lima arah sinar sensor Hokuyo yang dipakai
HASIL DAN PEMBAHASAN
Pembangunan Simulator
Pada tahap ini, simulasi dibangun menggunakan simulator V-REP yang memakai bahasa pemrograman Lua. Lingkungan dibangun sesuai aturan KRPAI 2015 yang berfokus pada lebar lorong atau pintu antar dinding dari ruangan yang diperlombakan. Adapun rasio yang digunakan 1.5:1, dengan lebar antar-dinding adalah 0.75 meter dan lebar robot adalah 0.50 meter. Bentuk alur dinding yang dibangun menyerupai huruf “S” dengan 4 belokan, untuk 2 belokan ke kiri dan 2 belokan ke kanan yang dapat dilihat pada Gambar 4. Pemilihan ini dilakukan karena lintasan berbentuk huruf “S” sudah mewakili untuk lintasan lurus, tikungan ke kiri, dan tikungan ke kanan.
7 Sensor mengirimkan string signal ke robot yang berisi data panjang jarak dari sensor ke objek atau dinding. Sensor diletakkan tepat di atas dan di tengah badan robot. Threshold yang digunakan untuk masing-masing sensor, yaitu: sensor kanan dan kiri bernilai 0.35 meter, sensor serong kiri dan sensor serong kanan bernilai 0.60 meter, serta sensor depan bernilai 0.50 meter. Jika jarak sensor kurang dari nilai threshold maka dekat, sebaliknya jika jarak sensor lebih dari nilai threshold maka jauh.
Implementasi Wall-following
Algoritme wall-following yang digunakan adalah algoritme wall-following standar seperti pada Lampiran 1, aturan standar untuk keluaran wall-following ditampilkan pada Tabel 1.
Tabel 1 Aturan standar untuk left dan right wall-following
Keterangan:
Pada simulator, nilai-nilai yang menjadi parameter untuk evaluasi metriks kinerja, masing-masing didapat dari jejak garis kuning atau jejak robot yang tercetak pada lintasan simulator (Gambar 6a), lalu nilai dari panjang garis tersebut akan tercetak pada jendela konsol dalam satuan meter (Gambar 6b). Waktu dan panjang jarak gesekan dapat terlihat pada jendela grafik antara waktu (sumbu x) dan jarak robot dengan dinding (sumbu y) seperti pada Gambar 7.
Pembangkitan Galat
Nilai galat didapat dari library numpy yang terdapat pada bahasa pemrograman Python. Nilai rataan tetap, yaitu: 0, sedangkan nilai deviasi standar berubah. Nilai galat acak yang dihasilkan fungsi numpy.random.normal, dikirimkan ke pengkodean pembacaan jarak yang terdapat pada V-REP. Pengiriman nilai galat dikirimkan secara terus-menerus dari awal hingga akhir simulasi yang dapat dilihat pada Lampiran 2.
No Masukan sensor Keluaran wall-following
Samping Serong Depan Left Right
8
(a) (b)
Gambar 6 Evaluator: jejak robot (a) dan jendela konsol (b)
Algoritme 1 Pseudocode pembangkitan galat dalam Python 1: clientID = set number extention API
2: if clientID success
3: print 'Connected to remote API Server' 4: t = time.time()
5: while (time.time):
6: mu, sigma = 0, 0 until 2
7: errorValue = get error from numpy.random.normal(mu, sigma) 8: packed errorValue
9: sent packed errorValue to V-REP
10: time.sleep(0.05) #loop executes once every 0.05 seconds=50ms 11: else:
12: print 'Connection not successful'
Hal pertama yang dilakukan dalam bahasa pemrograman Python (Algoritme 1) adalah menyamakan nomor ekstensi API, setelah itu jika berhasil connect akan tercetak 'Connected successful' dan jika gagal connect akan tercetak 'Connection not successful'. Jika berhasil connect maka ditentukan nilai rataan dan deviasi standar yang diingikan, serta didapatkan nilai galat dari fungsi numpy.random.normal. Nilai galat yang dihasilkan berbentuk array, sehingga perlu dilakukan pemaketan terlebih dahulu sebelum dikirim ke V-REP.
9
Algoritme 2 Pseudocode pembangkitan galat dalam V-REP 1: set extention number same with number in Python
2: get errorValue from Python 3: Unpack errorValue
Hal pertama yang dilakukan dalam V-REP yang menggunakan bahasa pemrograman Lua (Algoritme 2) adalah menyamakan nomor ekstensi API, setelah itu menerima dan membuka paket yang dikirimkan.
Pengujian
Pengujian dilakukan dengan 50 kali simulasi untuk setiap nilai deviasi standar galat, seperti yang dapat dilihat pada Lampiran 3. Simulasi dilakukan untuk algoritme left dan right wall-following, sehingga total simulasi yang dilakukan adalah 50 x 6 x 2, di mana 6 adalah jumlah nilai deviasi standar galat yang diujikan, 2 adalah jenis wall-following yaitu left dan right wall-following. Persentase keberhasilan dari setiap nilai deviasi standar untuk algoritme left dan right wall-following ditunjukkan pada Tabel 2 dan 3.
Tabel 2 Hasil 50 kali perulangan percobaan algoritme left wall-following, untuk setiap nilai devasi standar dengan nilai rataan galat = 0
Berdasarkan Tabel 2 dan 3, dapat ditentukan nilai deviasi standar 0.00 meter sebagai σmin, sedangkan nilai deviasi standar 0.18 meter sebagai σmax, maka nilai
galat maksimal yang dapat ditoleransi dalam KRPAI adalah 0.11 meter. Dari 50 kali simulasi untuk setiap nilai deviasi standar yang diuji (Lampiran 3), didapatkan nilai rata-rata dari ketiga parameter yang diuji (Tabel 4 dan 5).
Deviasi standar (m), µ = 0 Berhasil Gagal Persentase berhasil
10
Tabel 3 Hasil 50 kali perulangan percobaan algoritme right wall-following, untuk setiap nilai devasi standar dengan nilai rataan galat = 0
Tabel 4 Hasil rata-rata 50 kali perulangan percobaan terhadap algoritme left wall-following, untuk setiap nilai devasi standar dengan nilai rataan galat = 0
Tabel 5 Hasil rata-rata 50 kali perulangan percobaan terhadap algoritme right wall-following, untuk setiap nilai devasi standar dengan nilai rataan galat = 0
Analisis Hasil
Berdasarkan Tabel 4 dan 5, didapatkan grafik yang ditampilkan pada Gambar 8 dan 9. Di antara 3 nilai parameter yang diuji, rata-rata nilai gesekan terhadap dinding memiliki trend monoton naik dari deviasi standar kecil ke besar. Sedangkan, rata-rata nilai jarak tempuh dan rata-rata nilai waktu tidak memiliki trend yang monoton naik ataupun turun. Hal ini terjadi karena nilai galat yang ditambahkan pada nilai pembacaan sensor jarak robot terhadap dinding, dapat berakibat memperpendek ataupun memperpanjang jarak tempuh, serta dapat mempercepat ataupun memperlambat waktu simulasi. Dengan demikian, perubahan deviasi standar galat hanya mempengaruhi gesekan dengan dinding.
Deviasi standar (m), µ = 0 Berhasil Gagal Persentase berhasil
0.00 50 0 100% terhadap dinding (m)
Rata-rata waktu terhadap dinding (m)
11
Selanjutnya, analisis dilakukan dengan cara menjumlahkan antara hasil rata-rata jarak tempuh, hasil rata-rata-rata-rata durasi waktu yang diperlukan, dan hasil rata-rata-rata-rata gesekan yang terjadi antara robot dengan dinding. Untuk menyamakan efek dari semua parameter, dilakukan normalisasi metode min-max dengan nilai minimum = 0 dan nilai maksimal = 1 yang ditunjukkan pada Tabel 6 dan 7.
Pada Tabel 6, dapat dilihat bahwa hasil penjumlahan terbesar diperoleh saat deviasi standar bernilai 0.18 dan terkecil saat deviasi standar bernilai 0.10. Sedangkan, pada Tabel 7 hasil penjumlahan terbesar diperoleh saat deviasi standar bernilai 0.15 dan terkecil saat deviasi standar bernilai 0.10. Dari data hasil
0,00 0,05 0,10 0,15 0,20
W
Tempuh (m) Gesekan (m) Waktu (dt=50ms)
Gambar 8 Grafik hasil rata-rata percobaan terhadap algoritme left wall-following
Gambar 9 Grafik hasil rata-rata percobaan terhadap algoritme right wall-following
90
0,00 0,05 0,10 0,15 0,20
Deviasi standar (m)
12
0,00 0,05 0,10 0,15 0,20
Hasil parameter pada Gambar 10.
Tabel 6 Hasil rata-rata percobaan terhadap algoritme left wall-following setelah dinormalisasi metode min-max [0,1] serta hasil penjumlahan dari ketiga parameter yang diuji
Tabel 7 Hasil rata-rata percobaan terhadap algoritme right wall-following setelah dinormalisasi metode min-max [0,1] serta hasil penjumlahan dari ketiga parameter yang diuji
Pada Gambar 10, dapat kita lihat bahwa hasil penjumlahan dari 3 parameter metriks kinerja yang diuji tidak menghasilkan trend yang monoton naik ataupun turun, sehingga penjumlahan dari ketiga parameter tersebut tidak dapat menunjukkan korelasi yang monoton antara deviasi standar dengan total nilai galat yang dihasilkan.
13
KESIMPULAN DAN SARAN
Kesimpulan
Penelitian ini menunjukkan bahwa algoritme wall-following standar dapat menoleransi nilai galat dengan nilai maksimum deviasi standar 0.18 meter yang ekuivalen proporsional dengan 0.11 meter dalam Kontes Robot Pemadam Api Indonesia. Hasil eksperimen menunjukkan bahwa semakin besar nilai deviasi standar galat, maka semakin besar nilai gesekan antara robot dengan dinding. Namun, nilai galat tidak selalu berpengaruh buruk terhadap total waktu simulasi dan jarak tempuh robot.
Saran
Algoritme wall-following yang digunakan pada penelitian ini adalah algoritme yang sederhana. Algoritme wall-following lain yang lebih advance mungkin dapat digunakan untuk mendapatkan hasil yang lebih baik. Selain itu, jumlah sensor yang menjadi acuan navigasi robot juga perlu ditambahkan agar hasilnya lebih maksimal dan dapat menggunakan distribusi probabilitas lain untuk mendapatkan nilai galat.
DAFTAR PUSTAKA
[Dikti] Direktorat Pendidikan Tinggi. 2014. Panduan Kontes Robot Pemadam Api Indonesia (KRPAI) Beroda dan Berkaki 2015. Jakarta (ID): Direktorat Pendidikan Tinggi.
Gordon M, Myke P. 2006. Robot Builder’s Bonanza. Ed ke-3. New York (US): McGraw-Hill.
Han J, Kamber M. 2006. Data Mining Concepts and Techniques. Ed ke-2. Oxford (GB): Elsevier.
Hokuyo. 2009. Scanning laser range finder URG 04LX UG01 (simple-URG) [internet]. [diunduh 2015 Jun 7]. Tersedia pada :http://www.hokuyo-aut.jp/02sensor/07scanner/download/pdf/URG-04LX_UG01_spec_en.pdf Michael JR, Schucany WR, Haas RW. 1976. Generating Random Variates Using
Transformations with Multiple Roots. Boston (US): American Statistical Association.
Siegwart R, Nourbakhsh IR. 2004. Introduction to autonomous mobile robots. Cambridge (US): Massachusetts Institute of Technology.
14
Lampiran 1 Potongan program left dan right wall-following standar
--LeftWF
if ((L~=nil) and ((L+errL)<0.35)) then
if (LF~=nil) and ((LF+errLF)<0.60) then if (F~=nil) and ((F+errF)<0.50) then
rotation=-1 else
rotation=-0.8 end
else
if (F~=nil) and ((F+errF)<0.50) then rotation=-1
if (LF~=nil) and ((LF+errLF)<0.60) then if (F~=nil) and ((F+errF)<0.50) then
rotation=-1 else
rotation=-0.8 end
else
15 Lampiran 1 Lanjutan
--RightWF
if ((R~=nil) and ((R+errR)<0.35)) then
if (RF~=nil) and ((RF+errRF)<0.60) then if (F~=nil) and ((F+errF)<0.50) then
rotation=1 else
rotation=0.8 end
else
if (F~=nil) and ((F+errF)<0.50) then rotation=1
if (RF~=nil) and ((RF+errRF)<0.60) then if (F~=nil) and ((F+errF)<0.50) then
rotation=1 else
rotation=0.8 end
else
16
Lampiran 2 Potongan program pembangkitan galat dalam Python dan V-REP
//pembangkitan galat dalam Python
1: clientID=vrep.simxStart('127.0.0.1',19999,True,True,5000,5) 2: if clientID!=-1: #check if client connection successful 3: print 'Connected to remote API server'
4: t = time.time()
5: while (time.time()-t)<200: 6: mu, sigma = 0, 0.00
7: galatValue = numpy.random.normal(mu, sigma, 5)
8: galatpackedData=vrep.simxPackFloats(galatValue.flatten()) 9: raw_bytes = (ctypes.c_ubyte *
len(galatpackedData)).from_buffer_copy(galatpackedData) 10:returnCode=vrep.simxSetStringSignal(clientID,'galatData',raw_by
tes,vrep.simx_opmode_oneshot)
11: time.sleep(0.05) #loop executes once every 0.05 seconds=50ms 12: else:
13: print 'Connection not successful' 14: sys.exit('Could not connect')
//pembangkitan galat dalam V-REP
1: simExtRemoteApiStart(19999) --connect python with vrep 2: --get galat value from python
17 Lampiran 3 Hasil 50 kali perulangan percobaan left dan right wall-following untuk
setiap nilai deviasi standar
Keterangan:
HitDis = panjang gesekan antara robot dengan dinding dt = 50ms
LEFT (0.00)
Percobaan Berhasil (B) /
18
Lampiran 3 Lanjutan
LEFT (0.00)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B) /
19 Lampiran 3 Lanjutan
RIGHT (0.00)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B)
20
Lampiran 3 Lanjutan
LEFT (0.05)
21 Lampiran 3 Lanjutan
LEFT (0.05)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B)
22
Lampiran 3 Lanjutan
RIGHT (0.05)
Percobaan Berhasil (B) / Gagal (G)
23 Lampiran 3 Lanjutan
LEFT (0.10)
24
Lampiran 3 Lanjutan
LEFT (0.10)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B) /
25 Lampiran 3 Lanjutan
RIGHT (0.10)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B)
26
Lampiran 3 Lanjutan
LEFT (0.15)
27 Lampiran 3 Lanjutan
RIGHT (0.15)
28
Lampiran 3 Lanjutan
RIGHT (0.15)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B)
29 Lampiran 3 Lanjutan
LEFT (0.18)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B) /
30
Lampiran 3 Lanjutan
RIGHT (0.18)
31 Lampiran 3 Lanjutan
RIGHT (0.18)
Percobaan Berhasil (B) / Gagal (G)
Percobaan Berhasil (B)
32
Lampiran 3 Lanjutan
LEFT (0.20)
Percobaan Berhasil (B) / Gagal (G)
33 Lampiran 3 Lanjutan
RIGHT (0.20)
34
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada 17 Februari 1993 dari pasangan W.M.H. Napitupulu dan Suki Rasmiati. Penulis merupakan anak tunggal. Tahun 2010 penulis lulus dari SMA Negeri 77 Jakarta dan lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui SNMPTN serta diterima di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.