Você está na página 1de 125

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

ESCUELA TCNICA SUPERIOR


DE INGENIEROS INDUSTRIALES
Jos Gutirrez Abascal, 2
28006 Madrid

Madrid, noviembre de 2009

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

TUTOR ASIGNADO: Fernando Mata Espada

N PROYECTO:

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

NDICE

Juan Ignacio Forcn Carvalho

iv

NDICE

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

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

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

Diseo software .................................................................................................. 55


4.1

Por qu C#? ............................................................................................... 55

4.2

Por qu SOAP?........................................................................................... 56

4.3

Diagramas UML ........................................................................................... 58

Juan Ignacio Forcn Carvalho

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

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

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

vi

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

vii

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

viii

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

ix

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

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

Juan Ignacio Forcn Carvalho

xi

CAPTULO 1. INTRODUCCIN

INTRODUCCIN

Juan Ignacio Forcn Carvalho

12

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

13

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

14

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

15

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

16

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

17

CAPTULO 1. INTRODUCCIN

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

Juan Ignacio Forcn Carvalho

18

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

19

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

20

CAPTULO 1. INTRODUCCIN

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.

Juan Ignacio Forcn Carvalho

21

CAPTULO 1. INTRODUCCIN

Anexos, se incluyen los siguientes documentos: Planificacin a travs del diagrama


de Gannt, estructura de descomposicin del proyecto EDP, presupuesto, referencias
y biografa.

Juan Ignacio Forcn Carvalho

22

CAPTULO 2. ESTADO ACTUAL

ESTADO ACTUAL

Juan Ignacio Forcn Carvalho

23

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

24

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

25

CAPTULO 2. ESTADO ACTUAL

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

Juan Ignacio Forcn Carvalho

26

CAPTULO 2. ESTADO ACTUAL

edificios u oficinas. Ellos defendan la idea de que un robot mvil, deba tener una
interfaz mvil.

Figura 9: Aplicacin de Huttrenrauch and Norman.

Skubic, Bailey and Chronis [20,21],


