Implementasi
Skeletal
Tarcking dalam Sistem Navigasi
Mobile
Robot Menggunakan
Sensor Kinect
Mifthahul Rahmi*), Andrizal**), Rahmi Eka Putri***), Ratna Aisuwarya****)
*†***†****
Sistem Komputer, Universitas Andalas
**
Teknik Elektro, Politeknik Negeri Padang
E-mail: *[email protected], **[email protected], ***[email protected],
****
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.
TINJAUAN PUSTAKA
2.1 Mobile Robot
Mobile Robot adalah konstruksi robot yang ciri khasnya adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan robot tersebut, sehingga
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].
Gambar 1. Sensor Kinect 2.3 Skeletal Tracking
Skeletal tracking atau pelacakan rangka adalah teknik pelacakan manusia di depan kamera dengan mengidentifikasi bagian-bagian 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.
METODOLOGI PENELITIAN
3.1. Metodologi Penelitian
Metodologi penelitian pada sistem navigasi mobile robot dapat dilihat seperti pada Gambar 2.
Gambar 2. Metodologi Penelitian 3.2 Perancangan Sistem
Sistem yang akan dibuat dirancang dalam bentuk blok diagram seperti pada Gambar 3.
Gambar 3. Blok Diagram Perancangan Sistem Navigasi Mobile Robot. 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.
3.3 Rancangan Program
Pada bahasa pemrograman arduino IDE, arduino akan menerima data isyarat gerakan tangan yang dihasilkan oleh pemrograman processing. Perancangan perangkat lunak
Arduino UNO Motor DC
Perancangan
Studi Literatur
Perancangan Perangkat Keras
Driver
Motor
Bluetooth Shield
Perancangan Perangkat Lunak
ArduinoIDE Programming Processing Mobile Robot Implementasi Isyarat Gerakan Tangan Gerakan Mobile Robot
Analisa Akurasi Gerakan Mobile Robot
Dokumentasi
Bluetooth Shield Isyarat Gerakan
Tangan Sensor Kinect
Arduino Uno
PC
Mobile Robot
Skeletal
Tracking Arduino IDE Sensor Kedalaman 3D
Kamera RGB
pada pemrograman arduino IDE dalam sistem ini dapat digambarkan dalam flowchart seperti pada Gambar 4.
Gambar 4.Flowchart Arduino IDE
Gambar 5.Flowchart Processing IDE
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.
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.
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 Y
T
Y Y Y
T T
Mulai
Data Isyarat Gerakan Tangan Aktifkan Motor if ar == 'N' Motor A = CW Motor B = CW Arah Maju If ar == 'S' Motor A = CCW Motor B = CCW Arah Mundur If ar == 'E' Motor A = CW Motor B = Stop Arah Kanan If ar == 'W' Motor A = Stop Motor B = CW Arah Kiri Selesai Mulai Kalibrasi Titik Tengah Automated Mode == true
Automated Mode == false
Proses Hand Tracking
if dir == "N" ar == 'N' if dir == "S" ar == 'S' if dir == "W" ar == 'W' if dir == "E" ar == 'E'
Pengiriman Data Isyarat Gerakan Tangan ke Arduino
drawCircle == true Selesai T Y T T T Y Y Y Y
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. Tampilan Processing IDE 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.
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
tangan yang digunakan untuk melakukan hand tracking.
a. Penentuan Titik Skeletal tracking, Titik Tengah dan Kalibrasi Hand tracking Titik 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 11. Titik Skeletal tracking dan Titik Tengah
Processing akan menterjemahkan pola isyarat gerakan tangan yang diberikan oleh user melalui pemetaan posisi tangan berdasarkan nilai direction.
Gambar 12. Perhitungan Posisi Tangan 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.
Kotak Berwarna
Hitam
Nilai Posisi Tangan dan Inisialisasinya dalam value
Tabel 1.Hasil Kalibrasi dalam Sistem Navigasi Mobile Robot
Perc.
Ke- Jarak Waktu N S W E
1 90 2 Berhasil Berhasil Berhasil Berhasil
2 138 2 Berhasil Berhasil Berhasil Berhasil
3 160 2 Berhasil Berhasil Berhasil Berhasil
4 180 2 Berhasil Berhasil Berhasil Berhasil
5 205 2 Berhasil Berhasil Berhasil Berhasil
6 220 3 Berhasil Berhasil Berhasil Berhasil
7 246 3 Berhasil Berhasil Berhasil Berhasil
8 258 3 Berhasil Berhasil Berhasil Berhasil
9 263 4 Berhasil Berhasil Berhasil Berhasil
10 280 6 Berhasil Berhasil Berhasil Berhasil
11 290 6 Berhasil Berhasil Berhasil Berhasil
12 300 6 Berhasil Berhasil Berhasil Berhasil
13 305 8 Berhasil Berhasil Berhasil Berhasil
14 310 9 Berhasil Tidak
Berhasil
Tidak
Berhasil Berhasil 15 311 9 Berhasil Berhasil Tidak Berhasil Tidak Berhasil
16 312 9 Berhasil Tidak Berhasil Tidak Berhasil Berhasil 17 313 9 Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil 18 314 11 Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil 19 327 11 Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil 20 340 11 Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil
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.
Gambar 13. Isyarat Gerakan Tangan User dan Tampilan pada Program
Tabel 2.Hasil Uji Coba Arah Navigasi Maju Pada Sistem Navigasi Mobile Robot Percobaan Ke- Jarak Tangan dengan Sensor Gerakan Robot Lancar/ Tidak Lancar/ Tidak Berhasil 1 138 Maju Lancar 2 160 Maju Lancar 3 180 Maju Lancar 4 246 Maju Lancar 5 280 - Tidak Berhasil
2. Arah Navigasi Mundur
Gerakan mundur dapat dilakukan oleh mobile robot jika user memberikan
perintah isyarat gerakan tangan yang menunjukkan arah direction “S” (Gambar 14).
Gambar 14. Isyarat Gerakan Tangan User dan Tampilan pada Program
Hasil percobaan pada sistem ini dapat dilihat pada Tabel 3.
Tabel 3.Hasil Uji Coba Arah Navigasi Mundur Pada Sistem Navigasi Mobile
Robot Percobaan Ke- Jarak Tangan dengan Sensor Gerakan Robot Lancar/ Tidak Lancar/ Tidak Berhasil 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 15. Isyarat Gerakan Tangan User dan Tampilan pada Program
Tabel I. Hasil Uji Coba Arah Navigasi Kiri Pada Sistem Navigasi Mobile Robot Percobaan Ke- Jarak Tangan dengan Sensor Gerakan Robot Lancar/ Tidak Lancar/ Tidak Berhasil 1 138 Kiri Lancar 2 160 Kiri Lancar 3 180 Kiri Lancar 4 246 Kiri Lancar 5 280 Kiri Lancar
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 Gerakan Tangan User dan Tampilan pada Program
Tabel 5.Hasil Uji Coba Arah Navigasi Kiri Pada Sistem Navigasi Mobile Robot Percobaan Ke- Jarak Tangan dengan Sensor Gerakan Robot Lancar/ Tidak Lancar/ Tidak Berhasil 1 138 Kanan Lancar 2 160 Kanan Lancar 3 180 Kanan Lancar 4 246 Kanan Lancar
5 280 Kanan Tidak Lancar
5. Implementasi Semua Arah Navigasi Pada Gerakan Mobile Robot
Gambar 17. Rancangan Lintasan Mobile Robot 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.
Tabel 6.Hasil Pengujian Semua Arah Navigasi pada Gerakan Mobile Robot Perc. Ke- Jarak Ke- (cm) Baris 1 (Maju) Baris 2 (Kiri) Baris 3 (Kanan) Tingkat Keberhasilan 1 40 Berhasil Tidak Berhasil Tidak Berhasil 67% 2 45 Berhasil Tidak Berhasil Tidak Berhasil 67% 3 50 Berhasil Tidak Berhasil Tidak Berhasil 67%
4 55 Berhasil Berhasil Berhasil 100%
5 60 Berhasil Berhasil Tidak Berhasil Tidak 67%
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. DAFTAR PUSTAKA
[1] Aziz, D.A. 2012. Rancang Bangun Sistem
Perintah Gerak Mobile Robot
Menggunakan Metode Pengenalan
Isyarat Gerakan Tubuh dengan Sensor Kinect. Institut Teknologi Sepuluh November, Surabaya
[2] Evans, Martin, Joshua Noble, dan Jordan Hochenbaum. 2013. Arduino in Action. ISBN: 9781617290244
[3] Flikop, Ziny. 2004. Bounded-Input Predefined-Control Bounded-Output. New York
[4] Kar, Abishek. 2012. Skeletal tracking Using Microsoft Kinect. IIT
[5] Tim Morris. 2004. Computer Vision dan Image Processing. Palgrave Maillan.
Maju Kiri