Team MacroHard: The Perfect Selfie Shreesha Suresha Mary Anne Noskowski Simranjit Singh Sekhon Bragatheesh Sureshkumar Beau Rampey

Similar documents
AutoFlight Documentation

THANK YOU. As with any aircraft, this is a precision flying machine. Treat it well and enjoy all the fun it has to offer, flight after flight.

14+ FOR AGES 14 AND UP ITEM NO

Electronic Invoicing

dronium TWO AP DRONE with camera

INSTRUCTION MANUAL. Voice Command Quadcopter with 2MP Camera

VENTO WIFI DRONE WITH LIVE STREAMING CAMERA

UgCS for DJI. User Manual. mobile companion version 2.6_beta SPH Engineering

AXIS II RC DRONE WITH CAMERA

UgCS for DJI. User Manual. mobile companion version SPH Engineering

JETJAT ULTRA. Owner s Manual. For Owner s Manual updates, warranty information, and support, please visit:

Completing an Internal Audit User Guide For the Reliance Assessment Database

U846. headless flying quad PRODUCT PARTS. 1. Quadcopter. Clockwise Blade A. Counter-clockwise Blade B. Counter-clockwise Blade B

Dragonfly. Notes: Ensure that the propellers are mounted on the correct motors to avoid crashing.

Mobile for Android User Guide

Autonomous Battery Charging of Quadcopter

Autonomous Aerial Mapping

FiOS Platform. System functionality:

Purchase Order/Goods Received Notes

User Guide Version

INDEX. 1 Introduction. 2 Software installation. 3 Open the program. 4 General parameters. 5 Tuning

NetSuite OpenAir Mobile for iphone User Guide Version 2.2

PIMS User Guide USER GUIDE. Polaris Interview Management System. Page 1

Table Of Contents. Pg. 13. EXAMPLES OF SHARING CONTENT AND HOW THEY LOOK ON OTHER SOCIAL NETWORKS.

Content. 5. Appendix Technical Specifications... 13

Thinking of using Microsoft Office 365 For Your Business? If Not, You Should.

CxC Studio 151 Inventory System

For Publishers implementing and using the National Product Catalogue in Australia & New Zealand. Load & Maintain your National Product Catalogue

Graduate School Application User Account Guide

New to Instagram? See how to set up a free business profile, create content and use Instagram to grow your business.

SharePoint Saturday Detroit #SPSDETROIT

ServicePRO + PartsPRO User Guide

Control of Flight Operation of a Quad rotor AR. Drone Using Depth Map from Microsoft Kinect Sensor K. Boudjit, C. Larbes, M.

12/05/2017. Geneva Service Management

This topic focuses on how to prepare a customer for support, and how to use the SAP support processes to solve your customer s problems.

Twitter page management for beginners

Contents OVERVIEW... 3

Amadeus Hotel Store. User guide 16 March Taking hotel consolidator content to a new level with Transhotel

MyDHL USER GUIDE.

10/13/2017. Jakarta Service Management

MobileMapper Pro FAQ: Using Waypoints

imark Mobile Ordering System

INSTRUCTION & REFERENCE MANUAL Model no. ODY-2017BF1

KAPTUR GPS WI-FI DRONE WITH HD CAMERA

GPS SHADOWDRONE P70-GPS INSTRUCTION MANUAL CONTENTS

Vanderbilt University

How to Set-Up a Basic Twitter Page

Reference Guide for Employees: Halogen eappraisal

Reference Guide for Managers: Halogen eappraisal

Managing the Civil Service Referred Candidate Pool UI Health

Contractors Performance Evaluation. User Guide

DJI ULTIMATE FLIGHT-V3 VERSION 3.201

Requirement Analysis Document

User Guide For Dealer Associate Shippers

Shipping Estimator User Guide

Table of Contents HOL CMP

AMI AutoAGENT Shop Floor Manager

BI Portal User Guide

PeopleMatter New Team Member Hiring Process Quick Reference Guide

CommBank Small Business app User Guide

Employee Information

Oracle Fusion Applications

THE ESSENTIAL GUIDE TO FACEBOOK AND INSTAGRAM ADVERTISING

collaborative solutions core product features and benefits Construction Collaboration Software. SaaS.

Sage ERP Accpac Online 5.6

Kitsap Bank Bill Pay FAQ s

Getting started with BPMe - FAQ

Aldelo Media Display User Manual. PUBLISHED BY Aldelo, LP 6800 Koll Center Parkway, Suite 310 Pleasanton, CA Copyright by Aldelo, LP

Requesting completion of the Work Health Assessment (WHA) Questionnaire. Monitoring completion of the Work Health Assessment Questionnaire

RIT ORACLE CAPITAL EQUIPMENT PHYSICAL INVENTORY

EMPLOYEE JOB AID COMPLETE SELF EVALUATION

