2-4) Matlab en Aplicaciones de Robotica Movil PDF

También podría gustarte

Está en la página 1de 8

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 matemtico muy provided by the Matlab software, to develop Mobile
poderoso, comercialmente disponible, desarrollado y Robots applications based on this software. This
distribuido por Mathworks, Inc. Es utilizado ampliamente application let exploring a small area and found the
en la academia y la industria debido a sus capacidades different obstacles localizing.
avanzadas, adems posee una serie de herramientas que
contienen funciones comnmente usadas en ingeniera.
Key words: Data, CRC (Cyclic Redundancy Check Code),
En este artculo se har una pequea descripcin del microbot, Matlab PC (Personal Computer), radio
manejo y comportamiento del puerto serial del PC y el frequency (RF), serial port, sensor, toolbox, ultrasound.
manejo de interfaces graficas, mediante el uso de las
herramientas proporcionadas por el software Matlab, para 1. INTRODUCCIN
desarrollar una aplicacin de robtica mvil, la cual permiti
explorar un rea determinada y detectar la ubicacin de La microbtica es una rama derivada de la robotica, la
diferentes obstculos. cual a tomado gran auge en el siglo XXI. Existen una gran
diversidad de microbots, entre los cuales podemos
Palabras claves: Datos, CRC (cdigo de redundancia destacar: bpedos, cuadrpedos, hexpodos y rastreadores,
cclica, Matlab, microbot, PC (computador personal), entre otros.
puerto serial, radio frecuencia (RF), sensores, toolbox
ultrasonido. Toda la informacin referente al microbot a su entorno
puede ser adquirida, procesada o enviada mediante el uso
Abstract: Matlab is a commercially available mathematical de los puertos del computador. Existen muchos softwares
software package developed and distributed by The que permiten manipular los puertos del PC, Matlab no es
Mathworks, Inc. It is widely used in academia and industry la excepcin, adems de lo anteriormente mencionado, esta
because of its advanced capabilities, it's also has built-in dotado con una toolbox especializada en robtica.
toolboxes that contain commonly used engineering.
Quizs una de las aplicaciones de la microbtica mvil
In this article, Im going to do a small description of the mas conocida en el campo de la investigacin es el
handling and behaviour of the computers serial port and microbot SOJOURNER, el cual fue enviado por la NASA
graphic interface handling, by means of the use of the tools en 1997, para la exploracin del planeta Marte.
dcada del siglo XXI. El microbot es un dispositivo mvil
Para comprender de una forma ms rpida y concisa, las que reacciona ante el entorno de acuerdo con un plan de
aplicaciones de robtica mvil, es necesario contar con acciones programado por el usuario. Para moverse utiliza
algunos conceptos bsicos de comunicacin de datos, motores y para reconocer el entorno emplea sensores de
electrnica, robtica, sensores y software de desarrollo. Sin todo tipo. Finalmente para controlar motores, sensores y
previo conocimiento de estos temas, se dificultara un tanto, actuadores dispone de un computador en miniatura
el entendimiento de lo que se desea plasmar en el presente programado en funcin de la finalidad a la que se destina
artculo. [2].

2. FUNDAMENTOS TEORICOS. La finalidad de estos microbots es realizar tareas,


pequeas con un alto grado de precisin y rapidez.
La robtica es una disciplina, que tiene mltiples campos de Tambin son utilizados en entornos, los cuales son
accin. Inicialmente se disearon robots para uso industrial, peligrosos para el ser humano.
pero con el paso del tiempo, se han ampliado sus campos de
accin. Hoy en da, es comn observar aplicaciones de
robots en reas como: la industrial, la investigacin, la salud 2.2 Sensores:
y el entretenimiento, entre muchas otras. Los sensores son elementos que nos permiten
establecer un puente entre el mundo fsico y el mundo
electrnico. Tambin son llamados transductores y tarea es
convertir una medida fsica en una medida elctrica. A
continuacin se har una breve descripcin de los sensores
mas utilizados en el desarrollo de microbots.

2.2.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), cuyo rango flucta entre 3x1011Hz hasta
aproximadamente los 4x1014Hz.

