Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 169 Implementasi Skeletal arcking dalam Sistem Navigasi Mobile Menggunakan Sensor Kinect Mifthahul Rahmi *), Andrizal **), Rahmi Eka Putri ***), Ratna Aisuwarya ****) * *** **** Sistem Komputer, Universitas Andalas ** eknik Elektro, Politeknik Negeri Padang E-mail: * hellorahmi28@gmail.com, ** andrizalpoli@gmail.com, *** rahmi230784@gmail.com, **** aisuwarya@gmail.com Abstrak Mobile robot merupakan sebuah robot yang identik dengan aktuator berupa roda untuk menggerakkan seluruh bagian tubuhnya sehingga dapat berpindah dari satu titik ke titik lain. Salah satu perangkat yang dapat diaplikasikan dalam sistem navigasi mobile robot adalah perangkat sensor kinect yang melakukan pola pengenalan isyarat gerakan tubuh secara skeletal tracking. Skeletal tracking adalah teknik pelacakan manusia di depan kamera dengan mengidentifikasi bagian-bagian dari tubuh manusia untuk mengenali orang atau objek dan mengikuti tindakan mereka. Implementasi skeletal tracking dalam sistem navigasi mobile robot dilakukan dengan mengakses titik sendi pada bagian tangan untuk memberikan pola isyarat gerakan tangan yang terdeteksi oleh sensor kinect. Dalam sistem ini, terdapat 4 arah navigasi yang dapat diberikan yaitu maju, mundur,kiri dan kanan. Jarak ideal antara sensor kinect dengan tangan user yaitu antara 138 cm 300 cm. Berdasarkan uji coba yang dilakukan, robot dapat menerima perintah navigasi dengan tingkat akurasi gerakan sebesar 90%. Selain itu, robot juga mampu menerima beberapa perintah navigasi dengan rentang jarak 5 cm sebelum arah navigasi berikutnya. Kata kunci : mobile robot, sensor kinect, skeletal tracking, pola isyarat gerakan tangan, direction, bluetooth 1. PENDAHULUAN Saat ini ada banyak jenis mobile robot yang telah berhasil dikembangkan dengan berbagai inovasi, khususnya dalam hal navigasi mobile robot. Dalam sistem navigasinya, mobile robot ini dapat dikontrol dengan menggunakan sebuah sensor atau perangkat tambahan seperti joystick, namun seiring dengan perkembangan teknologi terdapat perangkat-perangkat yang bersifat lebih interaktif dengan user seperti perangkat sensor kinect. Dengan menggunakan sensor kinect, dapat dibuat pola pengenalan isyarat gerakan tubuh secara tracking, yaitu dengan cara menangkap gambar secara simultan dari citra yang diperoleh. Oleh karena itu, maka dirancang sebuah sistem navigasi mobile robot yang memungkinkan arah gerak mobile robot dikontrol melalui isyarat gerakan tangan. Sebelumnya, perancangan sistem navigasi mobile robot oleh Dhuha Abdul Aziz[1] menggunakan jalur komunikasi secara serial tanpa bluetooth sehingga sensor kinect dan laptop diposisikan tepat di atas mobile robot tersebut. Hal ini menyebabkan ukuran mobile robot menjadi cukup besar dan berat. Sedangkan pada perancangan sistem navigasi mobile robot kali ini jalur komunikasi yang digunakan melalui bluetooth dengan bahasa pemrograman Processing sehingga ukuran mobile robot menjadi lebih kecil dan sederhana. Hal ini akan mempermudah navigasi dari mobile robot tersebut. 2. INJAUAN PUSAKA 2.1 Mobile Mobile adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga
170 Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 robot tersebut dapat melakukan perpindahan posisi dari satu titik ke titik yang lain dengan bantuan navigasi dari sebuah sensor [2]. 2.2 Sensor Kinect Kinect ini memperkenalkan tekonologi motion gaming sebagai fitur utamanya. Motion gaming maksudnya adalah membuat pemain dapat berinteraksi pada gambar ketika bermain game tanpa menggunakan game controller. Sehingga melalui kinect, pemain dapat bermain game cukup hanya dengan menggerakkan tangan atau gerakan tubuh lainnya [3]. Driver Motor Isyarat angan Perancangan Perancangan Perangkat Keras Bluetooth Shield Implementasi Arduino UNO Mobile Studi Literatur Motor DC Mobile Perancangan Perangkat Lunak Programming Processing ArduinoIDE Analisa Akurasi Mobile Sensor Kedalaman 3D Kamera RGB Dokumentasi Gambar 2. Metodologi Penelitian Mikrofon Multi-Array Gambar 1. Sensor Kinect Motor 2.3 Skeletal racking Skeletal tracking atau pelacakan rangka adalah teknik pelacakan manusia di depan kamera dengan mengidentifikasi bagianbagian dari tubuh manusia untuk mengenali orang atau objek dan mengikuti tindakan mereka[4]. 2.4 Computer Vision Computer Visison merupakan salah satu cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali objek atau gambar yang diamati. Gambar yang diperoleh dari beberapa sumber seperti video, scanner, atau digital image [5]. 3. MEODOLOGI PENELIIAN 3.1. Metodologi Penelitian Metodologi penelitian pada sistem navigasi mobile robot dapat dilihat seperti pada Gambar 2. 3.2 Perancangan Sistem Sistem yang akan dibuat dirancang dalam bentuk blok diagram seperti pada Gambar 3. Isyarat angan Mobile Arduino Uno Sensor Kinect Skeletal racking Bluetooth Shield Gambar 3. Blok Diagram Perancangan Sistem Navigasi Mobile. Sistem gerak pada mobile robot dimulai dari input berupa isyarat gerakan tangan oleh user. Isyarat gerakan tangan tersebut akan dideteksi atau dikenali oleh sensor kinect, selanjutnya data tersebut akan diterjemahkan di dalam laptop dalam bentuk skeletal model. Hasil pengolahan isyarat gerakan tangan akan dikirim ke arduino melalui bluetooth shield yang telah dipasang pada board arduino. Kemudian dikirimkan data hasil inisialisasi ke motor driver untuk mengendalikan gerakan mobile robot agar sesuai dengan isyarat gerakan tangan. PC Arduino IDE 3.3 Rancangan Program Pada bahasa pemrograman arduino IDE, arduino akan menerima data isyarat gerakan tangan yang dihasilkan oleh pemrograman processing. Perancangan perangkat lunak
Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 171 pada pemrograman arduino IDE dalam sistem ini dapat digambarkan dalam flowchart seperti pada Gambar 4. Mulai Data Isyarat angan Aktifkan Motor if ar == 'N' Motor A = CW Motor B = CW Arah Maju Selesai If ar == 'S' Motor A = CCW Motor B = CCW Arah Mundur Gambar 4. Flowchart Arduino IDE If ar == 'E' Motor A = CW Motor B = Stop Arah Kanan If ar == 'W' Motor A = Stop Motor B = CW Arah Kiri Direction N sebagai arah N, direction S sebagai arah S, direction E sebagai arah E dan direction W sebagai arah W. Hasil inisialiasi isyarat gerakan tangan user ke dalam bentuk direction akan dikirim ke arduino sebagai input data untuk mengendalikan gerakan mobile robot. 4. HASIL DAN PEMBAHASAN Untuk mengetahui sistem tersebut bekerja dengan baik atau tidak, maka perlu dilakukan serangkaian pengujian pada alat yang akan digunakan di dalam sistem tersebut. 4.1 Pengujian Sensor Kinect Pengujian sensor kinect dilakukan dalam dua tahap, yaitu : 1. Identifikasi Data RGB Identifikasi data RGB ini dilakukan menggunakan bahasa pemrograman processing dengan library OpenNI dari kinect. Hasil pengujian identifikasi data RGB dapat dilihat pada Gambar 6. Mulai Kalibrasi itik engah Automated Mode == true drawcircle == true Automated Mode == false Proses Hand racking if dir == "N" ar == 'N' if dir == "S" if dir == "W" ar == 'S' ar == 'W' Gambar 5. Flowchart Processing IDE if dir == "E" Pengiriman Data Isyarat angan ke Arduino Selesai ar == 'E' Pada pemrograman processing, dilakukan proses kalibrasi titik tengah untuk melakukan hand tracking dan proses drawcircle untuk mengakses fungsi automated mode dan mengaktifkan motor pada mobile robot. Isyarat gerakan tangan yang diberikan oleh user akan diinisialisasikan ke dalam direction. Gambar 6. Hasil Pengujian Identifikasi Data RGB 2. Hand tracking Pengujian hand tracking ini dilakukan melalui bahasa pemrograman processing. Hasil dari pengujian hand tracking ini akan menampilkan gambar tubuh user yang tertangkap oleh sensor kinect dalam bentuk depth map kemudian hanya titik sendi pada bagian tangan yang akan diakses oleh sensor Kinect. Hasil pegujian hand tracking dapat dilihat pada Gambar 7. Gambar 7. Hasil Pengujian Hand tracking
172 Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 4.2 Pengujian Koneksi Bluetooth Pengujian ini dilakukan dengan memasang lampu LED yang dihubungkan pada ground dan pin 4 pada arduino. Lampu led tersebut akan dihidupkan melalui koneksi bluetooh. Gambar 8. ampilan Processing IDE Kotak Berwarna Hitam Dari pemrograman processing seperti Gambar 8, jika kotak berwarna hitam pada output pemrograman processing diklik maka lampu LED pada bluetooth shield akan menyala tanda bahwa koneksi bluetooth telah tersambung. tangan yang digunakan untuk melakukan hand tracking. a. Penentuan itik Skeletal tracking, itik engah dan Kalibrasi Hand tracking itik skeletal tracking yang terdeteksi akan diimplementasikan untuk melakukan hand tracking dalam memberikan pola isyarat gerakan tangan. Selain titik skeletal tracking, terdapat titik yang berfungsi sebagai poros untuk memudahkan penentuan direction yang memiliki panah yang ujungnya mengacu pada titik skeletal tracking dengan fokus joint pada sendi bagian tangan sehingga akan terbentuk sebuah garis berwarna merah. Implementasi titik skeletal tracking dan titik tengah pada pemrograman processing dapat dilihat pada Gambar 11. Gambar 9. Hasil Pengujian Koneksi Bluetooth 4.3 Implementasi Alat Sensor kinect akan dihubungkan dengan laptop menggunakan sebuah adaptor, sensor kinect ini akan membaca israyat gerakan tangan yang dilakukan oleh user dalam bentuk depth map, hasil pembacaan isyarat gerakan tangan ini akan diproses di dalam laptop. Gambar 10. Implemetasi Alat Implementasi skeletal tracking dalam sistem ini mengacu pada titik sendi bagian Gambar 11. itik Skeletal tracking dan itik engah Processing akan menterjemahkan pola isyarat gerakan tangan yang diberikan oleh user melalui pemetaan posisi tangan berdasarkan nilai direction. Nilai Posisi angan dan Inisialisasinya dalam value Gambar 12. Perhitungan Posisi angan dan Inisialisasi Value Sebelum mengaktifkan dan mengontrol gerakan motor pada mobile robot, maka perlu dilakukan sebuah kalibrasi agar tangan user dapat dibaca oleh sensor kinect untuk mengontrol gerakan mobile robot.
Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 173 abel 1. Hasil Kalibrasi dalam Sistem Navigasi Mobile Perc. Jarak Waktu N S W E 1 90 2 2 138 2 3 160 2 4 180 2 5 205 2 6 220 3 7 246 3 8 258 3 9 263 4 10 280 6 11 290 6 12 300 6 13 305 8 14 310 9 15 311 9 16 312 9 17 313 9 18 314 11 19 327 11 20 340 11 4.4 Hasil Uji Coba 1. Arah Navigasi Maju Dalam sistem navigasi mobile robot ini, gerakan maju dapat dilakukan oleh mobile robot jika user memberikan isyarat gerakan tangan yang menunjukkan arah direction N berupa lambaian tangan yang mengarah ke atas. perintah isyarat gerakan tangan yang menunjukkan arah direction S (Gambar 14). Gambar 14. Isyarat angan User dan ampilan pada Program Hasil percobaan pada sistem ini dapat dilihat pada abel 3. abel 3. Hasil Uji Coba Arah Navigasi Mundur Pada Sistem Navigasi Mobile 1 138 Mundur Lancar 2 160 Mundur Lancar 3 246 Mundur Lancar 4 263 Mundur Lancar 5 280 Mundur Lancar 3. Arah Navigasi Kiri Dalam sistem navigasi mobile robot ini, gerakan kiri dapat direspon oleh mobile robot jika user memberikan isyarat gerakan tangan melambai ke kiri sehingga akan terbaca oleh sensor kinect dan processing sebagai direction W berupa lambaian tangan kea rah kiri, dapat dilihat pada Gambar 15. Gambar 13. Isyarat angan User dan ampilan pada Program abel 2. Hasil Uji Coba Arah Navigasi Maju Pada Sistem Navigasi Mobile 1 138 Maju Lancar 2 160 Maju Lancar 3 180 Maju Lancar 4 246 Maju Lancar 5 280-2. Arah Navigasi Mundur mundur dapat dilakukan oleh mobile robot jika user memberikan Gambar 15. Isyarat angan User dan ampilan pada Program abel I. Hasil Uji Coba Arah Navigasi Kiri Pada Sistem Navigasi Mobile 1 138 Kiri Lancar 2 160 Kiri Lancar 3 180 Kiri Lancar 4 246 Kiri Lancar 5 280 Kiri Lancar
174 Seminar Nasional eknologi Informasi dan Komunikasi erapan (SEMANIK) 2015 4. Arah Navigasi Kanan Untuk gerakan ke arah kanan, mobile robot akan merespon isyarat yang dilakukan oleh user jika isyarat gerakan tangan tersebut menunjukkan arah direction E. Gambar 16. Isyarat angan User dan ampilan pada Program abel 5. Hasil Uji Coba Arah Navigasi Kiri Pada Sistem Navigasi Mobile 1 138 Kanan Lancar 2 160 Kanan Lancar 3 180 Kanan Lancar 4 246 Kanan Lancar 5 280 Kanan Lancar 5. Implementasi Semua Arah Navigasi Pada Mobile Kanan Kiri Maju Gambar 17. Rancangan Lintasan Mobile dan Implementasinya Lintasan dirancang dengan 3 arah navigasi, yaitu maju, kiri dan kanan. Lintasan pada bagian navigasi maju memiliki panjang lintasan 60, navigasi kiri memliki panjang lintasan 60 dan navigasi kanan memiliki panjang lintasan 65. Pengujian dilakukan untuk mengetahui pada jarak ideal mobile robot dapat dinavigasikan. abel 6. Hasil Pengujian Semua Arah Navigasi pada Mobile Perc. Jarak (cm) Baris 1 (Maju) Baris 2 (Kiri) Baris 3 (Kanan) 1 40 2 45 3 50 4 55 100% 5 60 ingkat Keberhasilan 6. KESIMPULAN 1. Proses skeletal tracking yang dilakukan pada sistem ini mengacu pada titik sendi bagian tangan yang berfungsi untuk melakukan hand tracking. 2. Proses pengiriman data ke mobile robot melalui bluetooth telah mampu diimplementasikan pada sistem ini. 3. Akurasi gerakan mobile robot dalam merespon pola isyarat gerakan tangan yang diberikan oleh user tergantung pada posisi user dan jarak tangan user dengan sensor kinect. 4. Jarak ideal antara sensor kinect dengan tangan user yaitu antara 138 300. 5. Perintah pola isyarat gerakan tangan dapat diberikan kepada mobile robot dengan rentang jarak 5 sebelum arah navigasi berikutnya. 6. Akurasi grakan mobile robot dalam merespon pola isyarat gerakan tangan yang diberikan adalah 90%. 7. DAFAR PUSAKA [1] Aziz, D.A. 2012. Rancang Bangun Sistem Perintah Gerak Mobile Menggunakan Metode Pengenalan Isyarat ubuh Kinect. Institut eknologi Sepuluh November, Surabaya [2] Evans, Martin, Joshua Noble, dan Jordan Hochenbaum. 2013. Arduino in Action. ISBN: 9781617290244 [3] Flikop, Ziny. 2004. Bounded-Input Bounded-Predefined-Control Bounded- Output. New ork [4] Kar, Abishek. 2012. Skeletal tracking Using Microsoft Kinect. II [5] im Morris. 2004. Computer Vision dan Image Processing. Palgrave Maillan.