YOUR QUICK START GUIDE TO INTELLIX PAYMENTS

MRCI. MRCI-CDS Electronic Timesheets Training Manual. M R C I W o r k S o u r c e

Social Networking Series A Basic Introduction for Nonprofit Use. Facebook Tutorial

Revision Control Date By Action Pages T Mistry Document created M Walker Modified 12

Kronos Timesheet & Workforce Management Guide for Employees

INVENTORY MANAGEMENT

Instruction Manual ODY-1765

Contents OVERVIEW... 3

FCL Electronic Facility Clearance System (e-fcl) Submission Site User Guide

Step by Step Guide to

Conducting Inventory. Full Inventory Reference Guide

WAREHOUSE SUPPORT SITE

Employer Guide to CONNECT

Fairsail HCM: Guide for HR Managers

e-recruitment Guide Job Posting and Publication

/2014 en-gb. The Formwork Experts. Concremote software. User Manual Please retain for future reference

Integrating SAP Hybris Cloud for Customer with SAP Hybris Marketing Cloud using HANA Cloud Integration Integration Guide

Project Readiness Package Rev 7/22/11

Ingersoll Rand ERS and isupplier FAQ s

Scanning Devices Label Counting Table Operations Manual

Robinson Manufacturing Company, Inc. College Concepts, LLC. Vendor Shipment Management System (VSMS)

Transform Application Performance Testing for a More Agile Enterprise

Remote AMD Operator Manual

Communicate and Collaborate with Visual Studio Team System 2008

Drones and Their Role in Agriculture. Mike Buschermohle Precision Ag Specialist UT Extension

Bio-Well GloveManual

Business Portal for Microsoft Dynamics GP. Requisition Management Administrator s Guide Release 10.0

SAS. Activity-Based Management Adapter 6.1 for SAP R/3 User s Guide

Transcription:

Team MacroHard: The Perfect Selfie Shreesha Suresha Mary Anne Noskowski Simranjit Singh Sekhon Bragatheesh Sureshkumar Beau Rampey Intro: The project is an integration of a drone, a video recording device, and a smartphone application that is capable of recognizing voice commands, using the drone to automatically orient a video recording device with respect to a subject, and uploading photos taken from the video device to a cloud storage media. It addresses the problem that arises when the subject is unable to take the ideal video recording or picture of him/herself due to the physical limitations posed by the subject having to physically hold the device. In order to accomplish this task, the project introduces two new innovations: interface between the drone s built in processor and the voice recognition software in the smartphone, and the use of the drone s processor to automate its movements. Glossary of Terms: Cortana A personal assistant created by Microsoft that mainly interacts with the user through voice commands.. AR Parrot Drone Quadcopter with inbuilt processor and smartphone communication infrastructure. TCP Processes level communication protocol involving dedicated socket connection. UDP Process level communication protocol without dedicated socket connection. Windows 8.0 Silverlight SDK The software development kit develop apps on the windows phone. Parrot AR Drone SDK used to interface the phone app with the drone. This allows us to send high level commands to control the drone. System Architecture Overview: There are three main components for this project: the windows phone 8.0 (and app), the AR Parrot Drone, and Cortana voice commands. The phone is going to be the main component in this system because it serves as the interface between the Cortana voice commands and the Drone. We will be using the AR Parrot Drone SDK in order to interface with the windows 8.0 silverlight phone app. This comes with a library that allows us to implement higher level functions to command the drone. Basic commands include moving left/right/up/down, pan and turning, taking off and landing and transmitting live feed and photos. The phone app will have a live feed stream to the phone. On the live feed page we will also have two joysticks to control tilt left/right/up/down, forward/backward movement, pan left/right, and up down vertical movement. The Live feed page will feature the streaming image, two control joysticks, as well as a capture and save photo button to take

the picture and save it to a perfect selfie folder within the picture library. The settings page of the app will contain two sliders that set altitude and speed limits on the drone. In addition, there is a hyperlink to the phone s setting page that allows the user to connect to the drone via wifi. The photos will be displayed on the main page in a gridded photo library. From there, users will be able to delete and share the photos on social media. Phone/Cortana : The phone will process the voice commands, some of which will open and start running the app. The phone app will take these commands and translate them into various functions and actions. This is implemented using the Voice Command Definition file where we specify what actions correspond to specific voice commands. We will be using voice commands to navigate to different pages, tell the drone to take off, and start up the app. We are not implementing voice commands to control the direction of the drone. Phone/Drone : The phone will translate the voice commands given into functions the drone can use. The Drone is only in charge of maintaining its flight and position, adjusting to commands given, taking a photo/video, and sending that photo/video back. Because of the small amount of processing power on the Drone, the phone will be doing all the processing. The two will communicate via a wifi connection, using both UDP and TCP. An AR Parrot Drone SDK is being used to interface with the drone. We will use it to set up the various controls (maximum height and speed, as well as setting up the wifi connections). The drone will be using its accelerometer and gyroscope to determine its relative position to the phone. This will be used to give the drone some level of autonomous positioning so it automatically faces the user and can adjust itself for the perfect selfie. Requirements: Use Case: Voice Command to Cortana Actors: Photo Subject, Windows Phone Precondition: Subject of photo is on the start page after starting app. Cortana indicates that it is accepting voice commands Voice command is issued by subject Cortana turns voice command into a specific action that app can execute App executes the action specified If voice command given is not an acceptable action that the app can execute: App notifies the user that action cannot be executed App prompts user for another voice command Postcondition: Phone processes the subject s voice command and performs the necessary action