[
, disearon una aplicacin en la que en base a
smbolos y marcas daban ordenes de teleoperacin
teleoperacin al robot. (Figura 10).
10

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.

Calinon and Billard [22], desarrollaron


desarrollaron una aplicacin en la que la PDA detectaba los
gestos en una persona para que los repitiese un robot humanoide.

Figura 11: Interfaz de Calinon and Billard.

Juan Ignacio Forcn Carvalho

27

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

28

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

29

CAPTULO 2. ESTADO ACTUAL

Figura 14: Simulador Player/Stage.

USARSim es una herramienta capaz de simular los robots y el entorno con gran
precisin. Est basada en el
e motor del juego para ordenador Unreal Tournament, es
utilizada en la RoboCup Rescue Virtual Robot Competition [9][10
[ 10] y est muy
extendida en el mundo de la investigacin con robots de exploracin[11][12][13].
exploracin

Figura 15: Simulador USARSim.

Como hemos dicho anteriormente, trabajar con modelos simulados tendr el


inconveniente de que
ue tanto el entorno como el robot, nunca sern
ser igual a la
realidad, pero por el contrario tendremos otras ventajas como:

Juan Ignacio Forcn Carvalho

30

CAPTULO 2. ESTADO ACTUAL

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 2DX.

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

mediante

un

repositorio,

(Figura 16), en la que los mdulos almacenan algunas de sus variables

Juan Ignacio Forcn Carvalho

31

CAPTULO 2. ESTADO ACTUAL

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

Juan Ignacio Forcn Carvalho

32

CAPTULO 2. ESTADO ACTUAL

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

Juan Ignacio Forcn Carvalho

33

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

34

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

35

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

36

CAPTULO 2. ESTADO ACTUAL

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

Juan Ignacio Forcn Carvalho

37

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

38

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

39

CAPTULO 2. ESTADO ACTUAL

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)

Juan Ignacio Forcn Carvalho

40

CAPTULO 2. ESTADO ACTUAL

Figura 23: Team View.

Figura 24: 3D View.

Juan Ignacio Forcn Carvalho

41

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

42

CAPTULO 2. ESTADO ACTUAL

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.

Juan Ignacio Forcn Carvalho

43

CAPTULO 3. HARDWARE

HARDWARE

Juan Ignacio Forcn Carvalho

44

CAPTULO 3. HARDWARE

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.

Juan Ignacio Forcn Carvalho

45

CAPTULO 3. HARDWARE

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.

Juan Ignacio Forcn Carvalho

46

CAPTULO 3. HARDWARE

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

106cm

38cm

26cm

122.5kg

46kg

12kg

6 hrs

3.5hrs

4-8hrs

4 bateras

24v batera

12v batera

plomo-cido

plomo-cido

plomo-cido

90cm/s

1,7m/s

1,2m/s

WiFi

WiFi

WiFi

Altura
Peso
Autonoma
Bateras
Velocidad mxima
de traslacin
Comunicaciones

Tabla 1: Caractersticas tcnicas de los Robots [6].

Juan Ignacio Forcn Carvalho

47

CAPTULO 3. HARDWARE

3.2

Robots simulados

Se han utilizado dos robots simulados, el P3AT y el ATRVJr3D [7].


Nemo - 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 el fin de poder
probar el snar tambin a la hora de realizar pruebas en modo simulado.

Figura 29: Robot P3AT 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.

Figura 30: Robot ATRVJr3D Simulado.

Juan Ignacio Forcn Carvalho

48

CAPTULO 3. HARDWARE

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

Juan Ignacio Forcn Carvalho

49

CAPTULO 3. HARDWARE

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.

Juan Ignacio Forcn Carvalho

50

CAPTULO 3. HARDWARE

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

Juan Ignacio Forcn Carvalho

51

CAPTULO 3. HARDWARE

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.

Juan Ignacio Forcn Carvalho

52

CAPTULO 3. HARDWARE

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


Pantalla sensible al tacto, lpiz, pad de navegacin de 9

Dispositivo de entrada

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

Juan Ignacio Forcn Carvalho

53

CAPTULO 4. SOFTWARE

SOFTWARE

Juan Ignacio Forcn Carvalho

54

CAPTULO 4. SOFTWARE

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.

Juan Ignacio Forcn Carvalho

55

CAPTULO 4. SOFTWARE

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

Juan Ignacio Forcn Carvalho

56

CAPTULO 4. SOFTWARE

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.

Juan Ignacio Forcn Carvalho

57

CAPTULO 4. SOFTWARE

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.

Juan Ignacio Forcn Carvalho

58

CAPTULO 4. SOFTWARE

Figura 33: Diagrama de clases de la aplicacin.

Juan Ignacio Forcn Carvalho

59

CAPTULO 4. SOFTWARE

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.

START

Connect & Laser


Menu Settings

Laser
Navigate
Disconnect

Settings

Map

Disconnected

Laser

Disconnect
Map
Navigate

Settings OK

Connect & Map

EXIT

Figura 34: Diagrama de estados.

Juan Ignacio Forcn Carvalho

60

CAPTULO 4. SOFTWARE

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.

Disconnect

Unsafe/Safe Teleoperation
Map Navigate

Connect

Shared Control

Usuario
Lase &Sonar Navigate

Full Autonomy

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.

Juan Ignacio Forcn Carvalho

61

CAPTULO 4. SOFTWARE

Caso de uso Settings


Cuando accedamos al men settings (Figura 36) podremos: cancelar la operacin,
cargar los parmetros por defecto, o salir y guardar.

Ok

Usuario

Default

Cancel

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.

ZoomInLaser

Usuario

ZoomOutLaser

ValidateAutonomyMode

Figura 37: Casos de uso, Laser&Sonar Navigate.

Juan Ignacio Forcn Carvalho

62

CAPTULO 4. SOFTWARE

Caso de uso Map Navigate


Cuando estemos navegando en la vista mapa, tendremos las siguientes
posibilidades. (Figura 38)

Save

Refresh
Usuario
Zoom

ZoomOut

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.

Set WayPoint

Usuario
Set Path

Figura 39: Casos de uso, Shared Control

Juan Ignacio Forcn Carvalho

63

CAPTULO 4. SOFTWARE

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.

Forward

Backward

Usuario

Right

Left

St op

Figura 40: Casos de uso, Safe/Unsafe Teleoperation.

Juan Ignacio Forcn Carvalho

64

CAPTULO 4. SOFTWARE

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

: Usuario

: frmPdaRobotDriver

menuConnect_Clic k( )

: RobotDriverManager

: RdkSoapService

: MapModule

: LaserModule

: LaserDraw

: ControlModule

ConnectToRobot( )

Url( )

StartSession( )
getKinematics( )

StartSession( )
getLaserParams( )
Start Session( )
getM apParams( )

StartLaser( )
getLaserData( )

getSonarData( )
Draw( )

DrawObstacles( )
DrawLaser( )

ShowLaserImage( )

DrawSpeed( )
ShowSpeedImage( )

SetAutonomyMode( )
SetAutonomyMode( )

Figura 41: Diagrama de secuencia. Connect.

Juan Ignacio Forcn Carvalho

65

CAPTULO 4. SOFTWARE

Disconnect

: Usuario

: frmPdaRobotDriver

menuConnect_Click( )

: RobotDriverManager

: ControlModule

: LaserModule

: MapModule

DisconnectFromRobot( )

EndSession( )

EndSession( )
EndSession( )

Figura 42: Diagrama de secuencia. Disconnect.

Settings

: frmPdaRobotDriver

: Usuario

: frmSetting

menuSetting_Click( )
ShowSettings( )

Figura 43: Diagrama de secuencia. Settings.

Juan Ignacio Forcn Carvalho

66

CAPTULO 4. SOFTWARE

Exit

: Usuario

: frmPdaRobotDriver

menuConnect_Click( )

: RobotDriverManager

: ControlModule

: LaserModule

: MapModule

DisconnectFromRobot( )

EndSession( )

EndSession( )
EndSession( )
close( )

Figura 44: Diagrama de secuencia. Exit.

Laser&Sonar

: Usuario

: frmPdaRobotDriver

: RobotDriverManager

: RdkSoapService

: MapModule

: LaserModule

: LaserDraw

tabDriveMode_SelectedIndexChanged( )
St opMap( )

StartLaser( )

St opMap( )

StartLaser( )
getLaserData( )

getSonarData( )

Draw( )
DrawObstacles( )

DrawLaser( )
DrawSpeed( )
ShowSpeedImage( )

ShowLaserImage( )

Figura 45: Diagrama de secuencia. Laser&Sonar.

Juan Ignacio Forcn Carvalho

67

CAPTULO 4. SOFTWARE

Map

: frmPdaRobotDriver

: Usuario

tabDriveMode_SelectedIndexChanged( )

: RobotDriverManager

: RdkSoapService

: MapModule

: LaserModule

StopLaser( )

StopLaser( )

StartMap( )
StartMap( )
Navigate( )

getRobot Pose( )
DrawRobotInMap( )

ShowMapImage( )

Figura 46: Diagrama de secuencia. Map.

ZoomIn Laser

: Usuario

: frmPdaRobotDriver

: Robot DriverManager

: LaserModule

cmdDecRange_Click( )

DecLaserRange( )
DecRange( )

Figura 47: Diagrama de secuencia. ZoomIn Laser

Juan Ignacio Forcn Carvalho

68

CAPTULO 4. SOFTWARE

ZoomOut Laser

: Usuario

: frmPdaRobotDriver

cmdIncRange_Click( )

: RobotDriverManager

: LaserModule

IncLaserRange( )

IncRange( )

Figura 48: Diagrama de secuencia. ZoomOut Laser

Validate Autonomy Mode

: Usuario

: frmPdaRobotDriver

cmdAut onomyValidat ion_Click( )

: RobotDriverManager

: ControlModule

: RdkS oapService

KeyEnter( )

Stop( )
Stop( )
SetAutonomyMode( )
SetAutonomyMode( )

Figura 49: Diagrama de secuencia. Validate Autonomy Mode.

Juan Ignacio Forcn Carvalho

69

CAPTULO 4. SOFTWARE

Save Map

: Usuario

: frmPdaRobotDriver

cmdSaveMap_Click( )

: Robot DriverManager

: MapModule

SaveMap( )

SaveMap( )

Figura 50: Diagrama de secuencia. Save Map.

Zoom Map

: Usuario

: frmPdaRobotDriver

cmdZoomClick( )

: RobotDriverManager

: MapModule

: RdkSoapService

SetClickOnMapMode( )

picMap_MouseDown( )
ClickOnMap( )
ClickOnMap( )
picMap_MouseDown( )
ClickOnMap( )
ClickOnMap( )
Zoom( )
DrawMapRLE( )
ShowMapImage( )

Figura 51: Diagrama de secuencia. Zoom Map.

Juan Ignacio Forcn Carvalho

70

CAPTULO 4. SOFTWARE

ZoomOut Map

: Usuario

: frmPdaRobotDriver

c mdZoomOutClick( )

: RobotDriverManager

: MapModule

: RdkS oapService

SetClickOnZoomOut( )

ZoomOut ( )
RefreshMap( )
getFullMapRLE( )

DrawMapRLE( )

ShowMapImage( )

Figura 52: Diagrama de secuencia. ZoomOut Map.

Refresh Map

: Usuario

: frmPdaRobotDriver

cmdRefreshMap_Click( )

: RobotDriverManager

: MapModule

: RdkS oapService

RefreshMap( )

RefreshMap( )
getFullMapRLE( )

DrawMapRLE( )
ShowMapImage( )

Figura 53: Diagrama de secuencia. Refresh Map.

Juan Ignacio Forcn Carvalho

71

CAPTULO 4. SOFTWARE

SetWayPoint

: Usuario

: frmPdaRobot Driver

cmdWayPoint_Click( )

: RobotDriverManager

SetAutonomyMode( )

picMap_MouseDown( )

: MapModule

: RdkSoapService

SetAutonomyMode( )

ClickOnMap( )
ClickOnMap( )

cmdWayPoint_Click( )

WayPoint( )

setRobotTargetPoses( )

Figura 54: Diagrama de secuencia. SetWayPoint.

SetPath

: Usuario

: frmPdaRobotDriver

cmdWayPath_Click( )

: RobotDriverManager

SetAutonomyMode( )

picMap_MouseDown( )

: MapModule

: RdkSoapService

SetAutonomyMode( )

ClickOnMap( )
ClickOnMap( )

cmdWayPath_Click( )

WayP at h( )

setRobotDesiredPath( )

Figura 55: Diagrama de secuencia. SetPath.

Juan Ignacio Forcn Carvalho

72

CAPTULO 4. SOFTWARE

Forward

: frmPdaRobot Driver

: RobotDriverManager

: ControlModule

: RdkSoapService

: Usuario
KeyUp( )
KeyUp( )
SpeedInc( )
SpeedInc( )

Figura 56: Diagrama de secuencia. Forward, modo incremental.

: frmPdaRobot Driver

: RobotDriverManager

: ControlModule

: RdkSoapService

: Usuario
KeyUp( )
KeyUp( )
SetSpeed( )
setSpeed( )

Figura 57: Diagrama de secuencia. Forward, modo joystick.

Backward

: Usuario

: frm PdaRobotDriver

: RobotDriverManager

: ControlModule

: RdkS oapService

KeyDown( )
KeyDown( )
SpeedDec ( )
SpeedDec( )

Figura 58: Diagrama de secuencia. Backward, modo incremental.

Juan Ignacio Forcn Carvalho

73

CAPTULO 4. SOFTWARE

: frmPdaRobotDriver

: Usuario

: Robot DriverManager

: ControlModule

: RdkSoapService

KeyDown( )
KeyDown( )
Backward( )
setSpeed( )

Figura 59: Diagrama de secuencia. Backward, modo joystick.

Right

: frmPdaRobot Driver

: RobotDriverManager

: ControlModule

: RdkSoapService

: Usuario
KeyRight( )
KeyRight( )
JogInc( )
jogInc( )

Figura 60: Diagrama de secuencia. Right, modo incremental.

: Usuario

: frmPdaRobotDriver

: RobotDriverManager

: ControlModule

: RdkSoapService

KeyRight( )
KeyRight( )
SetJog( )
setJog( )

Figura 61: Diagrama de secuencia. Right, modo joystick.

Juan Ignacio Forcn Carvalho

74

CAPTULO 4. SOFTWARE

Left

: frmPdaRobotDriver

: RobotDriverManager

: ControlModule

: RdkSoapService

: Usuario
KeyLeft( )
KeyLeft( )
JogDec( )
jogDec( )

Figura 62: Diagrama de secuencia. Left, modo incremental.

: frmPdaRobotDriver

: RobotDriverManager

: ControlModule

: RdkS oapService

: Usuario
KeyLeft( )
KeyLeft( )
SetJog( )
setJog( )

Figura 63: Diagrama de secuencia. Left, modo joystick.

Stop

: frmPdaRobotDriver

: RobotDriverManager

: ControlModule
: RdkSoapService

: Usuario
KeyEnter( )
KeyEnter( )
Stop( )
Stop( )

Figura 64: Diagrama de secuencia. Stop, modo incremental.

Juan Ignacio Forcn Carvalho

75

CAPTULO 4. SOFTWARE

OK Settings

: Usuario

: frmSetting

: SettingModule

menuOk_Click( )
Get Sett ings( )

Save( )

close( )

Figura 65: Diagrama de secuencia. OK Settings.

Default Settings

: Usuario

: frmSetting

: SettingModule

menuDefault_Click( )
SetDefalutValues( )

ShowSettings( )

Figura 66: Diagrama de secuencia. Default Settings

Juan Ignacio Forcn Carvalho

76

CAPTULO 4. SOFTWARE

Cancel Settings

: Usuario

: frm Setting

: SettingModule

menuCanc el_Click ( )
LoadSettings( )

ShowSettings( )

Figura 67: Diagrama de secuencia. Cancel Settings.

Juan Ignacio Forcn Carvalho

77

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

DESCRIPCIN DE
LA APLICACIN

Juan Ignacio Forcn Carvalho

78

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

5 Descripcin de la aplicacin
En las siguientes pginas, quedan descritos los diversos modos y utilidades de la
aplicacin.

5.1

Soluciones adoptadas

Lo primero fue darse cuenta de que a diferencia de Desktop Interface, la aplicacin


para PDA no puede controlar mltiples robots simultneamente debido a las
limitaciones de clculo. Adems el reducido tamao de pantalla no nos permite
mostrar todos los datos que el robot nos puede dar, por lo que los diseos han sido
bastante simplificados.
Ante la imposibilidad de fusionar en una pantalla el mapa, el snar y el lser como
en Desktop Interface, debido a que sobrecargaramos la PDA, haciendo el sistema
lento e ingobernable; se decidi crear dos pantallas, una en la que se representaran
las medidas lser y snar, y otra que mostrase el mapa creado por el robot.
En la vista Laser&Sonar, el robot permanece inmvil, quedndose situado en el
centro de la pantalla; a su alrededor, podemos ver las medidas lser y snar del
robot en cada instante. Las medidas lser nos dan con mucha precisin la distancia
a los obstculos, lo que nos permite navegar incluso en espacios muy reducidos. Sin
embargo como el lser solo cubre los 180 frontales del robot, el snar, aunque no
sea tan preciso, nos ser muy til para saber si hay objetos detrs del mismo o en la
zona lateral que no cubre el lser. En resumen, esta vista nos da conciencia de los
obstculos, del entorno cercano al robot y sus distancias
Por otro lado tendremos la vista Mapa, generada a partir de las medidas lser. Esta
vista nos ofrece una visin global de cmo es el entorno, permitindonos navegar
perfectamente en espacios que no sean muy reducidos, sin peligro de colisin.
El operador lograr sus mejores resultados combinando el uso de ambas vistas, ya
que slo con la vista lser puede ser complicado hacerse una idea global acerca de
la orientacin del robot y de donde viene; mientras que la vista mapa nos da esa
idea global, pero no nos da con tanta precisin la distancia a los obstculos en cada
instante, lo que complica la navegacin en espacios reducidos.

Juan Ignacio Forcn Carvalho

79

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Como no es cmodo el cambiar constantemente de vista, el operador puede caer


en el error de utilizar slo una de ellas, lo que reducir sus posibilidades de cumplir
la tarea satisfactoriamente. Otro inconveniente de la interfaz para PDA es que
debido a su limitada potencia de clculo y la lentitud en comunicaciones, la tasa de
refresco de la pantalla pudiera ser ms alta de la deseada, dificultando un
funcionamiento rpido y seguro. Por ejemplo le podramos decir al robot que se
desplazase a la derecha, y no saber si es que no se ha movido o es que no se ha
actualizado la imagen.
Por esto, las vistas han sido simplificadas lo mximo posible, consiguiendo una tasa
de refresco vlida en la vista Laser&Sonar, mientras que la vista mapa slo se
actualizar por peticin del usuario, debido a la imposibilidad de hacerlo
cclicamente por el elevado retardo que conllevara el tener que recibir el mapa
completo y dibujarlo en pantalla.
Adems de estas dos vistas, la aplicacin dispone de un modo de configuracin en
el que podremos modificar los diferentes parmetros de la aplicacin.
En cuanto a los modos de operacin, dependiendo de la vista seleccionada el
operador tendr opcin de manejar el robot con los diferentes niveles de
autonoma citados anteriormente:

Teleoperacin no segura: El usuario teleopera el robot, pulsando con el stick


en las flechas de direccin de la pantalla o a travs de las teclas de direccin
de la PDA. La velocidad no est limitada por software, por lo que el operador
deber prestar especial atencin ante obstculos u objetos con los que el
robot pudiese colisionar.

Teleoperacin segura: Al igual que en Teleoperacin no segura el usuario


maneja el robot con el stick o teclas. Pero en caso de que el robot detecte a
travs del lser que se acerca a un obstculo, sobrepasando la distancia de
seguridad, con el consiguiente peligro de colisin, el robot reducir su
velocidad paulatinamente, hasta detenerse si fuese necesario antes de
chocar.

Control compartido: En este modo, el operador impondr al robot uno o


varios puntos de destino o una trayectoria a seguir.

Juan Ignacio Forcn Carvalho

80

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

o En caso de darle un punto o puntos de destino, ser el robot el que


decida cul es la mejor manera de llegar hasta dichos puntos (El
robot calcular la trayectoria a seguir).
o Si se le ha impuesto una trayectoria, el robot se limitar a seguirla
siempre que sea posible.

Autnomo: Cuando seleccionamos este modo, el robot se comporta de


manera totalmente autnoma. El robot se mover en el entorno con el
objetivo de maximizar el rea explorada.

Cuando el operador seleccione Teleoperacin no segura o Teleoperacin


segura, podr teleoperar el robot en dos modos diferentes, que podr seleccionar
en el men de configuracin. Estos modos son:

Modo Incremental: Cada vez que el operador presiona una flecha de


direccin la velocidad se incrementa hacia esa direccin en un intervalo fijo.
Para detener el robot, deber pulsar en sentido contrario tantas veces como
se haya pulsado, o pulsar el botn central.

Modo Joystick: al pulsar una de las direcciones el robot acelerara hasta


llegar al lmite impuesto. Cuando el operador suelte dicha flecha de
direccin el robot se detendr.

En la tabla siguiente podemos ver en que vistas podemos aplicar cada modo de
operacin:
Modo Laser y Sonar

Modo Mapa

Teleoperacin no segura

SI

SI

Teleoperacin segura

SI

SI

Control compartido

NO

SI

Autnomo

SI

SI

Tabla 4: Aplicacin de los diferentes modos de operacin

Juan Ignacio Forcn Carvalho

81

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

5.2

Men principal

Al ejecutar la aplicacin, en el men principal (Barra inferior de la figura 68)


tenemos tres posibilidades, el botn Connect, que nos conectar con el robot, el
botn Settings, el cual pulsaremos para modificar los parmetros de
configuracin y el botn Exit para salir.

Figura 68: Men principal

5.3

Configuracin

Si hemos pulsado el botn Settings, accederemos al men de configuracin


(Figura 69), desde el cual podremos: cambiar los parmetros deseados y pulsar el
botn OK para validar, cargar los parmetros establecidos por defecto pulsando
Default, o salir sin guardar pulsando Cancel.
En este men, como podemos ver en la Figura 69 hay cinco pestaas segn los tipos
de parmetros de configuracin, estos pueden ser, parmetros de red, de control,
de la vista lser, del robot, y acerca de los colores con los que representamos los
diferentes elementos.

Juan Ignacio Forcn Carvalho

82

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

En la pestaa Network (Figura 69) podemos seleccionar el modo de


comunicaciones entre TCP o SOAP, as como establecer la direccin IP y el puerto o
puertos del agente del robot al que se debe conectar la PDA. El modo TCP aparece
en esta ventana porque

aunque no est operativo al 100%, est siendo

implementado para en un futuro poder comprobar las diferencias entre ambos


modos de comunicacin.

Figura 69: Men de configuracin (Network).

Como se ha comentado anteriormente, en los modos Unsafe Teleoperation y


Safe Teleoperation el usuario puede teleoperar el robot en modo Incremental o
modo Joystick. En la pestaa control (Figura 70), podremos seleccionar entre
estos dos modos, as como establecer lmites de velocidad angular y lineal para el
modo Joystick.
Cuando el usuario opera en modo Incremental, puede aumentar o disminuir la
velocidad del robot hasta llegar a su mxima velocidad, mientras que en modo
Joystick al no disponer en la PDA de un control analgico, al pulsar los botones de
direccin el robot acelerara hasta llegar a la velocidad mxima del mismo; de
donde surge la necesidad de tener que imponer unos lmites.

Juan Ignacio Forcn Carvalho

83

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 70: Men de configuracin, pestaas Control y Lser.

En la pestaa de configuracin Laser, el usuario podr modificar la distancia de


alerta (Distancia a partir de la cual el lser se dibuja en rojo para advertir de la
cercana de obstculos). Tambin se puede modificar el grosor con el que se pintan
los obstculos que detecta el lser, y decidir si queremos mostrar la rejilla que sirve
como referencia de medida. Adems se puede cambiar si as se desea el tamao de
las celdas que componen la misma.
En la pestaa Robot (Figura 71), podemos alterar las dimensiones del robot
dibujado en la Vista Laser&Sonar. Esto es muy til cuando utilizamos diferentes
robots, ya que las medidas de los mismos varan, y una representacin incorrecta
puede llegar a confundir al operador. Por ejemplo si el robot dibujado es ms
pequeo que el real, el operador sin darse cuenta podra colisionar contra algn
obstculo.

Juan Ignacio Forcn Carvalho

84

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 71: Men de configuracin, pestaas Robot y Colors.

Por ltimo en la Pestaa Colors (Figura 71), el usuario puede modificar a su gusto
el color de diferentes elementos como el lser, la rejilla, el robot

5.4

Laser&Sonar

En el modo laser & sonar, podemos ver el robot dibujado fijo en el centro de la
pantalla, y alrededor suya los obstculos detectados por los sensores lser y snar
del robot. Las medidas de lser quedan representadas en azul, las del snar en
verde y en blanco las zonas que estn entre los obstculos y el robot; es decir la
zona libre de obstculos. Se puede observar en la Figura 72.

Juan Ignacio Forcn Carvalho

85

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 72: A la izquierda, vista lser y snar de la aplicacin. A la derecha, entorno de simulacin del robot.

Para el lser el robot realiza 180 medidas en los 180 del frontal del robot, que son
representadas como puntos azules en pantalla, excepto cuando la distancia sea
menor a la distancia de seguridad, (Impuesta en la pestaa de configuracin), caso
en el que dichos puntos se representarn en rojo para avisar al operador del peligro
de colisin. Se muestra en la Figura 73.

Juan Ignacio Forcn Carvalho

86

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 73: Detalle de lser en rojo ante peligro de colisin.

Los sensores por ultrasonidos (Snar), situados alrededor del robot, tienen una
apertura de 15, y nos devuelven la distancia al obstculo. Evidentemente las
medidas lser son mucho ms precisas, por lo que son las utilizadas para dibujar el
mapa. No obstante, las medidas obtenidas del snar sern muy tiles para
determinar si en la parte posterior del robot se encuentra algn obstculo.
En el fondo de la pantalla, podemos observar una rejilla que servir al operador
para poder tener una referencia de las distancias, por defecto cada cuadro de dicha
rejilla representa un metro por un metro.
Como vemos en la Figura 74, podemos acercarnos (Zoom in, botn +) o alejarnos
(Zoom out, botn -), de manera que el operador pueda adecuar la zona de
visionado a sus necesidades.

Juan Ignacio Forcn Carvalho

87

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 74: Vista Laser&Sonar de la aplicacin con diferentes niveles de Zoom.

Adems, podemos observar en la Figura 75 el indicador de velocidad del que


dispone el operador en la vista laser&sonar. En el eje de abscisas se representa la
rotacin del robot en grados/segundo, mientras que en el de ordenadas se muestra
la velocidad lineal del robot en metros/segundo. Cuando la velocidad lineal o
angular es mxima la barra de color verde llega hasta el lmite de la circunferencia.

Figura 75: A la izquierda, opciones de teleoperacin. A la derecha, detalle del indicador de velocidad y giro.

Juan Ignacio Forcn Carvalho

88

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Como se muestra en la Figura 75, en la vista Laser&Sonar podremos seleccionar los


siguientes modos de operacin: Unsafe Teleoperation, Safe teleoperation y
Full Autonomy. Para cambiar de modo, bastar con seleccionarlo en el men
desplegable y pulsar la tecla OK para validar.
El usuario podr teleoperar el robot en los modos Unsafe Teleoperation y Safe
teleoperation de manera Incremental o Joystick segn haya seleccionado en la
pestaa de configuracin.
Para teleoperar el robot, como las teclas de direccin de la PDA son muy pequeas
pueden incomodar al operador, por eso en la vista Laser&Sonar se han dibujado
unas flechas que pueden ser pulsadas con el stick o con los propios dedos en la
pantalla tctil. En la vista mapa no se ha hecho esto, por que como el mapa
mantiene una posicin fija, siendo el robot el que se mueve en su interior, dibujar
flechas podra dar lugar a confusin. En la siguiente Figura (76), podemos ver como
al pulsar en las flechas de direccin, estas se rellenan para indicar al operador que
ha pulsado en ella. (El tiempo que permanecern rellenas es un segundo)

Figura 76: Flecha resaltada al haber sido pulsada.

Juan Ignacio Forcn Carvalho

89

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Adems, se han aadido dos botones <-y -> encima de la tecla + y -, que al
pulsarlos el robot realiza una diagonal hacia la izquierda o hacia la derecha
respectivamente.
Por ltimo al desconectarnos, el color de fondo de la vista Laser&Sonar, as como
las medidas lser y snar cambiarn de color para indicarnos que no existe
comunicacin con el robot.

Figura 77: PDA desconectada.

5.5

Mapa

En el modo mapa, el operador puede ver el mapa generado a partir de las lecturas
lser, y el robot representado como un crculo azul, con una flecha que indica su
direccin en cada momento. Como se ha explicado antes, debido a las limitaciones
de procesamiento de la PDA el mapa solo se actualizar si el operador pulsa el
botn Refresh. De no ser as, la aplicacin no funcionara de manera fluida,
haciendo imposible la teleoperacin.

Juan Ignacio Forcn Carvalho

90

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

En las siguientes figuras (78 y 79),, podemos ver un ejemplo de mapas creados
creado en los
escenarios simulados de Player/Stage y UsarSim.

Figura 78: Mapa Creado en el entorno Player/Stage.

Figura 79: Mapa creado en el entorno Usarsim.

Juan Ignacio Forcn Carvalho

91

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

El operador al igual que en el modo Laser&Sonar podr hacer Zoom del mapa. Para
ello, deber pulsar el botn Zoom y seleccionar dos puntos en el mapa, que sern
el vrtice superior izquierdo y el inferior derecho de la zona que deseamos ampliar.
Para devolver el mapa a su tamao original, el operador deber pulsar el botn
ZoomOut. Adems; tal y como podemos apreciar en la figura 80, al pulsar el
botn Zoom el color de dicho botn se resalta y los dems aparecen ms oscuros.
Esto es porque quedan todos los botones desactivados hasta que el usuario
introduzca los dos puntos de la ventana de Zoom. Tras introducir los dos puntos,
siempre se corrige una de las dimensiones para que la relacin aspecto sea
siempre la misma y no deformar la imagen.

Figura 80: Mapa con Zoom.

Al igual que en la vista Laser&Sonar, el operador a travs del men desplegable y la


tecla OK podr operar el robot en los cuatro niveles de autonoma disponibles
(Figura 81). Si desea teleoperar el robot en modo Unsafe teleoperation o Safe
teleoperation deber hacerlo a travs de las flechas de direccin de la PDA

Juan Ignacio Forcn Carvalho

92

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 81: Diferente modos de operacin.

Si el usuario desea operar en Shared Control, bastar con que indique un punto al
que desea que se dirija el robot, pinchando con el sitck en el mapa. (Al hacer esto el
modo de funcionamiento pasar automticamente a Shared Control). Como se ha
comentado anterior mente existen dos opciones ms dentro de Shared Control.
(Establecer varios puntos de destino y establecer una trayectoria).
Si el usuario desea establecer varios puntos de destino, deber pulsar el botn Set
Way Points y pinchar en el mapa tantas veces como puntos de destino quiera. Una
vez establecidos todos los puntos deseados, deber pulsar Send para envirselos
al robot. Durante este proceso, al igual que al hacer Zoom, quedan bloqueados el
resto de botones. (Figura 82)
Para establecer una trayectoria el procedimiento es el mismo, la nica diferencia es
que el usuario debe pulsar el botn Set path.
Los puntos de destino establecidos quedarn representados en naranja y en el caso
de establecer una trayectoria, estos puntos irn unidos por una lnea verde (Figura
82).

Juan Ignacio Forcn Carvalho

93

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 82: A la izquierda el usuario est indicando los puntos de destino, a la derecha el usuario ha indicado
una trayectoria a seguir.

Como podemos ver en la Figura 83 cuando el Zoom es elevado, la flecha puede


ocultar informacin, por lo que a partir de un nivel determinado, slo se dibuja el
contorno de la misma.

Figura 83: Contorno de la flecha.

Juan Ignacio Forcn Carvalho

94

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Si el operador desea almacenar el mapa que est viendo actualmente como imagen,
podr hacerlo pulsando el botn Save y seleccionando en la ubicacin deseada
para el archivo (Figura 84).

Figura 84: Guardar mapa.

A lo largo de este captulo hemos explicado el funcionamiento de la aplicacin con


pantallazos de la PDA virtual, por verse mejor que si tuvisemos que adquirir
imgenes de la PDA real. De todas formas, en la siguiente pgina se han adjuntado
dos imgenes de la PDA real con el programa en ejecucin, una de la vista
Laser&Sonar y otra de la vista Map. Tambin se ha adjuntado una imagen de la
aplicacin ejecutndose en un mvil HTC.

Juan Ignacio Forcn Carvalho

95

CAPTULO 5. DESCRIPCIN DE LA APLICACIN

Figura 85: Aplicacin ejecutndose en la PDA real.

Figura 86: Aplicacin ejecutndose en un mvil PDA HTC.

Juan Ignacio Forcn Carvalho

96

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

CONCLUSIONES
Y LNEAS
FUTURAS

Juan Ignacio Forcn Carvalho

97

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

6 Conclusiones y lneas futuras


6.1

Conclusiones

Este proyecto surge ante la necesidad de teleoperar y/o supervisar un robot en su


mismo entorno, sin tener que permanecer en un punto fijo y sin tener que
detenerse. Las limitaciones de la PDA por su baja capacidad de procesamiento y su
pequea pantalla son compensadas por su portabilidad que permite al operador
moverse en el mismo escenario que el robot, de manera que el usuario es capaz de
percibir informacin que la interfaz no nos puede dar.
Uno de los objetivos de este proyecto era crear una aplicacin prctica, sencilla e
intuitiva. Evaluando los elementos principales de la aplicacin llegamos a las
siguientes conclusiones.
La vista Laser&Sonar es perfecta para desplazarse en espacios reducidos y/o
complejos, donde la precisin de las medidas lser permite saber con mximo
detalle las distancias a los obstculos para evitar colisiones.
Los elementos de medida en la vista Laser&Sonar como son la rejilla de medida y el
indicador de velocidad nos dan de forma rpida e intuitiva nocin de las distancias
entre los obstculos y el robot, as como saber si se encuentra en movimiento y en
qu direccin. Esta informacin adicional es fundamental cuando no se tiene visin
directa del robot.
Por otro lado desde la vista Map rpidamente nos haremos una idea global de
cmo es el escenario en el que se encuentra el robot, adems desde esta vista
podremos teleoperar el robot siempre que los espacios no sean muy reducidos caso
en el que es preferible usar la vista Laser&Sonar.
La pantalla tctil de la PDA es explotada al mximo, siendo imprescindible en esta
aplicacin y a su vez ofreciendo mayor ergonoma al operador para interactuar con
la misma.
Adems la aplicacin permite teleoperar el robot en cuatro niveles de autonoma
diferentes a eleccin del operador, desde el nivel en es que el usuario teleopera sin
ningn tipo de ayuda del robot hasta el nivel en el que el robot el robot es
completamente autnomo.

Juan Ignacio Forcn Carvalho

98

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

Tras haber realizado pruebas con la PDA real y simulada se ha llegado a la


conclusin que la aplicacin es vlida y suficiente para teleoperar un robot, siendo
lgicamente los resultados mucho mejores cuando se tiene visin directa del robot.
Los mejores resultados son obtenidos cuando
En cuanto a los campos de aplicacin, el ms inmediato es para teleoperar los
robots Urbano y Doris. En la introduccin del proyecto veamos como el robot
Urbano ha sido utilizado como gua en visitas a museos ferias, lo que hace
perfecta la aplicacin de la PDA para que un supervisor del museo o feria pueda
teleoperar al robot en un momento dado de ser necesario.
Finalmente otra de las ventajas de la aplicacin, es que al haber sido desarrollada
en C# funcionar en cualquier dispositivo que lleve instalado Windows Mobile.
Volviendo al caso de un robot gua en un museo. El supervisor o vigilante podra
llevar instalada la aplicacin en el propio mvil, sin tener necesidad de acarrear con
un dispositivo ms como es la PDA.

6.2

Lneas futuras

Aunque la aplicacin es vlida y suficiente para operar con eficiencia un robot,


queda la posibilidad de poder continuar mejorando la aplicacin en diversos
aspectos.

Vdeo
Una de las mejoras posibles, sera aadir una nueva vista adems de la vista
Laser&Sonar y Mapa que incluyese el vdeo del robot. Adems lo ideal sera
disponer de una cmara en la que pudisemos modificar el pan (Rotacin) y tilt
(Elevacin) a gusto del operador, de manera que pudiese ver que hay en el entorno
del robot.
Este movimiento de la cmara hara indispensable algn tipo de indicacin en la
imagen que nos mostrase cual es la direccin del robot (Figura 87); puesto que de
no ser as, el usuario podra dar acciones de teleoperacin sin darse cuenta que el
robot mira a un sitio diferente al que lo hace la cmara.

Juan Ignacio Forcn Carvalho

99

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

Figura 87: Diseo preliminar,


iminar, seleccin de Pan y Tilt, e indicacin de la direccin del robot por si la cmara
apunta hacia otro lado.

Tambin sera interesante mostrar una escala superpuesta a la imagen, que nos d
nocin de las distancias en el
e escenario (Figura 88, dcha). Asimismo
simismo, otra opcin a
tener en cuenta sera la de superponer las medidas lser en la imagen de vdeo
(Cuadrados rojos Figura 88).
88). Con esta combinacin de imagen y datos lser, el
usuario podra teleoperar con esta vista en todo tipo de situaciones, excepto
exce
en
casos que nos interese saber si hay algo detrs del robot, casos en los que la
informacin del snar es fundamental.
Adems el usuario debera poder operar el robot en los diferentes modos. Para
Safe/Unsafe Teleoperation el operador utilizara las teclas
teclas de direccin de la PDA o
incluso a travs de unas flechas de direccin dibujadas en la pantalla como en el
modo Laser&Sonar (Figura 88).
88
Para Shared control, estara bien poder pinchar en pantalla, y que el sistema
calculase ell punto o puntos de destino.
des
Para ser un punto vlido, ell punto dado por
el usuario debe estar comprendido entre el robot y las medidas lser.
lser Finalmente