Tomado de [1] .
Fig. 1. Fotografa Del Robot Sojourner En Su Explotacin A
Marte.

Dentro de la robtica mvil podemos destacar los


prototipos desarrollados por la NASA, para sus
experimentos en el espacio exterior, los cuales efectan
tareas en entornos hostiles para el ser humano, el
SOJOURNER es un ejemplo de este tipo de aplicaciones, el
cual hizo parte de de la misin espacial Pathfinder en 1997,
el cual puede ser observado en la figura 1.

En el trigsimo aniversario de la exploracin robtica de


Marte, la NASA selecciono al conocido "SOJOURNER", Tomado de [3]
para ser el primer robot errante en explorar el planeta rojo Fig. 2. Espectro Electromagntico.
[1].
2.2.2 Sensores Ultrasnicos: Las ondas ultrasnicas, son
Posteriormente, la NASA ha desarrollado otros robots ondas mecnicas vibratorias, es decir, para que se propague
mviles para la exploracin espacial como OPPORTUNITY el ultrasonido se requiere que las partculas del medio, ya
y SPIRIT. sea lquido, aire o slido oscilen alrededor de su punto de
equilibrio [4].
2.1 La Microbtica Y Los Microbots:
La microbtica es una tecnologa derivada de la Los sensores ultrasnicos son detectores que estn
robtica industrial que se esta imponiendo en multitud de basados en la emisin-recepcin de ondas ultrasnicas.
aplicaciones y que plorfera masivamente en la primera Cuando un objeto interrumpe el haz, el nivel de recepcin
vara y el receptor lo detecta. En la figura 4 se observa un Grficos de torta, de barras 3-D y grficos de barras
ejemplo de este tipo de sensor. horizontales.
Grficos 3-D y slido modelado.
Los detectores ultrasnicos pueden detectar con facilidad Representacin de imgenes y archivos I/O.
objetos transparentes, como cristal y plsticos, materiales Grficos comentados.
que ofrecen dificultades para la deteccin ptica. Sin Leer/Escribir archivos de datos Hierarchical Data Format
embargo, y dado que estos detectores utilizan ondas (HDF).
ultrasnicas que se mueven por el aire, no podrn ser Presentacin de OpenGL software y hardware.
utilizados en lugares donde ste circule con violencia (bocas Animacin.
de aire acondicionado, cercanas de puertas, etc.), o en Soporte de colores verdaderos (24-bit RGB).
medios de elevada contaminacin acstica (prensas, choques Fuentes mltiples de luz para superficies coloreadas.
entre metales, etc.). Vista basada en cmara y control de perspectiva.
Iluminacin Plana, Gouraud y Pong.
Soporte eficiente de imagen de datos de 8-bit.
Control de eje y cmara.
Propiedades de superficie y match.
Modelos de iluminacin.
Control grfico de objetos.
Impresin y representacin de copias.
Formatos grficos exportables.

Tomado de [5] 3. PRUEBAS REALIZADAS.


Fig. 3. Sensor Ultrasnico.
Con el fin de realizar una aplicacin muy fiable y verstil,
2.3 MATLAB se organizaron las diferentes tareas en varias etapas, para
Matlab es el nombre abreviado de MATrix posteriormente acoplarlas y obtener el resultado deseado.
LABoratory, es un programa especializado para realizar En la figura 4, podemos observar una representacin de
clculos numricos [6]. Una de las capacidades ms toda la aplicacin en conjunto
atractivas es la de poseer un lenguaje de programacin
propio.

Hoy en da, Matlab es usado en una variedad de reas de


aplicacin incluyendo procesamiento de seales e imgenes,
diseo de sistemas de control, ingeniera financiera e
investigacin mdica.

