Formalisasi Navigasi Mobile Robot (Studi Kasus Robot KRCI FATETA IPB 2006)

FORMALISASI NAVIGASI MOBILE ROBOT
(STUDI KASUS ROBOT KRCI FATETA IPB 2006)

DIDIT WIDIYANTO

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2007

PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis Formalisasi Navigasi Mobile
Robot (Studi Kasus Robot KRCI FATETA IPB 2006), adalah karya saya sendiri
dengan arahan Komisi Pembimbing dan belum pernah diajukan dalam bentuk
apapun kepada perguruan tinggi manapun.

Sumber informasi yang berasal atau

dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain
telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian

akhir tesis ini.

Bogor, M e i 2007

Didit Widiyanto
NIM G651040024

ABSTRAK
DIDIT WIDIYANTO. Formalisasi Navigasi Mobile Robot (Studi Kasus Robot
KRCI FATETA IPB 2006). Dibimbing oleh PRAPTO TRI SUPRIYO dan
WISNU ANANTA KUSUMA.
Penelitian tesis ini dilatarbelakangi oleh kebutuhan rancangan kendali
navigasi robot pada robot KRCI (Kontes Robot Cerdas Indonesia) 2006 milik
Team AERS (Agricultural Engineering Robotic Squad) dari Fakultas Teknik
Pertanian (FATETA) Institut Pertanian Bogor (IPB) yang diselenggarakan di
Balairung Universitas Indonesia di Depok pada bulan Juni 2006. Kendala team
robot yang saat itu adalah tidak memiliki konsep yang baik dalam
memformulasikan sistem navigasi robotnya. Robot yang dibuat saat itu hanya
merespon


untuk

menghindari

halangan

(obstacle

memperhatikan tata ruang lingkungannya (environment map).

avoidance)

tanpa

Akibatnya sangat

mungkin robot tidak dapat kembali ke tempat semula, atau terdapat ruangan yang
belum dikunjungi, atau terdapat ruangan yang dikunjungi lebih dari 1 (satu) kali.
Kelemahan ini disebabkan tidak adanya formulasi navigasi dalam disain robot
tersebut.

Inspirasi penelitian ini adalah mencoba menemukan formulasi sistem
navigasi robot yang akurat, dengan terlebih dahulu mendeskripsikan sistem secara
informal, merumuskan spesifikasi sistem secara formal dengan menggunakan
bahasa spesifikasi Linear Temporal Logic (LTL), melakukan verifikasi sistem
dengan menggunakan perangkat lunak pembanguan prototipe MOBOTSIM Versi
1.0.03, dan akhirnya menghasilkan sebuah prototipe sistem navigasi mobile robot
yang dapat direkomendasikan untuk dipergunakan pada KRCI 2007 atau
sesudahnya.
Akhirnya hasil penelitian ini diharapkan dapat membuktikan bahwa
melalui eksperimen pada prototipe, bahasa spesifikasi formal LTL dapat
digunakan untuk merumuskan sistem navigasi mobile robot pada studi kasus
KRCI 2006 dengan baik.
Kata Kunci : navigation control, Linear Temporal Logic (LTL), informal system
verification, system specification, system verification.

© Hak Cipta milik Institut Pertanian Bogor, tahun 2007
Hak cipta dilindungi
Dilarang mengutip dan memperbanyak tanpa izin tertulis dari
Insititut Pertanian Bogor, sebagian atau seluruhnya dalam
bentuk apapun, baik cetak, fotokopi, mikrofilm, dan sebagainya


FORMALISASI NAVIGASI MOBILE ROBOT
(STUDI KASUS ROBOT KRCI FATETA IPB 2006 )

DIDIT WIDIYANTO

Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Sains pada
Program Studi Ilmu Komputer

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2007

Judul Tesis
Nama
NIM


: Formalisasi Navigasi Mobile Robot
: (Studi Kasus Robot KRCI FATETA IPB 2006)
: Didit Widiyanto
: G651040024

Disetujui
Komisi Pembimbing

Drs. Prapto Tri Supriyo, M.Kom.
Ketua

