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


poderoso, comercialmente disponible, desarrollado y
distribuido por Mathworks, Inc. Es utilizado ampliamente
en la academia y la industria debido a sus capacidades
avanzadas, adems posee una serie de herramientas que
contienen funciones comnmente usadas en ingeniera.
En este artculo se har una pequea descripcin 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 aplicacin de robtica mvil, la cual permiti
explorar un rea determinada y detectar la ubicacin de
diferentes obstculos.
Palabras claves: Datos, CRC (cdigo de redundancia
cclica, 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, Im going to do a small description of the
handling and behaviour of the computers serial port and
graphic interface handling, by means of the use of the tools

provided by the Matlab software, to develop Mobile


Robots 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. INTRODUCCIN
La microbtica 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: bpedos, cuadrpedos, hexpodos y rastreadores,
entre otros.
Toda la informacin 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 excepcin, adems de lo anteriormente mencionado, esta
dotado con una toolbox especializada en robtica.
Quizs una de las aplicaciones de la microbtica mvil
mas conocida en el campo de la investigacin es el
microbot SOJOURNER, el cual fue enviado por la NASA
en 1997, para la exploracin del planeta Marte.

Para comprender de una forma ms rpida y concisa, las


aplicaciones de robtica mvil, es necesario contar con
algunos conceptos bsicos de comunicacin de datos,
electrnica, robtica, sensores y software de desarrollo. Sin
previo conocimiento de estos temas, se dificultara un tanto,
el entendimiento de lo que se desea plasmar en el presente
artculo.
2. FUNDAMENTOS TEORICOS.
La robtica es una disciplina, que tiene mltiples campos de
accin. Inicialmente se disearon robots para uso industrial,
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
y el entretenimiento, entre muchas otras.

dcada del siglo XXI. El microbot es un dispositivo mvil


que reacciona ante el entorno de acuerdo con un plan de
acciones programado por el usuario. Para moverse utiliza
motores y para reconocer el entorno emplea sensores de
todo tipo. Finalmente para controlar motores, sensores y
actuadores dispone de un computador en miniatura
programado en funcin de la finalidad a la que se destina
[2].
La finalidad de estos microbots es realizar tareas,
pequeas con un alto grado de precisin y rapidez.
Tambin son utilizados en entornos, los cuales son
peligrosos para el ser humano.

2.2 Sensores:
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",
para ser el primer robot errante en explorar el planeta rojo
[1].
Posteriormente, la NASA ha desarrollado otros robots
mviles para la exploracin espacial como OPPORTUNITY
y SPIRIT.
2.1 La Microbtica Y Los Microbots:
La microbtica es una tecnologa derivada de la
robtica industrial que se esta imponiendo en multitud de
aplicaciones y que plorfera masivamente en la primera

Tomado de [3]
Fig. 2. Espectro Electromagntico.

2.2.2 Sensores Ultrasnicos: Las ondas ultrasnicas, son


ondas mecnicas vibratorias, es decir, para que se propague
el ultrasonido se requiere que las partculas del medio, ya
sea lquido, aire o slido oscilen alrededor de su punto de
equilibrio [4].
Los sensores ultrasnicos son detectores que estn
basados en la emisin-recepcin de ondas ultrasnicas.
Cuando un objeto interrumpe el haz, el nivel de recepcin

vara y el receptor lo detecta. En la figura 4 se observa un


ejemplo de este tipo de sensor.
Los detectores ultrasnicos pueden detectar con facilidad
objetos transparentes, como cristal y plsticos, materiales
que ofrecen dificultades para la deteccin ptica. Sin
embargo, y dado que estos detectores utilizan ondas
ultrasnicas que se mueven por el aire, no podrn ser
utilizados en lugares donde ste circule con violencia (bocas
de aire acondicionado, cercanas de puertas, etc.), o en
medios de elevada contaminacin acstica (prensas, choques
entre metales, etc.).

Tomado de [5]

Grficos de torta, de barras 3-D y grficos de barras


horizontales.
Grficos 3-D y slido modelado.
Representacin de imgenes y archivos I/O.
Grficos comentados.
Leer/Escribir archivos de datos Hierarchical Data Format
(HDF).
Presentacin de OpenGL software y hardware.
Animacin.
Soporte de colores verdaderos (24-bit RGB).
Fuentes mltiples de luz para superficies coloreadas.
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.

3. PRUEBAS REALIZADAS.

Fig. 3. Sensor Ultrasnico.

2.3 MATLAB
Matlab es el nombre abreviado de MATrix
LABoratory, es un programa especializado para realizar
clculos numricos [6]. Una de las capacidades ms
atractivas es la de poseer un lenguaje de programacin
propio.

Con el fin de realizar una aplicacin muy fiable y verstil,


se organizaron las diferentes tareas en varias etapas, para
posteriormente acoplarlas y obtener el resultado deseado.
En la figura 4, podemos observar una representacin de
toda la aplicacin en conjunto

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,
todos los datos son almacenados como vectores [7]. Adems
de esto cuenta con herramientas de desarrollo como la GUI
(Graphic User Interface), la cual permite generar entornos
grficos para las diferentes aplicaciones.
2.7.1 Caractersticas Del Entorno: Matlab provee acceso
inmediato a las caractersticas grficas especializadas
requeridas en ingeniera y ciencias. Posee una serie de
herramientas que facilitan el procesamiento de informacin,
entre los cuales se destacan:
Representaciones 2-D y 3-D, incluyendo datos triangulados
y reticulados.
Representaciones 3-D quiver, ribbon, y stem
Control de fuentes, letras Griegas, smbolos, subndices y
superndices.
Seleccin expandida de smbolos marcadores de curvas.

Fig. 4. Representacin en bloques de la aplicacin


desarrollada.

Inicialmente se familiarizo con los comandos que permiten


manipular los puertos del PC, y se construyeron los
elementos necesarios para establecer una comunicacin
bidireccional entre el PC y un perifrico externo. Para lo
anteriormente mencionado se implementaron tanto los
cables de comunicacin para los puertos, como los circuitos
de proteccin correspondientes para cada caso.
3.1 Puerto Paralelo:
Para observar el comportamiento del puerto
paralelo, se hicieron pruebas sencillas de transmisin y
recepcin de datos con el fin de verificar la fiabilidad de la
comunicacin implementada con el puerto paralelo.
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


de las entradas del puerto y observar las salidas del mismo.
En la figura 5, se observa un ejemplo de la creacin de un
objeto digital tipo paralelo.

desarrollar. En la figura 7, se observa un ejemplo de


recepcin de datos mediante el puerto serial.

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


paralelo.

3.2 Puerto Serial:


Para observar la fiabilidad del puerto serial, se
realizaron el mismo tipo de pruebas que se describieron en la
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
especializado, programado de tal manera que podamos
generar o visualizar los datos deseados. Para tal fin se es
necesario utilizar un microcontrolador 18C452 de microchip,
con los mismos elementos de sealizacin y de control que
se utilizaron en el circuito del puerto paralelo, es decir,
interruptores miniaturas y LEDS. En la figura 6 se observa
el diagrama de flujo, utilizado para la comunicacin serial
COMUNICACIN
SERIAL

ESTABLECER: VELOCIDAD DE
COMUNICACIN, BIT DE ARRANQUE, BITS
DE PARADA, BIT DE PARIDAD, NUMERO DE
BITS DE DATOS

Fig. 7. Prueba De Recepcin De Datos Mediante El Puerto


Serial, Realizada Con El MATLAB.

3.3 Microbot:
Paralelamente al desarrollo del software y a las
pruebas de comunicacin entre el PC y un dispositivo
externo, se realizo la construccin y programacin de la
unidad mvil, dotndola con sensores especializados para
realizar el estudio de su entorno. Como cerebro del
microbot, se utilizo un microcontrolador 18C452 de
microchip, donde se implemento un programa capaz de
adquirir y almacenar la informacin, obtenida por los
diferentes sensores, basados en dicha informacin se
manipularon los motores y servomotores (futaba S3003) de
la unidad mvil, para controlar su desplazamiento.

REG_TX= 0
REG_RX= 0
DATOS= 0

Llanta 1
HUBO_INTERRUPCION
POR RX?

SI

REG_RX=
DATOS

SI

REG_TX=
DATOS

Llanta 2
Eje de Giro

NO

NO

SE CARGO DATO
PARA TX?

Rueda libre

VISULIZAR
DATOS

Fig. 6. Diagrama De Flujo Para La Comunicacin Serial

Para este caso especfico se realizaron diferentes pruebas,


con el fin de verificar las velocidades de comunicacin de
Matlab, para posteriormente, escoger la rata de baudios,
ms conveniente segn los requerimientos de la aplicacin a

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

Como resultado final de las pruebas realizadas con la


unidad mvil, se opto por utilizar una base circular con dos
llantas y una rueda loca como se observa en la figura 8,
debido que con esta forma geomtrica, el microbot

utilizaba un rea menor para realizar los giros sobre su eje


central.
Sobre dicha base, se ubicaron estratgicamente los motores
que proporcionan la movilidad al motor, a su vez, se
ubicaron dos tipos de sensores (infrarrojos TP12 y
ultrasnicos SRF05) y sus respectivos sistemas
acondicionadores de seales
de tal manera que las
mediciones de las seales analgicas realizadas, se
obtuvieran con la mayor fiabilidad posible.

3.4 Interfaz grafica:


Se diseo una interfaz grafica hibrida, como
resultado de las pruebas realizadas al generar interfaces
graficas mediante cdigo y mediante la GUI de Matlab.
Como resultado final se obtuvo una interfaz grafica capaz
de generar y obtener informacin del puerto serial, con la
opcin de decodificar la informacin adquirida, la cual se
almaceno en un sistema matricial, para su posterior
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.

Fig. 9 Diagrama De Flujo Para La Adquisicin De Informacin.

Para la deteccin de los obstculos se utilizaron sensores


ultrasnicos SRF04 los cuales obtenan la informacin
pertinente a la presencia de algn objeto frente a la unidad
mvil. Para determinar la posicin tanto del objeto como de
la unidad mvil, se implemento un sistema de generacin de
coordenadas, la funcin de este sistema, fue llevar un
registro del desplazamiento de la unidad mvil. Para
posteriormente enviar la informacin sensada al PC. En la
figura 9 se observa el diagrama de flujo que se utilizo para
tal fin.

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.
Este tipo comunicacin se implemento con los mdulos
TWS434 y RWS434 de Laipac, especializados en
comunicaciones, los cuales realizan una modulacin ASK a
433MHz. Estos mdulos estn diseados para codificar y
decodificarlos datos y transmitirlos recibirlos, segn sea
el caso.
En las comunicaciones inalmbricas es necesario tener en
cuenta que el medio introduce errores debido a
perturbaciones en l, por lo cual se hace necesario emplear
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


utilizado para generar obtener el cdigo de redundancia
cclica.

Se dise y construy el microbot NEURO dotado con


un sensor ultrasnico SRF04, un sistema de
posicionamiento relativo basado en sensores infrarrojos y
encoders incrementales y un transmisor de ASK TWS434.
Este conjunto de componentes permiten a NEURO explorar
obstculos en un rea de 3.48x3.48m dividido en 12 pixeles
de 29x29cm y enviar va radiofrecuencia la informacin
de posicin y obstculos registrados.

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

ROTAR>1

NO

SI
M CORRIMIENTO 1 BIT A LA IZQUIERDA
CRC CORRIMIENTO 1 BIT A LA IZQUIERDA
ROTAR=ROTAR-1

CRC=CRC

BIT 4=0?

NO
SI

RETORNAR

como es la desviacin de trayectoria del microbot por mala


ubicacin de sus motores en la armazn.

CRC=CRC AND 00011111


CRC =CRC XOR POL

Fig. 11. Diagrama De Flujo Para El CRC.

Para implementar un sistema de comunicacin inalmbrico


fiable, se hicieron mltiples pruebas de alcance, transmisin
y recepcin y se realizaron las correcciones de software y
hardware correspondientes.

Los sensores ultrasnicos representan una solucin


prctica y confiable a las mediciones de presencia y
distancia gracias a su presicin e inmunidad al ruido, lo que
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
dispersin de la luz junto con un encoder ranurado para el
sistema posicionador del microbot. De esta manera, se
ubic la unidad mvil dentro de una localidad de
coordenadas XY y se pudo medir la distancia recorrida y
los obstculos encontrados referenciados al punto de partida
del microbot.
Se estableci una transmisin de datos a travs de un
enlace de radiofrecuencia capaz de transmitir paquetes de
informacin encriptada de 6 bytes en forma asncrona, para
lo cual se estableci un protocolo de recepcin.
Se emple un protocolo estndar detector de errores
empleando el cdigo de redundancia cclica. Este cdigo
es de los ms verstiles en esta tarea ya que hace un
siguiente bit por bit de la informacin.
Se dise y construy el puente receptor de datos
irradiados o concentrador de datos, constituido
fundamentalmente por el receptor de ASK RWS434, un
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
Para implementar una aplicacin de de robtica mvil, el
primer paso es construir el microbot teniendo en cuenta
aspectos importantes como: seleccionar los sensores
adecuados, basados en los requerimientos de la aplicacin,
escoger los sistemas de desplazamiento ms adecuados
(Motores o servomotores), que no consuman corriente en
exceso. Ubicar todos los elementos tanto estratgica como
cuidadosamente dentro de la base del mvil. Esta ltima
parte, juega un papel trascendental en el buen desempeo del
microbot en sus tareas. Las armazones realizados con poca
precaucin para robots mviles (que se desplazan sobre
ruedas), por lo general presentan un problema muy serio

Mediante el uso de Matlab se implementaron interfaces


grficas de entornos amigables como las desarrolladas bajo
plataformas de programas especializados en esta rea, como
Visual Basic. Como ventaja adicional de Matlab, se tiene
que las interfaces grficas pueden ser dotadas de
operaciones matemticas complejas, debido a que este
programa tiene un fuerte manejo matemtico de datos,
adems de contar con libreras especializadas en diversas
reas.
Se estableci una comunicacin serial asncrona entre el
PC y perifricos desarrollados por el usuario, mediante el
uso de Matlab. Este tipo de comunicacin tiene la ventaja

de utilizar tres lneas de comunicacin, en contraste con la


comunicacin implementada por puerto paralelo, debido a
que se utilizan menos lneas de comunicacin. Lo anterior
facilita la implementacin de comunicaciones inalmbricas.
Se implement el software necesario para el tratamiento de
datos empleando Matlab efectuando la debida manipulacin
de la informacin para generar una serie de grficas, las
cuales ofrecen una completa descripcin grfica al usuario
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
entendimiento y manipulacin.

4. AGRADECIMIENTOS
Agradezcemos de manera muy cordial al ingeniero Jess Antonio
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.

[8]

BALCELLS, Joseph y ROMERAL. Jos Luis.


Autmatas Programables. Mxico D.F. Alfaomega
grupo editor S.A. 1998. Pgs. 119 y 126.

[9]

SANDOVAL C. Wilmer Alexis, SALCEDO R. Ivn


Mauricio. Tesis de grado Estudio de Deteccin De
Obstculos mediante sensores ultrasnicos e infrarrojos
para la realizacin de mapa bidimensional con
representacin grafica en computador. Universidad
Pontificia Bolivariana. Bucaramanga, Marzo de 2005.

[10]

STALLING William. 6 Ed. Madrid: Prentice Hall /


Prentice Hall Hispanoamericana, S.A. 2000. Pg. 165168.

[11]

STREMLER, Ferr el G. Introduccin a los sistemas de


comunicacin. 3 Ed. Wilmington: Addison-Wesley
Iberoamericana S.A. 1993. Pg. 608.

[12]

TOMASI Wayne. Sistemas De Comunicaciones


Electrnicas 4 Ed. Mxico: Prentice Hall / Pearson
Educacin, S.A. 2000.. Pg 535-566.

[13]

URRIZA MACAGNO, Roberto ngel. Ingeniera del


conocimiento Robtica e Infraestructuras Inteligentes.
Buenos Aires: Editores S.R.L 2003. Pg. 109-110.

[14]

ZITRAX, RS232 Cables, Wiring and Pinouts. Visitado


en
Enero
de
2005.
http://www.zytrax.com/tech/layer_1/cables/tech_rs232.ht
m#db9.

A la Dra Ivonne Twiggy Sandoval Cceres y la Esp. Tilcia Cceres


de Sandoval por su gran colaboracin y apoyo incondicional.

5. REFERENCIAS
[1]

NASA. Pathfinder. Visitado en Marzo de 2005. URL:


http://mpfwww.jpl.nasa.gov/MPF/index1.html

[2]

ANGULO USATEGUI, Jos Mara. ANGULO


MARTINEZ, Ignacio y ROMERO YESA, Susana.
Microcontroladores
PIC
Diseo
prctico
de
aplicaciones. 2 Ed. Madrid: McGraw Hill /
Interamericana de Espaa, S.A. 2000. Pg 1-6.

[3]

CARVAJAL T. Carlos Andres. Espectro electromagntico


Visitado en Mayo de 2004.
URL: http://almaak.tripod.com/temas/espectro.htm

[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.

C.V.: Wilmer Alexis Sandoval Cceres: Ingeniero electrnico


egresado de la UPB (Universidad Pontificia Bolivariana) seccional
Bucaramanga, 3 aos de experiencia en el campo de la robtica
mvil.

También podría gustarte