Sistem Kendali Navigasi Ar.Drone Quadcopter Dengan Prinsip Natural User Interface Menggunakan Microsoft Kinect

  Vol. 2, No. 1, Januari 2018, hlm. 380-386 http://j-ptiik.ub.ac.id

  

Sistem Kendali Navigasi Ar.Drone Quadcopter Dengan Prinsip Natural

User Interface Menggunakan Microsoft Kinect

1 2

  3 Sabitha Wildani Hadi , Gembong Edhi Setyawan , Rizal Maulana

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: sabitha.swh18@gmail.com, gembong@ub.ac.id, rizal_lana@ub.ac.id

  

Abstrak

Quadcopter merupakan salah satu jenis dari Unmanned Aerial Vehicle (UAV), yaitu robot yang

  dapat terbang dengan empat baling-baling disetiap ujungnya. Untuk menerbangkan quadcopter pada umumnya digunakan remote control atau smartphone. Namun diperlukan keahlian dan pengalaman khusus untuk dapat menerbangkan quadcopter. Berdasarkan permasalahan tersebut maka perlu dikembangkan inovasi dari sistem kendali navigasi pada quadcopter agar lebih mudah digunakan. Sistem yang dibuat pada penelitian ini dibuat menggunakan salah satu bagian dari natural user interface berupa gerakan tubuh dari pengguna yang akan dideteksi menggunakan Kinect. Gerakan dari pengguna akan diubah menjadi sceleton tracking. Data sceleton tracking tersebut akan diolah oleh komputer dengan pemrograman javascript dan akan diteruskan menjadi instruksi untuk menggerakan quadcopter.

  

Quadcopter yang digunakan dalam penelitian ini adalah Parrot AR.Drone 2.0. Dari hasil pengujian yang

  telah dilakukan didapatkan hasil persentase ketepatan gerakan yang berhasil dilakukan pengguna untuk mengendalikan qudcopter sebesar 100%. Selain itu juga diperoleh hasil dari kecepatan gerakan roll,

  

pitch , dan yaw pada quadcopter berbanding lurus dengan nilai input dari gerakan pengguna yang berarti

  kecepatan quadcopter dapat diatur sesuai gerakan yang diberikan oleh pengguna. Untuk delay yang dihasilkan sistem ini pada saat pengguna menggerakan tubuh hingga quadcopter mengikuti instruksi adalah sebesar 0,05 detik.

  Kata kunci: Kinect, Sceleton Tracking. UAV, Quadcopter

Abstract

  

Quadcopter is a type of Unmanned Aerial Vehicle (UAV), which is a robot that can fly with four

propellers. Quadcopter can controlled with remote control or smartphone, but it takes skill and

experience to be able to control quadcopter. Based on that problems, it is necessary to develop new

innovation of quadcopter navigation control system which is easier to use. The system built on this

research is made using one part of the nat ural user interface that is user’s body gestures detected using Kinect.

  User’s gestures will be converted into sceleton tracking. The sceleton tracking data will be

processed by computer with javascript programming and will be forwarded into instructions to control

quadcopter. Quadcopter used in this research is Parrot AR.Drone 2.0. After performing test on the

system, obtained percentage of accuracy of user’s gestures to control quadcopter is 100%. In addition,

the results obtained from the speed test of roll, pitch, and yaw on the quadcopter is directly proportional

to the input value of the user ’s gestures which means the speed of the quadcopter can be adjusted automatically according to the user ’s gestures. For the delay on this system when the user moves the body until the quadcopter follows the instruction is 0.05 seconds.

  Keywords: Kinect, Sceleton Tracking. UAV, Quadcopter

  bidang seperti pertanian, medis, keamanan, dan 1.

   PENDAHULUAN lain sebagainya.

  Saat ini quadcopter atau yang biasa dikenal Untuk dapat menerbang qudcopter sesuai dengan istilah drone, tengah populer di kalangan dengan keinginan pengguna, dapat digunakan masyarakat. Banyak penggunaan quadcopter di remote control yang menggunakan media berbagai bidang. Selain untuk kegiatan fotografi, transmisi gelombang radio atau Wi-fi. Selain itu

  