Wisnu Ananta Kusuma, S.T, M.T.
Anggota

Diketahui
Ketua Program Studi Ilmu Komputer

Dekan Sekolah Pascasarjana

Dr. Sugi Guritman


Prof. Dr. Ir. Khairil A. Notodiputro, MS.

Tanggal Ujian : 5 Mei 2007

Tanggal Lulus :

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

RIWAYAT HIDUP
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

Penerapannya).

dengan

tema

makalah

Robot


(Perkembangan

dan

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.

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

viii

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

Tabel 4.9

Perbedaan Dengan Kompas Umumnya……………. .

26

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

ix

FORMALISASI NAVIGASI MOBILE ROBOT
(STUDI KASUS ROBOT KRCI FATETA IPB 2006)

DIDIT WIDIYANTO

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2007

PERNYATAAN MENGENAI TESIS DAN
SUMBER INFORMASI
Dengan ini saya menyatakan bahwa tesis Formalisasi Navigasi Mobile
Robot (Studi Kasus Robot KRCI FATETA IPB 2006), adalah karya saya sendiri
dengan arahan Komisi Pembimbing dan belum pernah diajukan dalam bentuk
apapun kepada perguruan tinggi manapun.

Sumber informasi yang berasal atau

dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain
telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian
akhir tesis ini.

Bogor, M e i 2007

Didit Widiyanto
NIM G651040024

ABSTRAK
DIDIT WIDIYANTO. Formalisasi Navigasi Mobile Robot (Studi Kasus Robot
KRCI FATETA IPB 2006). Dibimbing oleh PRAPTO TRI SUPRIYO dan
WISNU ANANTA KUSUMA.
Penelitian tesis ini dilatarbelakangi oleh kebutuhan rancangan kendali
navigasi robot pada robot KRCI (Kontes Robot Cerdas Indonesia) 2006 milik
Team AERS (Agricultural Engineering Robotic Squad) dari Fakultas Teknik
Pertanian (FATETA) Institut Pertanian Bogor (IPB) yang diselenggarakan di
Balairung Universitas Indonesia di Depok pada bulan Juni 2006. Kendala team
robot yang saat itu adalah tidak memiliki konsep yang baik dalam
memformulasikan sistem navigasi robotnya. Robot yang dibuat saat itu hanya
merespon

untuk

menghindari

halangan

(obstacle

memperhatikan tata ruang lingkungannya (environment map).

avoidance)

tanpa

Akibatnya sangat

mungkin robot tidak dapat kembali ke tempat semula, atau terdapat ruangan yang
belum dikunjungi, atau terdapat ruangan yang dikunjungi lebih dari 1 (satu) kali.
Kelemahan ini disebabkan tidak adanya formulasi navigasi dalam disain robot
tersebut.
Inspirasi penelitian ini adalah mencoba menemukan formulasi sistem
navigasi robot yang akurat, dengan terlebih dahulu mendeskripsikan sistem secara
informal, merumuskan spesifikasi sistem secara formal dengan menggunakan
bahasa spesifikasi Linear Temporal Logic (LTL), melakukan verifikasi sistem
dengan menggunakan perangkat lunak pembanguan prototipe MOBOTSIM Versi
1.0.03, dan akhirnya menghasilkan sebuah prototipe sistem navigasi mobile robot
yang dapat direkomendasikan untuk dipergunakan pada KRCI 2007 atau
sesudahnya.
Akhirnya hasil penelitian ini diharapkan dapat membuktikan bahwa
melalui eksperimen pada prototipe, bahasa spesifikasi formal LTL dapat
digunakan untuk merumuskan sistem navigasi mobile robot pada studi kasus
KRCI 2006 dengan baik.
Kata Kunci : navigation control, Linear Temporal Logic (LTL), informal system
verification, system specification, system verification.

© Hak Cipta milik Institut Pertanian Bogor, tahun 2007
Hak cipta dilindungi
Dilarang mengutip dan memperbanyak tanpa izin tertulis dari
Insititut Pertanian Bogor, sebagian atau seluruhnya dalam
bentuk apapun, baik cetak, fotokopi, mikrofilm, dan sebagainya

FORMALISASI NAVIGASI MOBILE ROBOT
(STUDI KASUS ROBOT KRCI FATETA IPB 2006 )

DIDIT WIDIYANTO

Tesis
sebagai salah satu syarat untuk memperoleh gelar
Magister Sains pada
Program Studi Ilmu Komputer

SEKOLAH PASCASARJANA
INSTITUT PERTANIAN BOGOR
BOGOR
2007

Judul Tesis
Nama
NIM

: Formalisasi Navigasi Mobile Robot
: (Studi Kasus Robot KRCI FATETA IPB 2006)
: Didit Widiyanto
: G651040024

Disetujui
Komisi Pembimbing

Drs. Prapto Tri Supriyo, M.Kom.
Ketua

Wisnu Ananta Kusuma, S.T, M.T.
Anggota

Diketahui
Ketua Program Studi Ilmu Komputer

Dekan Sekolah Pascasarjana

Dr. Sugi Guritman

Prof. Dr. Ir. Khairil A. Notodiputro, MS.

Tanggal Ujian : 5 Mei 2007

Tanggal Lulus :

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

RIWAYAT HIDUP
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

Penerapannya).

