DIDIT WIDIYANTO
Tesis
sebagai salah satu syarat untuk memperoleh gelar Magister Sains pada
Program Studi Ilmu Komputer
SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2007
Nama : Didit Widiyanto N I M : G651040024
Disetujui Komisi Pembimbing
Drs. Prapto Tri Supriyo, M.Kom. Wisnu Ananta Kusuma, S.T, M.T.
Ketua Anggota
Diketahui
Ketua Program Studi Ilmu Komputer Dekan Sekolah Pascasarjana
Dr. Sugi Guritman Prof. Dr. Ir. Khairil A. Notodiputro, MS.
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala karuniaNya sehingga karya ilmiah ini berhasil diselesaikan. Tema yang dipilih dalam penelitian yang dilaksanakan sejak bulan Februari 2006 ini adalah Formalisasi Navigasi Mobile Robot (Studi Kasus Robot KRCI FATETA IPB 2006).
Terima kasih penulis ucapkan kepada Bapak Drs. Prapto Tri Supriyo, M.Kom dan Bapak Wisnu Ananta Kusuma, S.T, M.T selaku pembimbing. Di samping itu, penghargaan penulis sampaikan kepada para dosen pengajar FATETA IPB yang telah berkenan mengajak penulis untuk terlibat dalam tim KRCI 2006 dan KRCI 2007 sehingga penulis memiliki makalah penelitian tesis ini diantaranya yaitu Bapak Ir. Mohamad Solahudin, M.Si, Bapak Dr. Ir. Radite Praeka Agus Setiawan, M.Agr, Bapak Dr. Ir. Dewa Made Subrata, M.Agr, dan Bapak Dr. Ir. Suroso, M.Agr. Ungkapan terima kasih juga disampaikan kepada orang tua, adik, mbak Nita beserta seluruh keluarga di Cepu Jawa-Tengah atas segala doa dan perhatiannya.
Semoga karya ilmiah ini bermanfaat.
Bogor, M e i 2007 Didit Widiyanto
Penulis dilahirkan di Semarang pada tanggal 14 Juli 1970 dari ayah Widodo W.S dan ibu Niniek Sri Harsini. Penulis merupakan anak pertama dari 2 bersaudara.
Tahun 1989 penulis lulus dari SMA Negeri 42 Halim Perdanakusuma, pada tahun 1993 lulus Program Diploma-3 Manajemen Informatika dan Komputer di UPN “Veteran” Jakarta, dan pada tahun 1998, lulus Strata-1 Manajemen informatika di STMIK “Budi Luhur” Jakarta.
Selama mengikuti perkuliahan, penulis diajak oleh Bapak Ir. Mohamad Solahudin, M.Si dari FATETA IPB untuk membantu tim KRCI 2006. Pertengahan tahun 2006 yang lalu, penulis pernah diminta oleh FATETA IPB melalui Bapak Dr. Ir. Dewa Made Subrata, M.Agr untuk menjadi pembicara seminar robotika dengan tema makalah Robot (Perkembangan dan Penerapannya). Pada tahun yang sama, penulis pernah diminta oleh Bapak Wisnu Ananta Kusuma, S.T, M.T dari Departemen Ilmu Komputer FMIPA IPB untuk memberikan kuliah kapita selekta program Diploma-3 dan Strata-1 dengan tema robotika dan pemrograman waktu nyata. Kembali pada tahun yang sama pula yaitu 2006, penulis pernah diminta oleh Departemen Ilmu Komputer FMIPA IPB sebagai pembicara pada seminar A2 untuk memaparkan hasil penelitian ini. Dan akhirnya pada Februari 2007 yang lalu, FATETA IPB melalui Bapak Dr. Ir. Radite Praeka Agus Setiawan, M.Agr kembali berkenan mengajak penulis untuk membantu tim KRCI 2007.
viii DAFTAR ISI Halaman DAFTAR TABEL ……….. ix DAFTAR GAMBAR……….. ix PENDAHULUAN……….. 1 TINJAUAN PUSTAKA Robotik……… 3 Transformasi Lingkungan Kontinu ke Diskrit..……….. 4 Transformasi Lingkungan Diskrit ke Graf………... 5 Optimal Trajectory Vs Good Trajectory……… 6
Metode Formal……… 7
Bahasa Formal Linear Temporal Logic (LTL)... 8 Studi Terdahulu Yang Terkait... 10 BAHAN DAN METODE
Metode Penelitian... 13 Bahan dan Alat Yang Digunakan... 15 Waktu dan Tempat Penelitian... 16 HASIL DAN PEMBAHASAN
Deskripsi Informal Sistem………... 17
Pra-Spesifikasi Sistem………. 19 Spesifikasi Sistem……….. . 22 Prototipe Mobot………... 24 Verifikasi Sistem……… ………. 29 Rekomendasi Prototipe……….. . 44 SIMPULAN... 45 DAFTAR PUSTAKA ………. 46
ix DAFTAR TABEL
Halaman Tabel 2.1 Penjelasan Tuple MobotEnv……….. . 6 Tabel 2.2 Arti Operator Temporal………... 9 Tabel 4.1 Penjelasan Tuple MobotEnv……….. . 20 Tabel 4.2 Adjancy matriks w(si,sj)……….. 22 Tabel 4.3 Trajectory Yang Baik………. . 22 Tabel 4.4 Formula Proposisi Untuk Trajectory Yang Baik……. 23 Tabel 4.5 Perilaku Roda dan Pengaruh Arah Gerakan………… 24 Tabel 4.6 Penjelasan parameter fungsi SetSteering………. 25 Tabel 4.7 Karakteritik Kerangka dan Sensor………. . 26 Tabel 4.8 Karakteritik Kompas Robot dan
Perbedaan Dengan Kompas Umumnya………. . 26 Tabel 4.9 Karakteristik trajectory t = 0,1,2……… . 29
DAFTAR GAMBAR
Halaman Gambar 2.1 Abstraksi diskrit lingkungan mobot……… 4 Gambar 2.2 Directed Graph dan Adjancency-Matrix……… 5 Gambar 3.1 Kerangka pemikiran pembangunan Formalisasi
Navigasi Mobile Robot……… 13
Gambar 4.1 Bentuk environment mobot KRCI 2006……….. 17 Gambar 4.2 Representasi graf hasil transformasi lingkungan diskrit 21
1 PENDAHULUAN
1.1 Latar Belakang
Penelitian tesis ini dilatarbelakangi oleh kebutuhan rancangan kendali navigasi robot KRCI (Kontes Robot Cerdas Indonesia) 2006 milik tim AERS (Agricultural Engineering Robotic Squad) dari Fakultas Teknik Pertanian (FATETA) Institut Pertanian Bogor (IPB) yang diselenggarakan di Balairung Universitas Indonesia pada bulan Juni 2006.
Dalam kontes KRCI 2006 saat itu, panitia penyelenggara mensyaratkan robot start dari tempat yang telah ditentukan, dapat mengunjungi setiap ruangan tepat 1 (satu) kali, dan kembali ke tempat semula (DIRJEN DIKTI 2006). Robot yang dibuat oleh FATETA IPB saat itu hanya merespon untuk menghindari halangan (obstacle avoidance) tanpa memperhatikan peta lingkungannya (environment map). Akibatnya sangat mungkin robot tidak dapat kembali ke tempat semula, atau masih terdapat ruangan yang belum dikunjungi, atau terdapat ruangan yang dikunjungi lebih dari 1 (satu) kali. Kelemahan ini disebabkan karena tidak adanya formulasi navigasi dalam disain robot tersebut.
Di lain pihak metode formal (formal method) adalah teknik berdasarkan matematika untuk merepresentasikan spesifikasi sistem dengan bahasa spesifikasi tertentu (Supriyo 2003). Dalam metode formal banyak bahasa spesifikasi yang dapat digunakan. Salah satu bahasa spesifikasi tersebut adalah bahasa spesifikasi Linear Temporal Logic (LTL) yang dapat mengekspresikan keterurutan kondisi (conditional sequencing) sesuai urutan waktu (temporal ordering).
Tujuan penelitian ini adalah melakukan spesifikasi sistem secara formal dengan bahasa spesifikasi LTL yang menghasilkan formula proposisi yang merepresentasikan gerakan robot (dalam hal ini robot KRCI). Selanjutnya dilakukan verifikasi pada prototipe yang dibangun dengan menggunakan perangkat lunak MOBOTSIM Versi 1.0.03. Bila hasil verifikasi telah valid, prototipe diharapkan akan memiliki perilaku sesuai dengan persyaratan KRCI tersebut di atas sehingga dapat
direkomendasikan untuk digunakan oleh FATETA IPB pada kontes robot KRCI mendatang.
1.2 T u j u a n
Tujuan penelitian ini adalah membangun suatu prototipe sistem navigasi mobile robot untuk KRCI yang telah dispesifikasikan dengan bahasa spesifikasi LTL dan diverifikasi pada simulasi program prototipe.
1.3 Ruang Lingkup
Spesifikasi sistem secara formal dilakukan dengan menggunakan bahasa spesifikasi LTL (Linear Temporal Logic).
Berdasarkan hasil spesifikasi sistem, verifikasi sistem dilakukan pada prototipe dengan menggunakan perangkat lunak MOBOTSIM Versi 1.0.03.
Sistem dikembangkan sampai pada prototipe sistem yang telah diverifikasi kebenarannya.
1.4 Manfaat Penelitian
Diharapkan prototipe dapat dipergunakan oleh tim robot KRCI FATETA IPB dalam kontes robot KRCI 2007 mendatang atau siapa saja yang berkepentingan untuk menggunakannnya.
2 TINJAUAN PUSTAKA
2.1 Robotik
Robot is a software-controllable mechanical device that uses sensors to guide one or more end-effectors through programmed motions in a workspace inorder to manipulate physical objects (Schilling J Robert
2000), yang artinya “Robot adalah perangkat mekanik yang dapat
dikendalikan oleh perangkat lunak yang menggunakan sensor untuk memandu satu atau lebih efektor melalui gerakan terprogram dalam suatu ruang kerja dalam hal untuk manipulasi obyek fisik.”
Terdapat 2 (dua) kendali robot yaitu high-level controller dan low-
level controler (Shanahan & Witkowski 2000). Low level control
digunakan untuk mendefinisikan aksi primitif dan mengkomunikasikan status sensor kepada high level controller (Shanahan & Witkowski 2000). Dalam high-level planning, terdapat 2 (dua) pendekatan yaitu Robotic- Level Languages, dan Task- Level Languages (Fu 1987). Robotic level
languages memandang rangkaian task sebagai rangkaian gerakan robot,
dan setiap statement program secara kasar berkaitan dengan aksi robot.
Task level languages memandang rangkaian task sebagai rangkaian
positional goal dari obyek lebih lanjut (Fu 1987).
Kendali navigasi robot berada pada high-level controller. Kendali robot high-level digunakan untuk mendefinisikan task (task planner) berdasarkan sensor yang ada, menghasilkan trayek robot (robot
trajectory), dan aksi atau pergerakan robot (robot motion) dari suatu
tempat ke tempat lain.
Mobile robot atau mobot adalah robot yang memiliki mekanisme
penggerak berupa roda (wheel) atau kaki (leg), untuk dapat berpindah tempat dari suatu tempat ke tempat yang lain.
2.2 Transformasi Lingkungan Kontinu ke Diskit
Lingkungan mobot adalah bentuk lingkungan kontinu, sedangkan sistem navigasi yang dispesifikasikan dalam bahasa formal adalah diskrit. Untuk itu perlu transformasi lingkungan kontinu ke bentuk diskrit yang disebut sebagai abstraksi diskrit lingkungan mobot (Fainekos 2005a).
Transformasi lingkungan kontinu ke diskrit dilakukan dengan rectangulasi (pembentukan ruang maya segiempat sebagai representasi status atau daerah atau area yang dibuat berdasarkan kesamaan ciri letak atau posisi penghalang) yang diterapkan pada hallway lingkungan mobot KRCI 2006. Tujuan rectangulasi pada hallway agar gerakan robot dalam
hallway memiliki kepastian posisi dan arah, sehingga mengeliminasi
kesalahan interpretasi posisi mobot terhadap lingkungannya. Gambar 2.1 di bawah ini merupakan gambar hasil abstraksi diskrit lingkungan mobot dalam KRCI 2006 lalu.
5
2.3 Transformasi Lingkungan Diskrit ke Graf (graph)
Graf (graph) adalah struktur data yang memiliki struktur G = {V,E} (Cormen 1990). Di mana struktur tersebut adalah :
V : Himpunan verteks (vertice) yang terdapat dalam graf G E : Himpunan tepi (edges) yang terdapat dalam graf G
Terdapat 2 (dua) bentuk struktur data untuk merepresentasikan graf yaitu sebagai adjacency-list atau adjacency-matrix (Cormen 1990). Untuk menyederhanakan model, maka dalam penelitian ini menggunakan struktur data adjacency-matrix.
Dalam penelitian ini digunakan graf berarah (directed graph) untuk transformasi abstraksi diskrit dengan :
V : Verteks sebagai representasi suatu ruang nyata maupun ruang maya segiempat dalam lingkungan mobot.
E : Tepi berarah (directed edges) berupa anak panah sebagai representasi suatu jalur atau jalan mobot dari suatu ruang yang satu ke ruang yang lain.
Sebagai ilustrasi graf berarah secara umum terdapat dalam Gambar 2.2 di bawah ini. 1 3 4 2 2 5 3 1 4 1 2 3 4 1 0 4 1 ∞ 2 ∞ 0 ∞ 3 3 ∞ 2 0 5 4 ∞ ∞ ∞ 0
Dalam konsep graf berarah secara umum adjacency-matrix berisi bobot tepi. Adjacency-matrix dalam penelitian ini menyatakan jumlah hop
minimal atau jumlah minimal ruang yang harus dilalui untuk menuju ke suatu ruang tujuan. Sebagai contoh dalam Gambar 2.1 untuk menuju ruang s14 dari s0 minimal terdapat 4 hop yaitu s8, s7, s6, dan s14. Akhirnya
dalam penelitian ini graf dimodelkan ke dalam suatu bentuk tuple
Mobotenv = (S, I, F, T, G, P) yang penjelasannya terdapat dalam Tabel 2.1.
Tabel 2.1 Penjelasan Tuple Mobotenv Variabel Keterangan
S Himpunan seluruh status (state) di mana berlaku siЄ S.
I Himpunan status awal (initial state) di mana berlaku I C S.
F Status akhir (finish state) di mana berlaku F C S.
T Himpunan trajectory yang baik (good trajectory) di mana berlaku tiЄ T dan i = 0,1,2, …
ti ditentukan melalui penelusuran (walk) secara heuristik. G Himpunan status tujuan (goal) di mana berlaku G C S dan si
Є G jika dan hanya jika maxvisited(si) = 1, dan bila ¬(siЄ G)
maka maxvisited(si) ≥ 1. Fungsi Maxvisited(.)
mengembalikan nilai yang menyatakan jumlah maksimal status tersebut boleh dikunjungi.
P Himpunan fungsi proposisi di mana berlaku : p(t,s) Є P dan p(t,s) adalah fungsi p : T,G Æ {┬, ┴}, atau dengan kata lain fungsi yang memetakkan T dan G ke suatu nilai logika ┬ (true) atau ┴ (false) dalam himpunan nilai logika, di mana t
Є T dan s Є G.
2.4 Optimal Trajectory vs Good Trajectory
Trajectory mobot adalah representasi rangkaian Hamilton
(Hamilton circuit) dalam graf, artinya suatu siklus (cycle) dalam graf yang dimulai dari suatu verteks awal melakukan kunjungan ke setiap verteks (dalam kasus penelitian ini disebut status atau state) tepat 1 (satu) kali dan kembali ke verteks asal (Siang 2002).
Menentukan trajectory optimal merupakan masalah yang sama dengan Travelling Salesman Problem (TSP) yaitu menemukan rangkaian Hamilton (Hamilton circuit) yang memiliki total bobot minimum pada sebuah graf terhubung (Utdirartatmo 1992). Jumlah seluruh rangkaian
7
Hamilton yang ada dalam graf tersebut adalah sebanyak permutasi dari verteks-verteks pembentuk rangkaian Hamilton, kecuali untuk verteks pertama dan terakhir.
Dapat disimpulkan bahwa untuk menemukan trajectory optimal membutuhkan waktu komputasi yang lama, karena harus mencoba seluruh kemungkinan (permutasi) yang ada dalam graf tersebut (Utdirartatmo 1992). Hal ini dapat ditemukan dengan pendekatan heuristik, yaitu pendekatan yang tidak menjamin optimalitas, tetapi berdasarkan aturan yang baik untuk mencari solusi yang baik (Taha 1987).
Dua manfaat dalam pendekatan heuristik (Taha 1987) yaitu :
• Pendekatan heuristik memerlukan komputasi lebih sedikit dibandingkan dengan algorithma pasti (exact algorithm). Untuk itu pada model dengan skala besar, pendekatan heuristik dapat mempercepat proses untuk mencari solusi yang
diharapkan optimal.
• Pendekatan heuristik akan menghasilkan solusi yang baik
(good solution) terhadap masalah, walaupun tidak menjamin
menemukan solusi optimal.
Kembali pada kasus graf setelah terbentuk sesuai dengan tuple di atas, trajectory yang baik ditentukan melalui pendekatan heuristik. Mulai dari status awal (s0), pendekatan heuristik dilakukan dengan
mengunjungi status tujuan (si Є G) terdekat yang terhubung (adjacency)
dengan status sekarang (present state) dan belum dikunjungi (unvisited), demikian seterusnya berturut-turut.
2.5 Metode Formal
Dalam buku Software Engineering Practitional Approach 3-rd Edition (Pressman 1992), definisi metode formal menurut Enclycopedia of Software Engineering adalah sebagai berikut :
Metode formal yang digunakan di dalam pengembangan sistem komputer adalah teknik-teknik berdasarkan matematis untuk
menggambarkan properti system. Metode formal semacam itu memberikan kerangka kerja di mana manusia dapat menentukan, mengembangkan dan memverifikasi sistem secara matematis ketimbang secara ad hoc
Suatu metode dikatakan formal bila metode itu memiliki dasar matematis yang secara khusus diberikan oleh suatu bahasa spesifikasi formal. Basis ini memberikan alat yang dengan teliti menentukan pemikiran seperti konsistensi dan kelengkapan, dan yang lebih penting, spesifikasi, implementasi, dan kebenaran.
Metode formal dengan pendekatan ke arah matematis memiliki daya tarik bagi beberapa perekayasa perangkat lunak, salah satunya adalah ambiguitas dapat dikurangi. Berkurangnya ambiguitas dilakukan dengan mendefinisikan sintaks formal pada bahasa spesifikasi yang memungkinkan persyaratan atau desain diinterpretasikan hanya dengan satu cara. Konsistensi dilakukan dengan cara suatu fakta yang dinyatakan di dalam suatu tempat dalam suatu spesifikasi, tidak boleh dikontradiksikan dengan yang ada di tempat lain. Artinya terdapat suatu fakta dapat dipetakan (dengan aturan inferensi) ke dalam statement selanjutnya dalam spesifikasi tersebut.
2.6 Bahasa Formal Linear Temporal Logic (LTL)
Dalam metode formal banyak bahasa formal yang dapat digunakan sebagai bahasa spesifikasi antara lain seperti CSP, LARCH, VDM, dan Spesifikasi-Z (Pressman 1992). Dalam penelitian ini digunakan bahasa spesifikasi formal Linear Temporal Logic (LTL) (Fainekos 2005a), karena kemampuannya mendefinisikan keterurutan status dan aksi secara linear.
Sejarah Temporal Logic awalnya dirancang oleh philosopher untuk mempelajari bagaimana waktu digunakan dalam natural language. Lalu dibawa ke dalam computer science (ilmu komputer) oleh Pnueli dalam 19th
Anual Symposium on Fondation on Computer Science dengan tulisannya
9
LTL terdiri dari logika proposisi standar dengan penambahan operator temporal seperti eventually (◊), always (), next (O), dan until (U) (Fainekos 2005a). Arti operator temporal dijelaskan dalam Tabel 2.2 di bawah ini :
Tabel 2.2 : Arti Operator Temporal Operator
Temporal
Contoh Arti
next (O) Op Selanjutnya : Pada satuan waktu berikutnya akan terjadi proposisi p bernilai benar
always () p Selalu : Untuk saat ini dan di waktu mendatang proposisi p selalu bernilai benar
eventually (◊) ◊p Kadang-kadang atau pada akhirnya : Pada akhirnya di waktu mendatang entah kapan kepastian waktunya, akan terjadi proposisi p bernilai benar
until (U) pUq Hingga : Untuk saat ini dan di waktu mendatang proposisi p bernilai benar hingga ditemukan proposisi q bernilai benar
Bila Πi maupun oi adalah proposisi yang bernilai benar jika mobot
berada pada status i, maka beberapa contoh ekspresi penting dalam navigasi robotika adalah :
• Mencapai tujuan sambil menghindari penghalang (reach
goals while avoiding obstacles) diekspresikan dengan
formula ¬(o1 v o2 v ... v on) U Π, yang artinya untuk terjadi Π akan bernilai benar, dan hingga Π tercapai, kita harus menghindari penghalang oi di mana i = 1,2,...,n.
• Keterurutan (sequencing) diekspresikan dengan formula
◊(Π1 ^ ◊(Π2 ^ ◊Π3)) yang artinya mengunjungi secara berturut-turut Π1, Π2, dan Π3.
• Pelingkupan (coverage) diekspresikan dengan formula ◊Π1 ^ ◊Π2 ^ ◊Π3 ^ ... ^ ◊Πn yang artinya mensyaratkan robot untuk mencapai semua wilayah Πi di mana i = 1,2,...,n dalam urutan apapun.
Büchi Automata adalah pengembangan lanjut dari teori otomata
dan sering digunakan sebagai model checking atau verifikasi spesifikasi sistem dalam bahasa spesifikasi LTL. Bila dalam teori otomata memiliki tuple A = (Q,Σ,δ,I,F) dengan F adalah himpunan status yang dapat diterima, maka BüchiAutomata memiliki tuple A = (Q,Σ,δ,I,FT) di mana :
Q : Himpunan status
Σ : Finite Alphabet
δ : Relasi Transisi
I : Himpunan status awal (initial state)
FT : Superset dari himpunan status yang dapat diterima (acceptance state) di mana FT = (F1, F2, F3, ... Fk) dengan Fi = himpunan
status yang dapat diterima otomata Büchi.
Eksekusi p dapat diterima bila Inf(p) ∩ Fi≠ Ø untuk setiap 1 < i <
k, dimana Inf(p) adalah fungsi yang mengembalikan rangkaian urutan status dari eksekusi p.
Sehingga dapat disimpulkan bahwa otomata Büchi dapat mendefinisikan lebih dari satu acceptance state F.
2.7 Studi Terdahulu Yang Terkait
a. Navigasi Robot dengan Kalkulus Kejadian (Event Calculus).
Penelitian metode formal untuk navigasi robot yang dilakukan oleh Shanahan (2000) menerapkan kalkulus kejadian
(Event Calculus). Konsep dasarnya menggunakan 2 buah program
utama yaitu untuk navigasi dan deskripsi peta (map). Pada program navigasi diterapkan model komputasi untuk controller
(pengendali) yaitu berupa siklus sense-plan-action. Untuk perencanaan (planning) dan pembacaan sensor (Sensor Data Assimilation), Shanahan menggunakan teori pencekalan (abductive
theorem) untuk mewujudkan tugas pencekalan (abductive task)
dengan menerapkan kalkulus kejadian. Pada proses pencekalan dari sensor data menghasilkan pengetahuan status (apakah pintu ruangan robot terbuka atau tertutup) selama robot berada dalam ruangan. Hasilnya adalah pengetahuan mengenai layout ruangan dan jalan tembus (doorway) bagi robot.
11
b. Navigasi Robot dengan Linear Temporal Logic (LTL)
Penelitian navigasi robot dengan bahasa spesifikasi Linear
Temporal Logic (LTL) telah dilakukan oleh Fainekos, Hadas, dan
Pappas pada tahun 2005. Fainekos, Hadas, dan Pappas (2005) dalam sebuah artikel jurnalnya yang berjudul “Temporal Logic
Motion Planning for Mobile Robots” mengungkapkan
pemanfaatan Linear Temporal Logic (LTL) pada formalisasi
motion planning untuk mobile robot.
Dalam penelitiannya Fainekos menggunakan dalam 3 (tiga) langkah untuk menghasilkan robot trajectory yaitu: mendefinisikan abstraksi diskrit pergerakan robot, melakukan verifikasi temporal
logic planning menggunakan model checking, dan melakukan
transformasi rencana diskrit ke dalam bentuk terapan lingkungan kontinu (continuous implementations of discrete plan) (Fainekos 2005a).
Untuk abstraksi diskrit-nya Fainekos melakukan triangulasi (pembentukan ruang maya segitiga sebagai representasi status) ruang mobot, yang mana sisi setiap segitiga bersinggungan dengan sisi segitiga lainnya. Selanjutnya dari abstraksi diskrit dibentuk status diskrit dari status kontinu dengan menggunakan fungsi T : P
Æ Q di mana P adalah status ruang kontinu dan Q adalah status ruang diskrit. Selanjutnya temporal logic planning melakukan plan mobot trajectory berupa rangkaian status yang harus dilalui.
Model checking atau sebagai verifikasi spesifikasi sistem secara
formal dilakukan dengan Büchi Automata yang memeriksa apakah
trajectory tersebut acceptable untuk diimplementasikan dalam
ruang kontinu. Untuk implementasi ruang kontinu dari perencanaan diskrit, Fainekos menerapkan invers dari fungsi T: PÆQ tersebut di atas.
Sedangkan yang membedakan dalam penelitian ini, untuk alasan kemudahan dan kesederhanaan adalah :
• Abstraksi diskrit dari ruang kontinu tidak dilakukan triangulasi seperti dalam penelitian Fainekos, melainkan rectangulasi (pembentukan ruang maya segiempat sebagai representasi status) yang diterapkan pada hallway mobot KRCI 2006.
• Verifikasi spesifikasi sistem tidak dilakukan dengan otomata Büchi melainkan dengan mengamati secara langsung pada simulator mobile robot saat program prototipe mobile robot dieksekusi.
3
BAHAN DAN METODE
3.1 Metode Penelitian
Dalam penelitian ini sistem terlebih dahulu dideskripsikan secara informal, selanjutnya spesifikasi sistem dibuat dengan bahasa spesifikasi Linear Temporal Logic (LTL), dan akhirnya dilaksanakan verifikasi sistem yang bertujuan untuk membuktikan kebenaran sistem (system correctness). Verifikasi sistem dilakukan melalui eksekusi prototipe yang dibuat dengan perangkat lunak MOBOTSIM Versi 1.0.03. Gambar 3.1 mengilustrasikan kerangka pemikiran dan dapat dijelaskan sebagai berikut:
Gambar 3.1 Kerangka pemikiran pembangunan Formalisasi Navigasi Mobile Robot. Mulai
Deskripsi Informal Sistem
Spesifikasi Sistem
Verifikasi Sistem
Hasil verifikasi ?
System masih salah atau invalid
Rekomendasi Prototipe .
Sistem benar atau valid
a. Deskripsi Informal Sistem.
Deskripsi informal sistem dibuat untuk memperoleh deskripsi umum sistem secara informal dengan bahasa alami (natural language) melalui akusisi pengetahuan berupa telaah sebagai berikut :
Telaah Pustaka
Telaah pustaka dilakukan terhadap pustaka yang berkaitan dengan konsep robotika, abstraksi diskrit lingkungan robot, bahasa spesifikasi LTL, dan pemrograman prototipe dengan menggunakan MOBOTSIM.
Telaah Persyaratan Sistem (system requirement) Navigasi
KRCI 2006
Telaah persyaratan sistem (system requirement) navigasi KRCI 2006 yang dimaksud adalah telaah peta lingkungan robot (map environment) dan persyaratan perilaku robot yang diharapkan dalam KRCI.
Telaah peta lingkungan robot (map environment) bertujuan mengidentifikasi navigasi pergerakan mobile robot dengan cara transformasi peta (map) lingkungan robot kedalam bentuk graf (graph).
Pembangunan Asumsi
Untuk menyederhanakan deskripsi sistem secara informal pembangunan asumsi dibuat seperlunya, dengan demikian akan memudahkan pula dalam menyusun spesifikasi sistem dengan bahasa formal.
b. Spesifikasi Sistem.
Spesifikasi sistem dibuat bertujuan untuk membuat rumusan navigasi pergerakan mobile robot dengan menggunakan bahasa spesifikasi Linear Temporal Logic (LTL). Bahasa
15
spesifikasi ini dipilih karena mampu mendeskripsikan keterurutan kondisi tujuan (conditional sequencing of goals) (Fainekos 2005b).
c. Verifikasi Sistem.
Berdasarkan spesifikasi sistem di atas, verifikasi sistem dilakukan dengan mengamati hasil eksekusi program prototipe. Bila hasil verifikasi sistem masih salah (invalid), maka perlu dikoreksi kembali spesifikasi sistem dan program prototipenya. Demikian seterusnya dilakukan hingga tercapai hasil verifikasi sistem yang benar (valid).
Adapun perangkat lunak pembangunan prototipe yang digunakan adalah MOBOTSIM Versi 1.0.03 dari Mobotsoft yang terdapat dalam situs www.mobotsoft.com dan diciptakan oleh Gonzalo Rondriquez Mir dengan bahasa pemrogramannya yang telah terintegrasi dalam MOBOTSIM adalah Sax Basic Versi 6.4.50/32 dari Polar Engineering. Perangkat lunak pembangunan prototipe ini dijalankan dengan menggunakan komputer dengan prosesor minimal setara Intel Pentium III, memori 128 Mbytes, Harddisk 10 Mbytes, dan sistem operasi minimal Microsoft Windows 98 (Tm).
d. Rekomendasi Prototipe.
Penelitian ini dilakukan hanya sampai pada pembangunan prototipe yang telah diverifikasi, untuk itu bila hasil verifikasi sudah benar (valid) maka penelitian berakhir, selanjutnya prototipe dapat direkomendasikan untuk diterapkan pada Robot KRCI FATETA IPB 2007 mendatang dan atau sesudahnya.
3.2 Bahan dan Alat yang Digunakan
Bahan yang digunakan dalam penelitian ini adalah beberapa persyaratan dalam KRCI 2006 penting yang berkaitan dengan navigasi yang harus dipenuhi oleh sebuah sistem robot, antara lain berupa peta lingkungan robot (mobile robot environment) dan persyaratan yang
menyatakan bahwa robot harus dapat mengunjungi setiap ruangan tepat 1 (satu) kali.
Sedangkan alat yang digunakan adalah perangkat lunak MOBOTSIM Versi 1.0.03 dari Mobotsoft yang terdapat dalam situs www.mobotsoft.com dan diciptakan oleh Gonzalo Rondriquez Mir dengan