Juan Ignacio Forcn Carvalho

100

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

sabiendo la proporcin de perspectiva de la imagen se calculara el punto, lo que no


sera muy complicado.

Figura 88: Diseo preliminar de la vista vdeo con el lser superpuesto y regla de distancias.

De todas formas, como venimos repitiendo a lo largo del proyecto, las limitaciones
de la PDA como la lentitud de las comunicaciones, al igual que
que no permitan el
refresco cclico del mapa, lo ms seguro es que tampoco lo permitiesen para el
vdeo. Las pruebas con el PDA real determinaran la solucin, pero pudieran
pudiera ser:

Actualizar
ctualizar el vdeo slo al pulsar un botn llamado refresh como en el mapa.
Mientras tanto el usuario operara con la ayuda del lser dibujado en la
imagen y la informacin que l
l percibe de la ltima imagen obtenida.
Otra opcin sera estudiar la opcin de crear un sistema flexible que
mandase imgenes de baja resolucin cuando el
el robot este en movimiento,
buscando un compromiso entre tiempo de refresco y calidad de imagen.
Cuando el robot se detuviese mandara una imagen de mayor calidad.

Juan Ignacio Forcn Carvalho

101

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

Comunicaciones
Como hemos visto, uno de los puntos dbiles de la aplicacin