dengan

tema

makalah

Robot

(Perkembangan

dan

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.

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

viii

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

Tabel 4.9

Perbedaan Dengan Kompas Umumnya……………. .

26

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

ix

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

2

direkomendasikan untuk digunakan oleh FATETA IPB pada kontes robot
KRCI mendatang.

1.2

Tujuan
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 lowlevel 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 RoboticLevel 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.

4

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.

Gambar 2.1 : Abstraksi diskrit lingkungan mobot dalam KRCI 2006.

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.
2
4

3

1

2
4

1

1
2
3
4

1
0




2
4
0
2


5
3

Gambar 2.2 : Directed Graph dan Adjacency Matrix.

3
1

0


4

3
5
0

6

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
Variabel
S
I
F
T

G

P

2.4

Penjelasan Tuple Mobotenv
Keterangan
Himpunan seluruh status (state) di mana berlaku si Є S.
Himpunan status awal (initial state) di mana berlaku
I C S.
Status akhir (finish state) di mana berlaku F C S.
Himpunan trajectory yang baik (good trajectory) di mana
berlaku ti Є T dan i = 0,1,2, …
ti ditentukan melalui penelusuran (walk) secara heuristik.
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.
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.

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

8

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
“Temporal Logic of Programs”.

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
Contoh
Arti
Temporal
next (O)
Op
Selanjutnya : Pada satuan waktu berikutnya akan
terjadi proposisi p bernilai benar
Selalu : Untuk saat ini dan di waktu mendatang
always (฀)
฀p
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.

10

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üchi Automata memiliki tuple A = (Q,Σ,δ,I,FT) di mana :
Q
Σ
δ
I
FT

:
:
:
:
:

Himpunan status
Finite Alphabet
Relasi Transisi
Himpunan status awal (initial state)
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.

12

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:
Mulai

Deskripsi Informal Sistem

Spesifikasi Sistem

Verifikasi Sistem

System masih salah
atau invalid

Hasil verifikasi ?

Sistem benar
atau valid

Rekomendasi Prototipe .

Selesai

Gambar 3.1 Kerangka pemikiran pembangunan Formalisasi Navigasi Mobile Robot.

14

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

16

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
bahasa pemrogramannya yang telah terintegrasi dalam MOBOTSIM
adalah Sax Basic Versi 6.4.50/32 dari Polar Engineering.

Perangkat

lunak ini akan digunakan dalam metode penelitian pada tahap verifikasi
prototipe mobile robot.

Selain itu digunakan pula komputer dengan

prosesor minimal setara Intel Pentium III, memori 128 Mbytes, Harddisk
10 Mbytes, dan sistem operasi minimal Microsoft Windows 98 (Tm)
sebagai alat untuk dapat menjalankan perangkat lunak MOBOTSIM
tersebut di atas.

3.3

Waktu dan Tempat Penelitian
Penelitian ini dilaksanakan mulai Februari 2006 hingga Maret 2007
bertempat di Laboratorium Komputer Pascasarjana Departemen Ilmu
Komputer FMIPA-IPB di Baranangsiang Bogor dan di Laboratorium
Fakultas Ilmu Komputer UPN “Veteran” Jakarta di Jakarta-Selatan.

4

4.1

HASIL DAN PEMBAHASAN

Deskripsi Informal Sistem
Telah dijelaskan dalam Bab 2 sebelumnya mobile robot atau mobot
adalah robot yang memiliki mekanisme penggerak (actuators) berupa roda
(wheel) atau kaki (leg), untuk dapat berpindah tempat dari suatu tempat ke
tempat yang lain.

Dalam beroperasi mobot sering harus bergerak dalam

rangka menjelajahi lingkungannya.
Navigasi mobot adalah sistem yang dibuat untuk memandu mobot
agar tidak tersesat ketika menjelajahi lingkungannya.

Melalui sistem ini

mobot dapat mengetahui posisi kedudukan pada peta lingkungannya serta
arah hadap mobot saat itu (sudut azimuth atau bearing) berdasarkan arah
mata angin. Deskripsi informal sistem navigasi mobot dibuat berdasarkan
hal-hal sebagai berikut :

a.

Peta Lingkungan Mobot
Peta lingkungan mobot yang digunakan dalam penelitian
ini adalah peta lingkungan (environment map) mobot dalam KRCI
2006 sebagaimana digambarkan dalam Gambar 4.1.

Gambar 4.1 Bentuk environment mobot dalam KRCI 2006.

18

Peta lingkungan di atas diasumsikan membentang dari barat
hingga ke timur, artinya atas adalah utara (arah 90), kanan adalah
timur (arah 0), bawah adalah selatan (arah 270), dan kiri adalah
barat (arah 180).

Derajat arah mata angin ini agak berbeda,

disesuaikan dengan yang berlaku dalam program navigasi, dapat
dilihat penjelasannya nanti pada bagian deskripsi kompas program
navigasi.

b.

Posisi Start dan Finish Mobot
Sesuai dengan persyaratan KRCI 2006, bahwa mobot harus
dapat start maupun finish di posisi s0, sedangkan persyaratan KRCI
2005 yang mungkin akan diberlakukan kembali pada KRCI
mendatang, mobot harus dapat start maupun finish di posisi s4.
Untuk itu dalam penelitian diasumsikan start dan finish di s0
maupun s4.

c.

Tujuan (Goal) yang Ingin dicapai
KRCI mensyaratkan mobot start dari tempat yang telah
ditentukan (misalnya s0), mengunjungi (visiting) ke-empat ruangan
(s13, s14, s15, dan s16) di mana setiap ruangan dikunjungi tepat 1
(satu) kali, dan kembali ke tempat semula (s0).

d.

Komponen Pendukung Navigasi
KRCI pada dasarnya tidak membatasi komponen yang
digunakan dalam mobot, khususnya komponen pendukung
navigasi.

Berdasarkan komponen yang umumnya terpasang pada

mobot KRCI, terdapat 2 komponen penting pendukung navigasi
yaitu :
ƒ

Sensor Penghalang
Sensor penghalang (obstacle sensor) adalah sensor
yang dapat mendeteksi adanya penghalang yang harus

19

dihindari oleh mobot (obstacle avoidance).

Sensor dapat

berupa sensor proximity (sensor yang hanya mampu
mendeteksi

keberadaan

penghalang

tanpa

mampu

mendeteksi jarak mobot ke penghalang) maupun sensor
range (sensor yang mampu mendeteksi jarak mobot ke
penghalang).
Selain bertujuan untuk menghindari penghalang,
beberapa sensor ini secara bersama-sama dapat digunakan
pula untuk menghasilkan ciri lingkungan robot sehingga
dapat dilakukan abstraksi posisi

mobot pada peta

lingkungannya. Contoh untuk perempatan s7 akan memiliki
ciri sebelah kiri, kanan, dan depan tidak ada penghalang.
ƒ

Sensor Posisi Mobot
Sensor posisi mobot yang dimaksud di sini adalah
kompas.

Melalui kompas mobot dapat mengetahui arah

hadapnya (berupa sudut azimuth atau bearing) berdasarkan
arah mata angin.

4.2

Pra-Spesifikasi Sistem
Peta lingkungan mobot KRCI 2006 sebagaimana tergambar dalam
Gambar 4.1 merupakan bentuk abstraksi kontinu, sedangkan spesifikasi
sistem secara formal dilakukan pada trajectory yang baik dari abstraksi
diskrit, untuk itu pra-spesifikasi sistem bertujuan melakukan transformasi
lingkungan mobot kontinu ke diskrit, dan menentukan trajectory yang
baik.

a.

Transformasi Lingkungan Kontinu ke Diskrit
Sebagaimana telah diuraikan dalam bab 2, transformasi
lingkungan kontinu ke diskret dilakukan dengan cara membagibagi hallway ke dalam ruang semu yang merepresentasikan status.
Sebagaimana telah diilustrasikan dalam Gambar 4.1 hallway pada

20

map dibagi menjadi s0, s1, s2, …, s12. Sedangkan untuk s13, s14, …,
s16 adalah status tujuan (ruang yang harus dikunjungi).
b.

Transformasi Lingkungan Diskrit ke Graf
Transformasi lingkungan diskrit ke graf dilakukan dengan
membuat model graf dalam bentuk tuple Mobotenv = (S, I, F, T, G,
P) di mana penjelasan tuple diuraikan dalam Tabel 4.1 dan
sedangkan graf diilustrasikan dalam Gambar 4.2
Tabel 4.1 Penjelasan Tuple Mobotenv
Variabel
S
I

F

T

G

P

Keterangan
Himpunan seluruh status di mana berlaku si Є S jika dan
hanya jika 0 < i < 16
Himpunan status awal (Initial state) di mana berlaku
I = {s0, s4} dan I C S. Terdapat pula fungsi i(t) adalah
fungsi i : T Æ I atau dengan kata lain fungsi i memetakkan
trajectory t ke status awal si Є I
s0 jika t Є {0,1}
i(t) =
s4 jika t Є {2}
Status akhir (Finish state) di mana berlaku F = {s0, s4} dan
F C S. Terdapat pula fungsi f(t) adalah fungsi f : T Æ F
atau dengan kata lain fungsi f memetakkan trajectory t ke
status akhir si Є F
s0 jika t Є {0,1}
f(t) =
s4 jika t Є {2}
Himpunan trajectory yang baik di mana berlaku ti Є T dan
i = 0,1,2, …ti ditentukan melalui penelusuran (walk) secara
heuristik.
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) = ∞ (tak terhingga). Dalam
kasus ini G = {s13, s14, s15, s16}
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.

