Sistema de visión móvil inalámbrico controlado por computadora:  SIVICOM

Sistema de Visión Móvil Inalámbrico

Información del documento

Autor

Adrián Benítez Pajas

instructor Cuauhtémoc Pereda Macías
Escuela

Instituto Tecnológico de Estudios Superiores de Monterrey, Campus Ciudad de México

Especialidad Ingeniería Electrónica y Comunicaciones
Tipo de documento Proyecto de graduación
Lugar Ciudad de México
Idioma Spanish
Formato | PDF
Tamaño 6.98 MB

Resumen

I.Sistemas de Percepción en Robótica

Este documento describe el desarrollo de un sistema de visión robótica inalámbrico, SIVICOM, enfocado en el control de movimiento de un móvil. Se centra en la integración de sensores CMOS para la captura de imágenes en tiempo real, destacando sus ventajas sobre los sensores CCD en términos de bajo consumo de energía. El sistema emplea un microcontrolador PIC (específicamente Ubicom SX28) para el procesamiento de datos RGB digitalizados y un MSP430 para la interfaz con el transceptor inalámbrico. Las aplicaciones apuntan a entornos de difícil acceso, como la exploración espacial, cráteres volcánicos, y sistemas de alcantarillado, donde los sistemas alámbricos presentan limitaciones de alcance y movimiento.

1. Introducción a la Percepción Robótica

El texto inicia definiendo la robótica desde la perspectiva de la información, destacando tres pilares fundamentales: el control de movimiento, la percepción y la planificación. Se explica que los sistemas de control dependen de lazos de retroalimentación obtenidos a través de sensores internos y externos al robot. Se menciona el desarrollo histórico de sistemas de percepción robótica, impulsado por avances tecnológicos en sensores de visión, tacto y audición. Un trabajo clave citado es el de Roberts (1963), quien demostró la posibilidad de procesar imágenes digitalizadas para obtener descripciones matemáticas de objetos en una escena, especificando su posición y orientación mediante transformaciones homogéneas. La finalidad de estas soluciones robóticas se centra en el reemplazo eficiente de habilidades humanas, utilizando la tecnología en beneficio del ser humano. Se introduce la comparación entre los sistemas de visión actuales y la visión humana, resaltando la naturaleza serial de los primeros en contraste con el procesamiento paralelo del sistema visual humano.

2. Sistemas Alámbricos vs. Inalámbricos

Se analizan las ventajas y desventajas de los sistemas robóticos alámbricos e inalámbricos. Los sistemas alámbricos, si bien ofrecen una transmisión confiable a distancias cortas y ausencia de interferencia con otros sistemas electrónicos, presentan desventajas significativas: alcance limitado del operador al móvil y restricciones en el movimiento. Estas limitaciones reducen su utilidad en aplicaciones a larga distancia o en entornos de difícil acceso, como cráteres volcánicos, cuevas, hornos industriales, sistemas de alcantarillado y exploración espacial. Esta sección contextualiza la elección de un sistema inalámbrico para el proyecto, justificando la necesidad de un sistema que supere las restricciones impuestas por los sistemas alámbricos en diversas aplicaciones, particularmente en entornos complejos e inaccesibles.

3. Definición y Funciones de los Sistemas de Visión

Se presenta la definición de Haralick para un sistema de visión: un sistema que adquiere imágenes, las procesa y analiza para realizar mediciones de características y tomar decisiones útiles sobre el objeto observado. Se enumeran las funciones principales de un sistema de visión: localización, inspección, calibración, identificación, reconocimiento y estimación de movimiento. La sección resalta la diferencia fundamental entre los sistemas de visión artificiales y el sistema de visión humano, con énfasis en el procesamiento paralelo en el humano versus el procesamiento serial en los sistemas artificiales. Se describe cómo estos sistemas comienzan con una representación espacial, la imagen, pero deben ser capaces de lidiar con la variabilidad del entorno. Se explica la percepción del color humano, basada en intensidad, saturación y tono (hue), y la síntesis de color a partir de la combinación de colores primarios. Esta parte proporciona una base teórica sólida sobre los principios de los sistemas de visión y sus capacidades, estableciendo el marco conceptual para entender el sistema propuesto.