son las

comunicaciones. En su da se decidi hacer con SOAP por el alto nivel de


estandarizacin del mismo, que nos permite realizar cambios de una forma fcil y
cmoda.
Cuando se realizaron pruebas con sockets TCP la rapidez en comunicaciones era
mayor que con SOAP, actualmente se est trabajando en la PDA para hacerla
compatible con TCP. Pero uno de los problemas es que esto hace que sea necesario
hacer un nuevo mdulo en RDK que nos permita dicho tipo de comunicacin;
siendo por lo tanto necesario

modificar y gestionar dos mdulos de

comunicaciones. Esta opcin sera factible solamente en el caso de que la mejora


fuese muy notable.
De todas formas si en el futuro finalmente se tomase la decisin de aadir a la
aplicacin una vista vdeo, como hemos visto en el apartado anterior, puede que
fuese imprescindible para que el retardo no fuese muy elevado realizar un mdulo
de comunicaciones en TCP.
Otra opcin para que el vdeo pudiese funcionar correctamente, sera dejar la
aplicacin sobre SOAP (Para Laser&Sonar es suficiente) y realizar la transmisin de
vdeo sobre UDP ya que UDP permite mayores velocidades de transmisin porque
aade menos informacin en los mensajes. Esto implica que no se asegura la
llegada de los mismos ni el orden. Sin embargo no sera un problema grave, porque
es preferible perder alguna de las imgenes o informacin de alguna de ellas y
asegurarnos un elevado BitRate.

