Upload
gmorenot
View
221
Download
5
Tags:
Embed Size (px)
Citation preview
ESCUELA TCNICA SUPERIOR Madrid, noviembre de 2009 DE INGENIEROS INDUSTRIALES Jos Gutirrez Abascal, 2 28006 Madrid
UNIVERSIDAD POLITCNICA DE MADRID
DEPARTAMENTO DE AUTOMTICA INGENIERA ELECTRNICA E INFORMTICA INDUSTRIAL
Divisin de Ingeniera de Sistemas y Automtica (DISAM)
SISTEMA DE CONTROL REMOTO DE ROBOTS MVILES BASADO EN PDA
CDIGO DE PROYECTO: IAEI0807517 AUTOR: JUAN IGNACIO FORCN CARVALHO TUTOR: ALBERTO VALERO GMEZ PONENTE: FERNANDO MATA ESPADA
CTEDRA
DE
PROYECTOS
PROYECTO FIN DE CARRERA
ETS de
Ing. Industriales
UPM
TTULO DEL PROYECTO: Sistema de control remoto de robots mviles basado en PDA
ENTIDAD PROPONENTE: Departamento de Automtica N PROYECTO:
TUTOR ASIGNADO: Fernando Mata Espada FECHA de COMIENZO: Octubre 2008
NOMBRE del ALUMNO: Juan Ignacio Forcn Carvalho N de MATRICULA: 07517
ESPECIALIDAD E INTENSIFICACIN: Ingeniero en Automtica y Electrnica Industrial
DECRIPCIN DEL PROYECTO Y SUS OBJETIVOS PRINCIPALES
El proyecto consiste en disear, desarrollar y evaluar una aplicacin para PDA, que
permita a un operario controlar remotamente un robot mvil.
El principal objetivo de la aplicacin es permitir que un operador pueda controlar un
robot mvil sin verse obligado a permanecer en un lugar fijo. La portabilidad del PDA
permite al operador moverse en el mismo escenario de operacin del robot.
OBSERVACIONES:
ENTIDAD PROPONENTE: EL TUTOR: Nombre: Fernando Mata Espada Nombre: Fernando Mata Espada
POR LA CTEDRA DE PROYECTOS EL ALUMNO:
Nombre Nombre: Juan Ignacio Forcn Carvalho
Juan Ignacio Forcn Carvalho iv
NDICE
Juan Ignacio Forcn Carvalho v
NDICE
1 Introduccin ....................................................................................................... 13
1.1 Prembulo ................................................................................................... 13
1.2 Proyectos previos ........................................................................................ 14
1.3 Marco del proyecto ..................................................................................... 20
1.4 Motivacin y objetivos ................................................................................ 20
1.5 Alcance del proyecto ................................................................................... 20
1.6 Organizacin del documento ...................................................................... 21
2 Estado actual ...................................................................................................... 24
2.1 Proyectos actuales ...................................................................................... 24
2.2 Proyectos similares ..................................................................................... 26
2.3 Entorno de trabajo ...................................................................................... 28
2.4 OpenRDK ..................................................................................................... 31
2.5 Autonoma Modos de operacin ............................................................. 37
2.6 Necesidades ................................................................................................ 39
3 Hardware ............................................................................................................ 45
3.1 Robots ......................................................................................................... 45
3.2 Robots simulados ........................................................................................ 48
3.3 Arquitectura del sistema ............................................................................. 50
3.4 Requisitos y seleccin de PDA ..................................................................... 51
4 Diseo software .................................................................................................. 55
4.1 Por qu C#? ............................................................................................... 55
4.2 Por qu SOAP? ........................................................................................... 56
4.3 Diagramas UML ........................................................................................... 58
Juan Ignacio Forcn Carvalho vi
4.3.1 Diagrama de clases .............................................................................. 58
4.3.2 Diagrama de estado ............................................................................. 60
4.3.3 Casos de uso ........................................................................................ 61
4.3.4 Diagramas de secuencia ...................................................................... 65
5 Descripcin de la aplicacin ............................................................................... 79
5.1 Soluciones adoptadas ................................................................................. 79
5.2 Men principal ............................................................................................ 82
5.3 Configuracin .............................................................................................. 82
5.4 Laser&Sonar ................................................................................................ 85
5.5 Mapa ........................................................................................................... 90
6 Conclusiones y lneas futuras ............................................................................. 98
6.1 Conclusiones ............................................................................................... 98
6.2 Lneas futuras .............................................................................................. 99
Anexos ...................................................................................................................... 105
I - Planificacin ..................................................................................................... 105
II - Estructura de descomposicin del proyecto (EDP) ......................................... 107
III - Presupuesto ................................................................................................... 111
IV - Tablas de casos de uso ................................................................................... 113
V - Referencias...................................................................................................... 122
VI - Abreviaturas y acrnimos .............................................................................. 125
Juan Ignacio Forcn Carvalho vii
NDICE DE FIGURAS
Figura 1: Robot Urbano. ............................................................................................. 15
Figura 2: Robot URBANO haciendo de gua dentro del museo de las ciencias de
Valencia. ..................................................................................................................... 16
Figura 3: Silla de ruedas monitorizada automtica. .................................................. 17
Figura 4: Trozo de pieza de fibra de carbono, de tipo semi-plano, lista para la
inspeccin. ................................................................................................................. 18
Figura 5: Robot Blacky en la feria Madrid por la Ciencia en los pabellones de IFEMA
................................................................................................................................... 19
Figura 6: Mapa 3D ...................................................................................................... 25
Figura 7: Interfaz de teleoperacin de Fong. ............................................................. 26
Figura 8: Aplicacin de Perzanowski. ......................................................................... 26
Figura 9: Aplicacin de Huttrenrauch and Norman. .................................................. 27
Figura 10: En la primera imagen, los robots avanzan en formacin, en la segunda
siguen al lder, y en la tercera y cuarta, le siguen formando un crculo o un
cuadrado. ................................................................................................................... 27
Figura 11: Interfaz de Calinon and Billard.................................................................. 27
Figura 12: Interfaz desarrollada en la universidad de Vanderbilt por Julie A.Adams.
................................................................................................................................... 28
Figura 13: PDA virtual generado por Visual Studio 2005. ......................................... 29
Figura 14: Simulador Player/Stage. ........................................................................... 30
Figura 15: Simulador USARSim. ................................................................................. 30
Figura 16: Ejemplo de un agente RDK ....................................................................... 32
Figura 17: Arquitectura del sistema........................................................................... 33
Figura 18: Capa de Exploracin.................................................................................. 35
Figura 19: Capa de planificacin de rutas. ................................................................. 35
Figura 20: Capa de navegacin .................................................................................. 36
Figura 21: Niveles de autonoma ............................................................................... 38
Figura 22: Interfaz con lecturas lser (rojo) y lecturas snar (verde) ........................ 40
Juan Ignacio Forcn Carvalho viii
Figura 23: Team View. ............................................................................................... 41
Figura 24: 3D View. .................................................................................................... 41
Figura 25: Integracin sistema PDA ........................................................................... 42
Figura 26: Robot Urbano............................................................................................ 45
Figura 27: Robot Doris. .............................................................................................. 46
Figura 28: Robot Nemo. ............................................................................................. 47
Figura 29: Robot P3AT Simulado. .............................................................................. 48
Figura 30: Robot ATRVJr3D Simulado. ....................................................................... 48
Figura 31: Arquitectura del sistema........................................................................... 50
Figura 32: PDA HP iPaq 214 ....................................................................................... 52
Figura 33: Diagrama de clases de la aplicacin. ........................................................ 59
Figura 34: Diagrama de estados. ............................................................................... 60
Figura 35: Diagrama de casos de uso de la aplicacin............................................... 61
Figura 36: Casos de uso, Settings. .............................................................................. 62
Figura 37: Casos de uso, Laser&Sonar Navigate. ....................................................... 62
Figura 38: Casos de uso, Map Navigate. .................................................................... 63
Figura 39: Casos de uso, Shared Control ................................................................... 63
Figura 40: Casos de uso, Safe/Unsafe Teleoperation. ............................................... 64
Figura 41: Diagrama de secuencia. Connect. ............................................................. 65
Figura 42: Diagrama de secuencia. Disconnect. ........................................................ 66
Figura 43: Diagrama de secuencia. Settings. ............................................................. 66
Figura 44: Diagrama de secuencia. Exit. .................................................................... 67
Figura 45: Diagrama de secuencia. Laser&Sonar. ..................................................... 67
Figura 46: Diagrama de secuencia. Map. ................................................................... 68
Figura 47: Diagrama de secuencia. ZoomIn Laser ..................................................... 68
Figura 48: Diagrama de secuencia. ZoomOut Laser .................................................. 69
Figura 49: Diagrama de secuencia. Validate Autonomy Mode. ................................ 69
Figura 50: Diagrama de secuencia. Save Map. .......................................................... 70
Figura 51: Diagrama de secuencia. Zoom Map. ........................................................ 70
Figura 52: Diagrama de secuencia. ZoomOut Map. .................................................. 71
Figura 53: Diagrama de secuencia. Refresh Map. ..................................................... 71
Juan Ignacio Forcn Carvalho ix
Figura 54: Diagrama de secuencia. SetWayPoint. ..................................................... 72
Figura 55: Diagrama de secuencia. SetPath. ............................................................. 72
Figura 56: Diagrama de secuencia. Forward, modo incremental. ............................. 73
Figura 57: Diagrama de secuencia. Forward, modo joystick. .................................... 73
Figura 58: Diagrama de secuencia. Backward, modo incremental. .......................... 73
Figura 59: Diagrama de secuencia. Backward, modo joystick. .................................. 74
Figura 60: Diagrama de secuencia. Right, modo incremental. .................................. 74
Figura 61: Diagrama de secuencia. Right, modo joystick. ......................................... 74
Figura 62: Diagrama de secuencia. Left, modo incremental. .................................... 75
Figura 63: Diagrama de secuencia. Left, modo joystick. ........................................... 75
Figura 64: Diagrama de secuencia. Stop, modo incremental. ................................... 75
Figura 65: Diagrama de secuencia. OK Settings. ....................................................... 76
Figura 66: Diagrama de secuencia. Default Settings ................................................. 76
Figura 67: Diagrama de secuencia. Cancel Settings. ................................................. 77
Figura 68: Men principal .......................................................................................... 82
Figura 69: Men de configuracin (Network). .......................................................... 83
Figura 70: Men de configuracin, pestaas Control y Lser. .................................. 84
Figura 71: Men de configuracin, pestaas Robot y Colors. ................................... 85
Figura 72: A la izquierda, vista lser y snar de la aplicacin. A la derecha, entorno
de simulacin del robot. ............................................................................................ 86
Figura 73: Detalle de lser en rojo ante peligro de colisin. ..................................... 87
Figura 74: Vista Laser&Sonar de la aplicacin con diferentes niveles de Zoom. ...... 88
Figura 75: A la izquierda, opciones de teleoperacin. A la derecha, detalle del
indicador de velocidad y giro. .................................................................................... 88
Figura 76: Flecha resaltada al haber sido pulsada. .................................................... 89
Figura 77: PDA desconectada. ................................................................................... 90
Figura 78: Mapa Creado en el entorno Player/Stage. ............................................... 91
Figura 79: Mapa creado en el entorno Usarsim. ....................................................... 91
Figura 80: Mapa con Zoom. ....................................................................................... 92
Figura 81: Diferente modos de operacin. ................................................................ 93
Juan Ignacio Forcn Carvalho x
Figura 82: A la izquierda el usuario est indicando los puntos de destino, a la
derecha el usuario ha indicado una trayectoria a seguir. ......................................... 94
Figura 83: Contorno de la flecha. ............................................................................... 94
Figura 84: Guardar mapa. .......................................................................................... 95
Figura 85: Aplicacin ejecutndose en la PDA real. .................................................. 96
Figura 86: Aplicacin ejecutndose en un mvil PDA HTC. .................................... 96
Figura 87: Diseo preliminar, seleccin de Pan y Tilt, e indicacin de la direccin del
robot por si la cmara apunta hacia otro lado. ....................................................... 100
Figura 88: Diseo preliminar de la vista vdeo con el lser superpuesto y regla de
distancias. ................................................................................................................ 101
Figura 89: Estructura de descomposicin del proyecto .......................................... 107
Figura 90: Investigacin inicial. ................................................................................ 108
Figura 91: Requisitos. ............................................................................................... 108
Figura 92: Formacin previa. ................................................................................... 109
Figura 93: Seleccin Hardware. ............................................................................... 109
Figura 94: Desarrollo Software. ............................................................................... 110
Figura 95: Pruebas. .................................................................................................. 110
Juan Ignacio Forcn Carvalho xi
NDICE DE TABLAS
Tabla 1: Caractersticas tcnicas de los Robots [6]. ................................................... 47
Tabla 2: Datos proporcionados por los robots ......................................................... 49
Tabla 3: Prestaciones PDA ......................................................................................... 53
Tabla 4: Aplicacin de los diferentes modos de operacin ....................................... 81
Tabla 5: Diagrama de gantt ...................................................................................... 106
Tabla 6: Mediciones y precio unitario. .................................................................... 111
Tabla 7: Presupuesto total. ...................................................................................... 112
Tabla 8: Caso de uso Settings. ................................................................................. 113
Tabla 9: Caso de uso Connect. ................................................................................. 114
Tabla 10: Caso de uso Disconnect. .......................................................................... 114
Tabla 11: Caso de uso Map Navigate. ...................................................................... 115
Tabla 12: Caso de uso Laser&Sonar Navigate. ........................................................ 115
Tabla 13: Caso de uso Unsafe/Safe Teleoperation. ................................................. 116
Tabla 14: Caso de uso Shared Control. .................................................................... 116
Tabla 15: Caso de uso Full Autonomy. ..................................................................... 117
Tabla 16: Caso de uso SetWay Point ....................................................................... 118
Tabla 17: Caso de uso Set Path. ............................................................................... 118
Tabla 18: Caso de uso Forward. ............................................................................... 119
Tabla 19: Caso de uso Backward.............................................................................. 119
Tabla 20: Caso de uso Right. .................................................................................... 120
Tabla 21: Caso de uso Left. ...................................................................................... 121
Tabla 22: Caso de uso Stop. ..................................................................................... 121
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 12
INTRODUCCIN
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 13
1 Introduccin
1.1 Prembulo
En estos das en los que la industria tecnolgica avanza a pasos agigantados,
podemos ver como evoluciona la investigacin acerca de robots mviles para gran
diversidad de aplicaciones. Estos robots, en la mayora de las ocasiones necesitan
ser teleoperados o supervisados remotamente en algn momento.
Adems, algunas veces, el operador necesita moverse en el mismo escenario que el
robot y teleoperar sin permanecer en un lugar fijo. En este tipo de situaciones no se
puede disponer de grandes infraestructuras o de una aplicacin con diversas
pantallas y que a la vez ofrezca gran cantidad de informacin; necesitando un
dispositivo portable con una aplicacin diseada para estas circunstancias.
Las PDAs (Personal Digital Assistans) se han convertido en dispositivos muy
extendidos en la actualidad en diferentes aplicaciones. Cumplen con los requisitos
necesarios de portabilidad, capacidad de procesamiento, y precio asequible; lo que
las hacen que sean perfectas en este tipo de aplicaciones.
Para que el usuario pueda teleoperar el robot debe haber una interaccin usuario
robot, esta interaccin deber ser gestionada por una interfaz. A su vez esta interfaz
estar limitada por las bajas prestaciones de una PDA en comparacin con un PC,
pero deber proporcionar informacin suficiente para lograr conseguir con xito la
tarea a realizar.
Por otra parte, a la hora de desarrollar una interfaz pensada para ser utilizada en
movimiento se debern buscar soluciones que faciliten sus labores al operador. La
correcta unin de estas ideas expuestas, permitir al operador controlar y operar un
robot mvil de manera efectiva en el mismo entorno que l se mueve, con las
ventajas que ello conlleva como obtener informacin adicional del escenario.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 14
1.2 Proyectos previos
En los ltimos aos en el grupo de control inteligente [1] del departamento de
Automtica se han desarrollado los siguientes proyectos.
WebFAIR
Acceso Web a Ferias Comerciales mediante Agentes Mviles
Objetivo: Desarrollo y validacin de un sistema de tele-presencia basado en robots
mviles, capaz de facilitar acceso de individuos a grandes exhibiciones y ferias
comerciales a travs de internet.
Descripcin:
WebFAIR aborda las necesidades de mercado y promocin de grandes exhibiciones
comerciales, proporcionando acceso a la informacin, los servicios y los eventos
expuestos en la exhibicin; para que puedan acceder y explorar la feria y obtener
informacin visual. El usuario es capaz de observar a travs de los ojos del robot
(cmaras) y or a travs de sus odos (micrfonos). A travs de una interface Web,
usuarios de distintas partes del mundo pueden tele-controlar el robot y visitar
stands o puntos de inters a los que desean acceder.
Urbano
Integracin de Robots Autnomos en la Sociedad, mediante el Uso de Nuevas
Tecnologas.
Objetivo: Desarrollo de un sistema de tele-presencia para el acceso personalizado a
lugares pblicos, y una interaccin fluida con la informacin y con otros ciudadanos
all presentes. Fomentar la integracin en la sociedad de tcnicas relacionadas con
la automtica, mediante el uso de nuevas tecnologas de la informacin.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 15
Figura 1: Robot Urbano.
Descripcin:
El objetivo del proyecto es el desarrollo de un sistema de tele - presencia que
permita el acceso personalizado de ciudadanos a lugares pblicos, as como una
interaccin fluida con la informacin y con otros ciudadanos all presentes. Con ello
se persigue fomentar la integracin en la sociedad de tcnicas relacionadas con la
automtica (control inteligente, navegacin de robots autnomos, ingeniera de
software), mediante el uso de nuevas tecnologas de la informacin (protocolos de
Internet, interfaces web y habla) que faciliten una comunicacin amigable con el
ciudadano. El sistema se compone de un cuerpo artificial (robot mvil) con cierto
nivel de inteligencia (autonoma), con el cual es posible interaccionar a travs de
Internet y de manera presencial, pudiendo ser operado mediante lenguaje hablado.
Los usuarios a los que va dirigido el proyecto son: ciudadanos con condicionantes
especiales necesitados de integracin social, personas de negocios que por motivos
de economa o tiempo se decantan por hacer una visita virtual, y empresas pblicas
y privadas, o ciudades espaolas en su conjunto, que desean difundir su bagaje
cultural, educativo o cientfico. En lo que se refiere a la interaccin hablada, este
proyecto desarrolla nuevas lneas tecnolgicas no previstas anteriormente para la
mejora de la interaccin hombre-robot en el sistema de visita presencial o remota
con ayuda automtica.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 16
ROBINT
Integracin de Comportamientos Inteligentes en Robots Gua
Objetivo: El objetivo del presente proyecto es el modelado, desarrollo de una
metodologa de diseo y la implementacin de comportamientos inteligentes en
robots gua.
Figura 2: Robot URBANO haciendo de gua dentro del museo de las ciencias de Valencia.
Descripcin:
Los robots interactivos son mquinas que deben ser programadas para navegar,
dialogar, razonar, aprender y sobrevivir en entornos casi humanos. Para ello deben
ser conscientes de sus estados mentales, y su conocimiento sobre el entorno debe
ser adecuadamente combinado con la informacin que reciben de sus sistemas de
percepcin. Este tipo de robots son capaces de operar en entornos humanos,
llevando a cabo tareas sociales tiles como robots instructores (en museos y
colegios), robots de entretenimiento (en parques de atracciones), o robots de
compaa (en el hogar o en hospitales).
Ya existen prototipos de robots interactivos. Los grupos de investigacin solicitantes
de este proyecto, desarrollaron dentro del proyecto URBANO (CICYT 2002-2004) un
robot gua para ferias y museos. Se trata, por tanto, de un campo de aplicacin
innovador, donde los avances cientficos y tecnolgicos que se alcancen pueden
aportar ventajas competitivas a las empresas interesadas en hacer uso de los
resultados del proyecto.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 17
MobiNet
Mobile Robotics Technology for Health Care Services Research Network
Objetivo: Red de bsqueda para establecer cooperacin cientfico-tecnolgica de
manera que se pueda disear un robot mvil completamente autnomo para
cuidado mdico.
Figura 3: Silla de ruedas monitorizada automtica.
Descripcin:
Se instaur una red para realizar el diseo de un prototipo de un robot mvil
inteligente autnomo con altas capacidades de maniobrabilidad y manipulabilidad.
Se analizaron mtodos para la percepcin, representacin del entorno y sensores.
Los siguientes fueron planificacin de tareas, evitar obstculos, visin basada en
navegacin
La red MobiNet Network cre un extenso rango de aplicaciones para los cuidados
mdicos. Adems los usuarios de la red estuvieron unidos a la industria interesada y
en contacto cercano con el grupo de usuarios, para aprovechar su conocimiento en
el desarrollo de la actividad.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 18
CRAWLER
Robot Autnomo para Inspeccin de Piezas de Fibra de Carbono mediante Tcnicas
Pulso-Eco
Objetivo: La construccin de un robot autnomo para inspeccin autnoma,
mediante tcnicas pulso-eco, de piezas de fibra de carbono semiplanas de las
aeronaves.
Figura 4: Trozo de pieza de fibra de carbono, de tipo semi-plano, lista para la inspeccin.
Descripcin:
Tradicionalmente, la inspeccin ultrasnica de piezas semiplanas se lleva a cabo,
bien mediante un brazo robot, o bien de manera manual, aunque se trata de una
inspeccin punto a punto. Algunas de estas piezas llegan a tener 17 x 3.5 m. Se trata
siempre de piezas de fibra de carbono con acabado semiplano, y en algunos casos,
con la posibilidad de existencia de man-holes y mouse-holes. El objetivo de este
proyecto fue disear un robot mvil autnomo que, llevando acoplado el rodillo
anterior, sea capaz de recorrer por completo la pieza a inspeccionar. Su
caracterstica principal fue que el robot se desplazase hasta la pieza, en lugar de la
pieza hasta el robot, lo que haca innecesario disponer de una infraestructura fija de
grandes dimensiones en la nave. Como efecto colateral, se disminuye tambin el
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 19
coste de inspeccin. Como ejemplo de referencia de pieza a inspeccionar se tom el
revestimiento del estabilizador horizontal del A380.
Blacky
An Interactive Robot for Trade Fairs
Objetivo: Diseo de un prototipo de robot mvil para que se desplace en medios concurridos y parcialmente estructurados.
Figura 5: Robot Blacky en la feria Madrid por la Ciencia en los pabellones de IFEMA
Descripcin:
El objetivo era que fuese capaz de moverse en medios complejos, como ferias, e
interactuar con la gente de su alrededor. El primer aspecto innovador fue la
navegacin del robot. Desde el punto de vista del control reactivo, los obstculos no
son slo estticos, sino que su movimiento es completamente impredecible. Desde
el punto de vista de la navegacin, el robot est normalmente rodeado de gente, y
esto no le permita ver a travs de sus sensores las guas que permiten su
localizacin. Desde el punto de vista de la interaccin con la gente, el sistema tena
un sistema de reconocimiento de voz simple, que le permite enviar rdenes al
robot; as como sistemas de sntesis de voz para describir la feria a los visitantes
mientras los guaba. Adems, un sistema experto se encargaba de manejar las
emociones del robot, no slo en la voz sino en el lenguaje empleado.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 20
1.3 Marco del proyecto
Este proyecto ha sido desarrollado como proyecto final de carrera del segundo ciclo
de Ingeniera en Automtica y Electrnica Industrial, en el grupo de control
inteligente del departamento de Automtica, Ingeniera Electrnica e Informtica
industrial de la Escuela Tcnica Superior de Ingenieros Industriales de la
Universidad Politcnica de Madrid.
1.4 Motivacin y objetivos
El proyecto consiste en disear, desarrollar y evaluar una aplicacin para PDA, que
permita a un operario controlar remotamente un robot mvil.
El principal objetivo de la aplicacin es permitir que un operador pueda controlar un
robot mvil sin verse obligado a permanecer en un lugar fijo. La portabilidad del
PDA permite al operador moverse en el mismo escenario de operacin del robot.
1.5 Alcance del proyecto
Investigacin inicial: Previamente incluso a la planificacin de este proyecto, se ha
realizado un estudio sobre el estado actual de desarrollo de aplicaciones en PDA.
Formacin: Aunque antes de comenzar el proyecto ya se contaba con formacin en
programacin orientada a objetos y C, nunca se haba trabajado en C#. Asimismo ha
sido imprescindible tener unos conocimientos bsicos sobre RDK.
Seleccin Hardware: En esta fase se procedi a la seleccin y compra de una PDA
que cumpliese con los requisitos necesarios, para ejecutar la aplicacin.
Desarrollo Software: Incluye un breve diseo previo en UML y su posterior
correccin y ampliacin, as como el desarrollo software de la aplicacin en C#.
Pruebas: Pruebas de funcionamiento en modo simulacin (Con entorno y Robots
simulados) y en modo real, para la posterior correccin, depuracin y posibles
mejoras a partir de dichas pruebas.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 21
Redaccin de la memoria del proyecto. Una vez conseguidos los hitos anteriores y
tras haber realizado las pruebas, se analizan los resultados y se obtienen
conclusiones a partir de los mismos.
1.6 Organizacin del documento
El presente documento queda dividido en siete apartados que describen la
aplicacin.
El primer captulo, denominado Introduccin incluye un breve prembulo como
iniciacin al proyecto, adems de la descripcin de algunos proyectos realizados
previamente en el grupo de control inteligente del departamento de automtica.
Adems, tambin se har una breve descripcin acerca del marco del proyecto, las
principales motivaciones que han llevado a su realizacin, as como el alcance del
mismo.
En el segundo captulo denominado Estado Actual se incluye la descripcin de
algunos proyectos realizados actualmente por el grupo de control inteligente. Y se
trata de dar nociones bsicas sobre elementos o conceptos necesarios para este
proyecto, como son: los robots operativos actualmente, la arquitectura del sistema,
el entorno de trabajo, OpenRDK y los diferentes niveles de autonoma, una vez
conocido todos los elementos se estudiarn las Necesidades.
El tercer captulo denominado Hardware se centra en la explicacin de los
requisitos del hardware de la PDA, as como en la seleccin y compra de la misma.
En el cuarto captulo denominado Diseo software, se intenta justificar el uso de
los lenguajes de programacin y posteriormente se describe la aplicacin a travs
de diagramas UML.
Quinto captulo: Descripcin de la aplicacin, en este apartado queda descrito a
fondo todas las funcionalidades y modos de la aplicacin a modo de manual.
Sexto captulo: Conclusiones y Lneas futuras en este captulo se obtienen
conclusiones, y se explican posibles lneas futuras de la aplicacin.
CAPTULO 1. INTRODUCCIN
Juan Ignacio Forcn Carvalho 22
Anexos, se incluyen los siguientes documentos: Planificacin a travs del diagrama
de Gannt, estructura de descomposicin del proyecto EDP, presupuesto, referencias
y biografa.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 23
ESTADO ACTUAL
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 24
2 Estado actual
2.1 Proyectos actuales
Actualmente en el grupo de control inteligente de Disam se estn desarrollando los
siguientes proyectos.
Realizacin de Mapas 3D
De la Puente est trabajando en mapeado 3D y localizacin simultnea. A da de
hoy ha desarrollado una aplicacin basada en aproximacin de mapeado 3D para
obtener modelos compactos de semi-estructuras, tales como edificios parcialmente
destrozados, donde se llevan robots mviles para realizar actividades de rescate.
Para conseguir los datos en 3D, se usa un escner lser, empleando un sistema de
adquisicin de datos nodal montado en robots reales y simulados [23][24]. El mapa
3D se construye con nubes de puntos 3D. Esas nubes de puntos se extraen del
rango del escner lser. Cada escaneado tiene un ngulo diferente de inclinacin,
cubriendo un rea tridimensional diferente. Un ejemplo del tipo de mapa 3D
construido de esta manera se muestra en la figura 6.
Adems se ha desarrollado un algoritmo de deteccin de suelo para detectar reas
seguras de navegacin para los robots mviles [25]. Las reas navegables se
muestran en una cuadrcula bidimensional que puede ser enviado a la interfaz del
operador o procesado por el path planning y mdulos de movimiento.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 25
Figura 6: Mapa 3D
Aplicacin Desktop Interface
Alberto Valero Gmez, ha desarrollado una interfaz para PC destinada a la
teleoperacin de robots por un operador. Esta aplicacin ser posteriormente
estudiada con mayor detalle, debido a que la aplicacin para PDA desarrollada en
este proyecto debe cumplir con funcionalidades similares.
Robonauta
Como la base de Urbano ha dejado de fabricarse al igual que sus piezas, ha surgido
la necesidad de comprar un nuevo robot en el que continuar con la lnea de
investigacin del mismo. Este nuevo robot llamado Doris, tendr funcionalidades
similares; navegacin, capacidad de interactuar con personas, sistema de
reconocimiento de voz y sintetizador de voz, etc.
Actualmente est en fase de construccin, de momento se ha fabricado la cara, y
entre otras cosas se est trabajando en el sistema de visin para que sea capaz de
detectar gestos de personas, formas con el fin de mejorar la experiencia en la
interaccin con las personas.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 26
2.2 Proyectos similares
Antes de comenzar con el proyecto, se busco informacin sobre proyectos similares
que sirviese como punto de partida. Muchas interfaces de PDA basadas en la
interaccin robot-humano han sido desarrolladas para diferentes tipos de
aplicaciones.
Por ejemplo Fong [2][17] cre una aplicacin que permita interactuar con el robot,
con la particularidad de que el robot no colaboraba con la tarea, era simplemente
teleoperado.
Figura 7: Interfaz de teleoperacin de Fong.
Perzanowski [18] ha implementado una interfaz para PDA, capaz de identificar
gestos o texto del usuario para interactuar con el robot. Adems esta aplicacin
permite manejar ms de un robot simultneamente.
Figura 8: Aplicacin de Perzanowski.
Huttrenrauch and Norman [19] implementaron una interfaz llamada PocketCERO
que ofreca diferentes vistas para un robot de servicio usado en entornos de
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho
edificios u oficinas. Ellos
interfaz mvil.
Figura
Skubic, Bailey and Chronis [
smbolos y marcas daban ordenes de te
Figura 10: En la primera imagen, los robots avanzan en formacin, en la segunda siguen altercera y cuarta, le siguen formando un crculo o un cuadrado.
Calinon and Billard [22], desarrollar
gestos en una persona para que los repitiese un robot humanoide.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho
edificios u oficinas. Ellos defendan la idea de que un robot mvil, deba tener una
Figura 9: Aplicacin de Huttrenrauch and Norman.
Chronis [20,21], disearon una aplicacin en la que en base a
y marcas daban ordenes de teleoperacin al robot. (Figura 10
En la primera imagen, los robots avanzan en formacin, en la segunda siguen altercera y cuarta, le siguen formando un crculo o un cuadrado.
Calinon and Billard [22], desarrollaron una aplicacin en la que la PDA
gestos en una persona para que los repitiese un robot humanoide.
Figura 11: Interfaz de Calinon and Billard.
27
que un robot mvil, deba tener una
, disearon una aplicacin en la que en base a
leoperacin al robot. (Figura 10).
En la primera imagen, los robots avanzan en formacin, en la segunda siguen al lder, y en la
on una aplicacin en la que la PDA detectaba los
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 28
Por ltimo, tenemos una aplicacin desarrollada por Julie A.Adams, para robots de
interior [3] que consta de tres vistas diferentes como podemos ver en la figura 12.
Figura 12: Interfaz desarrollada en la universidad de Vanderbilt por Julie A.Adams.
La primera vista, contiene informacin de los sensores lser y snar del
robot.
La segunda vista muestra el vdeo del robot.
En la tercera vista, las medidas lser son superpuestas a la imagen de vdeo.
Una vez realizada esta aplicacin, los autores realizaron un estudio con un grupo de
voluntarios [4], para posteriormente analizar los resultados obtenidos y sacar
conclusiones [5].
2.3 Entorno de trabajo
Gran parte de los dispositivos portables, tales como las PDAs, llevan instalado
Windows Mobile en cualquiera de sus versiones (2003, 5, 6). Por esto a la hora de
elegir el entorno de programacin era necesario que el programa generado pudiese
funcionar en dicho sistema operativo. En este caso, el lenguaje elegido ha sido C# (C
Sharp), disponible en la herramienta Visual Studio 2005 de Microsoft.
Con respecto a la PDA, aunque con la PDA real se han realizado pruebas desde el
principio del diseo de la aplicacin, ha sido fundamental el uso de la PDA virtual
(Figura 19), disponible en Visual Studio al instalar Windows Mobile SDK.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 29
Figura 13: PDA virtual generado por Visual Studio 2005.
El disponer de una PDA virtual ha permitido depurar la aplicacin en tiempo de
ejecucin, as como evitar tener que transferir continuamente el programa a la PDA
real para hacer pequeas pruebas. Por el contrario; el principal inconveniente de la
PDA virtual es su lentitud, lo que ha hecho que fuese imprescindible realizar
comprobaciones con la PDA real a lo largo de todo el proceso de desarrollo.
En cuanto al entorno de trabajo de los robots, aunque el entorno y los robots reales
siempre son la mejor forma de probar la aplicacin, debido a que las simulaciones
se asemejan pero nunca son perfectas; para realizar pruebas y poder depurar la
aplicacin de forma sencilla, prctica y sin riesgo de daar el robot, se ha utilizado
un entorno simulado as como robots simulados.
Se ha trabajado con dos entornos simulados, Player/Stage simulator [8](Figura 14),
utilizado en todo el proceso de diseo y depuracin, y USARSim (Unified System for
Automation and Robot Simulation) (Figura 15), utilizado para realizar las pruebas
finales de la aplicacin.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho
USARSim es una herramienta capaz de simular los robots y el entorno con gran
precisin. Est basada en e
utilizada en la RoboCup Rescue Virtual Robot Competition [
extendida en el mundo de la investigacin con robots de exploracin
Como hemos dicho anteriormente, trabajar con modelos simulados tendr el
inconveniente de que tanto el entorno
realidad, pero por el contrario
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho
Figura 14: Simulador Player/Stage.
es una herramienta capaz de simular los robots y el entorno con gran
basada en el motor del juego para ordenador Unreal Tournament, es
utilizada en la RoboCup Rescue Virtual Robot Competition [9][10
extendida en el mundo de la investigacin con robots de exploracin
Figura 15: Simulador USARSim.
Como hemos dicho anteriormente, trabajar con modelos simulados tendr el
ue tanto el entorno como el robot, nunca ser
el contrario tendremos otras ventajas como:
30
es una herramienta capaz de simular los robots y el entorno con gran
Unreal Tournament, es
10] y est muy
extendida en el mundo de la investigacin con robots de exploracin[11][12][13].
Como hemos dicho anteriormente, trabajar con modelos simulados tendr el
como el robot, nunca sern igual a la
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 31
Poder utilizar robots con los requisitos deseados, sin necesidad de disponer
de ellos fsicamente.
No pondremos en peligro la integridad del Robot ni de los elementos del
entorno.
Podremos modificar o utilizar diferentes entornos al gusto, segn nuestras
necesidades.
2.4 OpenRDK
En este apartado vamos a proceder a dar una visin general de OpenRDK (Open
Robot Development Kit), el sistema software utilizado por los robots. Este software,
es libre y ha sido desarrollado conjuntamente por la universidad de La Sapienza de
Roma y por el grupo de control inteligente de la ETSII de la UPM, ambos grupos de
investigacin comparten inters por la robtica mvil, aunque sus lneas de
investigacin son sustancialmente diferentes. Este software lo podemos encontrar
en Source Forge[14].
OpenRDK ha sido desarrollado siguiendo el asesoramiento de los usuarios y es un
software modular centrado en el desarrollo rpido de sistemas robticos
distribuidos. OpenRDK viene siendo utilizado desde hace varios aos y ha sido
aplicado con xito en diversas aplicaciones con robots heterogneos, tales como:
Plataformas mviles sobre ruedas: Pioneer 2-A, i-Robot PatrolBot, Pioneer 2-
DX.
Vehculos de orugas: Tarantula, el kenaf.
Vehculos areos no tripulados: AscTec Quad-rotor.
Robots Legged: Sony Aibo, Aldebaran Nao.
Simulacin de robots en Player/Stage, USARSim, Webbots.
Algunas de las caractersticas de OpenRDK son:
Un agente es una lista de mdulos que son instanciados, junto con los
valores de sus parmetros e interconexin. Este agente queda definido en
un archivo de configuracin.
Los mdulos se comunican entre s mediante un repositorio,
(Figura 16), en la que los mdulos almacenan algunas de sus variables
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 32
internas (parmetros, entradas y salidas) llamadas propiedades. Un
mdulo define sus propiedades durante la inicializacin. Despus podr
acceder a las suyas y a las de otros mdulos del mismo o diferentes agentes
a travs de un esquema de URL global. El acceso a las propiedades de un
mdulo remoto es transparente, lo que permite reducir el uso de memoria
compartida.
Cada mdulo normalmente implementa una tarea o comportamiento, como
localizacin, mapeado, planificacin de trayectorias y as sucesivamente. Todos
estos mdulos son implementados en el ncleo de OpenRDK. El conjunto de todos
los mdulos necesarios constituye el agente.
Todos los agentes por lo general tienen:
Un mdulo de comunicacin con el robot: simulados o reales.
Un conjunto de mdulos para procesar los datos del sensor.
Un conjunto de mdulos que utiliza los datos procesados al mando del robot.
En la siguiente figura se muestra un ejemplo de un agente que se comunica con un
robot. El proceso es el siguiente: Primero el agente recupera los datos del lser lo
siguiente que hace el mdulo scan-matcher es localizar el robot, despus el mdulo
de mapeado construye el mapa, y a continuacin el mdulo de exploracin mueve
el robot de acuerdo con el mapa y la posicin del robot.
Figura 16: Ejemplo de un agente RDK
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 33
Sistema de navegacin
En esta seccin vamos a presentar la arquitectura de nuestro sistema de
navegacin. Esta arquitectura ha sido implementada por OpenRDK, y sigue una
estructura de capas. En donde cada capa recibe una entrada de la capa anterior, la
procesa y genera una salida para la siguiente capa. Podemos ver esta estructura en
la Figura 17.
Figura 17: Arquitectura del sistema.
Como hemos dicho anteriormente, cada capa o mdulo tiene un cierto nmero de
entradas, las cuales son procesadas para generar una salida. El mdulo de mapeado
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 34
tendr como entradas las medidas lser y la posicin del robot, y entregar como
salida el mapa correspondiente. El modulo de exploracin recibir el mapa y la
posicin del robot y dar como salida un punto de destino. Mientras que el modulo
de planificacin de trayectorias, tomar como entradas el punto de destino deseado
y el mapa para determinar una trayectoria segura para llegar al objetivo.
En esta estructura, la capa de HRI (Human Robot Interaction) est a cargo de la
interaccin entre el operador y el robot:
Recibe las entradas de la interfaz, y las manda a la capa correspondiente.
Recibe las salidas de cada capa: target point, path, speed, errors, y las
mandas a la interfaz.
Maneja los niveles de autonoma.
Capa de Exploracin
La tarea de exploracin depende del objetivo de la misin. Uno podra construir un
mapa de un entorno desconocido, en cuyo caso slo necesitara maximizar el rea
cubierta por los robots mientras se mantiene la coherencia del mapa. O uno podra
querer implementar un equipo de robots con el fin de crear un grupo regido por
una estructura de comunicaciones, o para buscar vctimas en una zona de desastre.
Dependiendo del objetivo, los algoritmos de exploracin variarn en consecuencia
[15].
Actualmente, nuestro grupo se ha centrado en las misiones de robots de rescate. Se
tratan de misiones de Exploracin y bsqueda". En este tipo de misiones el
objetivo es explorar en el entorno a la vez que se buscan caractersticas
interesantes en su interior. Este problema ha sido modelado como una exploracin
multi-objetivo.
Nuestro sistema de exploracin esta modelado como una mquina de estados que
podemos ver en la siguiente figura.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 35
Figura 18: Capa de Exploracin.
Capas de planificacin de trayectorias y navegacin
Las capas de planificacin de trayectorias y Navegacin han sido desarrolladas en
cooperacin con el laboratorio robtico de la universidad de La Sapienza en Roma.
Estas capas son las responsables del movimiento del robot hasta un punto de
destino. En los siguientes diagramas de estado podemos ver cmo actan.
Figura 19: Capa de planificacin de rutas.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 36
Figura 20: Capa de navegacin
Capa de navegacin segura y capas Interfaz
La capa de movimiento seguro, es la encargada de evitar las colisiones. Esta capa
recibe como entrada la velocidad lineal y angular, las cuales son modificadas en
funcin de los objetos detectados por los sensores del robot, entregando como
salida las nuevas velocidades lineal y angular. La capa de interfaz del robot tiene
como fin gestionar las comunicaciones con los robots.
Localizacin y Mapeado
Todas estas capas trabajan en base a un mapa donde el robot est localizado. Esto
implica que el sistema tiene que localizar el robot y construir el mapa a partir de los
datos obtenidos por los sensores. Actualmente, la navegacin est basada en un
mapa de celdas. En el cual se incluye informacin 2D, obstculos, agujeros y
deteccin del suelo e informacin semntica.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 37
En nuestro grupo de investigacin han sido desarrolladas diversas tcnicas de
localizacin. Todas ellas han utilizado los datos proporcionados por el escner de
lser y la funcin de odometra.
ltimamente se viene trabajando en una solucin muy novedosa, la localizacin
simultnea y la creacin de Mapa (SLAM).
Esta nueva tcnica utiliza un conjunto de splines para describir la geometra
detectada por el lser. Con esto se consigue que los mapas obtenidos sean ms
compactos que los tradicionales.
En cooperacin con el Laboratorio de Robtica de la universidad de La Sapienza de
Roma ha sido desarrollado un algoritmo de localizacin y mapeado basado en el
scan matching.
El software se distribuye bajo el nombre de "GMapping" y es uno de los algoritmos
ms populares utilizados para lseres basados en SLAM.
2.5 Autonoma Modos de operacin
Uno de los objetivos de este proyecto es teleoperar o supervisar un robot, por eso
en este apartado vamos a conocer los posibles modos de operacin que nos brinda
RDK. Para ello lo primero es conocer el concepto de autonoma.
Autonoma
El nivel de autonoma del robot, puede variar segn las necesidades del operador.
Un robot, ser completamente autnomo cuando l tenga completo control sobre
s mismo, y no necesite rdenes del operador para realizar una tarea. Por el
contrario, el nivel de autonoma de un sistema ser nulo cuando el operador
maneje el robot sin ningn tipo de ayuda ni limitacin.
En la siguiente figura, podemos ver una representacin del nivel de autonoma. En
el lado izquierdo el operador tiene control total del robot Teleoperacin, mientras
que en el lado derecho el agente tiene el control total sobre el robot Autnomo.
En medio tenemos Teleoperacin asistida donde el usuario teleopera con las
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 38
ayudas del robot, y Autonoma asistida donde el usuario simplemente enva
comandos y el robot es el responsable de sus movimientos.
Figura 21: Niveles de autonoma
Modos de operacin
En RDK Disponemos de cuatro posibles modos de operacin, con diferentes grados
de autonoma:
Teleoperacin: El operador enva comandos de velocidad y desplazamiento
al Robot.
Teleoperacin segura: El operador enva comandos de velocidad y
desplazamiento al Robot al igual que en Teleoperacin, pero el sistema
evitar que el robot choque contra los obstculos; reduciendo la velocidad
del mismo o incluso detenindolo si fuese necesario al superar la distancia
de seguridad.
Control compartido; dentro de este modo hay dos variantes posibles:
o El operador establecer un punto o puntos de destino al robot, y el
sistema ser el encargado de calcular la trayectoria y controlar los
movimientos para que el robot llegue al destino.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 39
o El operador impone al robot una trayectoria. El sistema controlar
sus movimientos para que el robot siga la trayectoria deseada
siempre que sea posible.
Autnomo: En este modo el robot se desplaza por el escenario con el
objetivo de maximizar el rea explorada.
2.6 Necesidades
Como decamos al comienzo del documento, el objetivo de este proyecto es tratar
de conseguir que un operador pueda controlar un robot mvil sin permanecer en
un lugar fijo. Actualmente, en el grupo de control inteligente existe una interfaz
pensada para porttil o PC de sobremesa, creada por Alberto Valero Gmez,
llamada Desktop Interface [16] (Figuras 22, 23 y 24).
Esta interfaz, permite al usuario, teleoperar y/o supervisar hasta cuatro robots a la
vez.
Adems, tiene tres posibles modos de funcionamiento, que el operador
seleccionar dependiendo de sus necesidades:
En el modo Comp. (Figura 22) disponemos de tres vistas diferentes llamadas,
Local view, Global view y 3D view.
o Local view: esta vista, est centrada en el robot que est
seleccionado en cada instante; en ella podemos ver las medidas lser
y snar, as como el mapa generado a su alrededor.
o Global view: se visualiza el mapa generado por todos los robots y la
posicin de cada uno de ellos.
o 3D view: nos da la posibilidad de ver a vista de pjaro con un pseudo
3D el mapa explorado, las medidas lser y snar, y el vdeo recibido
por el robot.
Modo Team view: (Figura 23) muestra en toda la zona de dibujo el mapa
generado por los robots, la ubicacin de cada uno de ellos y la trayectoria
seguida por cada robot, as como la zona explorada en diferentes colores.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 40
Modo 3D view: (Figura 24) podemos ver en toda la zona de dibujo la vista 3D
view.
Los robots puede ser operados en los cuatro modos citados en el apartado anterior:
Teleoperation, Safe teleoperation, Shared control y Full Autonomy.
Adems con esta interfaz el operador dispone de mucha informacin adicionar que
le ayuda a completar su tarea. Por ejemplo:
El usuario puede ver fcilmente la velocidad lineal y angular de los robots,
as como el nivel de batera de cada uno de ellos.
Se puede ver la trayectoria seguida por cada robot.
Se pueden hacer distintos niveles de zoom en cada ventana.
En la ventana pseudo 3d puede modificarse la perspectiva con la que se ve al
robot.
Figura 22: Interfaz con lecturas lser (rojo) y lecturas snar (verde)
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 41
Figura 23: Team View.
Figura 24: 3D View.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 42
El objetivo de este es poder crear una aplicacin que disponga de funcionalidades
similares a la comentada anteriormente para PC, pero teniendo en cuenta las
limitaciones de la PDA. (Figura 25)
Figura 25: Integracin sistema PDA
Aunque el tamao de la PDA y su reducida capacidad de clculo impongan fuertes
restricciones a la hora disear una interfaz de este tipo; la portabilidad de la misma
puede compensar estos inconvenientes, al permitir al operador desplazarse por el
mismo escenario que el robot, otorgndole la posibilidad de obtener una visin
parcial o total del entorno y adquirir informacin que los sensores no seran capaces
de transmitirle.
Este mejor conocimiento del entorno puede mejorar el control del robot, y de esta
manera compensar las limitaciones de la PDA y de su interfaz.
Para conseguir este objetivo nos surgen las siguientes necesidades.
Necesidades Hardware:
o El dispositivo en el que se ejecute la aplicacin debe ser portable, ligero y
el operador debe poder utilizarlo sin tener que detenerse.
o Todas las comunicaciones deben ser inalmbricas.
CAPTULO 2. ESTADO ACTUAL
Juan Ignacio Forcn Carvalho 43
o La autonoma del dispositivo debe ser al menos igual a la de los robots.
(No sera prctico un dispositivo en el que la duracin de la batera fuese
inferior a la del robot a controlar).
Necesidades Software:
o La aplicacin para PDA debe tener funcionalidades parecidas a la de PC.
o La Interfaz diseada en la aplicacin debe aportar al operador suficiente
informacin para poder desarrollar su tarea. Y a su vez disponer de la
ergonoma suficiente para poder manejarla con comodidad, aunque el
operador se est desplazando por el escenario.
o Las limitaciones de procesador de un dispositivo portable como es una
PDA no pueden ir en detrimento de la calidad de la informacin. Es
preferible mostrar slo la informacin estrictamente necesaria, a tener
un sistema muy lento que hara imposible la teleoperacin.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 44
HARDWARE
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 45
3 Hardware
En este apartado se describen, los robots utilizados, la arquitectura del sistema y el
proceso de seleccin de la PDA
3.1 Robots
En el grupo de control inteligente de DISAM, se encuentran operativos los
siguientes robots.
Urbano
Urbano est compuesto por la Plataforma B21r del fabricante iRobot. El
computador base es un PC Pentium con sistema operativo Linux; el computador
secundario es un PC Pentium con Windows.
En DISAM-UPM se han desarrollado una cabeza y dos brazos con los que el robot
puede hacer gestos e interaccionar con personas.
Figura 26: Robot Urbano.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 46
Actualmente este modelo ha dejado de fabricarse, adems el grupo de control
inteligente ha adquirido un nuevo Robot ms reducido, con prestaciones similares
que tomar el testigo de urbano el da que deje de funcionar.
Doris
Este nuevo Robot, al que se le ha llamado Doris, est compuesto por una base
PatrolBot, de la compaa Mobile Robots. Se ha desarrollado un cuerpo de
metacrilato y una cabeza para que pueda interactuar con las personas. Dispone de
un PC con sistema operativo Linux.
Figura 27: Robot Doris.
Nemo
Por ltimo este robot es el modelo P3-AT de Pioneer. Actualmente con este robot
se est trabajando en la creacin de mapas 3D. Para su funcionamiento dispone de
un mini porttil con Linux que va situado sobre su plataforma.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 47
Figura 28: Robot Nemo.
La aplicacin desarrollada para PDA, puede ser utilizada en cualquiera de los tres
robots. Sin embargo est ms dirigida a Doris y Urbano; ya que al ser robots - guas
pensados para trabajar en museos o visitas, la PDA es perfecta para que un
supervisor pueda teleoperarlo en un momento dado.
En la siguiente tabla podemos ver las caractersticas tcnicas de los robots:
CARACTERSTICAS URBANO DORIS NEMO
Length 52.5cm 59cm 50cm
Width 52.5cm 48cm 49cm
Altura
106cm 38cm 26cm
Peso
122.5kg 46kg 12kg
Autonoma 6 hrs 3.5hrs 4-8hrs
Bateras 4 bateras
plomo-cido
24v batera
plomo-cido
12v batera
plomo-cido
Velocidad mxima
de traslacin 90cm/s 1,7m/s 1,2m/s
Comunicaciones WiFi WiFi WiFi
Tabla 1: Caractersticas tcnicas de los Robots [6].
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho
3.2 Robots simulados
Se han utilizado dos robots simulados, el P3AT y el
Nemo - P3AT (Simulado)
Al P3AT Simulado (Figura
frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con
probar el snar tambin a la hora de realizar pruebas en modo simulado.
ATRVJr3D (Simulado)
Este robot (Figura 30) es utilizado en el grupo, porque su mayor tamao permite
instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta
tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas
con esta plataforma.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho
simulados
Se han utilizado dos robots simulados, el P3AT y el ATRVJr3D [7].
P3AT (Simulado)
Al P3AT Simulado (Figura 29), se le ha aadido con respecto al real, 6 sensores snar
frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con
probar el snar tambin a la hora de realizar pruebas en modo simulado.
Figura 29: Robot P3AT Simulado.
ATRVJr3D (Simulado)
) es utilizado en el grupo, porque su mayor tamao permite
instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta
tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas
Figura 30: Robot ATRVJr3D Simulado.
48
), se le ha aadido con respecto al real, 6 sensores snar
frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con el fin de poder
probar el snar tambin a la hora de realizar pruebas en modo simulado.
) es utilizado en el grupo, porque su mayor tamao permite
instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta
tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 49
Para finalizar, en la siguiente tabla, podemos ver los tipos de sensores que llevan
instalados cada uno de los robots reales y simulados utilizados.
ROBOT DATOS PROPOCIONADOS
Urbano Odometra
B2R1(Real) Lser Frontal (180)
24 Sensores snar superiores
24 Sensores snar inferiores
Cmara
Doris Odometra
PatrolBot (Real) Lser Frontal (180)
Sensores snar frontales
Sensores snar laterales
Sensores snar traseros
Cmara pan/tilt
Nemo Odometra
P3AT (Real) Tilted Lser (180)
Cmara pan/tilt
Nemo Odometra
P3AT (Simulado) Tilted Lser (180)
6 Sensores snar frontales
4 Sensores snar laterales
6 Sensores snar traseros
Cmara pan/tilt
ATRVJr3D Odometra
(Simulado) Tilted Lser (180)
5 Sensores snar frontales
10 Sensores snar laterales
2 Sensores snar traseros
Cmara pan/tilt
Tabla 2: Datos proporcionados por los robots
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 50
3.3 Arquitectura del sistema
Tanto el robot Urbano, como Nemo y Doris, llevan a bordo un ordenador con
sistema operativo Linux, en el que se encuentran en ejecucin los mdulos
necesarios para su navegacin y comunicacin. Para poder teleoperar o supervisar
el robot desde la PDA, deberemos estar conectados al mdulo de comunicaciones
del robot a travs de la red WiFi. (Figura 31). Hay que destacar, que la aplicacin
para PDA est diseada para poder operar solamente un robot simultneamente;
debido al reducido tamao y las limitaciones de clculo de la misma para manejar
ms de uno a la vez.
Figura 31: Arquitectura del sistema.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 51
3.4 Requisitos y seleccin de PDA
A la hora de seleccionar la PDA (Personal Digital Assistant) se baraj la opcin de
comprar diferentes modelos, pero todos ellos deban cumplir con los siguientes
requisitos, imprescindibles para esta aplicacin:
Wifi: Como se ha explicado anteriormente, los robots disponen de un
ordenador On board, en el que se encuentra en ejecucin el agente que
contiene los diferentes mdulos necesarios para su funcionamiento (Mdulo
de navegacin, modulo de planificacin de rutas). Para poder operar con
nuestra PDA dicho robot, deberemos conectarnos con el agente a travs de
una red Wifi.
Pantalla tctil: Es imprescindible para que el usuario pueda interactuar con
la aplicacin. Tambin ser importante el tamao de la pantalla, siempre
que no sea excesivo y vaya en detrimento de la portabilidad.
Procesador y memoria: Como a priori no haba una forma precisa de
determinar el tipo de procesador y cantidad de memoria necesarios para
esta aplicacin, se opt por seleccionar procesadores de gama media alta
para PDAs, debido a que la aplicacin tendra una elevada carga de
operaciones grficas y de comunicaciones.
Lector de tarjeta sd: En caso de disponer de l, facilitar el trabajo durante el
periodo de pruebas, para no tener que estar sincronizando la PDA con el
ordenador constantemente. Y ser imprescindible en caso de que deseemos
almacenar los mapas generados por la aplicacin, debido a la poca cantidad
de memoria de la que generalmente disponen las PDAs.
Ligera: Al ser un elemento que el operador deber cargar durante el periodo
en el que desee operar o supervisar el Robot, ser importante que el peso
sea el mnimo posible.
Sistema operativo: En el caso del sistema operativo se eligi Windows
Mobile. Teniendo en cuenta que es un sistema operativo muy extendido
para PDAs, esto nos proporcionar la capacidad de usar la aplicacin en
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 52
diferentes dispositivos mviles, como las HTC que tambin utilizan dicho
S.O. En cuanto a la versin de Windows Mobile, se consider vlida
cualquiera de las dos ms recientes, la 5 o la 6.
Finalmente, tras un proceso de seleccin, se tomo la decisin de adquirir la PDA HP
iPAQ 214 Enterprise; porque adems de cumplir con todos los requisitos y disponer
de unas muy buenas prestaciones (Como el potente procesador), no tena ningn
accesorio innecesario como Cmara, GPS o telfono; que no serviran ms que para
encarecer el precio final, aumentar el peso, o reducir el rendimiento global. A
continuacin podemos ver una imagen de la misma.
Figura 32: PDA HP iPaq 214
En la siguiente pgina podemos ver una tabla con las principales caractersticas de
la PDA HP IPaq 214.
CAPTULO 3. HARDWARE
Juan Ignacio Forcn Carvalho 53
ELEMENTO CARACTERSTICAS
Dimensiones (Ancho x Profundidad x
Altura) 7.6 cm x 1.6 cm x 12.6 cm
Peso 192 g
Procesador Marvell XScale PXA310 624 MHz
ROM 256 MB
Memoria RAM 128 MB
Display 640 x 480 4" matriz activa TFT
Imagen Color 18 bits
Audio salida Altavoces
Audio entrada Micrfono
Conectividad Inalmbrica IEEE 802.11b, IEEE 802.11g, Bluetooth 2.0 EDR
Dispositivo de entrada Pantalla sensible al tacto, lpiz, pad de navegacin de 9
vas
Alimentacin CA 120/230 V ( 50/60 Hz )
Batera Ion de litio
Autonoma 8 horas Autonoma 8 horas
Sistemas operativos Microsoft Windows Mobile 6.0
Dimensiones (Ancho x Profundidad x
Altura) 7.6 cm x 1.6 cm x 12.6 cm
Tabla 3: Prestaciones PDA
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 54
SOFTWARE
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 55
4 Diseo software
En este apartado se trata de justificar la eleccin de los lenguajes de programacin
utilizados para el desarrollo de la aplicacin. Tambin se estudiar la estructura y
funcionamiento de la misma a travs de diagramas UML.
4.1 Por qu C#?
Gran parte de los dispositivos portables como las PDAs, llevan instalado
normalmente Windows Mobile en cualquiera de sus versiones, por esto a la hora de
elegir el entorno de programacin era necesario que el programa generado pudiese
funcionar en dicho sistema operativo. Los lenguajes ms utilizados para ello son
Java o C#.
La eleccin entre estos dos lenguajes de programacin es muy subjetiva, sera como
elegir entre Windows o Linux. Pero evaluando las diferencias, y teniendo en cuenta
que sabiendo C++ es muy sencillo programar en C#, que en el grupo se utiliza
Microsoft Visual Studio 2005 y que este entorno ya era conocido, finalmente se
eligi C#.
Ventajas frente a Java
El rendimiento es, por lo general, mejor.
Concepto formalizado de los mtodos get y set, con lo que se consigue
cdigo mucho ms legible.
Gestin de eventos (usando delegados) mucho ms limpia.
CIL (el lenguaje intermedio de .NET) est estandarizado, mientras que los
bytecodes de java no lo estn.
Soporta bastantes ms tipos primitivos (value types), incluyendo tipos
numricos sin signo.
Contiene indicadores que permiten acceder a cualquier objeto como si se
tratase de un array.
La compilacin es condicional.
Sus aplicaciones multi-hilo son simplificadas.
Soporta la sobrecarga de operadores, que aunque pueden complicar el
desarrollo son opcionales y algunas veces muy tiles.
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 56
Permite el uso (limitado) de punteros cuando realmente se necesiten, como
al acceder a libreras nativas que no se ejecuten sobre la mquina virtual.
4.2 Por qu SOAP?
Como se ha descrito anteriormente, la PDA se comunicar con el Robot a travs de
una red WiFi. Por ello era necesario elegir cul sera el protocolo de comunicaciones
a utilizar durante el proceso de seleccin. Se barajaron tres opciones TCP, UDP y
SOAP:
Sockets UDP: proporciona la ventaja de poder mandar una gran cantidad de datos a
travs de la red, pero como apenas aade informacin para la comunicacin, no se
puede asegurar la llegada ni el orden de los mensajes, lo que podra ser un
inconveniente, (Podramos necesitar parar el robot inmediatamente) y sera
necesario contemplar estos casos. Por el contrario, en situaciones en las que es
importante mandar gran cantidad de datos en poco tiempo, (Como cuando se tiene
que enviar el mapa generado por el Robot a la PDA), resultara interesante por ser
el tiempo de envo ms reducido que en TCP o SOAP.
Sockets TCP: tiene la ventaja de permitir enviar grandes cantidades de informacin
de forma fiable, liberando al programador de la dificultad de gestionar la fiabilidad
de la conexin (retransmisiones, prdida de paquetes, orden en el que llegan los
paquetes, duplicados de paquetes...) que gestiona el propio protocolo. Sin embargo
la complejidad de la gestin de la fiabilidad tiene un coste en eficiencia, lo que
puede provocar que las comunicaciones entre la PDA y el Robot sean lentas en
comparacin con UDP.
La decisin final fue utilizar SOAP para la comunicacin. Despus de realizar
pruebas, se pudo comprobar que en nuestro caso los tiempos de envi eran algo
superiores a los de TCP, pero nos proporcionaba grandes ventajas en otros aspectos
como su alto nivel de estandarizacin.
Tanto los datos como las funciones se describen en XML, lo que permite que
el protocolo no slo sea ms fcil de utilizar sino que tambin sea muy
slido. Bastar con generar un archivo .wsdl de los servicios del ROBOT. Una
vez hecho esto, para nuestra aplicacin solo necesitaremos obtener el nuevo
archivo .wsdl y agregarlo a nuestro proyecto, teniendo que hacer mnimas
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 57
modificaciones y sin ser necesario disponer ni conocer cdigo de los
mdulos del servidor.
Sencillo de implementar, probar y usar: Es muy importante la sencillez de
implementacin, en este tipo de aplicacin, en la que la parte del mdulo
RDK es creada modificada y depurada por diferentes personas, ya que cada
poco tiempo surge modificaciones y mejoras que hacen que sea necesario la
revisin y actualizacin del mdulo de transmisin recepcin de la PDA.
Permite la interoperabilidad entre mltiples entornos: SOAP se desarroll
sobre los estndares existentes de la industria, por lo que las aplicaciones
que se ejecuten en plataformas con dichos estndares pueden comunicarse
mediante mensaje SOAP con aplicaciones que se ejecuten en otras
plataformas.
No se encuentra fuertemente asociado a ningn protocolo de transporte: La
especificacin de SOAP no describe como se deberan asociar los mensajes
de SOAP con HTTP. Un mensaje de SOAP no es ms que un documento XML,
por lo que puede transportarse utilizando cualquier protocolo capaz de
transmitir texto.
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 58
4.3 Diagramas UML
En este apartado, se va a proceder a la descripcin de la aplicacin a travs de
diagramas UML.
4.3.1 Diagrama de clases
En la siguiente pgina (Figura 33) podemos ver el diagrama de clases de la
aplicacin. No se han aadido los parmetros de los mtodos por su elevado
tamao para facilitar la lectura del documento. El usuario interaccionar con las
clases frmPdaRobotDriver y frmSetting (Son las clases asociadas a la vista principal
de la aplicacin y a la vista de propiedades).
Tambin cabe destacar la estructura de la aplicacin, en la que todas las clases se
comunican entre ellas a travs de una clase llamada RobotDriverManager, que
adems, ser la encargada de gestionar todas las operaciones de la aplicacin. Con
esta metodologa logramos tener una estructura clara y sencilla.
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 59
Figura 33: Diagrama de clases de la aplicacin.
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 60
4.3.2 Diagrama de estado
Con el siguiente diagrama de estado, podemos ver el funcionamiento de la
aplicacin. Una vez ejecutemos el programa, estaremos en estado desconectado. El
usuario podr conectarse y navegar en vista Laser&Sonar o en vista Mapa. Tambin
puede modificar los parmetros en el men Settings, para lo que previamente
debe estar desconectado.
Figura 34: Diagrama de estados.
Laser Navigate
Settings
Menu Settings
Settings OK
Connect & Laser
Disconnect
Disconnect
Disconnected
Map Navigate
Connect & Map
EXIT
START
MapLaser
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 61
4.3.3 Casos de uso
Para facilitar la comprensin de los diagramas de casos de uso, primero, se ha
creado un diagrama general simplificado (Figura 35); a travs del cual llegamos
rpidamente a las siguientes conclusiones:
El usuario, tiene tres opciones:
Conectarse. Una vez conectado podr navegar en modo Mapa o en modo
Laser&Sonar. Adems, dependiendo del modo de navegacin podr
seleccionar diferentes niveles de autonoma.
Desconectarse.
Abrir el men settings.
Figura 35: Diagrama de casos de uso de la aplicacin
Una vez visto el diagrama general, estudiaremos las funcionalidades de cada uno de
los casos de uso que han sido simplificados. Adems en el anexo IV, tenemos las
tablas de todos los casos de uso.
Full Autonomy
Unsafe/Safe Teleoperation
Shared Control
Settings
Connect
Disconnect
Lase &Sonar Navigate
Map Navigate
Usuario
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 62
Caso de uso Settings
Cuando accedamos al men settings (Figura 36) podremos: cancelar la operacin,
cargar los parmetros por defecto, o salir y guardar.
Figura 36: Casos de uso, Settings.
Caso de uso Laser&Sonar Navigate
Como podemos apreciar en la Figura 37, este caso de uso lo podemos descomponer
principalmente en otros tres.
Figura 37: Casos de uso, Laser&Sonar Navigate.
Ok
Default
Cancel
Usuario
ZoomInLaser
ZoomOutLaserUsuario
ValidateAutonomyMode
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 63
Caso de uso Map Navigate
Cuando estemos navegando en la vista mapa, tendremos las siguientes
posibilidades. (Figura 38)
Figura 38: Casos de uso, Map Navigate.
Caso de uso Shared Control
En el modo de autonoma Shared Control el operador podr establecer un punto
o puntos de destino, as como establecer una ruta a seguir por el robot.
Figura 39: Casos de uso, Shared Control
Save
Refresh
Zoom
ZoomOut
Usuario
SetWayPoint
Usuario
SetPath
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 64
Caso de uso Safe/Unsafe Teleoperation
Los modos de teleoperacin Safe Teleoperation y Unsafe Teleoperation, se han
juntado en un solo caso de uso, debido a que las funcionalidades de ambas son las
mismas.
Figura 40: Casos de uso, Safe/Unsafe Teleoperation.
Forward
Backward
Right
Left
Usuario
Stop
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 65
4.3.4 Diagramas de secuencia
Por cada caso de uso, se ha creado un diagrama de secuencia que describe su
funcionamiento en la aplicacin.
Connect
Figura 41: Diagrama de secuencia. Connect.
: frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule : LaserDraw : ControlModule
ConnectToRobot( )
Url( )
StartSession( )
StartSession( )
getLaserParams( )StartSession( )
getMapParams( )
StartLaser( )
Draw( )
getKinematics( )
getLaserData( )
getSonarData( )
DrawSpeed( )
ShowLaserImage( )
ShowSpeedImage( )
SetAutonomyMode( )SetAutonomyMode( )
DrawObstacles( )
DrawLaser( )
: Usuario
menuConnect_Click( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 66
Disconnect
Figura 42: Diagrama de secuencia. Disconnect.
Settings
Figura 43: Diagrama de secuencia. Settings.
: frmPdaRobotDriver : RobotDriverManager : ControlModule : LaserModule : MapModule
DisconnectFromRobot( )
EndSession( )
EndSession( )
EndSession( )
: Usuario
menuConnect_Click( )
: frmPdaRobotDriver : frmSetting
ShowSettings( )
: Usuario
menuSetting_Click( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 67
Exit
Figura 44: Diagrama de secuencia. Exit.
Laser&Sonar
Figura 45: Diagrama de secuencia. Laser&Sonar.
: frmPdaRobotDriver : RobotDriverManager : ControlModule : LaserModule : MapModule : Usuario
DisconnectFromRobot( )
EndSession( )
EndSession( )
EndSession( )
menuConnect_Click( )
close( )
: frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule : LaserDraw : Usuario
StopMap( ) StopMap( )tabDriveMode_SelectedIndexChanged( )
StartLaser( ) StartLaser( )
Draw( )
ShowLaserImage( )
DrawObstacles( )
DrawLaser( )
getLaserData( )
getSonarData( )
DrawSpeed( )
ShowSpeedImage( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 68
Map
Figura 46: Diagrama de secuencia. Map.
ZoomIn Laser
Figura 47: Diagrama de secuencia. ZoomIn Laser
: frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule
StartMap( )
StopLaser( )
StartMap( )
getRobotPose( )
ShowMapImage( )
StopLaser( )
Navigate( )
DrawRobotInMap( )
: Usuario
tabDriveMode_SelectedIndexChanged( )
: frmPdaRobotDriver : RobotDriverManager : LaserModule
DecRange( )
: Usuario
DecLaserRange( )
cmdDecRange_Click( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 69
ZoomOut Laser
Figura 48: Diagrama de secuencia. ZoomOut Laser
Validate Autonomy Mode
Figura 49: Diagrama de secuencia. Validate Autonomy Mode.
: frmPdaRobotDriver : RobotDriverManager : LaserModule
IncLaserRange( )
IncRange( )
: Usuario
cmdIncRange_Click( )
: frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService
KeyEnter( )
Stop( )Stop( )
SetAutonomyMode( )
SetAutonomyMode( )
: Usuario
cmdAutonomyValidat ion_Click( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 70
Save Map
Figura 50: Diagrama de secuencia. Save Map.
Zoom Map
Figura 51: Diagrama de secuencia. Zoom Map.
: frmPdaRobotDriver : RobotDriverManager : MapModule
SaveMap( )
SaveMap( )
: Usuario
cmdSaveMap_Click( )
: frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario
SetClickOnMapMode( )
ClickOnMap( )ClickOnMap( )
Zoom( )
DrawMapRLE( )ShowMapImage( )
cmdZoomClick( )
picMap_MouseDown( )
ClickOnMap( )ClickOnMap( )
picMap_MouseDown( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 71
ZoomOut Map
Figura 52: Diagrama de secuencia. ZoomOut Map.
Refresh Map
Figura 53: Diagrama de secuencia. Refresh Map.
: frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService
SetClickOnZoomOut( )
ZoomOut( )RefreshMap( )
ShowMapImage( )
getFullMapRLE( )
DrawMapRLE( )
: Usuario
cmdZoomOutClick( )
: frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService
RefreshMap( )
RefreshMap( )getFullMapRLE( )
DrawMapRLE( )
ShowMapImage( )
: Usuario
cmdRefreshMap_Click( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 72
SetWayPoint
Figura 54: Diagrama de secuencia. SetWayPoint.
SetPath
Figura 55: Diagrama de secuencia. SetPath.
: frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario
cmdWayPoint_Click( )SetAutonomyMode( )
SetAutonomyMode( )picMap_MouseDown( ) ClickOnMap( )
ClickOnMap( )
cmdWayPoint_Click( ) WayPoint( )setRobotTargetPoses( )
: frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario
cmdWayPath_Click( )SetAutonomyMode( )
SetAutonomyMode( )picMap_MouseDown( ) ClickOnMap( )
ClickOnMap( )
cmdWayPath_Click( ) WayPath( )setRobotDesiredPath( )
CAPTULO 4. SOFTWARE
Juan Ignacio Forcn Carvalho 73
Forward
Figura 56: Diagrama de secuencia. Forward, modo incremental.
Figura 57: Diagrama de secuencia. Forward, modo joystick.
Backward
Figura 58: Diagrama de secuencia. Backward, modo incremental.
: frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService : Usuario
KeyUp( )SpeedInc( )
SpeedInc( )
KeyUp( )
: frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService : Usuario
KeyUp( )KeyUp( )
SetSpeed( )setSpeed( )
: RobotDriverManager : frmPdaRobotDriver : ControlModule : RdkSoapService : Usuario
KeyDown( )KeyDown( )
SpeedDec( )SpeedDec( )
CAPTULO 4. SOF