Sistem Kendali Quadrotor Berbasis Kinect

Post on 07-Apr-2017

100 views 1 download

Transcript of Sistem Kendali Quadrotor Berbasis Kinect

SISTEM KENDALI QUADROTOR BERBASIS KINECT

OLEHDIMY FERDIANA11/319916/PA/14303ELEKTRONIKA DAN INSTRUMENTASI

Interaksi berbasis gestur dapat mempermudah kendali dibanding keyboard, dsb.

-- C. Hu, et al., 2003 --

FAAST berfungsi sebagai middleware sensor Kinect yang mampu mengenali gestur tubuh.

-- Suma, et al., 2011 --

RUMUSAN MASALAH

Bagaimana piranti bergerak quadrotor dapat dikendalikan sistem kendali berbasis Kinect?

TUJUAN PENELITIAN

Implementasi FAAST pada sistem kendali quadrotor berbasis Kinect.

Batasan Masalah

Sebanyak satu quadrotor

Parrot Ar Drone 2.0

Perangkat motion capture

Sensor Kinect Xbox 360

Hover, Flat trim, Maju-mundur, naik-turun, putar-kiri atau kanan, take off-landing.

Anggota tubuh yang diteliti adalah tangan kiri kananTinggi user 160 cm - 175cmDilakukan sebanyak 6xSatu orang userDi dalam ruangan

2011 Suma, et al.Implementasi FAAST memfasilitasi kendali dari seluruh bagian tubuh manusia pada aplikasi virtual reality dan video games dengan depth sensor OpenNI-Compliant.

2012 Sanna, et al.Meneliti mengenai kontrol quadrotor dengan Natural-User Interface (NUI) dan teknik komputasi visual di luar jangkuan GPS atau dalam ruangan.

2013Sinha dan

Chakarvarty

Identifikasi kemampuan Microsoft Kinect terhadap pengenalan orang secara otomatis menggunakan non-intrusive biometric modality yang diujicobakan pada 20 orang yang sedang berjalan.

2014 Ogioni, et al.

Menyajikan cara intuitif kendali quadrotor melalui Human-Machine Interaction (HMI), berdasarkan sensor gerak pada gerakan tubuh sebagai perintah mobile platform (AR. Drone 2.0).

Penelitian Sebelumnya

BAB IIIDasar Teori

Sensor Kinect Xbox 360Sensor kombinasi dari kamera RGB dan kamera Infra-red (IR), mengenali gestur manusia pada video games Xbox sebagai instruksi.

Natural User Interface (NUI)

Postur tubuh dapat dikenali oleh wearable sensor serta teknik visi. Gestur memberikan komunikasi ekspresif, alami, dan intuitif bagi manusia.

The Flexible Action and Articulated Skeleton Toolkit (FAAST)

Middleware sensor Kinect untuk mendeteksi rangka tubuh manusia.

Quadrotor & AR Drone platform

Jenis UAV tipe quadrotor 4 baling-baling buatan prancis, dikendalikan melalui aplikasi AR FreeFlight di smartphone.

Alat dan Bahan

Rancangan Sistem Kendali

Rancangan Arsitektur NUI