quadcopter juga dapat digunakan pada berbagai quadcopter juga dapat dikendalikan

menggunakan smartphone maupun joystick.

  Fakultas Ilmu Komputer Universitas Brawijaya

380

  Namun untuk mengendalikan

  sebagai drone menggunakan NUI. Quadcopter yang digunakan adalah Parrot AR.Drone. Pemilihan Parrot AR.Drone dikarenakan jenis ini merupakan salah satu quadcopter yang bersifat open source dengan harga terjangkau. Untuk NUI yang digunakan adalah gerakan tuuh dari pengguna. Gerakan dari pengguna akan dideteksi menggunakan sensor kamera Kinect. Pemilihan sensor Kinect ini dikarenakan menurut Zeng (2012) Kinect memiliki kamera RGB dan infrared yang bisa digunakan untuk menghasilkan sceleton tracking dengan proses yang sangat cepat.

  2. PERGERAKAN QUADCOPTER

  Menurut Kusuma, Effendi, dan Iskandar (2012) quadcopter adalah sebuah konfigurasi empat buat motor pada sebuah kerangka berbentuk menyilang. Pada masing-masing ujung kerangka terdapat motor yang terpasang dengan baling-baling untuk membuat aliran udara yang menghasilkan tekanan ke arah bawah sehingga timbul gaya angkat pada quadcopter.

  quadcopter

  Quadcopter memiliki empat pergerakan yaitu roll (gerakan ke kiri dan kanan searah sumbu y), pitch (gerakan ke depan belakang searah sumbu

  x), gaz (gerakan ke atas dan bawah searah sumbu z), serta yaw (gerakan berputar ke kiri dan kanan yang berotasi pada sumbu z )

  Gambar 1. Koordinat pada quadcopter 3.

  quadcopter atau yang lebih umum dikenal

  ) sebagai pendeteksi gerakan tubuh, pada penelitian ini digunakan pemrograman javascript dengan mengambil data langsung pada Kinect driver tanpa melalui FAAST. Penelitian ini memfokuskan pada performa dan akurasi dari sistem.

  Pada penelitian ini akan dilakukan implementasi dari sistem kendali navigasi

  NUI merupakan sebuah pendekatan baru dalam cara interaksi antara manusia dengan berbagai hal yang memiliki input alami dari manusia seperti suara, gerakan, dan biosignal. Antarmuka ini memiliki perbedaan dengan cara konvensional dalam meminimalkan durasi dan tingkat kesulitan pembelajaran oleh pengguna dalam mengoperasikan quadcopter. Pendekatan ini hanya memerlukan sedikit proses pembelajaran bagi pengguna dalam percobaan yang pertama kali.

  Menurut Blake (2013) NUI adalah sebuah antarmuka alami yang dirancang untuk dapat digunakan dengan keahlian manusia yang telah ada untuk berinteraksi dengan suatu konten. NUI dapat diimplementasikan dalam bidang apa pun termasuk untuk mengendalikan quadcopter.

  User Interface (NUI), cara dalam mengendalikan quadcopter telah berkembang.

  Dengan munculnya inovasi berupa Natural

  menggunakan perangkat tersebut dibutuhkan proses pembelajaran yang relatif lama serta keahlian khusus.

  Skeleton Toolkit

