Book Robotika
Book Robotika
Penulis
Wisnu Jatmiko
Petrus Mursanto
M Iqbal Tawakal
M Sakti Alvissalim
Abdullah Hafidh
Enrico Budianto
M Nanda Kurniawan
Kharda Ahfa
Ken Danniswara
M Anwar Masum
Indra Hermawan
Grafika Jati
Desain Sampul
Muhamad Fajar
Hak Cipta
Seluruh isi buku dan sampul merupakan hak cipta Fakultas Ilmu Komputer
Universitas Indonesia
Kata Pengantar
Puji syukur kami panjatkan ke hadirat Allah SWT yang atas rahmat,
karunia, dan hidayah-Nya penulis berhasil menyelesaikan buku ini
dengan judul Robotika: Teori dan Aplikasi. Buku ini berisi
penjelasan mengenai aplikasi-aplikasi robotika di berbagai bidang yang
sangat dekat dan menyentuh serta berhubungan dengan kebutuhan
manusia. Penjelasan tersebut antara lain penggunaan mobile robot
untuk mengatasi lumpuhnya jaringan komunikasi di daerah bencana,
penggunaan robot untuk bermain bola dan meniru gerakan manusia,
serta penggunaan robot penjelajah udara untuk keperluan penjejakan
objek dan juga pembentukan formasi kawanan. Ketiga contoh
tersebut adalah bentuk aplikasi robot yang akan dijelaskan di dalam
buku ini. Semua ini bertujuan untuk memberikan gambaran kepada
pembaca betapa penting dan berharganya teknologi robotika dalam
kehidupan manusia.
Buku ini juga juga buku ketiga dari seri buku robotika yang diproduksi
di lab Architecture and High Performance Computing, Fakultas Ilmu
Komputer Universitas Indonesia. Dua buku sebelumnya adalah
Swarm Robot dalam Pencarian Sumber Asap dan Robot Lego
Mindstorm: Teori dan Praktek. Diharapkan buku ketiga ini dapat
melanjutkan semangat yang diusung dari kedua buku sebelumnya dan
memberikan sumbangan keilmuan di bidang robotika Indonesia.
Bidang robotika terus berkembang dengan cepat dan penggunaannya
di tengah masyarakat pun semakin mewabah. Buku ini diharapkan
dapat memberikan gambaran terbaru mengenai teknologi robotika
terbaru yang dikembangkan di Indonesia. Penguasaan teknologi
robotika terbaru harus dilakukan apabila Indonesia ingin tetap
bersaing secara global dengan negara-negara maju lainnya yang
memiliki tingkat penetrasi teknologi robotika yang tinggi, seperti
Jepang, Jerman, dan Amerika Serikat.
Penulisan buku ini sendiri didukung oleh program Hibah Sinas tahun
2012-2014 (Kementerian Riset dan Teknologi RI) dengan judul
Autonomous
Quadcopter
Swarm
Robots
for
Military
Reconnaissance and Intelligence Gathering, program Student Project
IMHERE Fasilkom UI 2012 (Kementerian Pendidikan dan Kebudayaan
RI) dengan judul Imitasi Gerak Manusia pada Robot Humanoid
Pemain Bola, dan Hibah Riset Kolaborasi Internasional UI tahun 2011
dengan judul Autonomous Telecommunication Networks Coverage
Area Expansion With Mobile Robot In Disaster Areas. Tanpa bantuan
dana dari hibah-hibah tersebut, penelitian pendahuluan dan penulisan
buku ini tidak mungkin bisa diselesaikan. Atas bantuan dana tersebut,
penulis mengucapkan terima kasih yang sebesar-besarnya.
Terima kasih kami sampaikan juga kepada semua pihak yang telah
memberikan dukungan selama pembuatan buku ini, terutama dari
pihak Kementrian Pendidikan dan Kebudayaan, Kementrian Riset dan
Teknologi, dan Fakultas Ilmu Komputer UI. Selain itu, tidak lupa pula
kepada seluruh mahasiswa di Laboratorium Computer Networks,
Architecture & High Performance Computing yang telah banyak
membantu secara formal maupun informal sehingga riset ini dapat
berjalan dengan segala kelebihan dan kekurangannya.
Tak ada gading yang tak retak. Penulis juga menyadari bahwa buku
yang ditulis ini masih memiliki kekurangan di sana sini. Oleh karena
itu, kritikan dan masukan dari pembaca sangat diharapkan untuk
pengembangan kualitas dari buku ini dan buku-buku selanjutnya.
Semoga bantuan dan kerja sama ini dapat memberi kontribusi
perkembangan yang berarti bagi keilmuan khususnya di bidang ilmu
komputer dan robotika di Indonesia.
Depok, Universitas Indonesia
Desember 2012
Tim Penulis
4
Tujuan
Tujuan penulisan buku ini adalah sebagai dokumentasi dari penerapan
aplikasi robot yang telah dilakukan pada berbagai riset yang telah
dilakukan sebelumnya. Buku ini juga ditujukan untuk menjelaskan
kegunaan teknologi robot untuk berbagai bidang di masyarakat.
Daftar Isi
Kata Pengantar..................................................................................................3
Sistematika Penulisan Buku ..............................................................................5
Daftar Isi............................................................................................................7
Daftar Gambar ................................................................................................11
Daftar Tabel ....................................................................................................16
BAB 1| Apa Itu Robot......................................................................................17
1.1
Definisi Robot..................................................................................18
1.2
1.3
Jenis Robot......................................................................................25
1.3.1
1.3.2
1.3.3
1.3.4
1.4
1.4.1
1.4.2
1.4.3
Robot Medis............................................................................43
1.4.4
1.5
Susunan Buku..................................................................................49
2.2
2.2.1
Anatomi...................................................................................54
2.2.2
SRF08.......................................................................................55
2.2.3
CMPS03...................................................................................55
2.2.4
Controller ................................................................................55
2.2.5
2.3
Simulasi Pembentukan Jaringan Komunikasi Menggunakan Open
Dynamic Engine ..........................................................................................56
7
2.3.1
Position by Line....................................................................... 57
2.3.2
2.3.3
Self Deployment...................................................................... 60
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9
2.3.10
2.3.11
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
Implementasi Algoritma Sink Localization dengan Particle
Swarm Optimization............................................................................... 94
2.4.7
2.4.8
2.5
Protokol Routing............................................................................. 99
2.5.1
2.5.2
2.5.3
2.6
3.1.1
3.1.2
3.1.3
Kemampuan Quadcopter......................................................114
3.1.4
AR.Drone...............................................................................115
3.2
3.2.1
3.2.2
3.2.3
Proses implementasi.............................................................119
3.3
3.3.1
3.3.2
3.4
Penerapan UAV untuk Pembentukan Formasi UAV Dalam
Mengeksplorasi Ruang..............................................................................140
3.4.1
3.4.2
3.4.3
3.4.4
3.5
4.1.1
4.1.2
4.2
4.2.1
4.2.2
4.2.3
4.3
4.3.1
Microsoft Kinect....................................................................201
4.3.2
4.3.3
4.3.4
4.4
10
Daftar Gambar
Gambar 1.1. Karakteristik Robot ....................................................................20
Gambar 1.2. a. Robot Band b. Robot Leonardo............................................22
Gambar 1.3. Robot Tesla ................................................................................23
Gambar 1.4. Robot Asimo...............................................................................24
Gambar 1.5. Sejarah Perkembangan Robot ...................................................24
Gambar 1.6. Robot Arm Milik KUKA ...............................................................27
Gambar 1.7. Mekanisme Lokomotif pada Makhluk Hidup.............................28
Gambar 1.8. Jenis-jenis Roda..........................................................................30
Gambar 1.9. Sistem Differential Steering .......................................................32
Gambar 1.10. Konfigurasi Roda Dua, Atas (parallel) Bawah (seri) .................32
Gambar 1.11. Konfigurasi Sistem Kemudi Beroda Tiga ..................................33
Gambar 1.12. Konfigurasi Sistem Kemudi Beroda Empat ..............................34
Gambar 1.13. Sistem suspensi rantai pada tank. (1= roda belakang bermotor,
2=rantai yang membalut roda, 3=roller untuk memudahkan rantai berputar,
4= roda depan bermotor, 5=roda netral, 6=idler) ..........................................35
Gambar 1.14. Teletank, tank tanpa awak yang dikontrol dari jauh. Aktif
dipergunakan oleh Uni Sovyet pada masa perang dunia kedua. ...................35
Gambar 1.15. Replikasi Robot GE pada Musium Transportasi US Army ........36
Gambar 1.16. Monopod .................................................................................37
Gambar 1.17. Model 5 Tautan........................................................................38
Gambar 1.18. HSV Swift (Courtesy of Bluefin Robotics Corporation) .............40
Gambar 1.19. Robot MQ-9 Reaper .................................................................41
Gambar 1.20. Lapisan Arsitektur RoboEarth ..................................................48
Gambar 1.21. Robot Pemulihan Jaringan Komunikasi....................................49
Gambar 1.22. Robot UAV................................................................................50
Gambar 1.23. Robot Humanoid ......................................................................50
Gambar 2.1. Dampak akibat bencana gempa bumi dan gunung meletus .....52
Gambar 2.2. Contoh menara BTS ...................................................................53
Gambar 2.3 Tampilan robot Al-Fath dan sensor-sensornya...........................54
Gambar 2.4 SRF08 dipasang di Al-Fath...........................................................55
Gambar 2.5 CMPS03 yang dipasang di robot Al-Fath.....................................55
Gambar 2.6 Motor pada robot Al-Fath...........................................................56
Gambar 2.7. Ilustrasi algoritma Position by Line (Pambudi 2009)..................58
Gambar 2.8. Ilustrasi pembentukan jalur pada algoritma Extended Position by
Line..................................................................................................................60
Gambar 2.9. Diagram alur dari arsitektur simulasi Open Dynamic Engine (R.C
Kooijman 2010)...............................................................................................62
11
Gambar 2.10. Diagram alur interaksi berbagai modul pada Open Dynamic
Engine(R.C Kooijman 2010) ............................................................................ 63
Gambar 2.11 Model 3D Al-Fath pada software Inventor dan 3DS Max......... 64
Gambar 2.12 Penyederhanaan model chassis Al-Fath................................... 64
Gambar 2.13 Pemodelan roda pada piranti lunak Inventor dan 3DS Max .... 65
Gambar 2.14 Pemodelan roda pada ODE sebelum dan sesudah
penyederhanaan ............................................................................................ 65
Gambar 2.15 Titik benturan antara distance sensor beam dengan rintangan
........................................................................................................................ 66
Gambar 2.16. Skema pergerakan robot menuju suatu target (Hafidh 2011) 68
Gambar 2.17. Representasi Roll, Alpha, dan Theta........................................ 69
Gambar 2.18. Contoh penerapan Path Planning dengan Collision Avoidance
(Hafidh 2011).................................................................................................. 69
Gambar 2.19. Perhitungan jalur terpendek menggunakan algoritma Flood Fill
dan Backtracking ............................................................................................ 71
Gambar 2.20. Contoh penerapan jalur terpendek menggunakan Flood Fill dan
Backtracking pada Open Dynamic Engine...................................................... 71
Gambar 2.21. Ilustrasi target robot tanpa informasi peta lokasi ................... 72
Gambar 2.22. Ilustrasi target robot dengan informasi peta lokasi ................ 73
Gambar 2.23. Perpotongan antara lingkaran dan garis ................................. 74
Gambar 2.24. Penerapan penentuan posisi target algoritma Position by Line
pada Open Dynamic Engine............................................................................ 74
Gambar 2.25. Path Planning menuju posisi stabil pada Open Dynamic Engine
........................................................................................................................ 75
Gambar 2.26. Diagram alur algoritma Extended Position by Line.................. 76
Gambar 2.27. Contoh Penerapan Algoritma Extended Position By Line ........ 76
Gambar 2.28. Contoh penerapan algoritma Extended Position by Linepada
Open Dynamic Engine..................................................................................... 77
Gambar 2.29. Implementasi algoritma Takahashi, Sekiyama, dan Fukuda
pada Open Dynamic Engine............................................................................ 79
Gambar 2.30. Proses Pemberitahuan Posisi Robot........................................ 79
Gambar 2.31. Skenario pertama terkait keterhubungan antara menara
komunikasi pada algoritma Self Deployment ................................................. 80
Gambar 2.32. Skenario kedua terkait keterhubungan antara menara
komunikasi pada algoritma Self Deployment ................................................. 80
Gambar 2.33. Quadratic Optical Encoder (Siegwart, 2004) ........................... 83
Gambar 2.34. Bentuk fisik X-Bee.................................................................... 85
Gambar 2.35. Hasil Pengukuran Kuat Sinyal Selama 24 jam (Janire Larranaga,
2010)............................................................................................................... 86
Gambar 2.36. Arsitektur sistem secara umum............................................... 86
12
Gambar 3.25. Proses pengujian (a) posisi awal ARDrone (b) Pesisi peletakan
objek (c) hasil pendeteksian oleh ARDrone.................................................. 139
Gambar 3.26. Proses Pengujian Pelacakan Objek Topi ................................ 140
Gambar 3.27. Tampilan Layar Perangkat Lunak V-Rep ................................ 143
Gambar 3.28. Proximity Sensor.................................................................... 146
Gambar 3.29. Koordinat X dan Y di V-REP.................................................... 149
Gambar 3.30. Ilustrasi Pola Garis yang Terbentuk ....................................... 152
Gambar 3.31. Pergerakan Lingkaran ............................................................ 154
Gambar 3.32. Ilustrasi Pola Lingkaran yang Terbentuk................................ 156
Gambar 3.33. Proses Perubahan Formasi dari Pola Lingkaran ke Pola Segitiga
...................................................................................................................... 157
Gambar 3.34. Hasil Pemetaan Quadcopter pada Grafik Fungsi sin 3 ........ 158
Gambar 3.35. Proses Perubahan Formasi dari Pola Lingkaran ke Pola Jajar
Genjang ........................................................................................................ 160
Gambar 3.36. Hasil Pemetaan Quadcopter pada Grafik Fungsi sin 4 ........ 161
Gambar 3.37. Tahapan Pembentukan Formasi Segitiga pada Simulasi V-REP
...................................................................................................................... 164
Gambar 3.38. Formasi Jajar Genjang yang Berhasil Dibentuk pada Simulasi VREP................................................................................................................ 166
Gambar 4.1. Bioloid Kit beserta Kit .............................................................. 171
Gambar 4.2. Controller CM-510 ................................................................... 172
Gambar 4.3. Dynamixel AX-12...................................................................... 172
Gambar 4.4. Modul Zig100........................................................................... 174
Gambar 4.5. Accelerometer MMA7260........................................................ 174
Gambar 4.6. Sensor Kamera OV6620........................................................... 175
Gambar 4.7. Modul CMUcam3 (Kamera dan LPC2106) ............................... 175
Gambar 4.8. Bentuk Fisik Robot Humanoid (Tampak belakang, tampak
samping, tampak depan).............................................................................. 176
Gambar 4.9. Robot-Robot yang Dikembangkan dengan ROS ...................... 177
Gambar 4.10. Hasil Visualisasi dengan Menggunakan rviz .......................... 178
Gambar 4.11. Contoh Interaksi Node pada ROS (rxgraph)........................... 179
Gambar 4.12. Roboplus................................................................................ 180
Gambar 4.13. RoboPlus Manager ................................................................ 180
Gambar 4.14. Roboplus Motion ................................................................... 181
Gambar 4.15. Roboplus Task manager ........................................................ 182
Gambar 4.16. Detail Spesifikasi Lapangan ................................................... 183
Gambar 4.17. Reposisi robot ketika pelanggaran ........................................ 184
Gambar 4.18. Struktur Robot Bagian Depan dan Belakang ......................... 185
Gambar 4.19. Struktur Robot Bagian Bawah ............................................... 186
14
15
Daftar Tabel
Tabel 2-1. Pergerakan Robot Al-Fath ............................................................. 67
Tabel 3-1. Pengelompokan Jenis UAV .......................................................... 108
Tabel 3-2. Spesifkasi AR Drone..................................................................... 116
Tabel 3-3. Aturan Gerakan dari Algoritma Obstacle Avoidance................... 148
Tabel 3-4. Jangka Waktu Pembentukan Pola Formasi Segitiga.................... 164
Tabel 3-5. Jangka Waktu Pembentukan Pola Formasi Jajar Genjang........... 166
Tabel 4-1. Klasifikasi Gerakan Robot ............................................................ 223
Tabel 4-2. Data Sampel................................................................................. 230
Tabel 4-3. Tingkat Akurasi ............................................................................ 231
16
BAB
1|
22
Pada tahun 1948, W. Grey Walter membuat robot yang diberi nama
Elmer and Elsie. Robot ini merupakan salah satu robot autonomous
pertama. Bentuk robot ini seperti kura-kura dan bergerak dengan
menggunakan tiga roda. Robot ini dapat berjalan menghindari
hambatan dan mencari jalan ke tempat pengisian baterai ketika
baterainya hampir habis, sensor yang digunakan robot ini adalah
sensor cahaya.
Robot digital diprogram pertama kali oleh George Devol pada tahun
1954. Robot tersebut berbentuk lengan dan diberi nama unimate.
Pada tahun 1961, robot untuk industri pertama dibuat oleh
perusahaan General Motors di New Jersey. Robot tersebut merupakan
pengembangan dari robot unimate yang dibuat oleh George Devol dan
Joe Engelberger.
Setelah masa robot industri pertama tersebut, teknologi robot
berkembang dengan pesat sehingga banyak robot-robot baru yang
diluncurkan. Bahkan beberapa universitas terkemuka di dunia juga
mulai membuka divisi khusus untuk pembelajaran robot di tempatnya
masing-masing. Tercatat laboratorium kecerdasan buatan dibuka pada
tahun 1964 antara lain: M.I.T., Stanford Research Institute, Stanford
University, dan University of Edinburg. Kemudian pada tahun 1965
Carnegie Mellon University (CMU) membentuk Robotics Institute.
Semenjak saat itu, sulit untuk melacak setiap robot yang telah
dikembangkan, karena semakin banyak pihak yang mampu
mengembangkan dan memproduksinya secara massal.
23
Salah satu robot yang cukup fenomenal di era modern adalah robot
menyerupai manusia bernama Honda Asimo, yang diperkenalkan pada
tahun 2000. Robot yang dapat dikendalikan dengan remote control
tersebut mampu berjalan dan berganti arah dengan baik. Selain itu,
ASIMO (gambar 1.4) juga dapat melaksanakan pekerjaan seperti
menghidupkan lampu dan membuka pintu. Secara ringkas sejarah
perkembangan robot diilustrasikan oleh Gambar 1.5.
24
25
2. Robot Bergerak
Disebut juga sebagai mobile robot, dan seringkali dilengkapi
dengan kemampuan untuk bergerak otonom. Robot ini
memiliki kemampuan untuk berpidah dari satu tempat ke
tempat yang lain, perpindahan tersebut direncanakan
berdasarkan motion planning yang ditentukan berdasarkan
pertimbangan objektif tertentu misalnya menghindari
rintangan atau mencari jarak terdekat. Karena keperluannya
untuk bergerak, robot bergerak umumnya dilengkapi sensor
untuk mendeteksi halangan, sensor dukungan gerak seperti
accellerometer dan sensor deteksi keseimbangan seperti
gyroscope. Robot juga harus memiliki kemampuan melacak
posisi saat ini dan posisi yang dituju sehingga tidak jarang
dilengkapi dengan GPS. Sebagai kawanan, robot bergerak
memerlukan mekanisme komunikasi sesamanya sehingga
memerlukan pemasangan wireless sensor network.
1.3.3 Klasifikasi Robot Bergerak Berdasarkan Lokomotif Gerak
Robot yang difungsikan untuk bergerak menuju suatu tujuan tertentu
membutuhkan semacam mekanisme lokomotif seperti halnya sistem
biologi pada makhluk hidup. Sistem tersebut terbukti mampu
melakukan perpindahan pada berbagai medan. Idealnya, dengan
mereplikasi sistem gerak makhluk hidup robot memiliki kemampuan
bergerak yang sama. Namun demikian, melakukan hal tersebut
merupakan pekerjaan yang sangat sulit. Sistem mekanika pada
mahkluk hidup dibangun diatas struktur konstruksi yang sangat detail
mulai dari sel, jaringan, organ, sampai sistem organ. Pada robot, setiap
27
Sifat hambatan
Gaya hidro dinamik
Mengalir
Gaya gesek
Merayap
Gaya gesek
Menggesek
Hilangnya energi kinetik
Berlari
Hilangnya energi kinetik
Berlompat
Gaya gravitasi
Berjalan
Gambar 1.7. Mekanisme Lokomotif pada Makhluk Hidup
28
29
(c) bola
30
31
33
a.
b.
c.
Robot beroda kurang sesuai untuk bidang tidak rata, atau pada
berbagai medan kasar seperti yang terdapat di alam. Untuk
robot yang dikhususkan bergerak pada medan tersebut, dapat
diatasi dengan menggunakan mekanika rantai tank, selain itu
rantai tank dapat melintasi halangan yang ukurannya lebih
kecil dari diameter rantai. Roda berantai juga populer
diterapkan pada tank, bulldozer, traktor, dan tidak jarang pada
mobil untuk melintasi wilayah bersalju. Namun demikian, jika
jenis roda ini dijalankan pada medan kasar akan cepat aus
sehingga memerlukan penggantian.
Sistem kemudi pada kendaraan berantai memiliki prinsip yang
sama dengan differential steering dan disebut sebagai skid
steering. Kemudi diatur dengan menciptakan selisih kecepatan
34
Gambar 1.14. Teletank, tank tanpa awak yang dikontrol dari jauh.
Aktif dipergunakan oleh Uni Sovyet pada masa perang dunia kedua.
Pada buku ini dibahas sebuah aplikasi robot beroda jenis tank
yang
dipergunakan
untuk
memulihkan
jaringan
telekomunikasi. Robot tersebut diberi nama Al-Fath. Roda
pada robot tersebut dilengkapi dengan rantai-roda untuk
melewati daerah jelajah yang sulit akibat rusaknya
35
37
39
Pada buku ini akan dibahas aplikasi dari salah satu robot
penjelajah udara. Robot penjelajah udara yang digunakan adalah
Robot helikopter berbaling-baling empat (quadcopter). Robot
tersebut dipergunakan untuk keperluan pemulihan jaringan
telekomunikasi, deteksi dan pelacakan objek topi, serta
pembentukan formasi robot untuk eksplorasi ruang. Lebih lanjut
mengenai hal tersebut dijelaskan pada bab 3.
posisi diam dalam air merupakan pergerakan hal yang harus dilakukan
robot ini untuk dapat stabil.
Pengembangan kecerdasan robot ikan diimplementasikan pada
individu robot dan pengembangan robot sebagai kawanan. Pada
kondisi dibawah air, robot ikan harus dapat menangani beberapa
masalah antara lain, menghindari rintangan, mengetahui letak
konsentrasi polusi, menjaga komunikasi dengan robot ikan lainnya,
dan melakukan pengisian baterai secara otomatis pada tempat
pengisian baterei.
Robot mempergunakan algoritma PSO (Particle Swarm Optimization)
dan ACO (Ant Colony Optimization). Algoritma PSO akan membantu
para robot ikan untuk dapat menyampaikan infromasi secara swarm,
karena algoritma swarm akan berfungsi lebih efektif dalam
pengambilan keputusan dibandingkan pengambilan keputusan
berdasarkan informasi lokal. Seluruh robot ikan akan berkomunikasi
satu sama lain sehingga informasi dapat didistribusikan secara
keseluruhan dalam satu waktu, hal ini sangat menguntungkan karena
seluruh informasi dapat terangkum dan kita mendapatkan solusi
global yang paling optimal.
1.4.3 Robot Medis
Perkembangan teknologi robotika dalam bidang medis berkembang
dengan sangat cepat, salah satu contoh implementasinya adalah
penemuan robot mikro sebagai alat untuk mengobati penyakit kanker
dan robot yang difungsikan untuk membantu bedah.
1.4.3.1 Robot Mikro Pembunuh Sel Kanker
dapat diinjeksikan dengan tepat pada sel kanker yang memang perlu
di inhibisi perkembanganya.
Tantangan yang cukup besar dalam masalah ini adalah bagaimana kita
dapat merancang sebuah robot mikro yang dapat masuk ke dalam
tubuh manusia untuk melewati pembuluh darah manusia menuju
tepat ke lokasi kanker. Salah satu cara yang paling sederhana untuk
melakukan hal ini adalah dengan cara membuat robot yang terbuat
dari partikel logam dan partikel ini akan diarahkan memanfaatkan
prinsip magnet ke tempat sel kanker tersebut berada. Secara logika
mungkin hal ini dapat dilakukan namun yang menjadi masalah adalah
magnet tersebut harus sangat dekat dengan logam yang ditaruh di
dalam tubuh. Robot hanya dapat mengikuti magnet ketika robot
tersebut dekat dengan permukaan kulit.
Salah satu solusinya adalah dengan menggunakan mesin Magnetic
Resonance Imaging (MRI). Mesin MRI dapat membantu untuk
melakukan navigasi pada robot. Cara kerja mesin MRI adalah dengan
cara membangkitkan konduksi elektromagnetik. Proton yang
dihasilkan oleh mesin, bekerja sebagai batang magnet dan konduksi
eletromagnetik yang dihasilkan oleh mesin MRI bernilai sangat besar.
Tembakan perbedaan sinyal elektromagnetik kepada tubuh manusia
akan menghasilkan "trajectory file" yang dapat digunakan untuk
memproses data kemudian direkonstruksi dalam citra 3 dimensi.
Dalam artikel "Journey to the center of a tumor" yang ditulis oleh
Martel Sylvain, MRI digunakan sebagai sistem navigasi bagi robot
mikro yang berjalan di dalam tubuh makhluk hidup. Kontrol robot
mikro di dalam tubuh makhluk hidup dilakukan dengan cara
mengubah arah medan gradien MRI dengan algoritma yang tepat,
sehingga kita dapat mengontrol robot mikro agar dapat melalui
pembuluh darah dengan aman.
Di alam ini, ternyata telah ada bakteri yang memiliki sifat magnetik.
Salah satunya adalah MC-1, bakteri ini pertama kali ditemukan pada
tahun 1993, bakteri ini merupakan model dari robot mikro. Tubuhnya
memilki panjang 2 m dan memiliki area permukaan untuk
44
Pada saat sekarang ini, robot juga berperan dalam membantu proses
operasi yang dilakukan oleh dokter. Salah satu robot bantu bedah
yang dibangun oleh peneliti dari London Imperial College adalah robot
i-snake (imaging-sensing-navigated kinematically enhanced). Mereka
membangun robot bantu bedah untuk membantu operasi
laparoscopy. Laparoscopy merupakan operasi yang dilakukan
menggunakan tabung tipis dimana biasanya dilakukan pada organ
bagian perut atau bagian organ pelvis wanita. Laparoscopy berguna
untuk menyelesaikan permasalahan seperti kista. Sampel jaringan
45
Hingga saat ini robot belum bisa untuk belajar dan beradaptasi
terhadap kondisi lingkungan yang tidak terstruktur. Hal ini disebabkan
karena sistem sangat bergantung pada berbagai kemungkinan situasi
yang akan terjadi. Setiap respon dari robot harus di program secara
lengkap dan sistem robot juga perlu untuk membangun model
lingkungan yang diperoleh dari informasi sensor. RoboEarth
menggunakan prinsip komputasi cloud sebagai media untuk bertukar
informasi dan melakukan komputasi.
Terdapat tiga jenis layanan cloud yang umum disediakan penyedia jasa
komputasi cloud yaitu:
1. Software as a Service (SaaS)
SaaS memungkinkan penggunaan aplikasi yang berjalan dalam
infrastruktur cloud untuk dapat diakses dari berbagai platform
pengguna.
2. Platform as a Service (PaaS)
PaaS memungkinkan pengguna untuk membuat aplikasi dengan
dukungan bahasa pemrograman, API (Application Program
Interface) yang telah disimpan di dalam infrastrukur cloud.
3. Infrastructure as a Service (IaaS)
IaaS merupakan salah satu jenis layanan cloud yang
memungkinkan pengguna untuk melakukan penyediaan sumber
daya komputasi, konfigurasi penyimpanan, akses jaringan untuk
melakukan konfigurasi kemampuan komputasi, melakukan
instalasi dan menjalankan sistem operasi, serta mengekseskusi
aplikasi di dalamnya, sesuai dengan kebutuhan dari pengguna itu
sendiri.
RoboEarth merupakan salah satu implementasi dari PaaS yang
memfokuskan layanan untuk mendukung level pembangunan aplikasi.
Dalam model PaaS, pengembang piranti lunak difasilitasi dengan
pembangunan piranti lunak sesuai dengan model pengembangan di
dalam lingkungan aplikasi cloud. piranti lunak yang terdapat di dalam
model PaaS dapat berupa piranti lunak aplikasi, basisdata, dan
perangkat pengembangan.
47
Salah satu alasan utama pada saat ini robot belum dapat membuat
kontribusi yang cukup besar dalam kehidupan manusia karena
lingkungan kehidupan manusia terlalu besar dan terlalu kompleks
untuk diringkas ke dalam satu robot saja. Oleh karena itu cloud robotic
engine mengakomodir hal tersebut.
RobotEarth menawarkan infrastruktur robot cloud, dimana di
dalamnya merupakan tempat bagi robot untuk melakukan komputasi.
Jika komputasi telah selesai maka state kondisi tersebut dikembalikan
kepada robot. Knowledge di dalam RoboEarth disimpan dalam bentuk
basis data komponen piranti lunak, peta navigasi (lokasi objek, model
peta), pengetahuan tugas-tugas robot (aksi, reaksi, dan strategi
manipulasi, dan model pengenalan objek (citra, model objek).
48
49
50
BAB
2|
Gambar 2.1. Dampak akibat bencana gempa bumi dan gunung meletus
53
2.2.1 Anatomi
Chassis atau badan dari Al-Fath terdiri atas dua bagian, bagian
pertama disebut platform dan bagian kedua disebut layer mekanik.
Platform yang digunakan oleh Al-Fath adalah platform TraxterII yang
dibuat oleh RoboticsConnection. Beberapa keunggulan dari TraxterII
54
2.2.3 CMPS03
CMPS03 Magnetic Compass adalah kompas digital buatan Devantech
Ltd. Kompas digital yang memiliki harga terjangkau ini digunakan
untuk membantu sistem navigasi agar berfungsi dengan baik, efektif,
serta mudah digunakan.
2.2.4 Controller
Robot Al-Fath memiliki tiga microcontroller. Satu microcontroller
bertugas sebagai pengendali utama yaitu ATMega 2560. Dua
microcontroller lainnya menjadi pengendali sekunder yaitu ATMega8.
55
56
62
63
2011). Agar objek dapat digunakan pada ODE, maka file design objek
3D harus melewati beberapa proses.
Proses untuk konversi dari Inventor ke ODE antara lain, ekstraksi
vertex, penyederhanaan faces dan indices, dan konversi format ke
ekstensi .obj.
Gambar 2.11 Model 3D Al-Fath pada software Inventor dan 3DS Max
Hal yang sama juga dilakukan untuk memodelkan roda dari Al-Fath.
Roda sebelumnya didesain menggunakan piranti lunak Inventor dan
kemudian dikonversi ke file .obj. Total vertex pada model roda ini
mencapai 4039.
64
Gambar 2.13 Pemodelan roda pada piranti lunak Inventor dan 3DS Max
Akan tetapi pada saat simulasi pada ODE, bentuk roda disederhanakan
menjadi bentuk silinder. Hal ini dilakukan karena jika tipe geometri
roda adalah trimesh dengan jumlah vertex yang besar, maka contact
area antara lantai dengan roda bisa melibatkan jumlah vertex yang
besar. Hal ini mempengaruhi proses perhitungan matriks dan dapat
meningkatkan error pada saat simulasi.
65
Dimana :
(x1, y1) Merupakan titik tubrukan pada distance sensor beam.
(x2, y2) Merupakan titik pusat sensor jarak.
Tipe Pergerakan
Bergerak Ke Kiri
Bergerak Ke Kanan
Bergerak Ke Depan
Bergerak Ke Belakang
Pergerakan Motor
Depan Bagian Kanan
Depan
Belakang
Depan
Belakang
Pergerakan Motor
Depan Bagian Kiri
Belakang
Depan
Depan
Belakang
67
68
Hasil algoritma path planning ini dapat dilihat pada gambar 2.18.
70
(
(
( ) + ( )
((( ) ))
)=
+
)=
(((
) ))
1
Di mana :
(x , ) merupakan posisi menara komunikasi sink.
( , ) merupakan posisi menara komunikasi target.
d merupakan jarak antara sink dan target.
r merupakan wireless range dari suatu robot.
n merupakan posisi ke-n.
min
merupakan jumlah robot minimal yang dibutuhkan.
72
((
(
(
(
)^2 + (
+ ) ) =
2 + ) + ((
+ ) 2(
+ ) +
2 + ) + ((
2
+ ) 2(
2 + )+ (
2
+ )2
(1 +
+ (2 + 2
) + (
)=
+ ) +
2 +
)=
=
)=0
( (
2
73
Setelah melakukan perhitungan jalur serta posisi target pada masingmasing robot, maka robot akan bergerak menuju posisi target
berdasarkan jalur terpendek ke posisi terdekat. Pada skenario peta
yang tidak diketahui, robot akan bergerak berdasarkan garis lurus
menuju target posisi dengan menggunakan algoritma path planning
yang telah dijelaskan sebelumnya. Sedangkan pada skenario peta yang
diketahui berupa grid, robot akan menghitung jalur terpendek menuju
posisi terdekat. Posisi terdekat dihitung berdasarkan algoritma flood
74
Gambar 2.25. Path Planning menuju posisi stabil pada Open Dynamic
Engine
76
78
79
Al-Fath dapat ditemukan pada subbab 2.5.1. Selain itu dijelaskan juga
algoritma-algoritma yang diimplementasikan pada robot Al-fath,
diantaranya adalah algoritma sink localization PSO untuk mencari
posisi menara BTS. Pada akhir subbab ini dibahas beberapa kendala
yang dihadapi pada saat implementasi riil yang tidak ditemui pada saat
simulasi.
2.4.1 Particle Swarm Optimization
Particle swarm optimization(PSO) adalah sebuah teknik komputasi
yang diperkenalkan oleh R.C. Eberhart dan J. Kennedy pada tahun
1995 (Wu, 2011). PSO adalah sebuah algoritma pencarian yang
melibatkan sebuah populasi yang berbasis simulasi perilaku sosial dari
burung, lebah atau ikan (Yun et al,. 2010). Algoritma PSO menentukan
bagaimana velocity vector diperbaharui. Aturan pembaharuan velocity
vector pada PSO ditunjukkan oleh persamaan (2.1) sedangkan posisi
individu tersebut diperbaharui dengan persamaan (2.2).
=
( ). (
)+
( ).
(2.1)
(2.2)
82
(2.7). Simbol
pada Persamaan (2.6) adalah jarak wheelbase,
yakni jarak antara titik kontak roda kanan dan roda kiri.
5. Koordinat robot setelah pergerakan dapat dihitung menggunakan
Persamaan (2.8) dan Persamaan (2.9).
= ,
=
+
=
+
=
+
(2.3)
(2.4)
,
/2
(2.5)
(2.6)
(2.7)
(2.8)
(2.9)
84
85
87
90
92
93
( ). (
)+
( ).
95
dan dua buah kotak yang dianalogikan sebagai BTS. Gambar 2.45.
dapat mendeskripsikan mengenai area pengujian.
97
98
Selain itu, hal lain yang menjadi kendala adalah terjadinya packet
droppada saat proses komunikasi. Terjadinya packet drop
menyebabkan data-data informasi mengenai posisi robot dan update
posisi local best dan global best terlambat. Hal ini menyebabkan
sistem tidak responsif dan waktu yang dibutuhkan untuk mencapai
tujuan menjadi lebih lama.
101
102
3. Hybrid Protocol
Hybrid protocol merupakan protokol yang mengkombinasikan
kelebihan dari proactive dan reactive routing protocol. Hybrid
protocol membatasi kumpulan forwardingnode (node perantara)
dan menggunakan proactive routing algorithm untuk node-node
berdekatan. Contoh dari Hybrid protocol ini diantaranya adalah
Zone Resolution Procotol (ZRP), Core Extraction Distributed Ad Hoc
Routing (CEDAR), dan Zone-based Hierarchical Link State (ZHLS).
2.5.3 Macam-Macam Routing Protocol Algorithm
Terdapat beberapa macam ad hoc routing protocol yang dapat
dipasang di atas MANET. Beberapa diantaranya adalah:
1. Ad-hoc On Demand Distance Vector
Algoritma Ad-hoc On Demand Distance Vector (AODV) diusulkan
oleh Charles E. Perkins dan Elizabeth M. Royer (Charles et al,
1999). Algoritma ini membuat rute yang menuju suatu node akan
diperoleh ketika dibutuhkan saja (on demand) tanpa ada
pemberitahuan secara periodik
dari node lain (periodic
advertisement). Keuntungan dari algoritma ini diantaranya
mencegah adanya routing loop, mengurangi kebutuhan
bandwidth (tidak membutuhkan periodic advertisement), dan
membuat mobile host beroperasi sebagai sebuah router.
Algoritma ini akan berfungsi optimal pada network yang
topologinya dinamis.
2. Dynamic Source Routing (DSR)
Dynamic Source Routing (DSR) dipublikasikan oleh David B.
Johnson dan David A. Maltz pada tahun 1996 (David B. Johnson et
al., 1999). Algoritma ini menggunakan konsep source routing,
dimana node pengirim secara eksplisit mendaftarkan node
berikutnya dalam header dari paket. Informasi tersebut
selanjutnya digunakan untuk mengindentifikasi node berikutnya
yang digunakan untuk mengirimkan paket kepada node tujuan.
Algoritma ini juga dapat beradaptasi dengan cepat terhadap
103
105
106
BAB
3|
Sebutan
Super Heavy
Heavy
Medium
Light
Micro
Rentang berat
>2000 kg
200 2000 kg
50 200 kg
5-50 kg
<5 kg
Contoh UAV
Global Hawk
A-160
Cypher
Neptune
Dragon Eye
108
Salah satu jenis UAV yang termasuk kedalam kategori micro dan cukup
banyak digunakan adalah quadcopter. UAV jenis ini memiliki ciri
khusus yang mudah dikenali yaitu memiliki empat buah baling-baling
motor yang digunakan sebagai penggeraknya. Gambar 3.1
menunjukkan salah satu contoh dari quadcopter.
3.1.4 AR.Drone
AR.Drone merupakan salah satu jenis quadcopter yang dikembangkan
oleh perusahaan Parrot, yang bermarkas di Paris. AR.Drone dapat
digunakan untuk kepentingan permainan, aeromodeling, dan
augmented reality. AR.Drone dapat dijalankan oleh beberapa
perangkat, seperti Windows, Linux, iPhone, dan Android melalui
jaringan nirkabel. AR.Drone tidak hanya digunakan sebagai permainan
saja, tetapi juga untuk kepentingan pendidikan dan penelitian. Hal ini
dikarenakan AR.Drone memiliki harga yang cukup terjangkau,
ukurannya yang tidak terlalu besar, serta sudah mendukung sistem
piranti keras dan piranti lunak yang dibutuhkan untuk melakukan
penelitian (Thomas, AR-Drone). Dalam hal ini piranti lunak yang
digunakan pada AR.Drone adalah Robot Operating System (ROS).
ROS merupakan sekumpulan dari package dan tool pembangun
perangkat lunak untuk robot. Setiap package atau aplikasi di dalam
ROS disebut node. Beberapa keuntungan digunakannya perangkat
lunak ROS, yaitu platform open source, dapat dikembangkan dengan
menggunakan berbagai bahasa permograman seperti C++, python dan
java. Serta dapat dijalankan pada berbagai platform seperti ARM CPUS
dan Xeon Clusters.
Sistem komputer
bawaan
Bentuk
Baterai
Kecepatan
Sistem pengamanan
Perangkat pendukung
116
117
Gambar 3.5. Posisi Pemasangan modul GPS dan XBee pada ARDrone
+
+
+
+
120
121
Posisi robot
ARDrone
(a)
(b)
Gambar 3.11. Skema ujicoba (a) skenario A dan (b) skenario B
123
Tampak pada gambar 3.12 setiap agen saling terhubung satu dengan
yang lain. Selain itu, formasi dari quadcopter juga berhasil
menyambungkan sink dan target.
Hasil penelitian lain yang akan dijelaskan pada subbab ini adalah
penerapan UAV untuk mendeteksi dan melakukan pelacakan suatu
objek. Untuk dapat melakukan pendeteksian dan pelajakan objek
diperlukan suatu alat yang berfungsi untuk menangkap gambar atau
merekam video mengenai objek yang akan dideteksi. Pada UAV jenis
quadcopter, yaitu AR.Drone, telah dilengkapi suatu sensor yang dapat
menangkap gambar maupun merekam video, sensor tersebut adalah
sensor kamera. Sensor ini diletakkan di bagian depan dan di bagian
bawah badan AR.Drone.
124
Tampak pada gambar 3.13 posisi dari sensor kamera pada AR.Drone.
Dengan adanya dua sensor kamera tersebut dapat difungsikan sebagai
pendeteksi objek yang berada di bagian depan maupun di bagian
bawah AR.Drone. Pada penelitian ini contoh objek yang akan dideteksi
adalah objek topi. Proses pendeteksian topi memiliki beberapa
tahapan. Tahapan awal dilakukan pengambilan bentuk gambar topi
yang ingin dideteksi, kemudian dilakukan proses pengolahan awal
atau pre-processing. Tujuan dari proses ini adalah untuk mencari
karakteristik atau ciri dari topi yang akan di deteksi. Perolehan ciri ini
disebut ekstraksi ciri. Setelah dilakukan ekstraksi ciri maka tahapan
selanjutnya adalah menentukan ciri mana yang paling
merepresentasikan dari objek topi yang ingin dideteksi karena tidak
semua ciri yang diperoleh memiliki tingkat representasi yang tinggi
sehingga hanya dipilih beberapa ciri yang paling merepresentasikan.
Proses pemilihan ciri ini disebut feature selection.
Setelah diperoleh ciri yang paling representatif, maka tahapan
selanjutnya adalah melakukan pencarian suatu algoritma yang
digunakan untuk melakukan pendeteksian objek topi. Fungsi dari
algoritma tersebut adalah membedakan objek mana yang ingin
125
dideteksi dan mana yang bukan. Dalam Ilmu Komputer, proses ini
disebut sebagai klasifikasi. Algoritma yang digunakan untuk melakukan
klasifikasi adalah algoritma Generalize Learning Vector Quantization
(GLVQ). Berdasarkan hasil eksperimen, algoritma ini telah mampu
mendeteksi objek yang ingin dideteksi. Penjelasan lebih lanjut
mengenai algoritma GLVQ terdapat pada subbab 3.3.1.3.
Pada proses implementasinya secara garis besar terbagi menjadi dua
tahapan. Pada tahap pertama dilakukan pengambilan gambar dari
kamera bawah AR.Drone serta implementasi program pengolahan
data gambar, program pelatihan dan program pengujian
menggunakan algoritma GLVQ. Keseluruhan program tersebut
berjalan pada komputer PC. Oleh karena itu, dapat dikatakan bahwa
proses pengerjaan tahap pertama adalah proses pengembangan yang
dilakukan tanpa menerbangkan AR.Drone. Diagram blok dari
keseluruhan proses tahap pertama dapat dilihat pada gambar 3.14.
126
127
128
(a)
(b)
(c)
130
a. Rata-rata
=
b. Kovarian
=
c. Dekomposisi Eigen
)(
11
11
1
11
b. Fungsi sigmoid
c.
( , )=
1+
d. Update bobot
133
( )=
(4.1)
(4.2)
134
W21
W2n
W22
W11
W12
W1n
W2n-1
W1n-1
135
=y
137
,
,
138
(a)
(b)
(c)
Gambar 3.25. Proses pengujian (a) posisi awal ARDrone (b) Pesisi
peletakan objek (c) hasil pendeteksian oleh ARDrone
139
Data yang dikirimkan bisa diterima oleh transceiver lain jika header
data yang dikirimkan sesuai antara pengirim dan penerima.
145
147
If (i==1) then
Posisi=simGetObjectPosition(qr,-1)
simSendData(sim_handle_all,0,posisiUpdateX,posisi[1]
,simGetObjectHandle(Antenna),3,3.1415*2,3.1415*2)
simSendData(sim_handle_all,0,posisiUpdateY,posisi[2]
,simGetObjectHandle(Antenna),3,3.1415*2,3.1415*2)
end
148
2. Formasi Lingkaran
Pembuatan pola lingkaran dimulai dengan dilakukannya
penetapan pola lingkaran yang akan digunakan, yaitu seberapa
besar lingkaran yang akan dibentuk nantinya. Besarnya lingkaran
ditentukan dari seberapa banyak quadcopter yang akan membuat
formasi, serta dari seberapa jauh jarak antar quadcopter yang
diinginkan. Jarak antar quadcopter memiliki keunggulan dan
kelemahan tersendiri, tergantung dari lingkungan yang akan
dijelajahi nantinya.
Pada pembuatan formasi yang menggunakan 6 quadcopter di
percobaan kali ini, akan digunakan lingkaran dengan jari-jari
berukuran 1.2 unit. Ukuran tersebut diukur berdasarkan ukuran
koordinat yang terdapat di V-REP. Jarak tersebut digunakan agar
formasi quadcopter tersebut mendapatkan ruang pandang untuk
eksplorasi yang cukup besar.
Setelah ukuran lingkaran ditentukan, quadcopter akan
menentukan posisi pemberhentiannya pada lintasan lingkaran.
Posisi tersebut ditentukan oleh pembagian secara merata dari
keseluruhan lintasan dengan jumlah quadcopter. Dalam percobaan
ini, pembagian lintasan diwakili dengan pembagian derajat dari
keseluruhan lintasan lingkaran, yaitu 3600. Dengan pembagian
tersebut, setiap quadcopter akan memiliki jarak yang sama antar
152
xi
153
155
3. Formasi Poligon
Pembuatan formasi poligon dilakukan dengan menggunakan
persamaan periodik tertentu sesuai dengan bentuk formasi
poligon yang diinginkan. Persamaan periodik itu nantinya akan
menentukan peran yang akan dijalankan oleh quadcopter.
Penentuan peran dilakukan dengan cara memetakan setiap
quadcopter ke suatu nilai persamaan periodik tersebut dengan
menggunakan rumus yang akan dirancang nantinya. Nilai setiap
quadcopter akan dibandingkan dengan tetangga di sebelah kiri dan
kanannya. Jika nilai persamaan suatu quadcopter lebih tinggi dari
tetangganya, maka quadcopter tersebut akan menjadi sudut.
Sebaliknya, jika nilainya lebih rendah, maka quadcopter tersebut
akan menjadi garis.
Setiap formasi yang dibentuk akan mempunyai persamaan
periodik masing-masing. Persamaan periodik yang digunakan
dipilih dengan menyesuaikan jumlah sudut dari formasi poligon
yang ingin dibuat dengan jumlah puncak gelombang yang ada dari
suatu persamaan periodik. Salah satu fungsi periodik yang cukup
mudah untuk digunakan adalah fungsi sin , dimana jumlah
puncaknya dapat diketahui dari variabel yang ada di depan
Quadcopter yang ada nantinya akan dipetakan pada persamaan
periodik tersebut, dengan menggunakan rumus pemetaan yang
disediakan khusus untuk suatu formasi poligon tertentu.
156
159
160
162
163
164
165
167
168
BAB
4|
171
3. Lipo battery
Merupakan sumber energi bagi robot saat bergerak. Baterai ini
memiliki tegangan 11.1v dan arus 1000mA.
4. Gyro sensor GS-12
Merupakan sensor untuk mengetahui perubahan kemiringan
robot, sehingga dapat membantu keseimbangan robot saat
berjalan seperti yang terlihat pada Error! Reference source not
found.. Data sensor accelerometer dibaca oleh CM-510 berupa
tegangan dan diterjemahkan dengan ADC (Analog Digital
Converter). Perubahan kemiringan yang dapat dideteksi yaitu dua
172
5. Cable header
Merupakan benda yang digunakan untuk menjepit kabel pada
badan robot sehingga tidak tersangkut saat robot bergerak.
6. Infrared sensor
Merupakan sensor yang dapat digunakan untuk mengetahui ada
tidaknya benda di depan sensor tersebut. Pada bioloid robot
sensor ini dipasang di muka robot.
7. Distance measurement sensor (DMS)
Merupakan sensor yang dapat digunakan untuk mengetahui
seberapa jauh benda yang ada didekatnya. Meskipun demikian
sensor ini memiliki jarak yang bisa diukur.
8. Wireless Communicator Zig110
Modul ini merupakan modul yang digunakan untuk komunikasi
antar device secara wireless, akan tetapi modul ini bersifat
opsional dan untuk paket default pembelian, Zig110 tidak
disertakan. Modul ini juga dapat berkomunikasi dengan IR receiver
dari Bioloid kit. Tampilan fisik zig100 dapat dilihat pada Gambar
4.4.
173
174
175
Robot soccer dan robot imitasi gerak memiliki bentuk fisik yang mirip
karena dirancang menggunakan basis komponen yang sama yaitu
Bioloid premium kit. Meskipun demikian terdapat sedikit perbedaan
karena pada robot soccer sebagian komponen penyusunnya diganti
dengan komponen alternatif, dimana hal ini tidak terjadi untuk kasus
robot imitasi gerak. Bentuk fisik robot soccer ditunjukkan oleh Gambar
4.8Gambar 4.8. Bentuk Fisik Robot Humanoid (Tampak belakang, tampak
samping, tampak depan), sementara bentuk fisik robot imitasi masih
mengikuti bentuk awal yang disediakan paket Bioloid, ditunjukkan
oleh Gambar 4.1.
176
177
Jika dilihat secara fisik ROS merupakan aplikasi yang berjalan di atas
sistem operasi linux. Meskipun demikian ROS dapat mengolah
beberapa macam aplikasi yang berjalan di atasnya. Dengan demikian
ROS berperan sebagai sistem operasi. Aplikasi yang dijalankan di atas
ROS diwujudkan sebagai node-node yang dapat berkomunikasi satu
sama lain. Node-node tersebut dapat berkomunikasi dengan pesan
yang disebut dengan topic. Pengirim pesan dikatakan sebagai
publisher topik sedangkan penerima pesan (pengakses pesan)
disebut sebagai subscriber topik. Untuk melihat bagaimana nodenode pada ROS berinteraksi, dapat dilakukan visualisasi dengan
rxgraph. Contoh rxgraphh dapat dilihat pada Gambar 4.11. Dalam
Gambar 4.11
terlihat bahwa node /kinect_base_link,
/kinect_base_link1, node /kinect_base_link2, node /kinect_base_link3,
dan node /rgbdslam mempublish topik /tf yang di-subscribe oleh node
/objects_database_node.
178
4.1.2.2 Roboplus
Roboplus merupakan aplikasi yang dibuat oleh Robotis Corporation
(produsen Bioloid) untuk mengembangkan piranti lunak untuk
mengendalikan/mengontrol Bioloid Kit. Aplikasi roboplus ini
sebenarnya tidak hanya ditujukan untuk Bioloid Kit saja, tetapi juga
Ollo Kit. Terdapat tiga subaplikasi yang disediakan oleh roboplus untuk
membuat kontrol pada Bioloid yaitu roboplus task, roboplus manager,
dan roboplus motion. Gambar aplikasi roboplus untuk kategori bioloid
kit dapat dilihat pada gambar 4.12.
179
181
Tugas Robot
Pembuatan robot dilakukan dengan tujuan mengikuti dan
menjuarai Kontes Robot Cerdas Indonesia divisi Robot Soccer
Humanoid League. Tugas robot ini adalah bermain bola dengan
aturan lomba yang digunakan dalam kompetisi.
2.
Lapangan
Lapangan yang digunakan dalam kompetisi robot ini dapat
diilustrasikan pada gambar 4.16.
182
Keterangan:
A. Panjang Lapangan: 600 cm
B. Lebar lapangan: 400 cm
C. Kedalaman gawang: 50 cm
D. Lebar gawang: 150 cm
E. Panjang goal area: 60 cm
F. Lebar goal area: 300 cm
G. Jarak penalti: 180 cm
H. Diameter lingkaran tengah: 120 cm
I. Lebar border strip (min): 70 cm
J. Jarak pole ke lapangan: 40 cm
Bola yang digunakan: bola tenis berwarna oranye ukuran standar
bola tennis.
3.
183
Peraturan Lomba
Peraturan lomba mengacu pada peraturan RoboCup Soccer
Humanoid League Kid Size. Pada peraturan lomba tersebut setiap
pertandingan dilakukan oleh dua tim, dengan masing-masing tim
tidak lebih dari tiga robot. Robot yang tidak mampu bermain
(tidak mampu berjalan dengan dua kaki, tidak dapat berdiri, atau
malfungsi lainnya) tidak diperbolehkan berpartisipasi dalam
pertandingan dan harus dikeluarkan dari lapangan. Penentuan
mampu atau tidaknya robot bermain tergantung pada keputusan
wasit. Wasit boleh meminta ketua tim untuk mendemonstrasikan
kemampuan robot kapan pun.
Robot yang tidak dapat bangun dari jatuh selama 20 detik akan
dikeluarkan dari lapangan selama 30 detik dan masuk kembali
sesuai peraturan. Pada setiap pertandingan, paling banyak dua
robot boleh digantikan oleh robot cadangan dari tim yang sama.
Robot pengganti boleh masuk ke lapangan setelah robot yang
digantikan dikeluarkan dari lapangan dan mendapat tanda dari
wasit. Pergantian posisi permainan tidak dianggap sebagai
substitusi. Robot dapat dikeluarkan dari lapangan untuk perbaikan
setelah mendapatkan izin dari juri. Robot dapat masuk kembali
setelah lebih dari 30 detik dikeluarkan, dengan posisi menghadap
tengah lapangan di salah satu dari dua ujung garis tengah sesuai
keputusan juri (Gambar 4.17. Reposisi robot ketika pelanggaran).
4. Spesifikasi
a. Robot harus berbentuk seperti manusia yang terdiri dari dua
kaki, dua lengan, satu kepala, yang terpasang pada sebuah
tubuh. Robot harus dapat berdiri dan berjalan dengan kakinya.
b. Tinggi robot (H) antara 30 cm hingga 60 cm, dengan luas tiap
kaki maksimal H2/30 , dan lebar saat tangan terentang kurang
dari 1,2H.
c. Sensor eksternal yang digunakan hanya boleh sensor suara
dengan frekuensi dan volume seperti pendengaran manusia
sedangkan kamera hanya boleh dipasang di kepala robot.
d. Pandangan robot harus kurang dari 180 derajat dan gerakan
putar kepala maksimal 270 derajat.
e. Sensor internal seperti sensor tegangan, arus, gaya, gerakan,
percepatan, boleh dipasang di bagian manapun dari robot.
184
185
186
apakah bola berada pada jarak yang dekat atau jauh. Jika bola masih
jauh maka robot penyerang akan mendekati bola. Jika bola sudah
dekat maka robot akan mengubah orientasi badannya menuju arah
gawang lawan, kemudian mengepaskan ke kaki robot dan
menendangnya. Jika robot tidak menemukan bola pada frame yang
diambil kamera, maka robot akan melakukan scanning guna mencari
bola. Jika sudah melakukan scanning tetapi tidak juga menemukan
bola maka robot akan mengubah orientasinya lalu melakukan
scanning lagi.
188
190
192
Dari Gambar 4.24 dapat dilihat bahwa melalui algoritma color filtering
tidak hanya diperoleh piksel-piksel pada frame gambar yang memiliki
nilai dalam rentang yang diinginkan, tetapi juga diperoleh data jumlah
piksel, letak minimum, dan letak maksimum piksel dalam koordinat
sumbu dan sumbu . Selanjutnya, data jumlah piksel nantinya dapat
digunakan untuk menentukan apakah objek yang diidentifikasi benarbenar objek yang dicari atau hanya noise. Selain itu, data koordinat
minimal dan maksimal piksel dapat digunakan untuk mengetahui titik
pusat massa objek yang diinginkan.
4.2.3.3 Algoritma Mencari Bola
193
27 }
28 return false;
29 }
194
3. Jika bola di sebelah depan kanan robot maka robot akan berjalan
ke samping kanan sambil maju seperti yang ditunjukan gambar
4.28.
4. Jika bola di sebelah depan kiri robot maka robot akan berjalan ke
samping kiri sambil maju seperti yang terlihat pada Gambar 4.29.
195
6. Jika bola di sebelah kiri robot maka robot akan berjalan ke samping
kiri seperti yang terlihat pada Gambar 4.31.
197
(a)
(b)
(c)
(d)
Pada Gambar 4.32. (a) dapat dilihat bahwa untuk berbagai kombinasi
nilai konstanta propostional (KP), steady state error tetap muncul
meskipun kecepatan aktual roda sudah konvergen. Pada gambar
tersebut juga dapat dilihat bahwa untuk nilai KP yang sangat besar
akan menimbulkan osilasi nilai kecepatan roda motor. Pada Gambar
4.32. (b), dapat dilihat bahwa kombinasi kontrol PI dapat
menghilangkan steady state error, walau masih terjadi osilasi yang
cukup besar sehingga sulit untuk konvergen. Pada Gambar 4.32. (c),
dapat dilihat bahwa kombinasi kontrol PD mampu untuk mencapai
konvergensi dengan cepat, meskipun sampai akhir state tetap ada
steady state error. Dengan menggabungkan ketika aspek tersebut
diperoleh hasil kontrol yang cepat dan tidak mengandung steady state
error seperti pada Gambar 4.32 (d).
198
Alur kontrol PID secara lengkap dapat dilihat pada Gambar 4.33.
1 static int r_old=0, e_old=0, e_old2=0;
2 ...
3 e_func = v_des - v_act;
4 r_mot = r_old + Kp*(e_func-e_old) + Ki*(e_func+e_old)/2
5
+ Kd*(e_func - 2* e_old + e_old2);
6 r_mot = min(r_mot, +100); /* limit output */
7 r_mot = max(r_mot, -100); /* limit output */
8 r_old = r_mot;
9 e_old2 = e_old;
10 e_old = e_func;
199
201
Proses utama yang diajukan, dimulai dari akusisi data gerak manusia
oleh sensor Kinect. Selanjutnya data tersebut dikirimkan oleh Kinect
ke komputer. Selanjutnya data dari Kinect tadi diolah oleh aplikasi
yang berjalan di atas ROS. Pertama kali data tersebut diakusisi oleh
aplikasi. Data yang diakusisi ini dibagi menjadi dua, yaitu data image
(citra objek) dan data depth yaitu data yang merepresentasikan jarak
relatif objek terhadap sensor Kinect .
4.3.2.2 Proses pada PC
204
205
Pada jaringan saraf tiruan sebuah node mewakili sebuah neuron dan
sebuah koneksi mewakili sebuah hubungan antar neuron. Setiap
koneksi diasosiasikan dengan sebuah nilai bobot (vektor pewakil).
Pada setiap koneksi pulalah sinyal yang diberikan oleh neuron
mengalir dan dikalikan dengan bobot.
207
208
data aritmia. Dengan menggunakan vektor pewakil fuzzy ketidakpastian suatu kelas dapat diturunkan.
Psedudo code algoritma FNGLVQ dapat dilihat pada Gambar 4.42.
Algiritma FNGLVQ
Require: X in round-robin mode
Inisialisasi bobot vektor W
Initialize learning rate 0
Initialize maximum iteration tmax
t0
while t 0 or t < tmax do
for xi X do
1 similaritasTerdekat1(x,W) di mana Cx =Cwi
2 similaritasTerdekat2 (x,W) di mana dj =max j /\ j i (dj)/\( Cx =Cwi )
if 1 > 0 OR 2 > 0 then
mce =
1 = 2.
(1 )
(2 )
{adjust prototype 1}
for w1,i w1 do
if w1,i,min < xi w1,i,mean then
2 = 2.
( + 1)
,,
( ) .
,,
.(
( + 1)
end if
end for
,
( )+ .
,,
( + 1)
( + 1)
( + 1)
,,
,,
( )+ .
.(
.(
( )
( + 1)
end if
end for
,
( ) .
,
.(
( + 1)
( + 1)
( )
{adjust prototype 2}
for w2,i w2 do
if w2,i,min < xi w2,i,mean then
209
,,
( )
( )
( )
)
)
( )
,
( )
( )
,
else
{Decrease Fuzziness}
,
,
. 1+( . )
. 1+( . )
. 1( . )
,
. 1( . )
end if
else
{Increase Fuzziness for all vector ref.}
for wj W do
,
,
. 1+( . )
,
,
,
end for
end if
end for
end while
( + 1) =
. 1+( . )
210
211
212
213
214
right_shoulder_elbow.Normalize()
rh = right_elbow_hand.Normalize()
right_shoulder_hand.Normalize()
right_shoulder_lift_angle =
asin(right_shoulder_elbow.y())
right_shoulder_pan_angle = asin(right_elbow_hand.x())
- self.HALF_PI
right_elbow_angle = -acos(KDL.dot(right_shoulder_elbow,
right_elbow_hand)) * 4
right_wrist_angle = -right_elbow_angle / 2.0
right_elbow_angle = right_elbow_angle / 4.0
#foot
left_hip_torso = self.skeleton['position']['left_hip'] self.skeleton['position']['torso']
right_hip_torso = self.skeleton['position']['right_hip']
- self.skeleton['position']['torso']
left_knee_hip = self.skeleton['position']['left_knee'] self.skeleton['position']['left_hip']
right_knee_hip = self.skeleton['position']['right_knee']
- self.skeleton['position']['right_hip']
left_foot_knee = self.skeleton['position']['left_foot']
- self.skeleton['position']['left_knee']
right_foot_knee =
self.skeleton['position']['right_foot'] self.skeleton['position']['right_knee']
left_hip_torso.Normalize()
right_hip_torso.Normalize()
left_knee_hip.Normalize()
right_knee_hip.Normalize()
left_foot_knee.Normalize()
right_foot_knee.Normalize()
#base_to_left_hip_angle = - asin(left_hip_torso.z()) * 4
+ self.HALF_PI
#base_to_right_hip_angle = - asin(left_hip_torso.z()) *
4
left_hip_to_split_angle = -asin(left_knee_hip.x()) #+
self.HALF_PI
right_hip_to_split_angle = -asin(right_knee_hip.x()) #self.HALF_PI
left_hip_split_to_upper_angle = -asin(left_knee_hip.z())
#- self.HALF_PI
right_hip_split_to_upper_angle =
asin(right_knee_hip.z()) #- self.HALF_PI
215
left_knee_angle = acos(KDL.dot(left_knee_hip,
left_foot_knee))
right_knee_angle = -acos(KDL.dot(right_knee_hip,
right_foot_knee))
216
/right_shoulder_lift_joint/command
/righthip_split_to_upper/command
/left_ankle/command
/left_shoulder_lift_joint/commnad
/left_ankle_roll/command
/left_knee/command
/base_to_right_hip/command
/right_hip_to_split/command
/left_elbow_joint/command
/right_ankle/command
/base_to_left_hip/command
/right_ankle_roll/command
/right_knee/command
217
--type=simple
left_knee
left_ankle
left_elbow_joint
right_shoulder_lift_joint
right_ankle
right_shoulder_pan_joint
base_to_left_hip
right_elbow_joint
left_shoulder_pan_joint
left_hip_split_to_upper
right_ankle_roll
base_to_right_hip
left_hip_to_split
right_hip_to_split
left_ankle_roll
right_hip_split_to_upper
right_knee
left_shoulder_lift_joint"
output="screen"/>
<node name="dynamixel_manager"
pkg="dynamixel_controllers" type="controller_manager.py"
required="true" output="screen">
<rosparam>
namespace: dxl_manager
serial_ports:
pan_tilt_port:
port_name: "/dev/ttyUSB0"
baud_rate: 1000000
min_motor_id: 1
max_motor_id: 18
update_rate: 20
</rosparam>
</node>
</launch>
218
219
Hasil screenshot dari implementasi ini dapat dilihat pada Gambar 4.47.
(a)
(b)
221
(c)
(d)
222
No
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Gerakan
Jalan ke depan
Jalan ke belakang
Jalan ke kanan
Jalan ke kiri
Jalan ke depan kanan
Jalan ke depan kiri
Tendang dengan kaki kanan
Tendang deagan kaki kiri
Putar ke kanan
Putar ke kiri
Hadang ke kanan
Hadang ke kiri
Tinju ke depan
223
224
225
if (self.skeleton['position']['left_foot'].y() self.skeleton['position']['right_foot'].y()) /
self.shoulder_width > 0.7:
return True
return False
def arms_crossed(self):
if self.confident(['left_elbow', 'right_elbow',
'left_hand', 'right_hand']):
if copysign(1.0,
self.skeleton['position']['left_elbow'].x() self.skeleton['position']['right_elbow'].x()) == \
-copysign(1.0,
self.skeleton['position']['left_hand'].x() self.skeleton['position']['right_hand'].x()):
return True
return False
def move_forward(self):
if self.confident(['torso']):
if (self.jarak_awal - self.jarak_kini) > 0.2:
return True
return False
def move_backward(self):
if self.confident(['torso']):
if (self.jarak_kini - self.jarak_awal) > 0.2:
return True
return False
#gerakan belum teruji
def rr_punch(self):
if self.confident(['right_shoulder','right_hand']):
if(self.skeleton['position']['right_shoulder'].x()
- self.skeleton['position']['right_hand'].x() < -0.35):
return True
return False
def rf_punch(self):
if self.confident(['right_shoulder','right_hand']):
if(self.skeleton['position']['right_shoulder'].z()
- self.skeleton['position']['right_hand'].z() > 0.35):
return True
return False
def ll_punch(self):
if self.confident(['left_shoulder','left_hand']):
if(self.skeleton['position']['left_shoulder'].x()
- self.skeleton['position']['left_hand'].x() > 0.35):
return True
return False
226
def move_right(self):
if self.confident(['torso']):
if (self.posisi_kini_x - self.posisi_awal_x) >
0.2:
return True
return False
def move_left(self):
if self.confident(['torso']):
if (self.posisi_kini_x - self.posisi_awal_x) < 0.2:
return True
return False
def turn_left(self):
if self.confident(['left_shoulder','right_shoulder']):
if(self.skeleton['position']['left_shoulder'].z()
- self.skeleton['position']['right_shoulder'].z() > 0.2):
return True
return False
def turn_right(self):
if self.confident(['left_shoulder','right_shoulder']):
if(self.skeleton['position']['left_shoulder'].z() self.skeleton['position']['right_shoulder'].z() < -0.2):
return True
return False
227
elif self.turn_left():
command = "PUTAR KIRI"
self.kirim(4)
elif self.turn_right():
command = "PUTAR KANAN"
self.kirim(8)
elif self.gestures['move_forward']():
command = "MAJU"
if self.move_right():
command += " KANAN"
self.kirim(9)
elif self.move_left():
command += " KIRI"
self.kirim(5)
else:
self.kirim(1)
elif self.gestures['move_backward']():
command = "MUNDUR"
self.kirim(2)
elif self.move_left():
command = "KIRI"
self.kirim(6)
elif self.move_right():
command = "KANAN"
self.kirim(10)
else:
command = "STOP"
self.kirim(0)
228
229
No.
1.
2.
3.
4.
5.
6.
7.
8.
9
10.
11.
Pergerakan
Standby
Move Right
Move Left
Move Forwareg
Turn Right
Turn Left
Move Backward
Right Kick
Left Kick
Right Punch
Left Punch
Jumlah Sample
400
400
400
400
400
400
400
400
400
400
400
230
12.
13.
400
400
Fold
1.
2.
3.
4.
5.
6.
7.
8.
9
10.
Rata- Rata
Accuracy (%)
99.81
100.00
99.81
100.00
99.81
100.00
99.81
99.81
99.81
99.81
99.87
Kappa
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
1.0
Pada bab ini telah dijelaskan rancangan fisik robot humanoid dan
komponen-komponen yang dipergunakan dalam merakit robot
humanoid. Selain itu, telah dijelaskan pula penerapan dan aplikasi
robot humanoid tersebut untuk pertandingan robot soccer dan robot
imitasi.
Pada penelitian robot humanoid peluang pengembangan robot masih
cukup terbuka, mengingat robot humanoid dirakit menggunakan
paket yang dijual bebas dan disertakan dengan perangkat developer
kit yang baik. Selain itu, terdapat alternatif lain untuk mendapatkan
komponen rakitan robot dengan kombinasi kelengkapan yang
berbeda. Pada pengembangan selanjutnya, diharapkan robot
humanoid memiliki pergerakan yang lebih lugas dengan peningkatan
spesifikasi komponen yang lebih baik. Sistem kecerdasan sangat
231
232
5. Daftar Pustaka
Albert Huang, et.al, Visual Odemetry For GPS-Denied Flight And
Mapping
Using
A
Kinect,
http://groups.csail.mit.edu/rrg/index.php?n=Main.
VisualOdometryFor GPS-DeniedFlight, 21 Juni 2012.
Arjomandi Mazier, (2006), Classification of Unmanned Aerial
Vehicle, The University of Adelaide.
Ahmad Hafidh. (2011). Simulasi Perluasan Jaringan Telekomunikasi
secara Otonom dengan Mobile Robot di daerah Bencana
menggunakan Open Dynamic Engine, Fakultas Ilmu
Komputer, Universitas Indonesia.
Bager Zarei , Mohammad Zeynali dan Vahid Majid Nezhad Novel
,(2010), Cluster Based Routing Protocol in Wireless Sensor
Networks, IJCSI International Journal of Computer Science
Issues, Vol. 7, Issue 4, No 1, July 2010 .
Bernard Kolman dan David R. Hill, (2004), Elementary Linear
Algebra 8th Edition. New Jersey: Pearson International
Edition.
Bresciani, T. (2008). Modelling, Identification and Control. Lund:
Department of Automatic Control Lund University.
Charles E. Perkins dan Elizabeth M. Royer. (1999), Ad-hoc OnDemand Distance Vector Routing, In Proceedings Of The 2nd
Ieee Workshop On Mobile Computing Systems And
Applications.
David B. Johnson, David A. Maltz dan Josh Broch , (1999), DSR: The
Dynamic Source Routing Protocol for Multi-Hop Wireless Ad
Hoc Networks, Mobile Computing The Kluwer International
Series in Engineering and Computer Science Volume 353,
1996, pp 153-181
Deza, M. M., dan Deza, E. (2009). Encyclopedia of Distances. New
York: Springer.
Documentation, http://www.ros.org/wiki/, 18 Juni 2012.
233
234
236
6. Glosarium
Automata
Ad-hoc routing protocol
Merupakan
implementasi
intelligence
salah
dari
satu
swarm
Cartesian
Cluster
Cluster Head
Contour
Cost Function
237
Dead reckoning
Feature
Full autonomy
Gait
Gradient Descent
Integer
Komputasi Cloud
ladar
Latency
berusaha
diminimalisasi/maksimalisasi
suatu prosedur matematis untuk
menentukan posisi sebuah kapal
pada suatu saat menggunakan
pengetahuan
mengenai
posisi
sebelumnya
dan
perkiraan
perpindahan yang dialami kapal
tersebut dalam suatu periode waktu
Derajat kebebasan pada lengan
robot
Mekanisme berbelok menggunakan
prinsip perbedaan arah rotasi roda
pada sisi yang berbeda
Pada pembelajar mesin
menunjukkan ciri khusus dari input
data. Umumnya berdimensi lebih
dari dua
Derajat robot dalam bergerak
otonom tanpa campur tangan
manusia
Pada bidang robotika, menunjukkan
total kemungkinan kombinasi kaki
dalam bergerak
Pada permasalahan optimalisasi,
merupakan metode untuk mencari
lokal optimum
Nilai bilangan bulat pada komputer
dengan rentang terbatas. Mesin 32bit memiliki rentang 0 - 4 GB
Komputasi menggunakan sumber
daya tak terbatas yang tersimpan
dalam sistem cloud
Teknologi pemindaian untuk
membuat mapping 3D lokal
menggunakan gelombang laser
waktu tunggu yang terjadi dalam
sistem
238
Library
Lokomotif
Mitigasi
Motion Planning
Motion Planner
Orthogonal
Otonom
Overhead
Path Discovery
239
Quadcopter
Radar
Remote
Robot Al-Fath
Berjarak
robot yang telah dikembangkan
untuk
kepentingan
penelitian
pencarian sumber kebocoran gas
atau sering disebut dengan istilah
Odor Source Localization (OSL).
Roll
Route Table Management
Scalability
240
Skid Steering
Stagnasi
String
Threshold
Turbo Jet
Unmanned Aerial Vehicle
Variabel
Wireless
Yaw
241
Zigbee
242
7. Daftar Indeks
A
Accelerometer ..................................... 174
ADC...................................... 171, 172, 174
ad-hoc network.................................... 100
agent...................................................... 87
Al-Fath ........ 54, 67, 71, 89, 90, 96, 98, 240
AMR............................................... 96, 237
Analog Digital Converter ..................... 172
Ant Colony Optimization ..................... 237
Application Programming Interface ..... 92,
176
AR Drone ............................................. 115
Artificial Intelligence.... 176, 250, 251, 252
Asimo..................................................... 24
Autonomous ............................ 23, 87, 149
Mobile Robot............................ 96, 237
B
Backtracking .................................... 70, 75
Bandwidth-constrained ....................... 101
Base station ......................................... 104
Bidirectional ........................................ 101
Binary image........................................ 130
Bioloid
kit 173
Premium Kit .................................... 190
BTS........ 87, 89, 92, 95, 96, 97, 98, 99, 241
Bullet physics engine ........................... 143
C
Capacity link ........................................ 101
Carrier.................................................... 85
CCD .............................................. 130, 131
Checksum ............................................ 190
Child object.................................. 145, 146
Circular movement .............. 153, 159, 161
Complete graph ............................... 75, 76
Constraint Force Mixing ........................ 63
Constriction Factor ................................ 81
Contour................................................ 130
Controller ....171, 180, 201, 210, 216, 218,
225, 228
243
D
Data ...17, 85, 87, 89, 90, 92, 99, 104, 111,
126, 128, 129, 130, 131, 133, 135, 145,
153, 170, 177, 181, 190, 203, 205, 212,
216, 217, 218, 223, 225, 230, 239, 241
Dead Reckoning .....................................82
Destination Sequenced Distance Vector
........................................................102
Distance ....................... 59, 61, 67, 96, 173
sensor.................................... 61, 67, 78
sensor beam......................................67
Distributed
Bellman-Ford...................................102
Dummy object .....................................145
E
Encoder............................................83, 90
Energy-constrained operation .............101
Error..................................... 133, 134, 138
Reduction Parameter ........................63
Extended
Position By Line......... 59, 60, 75, 76, 77
F
Feature
extraction........................................131
Fixed
-cable ..............................................101
network...........................................101
Floodfill ............................................70, 76
Frame.....................................................62
G
Gain factor ...........................................133
Generalized Learning Vector Quantization
........................................................234
Global
H
Handle ................................................. 146
Hardware..................................... 115, 170
Hardwired link ..................................... 101
Header................................. 103, 145, 173
Host ..................................... 100, 101, 102
Hover................................................... 113
Hybrid Protocol ................................... 103
I
IMU.............................. 111, 115, 116, 144
Inertial force ........................................ 181
Inertial Measurement Unit .......... 109, 111
Initialization........................................... 62
International Federation of Robotics .... 17
IR receiver............................................ 173
J
Joint states .................................. 212, 214
L
Lagrange multiplier velocity .................. 62
Launcher...............212, 217, 218, 219, 224
Leader-Follower................................... 148
Learning Vector Quantization.............. 133
Library...................61, 63, 67, 94, 177, 202
Linux .................................... 116, 176, 202
Local best................81, 82, 89, 95, 99, 241
Localization...............67, 82, 84, 89, 95, 97
LVQ ...................................................... 133
M
Mac...................................................... 202
MANET..................100, 101, 102, 237, 239
Microsoft Kinect .................. 177, 201, 202
Minimum Spanning Tree ........... 59, 75, 77
N
Node ......60, 61, 77, 78, 79, 85, 91, 93, 95,
100, 101, 102, 103, 104, 127, 136, 178,
216, 237, 239, 240
Noise ....................................................101
Novel Cluster Based Routing................104
Numerical Control Machine Tools .........26
O
Obstacle Avoidance ............. 148, 149, 236
Odor Source Localization ............... 54, 240
Offset Servo .........................................173
On Demand Protocol ...........................102
Open Dynamic Engine... 61, 62, 63, 67, 68,
70, 71, 74, 75, 76, 77, 79
P
Packet drop............................................99
Particle Swarm Optimization .. 81, 94, 239,
241
Path................................ 59, 67, 69, 74, 76
Planning ................................ 67, 69, 75
PCA............................................... 131, 132
Physics Engine......................................143
Pitch .....................................................113
Pixel ............................. 116, 135, 136, 137
Point-to-point ........................................91
Position By Line. 57, 58, 59, 60, 61, 69, 75,
77, 78, 89, 96, 97
Preprocessing ......................................129
Prim .......................................................77
Proactive Protocol ...............................102
244
Q
Quadcopter .110, 111, 112, 113, 114, 115,
144, 145, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, 158, 159,
160, 161, 162, 164, 166
Quadratic Optical Encoder .................... 83
Quartenion matrix ................................. 68
R
Range............................................. 72, 100
Reactive protocol................................. 102
Real Time Operating System ................. 89
Received Signal Strength Indicator 85, 240
Receiver......................................... 85, 174
Remote control.................................... 107
Repeat time ......................................... 181
Roboplus...................... 179, 180, 181, 182
Roboplus Manager .............................. 180
Robot Arm ....................................... 26, 27
Robot Humanoid ................................. 170
Robot Operating System ............. 136, 176
Roll................................................. 68, 113
ROS ......127, 136, 176, 177, 178, 179, 202,
203, 212, 218, 228
ROS electric ......................................... 202
Route Table Management ................... 240
Router.......................................... 101, 103
Routing ...79, 100, 102, 103, 104, 237, 239
Routing protocol.................................. 102
RSSI.......................................... 85, 95, 240
S
Script ............143, 144, 145, 146, 147, 149
Self
-configured ..................................... 100
Sensing .................................................. 57
Sensor proximity......................... 146, 148
servo motor ......................................... 180
Signal ................................... 144, 145, 248
Stability-based Adaptive Routing.... 102
Simulation loop ..................................... 62
245
Single object.........................................130
Sink ...60, 61, 72, 77, 78, 79, 80, 89, 95, 97
Skeleton Tracking.................................212
Software. 92, 115, 170, 179, 200, 202, 228
Source
routing ............................................103
Tree Adaptive Routing ....................102
Spanning Tree ......................................104
Speed Rate ...........................................181
Substructure ........................................237
Swarm intelligence...............................237
T
Table-driven.........................................102
Take off ................................................114
Target.....57, 59, 60, 61, 67, 70, 71, 72, 74,
75, 77, 78, 79, 80, 89, 91, 96, 149, 150,
159
Threshold ................................... 60, 77, 82
Throughput ..........................................101
Transceiver...................................144, 145
U
UART ...................................... 92, 175, 190
Ultrasonic Range Sensor ......................111
Unidirectional ......................................101
Unified robot description file...............213
Unimate .................................................23
Universal Asynchronous Receiver
/Transmitter....................................190
Unmanned Aerial Vehicle . 5, 49, 107, 235,
236, 241
URDF ....................................................213
User......................................................149
V
Velocity Vector.......................................81
Vertex ....................................................76
Virtual
Robot Experimentation Platform ....142
V-REP .. 142, 143, 144, 145, 146, 147, 149,
150, 152, 164, 166
W
Windows ..............................................202
Wireless
connection........................................ 79
Routing Protocol............................. 102
sensor ............................................... 84
sensor network ................................. 84
transmission ................................... 144
X
X-Bee........................ 84, 87, 91, 92, 93, 95
Z
Zigbee ...................................... 84, 85, 242
Zone
-based Hierarchical Link State.........103
Resolution Procotol.........................103
246
8. Profil Penulis
Nama: Dr. Eng. Wisnu Jatmiko, S.T., M.Kom.
TTL: Surabaya, 16 Desember 1973
Pekerjaan: Dosen / Staf Akademis
Institusi: Fakultas Ilmu Komputer, Universitas Indonesia
Email: [email protected]
Interest: Robotika, Embedded System
Quote: Tidak ada tanggal merah di kalender saya, 247
merupakan angka terbaik setiap minggunya
247
248
249
250
251
252
253