Use Case: Tell drone To Take Off Actors: Photo Subject, Drone, Cortana, Windows Phone Precondition: Drone is positioned in a clear area and windows phone app is on the start page Subject issues command to drone to take off Drone raises to a height previously specified Drone starts transmitting live feed to photo user Drone faces obstacles when taking off Drone safely lands and notifies user that takeoff is not possible Postcondition: Drone is in the air and transmitting live feed to photo subject Use Case: Take Picture Actors: Photo Subject, Drone, Windows Phone Precondition: Drone is in the air and transmitting live feed Photo subject issues button command to take picture Drone takes picture and transmits picture to phone User is able to view pictures in phone picture library Drone is unable to establish connection with phone Phone returns a message saying that connection is unable to be established Postcondition: Picture is taken and displayed on the phone picture library. Use Case: Drone Actions in the Air Actors: User, Windows Phone, Cortana, Drone Precondition: Drone is in the air and transmitting live feed User issues voice command for drone to reposition itself (pan right, pan left etc.) Drone repositions itself and transmits new live feed to user Drone faces obstacle in repositioning itself Drone notifies Windows Phone app that action requested is not possible. Postcondition: Drone performs requested action in the air and is transmitting new live feed. Use Case: Drone Landing Actors: User, Windows Phone, Cortana, Drone Precondition: Drone is in the air and is transmitting live feed

User issues voice command for drone to land Drone stops transmitting live feed Drone descends until it safely lands Drone is unable to establish connection with user Windows app notifies user that connection cannot be established Drone is unable to land due to obstacles Drone notifies windows app that landing is not possible Postcondition: Drone is no longer transmitting live feed and is on the ground. Use Case: Change Speed Settings Actors: User, Settings user interface, Drone Precondition: User is on the settings page and sees the speed slider User slides slidebar to expected speed setting Slidebar moves to requested speed setting and displays new speed on the right Drone receives new speed setting Drone sends confirmation of new speed setting No alternate this should work in all cases unless connection is lost Postcondition: Drone is unable to move faster than specified speed setting. Use Case: Change altitude settings Actors:User, Settings Page Interface, Drone Precondition: User is on the phone settings page and is able to see altitude slider User moves altitude slidebar to desired altitude Slidebar moves to requested altitude and displays new altitude on the right Drone receives new altitude setting Drone sends a confirmation to the user that altitude setting has been changed No alternate this should work in all cases unless connection is lost Postcondition: Drone is unable to fly higher than specified altitude Use Case: Change Photo Distance Actors: Photo Subject, Settings Page Interface, Drone Precondition: User is on the phone settings page and is able to see Photo Distance level Photo Subject selects desired photo distance

Selected photo distance button is highlighted Drone receives new photo distance setting Drone sends a confirmation to the user of new photo distance setting No alternate, this should work in all cases unless connection is lost Postcondition: Drone will now move at the desired distance away from the photo subject before taking picture. Use Case: Record Video Actors:Photo Subject, Windows Phone app to Drone interface, Drone Precondition:Drone is in the air transmitting live feed User gives drone a recording command through the button interface (click recording icon) Drone starts recording and windows phone app displays recording icon User gives drone a stop recording command through button interface (click recording icon) Video recording stops and is stored on phone picture library Connection is lost in between the recording Recording is stopped and drone sends signal that this is the case Windows app stores recording in phone picture library Postcondition: Video recording is stored in phone picture library. Use Case: Upload photo/video recording to Cloud Actors: User, Windows Phone application, Microsoft OneDrive Precondition:Photo/Video Recording is in phone picture library User tells clicks on upload picture on cloud upload page on app User selects the picture/video recording that he/she wishes to be recorded Photo is uploaded to the cloud storage Wifi connection is lost Phone returns message indicating that wifi connection is lost. Postcondition: Picture/Video Recording is uploaded to Cloud Use Case: Upload Photo/Video to Social Media Actors: User, Windows Phone Application, Facebook or Some Other Social Media Precondition: Photo/video is saved in the app s folder in the picture library

