Ar2Drone game

Da raspibo.
Jump to navigation Jump to search

Riferimenti

mailto:simone.cilli.84@gmail.com

mailto:lele.mambelli@gmail.com


Scopo del progetto

Questo progetto nasce dalla voglia di provare guidare un drone (Parrot AR.drone 2.0) da una base di partenza ad un bersaglio situato a circa una decina di metri di distanza.

La guida del drone dovrebbe essere mediata da uno smartphone android che comunica i movimenti del giroscopio ad un PC che a sua volta comunica con il drone tramite wifi.

Il passaggio da smartphone a PC serve per programmare in maniera piu' "controllata" il movimento del drone in base al movimento dello smartphone.

Tutto questo per fare in modo che chi pilota il drone possa essere anche una persona non troppo esperta di questa tecnologia come ad esempio un bambino e possa agire con la sicurezza di non danneggiare ne' il drone ne' cio' che lo circonda.

Specifiche

Dispositivo di input:

  • Smartphone Android con app sviluppata appositamente per la lettura dei dati dall'accelerometro
  • La connessione tra smatphone e pc avviene tramite bluetooth (tramite seriale su bluetooth?)
  • Il formato in cui verranno inviati i dati non e' ancora stato stabilito

Dispositivo di verifica e controllo:

  • Un pc con interfaccia bluetooth e wifi (il wifi viene usato per connettersi al wifi del drone)
  • Il pc invia i dati al drone tramite connessione wifi e libreria Ar2Drone (vedi references)
  • Il pc e' in grado di riconoscere eventuali condizioni indesiderate e blocca l'invio dei comandi da smartphone fino a ripristino delle condizioni di sicurezza.
  • Oltre ai dati ricevuti da smartphone permette un comando tramite interfaccia web che puo' essere usato in parallelo per bloccare o avviare il drone i comandi possono essere inviati usando dei (post http?)
  • Analizza i dati in arrivo dallo streaming video e riconosce i pattern che delimitano il confine (usando opencv)

Drone:

  • Riceve in input i comandi dal pc e li esegue rimanendo entro i settaggi di sicurezza preimpostati nella configurazione (altezza massima, accelerazioni ecc...)
  • Fornisce indietro dati di feedback sulla navigazione compreso uno streaming video (con possibilita' di selezionare una delle due telecamere a bordo)

Scenario del gioco

Un campo di forma presumibilmente rettangolare delimitato da pattern (figure con forme particolari, disegnate su carta) che vengono disposti lungo i bordi.

Quando un pattern viene riconosciuto il drone si blocca e ritorna indietro ripercorrendo a ritroso gli ultimi comandi ricevuti e memorizzati in un buffer.

Oltre ai pattern di confine vengono disposti alcuni pattern con simboli diversi che rappresentano i punti da sorvolare per accumulare punti, il riconoscimento di pattern è già previsto da chi costruisce il drone perchè nella scatola in cui viene venduto c'è un pattern già pronto.


How to install demo

  • Installa node.js (e al suo interno npm come gestore di pacchetti)

http://blog.teamtreehouse.com/install-node-js-npm-windows

* Creare directory di lavoro

$ cd Desktop

$ mkdir ar2drone

$ cd ar2drone

* Copiare i sorgenti in questa cartella
* Installa una versione di ffmpeg (per windows, exe) e aggiungi il percorso di ffmpeg.exe al PATH
* Installa la libreria ar2drone
$ npm install ar2drone

* Installa la libreria per controllare il webserver
$ npm install connect serve-static express body-parser

* Lancia l'applicazione
$ node game.js

Reference

Normative

Documentazione del drone

Documentazione software e librerie