SlideShare una empresa de Scribd logo
1




                                      C
CAPITULO I, 4
Clasificación de los Robots, 7
COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE, 23


                                      E
errores, 15


                                      I
Introduccion, 2
INTRODUCCIÓN, 2, Véase


                                      L
LA ROBOTICA, 4


                                      M
metodos, 16
-2-




                              INTRODUCCIÓN




Los avances en robótica indican que en los últimos años   se ha presentado la

necesidad de desarrollar tecnología que reemplace al ser humano    en ciertas
-3-



actividades, especialmente cuando trabaja en áreas de alto riesgo, de difícil acceso o

simplemente para facilitar y agilizar el trabajo monótono.



Darle autonomía a un robot significa dotarle de características que lo hacen

particularmente interesante. Estas tienen que ver con las cualidades del entorno en el

que los robots deben llevar a cabo la tarea, y las características de la tarea en sí

misma: el entorno es altamente dinámico; esto exige obtener respuestas en tiempos

muy cortos, dar solución a un conjunto de limitantes constituye una tarea ardua de

recolección de datos y estimación de la información entregada por diversos

dispositivos, como el uso de sensores.



Surge la necesidad de implementar sistemas que permitan tomar decisiones

inteligentes para realizar las diferentes acciones en un entorno determinado, sin que

esto afecte el desempeño del resto de los dispositivos que componen dicho entorno.



Se pretende diseñar e implementar un sistema prototipo de posicionamiento

odométrico inalámbrico es decir utilizando sensores propioseptivos, para un robot

móvil que permita simplificar el trabajo en varias actividades como: transportación de

materiales peligrosos de un departamento a otro, transportación      de documentos,

monitoreo de lugares, etc., sin necesidad de la intervención adicional de un operario

humano, dichas actividades deben cumplir con las siguientes precisiones: el robot

móvil deberá desenvolverse en una superficie regular y plana, tendrá un área de

cobertura limitada (de acuerdo al alcance del módulo transmisor y receptor), deberá

conocer el entorno estructurado en donde se desenvolverá y sin conocimiento de los

posibles obstáculos que se encuentren en el trayecto, enviará constantemente

información referente a su posición, durante el recorrido y hasta culminar su

trayectoria, dicha trayectoria será determinada con anterioridad en un PC, la
-4-



demostración del prototipo se realizará en el laboratorios de la Escuela de Ingeniería

Electrónica de la ESPOCH.



La investigación permitirá a cualquier tipo de empresa integrar tecnologías que

permitan tomar decisiones inteligentes en tiempo real minimizando incluso el tiempo

de realización de procesos.



Este tipo de tecnología no es muy compleja de implementar, y los costos son

relativamente bajos comparado con otras tecnologías.




                                     CAPITULO I


                                   LA ROBOTICA


1.1    Generalidades



La historia del ser humano se basa en un proceso de creatividad de algunos seres

anónimos, incomprendidos en su momento, pero que lograron saltos cualitativos en la

historia del conocimiento. La historia de la robótica ha estado unida a la construcción
-5-



de aparatos y maquinarias, que trataban de plasmar el deseo humano de crear seres

que lo descargasen del trabajo.



Carlos Chapek un escritor checo, incorporó en 1921 el término "Robot" en su obra

dramática "Rossum's Universal Robots / R.U.R.", a partir de la palabra checa robota,

que significa servidumbre o trabajo forzado.



El término robótica es recalcado por Isaac Asimov, definiendo a la ciencia que estudia

a los robots. Asimov creó también las Tres Leyes de la Robótica. En la ciencia ficción

el hombre ha imaginado a los robots visitando nuevos mundos, haciéndose con el

poder, o simplemente aliviando de las labores caseras.


1.1.1    Historia de la Robótica



A lo largo de la historia el hombre ha sacado provecho de           un sinnúmero de

aplicaciones robóticas desde tiempos remotos; a continuación algunos de estos

ejemplos.

                           Tabla 1 La Robótica en la Historia


 Fecha                  Importancia                   Nombre           Inventor
                                                      del robot
Siglo I A. Descripciones    de     más   de     100               Ctesibius        de
  C. y      máquinas y autómatas, incluyendo un                   Alexandria, Filón de
 antes      artefacto con fuego, un órgano de                     Bizancio, Herón de
            viento,   operado      mediante     una               Alexandria, y otros
            moneda y a vapor, en neumática y
            Autómata de Herón de Alexandria
  1206      Primer robot humanoide programable        Barco con   Al-Jazari
                                                       cuatro
                                                      músicos
-6-



                                                              robotizados
c. 1495   Diseño de un robot humanoide                         Caballero    Leonardo da Vinci
                                                               mecánico
 1738     Pato mecánico capaz de comer,                        Digesting    Jacques          de
          agitar sus alas y excretar.                            Duck       Vaucanson
 1800s    Juguetes mecánicos japoneses que                     Juguetes     Hisashige Tanaka
          sirven té, disparan flechas y pintan.                Karakuri
 1921                                                          Rossum's     Karel Čapek
          Aparece el primer autómata de ficción
                                                               Universal
          llamado "robot", aparece en R.U.R.
                                                                Robots
 1930s    Se exhibe un robot humanoide en la                    Elektro     Westinghouse
          World's Fairs entre: 1939 y 1940                                  Electric Corporation




                         La Robótica en la Historia (Continuación)


 1948     Exhibición      de     un       robot       con   Elsie y Elmer   William Grey Walter
          comportamiento biológico simple
 1956     Primer   robot       comercial,        de    la     Unimate       George Devol
          compañía Unimation fundada por
          George         Devol        y       Joseph
          Engelberger,         basada       en        una
          patente de Devol
 1961     Se instala el primer robot industrial               Unimate       George Devol
 1963     Primer robot "palletizing"                         Palletizer     Fuji Yusoki Kogyo
 1973     Primer       robot    con       seis    ejes        Famulus
                                                                            KUKA Robot Group
          electromecánicos
 1975     Brazo    manipulador        programable              PUMA         Victor Scheinman
          universal,      un      producto            de
          Unimation



Fuente: http://es.wikipedia.org/wiki/Rob%C3%B3tica
-7-



1.1.2   Definición de Robótica



La Robótica es la ciencia y la tecnología de los robots, se ocupa del diseño,

manufactura y aplicaciones de los robots. Es un conjunto de métodos y medios

derivados de la informática cuyo objetivo de estudio concierne la concepción, la

programación y la puesta en práctica de mecanismos            automáticos que pueden

sustituir al ser humano para efectuar operaciones reguladoras de orden intelectual,

motor y sensorial. La robótica es una tecnología multidisciplinar ya que toma

conceptos provenientes de diversos dominios del conocimiento: Mecánica, Física,

Matemáticas, Cinemática, Geometría, Electrónica, Electricidad, Informática, etc. Otras

áreas importantes en robótica son el álgebra, los autómatas programables y las

máquinas de estados.


1.1.3   Clasificación de los Robots


Según su área o campo de aplicación


Robots Físicos


        Robótica Industrial: Es la parte de la Ingeniería que se dedica a la

        construcción de máquinas capaces de realizar tareas mecánicas y repetitivas

        de una manera muy eficiente y con costes reducidos.

        Robótica de Servicio: Es la parte de la Ingeniería que se centra en el diseño y

        construcción de máquinas capaces de proporcionar servicios directamente a

        los miembros que forman sociedad.

        Robótica Inteligente: Son robots capaces de desarrollar tareas que,

        desarrolladas en un ser humano, requieren el uso de su capacidad de

        razonamiento.
-8-



      Robótica Humanoide: Es la parte de la ingeniería que se dedica al desarrollo

      de sistemas robotizados para imitar determinadas peculiaridades del ser

      humano.


Robots Software


      Robótica de Exploración: Es la parte de la Ingeniería del Software que se

      encarga de desarrollar programas capaces de explorar documentos en busca

      de determinados contenidos. Existen diversos servicios en Internet dedicados a

      esta parcela de la robótica.


Según su Construcción


Robots Terrestres

      Con Ruedas: Ruedas: La rueda es un método altamente probado y muy

      eficiente en superficies homogéneas poco inclinadas. Los robots con ruedas

      pueden transportar una carga que es relativamente mayor, respecto de sus

      contrapartes cuyo sistema de locomoción se basa en patas. La principal

      desventaja de las ruedas es su empleo en terrenos irregulares




                           Fig. 1 Robot Móvil con ruedas

Fuente: www.foxitsoftware.com
-9-




                                Fig. 2 Robot tipo oruga


Fuente: www.foxitsoftware.com

      Con Patas: son, evidentemente, un mecanismo producto de un enfoque

      biológico, por ello el desarrollo de la biorobótica. Sus ventajas, entre otras, son

      la adaptabilidad al terreno y la posibilidad de omnidireccionalidad. Se puede

      tener robots de una pata hasta ocho patas en aplicaciones industriales,

      comerciales y exploratorias, entre otras.




                            Fig. 3 Robot de cuatro patas

Fuente: www.foxitsoftware.com
- 10 -




                                 Fig. 4 Hexápodo

Fuente: /www.foxitsoftware.com




                          Fig. 5 El robot ápodo CUBE 2.0

Fuente: /www.foxitsoftware.com

1.1.3.1 Aplicación


Domobot


Los domobots son microbots (robots móviles con micro controlador) domóticos

(conectados a una red de automatización doméstica).


Están conectados a un controlador domótico (un ordenador o un dispositivo autónomo

sin necesidad de ordenador)       mediante cable (puerto    USB o Firewire)     o

inalámbricamente (generalmente un puerto WIFI).
- 11 -



Se utilizan principalmente en las tareas del hogar (home care), como aspiradores,

transportadores de objetos dentro de la casa para el lavado, planchado...


No es lo mismo un robot doméstico que un Domobot. ROOMBA es un robot

doméstico, pero no es un Domobot debido a que no tiene un puerto para conectarlo a

la red domótica (p.e. un puerto WIFI o USB ).


En definitiva, la domobótica es un cruce entre la microbótica y la domótica
- 12 -




                                     CAPITULO II


                                   LA ODOMETRÍA


2.1 Definición



La posición del robot respecto a un sistema de referencia inicial es uno de los

parámetros más importantes de los que debe disponer un robot móvil.



Se conoce como "Odometría" a las técnicas de posicionamiento que emplean

información de sensores propioceptivos (aquéllos que adquieren datos del propio

sistema), para obtener una aproximación de la posición real a la que se encuentra un

sistema móvil, en un determinado instante, respecto a un sistema de referencia inicial.



Es el método de navegación más usado en el posicionamiento de robots móviles, es la

estimación del movimiento de un vehículo tomando como base la rotación de sus

ruedas. Las mediciones se calculan incrementalmente, lo que involucra la existencia
- 13 -



inevitable de un error. Este error incrementa proporcionalmente con la distancia

recorrida por el vehículo.



Se basa en ruedas de medida y modelos de contacto, utilización de sensores

inerciales, como acelerómetros y giróscopos y de mediciones internas del robot. Los

elementos    son simples     de implementar.        Entre los elementos para este tipo de

técnica de posicionamiento, están los encoders, los CIR y potenciómetros lineales.

Estos elementos presentan varios problemas de exactitud ante la presencia de

deslizamiento en sus ruedas y desacople mecánico.

La Odometría es un método muy utilizado por su bajo coste, elevada frecuencia de

cálculo y buena precisión a corto plazo.



En general, como se puede apreciar en la figura siguiente son suficientes tres

parámetros (X, Y, θ) para conocer la posición de un sistema móvil: posición respecto al

eje "x", respecto al eje "y" ángulo respecto al eje "x".




                                Parámetros de Odometría



                         Fuente: http://optimus.meleeisland.net/
- 14 -



Es capaz de conocer su posición actual a partir de la distancia recorrida por cada una

de sus ruedas. Para ello, accede regularmente a las lecturas de los encoders para

determinar cuál ha sido el desplazamiento lineal de cada una de las ruedas.

La odometría tiene la ventaja que no es capaz de proveer al robot una estimación de

su posición.




2.2 Ecuaciones Utilizadas en la Odometría



Considerando la precisión de los encoders o sensores, P, la distancia entre ruedas, B,

y el valor de los acumuladores de los encoders izquierdo y derecho, Tl y Tr

respectivamente, se calcula el desplazamiento lineal (en mm) realizado por cada

rueda:

                                        Dl = Tl * P

                                        Dr = Tr * P

El desplazamiento realizado por el punto medio del eje imaginario que une las dos

ruedas se calcula como (en mm):

                                    Dc = (Dl + Dr) / 2

El valor del ángulo de giro que se produce cuando las ruedas giran a distintas

velocidades se calcula como (en radianes):

                                    Dθ = (Dr - Dl) / B

A partir de la posición en el instante actual, t, (Xt, Yt, θt) se calcula la posición en el

instante siguiente, t+1, de la siguiente forma:

                                      θt+1 = θt + Dθ



                               Xt+1 = Xt + Dc * cos(θt+1)

                                Yt+1 = Yt + Dc * sin(θt+1)
- 15 -



2.3 Errores de Odometría sistemáticos y no sistemáticos



2.3.1 Errores Sistemáticos:

       Utilizar ruedas con diámetro diferente

        El diámetro real de las ruedas difiere del diámetro nominal

       Mala alineación de las ruedas

       La base de la rueda real difiere de la nominal

       Resolución finita del encoger

       Frecuencia de muestreo finita




2.3.2 Errores no sistemáticos

        Viajar a través de superficies irregulares

        Viajar y encontrar objetos inesperados en la superficie

        Derrape de las ruedas atribuible a:

        Pisos resbaladizos

        Sobre-aceleración

        Patinar/derrapar

        Fuerzas externas (interacción con cuerpos externos)

        Fuerzas internas (rodamiento de ruedecillas)

        Perder el contacto de las ruedas con el piso



Los errores sistemáticos son realmente importantes, ya que se acumulan

constantemente, entonces, es importante detectar si un error es sistemático o no, para

así lograr reducir el error de odometría que se acumula. Por ejemplo, en muchas

superficies interiores lisas, el error sistemático contribuye mucho más a aumentar el

error de odometría que los errores no sistemáticos.
- 16 -



2.4 Métodos de Localización

Método sencillo para estimación de posición basado en sensores de medición de giro

de rueda (≡ longitud de paso en un robot humanoide)




Posición + postura actual = acumulación de desplazamientos (integración de camino)




Robot con tracción diferencial




Robótica móvil (robots con ruedas)
- 17 -



Menos grados de libertad [como mucho (x,y, θ)] ⇒ problema más sencillo además:

menor velocidad ⇒ dinámica no es relevante