II.Adquisición y Procesamiento de Imágenes

El sistema SIVICOM utiliza un sensor CMOS para la adquisición de imágenes. La resolución se ajusta mediante ventaneo (windowing) a 80x143 píxeles. El procesamiento de la imagen incluye la configuración de parámetros como saturación, brillo, contraste, y balance de blancos. Se discuten las dificultades presentadas por la alta sensibilidad del sensor CMOS a la luz infrarroja, y se proponen soluciones mediante lentes filtros y la activación de la ganancia automática de blancos. El procesamiento de imágenes se realiza con el microcontrolador PIC, con datos enviados a través del bus I2C.

1. Captura de Imágenes con Sensores CMOS

La adquisición de imágenes se realiza mediante un sensor de imagen de Óxido de Metal Complementario (CMOS), seleccionado por su capacidad de reproducir imágenes en tiempo real con buena calidad y bajo consumo de energía. Se justifica la elección del sensor CMOS sobre los sensores CCD, comúnmente utilizados, basándose en referencias [5] y [6]. El sensor CMOS presenta ventajas significativas, requiriendo solo una fuente de 5V, integrando un convertidor analógico-digital (ADC), una cadena de procesamiento digital y registros de configuración en el mismo chip, lo que reduce el espacio requerido. A diferencia de los sensores CCD, no requiere un arreglo de reloj complejo, sino solo un reloj maestro. Se describe la resolución del sensor, limitada a 356x292 píxeles, pero configurable mediante ventaneo (windowing) para ajustar el tamaño de la imagen, accediendo a registros específicos (HREFST, HREFEND, VSTRT, VEND) dentro del sensor. En el sistema SIVICOM, la resolución se configuró en 80x143 píxeles. La distribución de los píxeles se detalla en la Referencia [7], mostrando un patrón RGBG (rojo, verde, azul, verde). Se explica el formato de datos RGB enviados al procesador PIC (Referencia [8]).

2. Parámetros de la Cámara y Procesamiento de la Señal

El documento describe la capacidad de programar parámetros de la cámara como saturación de color, brillo, contraste, balance de blancos, tiempo de exposición y ganancia mediante una interfaz I2C. En SIVICOM, se establecen valores predeterminados para la saturación, brillo y ganancia de los colores RGB, mientras que el balance de blancos opera en modo automático para optimizar la calidad de la imagen. El modo de salida del sensor está configurado en RGB, aunque también admite CrYCb. La calidad del procesamiento de la imagen se ve afectada por el rango dinámico, definido como la proporción entre el máximo y mínimo nivel de señal detectable, expresado en decibeles (dB). Se indica que en muchos sensores, el rango dinámico está limitado por el ADC, pero que la señal analógica de entrada puede tener un rango dinámico superior. Se aborda el problema de la alta sensibilidad de los píxeles CMOS a la luz infrarroja, especialmente en los píxeles rojos. Se intentó solucionar esto mediante la ganancia automática de blancos, pero se requirió el uso de lentes que bloqueen más eficazmente los rayos infrarrojos.

3. Comunicación entre Sensor y PIC Control y Recepción

Se detallan dos tipos de comunicación entre el sensor CMOS y el PIC: control y recepción. El control se realiza mediante el bus I2C, donde el PIC emula salidas de colector abierto usando dos pines I/O. Estos pines se configuran en bajo, usando sus propiedades de direccionamiento para determinar el nivel lógico de las señales SDA y SCL. El PIC Ubicom SX28 (procesador RISC a 75 MHz, 75 MIPS, 2048 palabras de flash EPROM y 136 bytes de SRAM) procesa los datos del sensor. Su alta velocidad en interrupciones y capacidad de emular periféricos permite implementar un puerto serial UART. Se reservan espacios en la SRAM del PIC: 80 bytes para datos de imagen (como buffer para una fila de datos) y 56 bytes para procesamiento. Cada fila del sensor llena el buffer con 20 paquetes de píxeles RGBG, resultando en 80 píxeles de resolución. La recepción de datos se describe, detallando el flujo desde el transceptor, a través de los pines RX-DATA, 2.0/TA2 y 2.1/TBO (relojes A y B), un convertidor analógico-digital, y finalmente al buffer de transmisión del puerto serial. La señal de control se recibe por la interfaz serial RS232 y se envía al microcontrolador, que la retransmite al transceptor.

