A Methodology for the Development of Robot Software Architecture ...

difficultmangledMobile - Wireless

Nov 12, 2013 (4 years and 1 month ago)

76 views

By Nelson
Londoño

Ospina






CONTENT


Personal Information


Basic Concepts


My Project


The Paper


Results


Conclusions

PERSONAL INFORMATION


Nelson Londoño Ospina


Electronics

Engineer


PhD student of Electronics at UNIVALLE


Professor at Universidad de Antioquia

BASIC CONCEPTS

1. Robot

2. Methodology

1. Robot

“It is a machine or device
that operates automatically
or by remote control” [1]


TYPES OF ROBOTS

Arm Robots or Industrial Robots

Degrees of Freedom

They are used for painting, for assembling, welding, etc

Mobile Robots

They can move freely in a specific environment


Mobile robots have different
structures and configurations


Rolling Robots

They are used on flat surfaces



Fish
-
like Robots

They are used in aquatic environments



Walking Robots

They are used on irregular surfaces

tistahb


Snake
-
like Robots

They are used on pipe inspections


Flying Robots

Seo

Khepera Robot

Main Control System

Gripper

Camera


All robots involve two main parts:

The hardware
refers to

The software
architecture
refers to

mechanical,

electrical and

electronic devices

software components,
external components, and
the interrelation between
them.


It is used to control the robot

ANALOGY BETWEEN THE HUMAN
BODY AND ROBOT SYSTEMS

HUMAN BODY


Sight

Hearing


Touch


Smelling



Taste

Senses System

Brain:
Thinking,
Controlling,
Decision
-
making
Motion

system



ANALOGY BETWEEN THE HUMAN
BODY AND ROBOT SYSTEMS

HUMAN BODY


Sight

Hearing


Touch


Smelling



Taste

Senses System

Brain:
Thinking,
Controlling,
Decision
-
making
Motion

system


ROBOT SYSTEMS

“It is a c
ollection of methods, practices,
procedures and rules that
may be derived
to solve problems” [2].



It is not a formula



It is a set of practices or procedures.

2. Methodology

It can refer to the science that studies
the methods for solving problems.
[3]

PROJECT

I propose a “Methodology for Developing
Robot Software Architectures”. (MDRSA)

Robotics Engineer

Software

Engineer

Proposes the architecture

applies them to software
architecture

Uses Methods, procedures

Uses a methodology,
representation and languages


THE PAPER

It presents a methodology which is the result of my
research project.


Identified problems:



The particular complexity of Mobile Robot Control
Architectures




Communication problems between experts.



a set of stages and




a standard language


The solution

to
develop

software
architectures for
mobile robots.


The idea is to propose:


I propose a methodology composed by:




stages to help the design



a set of graphics to understand the problem
(architecture)



steps which help to design control systems

The General Methodology



MODEL


(
Use Cas
e
)


SPECIFICATIO
N

OF

ARCHITECTURE


Interfaz

User


ANALISIS

Software

architecture


ANALYSIS MODEL

Software Architecture for
Robots




DESIGN

-

Robot

System Overview

-
Architecture


Object development

-

Requirements (
Use Cases)

-
Systems

and

Packages



Software

architecture

-

Subpackage

and Subsystems



Analysis



-

Identify.

class

Analysis

-

Interaction

Diagram




-

Nodes

-
Systems and

Subsystems

-

Use Case

Design

-
Class

(
di
agrams)





DESIGN

MODEL

Software

architecture



IMPLEMENTATION

-

classes,

-
Components

-

P
ackage

-
Dependencies


SOFTWARE
ARCHITECTURE


USER


USER


DEVELOPER

DEVELOPE
R


USERT

DEVELOPER


Purpose

Goal

Current

S.

S.

Proposed

Requirements
(
CU)

Architecture.

packages

Sub
-
Packages

classes

Analysis

model

Architecture

Class / Object

Model

Classes

Design

Classes

SYSTEM
OVERVIEW


The Robot
Environment



U
SER


Preview :


environment
,

considerations

General Architec
ture




Stages for

developing Robot
Software Systems

Proposed architecture


USER
INTERFA
CE


GLOBAL

PLANNER





LOCAL

PLANNER


(
High Level

Control
)

(Navigation)

(Piloting

Heuristic

and
Experience
)


Environment
Model

BEHAVIOR

S
UPERVISORS
AND MANAGERS

(
Control medio)