21

S0

S2

S1

S3

S14
S13

S8

S4
S10

S9

S7

S11

S15

S6

S0

S16

S12

Gambar 4.2 Representasi graf hasil transformasi lingkungan diskrit.

c.

Menentukan Trajectory yang Baik
Untuk menentukan trajectory yang baik dilakukan dalam 2
(dua) tahap sebagai berikut :
ƒ

Pembobotan Edge Berdasarkan Matriks w(si,sj)
Pembobotan edge berdasarkan matriks w(si,sj)
dilakukan dengan membuat tabel atau matriks 2 dimensi
dengan ukuran ordo 6 x 6. Angka 6 ditentukan dari jumlah
status tujuan yaitu ada 4 status tujuan dan 2 initial state
(finish state adalah sama dengan initial state). Pada setiap
sel matriks tersebut berisi nilai bobot terkecil dalam jumlah
hop (ruang yang dilompati) dari si ke sj.
menjelaskan bobot edge dalam adjancy matrix.

Tabel 4.2

22

Tabel 4.2 Adjancy matriks w(si,sj)
s0
s4
s13

s0
0
5

s4
0
6
s13
5
6
0
s14
4
3
5
s15
5
6
6
s16
4
5
5

ƒ

s14
4
3
5
0
5
4

s15
5
6
6
5
0
3