En general, matrices y vectores son el corazn de Matlab, Fig. 4. Representacin en bloques de la aplicacin
todos los datos son almacenados como vectores [7]. Adems desarrollada.
de esto cuenta con herramientas de desarrollo como la GUI
(Graphic User Interface), la cual permite generar entornos Inicialmente se familiarizo con los comandos que permiten
grficos para las diferentes aplicaciones. manipular los puertos del PC, y se construyeron los
elementos necesarios para establecer una comunicacin
2.7.1 Caractersticas Del Entorno: Matlab provee acceso bidireccional entre el PC y un perifrico externo. Para lo
inmediato a las caractersticas grficas especializadas anteriormente mencionado se implementaron tanto los
requeridas en ingeniera y ciencias. Posee una serie de cables de comunicacin para los puertos, como los circuitos
herramientas que facilitan el procesamiento de informacin, de proteccin correspondientes para cada caso.
entre los cuales se destacan:
3.1 Puerto Paralelo:
Representaciones 2-D y 3-D, incluyendo datos triangulados
Para observar el comportamiento del puerto
y reticulados.
paralelo, se hicieron pruebas sencillas de transmisin y
Representaciones 3-D quiver, ribbon, y stem
recepcin de datos con el fin de verificar la fiabilidad de la
Control de fuentes, letras Griegas, smbolos, subndices y
comunicacin implementada con el puerto paralelo.
superndices.
Seleccin expandida de smbolos marcadores de curvas.
Para este caso especifico, se implemento un circuito con
LEDS e interruptores miniaturas, de tal manera que el
circuito implementado permitiese para manipular los estados desarrollar. En la figura 7, se observa un ejemplo de
de las entradas del puerto y observar las salidas del mismo. recepcin de datos mediante el puerto serial.
En la figura 5, se observa un ejemplo de la creacin de un
objeto digital tipo paralelo.

Fig. 5 Creacin del objeto digital de entrada/salida tipo


paralelo.

3.2 Puerto Serial:


Para observar la fiabilidad del puerto serial, se Fig. 7. Prueba De Recepcin De Datos Mediante El Puerto
realizaron el mismo tipo de pruebas que se describieron en la Serial, Realizada Con El MATLAB.
seccin del puerto paralelo. La diferencia fundamental entre
estos dos tipos de comunicacin radica, en que para la
comunicacin serial, se debe tener un dispositivo 3.3 Microbot:
especializado, programado de tal manera que podamos Paralelamente al desarrollo del software y a las
generar o visualizar los datos deseados. Para tal fin se es pruebas de comunicacin entre el PC y un dispositivo
necesario utilizar un microcontrolador 18C452 de microchip, externo, se realizo la construccin y programacin de la
con los mismos elementos de sealizacin y de control que unidad mvil, dotndola con sensores especializados para
se utilizaron en el circuito del puerto paralelo, es decir, realizar el estudio de su entorno. Como cerebro del
interruptores miniaturas y LEDS. En la figura 6 se observa microbot, se utilizo un microcontrolador 18C452 de
el diagrama de flujo, utilizado para la comunicacin serial microchip, donde se implemento un programa capaz de
adquirir y almacenar la informacin, obtenida por los
COMUNICACIN
SERIAL diferentes sensores, basados en dicha informacin se
manipularon los motores y servomotores (futaba S3003) de
ESTABLECER: VELOCIDAD DE
COMUNICACIN, BIT DE ARRANQUE, BITS
la unidad mvil, para controlar su desplazamiento.
DE PARADA, BIT DE PARIDAD, NUMERO DE
BITS DE DATOS

REG_TX= 0
REG_RX= 0
DATOS= 0
Llanta 1 Llanta 2

HUBO_INTERRUPCION REG_RX=
SI
POR RX? DATOS Eje de Giro

NO

SE CARGO DATO REG_TX=


NO SI
PARA TX? DATOS
Rueda libre

VISULIZAR
DATOS

Fig. 8 Base de la Unidad Mvil con dos ruedas libres