PERANCANGAN DAN IMPLEMENTASI

  Berbeda penelitian Mashood et al. (2015) dan Sanna et al. (2013) yang masih menggunakan perangkat lunak tambahan berupa FAAST (Flexible Action and Articulated

  Selanjutnya penelitian Mashood et al. (2015) juga membahas penggunaan Kinect sebagai sistem kendali quadcopter. Delay yang dihasilkan oleh penelitian tersebut sebesar 0,32 detik.

  dilakukan oleh oleh Sanna et al. (2013) yang membahas mengenai pengendalian quadcopter serta perbandingan antara penggunaan NUI dengan sistem kendali konvensional seperti

  quadcopter menggunakan Kinect juga pernah

  Penelitian mengenai sistem kendali

  Tahap perancangan serta implementasi pada penelitian ini dibagi menjadi tiga tahapan secara berurutan yaitu yaitu komunikasi sistem, gerakan tubuh, dan fungsi kecepatan.

  Gambar 2. Tahapan perancangan dan implementasi sistem

  joystick, smartphone dan keyboard. Delay yang dihasilkan pada penelitian ini sebesar 0,3 detik.

  3.1 Komunikasi Sistem

  Hover Kedua tangan dinaikkan

  Gambar 5. Implementasi gerakan tubuh quadcopter. Berbeda halnya jika kecepatan

  dan ragu untuk menggerakkan

  quadcopter, maka pengguna tidak perlu takut

  Tujuan dari fungsi ini adalah menghasilkan kecepatan yang berbeda dari setiap gerakan yang dilakukan oleh pengguna. Dengan demikian pengguna dapat mengendalikan quadcopter dengan mudah. Hal ini dikarenakan jika pengguna dapat mengatur kecepatan dari

  3.3 Fungsi Kecepatan

  Yaw kanan

  Yaw kiri Tangan kiri diarahkan kedepan dan tangan kanan diarahkan ke belakang

  Pitch belakang Tangan kanan diarahkan kedepan dan tangan kiri diarahkan ke belakang

  Pitch depan Kedua tangan diarahkan ke belakang

  Roll kanan Kedua tangan diarahkan ke depan

  Roll kiri Tangan kiri dinaikkan dan tangan kanan diturunkan

  Gaz bawah Tangan kanan dinaikkan dan tangan kiri diturunkan

  Gaz atas Kedua tangan diturunkan

  Landing Kedua tangan direntangkan ke samping

  Alur komunikasi pada sistem ini diperlihatkan pada gambar

  Tangan kanan menunjuk Kinect (lasso hand) Takeoff Kedua tangan menggenggam

  Tabel 1. Daftar instruksi quadcopter berdasarkan gerakan tubuh Gerakan Tubuh Command

  Total ada sebelas instruksi yang dapat pengguna gunakan untuk mengendalikan quadcopter. Gerakan tersebut seperti pada tabel 1.

  Data yang dipakai pada sistem berfokus pada tubuh bagian atas khususnya bagian tangan.

  joint dari sceleton tracking. Namun tidak keseluruhan data dipergunakan pada sistem ini.

  Agar gerakan tubuh dapat digunakan sebagai input dari sistem ini, diperlukan data

  3.2 Gerakan Tubuh

  Gambar 4. Implementasi komunikasi sistem

  quadcopter . Data yang dikirim berupa AT command dengan protokol jaringan UDP.

  Pada quadcopter, data dikirim dan diterima melalui jaringan Wi-Fi yang dipancarkan oleh

  Setelah itu dibuat suatu program untuk mengubah data sceleton tracking yang telah diperoleh hingga dapat menghasilkan suatu instruksi yang digunakan sebagai parameter untuk menggerakan quadcopter. Selain itu program yang telah dibuat juga akan menampilkan info data navigasi dari quadcopter seperti ketinggian, baterai, kecepatan, dan lain sebagainya.

  Gambar 3. Alur komunikasi pada sistem

  tracking oleh driver kinect.

  3. Awalnya pengguna akan memberi instruksi pada sistem dengan menggerakkan badan pada Kinect. Data gerakan badan pengguna yang telah diakusisi oleh Kinect akan dikirim melalui USB menuju komputer dan diubah menjadi data sceleton

  diberi nilai konstan. Pengguna akan kesulitan saat mengendalikan quadcopter. Untuk bisa menghasilkan fungsi tersebut maka diperlukan

  2 (4)

  Untuk menguji performa dan akurasi dari sistem ini, maka akan dilakukan dua jenis pengujian yaitu pengujian waktu sistem (delay) dan pengujian ketepatan. Untuk pengujian waktu sistem akan digunakan untuk mengetahui seberapa baik performa dari sistem ini. Sedangkan untuk pengujian ketepatan dibagi menjadi dua pengujian lagi yaitu pengujian ketepatan gerakan dan kecepatan.

  Mula-mula dihitung rata-rata dari nilai tangan kiri ( ) dan tangan kanan (kananY). Setelah itu nilai tersebut dikurangkan dengan nilai dari acuan (K). Nilai ini akan menyesuaikan kondisi gerakan. Saat gerakan naik maka nilai (K) akan diisi dengan nilai dari kepala sedangkan saat turun akan diisi dengan nilai dada.

  d.

   Yaw

  Untuk parameter joint yang dipakai adalah nilai koordinat z pada tangan kiri dan kanan. Rumus dari perhitungan kecepatan diperlihatkan pada persamaan 4. Nilai dari tangan yang berada dekat dengan Kinect (

  1

  ) dikurangkan dengan tangan yang berada jauh dengan Kinect (

  2 ).

  Lalu nilai tersebut diabsolutkan untuk menghilangkan nilai negatif. Setelah itu nilai tersebut dibagi 2.

  4. PENGUJIAN DAN HASIL

  4.1 Hasil Pengujian Ketepatan Gerakan

  Untuk parameter yang dipakai adalah nilai koordinat y pada joint tangan kiri, tangan kanan, kepala, dan dada. Rumus dari perhitungan kecepatan diperlihatkan pada persamaan 3

  Pengujian ini dilakukan untuk mengetahui apakah sistem sudah berjalan sesuai dengan perancangan yang diharapkan serta mampu memberikan output yang tepat. Untuk setiap gerakan akan diuji sebanyak sepuluh kali.

  Pada pengujian gerakan pitch, dihasilkan grafik seperti pada 6. Gerakan pitch ke depan dan belakang berhasil dilakukan, diperlihatkan dengan berubahnya sudut dari quadcopter pada koordinat sumbu y yang berarti arah gerakan quadcopter telah benar.

  =

  ( 1 ) 1 = [ 1 ] − 2 = − [

  2 ] = [( 1 − 2 )/2] (2)

  = [ + ] 2 = [ − ]

  (3) "

  = [ 1 −

  2 ]

  .

   Gaz

  sebuah perhitungan berdasarkan nilai dari beberapa joint pada sceleton tracking yang diperlukan. Persamaan yang digunakan untuk perhitungan kecepatan ini didapatkan dari percobaan dan pengamatan secara berulang kali terhadap nilai dari beberapa joint tubuh yang diperoleh dari Kinect . Untuk perhitungan nilai

  c.

  kecepatan pada masing-masing gerakan akan dijelaskan sebagai berikut.

  a.

   Pitch

  Parameter yang dipakai adalah nilai koordinat z pada joint tangan kiri, tangan kanan dan bahu bagian tengah. Rumus dari perhitungan kecepatan diperlihatkan pada persamaan 1.

  • 2 = [ ℎ − ]

  1

  ). Nilai dari T 1 dan T 2 diabsolutkan untuk menghindari adanya nilai negatif dalam perhitungan. Setelah mendapat nilai selisih antara kepala dan tangan di atasnya (

  2

  ) . Jika posisi roll ke kiri maka nilai tangan kanan yang akan dihitung, begitu juga sebaliknya. Setelah itu dilakukan perhitungan terhadap selisih antara dada ( ) dengan tangan yang posisinya berada di bawah dada (

  ) serta dada dengan tangan di bawahnya (

  ) dengan tangan yang posisinya berada di atas kepala (

  (

  Parameter yang dipakai adalah nilai koordinat y pada joint tangan kiri, tangan kanan, kepala, dan dada. Rumus dari perhitungan kecepatan diperlihatkan pada persamaan 2. Mula-mula dihitung selisih dari kepala

   Roll

  b.

  Mula-mula nilai tangan kanan (KananZ) dan tangan kiri (KiriZ) dirata-rata dahulu. Hal ini dikarenakan pada saat menggerakkan tangan ke depan atau belakang, nilai antara tangan kanan dan kiri belum tentu sama. Setelah itu hasil rata- rata (Mean) tersebut di masukan pada perhitungan kecepatan (Vxx) dan digunakan untuk mengurangi nilai dari bahu bagian tengah (BahuZ). Nilai dari Vxx diabsolutkan untuk menghindari adanya nilai negatif.

  2

  ), selanjutnya kedua nilai tersebut dikurangkan dan selanjutnya dibagi 2 sehingga akan menghasilkan kecepatan gerakan roll ( ). Nilai dari (

  Vyy

  ) diabsolutkan untuk menghindari adanya nilai negatif.

  1 Pada pengujian gerakan roll, dihasilkan berurutan dalam sekali percobaan gerakan karea grafik seperti pada 7. Gerakan roll ke kiri dan parameter yang akan diamati sama yaitu kanan berhasil dilakukan, diperlihatkan dengan ketinggian. Untuk gambar pada gerakan ini ada berubahnya sudut dari quadcopter pada pada gambar 10. Saat takeoff dilakukan koordinat sumbu x yang berarti arah gerakan didapatkan ketinggian semakin bertambah pada

  

quadcopter telah benar. detik ke 0,05 sampai 1,07. Selanjutnya pada

  detik ke 1,08 sampai 3,31 nilai dari ketinggian relatif stabil dikarenakan quadcopter berada pada kondisi hover. Lalu pada detik ke 3,32 sampai 4,43 ketinggian semakin berkurang saat

  quadcopter mendarat.

  Gambar 6. Grafik sudut gerakan pitch Gambar 10. Grafik sudut gerakan takeoff, hover, dan landing Gambar 7. Grafik sudut gerakan roll Dari pengujian yang dilakukan

  didapatkan hasil berupa keseluruhan pengguna Pada pengujian gerakan gaz, dihasilkan dapat mengendalikan quadcopter dengan sukses grafik seperti pada gambar 8. Gerakan gaz ke dari sepuluh kali percobaan pada jarak 1,5 dan atas dan bawah berhasil dilakukan, diperlihatkan 3,8 meter seperti diperlihatkan pada tabel. dengan berubahnya ketinggian dari quadcopter

  Sehingga persentase ketepatan pada sistem ini yang berarti arah gerakan quadcopter telah sebesar 100%. benar.

  Tabel 2 Hasil pengujian ketepatan gerakan Pengguna A Pengguna B

  Command 1,5 3,8 1,5 3,8 meter meter meter meter

  100% 100% 100% 100% Takeoff Landing 100% 100% 100% 100% Gaz atas 100% 100% 100% 100% Gaz bawah 100% 100% 100% 100%

  Gambar 8. Grafik sudut gerakan gaz Roll kiri 100% 100% 100% 100%

  100% 100% 100% 100% Roll kanan

  Pada pengujian gerakan yaw, dihasilkan

  Pitch depan 100% 100% 100% 100%

  grafik seperti pada gambar 9. Gerakan yaw ke

  Pitch belakang 100% 100% 100% 100%

  kiri dan kanan berhasil dilakukan, diperlihatkan

  Yaw kiri 100% 100% 100% 100%

  dengan berubahnya sudut dari quadcopter pada

  Yaw kanan 100% 100% 100% 100%

  koordinat sumbu z yang berarti arah gerakan

  Hover 100% 100% 100% 100% quadcopter telah benar.

  4.2 Hasil Pengujian Kecepatan

  Pengujian ini dilakukan untuk mengetahui apakah input yang diberikan pengguna telah dapat mempengaruhi kecepatan dari quadcopter.

  Setelah dilakukan pengujian, didapatkan hasil seperti pada gambar 11, 12, 13, dan 14. Pada grafik-grafik tersebut diperlihatkan bahwa

  Gambar 9. Grafik sudut gerakan yaw

  nilai dari kecepatan yang diberikan oleh Untuk pengujian gerakan takeoff, hover, pengguna dapat mempengaruhi kecepatan dari dan landing dilakukan sekaligus secara quadcopter. Saat nilai dari input kecepatan pengguna bertambah besar, secara otomatis kecepatan dari

  quadcopter juga akan bertambah. Hal ini

  menandakan bahwa fungsi kecepatan otomatis dari sistem ini telah benar. Saat pengguna memberikan kecepatan tinggi maka quadcopter secara otomatis juga akan bergerak dengan cepat, begitu pula sebaliknya saat diberikan kecepatan rendah maka quadcopter akan bergerak dengan pelan.

  Gambar 14. Grafik pengaruh input kecepatan pengguna pada kecepatan yaw quadcopter

  4.3 Hasil Pengujian Waktu Sistem

  Pengujian ini dilakukan untuk mengetahui seberapa baik performa dari sistem kendali yang telah dibuat dengan melihat seberapa besar delay yang terjadi saat pengguna memberikan instruksi sampai quadcopter merespon.

  Untuk mengetahui waktu delay tersebut

  Gambar 11. Grafik pengaruh input kecepatan

  dengan akurat, maka akan dilakukan perekaman

  pengguna pada kecepatan pitch quadcopter

  video pada saat pengguna mengendalikan

  quadcopter . Hasil dari video tersebut akan

  dianalisis dengan menghitung selisih waktu dari frame gambar antara gerakan pengguna dengan gerakan quadcopter.

  Setelah dilakukan percobaan untuk setiap gerakan sebanyak lma kali, didapatkan hasil berupa delay pada sistem ini sebesar 0,05 detik.

  Tabel 3. Hasil pengujian delay sistem Rata- Percobaan ke- rata

  Gambar 12. Grafik pengaruh input kecepatan Command

  1

  2

  3

  4

  5 pengguna pada kecepatan roll quadcopter

  (detik) Gaz atas 0,04 0,06 0,05 0,05 0,06 0,05 Gaz bawah 0,04 0,05 0,05 0,06 0,05 0,05

  0,03 0,05 0,05 0,06 0,05 0,04 Roll kiri Roll kanan 0,05 0,05 0,04 0,05 0,06 0,05 Pitch

  0,05 0,06 0,06 0,04 0,05 0,05 depan Pitch

  0,05 0,05 0,05 0,06 0,05 0,05 belakang Yaw kiri 0,05 0,04 0,05 0,05 0,04 0,04 Yaw kanan 0,04 0,05 0,06 0,05 0,05 0,05

  Total delay sistem 0,05 Gambar 13. Grafik pengaruh input kecepatan pengguna pada kecepatan gaz quadcopter

  5. KESIMPULAN

  Dari pengujian yang telah dilakukan terhadap sistem ini, maka dapat diambil kesimpulan sebagai berikut.

  a.

  Setelah melakukan pengujian ketepatan gerakan dan kecepatan, dihasilkan persentase ketepatan gerakan sebesar 100%. Sedangkan untuk kecepatan yang dihasilkan oleh quadcopter dapat berbanding lurus dengan nilai yang diperoleh dari gerakan pengguna, hal ini menandakan saat input dari pengguna semakin besar, maka quadcopter akan bertambah cepat dan begitu pula sebaliknya. Sehingga dapat diambil kesimpulan bahwa sistem yang telah dibuat telah sesuai dengan harapan dan memiliki nilai akurasi yang tinggi.

b. Dari pengujian delay sistem, didapat delay

  sebesar 0,05 detik. Dari hasil tersebut maka dapat diambil kesimpulan bahwa sistem ini memiliki performa yang sangat baik.

6. DAFTAR PUSTAKA

  Camci, E., & Kayacan, E. (2016). Waitress quadcopter explores how to serve drinks by reinforcement learning. Region 10 Conference (TENCON), 2016 IEEE. Singapore: IEEE. Kusuma, W., AK, R. E., & Iskandar, E. (2012).

  Perancangan dan Implementasi Kontrol Fuzzy-PID pada Pengendalian Auto Take-Off Quadcopter UAV. JURNAL TEKNIK POMITS, 1 (1), 1-6.

  Mashood, A., Noura, H., Jawhar, I., & Mohamed, N. (2015). A Gesture Based Kinect for Quadrotor Control. Abu Dhabi: IEEE.

  NUI Group Community. (2009). Dipetik December 6, 2016, dari http://www.nuigroup.com/faq/

  Pahonie, R.-C., Mihai, R.-V., & Barbu, C.

  (2015). Biomechanics of flexible wing drones usable for emergency medical transport operations. E-Health and

  Bioengineering Conference (EHB), 2015. Romania: IEEE.

  Sanna, A., Lamberti, F., Paravati, G., & Manuri,

  F. (2013). A Kinect-based natural interface for quadrotor control. Elsevier, 179-186. Zeng, W. (2012). Microsoft Kinect Sensor and

  Its Effect. IEEE MultiMedia, 19(2), 4 - 10.