Pruebas y evaluacin de la aplicacin


Adems, otro trabajo interesante a realizar en el futuro, sera realizar un estudio en
el que se sometiese a varias personas a unas pruebas determinadas de
teleoperacin con la PDA.
Estas pruebas nos permitiran evaluar la aplicacin y conocer la opinin de los
usuarios para su posterior mejora.

Juan Ignacio Forcn Carvalho

102

CAPTULO 6. CONCLUSIONES Y LNEAS FUTURAS

Lo ideal sera estructurar las pruebas de forma que los usuarios teleoperasen en los
diferentes modos y en diferentes entornos, para finalmente estudiar los tiempos
empleados, el porcentaje de xito, y las opiniones de los operadores.
Un estudio similar ha sido realizado en dos ocasiones para evaluar la aplicacin
Desktop Interface[16]. Con cuyos resultados se realizaron mejoras en la misma.

Juan Ignacio Forcn Carvalho

103

ANEXOS

ANEXOS

Juan Ignacio Forcn Carvalho

104

ANEXOS

Anexos
I - Planificacin

La ejecucin del proyecto se ha llevado a cabo a lo largo de 13 meses en la Divisin


de Ingeniera de Sistemas y Automtica (DISAM) de la E.T.S.I.I. A continuacin se
describen brevemente las fases en las que se ha dividido el desarrollo del proyecto:
Investigacin inicial: Previamente incluso a la planificacin de este proyecto, se
busco informacin sobre aplicaciones similares para PC y para PDA.
Requisitos: Una vez conocidas otras aplicaciones y sus funcionalidades, fue
necesario decidir las necesidades de la aplicacin, tras las que hubo que establecer
requisitos hardware, software y sobre las comunicaciones.
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 y soap. Adems
para poder realizar las pruebas tambin fue necesario familiarizarse con los
entornos Player/Stage y UsarSim.
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 el diseo previo en UML y su posterior correccin, 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.
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.
A continuacin se refleja mediante un diagrama de Gantt las principales actividades
que se desarrollan en las etapas anteriormente mencionadas. Con esto se pueden
observar las relaciones entre actividades.

