-
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