Diseño, simulación e implementación de un sistema de teleoperación para un robot móvil tipo Carlike

206  Descargar (0)

Texto completo

(1)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 karla.hernandez@epn.edu.ec. FREDDY MANUEL PANCHI GUAMANGALLO freddy.panchi@epn.edu.ec. DIRECTOR: ING. GEOVANNY DANILO CHÁVEZ GARCÍA, DR. danilo.chavez@epn.edu.ec. Quito, noviembre 2017.

(2) 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.

(3) 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.

(4) 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.

(5) 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.

(6) DEDICATORIA. A mi papá, mi ángel. Karla.

(7) 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.

(8) 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.

(9) 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.

(10) 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.

(11) 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.

(12) 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.

(13) 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.

(14) 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.

(15) viii. ANEXO D: MODELO DE ENCUESTA……….………………………………….…..D-1 ANEXO E: CIRCUITOS ELECTRÓNICOS DEL CARLIKE FÍSICO……….….…E-1.

(16) 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..

(17) 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..

(18) 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..

(19) 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..

(20) 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..

(21) 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..

(22) 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..

(23) 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.

(24) 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..

(25) 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.

(26) 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..

(27) 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.

(28) 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.

(29) 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].

(30) 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.

(31) 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..

(32) 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..

(33) 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)..

(34) 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.

(35) 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..

(36) 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..

(37) 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..

(38) 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..

(39) 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..

(40) 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..

(41) 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, SVideo, 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..

(42) 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.

(43) 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:.

(44) 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..

Figure

Actualización...

Referencias

Actualización...