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
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).
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 w(si,sj)
Edge
Berdasarkan
Gambar 5 Representasi graf abstraksi diskrit (Widyanto 2008).
Matriks
Pada data sekunder pembobotan matriks w(s i,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
5
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
Trajectory
(Dihitung w(si,sj))
(t) 0
Nilai Path dengan
s0-s14-s 16 s15-s13 -s0
4+4+3+6+5 = 22
1
s0-s16-s 15 s14-s13 -s0
4+3+5+5+5 = 22
2
s4-s14-s 16 s15-s13 -s4
3+4+3+6+6 = 22
Formulasi Himpunan Trajectory
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/
Kiri
Hasil formulasi himpunan trajectory adalah (Widyanto 2008) : •
trajectory 0 : s0-s14 -s16-s15-s 13 -s0 Formula Proposisi Ø = ?p(0,s14) ^ ?p(0,s16 ) ^ ?p(0,s15) ^ ?p(0,s13) ^ ?p(0,s0 ).
•
trajectory 1 : s 0-s 16-s15-s14-s13-s 0 Formula Proposisi Ø = ?p(1,s16) ^ ?p(1,s15 ) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s0 ).
•
trajectory 2 : s 4-s 14-s16-s15-s13-s 4 Formula Proposisi Ø = ?p(2,s 14) ^ ?p(2,s16) ^ ?p(2,s 15 ) ^ ?p(2,s 13) ^ ?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 pergerakan 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
pulsa 10 Counter clockwise/
Clockwise/
Kanan
pulsa 01 pulsa 01 Counter clockwise/
Counter clockwise/
pulsa 01
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.
6
RotationalSpeed : Kecepatan putar atau belokan ( angular) dalam derajat per detik.
Parameter
Penjelasan
Efek
Parameter SetWheelSpeed (Mobot, wheespeed, right wheespeed) adalah :
void mstp() { MA1 = 0; MA2 = 0; MB1 = 0; MB2 = 0; }
Soket tidak diberi pulsa oleh mikrokontroler
Stop (berhenti)
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
Maju
void mjlnb(){ MA1 = 0; MA2 = 1; MB1 = 1; MB2 = 0; }
Soket 2 (dua) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler
mundur
Soket 1 (satu) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler
Soket 1 (satu) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler
void mbki() { MA1 = 0; MA2 = 1; MB1 = 0; MB2 = 1; }
Soket 2 (dua) pada motor DC 1 diberi pulsa 1 oleh mikrokontroler
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 Menjelaskan karakteristik bentuk dan kerangka sensor pada robot .
kanan
Soket 1 (satu) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler
Soket 2 (dua) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler
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.
Soket 2 (dua) pada motor DC 2 diberi pulsa 1 oleh mikrokontroler
void mbka() { MA1 = 1; MA2 = 0; MB1 = 1; MB2 = 0; }
left
Tabel 5 Karakteristik kerangka simulasi Karakteristik
Keterangan
Bentuk Kerangka
Bentuk kerangka 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 sensor
450 (45 derajat)
kiri
antara
Jarak / Sensor
2
Range
berupa
Secara skala adalah 11 meter atau 80 % lebar hallway
7
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
Gambar 6 Lingkungan robot simulasi.
Gambar 7 Kerangka robot simulasi.
s0 adalah sensor kanan PING ultrasonik berturutturut 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 8 Kerangka robot.
8
Kompas
Sensor
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.
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.
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 I 2C. Protokol I2C berfungsi memberitahukan mikrokontroler mengenai arah robot melalui SDA (Serial Data). Fungsi proses pembacaan arah pada robot dalam implementasinya dapat dilihat pada Gambar 9 di 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.
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
9
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.
robot diletakan pada initial state belok(3) //arah selatan Gambar 12 Cuplikan program robot S0.
•
Ø = ?p(0,s 14) ^ ?p(0,s16 ) ^ ?p(0,s15) ^ ?p(0,s13) ^ ?p(0,s0 ).
•
Ø = ?p( 1,s 16) ^ ?p(1,s15 ) ^ ?p( 1,s14) ^ ?p( 1,s13) ^ ?p(1,s0 ).
Eksekusi proposisi ?p(0,s14) dapat dilihat pada Gambar 13 dan Gambar 14 sebagai berikut:
•
Ø = ?p(2,s14 ) ^ ?p( 2,s16 ) ^ ?p( 2,s15) ^ ?p( 2,s13) ^ ?p(2,s4 ).
Formula proposisi Ø = ?p(0,s 14) ^ ?p(0,s16) ^ ?p(0,s15) ^ ?p(0,s13) ^ ?p(0,s0). Trajectory s0s14-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-s14-s 16 -s15 -s13-s0.
•
Fungsi Proposisi :
-
?p(0,s 14) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 14.
-
?p(0,s 16) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 16.
-
?p(0,s 15) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 15.
-
?p(0,s 13) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 13.
-
?p(0,s 0 ) : Fungsi proposisi untuk trajectory 0 dan akan bernilai benar setelah Robot mengunjungi status 0.
•
Formula Proposisi :
Ø = ?(p(0,s14) ^ ?(p(0,s16) ^ ?(p(0,s 15) ^ ?(p(0,s 13) ^ ?p(0,s0))))). •
Jumlah hop : 5
Pada status awal s 0 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.
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.
10
Ø 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,s 14) 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).
Ø 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.
Keluaran yang diharapkan dari penggalan program di atas adalah :
Ø Robot membelok ke arah selatan untuk menuju status 15.
Ø Robot akan belok ke arah barat (arah 180 pada simulasi dan 270 pada kompas sebenarnya ) dan siap berjalan menuju perempatan.
Ø Robot berjalan lurus ke selatan hingga sensor depan mendeteksi adanya dinding, yang menandakan Robot telah tiba di depan gerbang status 15.
11
Ø Robot belok ke arah barat untuk siap masuk ke ruang status 15.
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s13) akan bernilai true atau benar.
Ø Robot mengunjungi status 15.
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 :
Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s 16) 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 :
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 lurus ke timur hingga ke hallway, bila sensor depan (sensor 3) mendetaksi adanya dinding, maka Robot telah sampai di hallway.
Ø 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.
Ø Robot belok ke arah utara menuju status 0 (home).
Ø 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 mengunjungi status 13.
dan
Ø Robot berjalan lurus ke utara, hingga tiba di home, bila sensor depan (sensor 3) mendeteksi dinding, maka Robot telah tiba di home. Ø Robot mengembalikan arah hadapnya sebagaimana arah hadap saat start yaitu ke arah selatan dengan cara putar (balik) kanan. Ø Akhirnya bila berhasil maka nilai proposisi ?p(0,s0 ) akan bernilai true atau benar.
segera
12
Hasil akhir formula proposisi adalah : Ø = ?(p(0,s 14) ^ ?(p(0,s16) ^ ?(p(0,s 15) ^ ?(p(0,s13) ^ ?p(0,s0 ))))) dapat dibuktikan kebenarannya. Formulasi proposisi yang lain dapat dilihat pada Lampiran 5 dan Lampiran 6. Hasil Pengujian Robot Prototipe Hasil Formulasi
Menggunakan
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 0
-
Sudut diantara 2 sensor : 45
-
Kecepatan roda : 25 RPM
Ø 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 berikut.
Robot dan Simulasi Robot
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
300 250 Waktu (detik)
-
200 150 100 50 0 Ruang Ruang Ruang Ruang Ruang S14 S16 S15 S13 S0
Ø robot simulasi : 25 detik Ø robot sebenarnya : 30 detik, 27 detik, 40 detik estimasi waktu menuju ruang 3 Ø robot simulasi : 30 detik
Simulasi robot
12
37
23.333355.6666
67 95
147
181.666 265
Ø robot sebenarnya : 40 detik, 33 detik, 45 detik
Gambar 23 Grafik perbandingan simulasi robot dengan robot.
Estimasi waktu kembali ke ruang 4
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.
Ø robot simulasi : 80 detik Ø robot sebenarnya :70 detik, 100 detik,90 detik Estimasi waktu kembali ke tempat awal Ø robot simulasi : 90 detik
237
Kecepatan pada robot tergantung kepada kekuatan baterai, untuk robot simulasi kecepatan dapat disesuaikan mengikuti robot
13
sebenarnya. Pada pengujian ini didapatkan waktu rata-rata sebuah robot menemukan target ruangan pada robot dan simulasi robot adalah 60 detik.
KESIMPULAN DAN SARAN
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
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.
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 VB 6.0. Semarang : ANDI
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 GE, Kress-Gazit H, Pappas GJ . 2005. Temporal Logic Motion Planning for Mobile Robots. Di dalam : International Conference on Robotics and Automation.
14