Software Requirements Specification: Robotic Floor Cleaner For Smart Buildings
Software Requirements Specification: Robotic Floor Cleaner For Smart Buildings
Specification
for
Robotic Floor Cleaner for Smart Buildings
Version 1.0
Prepared by
Maaz Ali
Sp12-bcs-102
M. Ikram Ellahi
Sp12-bcs-134
M. Irfan
Sp12-bcs-136
Supervised by
Mr. Muhammad Tariq
Department of Computer Science,
CIIT, Islamabad
Table of Contents
Revision History ........................................................................................................................... iii
1. Introduction ..............................................................................................................................1
1.1 Purpose ........................................................................................................................................ 1
1.2 Scope ........................................................................................................................................... 1
1.3 Definitions, Acronyms and Abbreviations .................................................................................. 1
1.4 References ................................................................................................................................... 2
1.5 Overview ..................................................................................................................................... 2
2. Overall Description ..................................................................................................................2
3. Use Case(s) ................................................................................................................................4
4. Specific Requirements ...........................................................................................................22
4.1 Functionality.............................................................................................................................. 22
4.2 Usability .................................................................................................................................... 28
4.3 Reliability .................................................................................................................................. 28
4.4 Performance............................................................................................................................... 28
4.5 Design Constraints .................................................................................................................... 29
4.6 Purchased Components ............................................................................................................. 29
4.7 Interfaces ................................................................................................................................... 30
4.8 Legal, Copyright, and Other Notices ......................................................................................... 30
Software Requirements Specification for Robotic Floor Cleaner Page iii
Revision History
Name Date Reason For Changes Version
Software Requirements Specification for Robotic Floor Cleaner Page 1
1. Introduction
1.1 Purpose
Buildings like campuses, train stations, hospitals and airports pay huge amounts in terms of
janitorial services to maintain cleanliness and pleasant occupant experience. Despite this
spending occupants usually complain about suboptimal performance of the janitorial staff.
Janitor roosting/scheduling in practice is not adaptive to spatiotemporal cleaning needs of the
building (e.g. near the coffee shop in a train station at 7:00 AM).On the other hand domestic
cleaning robots like Scooba (iRobot) are successfully being deployed at homes to mop the
floors. We believe that cleaning and specifically litter picking and mopping the floor is an
optimization problem in which the optimization objective is a function of occupant density
(spatiotemporal) at a location/facility in a building.
1.2 Scope
This System can be divided into two sub systems i.e. (1) Smart Building server (master) and (2)
Robots (slave). Smart building infrastructure will be responsible for sensing, model/pattern
learning and intelligent Task planning. The robots will obey smart building in a slave mode
while having some low level onboard sensing and control.
Acronyms Abbreviations
SRS Software Requirement Specification
AI Artificial Intelligent
GB Garbage detector
HDE Human Density Estimator
VS Visual Serving
SBS Smart Building Server
Terms Definition
Interface
Platform through which user communicates with the any system.
Non-
Functional A non-functional requirement is a requirement that specifies criteria that can be
Requirement used to judge the operation of a system, rather than specific behaviors.
Blob Binary learn Object is a collection of binary data store as a single entity.
1.4 References
1.5 Overview
This SRS is organized in a way that any user of the system can easily understand and use the Here
Data Business Solutions. In other words it is a guideline to understand the requirements of the
system.
Basically, this document starts with a brief explanation of the purpose of this document. Later on, it
continues with a problem in a system and then detailed solution we proposed. Also describes
specific functional requirements, interface requirements and constraints that may be confronted
during development.
2. Overall Description
• Product perspective
This project is aimed to robotize the task of floor mopping and garbage/litter picking in
smart building.
These tasks will be planned and executed in a crowd aware fashion and optimized for the
following three objectives:
Obj1: Maximize over all occupants’ space/floor cleanliness experience
Obj2: Lesser hindrance to human occupants and their activities
Obj3: Minimize robot tour lengths and repetition to save energy and cost
• Product functions
o Learn background model
o Detect foreground
Software Requirements Specification for Robotic Floor Cleaner Page 3
• User characteristics
There are no user characteristics in our project.
• Constraints
System has to be calibrated after maintenance.
3. Use Case(s)
Preconditions: None
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 5
Exceptions: None
Special None
Requirements:
Some scene or environment can change after some time; these changes
Description:
should be used to update the background model.
Exceptions: None
Special None
Requirements:
Preconditions: None
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 8
Description: Blob pruning expunction the waste that gets from blob detection.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 9
Blob basically is a set of pixel that’s not match with background. “Blob
Description:
detection “detects such blob.
Preconditions: None
Exceptions: None
Special None.
Requirements:
Exceptions: None
Special None
Requirements:
Exceptions: None
Special None
Requirements:
The robot revisits the perimeter around the human density so it will
Description: compare the method in term of total trajectory including the distance
transformation.
Post conditions: Reducing uncertainty region to make a pattern along human density.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 13
Exceptions: None
Special
None
Requirements:
Post conditions: The garbage nodes location will be forwarded to the UC-12.
Exceptions: None
Post conditions: The path cost from each node to every other node will be estimated.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 16
Estimating path cost for nodes which have uncertain region between
Description:
them.
Path cost for disordered regions will be made available to the following
Post conditions: processes.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 17
The path costs will be compared and the edge with minimum path cost
Description:
will be stored.
Post conditions: Cheapest path cost from source node to destination node.
Exceptions: None
Special None
Requirements:
Actors: Robot
The path should be well defined and the slave i.e. robot, should follow
Description:
it consequently. Current position of the robot will be tracked.
Shortest path cost from root node to leaf node should have been
Preconditions:
calculated.
Exceptions: None
Special None
Requirements:
Actors: Robot
Do not allow the robot to deviate from its actual path. Keep track if the
Description:
robot is moving according the path defined earlier.
Preconditions: The current location of the robot should be known to this process.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 20
Actors: Robot
Post conditions: The connection between robot and the controller should be established.
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 21
Actors: Robot
Preconditions: The robot should be trying to move towards the node (garbage).
Post conditions: The robot should be corrected if it is not traveling on its specified path.
Alternative
Flow: None
Exceptions: None
Special None
Requirements:
Assumptions: None
Software Requirements Specification for Robotic Floor Cleaner Page 22
4. Specific Requirements
4.1 Functionality
Server R-09
Title Master Server
A server is needed which shall be able to listen all the time
Requirement for any kind of data from each sensor, camera and other
devices.
Source Supervisor
Rationale Data plays a vital role for making decisions
Restrictions and Risk If server is not responding it may result in failure
Dependencies R-03.
Priority High
Server R-19
Title Recognize the projection
Requirement A server is needed to know the influence of projection.
Source Supervisor
Rationale Vertical projection gives better view of object on the floor.
Restrictions and Risk System must connect with the IP cameras.
Dependencies None
Priority High
Server R-20
Title Uncovered region
Requirement Robot visits the area where less human density.
Source Supervisor
Robot revisits the region following the instruction from
Rationale server.
Restrictions and Risk If server is not responding it may result in failure
Dependencies R-09.
Priority High
Server R-21
Title Record environment uncertainty
Master server learns uncertainty of changing environment
Requirement patterns.
Source Supervisor
Rationale Data plays a vital role for making decision.
Restrictions and Risk Server must connected to the IP cameras
Dependencies None
Priority High
Server R-22
Title Detect scene edges
Process the learn data to acquire data needed to trigger
Requirement events.
Source Supervisor
Rationale Suitable data acquired to trigger events.
Restrictions and Risk Data should not be erroneous.
Dependencies None
Priority High
Software Requirements Specification for Robotic Floor Cleaner Page 28
4.2 Usability
Identifier UR1
Title Training time
Requirement The cumulative training time will be at least 5 hours.
Source Supervisor
Priority High
4.3 Reliability
Identifier RR1
Title Accuracy
Requirement The system will calculate the accurate distance. And its
accuracy will be tested by the accuracy testing report.
Source Supervisor
Dependencies Motor controller, IP camera
Priority High
Identifier RR2
Title Bugs or Defect Rate
4.4 Performance
Identifier PR1
Title Resource utilization
Beagleboard-xM, Raspberry Pi 2 Model-B ,Audnio ,Kinect
Requirement , IP camera, Irobotcrete-2
Source Supervisor
Priority High
Software Requirements Specification for Robotic Floor Cleaner Page 29
Identifier PR2
Title Response time
Requirement Time required moving the robot should be less than 0.5 s.
Source Supervisor
Priority High
Identifier DC1
Title Limitation of Kinect
Requirement Kinect calculates the motion accurately within 6 feet.
Source Supervisor
Priority High
Identifier DC2
Title Tools used
Identifier DC3
Title Limitation of Camera
Requirement Video result would be camera dependent.
Source Supervisor
Priority High
Kinect, motion sensor, Arduino card, Raspberri Pi, Beagle Bone, and irobotcreate-2.
Software Requirements Specification for Robotic Floor Cleaner Page 30
4.7 Interfaces
Kinect used for objects detection, Arduino is used as motor controller, Beagleboard and
raspberry pi to make it efficient.
Sockets and Ports are used for data connectivity while streams for saving the videos.
We are using Linux OS (Angstrom, NOOBS, Debian) and UDP, Wi-Fi required for internet
connectivity.
We have signed a work-for-hire contract with the representative of our foreign client and we
have transferred all ownerships and copyrights of the hardware and software we will make;
moreover we have waved all developer moral rights with respect to this project in favor of the
representative of our clients.