escuela politÉcnica nacional - repositorio...

206
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DE UN SISTEMA DE TELEOPERACIÓN PARA UN ROBOT MÓVIL TIPO CARLIKE PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y CONTROL KARLA DANIELA HERNÁNDEZ GANÁN [email protected] FREDDY MANUEL PANCHI GUAMANGALLO [email protected] DIRECTOR: ING. GEOVANNY DANILO CHÁVEZ GARCÍA, DR. [email protected] Quito, noviembre 2017

Upload: phambao

Post on 21-Sep-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA Y

ELECTRÓNICA

DISEÑO, SIMULACIÓN E IMPLEMENTACIÓN DE UN SISTEMA DE

TELEOPERACIÓN PARA UN ROBOT MÓVIL TIPO CARLIKE

PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN

ELECTRÓNICA Y CONTROL

KARLA DANIELA HERNÁNDEZ GANÁN

[email protected]

FREDDY MANUEL PANCHI GUAMANGALLO

[email protected]

DIRECTOR: ING. GEOVANNY DANILO CHÁVEZ GARCÍA, DR.

[email protected]

Quito, noviembre 2017

Page 2: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

DECLARACIÓN

Nosotros, Karla Daniela Hernández Ganán, Freddy Manuel Panchi Guamangallo,

declaramos bajo juramento que el trabajo aquí descrito es de nuestra autoría; que

no ha sido previamente presentada para ningún grado o calificación profesional; y,

que hemos consultado las referencias bibliográficas que se incluyen en este

documento.

A través de la presente declaración cedemos nuestros derechos de propiedad

intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional,

según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por

la normatividad institucional vigente.

_________________________ ____________________________

Karla Daniela Hernández Ganán Freddy Manuel Panchi Guamangallo

Page 3: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

CERTIFICACIÓN

Certifico que el presente trabajo fue desarrollado por Karla Daniela Hernández

Ganán y Freddy Manuel Panchi Guamangallo, bajo mi supervisión.

________________________

ING. GEOVANNY DANILO CHÁVEZ GARCÍA, DR.

DIRECTOR DEL PROYECTO

Page 4: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

AGRADECIMIENTO

A Dios por su amor infinito.

A mi mamá, por su apoyo y amor incondicional en cada etapa de mi vida y quien

es mi ejemplo de perseverancia.

A mi papá, quien con ternura supo guiarme en cada paso que di, e inculcó en mí el

amor por la vida.

A mis hermanos Pablo y Kelvin, y a mi hermana Ivonne, quienes han sido el pilar

fundamental para avanzar día tras día y lograr ser una mejor persona.

A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar y

superar cada obstáculo que se ha presentado en este proyecto.

A todos y cada uno de mis amigos con quienes compartí increíbles momentos, han

sido un gran apoyo en toda la carrera universitaria.

A los profesores de la Escuela Politécnica Nacional, especialmente al Dr. Danilo

Chávez, que fue una guía en todo este proceso y nos ha apoyado para poder

terminarlo eficientemente.

A la Unidad de Mantenimiento Electrónico y a todos los que la conforman, conocí

gente maravillosa e hice grandes amigos.

Karla

Page 5: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

AGRADECIMIENTO

A Dios por la vida, por las bendiciones, por acompañarme en cada paso de mi vida

y por permitirme llegar a completar este gran objetivo en mi vida.

A mis padres Olga Guamangallo y Manuel Panchi que con su ejemplo de esfuerzo

y dedicación me han enseñado a ser una persona de bien y a mis hermanos Byron,

Cristian y Danilo que siempre han estado cuando los he necesitado para ayudarme

y apoyarme incondicionalmente.

A mi abuelita Beatriz, tíos, cuñadas, primos y sobrinas que han sabido

encaminarme, apoyarme y alentarme para llevar a cabo todos mis objetivos desde

siempre.

A la Unidad de Mantenimiento Electrónico UME en donde he podido formarme más

profesionalmente y conocí a mis mejores amigos con los cuales he tenido el agrado

de compartir muchos momentos de alegría y apoyo mutuo.

A mi novia, amiga, compañera y confidente Raisa que me ha sabido acompañar y

apoyar en los momentos buenos y malos.

A Karla, amiga y compañera de tesis con la que hemos logrado superar

eficientemente todos los desafíos que implicó llevar a cabo este proyecto de

titulación.

Al Dr. Danilo Chávez que nos ha brindado su consejo de manera oportuna para

librar las dificultades que se presentaban en el proyecto.

Freddy

Page 6: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

DEDICATORIA

A mi papá, mi ángel.

Karla

Page 7: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

DEDICATORIA

A Dios.

A mis padres Olga Guamangallo y Manuel Panchi ya que con su trabajo me han

permitido terminar mi carrera y también porque ellos han sido la fuente de mi

inspiración para seguir adelante en este largo proceso

A la memoria de mi primo Kevin Nieto y mi abuelo Segundo Guamangallo cuyo

recuerdo siempre estará presente en los corazones de toda la familia.

A mi familia y amigos que creyeron en mí y me ayudaron a ser una mejor persona.

Freddy

Page 8: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

i

CONTENIDO

CONTENIDO ........................................................................................................... i

RESUMEN ............................................................................................................ ix

PRESENTACIÓN ................................................................................................... x

. CAPÍTULO 1: MARCO TEÓRICO……………………………………………………..1

1.1. TELEOPERACIÓN DE ROBOTS............................................................. 1

CONCEPTOS GENERALES .............................................................. 1

Teleoperación .................................................................................. 1

Telepresencia .................................................................................. 2

Estabilidad ....................................................................................... 2

Transparencia .................................................................................. 2

EVOLUCIÓN DE LA TELEOPERACIÓN ............................................ 2

ELEMENTOS DE SISTEMAS TELEOPERADOS .............................. 3

Estación Local ................................................................................. 4

Estación Remota ............................................................................. 5

Canal de Comunicación................................................................... 5

RETARDOS EN TELEOPERACIÓN .................................................. 5

Retardo por Protocolo de Comunicación ......................................... 6

Protocolos de Comunicación Confiables .................................. 6

Protocolos de Comunicación No Confiables ............................ 6

Retardo por Velocidad de Transferencia de Datos en la Red .......... 7

El ancho de banda de la red .................................................... 7

La cantidad de usuarios ........................................................... 7

La distancia física ..................................................................... 8

Las características de los dispositivos ..................................... 8

SOFTWARE APLICABLE A INTERFACES ........................................ 8

Software Guide de Matlab ............................................................... 8

Software Visual Studio .................................................................... 9

SISTEMAS DE REALIMENTACIÓN ................................................. 10

Realimentación Háptica ................................................................. 10

Realimentación Visual ................................................................... 12

Realimentación Auditiva ................................................................ 13

Page 9: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

ii

1.2. COMUNICACIÓN DE DATOS APLICABLES A TELEOPERACIÓN ...... 14

CANALES DE COMUNICACIÓN ...................................................... 14

Canales Dedicados ....................................................................... 14

Canales No Dedicados .................................................................. 15

PROTOCOLOS APLICABLES EN INTERNET USADOS EN

TELEOPERACIÓN ........................................................................................ 15

Protocolo de Transferencia de Hipertexto HTTP ........................... 15

Protocolo de Transporte en Tiempo Real RTP .............................. 16

Protocolo MQTT (Message Queue Telemetry Transport).............. 17

Protocolo Websockets ................................................................... 17

ARQUITECTURA DEL PROTOCOLO DE COMUNICACIÓN

MQTT………………………………………………………………………………...18

Arquitectura Publicador / Suscriptor .............................................. 18

SERVIDOR DE DATOS O BRÓKER ................................................ 19

1.3. ROBOT MÓVIL ...................................................................................... 19

CLASIFICACIÓN DE LOS ROBOTS MÓVILES ............................... 19

ROBOT MÓVIL TIPO CARLIKE. ...................................................... 21

Tracción ......................................................................................... 22

Direccionamiento Ackerman .......................................................... 22

Modelo Cinemático del Robot ........................................................ 23

Equilibrio mecánico........................................................................ 23

Aplicaciones .................................................................................. 24

1.4. SINGLE BOARD COMPUTER (SBC) .................................................... 24

MODELOS COMERCIALES ............................................................. 25

Raspberry Pi .................................................................................. 25

Beaglebone Black .......................................................................... 25

Udoo .............................................................................................. 26

1.5. PLATAFORMAS DE REALIDAD VIRTUAL ........................................... 26

V-REP .............................................................................................. 26

UNITY 3D ......................................................................................... 28

CAPÍTULO 2: DISEÑO E IMPLEMENTACIÓN DEL HARDWARE DEL ROBOT

MÓVIL TIPO CARLIKE. ....................................................................................... 30

2.1. ARQUITECTURA DEL SISTEMA .......................................................... 30

Page 10: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

iii

ESTACIÓN LOCAL ........................................................................... 31

SERVIDOR DE DATOS O BRÓKER ................................................ 31

ESTACIÓN REMOTA ....................................................................... 32

Estación Remota: Carlike Físico .................................................... 32

Estación Remota: Carlike Simulado .............................................. 32

2.2. HARDWARE DE LA ESTACIÓN LOCAL ............................................... 33

CARACTERÍSTICAS DE LA PC U ORDENADOR ........................... 33

JOYSTICK TIPO VOLANTE Y PEDALES ........................................ 34

2.3. HARDWARE DEL SERVIDOR DE DATOS O BRÓKER ....................... 35

2.4. HARDWARE DE LA ESTACIÓN REMOTA: CARLIKE FÍSICO ............. 36

ESTRUCTURA MECÁNICA ............................................................. 36

Ruedas .......................................................................................... 36

Base .............................................................................................. 37

ACOPLES MECÁNICOS PARA MOTORES DEL CARLIKE ............ 38

Acoples Para la Tracción ............................................................... 38

Acoples Para la Dirección .............................................................. 40

SELECCIÓN DE MOTOR DE TRACCIÓN ....................................... 40

SELECCIÓN DE MOTOR DE DIRECCIÓN ...................................... 42

SELECCIÓN DE CÁMARA PARA LA REALIMENTACIÓN VISUAL

DEL CARLIKE FÍSICO ................................................................................... 44

Cámara IP ..................................................................................... 44

SENSORES DEL ROBOT MÓVIL FÍSICO ....................................... 46

Sensor Digital de Distancia SDS01A ............................................. 46

Interruptor Óptico Ranurado H22A1 (Encoder) ............................. 46

SELECCIÓN DE TARJETA EMBEBIDA PARA EL CARLIKE

FÍSICO………………………………………………………………………………. 47

Especificaciones Técnicas ............................................................. 48

Sistema Operativo ......................................................................... 50

Lenguajes de Programación .......................................................... 50

Accesorios ..................................................................................... 50

Aplicaciones .................................................................................. 51

Aplicación en el Proyecto .............................................................. 51

DISEÑO DEL CIRCUITO ELECTRÓNICO DEL SISTEMA .............. 53

Page 11: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

iv

Sistema de Alimentación ............................................................... 53

Alimentación para los Actuadores: Micromotor y

Servomotor……………………………………………………………………. 54

Alimentación para cámara IP y sensores ............................... 55

Alimentación para Tarjeta Raspberry Pi 3B. .......................... 55

Circuito de Seguridad para Baterías LiPo .............................. 56

Fuentes Reguladoras de Voltaje: Módulo LM2596 ........................ 60

Driver Para Motor de Tracción - L298n .......................................... 61

Esquema Final del Circuito Electrónico del Sistema ..................... 62

CAPÍTULO 3: DISEÑO E IMPLEMENTACIÓN DEL SOFTWARE PARA EL

SISTEMA DE TELEOPERACIÓN Y EL ROBOT MÓVIL TIPO CARLIKE. ......... 66

3.1. ELEMENTOS DE SOFTWARE DEL CARLIKE FÍSICO. ........................ 66

SELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN. ................... 66

Python 2.7 ..................................................................................... 67

LÓGICA DE MANEJO DE LOS ELEMENTOS DE HARDWARE. .... 68

Driver l298n ................................................................................... 68

Servomotor HS311 ........................................................................ 68

Encoder Óptico .............................................................................. 71

Sensor de presencia Sharp ........................................................... 71

Luces Indicadoras ......................................................................... 72

LÓGICA DE PROGRAMACIÓN DEL CARLIKE FÍSICO .................. 72

CONFIGURACIÓN DE LA CÁMARA IP ........................................... 76

3.2. ELEMENTOS DE SOFTWARE DEL CARLIKE DESARROLLADO EN

ENTORNO VIRTUAL ........................................................................................ 76

DESARROLLO DEL ENTORNO VIRTUAL ...................................... 78

El Terreno ...................................................................................... 78

La Ciudad ...................................................................................... 79

El Carlike Jeep .............................................................................. 80

Luces Direccionales....................................................................... 82

La Cámara ..................................................................................... 83

TeamViewer .................................................................................. 83

PROGRAMAS PARA COMANDAR EL CARLIKE. ........................ 84

Script de la lógica del Carlike ........................................................ 85

Page 12: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

v

Script de la cámara ........................................................................ 90

3.3. PROGRAMACIÓN DEL SERVIDOR DE DATOS MQTT ....................... 91

3.4. ELEMENTOS DE SOFTWARE PARA LA ESTACIÓN LOCAL. ............. 93

DESARROLLO DE LA INTERFAZ GRÁFICA................................... 93

DESARROLLO DE LA PROGRAMACIÓN DE LA INTERFAZ ......... 96

. CAPÍTULO 4: PRUEBAS Y RESULTADOS………………………………………..99

4.1. METODOLOGÍA DE IMPLEMENTACIÓN DE LAS PRUEBAS ............. 99

ESCENARIOS DE TELEOPERACIÓN ........................................... 100

Prueba Ideal ................................................................................ 101

Escenario 1. Teleoperación En La Misma Red ............................ 101

Escenario 2. Teleoperación En La Misma Ciudad ....................... 101

Escenario 3. Teleoperación Quito-Latacunga .............................. 102

PRUEBAS AL CANAL DE COMUNICACIÓN DE DATOS .............. 103

Retardo de Ida y Vuelta (Round Trip Time Delay) ....................... 103

Jitter (Fluctuación) ....................................................................... 104

Tasa de Paquetes Perdidos ........................................................ 105

PRUEBAS AL MEDIO DE REALIMENTACIÓN VISUAL ................ 105

PRUEBAS AL OPERADOR ............................................................ 107

Tiempo de Ejecución de la Tarea ................................................ 107

Número de Colisiones ................................................................. 108

Maniobrabilidad ........................................................................... 108

4.2. RECOLECCIÓN DE DATOS ............................................................... 108

DATOS RECOGIDOS DE LA TELEOPERACIÓN PARA EL CARLIKE

FÍSICO…………………………………………………………………………….. 108

Prueba Ideal ................................................................................ 109

Escenario 1. Teleoperación Desde La Misma Red ...................... 109

RTTD en el canal de comunicación de datos ....................... 109

Jitter ..................................................................................... 110

Tasa de paquetes perdidos .................................................. 110

Retardo de la realimentación visual ..................................... 111

Tiempo de ejecución de la tarea .......................................... 111

Número de colisiones ........................................................... 112

Maniobrabilidad. ................................................................... 112

Page 13: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

vi

Escenario 2. Teleoperación desde la Misma Ciudad ................... 112

RTTD en el canal de comunicación de datos ....................... 113

Jitter ..................................................................................... 113

Tasa de paquetes perdidos .................................................. 114

Retardo de la realimentación visual ..................................... 114

Tiempo de ejecución de la tarea .......................................... 115

Número de colisiones ........................................................... 116

Maniobrabilidad. ................................................................... 116

Escenario 3. Teleoperación Latacunga - Quito ............................ 116

RTTD en el canal de comunicación de datos ....................... 116

Jitter ..................................................................................... 117

Tasa de paquetes perdidos .................................................. 118

Retardo de la realimentación visual ..................................... 118

Tiempo de ejecución de la tarea .......................................... 119

Número de colisiones ........................................................... 119

Maniobrabilidad. ................................................................... 120

DATOS RECOGIDOS DE LA TELEOPERACIÓN PARA EL CARLIKE

SIMULADO .................................................................................................. 120

Prueba Ideal ................................................................................ 120

Escenario 1. Teleoperación desde la Misma Red ....................... 121

RTTD en el canal de comunicación de datos ....................... 121

Jitter ..................................................................................... 122

Tasa de paquetes perdidos .................................................. 122

Retardo de la realimentación visual ..................................... 123

Tiempo de ejecución de la tarea .......................................... 123

Número de colisiones ........................................................... 124

Maniobrabilidad. ................................................................... 124

Escenario 2. Teleoperación desde la Misma Ciudad ................... 125

RTTD en el canal de comunicación de datos ....................... 125

Jitter ..................................................................................... 126

Tasa de paquetes perdidos .................................................. 126

Retardo de la realimentación visual ..................................... 126

Tiempo de ejecución de la tarea .......................................... 127

Page 14: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

vii

Número de colisiones ........................................................... 128

Maniobrabilidad. ................................................................... 129

Escenario 3. Teleoperación Latacunga - Quito ............................ 129

RTTD en el canal de comunicación de datos ....................... 129

Jitter ..................................................................................... 130

Tasa de paquetes perdidos .................................................. 130

Retardo de la realimentación visual ..................................... 131

Tiempo de ejecución de la tarea .......................................... 131

Número de colisiones ........................................................... 132

Maniobrabilidad. ................................................................... 133

4.3. ANÁLISIS DE DATOS .......................................................................... 133

TELEOPERACIÓN PARA EL CARLIKE FÍSICO ............................ 133

RTTD en el Canal de Comunicación de Datos ............................ 133

Jitter ............................................................................................. 134

Tasa de Paquetes Perdidos ........................................................ 134

Retardo de la Realimentación Visual ........................................... 135

Tiempo de Ejecución de la Tarea y Número de Colisiones ......... 135

Maniobrabilidad ........................................................................... 137

TELEOPERACIÓN PARA EL CARLIKE SIMULADO ..................... 140

RTTD en el Canal de Comunicación de Datos ............................ 140

JITTER ........................................................................................ 141

Tasa de Paquetes Perdidos ........................................................ 141

Retardo de la Realimentación Visual ........................................... 141

Tiempo de Ejecución de la Tarea y Número de Colisiones ......... 142

Maniobrabilidad ........................................................................... 144

CAPÍTULO 5: CONCLUSIONES Y RECOMENDACIONES……………………..147

5.1. CONCLUSIONES ................................................................................ 147

5.2. RECOMENDACIONES ........................................................................ 149

REFERENCIAS BIBLIOGRÁFICAS .................................................................. 150

ANEXO A : CONFIGURACIÓN DE LA CÁMARA IP………………………………A-1

ANEXO B: INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR DE DATOS

“MOSQUITTO” PARA WINDOWS 7 Y WINDOWS 8 ........................................ B-1

ANEXO C: MANUAL DE USUARIO…………..…………………………………..…C-1

Page 15: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

viii

ANEXO D: MODELO DE ENCUESTA……….………………………………….…..D-1

ANEXO E: CIRCUITOS ELECTRÓNICOS DEL CARLIKE FÍSICO……….….…E-1

Page 16: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

ix

RESUMEN

Los sistemas de teleoperación han ido ganando mucha importancia y utilidad en

muchos sistemas en los que se hace necesario operar sistemas ubicados en zonas

remotas, inaccesibles o peligrosas. Las aplicaciones de estos sistemas se

extienden en varios campos de la ciencia como la exploración, la medicina, la

industria, etc.

En este proyecto se implementa un sistema de teleoperación que consta de una

estación local, una estación remota y un canal de comunicaciones. La estación local

es un interfaz hombre maquina (HMI) desde la cual, el operador podrá monitorear

la estación remota y también comandarla, para implementar la estación local se

utilizó un GUIDE de Matlab. La estación remota se compone de dos objetos a

comandar que son un robot móvil tipo carlike físicamente implementado, que usa

como procesador central una Raspberry Pi 3B, y un robot tipo carlike implementado

en un entorno virtual desarrollado en Unity 3D. El canal de comunicaciones se

implementó en base al protocolo MQTT el cual es ampliamente usado en el Internet

de las cosas.

Para que el operador pueda conocer el entorno en el que se mueve el robot físico

o simulado, cada robot tiene su propio sistema de realimentación visual. El robot

físico cuenta con una cámara IP y el robot simulado usa Team Viewer. En cada

caso el operador de la estación local utiliza esta realimentación visual para tomar

decisiones sobre el robot.

En este proyecto, el operador comanda la estación remota desde una ubicación

geográficamente alejada, es decir, a distancias físicas considerables y la

comunicación entre la estación local y la estación remota se la realiza mediante el

Internet.

Al final del proyecto de analiza el desempeño del protocolo implementado y el

desempeño del sistema de teleoperación en general en base a comparaciones de

pruebas realizadas desde 3 puntos geográficamente alejados y la forma en la que

influye la distancia física sobre la maniobrabilidad del sistema teleoperado.

Page 17: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

x

PRESENTACIÓN

En este proyecto se realiza la descripción total de las partes necesarias para la

implementación del sistema teleoperado, se lo realiza en 5 capítulos y su contenido

se lo menciona a continuación:

En el primer capítulo se revisa la bibliografía necesaria para entender la base

conceptual del marco de la teleoperación y se establecen las posibles herramientas

de hardware y de software a utilizar.

En el segundo capítulo se mencionan las partes de hardware utilizadas en el carlike

físico y en la estación local, se describen las mismas y se justifica su uso en el

proyecto.

En el tercer capítulo se mencionan las partes de software que se implementaron en

la estación local, la estación remota y el canal de comunicaciones, se explican y se

justifican las mismas.

En el cuarto capítulo se presenta la metodología sobre la cual se realizaron las

pruebas, los resultados obtenidos y el análisis de los mismos.

Finalmente, en el quinto capítulo se presentan las conclusiones respectivas sobre

el sistema implementado y las recomendaciones para mejorar y optimizar el

presente proyecto.

Page 18: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

1

CAPÍTULO 1

MARCO TEÓRICO

En la actualidad la posibilidad de poder teleoperar sistemas ha tomado mayor

importancia, refiriéndose a teleoperación como el comando de sistemas entre

largas distancias físicas. Los avances en este tema han sido muy amplios desde

sus inicios en los años 40.

Los sistemas teleoperados pueden ser robóticos, eléctricos, mecatrónicos, etc. La

aplicabilidad de la teleoperación en la industria es bastante extensa, pudiendo

dirigirse a líneas como la medicina, la exploración, el sector nuclear entre otros.

Esto indica que la aplicación de esta tecnología seguirá vigente y logrará ser más

avanzada en el futuro.

En el presente capítulo se presentan las bases conceptuales necesarias para poder

entender la temática de la teleoperación, el contexto en el que se desarrolla el

presente trabajo y las herramientas de software y hardware disponibles.

1.1. TELEOPERACIÓN DE ROBOTS

CONCEPTOS GENERALES [1]

A continuación, se muestran algunos de los conceptos básicos sobre la

teleoperación.

Teleoperación

Es una tecnología mediante la cual un operador humano puede comandar un

sistema, en este caso robótico, ubicado en una zona remota, la cual puede estar

ubicada a una distancia física considerable, inaccesible o perjudicial para dicho

operador, desde una zona local usando elementos que le ofrecen maniobrabilidad

sobre el robot y percepción del entorno del robot con la finalidad de realizar tareas

específicas con la misma solvencia como si el operador estuviera comandando al

robot de manera directa.

Page 19: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

2

Telepresencia

Hace referencia a los mecanismos que permiten la realimentación, odométrica o

visual, del sistema robótico y de su entorno hacia el operador para que el mismo

sienta como si estuviese directamente en el lugar del robot donde desarrolla la

tarea.

Estabilidad

Es un estado en el cual el sistema teleoperado se mantiene dentro de los límites de

operación definidos como normales a pesar de la presencia de perturbaciones en

el sistema.

Las causas más probables para que se produzcan inestabilidades son la existencia

de ruido eléctrico y los retardos en la comunicación entre el entorno local y el

entorno remoto, siendo el último el problema más grande en los sistemas

teleoperados ya que la información que se comparte entre la zona local y remota

no está actualizada.

Transparencia

Es una virtud del proceso de teleoperación mediante la cual el operador puede

sentir realimentación de fuerza del robot, es decir el operador puede sentir las

fuerzas que se ejercen en el robot durante el tiempo que lo comanda.

EVOLUCIÓN DE LA TELEOPERACIÓN [2]

La teleoperación inicia desde la necesidad del hombre de manipular herramientas

para realizar tareas difíciles o sin correr mucho peligro. Por ejemplo, al utilizar

tenazas se pueden manejar objetos calientes sin quemarse.

El origen de la teleoperación se remonta a los años 40 donde se vio la necesidad

de manejar elementos radioactivos de manera segura para el operador, ya que esta

es peligrosa si se maneja directamente. Las primeras soluciones mecánicas tenían

muchos inconvenientes como la restricción de movimientos que se podían realizar.

Page 20: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

3

En 1947 se desarrollan en Estado Unidos investigaciones sobre sistemas de

telemanipulación para realizar tareas remotas en el Argonne National Laboratory.

En 1949 se desarrolla el primer sistema maestro-esclavo de un manipulador

mecánico.

En 1954 se presenta el primer sistema bilateral, que acopla dos bucles de control

uno para el operador y otro en la zona remota del robot, maestro-esclavo accionado

eléctricamente y con servomecanismos.

A partir de 1956 se desarrollan sistemas aplicables a prótesis humanas y para la

rehabilitación de enfermos.

Las aplicaciones a partir de los años 60 se extienden a submarinos que se usaban

para la exploración, búsqueda y rescate de restos.

La carrera por conquistar el espacio por los años 1965 llevo a desarrollar

investigaciones más profundas ante el problema del retardo en las comunicaciones

que creaba problemas de inestabilidad en reflexión de fuerzas.

En 1967 se logra el alunizaje y con ello se da la primera teleoperación hasta el

espacio realizando tareas de colección de piedras lunares.

Durante las décadas posteriores se desarrollaron avances más grandes en los

temas nuclear y submarino, especialmente; y así mismo la teleoperación se ha

extendido a varias otras ramas como la vigilancia, educación, construcción,

medicina, entretenimiento entre otras.

ELEMENTOS DE SISTEMAS TELEOPERADOS

Para poder teleoperar un sistema se necesita tres partes fundamentales, la estación

local, la estación remota y el canal de comunicación. En este punto se describe la

estación local y la estación remota; el canal de comunicación está detallado en la

sección 1.2.

Page 21: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

4

El esquema básico para los sistemas teleoperados se muestran en la Figura 1.1

donde se pueden apreciar sus partes más importantes.

Figura 1.1 Diagrama de bloques de un sistema teleoperado [3]

Como se puede observar en la figura anterior, el sistema teleoperado consta de un

dispositivo maestro, ubicado en la estación local, y un dispositivo esclavo, ubicado

en la estación remota. El operador humano, ubicado en la zona local, comanda al

dispositivo maestro, mientras que el dispositivo esclavo, ubicado en el sitio remoto,

donde el operador no tiene acceso, reproduce las acciones del maestro.

En el sitio local donde se localiza el operador también debe existir una interfaz

destinada a mostrar la ejecución de la tarea por parte del esclavo en el sitio remoto.

Esta interfaz debe mostrar en monitores la realimentación visual, de fuerza y de

sensores desde el esclavo para mejorar la telepresencia del operador.

Estación Local

Lugar o entorno desde el cual se comanda y monitorea el robot físico o simulado a

distancia; usando Internet como medio de comunicación. La estación local debe

contar con dispositivos que le permitan al operador generar comandos, y también

con una interfaz de usuario, la cual permitirá la visualización de los datos enviados

hacia el robot y los datos obtenidos desde el robot. Sus elementos son:

· Operador humano: Es la persona, ubicada en el sitio local, que tiene a su

cargo manejar el robot esclavo, ubicado en el sitio remoto, usando la

información proveniente de los sensores del esclavo para tomar decisiones

y generar comandos que serán enviadas al robot esclavo.

Page 22: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

5

· Interfaz: son todos aquellos equipos y dispositivos que permiten la

telepresencia al operador como realimentación de video, realimentación de

fuerza, sensores, etc.

Estación Remota

Es un sistema físico o simulado comandado y monitoreado desde la estación de

local usando como medio de comunicación el Internet. La estación remota adquiere

y procesa los datos recibidos de la estación local, con el objetivo de interactuar con

el entorno para desempeñar tareas concretas. Sus elementos son:

· Esclavo: es el dispositivo ubicado en el sitio remoto que ejecuta las acciones

y tareas deseadas por el operador humano

· Sensores: aquellos dispositivos que permiten recoger la información del sitio

local y del remoto para utilizarse al comandar desde la interfaz.

· Realimentación: datos visuales, odométricos, etc. obtenidos en la estación

remota que se refleja en la estación local y que sirven para que el operador

tome decisiones.

· Entorno: Es el lugar físico donde se desarrollarán las tareas del esclavo.

Canal de Comunicación

Son todos aquellos dispositivos que permiten el procesamiento, transmisión y

recepción de información desde el sitio local al sitio remoto y viceversa.

RETARDOS EN TELEOPERACIÓN [3]

En la teleoperación uno de los más grandes obstáculos es el retardo en la

comunicación que se presenta en el envío y recepción de datos entre el dispositivo

maestro y el dispositivo esclavo. Una gran desventaja del retardo en la

comunicación es que causa inestabilidad en el sistema teleoperado. El retardo en

la teleoperación se produce por diferentes causas, principalmente por:

· Retardo por protocolo de comunicación.

· Retardo por velocidad de transferencia de datos en la red.

Page 23: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

6

Retardo por Protocolo de Comunicación

De forma general un protocolo cuenta con las siguientes características para su

funcionamiento:

Solicitud: Elemento que el usuario emite para solicitar algún servicio y proporcionar

los parámetros necesarios para especificar el servicio solicitado.

Indicación: Elemento que el proveedor del servicio emite para indicar que ha sido

invocado un procedimiento por el usuario del servicio par en la conexión y para

