Escolar Documentos
Profissional Documentos
Cultura Documentos
MDASR
Softwarearchitecturetomobilerobotsusingthemethodology
MDASR
NelsondeJ.LondooOspina.PhD.
ProfesorDepartamentodeIng.Elctrica,ymiembrodelgrupodeinvestigacinenmanejoeficientedelaenerga
GIMEL.FacultaddeIngeniera,UniversidaddeAntioquia,Medelln.Colombia.
nlondono@udea.edu.co
Recibidopararevisin24deAbrilde2009,aceptado23deOctubrede2009,versinfinal25deNoviembrede2009
PalabrasClaveRobtica,ArquitecturadeRobots,Ingenierade
Software,Proceso Unificadode Modelado.
AbstractAdopting a methodologica l str ategy that covers the
differentstages ofthedevelopment ofasystem, theMethodology
ofDevelopmentofArchitecturesSoftware forRobotsMDASR,
it is applied as tool of specifica tion, analysis and design of a
ReactiveControlArchitecture.Themethodologyrestsonmethods
and languages widely adopted as the PU (Pr ocess Unified of
Development of Softwar e) and the UM L (Language Un ified of
Shaped) and adapting concepts of methods used in Engineering
Softwar e.
LaMetodologadeDesarrollodeArquitecturasSoftwarepara
Robots (MDASR) [14], es una metodologa concebida para
facilitarlacomunicacinentreelingenieroenRobtica(quien
concibe la arquitectura) y elingeniero de sistemas (quien la
desarrolla), se apoya en los paradigmas de la ingeniera de
software,adoptandomtodosdeespecificacin,anlisis,diseo
eimplementacinestndaresyellenguajederepresentacin
msrelevanteactualmentecomoesUML.Lafigura1ilustra,de
formagrfica,lametodologa,queproponenlospasosaseguir
enlaconcepcin,anlisis,diseoeimplementacin.Setoma
como caso de estudio e ilustracin de la metodologa, una
ArquitecturaReactivaaplicadaaunrobotcomercial[10].
El objetivo es que, siguiendo los lineamientos de la
metodologa,lasolucinpropuestaporelIngenieroenRobtica,
"ArquitecturaReactiva",searepresentadadeformaestndar,
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
134
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
guiadaporunprocedimientosistemtico,comoseilustraenla
figura1,paraobtenerunsistemacompletamenteespecificado
porCasosdeUso,AnalizadoyDiseadosiguiendounconjunto
lospasos,bajounlenguajeyprocedimientoquelleguehastael
programador,quienenltimainstanciaconvertirlaarquitectura
enunconjuntodeelementossoftware.
Enelejemplosetomacadapasoysedesarrollahastaunnivel
queseafcilmentecomprendidoporelingenierodesistemas
VI SI ONG ENERAL
DELSIST EM A
ElRob otE ntor no
Preliminares:
Entorno,
Considera ciones,
ArquitecturaGeneral
Usuario
Usuario
Propsito
Objetivo
S.Actual
S.Propuesto
Requisitos(CU)
E SP EC IFI CACI ON
delaAr quitectur a
In ter fa z
Usua r io
M O DELO
(CASOSDEUSO)
Usuario
Arquitectura.
Paquetes
SubPaquetes
Clases
ModeloAnal
ANAL ISIS
Arquitectura Softwa re
Desarrollador
SistemasoPaq u etes
Arq u itectu ra Softwa r e
Su bPaq u etesySub sistema s
deAn lisis
Identifica r.ClasesAn lisis
Dia gr ama d eIn ter accin
DISEO
M ODELO DEANALISIS
Desarrollador
ArquitecturaSoftwa repara
Robots
Nod os
Sistema sySub sist emas
CasosdeUsoDise o
Clase(d ia gr am s)
Desarrollador
Arquitectura
Clases/Objeto
s
Modelo
Clases
DiseoClases
M O DELODEDISEO
ArquitecturaSoftwa re
IM PLEM ENTACION
Clases,
Compon entes
Emp aq u etar
Depen d encia s
Usuario
ARQUITECTURA
SOFTWARE
Enelcampodelasarquitecturassoftwarepararobots,son
muchaslaspropuestasenfoquesytendenciasdecontrolque
seproponen.Esascomosecuentaconunagrancantidadde
arquitecturasconorientacionesdeacuerdo alastcnicasde
procesamiento deinformacin, algoritmos deevaluacin de
decisiones,etc.Unasdelasmasrecurrentes,cuandosetratade
sistemas denavegacin y exploracin, sonlas arquitecturas
reactivas[5][7][16][21][17][11][18],sebasanenmodelos
biolgicosydeacciones,queexplicanelcomportamientode
diversosorganismosvivosdetipoestmulorespuestaas,el
robotpercibeelmundoyejecuta,enrespuesta,laaccinque
parezcamsapropiada[17].Enestetipodearquitecturas,la
informacinpercibidanoseintegraniseasociaaningnmodelo
delmundo.
Comosedijoanteriormente,parailustrarlametodologa,se
seguirn los pasos propuestos por la MDASR, aplicados
especficamenteaunalaarquitecturareactiva.
A. Especificacin - Control Reactivo
Elcontrolreactivo,seconcibecomounaseriedemdulos
elementales,capacesdeproduciraccionesderespuestadirecta,
enconcordanciaconlainformacinsensorialdisponible,este
tipodeaccinpuedeserejecutadacomorespuestafija,anteun
proceso de sensado (proceso reactivo o instintivo) o por
ejecucin refleja, despus de ser aprendido (procesos
reflexivos).
Elmodulodecontrolreactivoeselencargadodeejecutarlos
comportamientos elementales que requieran los mdulos
superiores,entendindosecomocomportamientoselementales
aquellosconformadosporunciclodesensorizacin,acciones
elementales y combinacin de ellas. Un comportamiento
ArquitecturasoftwarepararobotsmvilesaplicandolametodologaMDASRLondoo.
elementalsedefinecomoundispositivocomputacional,que
interpreta datos sensoriales, los procesa y produce una
respuesta[8].
Velarporlaseguridad
Resolverproblemasdeatascamientoyerroresproducidos
enelsistema(Software/Hardware).
Informarlasfallasocasionadasalosnivelessuperiores.
Sistemaactual. SecuentaconelsistemaKheperabsico,de
consecucincomercial[10].
Sistema Control reactivo propuesto. La Arquitectura
Software propuesta, debe implementar el conjunto de
operaciones que garanticen que el sistema ejecute control
reactivo, el Caso de Uso principal es precisamente
Ejecutar_Control_ Reactivo, el cual ejecuta las acciones
necesarias paragarantizar dicho comportamiento y,por sus
caractersticas,requiereunconjuntodecomandosconsiderados
Casosde Usoque extiendenelprincipal. Poresta razn,es
necesario realizar una especificacin mas detallada de este
sistema,queconlleveadefinirundiagramadecasosdeuso
comoseilustraenlafigura2.
En el esquema propuesto, el actor puede ser un operador
humano,uncomputadorosimplementeunCasodeUsodeun
sistemadecontrolmsgeneraldenominadoEjecutar_Control
_Reactivo.
Permitirejecucindecomportamientoselementales.
Ser flexible, lo que permite incluir comportamientos
adicionales.
Permitirquesuimplementacinsoporteunagranvariedad
detcnicas,incluyendoreglasheursticas,redesneuronales,
lgicaborrosaalgoritmosgenticos,etc.
Los comportamientos elementales son conmutados de
acuerdoalosrequerimientosdelUsuario
PropsitodelsistemaCR: Engeneralestebloquerecibelas
rdenesdelUSUARIOygarantizasuejecucinparaello,toma
lainformacinsensricarequerida,laprocesa,yenvaunaorden
deAccin,resultadodelprocesamientodelControlReactivo.
AlcancedelsistemaCR: Engeneral,elcontrolreactivodebe:
Garantizarfuncionamientoreactivo
Ejecutar_Rectiva
<<Include>>
<<Include>>
Leer
Sensores
Usuario
Mover
Motores
Robot
<<Extend>>
<<Include>>
Evaluar_Info
_Sensorica
<<Extend>>
Evaluar
comportamiento_a_
Activar
Leer
Sensores
<<Include>>
Desbloqueo
<<Extend>>
<<Include>>
Evaluar
<<Extend>>
<<Include>>
Eject.Modo
Automo
<<Include>>
Activar_
Comportamiento
Rectiva
Ejecutar
tarea
<<Include>>
Seguridad
Preventivo
<<Extend>>
<<Extend>>
<<Extend>>
Navegacin
Calcular_
Acion_Motores
Comportamietnos
<<Include>>
<<Extend>>
<<Extend>>
Gestion_
Fallas
Robot
Deliberativo
Gestion_
Alarmas
Usuario
Mover
Robot
<<Include>>
135
Mover
Motores
136
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
Elrobotpermaneceparadohastatantosedelaordende
IniciarelmododecontrolReactivoenelmomentoderecibir
laordencorrespondiente.
Cargarcomportamiento deseadoporelusuario odefinir
comportamientopordefecto.Eltipodecomportamientoest
definido de acuerdo a las necesidades del usuario o en
funcindelarespuestaenlaevaluacindelainformacin
sensorial.
Adquirirlosdatosdelossensores.
Evaluarlainformacinrecibida.Implicadefinirelalgoritmo
deevaluacinyloscriteriosdedecisindefinidosporel
usuario
Definirloscomportamientosquedebensetenidosencuenta
de acuerdo a la misin y las condiciones de el medio
(Informacinsensada).
Activarelcomportamiento.
Evaluarelcomportamientoactivoydefinirsucontinuidado
cambiodeestado.
Calcularlainformacindesalidadelcomportamiento,como
una accin de velocidad lineal y curvatura (Accin de
Control),enparmetrosnormalizadosydarlasordenesalos
motores.
Ejecutarelalgoritmodegestindefallos,cuandosedetecte
unacondicinnoprevista.
Tambin,seidentifica,enlaespecificacindelsistemareactivo
esperado, una serie de requerimientos de Comportamiento
(Behavioral),queayudanaidentificar,conmayorniveldedetalle,
loselementosquedefinenelsistemadecontroldeseado.As,
porejemplo:
independientedelestadodelRobot.
La seal de Activar debe iniciar el proceso de
comportamientoreactivodelroboteiniciartodaslastareas
queserequieran.Pordefectoarrancarenunaconfiguracin
bsica.Entonces,aliniciar:
HabilitacomportamientoCargado.
Calcula permanentemente la velocidad relativa Robot
Obstculo
Operapermanentementeenunmodoproteccin(Prioridad).
Arrancar.
Debepermitircomportamientosadicionales,loqueexige
modularidadyestandarizacindelosobjetos.
Debepermitircambiarloscomportamientosenelinstante
quelorequieraelusuario.
Debe permitir una comunicacin con el usuario, para
informarlodelestadodelsistemacuandolorequiera.
Enelinstantequeelusuariodecideparar,todaslastareas
queseestnejecutandoenelmomentodebenserparadasy
sedebedarordendeparoalosactuadores.
Permitedesactivartodoelsistemadecontrolreactivo.
Debedetectarlasinconsistenciasyfallosdelsistema.
Elsistemadebeserconfiable,verstilytenerlaposibilidad
137
ArquitecturasoftwarepararobotsmvilesaplicandolametodologaMDASRLondoo.
C. Especificacin Comportamientos
Como se observa en la figura 4, otro elemento bsico de
unaarquitecturadecontrol,paraunsistemarobot,eselCaso
deUso Comportamiento,pueses posiblequeel robottenga
lacapacidaddeactuar,nosoloenoperacinreactivapura,sino
obedeciendo a comportamientos [2]. El control de
comportamientosdelsistema,propuestocomoobjetivobsico
delpaquete,requiereserdetalladoy,aligualqueelanterior,
debeserespecificadoconmayorprecisin.Productodeeste
procedimiento,sepresentaeldiagramadeCasosdeUsoque
implementa este paquete, figura 5. Como se observa, es
dispendioso, pero necesario, realizar todos los procesos de
identificacin,anlisisyrefinamientodecadaunodeloscasos
deusocontempladosenelsistema.
Otros
<<Include>>
<<Extend>>
Activar_
Comportamiento
Braitenberg
<<Extend>>
<<Include>>
Navegacion
<<Extend>>
Vargar
Explorar
<<Extend>>
<<Include>>
<<Extend>>
Seguir
Trayectoria
Rectiva
<<Extend>>
<<Include>>
<<Extend>>
Atracciona
Punto
<<Extend>>
Ejecutar
tarea
<<Extend>>
<<Include>>
IrZona
Libre
<<Include>>
<<Include>>
Eject.Modo
Automo
Robot
Misma
Direcion
Usuario
Mover
Robot
Leer
Sensores
<<Include>>
Mover
Motores
<<Include>>
Combinar
Conmutar
Gestionar
Comportami
etnos
Reactivo
<<Extend>>
<<Include>>
Ejecutar
Comportamietnos
Arrastrar
Objetos
<<Extend>>
<<Extend>>
<<Extend>>
Ejecutar
tarea
<<Extend>>
Seguir
Trayectoria
<<Extend>>
Tareas
Basicas
<<Include>>
Acoplar
Leer
Sensores
<<Extend>>
Seguir
Objeto
<<Extend>>
Eject.Modo
Automo
Buscar
Objetivo
<<Extend>>
Usuario
Otros
Robot
Mover
Robot
<<Include>>
Mover
Motores
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
138
Sistema_Control_Reactivoi
Sist_Navegacion
Sist_Desbloqueo
Sist_Preventivo
Sist_Seguridad
Enlafigura7sepresentaelsistemadecontrolreactivoque
cobija las cuatro funciones fundamentales de un sistema de
controlreactivocomoelpropuesto.
S ist _ N a ve g a c io n
E je c _ C o m p_
B ra i te n b er g
E je c _ C om p _V
a rg a r E x p lo ra r
E je c _ C om p _
S e g u ir
T ra y e c to ria
Deformasimilar,seplanteanlosotrospaquetesdelsistema
decontrolreactivoqueseresumenelnumeralsiguiente.
Arquitecturaporpaquetes: Enelprocesodesubdivisin
delsistemasoftware,elcontrolreactivopuedeserclasificado
deacuerdoalascaractersticasespecficasdelafuncinque
cumple, en laArquitectura propuesta. En nuestro caso, se
subdivide dicho control en paquetes que desempean
funcionesespecficas,enelcontextodelaarquitecturayque,
por sus caractersticas, implementan los casos de uso
relacionadosconsufuncin.
Na vega cion
Algoritm o_
Ir_a_Onjetivo
APartirdelos(Sub)PaquetesdeAnlisis:Cadasubpaquete,
enfuncindesuscaractersticasyparticularidadesdefinidas
enlasetapasanteriores,puedeserimplementadomedianteun
conjuntodeclasesqueseidentificanenestaetapadelproceso
(enmuchasocasiones,estnapoyadosporelesquemageneral
presentadoporelingenieroenrobtica)
Control Reactivo:Elcontrol reactivo,definido comoun
conjuntode paquetesqueapoyan estaestructura decontrol,
puedeserpropuestocomounmodelodeclasesqueimplementan
cadaunodeestospaquete,enlafigura8seilustraalgunosde
estospaquetes,obtenidosmedianteelprocedimientopropuesto
porlametodologa.
G estor _
Desbloqueo
E stados_
Sensores_
Requeridos
Algoritm o_
Seguir
tra yectoria
Algoritm o_
Va ga r/E xplora r
Otros
Algoritmo_
Salir_Zonas
_M uertas
Algoritmo_
Bordea_ Muro
Estados_
Senso res_
Requeridos
Otros
Segurida d
P reventivo
Gesto_
P r eventivo
Algoritm o_
Ir_a_Zona_
Libre
E. Identificacin de Clases
Tomandocomobaselospaquetesysubpaquetes,definidos
enlasltimasiteracionesdelsistemadecontrolanterior,se
proponeunaseriedeclasesqueimplementarncadaunode
ellos.
Desbloqueo
G esto_
Na vega cin
A lgoritm o_
E vadir
Algoritm o_
Alejarse_de_
Obstaculo
Gesto_
Segur ida d
Estados_
Sensores_
Requeridos
Algoritm o_
Bor dea r_
Obsta culo
Otros
Algoritmo_
Girorapido
Algoritmo_
Alejarse_
Rapdo
Estados_
Sensores_
Requeridos
Algoritmo_
Eva dir_Ra pid
o
Otros
139
ArquitecturasoftwarepararobotsmvilesaplicandolametodologaMDASRLondoo.
APartirdelosCasosdeUso: Enestaetapa,tomandocomo
referencia los casos de uso definidos anteriormente, se
identificanclasesysuinterrelacin.Enlafigura9,seilustran
algunosmodelosdeclasespropuestosparalaArquitectura:
Iniciar
Velocidad
Lmite
Velocidad
actual
GeneradorSet
Poin
IUIniciar
Mover
Motores(n)
Mover_Por
_Velocidad
Velocidad
actual
Velocidad
Lmite
IUFijar
velocidad
GeneradorSet
Poin
Usuario
Mover
Motores(n)
IUFijar
velocidad
Usuario
Actualizar
Velocidad
Velocidad
actual
Velocidad
actual
ModoTeleoperacin
Mover
Motores(n)
GeneradorSet
Poin
Actualizar
Velocidad
GeneradorSet
Poin
Motores
IUIniciar
Velocidad
Lmite
Actualizar_
Velocidad
Mover
Motores(n)
Motores
Velocidad
Lmite
Moverseporvelocidad
Seguir_Muro
BaseDatos
Trayectoria
Evaluar
sensores
Comado
SeguirMuro
Ejecutar_
Trayectoria
Velocidad
actual
I_Sensores
M over
Motores(n)
Velocidad
consigna
GeneradorSet
Poin
Velocidad
Lmite
Algoritmo
Seguimiento
muros
Evaluar
Obstaculo
IUFijar
Trayectoria
IU_Sensores(n)
Generador
Trayectoria
GeneradorSet IU.Actuadorte(n)
Poin
Motores
GeneradorSet
Poin
Usuario
Mover
Motores(n)
GeneradorSet
Poin
Seguirmuro
I_Sensores
IUFijar
Trayectoria
Sensores
IU.Actuadorte(n)
Motores
Usuario
Generador
Trayectoria
Velocidad
consigna
Algoritmo
Seguimiento
muros
Evaluar
Obstaculo
Evaluar
sensores
Seguir_Muro
Sensores
IU_Sensores(n)
BaseDatos
Trayectoria
Velocidad
actual
Velocidad
L mite
Ejecutartrayectoria
ejecutalaordenseguimientodemuro.
ElgeneradordeValorconsigna(setpoint)evalasensores:si
nosedetectanobstculos,generaunvalordeconsignaigual
paralosdosmotoresyloenvaalainterfazMover_Motores
Sidetectaobstculos,sigueunasecuenciadepasosdefinido
porelflujodeeventospropuestoporlafigura10,queilustra
larelacinentreclasesqueactanesestecasodeuso,y
unapropuestainicialdelflujodeeventos.
140
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
1:OrdenSeguirmuro
:Operador
2:IniciarSeguirmuro
Seguirmuro
13:SetPointMotores
13:SetPointMotores
InterfazMotores(n)
GeneradorSetPoin
Motores
3:Calculardireccin
12:Valores
Limite)
11:LeerValoreslmite
10:Nuevaconsigana
(Direccinyngulos)
Velocidadconsigna
5:LeerSensores
Proximidad
4:Haycambiodeestado?
9:Hay
cambio
deestado
Algoritmo
Seguimiento
muros
Evaluar
sensores
6:ValoresLedos
Interfaz_
Sensores
7:Lectura
Normalizada
Sensores
8:LoopEvaluar
hastaCambio
deestado
Flujodesucesos(Condicinnormal)
Figur a 10. Interrelacin y flujo de eventos. Caso de Uso Seguir_Muro
G. Modelo de Clases
ElModelodeAnlisisdelaArquitecturadecontrolSoftware
paraRobot,sepresentaenlafigura11.
Enestaseccinsepresenta,someramente,losconceptosms
relevantesquehandeconsiderarse,comoilustracinenelmarco
deldesarrollodelaarquitecturapropuesta.
RefinamientodelaSolucin:Tomamoscomoreferenciael
sistemadecontrolreactivo.Enlafigura12seproponenlos
subsistemas que lo conforman, los cuales se subdividen de
acuerdo a las caractersticas de comportamiento que debe
ejecutarelrobot,enfuncindesuresponsabilidad.
Experticia
Mapas
Mapas
Modelo
Sensores
Objetvo
Acople
Gestor_Base_Datos
Arrastre
IU
:Operador
Gestor_
Supersor_
Tares
Seguimiento_
Objeto
Gestor_
Comportamiento
Busqueda_
Objetivo
Planificador
Otros
Interfaz_Sensores
Evaluador_Planificad_ Sistema_
Trayectoria Local
Localizacion
Sensores
Algoritmos_
Especiales
Control_
Reactivo
Comandos
Bsicos
Interfaz_
Motores
Motores
Navegacin
Preventivos
Seguridad
Desbloqueo
Evadir_
Obstaculos
Evadir_
Abismo
Fuga
Giro_
Emergencia
Vagar
Seguir_ Evadir_
Muro Ostculo
Paro_
Emergencia
Seguir_
Trayectoria
Salir_Zona_
Muerta
Ir_a_
Objetivo
Ir_Zona_
Libre
Pasar_Zona_
Estrecha
Figur a 11. Ejemplo de Modelo de Clases de unaArquitectura Software de Control para Robots
141
ArquitecturasoftwarepararobotsmvilesaplicandolametodologaMDASRLondoo.
Vagar(Navegacinaleatoria)
Seguirunatrayectoriapintadaenelsuelo.
Moversehaciaunobjeto(Atraccinaunpunto).
Irazonaslibresdirigidas.
Moverseenlamismadireccin(permanecerentrayectoria).
Arrastrarobjeto.
Moverseunadireccinrelativa(posicin/Angulo)
Asuvez,elsistemadenavegacinpuedeserconsideradocomo
unsubsistema(apoyadoenelmodelodeanlisis),figura13.
Nota:Larelacinentresubsistemaspuedegenerarinterfaces,
asporejemplo,paraelSubsistemaControl_Reactivopropuesto
anteriormente,sepuederepresentarsusdiferentesinterfaces
comoseilustraenlafigura14.
Control
Reactivo
Seguridad
Navegacin
Paro_Emergencia
Giro_Emr gencia
ComandosBsicos
.
.
ComandosBsicos
.
.
.
ComandosBsicos
Preventivos
Desbloqueo
Zona s_Libres
Contr ol
Reactivo
Seguir _Muro
Evadir
.
.
Navegaci n
Segu rida d
Desbloqueo
P reventivo s
Vagar
Seguir_Linea
Zona s_Libres
Atraccion_
a_Punto
Arra stra r_
Objetos
J. Diseo de Clases-Objetos
DiseodeCasosdeUso:Identificacinclasesdediseo
porcasodeuso.
TomandocomobaseelCasodeUso"Seguimientodemuro",
vistoenlaetapadeanlisis,seidentificacadaunadelasclases
participantesenelCasodeUso,ysepresentacomoundiagrama
UMLfigura15.
DiagramadesecuenciaparacadapartedeCasodeUso:
ParaelCasodeUsopropuestoenelnumeralanterior,sepuede
plantareldiagramadesecuencias,ejemplificadoenlafigura16.
Seasume,enesteejemplo,queloscomandosseejecutanva
teclado.
Nota:Podraconsiderarsequeelusuarioseaunnivelsuperior
decontrol,encuyocasoesposiblequeserequieraunainterfaz
quefacilitelacomunicacin.
ClasesdeDiseo
Unaversinsimplificadadeldiagramadeclasespara
unaarquitecturaderobotseilustraenlafigura17.Cadaunade
lasclasesrepresentadaspuedeconteneroextenderotrasclases.
DiseodeCadaClases
El diseo de cada claseest ligado a las caractersticas y
especificacionesdefinidasanteriormente.Comoilustracin,se
presentanalgunosejemplosrepresentativosdeestecaso.
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
142
SeguirMuro
Seguir_Muro
:Teclado
:Gestor_
Alarmas
OrdenSegumiento
LeersensoresProximidad
Teclado
EstadoSensores
Leer_Distancia_Lmite
Pantalla
Evalua(nocritico)
Gestor
Alarmas
Botones
Comandos
Definedireccinyngulo
Procesador_Mo
tores
Valoresconsiganparacadamotor
Parametros
Procesador_Sen
sores
Seguir_Muros
CalculoSet
Poin
Modelo_Entorno
Supervisor_Gestor_
Comportamientos
Interfaz_Usuario
Planificador_
Global
Pantalla
Botones
Comandos
Teclado
Estado_Actual
Control
Reactivo
Sistema_Sensor
Seguridad
Preventivo
Desbloque
NAleatoria
Navegacion
Atraccin_Punt
o
IrZ_Libre
Sistema
Actuador
Sensor_Infraroj Sensor_Ultraso
o
Seguim_Muro
Sensor_....
ArquitecturasoftwarepararobotsmvilesaplicandolametodologaMDASRLondoo.
143
Seguimiento_Muros
V_Sensores:Num=0
V_Velocidad:N um=0
Angulodegiro:Num=0
Sensores
+Iniciar_S_M()
+Parar_S_M()
Actuadores
S_M_Izquierda
S_MDerecha
S_M_Aleatorio
S_M.
Requisitosespeciales:Paraelseguimientodecontorno,la
respuesta del algoritmo debe se menor que un tiempo
predefinidoporelusuario,opuedeserdefinidadependiendo
delavelocidadactualdelrobot.
Los valores de ngulo y distancia pueden ser igualmente
limitadosaunvalormnimoparaevitardaosenlosdispositivos
deactuacin.
I V. C O NC L USI O NE S
Sedemuestra,queesposible,siguiendounprocedimiento
sistemtico,comoloproponeMDARS,facilitarlaconcepcin
alIngenieroenRobticaysucomunicacinconelIngenierode
Sistemas.
Como se observa, se hace un nfasis muy marcado el los
CasodeUsoysurepresentacinmedianteDiagramasdeCasos
de Uso de la arquitectura propuesta, facilitando una
aproximacinmuyrpidaalasetapasdeAnlisisyDiseo.
CubrirconmsdetallelasetapasdeDiseo,Implementacin,
propuestas en la metodologa (MDASR), al igual que una
descripcinmsdetalladadecadaunodeloselementossoftware,
noesobjetodeesteartculopero,conlesposibleidentificary
evaluarlosalcancesyventajasdelametodologa,conelejemplo
propuesto.
REFERENCIAS
144
RevistaAvancesenSistemaseInformtica,Vol.6No.3,Diciembrede2009ISSN16577663
[8] Gachet, D., 1993. Control Reactivo de Robots Mviles. Tesis Doctoral.
Universidad Politcnica de Madrid.
[9] Jacobson, I. Booch, G. Rumbaugh, J., 2000. El Proceso Unificado de
Desarrollo de Software.Adison Westley, MadridEspaa.
[10] KTeam Corporation, 2009. Pagina disponible en internet en:
<http://www.kteam.com>. [Con acceso en Feb. 2009].
[11] Lampe, A., Chatila, R., 2006. Performance Measure For The
Evaluation of Mobile RobotAutonomy. Proceedings of the 2006
IEEE International Conference on Robotics andAutomation Orlando,
Florida.
[12] Londoo O., N., Tornero, J., 1998. Anlisis de la Metodologa
HOOD para la ImplementacindeArquitecturasAplicadas a Robots.
VIII Congreso Latinoamericano de Control Automtico, Via del
Mar, Chile,
[13] Londoo N., 2009. Metodologas de Desarrollo de Software, un
Enfoque a Robots Mviles.
Revista Politcnica. Politcnico Colombiano JIC.
[14] Londoo N., 2009.Aquitecturas Software de Robots, Metodologa
de Desarrollo. Octava Conferencia Iberoamericana en Sistemas,
Ciberntica e Informtica. Orlando, Florida.
[15] Londoo N., 2009. Una Propuesta Metodolgica para el Desarrollo
deArquitecturas Software Para Robots (MDASR). Tesis Doctoral,
Universidad delValle, Escuela de Ingeniera Elctrica y Electrnica.
[16] Mataric, M. J.,1990. BehaviorBased Control: Main Properties and
Implications". http://www robotics.usc.edu/~maja/publications.html.
[Con acceso en Feb. 2009].
[17] Mukerjee,A., Mali,A. D., 1999. Reactive Robots andAmnesics:A
Comparative Study in Memoryless Behavior. IEEE Transactions on
Tystems, Man, and Cyberneticspart C:Applications and Reviews,
Vol. 29, No. 2.
[18] Muoz, N. D., 2007. Estudio e Implementacin de unaArquitectura
de Control para el Robot Mvil GIRAA_02. Tesis de Maestra.
Universidad deAntioquia, Facultad de Ingeniera.
[19] OMG, 2003. Unified Modeling Language Specification. Retrieved
March 18, 2003. Disponible en internet en: <http://www.omg.org/
technology/documents /formal/uml.htm
[20] Rumbaugh, J., Jacobson, I. Booch, G., 2000. El lenguaje Unificado
de Modelado, Manual de Referencia. Racional Software Corporation.
[21] Ram,A.,Arkin, R. C., Moorman, K., Clark, R., 1996. Case Base
Reactive Navigation:A Method for on Line Selection andAdaptation
of Reactive Robotic Control Parameters. IEEE, Transaction on
systems, Man, and Cybernetics, Vol. 27, No. 3.