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