suministrar los parámetros asociados o que emite para notificar al usuario del

servicio una acción iniciada por el suministrador.

Respuesta: Elemento que el usuario del servicio emite para confirmar o completar

algún procedimiento invocado previamente mediante una indicación a ese usuario.

Confirmación: Elemento que el usuario del servicio emite para confirmar o

completar algún procedimiento iniciado previamente mediante una solicitud por

parte del usuario del servicio.

Los protocolos de comunicación de acuerdo con la velocidad a la que intercambian

datos entre dos usuarios se clasifican en: Protocolos Confiables y Protocolos No

Confiables.

Protocolos de Comunicación Confiables

Son los protocolos que luego de iniciar la transferencia de datos reciben una

confirmación de que el servicio solicitado ha tenido el efecto deseado en el otro

extremo. Como este protocolo necesita confirmación, el tiempo de transferencia de

datos es alto por lo cual se produce un retardo de tiempo.

Protocolos de Comunicación No Confiables

Son los protocolos que sólo invocan los elementos de solicitud e indicación, es

decir, que la entidad que inicia la transferencia de datos no recibe confirmación de

Page 24: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

7

que la acción solicitada se haya ejecutado con éxito, por lo tanto, la transferencia

de datos es más rápida.

A continuación, en la Figura 1.2 se puede observar de mejor manera el

funcionamiento de cada protocolo.

Figura 1.2 Diagrama del funcionamiento de protocolos de comunicación confiables y

no confiables [4]

Retardo por Velocidad de Transferencia de Datos en la Red

En este tipo de retardo se tiene dos aspectos importantes:

El ancho de banda de la red

Determina la cantidad de datos que pueden ser transportados en un tiempo

determinado, en consecuencia, la velocidad de los mismos.

La cantidad de usuarios

La cantidad de usuarios que envíen información por una red magnifica el tráfico de

datos que exista en dicha red y, por lo tanto, generará un mayor retardo en la

comunicación.

Page 25: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

8

La distancia física

Influye directamente sobre el retardo, a mayor distancia física se tiene un mayor

retardo, debido a que existen más dispositivos dentro del proceso de comunicación.

Las características de los dispositivos

Debido a que la velocidad del procesamiento de un dispositivo puede ser mayor

que otro.

SOFTWARE APLICABLE A INTERFACES

Una interfaz de usuario es el medio en el cual existe interacción hombre-máquina.

A través de la interfaz, el operador comanda y monitorea las diversas variables de

un sistema ubicado en la estación remota.

En la estación local es necesario hacer uso de una interfaz que permita ver las

acciones que se realiza sobre la estación remota, así como los parámetros de

respuesta que tiene esta.

Existen diversos programas sobre los cuales se puede desarrollar una interfaz de

usuario. Cada software posee uno o varios lenguajes de programación, también

diversos elementos que hacen que la interfaz sea visualmente agradable al ojo

humano. A continuación, se detalla las características y el funcionamiento de dos

programas que son ampliamente usados, siendo estos: Guide de Matlab y Visual

Studio.

Software Guide de Matlab [5]

GUIDE MATLAB es un software que se enfoca en el diseño de interfaces gráficas

de usuario, cuyo objetivo es permitir comandar y monitorear sistemas de una

manera sencilla. Se puede usar el lenguaje de programación o el uso de comandos

con el fin de ejercer una actividad determinada sobre el sistema.

En la Figura 1.3 el esquema en blanco de una Graphical User Interface GUI. Los

elementos que dispone GUIDE se basa en un panel principal al cual se le puede

Page 26: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

9

agregar: barras de herramientas, botones, menús, controles deslizantes, entre

otros elementos para el diseño de la interfaz del usuario, o incluso la creación de

aplicaciones.

Figura 1.3 Esquema en blanco de una GUI de guide de Matlab [5]

Una vez creada la interfaz gráfica se genera automáticamente el código de la

interfaz en archivo “.m” para poder programar el comportamiento de la misma, es

decir, cada elemento puede realizar una actividad diferente dependiendo de la

lógica de su código.

Software Visual Studio [6]

Visual Studio es un software de entorno de desarrollo integrado que soporta

múltiples lenguajes de programación como: Visual C++, Visual C#, Visual F#,

Python, Visual Basic .NET (orientada a objetos), Java, Ruby, y programación con

entorno visual. Como entorno visual o gráfico proporciona una serie de

herramientas para el diseño de interfaces de usuario y aplicaciones web.

Dependiendo del lenguaje de programación que se escoja, en Visual Studio, se

obtendrá distintas características para la aplicación que se desee crear. En la

Figura 1.4 se observa un ejemplo de una interfaz creada en visual Studio.

Page 27: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

10

Figura 1.4 Esquema de interfaz en Visual Studio [6]

Dentro de las herramientas se encuentran: botones, textos estáticos, textos

editables, paneles de control, barras deslizantes y otros. Además, cada elemento

puede ser programado con las funciones que se necesitan para la aplicación.

Para este proyecto se escogió Guide de Matlab para desarrollar la interfaz gráfica,

debido a que proporciona un sencillo manejo de sus elementos gráficos, así como

el lenguaje de programación, la velocidad del procesamiento de la información y

sobre todo por la facilidad de comunicación con el servidor, lo cual, en este caso es

indispensable para poder enviar y recibir datos a grandes distancias, haciendo uso

de Internet.

SISTEMAS DE REALIMENTACIÓN

Los sistemas de realimentación en teleoperación son indispensables ya que

proporcionan información sobre la estación remota y sobre el entorno en el que se

encuentra. Esta información sirve para hacer que el sistema sea más seguro. A

continuación, se expone los diferentes tipos de realimentación que son usados en

teleoperación.

Realimentación Háptica

El término “háptico” es amplio, y se usa para describir información táctil, así como

cinestésica (fuerza). Ambas son necesarias para reproducir la sensación que tiene

una mano humana al contacto con objetos [7]. La realimentación háptica en la

teleoperación proporciona información del robot que se está manipulando en la

estación remota. Generalmente en este tipo de realimentación se usa un joystick

Page 28: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

11

como elemento de maniobra para el robot. Pero a diferencia de los joysticks

convencionales, el dispositivo puede devolver fuerzas a los operadores,

permitiendo así la sensación interactiva del proceso de manipulación. [8]

Para implementar una buena retroalimentación háptica, es necesario saber la

cantidad de fuerza que se aplica desde el aparato que está maniobrando sobre el

entorno en el que está funcionando. En general, hay dos maneras de adquirir esa

información. O bien se puede estimar las fuerzas aplicadas mediante la medición

de otros valores, como el ángulo y la corriente en las juntas, o se puede colocar un

sensor de fuerza en un lugar adecuado del maestro-esclavo. [9]

En el sistema teleoperado, el caso ideal sería cuando las fuerzas sentidas por el

operador humano son las mismas que las fuerzas aplicadas al ambiente esclavo.

En tal caso, el operador humano se sentirá como si estuviera manipulando el medio

ambiente directamente, y no sentirá la electrónica en absoluto; es decir, el sistema

es transparente. [9]

Figura 1.5 Figura de un sistema de teleoperación maestro-esclavo con realimentación

háptica [9]

En la Figura 1.5 se presenta como la realimentación háptica funciona. Como se

puede observar la ayuda de una realimentación visual es indispensable.

La realimentación háptica dentro de la teleoperación tiene diferentes aplicaciones,

como el manejo de materiales radioactivos, o en la medicina. La más destacable es

en la medicina, debido a que la exactitud y precisión es de extrema importancia.

Dentro del área de uso médico, hay muchos ambientes diferentes en los que el

Page 29: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

12

manipulador robótico estará operando. En este campo ya se han realizado

intervenciones quirúrgicas usando esta tecnología.

Realimentación Visual

Dentro de la teleoperación los sistemas de realimentación visual son de gran

importancia porque sirven para la toma de decisiones sobre el robot móvil. A partir

de la información visual que proporciona el entorno del robot móvil se puede

resolver muchos problemas que limitan aplicaciones como: la exploración en

grandes profundidades, conducción automática, la robótica médica, los robots

aéreos, entre otros. [13]

La realimentación de video logra un mayor nivel de telepresencia, lo cual es muy

significativo para el comando del robot móvil, ubicado en la estación remota. Las

cámaras de diferentes tipos y algunos programas de software son usados para

llevar a cabo estos objetivos. Depende de la calidad visual de la realimentación de

video que sea o no más fácil reconocer el entorno del robot, sin embargo, la alta

calidad visual implica un mayor número de datos de video que transportar a la

estación local de operación, existiendo un mayor retardo en la comunicación [14].

Sin embargo, el retardo en la transmisión de video depende también del ancho de

banda en la comunicación que se asigne para transportar estos datos. Lo más

óptimo es usar un servidor para video, de esta forma el medio es exclusivo para los

datos de video, y así, los retardos disminuyen de forma considerable.

Figura 1.6 Ilustración que muestra como un operador humano maniobra un robot con

el uso de realimentación de video [15]

Page 30: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

13

Cabe recalcar, que mientras más sistemas de realimentación existan en un robot

móvil, será más fácil para el operador humano poder comandar el mismo. En el

presente proyecto sólo se hará uso de realimentación de video para comandar el

robot móvil tipo carlike.

Realimentación Auditiva

El sonido puede transmitir un flujo continuo de información sobre el estado de un

sistema a un usuario u operador humano y así mejorar la interacción con el sistema.

Como ejemplo, se puede pensar en la experiencia común de conducir un coche

donde los sonidos continuos del motor, frenos, u otros pueden influir

constantemente en el comportamiento del conductor. Sin embargo, el uso del

sonido como información ha recibido poca atención en cuanto a las

implementaciones técnicas de la realimentación auditiva en las interfaces de

maniobra. La realimentación auditiva en teleoperación es usada para

complementar otro tipo de realimentación, como el caso de la visual, ya que la

realimentación auditiva permite una mejora del rendimiento del sistema incluso bajo

muy buenas condiciones de realimentación visual. [10]

Figura 1.7 Sistema de teleoperación que posee realimentación auditiva [11]

La información auditiva puede ser emparejada con la realimentación visual, por

ejemplo, para dirigir un robot humanoide que es comandado remotamente desde

una interfaz gráfica. Cada vez que el robot hace un paso, el usuario escucha la

Page 31: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

14

realimentación auditiva que es síncrona o asincrónica con el movimiento del robot.

El uso reciente de este método encontró que los sonidos de pasos sincronizados

con la realimentación visual reducían el tiempo requerido para realizar la tarea de

caminar. [12]

1.2. COMUNICACIÓN DE DATOS APLICABLES A

TELEOPERACIÓN

Existen varios protocolos de comunicación que se usan para teleoperar un sistema.

Cada protocolo posee sus ventajas y desventajas. Además, es importante tomar en

cuenta las características del canal de comunicación que usa cada protocolo. A

continuación, se detalla primero los tipos de canales de comunicación que existen,

y sus características, posteriormente se presenta los protocolos de Internet que se

usan netamente para teleoperación.

CANALES DE COMUNICACIÓN [4]

En teleoperación el canal de comunicación es el medio por el cual se transporta la

información desde la estación local hacia la estación remota y viceversa, en este

proyecto el Internet. No todos los canales tienen la misma capacidad para transmitir

información. Se debe garantizar la estabilidad del canal de comunicación y en

consecuencia la estabilidad del sistema de teleoperación.

Canales Dedicados

Es un canal de comunicación que se usa específicamente para un propósito. Está

disponible a toda hora para su uso por un usuario designado. No comparte nada

con otros usuarios. La ventaja de estos canales es la velocidad de movilización de

datos y la privacidad que poseen. Este canal se da cuando existe conexión punto

a punto entre dispositivos.

Page 32: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

15

Canales No Dedicados

Es un canal de comunicación por el que pasan varios paquetes de información a la

vez y es accesible para varios usuarios, un claro ejemplo es el Internet. Este canal

existe en la conexión multipunto de dispositivos.

No se debe usar un canal dedicado cuando se tiene los siguientes escenarios:

· Los dispositivos están muy alejados. En este caso no estaría justificado, por

ejemplo, utilizar un enlace dedicado entre dos dispositivos que puedan estar

separados por miles de kilómetros.

· Hay un conjunto de dispositivos que necesitan conectarse entre ellos en

instantes de tiempo diferentes. Un ejemplo de esta necesidad es la red de

teléfonos mundial o el conjunto de computadores pertenecientes a una

compañía. Salvo el caso de que el número de dispositivos sea pequeño, no

es práctico utilizar un enlace entre cada dos.

Con la justificación dada se concluye que en teleoperación es conveniente y se

debe usar un Canal de Comunicación No Dedicado, en este caso el Internet.

PROTOCOLOS APLICABLES EN INTERNET USADOS EN

TELEOPERACIÓN

Dentro de Internet existe un sin número de protocolos de comunicación que se usan

para el intercambio de información. Sin embargo, en teleoperación se hace uso de

un número reducido, debido a las características que poseen. A continuación, se

detalla varios protocolos usados en teleoperación.

Protocolo de Transferencia de Hipertexto HTTP [4]

El Protocolo de transferencia de hipertexto (HTTP) es el protocolo que se usa la

World Wide Web (WWW) y puede ser utilizado en cualquier aplicación con

arquitectura cliente/servidor que implique hipertexto. HTTP en realidad no es un

protocolo para la transferencia de hipertexto, sino que es un protocolo para

transferir información con la eficiencia necesaria para realizar saltos de hipertexto.

Page 33: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

16

El tipo de datos que pueden ser transmitidos por este protocolo son texto claro,

hipertexto, audio, imágenes o cualquier información accesible por Internet.

El uso más típico del protocolo HTTP es que soporta el intercambio de información

entre buscadores web y servidores web. HTTP utiliza el modelo de comunicación

solicitud/respuesta. Además, es un protocolo ‘sin estado’, debido a que no guarda

información de conexiones anteriores, es decir, cada conexión se trata de forma

independiente, una vez terminada la transferencia de datos la conexión se da por

finalizada.

Una característica importante del protocolo HTTP es que es tolerable a varios

formatos, es decir, cuando un cliente envía solicitud a un servidor, puede incorporar

una lista de formatos preferidos que pueda manejar y el servidor responde con el

formato que sea más apropiado. Por ejemplo, si un navegador no puede manejar

imágenes, el servidor web no transmitirá ninguna imagen en las páginas web. Esta

medida permite que sólo se transmita información netamente necesaria.

Figura 1.8 Operación del protocolo HTTP [4]

En la Figura 1.8 se observa el modo de funcionamiento del protocolo HTTP. El

cliente realiza una solicitud al servidor y este le envía una respuesta. La conexión

existente entre ambos es TCP (Protocolo de Control de Transmisión), siendo TCP

uno de los protocolos fundamentales de Internet.

Protocolo de Transporte en Tiempo Real RTP [4]

Este protocolo, como su nombre lo dice, sirve para transmitir en tiempo real datos

multimedia. Aunque cada aplicación en tiempo real podría incluir sus propios

mecanismos para soportar el transporte en tiempo real, hay una serie de

características que justifican la definición de un protocolo común. Un protocolo

diseñado para este propósito es el protocolo de transporte en tiempo real (RTP).

Page 34: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

17

RTP no garantiza en sí la transmisión en tiempo real de los datos multimedia, ya

que eso depende netamente de la red, pero si proporciona los medios necesarios

para administrar los datos a medida que llegan de manera rápida y eficaz. RTP

generalmente funciona sobre el protocolo UDP (Protocolo de Datagrama del

Usuario), pero también puede usar otros protocolos como el SIP (Protocolo de Inicio

de Sesión).

Protocolo MQTT (Message Queue Telemetry Transport) [16]

MQTT es un protocolo de comunicación con arquitectura publicador/suscriptor. Se

caracteriza por ser simple y ligero en el transporte de datos, diseñado para

dispositivos restringidos y redes de bajo ancho de banda, de alta latencia o poco

fiables. Los principios de diseño son minimizar el ancho de banda de la red y los

requerimientos de recursos del dispositivo, a la vez que intenta asegurar la fiabilidad

y cierto grado de seguridad en la entrega. Estos principios también se convierten

en el protocolo ideal de la emergente “máquina a máquina” (M2M) o “Internet de las

cosas”, mundo de dispositivos conectados, y para aplicaciones móviles donde el

ancho de banda y la energía de la batería son muy importantes.

Protocolo Websockets [17]

Es un protocolo de comunicación que proporciona una sesión de comunicación

interactiva entre el navegador de usuario y un servidor, se puede usar en

aplicaciones con arquitectura cliente/servidor. Con este protocolo se puede enviar

mensajes al servidor y recibir respuestas controladas por eventos sin necesidad de

consultar al servidor por una respuesta, debido a que posee un canal de

comunicación bidireccional y full dúplex.

Con las aplicaciones tradicionales de Internet, como la transferencia de archivos, el

correo electrónico y las aplicaciones cliente / servidor, incluyendo la Web, las

métricas de rendimiento de interés son generalmente el rendimiento y el retardo.

También hay una preocupación con la fiabilidad, y se utilizan mecanismos para

asegurarse de que los datos no se pierdan, se dañen o se maltratan durante el

tránsito. Por el contrario, las aplicaciones en tiempo real se preocupan más por los

Page 35: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

18

problemas de tiempo. En la mayoría de los casos, existe el requisito de que los

datos sean entregados a una tasa constante igual a la tasa de envío. En otros

casos, se asocia un plazo a cada bloque de datos, de manera que los datos no se

pueden utilizar después de que expire el plazo.

ARQUITECTURA DEL PROTOCOLO DE COMUNICACIÓN MQTT

Para este proyecto se escogió el protocolo de comunicación MQTT, porque posee

la rapidez para la transmisión de datos, y ha tenido gran desarrollo en tarjetas

embebidas. La mayor parte de información de este protocolo se encontró en el

proyecto de titulación [18]. El protocolo MQTT trabaja con arquitectura publicador /

suscriptor, la cual, se explica en el siguiente punto.

Arquitectura Publicador / Suscriptor

En la arquitectura de comunicación, mostrada en la Figura 1.9,

publicador/suscriptor cualquier participante puede tener el papel de publicador o de

suscriptor. El agente publicador produce varios paquetes de datos de información

denominados “tópicos”. El suscriptor es el agente que consume los tópicos.

Figura 1.9 Arquitectura de comunicación publicador / suscriptor

La principal característica de esta arquitectura de comunicación es la forma en que

los tópicos viajan desde el publicador hasta el suscriptor; el suscriptor no está

directamente dirigido al publicador, si no que indirectamente se direcciona

dependiendo del contenido de cada tópico. Es decir, el suscriptor sólo toma los

tópicos a los cuales está suscrito. Además, el suscriptor no anula sus actividades

mientras espera la notificación del tópico.

Page 36: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

19

Para evitar que el publicador conozca todas las suscripciones de cada suscriptor,

en el proceso de propagación de información desde el publicador hasta el suscriptor

se coloca un mediador. Este mediador es un “Servidor de Datos”. [19]

El Servidor de Datos es el único medio por el cual el publicador y suscriptor se

comunican. El servidor de datos debe:

· Almacenar todas las suscripciones de cada suscriptor.

· Recibe y almacena los tópicos del publicador, para que los suscriptores

puedan adquirirlos.

SERVIDOR DE DATOS O BRÓKER

El servidor de datos o bróker con el que trabaja el protocolo de comunicación MQTT

es “Eclipse Mosquitto”. Eclipse Mosquitto es un bróker de mensajería de código

abierto (EPL) que implementa las versiones 3.1 y 3.1.1 del protocolo MQTT,

proporciona un método ligero de realizar mensajes usando un modelo de publicador

/ suscriptor. Esto lo hace adecuado para el "Internet de las cosas" de mensajería,

como con sensores de baja potencia o dispositivos móviles como teléfonos,

ordenadores integrados o microcontroladores como el Arduino [20].

1.3. ROBOT MÓVIL

Un robot móvil es una máquina capaz de desplazarse por un entorno físico que

puede ser aéreo, acuático o terrestre de manera autónoma o con cierto nivel de

intervención humana que le guía o da instrucciones.

La diferencia con los robots estáticos como los manipuladores es que estos últimos

se encuentra siempre fijos en la misma ubicación.

CLASIFICACIÓN DE LOS ROBOTS MÓVILES

Existen muchas formas de clasificar los robots, en este caso según el entorno en el

cual trabajan se clasifican en: robots aéreos, robots acuáticos y robots terrestres.

En este proyecto se trabaja con un robot terrestre.

Page 37: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

20

Los robots terrestres son el tipo de robots sobre los que más se ha investigado, se

clasifican principalmente por el mecanismo que usan para desplazarse, véase

Figura 1.10.

Clasificación de Robots Terrestres

Robots con Patas Robots con Cintas de Desplazamiento Robots con Ruedas

Triciclo Clásico

Direccionamiento Diferencial

Skid Steer

Síncronas

Ackerman o Carlike

Figura 1.10 Clasificación de los robots terrestres

· Robots con patas: Son robots diseñados para terrenos irregulares y su

diseño se asemeja a la fisiología de animales como los insectos y su

movimiento puede dirigirse casi en cualquier dirección.

· Robots con cintas de desplazamiento o tipo oruga: Son robots que usan una

cinta incorporada en cada lado del robot para el desplazamiento similar a un

tanque de guerra. Son muy útiles para movilizarse en terrenos irregulares

· Robots con ruedas: Son los robots más populares que existen, son fáciles

de construir, mecánicamente hablando, y de maniobrar. No son muy útiles

en terrenos irregulares.

Los robots con ruedas a su vez se clasifican en:

· Triciclo clásico: El modelo de este tipo de robot emplea dos ruedas traseras

que proveen de tracción al robot y una delantera para la dirección del mismo.

· Direccionamiento diferencial: En este modelo se usan dos ruedas acopladas

a un motor independiente y una o dos ruedas para usarlas como soporte.

Page 38: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

21

Para girar al robot basta con que una de las ruedas gire más rápido que la

otra.

· Skid steer: Este tipo de robots tiene varias ruedas en cada lado, que trabajan

coordinadamente para darle movimiento al vehículo y darle dirección.

· Síncronas. Es un robot compuesto por tres ruedas cada una acoplada a un

motor, la actuación simultánea de las tres ruedas permite la locomoción del

mismo.

· Ackerman o carlike: Su modelo se parece a los automóviles convencionales

y es el robot que se usará en este proyecto. Su descripción se detalla en el

punto 1.3.2.

ROBOT MÓVIL TIPO CARLIKE.

El robot móvil tipo carlike se ha seleccionado en el presente proyecto como robot a

comandar debido a que es un robot muy común, a su facilidad de implementación

y a las características de estabilidad que presenta.

Este robot es utilizado en vehículos de cuatro ruedas convencionales como se

muestra en la Figura 1.11. De hecho, los vehículos robóticos para exteriores

resultan normalmente la modificación de vehículos convencionales tales como

automóviles o incluso vehículos más pesados. [24]

Figura 1.11 Robot urbano RBCAR [25]

Este robot móvil posee restricciones holonómicas ya que por su diseño solo puede

moverse adelante o hacia atrás y girar su ángulo de direccionamiento. Al poseer

ruedas el carlike puede moverse por terrenos con rugosidad baja.

Page 39: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

22

Tracción

El robot dispone de un motor acoplado al eje que une las llantas traseras, el

accionar de este motor le proporciona de movimiento hacia adelante o hacia atrás

al robot.

El motor acoplado al eje deberá cumplir con las necesidades del vehículo como el

torque suficiente para mover al robot y la carga útil que ha de cargar encima, así

mismo con la velocidad necesaria para realizar las tareas especificadas.

Direccionamiento Ackerman

El mecanismo para realizar el direccionamiento se muestra en la Figura 1.12.

Figura 1.12 Sistema Ackerman [24]

En algunos casos, se usan las ruedas traseras para el direccionamiento, pero no

son mecanismos comunes en este tipo de robots.

Las ruedas delanteras son las que proveen de la dirección del robot, por esta misma

razón no deben estar conectadas al mismo eje ya que al curvar los radios de

curvatura de las llantas no son los mismos y se producen deslizamientos que

afectan al desgaste de las llantas y también se dificulta tomar las curvas.

Por la razón anterior las ruedas delanteras no van unidas al mismo eje y giran a

diferentes velocidades según el radio de curvatura y la rueda externa a la curva

girará más rápido que la rueda interna.

Page 40: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

23

En el mecanismo presentado en la figura anterior, la rueda interior gira un ángulo

un poco mayor a la rueda exterior para eliminar los deslizamientos laterales. Las

proyecciones de los ejes de las ruedas delanteras se cortan en un punto, denotado

en la Figura 1.12 como P, con el eje de proyección de las ruedas traseras. [24]

Modelo Cinemático del Robot

Las ecuaciones que describen el modelo cinemático simplificado del robot móvil

tipo carlike son las que se muestran a continuación:

!" =#($) tan%($)

&!

! !(1.1)!

'" = #($) cos !($)! (1.2)!

*" = #($) sin !($)! (1.3)!

Donde:

!($), es la orientación del robot respecto del eje x.

%($), es la dirección de las llantas delanteras.

#($), es la velocidad lineal del robot.

'" , es la razón de cambio de posición en el eje x.

*" , es la razón de cambio de posición en el eje y.

Equilibrio mecánico

Dado el diseño del robot con 4 ruedas, este presenta mayor estabilidad respecto a

de modelos como el triciclo de 3 llantas en cuanto a tomar curvas y a terrenos

irregulares.

Page 41: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

24

Todo el peso que ha de soportar la estructura debe distribuirse de manera que el

centro de masa coincida con el centro geométrico para lograr mayor estabilidad en

curvas. Este peso normalmente se distribuye uniformemente extendiéndolo por la

parte izquierda y derecha del robot.

Aplicaciones

Dado que su funcionamiento es muy similar a un auto real, las aplicaciones de este

tipo de robots son de las más variadas y abarcan campos domésticos, agro

industriales, industriales, exploración, etc.

Su uso también se enfoca en el reconocimiento y mapeo de zonas no exploradas,

así como para transporte de objeto pesados en hospitales, puertos y almacenes.

1.4. SINGLE BOARD COMPUTER (SBC)

Es una placa base que contiene todos los elementos necesarios para realizar tareas

de computadora como un microprocesador, memoria física, memoria RAM,

periféricos de entrada y salida, etc.

Las SBC presentan altos rendimientos y sus aplicaciones se han extendido en

varias áreas como el entretenimiento, sistemas de navegación, dispositivos

médicos para monitoreo de pacientes, dispositivos industriales de ensayo y

medición, visión industrial, etc. Esto gracias a que muchas de estas tarjetas

embebidas cuentan con puertos USB, Ethernet, Cámara, Audio, pantalla touch, S-

Video, WiFi, Bluethoot, etc.

Estas pequeñas computadoras han empezado su revolución tecnológica poniendo

al alcance de la mano una potencialidad muy alta en el desarrollo e implementación

de las más variadas ideas. Las SBC han servido también en el ámbito educacional

como herramientas de bajo coste para transmitir conceptos informáticos a los más

jóvenes.

Page 42: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

25

MODELOS COMERCIALES

Desde la primera SBC, que fue la Raspberry Pi, estas han ganado mucha

aceptación en el mercado de las tarjetas embebidas. A continuación, se presentan

algunas de las SBC más populares y que han ganado su puesto en el mercado.

Raspberry Pi

Fue desarrollado por la fundación Raspberry Pi para promover una forma simple y

barata de enseñar computación en escuelas. Tiene el tamaño de una tarjeta de

crédito y se ha convertido en la base de varios proyectos DIY (do it yourself) para

aplicaciones PC móviles. Incluyen proyectos como transmisión multimedia, paneles

de visualización, dispositivos para sensar ambientes, etc.

La Raspberry Pi 3 se basa en un SoC (system on a chip) Broadcom BCM2835

equipado con un procesador ARM11767JZF-S de 70 MHz, posee una memoria

RAM de 512 MB, dos puertos USB, un puerto ethernet y 40 pines GPIO. El núcleo

de video permite reproducción de video en alta definición, la interface I2C permite

expansiones en el dispositivo y una tarjeta SD se proporciona para el arranque y

almacenamiento de memoria. La tarjeta soporta sistemas operativos de Linux como

Debian Linux y sus derivados Raspbian OS siendo los más populares. [26]

Beaglebone Black

Es una plataforma de bajo costo para la comunidad de desarrolladores y

aficionados. Tiene una memoria RAM de 512 MB, una memoria de almacenamiento

de 4GB, un acelerador de gráficos 3D, 2 microcontroladores PRU de 32 bits y 72

pines GPIO. Tiene compatibilidad con sistemas operativos como debían, Android,

Ubuntu, Cloud 9, etc. [27]

El Beaglebone, es una SBC desarrollada por Texas Instruments. Contiene un

procesador AM335x ARM Cortex-A8, La Beaglebone pretende ofrecer a los

desarrolladores una solución rentable para aplicaciones que necesitan módulos de

expansión. Esta tarjeta necesita una tarjeta SD para arrancar el sistema operativo

y para almacenamiento externo. Incluye HDMI, ethernet, puertos usb 2.0 EterCAT

Page 43: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

26

y profibus. Además, presenta respaldo de información, adquisición de datos,

módulos de robótica, etc. [28]

Udoo

Es una familia de las SBC diseñada para ser usada como una mini PC y como una

tarjeta embebida por aficionador y desarrolladores de proyectos DIY.

Este dispositivo, fue diseñado para educadores y desarrolladores. Tiene el poder

de 4 Raspberry Pi y un arduino DUE. Es una de las tarjetas más impresionantes

desarrolladas hasta la fecha. La UDOO lleva un CPU ARM i.MX6 de 1 GHz y

también un CPU ARM Cortex-MR SAM3X8E. Contiene tres aceleradores gráficos

para 2D, OpenVG e incluye 1GB de memoria RAM DDR3. En total posee 54 pines

digitales de entrada y salida, entradas analógicas compatibles con arduino, HDMI

y salida de audio LVDS, módulos WiFi y ethernet, puertos mini USB, dos puertos

