ExpoCiencias Nacional 2012 Centro de Exposiciones y Convenciones de Puebla
Autómata Asistente Interactivo
Nombre del autor(es): José Martín Díaz Reyes Cuauhtémoc Israel Paz Durán Marcos Hugo Cruz Rangel
Área: Mecatrónica Categoría: Superior
Querétaro, Querétaro, a 31 de octubre de 2012
Autómata Asistente Interactivo Díaz Rey es, J os éMart ín; Paz Du rán, Cu auh té m oc Israe l; C ru z Ran gel , Marc os Hug o; Bu st os Riv era, Juan Jesús; Jesús; A yar, E.
1
Sumari Sumario o Robot autónomo y tele-operado (control remoto) multipropósito con capacidad de interactuar con las personas y brindarles asistencia e información detallada. Además el robot puede ser controlado por cualquier persona a través de un smartphone o una tablet PC con android y video en tiempo real. El control del robot es desarrollado completamente en la plataforma android por las ventajas que ofrece el código abierto. Creando una aplicación (App) lista para descargarse e instalarse en el dispositivo, trabajando simultáneamente a través de comunicación USB con una interfaz basada en un microcontrolador AVR de la familia Atmel, mejor conocido como arduino, para el control de los motores y demás transductores de potencia del autómata. Además el robot tiene la facultad de operar de forma autónoma gracias al GPS y los sensores inerciales que vienen por defecto en la mayoría de los dispositivos móviles, siguiendo puntos de referencia usando la herramienta google maps para la navegación.
1. Introducción
Gracias a los últimos avances en las ramas de la ingeniería como la informática, la electrónica, las telecomunicaciones, el control y en consecuencia la mecatrónica, han permitido la evolución acelerada de un área común entre todas ellas: la robótica.
Esta definición, ligeramente modificada, ha sido adoptada por la Organización Internacional de Estándares (ISO) que define al robot industrial como:
2.1 Definición de robot
Manipulador multifuncional reprogramable con varios grados de libertad, capaz de manipular materias, piezas, herramientas o dispositivos especiales según trayectorias variables programadas para realizar tareas diversas (ISO, 1994).
Existen varias definiciones de la palabra robot, esto es debido a que el término es muy ambiguo y actualmente esta definición cambia constantemente con el tiempo. Los conceptos mas aceptados hoy en día son los que describen a los robots industriales como los siguientes.
Se incluye en esta definición la necesidad de que el robot tenga varios grados de libertad. Una definición más completa es la establecida por la Asociación Francesa de Normalización (AFNOR), que define primero el manipulador y, basándose en dicha definición, el robot:
Un robot industrial es un manipulador multifuncional reprogramable, capaz de mover materias, piezas, herramientas, o dispositivos especiales, según trayectorias variables, programadas para realizar tareas diversas (RIA, 1999).
Manipulador:
2.
Antecedentes
1. Emilio Ayar González. Instituto Tecnológico de Q uerétaro, Av. Tecnológico s/n esq. Mariano Escobedo Col. Centro, Centro, Querétaro, Qro.. Tel: (442) 2-27-44-00 ext. 4415
[email protected] [email protected] x
mecanismo formado generalmente por elementos en serie, articulados entre sí, destinado al agarre y desplazamiento de objetos. Es multifuncional y puede ser gobernado directamente por un operador humano o
mediante
dispositivo
lógico.
manipulador automático servocontrolado, reprogramable, polivalente, capaz de posicionar y orientar piezas, útiles o dispositivos especiales, siguiendo trayectoria variables reprogramables, para la ejecución de tareas variadas. Normalmente tiene la forma de uno o varios brazos terminados en una muñeca. Su unidad de control incluye un dispositivo de memoria y ocasionalmente de percepción del entorno. Normalmente su uso es el de realizar una tarea de manera cíclica, pudiéndose adaptar a otra sin cambios permanentes en su material (AFNOR, 2006). Robot:
Por ultimo, la Federación Internacional de Robótica (IFR, International Federation of Robotics) distingue entre robot industrial de manipulación y otros robots: Por robot industrial de manipulación se entiende una maquina de manipulación automática, reprogramable y multifuncional con tres o más ejes que pueden posicionar y orientar materias, piezas, herramientas o dispositivos especiales para la ejecución de trabajos diversos en las diferentes etapas de la producción industrial, ya sea en una posición fija o en movimiento (IFR, 1994). 3. Problemática
3.1 Planteamiento Cuando alguien se encuentra en algún lugar público que nunca antes ha visitado, surge la incertidumbre de qué camino tomar o cuál es la ruta mas corta para llegar, o al menos de donde esta ubicado en ese preciso instante y el tiempo y distancia que le tomará para llegar al punto de interés, o también se tiene el desconocimiento de donde hay que ir entre
varias opciones a escoger a falta de un asistente que proporcione información o de un mapa que oriente, para así, tomar la decisión adecuada.
4. Objetivos
4.1 Objetivo general Exhibir un proyecto robótico en programas, exposiciones y congresos de ciencia y tecnología o de propósito similar para el público en general. 4.2 Objetivos específicos Proponer un proyecto multidisciplinario (mecatrónico). Diseñar un prototipo de un robot de 1.50 m. de altura reclinable. Desarrollar un robot con la funcionalidad de ser un asistente interactivo. Innovar en la forma de programar y controlar robots con las tecnologías móviles actualmente existentes. 5. Hipótesis
5.1 Propuesta de solución Diseñar un robot autónomo controlado por una tablet-pc a través una aplicación desarrollada en android usando los recursos integrados (sensores y actuadores) de la misma, dotado de visión artificial para el reconocimiento facial gracias a la cámara frontal del dispositivo. Además, contemplando el micrófono y las bocinas integrados en el mismo, que sea capaz de asimilar comandos por voz para permitir la comunicación interactiva entre autómata y usuario.
Gracias a la antena GPS y el sensor magnetómetro ó brújula electrónica integrados en la tableta, el robot siempre sabrá su posición y orientación con respecto a la ruta trazada en google maps. 6. Metodología
Para la elaboración del proyecto fue necesario trabajarlo en 3 etapas importantes y por orden cronológico como se muestra a continuación. 6.1 Estructura mecánica (chasis) A continuación se mostrara el proceso por el cual pasó el material para poder convertirse en la estructura de nuestro autómata, esta está compuesta por el chasis, mecanismos de cambio de ángulo para pendientes, posicionamiento de 2 grados de libertad para la cabeza.
Figura 1. Tubo PTR para la l a estructura del chasis.
En segundo lugar se fabricó el mecanismo para el cambio de inclinación del Autómata el material usado es acero estirado en frio calidad 1018, barra solida calidad 1018, rodamiento rígido de bolas de una hilera, se pasó por varios maquinados para alcanzar este primer ensamble (figura 2).
Para hacer más sencilla la explicación nos apoyaremos en fotografías que se tomaron durante la fabricación del Autómata. Como primer punto llevaremos el chasis, este fue construido por perfil estructural tipo PTR calibre 14 del cual se utilizó cerca de 2300 mm, el perfil fue cortado y soldado según diseños, en la imagen (figura 1) se muestra el trabajo final del chasis.
Figura 2. Juego de chumaceras y ejes para el mecanismo de pliegue.
A la barra se le soldó uno de los discos que hace la función de clutch para el cambio de ángulo (figura 3).
Figura 3. Mecanismo de sujeción de pliegue.
El ensamblaje final se sujeta todo con tornillos Allen y se agregan resortes de compresión y solenoides para que este completo el mecanismo (figura 4).
Figura 5. Articulación del cuello y cabeza.
6.2 Conexionado electrónico La segunda etapa en la construcción del autómata consiste en toda la circuitería y conexión electrónica, para la etapa de potencia de los motores, solenoides, luces y demás actuadores que componen el autómata.
Figura 4. Mecanismo completo del pliegue.
El posicionamiento de la cabeza se basa en 2 servomotores de aeromodelismo que se encargan de colocar el cuello y la cabeza en la posición adecuada, los servomotores están auxiliados por dos barras sólidas y rodamiento rígido de bolas de una hilera, el ensamblaje queda como en la fotografía (figura 5).
Un switch o interruptor general del sistema habilita todos los componentes y ejecuta automáticamente la aplicación de la tabletpc, con esto el robot esta listo para recibir órdenes. 6.3 Software y Hardware 6.3.1 Hardware del autómata 6.3.1.1 Arduino La tarjeta arduino ADK esta basada en el microprocesador Atmega2560 y fue elegida por la robustez de esta familia de microprocesadores AVR y la gran cantidad de prestaciones que pueden ofrecer, además de la alta velocidad a la que trabajan, ideales para aplicaciones que requieran ejecución en tiempo real.
La función que desempeña esta tarjeta en el autómata es la de comunicarse directamente con la tablet-pc y recibir ordenes de ésta, además de enviar variables de estatus del hardware del robot, por lo que la comunicación entre estos dos dispositivos es de forma bidireccional, esta tarjeta al recibir las instrucciones de la tablet-pc comanda los motores y demás hardware de potencia del robot. 6.3.1.2 Tablet-pc Al contar con una tablet-pc, se tiene un segundo microprocesador en el robot y mucho mas potente, de doble núcleo, capaz de realizar tareas que exijan mas rendimiento, dándole al autómata la capacidad de realizar tareas mas sofisticadas, todos estos recursos se procesan en el núcleo de la Tablet y esta solo debe comunicar las instrucciones que debe ejecutar el microcontrolador de la interfaz (arduino). Los siguientes recursos son el hardware con el que cuenta una tablet-pc y que pueden ser utilizados en aplicaciones robóticas: GPS: necesario para conocer en tiempo real la posición de un dispositivo sobre la tierra Acelerómetro: útil para la navegación estimada en ausencia de señales satelitales GPS y para conocer la velocidad y distancia recorrida por el autómata. Giroscopio: compensa tres grados de libertad adicionales al acelerómetro en la navegación estimada, brindando así 6 grados de libertad de lecturas de movimiento.
Brújula: se usa como complemento del GPS, acelerómetro y giroscopio para conocer de manera precisa la orientación con respecto al norte magnético de la tierra y así brindar más variables al sistema, que consecuentemente lo hacen mucho mas preciso. Cámara: útil para observar de forma remota lo que el autómata esta observando en tiempo real, a través del video en streaming que se da gracias a la comunicación de gran cantidad de datos a través del wifi o señales HSDPA/HSUPA (3G) Micrófono: son los oídos del autómata, le permite reconocer ciertos comandos de voz específicos, dándole al robot la facultad de escuchar instrucciones. Pantalla multitouch: Solo en algunos casos que el robot se vea incapacitado de escuchar comandos ya sea por exceso de ruido del exterior o por alguna otra causa, el usuario puede utilizar la pantalla para escribir los comandos o realizar alguna otra actividad WIFI/HSDPA/HSUPA: Gracias a estos tipos de comunicación de datos, podemos controlar el robot de forma inalámbrica gracias al wifi o de forma remota gracias al modem 3G con el que cuenta la tablet-pc, y por la gran cantidad de datos que pueden manejar estas tecnologías, además de poder mandar comandos de control remoto para el autómata, como la velocidad de los motores, giro a izquierda o derecha, etc., también se puede enviar simultáneamente datos de la cámara de un dispositivo a la pantalla de otro mediante video en streaming como ya se menciono anteriormente, características sustanciales para un rover, y porque no, realizar videollamadas por ip, evolucionando de un
simple robot interactivo a un robot de teleexistencia. 6.3.1.3 Motores Para la movilidad del robot se optó por utilizar una locomoción del tipo diferencial, esto es, un robot con dos ruedas tractoras con motores de alta potencia y una rueda libre, con la finalidad de reducir las líneas de código de programación y a su vez facilitar el diseño de la construcción del robot debido al tiempo en el que se tuvo que realizar, además de que esta configuración permite un traslado omnidireccional.
Es necesario contar con solenoides para el mecanismo de pliegue de los hombros, el robot puede tener distintas alturas ya que se pueden tener varios ángulos de inclinación. 6.3.1.6 Luces LED La finalidad del robot es que sea interactivo con las personas, es por eso que se han agregado luces que parpadeen al unísono del sintetizador de voz del robot, esto es, que titilen cuando el robot este hablando, además, como el robot solo entiende unos cuantos comandos y no un lenguaje natural como el de las personas, que los LED’s rojos se enciendan indicándole al
6.3.1.4 Encoders
usuario que el comando de voz no fue reconocido y que debe intentarlo una vez
Se montaron dos encoders incrementales en cuadratura, uno para cada rueda tractora, esto con la finalidad de darle una retroalimentación a la lógica de programación y que de esta forma la aplicación pueda saber la distancia recorrida y la velocidad de los motores en tiempo real, calcular las variables correspondientes para el control proporcional-integral-derivativo (PID) e interpretar estos datos ya sea en un arranque suave de los motores, girando con velocidades distintas dependiendo de la suavidad de la curva a la que hay que girar, etc. También la lectura de los encoders se puede aprovechar para brindar más variables al sistema para la navegación estimada y proporcionarle al autómata un odómetro para saber la distancia recorrida y un velocímetro para la velocidad del autómata de una forma mas precisa que solo usando sensores inerciales como ya se ha mencionado anteriormente.
mas y que estos LED’s cambien al color
6.3.1.5 Solenoides
verde para indicarle que su instrucción fue entendida con éxito. 6.3.2 Software 6.3.2.1 Diseño de software Son tres los componentes de hardware utilizados en este proyecto, es por eso que se necesita desarrollar tres diferentes aplicaciones, dos de estas son en la misma plataforma, una para el dispositivo maestro (tablet) y otra para el dispositivo esclavo (smartphone) que es el control remoto. El siguiente esquema de bloques (figura 6) muestra mejor la interactividad entre estos tres dispositivos y el funcionamiento general del control para el autómata.
La descripción de cada parte de la interfaz de usuario numerados 1 a 3 es la siguiente Esta parte tiene tres botones (1). El botón KILL de motores se utiliza para detener los motores en caso de emergencia.
Figura 6. Diagrama a bloques del funcionamiento general del autómata por control remoto.
6.3.2.2 Interfaz de usuario 6.3.2.2.1 Dispositivo maestro La aplicación de servidor se ejecuta en la tablet-pc integrada en el autómata, y no es por lo tanto diseñada para la interacción del usuario. Se utiliza principalmente para mostrar cualquier información relevante de estado al usuario (figura 7).
El botón Toggle streaming se utiliza para establecer si la aplicación servidor esta disponible para video streaming a una aplicación cliente (para corregir fuera de problemas de sincronización). El botón Toggle USB se utiliza para activar y desactivar la comunicación USB. Esta parte de la interfaz de usuario (2) muestra de forma visual el estado de los componentes del sistema. Cuando las señales son de color verde, significa que el componente esta activo. Si está en rojo, significa que no está activo. Esta parte (3) es la consola donde se muestran los informes de estado en una forma de texto. 6.3.2.2.2 Dispositivo esclavo La figura anterior muestra la interfaz de usuario de la aplicación cliente, que es el control remoto para el autómata y realiza la mayor parte de los datos de entrada del usuario y la retroalimentación. Cada parte de esta interfaz de usuario se describe a continuación (figura 8).
Figura 7. Interfaz de usuario del dispositivo servidor.
Aquí (4), se muestra el vídeo enviado desde el robot. El usuario la puede utilizar para controlar el movimiento del robot. 7. Resultados
Figura 8. Interfaz de usuario del dispositivo cliente.
Esta parte (1) del panel táctil es donde se dan los comandos de movimiento hacia delante / atrás y hacia los lados. Cuando un usuario mueve el dedo verticalmente hacia arriba aumentará el comando de velocidad que es enviado y si ocurre lo contrario la velocidad se reduce hasta que el robot invierte la dirección para ir hacia atrás. Por otro lado, si el usuario mueve su dedo lateralmente, el robot cambia de dirección junto con el movimiento de los dedos. Aquí es donde se muestran los datos de sensor (2). El GPS y las lecturas del magnetómetro se han incorporado en Google Maps para mostrar la ubicación y la orientación del robot. La lectura del acelerómetro también se superpone en los mapas de Google. Hay diferentes componentes aquí (3). Los dos botones ON / OFF se utilizan para activar los motores y encender la luz LED del teléfono si es que se cuenta con ella. Hay también una representación visual de la situación de los diferentes componentes en el robot. Además, la ventana de la consola aquí se utiliza para imprimir los informes de estado en texto (Paul Bovbel and Fitsum Andargie, 2012).
Hasta ahora los resultados han sido satisfactorios, se han realizado ya pruebas con el control remoto y funciona sin ningún inconveniente, la estructura metálica esta completamente terminada y la prueba de plegarlo con servomotores falló debido a que se necesitan servomotores con mas torque, por lo que se opto por una solución alternativa de aprovechar los mismos motores tractores con la ayuda de los encoders para calcular cuanto deben desplazarse para que el mecanismo de pliegue que se encuentra en el hombro pueda acoplarse perfectamente. 8. Conclusión
Es totalmente posible realizar un robot con todas las características antes mencionadas, pero los errores están de por medio, ya que todo sistema en la vida real no trabaja de la forma ideal, existen muchas variables que modifican el mismo. 9. Futuras líneas de investigación
Se propone a futuro que el robot sea completamente autónomo complementado con la aplicación de control remoto, además de conservar el código abierto de la aplicación para modificarla y que tenga la opción de evolucionar a un robot de telepresencia permitiendo videollamadas ip y manipulación simultánea. 10. Referencias
ANSI/RIA R15.06-1999 National Robot Safety Standard. E.E.U.U.: Robotic Industries Association.
ISO Standard 8373:1994. Manipulating Industrial Robots – Vocabulary Suiza: ISO. AFNOR. (2006). ISO TC 184/SC 2 Scope Francia: Association française de Normalisation. IFR. (1994). ISO Standard 8373 E.E.U.U: International Federation of Robotics. Paul Bovbel and Fitsum Andargie (2012) Android-based Mobile Robotics Development Platform E.E.U.U: ECE1778: Creative Applications for Mobile Devices. . 11. Agradecimientos
Agradecemos al departamento de mecatrónica por el apoyo a este proyecto, en especial al ing. Emilio Ayar González por su gran colaboración. Clave del proyecto: MT-PJ-QRO-25 Código Numérico: 11-01-00-14