• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2018

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

Copied!
7
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

380

Sistem Kendali Navigasi Ar.Drone Quadcopter Dengan Prinsip Natural

User Interface Menggunakan Microsoft Kinect

Sabitha Wildani Hadi1, Gembong Edhi Setyawan2, Rizal Maulana3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya

Email: 1sabitha.swh18@gmail.com, 2gembong@ub.ac.id, 3rizal_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 persentaseketepatan 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 natural 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

1. PENDAHULUAN

Saat ini quadcopter atau yang biasa dikenal dengan istilah drone, tengah populer di kalangan masyarakat. Banyak penggunaan quadcopter di berbagai bidang. Selain untuk kegiatan fotografi, quadcopter juga dapat digunakan pada berbagai

bidang seperti pertanian, medis, keamanan, dan lain sebagainya.

(2)

Namun untuk mengendalikan quadcopter menggunakan perangkat tersebut dibutuhkan proses pembelajaran yang relatif lama serta keahlian khusus.

Dengan munculnya inovasi berupa Natural User Interface (NUI), cara dalam mengendalikan quadcopter telah berkembang. 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.

NUI merupakan sebuah pendekatan baru dalam cara interaksi antara manusia dengan berbagai hal yang memiliki input alami dari manusia seperti suara, gerakan, dan biosignal. Antarmukaini 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.

Pada penelitian ini akan dilakukan implementasi dari sistem kendali navigasi quadcopter atau yang lebih umum dikenal 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.

Penelitian mengenai sistem kendali quadcopter menggunakan Kinect juga pernah dilakukan oleh oleh Sanna et al. (2013) yang membahas mengenai pengendalian quadcopter serta perbandingan antara penggunaan NUI dengan sistem kendali konvensional seperti joystick, smartphone dan keyboard. Delay yang dihasilkan pada penelitian ini sebesar 0,3 detik. Selanjutnya penelitian Mashood et al. (2015) juga membahas penggunaan Kinect sebagai sistem kendali quadcopter. Delay yang dihasilkan oleh penelitian tersebut sebesar 0,32 detik.

Berbeda penelitian Mashood et al. (2015)

dan Sanna et al. (2013) yang masih menggunakan perangkat lunak tambahan berupa FAAST (Flexible Action and Articulated Skeleton Toolkit) 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.

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 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. PERANCANGAN DAN IMPLEMENTASI Tahap perancangan serta implementasi pada penelitian ini dibagi menjadi tiga tahapan secara berurutan yaitu yaitu komunikasi sistem, gerakan tubuh, dan fungsi kecepatan.

(3)

3.1 Komunikasi Sistem

Alur komunikasi pada sistem ini diperlihatkan pada gambar 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 tracking oleh driver kinect.

Gambar 3. Alur komunikasi pada sistem

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.

Pada quadcopter, data dikirim dan diterima melalui jaringan Wi-Fi yang dipancarkan oleh quadcopter. Data yang dikirim berupa AT command dengan protokol jaringan UDP.

Gambar 4. Implementasi komunikasi sistem

3.2 Gerakan Tubuh

Agar gerakan tubuh dapat digunakan sebagai input dari sistem ini, diperlukan data joint dari sceleton tracking. Namun tidak keseluruhan data dipergunakan pada sistem ini. Data yang dipakai pada sistem berfokus pada

tubuh bagian atas khususnya bagian tangan. Total ada sebelas instruksi yang dapat pengguna gunakan untuk mengendalikan quadcopter. Gerakan tersebut seperti pada tabel 1.

Tabel 1. Daftar instruksi quadcopter berdasarkan gerakan tubuh

Gerakan Tubuh Command

Tangan kanan menunjuk

Kinect (lasso hand) Takeoff Kedua tangan

menggenggam Landing Kedua tangan direntangkan

ke samping Hover Kedua tangan dinaikkan Gaz atas Kedua tangan diturunkan Gaz bawah Tangan kanan dinaikkan

dan tangan kiri diturunkan Roll kiri Tangan kiri dinaikkan dan

tangan kanan diturunkan Roll kanan Kedua tangan diarahkan ke

depan Pitch depan Kedua tangan diarahkan ke

belakang Pitch belakang Tangan kanan diarahkan

kedepan dan tangan kiri diarahkan ke belakang

Yaw kiri

Tangan kiri diarahkan kedepan dan tangan kanan diarahkan ke belakang

Yaw kanan

3.3 Fungsi Kecepatan

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 quadcopter, maka pengguna tidak perlu takut dan ragu untuk menggerakkan

Gambar 5. Implementasi gerakan tubuh

(4)

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 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.

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.

