+ All Categories
Home > Technology > Come ti piloto il drone

Come ti piloto il drone

Date post: 14-Dec-2014
Category:
Upload: alessandro-colla
View: 153 times
Download: 0 times
Share this document with a friend
Description:
Il mio progetto di controllo di un Parrot con Kinect e Oculus Rift. Per l'occasione ho mostrato anche il prototipo del Kinect v2
23
COME TI PILOTO IL DRONE CON OCULUS RIFT E KINECT
Transcript
Page 1: Come ti piloto il drone

COME TI PILOTO IL DRONE

CON OCULUS RIFT E KINECT

Page 2: Come ti piloto il drone

ABOUT ME

• Developer @ Evoluzione Telematica srl

• Tech enthusiast

• Papercut survivor

collaalessandro

+AlessandroColla

http://www.evoluzionetelematica.it

http://www.alessandrocolla.com

Page 3: Come ti piloto il drone

RINGRAZIAMENTILuca Franceschini per l’oculus

Simone Giacomelli per il dronee

Page 4: Come ti piloto il drone

DI COSA SI TRATTA

• E’ un progetto nato per caso nel luglio del 2013. Mi sono immaginato che bello doveva essere avere il drone che ruotava, semplicemente quando giravo la testa ed il tutto mentre vedevo in diretta il suo video. Il Kinect coi comandi vocali è venuto da se.

• 5 giorni di lavoro

• Quando l’ho fatto non c’era molto in giro sull’implementazione dell’oculus

Page 5: Come ti piloto il drone

COSA VEDREMO

• Parrot Ar.Drone

• Oculus rift (Il primo prototipo)

• Kinect v1 e v2 (prototipo)

Page 6: Come ti piloto il drone
Page 7: Come ti piloto il drone

PARROT AR.DRONE

• Quattro motori

• Due camere: una frontale fino a 720p@30fps (ma solo registrazione) e una sotto il drone QVGA@60fps

• Giroscopio 3 assi, accelerometro, magnetometro, sensore di pressione dell’aria (più stabilità)

Page 8: Come ti piloto il drone

COME PILOTARLO

• Ho usato come base il lavoro di Ruslan Balanukhin (github è pieno)

• Comandi inviati via udp porta 5556 (Es: AT*PCMD=1,0,0,0,0 -> Hover)

• FFmpeg per lo stream video sulla porta 5555 (h264)

• Molti usano ffplay e via

• Usato un wrap C# creato con ctypes di python sempre da Ruslan, e qualche martellata

Page 9: Come ti piloto il drone
Page 10: Come ti piloto il drone

OCULUS RIFT

• Si tratta di un HMD (Head Mounted Display) per la realtà virtuale

• Usa un giroscopio a 3 assi, un accelerometro e un magnetometro, per la posizione della testa

• Due lenti con un angolo di 90° orizzontale (tira 1280x800 -> 640x800 per occhio)

• C’è anche plugin già pronto per Unity 3D

Page 11: Come ti piloto il drone

STEREO RENDERING

• Serve disegnare contemporaneamente due immagini (una per occhio) della scena

• Considerare l’IPD anche se le lenti compensano parecchio (in media 65mm)

Page 12: Come ti piloto il drone

COMPENSARE LA DISTORSIONE

• Le due lenti hanno un grande angolo, l’immagine ha quindi una distorsione «pincushion»

• Si deve compensare con la distorsione «barrel»

Page 13: Come ti piloto il drone

MOVIMENTI DELLA TESTA

• Torna quaternioni per la rotazione della testa (vettore a 4 elementi)3D programming for windows (C. Petzold)http://www.chrobotics.com/library/understanding-quaternions

• Converto in angoli di Eulero e via (vettore a 3 elementi più semplice)http://www.chrobotics.com/library/understanding-euler-angles

• Ai tempi non c’erano librerie decenti in C#, pertanto ho usato un wrap della DLL di unity

Page 14: Come ti piloto il drone

DEMO DELLA VILLA IN TOSCANA

Page 15: Come ti piloto il drone

CRYSTAL COVE (DK2)

• Sarà FullHD (1920x1080 -> 960x1080 per occhio)

• Schermi OLED e non più LCD (minor latenza)

• 20+ sensori IR ed una camera per il tracking della testa ancora più preciso

• Bassa persistenza di visione: niente più motion blur. Compensa la mente come nei film (24fps)

• Si dovrebbero risolvere gli effetti collaterali quali vertigini e nausea

• Le consegne son previste per luglio 2014

Page 16: Come ti piloto il drone
Page 17: Come ti piloto il drone

KINECT V1

• IR Depth Sensor (320x240)

• Camera a colori (640x480 RGB a 30fps YUV a 15fps)

• 4 microfoni

• Motore per l’inclinazione verticale

• Riconosce due giocatori

• Fino a 20 punti per scheletro

• Raggio di azione 1.5 – 3.5m (in Near Mode 0.8m)

• FOV 43° verticale e 57° orizzontali

Page 18: Come ti piloto il drone
Page 19: Come ti piloto il drone

KINECT V2• Depth e IR (512x424) (IR è una Time-Of-Flight)

• Si possono usare colore ed infrarosso insieme

• Camera a colori (1920x1080x16bpp BGRA/RGBA/YUV2 a 30fps)

• 4 microfoni (anche audio beam?)

• Riconosce sei giocatori e lo stato delle mani di due

• Fino a 25 punti per scheletro ognuno con la propria direzione (quaternioni)

• Raggio di azione 0.5 – 4.5m

• FOV 60° verticale e 70° orizzontali

• Riconoscimento espressione facciale normale, felice, porta gli occhiali, occhi aperti/chiusi (anche uno solo)

• Plugin per Unity3D

• Nuovo Kinect StudioThis is preliminary software and/or hardware and APIs are preliminary and subject to change

Page 20: Come ti piloto il drone

DEMO CON LE DIFFERENZE

Page 21: Come ti piloto il drone

FACCIAMO VOLARE IL DRONE…e vediamo se va una cosa nuova che ho inserito

Page 22: Come ti piloto il drone

DOMANDE?

Page 23: Come ti piloto il drone

GRAZIE!

collaalessandro

+AlessandroColla

http://www.alessandrocolla.com

https://github.com/Iridio/OculusArDroneKinect


Recommended