(Subsistema Motor

REACTIVE

CONTRO
L


ENVIRONMENT


Diagnosis

Recovery

Knowledge

Learning


knowledge

Learning

EXPERTISE

S
I
S
T
E
M
A


C
O
N
T
R
O
L

SENSORY

SYSTEM

(
Perception

Find

Onstáculo
,
References, roads
)

INTERNAL

STATE

(
Homeostatic
syste
m
)

S
I
S
T
E
M
A



S
E
N
S
O
R
I

A
L


INTERFACE /

ACTUATOR
S

ACTUATOR

SYSTE
M

Functional

Blocks

Specification



OVERVIEW

Robot

S
ytem

Current state
of robot

Requirements
capture

Identify

and
Define

Use
Cases

Ide
ntify

and
Define

Actors

Describe

Requirement
s


Nonfunctional

Requirements

Problem Specification

Architecture as

Object

Development

Software

Architecture

Proposal


Architecture

Overview


USE CASE
MODEL


Use Case

Details

Use Case

Diagrams

-

Purpose

-

Scope

-

Objective

-

Identification

-

Description

-

Modeling



requirements

-

Non
-
functional
requirements

-

hardware

-

Environment

-

Tasks

-

Special
Considerations





-

Platform

U
sed


SPECIFICATION

of Architecture

Specification Flowchart


<<Include>>

<<Include>>

<<Include>>

<<Include>>

<<Extend>>

<<Extend>>

USER

Move

Robot

ROBOT

Load

Parameter
s

Read

Sensors

Eject.

Manual Mode


Eject.Mod
e

SemeiAuto
m

Eject.Mod
e

Autonomo
us

<<Extend>>

Move

Engine

Show

Sensors

Store


Path
-
Task

<<Include>>

Use Case


Specification

Specification



OVERVIEW

Robot

S
ytem

Current state
of robot

Requirements
capture

Identify

and
Define

Use
Cases

Ide
ntify

and
Define

Actors

Describe

Requirement
s


Nonfunctional

Requirements

Problem Specification

Architecture as

Object

Development

Software

Architecture

Proposal


Architecture

Overview


USE CASE
MODEL


Use Case

Details

Use Case

Diagrams

-

Purpose

-

Scope

-

Objective

-

Identification

-

Description

-

Modeling



requirements

-

Non
-
functional
requirements

-

hardware

-

Environment

-

Tasks

-

Special
Considerations





-

Platform

U
sed


SPECIFICATION

of Architecture

Specification Flowchart


<<Include>>

<<Include>>

<<Include>>

<<Include>>

<<Extend>>

<<Extend>>

USER

Move

Robot

ROBOT

Load

Parameter
s

Read

Sensors

Eject.

Manual Mode


Eject.Mod
e

SemeiAuto
m

Eject.Mod
e

Autonomo
us

<<Extend>>

Move

Engine

Show

Sensors

Store


Path
-
Task

<<Include>>

Use Case


Specification


<<Include>>

<<Include>>

<<Include>>

<<Include>>

<<Extend>>

<<Extend>>

USER

Move

Robot

ROBOT

Load

Parameter
s

Read

Sensors

Eject.

Manual Mode


Eject.Mod
e

SemeiAuto
m

Eject.Mod
e

Autonomo
us

<<Extend>>

Move

Engine

Show

Sensors

Store


Path
-
Task

<<Include>>

UML Specification

Analysis


-

Software

Architecture

Systems
or

Packages


From
Subsystems


ANAL
Y
SIS



Software Architecture

Subpackage

and
Subsystems

of Analysis:

-

Identify

-

Relationship and

-

Unit)


Identify.


Class

A
nalysis


From

Use
Cases



Class

Analysis


ANALYSIS MODEL

Software Architecture for Robots




From

Use
Cases

-

Responsibility

-

Attributes

-

Associations



aggregations

-

Generalization



Interaction
Diagram


SPECIFICATION

The analysis model of the robot system



Engines

Interfa
ce
_

Engines

:Opera
t
or

IU

Plan
ner

Task

Manager

Supersor

Control_
Reactivo

Avoid
_

Obstacl
e
s

Sensor
s

Interfa
ce
_Sensors

I_Inp

I_Out

Interpret
er

Co
m
mands

Data
_
Base
_
Manager

Expertic
e

Maps

Maps

Sensor

sModel


Actua
t
or
s

Modelo

Robot

P
arameter
s

Task
Parameter
s

Goal

Trajectory_

Eevaluator

Loca_
Planer

Location

system

Algoritmos_
Especiales

Na
vega
t
i
o
n

Unlock

Preventiv
e

Security

Wander

Go
_
to
_

Target

Follw
_

Trayectory

Go
_
Free_
Zone

Passing
_

Close

Zone

Out
_
Dead
_

Zone

Avoid
_

O
b
stác
les

Follow
_

Wall

Avoid
_

Deep


Escape

Turn
_

Emergency

Emergenc
y_
Stop


Básic

Co
m
mands

Beh
aviour
_

Manager

Attach


Drag

Object_

tracking

Search

Objective

Otr
ers

Design



Design Model



DESIGN


Nodes

Identifica
t
ión


Use Case

Design

Identif
y
Class

Sequence

Diagram
s

Clas
s

Diagram


Identificat
i
on
Sy
stem
s
and
y

Subs
y
stem
s


Dependenci
e
s

Subs
ystem
s

Interfac
es

Opera
t
io
n
s

A
t
tribut
e
s

States

Me
t
h
od
s

Class
Model

S.E. take Analysis Model


Software Packages



The general design process concludes with a clear definition of classes
(specific software term), their interfaces and their relationship



Global

Planer

Us
er_
Interfaz

Screen

Command

buttons

Manager_Superv.
_
Behaivors

Reactive
Control


Sensor

System


Actua
t
or

S
y
stem

Current

Status

Keyboard

Environment

model

Sensor_....


Ultraso
und

Sensor


Infrar
ed

Sensor

Preventiv
e


Unlock


Navega
t
ion


Security


Point

attraction

Go
-
Z_
Free


Wall

Tracking

N
-
Ramdom



RESULTS



A Methodology for Developing Robot Software
Architecture was proposed.




A mobile robot architecture was proposed with the
aim of applying such methodology.




A methodology in a graphic and standard language
has been presented .


RESULTS


This methodology covers


-
A
Conception

which defines the problem


-

An
Analysis

which defines the solution


-

A
Design

which defines the software packages


-

An
Implementation

which converts the solution
into a machine language.


CONCLUSIONS


The methodology has been conceived as a
tool to shorten the communication gap
between different engineers involved in
mobile robot architectures.



The main stages of a methodology have
been proposed.



CONCLUSIONS



MDRSA has proven to be a good choice
since:



It uses standard software methodology.



It involves all aspects of the
development process (specification,
analysis, design, validation and testing)



It uses a standard language software
(UML).

Thanks for your attention

Do you have any questions

REFERENCES

[1]
:
http://www.answers.com/topic/robot



[2]
:
http://en.wiktionary.org/wiki/methodology


[3]
:
http://www.wordiq.com/definition/Methodology