PERANCANGAN DAN IMPLEMENTASI METODE DYNAMIC
TIME WRAPPING (DTW) PADA KENDALI SMART ROOM
MENGGUNAKAN SENSOR KINECT BERBASIS
MIKROKONTROLER
Ratna Aisuwarya
1), Nadia Alfitri
2), Khairatun Nisa
3)1,3)
Sistem Komputer Universitas Andalas
Jl. Kampus Unand Limau Manis, Padang 25163 Indonesia
email : aisuwarya@fti.unand.ac.id, khairatunnisa610@gmail.com
2)
Teknik Elektro, Politeknik Negeri Padang
Jl. Kampus Unand Limau Manis, Padang 25163 Indonesia
email : nadia-a@polinpdg.ac.id
ABSTRACT
Smart room is a room that is completed by controlled operation of the device in the room. By using controlled operation, smart room provides convenience, comfort, and safety to humans. In this research, the writer makes controller system which is called smart room with the pattern of hand signals. The pattern of hand signals is captured by kinect sensor which catch color images, depths, gestures, distances, positions till the user height. Dynamic Time Warping (DTW) is an algorithm to calcutae the similarity of to datas is used for hand gesture recognition. Devices are controlled in this research was the lights and curtains. Upward right hand movements is used to turn on the lights and down right hand movements to turn of the lights. Right hand movements to right for opening the curtains and right hand movements to left for closed the curtains.The analysis is done through the accuration level of motion pattern similarity and the success rate of introducing hand signals pattern. The accuration level of the motion pattern similarity is up to 70%.
Keywords
Kinect Sensor, gesture recognition, Dynamic Time Warping.
1. Pendahuluan
Smart room merupakan sebuah ruangan yang dilengkapi dengan pengoperasian terkontrol pada perangkat atau komponen yang terdapat di dalam ruangan sehingga dapat memberikan kemudahan, kenyamanan dan
keamanan pada manusia. Sistem ini dapat digunakan untuk mengendalikan hampir semua perangkat yang terdapat pada ruangan seperti pencahayaan, barang elektronik, dan sebagainya. Perintah pengontrolan pada ruangan ini dapat dilakukan dengan menggunakan suara, sensor inframerah atau lebih umum dengan menggunakan remote control, sedangkan untuk pengontrolan menggunakan gerak belum diterapkan dalam sistem smart room. Dalam hal ini, dibuat sebuah sistem kendali pada ruangan dengan menggunakan gerak atau pola isyarat tangan.
Penulis menggunakan sebuah kamera dari microsoft yang dapat berinteraksi dengan user secara real-time yaitu sensor Kinect. Kinect dapat menangkap citra berwarna, citra kedalaman, gesture, jarak, posisi hingga tinggi tubuh user[1]. Dalam penelitian yang dilakukan, untuk pengenalan pola isyarat tangan dari sensor Kinect penulis menggunakan metode Dynamic Time Warping. Metode ini akan mengukur kemiripan pola gerakan yang diperoleh dari Kinect yang selanjutnya akan diproses oleh mikrokontroler sebagai pusat kontrol perangkat di dalam ruangan seperti lampu, tirai, AC, dan sebagainya.
Sistem ini dapat diterapkan pada ruang kerja, kamar tidur maupun ruang keluarga. Dengan adanya sistem ini diharapkan dapat menjadi salah satu alternatif untuk pengontrolan perangkat serta alat elektronik yang terdapat di dalam ruangan sehingga dapat memberikan kenyamanan untuk bekerja, bersantai atau beristirahat saat lelah melakukan berbagai aktivitas.
2. Landasan Teori
2.1. Sistem Kontrol
Sistem kendali atau sistem kontrol (control system) adalah suatu alat (kumpulan alat) untuk mengendalikan, memerintah, dan mengatur keadaan dari suatu sistem. Dalam hal ini output yang dikendalikan adalah kestabilan, ketelitian, dan kedinamisan. Secara umum, sistem kontrol terbagi dua, pertama sistem kontrol loop terbuka (open loop) dengan karakteristik dimana nilai keluaran tidak mempengaruhi aksi kontrol. Kedua, sistem kontrol loop tertutup (close loop) dimana nilai dari keluaran akan mempengaruhi pada aksi kontrolnya. Penelitian ini merupakan sistem kontrol loop terbuka[2].
2.2. Sensor Kinect
Fitur-fitur yang ada pada teknologi sensor kinect meliputi kamera RGB, depth sensor, motorized tilt, dan multi-array microphone. Dari keempat fitur yang dimiliki sensor kinect, depth sensor lah yang berperan penting dalam sistem motion. Depth sensor bertujuan untuk mendapatkan data video dalam kondisi tiga dimensi didalam kondisi ambient light (menyesuaikan sumber cahaya yang ada dilingkungan tersebut). Jangkauan pandang optimal dari sensor kinect adalah 1,2 m – 3,5 m[3]. Sensor Kinect dapat dilihat pada gambar 1.
Gambar. 1 Sensor Kinect
2.3. Skeletal Tracking
Skeletal tracking merupakan fitur yang diberikan oleh kinect SDK dimana dengan fitur ini memungkinkan sensor kinect dapat melacak titik sendi tubuh manusia[4]. Depth sensor berperan penting dalam skeletal tracking ini. Depth sensor awalnya memetakan objek yang ditangkap berdasarkan jarak, data tersebut dibandingkan dengan data hasil training yang telah dibuat oleh para peneliti.
Sensor Kinect dapat melacak hingga enam user yang berada dalam jangkauan sensor Kinect. Dua user dapat dideteksi secara detail titik sendi utama pada tubuh mereka dan melacak setiap pergerakan yang dilakukan oleh user
tersebut. gambar 2 menunjukkan pelacakan skeletal tracking dengan sensor Kinect.
Gambar 2. Pelacakan Menggunakan Skeletal Tracking
2.4. Motor Servo
Motor servo merupakan motor yang mampu bekerja dua arah (CW dan CCW) dimana arah dan sudut pergerakan motor dapat dikendalikan hanya dengan memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya[5]. Motor servo dan bagiannya dapat dilihat pada gambar 3.
Gambar. 3 Motor Servo
2.5.
Dynamic Time Warping
(DTW)
DTW merupakan algoritma yang digunakan untuk mengukur kemiripan antara dua runtun data dengan durasi (panjang) berbeda. DTW banyak digunakan untuk aplikasi speech recognition, pengenalan tanda tangan, pengolahan isyarat, computer vision and computer animation, music dan sebagainya[6]. Algoritma ini terkenal efisien dalam mengatur jarak kemiripan antara dua data yang meminimalkan pengaruh pergeseran dalam waktu, sehingga walaupun berbeda kecepatan masih bisa dikenali.
Jika terdapat dua runtun data Q dan S, dengan masing-masing panjang m dan n dengan
Q = q1, q2, ..., qm ...(1)
C = c1, c2, ..., cn ...(2)
Untuk mendapatkan kemiripan kedua data tersebut menggunakan metode DTW, dibentuk matriks m x n dengan elemen matriks (i,j) berupa nilai jarak c(qi, cj) = (qi
dengan cost terendah. Berikut kriteria-kriteria dalam menentukan warping path[7] :
a. Boundary Condition
Dimana titik awal dan titik akhir dari warping path harus merupakan titik awal dan akhir dari rangkaian data. Bertujuan agar data yang ada diproses mulai dari awal hingga akhir.
b. Monotonicity Condition
Proses urutan berdasar waktu atau kondisi akan mempertahankan urutan deret waktu. Tujuannya agar tidak terjadi perulangan.
c. Continuity Condition
Agar data yang diproses tidak melompat ke data yang jaraknya jauh.
Setelah mendapatkan warping path, dibentuk matriks DTW dengan menghitung Accumulated distance dengan persamaan berikut:
....(3) Perhitungan akumulasi untuk matriks DTW sebagai berikut: a. DTW(1,1) = c(1,1) b. Baris pertama ...(4) c. Kolom pertama ...(5) d. Semua elemen matriks lainnya
Setelah menghitung matriks DTW, maka dihitung nilai optimal warping cost dengan menghitung total dari cost jalur yang dilewati. Untuk penghitungan tingkat akurasi kemiripan pola gerakan menggunakan persamaan:
...(7)
2.6.
Mikrokontroler ATMega328
ATMega328 merupakan mikrokontroler keluaran dari Atmel yang mempunyai arsitektur RICS (Reduce Intruction Set Computer) dimana setiap proses eksekusi data lebih cepat daripada arsitektur CISC (Completed Instruction Set Computer)[8]. Instruksi dapat dieksekusi dalam setiap satu siklus clock, dimana pada saat satu instruksi dikerjakan instruksi berikutnya suda diambil dari memori program. Kecepatan dari ATMega328 ini mencapai 16 MIPS dengan clock 16 MHz.
3. Metodologi Penelitian
Desain penelitian menggunakan experimental research. Pada penelitian ini dirancang sistem kendali smart room menggunakan sensor kinect berbasis mikrokontroler dengan metode menggunakan sensor kinect berbasis mikrokontroler dengan metode Dynamic Time Warping untuk mengenali pola gerakan. Berikut desain penelitian yang digunakan. gambar 4 menunjukkan desain dari penelitian ini.
Proses Pelacakan Gerak
Proses Kontrol Smart Room
Studi Literatur
Identifikasi RGB dan depth data
Skeletal Tracking pada gerak tubuh manusia
Hand Tracking Pengenalan Pola Gerak
dengan Metode DTW
Kontrol Lampu dan Tirai Pengujian
Analisa Penelitian Dokumentasi
Gambar 4 Desain Penelitian
Proses pelacakan gerak dimulai dengan identifikasi RGB dan depth data dimana sensor kinect meng-capture citra dari user kemudian diproses dan diubah ke bentuk skeletal dengan metode identifikasi RGB dan depth data. Selanjutnya proses skeletal tracking yang merupakan proses pendeteksian kerangka tubuh manusia, dengan adanya skeletal tracking system dapat menangkap pola gerak yang dilakukan oleh user dan dijadikan input pada sistem. Selanjutnya mendapatkan hand tracking dimana hanya titik sendi bagian tangan yang dimanfaatkan untuk proses pengontrolan smart room. Setelah itu pengenalan pola gerak tangan dari user dengan metode DTW dan hasil pengenalan gerakan dikirimkan ke mikrokontroler untuk dilakukan pengontrolan.
3.1. Rancangan Arduino, Motor Servo dan LED
Perancangan pengontrolan smart room menggunakan Arduino, motor servo digunakan untuk pengontrolan tirai dan LED pada prototype. Motor servo memiliki 3 output yaitu ground, Vcc dan PWM. gambar 5 menunjukkan perancangan rangkaian pada prototype smart room.
Gambar 5 Rangkaian Arduino, Motor Servo dan LED
3.2. Perancangan Program
Program diperlukan untuk menjalankan sistem agar dapat mengenali pola gerakan yang digunakan untuk pengontrolan pada prototype smart room. Berikut flowchart perancangan program :
1) Flowchart Sistem Kendali Smart Room
start Skeletal tracking Bandingkan dengan data1 Gerakan = 1 Kirim data “1” ke arduino stop Gerakan = 2 Kirim data “2” ke arduino Gerakan = 3 Kirim data “3” ke arduino Gerakan = 4 Kirim data “4” ke arduino Proses DTW Gerakan dari user (data2) Y T T T T Y Y Y
Gambar 6 Flowchart Sistem Kendali Smart Room
Gambar 6 menunjukkan alur program dari sistem kendali smart room. Program dimulai dengan mengidentifikasi user untuk memperoleh skeletal tracking yang akan dijadikan input. Setelah mendapatkan skeletal tracking dilakukan pembacaan gerakan input (data2) untuk dibandingkan dengan gerakan referensi (data1) menggunakan metode DTW. Hasil dari pembandingan gerakan ini dikirim ke mikrokontroler untuk dilakukan pengontrolan terhadap lampu dan tirai.
2) Flowchart Arduino IDE
Perancangan program pada Arduino IDE dapat dilihat pada Gbr 7 dimulai dengan menginisialisasikan pin untuk LED dan motor servo. Terdapat empat pengontrolan pada sistem ini, yaitu pengontrola LED Hidup, LED Mati, Tirai Buka dan Tirai Tutup.
start
Pin led = 13 Pin sevo = 10
Case = 1 Case = 2 Case = 3 Case = 4
LED Hidup LED Mati Tirai Buka Tirai Tutup
stop
T T T
Y Y Y Y
T
Gambar 7 Flowchart Arduino IDE
4. Hasil dan Analisa
Tampilan dari sistem kendali pada smart room menggunakan sensor kinect dan mikrokontroler dapat dilihat pada Gambar 8.
4.1.
Pengujian
Skeletal Tracking
Tabel 1. Pengujian Skeletal Tracking Jarak Deteksi Jarak Deteksi
40 cm Tidak 3 m Ya 70 cm Tidak 3,5 m Ya 1 m Tidak 3,7 m Ya 1,2 m Ya 4 m Tidak 1,5 m Ya 4,5 Tidak 2 m Ya 4,8 Tidak
Dari Tabel 1 dapat dilihat sensor kinect dapat melacak dan mengenali skeletal tracking dengan baik pada jarak 1,2 m – 3,7 m. Pada jarak ≤ 1 m sensor kinect tidak dapat melacak skeletal tracking dikarenakan posisi user yang terlalu dekat dengan sensor kinect, sedangkan pada jarak ≥ 4 m jarak user terlalu jauh dari sensor kinect.
4.2.
Pengujian terhadap Kondisi Cahaya
Tabel 2. Pengujian terhadap Kondisi Cahaya Kondisi Cahaya Deteksi Skeletal
Terang Ya
Gelap Ya
Tabel 2 menunjukkan bahwa sistem dapat melacak skeletal tracking dari user dengan baik. Sensor kinect memanfaatkan IR emitter yang terdapat pada sensor untuk mengenali objek dengan baik.
4.3.
Pengujian Penyimpanan Pola Gerakan
Berikut pola gerakan yang digunakan untuk pengontrolan dapat dilihat pada gambar 9.
4
Gambar 9 Pola Gerakan Pengontrolan
Tangan kanan digunakan sebagai pengontrol pada prototype smart room. Gerakan tangan ke kanan merupakan pola gerakan untuk membuka tirai, gerakan tangan ke kiri untuk menutup tirai sedangkan untuk menghidupkan lampu dengan gerakan tangan ke atas dan gerakan tangan ke bawah untuk mematikan lampu.
4.4.
Pengujian LED dan Motor Servo
Motor servo digunakan untuk membuka dan menutup tirai pada smart room dan led digunakan sebagai lampu. Motor servo dihubungkan dengan pin 10 dan led dengan pin 13 pada arduino. Perputaran pada motor servo sebesar 1800. Pengujian pada LED dan motor servo dapat dilihat pada gambar 10.
Gambar 10 Pengujian LED dan Motor Servo
4.5.
Pengujian Sistem Kendali
Smart Room
Tabel 3. Pengujian Pengontrolan Smart Room
1 2 3 4 5 1 2 3 4 5 Lampu Hidup 82,5 71,4 71,6 72,1 X X X X X X Lampu Mati X X 0,7 X 75,3 71,9 72,6 71,2 73,1 72,5 Tirai Buka 80,1 84,9 85,0 75,6 79,8 75,9 X X X 71,5 Tirai Tutup 75,3 77,4 84,1 70,8 X X 70,4 X X 70,0 Lampu Hidup 77,5 81,4 76,6 70,8 X X X X X 75,1 Lampu Mati X X 70,8 X 73,3 70,9 73,5 72,1 X 76,0 Tirai Buka 78,4 77,5 73,9 77,2 76,5 X 70,9 X X X Tirai Tutup X 71,9 71,6 74,4 71,1 71,5 X 70,3 X X Lampu Hidup 72,4 X 72,9 74,1 72,2 X X X X X Lampu Mati 78,2 X 72,5 X 75,5 X 72,1 79,1 75,7 X Tirai Buka 70,9 73,5 X X 71,6 X X 70,4 X X Tirai Tutup 72,5 X X 75,5 X X X 71,0 X X 3 METER 2 METER Jarak Gerakan Akurasi(%) User 1 User 2 1,2 METER Keterangan : X = Gagal
Tabel 3. menunjukkan hasil pengujian dari pengontrolan smart room yang dilakukan oleh 2 orang user dengan jarak 1,2 meter, 2 meter dan 3 meter. Perhitungan persentase keberhasilan pengontrolan pada tiap jarak dilakukan dengan persamaan :
Tabel 4. Persentase Pengenalan Pola Gerakan
Jarak Gerakan Keberhasilan (%)
User 1 User 2 1,2 m Lampu Hidup 80 0 Lampu Mati 40 100 Tirai Buka 100 40 Tirai Tutup 80 40 2 m Lampu Hidup 80 20 Lampu Mati 40 80 Tirai Buka 100 20 Tirai Tutup 80 20 3 m Lampu Hidup 80 0 Lampu Mati 60 60 Tirai Buka 60 20 Tirai Tutup 40 20
Tabel 4. menunjukkan tingkat keberhasilan pola gerakan untuk pengontrolan prototype smart room. Pola gerakan tertinggi untuk gerakan lampu hidup oleh user 1 sebesar 80% pada semua jarak pengujian. Untuk pola gerakan lampu mati tingkat keberhasilan tertinggi oleh user 2 sebesar 100% pada jarak 1,2 meter. Pola gerakan tirai buka keberhasilan tertinggi 100% oleh user 1 pada jarak 1,2 dan 2 meter. Untuk pola gerakan tirai tutup keberhasilan tertinggi oleh user 1 sebesar 80% pada jarak 1,2 dan 2 meter.
Tabel 5. Waktu Pengontrolan Smart Room
Gerakan Waktu Ket
Lampu Hidup 3 detik Berhasil
Lampu Hidup 2 detik Gagal
Lampu Hidup 1 detik Gagal
Lampu Mati 3 detik Berhasil
Lampu Mati 2 detik Gagal
Lampu Mati 1 detik Gagal
Tirai Buka 3 detik Berhasil
Tirai Buka 2 detik Berhasil
Trai Buka 1 detik Gagal
Tirai Tutup 3 detik Berhasil
Tirai Tutup 2 detik Berhasil
Tirai Tutup 1 detik Gagal
Tabel 5 menunjukan waktu yang diperlukan dalam mengeksekusi satu perintah pengontrolan. Diberikan 3 parameter waktu yaitu 1-3 detik (rata-rata) untuk setiap gerakan kontrol. Berdasarkan hasil pengujian diperoleh waktu rata-rata sistem dapat mengenali perintah yaitu 3 detik. Selain waktu tersebut, sistem sulit membedakan antara gerakan satu dengan yang berlawan arah.
5.
Kesimpulan dan Saran
5.1.
Kesimpulan
Berdasarkan perancangan dan pengujian yang telah dilakukan pada sistem yang telah dibuat maka dapat disimpulkan bahwa:
1. Pengenalan pola dengan sensor Kinect menggunakan metode Dynamic Time Warping dapat diterapkan sebagai sistem kontrol smart room.
2. Sistem pengenalan pola gerakan hanya dapat dilakukan oleh satu user pada satu waktu.
3. Sudut arah gerakan untuk setiap perintah kontrol baik vertikal dan horizontal dipengaruhi oleh tinggi badan user. System dapat menyesuaikan dengan pengenalan pola skeletal user.
4. Sistem pengontrolan smart room menggunakan sensor Kinect dengan tingkat akurasi kemiripan setiap pola gerakan di atas 70%.
5. Sistem pengontrolan smart room dapat bekerja dengan baik pada kondisi cahaya terang maupun gelap dengan jarak pengontrolan 1,2 meter – 3 meter.
5.2.
Saran
Untuk penelitian dan pengembangan sistem ini selanjutnya, dapat disarankan beberapa hal sebagai berikut:
1. Sistem yang dirancang pada tugas akhir ini perlu dikembangkan agar dapat melakukan pengenalan pola gerakan dengan lebih baik dan bersifat multi user. 2. Agar dapat dikembangkan dalam bentuk pola gerakan
yang lebih bervariasi.
3. Sistem pengontrolan yang dilakukan hanya untuk pengontrolan lampu dan jendela, dapat dikembangkan untuk sistem pengontrolan yang lain.
REFERENSI
[1] http://msdn.microsoft.com/en-us/library/jj131033.aspx, diakses tanggal 25 Juli 2017.
[2] Phillips, Charles. 2011. Dasar-Dasar Sistem Kontrol. Prentice Hall.
[3] http://msdn.microsoft.com/en-us/library/jj131033.aspx, diakses tanggal 25 Juli 2017.
[4] Catuhe, David.2012.Programming with the Kinect for Windows Sofware Development Kit. Microsoft Press, Washington.
[5] Jacek F. Gieras, 2011. Permanent Magnet Motor Technology: Design and Applications, Third Edition. CRC Press. pp. 26–. ISBN 978-1-4398-5901-8. i
[6] Senin, Pavel.2008. Dynamic Time Warping Algorithm Review.University of Hawaii.USA.
[7] Hendry, Jans.2012.Dynamic Time Warping Algorith (DTW).Universitas Gadjah Mada, Yogyakarta.