dds (eagle eye - helicopter surveillance)

46
Senior Design Documentation Library Detailed Design Specification Department of Computer Science and Engineering the University of Texas at Arlington Chapter 2: Documenting the Architecture Eagle Eye Team Members: Berkins, Nicholas Sanders, Baron (TL) Shrestha, Amit Tran, Nguyen Last Updated: d MMMM yyyy 40112.8375 h:mm:ss am/pm Detailed Design Specification 1

Upload: ronny72

Post on 26-May-2015

432 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

Department of Computer Science and Engineering

the University of Texas at Arlington

Chapter 2: Documenting the Architecture

Eagle Eye

Team Members: Berkins, Nicholas

Sanders, Baron (TL) Shrestha, AmitTran, Nguyen

Last Updated: d MMMM yyyy 40113.1291666667 h:mm:ss am/pm

Copy Printed: d MMMM yyyy 39783.39375 h:mm:ss am/pm

Detailed Design Specification 1

Page 2: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

Table of Contents

1 Documenting the Detailed Designed Specification 4

1.1 Overview 41.2 Outline 41.3 Purpose41.4 Scope 41.5 Abbreviations 51.6 System Requirements 5

2 Layer Definition 6

2.1 Layer-Name and Description 6

2.1.1 Main Control Layer 6

2.1.2 User Interface Layer 6

2.1.3 Data Capture Layer 6

2.1.4 Target Identification Layer 6

2.1.5 Storage Layer 6

2.2 Inter Layer Data Flow Description 7

3 Inter-Subsystem Dataflow Section 8

4 Component Design 11

4.1 Data Capture Layer 11

4.1.1 Telemetry Acquisition Subsystem11

4.1.2 Video Stream Acquisition Subsystem 13

4.1.3 Capture Controller Subsystem 14

4.2 Target Identification Layer 16

4.2.1 Target Identification Subsystem 16

4.3 Storage Layer 18

4.3.1 Storage Manager Layer Subsystem 18

4.3.2 Video Recordings Layer Subsystem 20

Detailed Design Specification 2

Page 3: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.3.3 Identified Target Storage Layer Subsystem 21

4.3.4 Attributes Training Set Subsystem 22

4.4 User Interface Layer 23

4.4.1 GUI Subsystem 23

4.5 Main Control Layer 25

4.5.1 System Control Subsystem 25

5 Quality Assurance 29

5.1 Test Plans and Procedure 295.2 Modular/Unit Tests 295.3 Component Tests 295.4 Integration Tests 29

6 Requirements Traceability Matrix 29

7 Acceptance Plan 31

7.1 Criteria 31

7.1.1 The Eagle Eye system shall accept a video stream 31

7.1.2 The Eagle Eye system shall recognize the characteristics of a target with a given video stream and other data from the HC. 31

7.1.3 The Eagle Eye system shall output the targets and their attributes. 32

Detailed Design Specification 3

Page 4: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

1 Documenting the Detailed Designed Specification

1.1 Overview

This document specifies the detailed design for the Eagle Eye project. The motivation here is to enable explaining in the details all components of the system listed in the Eagle Eye’s Architecture Design Document as well as the components’ functions and relations to other components.

1.2 Outline

The basic outline of the detailed design description is Introduction Architecture Overview Component Design Quality Assurance Requirements Traceability Matrix Acceptance Plan

1.3 Purpose

The purpose of this project is to provide a software system on a ground control station to receive telemetry data and a video stream from an outside source. The software station will identify targets from the video stream and also locate targets using telemetry data. This system will be called Eagle Eye.

1.4 Scope

The system is designed to compete in the Unmanned Vehicle Systems International (AUVSI). This system can also be beneficial, if it is used in the senior design lab or with modifications could be used in other target recognition projects. The system is designed to recognize basic shapes, alphanumeric characters and colors.

The AUVSI competition 2009 scenario was to support a Company of US Marines while conducting a Patrol. An Unmanned Aerial System (UAS) will support their sweep with intelligence, surveillance and reconnaissance. In order to support them, our UAS must comply with Air Tasking Order special Instructions for departure and arrival procedures, and then remain with the assigned airspace. It will be tasked to search a large area for typical targets, and may be tasked to conduct an immediate route reconnaissance for convoy support or a point reconnaissance if requested. Our software will be the crucial link to identifying the ground targets.

