5
B. Abstraksi Diskret
Ruang robot free configuration space yang
kompleks didekomposisi
menjadi daerah-daerah yang lebih sederhana. Dengan
menggunakan algoritme triangulasi Seidel, ruang robot didekomposisi menjadi segitiga-
segitiga. Segitiga-segitiga ini disebut juga equivalence classes. Segitiga-segitiga hasil
dekomposisi menunjukkan state-state yang akan menjadi trayektori robot. Hasil
dekomposisi free configuration space menjadi segitiga-segitiga dapat dilihat pada Gambar 3.
State-state
posisi robot
dipetakan ke
himpunan berhingga equivalence classes oleh
S P
K →
:
. Kemudian
pergerakan robot
diabstraksikan ke dalam finite transition system
, ,
,
F F
h s
S F
→ =
.
S
merupakan himpunan
berhingga state,
S s
∈
merupakan initial state. Relasi transisi
S S
F
× ⊆
→
didefinisikan sebagai
3 2
s s
F
→
jika dan hanya jika segitiga- segitiga berlabel
3 ,
2 s
s
memiliki segmen garis bersama Fainekos et al. 2005.
Transisi-transisi dari satu state ke state yang lain dapat dilihat pada Lampiran 1.
C. Pencarian Trayektori Terpendek
Transisi-transisi dari state yang satu ke state lainnya diberi bobot. Bobot-bobot
tersebut didapatkan dengan menghitung jarak antara titik kesetimbangan dari state yang satu
dengan state lainnya. Kemudian dihitung jarak terdekat dari satu ruangan ke ruangan
lainnya. Sebagai contoh, jarak dari ruang R
1
ke ruang R
2
adalah 14.1 cm, yaitu penjumlahan bobot-bobot dari state-state s1-
s2-s3-s4-s5-s21-s20-s15-s16-s17-s18-s19. Jarak antar ruang dapat dilihat pada Tabel 1.
H R
1
R
2
R
3
R
4
H -
13.1 14.9
23.6 22.9
R
1
13.1 -
14.1 25.7
25 R
2
14.9 14.1
- 20.4
19.7 R
3
23.6 25.7
20.4 -
14.5 R
4
22.9 25
19.7 14.5
- Berdasarkan Tabel 1 dicari trayektori
terpendek. Dalam penelitian ini trayektori terpendek dihitung secara manual. Trayektori
terpendek yang didapat adalah H - R
1
- R
2
- R
4
- R
3
- H. D.
Spesifikasi sistem perencanaan gerak mobile robot
Berdasarkan finite transition system hasil abstraksi diskret, spesifikasi-spesifikasi sistem
dibuat. Spesifikasi-spesifikasi tersebut secara informal antara lain:
1. Posisi awal robot di s9 daerah H.
2. Jika posisi robot di s1 maka R
1
telah terkunjungi.
3. Jika posisi robot di s19 maka R
2
telah terkunjungi.
4. Jika posisi robot di s34 maka R
3
telah terkunjungi.
5. Jika posisi robot di s29 maka R
4
telah terkunjungi.
6. Jika posisi robot di s9 maka H telah
terkunjungi. 7.
Jika posisi robot di s9 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi
maka posisi robot berikutnya adalah s8. Jika posisi robot di s9 dan R
1
telah terkunjungi dan R
2
telah terkunjungi dan R
3
telah terkunjungi dan R
4
telah terkunjungi maka selesai, selainnya
posisi robot berikutnya adalah s10. 8.
Jika posisi robot di s8 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s7,
selainnya posisi
robot berikutnya adalah s9.
9. Jika posisi robot di s7 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s6,
selainnya posisi
robot berikutnya adalah s8.
10. Jika posisi robot di s6 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s5,
selainnya posisi
robot berikutnya adalah s7.
11. Jika posisi robot di s5 dan R
1
belum terkunjungi maka posisi robot berikutnya
adalah s4. Jika posisi robot di s5 dan R
2
belum terkunjungi
atau R
3
belum terkunjungi atau R
4
belum terkunjungi Tabel 1 Jarak antar ruangan
6 maka posisi robot berikutnya adalah s21,
selainnya posisi robot berikutnnya adalah s6.
12. Jika posisi robot di s4 dan R
1
belum terkunjungi maka posisi robot berikutnya
adalah s3,
selainnya posisi
robot berikutnya adalah s5.
13. Jika posisi robot di s3 dan R
1
belum terkunjungi maka posisi robot berikutnya
adalah s2,
selainnya posisi
robot berikutnya adalah s4.
14. Jika posisi robot di s2 dan R
1
belum terkunjungi maka posisi robot berikutnya
adalah s1,
selainnya posisi
robot berikutnya adalah s3.
15. Jika posisi robot di s1 maka posisi robot
berikutnya adalah s2. 16.
Jika posisi robot di s21 dan R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s20, selainnya
posisi robot berikutnya adalah s5. 17.
Jika posisi robot di s20 dan R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s15, selainnya
posisi robot berikutnya adalah s21. 18.
Jika posisi robot di s15 dan R
2
belum terkunjungi maka posisi robot berikutnya
adalah s16. Jika posisi robot di s15 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s14, selainnya posisi robot berikutnya adalah s20.
19. Jika posisi robot di s16 dan R
2
belum terkunjungi maka posisi robot berikutnya
adalah s17, selainnya posisi robot berikutnya adalah s15.
20. Jika posisi robot di s17 dan R
2
belum terkunjungi maka posisi robot berikutnya
adalah s18, selainnya posisi robot berikutnya adalah s16.
21. Jika posisi robot di s18 dan R
2
belum terkunjungi maka posisi robot berikutnya
adalah s19, selainnya posisi robot berikutnya adalah s17.
22. Jika posisi robot di s19 maka posisi robot
berikutnya adalah s18. 23.
Jika posisi robot di s14 dan R
1
belum terkunjungi atau R
2
belum terkunjungi maka posisi robot berikutnya adalah s15.
Jika posisi robot di s14 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s13,
selainnya posisi robot berikutnya adalah s15.
24. Jika posisi robot di s13 dan R
1
belum terkunjungi atau R
2
belum terkunjungi maka posisi robot berikutnya adalah s14.
Jika posisi robot di s13 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s22,
selainnya posisi robot berikutnya adalah s12.
25. Jika posisi robot di s22 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s23,
selainnya posisi robot berikutnya adalah s13.
26. Jika posisi robot di s23 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s24,
selainnya posisi robot berikutnya adalah s22.
27. Jika posisi robot di s24 dan R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya adalah s25,
selainnya posisi robot berikutnya adalah s23.
28. Jika posisi robot di s25 dan R
4
belum terkunjungi maka posisi robot berikutnya
adalah s26. Jika posisi robot di s25 dan R
3
belum terkunjungi maka posisi robot berikutnya adalah s30. Jika posisi robot
di s25 dan R
4
telah terkunjungi dan R
3
telah terkunjungi maka posisi robot berikutnya adalah s24.
29. Jika posisi robot di s26 dan R
4
belum terkunjungi maka posisi robot berikutnya
adalah s27, selainnya posisi robot berikutnya adalah s25.
30. Jika posisi robot di s27 dan R
4
belum terkunjungi maka posisi robot berikutnya
adalah s28, selainnya posisi robot berikutnya adalah s26.
31. Jika posisi robot di s28 dan R
4
belum terkunjungi maka posisi robot berikutnya
adalah s29, selainnya posisi robot berikutnya adalah s27.
32. Jika posisi robot di s29 maka posisi robot
berikutnya adalah s28. 33.
Jika posisi robot di s30 dan R
3
belum terkunjungi maka posisi robot berikutnya
adalah s31, selainnya posisi robot berikutnya adalah s25.
7 34.
Jika posisi robot di s31 dan R
3
belum terkunjungi maka posisi robot berikutnya
adalah s32, selainnya posisi robot berikutnya adalah s30.
35. Jika posisi robot di s32 dan R
3
belum terkunjungi maka posisi robot berikutnya
adalah s33, selainnya posisi robot berikutnya adalah s31.
36. Jika posisi robot di s33 dan R
3
belum terkunjungi maka posisi robot berikutnya
adalah s34, selainnya posisi robot berikutnya adalah s32.
37. Jika posisi robot di s34 maka posisi robot
berikutnya adalah s33. 38.
Jika posisi robot di s12 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s13, selainnya posisi robot berikutnya adalah s11.
39. Jika posisi robot di s11 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s12, selainnya posisi robot berikutnya adalah s10.
40. Jika posisi robot di s10 dan R
1
belum terkunjungi atau R
2
belum terkunjungi atau R
3
belum terkunjungi atau R
4
belum terkunjungi maka posisi robot berikutnya
adalah s11, selainnya posisi robot berikutnya adalah s9.
E. Implementasi dalam NuSMV