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

•   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

•   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
   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

•   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
                      o Robot Alerts from Robot
                      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
                    o Admin commands to
                      Robot Server
Server Subgroup
Control and Interfaces
    Patrick Mealey
     Joe Gebhard
Controller and Interfaces

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

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

• 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
• Additionally, this assignment must be reassessed in real-
  time to ensure that the system is always performing
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.
  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

•   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

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

• 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

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

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