Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
169
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], ****
[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.
ISBN: 979-26-0280-1
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
170
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 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].
Studi Literatur
Perancangan Perancangan Perangkat Keras
Driver Motor
Bluetooth Shield
Perancangan Perangkat Lunak
Programming Processing
Arduino Motor DC UNO
ArduinoIDE
Mobile Robot
Implementasi
Isyarat Gerakan Tangan
Gerakan Mobile Robot
Analisa Akurasi Gerakan Mobile Robot
Sensor Kedalaman 3D Kamera RGB
Dokumentasi
Gambar 2. Metodologi Penelitian
Mikrofon Multi-Array
Motor
Gambar 1. Sensor Kinect 2.3 Skeletal Tracking 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.
METODOLOGI PENELITIAN
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 Gerakan Tangan
Sensor Kinect PC Skeletal Tracking
Mobile Robot
Arduino Uno
Arduino IDE
Bluetooth Shield
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
ISBN: 979-26-0280-1
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
pada pemrograman arduino IDE dalam sistem ini dapat digambarkan dalam flowchart seperti pada Gambar 4. Mulai
171
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.
Data Isyarat Gerakan Tangan
4.
Aktifkan Motor
T
if ar == 'N'
If ar == 'S'
T
If ar == 'E'
Y
Y
T
If ar == 'W'
Y
Y
Motor A = CW Motor B = CW
Motor A = CCW Motor B = CCW
Motor A = CW Motor B = Stop
Motor A = Stop Motor B = CW
Arah Maju
Arah Mundur
Arah Kanan
Arah Kiri
Selesai
Gambar 4. Flowchart Arduino IDE
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 Titik Tengah Automated Mode == true
T drawCircle == true Y Automated Mode == false
Proses Hand Tracking
if dir == "N"
T
Y ar == 'N'
if dir == "S" Y ar == 'S'
T
if dir == "W"
T
if dir == "E"
Y ar == 'W'
Y ar == 'E'
Pengiriman Data Isyarat Gerakan Tangan ke Arduino
Selesai
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 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.
ISBN: 979-26-0280-1
Gambar 7. Hasil Pengujian Hand tracking
172
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 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.
Kotak Berwarna Hitam
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.
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
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.
Processing akan menterjemahkan pola isyarat gerakan tangan yang diberikan oleh user melalui pemetaan posisi tangan berdasarkan nilai direction.
Nilai Posisi Tangan dan Inisialisasinya dalam value
Gambar 12. Perhitungan Posisi Tangan dan Inisialisasi Value
Gambar 10. Implemetasi Alat Implementasi skeletal tracking dalam sistem ini mengacu pada titik sendi bagian
ISBN: 979-26-0280-1
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.
173
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 2015
Tabel 1. Hasil Kalibrasi dalam Sistem Navigasi Mobile Robot Perc. Jarak Waktu N Ke1 90 2 Berhasil 2 138 2 Berhasil 3 160 2 Berhasil 4 180 2 Berhasil 5 205 2 Berhasil 6 220 3 Berhasil 7 246 3 Berhasil 8 258 3 Berhasil 9 263 4 Berhasil 10 280 6 Berhasil 11 290 6 Berhasil 12 300 6 Berhasil 13 305 8 Berhasil 14
310
9
Berhasil
15
311
9
Berhasil
16
312
9
Berhasil
17
313
9
18
314
11
19
327
11
20
340
11
Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil
S
W
E
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil
Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil Berhasil
Tidak Berhasil Tidak Berhasil Tidak Berhasil Tidak Berhasil
Gambar 13. Isyarat Gerakan Tangan User dan Tampilan pada Program Tabel 2. Hasil Uji Coba Arah Navigasi Maju Pada Sistem Navigasi Mobile Robot Jarak Tangan dengan Sensor
Gerakan Robot
1 2 3 4 5
138 160 180 246 280
Maju Maju Maju Maju -
2.
Lancar/ Tidak Lancar/ Tidak Berhasil Lancar Lancar Lancar Lancar Tidak Berhasil
Arah Navigasi Mundur Gerakan mundur dapat dilakukan oleh mobile robot jika user memberikan
ISBN: 979-26-0280-1
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
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.
Percobaan Ke-
perintah isyarat gerakan tangan yang menunjukkan arah direction “S” (Gambar 14).
Percobaan Ke-
Jarak Tangan dengan Sensor
Gerakan Robot
1 2 3 4 5
138 160 246 263 280
Mundur Mundur Mundur Mundur Mundur
Lancar/ Tidak Lancar/ Tidak Berhasil Lancar Lancar Lancar Lancar 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
1 2 3 4 5
138 160 180 246 280
Kiri Kiri Kiri Kiri Kiri
Lancar/ Tidak Lancar/ Tidak Berhasil Lancar Lancar Lancar Lancar Lancar
174
Seminar Nasional Teknologi Informasi dan Komunikasi Terapan (SEMANTIK) 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 Gerakan Tangan User dan Tampilan pada Program
Tabel 6. Hasil Pengujian Semua Arah Navigasi pada Gerakan Mobile Robot Perc. Jarak Baris 1 Ke- Ke- (cm) (Maju)
1 2 3 4 5
5.
Jarak Tangan dengan Sensor
Gerakan Robot
138 160 180 246 280
Kanan Kanan Kanan Kanan Kanan
Lancar/ Tidak Lancar/ Tidak Berhasil Lancar Lancar Lancar Lancar Tidak Lancar
Implementasi Semua Arah Navigasi Pada Gerakan Mobile Robot Kanan
2.
3.
4. 5.
Kiri
6. Maju
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.
ISBN: 979-26-0280-1
40
Berhasil
2
45
Berhasil
3
50
Berhasil
4
55
Berhasil
5
60
Berhasil
Baris 3 Tingkat (Kanan) Keberhasilan Tidak 67% Berhasil Tidak 67% Berhasil Tidak 67% Berhasil Berhasil 100% Tidak 67% Berhasil
6. KESIMPULAN 1.
Tabel 5. Hasil Uji Coba Arah Navigasi Kiri Pada Sistem Navigasi Mobile Robot Percobaan Ke-
1
Baris 2 (Kiri) Tidak Berhasil Tidak Berhasil Tidak Berhasil Berhasil Tidak Berhasil
Proses skeletal tracking yang dilakukan pada sistem ini mengacu pada titik sendi bagian tangan yang berfungsi untuk melakukan hand tracking. Proses pengiriman data ke mobile robot melalui bluetooth telah mampu diimplementasikan pada sistem ini. 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. Jarak ideal antara sensor kinect dengan tangan user yaitu antara 138 – 300 . Perintah pola isyarat gerakan tangan dapat diberikan kepada mobile robot dengan rentang jarak 5 sebelum arah navigasi berikutnya. 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 Bounded-Predefined-Control BoundedOutput. New York [4] Kar, Abishek. 2012. Skeletal tracking Using Microsoft Kinect. IIT [5] Tim Morris. 2004. Computer Vision dan Image Processing. Palgrave Maillan.