Juan Ignacio Forcn Carvalho

105

ANEXOS

Tabla 5: Diagrama de gantt

Juan Ignacio Forcn Carvalho

106

ANEXOS

II - Estructura de descomposicin del proyecto (EDP)

Figura 89: Estructura de descomposicin del proyecto

Juan Ignacio Forcn Carvalho

107

ANEXOS

1.

Investigacin inicial

1.1
Estudio de aplicaciones
similares

1.1.1

1.1.2

Aplicaciones

Aplicaciones para

para PC

PDA

Figura 90: Investigacin inicial.

2. Requisitos

2.2

2.1
Requisitos software

2.1.1
Requisitos
lenguaje de
programacin

2.3
Requisitos de

Requisitos

formacin

hardware

2.1.2

2.3.1

Requisitos
protocolo de
comunicaciones

Requisitos PDA

Figura 91: Requisitos.

Juan Ignacio Forcn Carvalho

108

ANEXOS

3. Formacin previa

3.1

3.2

3.3

Familiarizacin con el

Conocimientos

entorno de programacin

bsicos de OpenRDK

3.1.1

3.1.2

Familiarizacin
con los entornos
de simulacin

3.3.1

Aprendizaje

Conocimientos

Familiarizacin

de C#

bsicos Soap

UsarSim

3.3.2
Familiarizacin
Player/Stage

Figura 92: Formacin previa.

4.

Seleccin
Hardware

4.1
Preseleccin de
modelos de PDA

4.1.1
Compra de la
PDA

Figura 93: Seleccin Hardware.

Juan Ignacio Forcn Carvalho

109

ANEXOS

5. Desarrollo Software

5.2

5.1
Diseo software

5.3

Programacin del

Documentacin

software

5.3.1

5.3.2

Diagramas

Manual de la

UML

aplicacin

Figura 94: Desarrollo Software.

6. Pruebas

6.2

6.1
Entorno y Robot
Simulado

6.1.1
PDA
Simulada

6.1.2
PDA Real

Entorno y Robot
Real

6.2.1
PDA Real

Figura 95: Pruebas.

Juan Ignacio Forcn Carvalho

110

ANEXOS

III - Presupuesto
El presupuesto se ha dividido en varios apartados que se comentan a continuacin.

Mediciones y precio unitario


En el siguiente apartado quedan reflejadas las mediciones de los diversos
elementos que componen nuestro sistema, para luego poder realizar el
presupuesto.

Descripcin

Unidades

Precio unitario

590

300

PC

600

PDA

380

Proyectante

600 h

25 /h

Director

100 h

60 /h

Partida Software
Microsoft Visual Studio
2008 Professional edition
Windows XP
Partida Hardware

Partida de mano de obra

Tabla 6: Mediciones y precio unitario.

Juan Ignacio Forcn Carvalho

111

ANEXOS

Presupuesto total

Descripcin

Precio ()

Partida Software

890

Partida Hardware

980

Partida de mano de obra

21000

Suma total

22867,04

+ 6% Costes indirectos

1.372,20

+ 13% Beneficio Industrial

2.973

+ 16% IVA

3.659

TOTAL

30875

Tabla 7: Presupuesto total.

El presupuesto total del presente proyecto asciende al total de 30875 .


Treinta mil ochocientos setenta y cinco euros.

Juan Ignacio Forcn Carvalho

112

ANEXOS

IV - Tablas de casos de uso


UC-1
Versin
Descripcin

Settings
1.0 Fecha: 15 de Octubre 2009
El usuario acceder al men de configuracin de parmetros.

Precondicin

La aplicacin debe estar en ejecucin y no conectada al robot.

Secuencia
normal

Paso
1

Poscondicin
Excepciones

Accin
El usuario pulsa el botn Settings del men
principal.
2
Se abrir en men de parmetros
El men de parmetros se encuentra abierto.

