DDS (Eagle Eye - Helicopter Surveillance)

580 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
580
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DDS (Eagle Eye - Helicopter Surveillance)

  1. 1. 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: Copy Printed: d MMMM yyyy 39783.6020833333 h:mm:ss am/pm Detailed Design Specification 1
  2. 2. Senior Design Documentation Library Detailed Design Specification Table of Contents Documenting the Detailed Designed Specification......................................................................4 1.1 Overview..................................................................................................................................4 1.2 Outline......................................................................................................................................4 1.3 Purpose.....................................................................................................................................4 1.4 Scope........................................................................................................................................4 1.5 Abbreviations............................................................................................................................5 1.6 System Requirements................................................................................................................5 Layer Definition.............................................................................................................................7 1.7 Layer-Name and Description....................................................................................................7 1.7.1 Main Control Layer................................................................................................7 1.7.2 User Interface Layer...............................................................................................7 1.7.3 Data Capture Layer................................................................................................7 1.7.4 Target Identification Layer.....................................................................................8 1.7.5 Storage Layer.........................................................................................................8 1.8 Inter Layer Data Flow Description............................................................................................9 Inter-Subsystem Dataflow Section.............................................................................................10 Component Design.......................................................................................................................13 4.1 Data Capture Layer.................................................................................................................13 1.8.1 Telemetry Acquisition Subsystem........................................................................13 1.8.2 Video Stream Acquisition Subsystem..................................................................15 1.8.3 Capture Controller Subsystem..............................................................................16 4.2 Target Identification Layer.....................................................................................................19 1.8.4 Target Identification Subsystem...........................................................................19 4.3 Storage Layer..........................................................................................................................21 1.8.5 Storage Manager Layer Subsystem......................................................................21 1.8.6 Video Recordings Layer Subsystem....................................................................23 Detailed Design Specification 2
  3. 3. Senior Design Documentation Library Detailed Design Specification 1.8.7 Identified Target Storage Layer Subsystem.........................................................24 1.8.8 Attributes Training Set Subsystem.......................................................................25 1.9 User Interface Layer...............................................................................................................26 1.9.1 GUI Subsystem ....................................................................................................26 1.10 Main Control Layer...............................................................................................................29 1.10.1 System Control Subsystem ................................................................................29 Quality Assurance........................................................................................................................34 1.11 Test Plans and Procedure......................................................................................................34 1.12 Modular/Unit Tests...............................................................................................................34 1.13 Component Tests..................................................................................................................34 1.14 Integration Tests...................................................................................................................34 Requirements Traceability Matrix.............................................................................................34 Acceptance Plan...........................................................................................................................36 1.15 Criteria..................................................................................................................................36 1.15.1 The Eagle Eye system shall accept a video stream ...........................................36 1.15.2 The Eagle Eye system shall recognize the characteristics of a target with a given video stream and other data from the HC......................................................................36 1.15.3 The Eagle Eye system shall output the targets and their attributes....................37 Detailed Design Specification 3
  4. 4. Senior Design Documentation Library Detailed Design Specification 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
  5. 5. Senior Design Documentation Library Detailed Design Specification 1.5 Abbreviations HC Helicopter WC Webcam/Camera CSE Computer Science and Engineering UTA University of Texas at Arlington AVL Autonomous Vehicle lab AUVSI Unmanned Vehicle Systems International UAS Unmanned Aerial System ISR 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 Detailed Design Specification 5
  6. 6. Senior Design Documentation Library Detailed Design Specification 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 6
  7. 7. Senior Design Documentation Library Detailed Design Specification 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. User Interface Layer Storage Layer Main Control Data Capture Layer Target Identification Layer Figure 2 - Architecture Layer Diagram of Eagle Eye System 1.7 Layer-Name and Description 1.7.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. 1.7.2 User Interface Layer • The User Interface Layer is primarily responsible for presenting information to the user and taking input from a user 1.7.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 7
  8. 8. Senior Design Documentation Library Detailed Design Specification 1.7.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 1.7.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 8
  9. 9. Senior Design Documentation Library Detailed Design Specification 1.8 Inter Layer Data Flow Description This section describes the type of data that flow among layers. Layers Data Flow Description From To Main Storage Layer The Main Control Layer will send requests to retrieve Control or save data from the Storage Layer Main Data Capture The Main Control Layer will send requests to start/end Control Layer data capturing. Main User Interface The Main Control Layer will send information to Control Layer display on the User Interface Layer Main Target • The Main Control Layer will send a still frame Control Identification from the video stream to the Target Layer 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 Main Control The User Interface Layer will send user inputs to the Interface Main Control Layer Layer Storage Main Control The Storage Layer will provide the Main Control Layer Layer the options to retrieve stored videos and the identified targets based on the AVL format. Data Capture Main Control The Data Capture Layer will provide video streams and Layer telemetry data Target Main Control The Target Identification Layer will send the potential Identification targets in a still frame Layer Detailed Design Specification 9
  10. 10. Senior Design Documentation Library Detailed Design Specification Inter-Subsystem Dataflow Section This section describes the type of data that flow among subsystems in the layers. User 12 Eagle Eye Storage Layer Data Capture Layer GUI Video User Recordings Interface Telemetry Layer acquisition 2 10 6 4 Main Control Storage System Capture Outside Manager 7 Control 1 Controller Sources 9 8 11 5 Camera Target Attributes Identified Identification Video Stream training set Targets Acquisition 3 Target Identification Layer 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 • This will be the signal from the System Control Subsystem, based on the user input, to start receiving telemetry and video data. 1 • 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 The data that flows here would be the telemetry data that comes from the outside source 2 (UAS or a text file) to the Telemetry Acquisition Subsystem. This data is a live video stream comes from a camera to the Video Stream Acquisition 3 Subsystem. This is the telemetry data that was received by the Telemetry Acquisition Subsystem and 4 is now being sent to the Capture Controller Subsystem. This data could be a live video stream or a video file that was received by the Video 5 Stream Acquisition Subsystem and it is being sent to the Capture Controller Subsystem. Detailed Design Specification 10
  11. 11. Senior Design Documentation Library Detailed Design Specification • When the System Control Subsystem has received the target along with its 6 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 • The flow of data from System Control subsystem to Storage Manager Subsystem is user action to retrieve saved data and video stream constantly recorded. 7 • 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. • The data here which is the video stream and telemetry data will be provided to the Still Frame Capture Subsystem when desired by user 8 • Once a target has been identified (with its still frame, and attributes), the System Control will receive results from the Target Identification Subsystem Target Identification Subsystem will call the Attributes Training Set Subsystem to 9 provide the attributes to look for in the still frame This is the video stream that was received from Video Processing Subsystem by the 10 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 This is the stored target info that was received from the Target Identification Subsystem 11 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 11
  12. 12. Senior Design Documentation Library Detailed Design Specification Video Producer System Telemetry Capture Attributes Target Storage Video Identified GUI Stream Subsystem Control acquisition Controller training set Identification Manager Recordings Targets Acquisition GUI 6 System 1 1 7 Control Telemetry 4 acquisition Video Stream 5 acquisition Capture 1 Controller Attributes 9 training set Target 8 Identification Storage 7 9 10 11 Manager Video 10 Recordings Identified 11 Targets User 12 Outside 2 Sources 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 12
  13. 13. Senior Design Documentation Library Detailed Design Specification 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 1.8.1 Telemetry Acquisition Subsystem 1.8.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. 1.8.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. 1.8.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 1.8.1.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned get_Raw_TD Retrieves telemetry data from • Source Id • Telemetry outside sources. data Table 4.1.1.1: Subsystem Inter-layer Interfaces to Telemetry Acquisition Subsystem Detailed Design Specification 13
  14. 14. Senior Design Documentation Library Detailed Design Specification 1.8.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 Roll angle in radians $-pi < phi < pi$. Zero is level with the Phi 0 Double horizon and increasing $phi$ is right wing down. Pitch angle in radians $-halfpi < theta < halfpi$. Zero is level Theta 8 Double with the horizon and increasing $theta$ is nose up. Heading (yaw) angle in radians. $-pi < psi < pi$. Zero is due Psi 16 Double 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=pmpi$. Be sure to account for the discontinuity when facing south; it can cause problems if you compute $Deltapsi = psi - psi'$. Use the cmdline{turn_direction} routine instead. Body frame roll rate in radians (unbiased). Positive $p$ is rolling P 24 Double right wing down. The actual range of the reading should be $pm 90deg$, 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. Body frame yaw rate in radians (unbiased). Positive $r$ is rotating R 40 Double 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) Down position in local tangent plane in m (filtered). Remember Z 64 Double 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 Downward velocity in body frame in m/s. Remember that negative Vz 88 Double $vz$ is actually a climb when the aircraft is upright. Forward magnetometer reading (unscaled, filtered). The readings Mx 96 Double 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) Mz 112 Double Downward magnetometer reading (unscaled, filtered) Detailed Design Specification 14
  15. 15. Senior Design Documentation Library Detailed Design Specification Forward accelerometer reading in m/s/s (filtered). The acceleration Ax 120 Double 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. Sideways accelerometer reading in m/s/s (filtered) Ay 128 Double Downward accelerometer reading in m/s/s (filtered) Az 136 Double Raw body frame roll rate in radians (biased). These raw values are Raw_p 144 Double typically not used by any application, but may be used for post- flight analysis of gyro bias drift during the flight. Raw body frame pitch rate in radians (biased) Raw_q 152 Double Raw body frame yaw rate in radians (biased) Raw_r 160 Double Number of CRC errors on the IMU serial link Crc_err 168 Double IMU bus voltage. This is computed from the band gap reference Voltage 176 Double 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. Number of IMU resets. If this value ever changes the IMU has Resets 184 Double 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. Engine RPM Rpm0 186 int Main-rotor RPM Rpm1 188 int tail-rotor PRM Rpm2 190 int 1.8.1.6 Private method None 1.8.2 Video Stream Acquisition Subsystem 1.8.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 1.8.2.2 Assumptions • Camera will have high enough resolution to identify target 1.8.2.3 Responsibilities • Capture video Detailed Design Specification 15
  16. 16. Senior Design Documentation Library Detailed Design Specification • Send all video to the capture controller 1.8.2.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned get_Raw_Video Receive video from outside • Video source • Video source Id as integer i.e. 0, 1, 2… Table 4.1.2.1: Subsystem Inter-layer Interfaces to Video Stream Acquisition Subsystem 1.8.2.5 Public method get_Raw_Video(); { //this will be used to call the video from the webcam } 1.8.2.6 Private method None 1.8.3 Capture Controller Subsystem 1.8.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 1.8.3.2 Assumptions Telemetry data received from an outside source will be specific format. (See TD-table) Stream video will maintain the standard of certain pixel resolution and type. Detailed Design Specification 16
  17. 17. Senior Design Documentation Library Detailed Design Specification 1.8.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 1.8.3.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned start_Video_ Acquisition Start Video Capture Subsystem • Video • Pass/Fail Source start_TD_Acquisition Message from User Input • User Input • Pass/Fail subsystem to start retrieving Message telemetry data from UAS get_TD Send/transfer two telemetry data • Time •2 sets of to the System Control Subsystem telemetry and Still Frame Capture data Subsystem get_Video Send video to the main controller • Time • Video capture_Frame Capture time of User input and • Time •Still Frame call functions to get the frame at from the that time from the video stream video as well as calculate the telemetry data of that frame. Table 4.2.1.1: Subsystem Inter-layer Interfaces to Capture Controller Subsystem Detailed Design Specification 17
  18. 18. Senior Design Documentation Library Detailed Design Specification 1.8.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. } } 1.8.3.6 Private Method None Detailed Design Specification 18
  19. 19. Senior Design Documentation Library Detailed Design Specification 4.2 Target Identification Layer 1.8.4 Target Identification Subsystem 1.8.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. 1.8.4.2 Assumptions None 1.8.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 1.8.4.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned Identify_Targets Receive data from Still Capture • still frame, • Pass/Fail Subsystem and identify targets telemetry: an object of “image” class and an object of “telemetryData” class Table 4.2.4.1: Subsystem Inter-layer Interfaces to Target Identification Layer Subsystem Detailed Design Specification 19
  20. 20. Senior Design Documentation Library Detailed Design Specification 1.8.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(); } 1.8.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 20
  21. 21. Senior Design Documentation Library Detailed Design Specification 4.3 Storage Layer 1.8.5 Storage Manager Layer Subsystem 1.8.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. 1.8.5.2 Assumptions None 1.8.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 1.8.5.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned store_Videos Store the video received from the Video • Video data •Pass/Fail Processing Subsystem (Target Identification Layer ) store_Targets Store targets and their attributes received • Identified •Pass/Fail from the Target Identification Subsystem targets and their attributes Retrieve_Videos Send stored video to the System Controls •Video file •Video Subsystem (User Interface Layer). name Retrieve_Targets Send stored information to the System •Stored •Stored Controls Subsystem (User Interface targets and targets and Layer) their their attributes attributes Table 4.3.1.1: Subsystem Inter-layer Interfaces to Storage Manager Layer Subsystem 1.8.5.5 Public Methods store _Videos(//parameter for video received from Main Control Subsystem) { Detailed Design Specification 21
  22. 22. 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 } 1.8.5.6 Private Methods None Detailed Design Specification 22
  23. 23. Senior Design Documentation Library Detailed Design Specification 1.8.6 Video Recordings Layer Subsystem 1.8.6.1 General All the videos that have been recorded will be stored in this layer. 1.8.6.2 Assumptions None 1.8.6.3 Responsibilities • Store all the recorded videos • Make video for Storage Manager Layer Subsystem 1.8.6.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned save_Videos Take video and save to physical hard •Video •Video file drive name •Video file •Video get_Videos Retrieve video from file. name Table 4.3.2.1: Subsystem Inter-layer Interfaces to Video Recordings Layer Subsystem 1.8.6.5 Public Methods save_Videos(//…) { //save video } get_Videos(//…) { //pass pointer to video } 1.8.6.6 Private Methods None Detailed Design Specification 23
  24. 24. Senior Design Documentation Library Detailed Design Specification 1.8.7 Identified Target Storage Layer Subsystem 1.8.7.1 General All the information regarding the identified targets is stored in this subsystem. 1.8.7.2 Assumptions None 1.8.7.3 Responsibilities • Store all the identified targets and their attributes • Make video for Storage Manager Layer Subsystem 1.8.7.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned save_Targets Take identified targets’ information and •Identified •Targets file save to physical hard drive Targets name •Targets file •Identified get_Targets Retrieve identified targets from file. name Targets Table 4.3.3.1: Subsystem Inter-layer Interfaces to Identified Targets Subsystem 1.8.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 24
  25. 25. 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 } } 1.8.7.6 Private Methods None 1.8.8 Attributes Training Set Subsystem 1.8.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. 1.8.8.2 Assumptions None 1.8.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 25
  26. 26. Senior Design Documentation Library Detailed Design Specification 1.8.8.4 Subsystem Inter-layer Interfaces Method Description Information Information Required Returned define_Targets Define the target’s attributes such as •Video data, • None geometric shapes, alphanumeric still frame character, color etc. Table 4.2.4.1: Subsystem Inter-layer Interfaces to Target Identification Layer Subsystem 1.8.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. } } 1.8.8.6 Private Methods None 1.9 User Interface Layer 1.9.1 GUI Subsystem 1.9.1.1 General The View subsystem is to display the video stream, still frames and targets attributes. 1.9.1.2 Assumptions None Detailed Design Specification 26
  27. 27. Senior Design Documentation Library Detailed Design Specification 1.9.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. Detailed Design Specification 27
  28. 28. Senior Design Documentation Library Detailed Design Specification 1.9.1.4 Subsystem Inter-layer Interfaces Detailed Design Specification 28
  29. 29. Senior Design Documentation Library Detailed Design Specification 1.9.1.5 Public Methods display_EagleEye(//…) { //Display the start up GUI screen for the user. } 1.9.1.6 Private Methods None 1.10 Main Control Layer 1.10.1System Control Subsystem 1.10.1.1General 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 29
  30. 30. Senior Design Documentation Library Detailed Design Specification 1.10.1.2Assumptions None 1.10.1.3Responsibilities • 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 1.10.1.4Subsystem Inter-layer Interfaces Method Description Information Information Required Returned display_TD Display HC/WC telemetry data from the •HC/WC •None Telemetry Data Preparation Subsystem Telemetry data display_VideoStream Display video stream from Video •Video Stream •None Processing subsystem or Storage Manager display_IdentifiedTargets Subsystem Display identified targets from the Storage •Identified •None Manager Subsystem Targets display_PotentialTargets Display potential targets from the Target •Target •None Identification subsystem attributes, HC/ WC telemetry data, and still frame Detailed Design Specification 30
  31. 31. Senior Design Documentation Library Detailed Design Specification user_Review User accept or decline potential targets •Targets • Pass/Fail identified transfer_Targets Transfer information regarding the • Video data, • Pass/Fail identified and accepted targets and their identified attributes to the Storage Layer targets and their attributes actionListener Method that listens for the user input from The action None the GUI layer; then based on that user event or button input performs the equivalent action chosen in the desired from the user. GUI Table 4.4.3.1: Public Interface to System Control Subsystem 1.10.1.5Public 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(); } } Detailed Design Specification 31
  32. 32. Senior Design Documentation Library Detailed Design Specification 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) { Identify_Targets(); } public void actionListener(actionPerformed) { If(actionPerformed == Accept Button) { user_Review(); } Else if(actionPerformed == Decline Button) { //Discard; } Detailed Design Specification 32
  33. 33. Senior Design Documentation Library Detailed Design Specification Else if(actionPerformed == User wants to see stored targets) { display_IdentifiedTargets(); } Else if(actionPerformed == User wants to see stored video) { display_IdentifiedTargets(); } } 1.10.1.6Private Methods N/A Detailed Design Specification 33
  34. 34. Senior Design Documentation Library Detailed Design Specification Quality Assurance 1.11 Test Plans and Procedure The details of our test plans, procedures, and test cases will be outlined in the Test Plan Document. 1.12 Modular/Unit Tests • Camera Test • Video Acquisition Test • Telemetry Acquisition Test • Connection Test • Target Identification Test • Storage Test 1.13 Component Tests • Record videos • Store videos • Store identified targets • Retrieve identified targets 1.14 Integration Tests • Identify target • Store videos • Store identified targets Requirements Traceability Matrix This matrix identifies the subsystems used to satisfy the requirements detailed in the System Requirements Document. Detailed Design Specification 34
  35. 35. Senior Design Documentation Library Detailed Design Specification SRD Video System Telemetry Capture Attributes Target Storage Video Identified section # Description GUI Stream Control acquisition Controller training set Identification Manager Recordings Targets Acquisition 4.2.10 A GUI interface X X 4.2.1 Accept a video X stream 4.2.4 Recognize targets using the video X X X X stream 4.2.6 Recognize the geometric shape of X X the target 4.2.7 Recognize the targets X X alphanumeric character 4.2.8 Recognize the background color X X of the target 4.2.9 Recognize the target’s X X alphanumeric color 4.2.19 Store identified target information X X into a file 4.2.20 Allow a user to retrieve all X X accepted targets and their individual 4.2.21 Playback mode for X X all the recorded 4.2.2 Accept telemetry X X data 4.2.5 Find the target location using X telemetry data 4.2.18 Allow for accept or X X decline targets Detailed Design Specification 35
  36. 36. Senior Design Documentation Library Detailed Design Specification 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. 1.15 Criteria 1.15.1The Eagle Eye system shall accept a video stream 1.15.1.1Description The system will take video as an input from the video recorder on autonomous helicopter. 1.15.1.2Source: AV-Competition Rules 2009 1.15.1.3Applicable Constraints Video must be of a least 800x600 resolutions. 1.15.1.4Applicable Standards N/A 1.15.2The Eagle Eye system shall recognize the characteristics of a target with a given video stream and other data from the HC. 1.15.2.1Description The system will be able to recognize targets alphanumeric characters, colors, and geometric shapes from a given video stream and other given data. 1.15.2.2Source: Dr. Reyes and the AV-challenge documentation 1.15.2.3Applicable 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. 1.15.2.4Applicable Standards N/A Detailed Design Specification 36
  37. 37. Senior Design Documentation Library Detailed Design Specification 1.15.3The Eagle Eye system shall output the targets and their attributes. 1.15.3.1Description All recognized targets and their attributes will be given to the user in accordance with the AV Competition Rules. 1.15.3.2Source: AV-Competition Rules 2009 1.15.3.3Applicable Constraints The format of the file should be specified on certain format type. 1.15.3.4Applicable Standards AV Competition Rules 2009 Detailed Design Specification 37

×