/AR.Drone-Dissertation

Dissertation project

Primary LanguageC++OtherNOASSERTION

Dissertation Project



Repo used for my City Univesity dissertation project: 

"Autonomous/user drone control with augmented reality implementation"


I developed a sea rescue inspired game with gameplay executed using 
a Parrot AR.Drone 2.0 drone (Parrot, 2014) and the use of OpenCV 
(OpenCV, 2014), an augmented reality open source library.

The outcome of the project is a user and/or autonomous drone control 
system with an augmented reality sea rescue inspired game implementation. 

The user controls the drone movement forwards and backwards (pitch control), 
left and right (roll control) and altitude. The autonomous drone control 
handles the boundaries, marked on the ground with patterns. The drone’s 
vertical camera visualises the patterns, analyses the coordinates of the 
pattern in relation to the camera view and reacts in accordance with the 
information so that if the user issues a command to roll left and the drone 
is over the left boundary, it cancels the user’s command and issues an 
autonomous command to roll right back to the centre of the play area. 
In the same manner, the drone also analyses the altitude by reading the 
ultrasound emitter sensor’s data.

The game implementation is a very basic game inspired by sea rescue missions. 
It involves the user to hover under a certain altitude over a certain patter, 
representing a person or a crate that is casted away, to pick him/it up, then 
repeat the same procedure over the centre maker representing a platform to 
drop the saved person/crate, accumulating points in the process.



-----------------------------------------------------------------
 CV Drone (= OpenCV + AR.Drone)
 Copyright (C) 2013 puku0x
 https://github.com/puku0x/cvdrone
-----------------------------------------------------------------

INTRODUCTION
  CV Drone is free software; you can redistribute it and/or
  modify it under the terms of EITHER:
   (1) The GNU Lesser General Public License as published by the Free
       Software Foundation; either version 2.1 of the License, or (at
       your option) any later version. The text of the GNU Lesser
       General Public License is included with this library in the
       file cvdrone-license-LGPL.txt.
   (2) The BSD-style license that is included with this library in
       the file cvdrone-license-BSD.txt.

  This software is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the files
  cvdrone-license-LGPL.txt and cvdrone-license-BSD.txt for more details.

HOW TO INSTALL
  Please unzip "cvdrone-master.zip" into an arbitrary directory.

HOW TO UNINSTALL
  Please delete the cvdrone folder.

BEFORE YOU BUILD
  You should install Visual Studio before you build CV Drone.
  CV Drone supports VC++2005/2008/2010/2012.
  To download VS, please see http://www.microsoft.com/visualstudio/eng/downloads .

HOW TO USE
  1. Open \build\vs20xx\test.sln
  2. Press F7 to build.
  3. Press F5 (or Ctrl+F5) to run.
  4. You can play around with OpenCV. Sample codes are in "src\samples".

FOR AR.DRONE 1.0 USERS
  Please update your AR.Drone's firmware to 1.11.5.

FOR AR.DRONE 2.0 USERS
  Please update your AR.Drone's firmware to 2.4.7.

FOR VS2010 USERS
  You can't build CV Drone by VS2010 after you installed VS2012.
  To build VS2010, you should uninstall ".Net Framework 4.5" and re-install "4.0".

LIBRARY DEPENDENCIES
  CV Drone uses following libraries.
  - OpenCV 2.4.6
    http://opencv.org/
  - FFmpeg 2.0
    http://www.ffmpeg.org/
  - stdint.h/inttypes.h for Microsoft Visual Studio r26
    https://code.google.com/p/msinttypes/
  - POSIX Threads for Win32 2.9.1
    http://www.sourceware.org/pthreads-win32/

  License files for each library can be found in the 'licenses' folder.

Thank you.