user selects a photo on the main page of the app user selects the share photo option user chooses which channel of social media is preferred If a login is required, the user logs into their account through a pop up the photo is uploaded to social media Wifi connection is lost, account does not exist, or not logged in error message with the appropriate warning is displayed Postcondition: Photo/video is uploaded and posted on selected form of social media Use Case: Drone crashes/runs into object Actors: user, app, drone Precondition: User is connected to drone and controlling drone Drone crashes or runs into something Drone automatically turns off the engines and stops the propellers from spinning Drone is still on and connected Warning is Displayed on the phone app emergency button on app is triggered Postcondition: drone remains on but stagnant, an error message is sent and displayed on the phone and the emergency button is triggered Use Case: Trigger Emergency By Button Actors: User, Phone Precondition: User is on the live feed page taking a picture and is able to click the Emergency button which toggles an emergency event and the drone will land. User clicks Emergency button and drone drops from preprogrammed height and makes a fast landing. There is no alternate event in the case of an emergency triggered by the emergency button. Postcondition: The drone lands. Use Case: Trigger Emergency By Dropping Phone Actors: User, Phone Precondition: User is on the live feed page taking a picture and drops the phone. Accelerometer reads the user dropping the phone and the drone descends from it s pre programmed height and makes a fast landing.

There is no alternate event in the case of an emergency triggered by the accelerometer sensor. Postcondition: The drone lands. Use Case: Drone starts to run low on battery Actors: Drone, Windows Smartphone, User Precondition: Drone is in the air and is low on battery Drone senses that it is low on battery Drone transmits message to phone indicating its low on battery Drone transmits battery level Drone loses connection with phone. Drone attempts landing Postcondition: User is notified of low battery levels Use Case: Drone runs out of battery Actors: Drone, Windows Smartphone, User Precondition: Drone is in the air and is at the point where battery runs out Drone sends message indicating that it is low on battery. Drone starts descending Phone switches to joystick screen and user is given control of drone. Drone loses connection with phone Drone automatically lands. Postcondition: Drone is on the ground. Use Case: Phone runs out of battery Actors: Drone Precondition: Drone is in the air and the phone runs out of battery while/after sending a command to the drone Drone waits for a new command from phone for up to 2 minutes Upon not receiving a new command, drone lands

None, Drone will always land after 2 minutes of inactivity Postcondition: Drone is on the ground Use Case: Another device connects to the drone Actors: Drone, Windows Phone. Another device with networking capabilities Precondition: Drone is in the air and receives command from another compatible device Windows smartphone goes to emergency land button User presses emergency land button User sends button indicating that the drone should turn off Drone is unable to receive user emergency land request Control of drone is transferred to other user Postcondition: Drone has landed and is off. Use Case: Drone is taken above max altitude limit Actors: Drone, Windows Phone Precondition: Drone is in the air and some external event causes it to exceed its max set altitude limit Phone executes automatic landing procedure to prevent Drone from flying far away Automatic landing procedure command fails to go through. Drone lands after 2 minutes of inactivity Postcondition: Drone is on the ground Use Case: Drone moves at speed greater than max speed Actors: Drone, Windows Phone Precondition: Drone is moving at or below a set speed Drone starts moving faster than max speed due to physical conditions Drone senses that it's moving faster than max speed Drone slows down and messages phone that it is moving faster than max speed

Drone loses connection with phone Drone slows down to max speed but doesn t send message to phone Postcondition: Drone slows down to max speed. Use Case: Live feed is not transmitted Actors: Drone, Windows Phone Precondition: Drone is in the air and attempting live feed transmission Drone can t transmit live feed User lands drone through land command User resets drone User commands drone to take off Resetting drone doesn t work Adverse environmental conditions are blocking wifi connection User takes drone somewhere else Postcondition: The Drone is now able to transmit live feed and drone is in the air Prototyping: Prototype 1 Windows 8.1: Initial prototype built using Windows 8.1, capable of Cortana voice commands and maneuvering the drone. Since there was no SDK support for the drone on Windows 8.1 it had to be completed from scratch by sending network commands. This allowed affective launch and flight, but in order to get live feed would require implementation of complex and time consuming video wrapper. Prototype 2 Windows 8.0 Silverlight with AR Parrot Drone SDK support: In order to avoid implementing a new SDK for Windows 8.1 we chose to switch down to Windows 8.0 Silverlight. The AR Parrot Drone SDK compatible with 8.0 supports all hardware on drone. This allocates more time to make a more polished application interface and implement augmented reality, geolocation, and other advance features. Test Cases: Connection to Drone: Send commands to test to ensure proper functionality Page Navigation Tests: Compare current state of page to expected conditions

System Models: Technologies used: Microsoft Windows Phone 8.0 SDK ARDrone2Windows SDK C# Parrot AR Drone