MATLAB EN APLICACIONES DE ROBOTICA MOVIL

WILMER ALEXIS SANDOVAL CACERES
Egresado de la Universidad Pontificia Bolivariana sandoval.wilmer@gmail.com

IVAN MAURICIO SALCEDO RINCON
Egresado de la Universidad Pontificia Bolivariana isalcedo@upbbga.edu.co

CLAUDIA LEONOR RUEDA GUZMAN Directora de Tesis
clrueda@gmail.com

Resumen: Matlab es un software matemático muy poderoso, comercialmente disponible, desarrollado y distribuido por Mathworks, Inc. Es utilizado ampliamente en la academia y la industria debido a sus capacidades avanzadas, además posee una serie de herramientas que contienen funciones comúnmente usadas en ingeniería. En este artículo se hará una pequeña descripción del manejo y comportamiento del puerto serial del PC y el manejo de interfaces graficas, mediante el uso de las herramientas proporcionadas por el software Matlab, para desarrollar una aplicación de robótica móvil, la cual permitió explorar un área determinada y detectar la ubicación de diferentes obstáculos. Palabras claves: Datos, CRC (código de redundancia cíclica, Matlab, microbot, PC (computador personal), puerto serial, radio frecuencia (RF), sensores, toolbox ultrasonido. Abstract: Matlab is a commercially available mathematical software package developed and distributed by The Mathworks, Inc. It is widely used in academia and industry because of its advanced capabilities, it's also has built-in toolboxes that contain commonly used engineering. In this article, I’m going to do a small description of the handling and behaviour of the computer’s serial port and graphic interface handling, by means of the use of the tools

provided by the Matlab software, to develop Mobile Robot´s applications based on this software. This application let exploring a small area and found the different obstacles localizing.

Key words: Data, CRC (Cyclic Redundancy Check Code), microbot, Matlab PC (Personal Computer), radio frequency (RF), serial port, sensor, toolbox, ultrasound. 1. INTRODUCCIÓN La microbótica es una rama derivada de la robotica, la cual a tomado gran auge en el siglo XXI. Existen una gran diversidad de microbots, entre los cuales podemos destacar: bípedos, cuadrúpedos, hexápodos y rastreadores, entre otros. Toda la información referente al microbot ó a su entorno puede ser adquirida, procesada o enviada mediante el uso de los puertos del computador. Existen muchos softwares que permiten manipular los puertos del PC, Matlab no es la excepción, además de lo anteriormente mencionado, esta dotado con una toolbox especializada en robótica. Quizás una de las aplicaciones de la microbótica móvil mas conocida en el campo de la investigación es el microbot SOJOURNER, el cual fue enviado por la NASA en 1997, para la exploración del planeta Marte.

la investigación. Cuando un objeto interrumpe el haz. 2. para sus experimentos en el espacio exterior. para que se propague el ultrasonido se requiere que las partículas del medio. es necesario contar con algunos conceptos básicos de comunicación de datos. 2. La finalidad de estos microbots es realizar tareas. son ondas mecánicas vibratorias. Dentro de la robótica móvil podemos destacar los prototipos desarrollados por la NASA. El microbot es un dispositivo móvil que reacciona ante el entorno de acuerdo con un plan de acciones programado por el usuario. el cual hizo parte de de la misión espacial Pathfinder en 1997. se dificultaría un tanto. FUNDAMENTOS TEORICOS.1 Sensores Infrarrojos (IR): Los sensores infrarrojos son un tipo de sensor de luz que utiliza una parte del espectro denominada infrarrojo (como se observa en al Figura 2). Sin previo conocimiento de estos temas. entre muchas otras. pequeñas con un alto grado de precisión y rapidez. Espectro Electromagnético. Inicialmente se diseñaron robots para uso industrial. la salud y el entretenimiento.2 Sensores Ultrasónicos: Las ondas ultrasónicas. para ser el primer robot errante en explorar el planeta rojo [1]. En el trigésimo aniversario de la exploración robótica de Marte. que tiene múltiples campos de acción. el nivel de recepción . década del siglo XXI. es decir. Hoy en día. Tomado de [1] . aire o sólido oscilen alrededor de su punto de equilibrio [4]. el SOJOURNER es un ejemplo de este tipo de aplicaciones. los cuales son peligrosos para el ser humano. pero con el paso del tiempo. Los sensores ultrasónicos son detectores que están basados en la emisión-recepción de ondas ultrasónicas. También son llamados transductores y tarea es convertir una medida física en una medida eléctrica. Posteriormente. A continuación se hará una breve descripción de los sensores mas utilizados en el desarrollo de microbots. 1.2. 2.Para comprender de una forma más rápida y concisa. el cual puede ser observado en la figura 1. Para moverse utiliza motores y para reconocer el entorno emplea sensores de todo tipo.1 La Microbótica Y Los Microbots: La microbótica es una tecnología derivada de la robótica industrial que se esta imponiendo en multitud de aplicaciones y que plorífera masivamente en la primera Tomado de [3] Fig. 2. Finalmente para controlar motores. Fotografía Del Robot Sojourner En Su Explotación A Marte. sensores y actuadores dispone de un computador en miniatura programado en función de la finalidad a la que se destina [2]. es común observar aplicaciones de robots en áreas como: la industrial. el entendimiento de lo que se desea plasmar en el presente artículo.2 Sensores: Los sensores son elementos que nos permiten establecer un puente entre el mundo físico y el mundo electrónico. También son utilizados en entornos. los cuales efectúan tareas en entornos hostiles para el ser humano. Fig. 2. robótica.2. las aplicaciones de robótica móvil. la NASA selecciono al conocido "SOJOURNER". electrónica. sensores y software de desarrollo. cuyo rango fluctúa entre 3x1011Hz hasta aproximadamente los 4x1014Hz. ya sea líquido. 2. La robótica es una disciplina. la NASA ha desarrollado otros robots móviles para la exploración espacial como OPPORTUNITY y SPIRIT. se han ampliado sus campos de acción.

2. Tomado de [5] Fig. Matlab es usado en una variedad de áreas de aplicación incluyendo procesamiento de señales e imágenes. incluyendo datos triangulados y reticulados. Soporte eficiente de imagen de datos de 8-bit. como los circuitos de protección correspondientes para cada caso. Para lo anteriormente mencionado se implementaron tanto los cables de comunicación para los puertos. Impresión y representación de copias. Inicialmente se familiarizo con los comandos que permiten manipular los puertos del PC.1 Puerto Paralelo: Para observar el comportamiento del puerto paralelo. En la figura 4. Presentación de OpenGL software y hardware. para posteriormente acoplarlas y obtener el resultado deseado. Animación. Iluminación Plana. Selección expandida de símbolos marcadores de curvas. Sensor Ultrasónico. Representación de imágenes y archivos I/O. 4. se organizaron las diferentes tareas en varias etapas. símbolos. Posee una serie de herramientas que facilitan el procesamiento de información. Hoy en día. En la figura 4 se observa un ejemplo de este tipo de sensor.3 MATLAB Matlab es el nombre abreviado de “MATrix LABoratory”.7. no podrán ser utilizados en lugares donde éste circule con violencia (bocas de aire acondicionado. Fig. etc. todos los datos son almacenados como vectores [7]. de barras 3-D y gráficos de barras horizontales. subíndices y superíndices. Fuentes múltiples de luz para superficies coloreadas.1 Características Del Entorno: Matlab provee acceso inmediato a las características gráficas especializadas requeridas en ingeniería y ciencias. etc. PRUEBAS REALIZADAS. Con el fin de realizar una aplicación muy fiable y versátil. 3. de tal manera que el .varía y el receptor lo detecta. cercanías de puertas. y stem Control de fuentes. Además de esto cuenta con herramientas de desarrollo como la GUI (Graphic User Interface).).). Gouraud y Pong. y dado que estos detectores utilizan ondas ultrasónicas que se mueven por el aire. Propiedades de superficie y match. Representaciones 3-D quiver. se hicieron pruebas sencillas de transmisión y recepción de datos con el fin de verificar la fiabilidad de la comunicación implementada con el puerto paralelo. Representación en bloques de la aplicación desarrollada. ribbon. Soporte de colores verdaderos (24-bit RGB). la cual permite generar entornos gráficos para las diferentes aplicaciones. 3. matrices y vectores son el corazón de Matlab. como cristal y plásticos. Vista basada en cámara y control de perspectiva. se implemento un circuito con LEDS e interruptores miniaturas. Formatos gráficos exportables. Modelos de iluminación. o en medios de elevada contaminación acústica (prensas. choques entre metales. Leer/Escribir archivos de datos Hierarchical Data Format (HDF). Sin embargo. Para este caso especifico. Control de eje y cámara. diseño de sistemas de control. ingeniería financiera e investigación médica. Una de las capacidades más atractivas es la de poseer un lenguaje de programación propio. letras Griegas. y se construyeron los elementos necesarios para establecer una comunicación bidireccional entre el PC y un periférico externo. Gráficos de torta. Los detectores ultrasónicos pueden detectar con facilidad objetos transparentes. 3. Gráficos 3-D y sólido modelado. entre los cuales se destacan: Representaciones 2-D y 3-D. podemos observar una representación de toda la aplicación en conjunto 2. En general. Control gráfico de objetos. es un programa especializado para realizar cálculos numéricos [6]. materiales que ofrecen dificultades para la detección óptica. Gráficos comentados.

En la figura 7. se opto por utilizar una base circular con dos llantas y una rueda loca como se observa en la figura 8. obtenida por los diferentes sensores. BITS DE PARADA. 7. La diferencia fundamental entre estos dos tipos de comunicación radica.circuito implementado permitiese para manipular los estados de las entradas del puerto y observar las salidas del mismo. se realizaron el mismo tipo de pruebas que se describieron en la sección del puerto paralelo. se debe tener un dispositivo especializado. se realizo la construcción y programación de la unidad móvil. NUMERO DE BITS DE DATOS 3. En la figura 5.2 Puerto Serial: Para observar la fiabilidad del puerto serial. el microbot . con el fin de verificar las velocidades de comunicación de Matlab. escoger la rata de baudios. BIT DE PARIDAD. Fig. Diagrama De Flujo Para La Comunicación Serial Fig. basados en dicha información se manipularon los motores y servomotores (futaba S3003) de la unidad móvil. 5 Creación del objeto digital de entrada/salida tipo paralelo. Prueba De Recepción De Datos Mediante El Puerto Serial. se observa un ejemplo de la creación de un objeto digital tipo paralelo. es decir. ESTABLECER: VELOCIDAD DE COMUNICACIÓN. se utilizo un microcontrolador 18C452 de microchip. en que para la comunicación serial. REG_TX= 0 REG_RX= 0 DATOS= 0 Llanta 1 HUBO_INTERRUPCION POR RX? SI REG_RX= DATOS Llanta 2 Eje de Giro NO SE CARGO DATO PARA TX? REG_TX= DATOS NO SI Rueda libre VISULIZAR DATOS Fig. debido que con esta forma geométrica. para controlar su desplazamiento. Realizada Con El MATLAB. 6. utilizado para la comunicación serial COMUNICACIÓN SERIAL Fig.3 Microbot: Paralelamente al desarrollo del software y a las pruebas de comunicación entre el PC y un dispositivo externo. dotándola con sensores especializados para realizar el estudio de su entorno. para posteriormente. programado de tal manera que podamos generar o visualizar los datos deseados. 3. Para tal fin se es necesario utilizar un microcontrolador 18C452 de microchip. desarrollar. Como cerebro del microbot. donde se implemento un programa capaz de adquirir y almacenar la información. más conveniente según los requerimientos de la aplicación a Como resultado final de las pruebas realizadas con la unidad móvil. En la figura 6 se observa el diagrama de flujo. se observa un ejemplo de recepción de datos mediante el puerto serial. con los mismos elementos de señalización y de control que se utilizaron en el circuito del puerto paralelo. interruptores miniaturas y LEDS. BIT DE ARRANQUE. 8 Base de la Unidad Móvil con dos ruedas libres Para este caso específico se realizaron diferentes pruebas.

Como resultado final se obtuvo una interfaz grafica capaz de generar y obtener información del puerto serial. En la figura 9 se observa el diagrama de flujo que se utilizo para tal fin.4 Interfaz grafica: Se diseño una interfaz grafica hibrida. se ubicaron estratégicamente los motores que proporcionan la movilidad al motor. Posteriormente se implemento el código necesario para que el microbot adquiriera información de su entorno. la función de este sistema. 3. Estos módulos están diseñados para codificar y decodificarlos datos y transmitirlos ó recibirlos. con la opción de decodificar la información adquirida. para su posterior manipulación y estudio. y basado en dicha información. Para posteriormente enviar la información sensada al PC. En las comunicaciones inalámbricas es necesario tener en cuenta que el medio introduce errores debido a perturbaciones en él. la cual se almaceno en un sistema matricial. Fig. para evaluar los datos recibidos que posteriormente se almacenarían en el PC. según sea el caso. 3. con la finalidad de ser manipulada fácilmente por un usuario inexperto en la materia. La interfaz grafica fue diseñada. se ubicaron dos tipos de sensores (infrarrojos TP12 y ultrasónicos SRF05) y sus respectivos sistemas acondicionadores de señales de tal manera que las mediciones de las señales analógicas realizadas. 9 Diagrama De Flujo Para La Adquisición De Información. .utilizaba un área menor para realizar los giros sobre su eje central. se obtuvieran con la mayor fiabilidad posible. Fig. ejecutara una serie de rutinas previamente programadas. Sobre dicha base.5 Sistema de comunicación inalámbrico: Se implemento un sistema inalámbrico de comunicación tanto en la unidad móvil como en el periférico externo al PC. En la figura 10. a su vez. los cuales realizan una modulación ASK a 433MHz. se observa el aspecto de la interfaz desarrollada. para lo cual fue dotada con una serie de ayudas que guían paso a paso al usuario a largo de toda la aplicación. Este tipo comunicación se implemento con los módulos TWS434 y RWS434 de Laipac. fue llevar un registro del desplazamiento de la unidad móvil. Para la detección de los obstáculos se utilizaron sensores ultrasónicos SRF04 los cuales obtenían la información pertinente a la presencia de algún objeto frente a la unidad móvil. con la finalidad de enlazar via radiofrecuencia (RF) al microbot con el PC. especializados en comunicaciones. por lo cual se hace necesario emplear un sistema detector de errores. se implemento el código de redundancia cíclica (CRC). En nuestro caso especifico. como resultado de las pruebas realizadas al generar interfaces graficas mediante código y mediante la GUI de Matlab. Una vez construido la unidad móvil. 10. Interfaz grafica desarrollada. se implemento un sistema de generación de coordenadas. se procedió a realizar pruebas de programación del microbot para verificar su funcionamiento básico. Para determinar la posición tanto del objeto como de la unidad móvil.

Se estableció una comunicación serial asíncrona entre el PC y periféricos desarrollados por el usuario. Este tipo de comunicación tiene la ventaja VERIFICAR DATO ROTAR=5 M=CRC=0 M=CRC=SWAPF_DATO M CORRIMIENTO 1 BIT A LA IZQUIERDA CRC CORRIMIENTO 1 BIT A LA IZQUIERDA NO ROTAR>1 SI M CORRIMIENTO 1 BIT A LA IZQUIERDA CRC CORRIMIENTO 1 BIT A LA IZQUIERDA ROTAR=ROTAR-1 CRC=CRC BIT 4=0? SI CRC=CRC AND 00011111 CRC =CRC XOR POL NO RETORNAR Fig. el primer paso es construir el microbot teniendo en cuenta aspectos importantes como: seleccionar los sensores adecuados. Los sensores ultrasónicos representan una solución práctica y confiable a las mediciones de presencia y distancia gracias a su presición e inmunidad al ruido. se tiene que las interfaces gráficas pueden ser dotadas de operaciones matemáticas complejas. Diagrama De Flujo Para El CRC. un sistema de posicionamiento relativo basado en sensores infrarrojos y encoders incrementales y un transmisor de ASK TWS434. 11. constituido fundamentalmente por el receptor de ASK RWS434. juega un papel trascendental en el buen desempeño del microbot en sus tareas. además de contar con librerías especializadas en diversas áreas. Se definieron los mejores parámetros para la construcción de la unidad móvil acorde a las especificaciones de diseño. lo que los hace óptimos para aplicaciones de microbótica. Se diseñó y construyó el puente receptor de datos irradiados o concentrador de datos. Este código es de los más versátiles en esta tarea ya que hace un siguiente bit por bit de la información. Se estableció una transmisión de datos a través de un enlace de radiofrecuencia capaz de transmitir paquetes de información encriptada de 6 bytes en forma asíncrona. basados en los requerimientos de la aplicación. se hicieron múltiples pruebas de alcance. Como ventaja adicional de Matlab. De esta forma se acoplaron los datos recibidos por radiofrecuencia y fueron transmitidos al computador. Mediante el uso de Matlab se implementaron interfaces gráficas de entornos amigables como las desarrolladas bajo plataformas de programas especializados en esta área. Ubicar todos los elementos tanto estratégica como cuidadosamente dentro de la base del móvil. como es la desviación de trayectoria del microbot por mala ubicación de sus motores en la armazón.En la figura 11. para lo cual se estableció un protocolo de recepción. escoger los sistemas de desplazamiento más adecuados (Motores o servomotores). Para implementar un sistema de comunicación inalámbrico fiable. CONCLUSIONES Y RECOMENDACIONES Para implementar una aplicación de de robótica móvil. por lo general presentan un problema muy serio . Se diseñó y construyó el microbot NEURO dotado con un sensor ultrasónico SRF04. podemos observar el diagrama de flujo utilizado para generar ú obtener el código de redundancia cíclica. que no consuman corriente en exceso. Esta última parte. Las armazones realizados con poca precaución para robots móviles (que se desplazan sobre ruedas). mediante el uso de Matlab. Este conjunto de componentes permiten a NEURO explorar obstáculos en un área de 3. De esta manera. transmisión y recepción y se realizaron las correcciones de software y hardware correspondientes. se ubicó la unidad móvil dentro de una localidad de coordenadas XY y se pudo medir la distancia recorrida y los obstáculos encontrados referenciados al punto de partida del microbot. como Visual Basic.48m dividido en 12 pixeles de 29x29cm y enviar vía radiofrecuencia la información de posición y obstáculos registrados.48x3. Se empleó un protocolo estándar detector de errores empleando el código de redundancia cíclica. debido a que este programa tiene un fuerte manejo matemático de datos. Así. un microcontrolador PIC 18F452 y el circuito integrado MAX232. se seleccionó un sensor infrarrojo de rebote por su baja dispersión de la luz junto con un encoder ranurado para el sistema posicionador del microbot.

com/access/helpdesk/help/tec hdoc/matlab.A. Wilmer Alexis. Pág 535-566. Ignacio y ROMERO YESA. a los ingenieros: Cristian Jhon Ruiz. Visitado en octubre de 2004. Bucaramanga.. [11] [12] [13] 5. A la Dra Ivonne Twiggy Sandoval Cáceres y la Esp.com/catalogs MATHWORKS. 1993. Alfaomega grupo editor S. Ingeniería del conocimiento ”Robótica e Infraestructuras Inteligentes”. SALCEDO R.com/temas/espectro. Pág. Lo anterior facilita la implementación de comunicaciones inalámbricas. Visitado en Enero de 2005. México D.: Wilmer Alexis Sandoval Cáceres: Ingeniero electrónico egresado de la UPB (Universidad Pontificia Bolivariana) seccional Bucaramanga. [3] C. 165168. HANSELMAN Duane.A. Wilmington: Addison-Wesley Iberoamericana S. URL: www. Se implementó el software necesario para el tratamiento de datos empleando Matlab efectuando la debida manipulación de la información para generar una serie de gráficas. Héctor Ramiro Pérez por sus comentarios y apoyo. Susana. Pág. Pág 654-664.html. URL:http://materiales.com/tech/layer_1/cables/tech_rs232. [4] [5] [6] [7] . S. Juan Carlos Villamizar y al Al Dr. Autómatas Programables.zytrax. http://www. 6 Ed. 4. Sistemas De Comunicaciones Electrónicas 4 Ed. Wiring and Pinouts.A. Iván Mauricio. S. RS232 Cables.ab. 1998. [8] BALCELLS. Pág 1-6. URL: http://almaak. de fácil entendimiento y manipulación. México: Prentice Hall / Pearson Educación.de utilizar tres líneas de comunicación.ht m#db9. AGRADECIMIENTOS Agradezcemos de manera muy cordial al ingeniero Jesús Antonio Vega. debido a que se utilizan menos líneas de comunicación. ANGULO MARTINEZ. Roberto Ángel. Ferr el G. 2000. Tesis de grado “Estudio de Detección De Obstáculos mediante sensores ultrasónicos e infrarrojos para la realización de mapa bidimensional con representación grafica en computador”.eia. URL: http://mpfwww. en contraste con la comunicación implementada por puerto paralelo. Pág. José Luis. Visitado en Febrero de 2005. URRIZA MACAGNO. 1998. 3 años de experiencia en el campo de la robótica móvil. por su gran colaboración y amistad. CARVAJAL T. Carlos Gerardo Hernández.mathworks. Carlos Andres. Págs.tripod.html [14] [2] ANGULO USATEGUI. TOMASI Wayne.V. Buenos Aires: Editores S.co/laboratorios/ultrasonido.R. y que puede ser interpretada fácilmente. Visitado en Marzo de 2005. REFERENCIAS [1] NASA. STREMLER. las cuales ofrecen una completa descripción gráfica al usuario de los datos recibidos. URL:http://www.L 2003. 2 Ed. ZITRAX.gov/MPF/index1. 7 Ed. Tilcia Cáceres de Sandoval por su gran colaboración y apoyo incondicional. SANDOVAL C. 109-110.A. Espectro electromagnético Visitado en Mayo de 2004. Microcontroladores PIC “Diseño práctico de aplicaciones”.h tm. Serial Port I/O. Introducción a los sistemas de comunicación. Universidad Pontificia Bolivariana. Marzo de 2005. 119 y 126. LITTLEFIELD Bruce. Joseph y ROMERAL. 3 Ed. Esto se desarrolló pensando en que la aplicación fuese lo más didáctica posible para el usuario.A. New Jersey: Prentice Hall / Pearson Educación.jpl. Mastering Matlab 5. S.A. Pathfinder.edu.nasa. Madrid: Prentice Hall / Prentice Hall Hispanoamericana. 608. 861-871.htm ESCUELA de Ingeniería de Antioquia. 2000. S. [9] [10] STALLING William. 2000. Madrid: McGraw Hill / Interamericana de España.F. José María.

Sign up to vote on this title
UsefulNot useful