AUTONOMOUS MOBILE ROBOT MENGGUNAKAN METODE FORMAL LOGIKA TEMPORAL LINEAR
IRVAN LEWENUSA
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008
AUTONOMOUS MOBILE ROBOT MENGGUNAKAN METODE FORMAL LOGIKA TEMPORAL LINEAR
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
IRVAN LEWENUSA G64104058
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2008
Judul Skripsi : Autonomous Mobile Robot Menggunakan Metode Formal Logika Temporal Linear Nama
: Irvan Lewenusa
NIM
: G64104058
Menyetujui :
Pembimbing I,
Pembimbing II,
Wisnu Ananta Kusuma, S.T., M.T. NIP 132 312 485
Drs . Prapto Tri Supriyo, M.Kom NIP 131 878 952
Mengetahui : Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Dr. drh. H. Hasim, DEA NIP 131 578 806
Tanggal Lulus:
ABSTRAK IRVAN LEWENUSA . Autonomous Mobile Robot Menggunakan Metode Formal Logika Temporal Linear. Dibimbing oleh WISNU ANANTA KUSUMA dan PRAPTO TRI SUPRIYO . Logika temporal linear (LTL) dikontruksi dari formulasi logika tingkah laku sistem yang diharapkan dari waktu ke waktu secara linear. Dengan demikian jika pada bagian atau waktu tertentu terjadi kesalahan pada sistem, kesalahan itu dapat segera diantisipasi. Dalam hal ini penggunaan perencanaan logika temporal linear tidak hanya digunakan pada autonomous mobile robot untuk mencapai sebuah tujuan atau menghindari rintangan, tetapi juga untuk perangkaian, perluasan atau penugasan sementara (temporal ordering) pada sebuah rangkaian tugas yang berbeda dalam satu waktu. Dalam LTL untuk menghasilkan lintasan robot dilakukan tiga tahap tahap aktivitas, yaitu pendefinisan abstraksi diskrit pergerakan robot, perencanaan logika temporal menggunakan model checking, dan implementasi kontinu rencana diskret (continuous implementations of discrete plan). Pada penelitian ini, untuk membuktikan apakah model perencanaan logika temporal linear yang dibuat sebelumnya memenuhi spesifikasi tingkah laku sebuah mobile robot yang dimaksud, maka dibuatlah sebuah autonomous mobile robot sebagai alat uji implementasi formula logika temporal linier tersebut. Untuk membangun sebuah autonomous mobile robot tersebut diperlukan beberapa perangkat elektronika di antaranya mikrokontroler, sensor, kompas, dan motor penggerak. Selain itu dilakukan pula simulasi dengan perangkat lunak MOBOTSIM versi 1.0.03. Implementasi formulasi dengan simulasi menggunakan MOBOTSIM menunjukkan hasil yang lebih ideal daripada pembangunan formulasi pada robot sebenarnya Hal ini disebabkan pergerakan protipe mobile robot banyak dipengaruhi faktor luar yang dalam penelitian ini diabaikan. Kata kunci :Autonomous Mobile robot, Logika temporal linear, Metode Formal
RIWAYAT HIDUP Penulis dilahirkan pada tanggal 22 februari 1986 di Bogor. Penulis adalah anak kedua dari tiga bersaudara pasangan Ibrahim Lewenusa dan Eva. Pada tahun 2004, penulis lulus dari SMA Negeri 5 Bogor dan pada tahun yang sama, penulis diterima sebagai mahasiswa di Program Studi Ilmu Komputer, Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor melalui jalur Undangan Seleksi Masuk Institut (USMI). Semasa mengikuti perkuliahan, penulis aktif di organisasi kemahasiswaan di antaranya yaitu Himpunan Mahasiswa Ilmu Komputer (HIMALKOM) di Divisi Informasi dan Komunikasi periode tahun 2004-2005 dan 2005-2006, Badan Eksekutif Mahasiswa Fakultas Matematika dan Ilmu Pengetahuan Alam (BEM FMIPA) Divisi SAINS periode tahun 2005-2006 dan UKM Gerak Alam IPB periode tahun 2006-2007. Penulis juga pernah menjadi asisten praktikum Organisasi Komputer di lingkungan Departemen Ilmu Komputer IPB. Penulis melakukan Praktik Kerja Lapangan (PKL) di Real Time Forex Indonesia (RTFI) pada tanggal 2 Juli 2007 – 24 Agustus 2007 pada IT Development.
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul Autonomous Mobile Robot Menggunakan Metode Formal Logika Temporal Linear. Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana Komputer di FMIPA IPB. Penghargaan serta rasa terima kasih penulis sampaikan kepada Wisnu Ananta Kusuma, S.T., M.T. dan Bapak Drs. Prapto Tri Supriyo, M.Kom. selaku pembimbing yang telah bersedia meluangkan waktu serta memberikan saran dan bimbingannya selama penelitian dan penulisan tugas akhir ini. Penghargaan dan rasa terima kasih juga penulis sampaikan kepada Bapak Heru Sukoco, S.Si., M.T. yang telah berkenan sebagai moderator dan penguji serta kepada Bapak Didit Widyanto S.Kom., M.Si. Mahasiswa S2 Dep artemen Ilmu Komputer FMIPA IPB yang telah melakukan penelitian dan hasilnya digunakan penulis untuk penelitian sebagai penyelesaian tugas akhir ini. Penulis menyampaikan terima kasih dan penghargaan yang mendalam kepada seluruh keluarga, Bapak dan Ibu y ang senantiasa memberikan dukungan moral, doa, kasih sayang, dan perhatian. Penulis menyampaikan terima kasih kepada Ruvina, Ali, Egi, Ineza, Aniza, Apemerz, Sengkederz, Mangroverz, Trackerz, komunitas robotika, dan teman-teman satu bimbingan (Halida, Dani, Kikis, Rahmat, Dian) atas dukungan, motivasi, dan masukan yang telah diberikan. Terima kasih kepada seluruh teman seperjuangan Ilkomerz 40, 41, 42 dan 43 atas dukungan dan kebersamaan selama menuntut ilmu di Departemen Ilmu Komputer. Penulis menyadari bahwa karya ilmiah ini masih jauh dari sempurna. Namun penulis berharap semoga karya ilmiah ini dapat memberikan manfaat bagi pembacanya.
Bogor, 5 September 2008
Irvan Lewenusa
DAFTAR ISI DAFTAR GAMBAR .............................................................................................................................................v DAFTAR TABEL ..................................................................................................................................................v DAFTAR LAMPIRAN..........................................................................................................................................v PENDAHULUAN..................................................................................................................................................1 Latar Belakang....................................................................................................................................................1 Tujuan ..................................................................................................................................................................1 Ruang Lingkup ...................................................................................................................................................1 Manfaat Penelitian .............................................................................................................................................1 TINJAUAN PUSTAKA........................................................................................................................................1 Robot ....................................................................................................................................................................1 Protokol Inter-Integrated Circuit .....................................................................................................................2 Metode Formal ...................................................................................................................................................2 Struktur Kripke..............................................................................................................................................2 Büchi Automata.............................................................................................................................................2 Mikrokontroler....................................................................................................................................................3 Sensor Jarak ........................................................................................................................................................3 Sensor Optik (cahaya) .......................................................................................................................................3 METODE PENELITIAN ......................................................................................................................................3 Kerangka Pemikiran ..........................................................................................................................................3 Analisis Kebutuhan Sistem...............................................................................................................................4 Perancangan Simulasi dan Robot ....................................................................................................................4 Implementasi Prototipe pada Pembuatan Robot ...........................................................................................4 Pengujian Robot menggunakan Prototipe Hasil Formulasi ........................................................................4 Lingkungan Pengembangan .............................................................................................................................4 HASIL DAN PEMBAHASAN ............................................................................................................................5 Hasil Analisis Kebutuhan Sistem ....................................................................................................................5 Abstraksi Diskrit ...........................................................................................................................................5 Representasi Graf Berdasarkan Abstraksi Diskrit ...................................................................................5 Pembobotan Edge Berdasarkan Matriks w(si,sj) .....................................................................................5 Himpunan Trajectori yang Optimal ...........................................................................................................5 Formulasi Himpunan Trajectory ................................................................................................................6 Perancangan Simulasi dan Robot ....................................................................................................................6 Perancangan Aktuator ..................................................................................................................................6 Kompas ...........................................................................................................................................................9 Sensor ..............................................................................................................................................................9 Implementasi Prototipe pada Robot ................................................................................................................9 Hasil Pengujian Robot Menggunakan Prototipe Hasil Formulasi ...........................................................13 KESIMPULAN DAN SARAN ..........................................................................................................................14 Kesimpulan........................................................................................................................................................14 Saran ...................................................................................................................................................................14 DAFTAR PUSTAKA ..........................................................................................................................................14
iv
DAFTAR GAMBAR 1 Lingkungan robot. ...............................................................................................................................................3 2 Ilustrasi pengukuran sensor. .............................................................................................................................3 3 Metode penelitian. ...............................................................................................................................................4 4 Abstraksi diskrit lingkungan robot (Widyanto 2008). ..................................................................................5 5 Representasi graf abstraksi diskrit (Widyanto 2008). ...................................................................................5 7 Lingkungan robot simulasi. ...............................................................................................................................8 8 Kerangka robot simulasi.....................................................................................................................................8 9 Kerangka robot. ...................................................................................................................................................8 10 Source code I2C kompas. ................................................................................................................................9 11 Source code pengukuran sensor......................................................................................................................9 12 Cuplikan program mobotsim S0...................................................................................................................10 13 Cuplikan program robot S0. ..........................................................................................................................10 14 Cuplikan program mobotsim ?p(0,s14). ......................................................................................................10 15 Cuplikan program robot ?p(0,s14). ..............................................................................................................10 16 Cuplikan program mobotsim ?p(0,s16). ......................................................................................................11 17 Cuplikan program robot ?p(0,s16). ..............................................................................................................11 18 Cuplikan program mobotsim ?p(0,s15). ......................................................................................................11 19 Cuplikan program mobotsim ?p(0,s15). ......................................................................................................11 20 Cuplikan program mobotsim ?p(0,s13). ......................................................................................................12 21 Cuplikan program robot ?p(0,s13). ..............................................................................................................12 22 Cuplikan program mobotsim ?p(0,s0). ........................................................................................................12 23 Cuplikan program robot ?p(0,s0). ................................................................................................................12 24 Grafik perbandingan simulasi robot dengan robot. ...................................................................................13
DAFTAR TABEL 1 Matriks w(si,sj) ....................................................................................................................................................6 2 Trajectory Optimal (Widyanto 2008) ..............................................................................................................6 3 Perilaku roda dan pengaruh gerakan terhadap mobile robot........................................................................6 4 Fungsi aktuator mobile robot .............................................................................................................................7 5 Karakteristik kerangka simulasi........................................................................................................................7 6 Karakteristik robot...............................................................................................................................................8
DAFTAR LAMPIRAN 1 Simbol – simbol logika temporal linear .......................................................................................................16 2 Elektronika..........................................................................................................................................................17 3 Gambar skematik rangkaian elektronika.......................................................................................................18 4 Skema penempatan rangkaian robot ..............................................................................................................21 5 Formula proposisi Ø = ?p(1,s16) ^ ?p(1,s15) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s0). ................................24 6 Formula proposisi Ø = ?p(2,s14) ^ ?p(2,s16) ^ ?p(2,s15 ) ^ ?p(2,s13 ) ^ ?p(2,s4) .......................................27
v
PENDAHULUAN Latar Belakang Perkembangan dunia robot saat ini ditujukan untuk membantu kepentingan manusia. Pada dunia industri misalnya, robot digunakan untuk melakukan pekerjaan beresiko tinggi atau pekerjaan yang membutuhkan tenaga besar. Oleh karena itu, penelitian tentang robot terus dilakukan hingga saat ini. Dalam beberapa penelitian robot saat ini, penggunaan teknologi robot sebagai robot penjelajah (eksplorasi) menjadi fokus pengembangan para peneliti robot. Hal ini ditunjukan dengan diselenggarakannya berbagai perlombaan, di antaranya ABU Robocon, Trinity College, Kontes Robot Cerdas Indonesia dan berbagai perlombaan robot lainnya. Pada jenis robot penjelajah, sistem navigasi menjadi fokus penelitian. Kendali navigasi dan waktu yang dibutuhkan untuk menuju ke sebuah tempat pada lokasi tertentu saat ini merupakan salah satu permasalahan yang dihadapi dalam pengembangan mobile robot. Metode formal merupakan teknik matematis untuk merepresentasikan spesifikasi sistem dengan bahasa spesifikasi tertentu (Supriyo 2003). Metode ini dapat dijadikan sebagai penguji pada sebuah robot penjelajah dalam melakukan eksplorasi suatu lingkungan. Dengan metode formal sebagai penguji, diharapkan sistem navigasi robot bekerja sesuai dengan yang telah didefinisikan sebelumnya. Pada penelitian sebelumnya telah dilakukan formalisasi formulasi navigasi mobile robot dengan menggunakan metode formal logika temporal linier (Widyanto 2008). Pada penelitian ini akan dibahas lebih lanjut pemanfaatan metode formal logika temporal linier p ada sistem navigasi yang diimplementasikan ke dalam sebuah simulasi dan produk model prototipe autonomous mobile robot. Tujuan Tujuan dari penelitian ini adalah : •
Membuat simulasi formulasi metode formal logika temporal linier dari penelitian Widyanto (2008).
•
Mengimplementasikan formulasi metode formal logika temporal linier dari penelitian Widyanto (2008) ke dalam mobile robot.
•
Membuat autonomous mobile r obot.
Ruang Lingkup Ruang lingkup dalam penelitian ini adalah : •
Peta lingkungan robot telah didefinisikan sebelumnya.
•
Robot yang dibuat bertipe robot beroda.
•
Formulasi hanya dilakukan pada peta yang telah didefinisikan sebelumnya.
Manfaat Penelitian Penelitian ini diharapkan dapat memberikan informasi mengenai simulasi dan implementasi metode formal mobile robot untuk optimalisasi sistem navigasi.
TINJAUAN PUSTAKA Robot Robot adalah sebuah perangkat mekanik yang dapat dikendalikan melalui perangkat lunak dan menggunakan sensor sebagai alat pemandu satu atau lebih efektor, untuk menghasilkan gerakan terprogram dengan cara memanipulasi objek fisik (Schilling 2000). Konsep robotika memiliki dua jenis kendali robot yaitu low -level controller dan high -level controller . Low-level controller digunakan untuk mendefinisikan aksi primitif dan mengkomunikasikan status sensor kepada high level controller (Shanahan & Witkowski 2000). High-level controller memiliki dua jenis pendekatan yaitu Robotic-Level Languages , dan Task-Level Languages . (K.S Fu 1987). Robotic level languages memandang rangkaian tugas sebagai rangkaian gerakan robot dan setiap pernyataan program akan menghasilkan sebuah aksi robot. Task-level languages memandang rangkaian tugas sebagai langkah-langkah sebuah robot dalam mencapai sebuah tujuan tertentu (K.S Fu 1987). Kendali navigasi robot termasuk high -level controller. Kendali robot high-level controller digunakan untuk mendefinisikan perencanaan tugas (task planner) berdasarkan sensor yang ada, menghasilkan lint asan robot (robot trajectory), dan aksi atau pergerakan robot (robot motion) dari suatu tempat ke tempat lain. Mobile robot atau mobot memiliki mekanisme penggerak berupa roda (wheel) dan atau kaki (leg), untuk dapat berpindah tempat dari suatu tempat ke tempat yang lain.
1
Protokol Inter-Integrated Circuit Inter-Integrated Circuit merupakan standar komunikasi serial dua arah yang didesain khusus untuk pengontrolan IC (Integrated Circuit). Sistem I2C terdiri atas saluran SCL (Serial Clock ) dan saluran SDA (Serial Data) yang membawa informasi data antara IC dengan pengontrolnya. Mode komunikasi pada protokol I2C adalah half duplex yaitu komunikasi dua arah yang dilakukan secara bergantian.
Struktur Kripke adalah struktur dengan bentuk tuple M = (S, S0, R, L) di mana : S :
Himpunan semua state dalam sistem
S0 :
Himpunan initial state
R :
Relasi transisi antara state
L :
Fungsi yang memetakan setiap state dengan proposisi yang bernilai benar pada state tersebut.
Perangkat yang dihubungkan dengan sistem I2C dapat dioperasikan sebagai Master dan Slave. Master adalah perangkat yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop , dan membangkitkan sinyal clock . Slave adalah perangkat yang mendapatkan sinyal dari master (Widodo E 2004).
Büchi Automata
Metode Formal
Bila dalam teori otomata memiliki tuple A = (Q,S,d,I,F), maka dalam B üchi Automata memiliki tuple A = (Q,S,d,I,FT) di mana :
Metode formal adalah teknik-teknik matematis yang digunakan untuk menggambarkan properti sistem dan memberikan kerangka kerja untuk menentukan, mengembangkan, dan memverifikasi sistem secara matematis. Suatu metode dikatakan formal, jika metode tersebut memiliki dasar matematis yang secara khusus diperoleh dari bahasa spesifikasi formal (Pressman 2002) .
Büchi Automata digunakan untuk merelasikan state pada sebuah sistem dalam struktur Kripke (Clarke et al. 1999). Hasil eksplorasi graf berupa states dan transisi antar state biasa dinyatakan dalam model Büchi Automata. Bü chi Automata adalah pengembangan dari teori automata untuk input yang tak hingga.
Q :
Himpunan state
S :
Finite Alphabet
d :
Relasi Transisi
I :
Himpunan state awal (Initial State)
FT:
Himpunan state yang dapat diterima (Acceptance State) di mana FT = (F1, F2, F3, ... Fk) dengan Fi = himpunan state yang dapat diterima otomata Büchi.
Banyak metode formal yang dapat digunakan dalam bahasa spesifikasi (Pressman 2002) seperti CSP, LARCH, VDM, SpesifikasiZ , Linier Temporal Logic. Formula proposisi logika temporal linear adalah pernyataan tingkah laku sistem yang diharapkan dalam bahasa logika dengan melibatkan operator -operator temporal. Operator-operator temporal dapat dilihat pada Lampiran 1.
Contoh implementasi misalkan sebuah robot bergerak pada sebuah lingkungan robot yang berbentuk persegi empat dengan 4 ruangan yang dinotasikan oleh p1,p2, p 3, p4. Inisialisasi awal robot ditempatkan pada ruangan yang diberi label p 1, dapat dilihat pada Gambar 1.
Logika temporal linear (LTL) memiliki 3 tahapan untuk menghasilkan lintasan robot, yaitu abstraksi diskrit pergerakan robot, perencanaan logika temporal menggunakan model checking, dan implementasi model.
Selanjutnya diberikan spesifikasi untuk pergerakan robot menggunakan bahasa natural yaitu “robot akan mengunjungi ruang p2 kemudian ruang p 3 Selanjutnya ruang p 4 dan akhirnya kembali ke ruang p1 tanpa melewati ruang p2 dan p3”. Kemudian diformulasikan menggunakan bahasa logika dengan melibatkan operator-operator temporal sebagai berikut :
Struktur Kripke Struktur Kripke merupakan tipe dari non deterministic finite state machine yang digunakan dalam model checking untuk merepresentasikan lingkungan sebuah sistem dalam bentuk graf. Node pada graf merepresentasikan sebuah state yang akan dicapai oleh sistem, sedangkan edge merepresentasikan transisi dari state.
Diinisialisasi pi sebagai proposisi yang akan bernilai true ketika robot berada pada area “i”. ? ?
◊ (p2 ? ◊ ?? 3? ◊ ( ? 4? ?¬p2 ? ¬p3) U p1)))
(Fainekos 2005).
2
diukur adalah [(tIN s x 344 m/s) ÷ 2] meter. Ilustrasi dapat dilihat pada Gambar 2.
Gambar 1 Lingkungan robot. Mikrokontroler Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip IC (Integrated Circuit), sehingga sering juga disebut dengan single chip microcomputer. Chip IC ini dapat digunakan sebagai pengontrol utama sistem elektronika. Mikrokontroler biasa dikelompokan dalam satu keluarga, masingmasing mikrokontroler mempunyai spesifikasi tersendiri namun masih kompatibel dalam pemogramannya (Budioko 2005). Gambar mikrokontroler dapat dilihat pada Lampiran 2. Sensor Jarak Sensor jarak merupakan sensor yang wajib ada pada robot terkini (Budiharto 2006). Di Indonesia biasanya digunakan sensor ultrasonik sebagai sensor jarak. Sensor mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik selama waktu tertentu kemudian mendeteksi pantulannya. Sensor jarak ultrasonik memancarkan gelombang sesuai dengan kontrol dari mikrokontroler pengendali. Gambar bentuk sensor yang digunakan dapat dilihat pada Lampiran 2. Sensor Ping mendeteksi jarak obyek dengan cara memancarkan gelombang ultrasonik (40 kHz) selama tBURST (200 µs) kemudian mendeteksi pantulannya. Sensor Ping memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali (pulsa trigger dengan tOUT min. 2 µs). Gelombang ultrasonik ini melalui udara dengan kecepatan 344 meter per detik, mengenai obyek dan memantul kembali ke sensor. Ping mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2x jarak ukur dengan obyek. Maka jarak yang
Gambar 2 Ilustrasi p engukuran sensor. Sensor Optik (cahaya) Sensor optik atau cahaya adalah sensor yang mendeteksi perubahan cahaya dari sumber cahaya, pantulan cahaya ataupun bias cahaya yang mengernai benda atau ruangan. Dioda foto adalah jenis dioda yang berfungsi mendeteksi cahaya. Berbeda dengan dioda biasa, komponen elektronika ini akan mengubah cahaya menjadi arus listrik. Cahaya yang dapat dideteksi oleh dioda foto ini mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X. Aplikasi dioda foto mulai dari penghitung kendaraan di jalan umum secara otomatis, pengukur cahaya pada kamera serta beberapa peralatan di bidang medis. Alat yang mirip dengan Dioda foto adalah transistor foto (Phototransistor). Transistor foto ini pada dasarnya adalah jenis transistor bipolar yang menggunakan kontak (junction ) basecollector untuk menerima cahaya. Komponen ini mempunyai sensitivitas yang lebih baik jika dibandingkan dengan dioda foto. Hal ini disebabkan karena elektron yang ditimbulkan oleh foton cahaya pada junction ini diinjeksikan di bagian Base dan diperkuat di bagian Kolektornya. Namun demikian, waktu respons dari transistor foto secara umum akan lebih lambat dari pada dioda foto.
METODE PENELITIAN Kerangka Pemikiran Pada penelitian ini, metode yang digunakan berdasarkan metodologi pengembangan yang meliputi perencanaan, analisis, perancangan, pengujian, dan implementasi sistem. Metode penelitian yang digunakan dapat dilihat pada Gambar 3 dengan tahapan sebagai berikut.
3
Analisis Kebutuhan Sistem Kebutuhan sistem (system requirement) adalah syarat sistem yang harus dipenuhi agar sistem dapat bekerja dengan benar. Analisa dilakukan terhadap keluaran, masukan, dan proses. Dalam analisis keluaran, hasil yang ingin dicapai adalah pergerakan robot yang benar yaitu robot mampu menginterpretasikan posisinya dengan benar dan menghindari halangan (obstacle avoidance). Selain menghindari halangan, robot dapat melakukan tujuan atau misi tertentu, yaitu mematikan nyala api. Analisis masukan dilakukan dengan mereperes entasikan graf yang digunakan untuk formula proposisi pada ruang diskrit dan menganalisis karakteristik respon dari lingkungan robot untuk sistem kontrol dan sensor.
lintasan dan misinya. Formulasi sudah diuji kebenarannya oleh Widyanto (2008). Perancangan Simulasi dan Robot Perancangan simulasi dilakukan dengan mengimplementasikan model formal ke dalam kode program sumber (source code) untuk keluaran, masukan, dan proses. Perancangan keluaran dilakukan terhadap aktuator yaitu arah putaran motor penggerak roda dan efek atau pengaruhnya terhadap arah gerakan. Perancangan robot meliputi pembentukan kerangka, penggunaan jenis sensor, dan penempatan posisi sensor yang optimal. Perancangan proses dilakukan dengan membuat program fungsi yang bila dieksekusi akan menggerakkan robot dari satu tempat ke tempat yang lain, dan menghasilkan nilai logika atau proposisi “ benar” bila gerakan robot sukses. Implementasi Prototipe pada Pembuatan Robot Implementasi prototipe pada pembuatan robot dilakukan dengan mengimplementasikan formalisasi metode formal logika temporal linear (LTL) pada robot. Tujuan implementasi adalah membuktikan bahwa formulasi prototipe yang telah dibuat sebelumnya bernilai “benar” dapat dilakukan oleh mobile robot. Implementasi prototipe dilakukan dengan membuat simulasi pergerakan robot dan sebuah robot. Pengujian Robot menggunakan Prototipe Hasil Formulasi
Gambar 3 Metode penelitian. Analisis proses dilakukan dengan mendefinisikan fungsi-fungsi yang harus dimiliki oleh mobile robot untuk memenuhi formulasi dan formalisasi yang telah didefinisikan menggunakan metode formal logika temporal linear. Formulasi dan formalisasi m enggunakan metode formal logika temporal linear (LTL) dilakukan berdasarkan nilai kebenaran proposisi yang dihas ilkan setelah robot mengunjungi verteks dalam graf dan memberikan rumusan proposisi bernilai benar jika robot telah menyelesaikan seluruh
Pengujian robot menggunakan prototipe hasil formulasi dilakukan dengan menghitung waktu pergerakan robot simulasi dan waktu pergerakan mobile robot mengunjungi target lokasi yang telah ditentukan kemudian membandingkan hasil waktu antara simulasi pergerakan robot dengan pergerakan mobile robot. Lingkungan Pengembangan Perangkat lunak yang digunakan dalam penelitian ini adalah : • • • • •
M icrosoft Windows XP Profesional MOBOTSIM Ver 1.0.0.3 SDCC 2.7 ATMEL AT89ISP Ver 2.2 Protel DXP 2004
4
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
LAMPIRAN
Lampiran 1 Simbol – simbol logika temporal linear Textual
Simbol
Definisi
Penjelasan
ϕU ψ
ϕU ψ
(BUC)(φ) = (∃i : C(φi)) ∧ (∀j < i : B(φj))
Until : benar
ϕ
bernilai
selama
ψ
benar
ϕR ψ
ϕR ψ
(BRC )(φ ) = (∀i : C (φi )) ∨ (∃j < i : B(φj ))
Nϕ
Οϕ
NB(φi) = B(ϕi +1)
Fϕ
◊ϕ
FB(φ ) = (trueUB)(ϕ)
Gϕ
0ϕ
GB(φ ) = ¬F¬B(ϕ )
ψ bernilai benar selama ϕ benar Release :
ϕ
Next : bernilai benar sampai moment waktu yang akan datang
ϕ
Future : bernilai benar pada moment tertentu yang akan datang Globally:
ϕ
bernilai benar pada semua moment yang akan datang Aϕ
Eϕ
( AB )(ψ ) = (∀ϕ : ϕ 0 = ψ
All :
→ B(φ ))
(EB )(ψ ) = (∃ ϕ : ϕ 0 = ψ ∧ B(φ ))
Semua path yang dimulai dari state ini bernilai benar Exist : ada paling tidak satu path yang di mulai dari state ini dimana ϕ bernilai benar
16
Lampiran 2 Elektronika Sensor ultrasonik
Kompas digital
Mobile robot
Mikrokontroler DT-51
17
Lampiran 3 Gambar skematik rangkaian elektronika H-Bridge
Spesifikasi alat: 1 buah IC L298N 2 buah resistor 5 p 1k 2 buah kapasitor 100pF 25v 4 buah header
18
Lampiran 3 Lanjutan Power Supply
Spesifikasi alat : 1 buah IC 7805 1 buah IC 7809 3 buah LED 3 buah resistor 220 p 2 buah resistor 0.5 p 2k 2 buah kapasitor 1000 pF 25v 1 buah kapasitor 1000 pF 16v 2 buah MJ2955 5 buah header 1 buah fuse 2.5 A
19
Lampiran 3 lanjutan Driver Foto
Spesifikasi alat : 1 Buah IC LM358 2 buah resistor 220 p 1 buah resistor 102 p 1 buah LED 2 buah header 1 buah variable resistor 200 p
20
Lampiran 4 Skema penempatan rangkaian robot Skema komponen robot Level 2
Driver foto
Driver power supply
Lampiran 4 lanjutan Skema komponen robot level 1
Driver motor DC (H-Bridge)
Lampiran 4 lanjutan Skema Rangkaian antar komponen robot
23
Lampiran 5 Formula proposisi Ø = ?p(1,s16) ^ ?p(1,s15) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s0). Formula proposisi Ø = ?p(1,s 16) ^ ?p(1,s15) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s 0). Trajectory s0-s16s15-s14-s13 -s0 merupakan urutan rangkaian state yang akan dikunjungi oleh simulator mobile robot Penjelasan karakteristik trajectory sebagai berikut : •
Status Asal (Initial State) : s 0
•
Status Tujuan (Destination State) : s0
•
Trajectory : s0-s16-s15 -s14 -s13-s0
•
Fungsi Proposisi : ü ü ü ü ü
?p(1,s0) : Fungsi proposisi mengunjungi status 0 ?p(1,s16) : Fungsi proposisi mengunjungi status 16 ?p(1,s15) : Fungsi proposisi mengunjungi status 15 ?p(1,s14) : Fungsi proposisi mengunjungi status 14 ?p(1,s13) : Fungsi proposisi mengunjungi status 13
untuk trajectory 1 dan akan bernilai benar setelah mobot untuk trajectory 1 dan akan bernilai benar setelah mobot untuk trajectory 1 dan akan bernilai benar setelah mobot untuk trajectory 1 dan akan bernilai benar setelah mobot untuk trajectory 1 dan akan bernilai benar setelah mobot
•
Formula Proposisi : Ø = ?p(1,s 16) ^ ?p(1,s 15) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s 0 )))))
•
Jumlah hop : 5
Pada status awal s0 arah hadap mobile robot menuju ke selatan perilaku robot sama dengan perilaku robot pada status awal s0 pada trajectory 1 yang dijelaskan diatas. Eksekusi proposisi ?p(1,s16)
dapat dilihat pada penggalan program sebagai berikut :
Cuplikan program mobotsim Call kirigada Call kiriada Call kanangada Call Belok_kiri(90) Call kirigada
Cuplikan program robot mjkrl() //kiri tidak ada penghalang mjkr() //kiri ada penghalang mjknl() //kanan tidak ada penghalang belok(2) //arah timur mjgp() //maju sampai garis
Keluaran yang diharapkan dari penggalan program di atas adalah : Ø
Mobot bergerak maju dari status 0 menuju status 8, dan akan tiba dipersimpangan (status 7) dengan ciri sensor 0 tidak mendeteksi adanya dinding.
Ø
Mobot berjalan hingga tiba di status 11 atau tepat di depan pintu status 16 yang dicirikan dengan sensor 0 tidak mendeteksi adanya dinding.
Ø
Mobot membelok ke arah timur, selanjutnya bergerak memasuki ruangan status 16
Ø
Mobot tiba (mengunjungi) status 16
Ø
Akhirnya bila berhasil maka nilai proposisi ?p(1,s16) akan bernilai true atau benar.
24
Lampiran 5 Lanjutan Proposisi ?p(1,s15 ) : Mobot berada di s16 dan menghadap ke barat. Perilaku mobot untuk menuju ke status 15 dari status 16 pada trajectory 1 sama dengan perilaku mobot saat menuju status 15 pada trajectory 0. Akhirnya bila berhasil maka nilai proposisi ?p(1,s15) akan bernilai true atau benar. Proposisi ?p(1,s14 ) : Mobot berada di s15 dan menghadap ke timur. Eksekusi Proposisi ?p(1,s 14) dapat dilihat pada penggalan program sebagai berikut : Cuplikan program mobotsim Call maju Call Belok_kiri(90) Call kananada Call kiriada Call Belok_kanan(90) Call kanangada Call Belok_kiri(90) Call kirigada
Cuplikan program robot Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu Belok(1) //arah utara Mjknj() //maju jika kanan ada penghalang Mjkr() //maju jika kiri ada penghalang Belok (2) //arah timur Mjknl() //maju jika kanan tidak ada penghalang Belok(1) //arah utara Mjgp() //maju sampai garis
Keluaran yang diharapkan dari penggalan program di atas adalah : Ø Mobot keluar dari status 15 dan tiba di status 12 dengan ciri sensor depan (sensor 3) mendeteksi adanya dinding. Ø Mobot belok ke utara. Ø Mobot berjalan lurus ke utara hingga tiba di perempatan (status 7) yang dicirikan dengan sensor kanan (sensor 0) dan (sensor 6) tidak mendeteksi adanya dinding. Ø Mobot belok ke timur , dan berjalan hingga tiba di status 6 yang dicirikan dengan (sensor 0 atau kanan mendeteksi adanya dinding dan sensor 4 atau kiri tidak mendeteksi adanya dinding). Ø Mobot belok ke utara. Ø Mobot berjalan keutara menuju pintu status 14 hingga tepat didepan pintu yang dicirikan dengan sensor kiri mendeteksi adanya dinding. Ø Mobot mengunjungi status 14. Ø Akhirnya bila berhasil maka nilai proposisi ?p(1,s14) akan bernilai true atau benar. Proposisi ?p(1,s13 ) : Mobot berada di s 14 dan menghadap ke selatan. Eksekusi Proposisi ?p(1,s 13) dapat dilihat pada penggalan program sebagai berikut : Cuplikan program mobotsim Cuplikan program mobile robot Call Call Call Call Call Call Call Call
maju Belok_kiri(90) kananada kiriada Belok_kanan(90) kanangada Belok_kiri(90) kirigada
Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu Belok(4) //arah barat Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu Belok(1) //arah utara Mjgp() //maju sampai garis
25
Lampiran 5 Lanjutan Keluaran yang diharapkan dari penggalan program di atas adalah : Ø Mobot menghadap selatan, dan keluar dari status 14, dan akan tiba di status 6 yang dicirikan dengan sensor depan (sensor 3) mendeteksi adanya dinding. Ø Mobot belok ke barat. Ø Mobot berjalan lurus hingga tiba di status 10 yang dicirikan dengan sensor depan (sensor 3) mendeteksi adanya dinding. Ø Mobot belok ke utara, dan segera menuju pintu status 13. Ø Mobot mengunjungi / memasuki status 13. Ø Akhirnya bila berhasil maka nilai proposisi ?p(1,s13) akan bernilai true atau benar. Proposisi ?p(1,s0) : Mobot berada di s13 dan menghadap ke selatan. Eksekusi Proposisi ?p(1,s0) dapat dilihat pada penggalan program sebagai berikut : Cuplikan program mobotsim Call Call Call Call Call Call
Maju Belok_kiri(90) kananada Belok_kiri(90) Maju Belok_kanan(270)
Cuplikan program robot Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu 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
Keluaran yang diharapkan dari penggalan program di atas adalah : Ø
Mobot menghadap selatan dan berjalan keluar status 13 dan tiba di status 10 yang dicirikan sensor depan (sensor 3) mendeteksi adanya dinding.
Ø
Mobot belok ke timur, dan berjalan hingga perempatan (status 7) yang dicirikan dengan sensor kanan dan kiri (sensor 0 dan 4) tidak mendeteksi dinding
Ø
Mobot belok ke arah utara, dan berjalan hingga tiba di status 0 (home), yang dicirikan sensor kanan (sensor 0) tidak mendeteksi adanya dinding dan sensor depan (sensor 3) mendeteksi adanya dinding.
Ø
Mobot kembali keposisi dengan cara balik kanan dan kembali menghadap selatan.
Ø
Akhirnya bila berhasil maka nilai proposisi ?p(1,s0) akan bernilai true atau benar.
Ø
Akhirnya formula proposisi :
Ø = ?p(1,s16) ^ ?p(1,s15) ^ ?p(1,s14) ^ ?p(1,s13) ^ ?p(1,s0))))) dapat dibuktikan kebenarannya.
26
Lampiran 6 Formula proposisi Ø = ?p(2,s 14) ^ ?p(2,s 16) ^ ?p(2,s 15) ^ ?p(2,s 13) ^ ?p(2,s 4) Formula proposisi Ø = ?p(2,s 14) ^ ?p(2,s16 ) ^ ?p(2,s15) ^ ?p(2,s13) ^ ?p(2,s4 ). Trajectory s4-s14s16-s15-s13 -s4 merupakan urutan rangkaian state yang akan dikunjungi oleh simulator mobile robot Penjelasan karakteristik trajectory sebagai berikut: •
Status Asal (Initial State) : s 4
•
Status Tujuan (Destination State) : s 4
•
Trajectory : s4-s14-s16 -s15 -s13-s4
•
Fungsi Proposisi : ü ü ü ü ü
?p(2,s14) : Fungsi proposisi mengunjungi status 14 ?p(2,s16) : Fungsi proposisi mengunjungi status 16 ?p(2,s15) : Fungsi proposisi mengunjungi status 15 ?p(2,s13) : Fungsi proposisi mengunjungi status 13 ?p(2,s4) : Fungsi proposisi mengunjungi status 4
untuk trajectory 2 dan akan bernilai benar setelah mobot untuk trajectory 2 dan akan bernilai benar setelah mobot untuk trajectory 2 dan akan bernilai benar setelah mobot untuk trajectory 2 dan akan bernilai benar setelah mobot untuk trajectory 2 dan akan bernilai benar setelah mobot
•
Formula Proposisi :
•
Ø = ?p(2,s14 ) ^ ?p(2,s16 ) ^ ?p(2,s15) ^ ?p(2,s 13) ^ ?p(2,s 4))))).
•
Jumlah hop : 5
Pada status awal (initial state) mobot berada pada s4. Pada status ini mobot memeriksa kompas yang menunjukkan arah hadapnya, dan selanjutnya akan berbelok menghadap ke Barat. Di bawah ini adalah cuplikan 2 perintah program : Cuplikan program mobotsim SetMobotPosition (0,25,45,sdt) Call Belok_kiri (180)
Cuplikan program robot robot diletakan pada initial state belok(4) //arah barat
Proposisi ?p(2,s14 ) : Mobot berada di s4 (initial state) dan menghadap ke barat. Eksekusi Proposisi ?p(2,s14 ) dapat dilihat pada penggalan program sebagai berikut : Cuplikan program mobotsim Call kanangada Call kananada Call Belok_kanan(90) Call kirigada
Cuplikan program robot Mjknl() //maju kanan tidak ada penghalang Mjknj() //maju kanan ada penghalang Belok(1) //arah utara Mjgp() //maju sampai garis
Keluaran yang diharapkan dari penggalan program di atas adalah : Ø
Mobot berjalan dari status 4 menuju ke status 5 yang dicirikan dengan sensor kanan (sensor 0) mendeteksi adanya dinding.
Ø
Mobot berjalan hingga di depan pintu gerbang status 14 yang dicirikan dengan sensor kanan (sensor 0) tidak mendeteksi adanya dinding dan selanjutnya mobot belok ke utara.
Ø
Mobot berjalan memasuki status 14 dicirikan dengan sensor kiri (sensor 4) mendeteksi adanya dinding. Mobot mengunjungi status 14.
Ø
Akhirnya bila berhasil maka nilai proposisi ?p(2,s14) akan bernilai true atau benar.
27
Lampiran 6 Lanjutan Untuk proposisi ?p(2,s16), ?p(2,s15), dan ?p(2,s13) : perilaku mobot sama dengan proposisi ?p(0,s16), ?p(0,s15), dan ?p(0,s13), atau dengan kata lain memiliki perilaku yang sama dengan proposisi pada trajectory t=0. Proposisi ?p(2,s4) : Mobot berada di s13 dan menghadap ke selatan. Eksekusi Proposisi ?p(2,s4) dapat dilihat pada penggalan program sebagai berikut : Cuplikan program mobotsim
Cuplikan program mobile robot
Call Call Call Call
Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu Belok (2) //arah timur Mjmt() //maju sampai sensor depan mendeteksi penghalang pada jarak tertentu Belok(4) //arah barat
maju Belok_kiri(90) maju belok_kiri (180)
Keluaran yang diharapkan dari penggalan program di atas adalah : Ø
Mobot berjalan keluar status 13 yang ditandai dengan sensor depan (sensor 3 mendeteksi adanya dinding, kemudian Mobot belok ke timur.
Ø
Mobot melanjutkan berjalan lurus kea rah timur hingga tiba di status 4 yang ditandai dengan sensor depan (sensor 3) mendeteksi adanya dinding.
Ø
Selanjutnya mobot akan menempatkan diri ke tempat semula menghadap ke barat.
Ø
Akhirnya bila berhasil maka nilai proposisi ?p(2,s4) akan bernilai true atau benar.
Akhirnya formula proposisi : Ø = ?p(2,s14) ^ ?p(2,s16) ^ ?p(2,s15) ^ ?p(2,s13) ^ ?p(2,s4))))) dapat dibuktikan kebenarannya.
28