Pencarian Trayektori Terpendek Model Formal Sistem Perencanaan Gerak Mobile Robot

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