125
ESCUELA TÉCNICA SUPERIOR Madrid, noviembre de 2009 DE INGENIEROS INDUSTRIALES José Gutiérrez Abascal, 2 28006 Madrid UNIVERSIDAD POLITÉCNICA DE MADRID DEPARTAMENTO DE AUTOMÁTICA INGENIERÍA ELECTRÓNICA E INFORMÁTICA INDUSTRIAL División de Ingeniería de Sistemas y Automática (DISAM) SISTEMA DE CONTROL REMOTO DE ROBOTS MÓVILES BASADO EN PDA CÓDIGO DE PROYECTO: IAEI0807517 AUTOR: JUAN IGNACIO FORCÉN CARVALHO TUTOR: ALBERTO VALERO GÓMEZ PONENTE: FERNANDO MATÍA ESPADA

pfc_juanignacioforcencarvalho.pdf

Embed Size (px)

Citation preview

  • ESCUELA TCNICA SUPERIOR Madrid, noviembre de 2009 DE INGENIEROS INDUSTRIALES Jos Gutirrez Abascal, 2 28006 Madrid

    UNIVERSIDAD POLITCNICA DE MADRID

    DEPARTAMENTO DE AUTOMTICA INGENIERA ELECTRNICA E INFORMTICA INDUSTRIAL

    Divisin de Ingeniera de Sistemas y Automtica (DISAM)

    SISTEMA DE CONTROL REMOTO DE ROBOTS MVILES BASADO EN PDA

    CDIGO DE PROYECTO: IAEI0807517 AUTOR: JUAN IGNACIO FORCN CARVALHO TUTOR: ALBERTO VALERO GMEZ PONENTE: FERNANDO MATA ESPADA

  • CTEDRA

    DE

    PROYECTOS

    PROYECTO FIN DE CARRERA

    ETS de

    Ing. Industriales

    UPM

    TTULO DEL PROYECTO: Sistema de control remoto de robots mviles basado en PDA

    ENTIDAD PROPONENTE: Departamento de Automtica N PROYECTO:

    TUTOR ASIGNADO: Fernando Mata Espada FECHA de COMIENZO: Octubre 2008

    NOMBRE del ALUMNO: Juan Ignacio Forcn Carvalho N de MATRICULA: 07517

    ESPECIALIDAD E INTENSIFICACIN: Ingeniero en Automtica y Electrnica Industrial

    DECRIPCIN DEL PROYECTO Y SUS OBJETIVOS PRINCIPALES

    El proyecto consiste en disear, desarrollar y evaluar una aplicacin para PDA, que

    permita a un operario controlar remotamente un robot mvil.

    El principal objetivo de la aplicacin es permitir que un operador pueda controlar un

    robot mvil sin verse obligado a permanecer en un lugar fijo. La portabilidad del PDA

    permite al operador moverse en el mismo escenario de operacin del robot.

    OBSERVACIONES:

    ENTIDAD PROPONENTE: EL TUTOR: Nombre: Fernando Mata Espada Nombre: Fernando Mata Espada

    POR LA CTEDRA DE PROYECTOS EL ALUMNO:

    Nombre Nombre: Juan Ignacio Forcn Carvalho

  • Juan Ignacio Forcn Carvalho iv

    NDICE

  • Juan Ignacio Forcn Carvalho v

    NDICE

    1 Introduccin ....................................................................................................... 13

    1.1 Prembulo ................................................................................................... 13

    1.2 Proyectos previos ........................................................................................ 14

    1.3 Marco del proyecto ..................................................................................... 20

    1.4 Motivacin y objetivos ................................................................................ 20

    1.5 Alcance del proyecto ................................................................................... 20

    1.6 Organizacin del documento ...................................................................... 21

    2 Estado actual ...................................................................................................... 24

    2.1 Proyectos actuales ...................................................................................... 24

    2.2 Proyectos similares ..................................................................................... 26

    2.3 Entorno de trabajo ...................................................................................... 28

    2.4 OpenRDK ..................................................................................................... 31

    2.5 Autonoma Modos de operacin ............................................................. 37

    2.6 Necesidades ................................................................................................ 39

    3 Hardware ............................................................................................................ 45

    3.1 Robots ......................................................................................................... 45

    3.2 Robots simulados ........................................................................................ 48

    3.3 Arquitectura del sistema ............................................................................. 50

    3.4 Requisitos y seleccin de PDA ..................................................................... 51

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

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

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

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

  • Juan Ignacio Forcn Carvalho vi

    4.3.1 Diagrama de clases .............................................................................. 58

    4.3.2 Diagrama de estado ............................................................................. 60

    4.3.3 Casos de uso ........................................................................................ 61

    4.3.4 Diagramas de secuencia ...................................................................... 65

    5 Descripcin de la aplicacin ............................................................................... 79

    5.1 Soluciones adoptadas ................................................................................. 79

    5.2 Men principal ............................................................................................ 82

    5.3 Configuracin .............................................................................................. 82

    5.4 Laser&Sonar ................................................................................................ 85

    5.5 Mapa ........................................................................................................... 90

    6 Conclusiones y lneas futuras ............................................................................. 98

    6.1 Conclusiones ............................................................................................... 98

    6.2 Lneas futuras .............................................................................................. 99

    Anexos ...................................................................................................................... 105

    I - Planificacin ..................................................................................................... 105

    II - Estructura de descomposicin del proyecto (EDP) ......................................... 107

    III - Presupuesto ................................................................................................... 111

    IV - Tablas de casos de uso ................................................................................... 113

    V - Referencias...................................................................................................... 122

    VI - Abreviaturas y acrnimos .............................................................................. 125

  • Juan Ignacio Forcn Carvalho vii

    NDICE DE FIGURAS

    Figura 1: Robot Urbano. ............................................................................................. 15

    Figura 2: Robot URBANO haciendo de gua dentro del museo de las ciencias de

    Valencia. ..................................................................................................................... 16

    Figura 3: Silla de ruedas monitorizada automtica. .................................................. 17

    Figura 4: Trozo de pieza de fibra de carbono, de tipo semi-plano, lista para la

    inspeccin. ................................................................................................................. 18

    Figura 5: Robot Blacky en la feria Madrid por la Ciencia en los pabellones de IFEMA

    ................................................................................................................................... 19

    Figura 6: Mapa 3D ...................................................................................................... 25

    Figura 7: Interfaz de teleoperacin de Fong. ............................................................. 26

    Figura 8: Aplicacin de Perzanowski. ......................................................................... 26

    Figura 9: Aplicacin de Huttrenrauch and Norman. .................................................. 27

    Figura 10: En la primera imagen, los robots avanzan en formacin, en la segunda

    siguen al lder, y en la tercera y cuarta, le siguen formando un crculo o un

    cuadrado. ................................................................................................................... 27

    Figura 11: Interfaz de Calinon and Billard.................................................................. 27

    Figura 12: Interfaz desarrollada en la universidad de Vanderbilt por Julie A.Adams.

    ................................................................................................................................... 28

    Figura 13: PDA virtual generado por Visual Studio 2005. ......................................... 29

    Figura 14: Simulador Player/Stage. ........................................................................... 30

    Figura 15: Simulador USARSim. ................................................................................. 30

    Figura 16: Ejemplo de un agente RDK ....................................................................... 32

    Figura 17: Arquitectura del sistema........................................................................... 33

    Figura 18: Capa de Exploracin.................................................................................. 35

    Figura 19: Capa de planificacin de rutas. ................................................................. 35

    Figura 20: Capa de navegacin .................................................................................. 36

    Figura 21: Niveles de autonoma ............................................................................... 38

    Figura 22: Interfaz con lecturas lser (rojo) y lecturas snar (verde) ........................ 40

  • Juan Ignacio Forcn Carvalho viii

    Figura 23: Team View. ............................................................................................... 41

    Figura 24: 3D View. .................................................................................................... 41

    Figura 25: Integracin sistema PDA ........................................................................... 42

    Figura 26: Robot Urbano............................................................................................ 45

    Figura 27: Robot Doris. .............................................................................................. 46

    Figura 28: Robot Nemo. ............................................................................................. 47

    Figura 29: Robot P3AT Simulado. .............................................................................. 48

    Figura 30: Robot ATRVJr3D Simulado. ....................................................................... 48

    Figura 31: Arquitectura del sistema........................................................................... 50

    Figura 32: PDA HP iPaq 214 ....................................................................................... 52

    Figura 33: Diagrama de clases de la aplicacin. ........................................................ 59

    Figura 34: Diagrama de estados. ............................................................................... 60

    Figura 35: Diagrama de casos de uso de la aplicacin............................................... 61

    Figura 36: Casos de uso, Settings. .............................................................................. 62

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

    Figura 38: Casos de uso, Map Navigate. .................................................................... 63

    Figura 39: Casos de uso, Shared Control ................................................................... 63

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

    Figura 41: Diagrama de secuencia. Connect. ............................................................. 65

    Figura 42: Diagrama de secuencia. Disconnect. ........................................................ 66

    Figura 43: Diagrama de secuencia. Settings. ............................................................. 66

    Figura 44: Diagrama de secuencia. Exit. .................................................................... 67

    Figura 45: Diagrama de secuencia. Laser&Sonar. ..................................................... 67

    Figura 46: Diagrama de secuencia. Map. ................................................................... 68

    Figura 47: Diagrama de secuencia. ZoomIn Laser ..................................................... 68

    Figura 48: Diagrama de secuencia. ZoomOut Laser .................................................. 69

    Figura 49: Diagrama de secuencia. Validate Autonomy Mode. ................................ 69

    Figura 50: Diagrama de secuencia. Save Map. .......................................................... 70

    Figura 51: Diagrama de secuencia. Zoom Map. ........................................................ 70

    Figura 52: Diagrama de secuencia. ZoomOut Map. .................................................. 71

    Figura 53: Diagrama de secuencia. Refresh Map. ..................................................... 71

  • Juan Ignacio Forcn Carvalho ix

    Figura 54: Diagrama de secuencia. SetWayPoint. ..................................................... 72

    Figura 55: Diagrama de secuencia. SetPath. ............................................................. 72

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

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

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

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

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

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

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

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

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

    Figura 65: Diagrama de secuencia. OK Settings. ....................................................... 76

    Figura 66: Diagrama de secuencia. Default Settings ................................................. 76

    Figura 67: Diagrama de secuencia. Cancel Settings. ................................................. 77

    Figura 68: Men principal .......................................................................................... 82

    Figura 69: Men de configuracin (Network). .......................................................... 83

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

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

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

    de simulacin del robot. ............................................................................................ 86

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

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

    Figura 75: A la izquierda, opciones de teleoperacin. A la derecha, detalle del

    indicador de velocidad y giro. .................................................................................... 88

    Figura 76: Flecha resaltada al haber sido pulsada. .................................................... 89

    Figura 77: PDA desconectada. ................................................................................... 90

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

    Figura 79: Mapa creado en el entorno Usarsim. ....................................................... 91

    Figura 80: Mapa con Zoom. ....................................................................................... 92

    Figura 81: Diferente modos de operacin. ................................................................ 93

  • Juan Ignacio Forcn Carvalho x

    Figura 82: A la izquierda el usuario est indicando los puntos de destino, a la

    derecha el usuario ha indicado una trayectoria a seguir. ......................................... 94

    Figura 83: Contorno de la flecha. ............................................................................... 94

    Figura 84: Guardar mapa. .......................................................................................... 95

    Figura 85: Aplicacin ejecutndose en la PDA real. .................................................. 96

    Figura 86: Aplicacin ejecutndose en un mvil PDA HTC. .................................... 96

    Figura 87: Diseo preliminar, seleccin de Pan y Tilt, e indicacin de la direccin del

    robot por si la cmara apunta hacia otro lado. ....................................................... 100

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

    distancias. ................................................................................................................ 101

    Figura 89: Estructura de descomposicin del proyecto .......................................... 107

    Figura 90: Investigacin inicial. ................................................................................ 108

    Figura 91: Requisitos. ............................................................................................... 108

    Figura 92: Formacin previa. ................................................................................... 109

    Figura 93: Seleccin Hardware. ............................................................................... 109

    Figura 94: Desarrollo Software. ............................................................................... 110

    Figura 95: Pruebas. .................................................................................................. 110

  • Juan Ignacio Forcn Carvalho xi

    NDICE DE TABLAS

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

    Tabla 2: Datos proporcionados por los robots ......................................................... 49

    Tabla 3: Prestaciones PDA ......................................................................................... 53

    Tabla 4: Aplicacin de los diferentes modos de operacin ....................................... 81

    Tabla 5: Diagrama de gantt ...................................................................................... 106

    Tabla 6: Mediciones y precio unitario. .................................................................... 111

    Tabla 7: Presupuesto total. ...................................................................................... 112

    Tabla 8: Caso de uso Settings. ................................................................................. 113

    Tabla 9: Caso de uso Connect. ................................................................................. 114

    Tabla 10: Caso de uso Disconnect. .......................................................................... 114

    Tabla 11: Caso de uso Map Navigate. ...................................................................... 115

    Tabla 12: Caso de uso Laser&Sonar Navigate. ........................................................ 115

    Tabla 13: Caso de uso Unsafe/Safe Teleoperation. ................................................. 116

    Tabla 14: Caso de uso Shared Control. .................................................................... 116

    Tabla 15: Caso de uso Full Autonomy. ..................................................................... 117

    Tabla 16: Caso de uso SetWay Point ....................................................................... 118

    Tabla 17: Caso de uso Set Path. ............................................................................... 118

    Tabla 18: Caso de uso Forward. ............................................................................... 119

    Tabla 19: Caso de uso Backward.............................................................................. 119

    Tabla 20: Caso de uso Right. .................................................................................... 120

    Tabla 21: Caso de uso Left. ...................................................................................... 121

    Tabla 22: Caso de uso Stop. ..................................................................................... 121

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 12

    INTRODUCCIN

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 13

    1 Introduccin

    1.1 Prembulo

    En estos das en los que la industria tecnolgica avanza a pasos agigantados,

    podemos ver como evoluciona la investigacin acerca de robots mviles para gran

    diversidad de aplicaciones. Estos robots, en la mayora de las ocasiones necesitan

    ser teleoperados o supervisados remotamente en algn momento.

    Adems, algunas veces, el operador necesita moverse en el mismo escenario que el

    robot y teleoperar sin permanecer en un lugar fijo. En este tipo de situaciones no se

    puede disponer de grandes infraestructuras o de una aplicacin con diversas

    pantallas y que a la vez ofrezca gran cantidad de informacin; necesitando un

    dispositivo portable con una aplicacin diseada para estas circunstancias.

    Las PDAs (Personal Digital Assistans) se han convertido en dispositivos muy

    extendidos en la actualidad en diferentes aplicaciones. Cumplen con los requisitos

    necesarios de portabilidad, capacidad de procesamiento, y precio asequible; lo que

    las hacen que sean perfectas en este tipo de aplicaciones.

    Para que el usuario pueda teleoperar el robot debe haber una interaccin usuario

    robot, esta interaccin deber ser gestionada por una interfaz. A su vez esta interfaz

    estar limitada por las bajas prestaciones de una PDA en comparacin con un PC,

    pero deber proporcionar informacin suficiente para lograr conseguir con xito la

    tarea a realizar.

    Por otra parte, a la hora de desarrollar una interfaz pensada para ser utilizada en

    movimiento se debern buscar soluciones que faciliten sus labores al operador. La

    correcta unin de estas ideas expuestas, permitir al operador controlar y operar un

    robot mvil de manera efectiva en el mismo entorno que l se mueve, con las

    ventajas que ello conlleva como obtener informacin adicional del escenario.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 14

    1.2 Proyectos previos

    En los ltimos aos en el grupo de control inteligente [1] del departamento de

    Automtica se han desarrollado los siguientes proyectos.

    WebFAIR

    Acceso Web a Ferias Comerciales mediante Agentes Mviles

    Objetivo: Desarrollo y validacin de un sistema de tele-presencia basado en robots

    mviles, capaz de facilitar acceso de individuos a grandes exhibiciones y ferias

    comerciales a travs de internet.

    Descripcin:

    WebFAIR aborda las necesidades de mercado y promocin de grandes exhibiciones

    comerciales, proporcionando acceso a la informacin, los servicios y los eventos

    expuestos en la exhibicin; para que puedan acceder y explorar la feria y obtener

    informacin visual. El usuario es capaz de observar a travs de los ojos del robot

    (cmaras) y or a travs de sus odos (micrfonos). A travs de una interface Web,

    usuarios de distintas partes del mundo pueden tele-controlar el robot y visitar

    stands o puntos de inters a los que desean acceder.

    Urbano

    Integracin de Robots Autnomos en la Sociedad, mediante el Uso de Nuevas

    Tecnologas.

    Objetivo: Desarrollo de un sistema de tele-presencia para el acceso personalizado a

    lugares pblicos, y una interaccin fluida con la informacin y con otros ciudadanos

    all presentes. Fomentar la integracin en la sociedad de tcnicas relacionadas con

    la automtica, mediante el uso de nuevas tecnologas de la informacin.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 15

    Figura 1: Robot Urbano.

    Descripcin:

    El objetivo del proyecto es el desarrollo de un sistema de tele - presencia que

    permita el acceso personalizado de ciudadanos a lugares pblicos, as como una

    interaccin fluida con la informacin y con otros ciudadanos all presentes. Con ello

    se persigue fomentar la integracin en la sociedad de tcnicas relacionadas con la

    automtica (control inteligente, navegacin de robots autnomos, ingeniera de

    software), mediante el uso de nuevas tecnologas de la informacin (protocolos de

    Internet, interfaces web y habla) que faciliten una comunicacin amigable con el

    ciudadano. El sistema se compone de un cuerpo artificial (robot mvil) con cierto

    nivel de inteligencia (autonoma), con el cual es posible interaccionar a travs de

    Internet y de manera presencial, pudiendo ser operado mediante lenguaje hablado.

    Los usuarios a los que va dirigido el proyecto son: ciudadanos con condicionantes

    especiales necesitados de integracin social, personas de negocios que por motivos

    de economa o tiempo se decantan por hacer una visita virtual, y empresas pblicas

    y privadas, o ciudades espaolas en su conjunto, que desean difundir su bagaje

    cultural, educativo o cientfico. En lo que se refiere a la interaccin hablada, este

    proyecto desarrolla nuevas lneas tecnolgicas no previstas anteriormente para la

    mejora de la interaccin hombre-robot en el sistema de visita presencial o remota

    con ayuda automtica.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 16

    ROBINT

    Integracin de Comportamientos Inteligentes en Robots Gua

    Objetivo: El objetivo del presente proyecto es el modelado, desarrollo de una

    metodologa de diseo y la implementacin de comportamientos inteligentes en

    robots gua.

    Figura 2: Robot URBANO haciendo de gua dentro del museo de las ciencias de Valencia.

    Descripcin:

    Los robots interactivos son mquinas que deben ser programadas para navegar,

    dialogar, razonar, aprender y sobrevivir en entornos casi humanos. Para ello deben

    ser conscientes de sus estados mentales, y su conocimiento sobre el entorno debe

    ser adecuadamente combinado con la informacin que reciben de sus sistemas de

    percepcin. Este tipo de robots son capaces de operar en entornos humanos,

    llevando a cabo tareas sociales tiles como robots instructores (en museos y

    colegios), robots de entretenimiento (en parques de atracciones), o robots de

    compaa (en el hogar o en hospitales).

    Ya existen prototipos de robots interactivos. Los grupos de investigacin solicitantes

    de este proyecto, desarrollaron dentro del proyecto URBANO (CICYT 2002-2004) un

    robot gua para ferias y museos. Se trata, por tanto, de un campo de aplicacin

    innovador, donde los avances cientficos y tecnolgicos que se alcancen pueden

    aportar ventajas competitivas a las empresas interesadas en hacer uso de los

    resultados del proyecto.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 17

    MobiNet

    Mobile Robotics Technology for Health Care Services Research Network

    Objetivo: Red de bsqueda para establecer cooperacin cientfico-tecnolgica de

    manera que se pueda disear un robot mvil completamente autnomo para

    cuidado mdico.

    Figura 3: Silla de ruedas monitorizada automtica.

    Descripcin:

    Se instaur una red para realizar el diseo de un prototipo de un robot mvil

    inteligente autnomo con altas capacidades de maniobrabilidad y manipulabilidad.

    Se analizaron mtodos para la percepcin, representacin del entorno y sensores.

    Los siguientes fueron planificacin de tareas, evitar obstculos, visin basada en

    navegacin

    La red MobiNet Network cre un extenso rango de aplicaciones para los cuidados

    mdicos. Adems los usuarios de la red estuvieron unidos a la industria interesada y

    en contacto cercano con el grupo de usuarios, para aprovechar su conocimiento en

    el desarrollo de la actividad.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 18

    CRAWLER

    Robot Autnomo para Inspeccin de Piezas de Fibra de Carbono mediante Tcnicas

    Pulso-Eco

    Objetivo: La construccin de un robot autnomo para inspeccin autnoma,

    mediante tcnicas pulso-eco, de piezas de fibra de carbono semiplanas de las

    aeronaves.

    Figura 4: Trozo de pieza de fibra de carbono, de tipo semi-plano, lista para la inspeccin.

    Descripcin:

    Tradicionalmente, la inspeccin ultrasnica de piezas semiplanas se lleva a cabo,

    bien mediante un brazo robot, o bien de manera manual, aunque se trata de una

    inspeccin punto a punto. Algunas de estas piezas llegan a tener 17 x 3.5 m. Se trata

    siempre de piezas de fibra de carbono con acabado semiplano, y en algunos casos,

    con la posibilidad de existencia de man-holes y mouse-holes. El objetivo de este

    proyecto fue disear un robot mvil autnomo que, llevando acoplado el rodillo

    anterior, sea capaz de recorrer por completo la pieza a inspeccionar. Su

    caracterstica principal fue que el robot se desplazase hasta la pieza, en lugar de la

    pieza hasta el robot, lo que haca innecesario disponer de una infraestructura fija de

    grandes dimensiones en la nave. Como efecto colateral, se disminuye tambin el

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 19

    coste de inspeccin. Como ejemplo de referencia de pieza a inspeccionar se tom el

    revestimiento del estabilizador horizontal del A380.

    Blacky

    An Interactive Robot for Trade Fairs

    Objetivo: Diseo de un prototipo de robot mvil para que se desplace en medios concurridos y parcialmente estructurados.

    Figura 5: Robot Blacky en la feria Madrid por la Ciencia en los pabellones de IFEMA

    Descripcin:

    El objetivo era que fuese capaz de moverse en medios complejos, como ferias, e

    interactuar con la gente de su alrededor. El primer aspecto innovador fue la

    navegacin del robot. Desde el punto de vista del control reactivo, los obstculos no

    son slo estticos, sino que su movimiento es completamente impredecible. Desde

    el punto de vista de la navegacin, el robot est normalmente rodeado de gente, y

    esto no le permita ver a travs de sus sensores las guas que permiten su

    localizacin. Desde el punto de vista de la interaccin con la gente, el sistema tena

    un sistema de reconocimiento de voz simple, que le permite enviar rdenes al

    robot; as como sistemas de sntesis de voz para describir la feria a los visitantes

    mientras los guaba. Adems, un sistema experto se encargaba de manejar las

    emociones del robot, no slo en la voz sino en el lenguaje empleado.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 20

    1.3 Marco del proyecto

    Este proyecto ha sido desarrollado como proyecto final de carrera del segundo ciclo

    de Ingeniera en Automtica y Electrnica Industrial, en el grupo de control

    inteligente del departamento de Automtica, Ingeniera Electrnica e Informtica

    industrial de la Escuela Tcnica Superior de Ingenieros Industriales de la

    Universidad Politcnica de Madrid.

    1.4 Motivacin y objetivos

    El proyecto consiste en disear, desarrollar y evaluar una aplicacin para PDA, que

    permita a un operario controlar remotamente un robot mvil.

    El principal objetivo de la aplicacin es permitir que un operador pueda controlar un

    robot mvil sin verse obligado a permanecer en un lugar fijo. La portabilidad del

    PDA permite al operador moverse en el mismo escenario de operacin del robot.

    1.5 Alcance del proyecto

    Investigacin inicial: Previamente incluso a la planificacin de este proyecto, se ha

    realizado un estudio sobre el estado actual de desarrollo de aplicaciones en PDA.

    Formacin: Aunque antes de comenzar el proyecto ya se contaba con formacin en

    programacin orientada a objetos y C, nunca se haba trabajado en C#. Asimismo ha

    sido imprescindible tener unos conocimientos bsicos sobre RDK.

    Seleccin Hardware: En esta fase se procedi a la seleccin y compra de una PDA

    que cumpliese con los requisitos necesarios, para ejecutar la aplicacin.

    Desarrollo Software: Incluye un breve diseo previo en UML y su posterior

    correccin y ampliacin, as como el desarrollo software de la aplicacin en C#.

    Pruebas: Pruebas de funcionamiento en modo simulacin (Con entorno y Robots

    simulados) y en modo real, para la posterior correccin, depuracin y posibles

    mejoras a partir de dichas pruebas.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 21

    Redaccin de la memoria del proyecto. Una vez conseguidos los hitos anteriores y

    tras haber realizado las pruebas, se analizan los resultados y se obtienen

    conclusiones a partir de los mismos.

    1.6 Organizacin del documento

    El presente documento queda dividido en siete apartados que describen la

    aplicacin.

    El primer captulo, denominado Introduccin incluye un breve prembulo como

    iniciacin al proyecto, adems de la descripcin de algunos proyectos realizados

    previamente en el grupo de control inteligente del departamento de automtica.

    Adems, tambin se har una breve descripcin acerca del marco del proyecto, las

    principales motivaciones que han llevado a su realizacin, as como el alcance del

    mismo.

    En el segundo captulo denominado Estado Actual se incluye la descripcin de

    algunos proyectos realizados actualmente por el grupo de control inteligente. Y se

    trata de dar nociones bsicas sobre elementos o conceptos necesarios para este

    proyecto, como son: los robots operativos actualmente, la arquitectura del sistema,

    el entorno de trabajo, OpenRDK y los diferentes niveles de autonoma, una vez

    conocido todos los elementos se estudiarn las Necesidades.

    El tercer captulo denominado Hardware se centra en la explicacin de los

    requisitos del hardware de la PDA, as como en la seleccin y compra de la misma.

    En el cuarto captulo denominado Diseo software, se intenta justificar el uso de

    los lenguajes de programacin y posteriormente se describe la aplicacin a travs

    de diagramas UML.

    Quinto captulo: Descripcin de la aplicacin, en este apartado queda descrito a

    fondo todas las funcionalidades y modos de la aplicacin a modo de manual.

    Sexto captulo: Conclusiones y Lneas futuras en este captulo se obtienen

    conclusiones, y se explican posibles lneas futuras de la aplicacin.

  • CAPTULO 1. INTRODUCCIN

    Juan Ignacio Forcn Carvalho 22

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

    de Gannt, estructura de descomposicin del proyecto EDP, presupuesto, referencias

    y biografa.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 23

    ESTADO ACTUAL

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 24

    2 Estado actual

    2.1 Proyectos actuales

    Actualmente en el grupo de control inteligente de Disam se estn desarrollando los

    siguientes proyectos.

    Realizacin de Mapas 3D

    De la Puente est trabajando en mapeado 3D y localizacin simultnea. A da de

    hoy ha desarrollado una aplicacin basada en aproximacin de mapeado 3D para

    obtener modelos compactos de semi-estructuras, tales como edificios parcialmente

    destrozados, donde se llevan robots mviles para realizar actividades de rescate.

    Para conseguir los datos en 3D, se usa un escner lser, empleando un sistema de

    adquisicin de datos nodal montado en robots reales y simulados [23][24]. El mapa

    3D se construye con nubes de puntos 3D. Esas nubes de puntos se extraen del

    rango del escner lser. Cada escaneado tiene un ngulo diferente de inclinacin,

    cubriendo un rea tridimensional diferente. Un ejemplo del tipo de mapa 3D

    construido de esta manera se muestra en la figura 6.

    Adems se ha desarrollado un algoritmo de deteccin de suelo para detectar reas

    seguras de navegacin para los robots mviles [25]. Las reas navegables se

    muestran en una cuadrcula bidimensional que puede ser enviado a la interfaz del

    operador o procesado por el path planning y mdulos de movimiento.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 25

    Figura 6: Mapa 3D

    Aplicacin Desktop Interface

    Alberto Valero Gmez, ha desarrollado una interfaz para PC destinada a la

    teleoperacin de robots por un operador. Esta aplicacin ser posteriormente

    estudiada con mayor detalle, debido a que la aplicacin para PDA desarrollada en

    este proyecto debe cumplir con funcionalidades similares.

    Robonauta

    Como la base de Urbano ha dejado de fabricarse al igual que sus piezas, ha surgido

    la necesidad de comprar un nuevo robot en el que continuar con la lnea de

    investigacin del mismo. Este nuevo robot llamado Doris, tendr funcionalidades

    similares; navegacin, capacidad de interactuar con personas, sistema de

    reconocimiento de voz y sintetizador de voz, etc.

    Actualmente est en fase de construccin, de momento se ha fabricado la cara, y

    entre otras cosas se est trabajando en el sistema de visin para que sea capaz de

    detectar gestos de personas, formas con el fin de mejorar la experiencia en la

    interaccin con las personas.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 26

    2.2 Proyectos similares

    Antes de comenzar con el proyecto, se busco informacin sobre proyectos similares

    que sirviese como punto de partida. Muchas interfaces de PDA basadas en la

    interaccin robot-humano han sido desarrolladas para diferentes tipos de

    aplicaciones.

    Por ejemplo Fong [2][17] cre una aplicacin que permita interactuar con el robot,

    con la particularidad de que el robot no colaboraba con la tarea, era simplemente

    teleoperado.

    Figura 7: Interfaz de teleoperacin de Fong.

    Perzanowski [18] ha implementado una interfaz para PDA, capaz de identificar

    gestos o texto del usuario para interactuar con el robot. Adems esta aplicacin

    permite manejar ms de un robot simultneamente.

    Figura 8: Aplicacin de Perzanowski.

    Huttrenrauch and Norman [19] implementaron una interfaz llamada PocketCERO

    que ofreca diferentes vistas para un robot de servicio usado en entornos de

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho

    edificios u oficinas. Ellos

    interfaz mvil.

    Figura

    Skubic, Bailey and Chronis [

    smbolos y marcas daban ordenes de te

    Figura 10: En la primera imagen, los robots avanzan en formacin, en la segunda siguen altercera y cuarta, le siguen formando un crculo o un cuadrado.

    Calinon and Billard [22], desarrollar

    gestos en una persona para que los repitiese un robot humanoide.

    CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho

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

    Figura 9: Aplicacin de Huttrenrauch and Norman.

    Chronis [20,21], disearon una aplicacin en la que en base a

    y marcas daban ordenes de teleoperacin al robot. (Figura 10

    En la primera imagen, los robots avanzan en formacin, en la segunda siguen altercera y cuarta, le siguen formando un crculo o un cuadrado.

    Calinon and Billard [22], desarrollaron una aplicacin en la que la PDA

    gestos en una persona para que los repitiese un robot humanoide.

    Figura 11: Interfaz de Calinon and Billard.

    27

    que un robot mvil, deba tener una

    , disearon una aplicacin en la que en base a

    leoperacin al robot. (Figura 10).

    En la primera imagen, los robots avanzan en formacin, en la segunda siguen al lder, y en la

    on una aplicacin en la que la PDA detectaba los

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 28

    Por ltimo, tenemos una aplicacin desarrollada por Julie A.Adams, para robots de

    interior [3] que consta de tres vistas diferentes como podemos ver en la figura 12.

    Figura 12: Interfaz desarrollada en la universidad de Vanderbilt por Julie A.Adams.

    La primera vista, contiene informacin de los sensores lser y snar del

    robot.

    La segunda vista muestra el vdeo del robot.

    En la tercera vista, las medidas lser son superpuestas a la imagen de vdeo.

    Una vez realizada esta aplicacin, los autores realizaron un estudio con un grupo de

    voluntarios [4], para posteriormente analizar los resultados obtenidos y sacar

    conclusiones [5].

    2.3 Entorno de trabajo

    Gran parte de los dispositivos portables, tales como las PDAs, llevan instalado

    Windows Mobile en cualquiera de sus versiones (2003, 5, 6). Por esto a la hora de

    elegir el entorno de programacin era necesario que el programa generado pudiese

    funcionar en dicho sistema operativo. En este caso, el lenguaje elegido ha sido C# (C

    Sharp), disponible en la herramienta Visual Studio 2005 de Microsoft.

    Con respecto a la PDA, aunque con la PDA real se han realizado pruebas desde el

    principio del diseo de la aplicacin, ha sido fundamental el uso de la PDA virtual

    (Figura 19), disponible en Visual Studio al instalar Windows Mobile SDK.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 29

    Figura 13: PDA virtual generado por Visual Studio 2005.

    El disponer de una PDA virtual ha permitido depurar la aplicacin en tiempo de

    ejecucin, as como evitar tener que transferir continuamente el programa a la PDA

    real para hacer pequeas pruebas. Por el contrario; el principal inconveniente de la

    PDA virtual es su lentitud, lo que ha hecho que fuese imprescindible realizar

    comprobaciones con la PDA real a lo largo de todo el proceso de desarrollo.

    En cuanto al entorno de trabajo de los robots, aunque el entorno y los robots reales

    siempre son la mejor forma de probar la aplicacin, debido a que las simulaciones

    se asemejan pero nunca son perfectas; para realizar pruebas y poder depurar la

    aplicacin de forma sencilla, prctica y sin riesgo de daar el robot, se ha utilizado

    un entorno simulado as como robots simulados.

    Se ha trabajado con dos entornos simulados, Player/Stage simulator [8](Figura 14),

    utilizado en todo el proceso de diseo y depuracin, y USARSim (Unified System for

    Automation and Robot Simulation) (Figura 15), utilizado para realizar las pruebas

    finales de la aplicacin.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho

    USARSim es una herramienta capaz de simular los robots y el entorno con gran

    precisin. Est basada en e

    utilizada en la RoboCup Rescue Virtual Robot Competition [

    extendida en el mundo de la investigacin con robots de exploracin

    Como hemos dicho anteriormente, trabajar con modelos simulados tendr el

    inconveniente de que tanto el entorno

    realidad, pero por el contrario

    CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho

    Figura 14: Simulador Player/Stage.

    es una herramienta capaz de simular los robots y el entorno con gran

    basada en el motor del juego para ordenador Unreal Tournament, es

    utilizada en la RoboCup Rescue Virtual Robot Competition [9][10

    extendida en el mundo de la investigacin con robots de exploracin

    Figura 15: Simulador USARSim.

    Como hemos dicho anteriormente, trabajar con modelos simulados tendr el

    ue tanto el entorno como el robot, nunca ser

    el contrario tendremos otras ventajas como:

    30

    es una herramienta capaz de simular los robots y el entorno con gran

    Unreal Tournament, es

    10] y est muy

    extendida en el mundo de la investigacin con robots de exploracin[11][12][13].

    Como hemos dicho anteriormente, trabajar con modelos simulados tendr el

    como el robot, nunca sern igual a la

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 31

    Poder utilizar robots con los requisitos deseados, sin necesidad de disponer

    de ellos fsicamente.

    No pondremos en peligro la integridad del Robot ni de los elementos del

    entorno.

    Podremos modificar o utilizar diferentes entornos al gusto, segn nuestras

    necesidades.

    2.4 OpenRDK

    En este apartado vamos a proceder a dar una visin general de OpenRDK (Open

    Robot Development Kit), el sistema software utilizado por los robots. Este software,

    es libre y ha sido desarrollado conjuntamente por la universidad de La Sapienza de

    Roma y por el grupo de control inteligente de la ETSII de la UPM, ambos grupos de

    investigacin comparten inters por la robtica mvil, aunque sus lneas de

    investigacin son sustancialmente diferentes. Este software lo podemos encontrar

    en Source Forge[14].

    OpenRDK ha sido desarrollado siguiendo el asesoramiento de los usuarios y es un

    software modular centrado en el desarrollo rpido de sistemas robticos

    distribuidos. OpenRDK viene siendo utilizado desde hace varios aos y ha sido

    aplicado con xito en diversas aplicaciones con robots heterogneos, tales como:

    Plataformas mviles sobre ruedas: Pioneer 2-A, i-Robot PatrolBot, Pioneer 2-

    DX.

    Vehculos de orugas: Tarantula, el kenaf.

    Vehculos areos no tripulados: AscTec Quad-rotor.

    Robots Legged: Sony Aibo, Aldebaran Nao.

    Simulacin de robots en Player/Stage, USARSim, Webbots.

    Algunas de las caractersticas de OpenRDK son:

    Un agente es una lista de mdulos que son instanciados, junto con los

    valores de sus parmetros e interconexin. Este agente queda definido en

    un archivo de configuracin.

    Los mdulos se comunican entre s mediante un repositorio,

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

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 32

    internas (parmetros, entradas y salidas) llamadas propiedades. Un

    mdulo define sus propiedades durante la inicializacin. Despus podr

    acceder a las suyas y a las de otros mdulos del mismo o diferentes agentes

    a travs de un esquema de URL global. El acceso a las propiedades de un

    mdulo remoto es transparente, lo que permite reducir el uso de memoria

    compartida.

    Cada mdulo normalmente implementa una tarea o comportamiento, como

    localizacin, mapeado, planificacin de trayectorias y as sucesivamente. Todos

    estos mdulos son implementados en el ncleo de OpenRDK. El conjunto de todos

    los mdulos necesarios constituye el agente.

    Todos los agentes por lo general tienen:

    Un mdulo de comunicacin con el robot: simulados o reales.

    Un conjunto de mdulos para procesar los datos del sensor.

    Un conjunto de mdulos que utiliza los datos procesados al mando del robot.

    En la siguiente figura se muestra un ejemplo de un agente que se comunica con un

    robot. El proceso es el siguiente: Primero el agente recupera los datos del lser lo

    siguiente que hace el mdulo scan-matcher es localizar el robot, despus el mdulo

    de mapeado construye el mapa, y a continuacin el mdulo de exploracin mueve

    el robot de acuerdo con el mapa y la posicin del robot.

    Figura 16: Ejemplo de un agente RDK

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 33

    Sistema de navegacin

    En esta seccin vamos a presentar la arquitectura de nuestro sistema de

    navegacin. Esta arquitectura ha sido implementada por OpenRDK, y sigue una

    estructura de capas. En donde cada capa recibe una entrada de la capa anterior, la

    procesa y genera una salida para la siguiente capa. Podemos ver esta estructura en

    la Figura 17.

    Figura 17: Arquitectura del sistema.

    Como hemos dicho anteriormente, cada capa o mdulo tiene un cierto nmero de

    entradas, las cuales son procesadas para generar una salida. El mdulo de mapeado

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 34

    tendr como entradas las medidas lser y la posicin del robot, y entregar como

    salida el mapa correspondiente. El modulo de exploracin recibir el mapa y la

    posicin del robot y dar como salida un punto de destino. Mientras que el modulo

    de planificacin de trayectorias, tomar como entradas el punto de destino deseado

    y el mapa para determinar una trayectoria segura para llegar al objetivo.

    En esta estructura, la capa de HRI (Human Robot Interaction) est a cargo de la

    interaccin entre el operador y el robot:

    Recibe las entradas de la interfaz, y las manda a la capa correspondiente.

    Recibe las salidas de cada capa: target point, path, speed, errors, y las

    mandas a la interfaz.

    Maneja los niveles de autonoma.

    Capa de Exploracin

    La tarea de exploracin depende del objetivo de la misin. Uno podra construir un

    mapa de un entorno desconocido, en cuyo caso slo necesitara maximizar el rea

    cubierta por los robots mientras se mantiene la coherencia del mapa. O uno podra

    querer implementar un equipo de robots con el fin de crear un grupo regido por

    una estructura de comunicaciones, o para buscar vctimas en una zona de desastre.

    Dependiendo del objetivo, los algoritmos de exploracin variarn en consecuencia

    [15].

    Actualmente, nuestro grupo se ha centrado en las misiones de robots de rescate. Se

    tratan de misiones de Exploracin y bsqueda". En este tipo de misiones el

    objetivo es explorar en el entorno a la vez que se buscan caractersticas

    interesantes en su interior. Este problema ha sido modelado como una exploracin

    multi-objetivo.

    Nuestro sistema de exploracin esta modelado como una mquina de estados que

    podemos ver en la siguiente figura.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 35

    Figura 18: Capa de Exploracin.

    Capas de planificacin de trayectorias y navegacin

    Las capas de planificacin de trayectorias y Navegacin han sido desarrolladas en

    cooperacin con el laboratorio robtico de la universidad de La Sapienza en Roma.

    Estas capas son las responsables del movimiento del robot hasta un punto de

    destino. En los siguientes diagramas de estado podemos ver cmo actan.

    Figura 19: Capa de planificacin de rutas.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 36

    Figura 20: Capa de navegacin

    Capa de navegacin segura y capas Interfaz

    La capa de movimiento seguro, es la encargada de evitar las colisiones. Esta capa

    recibe como entrada la velocidad lineal y angular, las cuales son modificadas en

    funcin de los objetos detectados por los sensores del robot, entregando como

    salida las nuevas velocidades lineal y angular. La capa de interfaz del robot tiene

    como fin gestionar las comunicaciones con los robots.

    Localizacin y Mapeado

    Todas estas capas trabajan en base a un mapa donde el robot est localizado. Esto

    implica que el sistema tiene que localizar el robot y construir el mapa a partir de los

    datos obtenidos por los sensores. Actualmente, la navegacin est basada en un

    mapa de celdas. En el cual se incluye informacin 2D, obstculos, agujeros y

    deteccin del suelo e informacin semntica.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 37

    En nuestro grupo de investigacin han sido desarrolladas diversas tcnicas de

    localizacin. Todas ellas han utilizado los datos proporcionados por el escner de

    lser y la funcin de odometra.

    ltimamente se viene trabajando en una solucin muy novedosa, la localizacin

    simultnea y la creacin de Mapa (SLAM).

    Esta nueva tcnica utiliza un conjunto de splines para describir la geometra

    detectada por el lser. Con esto se consigue que los mapas obtenidos sean ms

    compactos que los tradicionales.

    En cooperacin con el Laboratorio de Robtica de la universidad de La Sapienza de

    Roma ha sido desarrollado un algoritmo de localizacin y mapeado basado en el

    scan matching.

    El software se distribuye bajo el nombre de "GMapping" y es uno de los algoritmos

    ms populares utilizados para lseres basados en SLAM.

    2.5 Autonoma Modos de operacin

    Uno de los objetivos de este proyecto es teleoperar o supervisar un robot, por eso

    en este apartado vamos a conocer los posibles modos de operacin que nos brinda

    RDK. Para ello lo primero es conocer el concepto de autonoma.

    Autonoma

    El nivel de autonoma del robot, puede variar segn las necesidades del operador.

    Un robot, ser completamente autnomo cuando l tenga completo control sobre

    s mismo, y no necesite rdenes del operador para realizar una tarea. Por el

    contrario, el nivel de autonoma de un sistema ser nulo cuando el operador

    maneje el robot sin ningn tipo de ayuda ni limitacin.

    En la siguiente figura, podemos ver una representacin del nivel de autonoma. En

    el lado izquierdo el operador tiene control total del robot Teleoperacin, mientras

    que en el lado derecho el agente tiene el control total sobre el robot Autnomo.

    En medio tenemos Teleoperacin asistida donde el usuario teleopera con las

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 38

    ayudas del robot, y Autonoma asistida donde el usuario simplemente enva

    comandos y el robot es el responsable de sus movimientos.

    Figura 21: Niveles de autonoma

    Modos de operacin

    En RDK Disponemos de cuatro posibles modos de operacin, con diferentes grados

    de autonoma:

    Teleoperacin: El operador enva comandos de velocidad y desplazamiento

    al Robot.

    Teleoperacin segura: El operador enva comandos de velocidad y

    desplazamiento al Robot al igual que en Teleoperacin, pero el sistema

    evitar que el robot choque contra los obstculos; reduciendo la velocidad

    del mismo o incluso detenindolo si fuese necesario al superar la distancia

    de seguridad.

    Control compartido; dentro de este modo hay dos variantes posibles:

    o El operador establecer un punto o puntos de destino al robot, y el

    sistema ser el encargado de calcular la trayectoria y controlar los

    movimientos para que el robot llegue al destino.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 39

    o El operador impone al robot una trayectoria. El sistema controlar

    sus movimientos para que el robot siga la trayectoria deseada

    siempre que sea posible.

    Autnomo: En este modo el robot se desplaza por el escenario con el

    objetivo de maximizar el rea explorada.

    2.6 Necesidades

    Como decamos al comienzo del documento, el objetivo de este proyecto es tratar

    de conseguir que un operador pueda controlar un robot mvil sin permanecer en

    un lugar fijo. Actualmente, en el grupo de control inteligente existe una interfaz

    pensada para porttil o PC de sobremesa, creada por Alberto Valero Gmez,

    llamada Desktop Interface [16] (Figuras 22, 23 y 24).

    Esta interfaz, permite al usuario, teleoperar y/o supervisar hasta cuatro robots a la

    vez.

    Adems, tiene tres posibles modos de funcionamiento, que el operador

    seleccionar dependiendo de sus necesidades:

    En el modo Comp. (Figura 22) disponemos de tres vistas diferentes llamadas,

    Local view, Global view y 3D view.

    o Local view: esta vista, est centrada en el robot que est

    seleccionado en cada instante; en ella podemos ver las medidas lser

    y snar, as como el mapa generado a su alrededor.

    o Global view: se visualiza el mapa generado por todos los robots y la

    posicin de cada uno de ellos.

    o 3D view: nos da la posibilidad de ver a vista de pjaro con un pseudo

    3D el mapa explorado, las medidas lser y snar, y el vdeo recibido

    por el robot.

    Modo Team view: (Figura 23) muestra en toda la zona de dibujo el mapa

    generado por los robots, la ubicacin de cada uno de ellos y la trayectoria

    seguida por cada robot, as como la zona explorada en diferentes colores.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 40

    Modo 3D view: (Figura 24) podemos ver en toda la zona de dibujo la vista 3D

    view.

    Los robots puede ser operados en los cuatro modos citados en el apartado anterior:

    Teleoperation, Safe teleoperation, Shared control y Full Autonomy.

    Adems con esta interfaz el operador dispone de mucha informacin adicionar que

    le ayuda a completar su tarea. Por ejemplo:

    El usuario puede ver fcilmente la velocidad lineal y angular de los robots,

    as como el nivel de batera de cada uno de ellos.

    Se puede ver la trayectoria seguida por cada robot.

    Se pueden hacer distintos niveles de zoom en cada ventana.

    En la ventana pseudo 3d puede modificarse la perspectiva con la que se ve al

    robot.

    Figura 22: Interfaz con lecturas lser (rojo) y lecturas snar (verde)

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 41

    Figura 23: Team View.

    Figura 24: 3D View.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 42

    El objetivo de este es poder crear una aplicacin que disponga de funcionalidades

    similares a la comentada anteriormente para PC, pero teniendo en cuenta las

    limitaciones de la PDA. (Figura 25)

    Figura 25: Integracin sistema PDA

    Aunque el tamao de la PDA y su reducida capacidad de clculo impongan fuertes

    restricciones a la hora disear una interfaz de este tipo; la portabilidad de la misma

    puede compensar estos inconvenientes, al permitir al operador desplazarse por el

    mismo escenario que el robot, otorgndole la posibilidad de obtener una visin

    parcial o total del entorno y adquirir informacin que los sensores no seran capaces

    de transmitirle.

    Este mejor conocimiento del entorno puede mejorar el control del robot, y de esta

    manera compensar las limitaciones de la PDA y de su interfaz.

    Para conseguir este objetivo nos surgen las siguientes necesidades.

    Necesidades Hardware:

    o El dispositivo en el que se ejecute la aplicacin debe ser portable, ligero y

    el operador debe poder utilizarlo sin tener que detenerse.

    o Todas las comunicaciones deben ser inalmbricas.

  • CAPTULO 2. ESTADO ACTUAL

    Juan Ignacio Forcn Carvalho 43

    o La autonoma del dispositivo debe ser al menos igual a la de los robots.

    (No sera prctico un dispositivo en el que la duracin de la batera fuese

    inferior a la del robot a controlar).

    Necesidades Software:

    o La aplicacin para PDA debe tener funcionalidades parecidas a la de PC.

    o La Interfaz diseada en la aplicacin debe aportar al operador suficiente

    informacin para poder desarrollar su tarea. Y a su vez disponer de la

    ergonoma suficiente para poder manejarla con comodidad, aunque el

    operador se est desplazando por el escenario.

    o Las limitaciones de procesador de un dispositivo portable como es una

    PDA no pueden ir en detrimento de la calidad de la informacin. Es

    preferible mostrar slo la informacin estrictamente necesaria, a tener

    un sistema muy lento que hara imposible la teleoperacin.

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 44

    HARDWARE

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 45

    3 Hardware

    En este apartado se describen, los robots utilizados, la arquitectura del sistema y el

    proceso de seleccin de la PDA

    3.1 Robots

    En el grupo de control inteligente de DISAM, se encuentran operativos los

    siguientes robots.

    Urbano

    Urbano est compuesto por la Plataforma B21r del fabricante iRobot. El

    computador base es un PC Pentium con sistema operativo Linux; el computador

    secundario es un PC Pentium con Windows.

    En DISAM-UPM se han desarrollado una cabeza y dos brazos con los que el robot

    puede hacer gestos e interaccionar con personas.

    Figura 26: Robot Urbano.

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 46

    Actualmente este modelo ha dejado de fabricarse, adems el grupo de control

    inteligente ha adquirido un nuevo Robot ms reducido, con prestaciones similares

    que tomar el testigo de urbano el da que deje de funcionar.

    Doris

    Este nuevo Robot, al que se le ha llamado Doris, est compuesto por una base

    PatrolBot, de la compaa Mobile Robots. Se ha desarrollado un cuerpo de

    metacrilato y una cabeza para que pueda interactuar con las personas. Dispone de

    un PC con sistema operativo Linux.

    Figura 27: Robot Doris.

    Nemo

    Por ltimo este robot es el modelo P3-AT de Pioneer. Actualmente con este robot

    se est trabajando en la creacin de mapas 3D. Para su funcionamiento dispone de

    un mini porttil con Linux que va situado sobre su plataforma.

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 47

    Figura 28: Robot Nemo.

    La aplicacin desarrollada para PDA, puede ser utilizada en cualquiera de los tres

    robots. Sin embargo est ms dirigida a Doris y Urbano; ya que al ser robots - guas

    pensados para trabajar en museos o visitas, la PDA es perfecta para que un

    supervisor pueda teleoperarlo en un momento dado.

    En la siguiente tabla podemos ver las caractersticas tcnicas de los robots:

    CARACTERSTICAS URBANO DORIS NEMO

    Length 52.5cm 59cm 50cm

    Width 52.5cm 48cm 49cm

    Altura

    106cm 38cm 26cm

    Peso

    122.5kg 46kg 12kg

    Autonoma 6 hrs 3.5hrs 4-8hrs

    Bateras 4 bateras

    plomo-cido

    24v batera

    plomo-cido

    12v batera

    plomo-cido

    Velocidad mxima

    de traslacin 90cm/s 1,7m/s 1,2m/s

    Comunicaciones WiFi WiFi WiFi

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

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho

    3.2 Robots simulados

    Se han utilizado dos robots simulados, el P3AT y el

    Nemo - P3AT (Simulado)

    Al P3AT Simulado (Figura

    frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con

    probar el snar tambin a la hora de realizar pruebas en modo simulado.

    ATRVJr3D (Simulado)

    Este robot (Figura 30) es utilizado en el grupo, porque su mayor tamao permite

    instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta

    tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas

    con esta plataforma.

    CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho

    simulados

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

    P3AT (Simulado)

    Al P3AT Simulado (Figura 29), se le ha aadido con respecto al real, 6 sensores snar

    frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con

    probar el snar tambin a la hora de realizar pruebas en modo simulado.

    Figura 29: Robot P3AT Simulado.

    ATRVJr3D (Simulado)

    ) es utilizado en el grupo, porque su mayor tamao permite

    instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta

    tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas

    Figura 30: Robot ATRVJr3D Simulado.

    48

    ), se le ha aadido con respecto al real, 6 sensores snar

    frontales, 4 sensores snar laterales y 6 sensores snar traseros. Con el fin de poder

    probar el snar tambin a la hora de realizar pruebas en modo simulado.

    ) es utilizado en el grupo, porque su mayor tamao permite

    instalarle un doble lser y as poder realizar mapas 3D en movimiento. Aunque esta

    tarea para la aplicacin de la PDA no sea relevante, tambin se han hecho pruebas

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 49

    Para finalizar, en la siguiente tabla, podemos ver los tipos de sensores que llevan

    instalados cada uno de los robots reales y simulados utilizados.

    ROBOT DATOS PROPOCIONADOS

    Urbano Odometra

    B2R1(Real) Lser Frontal (180)

    24 Sensores snar superiores

    24 Sensores snar inferiores

    Cmara

    Doris Odometra

    PatrolBot (Real) Lser Frontal (180)

    Sensores snar frontales

    Sensores snar laterales

    Sensores snar traseros

    Cmara pan/tilt

    Nemo Odometra

    P3AT (Real) Tilted Lser (180)

    Cmara pan/tilt

    Nemo Odometra

    P3AT (Simulado) Tilted Lser (180)

    6 Sensores snar frontales

    4 Sensores snar laterales

    6 Sensores snar traseros

    Cmara pan/tilt

    ATRVJr3D Odometra

    (Simulado) Tilted Lser (180)

    5 Sensores snar frontales

    10 Sensores snar laterales

    2 Sensores snar traseros

    Cmara pan/tilt

    Tabla 2: Datos proporcionados por los robots

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 50

    3.3 Arquitectura del sistema

    Tanto el robot Urbano, como Nemo y Doris, llevan a bordo un ordenador con

    sistema operativo Linux, en el que se encuentran en ejecucin los mdulos

    necesarios para su navegacin y comunicacin. Para poder teleoperar o supervisar

    el robot desde la PDA, deberemos estar conectados al mdulo de comunicaciones

    del robot a travs de la red WiFi. (Figura 31). Hay que destacar, que la aplicacin

    para PDA est diseada para poder operar solamente un robot simultneamente;

    debido al reducido tamao y las limitaciones de clculo de la misma para manejar

    ms de uno a la vez.

    Figura 31: Arquitectura del sistema.

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 51

    3.4 Requisitos y seleccin de PDA

    A la hora de seleccionar la PDA (Personal Digital Assistant) se baraj la opcin de

    comprar diferentes modelos, pero todos ellos deban cumplir con los siguientes

    requisitos, imprescindibles para esta aplicacin:

    Wifi: Como se ha explicado anteriormente, los robots disponen de un

    ordenador On board, en el que se encuentra en ejecucin el agente que

    contiene los diferentes mdulos necesarios para su funcionamiento (Mdulo

    de navegacin, modulo de planificacin de rutas). Para poder operar con

    nuestra PDA dicho robot, deberemos conectarnos con el agente a travs de

    una red Wifi.

    Pantalla tctil: Es imprescindible para que el usuario pueda interactuar con

    la aplicacin. Tambin ser importante el tamao de la pantalla, siempre

    que no sea excesivo y vaya en detrimento de la portabilidad.

    Procesador y memoria: Como a priori no haba una forma precisa de

    determinar el tipo de procesador y cantidad de memoria necesarios para

    esta aplicacin, se opt por seleccionar procesadores de gama media alta

    para PDAs, debido a que la aplicacin tendra una elevada carga de

    operaciones grficas y de comunicaciones.

    Lector de tarjeta sd: En caso de disponer de l, facilitar el trabajo durante el

    periodo de pruebas, para no tener que estar sincronizando la PDA con el

    ordenador constantemente. Y ser imprescindible en caso de que deseemos

    almacenar los mapas generados por la aplicacin, debido a la poca cantidad

    de memoria de la que generalmente disponen las PDAs.

    Ligera: Al ser un elemento que el operador deber cargar durante el periodo

    en el que desee operar o supervisar el Robot, ser importante que el peso

    sea el mnimo posible.

    Sistema operativo: En el caso del sistema operativo se eligi Windows

    Mobile. Teniendo en cuenta que es un sistema operativo muy extendido

    para PDAs, esto nos proporcionar la capacidad de usar la aplicacin en

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 52

    diferentes dispositivos mviles, como las HTC que tambin utilizan dicho

    S.O. En cuanto a la versin de Windows Mobile, se consider vlida

    cualquiera de las dos ms recientes, la 5 o la 6.

    Finalmente, tras un proceso de seleccin, se tomo la decisin de adquirir la PDA HP

    iPAQ 214 Enterprise; porque adems de cumplir con todos los requisitos y disponer

    de unas muy buenas prestaciones (Como el potente procesador), no tena ningn

    accesorio innecesario como Cmara, GPS o telfono; que no serviran ms que para

    encarecer el precio final, aumentar el peso, o reducir el rendimiento global. A

    continuacin podemos ver una imagen de la misma.

    Figura 32: PDA HP iPaq 214

    En la siguiente pgina podemos ver una tabla con las principales caractersticas de

    la PDA HP IPaq 214.

  • CAPTULO 3. HARDWARE

    Juan Ignacio Forcn Carvalho 53

    ELEMENTO CARACTERSTICAS

    Dimensiones (Ancho x Profundidad x

    Altura) 7.6 cm x 1.6 cm x 12.6 cm

    Peso 192 g

    Procesador Marvell XScale PXA310 624 MHz

    ROM 256 MB

    Memoria RAM 128 MB

    Display 640 x 480 4" matriz activa TFT

    Imagen Color 18 bits

    Audio salida Altavoces

    Audio entrada Micrfono

    Conectividad Inalmbrica IEEE 802.11b, IEEE 802.11g, Bluetooth 2.0 EDR

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

    vas

    Alimentacin CA 120/230 V ( 50/60 Hz )

    Batera Ion de litio

    Autonoma 8 horas Autonoma 8 horas

    Sistemas operativos Microsoft Windows Mobile 6.0

    Dimensiones (Ancho x Profundidad x

    Altura) 7.6 cm x 1.6 cm x 12.6 cm

    Tabla 3: Prestaciones PDA

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 54

    SOFTWARE

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 55

    4 Diseo software

    En este apartado se trata de justificar la eleccin de los lenguajes de programacin

    utilizados para el desarrollo de la aplicacin. Tambin se estudiar la estructura y

    funcionamiento de la misma a travs de diagramas UML.

    4.1 Por qu C#?

    Gran parte de los dispositivos portables como las PDAs, llevan instalado

    normalmente Windows Mobile en cualquiera de sus versiones, por esto a la hora de

    elegir el entorno de programacin era necesario que el programa generado pudiese

    funcionar en dicho sistema operativo. Los lenguajes ms utilizados para ello son

    Java o C#.

    La eleccin entre estos dos lenguajes de programacin es muy subjetiva, sera como

    elegir entre Windows o Linux. Pero evaluando las diferencias, y teniendo en cuenta

    que sabiendo C++ es muy sencillo programar en C#, que en el grupo se utiliza

    Microsoft Visual Studio 2005 y que este entorno ya era conocido, finalmente se

    eligi C#.

    Ventajas frente a Java

    El rendimiento es, por lo general, mejor.

    Concepto formalizado de los mtodos get y set, con lo que se consigue

    cdigo mucho ms legible.

    Gestin de eventos (usando delegados) mucho ms limpia.

    CIL (el lenguaje intermedio de .NET) est estandarizado, mientras que los

    bytecodes de java no lo estn.

    Soporta bastantes ms tipos primitivos (value types), incluyendo tipos

    numricos sin signo.

    Contiene indicadores que permiten acceder a cualquier objeto como si se

    tratase de un array.

    La compilacin es condicional.

    Sus aplicaciones multi-hilo son simplificadas.

    Soporta la sobrecarga de operadores, que aunque pueden complicar el

    desarrollo son opcionales y algunas veces muy tiles.

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 56

    Permite el uso (limitado) de punteros cuando realmente se necesiten, como

    al acceder a libreras nativas que no se ejecuten sobre la mquina virtual.

    4.2 Por qu SOAP?

    Como se ha descrito anteriormente, la PDA se comunicar con el Robot a travs de

    una red WiFi. Por ello era necesario elegir cul sera el protocolo de comunicaciones

    a utilizar durante el proceso de seleccin. Se barajaron tres opciones TCP, UDP y

    SOAP:

    Sockets UDP: proporciona la ventaja de poder mandar una gran cantidad de datos a

    travs de la red, pero como apenas aade informacin para la comunicacin, no se

    puede asegurar la llegada ni el orden de los mensajes, lo que podra ser un

    inconveniente, (Podramos necesitar parar el robot inmediatamente) y sera

    necesario contemplar estos casos. Por el contrario, en situaciones en las que es

    importante mandar gran cantidad de datos en poco tiempo, (Como cuando se tiene

    que enviar el mapa generado por el Robot a la PDA), resultara interesante por ser

    el tiempo de envo ms reducido que en TCP o SOAP.

    Sockets TCP: tiene la ventaja de permitir enviar grandes cantidades de informacin

    de forma fiable, liberando al programador de la dificultad de gestionar la fiabilidad

    de la conexin (retransmisiones, prdida de paquetes, orden en el que llegan los

    paquetes, duplicados de paquetes...) que gestiona el propio protocolo. Sin embargo

    la complejidad de la gestin de la fiabilidad tiene un coste en eficiencia, lo que

    puede provocar que las comunicaciones entre la PDA y el Robot sean lentas en

    comparacin con UDP.

    La decisin final fue utilizar SOAP para la comunicacin. Despus de realizar

    pruebas, se pudo comprobar que en nuestro caso los tiempos de envi eran algo

    superiores a los de TCP, pero nos proporcionaba grandes ventajas en otros aspectos

    como su alto nivel de estandarizacin.

    Tanto los datos como las funciones se describen en XML, lo que permite que

    el protocolo no slo sea ms fcil de utilizar sino que tambin sea muy

    slido. Bastar con generar un archivo .wsdl de los servicios del ROBOT. Una

    vez hecho esto, para nuestra aplicacin solo necesitaremos obtener el nuevo

    archivo .wsdl y agregarlo a nuestro proyecto, teniendo que hacer mnimas

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 57

    modificaciones y sin ser necesario disponer ni conocer cdigo de los

    mdulos del servidor.

    Sencillo de implementar, probar y usar: Es muy importante la sencillez de

    implementacin, en este tipo de aplicacin, en la que la parte del mdulo

    RDK es creada modificada y depurada por diferentes personas, ya que cada

    poco tiempo surge modificaciones y mejoras que hacen que sea necesario la

    revisin y actualizacin del mdulo de transmisin recepcin de la PDA.

    Permite la interoperabilidad entre mltiples entornos: SOAP se desarroll

    sobre los estndares existentes de la industria, por lo que las aplicaciones

    que se ejecuten en plataformas con dichos estndares pueden comunicarse

    mediante mensaje SOAP con aplicaciones que se ejecuten en otras

    plataformas.

    No se encuentra fuertemente asociado a ningn protocolo de transporte: La

    especificacin de SOAP no describe como se deberan asociar los mensajes

    de SOAP con HTTP. Un mensaje de SOAP no es ms que un documento XML,

    por lo que puede transportarse utilizando cualquier protocolo capaz de

    transmitir texto.

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 58

    4.3 Diagramas UML

    En este apartado, se va a proceder a la descripcin de la aplicacin a travs de

    diagramas UML.

    4.3.1 Diagrama de clases

    En la siguiente pgina (Figura 33) podemos ver el diagrama de clases de la

    aplicacin. No se han aadido los parmetros de los mtodos por su elevado

    tamao para facilitar la lectura del documento. El usuario interaccionar con las

    clases frmPdaRobotDriver y frmSetting (Son las clases asociadas a la vista principal

    de la aplicacin y a la vista de propiedades).

    Tambin cabe destacar la estructura de la aplicacin, en la que todas las clases se

    comunican entre ellas a travs de una clase llamada RobotDriverManager, que

    adems, ser la encargada de gestionar todas las operaciones de la aplicacin. Con

    esta metodologa logramos tener una estructura clara y sencilla.

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 59

    Figura 33: Diagrama de clases de la aplicacin.

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 60

    4.3.2 Diagrama de estado

    Con el siguiente diagrama de estado, podemos ver el funcionamiento de la

    aplicacin. Una vez ejecutemos el programa, estaremos en estado desconectado. El

    usuario podr conectarse y navegar en vista Laser&Sonar o en vista Mapa. Tambin

    puede modificar los parmetros en el men Settings, para lo que previamente

    debe estar desconectado.

    Figura 34: Diagrama de estados.

    Laser Navigate

    Settings

    Menu Settings

    Settings OK

    Connect & Laser

    Disconnect

    Disconnect

    Disconnected

    Map Navigate

    Connect & Map

    EXIT

    START

    MapLaser

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 61

    4.3.3 Casos de uso

    Para facilitar la comprensin de los diagramas de casos de uso, primero, se ha

    creado un diagrama general simplificado (Figura 35); a travs del cual llegamos

    rpidamente a las siguientes conclusiones:

    El usuario, tiene tres opciones:

    Conectarse. Una vez conectado podr navegar en modo Mapa o en modo

    Laser&Sonar. Adems, dependiendo del modo de navegacin podr

    seleccionar diferentes niveles de autonoma.

    Desconectarse.

    Abrir el men settings.

    Figura 35: Diagrama de casos de uso de la aplicacin

    Una vez visto el diagrama general, estudiaremos las funcionalidades de cada uno de

    los casos de uso que han sido simplificados. Adems en el anexo IV, tenemos las

    tablas de todos los casos de uso.

    Full Autonomy

    Unsafe/Safe Teleoperation

    Shared Control

    Settings

    Connect

    Disconnect

    Lase &Sonar Navigate

    Map Navigate

    Usuario

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 62

    Caso de uso Settings

    Cuando accedamos al men settings (Figura 36) podremos: cancelar la operacin,

    cargar los parmetros por defecto, o salir y guardar.

    Figura 36: Casos de uso, Settings.

    Caso de uso Laser&Sonar Navigate

    Como podemos apreciar en la Figura 37, este caso de uso lo podemos descomponer

    principalmente en otros tres.

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

    Ok

    Default

    Cancel

    Usuario

    ZoomInLaser

    ZoomOutLaserUsuario

    ValidateAutonomyMode

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 63

    Caso de uso Map Navigate

    Cuando estemos navegando en la vista mapa, tendremos las siguientes

    posibilidades. (Figura 38)

    Figura 38: Casos de uso, Map Navigate.

    Caso de uso Shared Control

    En el modo de autonoma Shared Control el operador podr establecer un punto

    o puntos de destino, as como establecer una ruta a seguir por el robot.

    Figura 39: Casos de uso, Shared Control

    Save

    Refresh

    Zoom

    ZoomOut

    Usuario

    SetWayPoint

    Usuario

    SetPath

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 64

    Caso de uso Safe/Unsafe Teleoperation

    Los modos de teleoperacin Safe Teleoperation y Unsafe Teleoperation, se han

    juntado en un solo caso de uso, debido a que las funcionalidades de ambas son las

    mismas.

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

    Forward

    Backward

    Right

    Left

    Usuario

    Stop

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 65

    4.3.4 Diagramas de secuencia

    Por cada caso de uso, se ha creado un diagrama de secuencia que describe su

    funcionamiento en la aplicacin.

    Connect

    Figura 41: Diagrama de secuencia. Connect.

    : frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule : LaserDraw : ControlModule

    ConnectToRobot( )

    Url( )

    StartSession( )

    StartSession( )

    getLaserParams( )StartSession( )

    getMapParams( )

    StartLaser( )

    Draw( )

    getKinematics( )

    getLaserData( )

    getSonarData( )

    DrawSpeed( )

    ShowLaserImage( )

    ShowSpeedImage( )

    SetAutonomyMode( )SetAutonomyMode( )

    DrawObstacles( )

    DrawLaser( )

    : Usuario

    menuConnect_Click( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 66

    Disconnect

    Figura 42: Diagrama de secuencia. Disconnect.

    Settings

    Figura 43: Diagrama de secuencia. Settings.

    : frmPdaRobotDriver : RobotDriverManager : ControlModule : LaserModule : MapModule

    DisconnectFromRobot( )

    EndSession( )

    EndSession( )

    EndSession( )

    : Usuario

    menuConnect_Click( )

    : frmPdaRobotDriver : frmSetting

    ShowSettings( )

    : Usuario

    menuSetting_Click( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 67

    Exit

    Figura 44: Diagrama de secuencia. Exit.

    Laser&Sonar

    Figura 45: Diagrama de secuencia. Laser&Sonar.

    : frmPdaRobotDriver : RobotDriverManager : ControlModule : LaserModule : MapModule : Usuario

    DisconnectFromRobot( )

    EndSession( )

    EndSession( )

    EndSession( )

    menuConnect_Click( )

    close( )

    : frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule : LaserDraw : Usuario

    StopMap( ) StopMap( )tabDriveMode_SelectedIndexChanged( )

    StartLaser( ) StartLaser( )

    Draw( )

    ShowLaserImage( )

    DrawObstacles( )

    DrawLaser( )

    getLaserData( )

    getSonarData( )

    DrawSpeed( )

    ShowSpeedImage( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 68

    Map

    Figura 46: Diagrama de secuencia. Map.

    ZoomIn Laser

    Figura 47: Diagrama de secuencia. ZoomIn Laser

    : frmPdaRobotDriver : RobotDriverManager : RdkSoapService : MapModule : LaserModule

    StartMap( )

    StopLaser( )

    StartMap( )

    getRobotPose( )

    ShowMapImage( )

    StopLaser( )

    Navigate( )

    DrawRobotInMap( )

    : Usuario

    tabDriveMode_SelectedIndexChanged( )

    : frmPdaRobotDriver : RobotDriverManager : LaserModule

    DecRange( )

    : Usuario

    DecLaserRange( )

    cmdDecRange_Click( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 69

    ZoomOut Laser

    Figura 48: Diagrama de secuencia. ZoomOut Laser

    Validate Autonomy Mode

    Figura 49: Diagrama de secuencia. Validate Autonomy Mode.

    : frmPdaRobotDriver : RobotDriverManager : LaserModule

    IncLaserRange( )

    IncRange( )

    : Usuario

    cmdIncRange_Click( )

    : frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService

    KeyEnter( )

    Stop( )Stop( )

    SetAutonomyMode( )

    SetAutonomyMode( )

    : Usuario

    cmdAutonomyValidat ion_Click( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 70

    Save Map

    Figura 50: Diagrama de secuencia. Save Map.

    Zoom Map

    Figura 51: Diagrama de secuencia. Zoom Map.

    : frmPdaRobotDriver : RobotDriverManager : MapModule

    SaveMap( )

    SaveMap( )

    : Usuario

    cmdSaveMap_Click( )

    : frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario

    SetClickOnMapMode( )

    ClickOnMap( )ClickOnMap( )

    Zoom( )

    DrawMapRLE( )ShowMapImage( )

    cmdZoomClick( )

    picMap_MouseDown( )

    ClickOnMap( )ClickOnMap( )

    picMap_MouseDown( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 71

    ZoomOut Map

    Figura 52: Diagrama de secuencia. ZoomOut Map.

    Refresh Map

    Figura 53: Diagrama de secuencia. Refresh Map.

    : frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService

    SetClickOnZoomOut( )

    ZoomOut( )RefreshMap( )

    ShowMapImage( )

    getFullMapRLE( )

    DrawMapRLE( )

    : Usuario

    cmdZoomOutClick( )

    : frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService

    RefreshMap( )

    RefreshMap( )getFullMapRLE( )

    DrawMapRLE( )

    ShowMapImage( )

    : Usuario

    cmdRefreshMap_Click( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 72

    SetWayPoint

    Figura 54: Diagrama de secuencia. SetWayPoint.

    SetPath

    Figura 55: Diagrama de secuencia. SetPath.

    : frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario

    cmdWayPoint_Click( )SetAutonomyMode( )

    SetAutonomyMode( )picMap_MouseDown( ) ClickOnMap( )

    ClickOnMap( )

    cmdWayPoint_Click( ) WayPoint( )setRobotTargetPoses( )

    : frmPdaRobotDriver : RobotDriverManager : MapModule : RdkSoapService : Usuario

    cmdWayPath_Click( )SetAutonomyMode( )

    SetAutonomyMode( )picMap_MouseDown( ) ClickOnMap( )

    ClickOnMap( )

    cmdWayPath_Click( ) WayPath( )setRobotDesiredPath( )

  • CAPTULO 4. SOFTWARE

    Juan Ignacio Forcn Carvalho 73

    Forward

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

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

    Backward

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

    : frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService : Usuario

    KeyUp( )SpeedInc( )

    SpeedInc( )

    KeyUp( )

    : frmPdaRobotDriver : RobotDriverManager : ControlModule : RdkSoapService : Usuario

    KeyUp( )KeyUp( )

    SetSpeed( )setSpeed( )

    : RobotDriverManager : frmPdaRobotDriver : ControlModule : RdkSoapService : Usuario

    KeyDown( )KeyDown( )

    SpeedDec( )SpeedDec( )

  • CAPTULO 4. SOF