Rendimiento

Paso
Paso

Accin
Cota de tiempo

Frecuencia
Comentarios

1 vez por ejecucin


Ninguno
Tabla 8: Caso de uso Settings.

UC-2
Versin
Descripcin
Precondicin
Secuencia
normal

Poscondicin

Connect
1.0 Fecha: 15 de Octubre 2009
La aplicacin se conectar con el agente del robot para el que
se han configurado los parmetros.
La aplicacin debe estar en ejecucin, y no conectada al
robot.
Paso
Accin
1
El usuario pulsa el botn Connect del men
principal.
2
Se realiza la conexin con el robot.
3
Se inicializan los diferentes mdulos de la
aplicacin.
4
Se da inicio a la navegacin y representacin
de datos.
La aplicacin se encuentra conectada con el robot.

Excepciones

Paso
1

Rendimiento

Paso
-

Juan Ignacio Forcn Carvalho

Accin
Si no se puede establecer la conexin se
notificar al usuario.
Cota de tiempo
-

113

ANEXOS

Frecuencia
Comentarios

1 vez por ejecucin


Ninguno
Tabla 9: Caso de uso Connect.

UC-3
Versin
Descripcin
Precondicin
Secuencia
normal

Poscondicin
Excepciones
Rendimiento
Frecuencia
Comentarios

Disconnect
1.0 Fecha: 15 de Octubre 2009
La aplicacin se desconectar del agente del robot al que se
encuentra conectado
La aplicacin debe estar en ejecucin, y conectada al robot.
Paso
1

Accin
El usuario pulsa el botn Disconnect del
men principal.
2
Se realiza la desconexin del robot.
3
Se cierran los diferentes mdulos de la
aplicacin.
La aplicacin se encuentra en ejecucin y desconectada del
robot.
Paso
Accin
Paso
Cota de tiempo
1 vez por ejecucin
Ninguno
Tabla 10: Caso de uso Disconnect.

UC-4
Versin
Descripcin
Precondicin
Secuencia
normal

Poscondicin
Excepciones

Map Navigate
1.0 Fecha: 15 de Octubre 2009
La aplicacin se encuentra en ejecucin en la vista mapa con
el robot navegando.
La aplicacin debe estar en ejecucin, conectada al robot y
con la vista mapa seleccionada.
Paso
Accin
1
La aplicacin pide al robot sus coordenadas
2
La aplicacin actualiza cclicamente la posicin
del robot en la vista mapa
La aplicacin se encuentra en ejecucin y conectada al robot
con el robot navegando.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.

Juan Ignacio Forcn Carvalho

114

ANEXOS

Rendimiento
Frecuencia
Comentarios

Paso
Cota de tiempo
Ciclicamente. La frecuencia depende de la PDA.
Ninguno
Tabla 11: Caso de uso Map Navigate.

UC-5
Versin
Descripcin
Precondicin
Secuencia
normal

Poscondicin
Excepciones

Rendimiento
Frecuencia
Comentarios

Laser&Sonar Navigate
1.0 Fecha: 15 de Octubre 2009
La aplicacin se encuentra en ejecucin en la vista laser con el
robot navegando.
La aplicacin debe estar en ejecucin, conectada al robot y
con la vista laser seleccionada.
Paso
Accin
1
La aplicacin pide al robot los datos de los
sensores laser y sonar, as como su velocidad.
2
La aplicacin actualiza cclicamente el
velocmetro y las medidas laser y sonar de la
pantalla.
La aplicacin se encuentra en ejecucin y conectada al robot
con el robot navegando.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
Ciclicamente. La frecuencia depende de la PDA.
Ninguno
Tabla 12: Caso de uso Laser&Sonar Navigate.

UC-6
Versin
Descripcin
Precondicin

Secuencia
normal

Unsafe/Safe Teleoperation
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa.
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa alguna de las flechas de
Teleoperacin.
2
Se enva al robot la informacin acerca de la

Juan Ignacio Forcn Carvalho

115

ANEXOS

Poscondicin
Excepciones

Rendimiento
Frecuencia
Comentarios

direccin y velocidad.
El robot se mover en consecuencia, segn lo pulsado por el
usuario.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
Ninguno
Tabla 13: Caso de uso Unsafe/Safe Teleoperation.

UC-7
Versin
Descripcin
Precondicin

Secuencia
normal

Poscondicin
Excepciones

Rendimiento
Frecuencia
Comentarios

Shared Control
1.0 Fecha: 15 de Octubre 2009
El usuario da puntos de destino o trayectorias a seguir en la
vista mapa.
El usuario ha seleccionado como modo de Teleoperacin el
modo de control compartido y se encuentra navegando en la
vista mapa.
Paso
Accin
1
El usuario establece puntos o una trayectoria a
seguir por el robot.
2
Se enva al robot la trayectoria o el punto o
puntos a seguir.
El robot se mover en consecuencia, segn haya indicado el
usuario.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
Ninguno
Tabla 14: Caso de uso Shared Control.

Juan Ignacio Forcn Carvalho

116

ANEXOS

UC-8
Versin
Descripcin
Precondicin

Secuencia
normal
Poscondicin
Excepciones

Rendimiento
Frecuencia
Comentarios

Full Autonomy
1.0 Fecha: 15 de Octubre 2009
El robot opera de forma totalmente autnoma en la vista laser
o en la vista mapa.
El usuario ha seleccionado como modo de Teleoperacin el
modo totalmente autnomo y el robot se encuentra navegando
en la vista mapa o en la vista Laser&Sonar.
Paso
Accin
El robot recorre el entorno con el objetivo de maximizar el
rea explorada.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
Ninguno
Tabla 15: Caso de uso Full Autonomy.

UC-9
Versin
Descripcin
Precondicin

Secuencia
normal

Poscondicin
Excepciones

Rendimiento
Frecuencia

SetWay Point
1.0 Fecha: 15 de Octubre 2009
El usuario establece puntos de destino para el robot.
El usuario ha seleccionado como modo de Teleoperacin el
modo de control compartido y se encuentra navegando en la
vista mapa.
Paso
Accin
1
El usuario pulsa el botn SetWay Point
2
El usuario pulsa en la pantalla tantas veces
como puntos de destino desea establecer.
3
El usuario pulsa el botn Send para enviar los
puntos al robot.
El robot se mover hasta haber alcanzado todos los puntos de
destino.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
-

Juan Ignacio Forcn Carvalho

117

ANEXOS

Comentarios

Ninguno
Tabla 16: Caso de uso SetWay Point

UC-10
Versin
Descripcin
Precondicin

Secuencia
normal

Poscondicin
Excepciones

Rendimiento
Frecuencia
Comentarios

Set Path
1.0 Fecha: 15 de Octubre 2009
El usuario establece una trayectoria a seguir por el robot.
El usuario ha seleccionado como modo de Teleoperacin el
modo de control compartido y se encuentra navegando en la
vista mapa.
Paso
Accin
1
El usuario pulsa el botn Set Path
2
El usuario pulsa en la pantalla tantas veces
como puntos necesite para crear la trayectoria a
seguir
3
El usuario pulsa el botn Send para enviar la
trayectoria al robot.
El robot se mover en consecuencia, siguiendo la trayectoria
indicada.
Paso
Accin
1
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Paso
Cota de tiempo
Ninguno
Tabla 17: Caso de uso Set Path.

UC-11
Versin
Descripcin

Precondicin

Secuencia
normal

Forward
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa y a dado la
orden de avanzar al robot
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa la tecla avanzar.
2
Se da la orden al robot de avanzar. La
informacin a enviar depender de si se
encuentra en modo joystick o en modo
incremental.

Juan Ignacio Forcn Carvalho

118

ANEXOS

Poscondicin

El robot avanzar siempre que sea posible.

Excepciones

Paso
1

Rendimiento

Paso
Ninguno

Frecuencia
Comentarios

Accin
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Cota de tiempo
-

Tabla 18: Caso de uso Forward.

UC-12
Versin
Descripcin

Precondicin

Secuencia
normal

Poscondicin

Backward
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa y a dado la
orden de retroceder al robot
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa la tecla retroceder.
2
Se da la orden al robot de retroceder. La
informacin a enviar depender de si se
encuentra en modo joystick o en modo
incremental.
El robot retroceder siempre que sea posible.