Robots pueden girar en el sitio (tracción diferencial robot es un punto ⇒ configuración

= (x,y) “hinchar” obstáculos en el radio del robot para compensar




2.5 APLICACIONES


2.5.1 Robótica Autónoma



La Robótica Autónoma es el área de la Robótica que desarrolla robots capaces de

desplazarse y actuar sin intervención humana. Para ello el robot debe percibir su

entorno y actuar de forma adecuada, además de llevar a cabo su tarea.

La Robótica ha tenido grandes avances en entornos estructurados, en los que el

controlador del robot puede tener un mapa detallado de su entorno. Conforme decrece

el grado de estructuración del entorno las tareas se tornan más complejas. Esto ocurre

cuando el robot es móvil y debe tener información de su posición en el mapa interno.

Los mecanismos pueden ser absolutos o relativos, por ejemplo, usando GPS y

odometría, respectivamente.



En entornos no estructurados la solución a través de mapa no es viable, por lo que se

toman caminos en los que no se usa la Inteligencia Artificial clásica, con un control

centralizado, sino la Inteligencia Artificial basada en Multiagentes (originaria en el

trabajo de Rodney Brooks y su arquitectura de subsunción), o en planteamientos

conexionistas usando redes neuronales. La disciplina que usa Algoritmos Genéticos

para evolucionar Redes Neuronales se denomina Robótica Evolutiva.
- 18 -



2.5.2 Robótica Móvil

Los robots móviles son una herramienta eficiente para realizar el transporte en los

procesos de fabricación flexible. Los sistemas de posicionamiento y de guiado que

incorporan permiten su funcionamiento autónomo. Los métodos de posicionamiento de

robots móviles se clasifican en dos grupos posicionamiento relativo y posicionamiento

absoluto. Los primeros calculan la posición y la orientación del robot a partir de una

configuración inicial conocida, este es el caso de la Odometría y la navegación inercial.



Los métodos de posicionamiento absoluto utilizan marcas distribuidas en el entorno de

trabajo del robot para determinar su localización absoluta.



Estas técnicas son más fiables pero resultan más lentas. En la mayoría de

aplicaciones se combina la Odometría con un método absoluto para reducir

periódicamente el error. En robótica móvil, es necesario planificar movimientos

concretos y controlarlos para garantizar trayectorias seguras y precisas, lo cual

conllevan a enfrentar diversos problemas entre los que se destaca el seguimiento de

caminos que, para los vehículos con ruedas, se determina teniendo en cuenta la

posición y la orientación actual del vehículo con respecto a un trayecto y coordenadas

a seguir . Definir que dispositivos se pueden utilizar al posicionar un robot en su

entorno, requiere considerar los siguientes aspectos:



Resolución espacial: concebido como el más pequeño incremento del movimiento

en el que el robot puede dividir su volumen de trabajo. Depende fundamentalmente de

dos factores: la resolución de sistema de control y las inexactitudes mecánicas del

robot.
- 19 -



Exactitud: Definida como la capacidad del robot para conseguir un punto de destino

determinado.



Los sistemas convencionales utilizan diversas técnicas para obtener la orientación y

posición de un robot, se destacan: La Odometría, el posicionamiento absoluto basado

en marcas o balizas, sistemas       radiogoniométricos y GPS; los cuales requieren

conocer tanto los requerimientos del robot móvil como las propiedades del entorno



2.5.2.1 Navegación en Robots Móviles

El robot móvil se caracteriza por realizar una serie de desplazamientos (navegación) y

por llevar a cabo una interacción con distintos elementos de su entorno de trabajo

(operación), que implican el cumplimiento de una serie de objetivos impuestos según

cierta especificación. Así, formalmente el concepto de misión en el ámbito de los

robots móviles (Levi, 1.987) se define como la realización conjunta de una serie de

objetivos de navegación y operación. El robot móvil debe poseer una arquitectura que

coordine los distintos elementos de a bordo.

Sistema sensorial

Control de movimiento y operación de forma correcta y eficaz para la realización de

una misión. El diseño de esta arquitectura depende mucho de su aplicación en

particular, pero un esquema básico de los principales módulos que la componen y la

interacción que existe entre los mismos es el presentado en la figura:
- 20 -




           Arquitectura necesaria en un robot móvil para realizar una misión.

Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf



En la fig. xxxxx, se presenta un módulo de control de misión dedicado a coordinar al

controlador de desplazamientos (control de navegación) con el controlador del

elemento que interacciona con el entorno de trabajo.



Etapas:

Control de Misión

Control de Navegación

Control de Operación

Especificación de la misión



Esta coordinación debe efectuarse de forma perfecta para cumplir los objetivos

impuestos por la misión, definida de acuerdo con ciertas especificaciones de entrada.

Formalmente, el control de misión debe analizar el problema y encontrar una

estrategia para resolverlo.



El problema de la navegación se divide en las siguientes cuatro etapas:
- 21 -




Percepción del mundo: Mediante el uso de sensores externos, creación de un mapa

o modelo del entorno donde se desarrollará la tarea de navegación.



Planificación de la ruta: Crea una secuencia ordenada de objetivos o sub metas que

deben ser alcanzadas por el vehículo. Esta secuencia se calcula utilizando el modelo o

mapa de entorno, la descripción de la tarea que debe realizar y algún tipo de

procedimiento estratégico.



Generación del camino: En primer lugar define una función continua que interpola la

secuencia de objetivos construida por el planificador.



Posteriormente procede a la discretización de la misma a fin de generar el camino.

Seguimiento del camino: Efectúa el desplazamiento del vehículo, según el camino

generado mediante el adecuado control de los actuadores del vehículo (Martínez,

1.994).

Las tareas involucradas en la navegación de un robot móvil son:

          La percepción del entorno a través de sus sensores, de modo que le permita

          crear una abstracción del mundo;

          La planificación de una trayectoria libre de obstáculos, para alcanzar el punto

          destino seleccionado.

          El guiado del vehículo a través de la referencia construida.



De forma simultánea, el vehículo puede interaccionar con ciertos elementos del

entorno. El problema de la navegación para un robot móvil se define como: Dado un
- 22 -



punto de partida A alcanzar el (los) punto(s) de destino B (B1,B2,...) utilizando su

conocimiento [el del robot] y la información sensorial que recibe [el robot].

La navegación implica resolver sub problemas a nivel de:

                                                          Interpretar los datos que le suministra sus
                                                          sensores para extraer información útil.
   PERCEPCIÓN


                                                          Gestionar sus actuadores para conseguir la
   LOCALIZACIÓN
                                                          trayectoria deseada.
                             ... el robot debe
                             ser capaz de ...
  PLANIFICACIÓN
                                                          Determinar su posición en el entorno.

   CONTROL DE
   MOVIMIENTO
                                                          Decidir cómo actuar para alcanzar el
                                                          objetivo



                         Sub problemas de la navegación móvil

Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf
- 23 -




                                     CAPITULO III


              COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE


3.1 Transmisión Inalámbrica


La comunicación inalámbrica (inglés wireless, sin cables) es aquella en la que

extremos de la comunicación (emisor/receptor) no se encuentran unidos por un medio

de propagación físico, sino que se utiliza la modulación de ondas electromagnéticas a

través del espacio.


En este sentido, los dispositivos físicos sólo están presentes en los emisores y

receptores de la señal, entre los cuales encontramos: antenas, computadoras

portátiles, PDA, teléfonos móviles, etc.



La comunicación inalámbrica también se denomina transmisión no guiada, estos se

utilizan principalmente en el aire. Hay dos configuraciones para la emisión y recepción

de esta energía: direccional y omnidireccional.
- 24 -




                           Fig. 6 Comunicación Inalámbrica


Fuente:http://www.monografias.com/trabajos16/comunicacioninalamrica/comuicacion.i

nalambrica.shtml


En general, la tecnología inalámbrica utiliza ondas de radiofrecuencia de baja potencia

y una banda específica, de uso libre o privada para transmitir, entre dispositivos.


Estas condiciones de libertad de utilización sin necesidad de licencia, ha propiciado

que el número de equipos, especialmente computadoras, que utilizan las ondas para

conectarse, a través de redes inalámbricas haya crecido notablemente.


La tendencia a la movilidad y la ubicuidad hacen que cada vez sean más utilizados los

sistemas inalámbricos, y el objetivo es ir evitando los cables en todo tipo de

comunicación, no solo en el campo informático sino en televisión, telefonía, seguridad,

domótica, etc. Un fenómeno social que ha adquirido gran importancia en todo el

mundo como consecuencia del uso de la tecnología inalámbrica son las comunidades

inalámbricas que buscan la difusión de redes alternativas a las comerciales.
- 25 -



Existen 2 tipos de configuraciones: la direccional y la omnidireccional.


La Direccional: Las antenas de emisión y recepción están perfectamente alineadas


La Omnidireccional: El diagrama de radiación de la antena es mas disperso pudiendo

la señal ser recibida por varias antenas


Rangos:


       2Ghz hasta 40Ghz se denomina microondas

       30Mhz hasta 1Ghz se denomina ondas de radio

       3*10-11 hasta 2*10+14 Mhz se denomina infrarrojos


3.1.1 Métodos de Transmisión


En el método direccional, toda la energía se concentra en un haz que es emitida en

una cierta dirección, por lo que tanto el emisor como el receptor deben estar alineados.

En el método omnidireccional, la energía es dispersada en múltiples direcciones,

por lo que varias antenas pueden captarla. Cuando mayor es la frecuencia de la señal

a transmitir, más factible es la transmisión unidireccional. Por tanto, para enlaces

punto a punto se suelen utilizar microondas (altas frecuencias), para enlaces con

varios receptores posibles se utilizan las ondas de radio (baja frecuencias).


3.1.2 Protocolo Zigbee


ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de

comunicación inalámbrica para su utilización con radios digitales de bajo consumo,

basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal

(wireless personal area network, WPAN). Su objetivo son las aplicaciones para redes
- 26 -



Wireless que requieran comunicaciones seguras y fiables con baja tasa de envío de

datos y maximización de la vida útil de sus baterías.



Ventajas



       Ideal para conexiones punto a punto y punto a multipunto.

       Diseñado para direccionamiento de información y el refrescamiento de la red.

       Opera en la banda libre de ISM 2.4 Ghz para conexiones inalámbricas.

       Óptimo para redes de baja tasa de transferencia de datos.

       Alojamiento de 16 bits a 64 bits de dirección extendida.

       Reduce tiempos de espera en el envío y recepción de paquetes.

       Detección de Energía (ED).

       Baja ciclo de trabajo - Proporciona larga duración de la batería.

       Soporte para múltiples topologías de red: Estática, dinámica, estrella y malla.

       Hasta 65.000 nodos en una red.

       128-bit AES de cifrado - Provee conexiones seguras entre dispositivos.

       Son más baratos y de construcción más sencilla.



Desventajas



       La tasa de transferencia es muy baja.

       Solo manipula textos pequeños comparados con otras tecnologías.

       Zigbee trabaja de manera que no puede ser compatible con bluetooth en todos

       sus aspectos porque no llegan a tener las mismas tasas de transferencia, ni la

       misma capacidad de soporte para nodos.

       Tiene menor cobertura porque pertenece a redes inalámbricas de tipo WPAN.
- 27 -



Operación del Módulo Xbee



El módulo Xbee puede soportar una comunicación serial asincrónica, con niveles

lógicos TTL, por medio de una interfaz UART (Universal Asynchronous Receiver-

Transmitter), la velocidad de transmisión puede ser seleccionada por software. El

módulo tiene dos métodos de operación: Operación transparente y operación API

(Application Programming Interface).



En el método de operación transparente el módulo Xbee actúa como reemplazo de

una línea serial, es decir, los datos enviados por un dispositivo al módulo son

transmitidos inalámbricamente a otro módulo, el cual recibe esa información y la envía

por el puerto serial a otro dispositivo, en este proceso los módulos no modifican los

datos, solamente se encargan de tomar los datos que reciben del un dispositivo y lo

hacen llegar al otro dispositivo tal como lo recibieron.



En el método de operación API (Application Programming Interface), todos los datos

que ingresan o dejan el módulo están contenidos en tramas, las cuales definen la

operación o eventos dentro del módulo. Este método permite cambiar la dirección de

destino de un paquete sin tener que entrar al modo de comando (para lo cual sería

necesario usar un ordenador), determinar el estado de los paquetes recibidos, permite

conocer la identidad del módulo que le envía un paquete, entre otras.



De acuerdo al estándar IEEE 802.15.4 dos tipos de redes son soportadas por los

módulos Xbee. Sin balizas (Non Beacon) y con balizas (beacon). Antes de explicar en

que consiste cada tipo de red debemos explicar algunos conceptos relacionados con

éstas. Asociación. Es el establecimiento de relaciones entre un dispositivo final (End

device) y un coordinador.
- 28 -



Coordinador. Es un dispositivo central configurado para proveer servicios de

sincronización para la transmisión de balizas.



Dispositivo final (End device). Es un dispositivo dentro de una red, en la cual existe un

coordinador, el mismo que provee la sincronización, para que pueda entrar a un modo

dormido, para efectos de bajo consumo de potencia.



Red de Área Personal (PAN). Comunicación dentro de una red que incluye

dispositivos finales y posiblemente un coordinador. El método sin balizas (non

beacon), es empleado en comunicaciones que no requieren el empleo de un

coordinador. El esquema sin balizas, es empleado en una topología igual a igual, en el

que cada dispositivo comparte el papel de maestro o esclavo. Cualquier dispositivo

puede iniciar una conversación y puede ser interferido por otros dispositivos.



El esquema con baliza (beacon), un dispositivo es configurado como coordinador. Este

mecanismo permite controlar el consumo de potencia en la red. Este modo permite a

todos los dispositivos saber cuando pueden transmitir. El coordinador de la red

controla el canal y dirige las transmisiones. La principal ventaja de este método de

trabajo es reducir el consumo de potencia.



Modos de Operación



Un módulo Xbee opera dentro de cinco modos. Transmisión, recepción, modo libre,

modo dormido y modo de comando.

El módulo se encuentra en modo de transmisión, cuando ingresa datos a éste a través

de la interfaz serial. El módulo se encuentra en modo de recepción, cuando recibe

datos inalámbricamente. El módulo se encuentra en modo libre, cuando no transmite o
- 29 -



recibe datos. El módulo ingresa al modo de comando, para modificar o leer

parámetros, como direcciones, el nivel de potencia, la velocidad para una

comunicación serial, entre otros.
- 30 -




                                   CAPITULO IV


  PROCESAMIENTO DE DATOS Y MANEJO DE PUERTO SERIE CON MATLAB


4.1 Entorno MatLab



Es un programa interactivo para computación numérica y visualización datos. Es

ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además

una extraordinaria versatilidad y capacidad para resolver problemas en matemática

aplicada, física, química, ingeniería, finanzas y muchas otras aplicaciones. Está

basado en un sofisticado software de matrices para análisis de sistemas de

ecuaciones. Permite resolver complicados problemas numéricos sin necesidad de

escribir un programa. MATLAB es un entorno de computación y desarrollo de

aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se

encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los

mismos.
- 31 -



MATLAB integra análisis numérico, cálculo matricial, proceso de señal visualización

gráfica en un entorno completo donde los problemas y sus soluciones son expresados

del mismo modo en que se escribirían tradicionalmente, sin necesidad de hacer uso de

la programación tradicional matrices.      MATLAB puede almacenar información en

variables tales como : a = 100 " <Ctrl> <ENTER> para evaluar la celda ". El programa

permite realizar de un modo rápido la resolución numérica de problemas en un tiempo

mucho menor que si se quisiesen resolver estos mismos problemas con lenguajes de

programación tradicionales como pueden ser los lenguajes Fortran, Basic o C.




4.1.1 Uso de Matrices



MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una

forma altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser

una imagen o una película. Una matriz de fluctuaciones de una señal puede ser un

sonido o una voz humana. Y tal vez más significativamente, una matriz puede describir

una relación lineal entre los componentes de un modelo matemático.

En este último sentido, una matriz puede describir el comportamiento de un sistema

extremadamente complejo. Por ejemplo una matriz puede representar el vuelo de un

avión a 40.000 pies de altura, o un filtro digital de procesamiento de señales.

                                A = [ 1 2 3; 4 5 6; 7 8 9 ]


4.1.2 Archivos-M: Comandos y Funciones



Los archivos de disco que contienen instrucciones de MATLAB se llaman archivos-M.

Esto es así porque siempre tienen una extención de ".m" como la última parte de su

nombre de archivo. Un archivo -M consiste de una secuencia de instrucciones
- 32 -



normales de MATLAB, que probablemente incluyen referencias a otros archivos-M. Un

archivo -M se puede llamar a sí mismo recursivamente.



Puedes crear archivos-M utilizando un editor de texto ó procesador de palabras. Hay

dos tipos de archivos -M: los de comandos y las funciones. Los archivos de comandos,

automatizan secuencias largas de comandos. Los archivos de funciones, permiten

añadir a MATLAB funciones adicionales expandiendo así la capacidad de este

programa. Ambos, comandos y funciones, son archivos ordinarios de texto ASCII.



                        Tabla 2 Funciones Trigonométricas


     Funciones                                      Ejemplos
Trigonométricas         sin - seno
                        cos - coseno
                        tan - tangente
                        asin - seno inverso
                        acos - coseno inverso
                        atan - tangente inversa



Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml



                           Tabla 3 Funciones Matriciales

     Funciones                                      Ejemplos
Matriciales             tril(A) Matriz triangular inferior
                        triu(A) Matriz triangular superior
                        pascal Triangulo de Pascal
                        tocplitz Tocplitz



Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
- 33 -



                          Tabla 4 Funciones Elementales



     Funciones                                     Ejemplos
Elementales             real(a) Parte real; imag(a) Parte imaginaria
                        conj(a) Conjugado de a
                        fft(x) Transformada discreta de Fourier del vector x
                        fft(x,n) FFT de n puntos muestrales
                        ifft(x) Transformada inversa de Fourier del vector x
                        zeros Inicializa a ceros
                        zeros(n) Matriz de nxn de ceros
                        zeros(m,n) Matriz de mxn de ceros
                        y=zeros(size(A) Matriz del tamaño de A, todos ceros



Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml



                         Tabla 5 Operadores Relacionales



                                  OPERADORES

Operadores          < menor que             Operadores           &,y

relacionales        <= menor o igual a      lógicos              |,ó

                    > mayor que                                  ~, no

                    >= mayor o igual a

                    == igual a

                    =~ no igual a




Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
- 34 -



                           Tabla 6 Operadores Matriciales


        Operadores                                        Ejemplos

Matriciales                       + adición o suma

                                  – sustracción o resta

                                  * multiplicación

                                  ' adjunta (transpuesta o transpuesta conjugada)

                                  ^ potenciación

                                   división-izquierda, / división-derecha

                                  .* producto elemento a elemento

                                  ./ y . división elemento a elemento

                                  .^ elevar a una potencia elemento a elemento



                           Tabla 7 Caracteres Especiales



                               Caracteres Especiales
                [ ] Se utilizan para formar vectores y matrices.
                (gg)     Define      precedencia     en     expresiones
                aritméticas.



                                   Tabla 8 Estructuras



                                  CONTROL DE FLUJO
                       Estructuras            FOR simple
                                              FOR anidada
                                              WHILE
                                              IF, ELSE, ELSEIF y
                                              BREAK



Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
- 35 -



4.1.3 Guide Interfaz Gráfica de Usuario en Matlab



GUIDE es un entorno de programación visual disponible en MATLAB para realizar y

ejecutar programas que necesiten ingreso continuo de datos. Tiene las características

básicas de todos los programas visuales como Visual Basic o Visual C++. Para tener

acceso a esta aplicación se debe teclear el siguiente comando. >> guide.



O haciendo un click en el ícono que muestra la figura:




                                 Fig. 7 Ícono GUIDE.

Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB

Se presenta el siguiente cuadro de diálogo:




                           Fig. 8 Ventana de inicio de GUI.

Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
- 36 -



Se elige la primera opción, Blank GUI, y se genera un nuevo espacio de trabajo como

se muestra en la fig. 10.



Luego se presenta una nueva ventana que es el área de trabajo para el diseño del

programa, en donde se coloca todos los componentes necesarios para generar el la

interfaz deseada.




                            Fig. 9 Entorno de diseño de GUI


Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB



La interfaz gráfica cuenta con varias opciones para agregar distintas funciones según

la necesidad del programador, las cuales cuentan con dos partes: La primera en

donde se adicionan los componentes, botones, gráficas, etc. y la segunda en donde se

coloca la programación correspondiente View Callbacks/CreateFCN.
- 37 -



Descripción de los componentes:



                            Tabla 9 Componentes MatLab GUI



 Control            Valor de estilo       Descripción

 Check box          checkbox’             Indica el estado de una opción o atributo

 Editable Text      edit’                 Caja para editar texto

 Pop-up menu        popupmenu’            Provee una lista de opciones

 List Box           listbox’              Muestra una lista deslizable

 Push Button        pushbutton’           Invoca un evento inmediatamente

 Radio Button       radio’                Indica    una   opción   que     puede   ser

                                          seleccionada

 Toggle Button      togglebutton’         Solo dos estados, “on” o “off”

 Slider             slider’               Usado para representar un rango de

                                          valores

 Static Text        text’                 Muestra un string de texto en una caja

 Panel button                             Agrupa botones como un grupo

 Button Group                             Permite exclusividad de selección con los

                                          radio button



Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB



Ahora se dispone de dos entornos de trabajo: el archivo *.m que es donde se escribe

todo el código Matlab de programación y el punto *.fig que es donde se pondrán todos

los componentes necesarios que se van a programar.
- 38 -



El archivo .m es el que contiene el código con las correspondencias de los botones de

control de la interfaz y el archivo .fig contiene los elementos gráficos.

Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se genera

automáticamente código en el archivo .m. Para ejecutar una Interfaz Gráfica, si se ha

etiquetado con el nombre curso.fig, simplemente ejecutamos en la ventana de

comandos >> curso. O haciendo click derecho en el m-file y seleccionando la opción

RUN.




4.2 Puerto Serie




                   Fig. 10 Disposición de los Pines del Conector DB-9


Fuente: Ayuda de Matlab 7.6

Es una interfaz de comunicaciones de datos digitales, frecuentemente utilizada por

computadoras y periféricos, en donde la información es transmitida bit a bit enviando

un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits

simultáneamente. La comparación entre la transmisión en serie y en paralelo se puede

explicar con analogía con las carreteras. Una carretera tradicional de un sólo carril por

sentido sería como la transmisión en serie y una autovía con varios carriles por sentido

sería la transmisión en paralelo, siendo los coches los bits.



Un puerto serie es una interfaz física de comunicación en serie a través de la cual se

transfiere información mandando o recibiendo un bit.


Mientras que otras interfaces como Ethernet, FireWire, y USB mandaban datos como

un flujo en serie, el término "puerto serie" normalmente identifica el hardware más o
- 39 -



menos conforme al estándar RS-232, diseñado para interactuar con un módem o con

un dispositivo de comunicación similar.


4.2.1 Tipos de Comunicaciones Seriales



Simplex



En este caso el transmisor y el receptor están perfectamente definidos y la

comunicación es unidireccional. Este tipo de comunicaciones se emplean usualmente

en redes de radiodifusión, donde los receptores no necesitan enviar ningún tipo de

dato al transmisor.



Duplex, half duplex o semi-duplex



En este caso ambos extremos del sistema de comunicación cumplen funciones de

transmisor y receptor y los datos se desplazan en ambos sentidos pero no

simultáneamente. Este tipo de comunicación se utiliza habitualmente en la interacción

entre terminales y un computador central.



Full Duplex



El sistema es similar al duplex, pero los datos se desplazan en ambos sentidos

simultáneamente. Para ello ambos transmisores poseen diferentes frecuencias de

transmisión o dos caminos de comunicación separados, mientras que la comunicación

semi-duplex necesita normalmente uno solo. Para el intercambio de datos entre

computadores este tipo de comunicaciones son más eficientes que las transmisiones

semi-duplex.
- 40 -




                       Fig. 11 Comunicación Full Duplex(Ejm.)


En ocasiones encontramos sistemas que pueden transmitir en los dos sentidos, pero

no de forma simultánea. Puede darse el caso de una comunicación por equipos de

radio, si los equipos no son full dúplex, uno no podría transmitir (hablar) si la otra

persona está también transmitiendo (hablando) porque su equipo estaría recibiendo

(escuchando) en ese momento.


4.2.2 Formato Datos Serie



El formato de los datos serie incluye un bit de inicio, entre cinco y ocho bits de los

datos, y uno de parada. Un bit de paridad y un bit de la parada adicional también

podrían ser incluidos en el formato. El siguiente diagrama ilustra el formato de los

datos de serie.




                   Fig. 12 Formato Transmisión de los datos serie


Fuente: Ayuda de MatLab 7.6
- 41 -



El formato para los datos del puerto de serie, usa a menudo la anotación siguiente:

Numero de los bits de datos, tipo de paridad, número de bits de parada

Por ejemplo, 8-N-1 se interpreta como ocho bits de datos, ninguna paridad, y un bit

de parada, mientras que 7-E-2 como siete bits de los datos, paridad igual, y dos bits

de parada.



Los bits de datos a menudo se refieren a caracteres porque estos bits usualmente

representan caracteres ASCII




4.2.3 Transmisión y Configuración de los Bits Serie



Por definición, los datos seriales son transmitidos un bit a la vez. El orden de

transmisión es el siguiente:



El bit de inicio se transmite con un valor de 0. Los bits de datos se transmiten. El

primer bit de datos corresponde al bit menos significante (LSB), mientras el último bit

de los datos corresponde al bit más significante (MSB). El bit de paridad (si se definió)

se transmite. Se transmiten un o dos bits de la parada, cada uno con un valor de 1.



El número de pedazos transferido por segundo está definido por el baud rate. Los bits

transferidos incluyen el bit de inicio, los bits de los datos, el bit de paridad (si definió),

y los bits de la parada.


Las características seriales importantes son: tasa de baudios, bits de datos, bits de

paro, y paridad. Para que dos puertos se comuniquen, estos parámetros deben

igualarse:
- 42 -



La tasa de baudios es una unidad de medición para comunicación que indica el

número de bits transferidos por segundo. Por ejemplo, 300 baudios son 300

bits por segundo. Cuando los ingenieros se refieren a un ciclo de reloj, se

refieren a la tasa en baudios, así que si el protocolo indica una razón en

baudios de 4800, el reloj está ejecutándose a 4800 Hz. Esto quiere decir que el

puerto serial está muestreando la línea de datos a 4800 Hz. Las tasas de

baudios para líneas telefónicas son 14400, 28800, y 33600. Tasas de baudios

mayores a estas son posibles, pero reducen la distancia disponible para la

separación de dispositivos. Utilizan estas tasas de baudios para comunicación

donde los dispositivos están localizados entre sí, como sucede típicamente con

los dispositivos GPIB.

Bits de datos son mediciones de los bits de datos actuales en una transmisión.

Cuando una computadora envía un paquete de información, la cantidad de

datos actuales puede ser que no complete 8 bits. Los valores estándar para los

paquetes de datos son de 5, 7, y 8 bits. El marco que usted elija dependerá de

la información que está transfiriendo. Por ejemplo, el ASCII estándar tiene

valores de 0 a 127 (7 bits). El ASCII extendido utiliza de 0 a 255 (8 bits). Si los

datos que usted está transfiriendo se encuentran en texto simple (ASCII

estándar), enviar 7 bits de datos por paquete, es suficiente para la

comunicación. Un paquete se refiere a la transferencia de un sólo byte,

incluyendo los bits de inicio/paro, bits de datos, y paridad. Debido a que el

número de bits actuales depende del protocolo seleccionado, puede utilizar el

término “paquete” para cubrir todas las instancias.

Los bits de paro son utilizados para señalar el término de comunicaciones en

un paquete sencillo. Los valores típicos son 1, 1.5 y 2 bits. Debido a que los

datos se encuentran sincronizados a través de las líneas y cada dispositivo
- 43 -



       tiene su propio reloj, es posible que los dos dispositivos pierdan sincronización.

       Por lo tanto, los bits de paro no solamente indican el final de una transmisión,

       también le da un margen de error a las velocidades de reloj de la computadora.

       A medida que se utilizan más bits para bits de paro, mayor oportunidad para

       sincronizar los diferentes relojes, pero más lenta la razón de transferencia de

       datos.


Paridad es una forma de revisión de error simple utilizada en la comunicación serial.

Existen cuatro tipos de paridad – pares, impares, marcados y espaciados. También

puede utilizar los que excluyen de paridad. Para paridad impar y par, el puerto serial

fija el bit de paridad (el último bit después de los bits de datos) a un valor que asegura

que la transmisión tenga un número par o impar de bits lógicos. Por ejemplo, si el dato

es 011, para paridad par, el bit de paridad es 0 para mantener el número par de bits

altamente lógicos. Si la paridad es impar, el bit de paridad es 1, resultando en 3 bits

altamente lógicos. La paridad marcada y espaciada no revisa específicamente los bits

de datos, simplemente fija la paridad de los bits como alta para la paridad marcada o

baja para la paridad espaciada. Esto permite que el dispositivo receptor conozca el

estado de un bit para así determinar si el ruido esta corrompiendo los datos o si los

relojes del dispositivo de transmisión y recepción se encuentran fuera de

sincronización.
- 44 -




                                  CAPITULO V


         DESARROLLO DE HARDWARE Y SOFTWARE DEL PROTOTIPO


5.1 Descripción de las características técnicas y mecánicas de los dispositivos

    y materiales a utilizar


5.1.1 Servomotores HITEC HS311




                          Fig. 13 Servomotor Encapsulado


Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf
- 45 -




                             Fig. 14 Partes del Servomotor


Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf



Un Servo HITEC HS311 es un dispositivo pequeño que tiene un eje de rendimiento

controlado. Este puede ser llevado a posiciones angulares específicas al enviar una

señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el

servo mantendrá la posición angular del engranaje. Cuando la señal codificada

cambia, la posición angular de los piñones cambia. En la práctica, se usan servos para

posicionar superficies de control como el movimiento de palancas, pequeños

ascensores y timones. Ellos también se usan en radio control, títeres, y por supuesto,

en robots.



Los Servos HITEC HS311          son sumamente útiles en robótica. Los motores son

pequeños, tiene internamente una circuitería de control interna y es sumamente

poderoso para su tamaño. Un servo normal o Standard como el HS311 de HIITECH

tiene 42 onzas por pulgada o mejor 3.7kg por cm. de torque que es bastante fuerte

para su tamaño. También potencia proporcional para cargas mecánicas. Un servo, por

consiguiente, no consume mucha energía. En la composición interna se puede

observar la circuitería de control, el motor, un juego de piñones, y la caja.
- 46 -



También los 3 alambres de conexión externa. Uno es para alimentación Vcc (+5volts),

conexión a tierra GND y el alambre blanco es el alambre de control.


El motor del servo tiene algunos circuitos de control y un potenciómetro (una

resistencia variable) esta es conectada al eje central del servo motor. Este

potenciómetro permite a la circuitería de control, supervisar el ángulo actual del servo

motor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el

circuito chequea que el ángulo no es el correcto, el motor girará en la dirección

adecuada hasta llegar al ángulo correcto. El eje del servo es capaz de llegar alrededor

de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero varía según

el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0

y 180 grados. Un servo normal no es mecánicamente capaz de retornar a su lugar, si

hay un mayor peso que el sugerido por las especificaciones del fabricante.


La cantidad de voltaje aplicado al motor es proporcional a la distancia que éste

necesita viajar. Así, si el eje necesita regresar una distancia grande, el motor regresará

a toda velocidad. Si este necesita regresar sólo una pequeña cantidad, el motor

correrá a una velocidad más lenta. A esto se le llama control proporcional.


5.1.2 MAX232




                                  Fig. 15 CI. Max 232

Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf
- 47 -




                      Fig. 16 Configuración interna del max 232


Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf


El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto

serie RS232 a niveles TTL y viceversa. Lleva internamente 2 conversores de nivel de

TTL a rs232 y otros 2 de rs232 a TTL con lo que en total podremos manejar 4 señales

del puerto serie del PC, por lo general las más usadas son; TX, RX, RTS, CTS, estas

dos últimas son las usadas para el protocolo handshaking pero no es imprescindible

su uso. Para que el max232 funcione correctamente deberemos de poner unos

condensadores externos. El MAX232 soluciona la conexión necesaria para lograr

comunicación entre el puerto serie de una PC y cualquier otro circuito con

funcionamiento en base a señales de nivel TTL/CMOS.



El circuito integrado posee dos conversores de nivel TTL a RS232 y otros dos que, a la

inversa, convierten de RS232 a TTL. Estos conversores son suficientes para manejar

las cuatro señales más utilizadas del puerto serie del PC, que son TX, RX, RTS y CTS.
- 48 -



TX es la señal de transmisión de datos, RX es la de recepción, y RTS y CTS se

utilizan para establecer el protocolo para el envío y recepción de los datos.




5.1.3 Xbee Pro



Los módulos XBee Pro tienen una presentación similar a la de un chip, están

compuestos por un microcontrolador, un emisor y un receptor de RF. Estos módulos

tienen la ventaja de poder flashearse y cambiarse de protocolo.

Los módulos XBee permiten enlaces seriales de señales TTL en distancias de 30

metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con

los módulos Pro.




                                 Fig. 17 Modulo XBee


Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf




                               Fig. 18 Modulo XBee Pro


Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
- 49 -




                      Fig. 19 Medidas vista frontal XBee Pro


http://www.sebest.com.ar/?q=node/61




                   Fig. 20 Dimensiones del módulo XBEE PRO

Fuente: http://www.sebest.com.ar/?q=node/61



Especificaciones del módulo XBee

Rendimiento

      Alcance (interiores) 30m

      Alcance (exteriores) 100m

      Potencia de salida en transmisión 1mW(0dBm)

      Régimen RF de datos 250kbps

      Sensibilidad del receptor -92 dBm(1%PER)

      Comunicaciones seriales 1200-115200bps
- 50 -



Requerimientos de Potencia

      Suministro de voltaje 2.8-3.4V

      Corriente de transmisión 45mA (a 3.3V)

      Corriente de recepción 50mA (a 3.3V)

      Corriente bajo consumo <10uA

      INFORMACIÓN GENERAL

      Frecuencia ISM 2.4GHz

      Dimensiones 24.38x32.94mm

      Temperatura de operación -40 a 85 ºC

      Opciones de antena Integrated whip, chip o U.FL connector



Redes y Seguridad

      Topologías permitidas Punto a punto, punto-multipunto e igual a igual

      Número de canales 16 DSSS

      Capas de filtración de Red PAN ID y direcciones 64-bit



Certificados de Aprobación

      Estados Unidos (FCC) OUR-XBEE

      Industry Canada (IC) 4214A-XBEE

      Europa (CE) ETSI
- 51 -



                Tabla 10 Características eléctricas del módulo XBee




Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf



               Tabla 11 Distribución de pines del módulo XBEE PRO


      Pin #   Name              Direction                  Description
        1     VCC                   -        Power supply
        2     DOUT               Output      UART Data Out
        3     DIN / CONFIG        Input      UART Data In
        4     DO8*               Output      Digital Output 8
        5                         Input      Module Reset (reset pulse must be at
              RESET
                                             least 200 ns)
        6                        Output      PWM Output 0 / RX Signal Strength
              PWM0 / RSSI
                                             Indicator
        7     PWM1               Output      PWM Output 1
        8     [reserved]            -        Do not connect
        9     DTR /               Input      Pin Sleep Control Line or Digital Input 8
              SLEEP_RQ /
              DI8
       10     GND                   -        Ground
       11     AD4 / DIO4         Either      Analog Input 4 or Digital I/O 4
       12                        Either      Clear-to-Send Flow Control or Digital I/O
              CTS / DIO7
                                             7
       13     ON / SLEEP         Output      Module Status Indicator
       14     VREF                Input      Voltage Reference for A/D Inputs
       15     Associate / AD5    Either      Associated Indicator, Analog Input 5 or
              / DIO5                         Digital I/O 5
       16     RTS / AD6 /        Either      Request-to-Send Flow Control, Analog
              DIO6                           Input 6 or Digital I/O 6
       17     AD3 / DIO3         Either      Analog Input 3 or Digital I/O 3
       18     AD2 / DIO2         Either      Analog Input 2 or Digital I/O 2
       19     AD1 / DIO1         Either      Analog Input 1 or Digital I/O 1
       20     AD0 / DIO0         Either      Analog Input 0 or Digital I/O 0


Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
- 52 -



Una de las principales características de estos módulos es que pueden usarse para

transmitir datos de un puerto serie inalámbricamente sin tener que configurar nada.

Simplemente conectando el pin RX y TX. Lo único con lo que debemos tener cuidado

es con la alimentación de 3.3v. De este modo es posible conectar un microcontrolador

directamente al modulo XBee mediante dos cables, con lo que dotaremos a las

aplicaciones de comunicación inalámbrica.



Sin embargo para aplicaciones más simples podemos usar otras de las características

del módulo. El mismo dispone de 8 pines de entrada/salida y 6 de estos pines además

podemos usarlos como ADC. Estas características se debemos configurarla mediante

una PC (con una placa adecuada) o mediante un microcontrolador conectado al

módulo.


5.1.4 GP2D12




                    Fig. 21 CI. Sharp GP2D120X, Vista Frontal


Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF




                   Fig. 22 Sensor Sharp GP2D120X, Vista Lateral


Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
- 53 -



             Tabla 12 Predisposición de los PINES del SHARP GP2D12


                                PIN       SIGNAL
                                           NAME
                                 1           Vo

                                 2         GND

                                 3          Vcc



Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF



El Sharp GP2D120X es un sensor medidor de distancias por infrarrojos que indica

mediante una salida analógica la distancia medida. La tensión de salida varía de forma

no lineal cuando se detecta un objeto en una distancia entre 3 y 40 cm. La salida está

disponible de forma continua y su valor es actualizado cada 32 ms.



Normalmente se conecta esta salida a la entrada de un convertidor analógico digital el

cual convierte la distancia en un número que puede ser usado por el microprocesador.

La salida también puede ser usada directamente en un circuito analógico. Hay que

tener en cuenta que la salida no es lineal. El sensor utiliza solo una línea de salida

para comunicarse con el procesador principal.



En las siguientes figuras podemos ver el propio GP2D120X y el conector de tres pines.



Este dispositivo emplea el método de triangulación utilizando un pequeño Sensor

Detector de Posición (PSD) lineal para determinar la distancia o la presencia de los

objetos dentro de su campo de visión.
- 54 -



Su modo de funcionamiento consiste en la emisión de un pulso de luz infrarroja, que

se transmite a través de su campo de visión que se refleja contra un objeto. Si no

encuentra ningún obstáculo, el haz de luz no refleja y en la lectura que se hace indica

que no hay ningún obstáculo. En el caso de encontrar un obstáculo el haz de luz

infrarroja se reflecta y crea un triángulo formado por el emisor, el punto de reflexión (el

obstáculo) y el detector.



La información de la distancia se extrae midiendo el ángulo recibido. Si el ángulo es

grande, entonces el objeto está cerca (el triángulo es ancho). Si el ángulo es pequeño

significa que está lejos (el triángulo es largo y, por tanto, delgado).


5.1.4.1 Concepto de triangularización:




                            Fig. 23 Funcionamiento del Sensor


Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
- 55 -



Luego se observa como se lleva a cabo la triangulación en el sensor. El LED infrarrojo

emite el haz de luz a través de una pequeña lente convergente que hace que el haz

emisor llegue de forma paralela al objeto.



Cuando la luz choca con un obstáculo, una cierta cantidad de luz se refleja, si el

obstáculo fuera un espejo perfecto, todos los rayos del haz de luz pasarían y sería

imposible medir la distancia. Sin embargo, casi todas las sustancias tienen un grado

bastante grande de rugosidad de la superficie que produce una dispersión hemisférica

de la luz (reflexión no teórica). Alguno de estos haces de ésta luz rebota hacia el

sensor que es recibida por la lente.



La lente receptora también es una lente convexa, pero ahora sirve para un propósito

diferente, actúa para convertir el ángulo de posición. Si un objeto se pone en el plano

focal de una lente convexa y los otros rayos de luz paralelos en otro lado, el rayo que

pasa por el centro de la lente atraviesa inalterado o marca el lugar focal. Los rayos

restantes también enfocan a este punto.



En el plano focal hay un Sensor Detecto de Posición (PSD). Éste dispositivo

semiconductor entrega una salida cuya intensidad es proporcional a la posición

respecto al centro (eficaz) de la luz que incide en él. El rendimiento del PSD en la

salida es proporcional a la posición del punto focal. Esta señal analógica tratada es la

que se obtiene a la salida del sensor.
- 56 -




                         Fig. 24 Funcionamiento del Sensor



Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF



Características:



      Menor influencia del color de los objetos reflexivos.

      Línea indicadora de distancia output/distance: Tipo de salida indicadora de la

      distancia analógica (tensión analógica).

      Distancia del detector de 10 a 80 cm.

      Del circuito del mando externo es innecesario.

      Bajo costo.
- 57 -



5.1.4.2 Dimensiones y encapsulado:




   -    Las Dimensiones marcadas con * indican la distancia al centro de la lente. Las
       tolerancias no especificadas son de


                    Fig. 25 Dimensiones Sensor Sharp GP2D120X



Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF


5.1.4.3 Aplicaciones:

   1. En televisiones

   2. En computadoras personales

   3. Automóviles

   4. Fotocopiadoras

   5. Sensores en sanitarios

   6. Sensores de cuerpo humano para los productos de consumo como

       ventiladores eléctricos y aires acondicionados.

   7. Sensores de garaje
- 58 -



5.1.4.4 Valores máximos Absolutos


                           Para Ta = 25º C y VCC = 5V




                Tabla 13 Valores Máximos Absolutos Sensor Sharp



                 Parámetro                Símbolo      Rangos        Unidades

      Tensión de Alimentación             VCC       -0.3 a 7         V

      Tensión en el terminal de salida    VO        -0.3 a VCC+0.3 V

      Temperatura de trabajo              Topr      -10 a +60        ºC

      Temperatura de almacenamiento Tstg            -40 a +70        ºC




                  Tabla 14 Condiciones de trabajo recomendadas



             Parámetro               Símbolo          Rangos     Unidades

       Tensión de                Vcc                4.5 a +5.5   V

       alimentación de trabajo
- 59 -



                         Tabla 15 Características electro-ópticas



        Parámetros            Símbolo       Condiciones       MIN. TIP. MAX. Unidad

Rango de medida de              L        (*1) (*3)            10     -     80       cm
distancia

Tensión en el        GP2D12 VO           L=80 cm (*1)         0.25   0.4   0.55     V
terminal de salida
                     GP2D15 VOH          Tensión de salida VCC- --         --       V
                                         a nivel alto (*1)    0.3

                              VOL        Tensión de salida --        --    0.6      V
                                         a nivel bajo (*1)

Incremento de la     GP2D12     VO       Cambio de salida     1.75   2.0   2.25     V
tensión de salida                        de L=80 a 10 cm

Tensión de salida    GP2D15 VO           (*1)(*2)(*4)         21     24    27       cm
en función de la
distancia

Corriente media de            ICC        L = 80 cm (*1)       --     33    50       mA
dispersión



 Fuente: Datasheet Sensor Sharp GP2D120X

 *1. Objeto reflexivo usando: Papel blanco (Para el color gris se usa la tarjeta R-27 de

 la Cía. de Kodak S.A. · la cara blanca, la proporción reflexiva; 90%).

 *2. Utilizamos el dispositivo después del ajuste siguiente: salida al cambiar la

 distancia L 24cm 3cm debe medirse por el sensor.

 *3. Rango de distancia que mide el sistema del sensor óptico.

 *4. La salida de cambio tiene una anchura de la histéresis. La distancia especificada

 por Vo desde que la salida a nivel bajo (L) hasta que cambia a nivel alto (H).
- 60 -



5.1.4.5 Diagrama de bloques internos




        Fig. 26 Diagrama de Bloque Internos del Sensor Sharp GPD2D120X


Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF




5.1.4.6 Curvas características del GP2D120X




     Fig. 27 Tensión de Salida Analógica VS en función de Superficie Iluminada

Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
- 61 -




 Fig. 28 Tensión de Salida Analógica VS en función de la Distancia al objeto reflexivo

Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF


5.1.5 Micro controlador 16F877A




                Fig. 29 PIC 16F877A, disposición de los pines del CI.


Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
- 62 -



El micro controlador PIC16F877A de Microchip pertenece a una gran familia de micro

controladores de 8 bits (bus de datos) que tienen las siguientes características

generales que los distinguen de otras familias:

       Arquitectura Harvard

       Tecnología RISC

       Tecnología CMOS

Estas características se conjugan para lograr un dispositivo altamente eficiente en el

uso de la memoria de datos y programa y por lo tanto en la velocidad de ejecución.

Microchip ha dividido su micro controladores en tres grandes subfamilias de acuerdo al

número de bits de su bus de instrucciones:



                        Tabla 16 Familias de micro controladores




Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf



Variantes principales

Los micro controladores que produce Microchip cubren una amplio rango de

dispositivos cuyas características pueden variar como sigue:

       Empaquetado (desde 8 patitas hasta 68 patitas)

       Tecnología de la memoria incluída (EPROM, ROM, Flash)

       Voltajes de operación (desde 2.5 v. Hasta 6v)

       Frecuencia de operación (Hasta 20 Mhz)
- 63 -



5.1.5.1 Descripción de pines del PIC 16F877A


                     Tabla 17 Descripción del PIC 16F877A
- 64 -



                Descripción de pines del PIC 16F877A (Continuación)




Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf


5.1.5.2 Oscilador



Los PIC de rango medio permiten hasta 8 diferentes modos para el oscilador. El

usuario puede seleccionar alguno de estos 8 modos programando 3 bits de

configuración del dispositivo denominado:
- 65 -



FOSC2, FOSC1 y FOSC0. En algunos de estos modos el usuario puede indicar que

se genere o no una salida del oscilador (CLKOUT) a través de una patita de

Entrada/Salida. Los modos de operación se muestran en la siguiente lista:

       LP Baja frecuencia (y bajo consumo de potencia)

       XT Cristal / Resonador cerámico externos, (Media frecuencia)

       HS Alta velocidad (y alta potencia) Cristal/resonador

       RC Resistencia / capacitor externos (mismo que EXTRC con CLKOUT)

       EXTRC Resistencia / capacitor externos

       EXTRC Resistencia / Capacitor externos con CLCKOUT

       INTRC Resistencia / Capacitor internos para 4 MHz

       INTRC Resistencia / Capacitor internos para 4 MHz con CLKOUT

Los tres modos LP, XT y HS usan un cristal o resonador externo, la diferencia sin

embargo es la ganancia de los drivers internos, lo cual se ve reflejado en el rango de

frecuencia admitido y la potencia consumida. En la siguiente tabla se muestran los

rangos de frecuencia así como los capacitores recomendados para un oscilador en

base a cristal.

                         Tabla 18 Configuración de oscilador


                                                    Capacitores Recomendados
       MODO           Frecuencia Típica               C1                 C2
        LP                 32khz                  68 a 100 pf        68 a 100 pf
                           200khz                  15 a 30 pf         15 a 30 pf
         XT                100khz                 68 a 150 pf       150 a 200 pf
                            2Mhz                   15 a 30 pf         15 a 30 pf
                            4Mhz                   15 a 30 pf         15 a 30 pf
         HS                 8Mhz                   15 a 30 pf         15 a 30 pf
                           10Mhz                   15 a 30 pf         15 a 30 pf
                           20Mhz                   15 a 30 pf         15 a 30 pf


Fuente: REYES, A. Micro controladores PIC, programación en BASIC
- 66 -



Cristal externo: En los tres modos mostrados en la tabla anterior se puede usar un

cristal o resonador cerámico externo. En la siguiente figura se muestra la conexión de

un cristal a las patitas OSC1 y OS2 del PIC.




                        Fig. 30 Configuración del cristal externo


Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf



Rangos.- La frecuencia de oscilación depende no sólo de los valores de Rext y Cext,

sino también del voltaje de la fuente Vdd. Los rangos admisibles para resistencia y

capacitor son:

       Rext: de 3 a 100 Kohms

       Cext: mayor de 20 pf


5.1.6 Reguladores de Voltaje


5.1.6.1 LM1117T



Se encarga de fijar a su salida un voltaje de 3.3 voltios DC. Entre las especificaciones

más importantes se tiene:
- 67 -




                           Fig. 31 Disp. Pines del LM1117T

Fuente: www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM1117.pdf




5.1.6.2 Regulador 7805



Se encarga de fijar a su salida un voltaje de 5 voltios DC. Éste alimentará a todos los

dispositivos que requieran de este voltaje.




                            Fig. 32 Disp. Pines del L7805 C


       Fuente: http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf



Entre las principales especificaciones técnicas se tiene:
- 68 -



5.2 DIAGRAMAS DE FLUJO Y ESQUEMAS DEL PROTOTIPO


5.2.1 Diagrama de Bloques




 Puerto     Max       Módulo
  Serie     232N       Xbee
 del PC                 Pro
                        TX




                                          Módulo
                                                              µC
                                         Xbee Pro                      Motores
                                                          PIC16F877A
                                           RX




                    Fig. 33 Diagrama de bloques del Sistema



5.2.2 Circuito Transmisor




                            Fig. 34 Circuito Transmisor
- 69 -



5.2.3 Circuito Comunicación Serial




                       Fig. 35 Circuito Comunicación Serial


5.2.4 Circuito Comunicación Serial Regulador de Voltaje




                        Fig. 36 Circuito Regulador a 3.3V
- 70 -




Fig. 37 Tarjeta TX vista superior




 Fig. 38 Tarjeta TX vista lateral
- 71 -



5.2.5 Circuito Receptor




                             Fig. 39 Circuito Receptor




                          Fig. 40 Tarjeta RX vista superior
- 72 -



5.2.6 Conexión de los Motores




                        Fig. 41 Conexión de los Motores


5.2.7 Circuito Sensor Sharp




                         Fig. 42 Circuito Sensor Sharp
- 73 -



5.2.8 Conexión Regulador de Voltaje de 3.3V




                           Fig. 43 Regulador de Voltaje



5.2.9 Diseño robot móvil

5.2.9.1 Vista Superior




                    Fig. 44 Esquema vista superior, Robot Móvil
- 74 -




Fig. 45 Robot Móvil, Vista Frontal




Fig. 46 Robot Móvil, Vista Lateral
- 75 -



5.2.9.2 Vista Superior Bandeja




                Fig. 47 Esquema vista superior, Bandeja de transporte




5.3 DESARROLLO DEL SOFTWARE


5.3.1 Interfaz grafica en MatLab 2008



Se ha realizado un entorno amigable para el usuario utilizando el Guide de Matlab, con

la inclusión de varios botones que se encargarán de realizar varias actividades entre

ellas el salto a la aplicación que permite dibujar la trayectoria algo que se consiguió

realizarla en Paint, esta aplicación permite tener una grafica en blanco y negro que es

una característica importante ya que es innecesario la utilización del color para el

reconocimiento de la trayectoria que va ha realizar el prototipo. Es también posible la
- 76 -



obtención de la trayectoria mediante cualquier software que permita dibujar pero se

debe tomar en cuenta que la aplicación paint esta disponible en cualquier PC,

entonces, esto implica que no se requiere de la instalación una nueva aplicación o

programa adicional que implique mas consumo de memoria RAM en el PC.



A continuación se detallarán algunas de las pantallas del proceso de consecución de

la imagen. Matlab es el programa que permitió el manejo de los datos y procesamiento

de imágenes para el desarrollo de este proyecto, mediante la aplicación GUIDE de

MATLAB, cuyo comando de ingreso es el siguiente:

                                        >>guide



Esta pantalla muestra el entorno de trabajo del presente proyecto.




                 Fig. 48 Formulario Pantalla principal, Interfaz gráfica
- 77 -



Utilizando botón Dibujar Trayectoria, accederemos a paint, con la línea de comando:

                      winopen('C:WINDOWSsystem32mspaint.exe');

Esta línea de comando permite saltar a una ubicación especificada en el pad, en este

caso accederemos a la aplicación paint para en ella dibujar la trayectoria que

necesitamos luego manipular, luego de dibujar la trayectoria se guarda el dibujo

realizado      con las respectivas características, es posible también modificar las

características de color en escala de grises del grafico en matlab con la siguiente

instrucción.

                                         A=A(:,:,1);



Mediante el botón Actualizar, se carga a la pantalla la imagen dibujada, antes de

proceder a que el prototipo realice su tarea.



La gráfica dibujada en Paint, se obtiene en Matlab como una matriz de datos con el

siguiente      comando:    A=double(imread('C:Documents         and    SettingsFernanda

BolañosEscritorioPROGRAMASfinal matlabmatriz.bmp','bmp'));



Realizamos una consulta a la matriz de modo que podamos obtener solo los datos

menores a uno, esto es solo para obtener las coordenadas de la línea negra de la

trayectoria dibujada, en este caso se almacenarán en los vectores i y j, como se indica

a continuación: [i,j]= find(A<1);



Se procederá inmediatamente a configurar el puerto serial que es por donde se

enviarán los datos, con los siguientes comandos:

s = serial('COM5');

set(s,'BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'FlowControl','none')

set(s,'OutputBufferSize',length(y)*8);
- 78 -



fopen(s);

fwrite(s,P,'uint8');

fread(s,datos);

fclose(s);

delete(s);

clear s;



Una vez obtenido el gráfico completo y almacenado en la matriz se procederá a el

reconocimiento de la trayectoria dibujada de modo que se pueda de terminar que

movimientos deberá realizar el robot móvil, para esto se ha codificado de modo que se

pueda estar al tanto de las características con respecto a Angulo, distancia y dirección

de cada segmento de la trayectoria dibujada.



for w = 1:1:f

  if ((y(p)==y(p+1))&(x(p)<x(p+1))& (x(p)==x(p+1)-1))% cero

     p=p+1;

     a=p;

     a1=a1+1;

  elseif ((x(p)==x(p+1))&(y(p)>y(p+1))& (y(p)==y(p+1)+1))% noventa

     p=p+1;

     b=p;

     b1=b1+1;

  elseif((x(p)<x(p+1))&(y(p)>y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)+1))

     p=p+1;

     d=p;

     d1=d1+1;
- 79 -



  elseif ((x(p)<x(p+1))&(y(p)<y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)-

1))%cuarenta y cinco

      p=p+1;

      c=p;

      c1=c1+1;

  end

end

end



Estos datos previamente bien filtrados, se podrán enviar hacia el robot móvil, mismos

que estarán organizados en formatos de tramas, que almacena datos importantes para

el desarrollo de la trayectoria, es en este momento en que se pone a prueba la

comunicación bidireccional que ha sido implementada.

De este modo el Micro controlador debe cumplir las trayectorias transmitidas y además

si existe algún obstáculo, evadirlo con la utilización del sensor Sharp GP2D120X

Que se configuró de la siguiente manera:


5.3.2 Programa Microcode Motores

include "modedefs.bas" ; incluye los modos de comunicación

@ device HS_OSC

@ DEVICE BOD_OFF

@ DEVICE WDT_OFF

DEFINE HSER_RCSTA 90h

DEFINE HSER_TXSTA 20h

DEFINE HSER_BAUD 9600

DEFINE HSER_SPBRG 31

DEFINE OSC 20
- 80 -




ADCON1=7 ; digitalice el puerto A

i var byte

j var byte

f var byte

x var byte

k var byte

r var byte

val var byte

;DATOS VAR BYTE [2] ; variable DATOS de tamaño de 255

;DATOS VAR BYTE

DATOS1 var byte

MOTOR_D_ADE VAR PORTB.2

MOTOR_D_TRAS VAR PORTB.6

MOTOR_I_ADE VAR PORTB.3

MOTOR_I_TRAS VAR PORTB.7

datos var byte [20]

;eeprom 0,[ ]

trisb=%0

portb=%00000000

trisc=%10000000

portc=%00000000



inicio:



for k=1 to 20

    HSERIN[DATOS[k]]
- 81 -




   if datos[k]="." then

       k=21

   endif



next

  For r=1 to 6

              IF datos[r]="1" THEN

              r=r+1

                FOR f=1 to datos[r]

                gosub adelante

                next

              endif

              if datos[r]="2" then

              r=r+1

                 gosub noventader

                FOR f=1 to datos[r]

                 gosub adelante

                 next

                gosub noventaizq

              endif

              if datos[r]="3" then

              r=r+1

                 gosub derecha

                 FOR f=1 to datos[r]

                      gosub adelante

                 next
- 82 -



  gosub izquierda

endif

if datos[r]="4" then

r=r+1

  gosub izquierda

  FOR f=1 to datos[r]

        gosub adelante

  next

  gosub derecha

endif

if datos[r]="5" then

r=r+1

  gosub noventaizq

  FOR f=1 to datos[r]

        gosub adelante

  next

gosub noventader

endif

if datos[r]="6" then

r=r+1

  gosub cientocho

  FOR f=1 to datos[r]

next

endif

if datos[r]="7" then

r=r+1

  gosub dossetenta
- 83 -



                FOR f=1 to datos[r]

                gosub adelante

              next

              endif

next

gosub cientocho

goto inicio

adelante:

  for i=1 to 20000

  portb=%01000100

  pauseus 2200

  portb=%10001000

  pauseus 900

  portb=%00000000

 next

return

izquierda:

 for i=1 to 10000

  portb=%01000100

  pauseus 2200

  portb=%10001000

  pauseus 2200

  portb=%00000000

  next

return

atras:

 for i=1 to 20000
- 84 -



  portb=%01000100

  pauseus 900

  portb=%10001000

  pauseus 2200

  portb=%00000000

  next

return

derecha:

for j=1 to 2

  for i=1 to 1000

       portb=%01000100

       pauseus 900

       portb=%10001000

       pauseus 900

       portb=%00000000

  next

next

return

noventaizq:

 for i=1 to 1000

  portb=%01000100

  pauseus 2000

  portb=%10001000

  pauseus 4000

  portb=%00000000

  next

return
- 85 -



noventader:

for j=1 to 4

  for i=1 to 1000

       portb=%01000100

       pauseus 900

       portb=%10001000

       pauseus 900

       portb=%00000000

  next

next

return

cientocho:

for j=1 to 2

  for i=1 to 1000

       portb=%01000100

       pauseus 2000

       portb=%10001000

       pauseus 4000

       portb=%00000000

  next

next

return
- 86 -




                        CONCLUSIONES



Al dibujar una trayectoria lineal en la aplicación desarrollada en el PC,

se genera datos que son transmitidos al robot móvil, el cual está en la

capacidad de recorrer dicha trayectoria y además informa su posición

durante la realización del proceso.

Luego de las pruebas realizadas se ha determinado un área de

cobertura de funcionamiento del robot de 20 metros en lugares cerrados.

La utilización de cuatro motores de ejes independientes permite un

mejor control del peso de la estructura y del peso adicional (objeto a

trasladar).

Al realizar un barrido sobre la imagen de la trayectoria dibujada se

obtienen todos los datos necesarios para determinar los pares

ordenados de la ruta que va ha recorrer el prototipo.

No es necesario el uso de gráficos a colores para la obtención de datos

que genera la trayectoria, ya que la imagen luego se la procesa como

escala de grises debido a que solo se requieren los puntos negros de la

misma.
- 87 -



Se utilizó el PIC 16F877A, ya que brinda las características de memoria

necesarias para el desarrollo de este prototipo.

La utilización de la Odometría nos permitió la reutilización de datos y

procesos generados, que luego sirvieron para determinar la posición del

robot durante la realización de la trayectoria.

Como sensor propioseptivo se utilizo el encoder ECG3100, mismo que

brinda la posibilidad de determinar la posición del robot, respecto al

número de veces que giro la llanta (rpm).

La transmisión y recepción de datos se debe configurar a 9600 bps,

debido a que el protocolo XBee solo admite esta velocidad de

transmisión.
- 88 -




                     RECOMENDACIONES



Para el mejor funcionamiento del prototipo se recomienda utilizar fuentes

independientes de voltaje (2 juegos de 4 pilas de 2AA recargables), ya

que los motores consumen mayor amperaje que el resto de los

componentes utilizados.

Para aplicaciones posteriores que requieran llevar mayor peso se

recomienda utilizar motores que tengan un mayor torque que el de los

motores HITECH HS 311 que fueron los utilizados

Se recomienda hacer la transmisión y recepción por medio de los

puertos hardware del micro controlador debido a que estos tienen una

menor tasa de errores de envío y recepción de datos.

Se recomienda la creación de una trama propia de datos, esto con la

finalidad de manipular los datos de mejor manera en el microcontrolador.

Es recomendable utilizar un Xtal externo de 20MHZ para una mejor

velocidad en la transmisión y recepción de datos
- 89 -




                                      RESUMEN


El prototipo del sistema de posicionamiento odométrico inalámbrico para un robot

móvil mediante PC fue construido con la finalidad de desarrollar tecnología que facilite

el trabajo del ser humano en actividades peligrosas, o simplemente para evitar el

trabajo monótono. El prototipo cuenta con una interfaz gráfica hecha en MATLAB,

amigable para el usuario, en donde dibujando la trayectoria se pueden adquirir los

datos, realizando procesamiento de imágenes. Los datos se envían por el puerto serie

del PC al módulo XBee Pro Transmisor, que transmite las tramas de datos al módulo

XBee Pro receptor estableciendo una comunicación Half Duplex. Receptados los datos

estos son alojados e interpretados por el micro controlador 16F877A, el que se

encarga de entregar a los sensores y motores las órdenes que deberán cumplir cada

uno. El robot móvil indica periódicamente su posición, mediante instrucciones que

vuelven al modulo transmisor, datos que son interpretados y visualizados en la interfaz

gráfica antes mencionada. Con el desarrollo e implementación del prototipo se logró

realizar diferentes trayectorias lineales que proporcionan los movimientos requeridos

para transportarse del punto A al punto B, que es el objetivo principal, dependiendo del

uso que se le quiera dar. Se determina que es sumamente versátil y brinda las

características necesarias para su evolución. Este tipo de implementación no genera

costos excesivos si se lo compara con otro tipo de tecnologías. Se recomienda el uso
- 90 -



de fuentes independientes en el robot móvil, una para los motores ya que estos

consumen mucho más rápido la corriente y otra para los demás componentes.
- 91 -




                                  BIBLIOGRAFÍA


LIBROS

     ANGULO, José M. Microntroladores pic Diseño práctico de aplicaciones.

     Madrid-España. Imprenta Gráfica, 2003. Pág. 81 - 82.

     CORRALES, S. Electrónica Práctica con Micro controladores PIC, Ecuador.

     Imprenta Gráfica. Agosto 2006. Pág. 15 - 23, 5 - 47.

     CUENCA, M., ANGULO, J. M y ANGULO Micro controladores PIC. La solución

     en un chip, s.I., Paraninfo, 1998, Pág. 20 - 55.

     CUENCA, M, BALBOA, Moreno, JM. Fundamentos de Electrónica Moderna.

     Teoría y Diseño de Circuitos. s.I, s. e. 1998, Pág. 60 - 75.

     REYES, C. Micro controladores PIC programación en Basic. Ecuador.

     Rispergraf. 2006. Pág. 15 -30, 55 - 73


INTERNET


MATLAB

     (10/07/2009)

     http://www.monografias.com/trabajos5/matlab/matlab.shtml

     (20/07/2009)
- 92 -



      http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB

MAX

      (15/07/2009)

      http://focus.ti.com/lit/ds/symlink/max232.pdf

MICROCONTROLADOR

      (7/09/2009)

      http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

ODOMETRIA

      (25/07/2009)

      http://optimus.meleeisland.net/

ROBOTICA

      (30/06/2009)

      http://es.wikipedia.org/wiki/Rob%C3%B3tica

      (3/07/2009)

      www.foxitsoftware.com

      (3/07/2009)

      http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf

REGULADORES

      (15/09/2009)

      http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM1117.pdf

      (15/09/2009)

      http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf

SENSOR GP2D12

      (20/07/2009)

      http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF

SERVOS
- 93 -



       (20/08/2009)

       http://www.todorobot.com.ar/documentos/servomotor.pdf

XBEE

       (5/08/2009)

       http://www.rev-ed.co.uk/docs/xbe001.pdf

       (6/08/2009)

       http://www.sebest.com.ar/?q=node/61

       (7/08/2009)

       http://www.rev-ed.co.uk/docs/xbe001.pdf
- 94 -




ANEXOS

Más contenido relacionado

La actualidad más candente

Historia de la robotica
Historia de la roboticaHistoria de la robotica
Historia de la roboticaprom2013jefer
 
Leyes De Asimov & Robotica
Leyes De Asimov & RoboticaLeyes De Asimov & Robotica
Leyes De Asimov & RoboticaxXDuendecillaXx
 
Robotica
RoboticaRobotica
Robotica
icarito1996
 
Robot (HISTORIA)
Robot (HISTORIA)Robot (HISTORIA)
Robot (HISTORIA)
guestd439b5
 
Historia de los robots
Historia de los robots Historia de los robots
Historia de los robots
Erick Der Lopez
 
Historia y evolución de los robots
Historia y evolución de los robotsHistoria y evolución de los robots
Historia y evolución de los robots
Esceptico75
 
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOTIntroducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
Academia de Tecnologías LIbres y Social Media
 
Robotica
RoboticaRobotica
Roboticafifilil
 
Robotica 1213598773894112-8
Robotica 1213598773894112-8Robotica 1213598773894112-8
Robotica 1213598773894112-8Cap Ullo
 
Historia de los robots
Historia de los robotsHistoria de los robots
Historia de los robots
AndreaBarreraVillafuerte
 
Paula vs
Paula vsPaula vs
Paula vsPau Vsp
 
losarcHistoria de la robótica
losarcHistoria de la robóticalosarcHistoria de la robótica
losarcHistoria de la robótica
Carlos Muquinche
 
presentación de la rebotica
presentación de la rebotica presentación de la rebotica
presentación de la rebotica
VictorGomez333
 

La actualidad más candente (19)

Historia de la robotica
Historia de la roboticaHistoria de la robotica
Historia de la robotica
 
Leyes De Asimov & Robotica
Leyes De Asimov & RoboticaLeyes De Asimov & Robotica
Leyes De Asimov & Robotica
 
Robotica
RoboticaRobotica
Robotica
 
Robot (HISTORIA)
Robot (HISTORIA)Robot (HISTORIA)
Robot (HISTORIA)
 
Historia de los robots
Historia de los robots Historia de los robots
Historia de los robots
 
LOS ROBOTS
LOS ROBOTSLOS ROBOTS
LOS ROBOTS
 
Historia y evolución de los robots
Historia y evolución de los robotsHistoria y evolución de los robots
Historia y evolución de los robots
 
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOTIntroducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
Introducción a la Robótica Didáctica con Hardware Libre: PingüiBOT
 
ROBOTICA
ROBOTICAROBOTICA
ROBOTICA
 
Robotica
RoboticaRobotica
Robotica
 
Los Robots
Los RobotsLos Robots
Los Robots
 
Robotica
RoboticaRobotica
Robotica
 
Robots
RobotsRobots
Robots
 
Robotica 1213598773894112-8
Robotica 1213598773894112-8Robotica 1213598773894112-8
Robotica 1213598773894112-8
 
Historia de los robots
Historia de los robotsHistoria de los robots
Historia de los robots
 
Robotica - Unidad 01
Robotica - Unidad 01Robotica - Unidad 01
Robotica - Unidad 01
 
Paula vs
Paula vsPaula vs
Paula vs
 
losarcHistoria de la robótica
losarcHistoria de la robóticalosarcHistoria de la robótica
losarcHistoria de la robótica
 
presentación de la rebotica
presentación de la rebotica presentación de la rebotica
presentación de la rebotica
 

Destacado

Compuertas logicas emiliano lety gerardo
Compuertas logicas emiliano lety gerardoCompuertas logicas emiliano lety gerardo
Compuertas logicas emiliano lety gerardoFernando Galaviz
 
Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Horacio Barba
 
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
Tema3 circuitos puertas_lógicas_y_álgebra_de_booleTema3 circuitos puertas_lógicas_y_álgebra_de_boole
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
hacaveks
 
2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab
Carlos Yagamy
 
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
Chao Huang
 
Curso De Electronica Practica
Curso De Electronica PracticaCurso De Electronica Practica
Curso De Electronica Practicaguest07963
 

Destacado (8)

Compuertas logicas emiliano lety gerardo
Compuertas logicas emiliano lety gerardoCompuertas logicas emiliano lety gerardo
Compuertas logicas emiliano lety gerardo
 
Ppt 1
Ppt 1Ppt 1
Ppt 1
 
Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)Guia tecnica varios modelos panasonic (2)
Guia tecnica varios modelos panasonic (2)
 
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
Tema3 circuitos puertas_lógicas_y_álgebra_de_booleTema3 circuitos puertas_lógicas_y_álgebra_de_boole
Tema3 circuitos puertas_lógicas_y_álgebra_de_boole
 
Ciclo de refrigeracion diagrama de mollier
Ciclo de refrigeracion diagrama de mollierCiclo de refrigeracion diagrama de mollier
Ciclo de refrigeracion diagrama de mollier
 
2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab2012 interfaz grafica en guide matlab
2012 interfaz grafica en guide matlab
 
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...
 
Curso De Electronica Practica
Curso De Electronica PracticaCurso De Electronica Practica
Curso De Electronica Practica
 

Similar a Indice

instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdfinstructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
jhonjairoAnacona
 
Introducción a la robótica - Personajes Famosos
Introducción a la robótica - Personajes FamososIntroducción a la robótica - Personajes Famosos
Introducción a la robótica - Personajes Famosos
Oscar Mendoza Gutiérrez
 
253825386-hintroduccion-a-la-robotica.pptx
253825386-hintroduccion-a-la-robotica.pptx253825386-hintroduccion-a-la-robotica.pptx
253825386-hintroduccion-a-la-robotica.pptx
run hhh
 
Introduccion a La Robotica
Introduccion a La RoboticaIntroduccion a La Robotica
Introduccion a La Robotica
Alberto Jimenez
 
Robótica
RobóticaRobótica
Robótica
krnroman
 
Robotica
RoboticaRobotica
Robotica
AnglicaLemuz
 
Robotica 1
Robotica 1Robotica 1
Robotica 1
Leidy Restrepo
 
Robotica Carlosrp
Robotica CarlosrpRobotica Carlosrp
Robotica Carlosrpcarlosrp
 
robotica-carlosrp
robotica-carlosrprobotica-carlosrp
robotica-carlosrpcarlosrp
 
Robótica.docx
Robótica.docxRobótica.docx
Robótica.docx
YURAVISINECAMAZNICOC
 
Minerobotica
MineroboticaMinerobotica
Minerobotica
Keylin Flores
 
Minerobotica
MineroboticaMinerobotica
Minerobotica
Keylin Flores
 
ROBOTICA
ROBOTICA ROBOTICA
Aqua marketing plan purple variant by slidesgo
Aqua marketing plan purple variant   by slidesgoAqua marketing plan purple variant   by slidesgo
Aqua marketing plan purple variant by slidesgo
AngelyRamirez2
 
Historia de la robótica
Historia de la robóticaHistoria de la robótica
Historia de la robóticasorbivi
 

Similar a Indice (20)

La robotica
La roboticaLa robotica
La robotica
 
La robótica
La robóticaLa robótica
La robótica
 
instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdfinstructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
instructivonjhonnjaironanaconanLIBRE___52635bfd2baf5fa___.pdf
 
Introducción a la robótica - Personajes Famosos
Introducción a la robótica - Personajes FamososIntroducción a la robótica - Personajes Famosos
Introducción a la robótica - Personajes Famosos
 
LOS ROBOTS
LOS ROBOTSLOS ROBOTS
LOS ROBOTS
 
253825386-hintroduccion-a-la-robotica.pptx
253825386-hintroduccion-a-la-robotica.pptx253825386-hintroduccion-a-la-robotica.pptx
253825386-hintroduccion-a-la-robotica.pptx
 
Introduccion a La Robotica
Introduccion a La RoboticaIntroduccion a La Robotica
Introduccion a La Robotica
 
Robótica
RobóticaRobótica
Robótica
 
Robotica
RoboticaRobotica
Robotica
 
Robotica 1
Robotica 1Robotica 1
Robotica 1
 
Robotica Carlosrp
Robotica CarlosrpRobotica Carlosrp
Robotica Carlosrp
 
robotica-carlosrp
robotica-carlosrprobotica-carlosrp
robotica-carlosrp
 
Robótica.docx
Robótica.docxRobótica.docx
Robótica.docx
 
Minerobotica
MineroboticaMinerobotica
Minerobotica
 
Minerobotica
MineroboticaMinerobotica
Minerobotica
 
ROBOTICA
ROBOTICA ROBOTICA
ROBOTICA
 
Aqua marketing plan purple variant by slidesgo
Aqua marketing plan purple variant   by slidesgoAqua marketing plan purple variant   by slidesgo
Aqua marketing plan purple variant by slidesgo
 
la robotica
la roboticala robotica
la robotica
 
Robótica+..
Robótica+..Robótica+..
Robótica+..
 
Historia de la robótica
Historia de la robóticaHistoria de la robótica
Historia de la robótica
 

Indice

  • 1. 1 C CAPITULO I, 4 Clasificación de los Robots, 7 COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE, 23 E errores, 15 I Introduccion, 2 INTRODUCCIÓN, 2, Véase L LA ROBOTICA, 4 M metodos, 16
  • 2. -2- INTRODUCCIÓN Los avances en robótica indican que en los últimos años se ha presentado la necesidad de desarrollar tecnología que reemplace al ser humano en ciertas
  • 3. -3- actividades, especialmente cuando trabaja en áreas de alto riesgo, de difícil acceso o simplemente para facilitar y agilizar el trabajo monótono. Darle autonomía a un robot significa dotarle de características que lo hacen particularmente interesante. Estas tienen que ver con las cualidades del entorno en el que los robots deben llevar a cabo la tarea, y las características de la tarea en sí misma: el entorno es altamente dinámico; esto exige obtener respuestas en tiempos muy cortos, dar solución a un conjunto de limitantes constituye una tarea ardua de recolección de datos y estimación de la información entregada por diversos dispositivos, como el uso de sensores. Surge la necesidad de implementar sistemas que permitan tomar decisiones inteligentes para realizar las diferentes acciones en un entorno determinado, sin que esto afecte el desempeño del resto de los dispositivos que componen dicho entorno. Se pretende diseñar e implementar un sistema prototipo de posicionamiento odométrico inalámbrico es decir utilizando sensores propioseptivos, para un robot móvil que permita simplificar el trabajo en varias actividades como: transportación de materiales peligrosos de un departamento a otro, transportación de documentos, monitoreo de lugares, etc., sin necesidad de la intervención adicional de un operario humano, dichas actividades deben cumplir con las siguientes precisiones: el robot móvil deberá desenvolverse en una superficie regular y plana, tendrá un área de cobertura limitada (de acuerdo al alcance del módulo transmisor y receptor), deberá conocer el entorno estructurado en donde se desenvolverá y sin conocimiento de los posibles obstáculos que se encuentren en el trayecto, enviará constantemente información referente a su posición, durante el recorrido y hasta culminar su trayectoria, dicha trayectoria será determinada con anterioridad en un PC, la
  • 4. -4- demostración del prototipo se realizará en el laboratorios de la Escuela de Ingeniería Electrónica de la ESPOCH. La investigación permitirá a cualquier tipo de empresa integrar tecnologías que permitan tomar decisiones inteligentes en tiempo real minimizando incluso el tiempo de realización de procesos. Este tipo de tecnología no es muy compleja de implementar, y los costos son relativamente bajos comparado con otras tecnologías. CAPITULO I LA ROBOTICA 1.1 Generalidades La historia del ser humano se basa en un proceso de creatividad de algunos seres anónimos, incomprendidos en su momento, pero que lograron saltos cualitativos en la historia del conocimiento. La historia de la robótica ha estado unida a la construcción
  • 5. -5- de aparatos y maquinarias, que trataban de plasmar el deseo humano de crear seres que lo descargasen del trabajo. Carlos Chapek un escritor checo, incorporó en 1921 el término "Robot" en su obra dramática "Rossum's Universal Robots / R.U.R.", a partir de la palabra checa robota, que significa servidumbre o trabajo forzado. El término robótica es recalcado por Isaac Asimov, definiendo a la ciencia que estudia a los robots. Asimov creó también las Tres Leyes de la Robótica. En la ciencia ficción el hombre ha imaginado a los robots visitando nuevos mundos, haciéndose con el poder, o simplemente aliviando de las labores caseras. 1.1.1 Historia de la Robótica A lo largo de la historia el hombre ha sacado provecho de un sinnúmero de aplicaciones robóticas desde tiempos remotos; a continuación algunos de estos ejemplos. Tabla 1 La Robótica en la Historia Fecha Importancia Nombre Inventor del robot Siglo I A. Descripciones de más de 100 Ctesibius de C. y máquinas y autómatas, incluyendo un Alexandria, Filón de antes artefacto con fuego, un órgano de Bizancio, Herón de viento, operado mediante una Alexandria, y otros moneda y a vapor, en neumática y Autómata de Herón de Alexandria 1206 Primer robot humanoide programable Barco con Al-Jazari cuatro músicos
  • 6. -6- robotizados c. 1495 Diseño de un robot humanoide Caballero Leonardo da Vinci mecánico 1738 Pato mecánico capaz de comer, Digesting Jacques de agitar sus alas y excretar. Duck Vaucanson 1800s Juguetes mecánicos japoneses que Juguetes Hisashige Tanaka sirven té, disparan flechas y pintan. Karakuri 1921 Rossum's Karel Čapek Aparece el primer autómata de ficción Universal llamado "robot", aparece en R.U.R. Robots 1930s Se exhibe un robot humanoide en la Elektro Westinghouse World's Fairs entre: 1939 y 1940 Electric Corporation La Robótica en la Historia (Continuación) 1948 Exhibición de un robot con Elsie y Elmer William Grey Walter comportamiento biológico simple 1956 Primer robot comercial, de la Unimate George Devol compañía Unimation fundada por George Devol y Joseph Engelberger, basada en una patente de Devol 1961 Se instala el primer robot industrial Unimate George Devol 1963 Primer robot "palletizing" Palletizer Fuji Yusoki Kogyo 1973 Primer robot con seis ejes Famulus KUKA Robot Group electromecánicos 1975 Brazo manipulador programable PUMA Victor Scheinman universal, un producto de Unimation Fuente: http://es.wikipedia.org/wiki/Rob%C3%B3tica
  • 7. -7- 1.1.2 Definición de Robótica La Robótica es la ciencia y la tecnología de los robots, se ocupa del diseño, manufactura y aplicaciones de los robots. Es un conjunto de métodos y medios derivados de la informática cuyo objetivo de estudio concierne la concepción, la programación y la puesta en práctica de mecanismos automáticos que pueden sustituir al ser humano para efectuar operaciones reguladoras de orden intelectual, motor y sensorial. La robótica es una tecnología multidisciplinar ya que toma conceptos provenientes de diversos dominios del conocimiento: Mecánica, Física, Matemáticas, Cinemática, Geometría, Electrónica, Electricidad, Informática, etc. Otras áreas importantes en robótica son el álgebra, los autómatas programables y las máquinas de estados. 1.1.3 Clasificación de los Robots Según su área o campo de aplicación Robots Físicos Robótica Industrial: Es la parte de la Ingeniería que se dedica a la construcción de máquinas capaces de realizar tareas mecánicas y repetitivas de una manera muy eficiente y con costes reducidos. Robótica de Servicio: Es la parte de la Ingeniería que se centra en el diseño y construcción de máquinas capaces de proporcionar servicios directamente a los miembros que forman sociedad. Robótica Inteligente: Son robots capaces de desarrollar tareas que, desarrolladas en un ser humano, requieren el uso de su capacidad de razonamiento.
  • 8. -8- Robótica Humanoide: Es la parte de la ingeniería que se dedica al desarrollo de sistemas robotizados para imitar determinadas peculiaridades del ser humano. Robots Software Robótica de Exploración: Es la parte de la Ingeniería del Software que se encarga de desarrollar programas capaces de explorar documentos en busca de determinados contenidos. Existen diversos servicios en Internet dedicados a esta parcela de la robótica. Según su Construcción Robots Terrestres Con Ruedas: Ruedas: La rueda es un método altamente probado y muy eficiente en superficies homogéneas poco inclinadas. Los robots con ruedas pueden transportar una carga que es relativamente mayor, respecto de sus contrapartes cuyo sistema de locomoción se basa en patas. La principal desventaja de las ruedas es su empleo en terrenos irregulares Fig. 1 Robot Móvil con ruedas Fuente: www.foxitsoftware.com
  • 9. -9- Fig. 2 Robot tipo oruga Fuente: www.foxitsoftware.com Con Patas: son, evidentemente, un mecanismo producto de un enfoque biológico, por ello el desarrollo de la biorobótica. Sus ventajas, entre otras, son la adaptabilidad al terreno y la posibilidad de omnidireccionalidad. Se puede tener robots de una pata hasta ocho patas en aplicaciones industriales, comerciales y exploratorias, entre otras. Fig. 3 Robot de cuatro patas Fuente: www.foxitsoftware.com
  • 10. - 10 - Fig. 4 Hexápodo Fuente: /www.foxitsoftware.com Fig. 5 El robot ápodo CUBE 2.0 Fuente: /www.foxitsoftware.com 1.1.3.1 Aplicación Domobot Los domobots son microbots (robots móviles con micro controlador) domóticos (conectados a una red de automatización doméstica). Están conectados a un controlador domótico (un ordenador o un dispositivo autónomo sin necesidad de ordenador) mediante cable (puerto USB o Firewire) o inalámbricamente (generalmente un puerto WIFI).
  • 11. - 11 - Se utilizan principalmente en las tareas del hogar (home care), como aspiradores, transportadores de objetos dentro de la casa para el lavado, planchado... No es lo mismo un robot doméstico que un Domobot. ROOMBA es un robot doméstico, pero no es un Domobot debido a que no tiene un puerto para conectarlo a la red domótica (p.e. un puerto WIFI o USB ). En definitiva, la domobótica es un cruce entre la microbótica y la domótica
  • 12. - 12 - CAPITULO II LA ODOMETRÍA 2.1 Definición La posición del robot respecto a un sistema de referencia inicial es uno de los parámetros más importantes de los que debe disponer un robot móvil. Se conoce como "Odometría" a las técnicas de posicionamiento que emplean información de sensores propioceptivos (aquéllos que adquieren datos del propio sistema), para obtener una aproximación de la posición real a la que se encuentra un sistema móvil, en un determinado instante, respecto a un sistema de referencia inicial. Es el método de navegación más usado en el posicionamiento de robots móviles, es la estimación del movimiento de un vehículo tomando como base la rotación de sus ruedas. Las mediciones se calculan incrementalmente, lo que involucra la existencia
  • 13. - 13 - inevitable de un error. Este error incrementa proporcionalmente con la distancia recorrida por el vehículo. Se basa en ruedas de medida y modelos de contacto, utilización de sensores inerciales, como acelerómetros y giróscopos y de mediciones internas del robot. Los elementos son simples de implementar. Entre los elementos para este tipo de técnica de posicionamiento, están los encoders, los CIR y potenciómetros lineales. Estos elementos presentan varios problemas de exactitud ante la presencia de deslizamiento en sus ruedas y desacople mecánico. La Odometría es un método muy utilizado por su bajo coste, elevada frecuencia de cálculo y buena precisión a corto plazo. En general, como se puede apreciar en la figura siguiente son suficientes tres parámetros (X, Y, θ) para conocer la posición de un sistema móvil: posición respecto al eje "x", respecto al eje "y" ángulo respecto al eje "x". Parámetros de Odometría Fuente: http://optimus.meleeisland.net/
  • 14. - 14 - Es capaz de conocer su posición actual a partir de la distancia recorrida por cada una de sus ruedas. Para ello, accede regularmente a las lecturas de los encoders para determinar cuál ha sido el desplazamiento lineal de cada una de las ruedas. La odometría tiene la ventaja que no es capaz de proveer al robot una estimación de su posición. 2.2 Ecuaciones Utilizadas en la Odometría Considerando la precisión de los encoders o sensores, P, la distancia entre ruedas, B, y el valor de los acumuladores de los encoders izquierdo y derecho, Tl y Tr respectivamente, se calcula el desplazamiento lineal (en mm) realizado por cada rueda: Dl = Tl * P Dr = Tr * P El desplazamiento realizado por el punto medio del eje imaginario que une las dos ruedas se calcula como (en mm): Dc = (Dl + Dr) / 2 El valor del ángulo de giro que se produce cuando las ruedas giran a distintas velocidades se calcula como (en radianes): Dθ = (Dr - Dl) / B A partir de la posición en el instante actual, t, (Xt, Yt, θt) se calcula la posición en el instante siguiente, t+1, de la siguiente forma: θt+1 = θt + Dθ Xt+1 = Xt + Dc * cos(θt+1) Yt+1 = Yt + Dc * sin(θt+1)
  • 15. - 15 - 2.3 Errores de Odometría sistemáticos y no sistemáticos 2.3.1 Errores Sistemáticos: Utilizar ruedas con diámetro diferente El diámetro real de las ruedas difiere del diámetro nominal Mala alineación de las ruedas La base de la rueda real difiere de la nominal Resolución finita del encoger Frecuencia de muestreo finita 2.3.2 Errores no sistemáticos Viajar a través de superficies irregulares Viajar y encontrar objetos inesperados en la superficie Derrape de las ruedas atribuible a: Pisos resbaladizos Sobre-aceleración Patinar/derrapar Fuerzas externas (interacción con cuerpos externos) Fuerzas internas (rodamiento de ruedecillas) Perder el contacto de las ruedas con el piso Los errores sistemáticos son realmente importantes, ya que se acumulan constantemente, entonces, es importante detectar si un error es sistemático o no, para así lograr reducir el error de odometría que se acumula. Por ejemplo, en muchas superficies interiores lisas, el error sistemático contribuye mucho más a aumentar el error de odometría que los errores no sistemáticos.
  • 16. - 16 - 2.4 Métodos de Localización Método sencillo para estimación de posición basado en sensores de medición de giro de rueda (≡ longitud de paso en un robot humanoide) Posición + postura actual = acumulación de desplazamientos (integración de camino) Robot con tracción diferencial Robótica móvil (robots con ruedas)
  • 17. - 17 - Menos grados de libertad [como mucho (x,y, θ)] ⇒ problema más sencillo además: menor velocidad ⇒ dinámica no es relevante Robots pueden girar en el sitio (tracción diferencial robot es un punto ⇒ configuración = (x,y) “hinchar” obstáculos en el radio del robot para compensar 2.5 APLICACIONES 2.5.1 Robótica Autónoma La Robótica Autónoma es el área de la Robótica que desarrolla robots capaces de desplazarse y actuar sin intervención humana. Para ello el robot debe percibir su entorno y actuar de forma adecuada, además de llevar a cabo su tarea. La Robótica ha tenido grandes avances en entornos estructurados, en los que el controlador del robot puede tener un mapa detallado de su entorno. Conforme decrece el grado de estructuración del entorno las tareas se tornan más complejas. Esto ocurre cuando el robot es móvil y debe tener información de su posición en el mapa interno. Los mecanismos pueden ser absolutos o relativos, por ejemplo, usando GPS y odometría, respectivamente. En entornos no estructurados la solución a través de mapa no es viable, por lo que se toman caminos en los que no se usa la Inteligencia Artificial clásica, con un control centralizado, sino la Inteligencia Artificial basada en Multiagentes (originaria en el trabajo de Rodney Brooks y su arquitectura de subsunción), o en planteamientos conexionistas usando redes neuronales. La disciplina que usa Algoritmos Genéticos para evolucionar Redes Neuronales se denomina Robótica Evolutiva.
  • 18. - 18 - 2.5.2 Robótica Móvil Los robots móviles son una herramienta eficiente para realizar el transporte en los procesos de fabricación flexible. Los sistemas de posicionamiento y de guiado que incorporan permiten su funcionamiento autónomo. Los métodos de posicionamiento de robots móviles se clasifican en dos grupos posicionamiento relativo y posicionamiento absoluto. Los primeros calculan la posición y la orientación del robot a partir de una configuración inicial conocida, este es el caso de la Odometría y la navegación inercial. Los métodos de posicionamiento absoluto utilizan marcas distribuidas en el entorno de trabajo del robot para determinar su localización absoluta. Estas técnicas son más fiables pero resultan más lentas. En la mayoría de aplicaciones se combina la Odometría con un método absoluto para reducir periódicamente el error. En robótica móvil, es necesario planificar movimientos concretos y controlarlos para garantizar trayectorias seguras y precisas, lo cual conllevan a enfrentar diversos problemas entre los que se destaca el seguimiento de caminos que, para los vehículos con ruedas, se determina teniendo en cuenta la posición y la orientación actual del vehículo con respecto a un trayecto y coordenadas a seguir . Definir que dispositivos se pueden utilizar al posicionar un robot en su entorno, requiere considerar los siguientes aspectos: Resolución espacial: concebido como el más pequeño incremento del movimiento en el que el robot puede dividir su volumen de trabajo. Depende fundamentalmente de dos factores: la resolución de sistema de control y las inexactitudes mecánicas del robot.
  • 19. - 19 - Exactitud: Definida como la capacidad del robot para conseguir un punto de destino determinado. Los sistemas convencionales utilizan diversas técnicas para obtener la orientación y posición de un robot, se destacan: La Odometría, el posicionamiento absoluto basado en marcas o balizas, sistemas radiogoniométricos y GPS; los cuales requieren conocer tanto los requerimientos del robot móvil como las propiedades del entorno 2.5.2.1 Navegación en Robots Móviles El robot móvil se caracteriza por realizar una serie de desplazamientos (navegación) y por llevar a cabo una interacción con distintos elementos de su entorno de trabajo (operación), que implican el cumplimiento de una serie de objetivos impuestos según cierta especificación. Así, formalmente el concepto de misión en el ámbito de los robots móviles (Levi, 1.987) se define como la realización conjunta de una serie de objetivos de navegación y operación. El robot móvil debe poseer una arquitectura que coordine los distintos elementos de a bordo. Sistema sensorial Control de movimiento y operación de forma correcta y eficaz para la realización de una misión. El diseño de esta arquitectura depende mucho de su aplicación en particular, pero un esquema básico de los principales módulos que la componen y la interacción que existe entre los mismos es el presentado en la figura:
  • 20. - 20 - Arquitectura necesaria en un robot móvil para realizar una misión. Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf En la fig. xxxxx, se presenta un módulo de control de misión dedicado a coordinar al controlador de desplazamientos (control de navegación) con el controlador del elemento que interacciona con el entorno de trabajo. Etapas: Control de Misión Control de Navegación Control de Operación Especificación de la misión Esta coordinación debe efectuarse de forma perfecta para cumplir los objetivos impuestos por la misión, definida de acuerdo con ciertas especificaciones de entrada. Formalmente, el control de misión debe analizar el problema y encontrar una estrategia para resolverlo. El problema de la navegación se divide en las siguientes cuatro etapas:
  • 21. - 21 - Percepción del mundo: Mediante el uso de sensores externos, creación de un mapa o modelo del entorno donde se desarrollará la tarea de navegación. Planificación de la ruta: Crea una secuencia ordenada de objetivos o sub metas que deben ser alcanzadas por el vehículo. Esta secuencia se calcula utilizando el modelo o mapa de entorno, la descripción de la tarea que debe realizar y algún tipo de procedimiento estratégico. Generación del camino: En primer lugar define una función continua que interpola la secuencia de objetivos construida por el planificador. Posteriormente procede a la discretización de la misma a fin de generar el camino. Seguimiento del camino: Efectúa el desplazamiento del vehículo, según el camino generado mediante el adecuado control de los actuadores del vehículo (Martínez, 1.994). Las tareas involucradas en la navegación de un robot móvil son: La percepción del entorno a través de sus sensores, de modo que le permita crear una abstracción del mundo; La planificación de una trayectoria libre de obstáculos, para alcanzar el punto destino seleccionado. El guiado del vehículo a través de la referencia construida. De forma simultánea, el vehículo puede interaccionar con ciertos elementos del entorno. El problema de la navegación para un robot móvil se define como: Dado un
  • 22. - 22 - punto de partida A alcanzar el (los) punto(s) de destino B (B1,B2,...) utilizando su conocimiento [el del robot] y la información sensorial que recibe [el robot]. La navegación implica resolver sub problemas a nivel de: Interpretar los datos que le suministra sus sensores para extraer información útil. PERCEPCIÓN Gestionar sus actuadores para conseguir la LOCALIZACIÓN trayectoria deseada. ... el robot debe ser capaz de ... PLANIFICACIÓN Determinar su posición en el entorno. CONTROL DE MOVIMIENTO Decidir cómo actuar para alcanzar el objetivo Sub problemas de la navegación móvil Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf
  • 23. - 23 - CAPITULO III COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE 3.1 Transmisión Inalámbrica La comunicación inalámbrica (inglés wireless, sin cables) es aquella en la que extremos de la comunicación (emisor/receptor) no se encuentran unidos por un medio de propagación físico, sino que se utiliza la modulación de ondas electromagnéticas a través del espacio. En este sentido, los dispositivos físicos sólo están presentes en los emisores y receptores de la señal, entre los cuales encontramos: antenas, computadoras portátiles, PDA, teléfonos móviles, etc. La comunicación inalámbrica también se denomina transmisión no guiada, estos se utilizan principalmente en el aire. Hay dos configuraciones para la emisión y recepción de esta energía: direccional y omnidireccional.
  • 24. - 24 - Fig. 6 Comunicación Inalámbrica Fuente:http://www.monografias.com/trabajos16/comunicacioninalamrica/comuicacion.i nalambrica.shtml En general, la tecnología inalámbrica utiliza ondas de radiofrecuencia de baja potencia y una banda específica, de uso libre o privada para transmitir, entre dispositivos. Estas condiciones de libertad de utilización sin necesidad de licencia, ha propiciado que el número de equipos, especialmente computadoras, que utilizan las ondas para conectarse, a través de redes inalámbricas haya crecido notablemente. La tendencia a la movilidad y la ubicuidad hacen que cada vez sean más utilizados los sistemas inalámbricos, y el objetivo es ir evitando los cables en todo tipo de comunicación, no solo en el campo informático sino en televisión, telefonía, seguridad, domótica, etc. Un fenómeno social que ha adquirido gran importancia en todo el mundo como consecuencia del uso de la tecnología inalámbrica son las comunidades inalámbricas que buscan la difusión de redes alternativas a las comerciales.
  • 25. - 25 - Existen 2 tipos de configuraciones: la direccional y la omnidireccional. La Direccional: Las antenas de emisión y recepción están perfectamente alineadas La Omnidireccional: El diagrama de radiación de la antena es mas disperso pudiendo la señal ser recibida por varias antenas Rangos: 2Ghz hasta 40Ghz se denomina microondas 30Mhz hasta 1Ghz se denomina ondas de radio 3*10-11 hasta 2*10+14 Mhz se denomina infrarrojos 3.1.1 Métodos de Transmisión En el método direccional, toda la energía se concentra en un haz que es emitida en una cierta dirección, por lo que tanto el emisor como el receptor deben estar alineados. En el método omnidireccional, la energía es dispersada en múltiples direcciones, por lo que varias antenas pueden captarla. Cuando mayor es la frecuencia de la señal a transmitir, más factible es la transmisión unidireccional. Por tanto, para enlaces punto a punto se suelen utilizar microondas (altas frecuencias), para enlaces con varios receptores posibles se utilizan las ondas de radio (baja frecuencias). 3.1.2 Protocolo Zigbee ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica para su utilización con radios digitales de bajo consumo, basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal (wireless personal area network, WPAN). Su objetivo son las aplicaciones para redes
  • 26. - 26 - Wireless que requieran comunicaciones seguras y fiables con baja tasa de envío de datos y maximización de la vida útil de sus baterías. Ventajas Ideal para conexiones punto a punto y punto a multipunto. Diseñado para direccionamiento de información y el refrescamiento de la red. Opera en la banda libre de ISM 2.4 Ghz para conexiones inalámbricas. Óptimo para redes de baja tasa de transferencia de datos. Alojamiento de 16 bits a 64 bits de dirección extendida. Reduce tiempos de espera en el envío y recepción de paquetes. Detección de Energía (ED). Baja ciclo de trabajo - Proporciona larga duración de la batería. Soporte para múltiples topologías de red: Estática, dinámica, estrella y malla. Hasta 65.000 nodos en una red. 128-bit AES de cifrado - Provee conexiones seguras entre dispositivos. Son más baratos y de construcción más sencilla. Desventajas La tasa de transferencia es muy baja. Solo manipula textos pequeños comparados con otras tecnologías. Zigbee trabaja de manera que no puede ser compatible con bluetooth en todos sus aspectos porque no llegan a tener las mismas tasas de transferencia, ni la misma capacidad de soporte para nodos. Tiene menor cobertura porque pertenece a redes inalámbricas de tipo WPAN.
  • 27. - 27 - Operación del Módulo Xbee El módulo Xbee puede soportar una comunicación serial asincrónica, con niveles lógicos TTL, por medio de una interfaz UART (Universal Asynchronous Receiver- Transmitter), la velocidad de transmisión puede ser seleccionada por software. El módulo tiene dos métodos de operación: Operación transparente y operación API (Application Programming Interface). En el método de operación transparente el módulo Xbee actúa como reemplazo de una línea serial, es decir, los datos enviados por un dispositivo al módulo son transmitidos inalámbricamente a otro módulo, el cual recibe esa información y la envía por el puerto serial a otro dispositivo, en este proceso los módulos no modifican los datos, solamente se encargan de tomar los datos que reciben del un dispositivo y lo hacen llegar al otro dispositivo tal como lo recibieron. En el método de operación API (Application Programming Interface), todos los datos que ingresan o dejan el módulo están contenidos en tramas, las cuales definen la operación o eventos dentro del módulo. Este método permite cambiar la dirección de destino de un paquete sin tener que entrar al modo de comando (para lo cual sería necesario usar un ordenador), determinar el estado de los paquetes recibidos, permite conocer la identidad del módulo que le envía un paquete, entre otras. De acuerdo al estándar IEEE 802.15.4 dos tipos de redes son soportadas por los módulos Xbee. Sin balizas (Non Beacon) y con balizas (beacon). Antes de explicar en que consiste cada tipo de red debemos explicar algunos conceptos relacionados con éstas. Asociación. Es el establecimiento de relaciones entre un dispositivo final (End device) y un coordinador.
  • 28. - 28 - Coordinador. Es un dispositivo central configurado para proveer servicios de sincronización para la transmisión de balizas. Dispositivo final (End device). Es un dispositivo dentro de una red, en la cual existe un coordinador, el mismo que provee la sincronización, para que pueda entrar a un modo dormido, para efectos de bajo consumo de potencia. Red de Área Personal (PAN). Comunicación dentro de una red que incluye dispositivos finales y posiblemente un coordinador. El método sin balizas (non beacon), es empleado en comunicaciones que no requieren el empleo de un coordinador. El esquema sin balizas, es empleado en una topología igual a igual, en el que cada dispositivo comparte el papel de maestro o esclavo. Cualquier dispositivo puede iniciar una conversación y puede ser interferido por otros dispositivos. El esquema con baliza (beacon), un dispositivo es configurado como coordinador. Este mecanismo permite controlar el consumo de potencia en la red. Este modo permite a todos los dispositivos saber cuando pueden transmitir. El coordinador de la red controla el canal y dirige las transmisiones. La principal ventaja de este método de trabajo es reducir el consumo de potencia. Modos de Operación Un módulo Xbee opera dentro de cinco modos. Transmisión, recepción, modo libre, modo dormido y modo de comando. El módulo se encuentra en modo de transmisión, cuando ingresa datos a éste a través de la interfaz serial. El módulo se encuentra en modo de recepción, cuando recibe datos inalámbricamente. El módulo se encuentra en modo libre, cuando no transmite o
  • 29. - 29 - recibe datos. El módulo ingresa al modo de comando, para modificar o leer parámetros, como direcciones, el nivel de potencia, la velocidad para una comunicación serial, entre otros.
  • 30. - 30 - CAPITULO IV PROCESAMIENTO DE DATOS Y MANEJO DE PUERTO SERIE CON MATLAB 4.1 Entorno MatLab Es un programa interactivo para computación numérica y visualización datos. Es ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además una extraordinaria versatilidad y capacidad para resolver problemas en matemática aplicada, física, química, ingeniería, finanzas y muchas otras aplicaciones. Está basado en un sofisticado software de matrices para análisis de sistemas de ecuaciones. Permite resolver complicados problemas numéricos sin necesidad de escribir un programa. MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los mismos.
  • 31. - 31 - MATLAB integra análisis numérico, cálculo matricial, proceso de señal visualización gráfica en un entorno completo donde los problemas y sus soluciones son expresados del mismo modo en que se escribirían tradicionalmente, sin necesidad de hacer uso de la programación tradicional matrices. MATLAB puede almacenar información en variables tales como : a = 100 " <Ctrl> <ENTER> para evaluar la celda ". El programa permite realizar de un modo rápido la resolución numérica de problemas en un tiempo mucho menor que si se quisiesen resolver estos mismos problemas con lenguajes de programación tradicionales como pueden ser los lenguajes Fortran, Basic o C. 4.1.1 Uso de Matrices MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una forma altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser una imagen o una película. Una matriz de fluctuaciones de una señal puede ser un sonido o una voz humana. Y tal vez más significativamente, una matriz puede describir una relación lineal entre los componentes de un modelo matemático. En este último sentido, una matriz puede describir el comportamiento de un sistema extremadamente complejo. Por ejemplo una matriz puede representar el vuelo de un avión a 40.000 pies de altura, o un filtro digital de procesamiento de señales. A = [ 1 2 3; 4 5 6; 7 8 9 ] 4.1.2 Archivos-M: Comandos y Funciones Los archivos de disco que contienen instrucciones de MATLAB se llaman archivos-M. Esto es así porque siempre tienen una extención de ".m" como la última parte de su nombre de archivo. Un archivo -M consiste de una secuencia de instrucciones
  • 32. - 32 - normales de MATLAB, que probablemente incluyen referencias a otros archivos-M. Un archivo -M se puede llamar a sí mismo recursivamente. Puedes crear archivos-M utilizando un editor de texto ó procesador de palabras. Hay dos tipos de archivos -M: los de comandos y las funciones. Los archivos de comandos, automatizan secuencias largas de comandos. Los archivos de funciones, permiten añadir a MATLAB funciones adicionales expandiendo así la capacidad de este programa. Ambos, comandos y funciones, son archivos ordinarios de texto ASCII. Tabla 2 Funciones Trigonométricas Funciones Ejemplos Trigonométricas sin - seno cos - coseno tan - tangente asin - seno inverso acos - coseno inverso atan - tangente inversa Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml Tabla 3 Funciones Matriciales Funciones Ejemplos Matriciales tril(A) Matriz triangular inferior triu(A) Matriz triangular superior pascal Triangulo de Pascal tocplitz Tocplitz Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
  • 33. - 33 - Tabla 4 Funciones Elementales Funciones Ejemplos Elementales real(a) Parte real; imag(a) Parte imaginaria conj(a) Conjugado de a fft(x) Transformada discreta de Fourier del vector x fft(x,n) FFT de n puntos muestrales ifft(x) Transformada inversa de Fourier del vector x zeros Inicializa a ceros zeros(n) Matriz de nxn de ceros zeros(m,n) Matriz de mxn de ceros y=zeros(size(A) Matriz del tamaño de A, todos ceros Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml Tabla 5 Operadores Relacionales OPERADORES Operadores < menor que Operadores &,y relacionales <= menor o igual a lógicos |,ó > mayor que ~, no >= mayor o igual a == igual a =~ no igual a Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
  • 34. - 34 - Tabla 6 Operadores Matriciales Operadores Ejemplos Matriciales + adición o suma – sustracción o resta * multiplicación ' adjunta (transpuesta o transpuesta conjugada) ^ potenciación división-izquierda, / división-derecha .* producto elemento a elemento ./ y . división elemento a elemento .^ elevar a una potencia elemento a elemento Tabla 7 Caracteres Especiales Caracteres Especiales [ ] Se utilizan para formar vectores y matrices. (gg) Define precedencia en expresiones aritméticas. Tabla 8 Estructuras CONTROL DE FLUJO Estructuras FOR simple FOR anidada WHILE IF, ELSE, ELSEIF y BREAK Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
  • 35. - 35 - 4.1.3 Guide Interfaz Gráfica de Usuario en Matlab GUIDE es un entorno de programación visual disponible en MATLAB para realizar y ejecutar programas que necesiten ingreso continuo de datos. Tiene las características básicas de todos los programas visuales como Visual Basic o Visual C++. Para tener acceso a esta aplicación se debe teclear el siguiente comando. >> guide. O haciendo un click en el ícono que muestra la figura: Fig. 7 Ícono GUIDE. Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB Se presenta el siguiente cuadro de diálogo: Fig. 8 Ventana de inicio de GUI. Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
  • 36. - 36 - Se elige la primera opción, Blank GUI, y se genera un nuevo espacio de trabajo como se muestra en la fig. 10. Luego se presenta una nueva ventana que es el área de trabajo para el diseño del programa, en donde se coloca todos los componentes necesarios para generar el la interfaz deseada. Fig. 9 Entorno de diseño de GUI Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB La interfaz gráfica cuenta con varias opciones para agregar distintas funciones según la necesidad del programador, las cuales cuentan con dos partes: La primera en donde se adicionan los componentes, botones, gráficas, etc. y la segunda en donde se coloca la programación correspondiente View Callbacks/CreateFCN.
  • 37. - 37 - Descripción de los componentes: Tabla 9 Componentes MatLab GUI Control Valor de estilo Descripción Check box checkbox’ Indica el estado de una opción o atributo Editable Text edit’ Caja para editar texto Pop-up menu popupmenu’ Provee una lista de opciones List Box listbox’ Muestra una lista deslizable Push Button pushbutton’ Invoca un evento inmediatamente Radio Button radio’ Indica una opción que puede ser seleccionada Toggle Button togglebutton’ Solo dos estados, “on” o “off” Slider slider’ Usado para representar un rango de valores Static Text text’ Muestra un string de texto en una caja Panel button Agrupa botones como un grupo Button Group Permite exclusividad de selección con los radio button Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB Ahora se dispone de dos entornos de trabajo: el archivo *.m que es donde se escribe todo el código Matlab de programación y el punto *.fig que es donde se pondrán todos los componentes necesarios que se van a programar.
  • 38. - 38 - El archivo .m es el que contiene el código con las correspondencias de los botones de control de la interfaz y el archivo .fig contiene los elementos gráficos. Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se genera automáticamente código en el archivo .m. Para ejecutar una Interfaz Gráfica, si se ha etiquetado con el nombre curso.fig, simplemente ejecutamos en la ventana de comandos >> curso. O haciendo click derecho en el m-file y seleccionando la opción RUN. 4.2 Puerto Serie Fig. 10 Disposición de los Pines del Conector DB-9 Fuente: Ayuda de Matlab 7.6 Es una interfaz de comunicaciones de datos digitales, frecuentemente utilizada por computadoras y periféricos, en donde la información es transmitida bit a bit enviando un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits simultáneamente. La comparación entre la transmisión en serie y en paralelo se puede explicar con analogía con las carreteras. Una carretera tradicional de un sólo carril por sentido sería como la transmisión en serie y una autovía con varios carriles por sentido sería la transmisión en paralelo, siendo los coches los bits. Un puerto serie es una interfaz física de comunicación en serie a través de la cual se transfiere información mandando o recibiendo un bit. Mientras que otras interfaces como Ethernet, FireWire, y USB mandaban datos como un flujo en serie, el término "puerto serie" normalmente identifica el hardware más o
  • 39. - 39 - menos conforme al estándar RS-232, diseñado para interactuar con un módem o con un dispositivo de comunicación similar. 4.2.1 Tipos de Comunicaciones Seriales Simplex En este caso el transmisor y el receptor están perfectamente definidos y la comunicación es unidireccional. Este tipo de comunicaciones se emplean usualmente en redes de radiodifusión, donde los receptores no necesitan enviar ningún tipo de dato al transmisor. Duplex, half duplex o semi-duplex En este caso ambos extremos del sistema de comunicación cumplen funciones de transmisor y receptor y los datos se desplazan en ambos sentidos pero no simultáneamente. Este tipo de comunicación se utiliza habitualmente en la interacción entre terminales y un computador central. Full Duplex El sistema es similar al duplex, pero los datos se desplazan en ambos sentidos simultáneamente. Para ello ambos transmisores poseen diferentes frecuencias de transmisión o dos caminos de comunicación separados, mientras que la comunicación semi-duplex necesita normalmente uno solo. Para el intercambio de datos entre computadores este tipo de comunicaciones son más eficientes que las transmisiones semi-duplex.
  • 40. - 40 - Fig. 11 Comunicación Full Duplex(Ejm.) En ocasiones encontramos sistemas que pueden transmitir en los dos sentidos, pero no de forma simultánea. Puede darse el caso de una comunicación por equipos de radio, si los equipos no son full dúplex, uno no podría transmitir (hablar) si la otra persona está también transmitiendo (hablando) porque su equipo estaría recibiendo (escuchando) en ese momento. 4.2.2 Formato Datos Serie El formato de los datos serie incluye un bit de inicio, entre cinco y ocho bits de los datos, y uno de parada. Un bit de paridad y un bit de la parada adicional también podrían ser incluidos en el formato. El siguiente diagrama ilustra el formato de los datos de serie. Fig. 12 Formato Transmisión de los datos serie Fuente: Ayuda de MatLab 7.6
  • 41. - 41 - El formato para los datos del puerto de serie, usa a menudo la anotación siguiente: Numero de los bits de datos, tipo de paridad, número de bits de parada Por ejemplo, 8-N-1 se interpreta como ocho bits de datos, ninguna paridad, y un bit de parada, mientras que 7-E-2 como siete bits de los datos, paridad igual, y dos bits de parada. Los bits de datos a menudo se refieren a caracteres porque estos bits usualmente representan caracteres ASCII 4.2.3 Transmisión y Configuración de los Bits Serie Por definición, los datos seriales son transmitidos un bit a la vez. El orden de transmisión es el siguiente: El bit de inicio se transmite con un valor de 0. Los bits de datos se transmiten. El primer bit de datos corresponde al bit menos significante (LSB), mientras el último bit de los datos corresponde al bit más significante (MSB). El bit de paridad (si se definió) se transmite. Se transmiten un o dos bits de la parada, cada uno con un valor de 1. El número de pedazos transferido por segundo está definido por el baud rate. Los bits transferidos incluyen el bit de inicio, los bits de los datos, el bit de paridad (si definió), y los bits de la parada. Las características seriales importantes son: tasa de baudios, bits de datos, bits de paro, y paridad. Para que dos puertos se comuniquen, estos parámetros deben igualarse:
  • 42. - 42 - La tasa de baudios es una unidad de medición para comunicación que indica el número de bits transferidos por segundo. Por ejemplo, 300 baudios son 300 bits por segundo. Cuando los ingenieros se refieren a un ciclo de reloj, se refieren a la tasa en baudios, así que si el protocolo indica una razón en baudios de 4800, el reloj está ejecutándose a 4800 Hz. Esto quiere decir que el puerto serial está muestreando la línea de datos a 4800 Hz. Las tasas de baudios para líneas telefónicas son 14400, 28800, y 33600. Tasas de baudios mayores a estas son posibles, pero reducen la distancia disponible para la separación de dispositivos. Utilizan estas tasas de baudios para comunicación donde los dispositivos están localizados entre sí, como sucede típicamente con los dispositivos GPIB. Bits de datos son mediciones de los bits de datos actuales en una transmisión. Cuando una computadora envía un paquete de información, la cantidad de datos actuales puede ser que no complete 8 bits. Los valores estándar para los paquetes de datos son de 5, 7, y 8 bits. El marco que usted elija dependerá de la información que está transfiriendo. Por ejemplo, el ASCII estándar tiene valores de 0 a 127 (7 bits). El ASCII extendido utiliza de 0 a 255 (8 bits). Si los datos que usted está transfiriendo se encuentran en texto simple (ASCII estándar), enviar 7 bits de datos por paquete, es suficiente para la comunicación. Un paquete se refiere a la transferencia de un sólo byte, incluyendo los bits de inicio/paro, bits de datos, y paridad. Debido a que el número de bits actuales depende del protocolo seleccionado, puede utilizar el término “paquete” para cubrir todas las instancias. Los bits de paro son utilizados para señalar el término de comunicaciones en un paquete sencillo. Los valores típicos son 1, 1.5 y 2 bits. Debido a que los datos se encuentran sincronizados a través de las líneas y cada dispositivo
  • 43. - 43 - tiene su propio reloj, es posible que los dos dispositivos pierdan sincronización. Por lo tanto, los bits de paro no solamente indican el final de una transmisión, también le da un margen de error a las velocidades de reloj de la computadora. A medida que se utilizan más bits para bits de paro, mayor oportunidad para sincronizar los diferentes relojes, pero más lenta la razón de transferencia de datos. Paridad es una forma de revisión de error simple utilizada en la comunicación serial. Existen cuatro tipos de paridad – pares, impares, marcados y espaciados. También puede utilizar los que excluyen de paridad. Para paridad impar y par, el puerto serial fija el bit de paridad (el último bit después de los bits de datos) a un valor que asegura que la transmisión tenga un número par o impar de bits lógicos. Por ejemplo, si el dato es 011, para paridad par, el bit de paridad es 0 para mantener el número par de bits altamente lógicos. Si la paridad es impar, el bit de paridad es 1, resultando en 3 bits altamente lógicos. La paridad marcada y espaciada no revisa específicamente los bits de datos, simplemente fija la paridad de los bits como alta para la paridad marcada o baja para la paridad espaciada. Esto permite que el dispositivo receptor conozca el estado de un bit para así determinar si el ruido esta corrompiendo los datos o si los relojes del dispositivo de transmisión y recepción se encuentran fuera de sincronización.
  • 44. - 44 - CAPITULO V DESARROLLO DE HARDWARE Y SOFTWARE DEL PROTOTIPO 5.1 Descripción de las características técnicas y mecánicas de los dispositivos y materiales a utilizar 5.1.1 Servomotores HITEC HS311 Fig. 13 Servomotor Encapsulado Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf
  • 45. - 45 - Fig. 14 Partes del Servomotor Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf Un Servo HITEC HS311 es un dispositivo pequeño que tiene un eje de rendimiento controlado. Este puede ser llevado a posiciones angulares específicas al enviar una señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el servo mantendrá la posición angular del engranaje. Cuando la señal codificada cambia, la posición angular de los piñones cambia. En la práctica, se usan servos para posicionar superficies de control como el movimiento de palancas, pequeños ascensores y timones. Ellos también se usan en radio control, títeres, y por supuesto, en robots. Los Servos HITEC HS311 son sumamente útiles en robótica. Los motores son pequeños, tiene internamente una circuitería de control interna y es sumamente poderoso para su tamaño. Un servo normal o Standard como el HS311 de HIITECH tiene 42 onzas por pulgada o mejor 3.7kg por cm. de torque que es bastante fuerte para su tamaño. También potencia proporcional para cargas mecánicas. Un servo, por consiguiente, no consume mucha energía. En la composición interna se puede observar la circuitería de control, el motor, un juego de piñones, y la caja.
  • 46. - 46 - También los 3 alambres de conexión externa. Uno es para alimentación Vcc (+5volts), conexión a tierra GND y el alambre blanco es el alambre de control. El motor del servo tiene algunos circuitos de control y un potenciómetro (una resistencia variable) esta es conectada al eje central del servo motor. Este potenciómetro permite a la circuitería de control, supervisar el ángulo actual del servo motor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el circuito chequea que el ángulo no es el correcto, el motor girará en la dirección adecuada hasta llegar al ángulo correcto. El eje del servo es capaz de llegar alrededor de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero varía según el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0 y 180 grados. Un servo normal no es mecánicamente capaz de retornar a su lugar, si hay un mayor peso que el sugerido por las especificaciones del fabricante. La cantidad de voltaje aplicado al motor es proporcional a la distancia que éste necesita viajar. Así, si el eje necesita regresar una distancia grande, el motor regresará a toda velocidad. Si este necesita regresar sólo una pequeña cantidad, el motor correrá a una velocidad más lenta. A esto se le llama control proporcional. 5.1.2 MAX232 Fig. 15 CI. Max 232 Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf
  • 47. - 47 - Fig. 16 Configuración interna del max 232 Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto serie RS232 a niveles TTL y viceversa. Lleva internamente 2 conversores de nivel de TTL a rs232 y otros 2 de rs232 a TTL con lo que en total podremos manejar 4 señales del puerto serie del PC, por lo general las más usadas son; TX, RX, RTS, CTS, estas dos últimas son las usadas para el protocolo handshaking pero no es imprescindible su uso. Para que el max232 funcione correctamente deberemos de poner unos condensadores externos. El MAX232 soluciona la conexión necesaria para lograr comunicación entre el puerto serie de una PC y cualquier otro circuito con funcionamiento en base a señales de nivel TTL/CMOS. El circuito integrado posee dos conversores de nivel TTL a RS232 y otros dos que, a la inversa, convierten de RS232 a TTL. Estos conversores son suficientes para manejar las cuatro señales más utilizadas del puerto serie del PC, que son TX, RX, RTS y CTS.
  • 48. - 48 - TX es la señal de transmisión de datos, RX es la de recepción, y RTS y CTS se utilizan para establecer el protocolo para el envío y recepción de los datos. 5.1.3 Xbee Pro Los módulos XBee Pro tienen una presentación similar a la de un chip, están compuestos por un microcontrolador, un emisor y un receptor de RF. Estos módulos tienen la ventaja de poder flashearse y cambiarse de protocolo. Los módulos XBee permiten enlaces seriales de señales TTL en distancias de 30 metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con los módulos Pro. Fig. 17 Modulo XBee Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf Fig. 18 Modulo XBee Pro Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
  • 49. - 49 - Fig. 19 Medidas vista frontal XBee Pro http://www.sebest.com.ar/?q=node/61 Fig. 20 Dimensiones del módulo XBEE PRO Fuente: http://www.sebest.com.ar/?q=node/61 Especificaciones del módulo XBee Rendimiento Alcance (interiores) 30m Alcance (exteriores) 100m Potencia de salida en transmisión 1mW(0dBm) Régimen RF de datos 250kbps Sensibilidad del receptor -92 dBm(1%PER) Comunicaciones seriales 1200-115200bps
  • 50. - 50 - Requerimientos de Potencia Suministro de voltaje 2.8-3.4V Corriente de transmisión 45mA (a 3.3V) Corriente de recepción 50mA (a 3.3V) Corriente bajo consumo <10uA INFORMACIÓN GENERAL Frecuencia ISM 2.4GHz Dimensiones 24.38x32.94mm Temperatura de operación -40 a 85 ºC Opciones de antena Integrated whip, chip o U.FL connector Redes y Seguridad Topologías permitidas Punto a punto, punto-multipunto e igual a igual Número de canales 16 DSSS Capas de filtración de Red PAN ID y direcciones 64-bit Certificados de Aprobación Estados Unidos (FCC) OUR-XBEE Industry Canada (IC) 4214A-XBEE Europa (CE) ETSI
  • 51. - 51 - Tabla 10 Características eléctricas del módulo XBee Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf Tabla 11 Distribución de pines del módulo XBEE PRO Pin # Name Direction Description 1 VCC - Power supply 2 DOUT Output UART Data Out 3 DIN / CONFIG Input UART Data In 4 DO8* Output Digital Output 8 5 Input Module Reset (reset pulse must be at RESET least 200 ns) 6 Output PWM Output 0 / RX Signal Strength PWM0 / RSSI Indicator 7 PWM1 Output PWM Output 1 8 [reserved] - Do not connect 9 DTR / Input Pin Sleep Control Line or Digital Input 8 SLEEP_RQ / DI8 10 GND - Ground 11 AD4 / DIO4 Either Analog Input 4 or Digital I/O 4 12 Either Clear-to-Send Flow Control or Digital I/O CTS / DIO7 7 13 ON / SLEEP Output Module Status Indicator 14 VREF Input Voltage Reference for A/D Inputs 15 Associate / AD5 Either Associated Indicator, Analog Input 5 or / DIO5 Digital I/O 5 16 RTS / AD6 / Either Request-to-Send Flow Control, Analog DIO6 Input 6 or Digital I/O 6 17 AD3 / DIO3 Either Analog Input 3 or Digital I/O 3 18 AD2 / DIO2 Either Analog Input 2 or Digital I/O 2 19 AD1 / DIO1 Either Analog Input 1 or Digital I/O 1 20 AD0 / DIO0 Either Analog Input 0 or Digital I/O 0 Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
  • 52. - 52 - Una de las principales características de estos módulos es que pueden usarse para transmitir datos de un puerto serie inalámbricamente sin tener que configurar nada. Simplemente conectando el pin RX y TX. Lo único con lo que debemos tener cuidado es con la alimentación de 3.3v. De este modo es posible conectar un microcontrolador directamente al modulo XBee mediante dos cables, con lo que dotaremos a las aplicaciones de comunicación inalámbrica. Sin embargo para aplicaciones más simples podemos usar otras de las características del módulo. El mismo dispone de 8 pines de entrada/salida y 6 de estos pines además podemos usarlos como ADC. Estas características se debemos configurarla mediante una PC (con una placa adecuada) o mediante un microcontrolador conectado al módulo. 5.1.4 GP2D12 Fig. 21 CI. Sharp GP2D120X, Vista Frontal Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF Fig. 22 Sensor Sharp GP2D120X, Vista Lateral Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
  • 53. - 53 - Tabla 12 Predisposición de los PINES del SHARP GP2D12 PIN SIGNAL NAME 1 Vo 2 GND 3 Vcc Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF El Sharp GP2D120X es un sensor medidor de distancias por infrarrojos que indica mediante una salida analógica la distancia medida. La tensión de salida varía de forma no lineal cuando se detecta un objeto en una distancia entre 3 y 40 cm. La salida está disponible de forma continua y su valor es actualizado cada 32 ms. Normalmente se conecta esta salida a la entrada de un convertidor analógico digital el cual convierte la distancia en un número que puede ser usado por el microprocesador. La salida también puede ser usada directamente en un circuito analógico. Hay que tener en cuenta que la salida no es lineal. El sensor utiliza solo una línea de salida para comunicarse con el procesador principal. En las siguientes figuras podemos ver el propio GP2D120X y el conector de tres pines. Este dispositivo emplea el método de triangulación utilizando un pequeño Sensor Detector de Posición (PSD) lineal para determinar la distancia o la presencia de los objetos dentro de su campo de visión.
  • 54. - 54 - Su modo de funcionamiento consiste en la emisión de un pulso de luz infrarroja, que se transmite a través de su campo de visión que se refleja contra un objeto. Si no encuentra ningún obstáculo, el haz de luz no refleja y en la lectura que se hace indica que no hay ningún obstáculo. En el caso de encontrar un obstáculo el haz de luz infrarroja se reflecta y crea un triángulo formado por el emisor, el punto de reflexión (el obstáculo) y el detector. La información de la distancia se extrae midiendo el ángulo recibido. Si el ángulo es grande, entonces el objeto está cerca (el triángulo es ancho). Si el ángulo es pequeño significa que está lejos (el triángulo es largo y, por tanto, delgado). 5.1.4.1 Concepto de triangularización: Fig. 23 Funcionamiento del Sensor Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
  • 55. - 55 - Luego se observa como se lleva a cabo la triangulación en el sensor. El LED infrarrojo emite el haz de luz a través de una pequeña lente convergente que hace que el haz emisor llegue de forma paralela al objeto. Cuando la luz choca con un obstáculo, una cierta cantidad de luz se refleja, si el obstáculo fuera un espejo perfecto, todos los rayos del haz de luz pasarían y sería imposible medir la distancia. Sin embargo, casi todas las sustancias tienen un grado bastante grande de rugosidad de la superficie que produce una dispersión hemisférica de la luz (reflexión no teórica). Alguno de estos haces de ésta luz rebota hacia el sensor que es recibida por la lente. La lente receptora también es una lente convexa, pero ahora sirve para un propósito diferente, actúa para convertir el ángulo de posición. Si un objeto se pone en el plano focal de una lente convexa y los otros rayos de luz paralelos en otro lado, el rayo que pasa por el centro de la lente atraviesa inalterado o marca el lugar focal. Los rayos restantes también enfocan a este punto. En el plano focal hay un Sensor Detecto de Posición (PSD). Éste dispositivo semiconductor entrega una salida cuya intensidad es proporcional a la posición respecto al centro (eficaz) de la luz que incide en él. El rendimiento del PSD en la salida es proporcional a la posición del punto focal. Esta señal analógica tratada es la que se obtiene a la salida del sensor.
  • 56. - 56 - Fig. 24 Funcionamiento del Sensor Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF Características: Menor influencia del color de los objetos reflexivos. Línea indicadora de distancia output/distance: Tipo de salida indicadora de la distancia analógica (tensión analógica). Distancia del detector de 10 a 80 cm. Del circuito del mando externo es innecesario. Bajo costo.
  • 57. - 57 - 5.1.4.2 Dimensiones y encapsulado: - Las Dimensiones marcadas con * indican la distancia al centro de la lente. Las tolerancias no especificadas son de Fig. 25 Dimensiones Sensor Sharp GP2D120X Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF 5.1.4.3 Aplicaciones: 1. En televisiones 2. En computadoras personales 3. Automóviles 4. Fotocopiadoras 5. Sensores en sanitarios 6. Sensores de cuerpo humano para los productos de consumo como ventiladores eléctricos y aires acondicionados. 7. Sensores de garaje
  • 58. - 58 - 5.1.4.4 Valores máximos Absolutos Para Ta = 25º C y VCC = 5V Tabla 13 Valores Máximos Absolutos Sensor Sharp Parámetro Símbolo Rangos Unidades Tensión de Alimentación VCC -0.3 a 7 V Tensión en el terminal de salida VO -0.3 a VCC+0.3 V Temperatura de trabajo Topr -10 a +60 ºC Temperatura de almacenamiento Tstg -40 a +70 ºC Tabla 14 Condiciones de trabajo recomendadas Parámetro Símbolo Rangos Unidades Tensión de Vcc 4.5 a +5.5 V alimentación de trabajo
  • 59. - 59 - Tabla 15 Características electro-ópticas Parámetros Símbolo Condiciones MIN. TIP. MAX. Unidad Rango de medida de L (*1) (*3) 10 - 80 cm distancia Tensión en el GP2D12 VO L=80 cm (*1) 0.25 0.4 0.55 V terminal de salida GP2D15 VOH Tensión de salida VCC- -- -- V a nivel alto (*1) 0.3 VOL Tensión de salida -- -- 0.6 V a nivel bajo (*1) Incremento de la GP2D12 VO Cambio de salida 1.75 2.0 2.25 V tensión de salida de L=80 a 10 cm Tensión de salida GP2D15 VO (*1)(*2)(*4) 21 24 27 cm en función de la distancia Corriente media de ICC L = 80 cm (*1) -- 33 50 mA dispersión Fuente: Datasheet Sensor Sharp GP2D120X *1. Objeto reflexivo usando: Papel blanco (Para el color gris se usa la tarjeta R-27 de la Cía. de Kodak S.A. · la cara blanca, la proporción reflexiva; 90%). *2. Utilizamos el dispositivo después del ajuste siguiente: salida al cambiar la distancia L 24cm 3cm debe medirse por el sensor. *3. Rango de distancia que mide el sistema del sensor óptico. *4. La salida de cambio tiene una anchura de la histéresis. La distancia especificada por Vo desde que la salida a nivel bajo (L) hasta que cambia a nivel alto (H).
  • 60. - 60 - 5.1.4.5 Diagrama de bloques internos Fig. 26 Diagrama de Bloque Internos del Sensor Sharp GPD2D120X Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF 5.1.4.6 Curvas características del GP2D120X Fig. 27 Tensión de Salida Analógica VS en función de Superficie Iluminada Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
  • 61. - 61 - Fig. 28 Tensión de Salida Analógica VS en función de la Distancia al objeto reflexivo Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF 5.1.5 Micro controlador 16F877A Fig. 29 PIC 16F877A, disposición de los pines del CI. Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
  • 62. - 62 - El micro controlador PIC16F877A de Microchip pertenece a una gran familia de micro controladores de 8 bits (bus de datos) que tienen las siguientes características generales que los distinguen de otras familias: Arquitectura Harvard Tecnología RISC Tecnología CMOS Estas características se conjugan para lograr un dispositivo altamente eficiente en el uso de la memoria de datos y programa y por lo tanto en la velocidad de ejecución. Microchip ha dividido su micro controladores en tres grandes subfamilias de acuerdo al número de bits de su bus de instrucciones: Tabla 16 Familias de micro controladores Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf Variantes principales Los micro controladores que produce Microchip cubren una amplio rango de dispositivos cuyas características pueden variar como sigue: Empaquetado (desde 8 patitas hasta 68 patitas) Tecnología de la memoria incluída (EPROM, ROM, Flash) Voltajes de operación (desde 2.5 v. Hasta 6v) Frecuencia de operación (Hasta 20 Mhz)
  • 63. - 63 - 5.1.5.1 Descripción de pines del PIC 16F877A Tabla 17 Descripción del PIC 16F877A
  • 64. - 64 - Descripción de pines del PIC 16F877A (Continuación) Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf 5.1.5.2 Oscilador Los PIC de rango medio permiten hasta 8 diferentes modos para el oscilador. El usuario puede seleccionar alguno de estos 8 modos programando 3 bits de configuración del dispositivo denominado:
  • 65. - 65 - FOSC2, FOSC1 y FOSC0. En algunos de estos modos el usuario puede indicar que se genere o no una salida del oscilador (CLKOUT) a través de una patita de Entrada/Salida. Los modos de operación se muestran en la siguiente lista: LP Baja frecuencia (y bajo consumo de potencia) XT Cristal / Resonador cerámico externos, (Media frecuencia) HS Alta velocidad (y alta potencia) Cristal/resonador RC Resistencia / capacitor externos (mismo que EXTRC con CLKOUT) EXTRC Resistencia / capacitor externos EXTRC Resistencia / Capacitor externos con CLCKOUT INTRC Resistencia / Capacitor internos para 4 MHz INTRC Resistencia / Capacitor internos para 4 MHz con CLKOUT Los tres modos LP, XT y HS usan un cristal o resonador externo, la diferencia sin embargo es la ganancia de los drivers internos, lo cual se ve reflejado en el rango de frecuencia admitido y la potencia consumida. En la siguiente tabla se muestran los rangos de frecuencia así como los capacitores recomendados para un oscilador en base a cristal. Tabla 18 Configuración de oscilador Capacitores Recomendados MODO Frecuencia Típica C1 C2 LP 32khz 68 a 100 pf 68 a 100 pf 200khz 15 a 30 pf 15 a 30 pf XT 100khz 68 a 150 pf 150 a 200 pf 2Mhz 15 a 30 pf 15 a 30 pf 4Mhz 15 a 30 pf 15 a 30 pf HS 8Mhz 15 a 30 pf 15 a 30 pf 10Mhz 15 a 30 pf 15 a 30 pf 20Mhz 15 a 30 pf 15 a 30 pf Fuente: REYES, A. Micro controladores PIC, programación en BASIC
  • 66. - 66 - Cristal externo: En los tres modos mostrados en la tabla anterior se puede usar un cristal o resonador cerámico externo. En la siguiente figura se muestra la conexión de un cristal a las patitas OSC1 y OS2 del PIC. Fig. 30 Configuración del cristal externo Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf Rangos.- La frecuencia de oscilación depende no sólo de los valores de Rext y Cext, sino también del voltaje de la fuente Vdd. Los rangos admisibles para resistencia y capacitor son: Rext: de 3 a 100 Kohms Cext: mayor de 20 pf 5.1.6 Reguladores de Voltaje 5.1.6.1 LM1117T Se encarga de fijar a su salida un voltaje de 3.3 voltios DC. Entre las especificaciones más importantes se tiene:
  • 67. - 67 - Fig. 31 Disp. Pines del LM1117T Fuente: www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM1117.pdf 5.1.6.2 Regulador 7805 Se encarga de fijar a su salida un voltaje de 5 voltios DC. Éste alimentará a todos los dispositivos que requieran de este voltaje. Fig. 32 Disp. Pines del L7805 C Fuente: http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf Entre las principales especificaciones técnicas se tiene:
  • 68. - 68 - 5.2 DIAGRAMAS DE FLUJO Y ESQUEMAS DEL PROTOTIPO 5.2.1 Diagrama de Bloques Puerto Max Módulo Serie 232N Xbee del PC Pro TX Módulo µC Xbee Pro Motores PIC16F877A RX Fig. 33 Diagrama de bloques del Sistema 5.2.2 Circuito Transmisor Fig. 34 Circuito Transmisor
  • 69. - 69 - 5.2.3 Circuito Comunicación Serial Fig. 35 Circuito Comunicación Serial 5.2.4 Circuito Comunicación Serial Regulador de Voltaje Fig. 36 Circuito Regulador a 3.3V
  • 70. - 70 - Fig. 37 Tarjeta TX vista superior Fig. 38 Tarjeta TX vista lateral
  • 71. - 71 - 5.2.5 Circuito Receptor Fig. 39 Circuito Receptor Fig. 40 Tarjeta RX vista superior
  • 72. - 72 - 5.2.6 Conexión de los Motores Fig. 41 Conexión de los Motores 5.2.7 Circuito Sensor Sharp Fig. 42 Circuito Sensor Sharp
  • 73. - 73 - 5.2.8 Conexión Regulador de Voltaje de 3.3V Fig. 43 Regulador de Voltaje 5.2.9 Diseño robot móvil 5.2.9.1 Vista Superior Fig. 44 Esquema vista superior, Robot Móvil
  • 74. - 74 - Fig. 45 Robot Móvil, Vista Frontal Fig. 46 Robot Móvil, Vista Lateral
  • 75. - 75 - 5.2.9.2 Vista Superior Bandeja Fig. 47 Esquema vista superior, Bandeja de transporte 5.3 DESARROLLO DEL SOFTWARE 5.3.1 Interfaz grafica en MatLab 2008 Se ha realizado un entorno amigable para el usuario utilizando el Guide de Matlab, con la inclusión de varios botones que se encargarán de realizar varias actividades entre ellas el salto a la aplicación que permite dibujar la trayectoria algo que se consiguió realizarla en Paint, esta aplicación permite tener una grafica en blanco y negro que es una característica importante ya que es innecesario la utilización del color para el reconocimiento de la trayectoria que va ha realizar el prototipo. Es también posible la
  • 76. - 76 - obtención de la trayectoria mediante cualquier software que permita dibujar pero se debe tomar en cuenta que la aplicación paint esta disponible en cualquier PC, entonces, esto implica que no se requiere de la instalación una nueva aplicación o programa adicional que implique mas consumo de memoria RAM en el PC. A continuación se detallarán algunas de las pantallas del proceso de consecución de la imagen. Matlab es el programa que permitió el manejo de los datos y procesamiento de imágenes para el desarrollo de este proyecto, mediante la aplicación GUIDE de MATLAB, cuyo comando de ingreso es el siguiente: >>guide Esta pantalla muestra el entorno de trabajo del presente proyecto. Fig. 48 Formulario Pantalla principal, Interfaz gráfica
  • 77. - 77 - Utilizando botón Dibujar Trayectoria, accederemos a paint, con la línea de comando: winopen('C:WINDOWSsystem32mspaint.exe'); Esta línea de comando permite saltar a una ubicación especificada en el pad, en este caso accederemos a la aplicación paint para en ella dibujar la trayectoria que necesitamos luego manipular, luego de dibujar la trayectoria se guarda el dibujo realizado con las respectivas características, es posible también modificar las características de color en escala de grises del grafico en matlab con la siguiente instrucción. A=A(:,:,1); Mediante el botón Actualizar, se carga a la pantalla la imagen dibujada, antes de proceder a que el prototipo realice su tarea. La gráfica dibujada en Paint, se obtiene en Matlab como una matriz de datos con el siguiente comando: A=double(imread('C:Documents and SettingsFernanda BolañosEscritorioPROGRAMASfinal matlabmatriz.bmp','bmp')); Realizamos una consulta a la matriz de modo que podamos obtener solo los datos menores a uno, esto es solo para obtener las coordenadas de la línea negra de la trayectoria dibujada, en este caso se almacenarán en los vectores i y j, como se indica a continuación: [i,j]= find(A<1); Se procederá inmediatamente a configurar el puerto serial que es por donde se enviarán los datos, con los siguientes comandos: s = serial('COM5'); set(s,'BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'FlowControl','none') set(s,'OutputBufferSize',length(y)*8);
  • 78. - 78 - fopen(s); fwrite(s,P,'uint8'); fread(s,datos); fclose(s); delete(s); clear s; Una vez obtenido el gráfico completo y almacenado en la matriz se procederá a el reconocimiento de la trayectoria dibujada de modo que se pueda de terminar que movimientos deberá realizar el robot móvil, para esto se ha codificado de modo que se pueda estar al tanto de las características con respecto a Angulo, distancia y dirección de cada segmento de la trayectoria dibujada. for w = 1:1:f if ((y(p)==y(p+1))&(x(p)<x(p+1))& (x(p)==x(p+1)-1))% cero p=p+1; a=p; a1=a1+1; elseif ((x(p)==x(p+1))&(y(p)>y(p+1))& (y(p)==y(p+1)+1))% noventa p=p+1; b=p; b1=b1+1; elseif((x(p)<x(p+1))&(y(p)>y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)+1)) p=p+1; d=p; d1=d1+1;
  • 79. - 79 - elseif ((x(p)<x(p+1))&(y(p)<y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)- 1))%cuarenta y cinco p=p+1; c=p; c1=c1+1; end end end Estos datos previamente bien filtrados, se podrán enviar hacia el robot móvil, mismos que estarán organizados en formatos de tramas, que almacena datos importantes para el desarrollo de la trayectoria, es en este momento en que se pone a prueba la comunicación bidireccional que ha sido implementada. De este modo el Micro controlador debe cumplir las trayectorias transmitidas y además si existe algún obstáculo, evadirlo con la utilización del sensor Sharp GP2D120X Que se configuró de la siguiente manera: 5.3.2 Programa Microcode Motores include "modedefs.bas" ; incluye los modos de comunicación @ device HS_OSC @ DEVICE BOD_OFF @ DEVICE WDT_OFF DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 20h DEFINE HSER_BAUD 9600 DEFINE HSER_SPBRG 31 DEFINE OSC 20
  • 80. - 80 - ADCON1=7 ; digitalice el puerto A i var byte j var byte f var byte x var byte k var byte r var byte val var byte ;DATOS VAR BYTE [2] ; variable DATOS de tamaño de 255 ;DATOS VAR BYTE DATOS1 var byte MOTOR_D_ADE VAR PORTB.2 MOTOR_D_TRAS VAR PORTB.6 MOTOR_I_ADE VAR PORTB.3 MOTOR_I_TRAS VAR PORTB.7 datos var byte [20] ;eeprom 0,[ ] trisb=%0 portb=%00000000 trisc=%10000000 portc=%00000000 inicio: for k=1 to 20 HSERIN[DATOS[k]]
  • 81. - 81 - if datos[k]="." then k=21 endif next For r=1 to 6 IF datos[r]="1" THEN r=r+1 FOR f=1 to datos[r] gosub adelante next endif if datos[r]="2" then r=r+1 gosub noventader FOR f=1 to datos[r] gosub adelante next gosub noventaizq endif if datos[r]="3" then r=r+1 gosub derecha FOR f=1 to datos[r] gosub adelante next
  • 82. - 82 - gosub izquierda endif if datos[r]="4" then r=r+1 gosub izquierda FOR f=1 to datos[r] gosub adelante next gosub derecha endif if datos[r]="5" then r=r+1 gosub noventaizq FOR f=1 to datos[r] gosub adelante next gosub noventader endif if datos[r]="6" then r=r+1 gosub cientocho FOR f=1 to datos[r] next endif if datos[r]="7" then r=r+1 gosub dossetenta
  • 83. - 83 - FOR f=1 to datos[r] gosub adelante next endif next gosub cientocho goto inicio adelante: for i=1 to 20000 portb=%01000100 pauseus 2200 portb=%10001000 pauseus 900 portb=%00000000 next return izquierda: for i=1 to 10000 portb=%01000100 pauseus 2200 portb=%10001000 pauseus 2200 portb=%00000000 next return atras: for i=1 to 20000
  • 84. - 84 - portb=%01000100 pauseus 900 portb=%10001000 pauseus 2200 portb=%00000000 next return derecha: for j=1 to 2 for i=1 to 1000 portb=%01000100 pauseus 900 portb=%10001000 pauseus 900 portb=%00000000 next next return noventaizq: for i=1 to 1000 portb=%01000100 pauseus 2000 portb=%10001000 pauseus 4000 portb=%00000000 next return
  • 85. - 85 - noventader: for j=1 to 4 for i=1 to 1000 portb=%01000100 pauseus 900 portb=%10001000 pauseus 900 portb=%00000000 next next return cientocho: for j=1 to 2 for i=1 to 1000 portb=%01000100 pauseus 2000 portb=%10001000 pauseus 4000 portb=%00000000 next next return
  • 86. - 86 - CONCLUSIONES Al dibujar una trayectoria lineal en la aplicación desarrollada en el PC, se genera datos que son transmitidos al robot móvil, el cual está en la capacidad de recorrer dicha trayectoria y además informa su posición durante la realización del proceso. Luego de las pruebas realizadas se ha determinado un área de cobertura de funcionamiento del robot de 20 metros en lugares cerrados. La utilización de cuatro motores de ejes independientes permite un mejor control del peso de la estructura y del peso adicional (objeto a trasladar). Al realizar un barrido sobre la imagen de la trayectoria dibujada se obtienen todos los datos necesarios para determinar los pares ordenados de la ruta que va ha recorrer el prototipo. No es necesario el uso de gráficos a colores para la obtención de datos que genera la trayectoria, ya que la imagen luego se la procesa como escala de grises debido a que solo se requieren los puntos negros de la misma.
  • 87. - 87 - Se utilizó el PIC 16F877A, ya que brinda las características de memoria necesarias para el desarrollo de este prototipo. La utilización de la Odometría nos permitió la reutilización de datos y procesos generados, que luego sirvieron para determinar la posición del robot durante la realización de la trayectoria. Como sensor propioseptivo se utilizo el encoder ECG3100, mismo que brinda la posibilidad de determinar la posición del robot, respecto al número de veces que giro la llanta (rpm). La transmisión y recepción de datos se debe configurar a 9600 bps, debido a que el protocolo XBee solo admite esta velocidad de transmisión.
  • 88. - 88 - RECOMENDACIONES Para el mejor funcionamiento del prototipo se recomienda utilizar fuentes independientes de voltaje (2 juegos de 4 pilas de 2AA recargables), ya que los motores consumen mayor amperaje que el resto de los componentes utilizados. Para aplicaciones posteriores que requieran llevar mayor peso se recomienda utilizar motores que tengan un mayor torque que el de los motores HITECH HS 311 que fueron los utilizados Se recomienda hacer la transmisión y recepción por medio de los puertos hardware del micro controlador debido a que estos tienen una menor tasa de errores de envío y recepción de datos. Se recomienda la creación de una trama propia de datos, esto con la finalidad de manipular los datos de mejor manera en el microcontrolador. Es recomendable utilizar un Xtal externo de 20MHZ para una mejor velocidad en la transmisión y recepción de datos
  • 89. - 89 - RESUMEN El prototipo del sistema de posicionamiento odométrico inalámbrico para un robot móvil mediante PC fue construido con la finalidad de desarrollar tecnología que facilite el trabajo del ser humano en actividades peligrosas, o simplemente para evitar el trabajo monótono. El prototipo cuenta con una interfaz gráfica hecha en MATLAB, amigable para el usuario, en donde dibujando la trayectoria se pueden adquirir los datos, realizando procesamiento de imágenes. Los datos se envían por el puerto serie del PC al módulo XBee Pro Transmisor, que transmite las tramas de datos al módulo XBee Pro receptor estableciendo una comunicación Half Duplex. Receptados los datos estos son alojados e interpretados por el micro controlador 16F877A, el que se encarga de entregar a los sensores y motores las órdenes que deberán cumplir cada uno. El robot móvil indica periódicamente su posición, mediante instrucciones que vuelven al modulo transmisor, datos que son interpretados y visualizados en la interfaz gráfica antes mencionada. Con el desarrollo e implementación del prototipo se logró realizar diferentes trayectorias lineales que proporcionan los movimientos requeridos para transportarse del punto A al punto B, que es el objetivo principal, dependiendo del uso que se le quiera dar. Se determina que es sumamente versátil y brinda las características necesarias para su evolución. Este tipo de implementación no genera costos excesivos si se lo compara con otro tipo de tecnologías. Se recomienda el uso
  • 90. - 90 - de fuentes independientes en el robot móvil, una para los motores ya que estos consumen mucho más rápido la corriente y otra para los demás componentes.
  • 91. - 91 - BIBLIOGRAFÍA LIBROS ANGULO, José M. Microntroladores pic Diseño práctico de aplicaciones. Madrid-España. Imprenta Gráfica, 2003. Pág. 81 - 82. CORRALES, S. Electrónica Práctica con Micro controladores PIC, Ecuador. Imprenta Gráfica. Agosto 2006. Pág. 15 - 23, 5 - 47. CUENCA, M., ANGULO, J. M y ANGULO Micro controladores PIC. La solución en un chip, s.I., Paraninfo, 1998, Pág. 20 - 55. CUENCA, M, BALBOA, Moreno, JM. Fundamentos de Electrónica Moderna. Teoría y Diseño de Circuitos. s.I, s. e. 1998, Pág. 60 - 75. REYES, C. Micro controladores PIC programación en Basic. Ecuador. Rispergraf. 2006. Pág. 15 -30, 55 - 73 INTERNET MATLAB (10/07/2009) http://www.monografias.com/trabajos5/matlab/matlab.shtml (20/07/2009)
  • 92. - 92 - http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB MAX (15/07/2009) http://focus.ti.com/lit/ds/symlink/max232.pdf MICROCONTROLADOR (7/09/2009) http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf ODOMETRIA (25/07/2009) http://optimus.meleeisland.net/ ROBOTICA (30/06/2009) http://es.wikipedia.org/wiki/Rob%C3%B3tica (3/07/2009) www.foxitsoftware.com (3/07/2009) http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf REGULADORES (15/09/2009) http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM1117.pdf (15/09/2009) http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf SENSOR GP2D12 (20/07/2009) http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF SERVOS
  • 93. - 93 - (20/08/2009) http://www.todorobot.com.ar/documentos/servomotor.pdf XBEE (5/08/2009) http://www.rev-ed.co.uk/docs/xbe001.pdf (6/08/2009) http://www.sebest.com.ar/?q=node/61 (7/08/2009) http://www.rev-ed.co.uk/docs/xbe001.pdf