Laporan KP 101511019
-
Upload
rifki-asfari -
Category
Documents
-
view
146 -
download
4
Transcript of Laporan KP 101511019
Pembuatan dan Pemrograman Soccer Robot
Untuk Pengikutsertaan Pertandingan
Robo Soccer Humanoid League
POLBAN LABORATORY
OF ROBOTICS
LAPORAN KERJA PRAKTEK
Diajukan untuk memenuhi syarat kelulusan Mata Kuliah Kerja Praktek
Disusun oleh :
Muhammad Taufik Hidayat NIM. 101511019
PROGRAM DIPLOMA III TEKNIK KOMPUTER DAN INFORMATIKA
POLITEKNIK NEGERI BANDUNG
2012
ii
Pembuatan dan Pemrograman Soccer Robot
Untuk Pengikutsertaan Pertandingan
Robo Soccer Humanoid League
POLBAN LABORATORY
OF ROBOTICS
Disusun oleh :
Muhammad Taufik Hidayat NIM.101511019
Laporan Kerja Praktek ini Telah Diperiksa dan Disahkan
di Bandung, Tanggal
Pembimbing JTK Polban,
Setiadi Rachmat, M.Eng.
NIP.19690404 199803 1 001
Pembimbing Industri,
Dr. Eril Mozef, MS., DEA
NIP. 132262138
Ketua Program Studi D III Teknik Informatika
JTK Polban
Irwan Setiawan, S.Si, M.T.
NIP. 19800419 200501 1 002
iii
KATA PENGANTAR
Segala puji dan syukur saya panjatkan kehadirat Allah SWT karena atas berkat
rahmat dan hidayah-Nya kita masih diberikan kesehatan dan keselamatan. Shalawat
serta salam tidak lupa saya ucapkan pada junjungan kita Nabi Besar Muhammad
SAW, beserta keluarga, sahabat dan seluruh umatnya hingga akhir zaman dimana
semoga kita termasuk didalamnya.
Pada kesempatan kali ini, penulis menyampaikan rasa terimakasih kepada:
Bapak Eril Mozef, selaku pembimbing sekaligus penanggung jawab yang terkait
dengan tempat diselenggarakannya kerja praktik, yang dalam hal ini ialah
laboratorium robotika Politeknik Negeri Bandung. Terimakasih atas kesempatan
yang telah diberikan kepada penulis untuk melakukan kerja praktik di
laboratorium tersebut dan segala fasilitas yang diberikan guna menunjang
pelaksanaan kerja praktik dengan baik.
Bapak Setiadi Rachmat, selaku pembimbing kerja praktik dari pihak jurusan.
Terimakasih kami ucapkan atas perhatian dan bimbingan bapak.
Tim kerja praktik Jurusan Teknik Komputer dan Informatika Politeknik Negeri
Bandung tahun 2010 yang tidak bisa disebutkan satu persatu. Terima kasih telah
memfasilitasi, memberikan pembekalan serta motivasi untuk melaksanakan kerja
praktik ini.
Seluruh pihak yang telah terlibat dalam kelancaran kerja praktik ini dan belum
disebutkan di atas, penulis ucapkan terima kasih.
Terakhir, kepada rekan-rekan satu tempat kerja praktik yang telah bersama-sama
belajar, menimba ilmu dari apa yang telah kita lakukan selama berlangsungnya kerja
praktik ini, semoga apa yang kita dapatkan bermanfaat untuk bekal kita kedepan.
Bandung, Agustus 2012
Penulis
iv
ABSTRAKSI
Laboratorium robotika merupakan tempat bagi tim Robotika Politeknik Negeri
Bandung (Polban) sebagai salah satu UKM yang bergerak dalam bidang pembuatan
dan pemrograman robot untuk keperluan kompetisi robot yang diselenggarakan setiap
tahun oleh DIKTI. Bertemunya tujuan tim robot untuk menjuarai kompetisi tersebut
dengan kesempatan kerja praktik yang diselenggarakan Jurusan Teknik Komputer
(JTK) Politeknik Negeri Bandung membuat kami sebagai anggota tim robotika
sekaligus mahasiswa JTK berkesempatan untuk melaksanakan kerja praktik pada
laboratorium robotika milik Polban.
Kerja praktik yang dilakukan melibatkan pembuatan robot untuk salah satu
kategori kompetisi robot, yakni Robo Soccer. Jenis kompetisi ini mengharuskan
dibuatnya robot humanoid sehingga mampu bertanding sepak bola dengan sesama
robot soccer lainnya. Untuk keperluan tersebut, digunakanlah sebuah kit robot yang
merupakan komponen-komponen pembentuk rangka robot yang berbentuk sedimikian
sehingga mudah untuk dibuat robot untuk kemudian dapat diprogram.
Pada pembuatan dan pemrograman robot yang dilakukan selama kerja praktik,
yang dikerjakan masih terbatas pada pembuatan robot dalam memenuhi kebutuhan
kemampuan untuk dapat berjalan dengan baik. Walaupun terasa seperti hal yang
sederhana, namun pada kenyataannya banyak ditemui kendala selama dilakukannya
kerja praktik. Hal tersebut disebabkan antara lain karena dilakukannya pembuatan
rangka robot yang menyesuaikan kebutuhan kompetisi sehingga gerakan jalan
standard yang diberikan oleh pabrik perlu dilakukan penyesuaian dengan tepat.
Pelaksanaan kerja praktik ini hanya berlangsung sekitar satu bulan dikarenakan
waktu yang disediakan oleh jurusan untuk pelaksanaan kerja praktik telah terpotong
oleh pengerjaan robot lainnya, yakni robot untuk kejuaraan DIKTI dalam bidang
robot seni dan pelaksanaan UAS jurusan yang tertunda.
v
DAFTAR ISI
KATA PENGANTAR ..................................................................................................iii
ABSTRAKSI ................................................................................................................ iv
DAFTAR ISI .................................................................................................................. v
DAFTAR TABEL ........................................................................................................ vii
DAFTAR GAMBAR ..................................................................................................viii
DAFTAR LAMPIRAN ................................................................................................. ix
BAB I PENDAHULUAN ......................................................................................... 1
I.1 Latar Belakang KP .......................................................................................... 1
I.2 Perumusan/Identifikasi Masalah ..................................................................... 1
I.3 Ruang Lingkup KP .......................................................................................... 2
I.4 Tujuan KP ....................................................................................................... 3
I.5 Tahapan KP ..................................................................................................... 3
I.6 Lokasi dan Waktu KP ..................................................................................... 3
I.7 Sistematika Penulisan ...................................................................................... 4
BAB II PROFIL PERUSAHAAN ............................................................................ 5
II.1 Tinjauan Umum Perusahaan ........................................................................... 5
II.2 Deskripsi Kerja ................................................................................................ 5
BAB III PANGETAHUAN DAN PERANGKAT PENDUKUNG ......................... 6
III.1 Pengetahuan Pendukung .............................................................................. 6
III.2 Perangkat Pendukung .................................................................................. 7
BAB IV ANALISIS DAN EVALUASI ................................................................... 9
IV.1 Gambaran Sistem Robot Bioloid Premium ................................................. 9
IV.2 Analisis Elemen Sistem ............................................................................. 10
IV.3 Evaluasi Hasil Analisis .............................................................................. 15
IV.4 Kesimpulan Requirement .......................................................................... 16
BAB V PERANCANGAN ..................................................................................... 17
BAB VI IMPLEMENTASI .................................................................................... 23
V.1 Implementasi Gyroscope ............................................................................... 23
V.2 Implementasi Modul Pandangan ................................................................... 31
vi
BAB VII PENUTUP ............................................................................................... 34
VII.1 Kesimpulan ................................................................................................ 34
VII.2 Saran .......................................................................................................... 35
DAFTAR PUSTAKA .................................................................................................. 36
LAMPIRAN ................................................................................................................. 37
vii
DAFTAR TABEL
Tabel 1. Spesifikasi Gyroscope ............................................................................... 12
Tabel 2. Daftar ID tiap servo yang terhubung dengan CM-510 .............................. 20
Tabel 3. Nilai-nilai yang terdapat dalam kotak Region Growing ............................ 32
viii
DAFTAR GAMBAR
Gambar 1. Logo Unit Kegiatan Mahasiswa Robotika Polban ............................... 5
Gambar 2. Contoh kode yang memiliki tipe file *.tsk ........................................... 7
Gambar 3. RoboPlus Motion untuk membuat gerakan robot ................................. 8
Gambar 4. Penampakan RoboPlus Manager .......................................................... 8
Gambar 5. CM-510 ............................................................................................... 10
Gambar 6. Dynamixel AX-12A ........................................................................... 11
Gambar 7. Gyroscope 2-axis ................................................................................ 12
Gambar 8. Alur komunikasi HaViMoGUI terhadap HaViMo ............................. 13
Gambar 9. Alur sistem robot Bioloid ................................................................... 14
Gambar 10. Ilustrasi pemasangan bahu kanan bagian dalam ................................ 18
Gambar 11. Ilustrasi pemasangan servo untuk lengan kanan ................................ 18
Gambar 12. Ilustrasi pemasangan servo pad badan bagian bawah ........................ 19
Gambar 13. (A) Ilustrasi pemasangan servo pada kedua kaki. (B) Ilustrasi
komposisi pemasangan servo pada kaki kanan ............................................................ 19
Gambar 14. Ilustrasi servo robot beserta ID-nya ................................................... 21
Gambar 15. Wujud Robot Bioloid Jenis Humanoid Tipe-A .................................. 22
Gambar 16. Potongan kode proses inisialisasi gyro (kalibrasi) ............................. 25
Gambar 17. Kendali proporsional .......................................................................... 27
Gambar 18. Grafik perbandingan sinyal dengan menggunakan kendali P (A) dan
tanpa menggunakan kendali P (B) ............................................................................... 28
Gambar 19. Pengolahan kendali P dari nilai gyroscope ........................................ 28
Gambar 20. Potongan kode penerapan variabel offset pada servo ........................ 29
Gambar 21. Flowchart pengolahan gambar menggunakan HaViMo..................... 31
ix
DAFTAR LAMPIRAN
Logbook 1. Pengerjaan Robot Seni ....................................................................... 37
Logbook 2. Logbook Kerja Praktik Pekan Pertama .............................................. 42
Logbook 3. Logbook KP Pekan Kedua ................................................................. 48
Logbook 4. Logbook KP Pekan Ketiga ................................................................. 54
Logbook 5. Logbook KP Pekan Keempat ............................................................. 60
1
BAB I
PENDAHULUAN
I.1 Latar Belakang KP
Kerja Praktik (KP) merupakan salah satu mata kuliah yang terdapat dalam
kurikulum Jurusan Teknik Komputer (JTK).Mata kuliah ini diperuntukkan bagi
mahasiswa/i JTK sebagai sarana untuk dapat menunjukkan kemampuan dan
keahliahlian pada dunia kerja secara langsung sekaligus agar dapat memperoleh
softskill dan hardskill tambahan yang belum sempat diterima oleh mahasiswa/i.
Pada tahun 2012, Kerja Praktik dilaksanakan selama lebih kurang dua bulan,
dimulai dari tanggal pertengahan Juni hingga pertengahan Agustus.Dengan bekal
softskill dan hardskill yang telah diberikan jurusan selama empat semester
diharapkan mahasiswa/i dapat turut membantu pihak industri/perusahaan dalam
mengerjakan pekerjaan-pekerjaannya khususnya yang terkait dengan proyek IT
yang sedang dikerjakan oleh industri/perusahaan tersebut.
I.2 Perumusan/Identifikasi Masalah
Kompetisi robotika di Indonesia yang diselenggarakan oleh DIKTI
merupakan kompetisi tahunan yang diikuti kampus-kampus di seluruh Indonesia.
Polban merupakan salah satu kampus yang tim robotikanya aktif mengikuti
kompetisi tersebut dan telah mampu meraih prestasi juara yang memuaskan pada
beberapa kategori perlombaan, khususnya kategori pemadam api beroda.
Tim robotika Polban merupakan tim yang biasa mempersiapkan robotnya jauh
sebelum diselenggarakannya kompetisi guna membuat robot yang handal agar
mampu kembali mejuarai kompetisi berikutnya.Seperti kompetisi sebelumnya,
untuk kompetisi robot mendatang, Polban berkeinginan mengikuti divisi robot
cerdas kategori robot soccer.
Pada kompetisi sebelumnya, tim robotika kategori robot soccer belum berhasil
menjadi juara dikarenakan beberapa hal yang kurang dipersiapkan dengan baik
karena memang waktu yang diluangkan oleh tim dalam mebuat robot sangat
sedikit sekali dan pembuatan yang tergolong mendadak mendekati hari kompetisi.
Salah satu kendala yang terlihat sangat menghambat tim dalam menjuarai
2
kompetisi yang lalu yaitu robot masih tidak mampu berjalan dengan baik
dikarenakan adanya perubahan dimensi robot sehingga tidak lagi mendukung
gerakan jalan robot yang sesuai untuk dimensi robot yang asli buatan pabrikan kit
robotyang dimiliki sehingga robot sering sekali terjatuh ketika bertanding.Hal
tersebut membuat robot tidak dapat bertanding dengan baik sehingga kalah dalam
pertandingannya. Hal lainnya yang menjadi penghambat ialah tidak dipenuhinya
aturan pertandingan yang mengharuskan robot soccer pada satu tim memiliki
wireless dengan maksud agar robot dapat dikontrol oleh wasit untuk memulai
pertandingan sekaligus agar robot sesama rekan tim dapat saling melakukan
komunikasi sehingga tercipta kerjasama tim dengan baik. Tidak terpenuhinya
aturan tersebut membuat tim dikenakan penalty waktu sehingga tim harus
menunggu selama sekitar tig puluh detik setelah pertandingan dimulai baru dapat
mengikuti pertandingan tersebut.
Belajar melalui pengalaman agar kesalahan yang dilakukan tidak terjadi
kembalipada kompetisi robot soccer berikutnya, maka perlu disiapkan dengan
matang gerakan robot sehingga mampu bertanding dengan baik, salah satunya
ialah gerakan jalan robot sehingga robot tidak terlalu sering terjatuh. Selain itu
diperlukan pula pemahaman wireless untuk bisa ditanamkan pada robot sehingga
mampu mendukung kebutuhan robot agar mampu saling berkomunikasi untuk
menampilkan strategi permainan yang baik yang pada akhirnya mampu menjuarai
kompetisi.
I.3 Ruang Lingkup KP
Ruang lingkup pekerjaan yang dilakukan selama masa kerja praktik terbatas
pada perakitan robot hingga pemrograman robot untuk memenuhi kebutuhan
berjalan robot memanfaatkan fasilitas sensor gyroscope dan perangkat kemera
HaViMo yang berperan sebagai vision module untuk keperluan pendeteksian bola.
Pemrograman dilakukan menggunakan bahasa tingkat tinggi yang disediakan
oleh pabrik dan sangat terbatas dalam pembuatan variabel. Gyroscope yang
digunakan merupakan sensor yang terdapat dalam kit yang juga disediakan oleh
pabrik pembuat kit robotnya. Sedangkan, untuk vision module yang digunakan
memiliki kualitas gambar VGA dan software kalibrasi warnanya bersifat freeware
yang didapat lewat internet.
3
I.4 Tujuan KP
Tujuan dari kerja praktik yang dilakukan diantaranya adalah sebagai berikut:
Analisis cara kerja gyroscope dan penerapannya pada kit robot bioloid
premium.
Analisis cara kerja kamera HaViMo dan penerapannya pada kit robot bioloid
premium.
Membuat robot yang mampu berjalan dengan seimbang.
Membuat mekanisme yang membuat kamera HaViMo dapat mengikuti suatu
objek yang diinginkan.
Membuat robot yang dapat berjalan mengarah pada objek yang diinginkan
dengan menerapkan tujuan-tujuan sebelumnya.
I.5 Tahapan KP
Tahapan-tahapan yang dilalui selama kegiatan Kerja Praktik berlangsung
adalah sebagai berikut:
Perakitan robot menggunakan kit robot pabrikan Bioloid yaitu Bioloid
Premium Kit.
Melakukan pemrograman robot secara sederhana sehingga robot mampu
menerapkan gerakan jalan dengan menggunakan sensor gyroscope yang
tersedia.
Mengubah-ubah (tuning) nilai konstanta kendali proporsional yang
berpengaruh terhadap keseimbangan robot dalam melakukan gerakan
berjalan.
Membangun struktur pemasangan kamera pada robot.
Memrogram kamera agar selalu mengikuti objek yang diinginkan.
I.6 Lokasi dan Waktu KP
Pelaksanaan kerja praktik dilakukan selama lebih kurang dua bulan berawal
dari tanggal 18 Juni hingga 10 Agustus 2012. Namun, waktu kerja praktik yang
diberikan terpotong dikarenakan adanya keperluan untuk mempersiapkan
kompetisi robotika yang lalu, sehingga waktu yang tersedia tersisa hanya satu
4
bulan saja. Lokasi kerja praktik yang diambil ialah Laboratorium Robotika Polban
dikarenakan waktu yang tersisa tersebut sehingga sulit kalau harus melakukan
kerja praktik di industri hanya dalam waktu satu bulan saja. Selain itu, dipilihnya
Laboratorium Robotika Polban juga atas dasar keinginan dan kesepakatan jurusan
dengan pihak pembina tim Robotika Polban.
I.7 Sistematika Penulisan
Sistematika penulisan laporan kerja praktik, antara lain:
Bab 1 Pendahuluan menjelaskan latar belakang, identifikasi masalah, ruang
lingkup, tujuan, tahapan, lokasi, dan waktu KP serta sistematika penulisan.
Bab 2 Profil Perusahaan menjelaskan tinjauan umum perusahaan, struktur
organisasi, dan deskripsi kerja.
Bab 3 Pengetahuan dan Perangkat Pendukung menerangkan pengetahuan
dasar dan perangkat apa saja yang dibutuhkan dan digunakan dalam
menyelesaikan tugas selama masa kerja praktik.
Bab 4 Analisis dan Evaluasi menjelaskan gambaran sistem, deskripsi sistem,
evaluasi dan requirement sistem dalam ranah sistem robot.
Bab 5 Perancangan menjelaskan rancangan pembuatan rangka robot yang
dikerjakan.
Bab 6 Implementasi memaparkan penerapan teknologi sensor dalam
pembuatan robot beserta masalah yang dihadapi
Bab 7 Penutup berisi kesimpulan dan saran.
5
BAB II
PROFIL PERUSAHAAN
Pada bab ini diuraikan sekilas tentang tempat pelaksanakan kerja praktik yang
dipilih. Perusahaan yang dinyatakan pada bab ini bukanlah perusahaan industri
pada umumnya, melainkan merupakan sebuah laboratorium robotika, yakni
sebuah tempat yang berfungsi sebagai pusat pembelajaran dan riset mahasiswa
yang tergabung ke dalam UKM Robotika Polban dalam mengerjakan robot-robot
untuk dikompetisikan.
II.1 Tinjauan Umum Perusahaan
Unit Kegiatan Mahasiswa Robotika Politeknik Negeri Bandung, merupakan
kokurikuler yang bergerak di bidang penelitian riset dan pembuatan robot, yang
dibimbing langsung oleh dosen-dosen pembimbing, didukung, dan dibiayai oleh
institusi Politeknik Negeri Bandung. Tiap tahunnya unit robotika ini membuat
robot-robot baru oleh generasi-generasi mahasiswa untuk dilombakan di beberapa
kompetisi. Robot yang rutin hapir tiap tahunnya di buat yaitu, robot cerdas
pemadam api, robot pemain sepak bola, dan robot seni.
Gambar 1. Logo Unit Kegiatan Mahasiswa Robotika Polban
II.2 Deskripsi Kerja
Selama masa kerja praktik, tugas yang diamanahi ialah sebagai programmer
sekaligus perancang rangka robot. Programmer dibutuhkan agar mampu
menggerakan robot sesuai dengan yang diinginkan. Sedangkan, perancang
berperan dalam membuat rangka robot sehingga mendukung untuk melakukan
pergerakan yang diinginkan.
6
BAB III
PENGETAHUAN DAN PERANGKAT PENDUKUNG
Selama masa kerja praktik, pengetahuan dalam mengerjakan tugas yang
diberikan dapat bervariasi. Dapat dikatakan bahwa pengetahuan selalu dibutuhkan
oleh industri manapun, walaupun pengetahuan yang dituntut untuk dikuasai akan
bermacam-macam. Pengetahuan yang baik akan membuat pengerjaan lebih
mudah untuk dikerjakan. Dengan pengetahuan pula langkah yang diambil dalam
mengerjakan sesuatu akan lebih terarah. Pada bab ini akan dijelaskan hal-hal apa
saja yang mendukung pengerjaan tugas selama kerja praktik.
III.1 Pengetahuan Pendukung
Dalam melaksanakan kerja praktik (KP), terdapat pengetahuan yang
diperlukan untuk mendukung pengerjaan terhadap hal-hal yang harus dikerjakan.
Pengetahuan pendukung tersebut berperan dalam menyelesaikan tugas-tugas yang
menjadi tanggung jawab selama KP. Selama pelaksanaan KP di laboratorium
untuk pembuatan dan pemrograman robot, dirasa tidak terlalu banyak
pengetahuan yang sifatnya mendukung penyelesaian tugas. Walaupun demikian,
tetap ada pengetahuan yang diperlukan untuk mendukung pengerjaan tugas-tugas
selama KP. Pengetahuan pendukung yang dibutuhkan tersebut antara lain ialah:
Dasar-dasar Pemrograman
Ilmu ini diterapkan pada saat melakukan pemrograman terhadap robot.
Dengan dimilikinya ilmu pengetahuan ini, maka tidak sulit
untukmemahamisource code yang didapat sekaligus dapat mengubahnya
sesuai kebutuhan.
PID Controller
Dalam menggunakan sensor gyroscope untuk melakukan penyeimbangan
dalam berjalan, maka perlu dilakukan manipulasi terhadap nilai yang
dikeluarkan oleh sensor tersebut.Manipulasi tersebut perlu dilakukan
berdasarkan ilmu kontrol PID. Pada dasarnya, robot hendak dibuat agar stabil
dalam keadaan seimbang ketika berjalan. Dengan menerapkan ilmu ini, maka
nilai sensor dapatdikontrol dengan baik sehingga kestabilan robotdalam
berjalan dapat tercapai.
7
III.2 Perangkat Pendukung
Dalam mengerjakan tugas-tugas yang diberikan selama kerja praktik,
digunakan berbagai perangkat yang sifatnya sangat mendukung dalam pengerjaan
tugas membuat dan memrogram robot. Perangkat pendukung yang digunakan
berupa perangkat keras (hardware) dan perangkat lunak (software).
Perangkat keras (hardware) yang digunakan terbatas pada laptop dan
seperangkat peralatan yang terdapat dalam kit robot yang termasuk di dalamnya
ialah sensor gyroscope serta kamera HaViMo sebagai modul pandangan (vision
module) robot. Sedangkan, perangkat lunak (software) sebagai tools yang penulis
gunakan selama masa kerja praktik terbatas pada software kalibrasi kamera
HaViMo (HaViMo GUI) dan RoboPlus yang merupakan software yang termasuk
di dalam kit robot.
RoboPlus merupakan perangkat lunak yang berisi perangkat lunak lainnya
untuk menunjang pemrograman robot dan pembuatan gerakan robot serta
memiliki manual (guide) tentang komponen-konponen yang terdapat di dalam kit.
Berikut merupakan perangkat lunak yang terdapat pada RoboPlus:
RoboPlus Task
Merupakan perangkat lunak yang berperan sebagai tools untuk memrogram
robot dengan bahasanya sendiri yang tergolong berbeda dengan bahasa
pemrograman yang pernah dipelajari. Dalam menulis sintaks pemrograman,
programmer harus terlebih dahulu menentukan jenis sintaks yang diinginkan,
kemudian software akan membuatkan sintaks tersebut untuk kemudian
diisikan hal yang diinginkan.
Gambar 2. Contoh kode yang memiliki tipe file *.tsk
8
RoboPlus Motion
Perangkat lunak ini merupakan tools untuk membuat gerakan robot. Dalam
membuat gerakan, perangkat lunak ini memiliki layanan sehingga sikap
badan robot yang telah dibentuk secara manual dapat ditangkap untuk
kemudian dapat disimpan sebagai satu “Step” robot. Satu Step tersebut
terdapat dalam “Page”, sehingga ketika satu Page dipanggil, maka kumpulan
Step yang terdapat dalam Page tersebut akan dieksekusi secara berurutan dari
Step pertama hingga Step terakhir (dengan jumlah Step maksimal sebanyak
tujuh Step).
Gambar 3. RoboPlus Motion untuk membuat gerakan robot
RoboPlus Manager
Perangkat lunak ini berperan sebagai tools untuk memantau keadaan
controller robot, yakni sebuah device yang bertindak sebagai pusat kendali
robot. Dengan menggunakan perangkat lunak ini semua device yang
terhubung dengan controller akan terpantau keadaannya. Dengan perangkat
lunak ini dapat pula diketahui keadaan servo yang terhubung dengan
controller, seperti diantaranya ID servo, posisi servo, suhu, tegangan,
kecepatan putar gear servo, torsi, hingga beban yang ditopang servo.
Gambar 4. Penampakan RoboPlus Manager
9
BAB IV
ANALISIS DAN EVALUASI
Ketika kerja praktik pertama kali dilakukan, tugas-tugas yang diberikan untuk
diselesaikan pasti memiliki permalahan yang harus diselesaikan. Permasalahan
tersebut berikut ruang lingkupnya hendaknya dianalisis dan diuraikan. Dengan
dilakukannya analisis, maka langkah untuk mengerjakan tugas yang diberikan pun
akan terbentuk dengan jelas.
IV.1 Gambaran Sistem Robot Bioloid Premium
Bioloid Premium merupakan kit robot yang diproduksi oleh ROBOTIS. Kit
tersebut terdiri dari berbagai komponen dengan bentuk yang berbeda-beda yang
dapat dirakit ke dalam berbagai bentuk yang memungkinkan, salah satunya
membentuk rangka seperti manusia, yang lebih dikenal dengan sebutan humanoid.
Pada dasarnya, sistem robot yang dimiliki bioloid terdiri dari satu controller yang
mengendalikan sejumlah servo dengan jumlah maksimal sebanyak 25 servo.
Controller yang digunakan ialah CM-510, yakni seperangkat microcontroller
yang dilengkapi dengan lampu LED sebagai indikator dan sejumlah Port yang
memungkinnya menerima nilai sensor-sensor yang dimiliki pengguna. Sedangkan,
servo yang dikendalikan ialah Dynamixel bertipe AX-12A yang merupakan servo
digital yang dibekali dengan berbagai sensor di dalamnya sehingga membuatnya
menjadi servo digital yang tergolong canggih.
Robot dapat diprogram menggunakan RoboPlus Task. Kemudian kode yang
tidak terdapat error dapat di-download ke dalam CM-510 dengan keadaan robot
menyala menggunakan kabel khusus yang mampu menjembatani hubungan antara
komputer dengan robot. Kemudian, untuk menjalankan robot yang telah
diprogram, robot harus terlebih dahulu dinyalakan, lalu dengan menekan tombol
“MODE” pindahkan indikator LED pada bagian “PLAY”, lalu tekan tombol
“START” untuk membuat robot menjalankan program yang telah di-download ke
dalam CM-510.
10
Gambar 5. CM-510
Pada gambar di atas, yang dilingkari garis putus-putus berwarna merah
merupakan port untuk menerima sinyal sensor analog, sedangkan yang berwarna
biru merupakan port untuk kabel khusus penghubung antara CM-510 dengan
servo dynamixel. Untuk kebutuhan dayanya, CM-510 dapat menggunakan batere
ataupun adapter, sedangkan port PC-link berperan agar controller dapat
terhubung dengan komputer menggunakan kabel serial yang disediakan pada kit
robot.
IV.2 Analisis Elemen Sistem
Dalam menjalankan sistem robotnya, robot Bioloid Premium bekerja dengan
cara memberikan perintah pada aktuator yang dalam hal ini merupakan servo
Dynamixel bertipe AX-12A untuk berada pada posisi tertentu yang diinginkan.
Serangkaian pergerakan sejumlah aktuator ke posisi yang diinginkan tersebutlah
yang kemudian membuat robot dapat melakukan gerakan.
Untuk dapat mengendalikan servo (aktuator) yang terhubung dengan
controller, seluruh servo harus terlebih dahulu dikenal dan diberi identitas oleh
11
controller, sehingga servo yang satu dengan yang lain dapat dibedakan. Pembeda
identitas servo merupakan sebuah ID. Servo-servo yang terhubung pada satu
controller yang sama tidak boleh memiliki ID yang sama, jika sama, maka servo
dengan ID yang sama seluruhnya tidak akan terbaca oleh controller. Perubahan ID
servo dapat dilakukan melalui software RoboPlus Manager.
Gambar 6. Dynamixel AX-12A
Program yang dibuat menggunakan RoboPlus Task dapat langsung
mengendalikan servo Dynamixel dengan parameter ID servo atau dengan cara
menjalankan Page yang telah di-download pada robot. Penggunaan Page
dikhususkan untuk membuat pengendalian seluruh servo sekaligus pada satu
waktu. Sedangkan, pengendalian servo menggunakan ID lebih digunakan untuk
pengendalian satu servo pada satu waktu yang lebih dimanfaatkan untuk
keperluan yang spesifik.
Demi memenuhi kebutuhan robot agar bisa berjalan dengan baik, maka robot
harus mampu mempertahankan dirinya dalam keadaan setimbangnya. Dengan
tujuan tersebut maka diperlukan suatu cara sehingga mampu mempertahankan
postur robot berada pada keadaan setimbang, yaitu dengan memanfaatkan sensor
yang memberikan respon terhadap perubahan. Pada masa kerja praktik, sensor
yang tersedia untuk kebutuhan tersebut ialah gyroscope, yakni sensor yang
memberikan respon terhadap kecepatan sudut.
12
Gambar 7. Gyroscope 2-axis
Sensor gyroscope yang digunakan merupakan sensor yang tersedia pada kit
robot dan memang diperuntukkan untuk penyeimbangan gerakan jalan robot.
Sensor ini memiliki 2-axis dengan masing-masing axis memiliki tiga buah pin
untuk kebutuhan tegangan, ground, dan penghasil sinyal analognya. Selain untuk
mengukur kecepatan sudut, sensor ini dapat dimanfaatkan untuk mengetahui ke
arah mana robot dimiringkan. Berikut tabel keterangan nilai sensor gyroscope
tersebut:
Nilai output 455
←
250
→
45
Kecepatan sudut +3000/s 0
0/s -300
0/s
Nilai tegangan 2,23 V 1,23 V 0,23 V
(Nilai standard tegangan vcc adalah 5 v)
Tabel 1. Spesifikasi Gyroscope
Berdasarkan tabel tersebut dapat diketahui bahwa ketika kecepatan sudutnya
nol (diam), nilai keluarannya berkisar 250, namun ketika tiba-tiba dimiringkan ke
salah satu axis, nilai keluaran maksimumnya ialah 450 dan nilai keluaran
minimumnya 45. Pada nilai kecepatan sudut, tanda bilagan menandakan arah
pergerakan kemiringan.
Selain membutuhkan keseimbangan dalam berjalan, robot soccer yang hendak
dibuat juga harus mampu mendeteksi bola yang memang menjadi inti dari
kompetisi soccer. Dalam hal mendeteksi bola, yang dalam hal ini merupakan
sebuah objek nyata, maka diperlukan suatu alat yang memungkinkan robot untuk
mendeteksi objek-objek nyata. Oleh karena itu, disimpulkan bahwa robot
13
memerlukan suatu modul pandangan yang membuat robot mampu menangkap
keadaan dunia nyata sekaligus mampu mencirikan suatu objek. Dengan landasan
tersebutlah dipilih sebuah kamera sebagai modul pandangan robot. Kamera
tersebut bernama HaViMo yang dirancang sehingga sesuai untuk dipasangkan
pada kit robot bioloid yang digunakan.
HaViMo merupakan modul pandangan yang ditemukan oleh Hamid
Muballegh, terdiri dari chip kamera CMOS terintegrasi dengan frame yang
dihasilkan beresolusi 160 * 120 piksel, sebuah mikrokontroler ATMega8 dengan
kapasitas memori 8 bit, dan bagian-bagian lainnya yang menunjang penggunaan
modul ini. Terdapat dua pin penghubung, yang pertama terdiri dari empat pin dan
yang kedua terdiri dari tiga pin yang digunakan untuk komunikasi dengan robot
bioloid dengan mode half duplex sehingga data dapat ditransmisikan atau diterima
secara dua arah, namun tidak dapat dilakukan secara bersamaan.
HaViMo merupakan modul pemroses gambar yang berbasiskan warna,
memiliki tabel warna yang terintegrasi di dalamnya sehingga bisa digunakan
untuk menampung warna yang diinginkan. Untuk keperluan pengolahan tabel
tersebut maka dapat digunakan software pengkalibrasi kamera HaViMo yang
bernama HaViMo GUI. Software ini mampu melakukan pengaturan kamera dan
mendefinisikan tabel warna yang dimiliki HaViMo juga dapat mengambil gambar
mentah dari HaViMo.
Gambar 8. Alur komunikasi HaViMoGUI terhadap HaViMo
Gambar di atas merupakan alur komunikasi yang terjadi ketika
pengkalibrasian kamera dilakukan. HaViMo akan mengirim tabel warna
berbentuk flash ke dalam CM-510. Ketika kamera diperintahkan mengambil
14
gambar oleh HaViMoGUI maka gambar mentah akan disampaikan kamera ke
HaViMoGUI melalui CM-510.
Untuk proses pengkalibrasian warna, mekanisme yang dilakukan ialah
membuat kamera menangkap gambar. Kemudian, hasil gambar mentahnya berikut
data-datanya diterima oleh HaViMo GUI. Ketika gambar yang telah ditangkap
tampil pada HaViMo GUI, maka pengguna hanya tinggal menekan tombol “ctrl”
+ klik kiri pada warna yang dikehendaki untuk disimpan. Untuk proses
penyimpanan warnanya, sebelum menekan tombol “ctrl” + klik kiri, pengguna
harus terlebih dahulu memilih salah satu penampung warna dari jumlah
keseluruhan sebanyak tujuh penampung warna yang disajikan dengan radio
button.
Berdasarkan komponen-komponen pendukung terbentuknya robot soccer
yang telah disebutkan di atas, maka dapat disimpulkan bahwa CM-510 menjadi
pusat kendali atas semua komponen. Sedangakan, pemrograman CM-510 itu
sendiri dilakukan melalui software RoboPlus sehingga terbentuk sebuah
mekanisme seperti yang diilustrasikan oleh gambar 9.
Gambar 9. Alur sistem robot Bioloid
15
IV.3 Evaluasi Hasil Analisis
Dalam penerapannya, untuk membuat robot humanoid yang dapat bermain
sepak bola dengan baik, maka HaViMo dan gyroscope harus dapat digunakan
secara bersama-sama. Hal tersebut dibutuhkan karena robot akan terus berjalan
mengejar bola dimana untuk keperluan pengejaran tersebut pendeteksian objek
dengan baik sangat diperlukan begitu juga dengan keseimbangan yang baik.
Untuk pemakaian gyroscope maka diperlukan suatu modul program yang
menerima sinyal sensor, modul yang terus menerus dieksekusi dalam interval
waktu yang telah ditentukan. Pada modul tersebutlah nilai gyro diolah untuk
keperluan penyesuaian postur tubuh agar berada pada keadaan setimbangnya.
Sedangkan, untuk pemakaian kamera, pada program harus ada perintah yang
mengakses alamat kamera secara langsung sehingga penangkapan gambar akan
dilakukan oleh HaViMo.
Dalam membuat proses berjalan robot agar berlangsung dengan seimbang,
maka nilai sensor harus diolah untuk mengatur postur robot secara langsung.
Dengan dilakukannya hal tersebut maka postur robot dapat dikontrol
menggunakan parameter sensor tersebut, yakni gyroscope. Untuk menunjang
kebutuhan “selalu mengontrol” postur robot, maka kebutuhan pembacaan sensor
secara berkala pada suatu interval tertentu harus dilakukan, karena dengan begitu
nilai sensor dapat terpantau dengan baik, sehingga apabila ada perubahan nilai
sewaktu-waktu, program dapat menangkap perubahan tersebut untuk kemudian
melakukan penyesuaian postur robot agar tetap berada pada posisi setimbangnya.
Sebenarnya, dalam membahas kesetimbangan postur robot yang memiliki
keterkaitan terhadap posisi setimbang, maka akan lebih dibutuhkan sensor yang
mampu memberikan informasi terkait posisi daripada informasi terkait kecepatan
sudut. Hal tersebut dibutuhkan karena untuk membuat robot berada pada postur
setimbangnya, maka perlu dipertahankan sudut kemiringan badan robot agar tetap
berada pada titik setimbangnya, dengan kata lain, diupayakan agar sudut
kemiringan badan robot selalu nol terhadap titik setimbangnya. Dengan
memperhatikan sudut kemiringan, maka informasi posisi akan sangat dibutuhkan
untuk melakukan pembenaran postur. Salah satu sensor yang memberikan
kebutuhan tersebut ialah accelerometer, sensor yang tidak tersedia ketika
pelaksanaan kerja praktik berlangsung.
16
IV.4 Kesimpulan Requirement
Berdasarkan hasil evaluasi analisis di atas, maka disimpulkan bahwa
kebutuhan yang diperlukan dalam membentuk robot soccer yaitu:
Sistem robot mampu membuat postur robot berada pada keadaan
setimbangnya sehingga tidak mudah jatuh
Sistem robot mampu mendeteksi bola pada pertandingan
Sistem robot mampu mengetahui posisi bola
Sistem robot dapat mengetahui kapan saatnya harus berjalan cepat dan
saatnya berjalan pelan
Sistem robot mampu membuat robot menendang bola pada pertandingan ke
arah gawang musuh
Sistem robot mampu berkomunikasi dengan robot satu tim sehingga mampu
membentuk kerjasama untuk memenangkan pertandingan
17
BAB V
PERANCANGAN
Untuk dapat membentuk robot soccer dengan dua kaki, maka diperlukan
pembuatan sebuah robot berjenis humanoid. Berdasarkan kebutuhan tersebut,
digunakanlah kit bioloid premium yang diproduksi oleh Robotis. Kit ini terdiri
dari bermacam-macam komponen yang dapat dirangkai ke dalam berbagai bentuk
yang diinginkan, salah satunya menjadi robot humanoid, yakni robot yang
memiliki bentuk seperti manusia.
Dalam buku manual yang termasuk ke dalam paket kit, dijelaskan bagaimana
cara merangkai komponen-komponen pada kit tersebut menjadi bentuk humanoid
dengan tiga jenis robot humanoid yang berbeda, yakni jenis A, B, dan C. Pada
masa kerja prakti, jenis robot yang dipilih ialah robot humanoid jenis A untuk
membangun rangka robot soccer yang hendak diprogram. Selain itu, dibuatnya
robot berjenis humanoid dikarenakan pembuatan robot ini dilakukan untuk
diikutsertakan dalam kompetisi robot soccer yang menerapkan aturan agar
digunakannya robot humanoid.
Dalam merangkai robot, selain komponen rangka robot, servo Dynamixel
juga terlibat secara langsung. Tanpa servo tersebut, rangkaian komponen hanyalah
serangkaian yang tidak dapat digerakkan. Ketika melibatkan perangkaian robot
menggunakan servo, maka pemasangan komponen terhadap servo tidak dapat
dilakukan secara sembarangan, karena servo memiliki posisi sehingga untuk
membentuk robot humanoid yang baik, penempelan komponen terhadap posisi
servo harus diperhatikan seperti yang dijelaskan dalam buku manual.
Robot yang dirakit memiliki spesifikasi servo sebagai berikut:
Bagian Lengan
Terdapat dua servo pada bagian bahu dalam, masing-masing untuk bahu
bagian kiri dan bagian kanan. Pemasangan dua servo ini dilakukan saling
membelakangi (dengan acuan bagian poros servo yang dapat diputar sebagai
bagian depan) sehingga membuat kedua servo dapat diputar secara vertikal.
18
Gambar 10. Ilustrasi pemasangan bahu kanan bagian dalam
Kemudian, yang dilakukan selanjutnya ialah pemasangan bahu luar atau
lengan bagian atas. Servo yang berada pada bagian ini dihubungkan dengan
bahu dalam dengan perantara komponen. Sedangakan, lengan bagian bawah
dihubungkan dengan lengan bagian atas untuk membentuk bagian sikut.
Hubungan antar servo juga dihubungkan melalui perantara komponen. Untuk
keperluan lengan bawah dan lengan atas, maka memerlukan servo sebanyak
empat buah untuk lengan bagian kiri dan bagian kanan, masing-masing
sebanyak dua buah. Sehingga, jumlah pemakaian servo untuk bagian lengan
ada sebanyak enam buah.
Gambar 11. Ilustrasi pemasangan servo untuk lengan kanan
Bagian Badan
Pada bagian badan bawah, terdapat dua servo untuk membantu tungkai kaki
diputar secara horizontal. Dengan kebutuhan dua servo ini, maka jumlah
servo yang dibutuhkan seluruhnya (pada lengan dan badan) ada sebanyak
delapan buah servo. Pada ilustrasi berikut, bagian yang diberi warna biru
merupakan poros servo yang membantu perputaran kaki secara horizontal.
19
Gambar 12. Ilustrasi pemasangan servo pad badan bagian bawah
Bagian Kaki
Pada bagian ini, masing-masing tungkai kaki membutuhkan servo sebanyak
lima servo, yakni dua servo untuk tungkai kaki bagian atas, satu servo pada
bagian lutut, dan dua servo pada bagian tungkai kaki bawah sehingga jumlah
keseluruhan servo (pada lengan, badan, dan kaki) yang diperlukan ada
sebanyak 18 buah. Bagian kaki merupakan bagian yang membutuhkan servo
paling banyak. Hal tersebut dikarenakan kaki berperan dalam menopang
beban robot sehingga membutuhkan banyak servo agar memiliki tenaga yang
lebih, juga agar beban robot terdistribusi dengan jumlah yang kecil sehingga
tidak cepat merusak servo karena kelebihan beban yang harus ditopangnya.
(A) (B)
Gambar 13. (A) Ilustrasi pemasangan servo pada kedua kaki. (B) Ilustrasi
komposisi pemasangan servo pada kaki kanan
20
Setelah perakitan rangka robot selesai, maka langkah selanjutnya ialah
pemberian ID untuk masing-masing servo menggunakan RoboPlus Manager.
Berikut disajikan tabel yang memberikan informasi ID untuk masing-masing
servo yang terhubung dengan CM-510 (controller).
ID Bagian robot
1 Bahu dalam bagian kanan
2 Bahu dalam bagian kiri
3 Lengan atas bagian kanan
4 Lengan atas bagian kiri
5 Lengan bawah bagian kanan
6 Lengan bawah bagian kiri
7 Badan bawah bagian kanan
8 Badan bawah bagian kiri
9 Tungkai kaki atas bagian belakang bagian kanan
10 Tungkai kaki atas bagian belakang bagian kiri
11 Tungkai kaki atas bagian depan bagian kanan
12 Tungkai kaki atas bagian depan bagian kiri
13 Lutut bagian kanan
14 Lutut bagian kiri
15 Pergelangan kaki bagian depan bagian kanan
16 Pergelangan kaki bagian depan bagian kiri
17 Pergelangan kaki bagian belakang bagian kanan
18 Pergelangan kaki bagian belakang bagian kiri
Tabel 2. Daftar ID tiap servo yang terhubung dengan CM-510
21
Berikut pemberian ID yang disajikan dalam bentuk ilustrasi robot:
Gambar 14. Ilustrasi servo robot beserta ID-nya
Selain servo, tentunya sensor gyroscope juga perlu dipasang. Sensor ini
dipasang di dalam rangka robot tepat di tengah badan robot, di atas antara tungkai
kaki kiri dan kaki kanan. Posisi tersebut memang disediakan sebagai tempat
pemasangan gyroscope. Gyroscope harus terpasang kokoh pada rangka robot
sehingga tidak tergoyang ketika robot melakukan gerakan. Selain itu, posisi
gyroscope diletakkan di tengah rangka robot, membuat kemiringan robot ke arah
depan dan belakang maupun kiri dan kanan memiliki nilai perbandingan yang
cenderung ekuivalen. Walaupun dalam penerapannya sensor gyroscope akan
dibuat untuk melakukan kalibrasi posisi dahulu untuk keperluan titik
setimbangnya.
Ketika perakitan robot dilakukan sesuai dengan bentuk bioloid tipe-A, maka
kendali pusat robot tersebut, yakni CM-510, memegang 18 servo. Kemudian,
karena dinilai perlunya pemasangan modul pandangan, maka diperlukan dua servo
tambahan untuk menunjang pergerakan kamera dalam mengeikuti objek yang
dideteksi sehingga memiliki jumlah total dua puluh servo. Memerlukan dua servo
tambahan karena kamera harus mengikuti objek yang terdeteksi baik secara
horizontal maupun vertikal. Dua servo tersebut di letakkan pada bagian kepala
agar robot mampu memiliki jangkauan pandang yang luas.
Untuk menunjang kebutuhan komunikasi, maka robot sebaiknya diperkaya
dengan modul komunikasi yang memanfaatkan wireless sebagai media
rambatnya. Namun, kendala yang muncul dengan kebutuhan ini ialah pemasangan
22
modul wiznet yang memiliki dimensi yang cukup besar sehingga dapat memberi
beban tambahan dan dapat mengganggu kesetimbangan robot. Oleh karena itu,
perlu ditemukan alternatif lain selain wiznet yang mampu menunjang kebutuhan
komunikasi secara wireless.
Sebagai tambahan, penulis mendapat saran dari pembimbing robotika bahwa
sebaiknya robot diberi mikrokontroler tambahan. Mikro ini berfungsi sebagai
pengendali tingkah laku robot, dengan kata lain, jika dianalogikan robot humanoid
sebagai kuda pacu, sedangkan mikro tersebut berperan sebagai jokinya sehingga
aktivitas yang dilakukan robot merupakan hasil perintah mikro tersebut. Kendala
yang muncul dari saran ini ialah perlunya eksplorasi yang lebih jauh agar dapat
mengolah komponen-komponen robot humanoid dengan suatu bahasa
pemrograman yang umum dan lebih ramah bagi penulis, yakni dengan C, C++,
atau C#. Apabila dapat mengendalikan komponen robot bioloid melalui CM-510
dengan bahasa pemrograman tersebut, maka dapat dimungkinkan dibuatkannya
interface antar dua mikro (yakni mikro tambahan, dan mikro pada CM-510) agar
terjalin komunikasi diantara keduanya. Berikut wujud robot yang dirangkai ketika
kerja praktik:
Gambar 15. Wujud Robot Bioloid Jenis Humanoid Tipe-A
23
BAB VI
IMPLEMENTASI
Pada bab ini, hal-hal yang telah dianalsis dan dirancang sebelumnya akan
diterapkan secara langsung. Pada kasus yang dikerjakan selama masa kerja
praktik, implementasi yang dilakukan ialah penerapan teknologi sensor dan
komponen yang mampu menunjang kemampuan robot sehingga dapat
berkelakuan sesuai dengan yang diharapkan.
V.1 Implementasi Gyroscope
Pada masa kerja praktik, pemikiran untuk memanfaatkan sensor gyroscope
dengan maksimal diajukan oleh pembimbing kerja praktik dari pihak
laboratorium. Pemikiran tersebut diajukan karena robot yang sebelumnya
mengikuti pertandingan soccer walaupun telah digunakan sensor gyroscope,
sering sekali terjatuh sehingga sulit dikatakan sebagai robot yang berperilaku
sebagai pemain sepak bola yang baik. Kemungkinan hal tersebut terjadi
dikarenakan pengolahan nilai gyro yang masih belum tepat.
Penggunaan sensor gyroscope pada robot bioloid dapat dimanfaatkan
sehingga robot dapat mengubah postur robot dalam melakukan suatu gerakan
yang posturnya telah ditentukan ketika membuat Page gerakan robot. Manfaat
tersebut sebenarnya didapat dengan cara memanfaatkan nilai keluaran sensor
untuk diterapkan pada variabel yang mampu menambahkan posisi servo sehingga
posisi servo yang telah dispesifikan pada gerakan yang diatur dalam page tidak
akan bersifat statis, akan tetapi mampu berubah menjadi posisi yang dinamis
sesuai dengan nilai variabel yang ditambahkan tersebut. Variabel tersebut
dinamakan variabel offset, yang bekerja untuk diberikan pada servo tertentu
dengan parameter ID servo tersebut.
Dengan kemampuan variabel offset, maka robot dapat melakukan perubahan
postur ketika melakukan pergerakan sesuai dengan yang dibutuhkan. Sebagai
contoh penerapan variabel offset, apabila dispesifikasikan di dalam suatu Page
posisi tiga servo dengan ID A,B, dan C untuk berada pada posisi 100, 200, dan
300 secara berurutan, kemudian variabel offset untuk ID A,B, dan C masing-
24
masing bernilai 20,-40, dan 10, maka posisi tiga servo tersebut menjadi 120, 160,
dan 310 untuk ID A, B, dan C secara berurutan.
Pemanfaatan nilai servo sebagai nilai untuk variabel offset dapat membantu
robot agar mampu membuat postur gerakan jalannya dinamis ketika dieksekusi.
Agar tujuan tersebut tercapai, maka harus dibuat fungsi yang mampu mengubah
nilai yang dikeluarkan servo sebagai parameter yang akurat dalam menentukan
variabel offset. Fungsi tersebut yang dibuat untuk selalu dipanggil sehingga
pemantauan nilai servo dilakukan secara terus-menerus agar penentuan variabel
offsetnya pun tepat. Apabila nilai yang diberikan kepada variabel offsetnya tepat,
maka dapat dipastikan robot mampu mempertahankan keadaan setimbangnya.
Sebelum mengolah nilai sensor sabagai parameter variabel offset, terdapat hal
lainnya yang perlu diperhatikan, yakni penentuan servo mana sajakah yang
hendak diberi variabel offset. Penentuan servo tentu diperlukan, karena dalam
melakukan penyeimbangan jalan, manusia sendiri mendinamiskan sendi-sendinya
agar tidak jatuh ketika berjalan. Untuk kasus robot humanoid, maka sendi tersebut
ialah komponen servonya.
Jawaban untuk permasalah di atas didapat melalui contoh source code yang
didapat melalui menu bantuan (help) pada RoboPlus. Dalam kode tersebut, servo-
servo yang dibuat untuk melakukan pendinamisan postur, atau yang diberi
variabel offset adalah seluruh servo yang terdapat pada tungkai kaki. Kedelapan
servo tersebut diberi variabel offset sesuai parameter ID-nya masing-masing
sehingga mampu mempertahankan robot pada keadaan setimbangnya dengan
melakukan pendinamisan postur ketika berjalan. Delapan servo tersebut, empat
diantaranya berperan dalam penyeimbangan arah depan-belakang, sedangkan
empat sisanya berperandalam penyeimbangan arah kiri-kanan.
Pada penerapannya, pengolahan nilai sensorlah yang menjadi hal yang paling
kritis, dimana hasil pengolahan tersebut berpengaruh terhadap proses
pendinamisan postur robot untuk tetap berada posisi setimbangnya. Kurang lebih
sekitar tiga minggu masa kerja praktik dihabiskan hanya untuk melakukan
pengolahan nilai sensor sehingga proses penyeimbangan robot berjalan dengan
baik dan hasilnya presisi.
Pada source code yang didapat terkait pengolahan data gyroscope,
disimpulkan bahwa dalam mengolah nilai yang dikeluarkan oleh sensor
25
gyroscope, kalibrasi nilai perlu dilakukan pada saat robot pertama kali dinyalakan.
Proses (kalibrasi) ini dilakukan dengan cara membaca data gyroscope beberapa
kali, kemudian hasilnya pun dibagi dengan jumlah pembacaan yang dilakukan,
sehingga didapat rata-rata nilai gyro. Setelah itu, nilai rata-rata yang didapat
dimasukan ke dalam suatu variabel untuk dijadikan nilai acuan titik setimbang
robot.
Kegiatan kalibrasi ini perlu dilakukan dengan cara pembacaan nilai gyro
beberapa kali dikarenakan data yang diberikan gyro tidak sepenuhnya akurat
akibat adanya perbedaan nilai bergantung pada tegangan VCC standard dan noise
sirkuit pada gyroscope-nya. Ketika proses kalibrasi berlangsung, robot tidak boleh
digerakkan karena dapat mengganggu nilai rata-rata yang hendak didapat. Berikut
potongan kode terkait proses kalibrasi:
Gambar 16. Potongan kode proses inisialisasi gyro (kalibrasi)
26
Pada gambar 16 terlihat bahwa dilakukannya pembacaan nilai sensor yang
diambil dari port 3 dan port 4. Kedua port tersebut merupakan port yang
terhubung dengan axis-x dan axis-y sensor gyroscope. Terlihat bahwa nilai
pembacaan akan diakumulasi sebanyak sepuluh kali untuk kemudian diambil rata-
ratanya dengan membagi nilai hasil akumulasi oleh banyaknya pembacaan, yakni
sepuluh. Dari kode tersebut diketahui bahwa proses ini membutuhkan waktu
sekitar 1,2 detik untuk sepuluh kali pembacaan. Terlihat pada bagian bawah kode
dilakukannya pengecekan nilai rata-rata. Kondisi yang dinyatakan merupakan
pengecekan apakah robot digerakkan ketika proses kalibrasi berlangsung, jika
demikian maka nilai rata-rata akan memenuhi kondisi ini sehingga gyroscope
dinyatakan tidak ada.
Setelah proses kalibrasi dilakukan, maka hasil nilai rata-ratanya dijadikan
nilai tengah dan digunakan untuk kebutuhan pengolahan hasil pembacaan-
pembacaan sensor gyroscope setelahnya. Kemudian, pada setiap pembacaan nilai
gyro, nilai yang yang terbaca dihitung selisihnya terhadap nilai tengah. Hasil
perhitungan selisih tersebut merupakan “error”, artinya setiap ada perbedaan nilai
terhadap nilai tengah, maka perbedaan tersebut dicatat sebagai error untuk
kemudian error tersebut diolah lebih lanjut.
Pada dasarnya, prinsip yang digunakan dalam pengolahan nilai gyro terhadap
postur robot ialah agar nilai error-nya mendekati nol. Karena nilai error
menggambarkan postur robot terhadap titik setimbang pada saat kalibrasi, maka
nilai error yang mendekati nol merupakan keadaan dimana postur robot berada
pada keadaan setimbang awalnya (postur ketika proses kalibrasi dilakukan).
Untuk dapat melakukan penyeimbangan yang baik, maka perlu dilakukan reaksi
terhadap postur robot sesuai dengan nilai error yang diperoleh.
Nilai error tentunya perlu diolah sedemikian sehingga reaksi yang harus
dilakukan oleh robot mampu membuat nilai error-nya mendekati nol untuk
pembacaan sensor yang berikutnya. Semakin cepat robot memberikan reaksi
untuk membuat nilai error yang mendekati nol, maka akan semakin baik. Dengan
demikian, robot pun dapat mencapai kestabilan dalam keseimbangan (steady-
state) dengan cepat.
Ketika kerja praktik, pembimbing robotika menjelaskan bahwa terdapat suatu
pengetahuan yang mampu mengolah nilai sensor untuk membentuk keadaan
27
steady-state, yakni keadaan dimana robot menjadi stabil berada pada titik
setimbangnya. Pengetahuan tersebut ialah kendali PID. Kendali PID merupakan
fungsi yang mampu menstabilkan nilai error. Apabila kendali PID-nya bagus,
maka proses penstabilan akan lebih cepat tercapai.
Kendali PID terdiri dari tiga kendali, yakni kendali P (proportional), I
(integral), dan D (derivative). Kendali tersebut berperan untuk mengendalikan
sistem dengan memanipulasi sinyal error, sehingga respon sistem (output) sama
dengan yang diinginkan (input). Dalam mencapai kestabilan, kendali P jika
dibuat dengan baik sebenarnya sudah mampu membuat sistem mendekati
kestabilan. Sedangkan, kendali D membuat sistem mampu mencapai tahap
kestabilannya dengan cepat. Kemudian, kendali I sebagai kendali yang dapat
membuat pencapaian kestabilan sistem lebih cepat lagi. Kendali I tidak dapat
digunakan sendiri, sedangkan, kendali P dan P&D dapat digunakan sendiri.
Namun, hanya jika ketiga kendali tersebut dipasang secara bersama-sama keadaan
steady-state dapat dicapai.
Dalam mencapai keseimbangan ketika berjalan, selama masa kerja praktik
hanya kendali proporsional (P) yang sempat diterapkan. Dalam penggunaannya,
kendali P merupakan hasil perkalian antara nilai “error” dengan “Konstanta
proporsional (Kp)”.
Gambar 17. Kendali proporsional
28
Pada gambar di atas, u(t) merupakan sinyal kontrol, yakni sinyal gyro yang
diolah, sedangkan, e(t) merupakan nilai error-nya. Penerapan kendali P yang tepat
dapat membantu menstabilkan sinyal seperti gambar di bawah.
(A) (B)
Gambar 18. Grafik perbandingan sinyal dengan menggunakan kendali P (A) dan
tanpa menggunakan kendali P (B)
Dapat diperhatikan bahwa penggunaan kendali P dapat menstabilkan sinyal,
bahkan semakin baik Konstanta proporsional proses pencapaian kestabilan
punakan semakin cepat. Berikut potongan kode yang digunakan untuk penerapan
kendali Proporsional:
Gambar 19. Pengolahan kendali P dari nilai gyroscope
29
Pada gambar di atas, nilai akhir atau nilai kendali P-nya terdapat pada variabel
FinalFBBal* sebagai variabel untuk menampung pengolahan axis-x dan FinalRL*
sebagai variabel untuk menampung pengolahan axis-y.
Berikutnya, variabel tersebut diterapkan ke dalam variabel offset untuk servo
yang bertanggung jawab dalam penyeimbangan proses berjalan, seperti yang
dilakukan pada potongan kode berikut:
Gambar 20. Potongan kode penerapan variabel offset pada servo
Dalam penggunaan kendali Proporsional (P), Konstanta proporsional (Kp)
memegang peranan penting dalam membentuk kendali P yang tepat. Konstanta
tersebut merupakan nilai yang didapat dengan cara percobaan. Konstanta ini akan
berbeda-beda sesuai kebutuhan sistem, yang pada kasus ini merupakan dimensi
robot.
Selama masa kerja praktik, pengujian (tuning) Konstanta proporsional pun
terus menerus dilakukan. Hal tersebut perlu dilakukan karena kendali proporsional
pada source code di atas hanya cocok untuk diterapkan pada robot humanoid tipe-
30
A yang standard. Sedangkan, robot yang dibentuk pada kerja praktik memiliki dua
servo tambahan untuk menunjang kebutuhan penggunaan kamera sehingga
dengan dimensi yang berbeda dan adanya beban tambahan pada robot, maka
Konstanta proporsional (Kp) untuk memenuhi kebutuhan penyeimbangan pun
akan berbeda.
Selama masa kerja praktik, percobaan (tuning) nilai Konstanta proporsional
(Kp) senantiasa dilakukan untuk membentuk proses penyeimbangan yang baik
dan presisi. Percobaan tersebut dikhususkan untuk penyeimbangan robot dengan
orientasi arah depan-belakang menggunakan nilai x-axis gyroscope. Beberapa hal
yang dapat disimpulkan dalam penentuan nilai Kp melalui observasi tingkah laku
robot ketika mengeksekusi gerakan jalannya diantaranya ialah:
Semakin kecil nilai Kp maka sinyal kendali akan semakin kecil. Peristiwa ini
membuat robot tidak terlalu sensitif dalam melakukan penyeimbangan postur.
Semakin besar nilai Kp maka sinyal kendali akan semakin besar. Peristiwa ini
membuat robot terlalu sensitif dan cenderung terus menerus melakukan
penyeimbangan (pengkoreksian postur) tiada henti.
Untuk membuat robot yang sensitif namun tidak terus menerus melakukan
penyeimbangan, maka selain memerlukan nilai Kp yang besar, diperlukan
nilai pembatas dalam suatu rentang nilai. Apabila nilai sensor berkisar pada
rentang nilai tersebut, maka nilai sinyal kendali dianggap nol sehingga tidak
dilakukan pengkoreksian postur.
Sinyal kendali untuk servo pada bagian lutut dibuat berbeda dengan bagian
pergelangan kaki agar beban untuk melakukan penyeimbangan melalui
variabel offset dapat terdistribusi dengan baik.
Pada akhir masa praktik, hasil akhir yang dicapai terkait pengolahan kendali
proporsional pada sinyal gyroscope antara lain ialah:
Untuk kepentingan proses penyeimbangan, perbandingan sinyal kendali
untuk servo lutut dan pergelangan kaki dibuat agar memiliki rasio 1:2.
Perbandingan tersebut membuat servo pergelangan kaki melakukan usaha
penyeimbangan dua kali lebih besar dibandingkan dengan usaha yang
dilakukan oleh servo lutut dalam hal penyeimbangan ke arah depan-belakang.
31
Nilai Kp cenderung diperkecil untuk menghindari sensifitas berlebihan dalam
pengkoreksian postur.
V.2 Implementasi Modul Pandangan
Komponen lain yang tak kalah penting untuk diolah pada robot humanoid
adalah kamera. Pada proses penangkapan gambar hingga penyimpanan data
gambar pada memori kamera HaViMo, program harus diberi jeda sekitar 0,25
detik. Setelah itu, baru kemudian dilakukan pembacaan data dan pengolahan data
gambar sehingga dapat ditentukan titik tengah objek yang hendak dideteksi
berdasarkan warnanya. Berikut ilustrasi diagram alur dalam penggunaan kamera
HaViMo.
Gambar 21. Flowchart pengolahan gambar menggunakan HaViMo
Pada gambar 21, proses Read Image merupakan tahap pengambilan gambar.
Sebenarnya, dalam mengolah gambar HaViMo memiliki dua algoritma, yakni
algoritma Region Growing dan algortima Griding. Region Growing merupakan
metode pengolahan yang bekerja dengan cara mengotak-kotak kumpulan piksel
dengan warna yang sama. Warna yang dicari merupakan warna yang terdaftar
32
dalam tabel warna dan tentunya warna yang diinginkan untuk dideteksi. Pada
setiap kotak yang dianggap sebagai suatu objek, terdapat informasi terkait kotak
tersebut. Penjelasan untuk setiap informasi tersebut ditunjukkan pada tabel 3.
Property Deskripsi
Index identitas untuk setiap kotak yang terbaca
Color warna yang dideteksi merupakan warna apa yang terdapat pada tabel
warna yang direpresentasikan dengan angka yang merupakan urutan
warna yang didaftarkan pada tabel warna
Pixels jumlah piksel yang terdapat pada kotak tersebut
SumX yakni jumlah koordinat X pada piksel-piksel yang terdeteksi
SumY yakni jumlah koordinat Y pada piksel-piksel yang terdeteksi
MaxX nilai (koordinat) batas kanan kotak
MinX nilai (koordinat) batas kiri kotak
MaxY nilai (koordinat) batas bawah kotak
MinY nilai (koordinat) batas atas kotak
Tabel 3. Nilai-nilai yang terdapat dalam kotak Region Growing
Selain itu, pengolahan lainnya, Griding, merupakan metoda pengolahan
dengan cara mengompres gambar kedalam bentuk 32*24 bagian. Setiap bagian
mewakili kotak berukuran 5*5 pada gambar aslinya. Pada setiap bagian, satu byte
dikalkukasi menghasilkan informasi yang dikandungnya antara lain ialah 4 bit
terrendah (terakhir) yang menentukan warna mana yang mendominasi pada
bagian tersebut. Sedangkan, 4 bit terbesar (terdepan) merupakan jumlah piksel
yang dimiliki warna tersebut. Jika lebih dari 15 piksel yang terdeteksi, jumlahnya
akan tetap 15.
Ketika masa kerja praktik, algoritma yang disediakan untuk pemrograman
menggunakan RoboPlus Task hanya algortima Region Growing. Algortma
tersebut diolah kembali sehingga hanya objek dengan jumlah piksel terbanyaklah
yang dideteksi. Dengan algortima inilah titik tengah suatu objek dapat ditentukan.
Namun, dalam penerapannya, penangkapan gambar dan pembacaan sensor
yang dilakukan secara berkala dalam interval yang dapat dikatakan sangat
sebentar tidak dapat dilakukan bersamaan. Hal tersebut tidak diketahui pasti apa
33
penyebabnya, diperkirakan bahwa pada saat penangkapan gambar hingga
pengolahan datanya, proses tersebut diinterupsi oleh modul pembacaan sensor
yang dieksekusi secara berkala yang membuat data gambar yang diperoleh
corrupt, sehingga objek tidak dapat terdeteksi. Kesimpulan tersebut muncul
karena ketika modul pembacaan sensor dihilangkan, maka kamera kembali dapat
berfungsi dengan baik dan dapat mengikuti objek walaupun terkadang objek yang
dikehendaki tidak terdeteksi. Walaupun begitu, hal tersebut hanyalah kesimpulan
sementara yang didapat melalui observasi ringan. Tidak diketahui apa sebenarnya
yang mengakibatkan kedua hal tersebut tidak dapat dilakukan secara bersamaan.
Selain masalah di atas, masalah lainnya yang muncul ialah ketika berjalan
robot cenderung berjalan memutar ke satu arah sehingga gerakan jalan robot
membentuk lingkaran. Padahal, hal yang diharapkan ialah robot dapat berjalan
dengan lurus. Setelah dilakukan perbandingan pada gerakan jalan robot yang
menggunakan gyroscope dan yang tidak menggunakan gyroscope, sebenarnya
robot tetap berjalan melingkar, hanya saja, ketika gyroscope digunakan, robot
berjalan lebih membelok ke satu sisi dibandingkan dengan gerakan tanpa
menggunakan gyroscope. Dengan kata lain, gerakan langkah salah satu kaki lebih
jauh dibandingkan gerakang langkah kaki yang satunya, sehingga fenomena ini
dapat terjadi. Sama seperti permasalahan sebelumnya, belum dapat dipastikan
mengapa fenomena ini dapat terjadi.
34
BAB VII
PENUTUP
VII.1 Kesimpulan
Hal-hal yang dapat penulis simpulkan setelah melakukan kerja praktik
diantaranya ialah:
Proses analisa cara kerja gyroscope dan penerapannya pada robot humanoid
pada dasarnya berhasil dilakukan.
Proses analisa cara kerja kamera HaViMo dan penerapannya pada robot
humanoid juga berhasil dilakukan.
Dalam membentuk suatu kontrol proporsional, Konstanta proporsional (Kp)
didapat dengan cara coba dan gagal. Semakin besar nilai Kp, maka sinyal
kendali pun akan semakin besar sehingga dalam penerapan gerakan jalan
robot, ketika sinyal yang diberikan sensor membuat error sedikit saja, maka
dengan sinyal kendali yang besar, kegiatan penyeimbangan postur akan
dilakukan secara berlebihan, mengakibatkan robot terlalu sensitif dalam
mengolah error yang muncul.
Dalam mengolah gambar, pendeteksian objek memanfaatkan titik tengah
objek tersebut, karena titik tengah akan tetap walau bendanya tampil dengan
ukuran yang berbeda sehingga lebih menggambarkan posisi objek yang
hendak dideteksi. Ketika mendeteksi objek, posisi kepala diupayakan selalu
mengacu pada objek dengan cara menghitung selisih titik tengah kamera
terhadap titik tengah objek. Perbedaan yang muncul akan dihilangkan dengan
menggerakan servo pada bagian kepala sesuai dengan perbedaan tersebut.
Untuk menyelaraskan titik tengah kamera terhadap titik tengah objek, sebagai
penyesuaian nilai koordinat x digunakan servo yang berotasi secara
horizontal. Sedangkan, untuk nilai koordinat y digunakan servo yang berotasi
secara vertikal.
Pembacaan gambar hingga pendeteksian objek menggunakan HaViMo tidak
dapat dilangsungkan apabila ada modul yang dipanggil secara berkala dalam
interval yang sebentar karena dapat mengganggu proses pendeteksian objek.
Robot terkadang masih terjatuh walau dengan frekuensi yang relatif kecil.
35
VII.2 Saran
Saran penulis terhadap pembuatan robot diantaranya ialah:
Belajar merupakan kunci dalam mencapai keberhasilan pada usaha
selanjutnya.
Perhitungan matematis sangat dibutuhkan dalam melakukan observasi dan
bereksperimen sehingga usaha yang dilakukan akan selalu memiliki hasil
(tidak sembarangan).
Hendaknya memahami domain permasalahan dalam hal yang ingin dicapai
sehingga dapat diidentifikasi hal-hal apa saja yang diperlukan.
Sebelum mengerjakan atau menghasilkan suatu hasil karya hendaknya hal
tersebut direncanakan dengan baik.
Berupaya semaksimal mungkin untuk dapat mencapai titik optimal usaha
sehingga dapat dikatakan memperoleh keberhasilan pada usaha yang
dilakukan.
Dalam mengerjakan suatu hal yang tergolong tidak begitu sederhana
hendaknya dikerjakan secara berkelompok. Hal tersebut menunjang
kebutuhan sosial untuk berbagi keluhan dalam masalah yang dialami terkait
pengerjaan sehingga solusi bisa saja ditemukan lebih cepat apabila dipikirkan
bersama.
Ide dalam menentukan hal apa yang sekiranya dibutuhkan untuk menunjang
perilaku robot yang lebih baik sangat berdampak positif.
Peran pembimbing sebaiknya tidak hanya mengawasi pengerjaan, akan tetapi
akan lebih baik apabila turut memberikan gagasan atau pemikiran dalam
penentuan hal-hal apa saja yang perlu dan memang harus dilakukan.
36
DAFTAR PUSTAKA
1. www.robosavvy.com, diakses pada tanggal 16 Juli 2012 – 10 Agustus 2012
2. www.robotis.com, diakses pada tanggal 16 Juli 2012 – 10 Agustus 2012
37
LAMPIRAN
Logbook 1. Pengerjaan Robot Seni
No. : 1 Periode: 18 – 29 Juni 2012
Sub No. : 1.1
Proyek
Membuat Robot Tari untuk Kontes Robot Seni Indonesia
Pembina : Eril Mozef
Pembimbing : Setiadi Rachmat
Tugas
Membuat rangka robot sehingga memenuhi aturan
pertandingan
Membuat gerakan tari untuk robot sesuai dengan aturan
pertandingan
Membuat gerakan sehingga robot mampu berjalan
Membuat navigasi jalan robot, yakni jalan dengan
memperhatikan warna tempat berjalan
Mampu membuat robot melakukan gerakan tari sesuai
dengan warna tempat berjalan
Mampu membuat robot malakukan seluruh gerakan tari
selesai dalam waktu yang ditentukan
Waktu dan
Kegiatan
Harian
Pada awal kegiatan pembuatan mekanik robot, kami sebagai tim
KRSI mengikuti mekanik yang dibuat oleh UI yang didapat lewat
youtube.com. Berasal dari model itulah akhirnya kami mampu
membuat rangka robot yang sesuai aturan, yakni tinggi robot harus
sepanjang 55 cm ±5cm. Dengan perubahan rangka robot ini, tentu
titik berat robot menjadi berubah sehingga tidak bisa menggunakan
gerakan robot yang telah ada (robot yang digunakan merupakan kit
robot premium pabrikan Robotis). Pada rangka robot ini terdapat
tiga servo pada bagian masing-masing lengan, lima servo pada
bagian masing-masing kaki, empat servo pada badan, dan dua servo
pada bagian kepala, sehingga berjumlah total 22 servo. Seluruh
servo tersebut dikontrol oleh satu controller robot yang bertipe CM-
510.
Pada pembuatan mekanik kendala yang muncul ialah jasa
pembuatan rangka hanya menreima model dalam bentuk corel draw
38
(*.cdr) sehingga kami harus menggambar ulang rangka yang ada ke
dalam bentuk *.cdr menggunakan tools autocad untuk bisa
memberikan ukuran panjang sisi-sisi rangka, baru kemudian di
convert ke dalam format *.cdr. Kemudian, kendala lainnya ialah
rangka yang dibuat hanya dapat dilubangi silindris saja, sedangkan
lubang yang dibutuhkan satu sisinya harus lebih luas dari sisi
satunya untuk penyesuaian letak baud pada rangka sehingga
lubangnya harus dibuat sendiri dan terkadang salah membuat
lubang yang lebih luas pada sisi yang seharusnya (mis: yang
seharusnya lubang yang lebih luas berada pada sisi luar, namun
malah lubang sisi dalam yang dibuat lebih luas). Hal tersebut
mengakibatkan sisi yang satunya (yang seharusnya lebih luas) tidak
bisa diluaskan karena malah akan membuat lubang yang lebih
besar. Jika sisi yang seharusnya lebih luas menjadi tidak luas, maka
baud yang seharusnya dipasang diganti dengan baud yang lebih
besar, hal ini mengakibatkan pemasangan baud tidak bisa terlalu
dalam karena bisa membuat servo tidak dapat berputar.
Pemasangan baud yang tidak terlalu dalam kadang membuat
baudnya terlepas dan hal tersebut dapat mengakibatkan gerakan
robot menjadi tidak benar.
Selesai pembuatan mekanik robot kami langsung membuat gerakan
tari yang telah dispesifikasikan melalui peraturan pertandingan
(sebagai info: terdapat perubahan spesifikasi tari sebanyak dua kali
dari pihak panitia). Gerakan tari yang perlu dilakukan robot
berjumlah enam tarian dan dua jenis salam, yakni salam pembuka
dan salam penutup.
Gerakan tari kami buat dengan menggunakan software RoboPlus
Motion. Cara kerjanya ialah dengan menggerakan rangka robot,
lalu di-“freeze” sehingga pada gerakan robot tersebut nilai posisi
servo akan didapatkan dan kemudian disimpan ke dalam step-step
pada page yang ada pada software tersebut.
39
Dalam pembuatan gerakan tari tidak begitu terdapat masalah yang
serius, namun dalam pembuatan gerakan jalan robot, terdapat
beberapa masalah, diantaranya ialah konsep atau metode robot
dalam melangkahkan kaki-nya, yakni harus memiringkan badan ke
arah sebaliknya kaki yang hendak dilangkahkan, maksudnya
apabila hendak melangkahkan kaki kiri ke depan, maka kaki
kananlah yang menjadi tumpuannya, sehingga robot harus
dimiringkan. Pada pemiringan robot itulah yang menjadi
masalahnya, karena seperti apa kemiringan yang optimal, pada saat
apa robot harus dimiringkan, lalu bagaimana proses pengangkatan
kaki yang hendak dilangkahkan, hingga bagaimana pendaratan kaki
yang baik sehingga didapatkan keseimbangan ketika robot selesai
melangkahkan kakinya.
Permasalahan lain yang muncul ialah ketika membuat gerakan
servo sering sekali panas disebabkan oleh beban robot yang berat
dan servo diharuskan menggerakan beban tersebut yang juga
didukung oleh cuaca ruangan yang panas. Hal tersebut membuat
kami mendiamkan robot sejenak hingga servonya dirasa cukup
dingin untuk melakukan gerakan kembali sehingga ini membuat
pengerjaan robot menjadi terhambat. Kemudian hal lain yang
menghambat pengerjaan ialah servo sering kali tidak terdeteksi oleh
controllerCM-510 yang tidak diketahui penyebabnya secara pasti.
Hal tersebut biasanya terselesaikan dengan mencabut kabel servo
pada beberapa bagian yang dirasa bermasalah (karena servo dirasa
terlalu berat menahan beban, yakni kabel pada servo lutut dan
pergelangan kaki) kemudian dipasang kembali.
Kemudian peraturan yang mengharuskan robot baru mulai
melakukan gerakan jika terdengar musik pengiring tari berhasil
diimplementasikan walau kondisinya hanya jika terdengar suara
dengan volume yang keras.
40
Peraturan mengharuskan robot melakukan tari pada tiap-tiap zona
(terdapat tiga zona utama, yakni zona awal, zona tengah, dan zona
akhir, serta dua zona melakukan salam, yakni zona mulai dan zona
tutup) dimana pada setiap zonanya robot harus melakukan tari yang
dispesifikasikan khusus untuk zona tersebut (dua gerakan tari untuk
setiap zona utama) dimana setiap zona utama memiliki warna yang
berbeda-beda.
Untuk mengatasi permasalahan mendeteksi warna zona yang
dipijak robot, digunakanlah perangkat kamera Havimo. Kamera ini
mampu menampung warna (dengan kapasitas total 7 penampung)
dengan cara penyimpanan yakni pertama kamera dibuat menangkap
gambar dan warna yang ada pada gambar tersebut dapat diklik dan
disimpan komposisi Red, Green, Blue-nya pada penampung
tersebut. Pada tiap satu penampung kami menyimpan warna satu
zona sehingga terdapat total lima penampung kamera yang
digunakan (tiga untuk zona utama, satu untuk zona mulai dan
penutup yang memang sama warnanya, dan satu lagi untuk zona
mulai dan penutup yang lainnya, karena terdapat dua lapangan
dengan warna zona mulai yang berbeda).
Untuk algoritma pemrosesan gambar, Havimo memiliki algoritma
tersendiri yang dapat digunakan dalam mendeteksi objek yang
memiliki warna yang sama dengan warna yang terdapat pada
penampung. Sebenarnya terdapat dua algoritma pemrosesan yang
dimiliki Havimo, yakni pengotakan objek berwarna yang sesuai
dengan penampung dan pewarnaan piksel objek berwarna yang
sesuai dengan penampung. Namun melalui controller CM-510 kami
hanya mampu menggunakan algoritma pengotakan objek, sehingga
setiap kotak objek memiliki batas, atas, kanan, bawah, dan kiri.
Pada algoritma ini ditambahkan bahwa bila ada banyak pengotakan
objek dengan warna yang sama, maka objek dengan warna (jumlah
41
piksel) terbanyaklah yang akan diambil. Oleh karena itu,
pendeteksian letak pijakan kaki dapat dilakukan dengan cara
havimo menangkap gambar dengan servo leher memosisikan kepala
menghadap ke arah kaki. Kemudian, warna yang terkotakkan akan
diperiksa apakah tergolong ke dalam zona awal, tengah, atau akhir
sehingga robot dapat melakukan gerakan tari yang sesuai dengan
zonanya. Selanjutnya, apabila robot mendeteksi suatu zona dan
telah melakukan kedua gerakan tari, maka robot akan melakukan
gerakan jalan sampai menemukan zona dengan warna yang
berbeda.
Secara keseluruhan gerakan robot yang dibuat ialah:
Enam gerakan tari
Dua jenis salam
Serong kiri
Serong kanan
Melangkahkan kaki kiri (posisi awal sejajar)
Melangkahkan kaki kiri (posisi awal kaki kiri di belakang)
Melangkahkan kaki kanan (posisi awal sejajar)
Melangkahkan kaki kanan (posisi awal kaki kanan di
belakang)
Mensejajarkan (kaki kiri belakang) & mensejajarkan (kaki
kanan belakang)
Untuk gerakan melangkahkan kaki kanan (posisi awal sejajar) tidak
digunakan karena gerakan tersebut masih bermasalah. Kemudian
pembuatan gerakan serong kiri dan serong kanan tidak sama jauh
pergeserannya mengakibatkan robot tidak dapat melakukan
pelurusan arah dengan baik setelah melakukan salah satu gerakan
serong (kiri atau kanan).
Tools yang
digunakan
Robot Kit Premium
RoboPlus Task, RoboPlus Manager, RoboPlus Motion
Camera Havimo
42
Hasil Kerja
Robot belum sepenuhnya siap untuk dipertandingkan karena
gerakan jalan masih terkadang tidak stabil dan menyebabkan robot
terjatuh.
Keterangan
Jumlah page pada RoboPlus Motion ialah sebanya 255 page dan
setiap page-nya memiliki tujuh step.
Pada pembuatan robot kami tidak menggunakan gyro untuk
mengatur keseimbangan sehingga robot sering terjatuh.
Logbook 2. Logbook Kerja Praktik Pekan Pertama
No. : 2 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 2.1 Hari / Tanggal : Senin, 16 Juli 2012
Proyek
Pengembangan Aplikasi Robot Sensor Monitoring
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Mempelajari gyro
Membuat aplikasi pemantau aktivitas sensor robot
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Aplikasi telah terbentuk dalam memenuhi salah satu requirement
fungsional, yakni menampilkan nilai (value) yang dikeluarkan
sensor pada robot ke dalam bentuk grafik pada aplikasi. Untuk saya
sendiri diberi tugas untuk mempelajari hal-hal yang terkait dengan
robot sepak bola (robo soccer) sebagai rencana pembentukan robot
tersebut untuk keperluan perlombaan mendatang. Hal yang
sementara dipelajari ialah penggunaan gyro untuk keperluan jalan
robot.
Sesudah Istirahat :
Untuk sementara saya beralih membantu rekan KP (Pajar
Fathurrahman) dalam menyelesaikan aplikasi pemantau sensornya.
Dari kegiatan ini inti aplikasi yang telah jadi sebelumnya sebagai
43
pemantau data sensor yang dikode masih sederhana dan “kasar”
diubah agar lebih baik. Langkah pertama yang dilakukan ialah
mengelompokkan jenis-jenis sensor.
Tools yang
digunakan Visual Studio 2010
Hasil Kerja
Aplikasi masih tetap seperti semula, namun sensor telah
dikelompokkan berdasarkan jenisnya, yakni sensor keseimbangan,
sensor logic, sensor jarak, dan sensor warna.
Keterangan
Sensor keseimbangan ialah sensor yang memiliki nilai yang
berubah jika posisi sensor tersebut berubah dari titik seimbangnya.
Sensor keseimbangan memiliki satu hingga tiga axis (x saja, x-y,
atau x-y-z).
Sensor logic ialah sensor yang mengeluarkan nilai 1 atau 0 saja.
Sensor yang memiliki prinsip ini diantaranya ialah sensor line
tracer, yakni sensor yang berfungsi untuk mengetahui jalur, biasa
dipakai untuk robot yang berjalan mengikuti suatu jalur tertentu
yang berupa garis berwarna hitam.
Sensor jarak ialah sensor yang mampu mendeteksi jarak dengan
cara mengirimkan gelombang dan gelombang tersebut akan
dipantulkan bila mengenai suatu permukaan. Waktu yang
dibutuhkan gelombang untuk kembali dikalkulasi dengan kecepatan
rambat gelombang tersebut sehingga didapatkan jarak yang
ditempuh gelombang tersebut.
44
Sensor warna bekerja dengan cara mendeteksi nilai warna suatu
permukaan. Biasanya warna yang dideteksi dijabarkan ke dalam
nilai Red, Green, Blue (RGB) permukaan tersebut.
No. : 2 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 2.2 Hari / Tanggal : Selasa, 17 Juli 2012
Proyek
Pengembangan Aplikasi Robot Sensor Monitoring
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Menyelesaikan aplikasi pemantau sensor robot
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Membuat kelas sensor, karena pada prinsipnya semua sensor sama-
sama memiliki nilai (value) hanya saja jumlah nilai yang
dikeluarkannya, sehingga pada kelas ini attribute yang dimilikinya
ialah nama sensor serta value nya. Value sensor tersebut dibungkus
dalam kelas tersendiri karena selain ada nilainya, value tersebut
juga harus disandingkan dengan waktu didapatkannya value
tersebut guna menunjang pemantauan sensor secara cermat.
Sesudah Istirahat :
Meng-kode aplikasi yang “kasar” untuk menerapkan kelas sensor
dan value-nya.
Tools yang
digunakan Visual Studio 2010
45
Hasil Kerja
Kelas sensor berhasil diimplementasi pada aplikasi dan dibuat
dalam bentuk list (list of sensor). Aplikasi diuji secara kasar
terhadap sensor gyro pada robot dan aplikasi menampilkan grafik
sesuai value yang diberikan. Struktur data yang terbuat:
Sensor: ● String sensorName
● structValue: ● list of integer
● time
Keterangan
Aplikasi dibuat dengan menggunakan media wireless, aliran data
berjalan dari robot menuju media transmisi wireless (zig bee) dan
diterima oleh media transmisi yang dipasang pada aplikasi.
No. : 2 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 2.3 Hari / Tanggal :Rabu, 18 Juli 2012
Proyek
Pengembangan Aplikasi Robot Sensor Monitoring
Project Manager : Eril Mozef
Technical Leader : -
Tugas Meneruskan pengerjaan aplikasi monitoring sensor robot
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Memanfaatkan fasilitas kelas timer yang ada pada C# untuk
membuat delay (jeda) dalam penampilan (penyajian data) grafik
sehingga diharapkan aplikasi tidak terlalu cepat dalam men-
generate grafiknya.
Sesudah Istirahat :
Membuat timing pada aplikasi, timing akan mewakili waktu dalam
satuan millisecond, timing ini akan digunakan untuk keperluan
struktur data structValue
46
Tools yang
digunakan Visual Studio 2010
Hasil Kerja
Timer dan timing berhasil diimplementasi dengan baik, sehingga
grafik dapat ditampilkan dengan menggunakan delay timing
berjalan dengan baik pada aplikasi sehingga struktur data time pada
structValue terisi sesuai dengan nilai timer dari aplikasi.
Keterangan
Walaupun data ditampilkan dengan ada delay, penampilan grafik
masih terlihat berkedip-kedip dikarenakan proses penampilan
grafik yang sifatnya di-recreate setiap kali hendak menyajikan data,
bukan hanya kurva yang di-generate ulang, tapi seluruh komponen
grafik di-generate ulang ketika proses penampilan grafik dipanggil
No. : 2 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 2.4 Hari / Tanggal :Kamis, 19 Juli 2012
Proyek
Pengembangan Aplikasi Robot Sensor Monitoring
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Meneruskan pengerjaan aplikasi monitoring sensor robot
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Membuat form ekstra guna memfasilitasi pengguna (user) dalam
memilih sensor apa yang hendak dipantau dan berapa jumlahnya.
Form dibuat dengan kelas khusus yang diberi nama kelas wizard
dan berperan dalam menampung list of sensor sementara. List of
sensor yang ditampung akan dikirim ke kelas form yang utama,
yakni kelas mainform setelah user memilih tombol „OK‟
Sesudah Istirahat :
Menggunakan toolbox pada form membuat UI sederhana, namun
47
kesulitan dalam pengiriman data, yakni data list of sensor yang
sementara ke list of sensor pada mainform
Tools yang
digunakan Visual Studio 2010
Hasil Kerja Aplikasi masih belum selesai, form masih berantakan
Keterangan
No. : 2 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 2.5 Hari / Tanggal : Jumat, 20 Juli 2012
Proyek
Pengembangan Aplikasi Robot Sensor Monitoring
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Meneruskan pengerjaan aplikasi monitoring sensor robot
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Menemukan masalah bahwa list of sensor tidak bias dikirim dari
satu form ke form yang lainnnya, error message mengatakan
“inconsistent accessibility” terhadap list tersebut. DIketahui bahwa
tipe list of sensor bersifat private sedangkan data yang bersifat
48
private tidak bisa dikirim ke kelas lain sehingga tidak bisa dibuat
method untuk mengirim list of sensor yang telah dibuat oleh kelas
wizard.
Tools yang
digunakan Visual Studio 2010
Hasil Kerja
Sempat googling dan menyimpulkan bahwa kelas sensor tidaklah
bersifat public sehingga ketika ada kelas yang membuat list of
sensor sifatnya tidak bisa public yang membuat list tersebut tidak
bisa dikirim ke kelas lain. Hal lain yang membingungkan pada
kelas sensor pembuatan kelas dituliskan “class Sensor” dengan
penulisan ini saya mengetahui bahwa kelas itu sebenarnya sudah
bersifat public tapi entah mengapa tidak bisa membuat list of sensor
yang bersifat public
Keterangan
Logbook 3. Logbook Kerja Praktik Pekan Kedua
No. : 3 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 3.1 Hari / Tanggal : Senin, 23 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Berpindah mengerjakan robot pesepak bola
49
Waktu dan
Kegiatan
Harian
Beralih kembali pada pengerjaan seputar robot pesebakbola. Baru
sempat merakit kembali robot yang sebelumnya digunakan untuk
robot senin ke dalam bentuk robot pabrikannya untuk dapat
digunakan sebagai robot pesepak bola. Manajer menugaskan untuk
menguasai hal-hal yang dibutuhkan dalam membangun robot
pesebak bola yang handal. Hal- hal tersebut diantaranya pengolahan
image lewat kamera, dan pengontrolan gerak robot agar bisa
mengejar dan menendang bola layaknya pemain sepakbola. Hal lain
yang perlu diperhatikan ialah bagaimana mengatur seberapa jauh
robot harus berjalan untuk mendapatkan bola yang letaknya jauh,
bagaimana robot mampu menendang bola dengan benar ke arah
gawang lawan.
Tools yang
digunakan RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Hasil Kerja Robot belum sepenuhnya terakit dengan utuh
Keterangan
Membutuhkan part robot yang tertinggal pada kotak robot yang
terletak di ruang manajer sehingga pengerjaan perakitan robot
tertunda
No. : 3 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 3.2 Hari / Tanggal : Selasa, 24 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
50
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Sebelum Istirahat :
Merakit robot hingga siap digunakan untuk melakukan gerakan
jalan buatan pabrik
Sesudah Istirahat :
Mencoba menggunakan sensor gyro, pengujian dilakukan dengan
satu servo. Mencoba mengimplementasikan rumus penerapan nilai
gyro pada posisi servo. Rumus yang ada memiliki cara kerja:
pertama kali, rumus melakukan inisialisasi titik tengah gyro
(kalibrasi), kemudian titik tersebut dijadikan titik seimbang, dan
setiap nilai yang dikeluarkan gyro akan dikurangi terhadap titik
seimbang tersebut sehingga didapat nilai error-nya. Nilai error
tersebut lah yang kemudian diproses untuk menggerakan actuator
(servo) yang diuji.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Terdapat masalah karena rumus yang digunakan membuat nilai
gyro akan berubah bila ada percepatan sudut terhadap gyro
tersebut. Tepat ketika percepatan sudutnya 0, artinya gyro berhenti
dimiringkan, maka nilai yang dikeluarkan rumus tersebut menjadi 0
(tidak diharapkan).
Keterangan
Implementasi perubahan nilai gyro diskalakan dan ditambahkan
pada posisi servo sehingga servo melakukan penyesuaian posisi
agar didapatkan posisi seimbang robot (yang diharapkan). Pada
prinsipnya nilai error (kemiringan robot) harus diantisipasi dengan
malukan gerakan penyesuaian sehingga didapat keseimbangan.
Pengantsipasian nilai error tersebut bekerja dengan cara
51
menambahkan nilai error yang telah diproses dan diskalakan
(dengan rumus) ke dalam posisi servo yang seharusnya, sehingga
posisi servo akan berubah menjadi: “yang seharusnya” + “nilai
error yang diskalakan” (ini menjadi variable yang dinamakan
offset)
No. : 3 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 3.3 Hari / Tanggal : Rabu, 25 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Hari ini percobaan gyro diimplementasikan langsung terhadap
robot, dengan memanfaatkan rumus pengaturan gyro terhadap
perubahan posisi actuator (servo) yang ada. Menguji coba
keseimbangan robot ketika memakai gyro dan tidak memakai gyro.
Pengujian keseimbangan dilakukan dengan cara khusus, yakni
menarik robot ke arah depan atau belakang, kemudian dorong ke
arah sebaliknya. Robot tanpa pemrosesan gyro akan terjatuh ketika
didorong kea rah sebaliknya, berbeda dengan yang menggunakan
pemrosesan gyro, robot mampu menyeimbangkan badan sehingga
tidak jatuh ke arah dorongan tersebut.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
52
Hasil Kerja
Robot mampu menyeimbangkan diri ketika diberi percepatan
terhadap tubuhnya berbeda dengan ketika robot tidak memakai
gyro yang langsung terjatuh.
Implementasi rumus gyro dilakukan terhadap empat servo tertentu
untuk menyeimbangkan posisi depan belakang. Empat servo yang
libat untuk penyeimbangan badan depan belakang ialah servo lutut
kiri dan lutut kanan, serta servo pergelangan kaki kiri dan kanan.
Sedangkan untuk proses penyeimbangan badan kiri kanan servo
yang digunakan ialah servo pada pergelangan kaki kiri dan kanan
dan servo pinggul kiri dan kanan.
Keterangan
Robot memiliki dua servo di pergelangan kaki kiri (begitu juga
dengan bagian kanan), juga dua servo di bagian pinggul kiri (begitu
juga dengan bagian kanan). Apabila dorongan terlalu besar robot
tetap terjatuh.
No. : 3 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 3.4 Hari / Tanggal : Kamis, 26 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Menguji penerapan sensor dalam gerakan jalan robot dan mencoba
merubah-rubah konstanta yang ada pada rumus. Konstanta yang
berbeda diharapkan mengubah proses robot dalam melakuka
penyeimbangan.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
53
Hasil Kerja
Robot memiliki prilaku penyeimbangan yang bebeda ketika
konstantanya berbeda. Semakin besar konstanta maka
penyeimbangannya tidak ekstrim dan membuat servo melakukan
koreksi posisi yang terlalu sedikit. Sebaliknya, semakin kecil
konstanta maka robot akan melakukan penyeimbangan yang
ekstrim, bila sedikit saja ada kemiringan yang disertai percepatan
maka robot akan melakukan koreksi posisi yang terlalu besar
mengakibatkan robot terlalu sensitif yang justru malah membuat
proses penyeimbangan tidak stabil, karena dalam proses
penyeimbangan juga pasti ada percepatan (yang diperoleh lewat
proses penyeimbangan badan) walau nilainya kecil namun karena
terlalu sensitif maka sebagai akibatnya robot tidak berhenti
melakukan keseimbangan (terus bergoyang-goyang melakukan
penyeimbangan) .
Keterangan
Rumus: “error” = “nilaiGyro” – “titikSeimbang”
“errorTerskala” = “error” * 4
“balanceLutut” = “errorTerskala” / konstanta1
“balancePergelangan” = “errorTerskala” / konstanta2
No. : 3 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 3.5 Hari / Tanggal : Jumat, 27 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
54
Waktu dan
Kegiatan
Harian
Mengubah-ubah nilai konstanta1 dan konstanta2 dan mengujinya
pada robot dalam melakukan gerakan jalan.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Robot mampu berjalan tanpa jatuh jika permukaan jalan sedikit
kasar, jika di karpet masih jatuh ke arah belakang setelah beberapa
langkah (biasanya 5-7 langkah). Masih perlu dicari tahu bagaimana
caranya robot akan melakukan koreksi bila terjadi
ketidakseimbangan sedikit saja, sehingga terhindar dari jatuh
karena bila kemiringan sedikit saja langsung dikoreksi
(menyeimbangkan badan), maka kemiringan yang mengakibatkan
robot jatuh dapat dihindari. Sedangkan untuk kemiringan ke depan
masih dapat diseimbangkan selama dorongan ke depannya tidak
terlalu besar.
Keterangan
Nilai balance yang harus dicapai masing-masing (total: 8) servo
akan dieksekusi jika robot melakukan gerakan, sehingga pada
gerakan tersebut posisi servo yang digunakan untuk
menyeimbangkan nilainya akan berubah mengikuti nilai balance-
nya.
Logbook 4. Logbook Kerja Praktik Pekan Ketiga
No. : 4 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 4.1 Hari / Tanggal : Selasa, 31 Juli 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
55
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Masih merubah-rubah nilai konstanta1 dan konstanta2 dan
mengujinya pada robot dalam melakukan gerakan jalan pada
permukaan yang kasar (kayu) dan halus (karpet).
Memperhatikan video robot bioloid premium yang mampu
menyeimbangkan dengan baik, namun disimpulkan bahwa
membutuhkan accelerometer untuk melakukan penyeimbangan
tersebut, karena gyro tidak mendeteksi kemiringan, namun
percepatan sudut. Sehingga gyro hanya efektif dalam menangani
gaya luar yang cukup cepat yang mampu memberikan perubahan
nilai gyro.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Melakukan beberapa kali percobaan nilai konstanta yang berbeda,
pada awalnya nilai konstanta1 adalah 18, dan konstanta2 adalah 54,
sehingga perbandingannya ialah 1:3, perubahan nilai konstanta
masih menggunakan perbandingan ini, sehingga hanya konstanta1
yang dirubah dan konstanta2 mengikuti (yakni 3 kalinya). Pada
akhir pengerjaan didapat konstanta1 sebesar 13 menjadi nilai yang
paling tepat untuk menyeimbangkan robot dalam berjalan dan
menjadi tidak jatuh baik pada kayu maupun pada karpet.
Keterangan Rangka robot menggunakan standar tipe A dengan menggunakan
kepala tanpa sensor infra merah.
56
No. : 4 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 4.2 Hari / Tanggal : Rabu, 1 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Mengetahui bahwa informasi beban saat ini dapat dijadikan
parameter pengukur untuk menentukan keseimbangan robot.
Dengan mengetahui hal tersebut maka dicoba untuk mengolah nilai
beban sehingga dapt dimanfaatkan untuk melakukan balancing
pada robot.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Belum berhasil mengolah data beban servo menjadi sebuah
informasi untuk melakukan balancing pada robot. Beberapa usaha
yang dilakukan ialah memperhatikan perubahan nilai beban dan
nilai posisi servo yang aktual. Didapati bahwa terdapat perubahan
nilai beban yang tidak diinginkan, yakni beban berubah dengan
delta yang berbeda jika dipaksa diputar searah jarum jam (yakni
delta yang didapat langsung meloncat ke nilai 1032 ke atas)
dibandingkan dengan dipaksa diputar berlawanan arah jarum jam
(delta yang didapat berkisar 12 hingga 70an). Delta yang dapat
dikatakan tidak akurat sebagai parameter nilai untuk melakukan
penyeimbangan menjadi hal yang menyulitkan dalam melakukan
balancing pada robot.
57
Keterangan
Pada video balancing dengan metoda “load sensing” terlihat bahwa
perubahan gerak (respon) robot kurang cepat, dan robot baru dapat
melakukan balancing setelah kemiringannya cukup besar.
No. : 4 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 4.3 Hari / Tanggal : Kamis, 2 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Mencoba kembali mengolah data beban servo, kali ini data yang
dilibatkan ialah posisi aktual servo. Posisi aktual servo dijadikan
acuan untuk pengontrolan value servo yang berbeda antara searah
jarum jam dengan yang berlawanan. Jika servo diputar searah
jarum jam maka posisi aktual servo menjadi lebih kecil
dibandingkan posisi servo yang seharusnya, sebaliknya, jika diputar
berlawanan posisi aktual servo menjadi lebih besar dibanding posisi
servo yang seharusnya. Beberapa pengontrolan yang dilakukan
masih sebatas jika selisih posisi aktual servo terhadap posisi servo
yang seharusnya negatif (diputar paksa searah jarum jam, yang
membuat nilai beban melonjak langsung menjadi 1000), maka nilai
beban dikontrol menjadi 1/5-nya, sedangkan jika selisihnya positif
(berlawanan arah jarum jam, nilai berkisar 12 hingga 70an), maka
nilai beban dikontrol menjadi 4 kalinya. Namun, tetap saja value
yang dikeluarkan masih sulit dikontrol karena masih terjadi nilai
beban yang bernilai 1000 masuk ke dalam kondisi yang dikalikan
4, sehingga nilainya menjadi 4000, padahal nilai yang diinginkan
berkisar 80 hingga 400 saja.
58
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Tidak menemukan cara yang tepat dalam menyeimbangkan
akhirnya saya menyerah untuk mengelola data beban servo sebagai
informasi untuk melakukan balancing dan kembali pada gyro.
Ternyata ketika tidak menggunakan gyro robot masih tidak terlalu
sering jatuh, sehingga belum terdapat perbedaan yang pasti antara
memakai dengan tidak memakai gyroscope. Akhirnya dibuat
rangka robot dengan menambah dua servo di bagian kepala
sehingga robot menjadi lebih berat dan dapat membuat robot
terjatuh lebih sering. Hal ini dilakukan mengikuti saran manajer
untuk menambah beban robot hingga robot sering terjatuh baru
kemudian dilakukan pembandingan antar memakai dengan tidak
memakai gyro terhadap jalan robot.
Setelah hal tersebut dilakukan ternyata pengaturan gyro yang
sebelumnya menjadi buruk dan tetap membuat robot terjatuh
sehingga harus dilakukan pengolahan nilai gyro kembali.
Keterangan
No. : 4 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 4.4 Hari / Tanggal : Jumat, 3 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
59
Waktu dan
Kegiatan
Harian
Mencoba mengimplementasi source code balancing yang mampu
melakukan penyeimbangan dalam keadaan berdiri (jika
dimiringkan ke arah belakang, maka badan akan mencondongkan
ke depan, begitu pun sebaliknya, dan berlaku pula untuk
dimiringkan ke arah kiri dan kanan) terhadap gerakan jalan robot.
Selain itu mencoba menyesuaikan kembali pengaturan nilai gyro
agar robot mampu berjalan stabil kembali.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Source code yang didapat untuk menyeimbangkan robot tidak dapat
memberikan hasil yang diharapkan, malah robot dapat melakukan
penggerakan yang tidak diinginkan. Dalam code tersebut, yang
dijadikan parameter dalam melakukan balancing tidak hanya nilai
gyro, namun selisih antara posisi servo aktual terhadap posisi servo
yang diinginkan.Selisish tersebut didapat dengan menjumlahkan
selisih servo kiri dan selisih servo kanan lalu dibagi dua (dirata-
ratakan). Selisih ini kemudian diakumulasi ke dalam suatu variable
(yang dinisialisasi 0). Nilai akumulasi ini kemudian disatukan
dengan nilai gyro (yang telah diproses) untuk digunakkan
(dimasukkan ke dalam variable offset – lih. Logbook sub 1.8 ).
Proses akumulasi ini terdapat dalam satu fungsi yang dipanggil
secara terus menerus sehingga hal ini yang kemungkinan
mengakibatkan kepada “proses pengkoreksian” diluar yang
diharapkan.
Keterangan
60
Logbook 5. Logbook Kerja Praktik Pekan Keempat
No. : 5 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 5.1 Hari / Tanggal : Senin, 6 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Melakukan penyeimbangan kembali pada robot dalam berjalan,
dengan merubah-rubah konstanta yang terkait pada rumus
pengolahan data gyro. Sebelumnya, dua servo pinggang (untuk kea
rah depan-belakang) digunakan untuk membantu penyeimbangan,
namun sekarang tidak lagi digunakan karena malah memperburuk
kondisi robot dalam berjalan (unstable).
Selain itu, dicoba pula penggunaan kamera havimo pada robot
untuk mendeteksi suatu objek (yang dalam hal ini bola tenis
berwarna jingga) dengan cara mengambil sample warna objek dan
disimpan ke dalam penampung warna yang merupakan fitur
havimo.
Kamera ini digunakan agar selalu bisa mengikuti objek yang
hendak dideteksi. Dengan maksud tersebut, maka diperlukan dua
servo tambahan agar bisa menggerakkan kamera ke arah vertikal
maupun horizontal.
Untuk pengolahan servo sehingga kamera harus ke arah kiri, kanan,
atas, atau bawah, maka digunakan pengolahan gambar yang
diambil oleh kamera Havimo. Pada prinsipnya kamera havimo akan
mampu mendeteksi objek, sehingga persoalannya ialah bagaimana
kamera tersebut mengikuti objek jika objek digerakkan.
Pengolahan gambar yang dilakukan sehingga kamera dapat
mengikuti objek yang dideteksi ialah dengan menentukan titik
pusat objek. Titik pusat tersebut di dapat dengan cara
61
menjumlahkan nilai batas atas dan batas bawah lalu dibagi dua
untuk mendapatkan koordinat x, dan perlakuan yang sama terhadap
batas kiri dan kanan untuk mendapatkan koordinat y. Setelah titik
pusat objek didapat, maka langkah selanjutnya ialah mengkalkulasi
jarak tengah objek terhadap jarak tengah kamera, hasilnya
dijadikan pergeseran yang harus dilakukan oleh servo baik ke arah
horizontal maupun vertikal.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Havimo
Hasil Kerja
Robot sedikit jatuh, artinya lebih stabil dibandingkan dengan
menggunakan dua servo (kiri-kanan) pinggang. Namun, robot
seringkali dalam berjalan posisi badan terlalu condong ke depan,
mengakibatkan kaki robot tersandung dalam melakukan gerakan
jalan sehingga robot terjatuh.
Pengaturan kamera disandingkan dengan dua servo tambahan untuk
menggerakkan kamera ke arah vertikal maupun horizontal
mengikuti objek yang hendak dideteksi, hasilnya kamera mampu
mengikuti objek yang diinginkan, hanya saja responnya sangat
lambat dan terkadang kamera seolah-olah “mati” sehingga tidak
mengikuti objek.
Keterangan Tengah kamera memiliki koordinat 80,60 (x,y).
No. : 5 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 5.2 Hari / Tanggal : Selasa, 7 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
62
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Menggabungkan pembacaan havimo dengan gerakan jalan dan
melakukan pengubahan gerakan jalan robot sehingga kaki lebih
diangkat ketika mengayunkan kaki.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Havimo
Hasil Kerja
Kamera tidak dapat mendeteksi objek ketika digabungkan dengan
pengolahan data gyro untuk keperluan berjalan. Hal tersebut diduga
sistem pengambilan gambar oleh kamera havimo tidak dapat
disandingkan dengan modul yang bersifat callback/interrupt,
karena diduga ketika proses pengambilan gambar sedang
dilakukan, modul yang sifatnya callback tersebut terjalankan
sehingga proses pengambilan gambar terganggu sehingga
mengakibatkan pengambilan gambar yang rusak.
Terkait pengubahan gerakan robot, robot menjadi tidak mudah
jatuh ke depan (seperti yang sebelumnya, karena rangka dengan
tambahan dua servo membuat robot condong ke depan dalam
berjalan).
Keterangan
63
No. : 5 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 5.3 Hari / Tanggal : Rabu, 8 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
Waktu dan
Kegiatan
Harian
Mengolah kembali data gyro untuk penyeimbangan dengan
menerapkan ilmu kontrol PID yang diberikan oleh project manager.
Hal yang diinginkan ialah membuat robot berada pada titik tengah,
bila terjadi pergeseran badan sebesar θ maka diharapkan robot
mampu mengkoreksi posisi sebanyak θ pula dengan melawan arah
pergeseran.
Kontrol yang baru hendak dicoba ialah kontrol proposional dan
kontrol derivatif. Kontrol proposional berguna untuk
penyeimbangan secara kasar, sedangkan kontrol derivatif berguna
untuk mencapai penyeimbangan tersebut dalam waktu yang lebih
singkat dibandingkan dengan hanya menggunakan kontrol
proposional.
error = present value – set point
proposional = “Kp” * “error”
derivatif = “Kd” (“errort-1“ – “errort”)
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Havimo
Hasil Kerja
Perhitungan kontrol PID cocok diterapkan untuk sensor yang
nilainya berbeda pada kondisi yang berbeda yang dalam hal ini
accelerometer, tidak cocok untuk gyro yang setelah didapatkannya
error, maka error menjadi hilang beberapa saat kemudian (setelah
percepatan berhenti), berbeda dengan accelerometer yang memang
64
mampu memberikan error sesuai dengan posisi pada saat tertentu
(tidak terpengaruh oleh percepatan). Accelerometer dapat
digunakan sebagai parameter yang baik untuk pengontrolan nilai
PID untuk gerakan (penyeimbangan) robot.
Penerapan kontrol derivatif tidak berpengaruh pada akhirnya dalam
pengujian yang dilakukan, karena pada dasarnya pada gaya
pengujian yang dilakukan, robot akan setimbang dengan
sendirinya.
Keterangan
Kp merupakan Konstanta Proporsional yang dapat di-tuning
dengan cara trial and error
Kd merupakan Konstanta Derivatif yang dapat di-tuning sama
seperti Kp
Set Point merupakan nilai yang diinginkan (untuk gyro merupakan
nilai setimbang robot yang didapat dengan cara kalibrasi nilai gyro
terhadap posisi robot di awal program)
Present Value merupakan nilai saat ini (dalam hal gyro, nilai yang
dikeluarkan gyro yang sifatnya aktual)
No. : 5 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 5.4 Hari / Tanggal : Kamis, 9 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
65
Waktu dan
Kegiatan
Harian
Memperbaiki pengkabelan robot, dan mengubah-ubah konstanta
kembali, karena dirasa masih banyak jatuhnya, walaupun frekuensi
jatuh lebih banyak ketimbang tanpa penggunaan gyro.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja
Tidak diketahui apa penyebabnya tapi robot selalu saja berjalan
memutar (tidak lurus ke depan) bila gyro digunakan. Semakin kecil
nilai konstanta yang diberikan, semakin kecil lintasan putaran
jalannya. Sehingga konstanta1 diubah menjadi 20 dengan
perbandingan 1:2 untuk pergelangan kaki berbanding lutut, dengan
begini putaran yang dilakukan robot tidak terlalu kecil, walau
masih berputar.
Keterangan Kamera tidak lagi digunakan, namun beban dua servo tambahan
tetap terpasang.
No. : 5 Periode: 16 Juli 2012 – 10 Agustus 2012
Sub No. : 5.5 Hari / Tanggal : Jumat, 10 Agustus 2012
Proyek
Pengerjaan Robot Soccer Humanoid
Project Manager : Eril Mozef
Technical Leader : -
Tugas
Membuat robot soccer yang seimbang dalam berjalan
66
Waktu dan
Kegiatan
Harian
Mempelajari komunikasi serial yang memungkinkan terjalinnya
komunikasi antar dua microcontroller, namun yang dipelajari ialah
komunikasi yang dilakukan secara wireless yang dilakukan melalui
set perangkat yang dinamakan zig100/110. Perangkat ini mampu
berkomunikasi dengan ID tertentu dan mampu menerima/mengirim
data secara broadcast.
Tools yang
digunakan
RoboPlus Motion, RoboPlus Task, RoboPlus Manager
Gyro Sensor
Hasil Kerja Tidak ada hasil terkait kemajuan pengerjaan robot.
Keterangan