Revista Tecnología y Ciencia - Universidad Tecnológica Nacional
ISSN 1666-6933 / Septiembre-Diciembre 2018 / Año 16 - Nº 33

Control Adaptivo de un Sistema de Comunicación Inalámbrico

Narváez Pablo

Facultad de Ingeniería, IESIING - Universidad Católica de Salta -Campo Castañares, Salta-capital. Argentina
efeparo@yahoo.com.ar

Nicolás García

Facultad de Ingeniería, IESIING - Universidad Católica de Salta -Campo Castañares, Salta-capital. Argentina
hnge0594@gmail.com

Breslin Roberto

Facultad de Ingeniería, IESIING - Universidad Católica de Salta -Campo Castañares, Salta-capital. Argentina
rbreslin@ucasal.net

Recepción 18/11/2016
Aprobación 20/07/2017

Resumen

La demanda en el incremento de la capacidad de las redes inalámbricas ha motivado la reciente búsqueda hacia el desarrollo de sistemas que utilicen/reutilicen el espacio radioeléctrico de manera selectiva. Los sistemas de antenas inteligentes proporcionan oportunidades para incrementar la capacidad del mismo, tendientes a la obtención de calidad de servicio.

El presente proyecto consiste en la implementación de un sistema robótico cuyo efector final es una antena parabólica, el cual constará de un sensor de campo magnético, que indicará la intensidad de señal con el objetivo de que el brazo establezca la posición final de la antena según la mayor intensidad de señal del emisor y establecer el ángulo de arribo de la señal del emisor. El sistema podrá ser controlado de forma inalámbrica por una estación base, la cual recolectara los datos.

Palabras clave: Antena, Control Dinámico, Comunicaciones.

Abstract

The demand in the increase of the capacity of the wireless networks has motivated the recent search towards the development of systems that use / reuse the radioelectric space selectively. Intelligent antenna systems of opportunities to increase the capacity of the same, tending to obtain the quality of service.

The present project in the implementation of a robotic system whose end effector is a parabolic antenna, which will consist of a magnetic field sensor, which indicates the signal strength with the objective that the arm is established the final position of the antenna according to The highest signal strength of the transmitter and set the arrival angle of the transmitter signal. The system can be controlled wirelessly by the base station, the quality will collect the data.

Keyswords: Antenna, Dynamic control, Communications.

Introducción

Una antena inteligente es la combinación de un arreglo de antenas (arrays) con una unidad de Procesamiento Digital de Señales que optimiza los diagramas de transmisión y recepción dinámicamente en respuesta a una señal de interés en el entorno. Es aquella que, es capaz de generar haces directivos enfocados hacia una señal deseada, adaptándose a las condiciones radioeléctricas en cada momento.

El propósito del proyecto consiste en la implementación del control de un brazo robótico de tres grados de libertad cuyo efector final es una antena parabólica. La misma constará de un sensor de campo magnético, el cual indicará la mayor intensidad de señal con el objetivo de que el brazo establezca la posición final de la antena según la mayor intensidad de señal del emisor. El sistema podrá funcionara de manera autónoma o manual a través de una estación base, la cual coordinara y recolectara los datos de los distintos sistemas. El proyecto pretende establecer la vinculación entre la robótica y las telecomunicaciones con el objeto de dar el puntapié para el desarrollo de antenas inteligentes.

El sistema consta de los siguientes bloques constitutivos, como se puede observar en la figura 1.

.

Figura 1. Sistema Completo.

Sistema Robótico

La configuración Robótica seleccionada es del tipo brazo robótico de tres grados de libertad, ya que esta configuración permite mover la normal de la antena parabólica en todas direcciones. En la figura 2 se observa una foto del prototipo de brazo robótico.

Figura 2. Brazo Robótico.

El cual consta de una base (Cintura) la cual tiene una rotación de 360° grados, la articulación del hombro que se desplaza en un ángulo de 180° grados y la articulación del codos que presenta un movimiento de aproximadamente 270°. En la figura 3 se puede observar las dimensiones y referencias antes mencionadas.

Figura 3. Dimensiones.

Espacio de trabajo