III.Comunicaciones y Control del Móvil

La transmisión de datos se realiza de forma inalámbrica, utilizando un transceptor TRF6901 que opera con modulación FSK o OOK. El sistema incluye dos etapas de comunicación: control del sensor vía bus I2C, y transmisión de datos de imagen a través de una interfaz serial RS232. El microcontrolador MSP430 gestiona la comunicación entre el sensor, el PIC, el transceptor y la computadora. La interfaz gráfica, desarrollada en Java, permite controlar el movimiento del móvil (dos grados de libertad: adelante, atrás, izquierda, derecha).

1. Transmisión Inalámbrica y el Rol del MSP430

El sistema SIVICOM emplea un enfoque inalámbrico para transmitir la información del sensor CMOS a una computadora, con el objetivo de controlar el desplazamiento de un móvil. Un procesador externo, el PIC SX28 de Ubicom, configura el sensor CMOS para obtener valores RGB digitalizados de la imagen. Estos datos son enviados al microcontrolador MSP430, actuando como interfaz entre el transceptor y la computadora. La elección de un sistema inalámbrico se justifica por las limitaciones de los sistemas alámbricos en cuanto a alcance y movilidad, especialmente en entornos inaccesibles. El MSP430 gestiona la comunicación y se encarga de la transmisión de la información al transceptor, que a su vez enviará la información a la computadora. La naturaleza inalámbrica del sistema permite una mayor flexibilidad y capacidad de operar en espacios reducidos o remotos, ampliando significativamente las aplicaciones potenciales en comparación con los sistemas cableados.

2. Interfaz de Control y Movimiento del Móvil

El control del móvil se realiza a través de una interfaz gráfica en Java, la cual es multiplataforma y permite al usuario enviar comandos al móvil. La interfaz presenta botones para el movimiento en cuatro direcciones (izquierda, arriba, abajo, derecha), permitiendo un control intuitivo del dispositivo. Al seleccionar un botón, se envía la señal de control correspondiente hasta que se selecciona otro botón. Un botón de 'Stop' cancela todas las señales de control, permitiendo una parada inmediata del móvil y restableciendo los botones de dirección. Las señales de control del móvil, provenientes de la computadora, se transmiten a través de una interfaz RS232 hacia el puerto serial. Estas señales llegan al microcontrolador MSP430F449 a través de los pines T1 IN y R10UT, y son reenviadas al transceptor por el pin 2.2. El transceptor envía las señales de control mediante ondas de radiofrecuencia al módulo receptor del móvil (captadas por las líneas LNAIN1 y LNAIN2), generando una señal PWM a través de los pines P1.2 (adelante) y P2.0 (atrás) para controlar el movimiento del móvil utilizando un puente H. El sistema permite un control preciso y flexible del móvil a distancia.

3. Comunicaciones y Transceptor

La comunicación inalámbrica se basa en un transceptor TRF6901, una solución de bajo costo que admite modulación OOK o FSK. Se describe brevemente el funcionamiento del transceptor, incluyendo su capacidad de operar a bajas tensiones (menos de 1.8V) y la programación de la frecuencia. En cuanto a la recepción de datos de imagen, los datos llegan al transceptor por el pin RX-DATA. Los pines 2.0/TA2 y 2.1/TBO actúan como relojes A y B, realizando una comparación y captura para obtener los datos en forma de pulsos. Estos pulsos son procesados por el convertidor analógico-digital, generando una señal digital. Luego, la señal digital se envía al buffer de transmisión del puerto serial, que a su vez envía la información al pin T1 IN de la interfaz serial para su posterior procesamiento. La señal de control se maneja separadamente, pasando por el pin R1 IN de la interfaz RS232, al pin R1 OUT y finalmente al pin 2.5 del microcontrolador antes de llegar al transceptor para su transmisión. Este sistema permite una comunicación bidireccional entre la computadora y el móvil a través del transceptor. El diseño utiliza un enfoque modular, facilitando el mantenimiento y las actualizaciones del sistema.