s16
4
5
5
4
3
0

Pendekatan Heuristik Untuk Menentukan Trajectory yang
Baik
Telah dijelaskan dalam bab 2 bahwa melalui
pendekatan heuristik dapat dihasilkan (good trajectory)
trajectory yang baik dengan cara memberi nilai sekecil
mungkin pada matriks yang merepresentasikan jarak
terdekat atau rute terpendek antara 2 status tujuan (misal si
dan sj dimana si dan sj Є G) yang belum pernah dikunjungi
(unvisited)

dan

terhubung

sekarang (current state).

(adjacent)

dengan

status

Dengan demikian diharapkan

merupakan trajectory optimal, dan akan lebih cepat
daripada mencoba seluruh kemungkinan secara permutasi.
Akhirnya trajectory yang baik dapat yang diperoleh
dapat dilihat pada Tabel 4.3.
Tabel 4.3 Trajectory Yang Baik
Trajectory
Nomor
Trajectory
(t)
0
s0-s14-s16-s15-s13-s0
1
s0-s16-s15-s14-s13-s0
2
s4-s14-s16-s15-s13-s4

4.3

Nilai Path
(Dihitung dengan w(si,sj))
4+4+3+6+5 = 22
4+3+5+5+5 = 22
3+4+3+6+6 = 22