Para determinar el conjunto de puntos donde puede situarse el elemento terminal del robot se determinaron las ecuaciones del mismo en el plano y luego aplicando revolución se obtuvo el volumen de trabajo.

En la siguiente figura 4 se observa el diagrama de elementos del sistema y en la figura 5 se puede observar el espacio de trabajo en 3D.

Figura 4. Espacio de Trabajo.

Figura 5. Espacio de Trabajo 3D.

Sensores

Los sensores empleados se pueden dividir según la siguiente categoría:

Sensores de Posición

Los sensores empleados para medir el movimiento de cada articulación es un sensor del tipo potenciometrico, el cual varia su resistividad según el movimiento de su eje, como se puede observar en la fig. 6.

Figura 6 Sensores potenciometricos.

Sensores de Inclinación

Además de los sensores de posición, se opto por agregar un sensor de inclinación el cual permite medir en los tres ejes (x,y,z) los grados de inclinación en base a la normal del chip. El modulo empleado es MMA7660 el cual es un acelerómetro de tres ejes, con salidas de datos mediante comunicación I2C, el cual se puede observar en la siguiente figura 7[4].

Figura 7 Inclinometro

Los datos de inclinación por eje se pueden acceder para su lectura cada un determinado periodo de tiempo que se puede configurar en el modulo inclinometro, los mismos se acceden a través de registros internos del modulo.

Sensores de Localización

Para poder conocer la ubicación exacta del sistema, se emplea un modulo GPS para obtener su ubicación, así como también la hora y el día. Esto permite referenciar cada sistema a la base y con ello referenciar el ángulo de arribo al sistema o la base. El modulo empleado es el smart GPS antenna A1035-d el cual posee comunicación serie y el formato de sus datos es según el estándar NMEA. La velocidad de transmisión empleada para la conexión del módulo con el microcontrolador es de 4800 baudios.

Los datos enviados al microcontrolador son la hora UTM, la latitud, la longitud, la fecha, la altitud, cantidad de satélites y el fix. Para lo cual se conforma un trama de 28 bytes de longitud.

El mismo se puede observar en la siguiente figura 9[5].

Figura 9 Modulo GPS.

Sensores de Intensidad de Campo Magnético

Para poder medir la intensidad de campo magnético se emplea el modulo LT5534 el cual es un detector de potencia de señales RF en el rango de 50mhz a 3ghz. El mismo con una antena dipolo en la frecuencia de 2.5ghz (wifii) nos permite medir la intensidad de campo de las señales wifii. En la siguiente fig. 11[6] se puede observar el modulo empleado.

Figura 11 LT5534 Medidor de Campo.

El sensor proporciona una señal de salida en voltaje proporcional a la intensidad de campo en dbm según la frecuencia como se puede observar en la figura 12[6].

Figura 12 señal de salida.

Adecuación de Señales

Para que el sistema de procesamiento pueda leer correctamente los datos provenientes de los distintos sensores, los mismos deben se configurados eléctricamente para su correcto funcionamiento y realizar un filtrado de las señales para eliminar el ruido y/o disminuir el tiempo de cambio de las mismas. Como se puede observar en los siguientes items.

Sensores de Posición

Para este tipo de sensores potenciometricos se empleo el siguiente circuito que se puede observar en la siguiente figura 13.

Figura 13 Circuito sensor de posición.

Sensores de Inclinación

Para este tipo de sensor se implemento el siguiente circuito de la figura 14[4].

Figura 14 Circuito sensor de inclinación.

Sensores de Localización

El circuito eléctrico que se implemento para este tipo de sensor se puede observar en la figura 15[5].

Figura 15 Circuito sensor GPS.

Sensores de Intensidad de Campo

Para el correcto funcionamiento del modulo sensor de intensidad de campo se debió implementar el siguiente circuito eléctrico, como puede apreciarse en la siguiente figura 16[6].

Figura 16. Circuito sensor de intensidad de campo.

Procesamiento de Datos

El sistema de procesamiento de datos está conformado entorno a un microcontrolador de 8 bits de Microchip, de la gama media el PIC18F8722, el cual se seleccionó ya que cumplía con los requerimientos del sistema y con la cantidad necesaria de módulos internos para el manejo de los distintos sensores y módulos que debe controlar. El mismo se puede observar en la figura 17[7].