The project scope is to design a system that assists the UAS in mission completion. The system will recognize targets based on the live video stream provided to the user. The system hardware will be a computer as a ground station. The system software will detect targets in the camera (WC)’s field of view and the user will manually control the camera to get the best quality pictures. The system output will be a form based on recognized targets.

Detailed Design Specification 4

Page 5: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

1.5 Abbreviations

HC HelicopterWC Webcam/CameraCSE Computer Science and EngineeringUTA University of Texas at ArlingtonAVL Autonomous Vehicle labAUVSI Unmanned Vehicle Systems InternationalUAS Unmanned Aerial SystemISR Intelligence, Surveillance and Reconnaissance

1.6 System Requirements

This section details the order of implementation of the key requirements listed in the Eagle Eye’s System Requirements Document. They are grouped into groups that are logical from both development and other stakeholders views and are the result of consultation and negotiation with all stakeholders.

Highest Priority

o The system shall have a Graphic User Interface (GUI)

o The system must accept a video stream

o The system shall recognize targets using the video stream

o The system shall be able to recognize the geometric shape of the target

o The system shall be able to recognize the targets alphanumeric character

o The system shall be able to recognize the background color of the target

o The system shall be able to recognize the target’s alphanumeric color

o The system shall be able to store target information into a file

o The system shall allow a user to retrieve all accepted targets and their individual

o The system shall have playback mode for all the recorded

Intermediate Priority

o The system shall accept telemetry data

o The system shall find the target location using telemetry data

o The system shall allow the user to accept a target or decline based on a snap shot

from the video stream and the telemetry data provided by the HC

Detailed Design Specification 5

Page 6: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

2 Layer Definition

This section describes the overall architecture of Eagle Eye. The system composed of 5 layers: Main Control Layer, User Interface Layer, Data Capture Layer, Target Identification Layer and Storage Layer. All of the layers work independently, except the Main Control Layer which will interact with the other four layers.

Figure 2 - Architecture Layer Diagram of Eagle Eye System

2.1 Layer-Name and Description

2.1.1 Main Control Layer The Main Control Layer is primarily responsible for controlling Eagle Eye System.

The controller will take in the video stream and the telemetry data from the data capture layer. It will pass this video and telemetry data to the storage and user interface layers. The Control layer will send a single frame from the video to the target identification layer for identification. It will also initiate listeners for the user interface and calls for the appropriate actions.

2.1.2 User Interface Layer The User Interface Layer is primarily responsible for presenting information to the

user and taking input from a user

2.1.3 Data Capture Layer The Data Capture Layer is primarily responsible for acquiring the video stream from

a camera (wireless or USB cable) and telemetry data from an outside source, i.e. from a helicopter or a text file

Detailed Design Specification 6

Page 7: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

2.1.4 Target Identification Layer The Target Identification layer is responsible for processing a single frame and

telemetry data The Target Identification layer is responsible for identifying targets based on a

training set of attributes in addition of using the processed video stream and processed telemetry data

2.1.5 Storage Layer The Storage layer is responsible for all storage-related tasks, such as video and

identified targets storage and retrieval.

Detailed Design Specification 7

Page 8: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

2.2 Inter Layer Data Flow Description

This section describes the type of data that flow among layers.

LayersData Flow Description

From To

Main Control

Storage Layer The Main Control Layer will send requests to retrieve or save data from the Storage Layer

Main Control

Data Capture Layer

The Main Control Layer will send requests to start/end data capturing.

Main Control

User Interface Layer

The Main Control Layer will send information to display on the User Interface Layer

Main Control

Target Identification

Layer

The Main Control Layer will send a still frame from the video stream to the Target Identification Layer

The User Interface Layer will identify targets in the still frame

The User Interface Layer will send results back to the System Control Subsystem

User Interface

Layer

Main Control The User Interface Layer will send user inputs to the Main Control Layer

Storage Layer

Main Control The Storage Layer will provide the Main Control Layer the options to retrieve stored videos and the identified targets based on the AVL format.

Data Capture Layer

Main Control The Data Capture Layer will provide video streams and telemetry data

Target Identification

Layer

Main Control The Target Identification Layer will send the potential targets in a still frame

Detailed Design Specification 8

Page 9: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

3 Inter-Subsystem Dataflow Section

This section describes the type of data that flow among subsystems in the layers.

Figure 1 – Eagle Eye‘s Architectural Dataflow Diagram

Now that the inter-subsystem dataflow are explicitly defined above, each data element flowing between subsystems is described in the table below.

