Escolar Documentos
Profissional Documentos
Cultura Documentos
DEPARTAMENTO DE AUTOMTICA
INGENIERA ELECTRNICA E
INFORMTICA INDUSTRIAL
CTEDRA
DE
PROYECTOS
ETS de
Ing. Industriales
UPM
TTULO DEL PROYECTO: Sistema de control remoto de robots mviles basado en PDA
ENTIDAD PROPONENTE: Departamento de Automtica
N PROYECTO:
N de MATRICULA: 07517
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:
EL ALUMNO:
Nombre
NDICE
iv
NDICE
Introduccin ....................................................................................................... 13
1.1
Prembulo ................................................................................................... 13
1.2
1.3
1.4
1.5
1.6
2.2
2.3
2.4
OpenRDK ..................................................................................................... 31
2.5
2.6
Necesidades ................................................................................................ 39
Hardware ............................................................................................................ 45
3.1
Robots ......................................................................................................... 45
3.2
3.3
3.4
4.2
Por qu SOAP?........................................................................................... 56
4.3
4.3.1
4.3.2
4.3.3
4.3.4
5.2
5.3
Configuracin .............................................................................................. 82
5.4
Laser&Sonar ................................................................................................ 85
5.5
Mapa ........................................................................................................... 90
Conclusiones ............................................................................................... 98
6.2
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
vi
NDICE DE FIGURAS
vii
viii
ix
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
xi
CAPTULO 1. INTRODUCCIN
INTRODUCCIN
12
CAPTULO 1. INTRODUCCIN
1 Introduccin
1.1
Prembulo
13
CAPTULO 1. INTRODUCCIN
1.2
Proyectos previos
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.
14
CAPTULO 1. INTRODUCCIN
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.
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.
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.
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.
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
18
CAPTULO 1. INTRODUCCIN
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.
19
CAPTULO 1. INTRODUCCIN
1.3
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
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
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
21
CAPTULO 1. INTRODUCCIN
22
ESTADO ACTUAL
23
2 Estado actual
2.1
Proyectos actuales
Realizacin de Mapas 3D
24
Figura 6: Mapa 3D
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.
25
2.2
Proyectos similares
26
edificios u oficinas. Ellos defendan la idea de que un robot mvil, deba tener una
interfaz mvil.
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
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.
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.
28
29
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
30
Poder utilizar robots con los requisitos deseados, sin necesidad de disponer
de ellos fsicamente.
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.
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,
31
32
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.
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
33
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.
Recibe las salidas de cada capa: target point, path, speed, errors, y las
mandas a la interfaz.
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.
34
35
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.
36
2.5
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
37
Modos de operacin
En RDK Disponemos de cuatro posibles modos de operacin, con diferentes grados
de autonoma:
38
2.6
Necesidades
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.
39
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:
Figura 22: Interfaz con lecturas lser (rojo) y lecturas snar (verde)
40
41
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.
42
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.
43
CAPTULO 3. HARDWARE
HARDWARE
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
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.
45
CAPTULO 3. HARDWARE
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.
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.
46
CAPTULO 3. HARDWARE
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
47
CAPTULO 3. HARDWARE
3.2
Robots simulados
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.
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)
Doris
Odometra
PatrolBot (Real)
Nemo
Odometra
P3AT (Real)
Nemo
Odometra
P3AT (Simulado)
ATRVJr3D
Odometra
(Simulado)
49
CAPTULO 3. HARDWARE
3.3
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.
50
CAPTULO 3. HARDWARE
3.4
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.
En la siguiente pgina podemos ver una tabla con las principales caractersticas de
la PDA HP IPaq 214.
52
CAPTULO 3. HARDWARE
ELEMENTO
CARACTERSTICAS
Peso
192 g
Procesador
ROM
256 MB
Memoria RAM
128 MB
Display
Imagen
Color 18 bits
Audio salida
Altavoces
Audio entrada
Micrfono
Conectividad Inalmbrica
Dispositivo de entrada
vas
Alimentacin
CA 120/230 V ( 50/60 Hz )
Batera
Ion de litio
Autonoma 8 horas
Autonoma 8 horas
Sistemas operativos
53
CAPTULO 4. SOFTWARE
SOFTWARE
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
CIL (el lenguaje intermedio de .NET) est estandarizado, mientras que los
bytecodes de java no lo estn.
types),
incluyendo tipos
La compilacin es condicional.
55
CAPTULO 4. SOFTWARE
4.2
Por qu SOAP?
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
56
CAPTULO 4. SOFTWARE
57
CAPTULO 4. SOFTWARE
4.3
Diagramas UML
58
CAPTULO 4. SOFTWARE
59
CAPTULO 4. SOFTWARE
funcionamiento de la
START
Laser
Navigate
Disconnect
Settings
Map
Disconnected
Laser
Disconnect
Map
Navigate
Settings OK
EXIT
60
CAPTULO 4. SOFTWARE
Desconectarse.
Disconnect
Unsafe/Safe Teleoperation
Map Navigate
Connect
Shared Control
Usuario
Lase &Sonar Navigate
Full Autonomy
Settings
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.
61
CAPTULO 4. SOFTWARE
Ok
Usuario
Default
Cancel
ZoomInLaser
Usuario
ZoomOutLaser
ValidateAutonomyMode
62
CAPTULO 4. SOFTWARE
Save
Refresh
Usuario
Zoom
ZoomOut
Set WayPoint
Usuario
Set Path
63
CAPTULO 4. SOFTWARE
Forward
Backward
Usuario
Right
Left
St op
64
CAPTULO 4. SOFTWARE
: 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( )
65
CAPTULO 4. SOFTWARE
Disconnect
: Usuario
: frmPdaRobotDriver
menuConnect_Click( )
: RobotDriverManager
: ControlModule
: LaserModule
: MapModule
DisconnectFromRobot( )
EndSession( )
EndSession( )
EndSession( )
Settings
: frmPdaRobotDriver
: Usuario
: frmSetting
menuSetting_Click( )
ShowSettings( )
66
CAPTULO 4. SOFTWARE
Exit
: Usuario
: frmPdaRobotDriver
menuConnect_Click( )
: RobotDriverManager
: ControlModule
: LaserModule
: MapModule
DisconnectFromRobot( )
EndSession( )
EndSession( )
EndSession( )
close( )
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( )
67
CAPTULO 4. SOFTWARE
Map
: frmPdaRobotDriver
: Usuario
tabDriveMode_SelectedIndexChanged( )
: RobotDriverManager
: RdkSoapService
: MapModule
: LaserModule
StopLaser( )
StopLaser( )
StartMap( )
StartMap( )
Navigate( )
getRobot Pose( )
DrawRobotInMap( )
ShowMapImage( )
ZoomIn Laser
: Usuario
: frmPdaRobotDriver
: Robot DriverManager
: LaserModule
cmdDecRange_Click( )
DecLaserRange( )
DecRange( )
68
CAPTULO 4. SOFTWARE
ZoomOut Laser
: Usuario
: frmPdaRobotDriver
cmdIncRange_Click( )
: RobotDriverManager
: LaserModule
IncLaserRange( )
IncRange( )
: Usuario
: frmPdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkS oapService
KeyEnter( )
Stop( )
Stop( )
SetAutonomyMode( )
SetAutonomyMode( )
69
CAPTULO 4. SOFTWARE
Save Map
: Usuario
: frmPdaRobotDriver
cmdSaveMap_Click( )
: Robot DriverManager
: MapModule
SaveMap( )
SaveMap( )
Zoom Map
: Usuario
: frmPdaRobotDriver
cmdZoomClick( )
: RobotDriverManager
: MapModule
: RdkSoapService
SetClickOnMapMode( )
picMap_MouseDown( )
ClickOnMap( )
ClickOnMap( )
picMap_MouseDown( )
ClickOnMap( )
ClickOnMap( )
Zoom( )
DrawMapRLE( )
ShowMapImage( )
70
CAPTULO 4. SOFTWARE
ZoomOut Map
: Usuario
: frmPdaRobotDriver
c mdZoomOutClick( )
: RobotDriverManager
: MapModule
: RdkS oapService
SetClickOnZoomOut( )
ZoomOut ( )
RefreshMap( )
getFullMapRLE( )
DrawMapRLE( )
ShowMapImage( )
Refresh Map
: Usuario
: frmPdaRobotDriver
cmdRefreshMap_Click( )
: RobotDriverManager
: MapModule
: RdkS oapService
RefreshMap( )
RefreshMap( )
getFullMapRLE( )
DrawMapRLE( )
ShowMapImage( )
71
CAPTULO 4. SOFTWARE
SetWayPoint
: Usuario
: frmPdaRobot Driver
cmdWayPoint_Click( )
: RobotDriverManager
SetAutonomyMode( )
picMap_MouseDown( )
: MapModule
: RdkSoapService
SetAutonomyMode( )
ClickOnMap( )
ClickOnMap( )
cmdWayPoint_Click( )
WayPoint( )
setRobotTargetPoses( )
SetPath
: Usuario
: frmPdaRobotDriver
cmdWayPath_Click( )
: RobotDriverManager
SetAutonomyMode( )
picMap_MouseDown( )
: MapModule
: RdkSoapService
SetAutonomyMode( )
ClickOnMap( )
ClickOnMap( )
cmdWayPath_Click( )
WayP at h( )
setRobotDesiredPath( )
72
CAPTULO 4. SOFTWARE
Forward
: frmPdaRobot Driver
: RobotDriverManager
: ControlModule
: RdkSoapService
: Usuario
KeyUp( )
KeyUp( )
SpeedInc( )
SpeedInc( )
: frmPdaRobot Driver
: RobotDriverManager
: ControlModule
: RdkSoapService
: Usuario
KeyUp( )
KeyUp( )
SetSpeed( )
setSpeed( )
Backward
: Usuario
: frm PdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkS oapService
KeyDown( )
KeyDown( )
SpeedDec ( )
SpeedDec( )
73
CAPTULO 4. SOFTWARE
: frmPdaRobotDriver
: Usuario
: Robot DriverManager
: ControlModule
: RdkSoapService
KeyDown( )
KeyDown( )
Backward( )
setSpeed( )
Right
: frmPdaRobot Driver
: RobotDriverManager
: ControlModule
: RdkSoapService
: Usuario
KeyRight( )
KeyRight( )
JogInc( )
jogInc( )
: Usuario
: frmPdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkSoapService
KeyRight( )
KeyRight( )
SetJog( )
setJog( )
74
CAPTULO 4. SOFTWARE
Left
: frmPdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkSoapService
: Usuario
KeyLeft( )
KeyLeft( )
JogDec( )
jogDec( )
: frmPdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkS oapService
: Usuario
KeyLeft( )
KeyLeft( )
SetJog( )
setJog( )
Stop
: frmPdaRobotDriver
: RobotDriverManager
: ControlModule
: RdkSoapService
: Usuario
KeyEnter( )
KeyEnter( )
Stop( )
Stop( )
75
CAPTULO 4. SOFTWARE
OK Settings
: Usuario
: frmSetting
: SettingModule
menuOk_Click( )
Get Sett ings( )
Save( )
close( )
Default Settings
: Usuario
: frmSetting
: SettingModule
menuDefault_Click( )
SetDefalutValues( )
ShowSettings( )
76
CAPTULO 4. SOFTWARE
Cancel Settings
: Usuario
: frm Setting
: SettingModule
menuCanc el_Click ( )
LoadSettings( )
ShowSettings( )
77
DESCRIPCIN DE
LA APLICACIN
78
5 Descripcin de la aplicacin
En las siguientes pginas, quedan descritos los diversos modos y utilidades de la
aplicacin.
5.1
Soluciones adoptadas
79
80
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
81
5.2
Men principal
5.3
Configuracin
82
83
84
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.
85
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.
86
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.
87
Figura 75: A la izquierda, opciones de teleoperacin. A la derecha, detalle del indicador de velocidad y giro.
88
89
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.
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.
90
En las siguientes figuras (78 y 79),, podemos ver un ejemplo de mapas creados
creado en los
escenarios simulados de Player/Stage y UsarSim.
91
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.
92
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).
93
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
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).
95
96
CONCLUSIONES
Y LNEAS
FUTURAS
97
Conclusiones
98
6.2
Lneas futuras
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.
99
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
100
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.
101
Comunicaciones
Como hemos visto, uno de los puntos dbiles de la aplicacin
son las
102
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.
103
ANEXOS
ANEXOS
104
ANEXOS
Anexos
I - Planificacin
105
ANEXOS
106
ANEXOS
107
ANEXOS
1.
Investigacin inicial
1.1
Estudio de aplicaciones
similares
1.1.1
1.1.2
Aplicaciones
Aplicaciones para
para PC
PDA
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
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
4.
Seleccin
Hardware
4.1
Preseleccin de
modelos de PDA
4.1.1
Compra de la
PDA
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
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
110
ANEXOS
III - Presupuesto
El presupuesto se ha dividido en varios apartados que se comentan a continuacin.
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
111
ANEXOS
Presupuesto total
Descripcin
Precio ()
Partida Software
890
Partida Hardware
980
21000
Suma total
22867,04
+ 6% Costes indirectos
1.372,20
2.973
+ 16% IVA
3.659
TOTAL
30875
112
ANEXOS
Settings
1.0 Fecha: 15 de Octubre 2009
El usuario acceder al men de configuracin de parmetros.
Precondicin
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
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
-
Accin
Si no se puede establecer la conexin se
notificar al usuario.
Cota de tiempo
-
113
ANEXOS
Frecuencia
Comentarios
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.
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
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.
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
-
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.
118
ANEXOS
Poscondicin
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
-
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
-
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
-
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.
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
-
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
-
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.
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.
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.
124
ANEXOS
VI - Abreviaturas y acrnimos
125