Figura 17. Microcontrolador.

El sistema debe realizar múltiples tareas como se ilustran en la figura 18[1].

Figura 18. Tareas.

Lectura de Sensores

El microcontrolador realiza la lectura de las señales provenientes de los sensores adaptándolas a las distintas unidades según el tipo de sensor:

Posición → Grados(θi)

Campo → Intensidad(dbm)

Inclinometro → Grados(θn)

GPS → Hora, Grados

Las señales digitales adecuadas a las unidades estándares son empleadas en los siguientes bloques para realizar las tareas.

Máxima intensidad de campo

Para obtener las coordenadas de la máxima intensidad de campo magnético se implementara un método de optimización matemática perteneciente a las técnicas de búsqueda local, el algoritmo de búsqueda Tabú[2][3] adaptado a la capacidad de computo del sistema.

El cual consiste en realizar un barrido de la superficie mediante cuadrantes, el cual comienza la búsqueda guardando en la memoria las posiciones de máxima intensidad de campo, las cuales se comparan luego y se realiza un nuevo barrido en un cuadrante que contiene los puntos de mayor intensidad de campo, guardando los puntos de máxima intensidad, comparándolos nuevamente y repitiendo el proceso de barrido hasta alcanzar la condición de parada.

Debido a que las intensidad de la señal puede variar por las condiciones del entorno o simplemente por el tráfico de datos, el algoritmo tabú[2][3] se debió modificar censando la posición máxima alcanzada y realizando una nueva búsqueda en un entorno reducido sin pérdida de intensidad mínima del campo.

Como se observa en la figura 19[2][3], los datos así obtenidos (grados) luego son empleados en la generación de trayectoria directa para calcular las coordenadas en el espacio cartesiano y con ellas obtener el ángulo de arribo de la señal de máxima intensidad de campo.

Figura 19. Algoritmo de detección de máxima intensidad de campo.

Generación de Trayectoria

La generación de trayectoria está compuesta por los siguientes bloques constitutivos como se pueden observar en la figura 20[1].

Figura 20. Generación de Trayectoria.

En la misma se muestran los dos caminos distintos que pueden seguir los datos. En un caso los datos provenientes del sensor de intensidad de campo ingresan al bloque de generación de trayectoria articular, continúan por el modelo cinematico directo y finalmente ingresan al bloque de generación de trayectoria cartesiana.

En el otro sentido los datos provienen del bloque de comunicación e ingresan al bloque de generación de trayectoria cartesiana, continúan por el modelo cinematico inverso y finalmente ingresan al bloque de generación de trayectoria articular.

A continuación se describe la función de cada bloque.

Generación de Trayectoria Cartesiana

La Generación de Trayectoria es el proceso mediante el cual se aproxima el camino deseado. A tal fin se utiliza una serie de puntos entre las coordenadas del punto inicial y final, que pueden ser calculados a partir de funciones polinomiales, lineales, etc.

Este bloque es el encargado de realizar una generación de trayectoria en el espacio cartesiano, el cual consiste en asignarle una función matemática a dos puntos del espacio cartesiano, el inicial y el final. Para aproximar la trayectoria. Además se generan una cantidad de puntos intermedios entre el punto inicial y el final con la función matemática seleccionada.

La función matemática seleccionada para este proyecto consistió en la función lineal y con una generación de puntos intermedios en función del tiempo variable según un espaciado mínimo entre puntos, como se observa en la figura 21[1].

Figura 21. Generación de trayectoria cartesiana.

Modelo Cinemático (Directo)

La cinemática directa consiste en determinar cuál es la posición y orientación del extremo final del sistema robótico, con respecto a un sistema de coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot.

En general, un sistema robótico está formado por eslabones unidos por articulaciones, de forma que cada par articulación-eslabón constituye un grado de libertad.

Debido a esto se puede establecer un sistema de referencia fijo situado en la base del robot y describir la localización de cada uno de los eslabones con respecto a dicho sistema de referencia.