Fig. 6. Diagrama De Flujo Para La Comunicacin Serial Como resultado final de las pruebas realizadas con la
Para este caso especfico se realizaron diferentes pruebas, unidad mvil, se opto por utilizar una base circular con dos
con el fin de verificar las velocidades de comunicacin de llantas y una rueda loca como se observa en la figura 8,
Matlab, para posteriormente, escoger la rata de baudios, debido que con esta forma geomtrica, el microbot
ms conveniente segn los requerimientos de la aplicacin a
utilizaba un rea menor para realizar los giros sobre su eje 3.4 Interfaz grafica:
central. Se diseo una interfaz grafica hibrida, como
resultado de las pruebas realizadas al generar interfaces
Sobre dicha base, se ubicaron estratgicamente los motores graficas mediante cdigo y mediante la GUI de Matlab.
que proporcionan la movilidad al motor, a su vez, se
ubicaron dos tipos de sensores (infrarrojos TP12 y Como resultado final se obtuvo una interfaz grafica capaz
ultrasnicos SRF05) y sus respectivos sistemas de generar y obtener informacin del puerto serial, con la
acondicionadores de seales de tal manera que las opcin de decodificar la informacin adquirida, la cual se
mediciones de las seales analgicas realizadas, se
almaceno en un sistema matricial, para su posterior
obtuvieran con la mayor fiabilidad posible.
manipulacin y estudio.
Una vez construido la unidad mvil, se procedi a realizar
pruebas de programacin del microbot para verificar su
funcionamiento bsico. Posteriormente se implemento el
cdigo necesario para que el microbot adquiriera
informacin de su entorno, y basado en dicha informacin,
ejecutara una serie de rutinas previamente programadas.

Fig. 10. Interfaz grafica desarrollada.

La interfaz grafica fue diseada, con la finalidad de ser


manipulada fcilmente por un usuario inexperto en la
materia, para lo cual fue dotada con una serie de ayudas que
guan paso a paso al usuario a largo de toda la aplicacin.
En la figura 10, se observa el aspecto de la interfaz
desarrollada.

3.5 Sistema de comunicacin inalmbrico:


Se implemento un sistema inalmbrico de
comunicacin tanto en la unidad mvil como en el
perifrico externo al PC, con la finalidad de enlazar via
radiofrecuencia (RF) al microbot con el PC.
Fig. 9 Diagrama De Flujo Para La Adquisicin De Informacin.
Este tipo comunicacin se implemento con los mdulos
Para la deteccin de los obstculos se utilizaron sensores TWS434 y RWS434 de Laipac, especializados en
ultrasnicos SRF04 los cuales obtenan la informacin comunicaciones, los cuales realizan una modulacin ASK a
pertinente a la presencia de algn objeto frente a la unidad 433MHz. Estos mdulos estn diseados para codificar y
mvil. Para determinar la posicin tanto del objeto como de decodificarlos datos y transmitirlos recibirlos, segn sea
la unidad mvil, se implemento un sistema de generacin de el caso.
coordenadas, la funcin de este sistema, fue llevar un
registro del desplazamiento de la unidad mvil. Para En las comunicaciones inalmbricas es necesario tener en
posteriormente enviar la informacin sensada al PC. En la cuenta que el medio introduce errores debido a
figura 9 se observa el diagrama de flujo que se utilizo para perturbaciones en l, por lo cual se hace necesario emplear
tal fin. un sistema detector de errores. En nuestro caso especifico,
se implemento el cdigo de redundancia cclica (CRC),
para evaluar los datos recibidos que posteriormente se
almacenaran en el PC.
En la figura 11, podemos observar el diagrama de flujo como es la desviacin de trayectoria del microbot por mala
utilizado para generar obtener el cdigo de redundancia ubicacin de sus motores en la armazn.
cclica.
Se dise y construy el microbot NEURO dotado con
un sensor ultrasnico SRF04, un sistema de
VERIFICAR
posicionamiento relativo basado en sensores infrarrojos y
encoders incrementales y un transmisor de ASK TWS434.
Este conjunto de componentes permiten a NEURO explorar
DATO obstculos en un rea de 3.48x3.48m dividido en 12 pixeles
de 29x29cm y enviar va radiofrecuencia la informacin
ROTAR=5 de posicin y obstculos registrados.
M=CRC=0