Spesifikasi Sistem
Spesifikasi sistem dilakukan dalam 2 (dua) tahap yaitu spesifikasi
fungsi proposisi dan spesifikasi formula proposisinya.

Hasil akhir dari

spesifikasi sistem adalah formula proposisi untuk setiap trajectory t, yang
merepresentasikan pergerakan robot.
tahap dalam spesifikasi sistem :

Berikut ini adalah uraian setiap

23

a.

Fungsi Proposisi p(t,s)
Bila {┬, ┴} adalah himpunan nilai logika yang memiliki
keanggotaan ┬ (true) dan ┴ (false), maka fungsi proposisi p(t,s)
dengan t Є T dan s Є G adalah fungsi p : T,G Æ {┬, ┴} atau
dengan kata lain fungsi yang memetakkan T,G ke suatu nilai logika
┬ (true) atau ┴ (false) dalam himpunan nilai logika tersebut.
Fungsi proposisi ini merepresentasikan pergerakan robot ke status
si dari sembarang status sj yang adjacent dengan si pada trajectory
t, dan akan menghasilkan nilai logika ┬ bila berhasil atau ┴ bila
gagal.

b.

Formula Proposisi Ø.
Hasil akhir dari spesifikasi model formal ini adalah formula
proposisi.

Formula proposisi dalam penelitian ini berupa suatu

persamaan matematika yang disusun dari beberapa fungsi proposisi
dengan menggunakan operator logika.
Agar pergerakan robot sesuai dengan trajectory yang
optimal, maka formula proposisi untuk setiap trajectory disusun
dalam bentuk sequencing atau keterurutan sebagaimana telah
dijelaskan dalam Bab 2.

Untuk itu Tabel 4.4 mengilustrasikan

fungsi proposisi untuk setiap trajectory t adalah sebagai berikut :
Tabel 4.4 Formula Proposisi Untuk Trajectory Yang Baik
Trajectory
Trajectory
Formula Proposisi Ø
(t)
0
s0-s14-s16-s15-s13-s0
Ø = ◊(p(0,s14) ^ ◊(p(0,s16) ^ ◊(p(0,s15) ^
◊(p(0,s13) ^ ◊p(0,s0)))))
1
s0-s16-s15-s14-s13-s0
Ø = ◊(p(1,s16) ^ ◊(p(1,s15) ^ ◊(p(1,s14) ^
◊(p(1,s13) ^ ◊p(1,s0)))))
2
s4-s14-s16-s15-s13-s4
Ø = ◊(p(2,s14) ^ ◊(p(2,s16) ^ ◊(p(2,s15) ^
◊(p(2,s13) ^ ◊p(2,s4)))))

4.4

Prototipe Mobot
Verifikasi

sistem

dilakukan

untuk

memeriksa

kebenaran

(correctness) formula proposisi yang dihasilkan dari spesifikasi sistem
secara formal.

Dala