Sintaks Linear Temporal Logic

2 Algoritme Seidel Narkhede Manocha 1995 ini sering disebut Seidel’s Algorithm melalui tiga langkah sebagai berikut. • Dekomposisi poligon ke dalam trapezoid- trapezoid trapezoidation. • Dekomposisi trapezoid-trapezoid pada langkah sebelumnya ke dalam poligon- poligon monoton monotone polygon. • Triangulasi poligon-poligon monoton pada langkah 2. Poligon-poligon monoton dibagi menjadi segitiga-segitiga. Linear Temporal Logic Linear temporal logic LTL merupakan sebuah logika untuk membicarakan mengenai sequence yang tak terbatas. Masing-masing elemen dalam sequence tersebut bersesuaian terhadap sebuah proposisi Mukund 1997. Linear temporal logic dirancang untuk mempelajari bagaimana waktu digunakan dalam argumen-argumen berbahasa natural. Linear temporal logic dibawa ke dalam ilmu komputer oleh Pnueli.

A. Sintaks Linear Temporal Logic

Himpunan formula-formula dalam linear temporal logic Φ dibangun oleh : • Himpunan berhingga proposisi atomik { } n p p p ,..., , 1 = ∑ . • Konstanta true T dan konstanta false ⊥ . • Penghubung logika atau operator boolean ¬ negasi dan ∨ atau. Penghubung logika lain dapat dinyatakan dalam dua operator ini. • Modality next O, until U, eventually ◊ , dan henceforth . • Formula-formula α , β di Φ . B. Semantik Linear Temporal Logic Formula linear temporal logic diinterpretasikan dalam sebuah model waktu diskret atau linear Artale 1997. Model merupakan sebuah fungsi M : → 2 ∑ . Fungsi M menjelaskan bagaimana nilai kebenaran proposisi-proposisi atomik berubah terhadap waktu Mukund 1997. M, i |= p dibaca “p true pada saat waktu i di model M”. Semantik beberapa formula dapat didefinisikan sebagai berikut: • M, i |= p, dengan p Σ , jika dan hanya jika p Mi. • M, i |= α ¬ jika dan hanya jika M, i |≠ α . • M, i |= β α ∨ jika dan hanya jika M, i |= α or M, i |= β . • M, i |= O α jika dan hanya jika M, i+1 |= α . • M, i |= α U β jika dan hanya jika ada i k ≥ sedemikian sehingga M, k |= β dan untuk semua j sedemikian sehingga i ≤ j k, M, j |= α . Suatu formula α dikatakan satisfiable jika ada sebuah model M dan waktu i bagi α M, i |= α . Suatu formula α dikatakan valid jika M, i |= α jika dan hanya jika ✁ M, ✁ i . M, i |= α . Penjelasan lebih lengkap dapat dilihat di dalam Mukund 1997. NuSMV NuSMV merupakan sebuah model checker yang berawal dari membangun kembali, mengimplementasi kembali, dan memperluas CMU SMV. Fitur-fitur utama NuSMV adalah sebagai berikut : • Functionalities NuSMV memperkenankan representasi dari synchronous finite state system dan asynchronous finite state system dan juga memperkenankan untuk menganalisis spesifikasi sistem yang diekspresikan dalam computation tree logic CTL dan linear temporal logic LTL. • Quality of implementation NuSMV ditulisdibuat dengan menggunakan ANSI C, POSIX, dan telah di- debug dengan Purify untuk mendeteksi kebocoran memory. NuSMV menggunakan BDD Binary Decision Diagrams package yang dikembangkan oleh Universitas Colorado. Sintaks dari program NuSMV adalah sebagai berikut: program :: module_list module_list :: module | module_list module Program NuSMV, paling sedikit mengandung satu module, yaitu module main . Penjelasan NuSMV secara lengkap dapat dilihat pada Cavada et al. 2005. 3 METODE PENELITIAN Formulasi Masalah Masalah-masalah yang dihadapi oleh mobile robot dikumpulkan. Masalah-masalah tersebut diformulasikan ke dalam bahasa formal linear temporal logic. Strategi Penyelesaian Masalah Strategi disusun dalam memenuhi safety requirement yang diinginkan. Strategi yang digunakan merupakan pendekatan-pendekatan yang ditawarkan beberapa literatur mengenai robot motion planning, computational geometry, dan literatur terkait lainnya. Strategi yang dipakai adalah sebagai berikut: A. Menghindari dinding penghalang. Strategi yang digunakan agar robot tidak menabrak dinding-dinding penghalang. B. Abstraksi diskret. Mendekomposisi lingkungan robot menjadi bentuk-bentuk yang lebih sederhana. Kemudian diabstraksikan ke dalam finite transition system. C. Pencarian trayektori terpendek. Pembobotan dilakukan pada finite transition system. Bobot ini didapat dengan menghitung jarak antara titik kesetimbangan satu state dengan state lainnya. Kemudian dicari dengan trayektori terpendek. D. Spesifikasi sistem perencanaan gerak mobile robot. Spesifikasi secara informal dibuat agar memenuhi safety requirement. Spesifikasi ini dibuat berdasarkan finite transition system hasil abstraksi dan rute terpendek yang didapat. E. Implementasi dengan NuSMV. Spesifikasi yang didapat diimplementasi ke dalam finite state machine dalam program NuSMV. Verifikasi Model Menggunakan NuSMV Model yang telah dibuat diverifikasi dengan menggunakan tool model checking NuSMV 2.4.3. HASIL DAN PEMBAHASAN Formulasi Masalah Masalah umum perencanaan gerak robot merupakan masalah yang sulit Overmars et al. 2008. Misalnya, lingkungan robot yang selalu berubah. Untuk menyederhanakan permasalahan, penelitian ini mengasumsikan bahwa lingkungan robot berupa planar berbentuk poligon, yang terdiri dari dinding- dinding penghalang poligon. Robot sendiri berbentuk planar poligon. Pada penelitian ini, lingkungan robot merupakan lingkungan yang statis. Letak dinding-dinding penghalang tidak berubah, tidak ada penghalang yang berjalan, dan bentuk penghalang pun tidak berubah. Penelitian ini mengambil lingkungan robot KRCI fire fighter 2007 sebagai lingkungan robot. Gambar lingkungan robot dapat dilihat pada Gambar 1. Gambar 1 Lingkungan robot KRCI fire fighter 2007. Sistem pergerakan robot diekspresikan oleh 2 2 R R ⊆ ∈ ⊆ ∈ = P t u P t x t u t x . t x merupakan posisi robot pada waktu t dan t u merupakan input kontrol Fainekos et al. 2005. Perencanaan gerak robot pada penelitian ini menghasilkan trayektori yang memenuhi safety requirement goaltujuan yang diinginkan. Safety requierement ini diformulakan dalam linear temporal logic LTL dan dibangun oleh proposisi-proposisi atomik berhingga atau observable yang memberi label area-area yang menjadi ketertarikan di dalam lingkungan seperti ruang-ruang dan penghalang-penghalang. 4 Misalkan P merupakan himpunan posisi- posisi robot dan L merupakan himpunan proposisi-proposisi yang menyatakan apakah robot telah sampai pada ruangan tertentu. Fungsi observasi yang memetakan daerah- daerah pada Gambar 1 yang kontinu menjadi proposisi-proposisi atomik L l i ∈ yang berhingga diekspresikan oleh L P h C → : . Hasil observasi Gambar 1 dapat dilihat pada Gambar 2. Pada Gambar 2, l 1 , l 2 , l 3 , dan l 4 merupakan proposisi-proposisi atomik yang menyatakan robot telah mengunjungi ruang- ruang R1, R2, R3, dan R4, ruang-ruang yang menjadi perhatian dalam penelitian ini. Lambang H merupakan posisi awal dan akhir robot. Gambar 2 Proposisi-proposisi atomik ruang-ruang observasi pada lingkungan robot. Safety requirement yang ingin dicapai pada penelitian ini secara informal dapat dideskripsikan sebagai berikut : • Perjalanan robot dimulai dan diakhiri di daerah berlambang H. • Robot mengunjungi setiap ruangan. Robot akan mengunjungi ruang R1, R2, R3, dan R4. Dapat juga dikatakan bahwa proposisi-proposisi atomik l 1 , l 2 , l 3 , dan l 4 bernilai benar. • Robot menghindar dinding-dinding penghalang. Robot tidak boleh menabrak dinding penghalang. Secara formal, safety requirement tersebut diformulakan dengan linear temporal logic. Safety requirement tersebut dapat dituliskan sebagai berikut α =  ◊ H ∧ ◊ ◊ l 1 ∧ ◊ l 2 ∧ ◊ l 3 ∧ ◊ l 4 ∧ ◊ H. Maksud formula α adalah robot memulai perjalanan pada posisi H kemudian mengunjungi ruang l 1 , l 2 , l 3 , dan l 4 dengan urutan bebas. Robot mengakhiri perjalanan dengan kembali ke posisi H. Strategi Penyelesaian Masalah Pada penelitian ini, strategi yang digunakan untuk memenuhi safety requirement pada subbab sebelumnya merupakan pendekatan yang ditawarkan di dalam Overmars et al. 2008 dan Fainekos et al. 2005.

A. Menghindari Dinding Penghalang