El proceso consiste en fijar un sistema de coordenadas a cada eslabón, que se moverá con él de acuerdo a un conjunto de normas fijas.

Este bloque es el encargado de realizar dicha tarea empleando el algoritmo de Denavit-Hartenberg[1]. El cual puede observase en la figura 22[1].

Figura 22. Ejes según Denavit-Hartenberg.

A partir de la disposición de ejes por articulación y empleando relaciones trigonométricas por eje y referenciando a la base se obtuvieron las siguientes ecuaciones espaciales:

Donde

(4)

Modelo Cinemático (Inverso)

El objetivo del problema cinemático inverso consiste en encontrar los valores que deben adoptar las coordenadas articulares del sistema robótico (θb, θh y θc) para que su extremo se posicione y oriente según una determinada localización espacial (x,y,z).

En el problema cinemático inverso el procedimiento de obtención de las ecuaciones es fuertemente dependiente de la configuración del sistema robótico.

Si se consideran sólo los tres primeros grados de libertad, estos tienen una estructura planar, esto es, los tres primeros elementos quedan contenidos en un plano. Esta circunstancia facilita la resolución del problema.

Los métodos geométricos permiten obtener normalmente los valores de las primeras variables articulares, que son las que consiguen posicionar el sistema robótico. Para ello utilizan relaciones trigonométricas y geométricas sobre los elementos del sistema, recibiendo el nombre de método geométrico.

El cual en sí se basa en encontrar un suficiente número de relaciones geométricas en las que intervendrán las coordenadas del extremo del sistema robótico, sus coordenadas articulares y las dimensiones físicas de sus elementos.

Para el cálculo de las distintas coordenadas articulares y debido a las infinitas posibilidades de configuraciones del sistema robótico que pueden alcanzar el punto espacial se emplearon algoritmos recursivos con una condición inicial de arranque, basada en el espacio de trabajo y una final de parada correspondiente a una tolerancia de los datos.

Con motivo de que el eje auxiliar 1 presenta la misma orientación que el de la base con la única diferencia que se encuentra desplazado una cierta longitud, se puede considerar que el desplazamiento del ángulo θb se realiza en el eje de la base, como se puede observar en la figura 23.

Figura 23. Eje de base.

Debido a esto y como las coordenadas espaciales están referenciadas al eje de la base lo valores de xf e yf permiten calcular dicho ángulo empleando la siguiente ecuación(5):

Xf * sen(θb) = Yf * cos(θb) (5)

Para facilitar el cálculo de la ecuación (5) se dividió en cuadrantes los posibles valores de ángulos de θb según el valor de xf e yf como se puede observar a continuación:

De esta manera se establece la condición de arranque del algoritmo para el cálculo de θb y la condición de parada es una tolerancia al error de 0,01. Como se puede observar en la siguiente figura 24.

Figura 24. Algoritmo de cálculo de θb.

Una vez determinado el ángulo de base θb se procede a calcular los ángulos de hombro y codo para ello se emplean las ecuaciones (1), (2) y (3).

Como existen infinitos valores de ángulos que satisfacen dichas ecuaciones se estableció una condición de arranque según cuadrantes limitando el rango de búsqueda de los ángulos mediante los valores de Xf e Yf como sigue:

Si Y es positivo y el modulo de |XY| < 38cm el rango de búsqueda es θh=90° y θc puede varía desde 12° a 180°.

Si Y es positivo y el modulo de 38cm < |XY| < 38 + 33 cm el rango de búsqueda es 0°<θh<90° y θc puede varía desde 12° a 180°.

Si Y es negativo y el modulo de |XY| < 38cm el rango de búsqueda es θh=90° y θc puede varía desde 180° a 270°.

Si Y es negativo y el modulo de 38cm < |XY| < 38 + 33cm el rango de búsqueda es 0°<θh<90° y θc puede varía desde 180° a 270°.

Empleando esta condición de arranque se procedió a calcular valuar las ecuaciones (1), (2) y (3) y calculando el error con los valores finales de X, Y y Z, si dicho valor es inferior al 0,01% se toma como validos dichos valores de los ángulos de hombro y el codo. Como se puede observar en el siguiente grafico 25 del algoritmo para el cálculo de θh y θc.