USB tipo A, audio analógico, conexión para cámara, alimentación de 5 a 12 voltios

con adaptador a 2ª y micro SD para arrancar el dispositivo. [28]

1.5. PLATAFORMAS DE REALIDAD VIRTUAL

El presente proyecto tiene como alcance también el desarrollo de un modelo

simulado de un carlike, para esto necesitamos una plataforma de realidad virtual

entre las cuales destacamos los programas V-REP y Unity 3D. A continuación, se

detallan las características más importantes de cada uno.

V-REP [29]

Es un programa que se usa en varias ramas como la educación en robótica, y en

la industria para hacer prototipos de robots y simulaciones de automatización. Cada

modelo disponible en la plataforma se programa con scripts, nodos ROS, clientes

API, entre otros que hacen que V-REP sea ideal para control de múltiples robots.

Algunas de las prestaciones más importantes que ofrece esta plataforma de

simulación de robots según la página oficial de V-REP son:

Page 44: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

27

· Plataforma cruzada y portátil: el contenido de las escenas y los códigos

puede transportarse fácilmente.

· 7 lenguajes de programación: soporta lenguajes de programación como

Python, Matlab, Octave, Lua, Urbi, ROS, C++.

· API Remota: V-REP presenta la posibilidad de poder controlar la simulación

desde un robot o desde una PC de manera remota, Optimiza la

comunicación para datos pesados y minimiza los retardos.

· Dinámica y física: V-REP presenta 4 motores para la física, Bullet Physics,

ODE, Newton y Vortex Dynamics para cálculos dinámicos y físicos de

interacciones entre objetos.

· Cinemática inversa: V-REP tiene una versión de IK/FK para cálculos de

cinemática inversa.

· Detección de colisiones

· Sensores de proximidad: Realiza un cálculo de la distancia entre objetos de

manera muy exacta.

· Sensores de visión: Realiza procesamiento de imágenes personalizables.

· Bloques de construcción: se pueden enlazar bloques que pueden ser robots,

sensores, objetos usando scripts

· Trayectorias o movimientos: V-REP usa un complemento OMPL.

· Grabación y visualización de datos: puede usarse un gran flujo de datos para

combinarse entre sí y generar gráficos personalizados.

· Interfaces personalizadas de usuario: existen muchos elementos disponibles

para poder realizar HMI.

· Importación y exportación de datos.

· Navegación de modelos: permite fácilmente usar modelos predefinidos

arrastrándolos y soltándolos.

· Versiones gratuitas: existen licencias para productos de prueba para

estudiantes y profesores.

Page 45: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

28

UNITY 3D

Es un motor gráfico 3D ampliamente usado en la industria del desarrollo de juegos

por la calidad, velocidad y eficacia de sus flujos de trabajo permitiendo producir

contenido de alta gama.

Unity permite obtener muchas extensiones, muchas de ellas gratuitas y otras a un

costo en la Unity Asset Store para poder ampliar las aplicaciones.

El ambiente visual que se observa en Unity 3D es bastante real, incluyendo

iluminación solar y de fuentes luminosas, espacios con poca luz, etc. El sonido y la

iluminación son excelentes para crear juegos dinámicos.

Los compiladores de juegos son muy rápidos permitiendo pre visualizar el ambiente

diseñado para poder corregir fallos.

Según la página oficial de Unity 3D algunas de las características más importantes

son las que se presentan a continuación: [30]

· Animación: las animaciones pueden tener retargeting, se pueden invocar a

eventos dentro de la animación, se maneja el estado de la máquina

manejando las transiciones sofisticadas.

· Gráficos: iluminación global, sombreado basado en la física, sondas de

reflexión, herramientas UI intuitivas.

· Optimización: Unity 3D cuenta con memorias avanzadas, paquetes activos,

soporte a nivel de detalle y sistema de trabajo en multihilos.

· Audio: mezclado y masterizado en tiempo real, presenta jerarquías de

mezcladores, instantáneas y efectos predefinidos.

· Física 2D y 3D: contiene un modelo de Box2D con efectores, articulaciones

y colliders, además de una librería NVIDIA PhysX 3.3

· Scripting: Unity 3D soporta lenguajes de programación como C# y

JavaScript, tiene una integración nativa con visual Studio y tiene

prestaciones con path finding y mallas de navegación.

Page 46: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

29

Para este proyecto se utilizó Unity 3D para el desarrollo del carlike simulado debido

a que es un entorno potente y amigable, la programación del entorno es sencilla,

permite crear ejecutables del proyecto y tiene librerías de C# para crear clientes

MQTT necesarios para la comunicación de datos, lo cual es un requerimiento

indispensable para este proyecto.

Page 47: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

30

CAPÍTULO 2

DISEÑO E IMPLEMENTACIÓN DEL HARDWARE DEL

ROBOT MÓVIL TIPO CARLIKE.

En este capítulo se presenta el diseño del hardware, tanto mecánico como

electrónico, del robot móvil tipo carlike, también se detallan los componentes afines

a la estación local, al servidor de datos y a la estación remota.

2.1. ARQUITECTURA DEL SISTEMA

La arquitectura del sistema de teleoperación está constituido por: la estación local,

un servidor de datos, y una estación remota, la cual puede ser el carlike físico o

el carlike simulado. En la Figura 2.1 se especifica cada uno de los elementos que

componen la estación local, el servidor de datos, y la estación remota.

Figura 2.1 Arquitectura general del sistema

Page 48: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

31

ESTACIÓN LOCAL

En la estación local se encuentra el operador humano, quien haciendo uso de un

joystick tipo volante conectado a una PC, pueda comandar el robot móvil tipo

carlike. La PC posee una interfaz gráfica que muestra los datos enviados por el

operador y los datos recibidos desde el robot móvil.

Figura 2.2 Estación local de operación ubicada en Latacunga.

En la Figura 2.2 se observa al operador en la estación local, ubicada en Latacunga.

El operador observa la ubicación del robot móvil simulado haciendo uso de

TeamViewer.

SERVIDOR DE DATOS O BRÓKER

El servidor de datos se usa para receptar, almacenar y enviar datos. Este servidor

está montado en una computadora ubicada en el edificio de Química/Eléctrica

Q/E en el aula 708. Como se puede ver en la Figura 2.3, el servidor de datos está

activado listo para usarse.

Figura 2.3 Servidor de datos ubicado en el edificio Q/E, aula 708.

El servidor de datos es el dispositivo intermedio para la comunicación entre la

estación local y la estación remota.

Page 49: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

32

ESTACIÓN REMOTA

La estación remota hace referencia al robot móvil tipo carlike físico o simulado.

Estación Remota: Carlike Físico

La estación remota para el caso del robot móvil físico cuenta con una tarjeta

Raspberry Pi 3B que actúa como eje central de este, debido a que ejecuta todos

los comandos recibidos y se encarga de la comunicación; existe también una

cámara IP, la cual se encarga de proporcionar al operador realimentación visual del

entorno en donde se encuentra el robot móvil; se cuenta con sensores y actuadores

que funcionan de acuerdo con las instrucciones recibidas por parte de la tarjeta.

Figura 2.4 Robot móvil carlike físico ubicado en la Escuela Politécnica Nacional.

Por último, se menciona que el robot móvil físico puede ser usado sólo en el séptimo

piso del edificio de Química-Eléctrica Q/E y en el laboratorio de Robótica ubicado

en el EARME, esto es debido a que, para que la cámara funcione debe estar

agregada en una red con acceso a internet, esta red a cuál se encuentra agregada

la cámara IP solo está habilitada en estos dos puntos.

Estación Remota: Carlike Simulado

La estación remota para el caso del robot móvil simulado se desarrolla en un

entorno virtual, por lo que se necesita una PC para ejecutarlo, la realimentación

visual de esta simulación se obtiene a través de TeamViewer. En la Figura 2.5 se

observa el carlike simulado desarrollado en un entorno virtual.

Page 50: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

33

Figura 2.5 Robot móvil carlike simulado ubicado en la Escuela Politécnica Nacional.

Cabe mencionar que TeamViewer debe estar instalado tanto en la estación local,

como en la estación remota.

2.2. HARDWARE DE LA ESTACIÓN LOCAL

En la estación de operación se generan todos los comandos que serán enviados

hacia los modelos físico y simulado del carlike. Para generar las mismas el operador

hace uso de un Joystick tipo volante y un par de pedales. A continuación, se detallan

las características más importantes de los mismos.

CARACTERÍSTICAS DE LA PC U ORDENADOR

El ordenador que está ubicado en la estación local debe cumplir con los siguientes

requerimientos para el correcto funcionamiento del sistema:

· Tener instalado sistema operativo Windows 7 en adelante.

· Tener instalado Matlab 2016a.

· Matlab2016a debe contar con el driver para ARDUINO “Acquire inputs and

send outputs on Arduino boards”. Este driver se lo encuentra en la pestaña

Add-Ons en “Get Hardware Support Packages”.

Figura 2.6 Driver de arduino

Page 51: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

34

· Tener instalado “TeamViewer”

· Acceso permanente a Internet. Lo recomendable es que la PC se encuentre

conectada a un punto de red, para disminuir los retardos de transferencia de

datos y video.

JOYSTICK TIPO VOLANTE Y PEDALES

El Joystick tipo volante y los pedales son dispositivos que se conectan a la PC u

ordenador para que el operador pueda generar señales de comando, lo cual,

permite una interacción entre el software y el usuario. El Joystick y los pedales son

parte de la estación local y se pueden ver en la Figura 2.7. Estos dispositivos

adquieren señales analógicas y digitales, la cuales son enviadas a la PC por medio

de cables USB.

Figura 2.7 Joystick tipo volante

El Volante posee una palanca que genera dos valores 0 o 1 lógico, cada valor es

una variable, las cuales se usaron para determinar la dirección adelante o atrás del

robot móvil. El ángulo de giro está dado por el valor analógico que envía el mando

de dirección, este valor varía entre -1 y 1.

Internamente los pedales tanto izquierdo como derecho poseen un potenciómetro,

el valor de resistencia de cada potenciómetro varía de acuerdo con que tan

presionado está el pedal. Para poder adquirir las señales de dichos potenciómetros

y enviarlas al PC se debe usar una tarjeta exclusiva para este fin, la misma que

estará localizada dentro de los pedales. En la Tabla 2.1 se muestran los

requerimientos necesarios para escoger la tarjeta.

Page 52: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

35

Tabla 2.1 Requerimientos necesarios para tarjeta para los pedales.

Requerimientos Detalle

Entradas Analógicas Necesarias 2

Tamaño 6x6 centímetros [cm]

Compatibilidad con Matlab Drivers para Matlab

Se escogió una tarjeta ARDUINO UNO debido a que cumple con los requerimientos

necesarios. Arduino UNO es un microcontrolador basado en el ATmega328P, ver

Figura 2.8. Las características de esta tarjeta se observan en la Tabla 2.2 [31].

Tabla 2.2 Características de la tarjeta Arduino UNO [31]

Característica Descripción

Alimentación 5 Voltios DC [V]

Entradas / Salidas digitales 14 Pines

Entradas analógicas 6 Pines

Salidas PWM 6 Pines

Figura 2.8 Tarjeta Arduino UNO [31]

Las entradas analógicas A0 y A1 son usadas para tomar la señal de los

potenciómetros colocados en los pedales. Dependiendo de la presión ejercida

sobre cada pedal, se obtiene una señal analógica entre 0 – 5 Voltios [V]. Siendo 0

voltios [V] cuando el pedal no se encuentra y 5 voltios [V] cuando el pedal se

encuentra totalmente presionado.

2.3. HARDWARE DEL SERVIDOR DE DATOS O BRÓKER

El servidor de datos se encuentra en una PC ubicada en la unidad de

mantenimiento electrónico UME. Los requerimientos de esta PC son:

Page 53: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

36

· Estar conectada a un punto de red.

· Tener asignada una dirección IP Pública, en este caso es “190.96.111.128”.

· Tener instalado “Eclipse Mosquitto”.

2.4. HARDWARE DE LA ESTACIÓN REMOTA: CARLIKE FÍSICO

El diseño del sistema mecánico del robot móvil se realiza en base al modelo

Ackerman, es decir, se usa el diseño de un carro convencional de cuatro ruedas,

dos delanteras para la dirección y dos traseras para la tracción. El modelo

Ackerman está explicado a detalle en el Capítulo 1. Para este proyecto se

seleccionó un auto de juguete que cumpla con las características del modelo

mencionado, y al cual se acopló los componentes necesarios para su funcionalidad.

ESTRUCTURA MECÁNICA

La estructura de la plataforma móvil consta de una base con cuatro ruedas. Las

ruedas traseras están acopladas a un mismo eje el cual gira gracias a que tiene

encajado un motor, mientras que las delanteras se adaptan a un mecanismo que

se mueve por un servomotor, el cual hace girar las ruedas hacia el lado izquierdo o

derecho, con un ángulo determinado. Las llantas de dirección no se acoplan en un

mismo eje, de tal forma que el movimiento de la una es independiente de la otra.

Ruedas

Desempeñan un papel fundamental en el desplazamiento del robot móvil, debido a

que deben proporcionar un correcto movimiento, es decir, rotar sin resbalar. En el

eje de tracción y de dirección se usó el mismo tipo de ruedas cuyas características

se muestran en la Tabla 2.3 y el modelo de la rueda se observa en la Figura 2.9.

Tabla 2.3 Características de las ruedas del carlike

Característica Descripción

Diámetro 66 milímetros [mm]

Ancho 40 milímetros [mm]

Material Caucho

Page 54: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

37

Figura 2.9 Modelo de rueda del Carlike

Base

La base del robot móvil debe ofrecer el espacio necesario para la distribución de

todos los componentes: tarjeta embebida, sistema de alimentación, cámara IP,

sensores y actuadores. Además, soportar la carga que estos elementos conllevan.

En la Tabla 2.4 se encuentran las dimensiones de la base, y en la Figura 2.10 se

presenta la vista inferior y superior con las ruedas ya acopladas.

Tabla 2.4 Características de la base del carlike

Característica Descripción

Longitud (d2): longitud de la base. 170 milímetros [mm]

Ancho máximo (d1): ancho de la base. 80 milímetros [mm]

Material Plástico

Distancia entre ruedas traseras (b) 130 milímetros [mm]

Distancia entre ruedas delanteras (a) 128 milímetros [mm]

a) Vista inferior b) Vista superior

Figura 2.10 Vista inferior y superior de la base del Carlike

En la Figura 2.10 a) se muestran las dimensiones de la base del carlike físico.

Page 55: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

38

ACOPLES MECÁNICOS PARA MOTORES DEL CARLIKE

Los acoples mecánicos se seleccionaron tomando en cuenta el torque necesario

de 3 kilogramos por centímetro [kg.cm] para que el carlike pueda desplazarse sin

ningún inconveniente.

Acoples Para la Tracción

El motor de tracción se acopla al eje mediante un juego de engranajes como se

puede apreciar en la Figura 2.11. Este motor es un micromotor de relación 250:1,

como se detalló anteriormente en la sección 2.3.2.1. Por lo tanto, usando la

ecuación (2.1), la relación de transformación en la caja de engranajes del motor es:

+,- =1

250!

(2.1)!

Al ser +,- una relación de transformación propia en la caja de engranajes del

micromotor, sólo se tiene en cuenta la velocidad en el eje del motor, la cual es de

120 revoluciones por minuto (RPM) sin carga.

En la Figura 2.11 se aprecia el acople de los dos engranajes que se usa en la

tracción del robot móvil. El engranaje 1 posee 28 dientes y el engranaje 2 posee 32

dientes.

Figura 2.11 Acople de engranajes en el eje de tracción

Con estos datos y, usando la ecuación (2.9), la relación de transmisión entre el

engranaje 1 y el engranaje 2 es:

Page 56: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

39

+,. =28

32//!

(2.2)!

+,. =7

8!

(2.3)!

La velocidad final que existe en las llantas es la velocidad proporcionada por el

engranaje 2 representada por 4., la cual se calcula de la siguiente manera:

+, =4.

4-=6-

6.!

(2.4)!

Donde 4- = 120/+9: es la velocidad angular del primer engranaje (en el eje del

motor).

4.

120=28

32!

(2.5)!

4. =(120)(28)

32!

(2.6)!

4. = 105/+9:! (2.7)!

Por lo tanto, la velocidad en las ruedas traseras es menor a la velocidad del eje del

motor 4. < 4-. Sin embargo, debido a que existen solo dos engranajes, la

velocidad en la salida no disminuye mucho en comparación a la velocidad

proporcionada por el micromotor. A continuación, en la Figura 2.12 se observa la

caja de tracción cerrada, la cual se coloca en la parte trasera del robot móvil.

Figura 2.12 Vista de la caja de tracción

Page 57: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

40

Acoples Para la Dirección

En la Figura 2.13 se puede observar el eje de dirección del carlike. Este eje posee

una barra que conecta las dos ruedas, ambas desmontables, esta barra se mueve

de lado a lado para direccionar las llantas según la indicación del servomotor. El

ángulo máximo de giro del eje de las llantas es de 20 grados [°] a cada lado.

Figura 2.13 Acople para el motor de dirección

Además, en la parte central del eje de dirección existe una brecha que sirve para

acoplar el eje del servomotor. El servomotor es desmontable de la brecha, pero a

la vez proporciona un ajuste exacto para que no existan problemas en la dirección.

SELECCIÓN DE MOTOR DE TRACCIÓN [32]

La selección del motor de tracción se realiza dependiendo de la carga, en

kilogramos [kg], que tenga que llevar el robot móvil. Esta carga tiene un valor de 3

kilogramos [kg] y dentro de la cual están considerados: placa del sistema, sistema

de alimentación, tarjeta embebida, sensores, actuadores y la estructura propia del

robot móvil. Considerando estas características se seleccionó un micromotor 250:1

marca pololu, que se muestra en la Figura 2.14.

El micromotor es un sistema de fuerza motriz completo que consta de: un motor

eléctrico y una caja reductora. Esta estructura hace que se produzca un torque alto

a velocidad baja. La caja reductora contiene un sistema de engranajes y está

diseñada para reducir la velocidad al aumentar el torque, debido a que existe una

relación inversamente proporcional entre el torque y la velocidad. Para lograr un

alto torque se debe tomar en cuenta la relación de transmisión que tiene la caja de

engranajes del motor.

Page 58: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

41

Figura 2.14 Estructura del micromotor [32]

Relación de Transmisión: La relación de transmisión hace referencia a la relación

que existe entre velocidades angulares de dos engranajes que tienen un punto de

contacto entre sí. Esta relación se puede obtener a partir de la velocidad angular

de cada engranaje; el número de dientes que posee cada engranaje; o con el

diámetro de cada uno.

En la ecuación (2.8) se obtiene la relación de transmisión usando las velocidades

angulares de cada engranaje.

+, =4.

4-!

(2.8)!

Donde +, es la relación de transmisión; 4- es la velocidad angular del primer

engranaje acoplado al micromotor; y 4. es la velocidad angular del segundo

engranaje acoplado al micromotor.

En la ecuación (2.9) se obtiene la relación de transmisión usando el número de

dientes de cada engranaje.

+, =6-

6.!

(2.9)!

Donde +, es la relación de transmisión; 6- es el número de dientes del primer

engranaje acoplado al micromotor; y 6. es el número de dientes del segundo

engranaje acoplado al motor.

El robot móvil físico tiene una masa de 3 kilogramos [kg], por lo que se hizo uso de

un micromotor con relación de transmisión de 250:1. Las características de este

micromotor se presentan en la Tabla 2.5.

Page 59: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

42

Tabla 2.5 Características del motor de tracción del carlike [32]

Característica Descripción

Alimentación 6 voltios dc [VDC]

Velocidad 120 revoluciones por minuto [RPM] sin carga

Corriente 120 miliamperios [mA] sin carga

Torque 4.3 kilogramos por centímetro [Kg.cm]

Corriente máxima 1.6 amperios [A]

Caja reductora Sección transversal de 10 x 12 milímetros [mm]

Eje de salida Forma de “D” de 9 milímetros [mm] de largo y 3

milímetros [mm] de diámetro.

SELECCIÓN DE MOTOR DE DIRECCIÓN [33]

Debido a la carga que lleva el robot móvil se necesita un motor que proporcione un

torque alto para que no existan problemas en el giro del eje del motor de dirección.

Además, este giro debe ser rápido. El torque necesario es de 3 kilogramos por

centímetro [kg.cm] En base a estas características se seleccionó un servomotor por

encima de un motor a pasos. A continuación, se exponen las características del

servomotor marca pololu serie HS311 que se muestra en la Figura 2.15.

Figura 2.15 Estructura del servomotor [33]

El servomotor es un motor de corriente continua (DC) sobre el cual se puede

realizar control de posición. El rango de posición varía entre 0 y 180 grados [°]

generalmente. El servomotor está compuesto de: motor DC, caja de engranajes,

sensor de posición: usualmente es un potenciómetro, y un circuito de control.

El servomotor tiene tres cables, dos de los cuales es para la alimentación y el

tercero es para recibir la señal de control. El control de posición del eje del motor

se realiza con una señal PWM (Pulse Width Modulation). Esta señal PWM de pulsos

Page 60: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

43

positivos, es de duración proporcional a la posición deseada del servomotor. En la

Figura 2.16 se observa cómo trabaja la PWM sobre el servomotor.

Figura 2.16 Funcionamiento de un servomotor

En la Tabla 2.6 se muestra las especificaciones del servomotor seleccionado.

Tabla 2.6 Características del motor de dirección del carlike [33]

Característica Descripción

Alimentación 4.8 - 6 voltios dc [VDC]

Modulación Análoga

Ángulo de Rotación 180 grados [°]

Ancho de pulso

máximo 2.5 milisegundos [ms]

Torque 4.8 voltios [V]: 3.02 kilogramos por centímetro [kg.cm]

6 voltios [V]: 3.53 kilogramos por centímetro [kg.cm]

Velocidad 4.8 voltios [V]: 60 grados [°] en 0.19 segundos [seg]

6 voltios [V]: 60 grados [°] en 0.15 segundos [seg]

Corriente 4.8 voltios [V]: 160 miliamperios [mA] sin carga

6 voltios [V]: 180 miliamperios [mA] sin carga

Dimensiones

Longitud: 39.9 milímetros [mm]

Profundidad: 19.8 milímetros [mm]

Altura: 36.3 milímetros [mm]

Page 61: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

44

SELECCIÓN DE CÁMARA PARA LA REALIMENTACIÓN VISUAL DEL

CARLIKE FÍSICO

Para la realimentación visual del sistema se montó una cámara sobre el robot móvil,

para de esta forma ver por donde circula el mismo. Se consideró las cámaras que

podrían proporcionar una buena visualización del entorno del robot móvil. Dentro

de estas cámaras se encuentran: cámara web, cámara para la tarjeta Raspberry Pi

3B, y cámara IP. En la Tabla 2.7 se realiza la comparación de cámaras

consideradas para el proyecto.

Tabla 2.7 Comparación de cámaras.

CARACTERÍSTICA CÁMARAS

Cámara Web Cámara Raspberry Pi Cámara IP

Resolución (pixeles) 640x480 2592x1944 640x480

Ángulo de vista 180° 180° 360°

Conexión USB a

Ordenador

USB a Tarjeta

Raspberry Pi Inalámbrica

Comunicación para

envío de imagen Internet USB Tarjeta a PC Internet

Costo $70 $40 $70

El uso de una cámara web se descartó debido a que es necesario que esté

conectada a una computadora o a cualquier dispositivo que le permita acceder a

Internet. La cámara para la Raspberry Pi 3B se descartó debido a que el uso de la

tarjeta para envío de video hace que el procesamiento de los demás datos tengo

un retardo mayor. Además, la tarjeta debe estar conectada a la PC para visualizar

el video enviado por la cámara.

Se escogió una cámara IP debido a la facilidad para acceder a la misma, a

continuación, se detalla sus características.

Cámara IP

La cámara IP que se uso es la que se muestra en la Figura 2.17, su función es la

de transmitir imagen y video directamente por medio de Internet sin la necesidad

Page 62: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

45

de usar un ordenador. Para poder acceder a la cámara IP desde cualquier

computador en cualquier lugar, se le debe asignar una dirección IP pública. La IP

pública se solicitó a la Dirección de Gestión de la Información y Procesos-DGIP.

Para asignar la IP se debe acceder a la configuración de la cámara.

Figura 2.17 Cámara IP Sricam modelo AP001 [37]

La cámara IP adquirida es una Sricam, cuyas especificaciones técnicas se

muestran en la Tabla 2.8.

Tabla 2.8 Especificaciones de la cámara IP Sricam [37]

Especificación Descripción

Compresión de Video VGA (640x480), QVGA (320x240)

Video Grabación de video de forma remota

Velocidad de fotogramas de imagen 25fps (50Hz), 30fps (60Hz)

Lente 3.6 milímetros [mm]

Visión nocturna Distancia has 10 metros [m]

Ángulo de rotación Pan: 355°, Tilt:90°

Protocolo de red HTTP, FTP, TCP/IP, UDP, SMTP, DHCP

Estándar inalámbrico IEEE 802.11 b/g/n

Seguridad inalámbrica Encriptación WEP, WPA, WPA2

Modo de IP Dirección IP dinámica, dirección IP estática

Visitantes en línea Apoyo 4 visitantes al mismo tiempo

Acceso Acceso multinivel

Modo de Acceso Interfaz de usuario

Fuente de Alimentación 5 Voltios DC [V], 2 Amperios [A]

Ethernet Un solo conector 10/100 Mbps, RJ-45

Page 63: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

46

SENSORES DEL ROBOT MÓVIL FÍSICO

Sensor Digital de Distancia SDS01A

Se usó el sensor digital de distancia SDS01A para evitar que el robot móvil choque

frontalmente con objetos. El sensor sirve como seguridad en caso de que el

operador pierda el comando sobre el carlike o a su vez cuando los datos lleguen

demasiado tarde al vehículo como para evitar un choque frontal.

Este sensor detecta objetos que ser encuentra a una distancia de entre 2 y 10

centímetros [cm]. Posee un rápido tiempo de respuesta, es pequeño y consume

niveles bajos de corriente. [35]

Figura 2.18 Sensor digital de distancia SDS01A [35]

En la Figura 2.18 se observa el diseño exterior del sensor digital de distancia

SDS01A.

Interruptor Óptico Ranurado H22A1 (Encoder)

Se usó un interruptor óptico ranurado para usarlo con un disco ranurado y de esta

forma simular un encoder, como se puede observar en la Figura 2.19.

Figura 2.19 Encoder acoplado en la rueda de tracción del carlike

Page 64: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

47

El sensor H22A1 es un sensor de arseniuro de galio que emite luz acoplado a una

foto darlington de silicio en una carcasa de plástico. El sistema de embalaje está

diseñado para optimizar la resolución mecánica, la eficiencia del acoplamiento, el

rechazo de la luz ambiental, el coste y la fiabilidad. El hueco en la carcasa

proporciona un medio para interrumpir la señal con un material opaco, cambiando

la salida de un estado "ON" a un estado "OFF". El sensor se muestra en la Figura

2.20.

Figura 2.20 Sensor óptico ranurado H22A1 [36]

SELECCIÓN DE TARJETA EMBEBIDA PARA EL CARLIKE FÍSICO

Para la selección de la tarjeta embebida se analizó las características necesarias

para que el sistema funcione correctamente. En el Capítulo 1 se detalló las

características de las siguientes tarjetas: Raspberry Pi 3B, Beaglebone Black,

UDOO. A continuación, en la Tabla 2.9 se realiza la comparación de dichas tarjetas

para seleccionar la que se acople a las necesidades del proyecto.

Page 65: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

48

Tabla 2.9 Comparación de tarjetas de desarrollo comerciales

CARACTERÍSTICA SINGLE BOARD COMPUTER

Raspberry Pi 3B Beaglebone Black UDOO

CPU ARM v8 de 64 bits AM335x ARM Cortex-A9

Frecuencia 1.2GHz 1GHz 1GHz

RAM 1 GB DDR3 512MB DDR3 1GB

Sistema Operativo Raspbian Debian Debian, Ubuntu, etc. UDOObuntu 2,

Android

Módulo WiFi SI NO SI

Puerto HDMI SI SI SI

Puertos USB 4 2 3

Micro SD SI NO SI

Costo $35 $115 $135

De acuerdo con las especificaciones técnicas presentadas, las tarjetas Raspberry

Pi 3B y UDOO son la mejor opción ya que poseen módulo WiFi, el cual es necesario

para tener acceso a Internet sin el uso de cable ethernet, y también cuentan con

gran capacidad de memoria RAM que es indispensable para el procesamiento de

datos. Sin embargo, la tarjeta Raspberry Pi 3B es de costo más accesible y cuenta

con los recursos necesarios. Por lo tanto, en este proyecto se hace uso de una

tarjeta Raspberry Pi 3B.

Especificaciones Técnicas [26]

La Raspberry Pi 3B presenta las siguientes características técnicas:

· CPU ARM v8 de 64 bits a 1.2GHz

· Wireless LAN 802.11

· Bluetooth de bajo consumo

· Memoria RAM de 1GB

· 4 puertos USB

· 40 Gpio pins

· Puerto Full HDMI

· Puerto Ethernet

Page 66: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

49

· Jack de audio combinado de 3.5mm y video compuesto.

· Interfaz de cámara CSI

· Interfaz de monitor DSI

· Espacio para micro SD

· Núcleo de gráficos 3D, núcleo gráfico.

Las partes de la Raspberry Pi 3B se muestran en la Figura 2.21 y mientras que la

distribución de pines GPIO se muestran en la Figura 2.22.

Figura 2.21 Distribución de elementos en la Raspberry Pi 3B [26]

Figura 2.22 Pines GPIO Raspberry Pi 3B [26]

Page 67: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

50

Sistema Operativo [34]

El sistema operativo recomendado para el uso normal en una Raspberry Pi es

Raspbian. Raspbian es un sistema operativo libre basado en Debian, optimizado

para el hardware de la Raspberry Pi. Raspbian viene con 35000 paquetes de

software pre compilado para una fácil instalación en la Raspberry Pi.