Los sensores ultrasnicos representan una solucin


prctica y confiable a las mediciones de presencia y
M=CRC=SWAPF_DATO distancia gracias a su presicin e inmunidad al ruido, lo que
M CORRIMIENTO 1 BIT A LA IZQUIERDA
CRC CORRIMIENTO 1 BIT A LA IZQUIERDA los hace ptimos para aplicaciones de microbtica.

Se definieron los mejores parmetros para la construccin


de la unidad mvil acorde a las especificaciones de diseo.
As, se seleccion un sensor infrarrojo de rebote por su baja
ROTAR>1
NO dispersin de la luz junto con un encoder ranurado para el
SI sistema posicionador del microbot. De esta manera, se
ubic la unidad mvil dentro de una localidad de
M CORRIMIENTO 1 BIT A LA IZQUIERDA
CRC CORRIMIENTO 1 BIT A LA IZQUIERDA coordenadas XY y se pudo medir la distancia recorrida y
ROTAR=ROTAR-1 los obstculos encontrados referenciados al punto de partida
del microbot.
CRC=CRC
BIT 4=0? NO Se estableci una transmisin de datos a travs de un
enlace de radiofrecuencia capaz de transmitir paquetes de
SI
informacin encriptada de 6 bytes en forma asncrona, para
CRC=CRC AND 00011111
lo cual se estableci un protocolo de recepcin.
RETORNAR CRC =CRC XOR POL
Se emple un protocolo estndar detector de errores
empleando el cdigo de redundancia cclica. Este cdigo
Fig. 11. Diagrama De Flujo Para El CRC.
es de los ms verstiles en esta tarea ya que hace un
siguiente bit por bit de la informacin.
Para implementar un sistema de comunicacin inalmbrico Se dise y construy el puente receptor de datos
fiable, se hicieron mltiples pruebas de alcance, transmisin irradiados o concentrador de datos, constituido
y recepcin y se realizaron las correcciones de software y fundamentalmente por el receptor de ASK RWS434, un
hardware correspondientes. microcontrolador PIC 18F452 y el circuito integrado
MAX232. De esta forma se acoplaron los datos recibidos
por radiofrecuencia y fueron transmitidos al computador.
CONCLUSIONES Y RECOMENDACIONES
Mediante el uso de Matlab se implementaron interfaces
Para implementar una aplicacin de de robtica mvil, el grficas de entornos amigables como las desarrolladas bajo
primer paso es construir el microbot teniendo en cuenta plataformas de programas especializados en esta rea, como
aspectos importantes como: seleccionar los sensores Visual Basic. Como ventaja adicional de Matlab, se tiene
adecuados, basados en los requerimientos de la aplicacin, que las interfaces grficas pueden ser dotadas de
escoger los sistemas de desplazamiento ms adecuados operaciones matemticas complejas, debido a que este
(Motores o servomotores), que no consuman corriente en programa tiene un fuerte manejo matemtico de datos,
exceso. Ubicar todos los elementos tanto estratgica como adems de contar con libreras especializadas en diversas
cuidadosamente dentro de la base del mvil. Esta ltima reas.
parte, juega un papel trascendental en el buen desempeo del
microbot en sus tareas. Las armazones realizados con poca Se estableci una comunicacin serial asncrona entre el
precaucin para robots mviles (que se desplazan sobre PC y perifricos desarrollados por el usuario, mediante el
ruedas), por lo general presentan un problema muy serio uso de Matlab. Este tipo de comunicacin tiene la ventaja
de utilizar tres lneas de comunicacin, en contraste con la [8] BALCELLS, Joseph y ROMERAL. Jos Luis.
comunicacin implementada por puerto paralelo, debido a Autmatas Programables. Mxico D.F. Alfaomega
que se utilizan menos lneas de comunicacin. Lo anterior grupo editor S.A. 1998. Pgs. 119 y 126.
facilita la implementacin de comunicaciones inalmbricas.
[9] SANDOVAL C. Wilmer Alexis, SALCEDO R. Ivn
Mauricio. Tesis de grado Estudio de Deteccin De
Se implement el software necesario para el tratamiento de Obstculos mediante sensores ultrasnicos e infrarrojos
datos empleando Matlab efectuando la debida manipulacin para la realizacin de mapa bidimensional con
de la informacin para generar una serie de grficas, las representacin grafica en computador. Universidad
cuales ofrecen una completa descripcin grfica al usuario Pontificia Bolivariana. Bucaramanga, Marzo de 2005.
de los datos recibidos, y que puede ser interpretada
fcilmente. Esto se desarroll pensando en que la aplicacin
fuese lo ms didctica posible para el usuario, de fcil [10] STALLING William. 6 Ed. Madrid: Prentice Hall /
entendimiento y manipulacin. Prentice Hall Hispanoamericana, S.A. 2000. Pg. 165-
168.