Graphic User Interface (Windows Form Application - C#)

DLL Drone(C++)

Indoor Tracking System

FAAST

PrimeSense NITE PrimeSense NITE

Windows Operating System Kinect Driver

Hardware

Rancangan Alur Perpindahan Data

DLL Drone

Control Data

OS Wi-Fi

Video & Navigation Data

GUI

FAAST

PrimeSense

OS

Human Movement

OpenNI

KinectDriver

USB

Rancangan Gestures & Actions

Rencana Pengujian

Motion Capture

User berada di area tracking akan diuji cobakan sebuah instruksi enam kali, maka akan diketahui persentasi keberhasilan instruksi yang berhasil dieksekusi menggerakkan quadrotor.

Area Tracking

User diposisikan berada pada wilayah yang baik untuk dilakukan motion capture, sehingga dari pengujian ini akan diketahui tingkat keberhasilan sistem mampu mengenali instruksi user.

Implementasi Kinect

Instalasi SDK Kinect ver. 1.8 Interkoneksi Kinect dengan PC

Implementasi Perangkat Lunak

Windows Presentation Foundation (WPF Format)

Proses Training Gestur

Training Menggunakan Kinect Explorer dan Skeleton Stream

Hasil Proses Training Gestur

Gestur

Koordinat XYZ (meter)

Left Shoulder Right Shoulder Left Hand Right Hand

Take off -0,1487; 0,3568; 3,1770 x -0,2192; 0,8327; 3,0659 x

Landing -0,0995; 0,3933; 3,1699 x -0,1730; -0,1894; 3,0413 x

Turn left -0,1209; 0,4013; 3,1765 x -0,6251; 0,4068; 3,0413 x

Turn right -0,1101; 0,3922; 3,1590 x 0,0659; 0,2636; 2,9372 x

Hovering -0,1017; 0,3774; 3,1550 x -0,1570; 0,4632; 2,6112 x

Flat trim -0,1301; 0,3719; 3,1804 x -0,3444; 0,5312; 3,1182 x

Roll left x 0,1988; 0,3954; 3,1406 x 0,0272; 0,2274; 2,8934

Roll right x 0,1509; 0,3841; 3,2235 x 0,6750; 0,3407; 3,1171

Up x 0,1706; 0,4512; 3,1892 x 0,3013; 1,0220; 3,1122

Down x 0.1679, 0.3550, 3.1847 x 0.3024, -0.1519, 3.0180

Forward x 0,1679; 0,3538; 3,0656 x 0.2183, 0.4861, 2.5282

Backward x 0.1443, 0.3647, 3.1606 x 0.2250, 0.5759, 3.1120

Visualisasi Skeleton Terdeteksi

Frame berukuran 640x480 px Indikator Posisi Ideal

Data Stream AR.Drone

Data Stream AR.Drone yang telah diekstrak ke Excel

Pengujian Jarak Ideal User-Kinect

Jarak ideal antara 250 cm (kiri) s.d. 300 cm (kanan)

Pengujian Tinggi Ideal Kinect

Perbedaan hasil dengan tinggi 50 cm (kiri) dengan 100 cm (kanan)

Hasil Pengujian Tinggi Ideal Kinect 100 cm

Gestur

Status

Right Hand Right Shoulder Left Hand Left Shoulder

Take off OK OK OK OK

Landing OK OK OK OK

Turn left OK OK INFERRED OK

Turn right OK OK OK OK

Hovering OK OK OK OK

Flat trim OK OK OK OK

Up OK OK OK OK

Down OK OK OK OK

Roll left INFERRED OK OK OK

Roll right OK OK OK OK

Forward OK OK OK OK

Backward OK OK OK OK

Pengujian Respon AR.Drone

Gestur

Pengujian ke-

1 2 3 4 5 6

Take off X √ √ √ √ √

Landing √ X √ X √ √

Turn left √ √ √ √ √ √

Turn right √ X X √ √ X

Hovering √ √ √ √ √ √

Flat trim √ √ √ √ √ √

Up √ √ √ √ √ √

Down √ √ √ √ √ √

Roll left X √ X √ √ X

Roll right √ √ √ √ X √

Forward √ √ √ √ √ √

Backward √ √ √ √ √ √

Kesimpulan

1. Kinerja Kinect akan bekerja paling baik apabila diletakkan pada ketinggian 100 cm

2. Rentang jarak Kinect terhadap user sehingga dapat melakukan misi yakni 250 cm s.d. 300 cm

3. Pendeteksian posisi tangan denga nmenggunakan library FAAST mampu mendeteksi posisi tangan yang berbeda-beda

4. Kinect akan bekerja dengan baik apabila suatu bentuk gestur tidak ada sendi yang terhalangi oleh sendi lain

5. AR.Drone berhasil melakukan misi take off, landing, flat trim, hover, turn left, turn right, naik, turun, roll left, roll right, maju, dan mundur

Demonstrasi Sistem

Terima Kasih

Lampiran

Lampiran: Implementasi Quadrotor

Konfigurasi hostname AR.Drone

Lampiran: Implementasi Library FAAST

Import Library FAAST ke Sistem

Lampiran: Hasil Proses Training Gestur #1

GesturKoordinat XYZ (meter)

Left Shoulder Left Hand

Take off -0,1487; 0,3568; 3,1770 -0,2192; 0,8327; 3,0659

Landing -0,0995; 0,3933; 3,1699 -0,1730; -0,1894; 3,0413

Turn left -0,1209; 0,4013; 3,1765 -0,6251; 0,4068; 3,0413

Turn right -0,1101; 0,3922; 3,1590 0,0659; 0,2636; 2,9372

Hovering -0,1017; 0,3774; 3,1550 -0,1570; 0,4632; 2,6112

Flat trim -0,1301; 0,3719; 3,1804 -0,3444; 0,5312; 3,1182

Lampiran: Hasil Proses Training Gestur #2

GesturKoordinat XYZ (meter)

Right Shoulder Right Hand

Roll left 0,1988; 0,3954; 3,1406 0,0272; 0,2274; 2,8934

Roll right 0,1509; 0,3841; 3,2235 0,6750; 0,3407; 3,1171

Up 0,1706; 0,4512; 3,1892 0,3013; 1,0220; 3,1122

Down 0.1679, 0.3550, 3.1847 0.3024, -0.1519, 3.0180

Forward 0,1679; 0,3538; 3,0656 0.2183, 0.4861, 2.5282

Backward 0.1443, 0.3647, 3.1606 0.2250, 0.5759, 3.1120

Lampiran: Training Gestur

Potongan program algoritma penentu posisi tangan

Lampiran: Instruksi dari Gestur

Potongan program algoritma penentu posisi tangan

Lampiran :Visualisasi Skeleton Terdeteksi

Potongan program visualisasi skeleton dan sendi

Lampiran :Pembatasan Jumlah User

Potongan program visualisasi skeleton dan sendi

Lampiran :Program Data Stream AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Lampiran: Hasil Pengujian Tinggi Ideal Kinect

Gestur

Status

Right Hand Right Shoulder

Left Hand Left Shoulder

Take off OK OK OK OK

Landing OK OK OK OK

Turn left OK OK INFERRED OK

Turn right OK OK OK OK

Hovering OK OK OK OK

Flat trim OK OK OK OK

Lampiran: Hasil Pengujian Respon AR.Drone

GesturPengujian ke-

1 2 3 4 5 6

Take off X √ √ √ √ √

Landing √ √ √ √ √ √

Turn left √ √ √ √ √ √

Turn right √ √ √ √ √ √

Hovering √ √ √ √ √ √

Flat trim √ √ √ √ √ √

Plot Pergerakan Take off AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Landing AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Hover AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Turn left AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Turn right AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Up AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Down AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Roll left AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Roll right AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Maju AR.Drone

Data stream diterima dari droneClient 15 data per sekon

Plot Pergerakan Mundur AR.Drone

Data stream diterima dari droneClient 15 data per sekon