Data Element Descriptions

1

This will be the signal from the System Control Subsystem, based on the user input, to start receiving telemetry and video data.

The reverse flow of data will also be the video stream along with the telemetry data going back from the Capture Controller Subsystem to the System Control Subsystem. The flow also contains a still captured frame with its given telemetry data when requested by the user

2The data that flows here would be the telemetry data that comes from the outside source (UAS or a text file) to the Telemetry Acquisition Subsystem.

3This data is a live video stream comes from a camera to the Video Stream Acquisition Subsystem.

4This is the telemetry data that was received by the Telemetry Acquisition Subsystem and is now being sent to the Capture Controller Subsystem.

5This data could be a live video stream or a video file that was received by the Video Stream Acquisition Subsystem and it is being sent to the Capture Controller Subsystem.

Detailed Design Specification 9

Page 10: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

6 When the System Control Subsystem has received the target along with its

attributes, the System Control sends it to be displayed to the GUI. The reserve flow of data will be the user input to the Main Control Subsystem

7

The flow of data from System Control subsystem to Storage Manager Subsystem is user action to retrieve saved data and video stream constantly recorded.

The flow of data from Storage Manager Subsystem to System Control subsystem is based on if the user decides to retrieve stored targets or video streams from the storage layer.

8

The data here which is the video stream and telemetry data will be provided to the Still Frame Capture Subsystem when desired by user

Once a target has been identified (with its still frame, and attributes), the System Control will receive results from the Target Identification Subsystem

9Target Identification Subsystem will call the Attributes Training Set Subsystem to provide the attributes to look for in the still frame

10This is the video stream that was received from Video Processing Subsystem by the Storage Manager Subsystem. It is also stored video that is sent back to the Storage Manager Subsystem in order to be sent to the System Control Subsystem

11 This is the stored target info that was received from the Target Identification Subsystem by the Storage Manager Subsystem. It is also stored target info that is sent back to the Storage Manager Subsystem in order to be sent to the System Control Subsystem.

12 This is the user input to the system.

Table 3.1 – Inter-Subsystem Data Element Descriptions

Table description

Data Element The name by which the data element is referred to in the rest of the document. Data element is also used for objects.

Description A written description of the data element

Detailed Design Specification 10

Page 11: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

ProducerSubsystem

GUISystem Control

Video Stream

Acquisition

Telemetry acquisition

Capture Controller

Attributes training set

Target Identification

Storage Manager

Video Recordings

Identified Targets

GUI 6

System Control

1 1 7

Telemetry acquisition

4

Video Stream acquisition

5

Capture Controller

1

Attributes training set

9

Target Identification

8

Storage Manager

7 9 10 11

Video Recordings

10

Identified Targets

11

User 12

Outside Sources

2

Camera 3

Table 3.2 – Producer-Consumer Relationships

Table description

Producer Subsystem The name of the layer or subsystem that creates the data elements specified. Note that this is the layer that invokes the constructor for the data element, not necessarily the layer that owns the constructor.

Consumer Subsystem The name of the layer or subsystem that uses the data element created by the producer layer.

Table Cells The intersection of the two layers. At the intersection of the two layers is a list of data element numbers referring to the Inter-Subsystem Data Element Description Table (Table 1). Elements listed in the intersection are created by the subsystem or layer on the left and consumed by the subsystem or layer above.

Detailed Design Specification 11

Page 12: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4 Component Design

This section details the individual functions that will be utilized in each subsystem. For each of these functions, inputs, outputs, data structures, and important dependencies are defined. Each layer is reduced to subsystem and then to component level and all are described in detail below. Also included are the assumptions and responsibilities necessary for each subsystem and component.

4.1 Data Capture Layer

4.1.1 Telemetry Acquisition Subsystem

4.1.1.1 General

The Telemetry Acquisition Subsystem sends a message to an outside source to send telemetry data. Telemetry data from an outside source includes speed and altitude of HC, GPS location, position of HC with respect to the ground, and the position of a camera with respect to the HC and the camera axis. With one axis, the data would get a floating-point number for a WC location on the X-Y plane with reference to the WC.

4.1.1.2 Assumptions

Telemetry data received from outside source will be specific; such as speed and altitude of a HC, GPS location, and position of a HC and a WC with respect to the ground and target.

4.1.1.3 Responsibilities

Record speed of a HC

Record altitude of a HC

GPS location