IV.Caracterización y Resultados

Se realizaron pruebas con un prototipo inicial hecho en wirewrap, mostrando la comunicación entre el sensor y el PIC, aunque con problemas en el despliegue de la imagen. Un segundo prototipo, implementado en un circuito impreso diseñado con PROTEL, mejoró el rendimiento, aunque se encontraron desafíos en la etapa de control del motor debido a la corriente demandada. El proyecto proporciona una plataforma educativa para el aprendizaje de sistemas de visión robótica de bajo costo.

1. Prototipos y Pruebas Iniciales

La caracterización del sistema involucró la construcción y prueba de prototipos. Un primer prototipo, construido con técnica wirewrap, fue probado de forma alámbrica a 38.4 kbps. Si bien se verificó la comunicación entre el PIC y el sensor, la imagen no se desplegó correctamente. Este resultado evidenció la necesidad de mejoras en el diseño y la implementación. Para abordar las deficiencias del primer prototipo, se desarrolló un segundo prototipo utilizando un circuito impreso diseñado con el software CAD PROTEL. La elección de PROTEL se basó en sus capacidades de simulación y su amplia utilización en la industria. El prototipo final se muestra en la Figura 6.4, representando una mejora significativa sobre el primer prototipo. Las pruebas iniciales permitieron verificar la funcionalidad de la comunicación entre los componentes clave y la necesidad de refinar aspectos del diseño, como se demuestra en las imágenes desplegadas en la Figura 6.2.

2. Caracterización del PIC y el Sensor

Para verificar el correcto funcionamiento del PIC y el sensor, se analizaron las señales de control que llegan al sensor, comparándolas con las especificaciones técnicas. Se presenta un diagrama temporal (Figura 5.1) de las señales PCLK, VSYNC y HREF, responsables del barrido de la matriz de píxeles. Este análisis permitió una evaluación detallada del comportamiento de los componentes críticos del sistema de adquisición de imágenes. La correcta sincronización y el funcionamiento adecuado de estas señales son cruciales para la correcta captura y procesamiento de la imagen, y su análisis permitió identificar posibles problemas de sincronía o timing que pudieron afectar el funcionamiento del sistema en las pruebas iniciales.

3. Problemas y Soluciones en la Etapa de Control del Motor

Durante las pruebas, se integró un circuito amplificador de corriente (detallado en el Anexo de Diagramas Eléctricos) y un circuito L293 (puente H) para el control del motor. Si bien las pruebas ideales con un generador de funciones funcionaron correctamente, al conectar el microcontrolador al circuito de potencia, la corriente demandada por los motores superó la capacidad del circuito. Esto provocó un sobrecalentamiento y la inoperatividad de los motores. Se propone una solución a este problema: utilizar un amplificador con el doble de ganancia para suministrar la tensión necesaria y reconsiderar la configuración de la etapa de amplificación de corriente. Este análisis destaca la importancia de una cuidadosa selección de componentes y el diseño adecuado del circuito de potencia para garantizar la operación confiable del sistema en su conjunto.

4. Conclusiones sobre la Viabilidad del Sistema

El proyecto no busca implementar un sistema de visión robótica completamente viable en términos de costo y practicidad para aplicaciones industriales. Se enfoca principalmente en el aprendizaje y la comprensión de los diferentes componentes y procesos involucrados en el desarrollo de estos sistemas. La investigación incluyó el funcionamiento de transceptores, microcontroladores de baja potencia MSP430, PIC, y sensores CMOS. Se utilizaron plataformas CAD como PROTEL y ORCAD, junto con CIRCUTCAM y el ruteador LPKFSII para el diseño y manufactura del circuito impreso. Se creó una interfaz gráfica en Java para el control del móvil y del sensor, aprovechando la naturaleza multiplataforma de este lenguaje. Este desarrollo proporciona una valiosa experiencia práctica en el diseño e implementación de sistemas de visión robótica utilizando tecnologías de vanguardia, a pesar de las limitaciones reconocidas en el sistema desarrollado.

