Proposal Presentation - Home Page - The University of Texas at Dallas

Document Sample
Proposal Presentation - Home Page - The University of Texas at Dallas Powered By Docstoc
					 Remote Monitoring System

        Senior Design Group 2A
University of Texas at Dallas Spring 2010
Outline

•   System Overview
•   Client Subgroup Overview
•   Server Subgroup Overview
•   Robotics Subgroup Overview
•   Closing and Questions
System Overview

• Our system allows users to view video feeds of Objects of
  Interest located in a closed area.


• Users choose an item to view implicitly by accessing a page
  and are shown the best possible video of that item.

• Robot mounted camera's move and pan automatically to
  obtain the best possible view of the Objects of Interest.

• System performance is maximized by AI algorithms using
  Quality of Service metric calculated in real time.
System Overview
Outline

•   System Overview
•   Client Subgroup Overview
•   Server Subgroup Overview
•   Robotics Subgroup Overview
•   Closing and Questions
Client Subgroup Overview

• The client side will involve all of the user experience in the
  form of a web site.
   o User Interface for easily viewing video of animals in the
     zoo
   o User Authentication/Registration
   o Administration Tasks
• Ubuntu Server using a LAMP stack.
   o Linux
   o Apache
   o mySQL
   o PHP
   o Subversion
• AJAX scripting for enhanced user experience.
Visitors - Home Page
Visitors - Registration
Visitors - Registration Error
Visitors - Registration Confirmation
Visitor - Animal Page without Camera
Visitors - Animal Page with Camera
Registered User - Home Page
Registered User - Edit Profile
Registered User - Vote Without Camera
Registered User With Camera
Admin - Home Page
Admin - All Users
Admin - Add User
Admin - Edit User
Admin - All Cameras
Admin - Add Camera
Admin - Camera Details
Admin - Add Animal
Admin - Edit Animal
Database Schema
Task Breakdown


• Group Lead - Morgan
• Server - Kevin
• GUI - James
• Database - Morgan
• Testing - Nick
Group Lead - Morgan

•   Organize meetings and set agendas
•   Liaise with other sub-group leads
•   Address concerns of sub-group members
•   Document progress
Server - Kevin

• Server configuration and installation
• Server management
• Subversion Administration
• Liaise with other two sub-groups
   o Receiving video stream
   o Handle video encoding questions
   o Deal with zoom features
• Caching
GUI Design - James

• Wireframes for user interface
• Photoshop layouts of pages
  o Slicing and prep for web
• Defining user experience
GUI Implementation - Entire Group

• Coding PHP pages
• AJAX coding for transitions and experience enhancements
• This involves the most coding so the whole client sub-group
  will be helping with this.
Database - Morgan

•   Schema
•   SQL Views
•   Database Management
•   Liaise with Server sub-group to coordinate their needs
•   Fill in extraneous content ex. Zebra info, About the zoo, etc.
Testing - Nick

• Investigate testing possibilities
• Generate test-cases
   o For the overall project
   o For the Client sub-group
• Simulate users
• Document procedures
• Result reporting and bug tracking
Outline

•   System Overview
•   Client Subgroup Overview
•   Server Subgroup Overview
•   Robotics Subgroup Overview
•   Closing and Questions
Server Subgroup Overview - Tasks

•   Facilitate communication between robot and client servers
•   Handle system faults
•   Analyze and optimize system performance
•   Process and deliver high quality video streams
Server Subgroup Overview - Inputs
                   • Inputs:
                      o Demand from Client DB
                      o Admin Controls from
                        Client
                      o Robot Alerts from Robot
                        Server
                      o Robot positions from
                        Robot Server
                      o Calculated PoI positions
                        from Robot Server
                      o Camera feeds from
                        Robot Server
Server Subgroup Overview - Outputs
                  • Outputs:
                    o QoS values to Client DB
                    o Robot and PoI positions
                      to Client DB
                    o Formatted video streams
                      to Client
                    o Robot Alerts to Client
                    o Updated Robot/PoI
                      assignments to Robot
                      server
                    o Admin commands to
                      Robot Server
Server Subgroup
Control and Interfaces
    Patrick Mealey
     Joe Gebhard
Controller and Interfaces

Tasks:
 • Facilitate communication between the backend server, web server
   and the robot controller
 • Spawn other server modules
 • Avoid starvation


Inputs:
 • Demand Vector (Client Database)
 • Commands from Administrative Front End
 • Robot Interfaces
 • Video Streams
 • Qos Quality Vector
Controller and Interfaces

Outputs:
• To Client:
   o Video Streams
   o Location Data
        Robot Locations
        Object Locations
   o QoS for each object
• To Robots:
   o Movement commands
   o Administrative commands
• Normalized Demand Vector
   o Accounts for stale requests
Controller and Interfaces
Server Subgroup
   QoS and AI
    Kevin Hulin
    Eric Martin
QoS and AI

Task: Respond to current system demand in order to maximize
user satisfaction by reallocating robot resources from low
demand viewing to high demand viewing

