Proj-2013-2014-BrasRobotique-1/SRS: Difference between revisions

From air
Jump to navigation Jump to search
No edit summary
No edit summary
Line 33: Line 33:
Adji Ndeye Ndate Sambe
Adji Ndeye Ndate Sambe
| February, 15th 2014
| February, 15th 2014






Revision as of 12:48, 6 April 2014

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


Document History
Version Date Authors Description Validator Validation Date
0.1.0


0.1.1

Février 2014 El Hadji Malick Fall

Adji Ndèye Ndaté Sambe

El Hadji Malick Fall

First description


Second description

El Hadji Malick Fall

Adji Ndeye Ndate Sambe

Adji Ndeye Ndate Sambe

February, 15th 2014


April, 5th 2014


1. Introduction

1.1 Purpose of the requirements document

The main goals of this document which describes the robotic arm project are :

  • allow people to discover the technology we will develop
  • provide a working basis for future improvements

1.2 Scope of the product

The long-term goal of this project is to develop a control software manipulator arm for support of persons with disabilities. There are commercial products of arms which are unfortunately too expensive and does not have control system high levels. An example is the robotic arm Jaco.

1.3 Definitions, acronyms and abbreviations

Aruco

It is a library for augmented reality applications based on OpenCV

Marker

The library relies on the use of coded markers. Each marker has an unique code indicated by the black and white colors in it. The libary detect borders, and analyzes into the rectangular regions which of them are likely to be markers. Then, a decoding is performed and if the code is valid, it is considered that the rectangle is a marker.

OpenCV

OpenCv ( Open Computer Vision) is a free graphic library mainly designed for real-time image processing.

SPADE

SPADE (Smart Python multi-Agent Devepment Environment) is multiagent and organizations platform based on the XMPP technology and written in the Python programming language. The SPADE Agent Library is a module for the Python programming language for building SPADE agents.XMPP is the Extensible Messaging and Presence Protocol, used for instant messaging, presence, multi-party chat, voice and video calls, etc.

1.4 References

General :

This project is a school project, located in Polytech Grenoble, and supported by AIR The project page on air wiki is available through this link [1]


Technical :

2011-2012 Project page on the AIR wiki : - http://air.imag.fr/index.php/Proj-2011-2012-BrasRobotiqueHandicap


Librairies:

Aruco - http://www.uco.es/investiga/grupos/ava/node/26

OpenCV - http://opencv.org/

SPADE - https://github.com/javipalanca/spade

1.5 Overview of the remainder of the document

The remainder of this document will present the technical characteristics of the project such as requirements and constraints, and user characteristics. Section three outlines the detailed, specific and functional requirements, performance, system and other related requirements of the project. Supporting information about appendices is also provided in this same section.

2. General description

The long-term goal of this project is to develop control software manipulator arm for supporting people with disabilities. There are commercial products of robotic arms which are unfortunately too expensive and does not have high level control system. Therefore, the aim is to develop a robotic arm which will be able to perform series of movements using markers. The part described in this document will focus on the detection of markers.

2.1 Product perspective

We have to consider the possible evolution of this project.

2.2 Product functions

Marker detection

Initially, From a webcam placed on the robotic arm, it should be possible to, in real time:

  • Detect a predefined type of marker placed on an object
  • Calculate its coordinates
  • Return the marker position
  • Save the coordinates of the markar on an XML file


Data transmission

Secondly, send the obtained data to the robot to enable it to move to this object. This requires several steps:

  • Connect to the robot using the client / server model based on the system of agents
  • Send the XML file which contains the position of the marker


Simulation

The simulator have to use this information to make the robot move in the right direction.

2.3 User characteristics

This project is intended to disabled people. The robotic arm will allow them to grab distant objects. The arm can be remote-controlled. Therefore, users can be developers who can create new sequences of instructions given to the robot.

2.4 General constraints

  • Unlike existing technologies, our robotic arm must have the feature of being able to detect an object with a marker and get it back.
  • It must also be able to interpret a series of instructions that will be given to him.
  • A format is imposed for writing data : XML.
  • The file format that records the result of the detection should not be changed. This may affect the detection of the position of the object when moving it.
  • The marker detection is written in C++
  • The system of agents is written in Python
  • The simulator is written in Python

2.5 Assumptions and dependencies

The system is based on ARUCO which enables programm to get back the position of the marker and SPADE which make the data transmission through an XML file possible.

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:

Description:

Inputs:

Source:

Outputs:

Destination:

Action:

  • Natural language sentences (with MUST, MAY, SHALL)
  • Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
  • Mathematical Notations
  • Tabular notations for several (condition --> action) tuples

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

4. Product evolution

  • Remote-control
  • Use several types of markers
  • Send coordinates in real time on an interface
  • Giving to the robot type of markers to detect as parameters
  • Automatic recalibration of the position of the robot if the detected marker position is not optimal

5. Appendices

5.1 Specification

  • The global project's page can be found here
  • An other RICM4 group is working on this project. Their wiki page can be found there:
- Proj-2013-2014-BrasRobot-Handicap-2

6. Index