RICM4 2017 2018 - RobAIRDL/ SRS

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.

Read first:
 * http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 * http://en.wikipedia.org/wiki/Software_requirements_specification
 * IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998

=1.  Introduction=

1.1 Purpose of the requirements document
This Software Requirements Specification (SRS) identifies the requirements for project RobAIR 17.1. This document aims to define the different features of the project through functional and non functional requirements.

1.2 Scope of the product
This project's aim is to developed a new functionality for RobAIR. This functionnality will permit RobAIR to show the user his way to the room he is looking for and it can also guide him.

1.3 Definitions, acronyms and abbreviations
RobAIR : fabMSTICLig's telepresence robot.

1.4 References
RobAIR github : https://github.com/fabMSTICLig/RobAIR ,

gmapping ROS page : http://wiki.ros.org/gmapping

1.5 Overview of the remainder of the document
=2.  General description=

2.1 Product perspective
The final objective is to allow RobAIR to be an autonomous guide, able to inform the users and being able to move in a completely autonomous way.

2.2 Product functions
RobAIR can show you your way and even guide you there.

This will need a new interface and to adapt RobAIR's moving code to self movement with obstacle avoidance. RobAIR can get back at his place after helping a user, to be available again for users.

2.3 User characteristics
The target user is a new student, employee, or even a visitor who arrives at an unknown location and does not know how to get to the room they have been given.

2.4 General constraints
To be functionnal, RobAIR must know all the environment around him. For that, it needs a map of building prepared to allow its displacements, with for example the position of the rooms, the site of possible elevator, staircase...

So there is preliminary work to integrate it into a new environment.

2.5 Assumptions and dependencies
This project depends on previous RobAIR functionality =3.Specific requirements, covering functional, non-functional and interface requirements=
 * document external interfaces,
 * describe system functionality and performance
 * specify logical database requirements,
 * design constraints,
 * emergent system properties and quality characteristics.

3.1 Requirement X.Y.Z (in Structured Natural Language)
Function: Indicate the path to the user

Description: The main goal of this projetc is to develop a new feature allowing RobAIR to help people by showing them their ways.

Inputs: tablet, software

Source: tablet, webcam, STM32

Outputs: tablet, software

Destination: RobAIR control system

Action:


 * RobAIR must be able to show a map of the building with the path the user must follow on it.

Non functional requirements:
 * WebRTC
 * Ros
 * Arduino
 * Web server
 * Custumed power supply unit
 * Low cost

Pre-condition: functional RobAIR

Post-condition: People know how to reach the right room.

Side-effects:
 * Bad guidance
 * Unknown room

3.2 Requirement X.Y.Z (in Structured Natural Language)
Function: guide people

Description: The main goal of this projetc is to develop a brand new feature allowing us to locate ourselves.

Inputs: tablet, software, and proximity sensors

Source: tablet, webcam, STM32

Outputs: tablet, software

Destination: RobAIR control system

Action:


 * RobAIR must be able to guide people within the building (IMAG).
 * RobAIR must be able to move around autonomously and figure its path out, avoiding obstacles.

Non functional requirements:
 * WebRTC
 * Ros
 * Arduino
 * Web server
 * Custumed power supply unit
 * Low cost

Pre-condition: functional RobAIR

Post-condition: People reach their destination

Side-effects:
 * Bad guidance
 * Collisions

=4. Product evolution=

=5. Appendices= =6. Index=