Академический Документы
Профессиональный Документы
Культура Документы
ISSN: 1657-7663
avances@unalmed.edu.co
Universidad Nacional de Colombia
Colombia
Software architecture to mobile robots using the methodology
MDASR
Nelson de J. Londoño Ospina. PhD.
Profesor Departamento de Ing. Eléctrica, y miembro del grupo de investigación en manejo eficiente de la energía
GIMEL. Facultad de Ingeniería, Universidad de Antioquia, Medellín.Colombia.
nlondono@udea.edu.co
Recibido para revisión 24 de Abril de 2009, aceptado 23 de Octubre de 2009, versión final 25 de Noviembre de 2009
Resu men —Se a p lica la M et od ología d e Desa r r ollo d e Lenguaje Unificado de Modelado [3][4][20][19],
Ar quitecturas Software para Robots –MDASR, como herramienta complementados con métodos empleados en Ingeniería Software
de especificación, análisis y diseño de una Arquitectura de Control [12] [6].
R ea ct iva . L a met od ología se a p oya en mét od os y lengu a jes
a mplia ment e a d op t a d os como el P U (P r oceso Un ifica d o d e Con base en la Arquitectura Reactiva aplicada a un robot
Desarrollo de Software) y UML (Lenguaje Unificado de Modelado), comercial, se ejemplifica cada uno de los pasos propuestos en la
apropiando conceptos y métodos empleados en Ingeniería Software metodología, enfatizando en los diagramas de casos de Uso,
que permiten ilustrar la arquitectura, y presentando las etapas
de análisis y diseño de forma general mediante los pasos
Palabras Clave—Robótica, Arquitectura de Robots, Ingeniería de
concebidos en MDASR.
Software, Proceso Unificado de Modelado.
Es importante aclarar que, por limitaciones de espacio, todos
Abstract—Adopting a methodologica l str ategy that covers the los casos de uso, diagramas de diseño y análisis no pueden ser
different stages of the development of a system, the Methodology detallados, presentando solo algunos de los esquemas y
of Development of Architectures Software for Robots MDASR,
resultados obtenidos en el desarrollo del proyecto.
it is applied as tool of specifica tion, analysis and design of a
Reactive Control Architecture. The methodology rests on methods
and languages widely adopted as the PU (Pr ocess Unified of
II. M DASR DIAGRAM A GENERAL
Development of Softwar e) and the UM L (Language Un ified of
Shaped) and adapting concepts of methods used in Engineering
Softwar e.
La Metodología de Desarrollo de Arquitecturas Software para
Keywords—Robotics, Robots architecture, Software engineering, Robots (MDASR) [14], es una metodología concebida para
Unified Modeled Process, software Development. facilitar la comunicación entre el ingeniero en Robótica (quien
concibe la arquitectura) y el ingeniero de sistemas (quien la
I . I NTR O DUC C IO N desarrolla), se apoya en los paradigmas de la ingeniería de
software, adoptando métodos de especificación, análisis, diseño
Revista Avances en Sistemas e Informática, Vol.6 No.3, Diciembre de 2009 ISSN 16577663
134 Revista Avances en Sistemas e Informática, Vol.6 No.3, Diciembre de 2009 ISSN 16577663
guiada por un procedimiento sistemático, como se ilustra en la programador, quien en última instancia convertirá la arquitectura
figura 1, para obtener un sistema completamente especificado en un conjunto de elementos software.
por Casos de Uso, Analizado y Diseñado siguiendo un conjunto
En el ejemplo se toma cada paso y se desarrolla hasta un nivel
los pasos, bajo un lenguaje y procedimiento que llegue hasta el
que sea fácilmente comprendido por el ingeniero de sistemas
Propósito
E SP EC IFI CACI ON
Objetivo
de la Ar quitectur a S.Actual
Usuario
S.Propuesto
Requisitos(CU)
M O DELO
(CASOS DE USO) Arquitectura.
Paquetes
ANAL ISIS
Usuario SubPaquetes
Arquitectura Softwa re
Clases
Modelo Anal
Desarrollador
Sistemas o Paq u etes
Arq u itectu ra Softwa r e
Su bPaq u etes y Sub sistema s
de An álisis
Identifica r. Clases Aná lisis
Dia gr ama d e In ter acción
Arquitectura
DISEÑO Clases/Objeto
M ODELO DE ANALISIS
Desarrollador s
Arquitectura Softwa re para
Modelo
Robots
Clases
Diseño Clases
Nod os
Sistema s y Sub sist emas M O DELO DE DISEÑO
Casos de Uso Diseñ o Arquitectura Softwa re
Clase (d ia gr am s)
Desarrollador
IM PLEM ENTACION
Clases,
Compon entes ARQUITECTURA
Usuario Emp aq u etar SOFTWARE
Depen d encia s
elemental se define como un dispositivo computacional, que • Velar por la seguridad
interpreta datos sensoriales, los procesa y produce una • Resolver problemas de atascamiento y errores producidos
respuesta [8]. en el sistema (Software/Hardware).
Visión general del sistema: El bloque Reactivo es el • Informar las fallas ocasionadas a los niveles superiores.
encargado de ejercer propiamente el control directo del Robot. Sistema actual. Se cuenta con el sistema Khepera básico, de
Su objetivo fundamental es garantizar su navegación, operado consecución comercial [10].
por un sistema de Control Reactivo (CR), basado en Sistema Control reactivo propuesto. La Arquitectura
Comportamientos [1]. Sus características principales son: Software propuesta, debe implementar el conjunto de
operaciones que garanticen que el sistema ejecute control
• Permitir ejecución de comportamientos elementales.
reactivo, el Caso de Uso principal es precisamente
• Ser flexible, lo que permite incluir comportamientos “Ejecutar_Control_ Reactivo”, el cual ejecuta las acciones
adicionales. necesarias para garantizar dicho comportamiento y, por sus
• Permitir que su implementación soporte una gran variedad características, requiere un conjunto de comandos considerados
de técnicas, incluyendo reglas heurísticas, redes neuronales, Casos de Uso que extienden el principal. Por esta razón, es
lógica borrosa algoritmos genéticos, etc. necesario realizar una especificación mas detallada de este
• Los comportamientos elementales son conmutados de sistema, que conlleve a definir un diagrama de casos de uso
acuerdo a los requerimientos del Usuario como se ilustra en la figura 2.
Propósito del sistema CR: En general este bloque recibe las En el esquema propuesto, el actor puede ser un operador
órdenes del USUARIO y garantiza su ejecución; para ello, toma humano, un computador o simplemente un Caso de Uso de un
la información sensórica requerida, la procesa, y envía una orden sistema de control más general denominado “Ejecutar_Control
de Acción, resultado del procesamiento del Control Reactivo. _Reactivo”.
Alcance del sistema CR: En general, el control reactivo debe: Caso de Uso “Ejecutar Control Reactivo”: La figura 3
• Garantizar funcionamiento reactivo propone el diagrama de Casos de Uso de una Arquitectura de
“Control Reactivo”.
Ejecutar_Rectiva
<<Include>>
<<Include>>
Leer
Sensores
Usuario
Mover
Motores
Robot
Figur a 2. Caso de Uso “Ejecutar_Control_Reactivo”
Activar/Desactivar_
Modo _Reactivo
<<Extend>> Tomar
Info_Sensor <<Include>>
es
Evaluar_Info
_Sensorica
<<Extend>>
<<Include>>
Gestion_
<<Extend>> <<Extend>> Fallas
Deliberativo Robot
Gestion_
Alarmas
<<Include>>
Usuario Mover Mover
Robot Motores
Este tipo de diagramas, es producto de un proceso de • El robot permanece parado hasta tanto se de la orden de
especificación previo, que por limitaciones de espacio no se Arrancar.
detalla en este artículo, en el que se han detallado y justificado • Debe permitir comportamientos adicionales, lo que exige
los diferentes Casos de Uso que lo conforman y además, debe modularidad y estandarización de los objetos.
ir acompañado de una descripción, Identificación, Análisis y
Refinamiento de cada uno de dichos Casos de Uso [15].
• Debe permitir cambiar los comportamientos en el instante
que lo requiera el usuario.
Desde una concepción general, "Control Reactivo" debe • Debe permitir una comunicación con el usuario, para
cumplir una serie de funciones que se resumen en el diagrama informarlo del estado del sistema cuando lo requiera.
de casos de uso, pero que para efectos de claridad, en las
• En el instante que el usuario decide parar, todas las tareas
primeras etapas de especificación, es conveniente definir con
que se estén ejecutando en el momento deben ser paradas y
un poco mas de detalle. Por ejemplo, el control reactivo debe:
se debe dar orden de paro a los actuadores.
• Iniciar el modo de control Reactivo en el momento de recibir • Permite desactivar todo el sistema de control reactivo.
la orden correspondiente. • Debe detectar las inconsistencias y fallos del sistema.
• Cargar comportamiento deseado por el usuario o definir
Análisis de Requerimientos no Funcionales: Son aquellas
comportamiento por defecto. El tipo de comportamiento está
exigencias del sistema que no tienen efectos funcionales, pero
definido de acuerdo a las necesidades del usuario o en
que ayudan a identificar necesidades o restricciones, para el
función de la respuesta en la evaluación de la información
ejemplo:
sensorial.
• Adquirir los datos de los sensores. • El sistema debe ser confiable, versátil y tener la posibilidad
• Evaluar la información recibida. Implica definir el algoritmo de interactuar con diferentes tipos de Robot o vehículos
de evaluación y los criterios de decisión definidos por el implemetado en una plataforma.
usuario • El sistema de control obedece a un comportamiento reactivo,
• Definir los comportamientos que deben se tenidos en cuenta por lo cual su respuesta está sujeta a la velocidad de
de acuerdo a la misión y las condiciones de el medio procesamiento, la simplicidad de los algoritmos y a la
(Información sensada). confiabilidad y sencillez de los sensores.
• Activar el comportamiento. • Debe funcionar en diferentes tipos de ambiente, con una
• Evaluar el comportamiento activo y definir su continuidad o gran variedad de sensores y actuadores.
cambio de estado. • Debe permitir incorporar otros módulos de comportamiento.
• Calcular la información de salida del comportamiento, como • Debe permitir involucrar, en los comportamientos, cualquier
una acción de velocidad lineal y curvatura (Acción de tipo de sistema de control: PID, Fuzzy, Neuronal, etc.
Control), en parámetros normalizados y darlas ordenes a los (Comportamientos reflejos).
motores. • Velar por la seguridad
• Ejecutar el algoritmo de gestión de fallos, cuando se detecte • Resolver problemas de atascamiento y errores producidos
una condición no prevista. en el sistema (Software/Hardware).
También, se identifica, en la especificación del sistema reactivo • Cada uno de los comportamientos puede ser considerado
esperado, una serie de requerimientos de Comportamiento como una forma de Control del Robot.
(Behavioral), que ayudan a identificar, con mayor nivel de detalle, • Su salida debe ser determinística
los elementos que definen el sistema de control deseado. Así, • Cada uno es completamente independiente
por ejemplo: • Los comportamientos no poseen memoria.
• El Software debe poder iniciar en cualquier instante, B. Refinamiento Caso de Uso “Ejecutar Control Reactivo”
independiente del estado del Robot. Una revisión general de Identificación y Análisis de Casos de
• La señal de Activar debe iniciar el proceso de Uso, implica detallar más la especificación, para muchos casos
comportamiento reactivo del robot e iniciar todas las tareas de uso, que deben ser iterativamente refinados, ejemplo:
que se requieran. Por defecto arrancará en una configuración “Navegación”, “Desbloqueo”, “Preventivo” , “Seguridad”, etc.
básica. Entonces, al iniciar: Las figuras 4 ilustran el resultado del proceso de refinamientos
• Habilita comportamiento Cargado. del caso de uso “Navegación”.
• Calcula permanentemente la velocidad relativa Robot
Obstáculo
• Opera permanentemente en un modo protección (Prioridad).
Arquitectura software para robots móviles aplicando la metodología MDASR – Londoño. 137
Otros
<<Include>>
<<Extend>> Braitenberg
Activar_
<<Extend>>
Comportamiento
<<Include>>
Navegacion <<Extend>>
Vargar
<<Extend>> Explorar <<Include>>
<<Extend>> Leer
Sensores
Seguir <<Include>>
Rectiva
Trayectoria
<<Extend>>
<<Extend>> <<Include>>
Atraccion a
<<Extend>>
Punto
Ejecutar
tarea <<Extend>> <<Include>>
Ir Zona
<<Include>> Libre
Eject.Modo <<Include>>
Automo
Misma Robot
Usuario Direcion
Combinar
Conmutar
Gestionar
Comportami
etnos
Reactivo
<<Extend>>
<<Include>>
Ejecutar
Arrastrar
Comportamietnos
Objetos
<<Extend>>
<<Extend>> Seguir
<<Extend>> <<Extend>> Trayectoria
Leer
Ejecutar Tareas <<Extend>> Acoplar Sensores
tarea Basicas
<<Include>> <<Extend>>
Seguir
<<Extend>>
Objeto
Eject.Modo
Automo Buscar
<<Extend>> Objetivo
Usuario
Otros
Robot
Mover
Robot
<<Include>>
Mover
Motores
Figur a 5. Diagrama de Casos de uso detallado que implementa “Ejecutar_Comportamientos”
138 Revista Avances en Sistemas e Informática, Vol.6 No.3, Diciembre de 2009 ISSN 16577663
va de la mano con el tipo de Caso de Uso que resuelven, así, por
ejemplo , se define un paquete denominado “Sist_Navegación,
que implementa todos los casos de uso relacionados con la
navegación del robot en modo reactivo. En la figura 6 se ilustra Figur a 7. Arquitectura por paquetes de Sistema de Control Reactivo
el paquete y sus casos de uso que implementa.
En la figura 7 se presenta el sistema de control reactivo que
E jecutar_c ompo rta cobija las cuatro funciones fundamentales de un sistema de
m ie tnos_na ve gac ió n
control reactivo como el propuesto.
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
Cada uno de los subpaquetes, contiene las clases y
E je c _ C om p _V
elementos necesarios para implementar las acciones
a rg a r E x p lo ra r
correspondientes a su función específica.
E je c _ C om p _
S e g u ir
T ra y e c to ria
E. Identificación de Clases
… Tomando como base los paquetes y subpaquetes, definidos
… en las últimas iteraciones del sistema de control anterior, se
…
propone una serie de clases que implementarán cada uno de
ellos.
Figur a 6. Diagrama de Casos de uso detallado que implementa A Partir de los (Sub) Paquetes de Análisis: Cada subpaquete,
“Sist_Navegación” en función de sus características y particularidades definidas
De forma similar, se plantean los otros paquetes del sistema en las etapas anteriores, puede ser implementado mediante un
de control reactivo que se resumen el numeral siguiente. conjunto de clases que se identifican en esta etapa del proceso
Arquitectura por paquetes: En el proceso de subdivisión (en muchas ocasiones, están apoyados por el esquema general
del sistema software, el control reactivo puede ser clasificado presentado por el ingeniero en robótica)
de acuerdo a las características específicas de la función que Control Reactivo: El control reactivo, definido como un
cumple, en la Arquitectura propuesta. En nuestro caso, se conjunto de paquetes que apoyan esta estructura de control,
subdivide dicho control en paquetes que desempeñan puede ser propuesto como un modelo de clases que implementan
funciones específicas, en el contexto de la arquitectura y que, cada uno de estos paquete, en la figura 8 se ilustra algunos de
por sus características, implementan los casos de uso estos paquetes, obtenidos mediante el procedimiento propuesto
relacionados con su función. por la metodología.
Na vega cion Desbloqueo
G esto_ E stados_
G estor _
Na vega ción Desbloqueo Estados_
Sensores_
Senso res_
Requeridos
Requeridos
A lgoritm o_ Algoritm o_ Algoritm o_ Algoritm o_ Algoritmo_ Algoritmo_
E vadir Ir_a_Onjetivo Seguir Otros
Va ga r/E xplora r Salir_Zonas Bordea_ Muro Otros
tra yectoria
_ M uertas
P reventivo Segurida d
Figur a 8. Modelo de Clases Subpaquete: Navegación, Desbloqueo, Preventivo, Seguridad
Arquitectura software para robots móviles aplicando la metodología MDASR – Londoño. 139
Iniciar
Velocidad
Límite
Velocidad
actual Mover_Por
_Velocidad
Velocidad
Generador Set Mover Velocidad actual
IUIniciar Motores (n) Límite
Poin
Mover
IUFijar Actualizar_ Actualizar Generador Set Motores (n)
velocidad Velocidad Velocidad Poin
Generador Set Mover
Poin Motores (n) Motores Generador Set Mover
Usuario IUFijar Poin Motores (n) Motores
IUIniciar Actualizar
velocidad Velocidad
Usuario
Velocidad Velocidad
Límite actual
Velocidad Velocidad
actual Límite
“Modo Teleoperación” “Moverse por velocidad”
Seguir_Muro
Base Datos
Trayectoria
Evaluar
sensores Ejecutar_
Trayectoria Velocidad
Comado I_Sensores actual
Seguir Muro
M over
Velocidad Motores (n)
consigna Velocidad
Algoritmo Límite
Generador Set
Seguimiento
Poin IUFijar Evaluar
muros
Trayectoria Obstaculo
IU_Sensores (n)
Generador
Trayectoria
Generador Set IU.Actuadorte(n)
Poin
Motores
Generador Set Mover
Poin Motores (n)
Usuario Seguir muro Generador Set IU.Actuadorte(n)
IUFijar Poin Motores
Sensores
I_Sensores Trayectoria
Usuario
Generador
Evaluar
Trayectoria
Obstaculo Sensores
Velocidad Algoritmo Evaluar
consigna Seguimiento sensores IU_Sensores (n)
muros Base Datos
Velocidad Velocidad
Trayectoria
actual Lí mite
“Seguir_Muro” “Ejecutar trayectoria”
Figur a 9. Identificación de clase e interacciones Caso de Uso
3:Calcular dirección
12:Valores
11:Leer Valores límite Limite)
10:Nueva consigana 5:Leer Sensores
(Dirección y ángulos) 4:Hay cambio de estado? 6:Valores Leídos
Proximidad
8:Loop Evaluar
hasta Cambio
de estado
Flujo de sucesos (Condición normal)
Figur a 10. Interrelación y flujo de eventos. Caso de Uso “Seguir_Muro”
Acople
Gestor_Base_Datos
Arrastre
:Operador IU
Gestor_ Seguimiento_
Supersor_ Gestor_ Objeto
Tares Comportamiento
Busqueda_
I_Inp I_Out Interprete_ Objetivo
Planificador
Comandos
Otros
Interfaz_Sensores
Evaluador_ Planificad_ Sistema_
Trayectoria Local Localizacion
Sensores
Algoritmos_ Control_
Comandos
Especiales Reactivo
Básicos Interfaz_
Motores
Motores
Navegación
Preventivos Desbloqueo
Seguridad
Evadir_
Obstaculos
Evadir_ Vagar
Abismo
Paro_ Seguir_ Evadir_ Seguir_ Ir_a_
Emergencia Muro Ostáculo Trayectoria Objetivo
Fuga Ir_Zona_
Salir_Zona_
Muerta Libre
Giro_ Pasar_Zona_
Emergencia Estrecha
Figur a 11. Ejemplo de Modelo de Clases de una Arquitectura Software de Control para Robots
Arquitectura software para robots móviles aplicando la metodología MDASR – Londoño. 141
Cada unos de estos subsistemas, a su vez, pueden ser Nota: La relación entre subsistemas puede generar interfaces,
subdivididos en unidades más pequeñas y manejables para así por ejemplo, para el Subsistema Control_Reactivo propuesto
facilitar la implementación y modularidad del software. Así, por anteriormente, se puede representar sus diferentes interfaces
ejemplo, el subsistema de navegación reactiva, puede ser como se ilustra en la figura 14.
subdividido en:
Control
Reactivo
• Vagar (Navegación aleatoria)
• Seguir una trayectoria pintada en el suelo. Seguridad
• Moverse hacia un objeto (Atracción a un punto). Navegación
Paro_Emergencia
• Ir a zonas libres dirigidas.
Comandos Básicos Giro_Emr gencia
• Moverse en la misma dirección (permanecer en trayectoria). .
.
Comandos Básicos
• Arrastrar objeto. .
.
• Moverse una dirección relativa (posición/Angulo) .
A su vez, el sistema de navegación puede ser considerado como Comandos Básicos
Preventivos
un subsistema (apoyado en el modelo de análisis), figura 13.
Desbloqueo Seguir _Muro
J. Diseño de Clases-Objetos
Desbloqueo
P reventivo s Diseño de Casos de Uso: Identificación clases de diseño
por caso de uso.
Tomando como base el Caso de Uso "Seguimiento de muro",
visto en la etapa de análisis, se identifica cada una de las clases
participantes en el Caso de Uso, y se presenta como un diagrama
Figur a 12. Subsistemas de “Control_Reactivo”
UML figura 15.
Navegación Diagrama de secuencia para cada parte de Caso de Uso:
Para el Caso de Uso propuesto en el numeral anterior, se puede
Atraccion_
Vagar Seguir_Linea
a_Punto
plantar el diagrama de secuencias, ejemplificado en la figura 16.
Se asume, en este ejemplo, que los comandos se ejecutan vía
teclado.
Nota: Podría considerarse que el usuario sea un nivel superior
Arra stra r_
de control, en cuyo caso es posible que se requiera una interfaz
Zona s_Libres Objetos que facilite la comunicación.
Clases de Diseño
Una versión simplificada del diagrama de clases para
Figur a 13. Subsistemas de “Navegación” una arquitectura de robot se ilustra en la figura 17. Cada una de
las clases representadas puede contener o extender otras clases.
Diseño de Cada Clases
I. Identificación Interfaces de Subsistemas
La interfaz corresponde a una clase, que suministra El diseño de cada clase está ligado a las características y
todos los elementos necesarios para comunicar la clase con especificaciones definidas anteriormente. Como ilustración, se
otras clases u objetos externos; por tanto, incluirá las presentan algunos ejemplos representativos de este caso.
características, atributos y métodos que permitan ejecutar la
orden.
142 Revista Avances en Sistemas e Informática, Vol.6 No.3, Diciembre de 2009 ISSN 16577663
Seguir_Muro Seguir Muro
:Teclado :Pantalla :Parametros :Seguir_ :Calculo_ :Procesad_ :Procesad_ :Gestor_
Muros SetPoint Sensores Motores Alarmas
Orden Segumiento
Teclado Leer sensores Proximidad
Estado Sensores
Leer_Distancia_Límite
Pantalla
Evalua (no critico)
Gestor
Alarmas
Botones Define dirección y ángulo
Procesador_Mo
Comandos
tores
Valores consigan para cada motor
Parametros
Procesador_Sen
sores
Seguir_Muros CalculoSet
Poin
Figur a 15. Clases que intervienen en el Caso de Uso “Seguir_Muro” Figur a 16. Diagrama de Secuencias, "Seguir_ Muro"
Planificador_
Global
Estado_Actual
Control
Reactivo
Sistema_Sensor
Figur a 17. Ejemplo de Diagrama de Clases de Arquitectura Software para Robots
Arquitectura software para robots móviles aplicando la metodología MDASR – Londoño. 143
Clase: " Seguimiento_Mur os" información se genera como respuesta un vector (d, ) que
representa el incremento de distancia y ángulo que debe recorrer
Esbozo de la clase: Seguimiento_Muros contiene los
el robot, respectivamente. Cuando no se detecta obstáculo, la
algoritmos necesarios para bordear los obstáculos que son
clase se inhabilita automáticamente.
detectados en el recorrido de robot, para ello utiliza como datos
de entrada los valores captados por los sensores de ultrasonidos Esquema general: Figura 18
y la distancia a la que se realiza el seguimiento. A partir de esta
Seguimiento_Muros
V_Sensores: Num=0 Sensores
V_Velocidad: N um=0
Angulo de giro: Num=0
+Iniciar_S_M ( )
+Parar_S_ M ( )
Actuadores
• Descripción de los métodos: En este aparte se define e Se demuestra, que es posible, siguiendo un procedimiento
método utilizado para el seguimiento de contorno que puede sistemático, como lo propone MDARS, facilitar la concepción
ser presentado como una formula o como un algoritmo, al Ingeniero en Robótica y su comunicación con el Ingeniero de
dependiendo del algoritmo escogido. Sistemas.
• Requisitos especiales: Para el seguimiento de contorno, la Como se observa, se hace un énfasis muy marcado el los
respuesta del algoritmo debe se menor que un tiempo Caso de Uso y su representación mediante Diagramas de Casos
predefinido por el usuario, o puede ser definida dependiendo de Uso de la arquitectura propuesta, facilitando una
de la velocidad actual del robot. aproximación muy rápida a las etapas de Análisis y Diseño.
[8] Gachet, D., 1993. Control Reactivo de Robots Móviles. Tesis Doctoral.
Universidad Politécnica de Madrid.
[9] Jacobson, I.; Booch, G.; Rumbaugh, J., 2000. El Proceso Unificado de
Desarrollo de Software. Adison Westley, MadridEspaña.
[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 Robot Autonomy. Proceedings of the 2006
IEEE International Conference on Robotics and Automation Orlando,
Florida.
[12] Londoño O., N., Tornero, J., 1998. Análisis de la Metodología
HOOD para la Implementaciónde Arquitecturas Aplicadas a Robots.
VIII Congreso Latinoamericano de Control Automático, Viña del
Mar, Chile,
[13] Londoño N., 2009. Metodologías de Desarrollo de Software, un
Enfoque a Robots Móviles.
Revista Politécnica. Politécnico Colombiano JIC.
[14] Londoño N., 2009. Aquitecturas Software de Robots, Metodología
de Desarrollo. Octava Conferencia Iberoamericana en Sistemas,
Cibernética e Informática. Orlando, Florida.
[15] Londoño N., 2009. Una Propuesta Metodológica para el Desarrollo
de Arquitecturas Software Para Robots (MDASR). Tesis Doctoral,
Universidad del Valle, Escuela de Ingeniería Eléctrica y Electrónica.
[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 and Amnesics: A
Comparative Study in Memoryless Behavior. IEEE Transactions on
Tystems, Man, and Cyberneticspart C: Applications and Reviews,
Vol. 29, No. 2.
[18] Muñoz, N. D., 2007. Estudio e Implementación de una Arquitectura
de Control para el Robot Móvil GIRAA_02. Tesis de Maestría.
Universidad de Antioquia, Facultad de Ingeniería.
[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 and Adaptation
of Reactive Robotic Control Parameters. IEEE, Transaction on
systems, Man, and Cybernetics, Vol. 27, No. 3.