Raspbian es un proyecto comunitario de desarrollo activo, con el énfasis de mejorar

la estabilidad y rendimiento de los paquetes Debian.

Para instalar el sistema operativo en el dispositivo micro SD se necesita otra

computadora con lector de tarjetas SD para instalar la imagen del sistema. La

imagen del sistema operativo puede descargarse directamente de la página oficial

de la fundación Raspberry donde existen varias opciones disponibles.

Lenguajes de Programación [26]

Los lenguajes de programación disponibles en la Raspberry Pi 3B son los

siguientes:

· Mathematica: Es una plataforma computacional potente usada en ciencias,

matemáticas, computación e ingeniería que ha sido incluido en Raspbian.

· Python 2 y 3: es un lenguaje de programación poderoso para propósitos

generales de fácil uso. Es un lenguaje muy simple que utiliza palabras claves

para desarrollar programas, su compilador para la Raspberry Pi 3B es IDLE.

Este es el lenguaje utilizado para el presente proyecto.

· Scratch: es un lenguaje de programación visual basado en la temática de

arrastrar y soltar. Permite crear juegos y animaciones, es un lenguaje

pensado para gente que recién empieza en el ámbito de la programación.

· Sonic Pi: Es un lenguaje libre dedicado para editar música.

Accesorios [34]

Algunos accesorios diseñados específicamente para la Raspberry Pi son:

Page 68: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

51

· Módulo de cámara: es un producto oficial de la Fundación Raspberry Pi. El

modelo original de 5 mega pixeles fue desarrollado en 2013 y el modelo de

8 mega pixeles fue desarrollado en 2016

· Display LCD: Es un accesorio que se conecta mediante un conector DSI, se

permite el uso simultaneo del HDMI y del display LCD en algunas ocasiones,

pero se requiere soporte de software.

Aplicaciones

Las principales aplicaciones se enfocan al Internet de las cosas y proyectos DIY en

temas de adquisición de datos, visión artificial, montaje de servidores, etc. Para

usos en exploración, monitorización, control, etc.

Aplicación en el Proyecto

A continuación, se resalta las características necesarias de las que se harán uso:

· Wireless LAN 802.11: Proporciona a la tarjeta acceso a Internet de forma

inalámbrica, esto logra que el robot móvil pueda tener comunicación con el

servidor de datos, tanto para recibir como enviar información.

· Memoria RAM de 1GB: Garantiza alta velocidad en el procesamiento de

datos, los cuales son enviados desde la estación local. De esta forma reduce

los retardos.

· 40 Gpio-pins: Las GPIO de la tarjeta poseen salidas PWM necesarias para

el comando de los motores de tracción y dirección.

· Espacio para micro SD: Cuenta con memoria suficiente para instalar el

sistema operativo de la tarjeta y para almacenar el código de programación

del robot móvil.

En la Tabla 2.10 se detalla los pines utilizados en la tarjeta y cuál es la funcionalidad

que cumplen.

Page 69: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

52

Tabla 2.10 Pines de la tarjeta usados

Pines

Funcionalidad Pines

BOARD

GPIO

Tarjeta

Pin11 GPIO17 Se conecta al pin IN1 del driver del motor de tracción para que

gire en sentido horario.

Pin13 GPIO27 Se conecta al pin IN2 del driver del motor de tracción para que

gire en sentido antihorario.

Pin15 GPIO22 Se conecta al pin SEÑAL PWM del driver del motor de tracción

para enviar la señal PWM y manejar la velocidad del mismo

Pin12 GPIO18 Se establece como puerto de entrada, para recibir la señal del

sensor de distancia colocado en la parte frontal del robot móvil.

Pin16 GPIO23

Se establece como puerto de entrada, para recibir los pulsos

del encoder colocado en llanta de tracción y así conocer la

velocidad del carlike.

Pin18 GPIO24

Se conecta al pin de control del servomotor para determinar el

ángulo de giro del mismo, y comandar la dirección del robot

móvil.

Pin22 GPIO25 Se usa como indicador para saber si existe comunicación

entre la estación local y remota.

Pin40 GPIO21 Se usa como reset para borrar el valor de las variables

odométricas.

Pin1 -------- Es el pin de conexión a Vcc para alimentar la tarjeta.

Pin6 -------- Es el pin de conexión a GND.

En la Figura 2.23 se especifica a qué elemento se conecta a cada pin de la tarjeta.

Page 70: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

53

Figura 2.23 Pines de la tarjeta usados

DISEÑO DEL CIRCUITO ELECTRÓNICO DEL SISTEMA

Para el diseño del circuito electrónico del sistema se tomó en cuenta la energía

necesaria para abastecer al robot móvil y que éste funcione correctamente. El

sistema de alimentación se basa en el consumo de voltaje y corriente de los

siguientes elementos: micromotor, servomotor, cámara IP, tarjeta Raspberry Pi 3B,

y sensores.

Sistema de Alimentación

En la Tabla 2.11 se detalla el consumo de voltaje y corriente de los elementos que

componen el robot móvil.

Tabla 2.11 Consumo de voltaje y corriente de elementos del robot móvil

Elemento Voltaje [V] Corriente [A]

Micromotor 250:1 5 – 12 1

Servomotor 5 – 6 0.2

Cámara IP 5 0.6

Tarjeta Raspberry Pi 3B 5 0.7

Sensores 5 0.2

Page 71: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

54

De acuerdo con los niveles de voltaje y corriente obtenidos se escogió las baterías

que puedan abastecer al carlike durante un tiempo de 25 minutos, lo cual es

suficiente para el funcionamiento continuo del robot móvil.

El consumo de corriente la tarjeta Raspberry Pi 3B es alto, por lo tanto, se usó una

sola batería para la tarjeta. Esta batería es propia de la marca Raspberry. Además,

se cuenta con dos baterías LiPo adicionales, es decir, finalmente se hace uso de

tres baterías.

Alimentación para los Actuadores: Micromotor y Servomotor

Esta etapa de alimentación suministra energía al micromotor y al servomotor. El

consumo de corriente de estos elementos no supera 1 Amperio [A], y el voltaje más

alto es de 12 Voltios [V], que corresponde al micromotor 250:1. Por lo tanto, se

selecciona una batería Rhino de 1250 [mAh] y 11.1 [V] (3 celdas).

Las baterías Rhino como la que se muestra en la Figura 2.24 proporcionan una

excelente relación potencia / peso. Equipado con lengüetas de cobre y la mayoría

de los paquetes que tienen electrodos opuestos. Las baterías Rhino están

diseñadas para un alto rendimiento y baja resistencia interna. Las características

más importantes de la batería se encuentran en la Tabla 2.12.

Figura 2.24 Batería LiPo RHINO [38]

Tabla 2.12 Especificaciones de la batería RHINO [38]

Especificación Descripción

Capacidad 1250 [mAh]

Descarga constante 20C

Configuración 3 celdas; 11.1 [V]

Dimensiones 90x35x18 [mm]

Peso 116 [g]

Page 72: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

55

Alimentación para cámara IP y sensores

Esta etapa de alimentación suministra energía la cámara IP, y sensores. La cámara

IP, como los sensores necesitan una alimentación de 5 voltios [V]. Se escogió una

batería Turnigy nano-tech de 1500 [mAh] y 7.4 [V] (2 celdas).

La batería Turnigy como la de la Figura 2.25 abastece energía a las partes

eléctricas del sistema como son el sensor de presencia, el encoder, la cámara IP y

el circuito de monitoreo de las baterías. Las especificaciones de esta batería se

muestran en la Tabla 2.13.

Figura 2.25 Batería LiPo NanoTech [39]

Tabla 2.13 Especificaciones de la batería Turnigy [39]

Especificación Descripción

Capacidad 1500 [mAh]

Descarga constante 20C

Configuración 2 celdas; 7.4 [V]

Dimensiones 87x34x13 [mm]

Peso 75 [g]

Alimentación para Tarjeta Raspberry Pi 3B.

Para la alimentación de la tarjeta del robot móvil, se escogió la batería RPi

PowerPack V1.2 que se muestra en la Figura 2.26. Esta batería tiene un tiempo de

operación mucho más prolongado que una batería LiPo, esto la hace ideal para la

tarjeta ya que el alto consumo de corriente de la misma hace que una batería LiPo

se descargue al cabo de pocos minutos. A continuación, se presentan las

características de la batería.

Page 73: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

56

Características

· Un módulo de potencia diseñado para la tarjeta Raspberry Pi 3B, que permite

el uso de tarjeta de forma móvil hasta 9 horas.

· Capacidad de la batería: 3800 mAh (máximo)

· Corriente de salida: 1.8 Amperios [A]

· Voltaje de salida (sin carga): 5.1 V ± 0.1V.

· Dos salidas USB para suministrar carga.

Figura 2.26 Batería RPi PowerPack V1.2 [40]

Circuito de Seguridad para Baterías LiPo

Como medida de seguridad se tomó en cuenta que las baterías LiPo no deben

descargarse por debajo del 80 por ciento [%] de su voltaje nominal, porque al

suceder esto las baterías se dañan completamente y ya no es posible cargarlas de

nuevo. Por esta razón para evitar el daño permanente de las baterías LiPo se

implementa un circuito el cual indique en que momento las baterías están por

debajo del nivel de voltaje permitido.

El circuito que se implementó es un comparador de voltaje. Este circuito posee un

led verde y un led rojo, los cuales indican que la batería se encuentra en el rango

de voltaje permitido o a un nivel por debajo de este. Se enciende el led verde

mientras las baterías tengan el voltaje suficiente. Y se enciende el led rojo para

indicar que el voltaje de la batería es demasiado bajo y necesita ser cargada

inmediatamente.

Page 74: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

57

Cálculo del valor que representa el 80% del nivel de voltaje de una celda:

;>?@AB/B@/-CCD = 3E7/[;] F 100/[D]! (2.10)!

;>?@AB/B@/GCD =(80[D])(3E7[;])

100[D]!

(2.11)!

;>?@AB/B@/GCD = 2EHI/[;] J 3[;]! (2.12)!

El voltaje mínimo de la celda para que no exista daño en las baterías es:

;>?@AB/B@/GCD = 3/[;]! (2.13)!

Cálculos para realizar el circuito divisor de voltaje de la fuente alimentación:

Se tiene una fuente de 5 voltios [;], por lo tanto, para obtener los 3 voltios [;] y

realizar la comparación de voltaje se hizo un divisor de voltaje.

;>?@AB/B@/GCD =+.

+- K +.E ;LM?N,?!

(2.14)!

3[;] =+.

+- K +.(5[;])!

(2.15)!

+- K +. =5[;]

3[;]E +.!

(2.16)!

OP/+- = 10/[QR] /S /+. = 15/[QR]! (2.17)!

+- = 10/[QR] F 2[;]! (2.18)!

+. = 15/[QR] F 3[;]! (2.19)!

TUVW&X Y /ZX/UZ\/X6$^6_XZ/+- = 10/[QR] /S /+. = 15/[QR]! (2.20)!

Page 75: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

58

Cálculos para realizar el circuito comparador de voltaje de la Batería Rhino: LiPo

de 3 celdas, voltaje de 3.7 voltios [;] por celda

Esta batería posee un voltaje total de 11.1 voltios [;]. Para tomar el voltaje de una

sola celda se realizó un divisor de voltaje.

;>?@AB =+.

+- K +.E ;̀ >?@ABb!

(2.21)!

3E7[;] =+.

+- K +.(11E1[;])!

(2.22)!

+- K +. =11E1[;]

3E7[;]E +.!

(2.23)!

+- K +. = 3+.! (2.24)!

OP/+- = 15/[QR] /S /+. = 7E5/[QR]! (2.25)!

+- = 15/[QR] F 7Ed[;]! (2.26)!

+. = 7E5/[QR] F 3E7[;]! (2.27)!

TUVW&X Y /ZX/UZ\/X6$^6_XZ/+- = 15/[QR] /S /+. = 7E5/[QR]! (2.28)!

A continuación, en la Figura 2.27 se presenta el esquema del circuito con sus

elementos y valores.

Page 76: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

59

Figura 2.27 Circuito de seguridad para batería Rhino 3 celdas.

Cálculos para realizar el circuito comparador de voltaje de la Batería Turnigy: LiPo

de 2 celdas, voltaje de 3.7 voltios [;] por celda

Esta batería posee un voltaje total de 7.4 voltios [;]. Para tomar el voltaje de una

sola celda se realizó un divisor de voltaje.

;>?@AB =+.

+- K +.E ;̀ >?@ABb!

(2.29)!

3E7[;] =+.

+- K +.(7Ed[;])!

(2.30)!

+- K +. =7Ed[;]

3E7[;]E +.!

(2.31)!

+- K +. = 2+.! (2.32)!

Alimentación Batería

R1015k

R117.5k

R1210k

R1315k

AK

D1LED-GREEN

R14

220R

3

21

41

1

U2:A

LM324

5

67

41

1

U2:B

LM324

R15

220R

AK

D2LED-RED

CIRCUITO DE SEGURIDAD PARA BATERÍA DE POTENCIA

Vcc

5V

led1

led2

Vcc

5V

Page 77: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

60

OP/+- = 10/[QR] /S /+. = 10/[QR]! (2.33)!

+- = 10/[QR] F 3E7[;]! (2.34)!

+. = 10/[QR] F 3E7[;]! (2.35)!

TUVW&X Y /ZX/UZ\/X6$^6_XZ/+- = 15/[QR] /S /+. = 7E5/[QR]! (2.36)!

En la Figura 2.28 se presenta el esquema del circuito con sus elementos y valores.

Figura 2.28 Circuito de seguridad para batería Turnigy 2 celdas.

Fuentes Reguladoras de Voltaje: Módulo LM2596

El módulo LM2596 mostrado en la Figura 2.29 es un circuito que permite mantener

un voltaje regulado entre un rango de 1.5 V a 35 V, El voltaje de alimentación de

este módulo debe ser mayor al voltaje de salida que se quiera obtener. Este módulo

está basado en el regulador DC-DC LM2596 tipo Buck. Es una fuente de

Alimentación Batería

R1010k

R1110k

R1210k

R1315k

AK

D1LED-GREEN

R14

220R

3

21

41

1

U2:A

LM324

5

67

41

1

U2:B

LM324

R15

220R

AK

D2LED-RED

CIRCUITO DE SEGURIDAD PARA BATERÍA DE CONTROLV

cc 5

V

led1

led2

Vcc

5V

Page 78: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

61

alimentación conmutada lo que aumenta su eficiencia en comparación a los típicos

reguladores lineales.

Se usó este módulo debido a que se necesita un voltaje de alimentación fijo para

alimentar todos los partes electrónicos. Se usan dos módulos, cada uno conectado

a la batería LiPo correspondiente.

Figura 2.29 Módulo LM2596 convertidor de voltaje DC-DC [41]

Características

· Módulo basado en el regulador LM2596.

· Voltaje de alimentación: 4.5 – 40 Voltios DC [V]

· Voltaje de salida: 1.5 – 35 Voltios DC [V]

· Corriente máxima de salida: 3 Amperios [A]

· Dimensiones: 43x20x14 Milímetros [mm]

· Frecuencia de switching: 150 Kilo Hertz [KHz]

Driver Para Motor de Tracción - L298n

El motor de tracción que se usó en el robot móvil es un micromotor. Este motor

tiene un alto par de torque, lo cual, provoca un consumo de corriente considerable

en ciertos momentos. Tomando en cuenta estas consideraciones, se usó el driver

L298n mostrado en la Figura 2.30, el cual, haciendo uso de una señal PWM, sirve

para manejar la velocidad y sentido de giro del motor, y ayuda a amplificar el voltaje

y corriente que llega al micromotor. La descripción de este driver se detalla a

continuación.

Page 79: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

62

Figura 2.30 Driver L298n para motor de tracción [42]

Características

· El driver L298n es un circuito tipo puente completo dual diseñado para

niveles lógicos TTL.

· Consta de dos entradas, las cuales habilitan o deshabilitan el motor.

· Consta de dos pines, dependiendo de cuál se escoja se determina el sentido

de giro del motor.

Esquema Final del Circuito Electrónico del Sistema

En la Figura 2.31 se muestra el esquema del circuito electrónico interno que fue

desarrollado.

Figura 2.31 Esquema del circuito electrónico

Page 80: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

63

En la Figura 2.32 y Figura 2.33 se muestra el robot móvil, tanto la parte interna

como externa.

Figura 2.32 Vista exterior del robot móvil

Figura 2.33 Vista interior del robot móvil

En la Figura 2.34, Figura 2.35, Figura 2.36, Figura 2.37, y Figura 2.38 se muestran

las conexiones internas del circuito electrónico.

Page 81: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

64

Figura 2.34 Vista interior derecha de conexión de pines

Figura 2.35 Vista interior izquierda de conexión de pines

Figura 2.36 Vista interior superior de conexión de pines

Page 82: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

65

Figura 2.37 Vista trasera de conexión de pines

Figura 2.38 Vista conexión de leds indicadores

Page 83: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

66

CAPÍTULO 3

DISEÑO E IMPLEMENTACIÓN DEL SOFTWARE PARA

EL SISTEMA DE TELEOPERACIÓN Y EL ROBOT MÓVIL

TIPO CARLIKE.

El sistema en general requiere de varias partes de software necesarias para el

desarrollo de todo el proyecto que se explican en los siguientes apartados. Cada

apartado tiene sus propios elementos a manejar, sistemas de recolección de

información y de procesamiento de los mismos. Dado que la estación local

comparte información con los modelos de carlike físicos y simulado, la estructura

del presente capítulo se ha desarrollado de manera que se detalle el

funcionamiento de los modelos de carlike físico y simulado en entorno virtual, luego

del servidor o bróker MQTT y por último de la estación local.

3.1. ELEMENTOS DE SOFTWARE DEL CARLIKE FÍSICO.

En el desarrollo del proyecto, en la parte del carlike físico se consideran partes de

software necesarios para poder manejar el hardware que fue descrito en el capítulo

2, así mismo para gestionar la comunicación entre el cliente de la Raspberry Pi 3B

y el cliente MQTT de la estación de operación.

SELECCIÓN DEL LENGUAJE DE PROGRAMACIÓN.

El sistema operativo Raspbian utilizado en el proyecto ofrece lenguajes de

programación como Java, Python, Scratch y Mathematica como se explicó en el

apartado 2.4.2.6 del presente proyecto.

Considerando las necesidades y requerimientos de este proyecto y considerando

las prestaciones y potencialidad de cada uno de los lenguajes de programación

mencionados anteriormente, se ha elegido el lenguaje Python 2.7 para llevar a cabo

la programación de este proyecto.

Page 84: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

67

Python 2.7

Python es un lenguaje de programación interpretado de alto nivel, sencillo de utilizar

y potente en cuanto a funcionalidades ya que provee una gran gama de librerías y

utilidades que permiten desarrollar aplicaciones de manera sencilla. Algunas de las

librerías utilizadas en este proyecto son las siguientes:

· Time: Permite obtener y trabajar con la información de tiempo del Sistema.

· paho.mqtt.client: Permite crear y conectar un nuevo cliente MQTT capaz de

suscribirse a tópicos y recibir información que comparten otros clientes.

· paho.mqtt.publish: permite que el cliente de Python pueda publicar datos en

tópicos para compartir información con otros clientes.

· JSON: Es un formato de intercambio de información que permite crear

diccionarios que incluyan varios datos, en el presente proyecto se usa para

enviar varios datos en un mismo tópico.

· RPi.GPIO: en general permite trabajar con las entradas físicas de la

Raspberry Pi 3B y poder usarlas como entradas o salidas digitales.

· Math: Permite realizar operaciones matemáticas, en el proyecto se usa para

medir las variables de odometría.

Una de las características más importantes que presenta Python es que se puede

programar en hilos, lo cual significa que se pueden compilar varios procesos a la

vez y no esperar a que termine un proceso para seguir con el siguiente.

Figura 3.1 Programación en pasos y en hilos

Page 85: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

68

En la Figura 3.1 se muestra la diferencia entre la forma de compilación en pasos

consecutivos realizada normalmente y la forma de compilación en hilos donde

varios procesos se ejecutan a la vez. En este proyecto se utilizó la programación

en hilos para completar diferentes operaciones a la vez debido a que se deben

gestionar varios procesos importantes al mismo tiempo.

LÓGICA DE MANEJO DE LOS ELEMENTOS DE HARDWARE.

Los elementos de hardware que se deben manejar en el modelo físico del carlike

son los siguientes:

Driver l298n

Para manejar el motor con caja reductora 250:1 se usó un driver L298N, necesita

3 señales que son las que se muestran en la Tabla 3.1

Tabla 3.1 Tabla de funciones del driver L298n [42]

Enable

(Señal PWM)

In1

In2

Función

H L H Giro a la derecha

H H L Giro a la izquierda

H L L Detención rápida

H H H Detención rápida

L X X Detención libre

En la Tabla 3.1 se pueden apreciar las funciones que realiza el driver según las

entradas que tiene. En la lógica dentro del programa se definirán 3 salidas en las

GPIO de la Raspberry Pi 3B para comandar este driver según la lógica de la tabla

anterior, dos de estas salidas se usarán para fijar en las entradas 1 y 2 el sentido

del giro, mientras que en la entrada Enable se usara una señal PWM de 1Khz con

ancho de pulso variable para poder manejar la velocidad del motor.

Servomotor HS311

Para comandar el servomotor se necesita una señal PWM de 50Hz (20ms) con el

ancho de pulso variable. Para fijar el eje del servomotor en 0 grados se debe enviar

Page 86: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

69

pulsos de 1ms que corresponde a un ancho de pulso de 5%, para fijar el eje del

motor en 180 grados, se debe enviar pulsos de 2 ms que corresponde a un ancho

de pulso de 10% como se muestra en la Figura 3.2.

Figura 3.2 Relación entre ancho de pulso de PWM y ángulo del eje del servomotor

Para obtener la ecuación de la recta de la gráfica de la Figura 3.2 se usa la ecuación

(3.1).

* = V' K e! (3.1)!

Reemplazando los nombres de los ejes tenemos:

\6_f^/gX/WU&Z^ = [(V)(\6hU&^/gX&/XjX/gX&/ZXk#^V^$^k)] K e! (3.2)!

Gráficamente se puede observar que el valor de b que corresponde al corte de la

recta con el eje perpendicular es de 5. La pendiente se puede calcular como en la

ecuación (3.3).

V =*. l *-

'. l '-!

(3.3)!

Al reemplazar los valores de los puntos se obtiene:

V =10 l 5

180 l 0=

5

180= 0E02777!

(3.4)!

0

2

4

6

8

10

12

0 50 100 150 200Án

cho

de

pu

lso

del

PW

M(%

)

Ángulo del eje del servomotor (°)

Page 87: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

70

Para calcular el ancho del pulso necesario para comandar el servomotor y girar las

llantas delanteras según se desee, se tiene la ecuación (3.5).

\6_f^/gX/WU&Z^ = [(\6hU&^/gX&/XjX/gX&/ZXk#^V^$^k)(0E02777)] K 5! (3.5)!

De acuerdo con los acoples físicos realizados, el eje que une las llantas delanteras

puede girar las mismas entre -20 grados (tope a la izquierda) y 20 grados (tope a

la derecha). Cuando el eje del servomotor se ubica en 50 grados, el eje que une las

llantas delanteras mantiene las mismas hacia el frente, cuando el eje del

servomotor se ubica en 21 grados, el eje que une las llantas delanteras gira las

llantas a 20 grados a la derecha y cuando el eje del servomotor se ubica a 79

grados, el eje de las llantas delanteras las gira a 20 grados a la izquierda como se

muestra en la Figura 3.3.

Figura 3.3 Relación entre el ángulo del eje del servomotor y el ángulo de giro de las

llantas delanteras

Para obtener la ecuación de la relación lineal entre el ángulo del eje del servomotor

y el ángulo de las llantas delanteras del carlike se usa la ecuación (3.1) y para

reemplazando los nombres de los ejes se tiene:

anmupo/qrq/vqp/sqwxoyotow/ = [(V)(viwqccion/vq/pas/ppantas/vqpantqwas)] K z (3.6)!

El valor de b que corresponde al corte de la recta con el eje vertical es 50 y la

pendiente de la recta se calcula usando la ecuación (3.3) y reemplazando los

valores se obtiene:

0

10

20

30

40

50

60

70

80

90

-25 -20 -15 -10 -5 0 5 10 15 20 25Án

gulo

del

eje

del

ser

vom

oto

r (°

)

Ángulo de las llantas delanteras del carlike (°)

Page 88: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

71

V =21 l 7H

20 l (l20)=l50

d0= l1Ed5!

(3.7)!

La relación lineal que rige este movimiento viene dada por la ecuación (3.8).

anmupo/qrq/vqp/sqwxoyotow/ = [(l1Ed5)(viwqccion/vq/pas/ppantas/vqpantqwas)]

K50

(3.8)!

Con las ecuaciones (3.5) y (3.8) el programa puede recibir el dato del ángulo de

giro de las llantas delanteras deseado y comandar el servomotor para poder realizar

la acción deseada.

Encoder Óptico

El encoder óptico utilizado provee un tren de pulsos según el movimiento giratorio

de las llantas traseras. La resolución del encoder es de 10 pulsos por vuelta.

El encoder se utiliza para poder calcular la velocidad lineal que mantiene el carlike

de la siguiente manera: el enconder y su respectivo acondicionamiento proveen de

un tren de pulsos que se leen en una entrada física GPIO de la Raspberry Pi 3B

configurada como interrupción externa con flanco de subida. Dentro de la

interrupción externa se cuenta el número de pulsos n en un determinado periodo

de tiempo T. La lógica de conversión de datos es la que se muestra en la ecuación

(3.9) considerando el diámetro D de la rueda que se muestra en la Tabla 2.3.

#X&^_Pg\g[V{Z] =6/[WU&Z^Z]

|/[ZXhU6g^Z]/1/[#UX&$\]

10/[WU&Z^Z]//(WP)}[_V]

1[#UX&$\]/1[V]

100/[_V]

(3.9)!

Con la ecuación (3.9) el programa puede calcular la velocidad lineal del carlike.

Sensor de presencia Sharp

Este sensor de presencia provee de una señal lógica cuando existe un obstáculo

entre 2 y 10 cm. En el programa principal se lee el estado digital de esta señal para

poder conocer si existen obstáculos y evita que el carlike choque contra el mismo.

Si los comandos le indican que debe seguir hacía el frente, el carlike se detendrá

Page 89: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

72

al detectar un obstáculo adelante y solo permitirá que se mueva si los comandos le

indican que debe ir hacia atrás.

Luces Indicadoras

Se usa un led amarillo para que el usuario que tiene contacto con el carlike pueda

conocer si este tiene comunicación con la estación local. Está ubicado en la parte

superior del carlike y se enciende cuando existe comunicación con la estación y se

apaga cuando no hay comunicación. Además, se usan dos leds verdes y dos leds

rojos, los cuales indican el nivel de voltaje de las baterías LiPo, están ubicados junto

al led amarillo.

LÓGICA DE PROGRAMACIÓN DEL CARLIKE FÍSICO

A continuación, se muestra la lógica de programación que se ha desarrollado en

Python 2.7 a manera de un diagrama de flujo general en la Figura 3.4. El programa

empieza con la inicialización y luego pasa al lazo infinito, los eventos o

interrupciones pueden ejecutarse en cualquier momento para luego volver al lazo

principal.

Inicialización de programa

INICIO

FIN

Interrupción externa. ENCODER

Lazo principalInterrupción.

Mensaje MQTT recibido

Figura 3.4 Diagrama de flujo general de la lógica de programación del carlike físico

Page 90: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

73

Para la parte de inicialización y configuraciones iniciales se siguen los siguientes

pasos como se muestra en la Figura 3.5.

Inicialización del programa

Importar librerías de tiempo, MQTT, JSON, GPIO y MATH

Configuración de la GPIO

Inicialización de la PWM de motor DC en 0, motor detenidoInicializa la PWM del servomotor para girar 0 grados las llantas delanteras

Inicializa la interrupción externa del encoder

Definicion de variables odometricas y variables de control y se las inicializa con valor de 0

Se define el diccionario JSON para almacenar las varables odometricas de velocidad y posicion en x e y

Se crea el cliente MQTTSe conecta el cliente MQTT al BROKER

Inicia el contador de tiempo 1 y 2

Figura 3.5 Inicialización del programa

A continuación, en la Figura 3.6, se muestra el lazo principal donde se llevan a cabo

tareas de monitorización, cálculos de odometría y ejecución de comandos.

Page 91: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

74

Lazo principal

Detener el carlike

¿Existe un obstáculo al frente y el sentido del movimiento es hacia el frente?

Calcular la velocidad del carlike de acuerdo a la información del encoder.

Reset del contador de la interrupción del encoder

Calcula la posición del carlike usando el modelo cinemático del mismo

Crea un objeto JSON donde se añaden las variables odométricos de posición y velocidad

Publica el objeto JSON para q sea considerado en la estación local

Reinicia el contador de tiempo 1

¿El contador de tiempo 2 es mayor a 2 s?

Estado de desconexión con la estación local

Apaga el led indicador de que existe comunicación con la estación local

Detener el carlike

¿El contador de tiempo 1 es mayor a 0.5 s?

sino

no si

si no

Figura 3.6 Lazo principal del funcionamiento del sistema

Page 92: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

75

El evento en el que se realiza el contador de pulsos del encoder es el que se

muestra en la Figura 3.7.

Interrupción externa. ENCODER

Aumentar el valor del contador

Lazo principal

Figura 3.7 Evento para contar pulsos del encoder

El evento en el que se recibe un mensaje MQTT y se actualizan los valores de los

comandos es el que se muestra en la Figura 3.8.

Interrupción.Mensaje MQTT recibido

Reset del contador de tiempo 2

Encender la luz indicadora de que existe comunicación

Guardar el mensaje MQTT, discriminar, limitar y actualizar las variables

Aplica las acciones de control en los actuadores del carlike

Lazo principal

Figura 3.8 Evento de la recepción de un mensaje MQTT

Page 93: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

76

CONFIGURACIÓN DE LA CÁMARA IP

La cámara IP es un elemento se suma importancia que permite la realimentación

visual del entorno del robot hacia la estación local, ya que gracias a ello el operador

podrá tomar decisiones para comandar el carlike.

El retardo en la comunicación juega un papel muy importante en este caso, ya que

el retardo puede hacer que la telepresencia del operador no sea adecuada y las

decisiones sean erróneas. Por ejemplo, si los retardos son muy altos el operador

podría no darse cuenta de que el carlike esté a punto de colisionar.

La configuración de la cámara IP se muestra en el ANEXO A.

3.2. ELEMENTOS DE SOFTWARE DEL CARLIKE

DESARROLLADO EN ENTORNO VIRTUAL

Para la ejecución de este proyecto se usó Unity 3D para desarrollar el modelo

simulado del carlike. Unity es un motor gráfico utilizado para crear video juegos,

aplicaciones y animaciones para plataformas de Windows, Android, iOS, XBOX,

etc.

Unity ofrece un editor visual muy completo que provee de herramientas para el

desarrollo de las aplicaciones. El entorno virtual se desarrolla en el editor, mientras

que los comandos se ejecutan desde scripts, estos scripts pueden ser

implementados en tres lenguajes: JavaScript, C# o Boo.

En este proyecto se usó una versión estudiantil de Unity, que es menos completa

que la versión profesional, pero tiene las herramientas necesarias para llevar a cabo

el mismo.

Las partes del entorno virtual que se creó son el carlike, el terreno, luces

direccionales, una cámara, y una ciudad virtual como se muestra en la Figura 3.9.

La programación de los objetos que componen el entorno virtual se la realizó en

scripts en lenguaje C# en el compilador mono Developer propio de Unity.

Page 94: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

77

Figura 3.9 Carlike simulado en el entorno virtual

Unity provee de varias herramientas que facilitan el trabajar en el entorno para que

se comporte de una manera muy realista. La herramienta que hace posible esto es

la tecnología Nvidia Physx que posee Unity la cual incluye consideraciones de

aceleración, masa, gravedad, fuerzas externas, inercia, torques, etc. Esta

herramienta incluye motores de física incluidos que realizan todos los cálculos

físicos para la simulación. Por lo cual al crear cada objeto se le debe asignar las

características adecuadas de tamaños y masa, por ejemplo.

Figura 3.10 Módulo de diseño del robot móvil.

Page 95: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

78

En la Figura 3.10 se muestra las herramientas del módulo de física que provee

Unity, para este proyecto solo se usaron los componentes de RigidBody y los

Colliders.

· Rigidbody. Esta herramienta permite que los GameObjects sean afectados

por la física, es decir que puede aplicárseles fuerzas y torques para crear

movimientos realistas. Además, permite que el objeto sea influenciado por

la gravedad o por fuerzas agregadas vía script. Esta herramienta permite

configurar la masa del objeto, el detector de colisiones, la gravedad, etc.

· Colliders. Son componentes que se incluyen en los GameObjects y lo

delimitan para que el programa reconozca colisiones con otros colliders. Los

colliders son invisibles y no es necesario que tenga la misma forma que el

objeto, sino que sea lo más aproximado posible. Unity incorpora cuatro

geometrías básicas que son el box collider (caja), sphere collider (esfera),

capsule collider (cápsula), mesh collider y Wheel collider. En este proyecto

se usó el box collider para recubrir el carlike y Wheel colliders en las ruedas

del automóvil.

DESARROLLO DEL ENTORNO VIRTUAL

Como se mencionó anteriormente, el entorno virtual desarrollado se compone de

varios objetos como el carlike, el terreno, luces direccionales, la cámara, y una

ciudad. A continuación, se explican el desarrollo y configuración de estos objetos.

El Terreno

El terreno es la base sobre la que se sostiene todas las estructuras que se monten

en el entorno virtual como se muestra en la Figura 3.11. El terreno puede ser

añadido en la barra de menú en la pestaña GameObject, submenú 3D Object y en

la opción Terrain. En este caso el terreno tiene como dimensiones 1000 m de ancho

y 2000 m de largo.

Page 96: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

79

Figura 3.11 Terreno Unity 3D

La Ciudad

La ciudad es el medio por el cual el operador debe conducir el carlike con el objetivo

de llegar a un punto específico sin chocar. El modelo de la ciudad fue obtenido de

manera gratuita en el asset store de Unity 3D como se muestra en la Figura 3.12.

Figura 3.12 Asset store - modelos de ciudades gratuitas

Al elegir una ciudad se la selecciona, luego el Asset Store pedirá que el usuario

ingrese su cuenta y el modelo se descargará automáticamente. Luego de eso el

modelo se importa a la escena y se la puede utilizar. El modelo de la ciudad elegida

se muestra en la Figura 3.13.

Page 97: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

80

Figura 3.13 Modelo de la ciudad utilizada.

El Carlike Jeep

El carlike es el robot que se maneja desde la estación local, desde la cual se puede

direccionar las llantas delanteras, acelerar o frenar las llantas traseras e ir hacia

delante o hacia atrás. El carlike simulado en el entorno virtual se muestra en la

Figura 3.14.

Figura 3.14 Modelo de Carlike en el entorno virtual.

El carlike se comporta como un auto normal y el objetivo es manejarlo en la ciudad

y llegar a un punto específico. El peso asignado al carlike es de 600 kg, tiene

activado el método de detección de colisiones continuo para evitar que el mismo

choque con cualquier obstáculo utilizando el “Cube Collider” de la Figura 3.15.

Page 98: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

81

Figura 3.15 Cube collider en el Carlike.

En la Figura 3.16 se muestran algunas configuraciones del carlike.

Figura 3.16 Configuración del rigidbody del Carlike

Para poder comandar cada par de llantas se le incluyen un Wheel colliders a cada

llanta como se muestra en la Figura 3.17. Estos Wheel collider tienen propiedades

que se pueden manejar como el “motor torque” para generar tracción desde las

llantas traseras, “motor break” para frenar las llantas y “steerAngle” para girar las

llantas según las indicaciones del volante hacia la izquierda o hacia la derecha.

Estas propiedades se modifican desde el script donde se ejecutan los comandos

en el carlike.

Page 99: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

82

Figura 3.17 Wheel colliders en las llantas del carlike.

Algunas de las características de los Wheel colliders son el radio de 0.33m, tienen

masa de 20Kg y sus propiedades son modificadas desde el script de C#

“Movimiento”.

Luces Direccionales

Las luces direccionales mostradas en la Figura 3.18 proveen de iluminación natural

al entorno simulado para poder iluminar toda la escena y sus componentes. En este

caso se usaron 4 luces direccionales para iluminar la escena completamente y

poder tener buena visualización dentro de la misma.

Figura 3.18 Luces direccionales para iluminar el entorno.

Page 100: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

83

La Cámara

La cámara mostrada en la Figura 3.19 es una de las partes más importantes ya que

provee la posibilidad de mirar el entorno del carlike y saber por dónde está

movilizándose. La cámara está programada para seguir al carlike en todo momento

y proveer de realimentación visual al operador para que pueda tomar las decisiones

más convenientes. La cámara actúa bajo la influencia de un script programado en

C# llamado “cámara”.

Figura 3.19 Cámara montada en el Carlike.

TeamViewer

En la arquitectura de comunicación entre la estación local, donde se generan los

comandos, y la aplicación de Unity 3D, la comunicación de datos entre ambos

clientes se la realiza usando el protocolo MQTT específicamente. Este protocolo es

utilizado ya que envía mensajes cortos y es muy liviano, pero no fue diseñado para

datos grandes y pesados como imágenes, es por lo que se hace presente la

necesidad de utilizar otra aplicación para poder realizar la realimentación visual

desde el entorno simulado en Unity 3D y la estación local. Para esto se ha decidido

usar una licencia gratuita de TeamViewer.

TeamViewer es una aplicación multiplataforma que soporta conexiones entre

dispositivos Windows, macOS, Linux, Chrome, Android, etc. No necesita

configuraciones y funciona detrás de cualquier firewall. Usa eficientemente el ancho

de banda de la red, transmite con una velocidad de hasta 60fps lo cual permite una

experiencia optimizada. La interfaz de usuario es muy amigable y fácil de usar. En

Page 101: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

84

el ámbito de la seguridad emplea codificaciones punto a punto, contraseñas

aleatorias, etc que lo hacen muy seguro. Y provee de licencias gratuitas para

usuarios no comerciales. [43]

Todas las características anteriores hacen que TeamViewer sea la mejor opción

para llevar acabo la realimentación visual del entorno simulado en Unity 3D y su

interfaz de usuario se muestra en la Figura 3.20.

Figura 3.20 Interfaz de usuario TeamViewer.

PROGRAMAS PARA COMANDAR EL CARLIKE.

En los anteriores apartados se mencionaron todas las partes que componen el

carlike y del entorno virtual. En este apartado se menciona la lógica que se utilizó

para manejar cada objeto según se necesite y de acuerdo con los comandos

enviados desde la estación local.

Para controlar las propiedades de cada objeto del entorno simulado se usan los

scripts. En este caso se ha elegido el lenguaje C# que provee Unity 3D. La

estructura del programa empieza definiendo todas las variables y configuraciones

en la función Start () que se ejecuta una sola vez en el programa. La función Update

() se ejecuta una vez cada cuadro de imagen y las instrucciones que se programen

se realizaran en forma cíclica. También existe la función FixedUpdate () que se

ejecuta en cada periodo de actualización del módulo de física, lo cual hace que se

ejecute varias veces en cada cuadro de imagen, por lo cual es mejor programar los

Page 102: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

85

comportamientos físicos en esta función. El diagrama de flujo general se muestra

en la Figura 3.21.

Función Start

INICIO

FIN

Función Update Función Fixed Update Función Guide Evento de mensaje MQTT

Figura 3.21 Diagrama de flujo general de la lógica de programación del carlike

simulado en Unity 3D

Para la lógica de todo el sistema se usan dos scripts, uno de ellos gestiona la

comunicación y maneja el carlike, mientras que el otro gestiona las acciones de la

cámara.

Script de la lógica del Carlike

Como se mencionó anteriormente los objetos que se deben manejar del modelo del

carlike son los que se relacionan con las Wheel colliders de las llantas delanteras y

traseras, además de las variables que se reciben desde la estación local y las

variables odométricos que se calculan en transcurso de la simulación, estas se

muestran en la Figura 3.22.

Para empezar el programa se cargan todas las librerías necesarias para poder

llevar a cabo las tareas requeridas como son: Trabajar sobre el Internet usando

MQTT, crear el cliente MQTT y poder suscribirse a información de otros clientes, y

publicar información para que sea leído por otros clientes, además se carga la

librería JSON para manejar un formato de texto para poder intercambiar datos.

Page 103: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

86

Figura 3.22 Variables públicas del jeep.

Después el programa reconoce los objetos del carlike que han de ser manejados y

guarda los mismos en variables públicas.

En la función Start () que se muestra en la Figura 3.23 se crea un nuevo cliente

MQTT para la aplicación y se lo conecta al bróker o servidor central que tiene la IP

publica suministrada por la EPN, luego se suscribe al cliente a los tópicos en los

que la estación local envía los comandos.

Función Start

Carga librerías de MQTT, JSON y TIME

Cargar variables públicas de objetos del carlike desde el entorno virtual

Crear un nuevo cliente MQTTConectarse al Bróker en la dirección IP publica

Suscribir el cliente MQTT a los Tópicos en los que la estación local publica la aceleración, desaceleración, la direccion de las ruedas delanteras, el sentido del movimiento y el estado de la conexión

Figura 3.23 Inicialización del programa en la función start

Page 104: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

87

Función Update

Inicia el Timer 1 y el Timer 2

Calcula la velocidad del carlike

Timer 1 >= 1s

Actualizar los valores de posición en x e y del carlike

Crea un objeto JSON con los datos odométricos de posición y velocidad del carlike

Publica el objeto JSON para que se considerado en la estación local

Reinicia el Timer 1

Timer 2 >= 2s

Estado de conexión = desconectado

no si

no si

Figura 3.24 Función update.

En la función Update que se muestra en la Figura 3.24 se inician dos timers, los

cuales llevaran la información de tiempo transcurrido, el primero se usará para

sincronizar el envío de los datos odométricos de posición y velocidad del carlike

hacia la estación local para que sean considerados en la misma. El segundo timer

Page 105: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

88

lleva la información del tiempo transcurrido desde la última vez que se actualizó un

dato por un evento de comunicación MQTT. Hay que notar que este timer se reinicia

en el evento de un nuevo mensaje MQTT. Cuando este timer2 llega a un valor

mayor a 2 segundos se reconoce que no existe comunicación entre la estación local

y el carlike simulado y el sistema entra en modo de desconexión.

Por otro lado, se calcula la velocidad en km/h del carlike constantemente de

acuerdo con la rotación de las llantas del carlike ya que Unity permite obtener la

información de la velocidad rotacional de las mismas.

En la función FixedUpdate que se muestra en la Figura 3.25 se verifica el estado

de la comunicación con la estación de operación al inicio, si existe comunicación

entonces se ejecutan los comandos enviadas desde la estación de operación, esto

se realiza modificando las propiedades de las Wheel collider que fueron añadidas

en las cuatro ruedas del carlike. Para acelerar el carlike, se modifica la propiedad

“motor torque” de las Wheel collider de las llantas traseras, para frenar el carlike se

modifica la propiedad “motorbreak” de las Wheel collider de las llantas traseras,

para girar las llantas delanteras se modifica la propiedad “steerAngle” de los Wheel

collider de las mismas.

Por otro lado, si se verifica que no existe comunicación, el sistema entra en el modo

sleep, donde se enceran las variables y se hace detener el carlike como medida de

seguridad.

Función Fixed Update

Estado de conexión==desconectado

Aplica las variables de aceleración o desaceleración, dirección y sentido en los objetos del carlike

Detener el carlike

no si

Figura 3.25 Función FixedUpdate.

Page 106: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

89

Cuando el bróker envía la notificación de que existe una nueva publicación en algún

tópico. El cliente MQTT de Unity entra en una interrupción o evento como se

muestra en la Figura 3.26 en el que se guarda el mensaje recibido y se lo discrimina

de acuerdo con el tópico de la publicación para poder actualizar los comandos que

corresponda.

Al final se reinicia el timer2 que se maneja en la función Update que era el

responsable de llevar la cuenta del tiempo que transcurre desde el último dato

recibido para reconocer si existe comunicación o no con la estación local.

Evento. Mensaje MQTT recibido

Guarda el mensaje recibido

Discrimina el mensaje recibido de acuerdo al Tópico y actaliza las varablescomo la aceleracion, desaceleracion,

direccion y sentido

Reinicia el Timer 2

Función Update

Figura 3.26 Evento de mensaje MQTT recibido.

Para poder visualizar el estado de la conexión con la estación local, se incluye una

caja en la pantalla del simulador para que el operador pueda conocer el estado de

la conexión y además para que el usuario pueda reiniciar la simulación como se

muestra en la Figura 3.27.

Page 107: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

90

Función Guide

Mostrar el estado de la conexión con la estación local

¿Se presiono el botón de reinicio?

Reiniciar el simulador

si no

Figura 3.27 Función guide de Unity.

Script de la cámara

La cámara fue programada para seguir a un solo objetivo, en este caso es el carlike

para poder visualizar por donde se está movilizando. El diagrama de bloques de la

programación de la misma se muestra en la Figura 3.28.

Inicio

Guarda el objeto Carlike en una variable publica desde el entorno virtual

Calcula la distancia entre la cámara y el carlike

Ajusta la posición de la cámara según la distancia que mantiene con el carlike

Ajusta la rotación de la cámara según la rotación del carlike

Fin

Figura 3.28 Programa de la cámara de Unity 3D.

Page 108: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

91

3.3. PROGRAMACIÓN DEL SERVIDOR DE DATOS MQTT

Uno de los puntos más importantes en este proyecto fue implementar un canal de

comunicaciones para poder compartir información usando el Internet como medio

de comunicación entre la estación local y los modelos de los robots físico y

simulado; para llevar a cabo esta tarea se decidió utilizar el protocolo MQTT.

Figura 3.29 Arquitectura de comunicación MQTT

La arquitectura de comunicación que utiliza el protocolo MQTT es la que se muestra

en la Figura 3.29.

En este caso los clientes conectados al bróker son capaces de crear tópicos en el

mismo. Cada cliente puede suscribirse tópicos para recibir los mensajes que otro

cliente publique en dichos tópicos.

El servidor de datos está programado en una PC ubicada en la Escuela Politécnica

Nacional y que se encuentra conectada a la red interna de la misma, la cual le

provee de acceso a Internet y así mismo le provee una dirección IP publica para

que las aplicaciones puedan conectarse al mismo desde una WAN (Internet).

Este servidor de código fuente es muy ligero y no requiere de un gran ancho de

banda para poder interconectar clientes ya que trabaja con mensajes cortos y

ligeros.

La taba de tópicos que gestiona el bróker para el uso de los tres clientes como son

la estación local y los modelos de carlike físico y simulado en entorno virtual se

muestra en la Tabla 3.2.

Page 109: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

92

Tabla 3.2 Tabla de tópicos gestionados en el bróker MQTT.

Tópico

Estación

Local

Carlike

Físico

Carlike

Simulado

Descripción

Pu

bli

caci

ón

Su

scri

pci

ón

Pu

bli

caci

ón

Su

scri

pci

ón

Pu

bli

caci

ón

Su

scri

pci

ón

real_aceleracion X X Aceleración que debe

aplicarse al robot físico.

real_sentido X X

Sentido del movimiento

hacia adelante o atrás del

robot físico.

real_direccion X X Dirección de las llantas

delanteras del robot físico.

real_odometria X X Grupo de datos

odométricos del robot físico.

sim_aceleracion X X

Aceleración que debe

aplicarse al robot del

simulado.

sim_desaceleracion X X

Desaceleración que debe

aplicarse al robot del

simulado.

sim_direccion X X

Dirección de las llantas

delanteras del robot

simulado

sim_sentido X X

Sentido del movimiento

hacia adelante o atrás del

robot físico.

sim_estado X X Estado de conexión entre la

estación y el robot

sim_odometria X X

Grupo de datos

odométricos del robot

simulado.

Page 110: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

93

3.4. ELEMENTOS DE SOFTWARE PARA LA ESTACIÓN LOCAL

DESARROLLO DE LA INTERFAZ GRÁFICA

Para la interfaz gráfica se seleccionó Guide de Matlab como plataforma. Este

software cuenta con todos los elementos necesarios para desarrollar una interfaz

que abarque todas las funcionalidades que debe cumplir la estación local del

sistema y que sea visualmente agradable para el usuario y de fácil manejo.

Inicialmente se tiene una ventana que da la opción de escoger el entorno en el que

el usuario desee trabajar, es decir, entorno real si va a manejar el carlike físico o

entorno virtual si se desea manejar el carlike simulado. En la Figura 3.30 se observa

la pantalla de inicio.

Figura 3.30 Pantalla de inicio del sistema.

Luego de seleccionar el entorno de trabajo, independientemente de cuál sea,

aparecerá una ventana que solicitará al operador un usuario y contraseña como se

ve en la Figura 3.31. Después de ingresar los datos solicitados se da clic en aceptar

Page 111: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

94

y se procede a la siguiente ventana que es la que opera como estación local del

sistema.

Figura 3.31 Ventana de ingreso de usuario y contraseña.

Si selecciona “Entorno Real” para manejar el robot móvil físico, aparecerá la

ventana de la Figura 3.32.

Figura 3.32 Interfaz de la estación local del sistema para el carlike físico.

Page 112: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

95

La ventana de Estación Local cuenta con un panel de comando, un panel de

monitoreo, un indicador de conexión y un botón de salida.

El panel de comando cuenta con dos botones, uno de marcha que da inicio al

encendido del sistema, y un botón de paro que apaga el sistema. Al encenderse el

sistema se establece conexión entre la estación local y el robot móvil, esto permite

enviar los datos de ángulo, sentido y aceleración, y recibir datos de posición y

velocidad.

El ángulo de dirección varía en un rango de -20 a 20 grados [°], siendo de -20 a 0

grados [°] cuando el robot gira hacia la izquierda y de 0 a 20 grados [°] cuando el

robot gira hacia la derecha. El sentido del carlike indica si se mueve hacia adelante

o si se mueve hacia atrás. El acelerador varía de 0 a 100 por ciento [%], siendo 0

cuando el pedal está sin presionar y 100 cuando el pedal está presionado a fondo.

El panel de monitoreo muestra los datos de posición y velocidad del carlike, a partir

de estos datos se puede graficar la trayectoria que ha seguido el robot en un

determinado tiempo. Además, cuenta con un cronómetro, el cual mide el tiempo

que le ha tomado al operador terminar un circuito establecido.

El indicador de comunicación muestra si existe conexión entre la estación local y el

robot móvil, es decir, si no se recibe ningún mensaje desde el carlike en un

determinado tiempo se concluye que se ha perdido la conexión. Cuando existe

conexión el indicador es de color ‘verde’ y aparece ‘ONline’, cuando no existe

conexión el indicador es de color ‘rojo’ y aparece ‘OFFline’.

Finalmente, hay un botón de ‘SALIR’ que al dar clic cierra la ventana y envía al

operador a la pantalla de inicio del sistema. Cabe recalcar que antes de salir de la

ventana se debe apagar el sistema para cortar comunicación con el robot móvil.

Si se selecciona “Entorno Virtual” para trabajar, aparecerá la ventana de la Figura

3.33.

Page 113: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

96

Figura 3.33 Interfaz de la estación local del sistema para el carlike simulado.

Esta ventana cuenta con los mismos componentes de la ventana de estación local

del entorno real, sin embargo, en el panel de comando hay un parámetro más que

es el ‘desacelerador’, el cual varía en un rango de 0 a 100 [%], ya que en el entorno

virtual si es viable enviar una señal para frenar más rápido el carlike.

DESARROLLO DE LA PROGRAMACIÓN DE LA INTERFAZ

La lógica de programación para que la interfaz gráfica cumpla con las funciones de

estación local para el carlike físico y el carlike simulado se presenta en el diagrama

de flujo de la Figura 3.34.

Page 114: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

97

INICIO

Inicia comunicación con joystickSe define el diccionario JSON para recibir datos desde la estación remota

Se direcciona al cliente a la IP pública del servidorSe establece comunicación entre el cliente y el servidor

Se realiza las suscripciones a los tópicosSe crea cliente para recibir mensajeSe crea cliente para enviar mensaje

Definición de variables de posiciónInicialización de cronómetro

Botón de inicio

Si

Botón de paro

Mostrar datos de posición y velocidadToma de datos del joystick

Publicación de tópicos en el servidorVerificar estado de la comunicación entre el cliente y el servidor

No

Si

No

Figura 3.34 Funcionamiento de la interfaz de la estación local.

En la Figura 3.35 se presenta la lógica de programación de la función

‘MqttMsgPublishMRecibido’, la cual decodifica el mensaje recibido desde el robot

móvil.

Page 115: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

98

Si

¿El tópico recibido corresponde al tópico

suscrito?

INICIO

Tomar datos de posición y velocidad

No

Definición de VariablesConversión de mensajes recibidos a String

Se toma el tópico del mensaje recibido

FIN

Figura 3.35 Función de mensaje recibido.

Page 116: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

99

CAPÍTULO 4

PRUEBAS Y RESULTADOS

En el presente capítulo se detalla las pruebas de funcionamiento realizadas al

sistema de teleoperación para el robot móvil tipo carlike. Las pruebas se realizaron

en tres escenarios diferentes tanto para el carlike físico como para el carlike

simulado.

Para los tres escenarios siguientes la estación remota (robot móvil tipo carlike)

estará ubicada en la Escuela Politécnica Nacional. En el primer escenario la

estación local se encuentra en la misma red de la EPN. En el segundo escenario la

estación local está en Quito en un punto a 2 kilómetros de la EPN. Finalmente, en

el tercer escenario la estación local se encuentra en la ciudad de Latacunga, que

está a 96.6 kilómetros de la EPN.

Para cada escenario se describe las consideraciones tomadas en cuenta al

momento de realizar las pruebas de funcionamiento del sistema, como el

desempeño tanto del sistema total como el del operador.

4.1. METODOLOGÍA DE IMPLEMENTACIÓN DE LAS PRUEBAS

A continuación, se detalla la forma y las consideraciones necesarias que se

tomaron para realizar las pruebas del sistema de teleoperación implementado.

Estas pruebas permiten conocer las condiciones y características del canal de

comunicación, la realimentación visual y también el desempeño del operador ante

las mismas.

Las pruebas que se realizan al canal de comunicaciones permiten conocer

indicadores como el retardo de ida y vuelta (RTTD), la variación del retardo

(JITTER) y la tasa de paquetes perdidos. Estos datos son necesarios para que el

operador pueda considerarlos al momento de manejar los carlike implementados.

Page 117: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

100

En base a las consideraciones anteriores el operador sentirá una mayor o menor

dificultad para teleoperar lo cual se verá reflejado en los resultados del número de

colisiones registradas, el tiempo que tarda en recorrer la trayectoria y el confort que

siente al teleoperar.

Cabe recalcar que en cada caso se procuró que la Estación Local y Remota cuente

en lo posible con conexiones rápidas a Internet.

ESCENARIOS DE TELEOPERACIÓN

En este apartado se muestran los 3 puntos geográficos desde los cuales se realizó

las pruebas de teleoperación.

Para probar el sistema teleoperado de este proyecto se decidió usar tres puntos

geográficamente distantes como escenarios para poder evaluar el desempeño del

sistema teleoperado y conocer la manera en la que la distancia física afecta el

rendimiento del mismo. Además, se realizaron pruebas de operación directa al

sistema para tomar sus resultados como punto de comparación con los resultados

obtenidos en los tres escenarios de teleoperación.

El tráfico en las redes tiene una relación directa al horario en el que se realizan las

pruebas ya que en el horario laboral habrá más tráfico que en los horarios no

laborables. Para la realización de estas pruebas se consideró el horario laboral, ya

que se puede conocer el desempeño del sistema ante un tráfico de red alto.

En el caso específico de este proyecto, la cámara IP del modelo físico de carlike

implementado debe estar conectado a una red interna de la Escuela Politécnica

Nacional, ya que la misma le provee de una dirección IP pública para poder acceder

a ella desde el Internet. Por el motivo anterior los modelos físico y simulado de

carlike (Estación remota) deben ubicarse dentro de la Escuela Politécnica Nacional

en este caso en el laboratorio de Unmanned Aerial Vehicles (UAV’s) ubicado en el

edificio EARME del centro de educación continua CEC de la EPN, mientras que la

estación de operación (Estación Local) se ubica en puntos geográficos diferentes

para poder realizar las pruebas de teleoperación.

Page 118: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

101

Prueba Ideal

La prueba ideal se realiza cuando el operador se encuentra directamente en la

misma locación de la estación remota, en este caso no influirá el retardo del video

ya que el operador podrá observar directamente el comportamiento del robot físico

o simulado.

Esta prueba sirve como entrenamiento para el operador, además que sus

resultados sirven como referencia para comparar los resultados que arrojan las

demás pruebas de teleoperación en los tres escenarios planteados.

Escenario 1. Teleoperación En La Misma Red

Para la primera prueba se eligió como lugar para la Estación local el laboratorio de

Informática ubicado en el sexto piso del edificio de Química y Eléctrica de la EPN.

Este lugar fue elegido ya que dispone de varios puntos de red directos para poder

tener una mejor conexión de Internet.

En esta prueba la estación local y la estación remota se encuentran relativamente

cerca, por ello es considerada como ideal y servirá para hacer contraste con las

demás pruebas en puntos geográficamente diferentes.

Escenario 2. Teleoperación En La Misma Ciudad

Para la segunda prueba se eligió un punto ubicado en la misma ciudad a 1.5 km en

línea recta.

En este caso se podrá comprobar el funcionamiento de los protocolos en un

ambiente real de tráfico y se podrá verificar el retardo debido a los diferentes

procesamientos de las redes sobre el servicio de Internet.

Page 119: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

102

Figura 4.1 Punto geográfico de teleoperación para el escenario 2.

Escenario 3. Teleoperación Quito-Latacunga

Para la tercera prueba se eligió un punto ubicado en la ciudad de Latacunga a 75

km en línea recta.

En este se podrá verificar en mayor medida los efectos de las redes del Internet

que se reflejan como retardos en la comunicación entre los clientes MQTT.

Figura 4.2 Punto geográfico de teleoperación escenario 3.

Page 120: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

103

PRUEBAS AL CANAL DE COMUNICACIÓN DE DATOS

A continuación, se muestran las pruebas realizadas al canal de comunicaciones

para poder conocer el desempeño del protocolo de comunicaciones ante las

condiciones de la red.

Retardo de Ida y Vuelta (Round Trip Time Delay)

El retardo de ida y vuelta es el tiempo que tarda un mensaje en ir desde la Estación

local al bróker MQTT, desde el bróker MQTT hasta el carlike, desde el carlike de

vuelta hacia el bróker y desde el bróker de vuelta hacia la Estación local.

+||} = $~b,��>B@�����?� K $����?��~b,�?��,B K $~b,�?��,B�����?�

K $����?��~b,��>B@

(4.1)!

Este parámetro es muy importante debido a que presenta características reales del

comportamiento del canal de comunicaciones en la red e influirá directamente en

la maniobrabilidad del sistema teleoperado entorpeciendo en mayor o menor

medida el comando por parte del operador.

Para obtener este parámetro se usó un timer en la estación local, el timer empieza

a contar el tiempo cuando la estación local envía un mensaje hacia la estación

remota, el tiempo sigue contando mientras el mensaje viaja hasta la estación

remota y esta responde con otro mensaje hacia la estación local. El timer se detiene

cuando la estación local recibe el mensaje de respuesta de la estación remota.

Para implementar el temporizador en Matlab se usaron los comandos “tic” y “toc”.

El comando “tic” se usa para iniciar el timer y el comando “toc” se usa para conocer

el valor del timer cuando el mensaje de respuesta es recibido. La metodología que

se usó para obtener el RTTD se muestra en la Figura 4.3.

Page 121: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

104

INICIO

Conectar el cliente MQTT

Enviar un mensaje MQTT a la estación remota

Inicia el timer

Evento de recepción de mensaje MQTT

Finaliza el timer

Guarda el dato de RTTD

Calcula el RTTD promedio

Calcula el jitter

INICIO

Conectar el cliente MQTT

Evento de recepción de mensaje MQTT

Procesa el mensaje

Envía un mensaje MQTT de respuesta a la estación local

Estación Local Estación Remota

Figura 4.3 Metodología de toma de datos de RTTD.

Jitter (Fluctuación)

Este indicador permite conocer, como su nombre lo indica, que tanto varía el retardo

respecto a su valor medio.

Este parámetro se calcula cada vez que se registra un nuevo valor de RTTD y se

calcula como el valor absoluto del último valor de RTTD registrado menos el valor

medio de RTTD de todos los datos registrados.

jP$$Xk[P] = �kX$\kg^[P] l VXgP\(kX$\kg^[0� P])� (4.2)!

Page 122: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

105

Los valores de Jitter se calculan cada vez que se mide un valor de retardo, y al igual

que los datos de retardo se guardan en una matriz para poder analizarlos

posteriormente.

Tasa de Paquetes Perdidos

En este caso el cálculo de los paquetes perdidos se realiza al terminar las pruebas,

es decir al final de tomar datos de RTTD, se cuentan los paquetes enviados y

recibidos, se los compara y se determina cuántos de estos datos enviados no han

sido recibidos en la estación remota.

DW\�UX$XZ/WXkgPg^Z =

:X6Z\jXZ/X6#P\g^Z~b,B>�óN/@�>B@ l:X6Z\jXZ/kX_PePg^Z~b,B>�óN/�?��,B

:X6Z\jXZ/X6#P\g^Z~b,B>�óN/@�>B@

(4.3)!

PRUEBAS AL MEDIO DE REALIMENTACIÓN VISUAL

En este proyecto la realimentación visual cobra una importancia muy alta debido a

que es el único medio de telepresencia para el teleoperador y solo en base a este

medio el operador podrá tomar decisiones para completar la tarea propuesta.

Una de las características más relevantes de la realimentación visual es el retardo

que demuestra en viajar desde el punto de origen en la estación remota hasta el

punto de llegada en la estación local.

Para poder cuantificar el retardo de la realimentación visual se ha establecido la

siguiente metodología para la implementación de la prueba. En la estación local y

en la estación remota se tienen cronómetros, ambos cronómetros empiezan ante

la orden de inicio del usuario ubicado en la estación local. Cuando el usuario da la

orden de inicio para el cronómetro, un mensaje de inicio es enviado vía protocolo

MQTT hacia el cronómetro de la estación remota, de esta manera se sincronizan

ambos cronómetros en la estación local y en la estación remota con una diferencia

en el orden de las decenas de ms debido al protocolo MQTT que es mucho menor

al retardo mismo del video.

Page 123: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

106

INICIO

ESTACIÓN LOCAL

Conectar el cliente mqtt

¿Se pulso el botón de inicio?

Se inicia el contador de tiempo

¿Se pulso el botón de fin?

Enviar mensaje mqtt de inicio

Enviar mensaje mqtt de fin

Se para el contador de tiempo

sino

Mostrar el contador de tiempo

sino

ESTACIÓN REMOTA

INICIO

Conectar el cliente mqtt

Evento de recepcion de mensaje mqtt de

inicio

Se inicia el contador de tiempo

Mostrar el contador de tiempo

Evento de recepción de mensaje mqtt de fin

Se para el contador de tiempo

FIN

Figura 4.4 Diagrama de flujo de sincronización de cronómetros.

Cuando los cronómetros están sincronizados, se realimenta visualmente el

cronometro de la estación remota hacia la estación local usando el mecanismo

correspondiente: Cámara IP en el caso del robot físico y Team Viewer en el caso

del robot simulado. Teniendo el cronómetro sincronizado de la estación remota

reflejado en la estación local, se puede contrastar el valor que muestran los dos

cronómetros y la diferencia entre ellos se puede reconocer como el retardo

existente para la realimentación visual.

Se grabó en video ambos cronómetros, el de la estación local y el de la estación

remota reflejado en la estación local, para poder registrar el retardo y analizar la

información posteriormente.

Page 124: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

107

PRUEBAS AL OPERADOR

A continuación, se muestran las pruebas que fueron realizadas para conocer el

desempeño del operador al teleoperar en los distintos escenarios mostrados.

El carlike físico se lo manejó en una pista con la forma de la Figura 4.5.

Figura 4.5 Pista del carlike físico

El recorrido para el carlike simulado es el que se muestra en la Figura 4.6.

Figura 4.6 Recorrido del carlike simulado.

Tiempo de Ejecución de la Tarea

El tiempo de ejecución de la tarea es el tiempo que el operador tarda en recorrer

todo el circuito. Este tiempo será variable dependiendo de las características del

Page 125: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

108

circuito, de la experiencia que tenga el operador sobre un entorno determinado, y

del retardo en la transmisión de video.

Número de Colisiones

Tomando en cuenta que el circuito usado para las pruebas de funcionamiento es

una superficie lisa y consta de cinco curvas, el número de colisiones dependen de

la habilidad del operador para comandar el robot móvil y del retardo de video que

exista.

Maniobrabilidad

La maniobrabilidad del sistema se determina dependiendo de la facilidad de

maniobra que existe sobre el sistema. El uso del joystick, la visualización de la

interfaz gráfica y la realimentación visual, en conjunto, proporcionan un buen

manejo y confort del sistema.

La maniobrabilidad del sistema se verá opacada debido a la distancia física, esto

se refleja en los resultados de las encuestas realizadas al operador para calificar

su apreciación sobre el sistema en los distintos escenarios.

4.2. RECOLECCIÓN DE DATOS

En este apartado se muestran los datos que se recogieron a partir de la realización

de las pruebas de teleoperación en los distintos escenarios propuestos.

DATOS RECOGIDOS DE LA TELEOPERACIÓN PARA EL CARLIKE

FÍSICO

En el apartado anterior se mostró la metodología de la realización de las pruebas y

los datos de importancia que se deben recoger. A continuación, se muestran los

datos experimentales recogidos de las diferentes pruebas de teleoperación para el

carlike físico en los diferentes escenarios.

Page 126: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

109

Prueba Ideal

En la prueba ideal debido a que el operador comanda directamente el carlike se

obvian los datos del comportamiento de la red y de la cámara IP. Sólo se consideran

los datos del tiempo de ejecución de la tarea y del número de colisiones para poder

comparar luego con los resultados de las pruebas en los demás escenarios.

Tabla 4.1 Datos obtenidos en la prueba ideal

ROBOT REAL

PRUEBA IDEAL No. Prueba Tiempo de ejecución de la tarea[s] No. de Colisiones

1 26 0 2 31 0 3 32 0 4 25 0 5 28 0

PROMEDIO 28 0

Escenario 1. Teleoperación Desde La Misma Red

A continuación, se muestran los resultados de las pruebas en este escenario.

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta (RTTD) se obtuvieron los resultados que se

muestran en la Figura 4.7.

Figura 4.7 RTTD de datos en teleoperación en la misma red.

0

100

200

300

400

500

600

700

800

900

1000

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD(ms) Promedio(145.2 ms)

Page 127: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

110

Los datos estadísticos se muestran en la Tabla 4.2. Como se aprecia 145.2

milisegundos es el valor promedio de llegada de datos desde la estación local a la

estación remota.

Tabla 4.2 Datos estadísticos de pruebas del RTTD

RTTD Tiempo [ms]

Valor Promedio 145.2

Desviación Estándar 106.75

Valor Máximo 493.7

Valor Mínimo 30.81

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.8, donde se puede observar

que el valor promedio es 98.65 ms.

Figura 4.8 Jitter del RTTD de datos en teleoperación en la misma red.

Tasa de paquetes perdidos

En esta prueba se enviaron 150 datos desde la estación local y en la estación

remota se recibieron los mismos 150 datos. Experimentalmente se registró que

todos los datos que fueron enviados desde la estación local a la estación remota

fueron recibidos exitosamente, registrándose así una tasa de paquetes perdidos de

0%.

0

50

100

150

200

250

300

350

400

450

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er(m

s)

Número de Muestra

JITTER(ms) Promedio(95.68 ms)

Page 128: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

111

Retardo de la realimentación visual

Para el caso de la realimentación visual provista por la cámara IP se recogieron los

150 datos que se muestran en la Figura 4.9.

Figura 4.9 Retardo de video en la teleoperación en la misma red

De la Figura 4.9 se tienen los siguientes datos estadísticos en la Tabla 4.3.

Tabla 4.3 Datos estadísticos del retardo visual

Retardo de Video Tiempo [ms]

Valor Promedio 799.28

Desviación Estándar 221.1

Valor Máximo 2818

Valor Mínimo 586.8

En comparación al retardo de datos, el retardo de video es considerable. Esto

afecta al maniobrar el robot móvil ya que la actualización de la imagen de video

debería ser rápida y constante.

Tiempo de ejecución de la tarea

Para el tiempo de ejecución de la tarea se realizó cinco intentos para que el

operador complete el circuito.

0

0.5

1

1.5

2

2.5

3

1 7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

10

3

10

9

11

5

12

1

12

7

13

3

13

9

14

5

15

1Ret

ard

o d

e V

ideo

(s)

Número de Muestra

Retardo de video en la misma red Retardo promedio: 799.28ms

Page 129: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

112

Figura 4.10 Tiempos de ejecución de la tarea en la misma red.

Los datos estadísticos de la Figura 4.10 se muestran en la Tabla 4.4.

Tabla 4.4 Datos estadísticos del tiempo de ejecución de la tarea

Tiempo más alto de ejecución de la tarea 57 [s]

Tiempo más bajo de ejecución de la tarea 52 [s]

El tiempo de ejecución de la tarea a partir del segundo intento disminuye, esto es

debido a que el operador va adquiriendo experiencia y conoce mejor el entorno en

el que se encuentra el robot móvil.

Número de colisiones

En las pruebas en este escenario no se registraron colisiones.

Maniobrabilidad.

Conforme aumenta la experiencia del operador, aumenta la maniobrabilidad que

tiene sobre el robot móvil.

Escenario 2. Teleoperación desde la Misma Ciudad

A continuación, se muestran los resultados de las pruebas de teleoperación en la

misma ciudad.

49

50

51

52

53

54

55

56

57

58

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de Prueba

Page 130: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

113

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta (RTTD) se obtuvieron los resultados que se

muestran en la Figura 4.11.

Figura 4.11 RTTD de datos en teleoperación en la misma ciudad.

Los datos estadísticos son los que se muestran en la Tabla 4.5.

Tabla 4.5 Datos estadísticos del RTTD en el escenario 2

RTTD Tiempo [ms]

Valor Promedio 207.93

Desviación Estándar 41.28

Valor Máximo 940.28

Valor Mínimo 141.28

En este escenario el valor promedio aumenta en comparación al escenario anterior.

Esto se debe a que la distancia física entre la estación local y remota también ha

aumentado.

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.12, donde el valor promedio

alcanza un valor de 56.27 ms.

0

100

200

300

400

500

600

700

800

900

10001 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD (ms) Promedio: 207.93ms

Page 131: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

114

Figura 4.12 Jitter del RTTD de datos en teleoperación en la misma ciudad

En este escenario el valor del Jitter disminuye en comparación al anterior, esto

ayuda a una mejor maniobrabilidad sobre el robot móvil.

Tasa de paquetes perdidos

Se enviaron 150 datos desde la estación local, a la estación remota. Se registró

que todos los datos que fueron recibidos exitosamente, registrándose así una la

tasa de paquetes perdidos de 0%.

Retardo de la realimentación visual

Para la realimentación visual provista por la cámara IP se recogieron los 150 datos

que se muestran en la Figura 4.13.

Figura 4.13 Retardo de video en la teleoperación en la misma ciudad

0

100

200

300

400

500

600

700

800

900

1 7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

10

3

10

9

11

5

12

1

12

7

13

3

13

9

14

5

Jitt

er (

ms)

Número de Muestra

JITTER(ms) Promedio(56.27ms)

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1 7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

10

3

10

9

11

5

12

1

12

7

13

3

13

9

14

5

15

1

Ret

ard

o d

e V

ideo

(s)

Número de Muestra

Retardo de video en la misma ciudad Retardo promedio: 817,24ms

Page 132: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

115

De la Figura 4.13 se tienen los siguientes datos estadísticos en la Tabla 4.6.

Tabla 4.6 Datos estadísticos del retardo visual en el escenario 2.

Retardo de Video Tiempo [ms]

Valor Promedio 817.24

Desviación Estándar 108.09

Valor Máximo 1409.6

Valor Mínimo 303.7

El retardo de video aumenta muy poco en comparación al valor del escenario

anterior, pero siguen siendo valores considerables que afectan la maniobrabilidad

del robot móvil.

Tiempo de ejecución de la tarea

En la Figura 4.14 se observa el tiempo que le tomó al operador completar el circuito

en cada intento.

Figura 4.14 Tiempos de ejecución de la tarea en la misma ciudad

Los datos estadísticos son los que se muestran en la Tabla 4.7.

Tabla 4.7 Datos estadísticos de tiempo de ejecución de la tarea en el escenario 2

Tiempo más alto de ejecución de la tarea 160 [s]

Tiempo más bajo de ejecución de la tarea 122 [s]

0

20

40

60

80

100

120

140

160

180

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de prueba

Page 133: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

116

El tiempo de ejecución de la tarea aumenta de manera considerable en

comparación al escenario anterior. Esto se debe a que el operador tiene mayor

dificultad de reconocer el entorno por el retardo en la realimentación visual.

Número de colisiones

En cada intento se contó cuantas colisiones sufre el robot móvil.

Figura 4.15 Número de colisiones en la misma ciudad

Maniobrabilidad.

Tomando en cuenta que en este escenario si existen colisiones, debido a que por

cada intento se registra una colisión. Además, el tiempo de ejecución de la tarea

aumenta a casi el triple del valor del primer escenario, se concluye que el operador

tiene mayor dificultad para maniobrar el robot móvil.

Escenario 3. Teleoperación Latacunga - Quito

A continuación, se muestran los resultados de las pruebas de teleoperación en una

ciudad diferente, en este caso desde Latacunga.

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta (RTTD) se obtuvieron los resultados que se

muestran en la Figura 4.16.

0

1

2

3

0 1 2 3 4 5 6

mer

o d

e co

lisio

nes

Número de prueba

Page 134: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

117

Figura 4.16 RTTD de datos en teleoperación Latacunga-Quito

Los datos estadísticos son los que se muestran en la Tabla 4.8. El valor promedio

del RTTD ha aumentado en comparación a los dos escenarios anteriores. Esto es

debido a que la estación local y remota se encuentra a una distancia física mucho

mayor que en los dos casos anteriores.

Tabla 4.8 Datos estadísticos del RTTD en el escenario 3

RTTD Tiempo [ms]

Valor Promedio 298.52

Desviación Estándar 124.98

Valor Máximo 1466

Valor Mínimo 124.98

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.17, donde el valor promedio

alcanza los 134.25 ms.

0

200

400

600

800

1000

1200

1400

1600

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(s)

Número de Muestra

RTTD (ms) Promedio: 298.52ms

Page 135: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

118

Figura 4.17 Jitter del RTTD de datos en teleoperación Latacunga-Quito

Tasa de paquetes perdidos

Experimentalmente se registró que todos los datos que fueron enviados desde la

estación local a la estación remota fueron recibidos exitosamente, registrándose así

una la tasa de paquetes perdidos de 0%.

Retardo de la realimentación visual

Para el caso de la realimentación visual provista por la cámara IP se recogieron los

150 datos que se muestran en la Figura 4.18.

Figura 4.18 Retardo de video en la teleoperación Latacunga Quito.

De la Figura 4.18 se tienen los siguientes datos estadísticos en la Tabla 4.9. En

este caso el valor promedio del retardo de video aumenta considerablemente, esto

afecta directamente en la maniobrabilidad del robot móvil, ya que el operador

observa el entorno del robot móvil 1.678 segundos después.

0

200400

600800

10001200

1400

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER(ms) Promedio: 134.25ms

00.5

11.5

22.5

3

1 7

13

19

25

31

37

43

49

55

61

67

73

79

85

91

97

10

3

10

9

11

5

12

1

12

7

13

3

13

9

14

5

15

1Ret

ard

o d

e V

ideo

(s)

Número de Muestra

Retardo de video en otra ciudad Retardo promedio: 1,678 s

Page 136: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

119

Tabla 4.9 Datos representativos del retardo visual escenario 3.

Retardo de Video Tiempo [ms]

Valor Promedio 1678

Desviación Estándar 286.66

Valor Máximo 2808

Valor Mínimo 1297.5

Tiempo de ejecución de la tarea

Se observa el tiempo que tomó cada intento ejecutar la tarea en este escenario.

Como se puede apreciar el Figura 4.19 el tiempo de ejecución de la tarea es mucho

más alto que en los dos escenarios anteriores, esto se produce porque la imagen

de la realimentación visual no se actualiza rápidamente y el operador debe esperar

a tener una imagen actualizada.

Figura 4.19 Tiempos de ejecución de la tarea Latacunga-Quito.

Los datos estadísticos son los que se muestran en la Tabla 4.10.

Tabla 4.10 Datos estadísticos de tiempo de ejecución en el escenario 3.

Tiempo más alto de ejecución de la tarea 155 [s]

Tiempo más bajo de ejecución de la tarea 101 [s]

Número de colisiones

En cada número de prueba se considera cuantas colisiones sufre el robot móvil.

0

20

40

60

80

100

120

140

160

180

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de prueba

Page 137: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

120

Figura 4.20 Número de colisiones en cada prueba Latacunga-Quito.

Maniobrabilidad.

En este escenario el número de colisiones disminuyó en comparación al anterior,

pero el tiempo promedio de ejecución de la tarea aumentó por lo que la

maniobrabilidad en el anterior escenario y en este sería similar.

DATOS RECOGIDOS DE LA TELEOPERACIÓN PARA EL CARLIKE

SIMULADO

A continuación, se muestran los datos experimentales recogidos de las diferentes

pruebas de teleoperación del carlike simulado en los diferentes escenarios.

Prueba Ideal

En la prueba ideal debido a que el operador comanda directamente el carlike

simulado solo se consideran los datos del tiempo de ejecución de la tarea y del

número de colisiones para comparar con los resultados de las pruebas en los

demás escenarios, y se obvian los datos del comportamiento de la red y del uso de

TeamViewer como realimentación visual. En el carlike simulado el circuito que

debe completar es de mayor distancia que en el carlike físico, por lo cual los tiempos

de ejecución de la tarea serán mayores.

0

1

2

3

0 1 2 3 4 5 6

mer

o d

e co

lisio

nes

Número de prueba

Page 138: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

121

Tabla 4.11 Datos obtenidos en la prueba ideal

ROBOT SIMULADO

PRUEBA IDEAL

No. Prueba Tiempo de ejecución de la tarea [s] No. de Colisiones

1 177 0

2 160 0

3 157 0

4 151 0

5 167 0

PROMEDIO 162 0

Escenario 1. Teleoperación desde la Misma Red

A continuación, se muestran los resultados de las pruebas de teleoperación en la

misma red, la cual, servirá para contrastar con las demás pruebas.

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta se obtuvieron los resultados que se

muestran en la Figura 4.21.

Figura 4.21 RTTD de datos en teleoperación en la misma red

Los datos estadísticos son los que se muestran en la Tabla 4.12.

0

50

100

150

200

250

300

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD(ms) Promedio(48.45 ms)

Page 139: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

122

Tabla 4.12 Datos estadísticos del RTTD en el escenario 1.

RTTD Tiempo [ms]

Valor Promedio 48.45

Desviación Estándar 24.73

Valor Máximo 247.85

Valor Mínimo 13.16

El valor promedio del RTTD es 48.45 ms. Cabe mencionar que, al encontrarse en

la misma red, el retardo será mínimo, por lo tanto, en este escenario se considera

el RTTD como bajo.

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.22, donde se puede

observar que el valor promedio alcanza los 12 ms. En este escenario el Jitter es

bajo, lo cual favorece al manejo del robot móvil.

Figura 4.22 Jitter del RTTD de datos en teleoperación en la misma red

Tasa de paquetes perdidos

En esta prueba se enviaron 150 datos desde la estación local, se registró que todos

estos datos que fueron enviados a la estación remota fueron recibidos

exitosamente, registrándose así una la tasa de paquetes perdidos de 0%.

0

50

100

150

200

250

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER en la misma red Promedio(12ms)

Page 140: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

123

Retardo de la realimentación visual

En la realimentación visual provista por TeamViewer se recogieron los 150 datos

que se muestran en la Figura 4.23.

Figura 4.23 Retardo de video en la teleoperación en la misma red.

De la Figura 4.23 se tienen los siguientes datos estadísticos.

Tabla 4.13 Datos estadísticos de retardo visual escenario 1.

Retardo de Video Tiempo [ms]

Valor Promedio 682.9

Desviación Estándar 349.97

Valor Máximo 1801.6

Valor Mínimo 219.7

El retardo de video es bastante alto en comparación al RTTD. Como se puede

apreciar este retardo es más de medio segundo, esto afecta en la maniobrabilidad

del robot móvil debido a que el operador no ve en tiempo real el entorno del robot.

Tiempo de ejecución de la tarea

En cada intento se tomó el tiempo que el operador tarda en completar el circuito.

0.00.2

0.40.60.81.01.21.41.61.8

2.0

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1

Ret

ard

o d

e V

ideo

(s)

Número de Muestra

Retardo de video en la misma red Retardo promedio

Page 141: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

124

Figura 4.24 Tiempos de ejecución de la tarea en la misma red.

Los datos se muestran en la Tabla 4.14. Como se observa, el tiempo que tarda

Tabla 4.14 Datos estadísticos del tiempo de ejecución de tarea escenario 1.

Tiempo más alto de ejecución de la tarea 313 [s]

Tiempo más bajo de ejecución de la tarea 258 [s]

El tiempo de ejecución de la tarea para este escenario se duplica en comparación

a prueba ideal realizada. Debido a que la realimentación visual tiene un retardo

considerable el operador tiene más dificultades para maniobrar el sistema.

Número de colisiones

En este escenario no se produjo ninguna colisión. A pesar del alto retardo en la

realimentación visual, la experiencia del operador ayuda a que no existan

colisiones.

Maniobrabilidad.

Tomando en cuenta que el número de colisiones es cero y que el tiempo de

ejecución de la tarea es alto se concluye que para este escenario la maniobrabilidad

es ‘buena’.

0

50

100

150

200

250

300

350

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de prueba

Page 142: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

125

Escenario 2. Teleoperación desde la Misma Ciudad

A continuación, se muestran los resultados de las pruebas de teleoperación en la

misma ciudad. El operador comandó el robot móvil desde un punto ubicado fuera

de la EPN pero dentro de la ciudad de Quito.

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta se obtuvieron los resultados que se

muestran en la Figura 4.25.

Figura 4.25 RTTD de datos en teleoperación en la misma ciudad.

Los datos estadísticos son los que se muestran en la Tabla 4.15.

Tabla 4.15 Datos estadísticos del RTTD en el escenario 2.

RTTD Tiempo [ms]

Valor Promedio 72.73

Desviación Estándar 146.46

Valor Máximo 1588

Valor Mínimo 57

El valor promedio del RTTD aumenta en comparación al escenario anterior, pero

sigue siendo un valor pequeño, lo cual, no representa problemas para el envío de

datos. También se puede apreciar que existen picos en los cuales el RTTD alcanza

su máximo o su mínimo valor.

0

200

400

600

800

1000

1200

1400

1600

1800

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD(ms) Promedio(72.73 ms)

Page 143: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

126

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.26, donde se puede

observar que el valor promedio alcanza los 47.37 ms.

Figura 4.26 Jitter del RTTD de datos en teleoperación en la misma red.

El Jitter aumenta cuatro veces su valor con respecto al escenario anterior, pero

sigue siendo de bajo valor, así que no afecta al envío y recepción de datos.

Tasa de paquetes perdidos

En esta prueba se enviaron 150 datos desde la estación local y en la estación

remota se recibieron los mismos 150 datos.

Experimentalmente se registró que todos los datos que fueron enviados desde la

estación local a la estación remota fueron recibidos exitosamente, registrándose así

una la tasa de paquetes perdidos de 0%.

Retardo de la realimentación visual

En la realimentación visual proporcionada por TeamViewer se recogieron los 150

datos que se muestran en la Figura 4.27. Se puede observar que se presenta un

pico de alto valor, pero en general el retardo se mantiene constante.

0

200

400

600

800

1000

1200

1400

1600

18001 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER en la misma ciudad Promedio(47.37 ms)

Page 144: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

127

Figura 4.27 Retardo de video en la teleoperación en la misma ciudad.

De la Figura 4.27 se tienen los siguientes datos estadísticos.

Tabla 4.16 Datos estadísticos del retardo de video escenario 2

Retardo de Video Tiempo [ms]

Valor Promedio 970.8

Desviación Estándar 0.3595

Valor Máximo 3801

Valor Mínimo 490

El retardo de video aumenta con respecto al escenario anterior, casi alcanza el valor

de un segundo. Esto es debido a que la estación local y remota se encuentra a

mayor distancia, provocando así que el retardo incremente. Este retardo afecta más

al sistema que el RTTD.

Tiempo de ejecución de la tarea

Para el tiempo de ejecución de la tarea se realizó cinco intentos para que el

operador complete el circuito. Este tiempo depende más del valor de retardo de

video que del RTTD ya que el operador necesita conocer el entorno del robot móvil

para poder tener buena maniobrabilidad sobre este, y así finalizar el circuito.

00.5

11.5

22.5

33.5

4

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1

Ret

ard

o d

e V

ideo

(s)

Número de Muestras

Retardo de video en la misma ciudad Retardo promedio

Page 145: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

128

Figura 4.28 Tiempos de ejecución de la tarea en la misma ciudad.

Los datos estadísticos son los que se muestran en la Tabla 4.17

Tabla 4.17 Datos estadísticos de tiempo de ejecución de la tarea escenario 2.

Tiempo más alto de ejecución de la tarea 476 [s]

Tiempo más bajo de ejecución de la tarea 425 [s]

Se observa que el tiempo de ejecución de la tarea ha incrementado en comparación

al escenario anterior. Esto es debido a que el operador debe manejar el móvil a

baja velocidad.

Número de colisiones

Se observa que en los cinco intentos sólo se presentó una colisión.

Figura 4.29 Número de colisiones en cada prueba en la misma ciudad.

390

400

410

420

430

440

450

460

470

480

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de prueba

0

1

2

3

0 1 2 3 4 5 6

mer

o d

e co

lisio

nes

Número de prueba

Page 146: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

129

Maniobrabilidad.

Si bien el tiempo de ejecución aumentó, el número de colisiones es casi nulo. Esto

es debido a que el operador maneja a baja velocidad para evitar colisiones, bajo

estas condiciones se puede determinar el robot móvil es maniobrable.

Escenario 3. Teleoperación Latacunga - Quito

A continuación, se muestran los resultados de las pruebas de teleoperación en una

ciudad diferente, en este caso desde Latacunga.

RTTD en el canal de comunicación de datos

En la prueba de retardo de ida y vuelta se obtuvieron los resultados que se

muestran en la Figura 4.30.

Figura 4.30 RTTD de datos en teleoperación Latacunga-Quito.

Los datos estadísticos son los que se muestran en la Tabla 4.18. En este escenario

el RTTD promedio aumenta de forma considerable con respecto al anterior

escenario.

0

100

200

300

400

500

600

700

800

900

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o Id

a y

Vu

elta

(m

s)

Número de muestras

RTTD(ms) Promedio(226.27 ms)

Page 147: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

130

Tabla 4.18 Datos estadísticos de RTTD escenario 3.

RTTD Tiempo [ms]

Valor Promedio 226.27

Desviación Estándar 126.43

Valor Máximo 836.41

Valor Mínimo 110.91

El valor promedio del RTTD a pesar de ser más alto que en los anteriores

escenarios, sigue teniendo un bajo valor.

Jitter

La varianza del RTTD o Jitter se muestra en la Figura 4.31, donde se puede

observar que el promedio alcanza un valor de 97.1 ms.

Figura 4.31 Jitter del RTTD de datos en teleoperación Latacunga-Quito.

El valor del Jitter aumenta, con respecto a los escenarios anteriores.

Tasa de paquetes perdidos

Experimentalmente se registró que todos los datos que fueron enviados desde la

estación local a la estación remota fueron recibidos exitosamente, registrándose así

una la tasa de paquetes perdidos de 0%.

0100

200300

400500

600700

800

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER en una ciudad diferente Promedio(97.1ms)

Page 148: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

131

Retardo de la realimentación visual

Con la ayuda del TeamViewer se recogieron los 150 datos que se muestran en la

Figura 4.32.

Figura 4.32 Retardo de video en la teleoperación Latacunga Quito.

De la Figura 4.32 se tienen los siguientes datos estadísticos.

Tabla 4.19 Datos representativos de retardo de video escenario 3.

Retardo de Video Tiempo [ms]

Valor Promedio 1210.8

Desviación Estándar 380.53

Valor Máximo 2835.6

Valor Mínimo 320.3

En este caso el valor promedio del retardo de video rodea el un segundo. Este valor

afecta al sistema, debido a que el operador no goza de una buena telepresencia

para manejar el robot móvil,

Tiempo de ejecución de la tarea

El tiempo de ejecución de la tarea rodea los siete minutos. Se debe tomar en cuenta

que en este escenario la estación local se encuentra a una distancia física

considerable, por lo cual, el operador tiene mayor dificultad para manejar el robot

móvil.

0

0.5

1

1.5

2

2.5

3

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1Ret

ard

o d

e V

ideo

(s)

Número de Muestras

Retardo de video en otra ciudad Retardo promedio

Page 149: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

132

Figura 4.33 Tiempos de ejecución de la tarea Latacunga-Quito.

Los datos estadísticos son los que se muestran en la Tabla 4.20.

Tabla 4.20 Datos estadísticos de tiempo de ejecución de la tarea escenario 3.

Tiempo más alto de ejecución de la tarea 489 [s]

Tiempo más bajo de ejecución de la tarea 421 [s]

Número de colisiones

En este escenario aumenta el número de colisiones, debido a que el operador no

tiene una buena realimentación visual.

Figura 4.34 Número de colisiones en cada prueba Latacunga-Quito.

380

400

420

440

460

480

500

520

1 2 3 4 5

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Número de prueba

0

1

2

3

4

0 1 2 3 4 5 6

mer

o d

eco

lisio

nes

Número de prueba

Page 150: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

133

Maniobrabilidad.

El tiempo de ejecución de la tarea aumentó con respecto al escenario anterior, pero

el número de colisiones es mínimo, por lo cual, la maniobrabilidad del sistema en

este escenario es ‘buena’.

4.3. ANÁLISIS DE DATOS

En el apartado anterior se mostraron los datos recogidos experimentalmente de la

teleoperación de los modelos físico y simulado de carlike, en este apartado se

muestra un análisis comparativo de los resultados obtenidos para poder distinguir

los efectos provocados por la distancia física, el rendimiento del canal de

comunicaciones y la teleoperabilidad del sistema en general.

TELEOPERACIÓN PARA EL CARLIKE FÍSICO

A continuación, se analizan los datos recogidos de la teleoperación del modelo

físico de carlike.

RTTD en el Canal de Comunicación de Datos

En la Figura 4.35 se muestran los valores de RTTD obtenidos experimentalmente

en los 3 escenarios propuestos.

Figura 4.35 Comparación de los valores de RTTD en los tres escenarios propuestos.

0

200

400

600

800

1000

1200

1400

1600

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD EN LA MISMA RED RTTD EN LA MISMA CIUDAD RTTD EN UNA CIUDAD DIFERENTE

Page 151: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

134

Tabla 4.21 Comparación de RTTD en los 3 escenarios.

RTTD Valor Promedio [ms]

EN LA MISMA RED 145.42

EN LA MISMA CIUDAD 207.93

EN UNA CIUDAD DIFERENTE 298.52

En la Figura 4.35 y en la Tabla 4.21, se puede apreciar que el retardo en la

transmisión de datos por el protocolo MQTT, se ve afectado directamente por la

distancia física entre la estación local y la estación remota y el valor promedio del

mismo aumenta.

Jitter

Figura 4.36 Jitter en los tres escenarios

En la Figura 4.36 se puede observar que la variación del retardo o Jitter también

aumenta su valor según la distancia física que existe entre la estación local y remota

Tasa de Paquetes Perdidos

En todos los casos se registró que no existieron paquetes de datos perdidos, lo cual

es un indicador muy bueno para la teleoperación.

0

200

400

600

800

1000

1200

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER en la misma red JITTER en la misma ciudad JITTER EN UNA CIUDAD DIFERENTE

Page 152: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

135

Retardo de la Realimentación Visual

Figura 4.37 Retardo de video de los 3 escenarios.

Tabla 4.22 Comparación de retardo de video en los 3 escenarios.

Retardo de Video Valor Promedio [ms]

EN LA MISMA RED 799.28

EN LA MISMA CIUDAD 810.66

EN UNA CIUDAD DIFERENTE 1678.31

En la Figura 4.37 y Tabla 4.22 se puede apreciar la diferencia entre el retardo

existente en cada escenario de teleoperación propuesto. Cabe recalcar que el

retardo en la transmisión de video es uno de los factores más importantes y que

influye en mayor medida en la maniobrabilidad del robot, un retardo muy alto o

pausas en la transmisión de video puede ocasionar que el operador entorpezca sus

decisiones al momento de manejar. También se puede apreciar que el retardo en

la transmisión de video aumenta conforme aumenta la distancia física.

Tiempo de Ejecución de la Tarea y Número de Colisiones

A continuación, se analiza el tiempo en promedio que tarda el operador en

completar el recorrido en cada escenario desde los cuales se realizaron las

pruebas.

0.0

0.5

1.0

1.5

2.0

2.5

3.0

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1Ret

ard

o d

e vi

deo

(s)

Número de Muestra

Retardo de video en la misma red Retardo de video en la misma ciudad

Retardo de video en otra ciudad

Page 153: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

136

Figura 4.38 Tiempo de ejecución de la tarea en cada escenario.

Tabla 4.23 Comparación de tiempo de ejecución de tarea en los 3 escenarios

Escenario PRUEBA

IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Valor Promedio [s] 28 55 147 121

Como se puede apreciar en la Figura 4.38 y en la Tabla 4.23, existe un incremento

en el tiempo que le toma al operador completar el circuito. En la prueba ideal el

tiempo promedio que tarda el operador en completar el circuito es de 28 segundos,

en el escenario 1 el tiempo aumenta a casi el doble, para el escenario 3 el tiempo

casi se multiplica por 5 y para el escenario 3 el tiempo se multiplica por 4.

A continuación, se muestran los resultados del número de colisiones en promedio

que se contabilizaron en el desarrollo de las pruebas en cada escenario propuesto.

Figura 4.39 Número de colisiones en cada escenario.

0

20

40

60

80

100

120

140

160

PRUEBA IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Escenario

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

PRUEBA IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Val

or

pro

med

io d

e co

lisio

nes

Escenario

Page 154: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

137

Tabla 4.24 Comparación del número de colisiones de cada escenario.

Escenario PRUEBA

IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Valor Promedio 0 0 0.8 0.6

En la Figura 4.39 y en la Tabla 4.24 se puede apreciar un incremento en el número

de colisiones registradas en los 5 intentos en cada escenario.

Una consideración inicial para analizar estos resultados es la cronología en la que

se realizaron las pruebas, primero se realizó la prueba ideal, luego la prueba desde

el escenario 2, luego el escenario 3, y al final el escenario 1, esto debido a

disponibilidad de tiempo del operador.

De acuerdo con lo anterior, se puede mencionar que el nivel de experticia del

operador en la prueba del escenario 3 fue mayor que en la prueba del escenario 2,

por lo cual, al estar más acostumbrado a la realimentación visual de la cámara, los

pedales y el comportamiento del robot, logró obtener mejores resultados a pesar

de una mayor influencia de la distancia física sobre el sistema.

El número de colisiones depende en mayor medida a las condiciones de la

realimentación visual, cuando existen pausas en la transmisión de video el operador

puede perder el control del robot y esto se traduce en colisiones.

Maniobrabilidad

Para poder analizar este parámetro se realizó una encuesta a cinco personas, que

actuarán de operadores, la cual incluye preguntas cuyas respuestas reflejan las

características del rendimiento del sistema teleoperado en los diferentes escenarios

propuestos. La encuesta propuesta sólo es para el primer escenario: en la misma

red, esto es debido a la disponibilidad de los operadores.

A continuación, se muestran los resultados de esta encuesta:

Pregunta 1. ¿Cómo califica la calidad del sistema de realimentación visual?

Page 155: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

138

Pregunta 2. ¿Cómo califica la interacción del usuario con la interfaz haciendo uso

del joystick y los pedales?

Pregunta 3. ¿Cómo califica el funcionamiento del modelo de carlike?

Pregunta 4. ¿Cuál es el nivel de dificultad al teleoperar debido los retardos en la

comunicación?

Pregunta 5. ¿Qué tan amigable y completa es la interfaz de la estación local?

4

3 3

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

Escenario 1 Escenario 2 Escenario 3

4. Excelente

3. Bueno

2. Regular

1.Malo

4. Excelente

3. Bueno

2. Regular

1.Malo

4. Excelente

3. Bueno

2. Regular

1.Malo

3. Alto

2. Medio

1. Bajo

Page 156: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

139

Pregunta 6. ¿Qué tan maniobrable es el sistema en general?

Pregunta 7. ¿Cómo califica la reacción del robot móvil desde que se lo comanda

hasta que el mismo presente movimiento?

Pregunta 8. ¿Qué aspectos se podrían mejorar en el sistema teleoperado?

En cada caso las mejoras que proponen los operadores se relacionan al sistema

de realimentación visual, debido a que por las condiciones de la red la fluidez en la

imagen no es tan alta, y así mismo el retardo de la cámara influye en la

maniobrabilidad.

A modo de análisis de los resultados obtenidos en las encuestas, se puede apreciar

que el sistema es maniobrable, pero que en cada escenario su rendimiento se ve

opacado por las limitaciones mismas de las redes de Internet.

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

3. Alto

2. Medio

1. Bajo

3. Alto

2. Medio

1. Bajo

3. Alto

2. Medio

1. Bajo

Page 157: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

140

TELEOPERACIÓN PARA EL CARLIKE SIMULADO

A continuación, se analizan los datos recogidos de la teleoperación del modelo

simulado de carlike.

RTTD en el Canal de Comunicación de Datos

En la Figura 4.40 se muestran los valores de RTTD obtenidos experimentalmente

en los 3 escenarios propuestos.

Figura 4.40 Valores de RTTD en los tres escenarios propuestos.

Tabla 4.25 Comparación de valores de RTTD en los tres escenarios.

RTTD Valor Promedio [ms]

EN LA MISMA RED 48.45

EN LA MISMA CIUDAD 72.73

EN UNA CIUDAD DIFERENTE 226.27

En la Figura 4.40 y en Tabla 4.25, se puede apreciar que el retardo en la transmisión

de datos, este valor se ve afectado directamente por la distancia física entre la

estación local y la estación remota.

0

200

400

600

800

1000

1200

1400

1600

1800

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Ret

ard

o d

e Id

a y

Vu

elta

(m

s)

Número de Muestra

RTTD EN LA MISMA RED RTTD EN LA MISMA CIUDAD RTTD EN UNA CIUDAD DIFERENTE

Page 158: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

141

JITTER

Figura 4.41 Valores de Jitter en los 3 escenarios.

En la Figura 4.41 se puede observar que la variación del Jitter en este caso, el

retardo mayor es la prueba realizada en una ciudad diferente. Esto debido a la

distancia a la que se encuentran las estaciones.

Tasa de Paquetes Perdidos

En todos los casos se registró que no existieron paquetes de datos perdidos, esto

favorece a la teleoperación del robot móvil ya que muestra que la comunicación es

eficiente.

Retardo de la Realimentación Visual

Figura 4.42 Valores de retardo de video en los tres escenarios.

0

500

1000

1500

2000

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

Jitt

er (

ms)

Número de Muestra

JITTER en la misma red JITTER en la misma ciudad JITTER en una ciudad diferente

0.0

1.0

2.0

3.0

4.0

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1

Ret

ard

o d

e V

ideo

(s)

Número de Muestra

Retardo de video en la misma redRetardo de video en la misma ciudadRetardo de video en otra ciudad

Page 159: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

142

En este caso, el retardo de video más considerable se dio en la prueba realizada

en otra ciudad. Nuevamente la distancia que existe entre ambas estaciones es

fundamental en el aumento del retardo.

Tabla 4.26 Comparación de valores de retardo de video de los 3 escenarios.

Retardo de Video Valor Promedio [ms]

EN LA MISMA RED 680

EN LA MISMA CIUDAD 964.1

EN UNA CIUDAD DIFERENTE 1210.88

En la Figura 4.42 y Tabla 4.26 se puede apreciar la diferencia entre el retardo

existente en cada escenario de teleoperación propuesto.

Tiempo de Ejecución de la Tarea y Número de Colisiones

En la Figura 4.43 se presenta el tiempo promedio que el operador tarde en ejecutar

el circuito completo en cada escenario. Se puede observar que mientras aumenta

la distancia de estación a estación el tiempo aumenta. También se debe tomar en

consideración la experiencia que posea el operador al manejar el robot móvil en un

entorno definido.

Figura 4.43 Tiempo de ejecución de la tarea en los 3 escenarios.

0

50

100

150

200

250

300

350

400

450

500

PRUEBA IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Tiem

po

de

ejec

uci

ón

de

la t

area

(s)

Escenario

Page 160: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

143

Tabla 4.27 Valores promedios de tiempo de ejecución de la tarea en los 3 escenarios.

Escenari0 PRUEBA

IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Valor Promedio [s] 162 275 446 464

Como se puede apreciar en la Tabla 4.27, en la prueba ideal el tiempo promedio

que tarda el operador en completar el circuito es de 162 segundos, en el escenario

1 el tiempo aumenta a casi el doble, para el escenario 2 el tiempo casi se multiplica

por 3 y para el escenario 3 el tiempo es casi el mismo que en el escenario 2. A

continuación, se muestran los resultados del número de colisiones en promedio que

se contabilizaron en el desarrollo de las pruebas en cada escenario.

Figura 4.44 Número de colisiones en cada escenario.

Tabla 4.28 Valores promedios del número de colisiones en cada escenario.

Escenario PRUEBA

IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3

Valor Promedio 0 0 0.2 1.2

En la Figura 4.44 y Tabla 4.28 se puede apreciar un incremento en el número de

colisiones registradas en los 5 intentos en cada escenario.

Una consideración inicial para analizar estos resultados es la cronología en la que

se realizaron las pruebas, primero se realizó la prueba ideal, luego la prueba desde

el escenario 2, luego el escenario 3, y al final el escenario 1, esto debido a

disponibilidad de tiempo del operador.

0

0.2

0.4

0.6

0.8

1

1.2

1.4

PRUEBA IDEAL ESCENARIO 1 ESCENARIO 2 ESCENARIO 3Val

or

pro

med

io d

e co

lisio

nes

Escenario

Page 161: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

144

A medida que el operador conoce mejor el entorno en el cual circula el robot móvil,

le será más fácil manejarlo y adaptarse a la variación en el retardo de video.

El número de colisiones se ve directamente afectado por la experiencia del

operador en determinado circuito y por el retardo de video que exista, esto debido

a la velocidad de red con la que se trabaje en ambas estaciones.

Maniobrabilidad

Para poder analizar este parámetro se realizó una encuesta a cinco personas que

tendrán el papel de operador, esta encuesta es la misma realizada en el robot móvil

físico. También se la realizó en un solo escenario: la misma red, debido a la

disponibilidad de los operadores.

A continuación, se muestran los resultados de esta encuesta:

Pregunta 1. ¿Cómo califica la calidad del sistema de realimentación visual?

Pregunta 2. ¿Cómo califica la interacción del usuario con la interfaz haciendo uso

del joystick y los pedales?

Pregunta 3. ¿Cómo califica el funcionamiento del modelo de carlike?

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

4. Excelente

3. Bueno

2. Regular

1.Malo

4. Excelente

3. Bueno

2. Regular

1.Malo

Page 162: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

145

Pregunta 4. ¿Cuál es el nivel de dificultad a la teleoperar debido los retardos en la

comunicación?

Pregunta 5. ¿Qué tan amigable y completa es la interfaz de la estación local?

Pregunta 6. ¿Qué tan maniobrable es el sistema en general?

Pregunta 7. ¿Cómo califica la reacción del robot móvil desde que se lo comanda

hasta que el mismo presente movimiento?

0

1

2

3

4

5

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

4. Excelente

3. Bueno

2. Regular

1.Malo

3. Alto

2. Medio

1. Bajo

3. Alto

2. Medio

1. Bajo

3. Alto

2. Medio

1. Bajo

Page 163: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

146

Pregunta 8. ¿Qué aspectos se podrían mejorar en el sistema teleoperado?

Para todos los escenarios presentados los operadores hacen referencia a la mejora

del sistema de realimentación visual, debido a que esta es la mayor limitante para

poder maniobrar el robot móvil.

En forma general se determina que el sistema maniobrable. Los operadores al

ganar experiencia pueden comandar de mejor manera el robot móvil en el entorno

en que se movilice.

0

1

2

3

4

Escenario 1 Escenario 2 Escenario 3

3. Alto

2. Medio

1. Bajo

Page 164: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

147

CAPÍTULO 5

CONCLUSIONES Y RECOMENDACIONES

5.1. CONCLUSIONES

· Existen diversos protocolos de comunicación que son aplicables en la

teleoperación de robots móviles. De estos protocolos unos son más rápidos

que otros en la transferencia de datos dependiendo de la arquitectura de

comunicación con la que trabajen.

· El protocolo MQTT demostró ser de alta velocidad en la transferencia de

datos, ya que al poseer arquitectura de comunicación publicador –

suscriptor, el cliente sólo toma los datos que necesite (suscripciones) y no

todos los datos que se encuentran publicados. Por estas razones este

protocolo fue el implementado para teleoperar el robot móvil tipo carlike.

· El funcionamiento del protocolo de comunicaciones MQTT ha demostrado,

experimentalmente, que es bastante eficiente en redes de Internet,

comprobando que es posible un envío constante de datos entre la estación

local y la estación remota sin pérdidas de paquetes de datos.

· El servidor de datos seleccionado es MOSQUITTO. Este servidor es

específico para el protocolo de comunicación escogido MQTT. Es muy

eficiente en su función como dispositivo intermedio para establecer

comunicación entre la estación local y la estación remota.

· Es más eficiente usar la tarjeta embebida en el carlike físico sólo para la

transferencia de datos para los sensores y actuadores. Y para la

realimentación visual del sistema usar una cámara IP, esto significa que los

datos de video son enviados por un canal de comunicación independiente al

canal que se usa para enviar las señales a los sensores y actuadores del

robot, de esta forma la transmisión de video no aumenta el retardo en la

transferencia de datos.

· El carlike simulado se desarrolló en la plataforma virtual UNITY 3D. El diseño

visual del robot móvil se realizó con piezas predeterminadas dadas por la

plataforma, pero el funcionamiento de cada parte del robot se realiza a través

Page 165: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

148

de la programación. Además, el protocolo de comunicación también se

encuentra incluido. La realimentación visual para este caso se lo realizó

usando TeamViewer, siendo esta opción la más viable para envío de video

de un ordenador a otro.

· El sistema teleoperado que se diseñó en el presente proyecto tiene un buen

rendimiento, se ha demostrado su maniobrabilidad experimentalmente en

varios escenarios geográficamente distantes aun en horarios en los que los

tráficos en las redes del Internet son altos. Lo cual supone que el rendimiento

del sistema será más alto en condiciones mejores de tráfico en las redes del

Internet.

· El sistema teleoperado del presente proyecto es maniobrable, pero sus

cualidades se ven opacadas por las limitaciones mismas del canal de

comunicaciones que no es dedicado como es el Internet y también la

influencia de las distancias físicas y los horarios de trabajo.

· La eficiencia de un sistema teleoperado también depende la complejidad de

las tareas que se requieren, en el caso del presente proyecto la complejidad

de las tareas que se requieren es media ya que los recorridos de los modelos

físicos y simulados de carlike tienen curvas y caminos no tan angostos con

lo cual se registró un buen rendimiento del sistema.

· Experimentalmente se ha podido comprobar que la experiencia del operador

al manejar los modelos de carlike físico y simulado influye bastante en los

resultados que se obtuvieron, probando así que, al tener más experiencia, el

operador logra cada vez obtener mejores resultados ante las mismas

circunstancias.

· El rendimiento del sistema teleoperado se ve afectado en mayor medida por

los retardos producidos en los sistemas de realimentación visual que por los

retardos en la comunicación de datos debido a que la realimentación visual

es la más importante para el operador al momento de tomar decisiones

cuando maneja el carlike. Además, los retardos de realimentación visual son

mucho mayores a los retardos de comunicación de datos.

· El incremento en el tiempo de retardo de la comunicación de datos por MQTT

de acuerdo con la distancia física es grande, pero aun así no significa un

Page 166: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

149

retardo muy alto comparado con el retardo de video cuyo aumento según la

distancia física si representa un mayor problema en la maniobrabilidad del

sistema.

5.2. RECOMENDACIONES

· En futuros proyectos se recomienda probar el protocolo Websockets en vez

del protocolo MQTT, esto es debido a que se ha demostrado

experimentalmente en la tesis [18] que es más rápido en la transferencia de

datos.

· En la teleoperación se debe contar con una alta velocidad de red de

comunicación, esto específicamente para la realimentación visual porque la

transferencia de datos de video es bastante pesada. También se puede

aumentar el ancho de banda de la red con la que se trabaje. Otra opción es

tener un servidor exclusivo para el envío y recepción de video.

· Una de las características más importantes para tarjetas embebidas que se

usen en la teleoperación de robots móviles es que posea un módulo para

conexión inalámbrica. De esta manera la tarjeta no necesita estar conectada

siempre a un ordenador para acceder a Internet. Esto se considera solo en

caso de que se necesite que el robot móvil se movilice de un punto a otro.

· Al momento de teleoperar el carlike físico se recomienda estar pendiente de

las luces indicadoras. Estas avisan en que momento las baterías tienen un

voltaje insuficiente para que el robot siga funcionando. Si se deja descargar

las baterías completamente se dañarán permanentemente.

· A pesar de las protecciones que posee carlike físico se recomienda no forzar

el motor de tracción, es decir, cuando exista una colisión o cuando el terreno

tenga una pendiente muy alta o sea muy rugoso.

Page 167: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

150

REFERENCIAS BIBLIOGRÁFICAS

[1] O. Padilla Montiel, “Manipulador teleoperado inalámbricamente”, Universidad de las Américas de Puebla, Puebla, México, 2008.

[2] J. M. Bogado Torres, “Control bilateral de robots teleoperados por convergencia de estados”, Ph.D, E.T.S.I. Industriales (UPM), Universidad Politécnica de Madrid, Madrid, España, 2007.

[3] E. Slawiñski, V. Mut, L. Salinas, y S. García, “Teleoperation of a mobile robot with time-varying delay and force feedback”, Robotica, vol. 30, núm. 01, pp. 67–77, ene. 2012.

[4] W. Stallings, Comunicaciones y Redes de Computadores, D. Fayerman, Pearson Educación, S.A., Madrid, 2008.

[5] “GUI de MATLAB - MATLAB & Simulink”, Es.mathworks.com,2017. [En línea]. Disponible en: https://es.mathworks.com/discovery/matlab-gui.html. [Consultado: 18-may-2017].

[6] “Tecnologías y lenguajes de Visual Studio”, Msdn.microsoft.com,2017. [En línea]. Disponible en: https://msdn.microsoft.com/es-es/library/bb514232 (v=vs.100). [Consultado: 18-may-2017].

[7] A.M. Okamura, “Methods for haptic feedback in teleoperated robot-assisted surgery”, Industrial Robot: An International Journal, vol.31, pp. 499 - 508, 2004 [En línea]. Disponible en: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC 1317565/. [Consultado: 24-jul-2017].

[8] Z. Ni, C. Pacoret, R. Benosman, S. Réginer, Haptic Feedback Teleoperation of Optical Tweezers, Wiley-ISTE, 2014.

[9] J. E. Fjellin, “Design of a bilateral master-slave system with haptic feedback for ultrasound examinations”, Msc., Dept. Informatics, Oslo Univ., Oslo, Norway, 2013.

[10] M. Rath, “Continuous Auditory Feedback in a Control Task”, Deutsche Telekom Lab., Berlin Univ. of Technology, Berlin, Germany, 2006.

[11] R. Chellali, H. Pham, “Frequency modulation based vibrotactile feedback vs visual feedback in a multimodal interface for 3D pointing tasks in teleoperation”, Presented at: Robotics and Biomimetics (ROBIO), 2011 IEEE International Conference.

[12] E. Tidoni, P. Gergondet, G. Fusco, S. Aglioti, “Literature Review: The Role of Audio-Visual Feedback in a Thought-Based Control of a Humanoid Robot: A BCI Study in Healthy and Spinal Cord Injured People”, IEEE Transactions on Neural Systems and Rehabilitation Engineering, unpublished. [En línea].

Page 168: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

151

Disponible en: https://www.researchgate.net/publication/305823274_The_Role_of_Audio-Visual_Feedback_in_a_Thought-Based_Control_of_a_Humanoid_Robot_A_BCI_Study_in_Healthy_and_Spinal_Cord_Injured_People. [Consultado: 24-jul-2017].

[13] C. Glover, B. Russell, A. White, M. Miller, A. Stoytchev, “Evaluating the effects of Haptic and Visual Feedback on the Teleoperation of Remote Robots”, unpublished. [En línea]. Disponible en: http://www.vrac.iastate.edu/wp-content/uploads/2014/11/Robot_paper.pdf. [Consultado: 24-jul-2017].

[14] E. Nuño, L. Basañez, “Teleoperación: técnicas, aplicaciones, entorno sensorial y teleoperación inteligente”, Dept. Control de Sistemas Industriales, Universidad Politécnica de Cataluña, 2004, unpublished. [En línea]. Disponible en: https://www.researchgate.net/publication/33421071. [Consultado: 24-jul-2017].

[15] M. Condoluci, T. Mahmoodi, E. Steinbach, y M. Dohler, “Soft Resource Reservation for Low-Delayed Teleoperation Over Mobile Networks”, IEEE Access, vol. 5, pp. 10445–10455, 2017.

[16] “MQTT”, Mqtt.org, 2016. [En línea]. Disponible en: http://mqtt.org/. [Consultado: 15-nov-2016].

[17] “About HTML5 WebSocket - Powered by Kaazing”, Websocket.org, 2016. [En línea]. Disponible en: http://websocket.org/aboutwebsocket.html. [Consultado: 15-nov-2016].

[18] L. F. Burbano Vallejo, “Estudio e implementación en Matlab de un entorno de comunicación basado en protocolos del Internet de las Cosas para clientes de Teleoperación en Robótica”, trabajo de fin de grado, Escuela Politécnica Nacional, jul. 2017.

[19] S. Tarkoma, Publish / Subscribe Systems: Design and Principles. John Wiley & Sons, United Kingdom, 2012.

[20] “An Open Source MQTT v3.1 Broker”, Mosquitto.org, 2017. [En línea]. Disponible en: https://mosquitto.org/. [Consultado:22-nov-2016].

[21] A. Barrientos, J. del Cerro, P. Gutiérrez, “Vehículos aéreos no tripulados para uso civil”, Grupo de Robótica y Cibernética, Universidad Politécnica de Madrid, Madrid, España. [En línea]. Disponible en: http://webdiis.unizar.es/~neira/docs/ABarrientos-CEDI2007.pdf. [Consultado: 18-may-2017].

[22] “Clasificacion de robots | Wiki de Robótica”, Wiki.robotica.webs.upv.es, 2017. [En línea]. Disponible en: http://wiki.robotica.webs.upv.es/wiki-de-robotica/introduccion/clasificacion-de-robots/. [Consultado en: 25-nov-2016].

Page 169: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

152

[23] H. Moreno, R. Saltarén, L. Puglisi, I. Carrera, “Robótica Submarina: Conceptos, Elementos, Modelado y Control", Revista Iberoamericana de Automática e Informática Industrial RIAI, vol 11, pp. 3-19, 2014. [En línea]. Disponible en: http://www.sciencedirect.com/science/article/pii/S1697791213000885. [Consultado: 18-may-2017].

[24] A. Ollero Baturone, Robótica: manipuladores y robots móviles. Marcombo, 2005.

[25] “RBCAR | Robotnik”, Robotnik, 2017. [En línea]. Disponible en: http://www.robotnik.es/robots-moviles/rbcar/. [Consultado: 18-may-2017].

[26] “Raspberry Pi 3 Model B”, Raspberry Pi, 2016. [En línea]. Disponible en: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/. [Consultado: 22- nov- 2016].

[27] “BeagleBoard.org - black”. Beagleboard.org, 2016. [En línea]. Disponible en: https://beagleboard.org/black. [Consultado: 18-may-2017].

[28] C. Atwell, “The biggest-little revolution: 10 single-board computers for under $100”, EDN, 2017. [En línea]. Disponible en: http://www.edn.com/design/diy/4419990/The-biggest-little-revolution--10-single-board-computers-for-under--100. [Consultado: 18-may-2017].

[29] “Coppelia Robotics V-REP: Create. Compose. Simulate. Any Robot: Features”, Coppeliarobotics.com, 2017. [En línea]. Disponible en: http://www.coppeliarobotics.com/features.html. [Consultado: 18-may-2017].

[30] “Coppelia Robotics V-REP: Create. Compose. Simulate. Any Robot: Features”, Coppeliarobotics.com, 2017. [En línea]. Disponible en: http://www.coppeliarobotics.com/features.html. [Consultado: 18-may-2017].

[31] “Arduino UNO”, Arduino Project Hub, 2017 [En línea]. Disponible en: https://create.arduino.cc/projecthub/Aritro/security-access-using-rfid-reader-f7c746. [Consultado: 18-may-2017].

[32] “Pololu - 250:1 Micro Metal Gearmotor HP 6V”, pololu.com, 2017. [En línea]. Disponible en: https://www.pololu.com/product/995. [Consultado: 18-may-2017].

[33] “Pololu - RC Servos”, pololu.com, 2017. [En línea]. Disponible en: https://www.pololu.com/category/23/rc-servos. [Consultado: 18-may-2017].

[34] “Raspbian - Raspberry Pi Documentation”, Raspberry.pi, 2017. [En línea]. Disponible en: https://www.raspberrypi.org/documentation/raspbian/. [Consultado: 18-may-2017].

Page 170: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

153

[35] “Pololu Carrier with Sharp GP2Y0D810Z0F Digital Distance Sensor 10cm”, Pololu.com, 2017. [En línea]. Disponible en: https://www.pololu.com/product/1134/resources. [Consultado: 18-may-2017].

[36] “231a-ak proposal - CSclasswiki”, Cs.smith.edu, 2017. [En línea]. Disponible en: http://cs.smith.edu/classwiki/index.php/231a-ak_proposal. [Consultado: 18-may-2017].

[37] “Cámara IP del P2P cubierta Sricam inalámbrica WiFi CMOS Pan / Tilt con Negro de detección de movimiento”, es.tmart.com, 2017. [En línea]. Disponible en: http://es.tmart.com/Sricam-Wireless-Wifi-CMOS-Pan-Tilt-Indoor-P2P-IP-Camera-with-Motion-Detection-Black_p247649.html. [Consultado: 18-may-2017].

[38] “Rhino 1250mAh 3S1P 20C Lipoly Pack”, hobbyking.com, 2017. [En línea]. Disponible en: https://hobbyking.com/en_us/rhino-1250mah-3s1p-20c-lipoly-pack.html?___store=en_us. [Consultado: 18-may-2017].

[39] “Turnigy nano-tech 1500mAh 2S1P 20~40C Lipo Receiver Pack”, Hobbyking. [En línea]. Disponible en: https://hobbyking.com/en_us/turnigy-nano-tech-1500mah-2s1p-20-40c-lipo-receiver-pack.html. [Consultado: 18-may-2017].

[40] “RPI Lithium Battery Expansion Board SKU:435230”, raspberrypiwiki.com, 2017. [En línea]. Disponible en: http://www.raspberrypiwiki.com/index.php/RPI_Lithium_Battery_Expansion_Board_SKU:435230. [Consultado: 18-may-2017].

[41] “Módulo LM2596 Convertidor de Voltaje DC-DC Buck 1.25V-35V”, Electronilab, 2017. [En línea]. Disponible en: https://electronilab.co/tienda/modulo-lm2596-convertidor-de-voltaje-dc-dc-buck-1-25v-35v/. [Consultado: 18-may-2017].

[42] “Módulo L298N Puente H doble para Arduino controlo motores paso a paso”, Createc 3D Shop, 2017. [En línea]. Disponible en: http://createc3d.com/shop/es/modulos-y-sensores/345-comprar-modulo-l298n-puente-h-para-arduino-controlo-motores-paso-a-paso-precio-oferta.html. [Consultado: 18-may-2017].

[43] “Lista de características de TeamViewer”, teamviewer.com, 2017. [En línea]. Disponible en: https://www.teamviewer.com/es/features/. [Consultado: 18-may-2017].

Page 171: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

A-1

ANEXO A

CONFIGURACIÓN DE LA CÁMARA IP

A.1. PROCESO DE CONFIGURACIÓN DE LA CÁMARA IP

En este anexo se muestra la forma en la que debe ser configurada la cámara IP

que se usó en este proyecto. El modelo de la cámara IP se muestra en la Figura

A.1.

Figura A.1 Cámara

El primer paso es conectar la cámara IP y una PC en un router para ponerlos en

red. También existe la posibilidad de conectar directamente la cámara IP al PC con

un cable ethernet.

La cámara IP viene por defecto con la dirección IP 192.168.1.88:80 y para poder

acceder a ella la PC debe configurarse con una dirección IP en la misma red. Para

ello accedemos al Panel de control y se da click en la pestaña de “Redes e Internet”

>> Redes y Recursos compartidos >> Cambiar la configuración del adaptador >>

Ethernet

Se da doble click y entramos, nos aparece la ventana de propiedades de ethernet

como se ve en la Figura A.2 y se busca el protocolo IPV4.

Page 172: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

A-2

Figura A.2 Propiedades de ethernet

Se entra y se configura como se muestra en la Figura A.3.

Figura A.3 Propiedades protocolo IPv4

Al pulsar en aceptar ya se tiene la PC y la cámara en red y se puede acceder a la

cámara desde cualquier buscador digitando la IP de la cámara por defecto en la

barra de búsqueda.

Al entrar aparece una pantalla como la que se muestra en la Figura A.4 en la que

se pide autenticación, por defecto el nombre de usuario es “admin” mientras que la

contraseña tiene sus campos vacíos.

Page 173: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

A-3

Figura A.4 Autentificación de la cámara.

Al entrar aparece la ventana que se muestra en la Figura A.5 donde se debe

seleccionar una de las opciones para ingresar.

Figura A.5 Ventana de inicio de la interfaz de la cámara IP

En este caso se seleccionó “Firefox, Chrome o Safari” y la cámara accede la interfaz

que se muestra en la Figura A.6.

Figura A.6 Interfaz de la cámara IP.

Page 174: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

A-4

Para entrar en las configuraciones de la cámara se da click en el botón de la

izquierda en la parte de abajo. Al entrar en las configuraciones se muestra una

ventana como la que se muestra en la Figura A.7.

Figura A.7 Ventana de configuraciones de la cámara IP

Para que la cámara IP obtenga una IP de router automáticamente se debe habilitar

el DHCP en la pestaña de “Basic Network Settings” como se muestra en la Figura

A.8.

Figura A.8 Configuraciones de red de la cámara IP

Para configurar la comunicación vía WiFi damos click en la pestaña de “Wireless

LAN Settings” donde se debe buscar la red WiFi, introducir el tipo de autenticación

y la contraseña como se muestra en la Figura A.9.

Page 175: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

A-5

Figura A.9 Configuraciones de red WiFi LAN

Luego de configurar la red LAN, se da click en submit y la cámara se reiniciará. Una

vez reiniciada la cámara los cambios quedaran guardados.

Para que la cámara siempre tenga la misma dirección IP cada vez, las redes

internas de la Escuela Politécnica Nacional le asignan una dirección IP según la

dirección MAC que posee.

Para poder acceder a la cámara desde el Internet se debe hacer un proceso de

nateo en las redes de la Escuela Politécnica Nacional. En este caso cuando se trata

de acceder a la IP pública 190.96.111.129:81 que es propiedad de la EPN, las redes

internas redirigen hacia la IP interna de la EPN que fue asignada a la cámara.

El proceso de nateo lo realizan las personas encargadas de las redes internas de

la EPN en la DGIP.

Page 176: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

B-1

ANEXO B

INSTALACIÓN Y CONFIGURACIÓN DEL SERVIDOR DE

DATOS “MOSQUITTO” PARA WINDOWS 7 Y WINDOWS 8

La instalación del Servidor de Datos “Eclipse Mosquitto” se la debe realizar en una

PC conectada a un punto de red. Está PC debe tener asignada una dirección IP

Pública, en este caso es “190.96.111.128”.

B.1. INSTALACIÓN

Descargar Mosquitto de la página web “mosquitto.org/download/”. En la Figura B.1

se presenta los enlaces de descarga del servidor para el Windows. Escoger la

segunda opción.

Figura B.1 Enlaces de descarga del servidor de datos Mosquitto para Windows.

Descargar el ejecutable en la pestaña “download” como se ve en la Figura B.2.

Figura B.2 Enlaces de descarga del servidor de datos Mosquitto para Windows.

Page 177: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

B-2

Ejecutar el archivo descargado. Aparecerá la siguiente ventana. Se debe descargar

los dos archivos que se solicitan.

Figura B.3 Archivos adicionales que deben descargarse.

Antes de continuar con la instalación de ‘mosquitto’ se procede a descargar

‘OpenSSL’ del enlace: “slproweb.com/products/Win32OpenSSL.html”. Escoger la

versión v1.0.2L Light. Ejecutar e instalar el archivo descargar. Tomar en cuenta la

dirección en la cual se instaló.

Figura B.4 Archivo OpenSSL.

Descargar ‘pthreads’ del enlace: “ftp://sources.redhat.com/pub/pthreads-win32/dll-

latest/dll/x86/”. Seleccionar “pthreadvc2.dll”. Descargar y guardar el archivo

Figura B.5 Archivo pthreads.

Page 178: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

B-3

Luego de realizar los dos pasos anteriores se retoma la instalación de ‘mosquitto’.

Seleccionar la opción ‘Service’ y dar clic en ‘Next’.

Figura B.6 Instalación Mosquitto

Escoger la carpeta en donde se instalará ‘Mosquitto’. De preferencia escoger

‘C:\ProgramFiles\mosquitto’. Luego de seleccionar la carpeta se da clic en ‘Install’.

Figura B.7 Instalación Mosquitto

Una vez finalizada la instalación en la carpeta en la que Mosquitto fue instalado se

debe copiar los siguientes archivos.

Archivos: libeay32.dll ssleay32.dll, estos archivos se encuentran en la carpeta en

la cual OpenSSL fue instalado.

Archivo: pthreadVC2.dll, este archive se descargó en la opción ‘pthreads’.

Page 179: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

B-4

En la Figura B.8 se observa cómo queda finalmente la carpeta en la que se instaló

Mosquitto.

Figura B.8 Carpeta de instalación de Mosquitto.

Finalmente, se debe reinstalar ‘Mosquitto’ en la misma carpeta. Para comprobar

que la instalación se ha realizado correctamente, se debe acceder al ‘cmd’ y escribir

el comando netstat -an, aparecerá la siguiente ventana.

Figura B.9 Puerto ‘1883’ abierto para el servidor.

Se el puerto ‘1883’ se ha habilitado y está en escucha.

Page 180: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-1

ANEXO C

MANUAL DE USUARIO

C.1. INTRODUCCIÓN

En el presente manual de usuario se detalla los pasos a seguir para poner en

funcionamiento el “Sistema de Teleoperación para el Robot Móvil tipo Carlike”. Este

manual explica los requisitos previos con los que debe contar el sistema, el

procedimiento para ponerlo en marcha y los errores que se pueden presentar, así

como las soluciones a los mismos.

El sistema de teleoperación consta de tres partes fundamentales que son: Estación

Local, Servidor de Datos y Estación Remota. Cabe recalcar que la Estación Remota

puede representar el robot móvil físico o el robot móvil simulado.

La estación local es una PC u ordenador, en donde se encuentra la interfaz del

usuario, mediante la cual el operador puede comandar el robot móvil. El servidor

de datos está ubicado en una PC, este servidor almacena la información recibida

desde la estación local y desde la estación remota.

La estación remota para el caso del robot móvil físico cuenta con una tarjeta

Raspberry Pi 3B que actúa como eje central de este ya que ejecuta todos los

comandos recibidos y se encarga de la comunicación; existe también una cámara

IP, la cual se encarga de proporcionar al operador realimentación visual del entorno

en donde se encuentra el móvil; hay sensores y actuadores que funcionan de

acuerdo con las instrucciones recibidas por parte de la tarjeta. La estación remota

para el caso del robot móvil simulado se desarrolla en un entorno virtual, por lo que

se necesita una PC para ejecutarlo, la realimentación visual de esta simulación se

obtiene a través de TeamViewer. Cabe mencionar que TeamViewer debe estar

instalado tanto en la estación local, como en la estación remota.

Page 181: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-2

Por último, se menciona que el robot móvil físico puede ser usado sólo en el séptimo

piso del edificio de Química Eléctrica Q/E y en el EARME, esto es debido a que la

red a cuál se encuentra agregada la cámara IP solo está habilitada en estos puntos.

C.2. INSTALACIÓN

C.2.1. REQUISITOS PREVIOS DE SOFTWARE

Antes de poner en marcha el sistema se debe tener en cuenta varios requerimientos

que necesitan tanto la estación local como la estación remota del sistema, para que

funcione de manera correcta, a continuación, se explica cuáles son estos.

C.2.1.1. Estación Local:

1. Sistema Operativo de la PC: Windows 7 en adelante.

2. Instalar Matlab 2016a.

Figura C.1 Logo Matlab R2016a

2.1. En Matlab, instalar el driver para ARDUINO “Acquire inputs and send outputs

on Arduino boards”. Este driver se lo encuentra en la pestaña Add-Ons al

dar click en “Get Hardware Support Packages”.

Figura C.2 Software necesario en la Estación Local.

Al abrirse la ventana “Support Package Installer” se debe buscar “Arduino” en la

sección izquierda de la ventana y seleccionarlo. En la sección derecha

aparecerá todos los drivers que se puede instalar. Solo se debe seleccionar el

Page 182: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-3

driver mencionado “Acquire inputs and send outputs on Arduino boards” e

instalarlo.

Figura C.3 Dirección de la carpeta “Tesis Teleoperación”.

3. Instalar driver de ARDUINO para habilitar el puerto de comunicación con la PC.

Se puede descargar este driver desde la página oficial de Arduino accediendo

al siguiente link: www.arduino.cc/en/Main/Software.

Figura C.4 Software ARDUINO

4. Instalar TeamViewer

Se puede descargar TeamViewer desde la página oficial en el siguiente link:

www.teamviewer.com/es/download/windows/

Figura C.5 Logo TeamViewer.

5. Acceso permanente a Internet. Recomendación: conectar la PC a un punto de

red.

Page 183: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-4

C.2.1.2. Estación Remota:

C.2.1.2.1. Estación Remota Física

El elemento fundamental del robot móvil es la tarjeta Raspberry Pi 3B. Esta tarjeta

debe ejecutar los programas contenidos para comandar el robot móvil, así como

para establecer comunicación con el servidor de datos.

1. Sistema Operativo de la Tarjeta Raspberry Pi 3B

Se requiere de una micro SD para que se inserte en la tarjeta Raspberry. En la

micro SD debe estar instalado el sistema operativo RASPBIAN JESSIE WITH

DESKTOP. Este sistema operativo puede ser descargado de la página oficial en el

link: “www.raspberrypi.org/downloads/raspbian/”. Además, se usa

Win32DiskImager para instalar el sistema operativo en la micro SD. En la Figura

C.6 se muestra los pasos a seguir.

Figura C.6 Descarga del Sistema Operativo en la Raspberry Pi.

2. Librerías de la tarjeta Raspberry Pi 3B

El lenguaje de programación usado en la tarjeta es Python 2.7. Para llevar a cabo

el proyecto se debe usar las siguientes librerías:

import time

· Time: Permite obtener y trabajar con la información de tiempo del Sistema.

import paho.mqtt.client as mqtt

Page 184: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-5

· paho.mqtt.client: Permite crear y conectar un nuevo cliente MQTT capaz de

suscribirse a tópicos y recibir información que comparten otros clientes.

import paho.mqtt.publish as publish

· paho.mqtt.publish: permite que el cliente de Python pueda publicar datos en

tópicos para compartir información con otros clientes.

import json

· JSON: Es un formato de intercambio de información que permite crear

diccionarios que incluyan varios datos, en el presente proyecto se usa para

enviar varios datos en un mismo tópico.

import RPi.GPIO as GPIO

· RPi.GPIO: en general permite trabajar con las entradas físicas de la

Raspberry Pi 3B y poder usarlas como entradas o salidas digitales.

import math

· Math: Permite realizar operaciones matemáticas, en el proyecto se usa para

medir las variables de odometría.

C.2.1.2.2. Estación Remota Simulada

1. Sistema Operativo de la PC

2. En el caso de la simulación la PC u ordenador debe contar con tarjeta de video

para que soporte el entorno virtual del robot móvil.

3. Instalar TeamViewer.

C.3. EJECUCIÓN

C.3.1. Configuración de la Estación Local

1. Copiar la carpeta “Tesis Teleoperación” a la PC u ordenador.

Page 185: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-6

2. Abrir Matlab 2016a.

3. Copiar la dirección en donde se encuentra la carpeta “Tesis Teleoperación” en

la barra de direccionamiento de Matlab.

Figura C.7 Dirección de la carpeta “Tesis Teleoperación”

4. Verificar que aparezcan los siguientes archivos

Figura C.8 Archivos de la carpeta “Tesis Teleoperación”

5. Conectar el Joystick a la PC.

6. Ir a “Administrador de Dispositivos” y verificar que tanto el volante como los

pedales estén conectados.

Page 186: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-7

Figura C.9 Puertos USB conectados en la PC.

7. Identificar en qué puerto USB serial se encuentra conectado los pedales.

8. El número de puerto se lo debe colocar tanto en el archivo “EstaciónLocal.m”

como en el “EstaciónLocalSim.m” en la sección que se observa a continuación:

Figura C.10 Número de puerto de comunicación del Arduino.

9. Colocar la dirección del archivo a ensamblar “MqttClientEPN.dll”, ubicado en la

carpeta TESISTeleopMQTT\MqttClientEPN\MqttClientEPN\bin\Debug, en la

línea de código de ambos archivos “EstaciónLocal.m” y “EstaciónLocalSim.m”

como se ve a continuación:

Figura C.11 Dirección del archivo “MqttClientEPN.dll”

Page 187: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-8

10. Verificar la dirección de la IP pública del Servidor de Datos, la es

‘190.96.111.128’, en la línea de código de ambos archivos “EstaciónLocal.m” y

“EstaciónLocalSim.m”, como se observa a continuación:

Figura C.12 Dirección IP del Servidor de Datos

C.3.2. Activación del Servidor de Datos

1. Dar clic en inicio.

2. Escribir “cmd” y dar clic sobre el ícono.

Figura C.13 Acceder a CMD

3. En la pantalla que aparece se debe escribir lo siguiente:

3.1. Escribir “cd..” y dar enter.

3.2. Escribir nuevamente “cd..” y dar enter.

3.3. Escribir “cd Program Files” y dar enter

3.4. Escribir “cd mosquitto” y dar enter

3.5. Finalmente se escribe “mosquitto -v” y dar enter.

Si el servidor se ha activado correctamente aparecerá lo siguiente en la

pantalla.

Page 188: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-9

Figura C.14 Comandos en cmd.

3.6. Si el servidor no se ha activado de forma correcta aparecerá la siguiente

pantalla.

Figura C.15 Comandos en cmd

Para corregir este inconveniente revise la “Sección de Errores” el ERROR N°1.

NOTA: La PC que se usa como servidor de datos se encuentra ubicada en la

“Unidad de Mantenimiento Electrónico (UME)” en el aula 708 Q/E.

Page 189: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-10

C.3.3. Configuración de la Estación Remota

C.3.3.1. Estación Remota Real

1. Verificar que las tres baterías del robot móvil estén cargadas.

1.1. Quitar la tapa que se encuentra en la parte inferior del robot móvil. Allí se

encuentran los terminales de dos de las tres baterías. Verificar su estado.

Figura C.16 Vista inferior del Carlike.

1.2. Los terminales más anchos corresponden a la batería de 3 celdas, 11.1

voltios [V] a 1.25 amperios [A], los terminales más delgados son de la

batería de 2 celdas, 7.4 voltios [V] a 1.5 amperios [A].

1.3. La tercera batería se encuentra debajo de la tarjeta Raspberry Pi 3B. Para

cargar esta batería se la debe desconectar de la tarjeta.

2. Desmontar la carcasa del carlike.

3. Revisar que todas las conexiones se encuentren como en la Figura C17, Figura

C18, Figura C19, Figura C20, Figura C21.

Page 190: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-11

Figura C.17 Vista interior derecha de conexión de pines

Figura C.18 Vista interior izquierda de conexión de pines

Figura C.19 Vista interior superior de conexión de pines

Page 191: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-12

Figura C.20 Vista trasera de conexión de pines

Figura C.21 Vista conexión de leds indicadores

4. Colocar la carcasa.

5. Activar los dos interruptores que posee el robot móvil en la parte inferior. Si al

activarlos se enciende uno de los dos leds rojos o ambos, significa que las

baterías se encuentran descargadas, por lo tanto, el robot móvil no funcionará.

En la sección “Procedimiento” se detalla como cargar las baterías.

6. Desmontar la carcasa del carlike.

7. Conectar la tarjeta Raspberry Pi 3B, mediante cable Ethernet, a una PC.

8. Dar clic a inicio y escribir “Escritorio Remoto”

Figura C.22 Acceso a Escritorio Remoto.

Page 192: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-13

9. Escribir la dirección IP de la tarjeta “192.168.10.5” y dar clic en conectar.

Figura C.23 Ingreso de dirección IP.

10. Si no tiene acceso a la tarjeta, revise la “Sección de Errores” el EEROR N°2.

11. Aparecerá la siguiente pantalla en la cual se debe ingresar los datos de usuario

y contraseña.

Figura C.24 Acceso a Raspberry Pi 3B.

Usuario: pi

Contraseña: raspberry

12. Ingresar a Python 2. Como se ve a continuación.

Figura C.25 Python 2.

13. Abrir el archivo “p2carlike”.

Page 193: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-14

Figura C.26 Archivo p2carlike.

14. Dar clic en “Run Module” para correr el programa.

Figura C.27 Run Module

15. Quitar el cable Ethernet de la tarjeta.

16. Colocar la carcasa del robot móvil y conectar el cable de la cámara IP y el de

las luces led indicadoras.

C.3.3.2. Estación Remota Simulada

1. Copiar la carpeta “Carlike simulado” a la PC que será usada como estación

remota.

2. Dar clic en el archivo ejecutable del carlike simulado llamado “Tesis_Carlike”.

Aparecerá la siguiente pantalla.

Page 194: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-15

Figura C.28 Vista inferior del Carlike.

3. Escoger la resolución deseada. Tomar en cuenta que a mayor resolución

aumenta el retardo de envío de video. Se recomiendo escoger una resolución

baja. Aparecerá la siguiente pantalla.

Figura C.29 Interfaz de INICIO.

4. Al aparecer la pantalla se da clic sobre EMPEZAR para dar inicio a la

simulación. Cuando se establezca comunicación entre la estación local y

remota la palabra ‘ONline’ se visualizará en la pantalla.

Page 195: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-16

Figura C.30 Entorno Vistual.

C.4. PROCEDIMIENTO

Luego de haber realizado todos los pasos anteriores se procede a poner en

funcionamiento el sistema, como se especifica a continuación:

1. Encender los dos interruptores que contiene el robot móvil. Verificar que las

luces indicadoras encendidas sean las verdes. La luz amarilla se encenderá

cuando se establezca comunicación entre la estación local y remota.

2. Para tener la Realimentación Visual del carlike físico, se accede a cualquier

navegador y se escribe “190.96.111.129:81” en la barra de direcciones.

Usuario: admin

Dentro de esta aplicación se puede controlar el movimiento de la cámara.

3. Para obtener realimentación visual del carlike simulado se debe activar

TeamViewer en la PC de la estación local y en la PC de la estación remota.

4. En matlab se pone a correr el archivo “Presentacion.m”. Aparecerá la siguiente

pantalla.

Page 196: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-17

Figura C.31 Interfaz de INICIO.

5. Dar clic en ACCEDER.

Figura C.32 Interfaz de INICIO.

6. Escoger el entorno que se desea. Entorno real para manejar el robot móvil físico

o entorno virtual para manejar el robot móvil simulado.

7. Al dar clic en “acceder” se solicitará al operador que ingrese un usuario y una

contraseña.

Page 197: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-18

Figura C.33 Acceso de usuario.

Usuario: matlab

Contraseña: 123

8. En la pantalla que se muestra, dar clic en START para dar inicio al

funcionamiento del sistema.

Figura C.34 Interfaz de “Estación Local”

Page 198: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-19

Una vez iniciado el funcionamiento se observa en la esquina superior derecha el

estado de conexión.

Si el indicador está en verde, significa que existe comunicación entre la estación

local y la estación remota, por lo tanto, los datos pueden ser enviados. Si el

indicador está en rojo, significa que se ha perdido la conexión y los datos no serán

enviados.

9. Una vez que el robot móvil termine de recorrer el circuito es NECESARIO dar

clic en STOP, y aparecerá una imagen con la trayectoria recorrida.

10. Dar clic en SALIR para regresar a la pantalla de inicio y nuevamente tener la

opción de que entorno escoger.

11. Antes de apagar el carlike físico se debe acceder a la tarjeta y parar el programa

que está corriendo. De forma rápida se escribe “Ctrl+C” y el programa se detiene

automáticamente.

12. Cerrar los programas y apagar la tarjeta desde la PC.

13. Apagar los dos interruptores que posee el robot móvil.

14. Cerrar la aplicación del robot móvil simulado.

C.5. SECCIÓN DE ERRORES

ERROR 1: No se ha activado de forma correcta el servidor.

1. En inicio escribir “Administrador de Tareas”

Figura C.35 Administrador de Tareas.

1.1. Seleccionar la pestaña de procesos.

1.2. Dar click en “Mostrar procesos de todos los usuarios”

Page 199: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-20

1.3. Buscar y seleccionar “mosquito”

1.4. Dar click en “Finalizar proceso”

Figura C.36 Administrador de tareas.

1.5. Compruebe si el error se ha solucionado escribiendo sólo la línea: mosquitto

-v

Figura C.37 Activación del servidor.

ERROR N°2: No se puede acceder a la tarjeta Raspberry Pi 3B

1. Verificar que la PC que se use para acceder a la tarjeta este en red con la misma.

Recomendación: usar la siguiente configuración en la PC.

Page 200: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-21

Figura C.38 Dirección IP en la PC.

ERROR N°3: No encuentra el servidor de datos o Broker.

Figura C.39 Error: No se encuentra el Broker.

En la PC donde se encuentra el servidor de datos realizar lo siguiente.

1. Verificar que la PC esté conectada al punto de red

2. Verificar que todos los firewalls de la PC estén desactivados.

Figura C.40 Firewall de la PC.

2.1. Acceder a los Firewals de la PC.

2.2. En la pestaña ‘Acción’ dar click en propiedades

Page 201: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-22

Figura C.41 Firewall de la PC.

2.3. En la pestaña ‘Perfil de dominio’ en la sección ‘Estado de Firewall’

seleccionar la opción “Inactivo” y dar click en aplicar como se muestra a

continuación:

Figura C.42 Estado del Firewall

2.4. Se debe seguir el mismo procedimiento en las pestañas “Perfil Privado” y

“Perfil Público”

2.5. Al finalizar dar click en aceptar.

3. Verificar que la PC contenga la configuración correcta de la IP interna.

Page 202: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

C-23

4.1. Acceder a Panel de Control/ Redes e Internet/ Centro de Redes y Recursos

Compartidos/ Cambiar Configuración del Adaptador.

4.2. Click derecho en Conexión de área local y acceder a propiedades

4.3. En propiedades seleccionar Protocolo de Internet versión 4 (TCP/IPv4) y dar

click en propiedades.

Figura C.43 Protocolo de Internet versión 4.

4.4. El protocolo de Internet versión 4 (TCP/IPv4) debe estar configurado como

se ve a continuación:

Figura C.44 Propiedades del protocolo de Internet versión 4.

Page 203: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

D-1

ANEXO D

MODELO DE ENCUESTA

1. ¿Cómo califica la calidad del sistema de realimentación visual?

Excelente bueno regular malo

2. ¿Cómo califica la interacción del usuario con la interfaz haciendo uso del joystick?

Excelente bueno regular malo

3. ¿Cómo califica el funcionamiento del modelo de carlike?

Excelente bueno regular malo

4. ¿Cuál es el nivel de dificultad al teleoperar debido los retardos en la comunicación?

Alto medio bajo

5. ¿Qué tan amigable y completa es la interfaz de la estación local?

Alto medio bajo

6. ¿Qué tan maniobrable es el sistema en general?

Alto medio bajo

7. ¿Cómo califica la reacción del robot móvil desde que se lo comanda hasta que el mismo presente movimiento?

Alto medio bajo5

8. ¿Qué aspectos se podrían mejorar en el sistema tele operado?

Page 204: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

E-1

ANEXO E

CIRCUITOS ELECTRÓNICOS DEL CARLIKE FÍSICO

Figura E.1 Diagrama desarrollado en ISIS parte1.

1 2 3

EN

CO

DE

R

CO

NN

-SIL

3

12

U1

:A

74

14

1

EN

C. R

AS

P

10k

1 2

RA

SP

3.3

V

CO

NN

-SIL

4

1

VIN

+1

LM

324

1

VIN

-1

74

14

1

VO

UT

+1

10k

1

VO

UT

-1

10k

1 2

FU

EN

TE

CA

MA

RA

L2

93D

1

VIN

+2

10k

1

VIN

-2

CO

NN

-SIL

2

1

VO

UT

+2

TB

LO

CK

-I4

1

VO

UT

-2

CO

NN

-SIL

1

1 2 3

SE

RV

OM

OT

OR

CO

NN

-SIL

2

1

CO

NT

RO

L S

ER

VO

TB

LO

CK

-I2

1 2 3

DR

IVE

R M

OT

OR

DC

L2

93D

1 2

LU

CE

S R

AS

P

CO

NN

-SIL

2

R2

11

0R

R1

120

k

vcc

6V

AK

D5

LE

D-G

RE

EN

AK

D6

LE

D-G

RE

EN

lipo

b

lipo

a

1 2 3 4

SH

AR

P

CO

NN

-SIL

4

1 2 3 4

SH

AR

P1

CO

NN

-SIL

4

1 2 3 4 5 6

LE

DS

LIP

O

CO

NN

-SIL

6

led1

led2

led3

led4

neg

led

act

led

act

1 2 3

SW

ITC

H3A

CO

NN

-SIL

3

1 2 3

SW

ITC

H3

CO

NN

-SIL

3

1 2

MO

TO

RA

CO

NN

-SIL

2

1 2

MO

TO

R

CO

NN

-SIL

2

R3

11

0R

Page 205: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

E-2

Fig

ura

E.2

Dia

gram

a d

esarr

olla

do e

n IS

IS p

arte

2.

lipo

a

R10

10k R11

10k

R12

10k R13

15k

A K

D1

LE

D-G

RE

EN

R14

22

0R

3 21

4 11

U2

:A

LM

324

5 67

4 11

U2

:B

LM

324

R15

22

0R

A K

D2

LE

D-R

ED

R16

15k R17

7.5

k

A K

D3

LE

D-G

RE

EN

R20

22

0R

12 1314

4 11

U2

:D

LM

324

10

98

4 11

U2

:C

LM

324

R21

22

0R

A K

D4

LE

D-R

ED

lipo

b

1 2 3

AL

IME

NT

AC

ION

1

CO

NN

-SIL

3

1 2 3 4

AL

IME

NT

AC

ION

2

CO

NN

-SIL

4

vcca

a

1 2

SW

ITC

H1

CO

NN

-SIL

2

1 2

SW

ITC

H2

CO

NN

-SIL

2

lipo

a

lipo

b

led1 le

d2

led3

led4

neg

Page 206: ESCUELA POLITÉCNICA NACIONAL - Repositorio …bibdigital.epn.edu.ec/bitstream/15000/18975/1/CD-8373.pdf · A Freddy, mi amigo y compañero de tesis con quien hemos logrado afrontar

E-3

Figura E.3 Diagrama desarrollado en ARES.

Figura E.4 Vista en 3D del circuito.