DESARROLLO DE UN SISTEMA PARA PREVENCIÓN DE COLISIONES CONTROLADO CON GNU/LINUX
D. Brengi, S. Tropea, S. Gwirc, D. Farías
INTI-CITEI Instituto Nacional de Tecnología Industrial. Centro de Investigación y Desarrollo en Telecomunicaciones, electrónica e Informática. Unidad Técnica de Instrumentación y Control Electrónico.
RESUMEN
Teniendo como objetivo desarrollar un sistema de prevención de colisiones para vehículos de carga y descarga en construcciones y obras, se plantea como primer paso la realización de un sistema de sensores ultrasónicos portátil y programable para la realización de pruebas en campo.
1. APLICACIÓN
Se desea obtener un sistema de prevención de colisiones para vehículos de la industria de la construcción (grúas, camiones, topadoras, tractores, montacargas, etc.). Es muy común durante el trabajo en obra que estos vehículos colisionen con el entorno debido a la gran cantidad de maniobras que deben realizar dentro de un ambiente en constante cambio y a la escasa visibilidad ocasionada por el propio vehículo. El costo de reparación de estos vehículos y las demoras ocasionadas justifican la instalación de un sistema para la prevención de colisiones.
2. SISTEMA DESARROLLADO
El sistema realizado utiliza una computadora portátil conectada a través de una interfaz a tres módulos ultrasónicos para la detección de obstáculos. El diagrama en bloques del sistema se presenta en la figura 1.
2.1. Transductores ultrasónicos
Una de las características mas importantes a favor de los sensores ultrasónicos es su bajo costo en comparación con sistemas más sofisticados con láser o cámaras de visión. Esta aplicación requiere que los sensores cubran una gran parte de la periferia del vehículo y que la detección sea segura a distancias superiores a los 5 metros. Por su gran sensibilidad y largo alcance se seleccionaron transductores ultrasónicos electrostáticos Polaroid 6500, 7000 y 9000 para realizar las pruebas y el desarrollo de la aplicación (fig. 2).
2.2. Circuitos transmisores y acondicionadores de señal Junto con los transductores ultrasónicos, la empresa Polaroid [1] ofrece un módulo de bajo costo para realizar el control de disparo y la recepción de señal (fig. 3) que utiliza el mismo transductor para realizar la transmisión y la posterior recepción de la señal ultrasónica. El módulo se encarga de: generar los pulsos de disparo para excitar al transductor, controlar la ganancia en función del tiempo para compensar la atenuación del eco , amplificar, filtrar y detectar el eco recibido y adaptar los niveles de las señales [2,3].
Figura 1. Diagrama en bloques del sistema. 2.3. Interface con PC Para el manejo de los módulos de ultrasonido desde la computadora se diseñó una interfaz de aislación eléctrica con optoacopladores (fig. 4). Esta interfaz se conecta al puerto paralelo de la PC protegiéndola de los picos transitorios de alta tensión que pudieran aparecer durante
la secuencia de disparo. El circuito realizado permite conectar hasta tres módulos ultrasónicos, haciendo posible la utilización de cada uno de ellos en forma totalmente independiente. De esta forma se podrán probar algoritmos de disparos simultáneos, solapados y combinados [4]. Este tipo de arquitectura permite fácilmente expandir a ocho la cantidad de sensores. Para aplicaciones donde se necesite mayor cantidad de sensores existen dos posibles alternativas. Agregar en la interface circuitos lógicos para ampliar las líneas de entrada/salida del puerto paralelo o añadir tantos puertos paralelos a la PC como sea necesario.
-Poseer licencias que no involucran gastos innecesarios y brindan la posibilidad de compartir el software en forma libre tanto para su utilización como para su estudio. -Facilidad para el muestreo y la visualización de los datos adquiridos durante las pruebas de funcionamiento. -Permitir la fácil adaptación del software para variaciones en el hardware de la propia computadora, la interfaz o el sistema de ultrasonidos. -Poseer la capacidad de realizar otras tareas de control, automatización y cálculo simultáneas a la toma de datos provenientes de los sensores ultrasónicos. En el futuro y de ser necesario para la aplicación podrá utilizarse la extensión Linux para aplicaciones de tiempo real RTLinux [6]. Una vez terminada la etapa de desarrollo, se reemplazará la computadora portátil por una PC de tamaño reducido y bajo costo del tipo PC/104 o similar [7].
Figura 2. Transductores ultrasónicos.
Figura 3. Polaroid ranging module 6500.
2.4. Control principal
Para el el sistema de control principal se seleccionó una PC portátil con sistema operativo Debian GNU/Linux [5], por poseer las siguientes características:
-Contar con cómodas herramientas para el desarrollo actual y futuro del software. -Facilidad para corregir y probar el programa bajo desarrollo.
Figura 4. Interface con PC.
2.5. Software de control
El software de control se encarga de seleccionar el transductor deseado, iniciar los disparos ultrasónicos, medir el tiempo de tránsito del eco y calcular la distancia al objeto. El programa fue realizado en código C y se utilizaron como herramientas principales el "GNU C compiler", el "GNU make" y el editor para programadores "Setedit" [8]. Además de las funciones que brinda el sistema operativo, se utilizaron dos librerías adicionales: "parapin" [9] para facilitar el control del puerto paralelo y "slang" [10] para la visualización gráfica en pantalla de las distancias medidas (fig. 5). Ambas disponibles bajo licencia GPL [11].
3. ALGORITMO DE MEDICIÓN DE DISTANCIA
Para la medición de la distancia se utiliza la clásica medición de tiempo de vuelo del eco recibido. Se calcula la distancia al obstáculo con la siguiente fórmula:
d=t*1e-6*V/2
donde: La variable entera t es un contador que el sistema incrementa cada microsegundo. La constante V es la velocidad del sonido en aire expresada en metros por segundo y tiene un valor de 343 [12,13]. La variable d obtenida es la distancia en metros.
Durante el ciclo de medición de tiempo debe tenerse en cuenta la posibilidad de no recibir ningún eco. Para ello debe considerarse un tiempo máximo de espera o una distancia límite de detección.
Figura 5. Vista del software de control.
4. RESULTADOS, CONCLUSIONES Y TAREAS FUTURAS
Se desarrolló un sistema portátil de detección de obstáculos a distancia con sensores ultrasónicos (fig. 6), que permitirá la realización de pruebas sobre vehículos en movimiento [14]. Este sistema posee como ventaja principal la capacidad de visualizar los datos en tiempo real, de capturar los datos medidos para posterior análisis y la de modificar o corregir cualquier característica del software durante el transcurso mismo de las pruebas. Hasta el momento se realizaron pruebas de funcionamiento dentro del laboratorio para verificar la correcta medición de cada uno de los sensores utilizados, un alcance superior a 5 metros y autonomía mayor a una hora. En el futuro se instalará el equipo sobre un vehículo para observar el comportamiento del sistema, evaluar su desempeño y mejorar el algoritmo utilizado. Se estudiará el montaje de los transductores y las disposiciones geométricas óptimas. Además se abordarán los problemas
que aparecen cuando exista más de un vehículo con este sistema [4] y las alarmas o limitaciones de velocidad que debe proveer el controlador para evitar la posible colisión.
Figura 6. Sistema portátil desarrollado.
5. REFERENCIAS
[1]Polaroid Corp., Ultrasonic Components group, 119 Windsor street, Cambridge, MA. http://www.polaroid-oem.com [2] F. Ferdeghini, D. Brengi, D. Lupi, “Sistema de detección combinado para sensores ultrasónicos”, XVI Congreso Argentino de Control Automático, AADECA, Vol. 2, pp. 514519, Agosto 1998. [3] R. Kuc, "Pseudoamplitude Scan Sonar Maps", IEEE Transactions on Robotics and Automation, Vol. 17, No 5, pp. 767-770, Octubre 2001. [4] J. Borenstein and Y. Koren, "Error Eliminating Rapid Ultrasonic Firing for Mobile Robot Obstacle Avoidance", IEEE Transactions on Robotics and Automation, Vol. 11, No 1, pp. 132-138, Febrero 1995. [5] Debian GNU/Linux . http://www.debian.org [6] E. F. Hilton and V. Yodaiken, "Real-Time Applications with RTLinux", Embedded Linux Journal, pp. 18-25, Enero-Febrero 2001. [7] R. Lehrbaum, "All about Linux-friendly Single-Board Computers", Embedded Linux Journal, pp. 14-19, Marzo-Abril 2001. [8] Editor para programadores Setedit. http://setedit.sourceforge.net/ [9] Parallel Port Pin Programming Library for Linux. http://www.circlemud.org/~jelson/software/parapin/ [10] Multi-platform programmer's library. http://www.s-lang.org/ [11] Licencia GPL . http://www.gnu.org/copyleft/gpl.html [12] L. E. Kinsler, "Fundamentos de acústica", editorial Limusa, 1999. [13] A. Carullo and M. Parvis, "An Ultrasonic Sensor for Distance Measurement in Automotive Applications", IEEE Sensors Journal, Vol 1, No 2, pp. 143-147, Agosto 2001. [14]D. Brengi, S. Gwirc, D. Lupi, “Módulo ultrasónico multisensor para aplicación en robots móviles”, Jornadas INTI de Desarrollo e Innovación, Octubre 2000.
Ver+/-