Figura 25. Algoritmo de cálculo de θh y θc.

Generación de Trayectoria Articular

Al igual que con la generación de trayectoria cartesiana este bloque es el encargado de realizar una generación pero en el espacio de cada articulación, empleando una función lineal para aproximar los puntos generados, a la su vez son generados en función del tiempo. En la figura 26[1] se puede observar la generación de la trayectoria por articulación.

Figura 26. Generación de trayectoria cartesiana.

Comunicación

Este bloque es el encargado de realizar la comunicación de los datos de forma inalámbrica con la estación base o con otras sistemas para la transferencia de información como así también de datos de control.

Para poder realizar dicha transacción de datos se empleo una trama de comunicaciones como se observa en la siguiente figura 27.

Figura 27. Trama de datos.

La trama está compuesta por una cabecera destino y otra origen, las cuales me permiten direccionar los datos y que sean leídos solamente por el sistema direccionado.

El campo de código me permite controlar y/o solicitar información al sistema.

El campo de datos es variable según el requerimiento de la base.

El campo FCR es un campo para el control de errores no implementado aun.

Control de motores

Dicho bloque es el encardado de realizar el control de los motores los cuales son controlados con la tecnología de modulación PWM.

El microcontrolador una vez realizada la generación de trayectoria obtiene los ángulos de movimiento de cada motor y a partir de la posición inicial del brazo y la final establece una proporción del ancho del pulso por cada articulación según el camino a recorrer por articulación. De esta manera se lograra una que todas las articulaciones lleguen al punto final de manera simultánea y controlando el arranque y parada un movimiento suave.

Modulo Inalámbrico

El módulo seleccionado es el AC4490 de Aerocom, ya presenta las siguientes características

La transmisión como la recepción se la conoce generalmente como modo transparente.

La modalidad empleada en el presente trabajo es la modalidad transparente durante la transmisión de los datos.

El modo de comandos AT sirva para la configuración de parámetros y pude ser de forma inalámbrica; en caso de ser necesario. En la siguiente figura 28[8] se observa el modulo inalámbrico.

Figura 28. Modulo Inalámbrico AC4490.

Conclusiones

En el desarrollo del presente trabajo, la mayor complejidad hasta el momento se presento en el diseño y construcción del sistema robótico. En cuanto a la electrónica de soporte se construyo de forma modular a fin de poder actualizar la electrónica en caso de ser necesario.

La trama conformada para la comunicación funciona correcta sin detectar cortes en la comunicación ni errores de recepción, ya que el modulo inalámbrico posee una trama rf con corrección y detección de errores; sin embargo a la trama conformada se le debe terminar la implementación de FCR, cuestión en la que se trabaja.

El control y movimiento de los motor reductores es suave y no presenta saltos o brincos durante el movimiento del sistema robótico, cuando es controlado o cuando realiza rutinas de reinicio, arranque suave y parada.

El sistema responde bien al sensor de campo y se encuentra en etapa de implementación de los algoritmos de generación de trayectoria.

La finalización del mismo permitirá continuar con otras líneas de investigación como la de transmisores inteligentes, el estudio de algoritmos para el control adaptativo del sistema robótico, el estudio de redes inalámbricas de antenas inteligentes y el procesamiento de datos distribuidos.

Referencias

Fu, K. S., González, R. C., Lee, C. S. G. (1999). ROBOTICA: Control, Detección, visión e inteligencia. Madrid: McGraw-Hill.

Glover, F. y Laguna, M. (1997). Tabu Search. Boston: Kluwer.

Glover, F. (1989). "Tabú Search — Part I", en ORSA Journal on Computing 1: 3, 190-206.

Hoja de datos del sensor de Inclinación MMA7060FC.

Hoja de datos del módulo Smart GPS antenna A1035-D.

Hoja de datos del sensor de campo LT5534 de Linear Technology.

Hoja de datos del microcontrolador pic18f8722 de microchip.

Hoja de datos modulo inalámbrico AC4490 de Aerocom.

Hoja de datos del puente H L298N de STMicroelectronic.

Hoja de datos del motor reductor MR08D de Ignis.