4. AGRADECIMIENTOS
[11] STREMLER, Ferr el G. Introduccin a los sistemas de
comunicacin. 3 Ed. Wilmington: Addison-Wesley
Agradezcemos de manera muy cordial al ingeniero Jess Antonio
Iberoamericana S.A. 1993. Pg. 608.
Vega, por su gran colaboracin y amistad, a los ingenieros: Cristian
Jhon Ruiz, Carlos Gerardo Hernndez, Juan Carlos Villamizar y al
Al Dr. Hctor Ramiro Prez por sus comentarios y apoyo. [12] TOMASI Wayne. Sistemas De Comunicaciones
Electrnicas 4 Ed. Mxico: Prentice Hall / Pearson
A la Dra Ivonne Twiggy Sandoval Cceres y la Esp. Tilcia Cceres Educacin, S.A. 2000.. Pg 535-566.
de Sandoval por su gran colaboracin y apoyo incondicional.

[13] URRIZA MACAGNO, Roberto ngel. Ingeniera del


5. REFERENCIAS conocimiento Robtica e Infraestructuras Inteligentes.
Buenos Aires: Editores S.R.L 2003. Pg. 109-110.
[1] NASA. Pathfinder. Visitado en Marzo de 2005. URL:
http://mpfwww.jpl.nasa.gov/MPF/index1.html
[14] ZITRAX, RS232 Cables, Wiring and Pinouts. Visitado
[2] ANGULO USATEGUI, Jos Mara. ANGULO en Enero de 2005.
MARTINEZ, Ignacio y ROMERO YESA, Susana. http://www.zytrax.com/tech/layer_1/cables/tech_rs232.ht
Microcontroladores PIC Diseo prctico de m#db9.
aplicaciones. 2 Ed. Madrid: McGraw Hill /
Interamericana de Espaa, S.A. 2000. Pg 1-6.

[3] CARVAJAL T. Carlos Andres. Espectro electromagntico


C.V.: Wilmer Alexis Sandoval Cceres: Ingeniero electrnico
egresado de la UPB (Universidad Pontificia Bolivariana) seccional
Visitado en Mayo de 2004.
Bucaramanga, 3 aos de experiencia en el campo de la robtica
URL: http://almaak.tripod.com/temas/espectro.htm
mvil.
[4] ESCUELA de Ingeniera de Antioquia. Visitado en
octubre de 2004.
URL:http://materiales.eia.edu.co/laboratorios/ultrasonido.h
tm.

[5] URL: www.ab.com/catalogs

[6] MATHWORKS. Serial Port I/O. Visitado en Febrero de


2005.
URL:http://www.mathworks.com/access/helpdesk/help/tec
hdoc/matlab.html.

[7] HANSELMAN Duane, LITTLEFIELD Bruce. Mastering


Matlab 5. 7 Ed. New Jersey: Prentice Hall / Pearson
Educacin, S.A. 1998. Pg 654-664, 861-871.

También podría gustarte