Excepciones

Paso
1

Rendimiento

Paso
Ninguno

Frecuencia
Comentarios

Accin
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Cota de tiempo
-

Tabla 19: Caso de uso Backward.

Juan Ignacio Forcn Carvalho

119

ANEXOS

UC-13
Versin
Descripcin

Precondicin

Secuencia
normal

Poscondicin

Right
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa y a dado la
orden de girar a la derecha al robot
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa la tecla derecha.
2
Se da la orden al robot de girar a la derecha. La
informacin a enviar depender de si se
encuentra en modo joystick o en modo
incremental.
El robot girar a la derecha siempre que sea posible.

Excepciones

Paso
1

Rendimiento

Paso
Ninguno

Frecuencia
Comentarios

Accin
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Cota de tiempo
-

Tabla 20: Caso de uso Right.

UC-14
Versin
Descripcin

Precondicin

Secuencia
normal

Poscondicin

Left
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa y a dado la
orden de girar a la izquierda al robot
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa la tecla izquierda.
2
Se da la orden al robot de girar a la izquierda.
La informacin a enviar depender de si se
encuentra en modo joystick o en modo
incremental.
El robot girar a la izquierda siempre que sea posible.

Juan Ignacio Forcn Carvalho

120

ANEXOS

Excepciones

Paso
1

Rendimiento

Paso
Ninguno

Frecuencia
Comentarios

Accin
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Cota de tiempo
-

Tabla 21: Caso de uso Left.

UC-15
Versin
Descripcin

Precondicin

Secuencia
normal
Poscondicin

STOP
1.0 Fecha: 15 de Octubre 2009
El usuario se encuentra teleoperando en modo seguro o en
modo no seguro en la vista laser o en la vista mapa y a dado la
orden de detenerse al robot
El usuario ha seleccionado como modo de Teleoperacin el
modo seguro o el modo no seguro y se encuentra navegando en
la vista mapa o en la vista Laser&Sonar.
Paso
Accin
1
El usuario pulsa la tecla de detenerse.
2
Se da la orden al robot de detenerse.
El robot se detendr siempre que sea posible.

Excepciones

Paso
1

Rendimiento

Paso
Ninguno

Frecuencia
Comentarios

Accin
Si se pierde la conexin con el robot, se
notificar al usuario y la aplicacin pasa a estado
desconectado.
Cota de tiempo
-

Tabla 22: Caso de uso Stop.

Juan Ignacio Forcn Carvalho

121

ANEXOS

V - Referencias
[1] Grupo de control inteligente de Disam UPM
http://www.disam.upm.es/~control/
[2] Terrence Fong, Charles Thorpe, and Betty Glass. Pdadriver: A handheld system
for remote driving. In In IEEE International Conference on Advanced Robotics, 2003.
[3] Hande Kaymaz-Keskinpala, Kazuhico Kawamura, and Julie A. Adams. Pdabased
human-robotic interface. In Proceedings of the IEEE International Conference on
Systems, Man & Cybernetics, volume 4, pages 3931 3936, 2003.
[4] Julie A. Adams and Hande Kaymaz-Keskinpala. Analysis of perceived workload
when using a pda for mobile robot teleoperation. In Proceedings of the 2004 IEEE
International Conference on Robotics and Automation, pages 41284133, 2004.
[5] Hande Kaymaz-Keskinpala and Julie A. Adams. Objective data analysis for a pdabased human robotic interface. In Proceedings of the IEEE International Conference
on Systems, Man & Cybernetics, pages 28092814, 2004.
[6] Datos sobre los robots; http://www.activmedia.com/
[7] Paloma de la Puente, Alberto Valero, and Diego Rodriguez-Losada. 3D Mapping:
testing algorithms and discovering new ideas with USARSim. In Robots, Games, and
Research: Success stories in USARSim. IROS 2009, 2009.
[8] Player Project. http://www.playerstage.sourceforge.net.
[9] Stephan Balakirsky. Usarsim: Providing a framework for multi-robot
performance evaluation. In In: Proceedings of PerMIS, pages 98102, 2006.
[10] Stefano Carpin, Michael Lewis, Jijun Wang, Stephen Balakirsky, and Chris
Scrapper. Usarsim: a robot simulator for research and education. In 2007 IEEE
International Conference on Robotics and Automation, ICRA 2007, pages 1400
1405, 2007.

Juan Ignacio Forcn Carvalho

122

ANEXOS

[11] Giuliano Polverari, Daniele Calisi, Alessandro Farinelli, and Daniele Nardi.
Development of an autonomous rescue robot within the usarsim 3d virtual
environment. In RoboCup 2006: Robot Soccer World Cup X, pages 491498, 2006.
[12] Andreas Birk, Jann Poppinga, Todor Stoyanov, and Yashodhan Nevatia.
Planetary exploration in usarsim: A case study including real world data from mars.
In RoboCup 2008: Robot Soccer World Cup XII, pages 463472, 2008.
[13] Tijn Schmits and Arnoud Visser. An omnidirectional camera simulation for the
usarsim world. In RoboCup 2008: Robot Soccer World Cup XII, pages 296307, 2008.
[14] Proyecto Source Forge http://openrdk.sourceforge.net
[15] D. Calisi, A. Farinelli, L. Iocchi, and D. Nardi. Multi-objective exploration and
search for autonomous rescue robots. Journal of Field Robotics, Special Issue on
Quantitative Performance Evaluation of Robotic and Intelligent Systems, 24:763
777, August - September 2007.
[16] Alberto Valero Gmez, Doctoral Thesis in Computer Engineering, Evolutionary
Design of human-Robot Interfaces for Teaming Humans and Mobile Robots in
Exploration Missions.
[17] T. Fong, Collaborative Control: A RobotCentric Model for Vehicle
Teleoperation, Technical Report CMU-RI-TR-01-34, Ph.D. Thesis, Robotics Institute,
Carnegie Mellon University, Nov. 2001.
[18] D. Perzanowski, A.C. Schultz, W. Adams, E. Marsh, and M. Bugajska, Building a
Multimodal Human Robot Interface, IEEE Intelligent Systems, 16(1): 16- 21,
Jan./Feb. 2001.
[19] H. Huttenrauch and M. Norman, PocketCERO Mobile Interfaces for Ser vice
Robots, Proc. of the International Workshop on Human Computer Interaction with
Mobile Devices, France, Sept. 2001.

Juan Ignacio Forcn Carvalho

123

ANEXOS

[20] M. Skubic, C. Bailey, and G. Chronis, A Sketch Interface for Mobile Robots, Proc.
of the 2003 IEEE International Conference on Systems, Man, and Cybernetics, pp.
919-924, Oct. 2003.
[21] C. Bailey, A Sketch Interface For Understanding Hand-Drawn Route Maps,
Masters Thesis, Computational Intelligence Lab, University of Missouri-Columbia,
Dec. 2003.
[22] S. Calinon, and A. Billard, PDA Interface for Humanoid Robots, Proc. of the
Third IEEE International Conference on Humanoid Robots, October 2003
[23] Paloma de la Puente, Diego Rodrguez-Losada, Raul Lpez, and Fernando Mata.
Extraction of geometrical features in 3d environments for service robotic
applications. In Hybrid Artificial Intelligence Systems, pages 441450, 2008.
[24] Paloma de la Puente, Diego Rodriguez-Losada, Alberto Valero, and Fernando
Matia. 3D Feature Based Mapping towards Mobile Robots Enhanced Performance in
Rescue Missions. In 2009 IEEE/RSJ International Conference on Intelligent Robots
and Systems, 2009.
[25] Paloma de la Puente, Alberto Valero, and Diego Rodriguez-Losada. 3D
Mapping: testing algorithms and discovering new ideas with USARSim. In Robots,
Games, and Research: Success stories in USARSim. IROS 2009, 2009.

Juan Ignacio Forcn Carvalho

124

ANEXOS

VI - Abreviaturas y acrnimos

RDK: Robot Development Kit.


USARSim: Unified System for Automation and Robot Simulation.
HRI: Human Robotic Interface.
PDA: Personal Digital Assistant.
SOAP: Simple Object Access Protocol.
TCP: Transmission Control Protocol.
UDP: User Datagram Protocol.
WSDL: Web Services Description Language.
BitRate: Bits por Segundo.

Juan Ignacio Forcn Carvalho

125