b. Roll

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 (𝐾𝑒𝑝𝑎𝑙𝑎𝑌) dengan tangan yang posisinya berada di atas kepala (𝑇1) . 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 (𝑇2). Nilai dari T1 dan T2 diabsolutkan untuk menghindari adanya nilai negatif dalam perhitungan. Setelah mendapat nilai selisih antara kepala dan tangan di atasnya (𝑌1) serta dada dengan tangan di bawahnya (𝑌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.

c. Gaz

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

.

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

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.

4.1 Hasil Pengujian Ketepatan Gerakan

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.

(5)

Pada pengujian gerakan roll, dihasilkan grafik seperti pada 7. Gerakan roll ke kiri dan kanan berhasil dilakukan, diperlihatkan dengan berubahnya sudut dari quadcopter pada koordinat sumbu x yang berarti arah gerakan quadcopter telah benar.

Gambar 6.Grafik sudut gerakan pitch

Gambar 7. Grafik sudut gerakan roll

Pada pengujian gerakan gaz, dihasilkan grafik seperti pada gambar 8. Gerakan gaz ke atas dan bawah berhasil dilakukan, diperlihatkan dengan berubahnya ketinggian dari quadcopter yang berarti arah gerakan quadcopter telah benar.

Gambar 8. Grafik sudut gerakan gaz

Pada pengujian gerakan yaw, dihasilkan grafik seperti pada gambar 9. Gerakan yaw ke kiri dan kanan berhasil dilakukan, diperlihatkan dengan berubahnya sudut dari quadcopter pada koordinat sumbu z yang berarti arah gerakan quadcopter telah benar.

Gambar 9. Grafik sudut gerakan yaw

Untuk pengujian gerakan takeoff, hover, dan landing dilakukan sekaligus secara

berurutan dalam sekali percobaan gerakan karea parameter yang akan diamati sama yaitu ketinggian. Untuk gambar pada gerakan ini ada pada gambar 10. Saat takeoff dilakukan didapatkan ketinggian semakin bertambah pada 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 10. Grafik sudut gerakan takeoff, hover,

dan landing

Dari pengujian yang dilakukan didapatkan hasil berupa keseluruhan pengguna dapat mengendalikan quadcopter dengan sukses dari sepuluh kali percobaan pada jarak 1,5 dan 3,8 meter seperti diperlihatkan pada tabel. Sehingga persentase ketepatan pada sistem ini sebesar 100%.

Tabel 2 Hasil pengujian ketepatan gerakan

Command

Pengguna A Pengguna B

1,5 meter

3,8 meter

1,5 meter

3,8 meter

Takeoff 100% 100% 100% 100%

Landing 100% 100% 100% 100%

Gaz atas 100% 100% 100% 100% Gaz bawah 100% 100% 100% 100% Roll kiri 100% 100% 100% 100% Roll kanan 100% 100% 100% 100%

Pitch depan 100% 100% 100% 100%

Pitch belakang 100% 100% 100% 100%

Yaw kiri 100% 100% 100% 100% Yaw kanan 100% 100% 100% 100%

Hover 100% 100% 100% 100%

4.2 Hasil Pengujian Kecepatan

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

(6)

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 11. Grafik pengaruh input kecepatan pengguna pada kecepatan pitch quadcopter

Gambar 12. Grafik pengaruh input kecepatan pengguna pada kecepatan roll quadcopter

Gambar 13. Grafik pengaruh input kecepatan pengguna pada kecepatan gaz quadcopter

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 dengan akurat, maka akan dilakukan perekaman 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

Command

Percobaan ke-

Rata-rata (detik)

1 2 3 4 5

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 Roll kiri 0,03 0,05 0,05 0,06 0,05 0,04 Roll kanan 0,05 0,05 0,04 0,05 0,06 0,05 Pitch

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

belakang 0,05 0,05 0,05 0,06 0,05 0,05 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

5. KESIMPULAN

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

(7)

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.

Gambar

Gambar 2. Tahapan perancangan dan implementasi  sistem
Gambar 3. Alur komunikasi pada sistem
Gambar 11.  Grafik pengaruh input kecepatan

Referensi

Dokumen terkait

MIPA 1, meminta siswa mengumpulkan tugas merangkum minyak bumi dilanjutkan games make a match tentang minyak bumi  Menunggu ulangan harian 1 tentang senyawa hidrokarbon

Di daerah asalnya di Barulak, daun tanaman Kasombi biasa- nya dipakai dalam membuat ‘pangek’ yakni makanan dari ikan dengan tulanng lunak, sehingga ikan yang dimasak

PRAKATA Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena atas berkatnya penulis dapat menyelesaikan naskah skripsi yang berjudul “Hubungan Antara Jumlah

masalah, melainkan justru akan berakibat pada peperangan yang tidak kunjung henti, dan segala upaya penyelesaian akan sia-sia belaka. Konflik timur tengah

Badan Pertanahan Provinsi Kalsel, tempat itu merupakan tempat yang strategis dan berjualan semenjak tahun 1998. Bisnis penjualan jagung bakar biasanya

Penyajian Data menjelaskan mengenai data dan fakta subjek penelitian, terutama yang berkaitan dengan rumusan masalah yang berisi jawaban atas berbagai masalah yang diajukan

Tujuannya adalah untuk mengetahui: (a), besarnya biaya produksi dan keuntungan yang dicapai oleh petani kopi; (b) besarnya net present value (NPV), Gross dan Net B/C

Perbedaan karakter sikap dan perilaku dapat menyebabkan tidak sejalannya proses interaksi yang terjadi.Banyaknya perbedaan dalam suatu interaksi masyarakat bisa timbul