Inputs: Demand Vector, current robot/object assignments,
available robots and corresponding camera quality details

Outputs: Updated robot/object assignments
QoS - Quality of Service Metric


• Compute system QoS as a weighted average of QoS values
  for individual Points of interest (PoI).
• Each PoI also has a demand value. This value represents
  the current demand for the PoI relative to other PoI's.
• For each PoI, a quality value is computed as the product of
  attributes. ie:
   o Quality of camera used for viewing the PoI
   o Distance of camera from the object (relative to its size).
        For smaller objects, it is desirable to be very near
        For larger objects, it is desirable to be farther away
QoS - Robot/PoI Assignments

• Maximized system QoS value = Maximized user satisfaction
• AI Goal: Determine the optimal assignment of cameras and
  PoI's.
• Additionally, this assignment must be reassessed in real-
  time to ensure that the system is always performing
  optimally.
AI - Intelligent search for global optima

• Each robot will be addressed individually, with knowledge of
  the others.
• At each time step, it will calculate a theoretical contribution
  to the overall QoS if it were to focus on an item.
   o Manhattan distance
   o Quality of camera
   o Effort to move
   o Current contribution to QoS
   o Calculate assumed contribution to QoS
• If the QoS would be better maximized by switching focus,
  tell the robot to do so.
Testing
  Graphical System Simulator




  Allows for rapid prototyping of QoS and AI Models.
QoS and AI - Progress and Deadlines

• In Progress:
   o Researching and refining AI searching algorithms for
     discovering the global optimal Robot/PoI assignments.
     (Due Feb 22)
   o Integrate QoS and AI algorithms into simulation program
     to being tweaking attribute weights
     (Due March 4)
Server Subgroup
  Video delivery
   Jordan Bach
   Matt Williams
Video streaming and archiving
Video transcoding

• Real time
• FFmpeg
• Transcode from MJPEG to FLV
   o De facto standard for web video
Video streaming

• FFserver for live video
• LightHTTPD for archived video
   o FFserver has buggy support streaming files and
     LightHTTPD does not easily support streaming live video
• Hosted on a separate computer for performance reasons
• Potential bandwidth bottleneck:
   o Robot controller's computer
   o Need computer with wireless card in the room to get wifi
     feeds from camera so they can be delivered over the
     university's network to the video server
   o University's network probably can't support streaming
     video to a large number of users (it has enough trouble
     supporting eLearning)
Video archiving

• Keep high quality archival footage for each object
• Inputs from robot group:
   o Video feeds
   o Object(s) in view
   o Quality of each object in view
• Save multiple clips for each object totaling 5 minutes each
• If the live stream for an object has a higher quality than the
  lowest quality clip for that object, a new clip is made that
  replaces the lowest quality clip
Video delivery schedule

• 2/23 - Install and configure FFmpeg, FFserver, and
  LightHTTPD on the video streaming server
• 3/2 - Full streaming and transcoding of live video
• 3/9 - Video archiving and streaming of archive video
• 3/16 - Testing and performance analysis
Outline

•   System Overview
•   Client Subgroup Overview
•   Server Subgroup Overview
•   Robotics Subgroup Overview
•   Closing and Questions
Robot Subgroup Overview

Robot Coordination and Communication
• Lego Mindstorms NXT robots
• Movement and Target Tracking
• Bluetooth communication

Camera Surveillance Monitoring
• Cisco and D-Link Wireless Cameras
• Color tracking
• PID Camera Controller
Group Assignments

Simon - Camera - Object Tracking + Server Communication
Trevor - Robot – Robot Grid Navigation
Andrea - Camera – Camera Control + Robot Reaction
Ross - Robot – Robot Movement + Line-Following
Kyle - Robot – Robot Status and Information
Robot Subgroup
  Robot Control
  Trevor Sheerin
  Ross Chapman
  Kyle Sawchuk
Robot Control

Coordinate System
• Grid layout
• Use of light sensors for line tracking
• Send robots coordinates to move to
• Format: (x coordinate, y coordinate, bearing, line of sight)

Camera Control
• PID Controller
Robot Control
Robot Communication

Protocol
• Bluetooth network
   o Master- Laptop/Server
   o Slaves - Surveillance Robots

Messages
• Input to Robot
   o Partial Coordinates
   o Camera Target
   o Low Level Movement Controls
   o Camera Pan Control
• Output from Robot
   o Status updates (battery levels, location, etc)
Robot Control
Robot Subgroup
 Camera Control
   Simon Inch
  Andrea Demel
Camera Control

Cameras networked over wifi
• Image Processing in OpenCV on server
   o Match visible targets to robot locations
• Streaming MJPEG video to server for end users
• Camera Adjustments via PID Controller

Cameras
• D-Link
  o 640x480 @ 15fps (max)
• Cisco
  o 640x480 @ 30fps (max)
Outline

•   System Overview
•   Client Subgroup Overview
•   Server Subgroup Overview
•   Robotics Subgroup Overview
•   Closing and Questions

				
DOCUMENT INFO