ABSTRAK
Dewasa ini, Android adalah salah satu sistem operasi yang sangat populer di masyarakat. Android
adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar. Android menyediakan
platform terbuka bagi para pengembang, sehingga pengguna bisa membuat aplikasi baru di dalamnya. Aplikasi
yang mereka ciptakan sendiri bisa untuk digunakan pada bermacam peranti bergerak.
Pada penelitian ini, perangkat yang akan diintegrasikan menggunakan Android adalah sebuah robot
humanoid berbasis mikrokontroler CM-510. Robot humanoid ini bergerak berdasarkan sinyal IR yang
diterimanya dari sebuah remote control yang mengirimkan sinyal IR tersebut. Perancangan yang diperlukan
adalah perancangan hardware meliputi pembuatan RS-232 yang berfungsi sebagai komunikasi robot humanoid
dengan handphone Android, lalu pembuatan mekanika gerak kepala robot agar kepala robot dapat bergerak.
Untuk perancangan software meliputi pembuatan aplikasi handphone Android, dan pemrograman humanoid.
Dengan adanya teknologi ini, diharapkan robot humanoid tersebut dapat bergerak secara otomatis
mencari, mendekati, dan menendang sebuah benda yang menjadi objek tujuannya. Modul interface yang
digunakan untuk menghubungkan Android dengan robot humanoid tersebut adalah Modul IOIO. Modul IOIO
ini memiliki sebuah port USB, dan beberapa port I/O. Port USB akan menerima input dari Android dan
memberikan output melalui I/O port yang nantinya akan dihubungkan ke robot humanoid tersebut.
Kata kunci: Identifikasi, benda, kamera, Android, IOIO, mikrokontroler, robot humanoid
PENDAHULUAN
Dewasa ini, Android adalah salah satu menggunakan IOIO for Android. IOIO for
sistem operasi yang sangat populer di Android ini adalah sebuah rangkaian elektronik
masyarakat. Android merupakan sistem operasi yang menjadi penghubung Android dengan
yang berbasis linux untuk telepon seluler peranti lain dari luar. Robot humanoid awalnya
seperti: telepon pintar, dan komputer tablet. bergerak berdasarkan sinyal IR yang
Android menyediakan platform terbuka bagi diterimanya dari sebuah remote control yang
para pengembang, sehingga pengguna bisa yang mengirimkan sinyal IR tersebut.
membuat aplikasi baru di dalamnya. Aplikasi Kamera dari Android dapat berfungsi
yang diciptakan sendiri bisa untuk digunakan sebagai mata dari robot humanoid tersebut, dan
pada bermacam peranti bergerak. Oeh karena membuat robot yang awalnya bergerak dengan
keunggulannya yang menyediakan platform menggunakan remote control menjadi bergerak
terbuka, maka penulis membuat sebuah aplikasi secara otomatis, harapannya adalah robot dapat
tertentu menggunakan kamera dari Android bertindak lebih menyerupai manusia. Masalah
tersebut. Aplikasi yang akan dibuat yang muncul dalam pengerjaan alat adalah:
menggunakan bahasa pemrograman Java. 1. Membuat sebuah aplikasi baru untuk
Di lain sisi, teknologi robot selama ini Android;
dapat membantu manusia di berbagai bidang 2. Peletakan kamera berbasis Android pada
terutama bidang industri. Untuk robot humanoid dengan tetap menjaga
mengembangkan dunia robotika lebih jauh, para keseimbangan dari robot humanoid
peneliti mencoba membuat robot untuk tersebut;
melakukan berbagai macam olahraga dan 3. Memahami kode-kode yang dikirimkan
permainan yang dibuat manusia. Harapannya, remote control untuk menggerakkan robot
agar robot dapat bertindak seperti manusia dan humanoid;
suatu saat dapat digunakan dalam lingkup yang 4. Memprogram gerakan-gerakan baru pada
lebih luas. robot humanoid tersebut.
Pada penelitian ini, penulis Agar sistem ini lebih spesifik dan terarah,
mengintegrasikan kamera dari handphone maka pembahasan masalah dalam program ini
Android dengan sebuah robot humanoid yang memiliki batasan-batasan sebagai berikut:
menggunakan mikrokontroler untuk 1. Benda yang menjadi target adalah bola bulat
menggerakkan motor servo-nya. Interface berwarna orange;
antara kamera Android, dan robot humanoid
1)
Mahasiswa di Fakultas Teknik Jurusan Teknik Elektro Universitas Katolik Widya Mandala Surabaya
2)
Staf Pengajar di Fakultas Teknik Jurusan Teknik Elektro Universitas Katolik Widya Mandala Surabaya
WIDYA TEKNIK Vol. 12, No. 1, 2013 (69-79)
2. Spesifikasi dari Embedded system yg akan sampel masih mencakup (secara vertikal)
digunakan (kamera 5 MP, 512 MB RAM, berbagai kesinambungan nilai gray-level. Untuk
CPU 1 GHz, OS Android 2.3 Gingerbread); membentuk fungsi digital, nilai-nilai gray-level
3. Pengujian dilakukan di sebuah lapangan juga harus dikonversi( terkuantisasi) ke dalam
yang terbuat dari karpet berwarna hijau jumlah diskrit. Sisi kanan Gambar 1(c)
berukuran 400 cm x 300 cm; menunjukkan skala nilai gray-level terbagi
4. Posisi awal robot berada di tengah-tengah menjadi delapan tingkat diskrit, mulai dari
lapangan, kemudian akan mencari, hitam sampai putih. Tanda centang vertical
mendatangi, dan menendang objek menunjukkan nilai tertentu yang ditugaskan
targetnya dengan cara menggerakkan servo- kepada masing-masing nilai gray-level. Nilai
servo yang terpasang pada robot humanoid gray-level terus menerus dikuantisasi hanya
tersebut; dengan menetapkan salah satu dari delapan nilai
5. Pada lapangan akan diletakkan bola-bola gray-level diskrit untuk setiap sampel. Hal
berukuran sama namun warna berbeda dari tersebut dilakukan tergantung pada jarak
target (putih, merah, biru, hitam). vertikal dari sampel ke tanda centang vertikal.
Tujuan yang hendak dicapai dalam Sampel digital yang dihasilkan dari kedua
penelitian ini ialah robot humanoid dapat sampling dan kuantisasi ditunjukkan pada
bergerak secara otomatis mencari, dan Gambar 1(d). Kedua sampling dan kuantisasi
menemukan serta menendang sebuah objek ditunjukkan pada Gambar1(d).
yang menjadi targetnya dengan kamera berbasis
Android sebagai mata dari robot.
TINJAUAN PUSTAKA
70
Gunawan: IDENTIFIKASI BENDA MENGGUNAKAN KAMERA BERBASIS ANDROID
dilihat dari batas yang paling redup atau gelap dan semua kontrol UART dapat digunakan
sampai batas yang paling terang. dengan IOIO tersebut. Kode untuk mengontrol
Thresholding adalah proses mengubah antarmuka ini ditulis dalam cara yang sama
citra berderajat keabuan menjadi citra biner atau seperti menulis sebuah aplikasi Android.
hitam putih, sehingga dapat diketahui daerah Dengan kata lain, dapat menggabungkan
mana yang termasuk objek dan background dari kekuatan komputasi mengagumkan,
citra secara jelas. Citra hasil thresholding konektivitas bluetooth, layar sentuh, dan
biasanya digunakan lebih lanjut untuk proses berbagai sensor dari perangkat Android dengan
pengenalan objek serta ekstraksi fitur. Metode kemampuan untuk mempermudah
thresholding secara umum dibagi menjadi dua, menambahkan perangkat periferal untuk
yaitu: berinteraksi dengan dunia luar. Dengan
1. Thresholding global menggunakan IOIO tidak memerlukan
Thresholding dilakukan dengan mempartisi perangkat keras atau memodifikasi perangkat
histogram dengan menggunakan sebuah lunak untuk perangkat lainnya[3].
threshold (batas ambang) global T, yang
berlaku untuk seluruh bagian pada citra. RS-232
2. Thresholding adaptif Komunikasi serial terbagi menjadi 2,
Thesholding adaptif dilakukan dengan yaitu:
membagi citra menggunakan beberapa sub Komunikasi serial sinkron, yaitu data
citra. Lalu pada setiap sub citra, segmentasi dikirim bersamaan dengan sinyal clock.
dilakukan dengan menggunakan threshold Contoh protokol yang menggunakan
yang berbeda[1]. metode ini adalah Inter-Integrated Circuit
(I2C), dan Serial Peripheral Interface (SPI).
Handphone OS Android Komunikasi serial asinkron, yaitu data
Android adalah sistem operasi yang dikirim tanpa sinyal clock karena data
berbasis linux untuk telepon seluler seperti dikirimkan dengan kecepatan tertentu yang
telepon pintar dan komputer tablet. Android sama pada pengirim, dan penerima. Contoh
menyediakan platform terbuka bagi para protokol yang menggunakan metode ini
pengembang, sehingga pengguna bisa membuat adalah Universal Asynchronous Receiver-
aplikasi baru di dalamnya. Aplikasi-aplikasi Transmitter (UART).
yang dibuat menggunakan bahasa pemrograman Pada UART, kecepatan pengiriman data
Java. Aplikasi yang dibuat dapat digunakan (atau yang sering disebut dengan Baud Rate),
untuk menggerakkan peranti lainnya dari luar[2]. dan fase clock pada sisi transmitter, dan sisi
Aplikasi yang dibuat menggunakan receiver harus sinkron. Untuk itu diperlukan
bahasa pemrograman Java terlebih dahulu sinkronisasi antara transmitter dan receiver.
diekspor ke dalam format “.APK” agar Hal ini dilakukan oleh bit “Start” dan bit
dapat diinstal pada handphone OS Android. “Stop”. Ketika saluran transmisi dalam keadaan
Setelah aplikasi diinstal, maka program idle, output UART adalah dalam keadaan logika
baru dapat dioperasikan. Aplikasi yang “1”.
dibuat dalam pengerjaan penelitian ini Ketika transmitter ingin mengirimkan
data, output UART akan diatur dulu ke logika
memanfaatkan kamera dari handphone
“0” untuk waktu satu bit. Sinyal ini pada
tersebut untuk melakukan capturing video receiver akan dikenali sebagai sinyal “Start”
dan kemudian dilakukan image processing. yang digunakan untuk menyinkronkan fase
Setelah itu handphone tersebut akan clock-nya, sehingga sinkron dengan fase clock
mengirimkan instruction packet tertentu transmitter. Selanjutnya data akan dikirimkan
dalam bentuk RS232 pada IOIO. secara serial dari bit yang paling rendah (bit 0)
sampai bit tertinggi. Selanjutnya akan
dikirimkan sinyal “Stop” sebagai akhir dari
IOIO pengiriman data serial.
IOIO memiliki MCU tunggal yang Perbedaan RS-232 dengan komunikasi
berfungsi sebagai host USB dan serial TTL/CMOS adalah pada level
menterjemahkan perintah dari sebuah aplikasi tegangannya. IC Max-232 adalah IC yang
Android. Selain itu, IOIO dapat berinteraksi berfungsi merubah sinyal RS-232 menjadi TTL,
dengan perangkat periferal lainnya dengan cara yang dapat dibaca oleh mikrokontroler. Max
yang sama karena mempunyai MCU. Digital 232 memiliki 2 jalur penerima data (RXd) dan 2
Input/Output, PWM, Input Analog, I2C, SPI, jalur pengirim data (TX). IC Max-232
71
WIDYA TEKNIK Vol. 12, No. 1, 2013 (69-79)
72
Gunawan: IDENTIFIKASI BENDA MENGGUNAKAN KAMERA BERBASIS ANDROID
73
WIDYA TEKNIK Vol. 12, No. 1, 2013 (69-79)
Gambar 9. Skematik rangkaian RS-232 Gambar 11. Dynamixel untuk leher robot
Perancangan Software
Perancangan ini diperlukan untuk Bagian perancangan software meliputi
memperluas jarak pandang robot dalam mencari penambahan program untuk menambah gerak
objeknya. Penambahan bagian pada robot ini dari leher robot, dan pembuatan aplikasi pada
menggunakan 2 dynamixel AX. Sebelum handphone Android. Penambahan program
menggabungkan dua dynamixel tersebut, gerak pada robot agar robot dapat menoleh ke
terlebih dahulu dilakukan pemberian nama ID kanan, kiri, bawah, dan atas menggunakan
pada keduanya. Dalam hal ini, dynamixel diberi program roboplus. Untuk pembuatan aplikasi
nama ID 19, dan 20, sehingga tidak terjadi pada Android menggunakan program eclipse.
kondisi nama yang sama. Gambar 10 adalah Pada Gambar 12 disajikan diagram alir utama
gambar robot sebelum (a) dan sesudah program yang digunakan oleh penulis pada
penambahan bagian leher pada robot (b). penelitian ini.
74
Gunawan: IDENTIFIKASI BENDA MENGGUNAKAN KAMERA BERBASIS ANDROID
75
WIDYA TEKNIK Vol. 12, No. 1, 2013 (69-79)
76
Gunawan: IDENTIFIKASI BENDA MENGGUNAKAN KAMERA BERBASIS ANDROID
77
WIDYA TEKNIK Vol. 12, No. 1, 2013 (69-79)
78
Gunawan: IDENTIFIKASI BENDA MENGGUNAKAN KAMERA BERBASIS ANDROID
belakang robot, dan berjarak 1 meter dari persentase keberhasilannya adalah 90%.
robot.
KESIMPULAN
Tabel 5.Target di depan robot berjarak 2 meter
Dari hasil penelitian dan pembahasan
No. Lama waktu (detik) Keberhasilan
yang melibatkan: perancangan, pembuatan, dan
1 297 berhasil
2 316 berhasil
pengujian yang telah dilakukan, maka dapat
3 323 berhasil diambil kesimpulan sebagai berikut :
4 309 berhasil 1. Pengolahan citra dapat dilakukan sebagai
5 293 berhasil salah satu metode untuk robot
pengidentifikasi benda;
Tabel 5 menunjukkan bahwa robot dapat 2. Metode thresholding sangat mempengaruhi
berhasil 100% menyelesaikan tugas dengan hasil capturing video untuk mencari sebuah
waktu rata-rata 307,6 detik saat target berada di benda yang menjadi targetnya;
depan robot, dan berjarak 2 meter dari robot. 3. IOIO for Android adalah sistem elekronika
yang sangat membantu untuk
Tabel 6.Target di kiri robot berjarak 2 meter
menghubungkan handphone berbasis
No. Lama waktu (detik) Keberhasilan
1 308 berhasil
Android dengan peranti lain dari luar tanpa
2 321 berhasil harus mengganti software ataupun
3 294 berhasil menambahkan elektronika pada handphone
4 - gagal tersebut;
5 305 berhasil 4. Penambahan beban yang berlebih pada
bagian kepala mengakibatkan robot
Tabel 6 menunjukkan bahwa robot humanoid menjadi kurang seimbang.
berhasil menyelesaikan tugas dengan prosentase
keberhasilan sebesar 80% saat target berada DAFTAR PUSTAKA
pada kiri robot, dan berjarak 2 meter dari robot. [1] Gonzalez, R.C., dan Wintz, P.Digital Image
Processing, Edisi Kedua, Hlm. 55, 333,
Tabel 7.Target di kanan robot berjarak 2 meter 595, Addison Wesley, New Jersey, 2002
No. Lama waktu (detik) Keberhasilan [2] Sony Ericsson, Xperia Mini: Si Mini yang
1 293 berhasil
Bertenaga, http://www.idhandphone.com/
2 317 berhasil
3 291 berhasil 2011/09/ sony-ericsson-xperia-mini-si-mini-
4 - gagal yang.html, Diakses 2 maret 2012
5 329 berhasil [3] SparkFun, IOIOfor Android Beginners
Guide.http://www.sparkfun.com/tutorials/28
Tabel 7 menunjukkan bahwa robot 0, diakses 3maret 2012.
berhasil menyelesaikan tugasnya dengan [4] Ardiansyah, R., In System Programing
prosentase keberhasilan sebesar 80% jika target Menggunakan Koneksi Bluetooth, Hlm. 11-
berada pada kanan robot dan berjarak 2 meter 13, Skripsi Jurusan Teknik Elektro, Fakultas
dari robot. Teknik Universitas Katolik Widya Mandala
Surabaya, 2011
Tabel 8. Target di belakang robot berjarak 2 meter
No. Lama waktu (detik) Keberhasilan
[5] Robotis Com, Manual CM-510,
1 347 berhasil http://support.robotis.com/en/product/auxde
2 - gagal vice/controller/cm510_manual.htm, Diakses
3 329 berhasil 2 April 2012
4 334 berhasil [6] Robotis Com, AX-12/AX-12+/AX-12A,
5 - gagal http://support.robotis.com/en/product/dyna
mixel/ax_series/dxl_ax_actuator.htm,
Tabel 8 menunjukkan bahwa robot Diakses 2 April 2012
berhasil menyelesaikan tugasnya dengan [7] Hermawan, S., Mudah Membuat Aplikasi
prosentase keberhasilan sebesar 60% jika target Android, Penerbit Andi, Yogyakarta, 2011
berada di belakang robot, dan berjarak 2 meter [8] Mulyadi, A., Pedoman Praktikum
dari robot. Pemrograman Java, Surabaya, 2010
Dari hasil pengujian di atas, dapat [9] Jain, A. K., Fundamental of Digital Image
dihitung persentase keberhasilan robot Processing, Prentice-Hall Inc., New Jersey,
menyelesaikan tugas. Dari 40 percobaan, 1991
berhasil 36 kali dan gagal 4 kali, maka
79