5 Sedangkan perangkat keras yang digunakan
adalah :
• PC Intel Pentium IV 2.67 GHz • DDRAM 512 MB
• VGA
• hardisk dengan kapasitas 120 GB
• monitor VGA dengan resolusi 1024x768
pixel
• keyboard • mouse
• Microkontroler AT89C51 Min-Sys • H-Bridge
• Power supply • Driver sensor • Motor DC • Motor Servo
• Sensor Ultrasonik PING Paralax • Driver Power supply
• Foto Transistor • Foto Diode
• Kompas Digital CMPS03 • Sensor Inframerah • Driver fan
HASIL DAN PEMBAHASAN
Hasil Analisis Kebutuhan Sistem Abstraksi Diskrit
Lingkungan robot (Robot Environment) adalah representasi lingkungan yang kontinu, untuk itu perlu dilakukan abstraksi diskrit sebelum dimodelkan secara formal. Lingkungan robot diambil dari lingkungan robot studi kasus penelitian ini (KRCI 2007).
Abstraksi diskrit dilakukan dengan cara membagi -bagi hallway ke dalam ruang semu yang merepresentasikan state. Gambar 4 menunjukkan abstraksi diskrit yang diambil dari data sekunder.
Representasi Graf Berdasarkan Abstraksi Diskrit
Abstraksi diskrit yang telah didapatkan pada langkah sebelumnya kemudian direpresentasikan dalam bentuk graf. Gambar 5 menunjukkan hasil abstraksi diskrit yang direpresentasikan dalam bentuk graf.
Pembobotan Edge Berdasarkan Matriks w(si,sj)
Pada data sekunder pembobotan matr iks
w(si,sj) dilakukan dengan membuat tabel atau
matriks 2 dimensi dengan ukuran ordo 6 x 6. Angka 6 ditentukan dari jumlah state tujuan yang terdiri atas 4 state tujuan dan 2 state
inisial. Pada setiap sel matriks berisi nilai bobot dari si ke sj. Tabel 1 menjelaskan bobot dari masing-masing edge dalam matriks adjancy.
Himpunan Trajectori yang Optimal
Himpunan trajectory yang optimal ditentukan dengan memperhatikan state tujuan
(si ? G) pertama yang terdekat dengan state
awal secara berturut-turut . Trajectory yang optimal dapat dilihat pada Tabel 2.
Gambar 4 Abstraksi diskrit lingkungan robot (Widyanto 2008).
Gambar 5 Representasi graf abstraksi diskrit (Widyanto 2008).
6 Tabel 1 Matriks w(si,sj)
S0 S4 S13 S14 S15 S16 S0 0 4 5 4 5 4 S4 4 0 6 3 6 5 S13 5 6 0 5 6 5 S14 4 3 5 0 5 4 S15 5 6 6 5 0 3 S16 4 5 5 4 3 0
Tabel 2 Trajectory Optimal (Widyanto 2008) Nomor
Trajectory
( t )
Trajectory Nilai Path
(Dihitung dengan w(si,sj)) 0 s0-s14-s16 -s15-s13-s0 4+4+3+6+5 = 22 1 s0-s16-s15 -s14-s13-s0 4+3+5+5+5 = 22 2 s4-s14-s16 -s15-s13-s4 3+4+3+6+6 = 22
Formulasi Himpunan Trajectory
Hasil formulasi himpunan trajectory adalah (Widyanto 2008) : • trajectory 0 : s0-s14-s16-s1 5-s13-s0 Formula Proposisi Ø = ?p(0,s14) ^ ?p(0,s16) ^ ?p(0,s1 5) ^ ?p(0,s13) ^ ?p(0,s0). • trajectory 1 : s0-s16-s15-s14-s13-s0 Formula Proposisi Ø = ?p(1,s16) ^ ?p(1,s15) ^ ?p(1,s1 4) ^ ?p(1,s13) ^ ?p(1,s0). • trajectory 2 : s4-s14-s16-s15-s13-s4 Formula Proposisi Ø = ?p(2,s14) ^ ?p( 2,s16) ^ ?p(2,s15) ^ ?p( 2,s13) ^ ?p( 2,s4).
Kemampuan robot untuk menginterpretasikan posisinya dengan benar, menghindari halangan dan melakukan misi tertentu, pada simulasi robot dilakukan dengan perangkat lunak MOBOTSIM dan pada mobile
robot dilakukan oleh beberapa perangkat seperti
pendukung per gerakan robot seperti sensor jarak, sensor optik, kompas dan motor penggerak.
Perancangan Simulasi dan Robot
Perancangan simulasi dituangkan dalam pemrograman simulator dengan menggunakan MOBOTSIM versi 1.0.03. Sebelum memprogram dalam simulator dan mobile robot
sebenarnya, perlu ditetapkan terlebih dahulu perancangan aktuator, sensor, dan kompas.
Perancangan Aktuator
Perancangan simulasi robot, aktuator dikendalikan secara langsung oleh perilaku roda kiri dan kanan. Untuk perancangan mobile robot, aktuator menggunakan 2 (dua) buah motor DC yang dihubungkan dengan sebuah driver h-bridge sebagai perantara motor DC dengan sistem kendali (mikrokontroler).
Tabel 3 menjelaskan perilaku roda dan pengaruhnya terhadap gerakan mobile robot . Gambar skematik rangkaian elektronika dapat dilihat pada Lampiran 3.
Tabel 3 Perilaku roda dan pengaruh gerakan terhadap mobile robot
Roda Kiri Roda Kanan Efek (Arah Gerakan) Clockwise/ pulsa 10 Clockwise/ pulsa 01 Maju Clockwise/ pulsa 10 Counter clockwise/ pulsa 10 Kiri Counter clockwise/ pulsa 01 Clockwise/ pulsa 01 Kanan Counter clockwise/ pulsa 01 Counter clockwise/ pulsa 10 Mundur
Pemberian pulsa pada motor DC dilakukan oleh sistem kendali (mikrokontroler) sebagai masukan perilaku roda. Untuk simulasi digunakan fungsi yang telah tersedia pada perangkat lunak MOBOTSIM yaitu SetSteering
(Mobot, CenterSpeed, RotationalSpeed) dan
SetWheelSpeed (Mobot, left wheespeed, right
wheespeed).
Parameter SetSteering (Mobot, CenterSpeed,
RotationalSpeed) yaitu :
Mobot : nomor index mobile robot.
C enterSpeed : Kecepatan mobile robot
terhadap titik pusat robot (karena bentuk robot adalah lingkaran) dalam meter per detik .
7
RotationalSpeed : Kecepatan putar atau
belokan ( angular) dalam derajat per detik. Parameter SetWheelSpeed (Mobot, left wheespeed, right wheespeed) adalah :
mobot : nomor index mobile robot leftwheelspeed : kecepatan roda kiri
rightwheelspeed : kecepatan roda kanan
Fungsi aktuator pada mobile robot dapat dilihat pada Tabel 4.
Tabel 4 Fungsi aktuator mobile robot Parameter Penjelasan Efek
void mjlnd () { MA1 = 1; MA2 = 0; MB1 = 0; MB2 = 1; }
Soket 1 (satu) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler Soket 2 (dua) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler Maju void mjlnb(){ MA1 = 0; MA2 = 1; MB1 = 1; MB2 = 0; }
Soket 2 (dua) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler Soket 1 (satu) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler mundur void mbka() { MA1 = 1; MA2 = 0; MB1 = 1; MB2 = 0; } Soket 1 (satu) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler Soket 1 (satu) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler kanan void mbki() { MA1 = 0; MA2 = 1; MB1 = 0; MB2 = 1; }
Soket 2 (dua) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler Soket 2 (dua) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler
kiri
Parameter Penjelasan Efek
void mstp() { MA1 = 0; MA2 = 0; MB1 = 0; MB2 = 0; }
Soket tidak diberi pulsa oleh mikrokontroler
Stop (berhenti)
Perancangan robot dalam simulasi berbentuk lingkaran, sedangkan dalam implementasinya berbentuk segi 6 (enam). Pada desain kerangka robot, motor DC di tempatkan sebagai roda depan. Sedangkan motor servo disatukan dengan dinamo kipas yang berfungsi untuk mengarahkan kipas.
Sensor fotodiode ditempatkan pada bagian bawah robot yang berfungsi untuk mengetahui posisi robot dalam ruangan tertentu pada lingkungan robot. Sensor fototransistor diletakan berdekatan dengan dinamo kipas untuk mengetahui ada tidaknya cahaya pada sebuah ruangan tersebut.
Tabel 5 menjelaskan karakteristik bentuk dan kerangka sensor untuk simulasi. Gambar 6 menunjukkan lingkungan robot simulasi. Kerangka robot simulasi dapat dilihat pada Gambar 7, sedangkan kerangka robot hasil implementasi dapat dilihat pada Gambar 8. Gambar skema desain kerangka robot dapat dilihat pada Lampiran 4.
Tabel 6 M enjelaskan karakteristik bentuk dan kerangka sensor pada robot .
Tabel 5 Karakteristik kerangka simulasi Karakteristik Keterangan
Bentuk Kerangka Bentuk kerangka berupa lingkaran (tampak atas)
Jenis sensor Berupa sensor pengukur jarak (range sensor)
Jumlah sensor 5 buah (sensor0, sensor1, …, sensor 4)
Penjelasan
penempatan posisi sensor
s0 adalah sensor kanan, berturut-turut berlawanan arah jarum jam, s2 adalah sensor depan dan s4 adalah sensor kiri Sudut antara 2
sensor
450 (45 derajat)
Jarak / Range Sensor
Secara skala adalah 11 meter atau 80 % lebar hallway
8 Gambar 6 menunjukkan lingkungan robot
simulasi. Kerangka robot simulasi dapat dilihat pada Gambar 7, sedangkan kerangka robot hasil implementasi dapat dilihat pada Gambar 8. Gambar skema desain kerangka robot dapat dilihat pada Lampiran 4.
Tabel 6 Karakteristik robot
Karakteristik Keterangan
Bentuk kerangka Bentuk kerangka berupa segi 6 (enam) (tampak atas) terdiri dari 2 lantai, lantai dasar berisi motor DC, driver power supply, h-bridge, foto diode, sumber tegangan. lantai 2 (dua) berisi mikrokontroler, motor servo, dynamo kipas, fototransistor, kompas digital. sensor PING ultrasonic.
Jumlah sensor 5 buah sensor PING ultrasonik, 3 buah sensor fototransistor, 2 buah sensor fotodiode.
Jenis sensor Sensor PING
ultrasonik, sensor garis fotodiode, sensor cahaya fototransistor. Penjelasan penempatan posisi sensor s0 adalah sensor kanan PING ultrasonik berturut-turut berlawanan arah jarum jam, s2 adalah sensor depan PING ultrasonik, dan s4 adalah sensor kiri PING ultrasonik FT1,FT2,FT3 adalah fototransistor berada pada sebelah dinamo kipas
GRS1,GRS2 adalah fotodiode berada pada bagian bawah mobile
robot
Gambar 6 Lingkungan robot simulasi.
Gambar 7 Kerangka robot simulasi.
9
Kompas
Sesuai dengan kompas pada umumnya, derajat arah adalah dalam modulo 360 derajat. Pada umumnya sudut 00 (nol derajat) menunjukan arah utara, tetapi pada simulasi mengacu pada sudut 900 (90 derajat). Gambar kompas digital dapat dilihat pada Lampiran 2.
Perbedaan antara kompas yang digunakan pada robot simulasi dengan kompas pada umumnya adalah : • Kompas umum : Utara : 0 Timur : 90 Selatan : 180 Barat : 270
• Kompas robot simulasi : Utara : 90
Timur : 0 Selatan : 270 Barat : 180
Kompas dihubungkan dengan mikrokontroler menggunakan sebuah protokol yang bernama protocol I2C. Protokol I2C berfungsi memberitahukan mikrokontroler mengenai arah robot melalui SDA (Serial
Data). Fungsi proses pembacaan arah pada
robot dalam implementasinya dapat dilihat pada Gambar 9di bawah ini.
volatile unsigned char cmps() {volatile unsigned char hasil=0xff; iicstart(); //start iicwxd(0xc0); //ambil data iicwxd(0x01); //ambil data iicstart(); iicwxd(0xc1); //ambil data hasil=iicrxd(); //baca data iicstop(); //stop return(hasil); }
Gambar 9 Source code I2C kompas. Pada setiap arah kompas perlu dilakukan perhitungan galat karena faktor lingkungan mempengaruhi arah kompas pada robot. Pada penelitian ini galat ditetapkan sebesar 5 (lima) derajat sebelum dan sesudah arah kompas.
Sensor
Simulasi mobile robot telah menyediakan sensor jarak pada MOBOTSIM sebagai simulasi dari sensor. Sedangkan untuk robot sebenarnya, dipakai sensor PING ultrasonic untuk mendeteksi penghalang serta jarak penghalang tersebut dengan robot. Jarak sensor PING ultrasonic adalah 3 cm sampai dengan 3 m. Selain sensor PING ultrasonic dipakai juga sensor fototransistor dan fotodiode.
Pengukuran jarak antara sensor dengan penghalang dilakukan dengan memberikan waktu pada sensor ketika memberikan sinyal ke mikrokontroler kemudian mikro kontroler akan melakukan perhitungan untuk mengetahui jarak antara robot dengan penghalang. Gambar 10 di bawah ini menunjukkan implementasi pengukuran jarak antar sensor dengan penghalang.
Spesifikasi sensor ini :
Ø Kisaran pengukuran 3 cm – 3 m. Ø Input trigger -positive TTL pulse, 2 us
min, 5 us tipikal.
Ø Echo hold off 750 us dari fail of trigger
pulse.
Ø Delay before next measurement 200us. Ø Burst indicator LED menampilkan
aktifitas sensor .
waktu = 1.085 * (TH1 * 256 + TL1); //ambil waktu timer dalam mikrosec
TF1=0; //matikan timer waktu = waktu / 2000; // konversi waktu mikrosec ke milisec
jarak = waktu * KEC_SUARA; //Hitung jarak dalam cm. kec suara = 34.4
SENSOR1=0;SENSOR2=0;SENSOR3=0;SE NSOR4=0;SENSOR5=0; //sensor di set nol
tunn(20); return (jarak); // kembalikan nilai jarak
Gambar 10 Source code pengukuran sensor.
Implementasi Prototipe pada Robot
Tujuan implementasi adalah membuktikan bahwa proposisi yang telah didefinisikan bernilai benar. Implementasi prototipe dilakukan dengan dua cara yaitu pembuatan simulasi pergerakan robot dengan menggunakan perangkat lunak MOBOTSIM dan membuat sebuah mobile robot yang mampu bergerak
10 sesuai dengan formulasi yang telah
didefinisikan. Di bawah ini terdap at formula proposisi yang telah didefinisikan dan akan di implementasikan pada robot dan simulasi robot. • Ø = ?p(0,s14) ^ ?p(0,s16) ^ ?p(0,s15) ^ ?p(0,s13) ^ ?p(0,s0). • Ø = ?p( 1,s16) ^ ?p(1,s15) ^ ?p( 1,s14) ^ ?p( 1,s13) ^ ?p(1,s0). • Ø = ?p(2,s14) ^ ?p( 2, s16) ^ ?p( 2,s15) ^ ?p( 2,s13) ^ ?p(2,s4). Formula proposisi Ø = ?p(0,s14) ^ ?p(0,s16) ^ ?p(0,s15) ^ ?p(0,s13) ^ ?p(0,s0). Trajectory s0 -s14-s16-s15-s13-s0 merupakan urutan rangkaian state yang akan dikunjungi oleh simulator mobile robot. Penjelasan karakteristik trajectory
sebagai berikut :
• Status Asal (Initial State) : s0. • Status Tujuan (Destination State) : s0. • Trajectory : s0-s1 4-s16-s15-s1 3-s0. • Fungsi Proposisi :
- ?p(0,s1 4) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 14.
- ?p(0,s1 6) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 16.
- ?p(0,s1 5) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 15.
- ?p(0,s1 3) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 13.
- ?p(0,s0) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 0.
• Formula Proposisi :
Ø = ?(p(0,s14) ^ ?(p(0,s1 6) ^ ?(p(0,s15) ^ ?(p(0,s13) ^ ?p(0,s0))))).
• Jumlah hop : 5
Pada status awal s0 arah hadap robot menuju ke selatan (2700 pada simulasi dan 1800 pada robot sebenarnya). Gambar 11 dan Gambar 12 berikut adalah cuplikan logika program status awal :
SetMobotPosition (0,20,5,sdt) Call Belok_kiri(270)
Gambar 11 Cuplikan program mobotsim S0.
robot diletakan pada initial state
belok(3) //arah selatan Gambar 12 Cuplikan program robot S0. Eksekusi proposisi ?p(0,s14) dapat dilihat
pada Gambar 13 dan Gambar 14 sebagai berikut: EraseTrajectories SetMobotPosition(0,7.5,4.6,270) s=MeasureRange(0,0,0) Debug.Print s SetTimeStep(0.02) While (s < 1.5) SetWheelSpeed(0,5,5) For i = 1 To 1000 s=MeasureRange(0,0,0) StepForward Next Wend Call Belok_kiri(90) s=MeasureRange(0,0,0) Debug.Print s While (s > 3) SetWheelSpeed(0,5,5) For i = 1 To 1000 StepForward Next Debug.Print s s=MeasureRange (0,0,0) Debug.Print s Wend Call Belok_kiri(90) Call Lurusgrs
Gambar 13 Cuplikan program mobotsim ?p(0,s14).
Belok(3) //arah selatan Mjknj() //kanan ada penghalang Belok(2) //arah timur Mjknl() //kanan tidak ada penghalang
Belok (1) //arah utara Mjgp() //maju sampai garis
Gambar 14 Cuplikan program robot ?p(0,s14).
Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Maju hingga persimpangan, dimana bila sensor 4 dan sensor 0 tidak mendeteksi adanya dinding tembok, maka telah mencapai persimpangan tersebut.
Ø Selanjutnya Robot akan belok menuju arah 0 derajat pada simulasi dan menuju ke arah 90 derajat pada kompas sebenarnya atau ke arah timur .
11 Ø Maju hingga gerbang status 14, dimana bila
sensor 0 mendeteksi tembok dan sensor 4 tidak mendeteksi tembok, maka telah sampai di depan gerbang status 14.
Ø Selanjutnya Robot belok ke arah 90 derajat pada simulasi dan kearah 0 derajat pada kompas sebenarnya atau arah utara.
Ø Robot berjalan lurus ke depan, bila sensor 4 mendeteksi adanya tembok, maka Robot telah tiba di mulut gerbang 14.
Ø Untuk selanjutnya Robot berjalan mengelilingi ruangan status 14 sebagai hasil eksekusi visiting 14 pada mobile robot sebenarnya, sensor fotodiode yang menandakan jika robot itu sudah ada didalam sebuah ruangan tertentu dan untuk selanjutnya robot akan mengelilingi ruangan dan mencari cahaya lilin yang selanjutnya akan dimatikan oleh dinamo kipas yang terdapat pada robot.
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s1 4) akan bernilai true atau benar.
Proposisi ?p(0,s16) : Mula-mula Robot di
gerbang status 14 menghadap selatan, dan telah siap berjalan ke status 16. Eksekusi Proposisi
?p(0,s16) dapat dilihat pada Gambar 15 dan
Gambar 16 sebagai berikut : Call Belok_kanan(90) Call kiriada call Belok_kiri(90) Call maju3 Call Belok_kiri(90) Call kirigada Call Belok_kanan(90)
Gambar 15 Cuplikan program mobotsim ?p(0,s16).
belok(4) //arah barat mjkr() //kiri ada penghalang belok (3) //arah selatan
mjknl() //kanan tidak ada penghalang
belok(2) //arah timur mjgp() //maju sampai garis belok(3) //arah selatan
Gambar 16 Cuplikan program robot ?p(0,s16).
Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Robot akan belok ke arah barat (arah 180 pada simulasi dan 270 pada kompas sebenarnya ) dan siap berjalan menuju perempatan.
Ø Robot berjalan lurus menuju perempatan. Bila sensor 4 tidak mendeteksi dinding, maka robot telah tiba di perempatan. Ø Selanjutnya robot akan belok ke arah selatan
(arah 270 pada simulasi dan 180 pada kompas sebenarnya).
Ø Robot berjalan lurus ke arah selatan hingga tiba di depan gerbang status 16, bila sensor 0 mendeteksi adanya dinding maka Robot sudah berada pada depan gerbang 16. Ø Robot belok ke arah timur (arah 0 pada
simulasi dan arah 90 pada kompas sebenarnya) untuk siap masuk (visiting) ke ruangan status 16.
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s16) akan bernilai true atau benar.
Proposisi ?p(0,s15) : Posisi Robot ada di
gerbang status 16, dengan arah hadap ke barat dan siap untuk melangkah keluar. Eksekusi
Proposisi ?p(0,s15) dapat dilihat Gambar 17 dan
Gambar 18 sebagai berikut : Call Maju
Call Belok_kiri(90) Call Maju
Call Belok_kanan(90) Call Lurusgrs
Gambar 17 Cuplikan program mobotsim ?p(0,s15).
mjgp2() //maju sampai keluar
belok(3) //arah selatan mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu belok(4) //arah barat mjgp() //maju sampai garis
Gambar 18 Cuplikan program mobotsim ?p(0,s15).
Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Robot berjalan lurus ke arah ke luar status 16. Bila sensor depan (sensor 3) mendeteksi adanya dinding, maka Robot telah tiba di hallway.
Ø Robot membelok ke arah selatan untuk menuju status 15.
Ø Robot berjalan lurus ke selatan hingga sensor depan mendeteksi adanya dinding, yang menandakan Robot telah tiba di depan gerbang status 15.
12 Ø Robot belok ke arah barat untuk siap masuk
ke ruang status 15.
Ø Robot mengunjungi status 15.
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s1 6) akan bernilai true atau benar.
Proposisi ?p(0,s13) : Posisi Robot berada di
gerbang status 15 menghadap ke arah timur dan siap keluar status 15. Eksekusi Proposisi
?p(0,s13) dapat dilihat pada Gambar 19 dan
Gambar 20 s ebagai berikut : Call Belok_kiri(90) Call kirigada Call kiriada Call Belok_kiri(90) Call kirigada Call kananada Call Belok_kanan(90) Call Lurusgrs
Gambar 19 Cuplikan program mobotsim ?p(0,s13).
belok(1) //arah utara mjknj() //kanan ada penghalang mjkr() //kiri ada penghalang belok(4) //arah barat
mjkrl() //kiri tidak ada penghalang
mjdkt() //maju beberapa waktu
belok(1) //arah utara
mjgp() //maju sampai garis Gambar 20 Cuplikan program robot ?p(0,s13). Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Robot berjalan lurus ke timur hingga ke hallway, bila sensor depan (sensor 3) mendetaksi adanya dinding, maka Robot telah sampai di hallway.
Ø Robot belok ke arah utara.
Ø Robot berjalan lurus menuju perempatan, bila sensor 0 dan sensor 4 tidak mendeteksi dinding, maka Robot telah sampai di perempatan.
Ø Robot belok ke arah barat untuk siap menuju ke status 13.
Ø Robot berjalan lurus ke timur hingga tiba di depan gerbang status 13, bila sensor depan mendeteksi adanya dinding, kurang dari 15 cm maka Robot telah tiba di gerbang 13. Ø Robot belok ke utara dan segera
mengunjungi status 13.
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s1 3) akan bernilai true atau benar.
Proposisi ?p(0,s0) : Robot berada di
gerbang status 13 menghadap arah selatan dan siap keluar status 13. Eksekusi Proposisi
?p(0,s0) dapat dilihat pada Gambar 21 dan
Gambar 22 sebagai berikut : Call Maju Call Belok_kiri(90) Call kananada Call Belok_kiri(90) Call Maju Call Belok_kiri(90) Call Belok_kiri(90)
Gambar 21 Cuplikan program mobotsim ?p(0,s0).
mgp2() //maju sampai keluar garis
belok (2) //arah timur
mjknj() //kanan ada penghalang belok (1) //arah utara
mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu
belok (3) //arah selatan Gambar 22 Cuplikan program robot ?p(0,s0).
Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Robot berjalan lurus ke selatan menuju hallway. Bila sensor depan mendeteksi adanya dinding, maka Robot telah tiba di
hallway.
Ø Robot belok ke arah timur.
Ø Robot berjalan menuju perempatan, bila sensor kiri (sensor 0) dan sensor 4 tidak mendeteksi dinding, maka telah tiba di perempatan.
Ø Robot belok ke arah utara menuju status 0 (home).
Ø Robot berjalan lurus ke utara, hingga tiba di home, bila sensor depan (sensor 3) mendeteksi dinding, maka Robot telah tiba di h o m e.
Ø Robot mengembalikan arah hadapnya sebagaimana arah hadap saat start yaitu ke arah selatan dengan cara putar (balik) kanan. Ø Akhirnya bila berhasil maka nilai proposisi
13 Hasil akhir formula proposisi adalah :
Ø = ?(p(0,s14) ^ ?(p(0,s16) ^ ?(p(0,s15) ^ ?(p(0,s1 3) ^ ?p(0,s0))))) dapat dibuktikan
kebenarannya. Formulasi proposisi yang lain dapat dilihat pada Lampiran 5 dan Lampiran 6.
Hasil Pengujian Robot Menggunakan
Prototipe Hasil Formulasi
Dilakukan sekenario pengujian untuk trajektori T0 pada robot dan simulasi sebagai berikut :
Spesifikasi simulasi robot : - Diameter robot : 0.5 m (50 cm) - Diameter roda : 0.1 m (10 cm) - Jumlah sensor : 5
- Sudut diantara 2 sensor : 450 - Kecepatan roda : 25 RPM Spesifikasi robot :
- Lebar robot : 15 cm - Diameter roda : 6 cm - Jumlah sensor : 5
- Sudut diantara 2 sensor : 450 - Kecepatan roda : 25 RPM - Panjang robot : 25 cm
Hasil pengujian pada peta lingkungan robot Estimasi waktu untuk menuju ruang 1 Ø robot simulasi : 15 detik
Ø robot sebenarnya : 15 detik, 20 detik, 25 detik
Estimasi waktu menuju ruang 2 Ø robot simulasi : 25 detik
Ø robot sebenarnya : 30 detik, 27 detik, 40 detik
estimasi waktu menuju ruang 3 Ø robot simulasi : 30 detik
Ø robot sebenarnya : 40 detik, 33 detik, 45 detik
Estimasi waktu kembali ke ruang 4 Ø robot simulasi : 80 detik
Ø robot sebenarnya :70 detik, 100 detik,90 detik
Estimasi waktu kembali ke tempat awal Ø robot simulasi : 90 detik
Ø robot sebenarnya :100 detik, 80 detik, 70 detik
Perbandingan lingkungan robot simulasi dengan lingkungan robot yang sebenarnya adalah 1 : 18. Telah dilakukan pengujian pada robot sebenarnya sebanyak tiga kali pengujian. Dari ketiga pengujian robot hanya berhasil mengunjungi semua ruangan dari state awal hingga akhir sebanyak satu kali yaitu pada pengujian 3. Hal ini disebabkan karena belum optimalnya pengukuran sensor yang ada pada robot, bentuk robot yang belum efisien untuk melakukan gerakan, kondisi roda dengan lantai karena pengaruh gesekan yang mempersulit gerakan robot dan galat pada kompas.
Dari hasil pengujian didapat grafik antara simulasi dengan robot sebenarnya pada Gambar 23 sebagai berik ut.
Gambar 23 Grafik perbandingan simulasi robot dengan robot.
Waktu yang dihasilkan oleh robot simulasi dapat dikatakan sebagai waktu kondisi robot dalam keadaan ideal, karena tidak dipengaruhi oleh faktor-faktor yang dapat mengganggu kinerja robot.
Kecepatan pada robot tergantung kepada kekuatan baterai, untuk robot simulasi kecepatan dapat disesuaikan mengikuti robot
Ruang
S14 Ruang S16 Ruang S15 Ruang S13 Ruang S0
Simulasi 12 37 67 147 237 robot 23.333355.6666 95 181.666 265 0 50 100 150 200 250 300 Waktu (detik)
Robot dan Simulasi
Robot
14 sebenarnya. Pada pengujian ini didapatkan
waktu rata-rata sebuah robot menemukan target ruangan pada ro bot dan simulasi robot adalah 60 detik.
KESIMPULAN DAN SARAN
Kesimpulan
Implementasi formulasi dengan simulasi menggunakan MOBOTSIM dan prototipe robot menunjukkan bahwa spesifikasi yang diformulasikan menggunakan Logika Temporal Line ar dapat dibuktikan kebenarannya. Selain itu, dengan adanya formulasi navigasi m obile
robot implementasi pembangunan prototipenya
menjadi lebih mudah dan akurat.
Namun demikian implementasi formulasi dengan menggunakan simulasi program hasilnya lebih ideal dari pada implementasi formulasi dengan menggunakan prototipe
mobile robot sebenarnya. Hal ini disebabkan
pergerakan protipe mobile robot banyak dipengaruhi faktor luar, seperti pengaruh gesekan dengan lantai, kekuatan power supply, dan lainnya yang dalam penelitian ini diabaikan.
Bentuk mobile robot masih sederhana dan kurang optimal karena tidak menggunakan pemodelan terlebih dahulu.
Saran
Saran untuk penelitian selanjutnya yang berkaitan dengan penelitian ini yaitu:
• Penggunaan metode formal untuk sistem navigasi pada sensor untuk menambah akurasi sensor agar lebih presisi lagi. • Penggunaan metode formal untuk sistem
navigasi pada kompas untuk penggunaan kompas agar lebih presisi menunjukan arah. • Pengembangan untuk sistem robot berkaki
yang dijadikan autonomous mobile robot.
DAFTAR PUSTAKA
Budiharto W. 200 6. Membuat Robot Cerdas.Jakarta: ELEX MEDIA KOMPUTINDO Budioko T . 2005. Belajar dengan Mudah dan
Cepat Pemograman Bahasa C dengan SDCC. Yogyakarta: GAVA MEDIA
Clarke G & Peled. 1999. Model Checking, page 14. The MIT Press
Fainekos G E, Kress-Gazit H, Pappas GJ . 2005. Temporal Logic Motion Planning for Mobile Robots. Di dalam : International
Conference on Robotics and Automation.
Proceedings of the 2005 IEEE;
Barcelona, April 2005. Philadelphia: IEEE. hlm 2032 -2037.
Pressman RS. 2002. Software Engineering :
Practitional Aproach. Ed. ke -6. New
York: Sommerville
Schilling JR . 2000. Fundamentals of Robotics
Analysis and Control . NJ: Prentice Hall
Sihite L & Wardoyo R. 2005. Pemodelan
Logika Pemeriks aan Temporal Linier dengan Buchi Automata. Yogyakarta:
ILKOM UGM
Supriyo PT . 2003. Model Formal Sistem
Pengendali Lalulintas Kereta Api di suatu Statsiun. Jakarta: F asilkom UI
Widiyanto D et al. 2008. Formalisasi Navigasi
Mobile Robot. Prosiding Seminar
Nasional Teknologi dan Rekayasa Industri. Fakultas Teknologi Industri: Institut Teknologi Indonesia
Widodo E & Prasetia R. 2004. Interfacing prot
parallel dan port serial komputer dengan