V.Componentes Clave Microcontroladores PIC y MSP430

El documento detalla el uso de un microcontrolador PIC (arquitectura Harvard modificada, bus I2C) y un microcontrolador MSP430 (arquitectura RISC de 16 bits, modos de baja potencia). Se describe la arquitectura, las características principales, y las funcionalidades de cada uno en el contexto del sistema de visión robótica. Se destaca la eficiencia del MSP430 para aplicaciones de bajo consumo energético.

1. El Microcontrolador PIC Características y Funciones

El documento describe el uso del microcontrolador PIC (Peripheral Interface Controller), desarrollado por Microchip en los años 90. Se destaca su arquitectura RISC (Reduced Instruction Set Computer), su eficiencia al ejecutar una instrucción por ciclo de reloj, y su ventaja de velocidad en comparación con microcontroladores de 8 bits. Su función principal es controlar dispositivos periféricos, liberando carga de procesamiento de la CPU principal. Se utiliza una analogía con el cerebro humano (CPU principal) y el sistema nervioso autónomo (PIC). El PIC gestiona cálculos y memoria controlada por software, aunque su capacidad de memoria es limitada. Se menciona específicamente el uso del PIC Ubicom SX28 en el proyecto, el cual opera a 75 MHz, tiene 75 MIPS de rendimiento, 2048 palabras de flash EPROM, y 136 bytes de SRAM. La alta velocidad en las interrupciones y la capacidad de emular periféricos, como un puerto serial UART, son características clave para este proyecto.

2. Arquitectura del PIC Ubicom SX y el Bus I2C

Los dispositivos SX del PIC usan una arquitectura Harvard modificada, con dos memorias separadas (programa y datos) y buses de direcciones independientes. Esta arquitectura permite la transferencia eficiente de datos entre la memoria de programa y la SRAM, facilitando el acceso a tablas de datos desde la memoria de programa. El sistema también utiliza el bus I2C, un bus de comunicación de doble cable desarrollado por Philips. Las líneas SDA y SCL son de tipo drain abierto, permitiendo conectar múltiples dispositivos en paralelo. Se detallan las funciones del bus I2C: Dato Válido (Valid Data), Formato de Datos (Data Format), Maestro (Master), Esclavo (Slave), Lectura/Escritura (Bit R/W), y el sistema de arbitraje para evitar conflictos cuando múltiples microcontroladores intentan acceder al bus. El sistema de arbitraje se basa en el control de la señal de reloj (SCL). El documento describe el protocolo de inicio y parada de la comunicación I2C (condiciones Start y Stop), y como se maneja el bit ACK (Acknowledge) para la confirmación de recepción.

3. El Microcontrolador MSP430 Baja Potencia y Eficiencia

El sistema también integra el microcontrolador MSP430 de Texas Instruments (TI), conocido por su bajo consumo de energía. Su arquitectura RISC de 16 bits, con 16 registros y generadores constantes, optimiza la eficiencia del código. El oscilador digitalmente controlado (DCO) permite transiciones rápidas entre modos de baja potencia y modos activos (menos de 6 µs). Se destaca el acceso de lectura/escritura a registros de control de puertos mediante todas las instrucciones, facilitando su programación. El reloj del sistema es soportado por el módulo FLL+, que incluye un oscilador de cristal de 32768 Hz y un oscilador interno DCO. Este módulo está diseñado para sistemas de bajo costo y bajo consumo. El documento menciona la localización de los vectores de interrupción y direcciones de inicio en el espacio de direcciones de memoria, así como la simplificación del acceso de software al evitar la presencia física de bits de registros de funciones especiales no utilizados. Se describe el procedimiento de reinicio y monitoreo de voltaje, y se destaca el módulo periférico dedicado para la operación de multiplicación de 16x16, 16x8, 8x16 y 8x8 bits, con o sin signo, y la capacidad de realizar operaciones acumuladas, todo sin requerir ciclos de reloj adicionales. La utilización del MSP430 en el diseño está claramente justificada por su eficiencia energética.