Position of a HC with respect to the ground

Position of a WC with respect to a HC based on the degrees of freedom of a WC

Send the received telemetry data to the Telemetry Data Preparation Subsystem

4.1.1.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

get_Raw_TD Retrieves telemetry data from outside sources.

• Source Id • Telemetry data

Table 4.1.1.1: Subsystem Inter-layer Interfaces to Telemetry Acquisition Subsystem

Detailed Design Specification 12

Page 13: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.1.5 Public Method

get_Raw_TD(//this will be the state variables described in the table below); { //this will be used to assign the TD variables to a local variable for returning to the //capture controller }

TD-TABLE

Name Col. Offset Type Description

Phi 0 DoubleRoll angle in radians $-\pi < \phi < \pi$. Zero is level with the horizon and increasing $\phi$ is right wing down.

Theta 8 DoublePitch angle in radians $-\half\pi < \theta < \half\pi$. Zero is level with the horizon and increasing $\theta$ is nose up.

Psi 16 DoubleHeading (yaw) angle in radians. $-\pi < \psi < \pi$. Zero is due north and increasing $\psi$ is rotating clockwise when viewed from above. East is $\psi=\pi/2$, west is $\psi=-\pi/2$, and south is $\psi=\pm\pi$. Be sure to account for the discontinuity when facing south; it can cause problems if you compute $\Delta\psi = \psi - \psi'$. Use the \cmdline{turn_direction} routine instead.

P 24 DoubleBody frame roll rate in radians (unbiased). Positive $p$ is rolling right wing down. The actual range of the reading should be $\pm 90\deg$, although very high readings can result from bad gyro bias calibrations.

Q 32 Double Body frame pitch rate in radians (unbiased). Positive $q$ is pitching nose up.

R 40 DoubleBody frame yaw rate in radians (unbiased). Positive $r$ is rotating clockwise when viewed from above.

X 48 Double North position in local tangent plane in m (filtered)

Y 56 Double East position in local tangent plane in m (filtered)

Z 64 DoubleDown position in local tangent plane in m (filtered). Remember that negative $z$ positions are above ground level.

Vx 72 Double Forward velocity in body frame in m/s

Vy 80 Double Sideways velocity in body frame in m/s

Vz 88 DoubleDownward velocity in body frame in m/s. Remember that negative $vz$ is actually a climb when the aircraft is upright.

Mx 96 DoubleForward magnetometer reading (unscaled, filtered). The readings are signed and corrected for the hard iron calibration values that are in the AFCS's configuration file, but they are not scaled to any units like Tesla. This is not a problem since they are only used in proportion to each other, not in comparison to any outside magnetic force.

My 104 Double Sideways magnetometer reading (unscaled, filtered)

Detailed Design Specification 13

Page 14: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

Mz 112 Double Downward magnetometer reading (unscaled, filtered)

Ax 120 DoubleForward accelerometer reading in m/s/s (filtered). The acceleration values are roughly scaled to m/s/s and zeroed for when the IMU is level, although there may be some slight scale error. As with the magnetometer readings, this is not significant since the accelerometers are used in proportion to each other.

Ay 128 DoubleSideways accelerometer reading in m/s/s (filtered)

Az 136 DoubleDownward accelerometer reading in m/s/s (filtered)

Raw_p 144 DoubleRaw body frame roll rate in radians (biased). These raw values are typically not used by any application, but may be used for post-flight analysis of gyro bias drift during the flight.

Raw_q 152 DoubleRaw body frame pitch rate in radians (biased)

Raw_r 160 DoubleRaw body frame yaw rate in radians (biased)

Crc_err 168 DoubleNumber of CRC errors on the IMU serial link

Voltage 176 DoubleIMU bus voltage. This is computed from the band gap reference inside the IMU. 4.9 - 5.1 is good; if it drops below 4.8 volts the battery is nearly dead and not producing sufficient current for the regulator to maintain supply voltage. Expect the artificial horizon to begin tumbling and for other problems to occur if this happens.

Resets 184 DoubleNumber of IMU resets. If this value ever changes the IMU has received a significant shock and is likely to be producing bad data for a while. It is best to discontinue the flight as soon as possible.

Rpm0 186 intEngine RPM

Rpm1 188 intMain-rotor RPM

Rpm2 190 inttail-rotor PRM

4.1.1.6 Private method

None

4.1.2 Video Stream Acquisition Subsystem

4.1.2.1 General

The Video Stream Acquisition subsystem will receive video from WC. It is also responsible for sending all of the received video to the Capture Controller Subsystem

4.1.2.2 Assumptions

Camera will have high enough resolution to identify target

Detailed Design Specification 14

Page 15: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.2.3 Responsibilities

Capture video

Send all video to the capture controller

4.1.2.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

get_Raw_Video Receive video from outside source

• Video source Id as integer i.e. 0, 1, 2…

• Video

Table 4.1.2.1: Subsystem Inter-layer Interfaces to Video Stream Acquisition Subsystem

4.1.2.5 Public method

get_Raw_Video(); {

//this will be used to call the video from the webcam }

4.1.2.6 Private method

None

4.1.3 Capture Controller Subsystem

4.1.3.1 General

After the telemetry data has been received by the telemetry capture, it will keep two sets of telemetry data.

The controller will initiate the video stream and will then process it in the Capture Controller.

The processed video stream and telemetry data will be sent it to the System Control Subsystem.

The Capture Controller will send the frame plus captured telemetry data to the System Control Subsystem when requested by the user

4.1.3.2 Assumptions

Telemetry data received from an outside source will be specific format. (See TD-table)

Detailed Design Specification 15

Page 16: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

Stream video will maintain the standard of certain pixel resolution and type.

4.1.3.3 Responsibilities

Receive telemetry data from Telemetry Acquisition Layer

Prepare telemetry data received from outside source

Send/transfer telemetry data to the System Control Subsystem

Receive and process video data from Video Stream Acquisition Layer Subsystem

Send/transfer video data to the System Control Subsystem

Send/transfer video data to the Storage Manager Subsystem

Capture the still frame from the video stream

Calculate the telemetry data of the captured frame

Send the captured frame and telemetry data to the Target Identification Subsystem

4.1.3.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

start_Video_ Acquisition Start Video Capture Subsystem • Video Source

• Pass/Fail

start_TD_Acquisition

Message from User Input subsystem to start retrieving telemetry data from UAS

• User Input Message

• Pass/Fail

get_TD Send/transfer two telemetry data to the System Control Subsystem and Still Frame Capture Subsystem

• Time •2 sets of telemetry data

get_Video Send video to the main controller • Time • Video

capture_Frame Capture time of User input and call functions to get the frame at that time from the video stream as well as calculate the telemetry data of that frame.

• Time •Still Frame from the video

Table 4.2.1.1: Subsystem Inter-layer Interfaces to Capture Controller Subsystem

Detailed Design Specification 16

Page 17: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.3.5 Public methods

start_Raw_Video(//this will be a string that contains the type of video file){ while(video) {

get_Raw_Video(); }

}

start_TD_Acquisition {

//initialize variables from TD_table while (good) {

get_Raw_TD(); //save telemetry data in local variables and return to the controller return (TD-table varibles); pause 1 second;

}

get_Video(//this will be a string that contains the type of video file) {

while(video) { get_raw_Video();

}

get_TD(time) { //this will be used to send two sets of telemetry data that are closest to the time

//sent }

capture_Frame(time) { while(video) { //processes video to get frame out and returns the frame. } }

4.1.3.6 Private Method

None

Detailed Design Specification 17

Page 18: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.2 Target Identification Layer

4.1.4 Target Identification Subsystem

4.1.4.1 General

Target Identification Subsystem is responsible for identifying a target’s geometric shape, alphanumeric character, alphanumeric color and background color. This subsystem receives data from the Still Frame Capture Subsystem and User Inputs Subsystem. It is also responsible for sending the information (identified targets with their attributes) to the Storage Layer Subsystem and the System Controls Subsystem.

4.1.4.2 Assumptions

None

4.1.4.3 Responsibilities

Receive data from Still Frame Capture Subsystem

Identify targets

o Identify target’s basic geometric shapes

o Identify target’s background color

o Identify target’s alphanumeric character

o Identify target’s alphanumeric color

o Location

Send the identified target to the System Control Subsystem

4.1.4.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

Identify_Targets Receive data from Still Capture Subsystem and identify targets

• still frame, telemetry: an object of “image” class and an object of “telemetryData” class

• Pass/Fail

Table 4.2.4.1: Subsystem Inter-layer Interfaces to Target Identification Layer Subsystem

Detailed Design Specification 18

Page 19: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.4.5 Public Methods

Void identify_Targets(objectList* list, image* image, telemetryData data)

{

Load the “training.xml” if not loaded;

Call function object_Identification();

Call function object_Location();

}

4.1.4.6 Private Methods

Void object_Identification(objectList* list, image* image)

{

Step 1: Read image

Step 2: Convert image from rgb to gray

Step 3: Threshold the image

Step 4: Invert the Binary Image

Step 5: Find the boundaries Concentrate

Step 6: Determine Shapes properties

Step 7: Classify Shapes according to properties

}

Void object_Location(objectList* list, image* image, telemetryData data)

{

Step 1: convert camera orientation to the GPS orientation using the HC oritentation

Step 2: with the location of the objects in the still frame and the zoom of the camera, calculate the distance of the object to the HC.

Step 3: Calculate the object’s GPS location.

}

Detailed Design Specification 19

Page 20: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.3 Storage Layer

4.1.5 Storage Manager Layer Subsystem

4.1.5.1 General

The Storage Manager Subsystem will store the video from the video source as well as the targets from the target identification layer. The subsystem will allow for retrieval of targets and video.

4.1.5.2 Assumptions

None

4.1.5.3 Responsibilities

Store all the recorded videos

Store all the targets information including their respective attributes

Make video and target information available for the user

4.1.5.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

store_Videos Store the video received from the Video Processing Subsystem (Target Identification Layer )

• Video data •Pass/Fail

store_Targets Store targets and their attributes received from the Target Identification Subsystem

• Identified targets and their attributes

•Pass/Fail

Retrieve_Videos Send stored video to the System Controls Subsystem (User Interface Layer).

•Video file name

•Video

Retrieve_Targets Send stored information to the System Controls Subsystem (User Interface Layer)

•Stored targets and their attributes

•Stored targets and their attributes

Table 4.3.1.1: Subsystem Inter-layer Interfaces to Storage Manager Layer Subsystem

4.1.5.5 Public Methods

store _Videos(//parameter for video received from Main Control Subsystem){

Detailed Design Specification 20

Page 21: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

Step 1: Check the file format of the video

Step 2: Analyze each frame of the video received

Step 3: Check the space required to store the video file

Step 4: Call method save_Video of Video Recordings Layer Subsystem to save the video file

}

store_Targets(//parameter for target received from Target Identification Layer){

Step 1: Analyze the frame of the target received as an image

Step 2: Check the space required to store the target file and their attributes

Step 3: Call method save_Targets of Identified Target Storage Layer Subsystem to save the identified targets.

}

retrieve_Videos(//…){

Step 1: Call method get_Video of Video Recordings Layer Subsystem

Step 2: Check the stored video and if found, it retrieves the desired video

Step 3: Send the retrieve videos to the appropriate layer

}

retrieve_Targets(//…){

Step 1: Call method get_Targets of Identified Target Storage Layer Subsystem

Step 2: Check the stored targets and their attributes

Step 3: Send the retrieve targets and their attributes to the appropriate layer

}

4.1.5.6 Private Methods

None

Detailed Design Specification 21

Page 22: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.6 Video Recordings Layer Subsystem

4.1.6.1 General

All the videos that have been recorded will be stored in this layer.

4.1.6.2 Assumptions

None

4.1.6.3 Responsibilities

Store all the recorded videos

Make video for Storage Manager Layer Subsystem

4.1.6.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

save_Videos Take video and save to physical hard drive

•Video •Video file name

get_Videos Retrieve video from file.•Video file name

•Video

Table 4.3.2.1: Subsystem Inter-layer Interfaces to Video Recordings Layer Subsystem

4.1.6.5 Public Methods

save_Videos(//…){

//save video

}

get_Videos(//…){

//pass pointer to video

}

4.1.6.6 Private Methods

None

Detailed Design Specification 22

Page 23: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.7 Identified Target Storage Layer Subsystem

4.1.7.1 General

All the information regarding the identified targets is stored in this subsystem.

4.1.7.2 Assumptions

None

4.1.7.3 Responsibilities

Store all the identified targets and their attributes

Make video for Storage Manager Layer Subsystem

4.1.7.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

save_Targets Take identified targets’ information and save to physical hard drive

•Identified Targets

•Targets file name

get_Targets Retrieve identified targets from file.•Targets file name

•Identified Targets

Table 4.3.3.1: Subsystem Inter-layer Interfaces to Identified Targets Subsystem

4.1.7.5 Public Methods

save_Targets(Target inData){

create a new file name.

retrieve the picture from Target object and save a picture with the new defined name

retrieve the “telemetryData” object from Target object and save as txt file with the new defined name

update the new file name in the Storage Controller.

}

get_Targets(//…){

get file names from Storage Controller

Detailed Design Specification 23

Page 24: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

while ( counter > 0)

{retrieve the picture from one file name

retrieve the “telemetryData” object from one file name

send the picture + telemetryData to Storage Controller

decrease counter

}

}

4.1.7.6 Private Methods

None

4.1.8 Attributes Training Set Subsystem

4.1.8.1 General

Attributes Training Set Subsystem is responsible for defining target’s attributes such as target’s geometric shape, alphanumeric character, alphanumeric color and background color. This subsystem sends training data to the Target Identification Subsystem when identifying an object is needed.

4.1.8.2 Assumptions

None

4.1.8.3 Responsibilities

Define target’s attributes

o Basic geometric shapes

o Background color

o Target’s alphanumeric character

o Target’s alphanumeric color

Detailed Design Specification 24

Page 25: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.1.8.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

define_Targets Define the target’s attributes such as geometric shapes, alphanumeric character, color etc.

•Video data, still frame

• None

Table 4.2.4.1: Subsystem Inter-layer Interfaces to Target Identification Layer Subsystem

4.1.8.5 Public Methods

define_Targets(//…){

load “training.xml”

if not found “training.xml”

{

Create “training.xml” based on “training.txt” which contains the list of pictures.

}

}

4.1.8.6 Private Methods

None

4.2 User Interface Layer

4.2.1 GUI Subsystem

4.2.1.1 General

The View subsystem is to display the video stream, still frames and targets attributes.

4.2.1.2 Assumptions

None

Detailed Design Specification 25

Page 26: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.2.1.3 Responsibilities

Provide a GUI for the user to view all of the information

o Display the video stream received from the System Control subsystem

o Display the telemetry data received from the System Control subsystem

o Display the attributes of the potential targets from the System Control

subsystem

o Display Accept or Deny option for potential targets

Receive inputs from user through the GUI and call the appropriate functions or

methods.

4.2.1.4 Subsystem Inter-layer Interfaces

Detailed Design Specification 26

Page 27: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.2.1.5 Public Methods

display_EagleEye(//…){

//Display the start up GUI screen for the user.

}

4.2.1.6 Private Methods

None

4.3 Main Control Layer

4.3.1 System Control Subsystem

4.3.1.1 General

The System Control acts as a manager and checks everything that is coming into the its subsystem. The System Control receives the video stream, HC/WC telemetry data, and the targets attributes from the target identification layer and also anything that is received from the storage layer. Once all this is received the System Control sends this info to the View subsystem to be displayed to the user.

Detailed Design Specification 27

Page 28: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

4.3.1.2 Assumptions

None

4.3.1.3 Responsibilities

Receive Video stream from Video Processing subsystem and receive Telemetry

data from Telemetry Data Preparation subsystem

Receive a still frame and its potential targets from Target Identification subsystem

Receive and display recorded videos and identified targets from Storage Manager

subsystem

Send video stream, telemetry data, and all target attributes to the GUI subsystem

Transfer information regarding the identified and accepted targets and their

attributes to the Storage Layer

Transfer the video stream and telemetry data to the Still Frame Capture

Subsystem when the user capture a frame

4.3.1.4 Subsystem Inter-layer Interfaces

Method Description InformationRequired

Information Returned

display_TD Display HC/WC telemetry data from the Telemetry Data Preparation Subsystem

•HC/WC Telemetry data

•None

display_VideoStream Display video stream from Video Processing subsystem or Storage Manager Subsystem

•Video Stream •None

display_IdentifiedTargets Display identified targets from the Storage Manager Subsystem

•Identified Targets

•None

display_PotentialTargets Display potential targets from the Target Identification subsystem

•Target attributes, HC/WC telemetry data, and still frame

•None

user_Review User accept or decline potential targets •Targets identified

• Pass/Fail

transfer_Targets Transfer information regarding the identified and accepted targets and their attributes to the Storage Layer

• Video data, identified targets and their attributes

• Pass/Fail

Detailed Design Specification 28

Page 29: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

actionListener Method that listens for the user input from the GUI layer; then based on that user input performs the equivalent action desired from the user.

The action event or button chosen in the GUI

None

Table 4.4.3.1: Public Interface to System Control Subsystem

4.3.1.5 Public Methods

public void display_TD(//this will be a string that contains the type of data file)

{get_TD();

}

public void display_VideoStream(//this will be a string that contains the type of video file)

{get_Video();

}

public void display_IdentifiedTargets(//what choice was made)

{If(//the user wants video that’s been stored) {

retrieve_Video()}Else if(//the user wants targets that have identified and stored) {

Retieve_targets();}

}

public void display_PotentialTargets( )

{identify_Targets();

}

public void user_Review(Boolean acceptDecline )

{If( acceptDecline == true){ transfer_Targets();}Else

}

public void transfer_Targets(//the file type of the video and the file type of the data file)

Detailed Design Specification 29

Page 30: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

{Identify_Targets();

}

public void actionListener(actionPerformed)

{If(actionPerformed == Accept Button) {

user_Review(); }Else if(actionPerformed == Decline Button) {

//Discard; }Else if(actionPerformed == User wants to see stored targets){

display_IdentifiedTargets();}Else if(actionPerformed == User wants to see stored video){

display_IdentifiedTargets();}

}

4.3.1.6 Private Methods

N/A

Detailed Design Specification 30

Page 31: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

5 Quality Assurance

5.1 Test Plans and Procedure

The details of our test plans, procedures, and test cases will be outlined in the Test Plan Document.

5.2 Modular/Unit Tests

Camera Test Video Acquisition Test Telemetry Acquisition Test Connection Test Target Identification Test Storage Test

5.3 Component Tests

Record videos Store videos Store identified targets Retrieve identified targets

5.4 Integration Tests

Identify target Store videos Store identified targets

6 Requirements Traceability Matrix

This matrix identifies the subsystems used to satisfy the requirements detailed in the System Requirements Document.

Detailed Design Specification 31

Page 32: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

SRD section # Description GUI

System Control

Video Stream

Acquisition

Telemetry acquisition

Capture Controller

Attributes training set

Target Identification

Storage Manager

Video Recordings

Identified Targets

4.2.10A GUI interface X X

4.2.1Accept a video stream

X

4.2.4Recognize targets using the video stream

X X X X

4.2.6Recognize the geometric shape of the target

X X

4.2.7Recognize the targets alphanumeric character

X X

4.2.8Recognize the background color of the target

X X

4.2.9Recognize the target’s alphanumeric color

X X

4.2.19Store identified target information into a file

X X

4.2.20Allow a user to retrieve all accepted targets and their individual

X X

4.2.21Playback mode for all the recorded

X X

4.2.2 Accept telemetry data

X X

4.2.5Find the target location using telemetry data

X

4.2.18 Allow for accept or decline targets

X X

Detailed Design Specification 32

Page 33: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

7 Acceptance Plan

This section describes the conditions under which the final product will be deemed acceptable by the stakeholders. It is a duplicate of the acceptance criteria section from the System Requirements Document.

7.1 Criteria

7.1.1 The Eagle Eye system shall accept a video stream

7.1.1.1 Description

The system will take video as an input from the video recorder on autonomous helicopter.

7.1.1.2 Source:

AV-Competition Rules 2009

7.1.1.3 Applicable Constraints

Video must be of a least 800x600 resolutions.

7.1.1.4 Applicable Standards

N/A

7.1.2 The Eagle Eye system shall recognize the characteristics of a target with a given video stream and other data from the HC.

7.1.2.1 Description

The system will be able to recognize targets alphanumeric characters, colors, and geometric shapes from a given video stream and other given data.

7.1.2.2 Source:

Dr. Reyes and the AV-challenge documentation

7.1.2.3 Applicable Constraints

Object is no bigger than 8 square feet, colors used must be from the standard color chart, and the video must be of a least 800x600 resolutions.

7.1.2.4 Applicable Standards

N/A

Detailed Design Specification 33

Page 34: DDS (Eagle Eye - Helicopter Surveillance)

Senior Design Documentation Library Detailed Design Specification

7.1.3 The Eagle Eye system shall output the targets and their attributes.

7.1.3.1 Description

All recognized targets and their attributes will be given to the user in accordance with the AV Competition Rules.

7.1.3.2 Source:

AV-Competition Rules 2009

7.1.3.3 Applicable Constraints

The format of the file should be specified on certain format type.

7.1.3.4 Applicable Standards

AV Competition Rules 2009

Detailed Design Specification 34