ISSN Electronico 2145-9371 ISSN Impreso 0122-3461 Volumen 32, n.°2, julio - diciembre 2014 Fecha de recepción: 20 de junio de 2013 Fecha de aceptación: 2 de abril de 2014 DOI: http://dx.doi.org/10.14482/inde.32.2.5406 |
ARTÍCULO DE INVESTIGACIÓN / RESEARCH ARTICLE
Sistema de detección de obstáculos con radar láser
Obstacle detection system with Scanner
Paula Andrea Muñoz*
landreamuoz@gmail.com
*Especialista en Seguridad Informática e Ingeniera Física, Facultad de Ciencias Naturales Exactas y de la Educación, Universidad del Cauca.
Sandra Carolina Imbachí**
carolinaimbachi@gmail.com
**Ingeniería Física, Facultad de Ciencias Naturales Exactas y de la Educación, Universidad del Cauca.
Juan Fernando Flórez*** Universidad del Cauca (Colombia)
jflorez@unicauca.edu.co
***Magíster en Electrónica y Telecomunicaciones. Actualmente se desempeña como docente en el Programa de Ingeniería en Automática Industrial en la Universidad del Cauca.
Correspondencia: Paula Andrea Muñoz López. Calle 2 n° 21C - 20 B/ Pandiguando. Popayán (Cauca). Teléfono 3165291789.
Resumen
Este artículo presenta el diseño, implementación y validación de un sistema láser para detección 2D de obstáculos, en interiores y exteriores, haciendo uso de un radar láser Allen Bradley (SafeZone Scanner Laser multizone). Se plantea un procedimiento para deducción de las tramas de datos usadas entre el radar láser y el software propietario Safety Configuration & Diagnostic. Se comunica el radar láser con la plataforma software de robótica móvil Player, habilitando su uso para aplicaciones robóticas. Se diseña un sistema software que permite disponer de la información de las coordenadas 2D de los obstáculos escaneados por el radar láser, tanto en forma de texto como gráfica, lo que permite hacer uso de ella en otras aplicaciones sin limitación. El sistema es validado con pruebas de medición de distancias en interior y en exterior; obteniendo como resultados en exteriores entre 94 y 5120 cm, un error medio de 3,32 cm, y en interiores, entre 30y 1500 cm, un error medio de 0,93 cm.
Palabras clave: detección de obstáculos, radar láser, tramas de datos.
This paper presents the design, implementation and validation of a laser system for 2D detection of obstacles, indoors and outdoors, using laser radar of Allen Bradley Company (Scanner Safe Zone Laser Multizone). A method for deduction of data frames between the laser radar equipment and proprietary software Safety Configuration & Diagnostic is proposed. We communicate the laser radar with Player software, enabling its use for robotic applications. We design and implement a software system that lets you use the obstacles 2D coordinates scanned by the laser radar, both text and graphics form, allowing to use it in other applications without limitation. The system is validated tests to measure distances in indoor and outdoor, outdoor obtaining as results, between 94 cm and 5120 cm, an average error of 3.32 cm and interior, between 30 cm and 1500 cm, an error through 0.93 cm.
Keywords: data frames, detection of obstacles, laser radar.
1. INTRODUCCIóN
Las aplicaciones de navegación, tanto autónoma como teleoperada, de un robot móvil deben contar con un sistema de detección de obstáculos [1], [3]. La función de estos sistemas es generar información útil y confiable para el sistema de navegación. Entre las tecnologías utilizadas en la detección de objetos para aplicaciones de robótica móvil se encuentran sistemas mecánicos, infrarrojos, ultrasónicos y láser. Este último, también conocido como lidar o radar láser, es el sistema más empleado en este tipo de aplicaciones [4], [5] para implementar sistemas SLAM (Simultaneous Localization and Mapping) [6], [7]. En general, el radar láser en aplicaciones de robótica se usa para ayudar al posicionamiento del robot creando mapas para evitar obstáculos.
El radar láser se usa en una variedad de aplicaciones de robótica móvil [8], [9], entre otras [10]. En estos trabajos el radar láser ayuda al vehículo o robot a posicionarse en el espacio y brindar información básica para tomar decisiones que garanticen su integridad, no aprovechando todo el potencial de esta tecnología. El radar láser se usa en la industria con este mismo fin: cuidar la integridad de vehículos autónomos AGV (Autonomous Ground Vehicle) o de personal en zonas de alto riesgo, generando alarmas que detienen procesos o cambian su funcionamiento [11].A diferencia de radares láser de comunicación abierta, usados en robótica móvil [12], [16], los de comunicación cerrada son orientados a aplicaciones industriales de alta seguridad, no académicas, para operar como detector - alarma de proximidad tipo caja negra configurado desde un software propietario [17]. Estos se usan como detector de proximidad en un AGV, pero no integrados en sistemas de detección de obstáculos avanzado, ni mucho menos en sistemas de navegación, ya que la interfaz de comunicación es cerrada y el AGV típicamente es filoguiado.
En este trabajo se plantea un procedimiento sistemático de deducción de las tramas de distancia de un radar láser industrial obligatorio como requerimiento de seguridad en el diseño de un sistema de detección avanzada de obstáculos.
Hasta la fecha no se ha encontrado un procedimiento sistemático que permita deducir las tramas de datos de un radar láser comercial industrial. En este trabajo se pretende usar un radar láser industrial Allen Bradley en aplicaciones de detección de obstáculos avanzada intercomunicándolo con la plataforma de robótica móvil Player [18], [20].
De acuerdo con la problemática planteada, en este trabajo se presenta el diseño e implementación de un sistema de detección de obstáculos que tiene un componente hardware, constituido por un computador personal y un radar láser industrial, y un componente software, constituido por un aplicativo para adquirir y procesar los datos del radar. Para ello, en la sección Metodología y Materiales se desarrolla el diseño experimental para la deducción de las tramas de comunicación, el diseño e implementación software y el diseño experimental usado en la validación del sistema; en la sección Pruebas y Resultados se consignan y analizan las pruebas: pasillo en interiores y largas distancias en exteriores, y en las Conclusiones se describen los aspectos relevantes logrados en este trabajo.
2. METODOLOGíA Y MATERIALES
En el diseño de un sistema de detección de obstáculos se tiene en cuenta los componentes hardware y de control software, y también su interconectividad con otros sistemas. En este caso, el sistema propuesto se ha diseñado para ser integrado con la plataforma de robótica móvil Player, por medio de un driver que habilita su uso en esta herramienta [18], [20]. La primera fase metodológica abordada fue la deducción de las tramas de comunicación entre el radar láser industrial [21], [22] y el software propietario. Con el conocimiento de las tramas se diseña e implementa un sistema de detección de obstáculos (SDO), compuesto por una parte hardware: Sistema Láser de Detección de Obstáculos (SLDO), y una software: Sistema Software de Detección de Obstáculos (SSDO), el cual se interconecta con la plataforma robótica, que permite procesar externamente la información del láser y habilitarlo para aplicaciones avanzadas. En este proceso metodológico se realizan dos diseños experimentales: primero se identifican los eventos de comunicación del software propietario y se deducen-validan las tramas de datos; segundo, se realizan cinco pruebas de validación del SDO en interiores y exteriores (ver figura 1).
Para el SLDO se utiliza los siguientes materiales: un radar láser Alien Bradley, referencia Safe Zone Scanner Laser multizone, un cable serie RS232, una fuente de alimentación de 12 V / 3 Amp, un conversor USB - Serie y un computador portátil ACER Aspire 4741-5241 (procesador core i3, 4GB RAM, SO Windows 7 y Ubuntu 11) (ver figura 2).
Para la parte experimental y de validación adicional a los materiales del SLDO se usa un segundo computador (procesador pentium, 762 MB RAM, SO Windows XP) y dos cables serie modificados (ver figura 3b). En cuanto a software, se usa el aplicativo Allen Bradley Safety Configuration & Diag-nostic (SCD), serial_port_monitoring [23], Terminal [24]; Hércules [25], C++ en CodeBlock (librerías GLUT y GLUI), Top OCR [26], y finalmente la plataforma robótica Player.
Diseño experimental para deducción de tramas de comunicación, radar láser - SCD
Para determinar la estructura de las tramas de datos de la comunicación, tanto las que transmite el radar láser como las que envía el computador por medio del SCD, primero se identifican los eventos implicados en las tres etapas del manejo del SCD con el radar (conexión, configuración y vi-sualización de distancias); segundo, se diseña una serie de experimentos para deducirlas tramas de datos, y por último se realiza la validación de las tramas identificadas por medio de un algoritmo [17].
En la deducción de las tramas de datos se realizan cuatro experimentos: con el primero se validan los eventos para los cuales hay transmisión de datos, ya sea del radar láser al SCD o viceversa. En el segundo se determinan los datos enviados desde el SCD al radar láser, siguiendo las etapas con los respectivos eventos en los que hubo transmisión de datos, identificados previamente en el experimento 1. En el tercero se determinan los datos de respuesta del radar láser al recibir los datos enviados desde el SCD, siguiendo cada uno de los eventos en los que hubo transmisión de datos. Con el cuarto se deduce la organización de los datos en las tramas enviadas entre el radar y el SCD en los eventos identificados. El cuarto experimento se compone de cuatro fases: en la primera se realiza la observación de los datos enviados del SCD al radar láser y se identifica una serie de marcadores que permiten separar la información en cadenas; en la segunda se envían las cadenas identificadas y se analizan las respuestas obtenidas; en la tercera se determina la composición de la TEEL (Trama Enganche Radar Láser) y con la cuarta fase se determina la organización de los datos que componen la TDEL (Trama Distancias Radar Láser) [17]. Finalmente se realiza la validación haciendo uso de un algoritmo implementado en C++.
El procedimiento de deducción usa dos computadores: uno establece la conexión con el radar láser (PC1) y otro escucha los datos que pasan por un puerto serie (PC2), un cable serie modificado permite la conexión entre los dos computadores y el radar láser; serial_port_monitoring monitorea datos que se transmiten y reciben por puerto serie; Terminal recibe datos transmitidos por puerto serie y Hércules permite enviar datos en hexade-cimal (ver figura3).
Los resultados obtenidos de los experimentos de deducción de las tramas de datos se ilustran en las tablas 1, 2 y 3, las cuales presentan las tramas de datos enviadas y recibidas que permiten la comunicación del radar láser y el computador.
La trama de datos TEEL está dividida en 2 partes (ver tabla 1): la primera se denomina "cabecera" y la segunda "solicitud distancias". La cabecera se compone de siete cadenas necesarias para establecer conexión y solicitud distancias es la cadena 8, que enviada hace que el radar láser responda con la trama que contiene las distancias o TDEL.
La estructura de la trama respuesta TDEL del radar láser varía según la resolución angular configurada en el radar láser, pero siempre es del mismo tamaño; la TDEL para resolución 0.25° se divide en tres: una cabecera de 12 bytes constantes, seguida de la información de distancias intercaladas con bytes intermedios y termina con dos bytes de corrección (ver tabla 2), y la TDEL para resolución 0.5° se divide en cuatro: una cabecera de 12 bytes constantes, seguida de la información de distancias intercaladas con bytes intermedios, luego bytes que completan el tamaño y finalmente dos bytes de corrección (ver tabla 3). Los bytes intermedios de las TDEL brindan información clave para el cálculo de la distancia real (ver tabla 4).
Con la deducción de las tramas de comunicación, TEEL y TDEL, usadas por el radar láser se diseña e implementa el Sistema de Detección de Obstáculos.
Diseño e implementación del Sistema de Detección de Obstáculos (SDO)
Para el radar láser se diseñó e implementó un Sistema de Detección de Obstáculos (SDO), compuesto por la parte hardware SLDO y el software SSDO. Para el diseño del SSDO se realizaron dos módulos:
• Módulo A: Conexión entre el radar láser y el ASSD usando Player
Responsable de establecer conexión entre el radar láser y el Aplicativo Software del Sistema de Detección (ASSD), usando la plataforma Player. Para establecer esta conexión se realizan los pasos: apertura de puerto serie, configurar velocidad de transmisión de datos y envío de TEEL. En su implementación se crea un plugin driver que establece la conexión entre el radar láser y el computador; su función es codificar y decodificar las TEEL y TDEL para comunicar el radar con Player, se desarrolla en C++ y sigue un diseño de Programación Orientada a Objetos [26]. El radar láser envía la información por puerto serie al computador; esta es recibida por Player, que la entrega a ASSD para finalmente ser procesada y mostrada al usuario, tanto gráfica como en forma de texto.
• Módulo B: Aplicativo Software del Sistema de Detección(ASSD)
Este módulo recibe las distancias entregadas por Player y las procesa para apoyar tareas de navegación autónoma, realizando tareas como: asociar distancias con ángulo, trazar perfil de línea del entorno, entregar coordenadas del punto lejano y cercano; permitiendo además modificar campo de visualización, exportar información a archivos y presentar interfaz gráfica al usuario. Hace uso de la información entregada por el plugin driver im-plementado en el módulo A. El módulo B se divide en tres submódulos:
- Submódulo B1: TD
Realiza el cálculo de las distancias de la TDEL, hace cambios de coordenadas, calcula máximos y mínimos, asocia distancias con sus respectivos ángulos, entre otros.
- Submódulo B2: PLOT
Integra diferentes funciones para realizar la gráfica de los datos del entorno escaneado usando la librería GLUT.
- Implementación del Submódulo B3: HMI
Integra diferentes funciones que conforman la interfaz de usuario usando la librería GLUI.
Las distancias son presentadas en forma de texto y visualizadas en tiempo de ejecución (ver figura 4), se observa la gráfica del entorno escaneado, puntos lejanos y cercanos y ángulos - distancias en coordenadas rectangulares.
Se diseñaron cinco pruebas para validar el SSDO tanto en escenarios interiores como en exteriores [17]. En cada prueba se hacen veinte medidas (20 barridos láser) para un mismo ángulo, tanto con el SCD como con el SSDO. Todos los barridos se hacen a una resolución de 0.25°, y se obtienen 761 datos por barrido. En el SSDO los datos se guardan en archivos de texto; con el SCD se hace uso de Top OCR para pasar los datos de imagen a texto.
Para el escenario en interiores se concibieron tres pruebas comparativas: entornos circular, cuadrado y pasillo; en los dos primeros, el radar láser se encuentra ubicado sobre el suelo y para el pasillo se eleva a 38 cm [19]. En las tres pruebas se toman las distancias entregadas por el SCD como la medida de referencia y se grafican los resultados con las 761 medidas de cada barrido, realizadas en cada una de las herramientas SCD y SSDO [17]. Para el escenario en exteriores se concibieron dos pruebas comparativas: la primera en un entorno con distancias medias entre 60 y 715 cm y la segunda con distancias mayores entre 94 y 5120 cm.
3. PRUEBAS Y RESULTADOS
Se presentan resultados de la prueba del pasillo en interiores y de la prueba de distancias mayores en exteriores.
Validación del SSDO en interiores
La tabla 6 presenta el promedio y desviación estándar de los errores medios entre el SCD y el SSDO para la prueba del pasillo.
La figura 5 presenta a) entorno escaneado y b) errores medios versus ángulos entre SCD y SSDO. La figura 6 presenta los perfiles de línea a) SCD, b) SSDO y c) gráfica comparativa de distancias versus ángulos SCD y SSDO.
En la prueba del entorno circular y cuadrado, el promedio y la desviación estándar del error medio entre SCD y SSDO se obtienen valores similares [17], lo cual indica que las tramas deducidas por el procedimiento realizado son correctas. Los resultados obtenidos en las pruebas en interiores permite afirmar, igualmente, que no se mide un único valor de error en todas las distancias; para distancia pequeñas el error es bajo; a medida que las distancias aumentan, el error también.
Validación del SSDO en exteriores
La tabla 7 presenta el promedio y desviación estándar de los errores medios entre SCD y SSDO en la segunda prueba de exteriores.
La figura 7 presenta en a) entorno escaneado y en b) errores medios versus ángulos entre SCD y SSDO. La figura 8 presenta los perfiles de línea a) SCD, b) SSDO y c) gráfica comparativa de distancias versus ángulos SCD y SSDO.
En la tabla 7 se observa que en la prueba de exteriores los valores del error se incrementan significativamente. El error medio de la distancia medida por el radar láser aumenta a mayores distancias. Igualmente, se confirma el análisis de los resultados de las pruebas en interiores con respecto a la integridad del procedimiento de deducción de las tramas realizado.
CONCLUSIóN
Se diseñó e implementó un Sistema de Detección de Obstáculos (SDO) usando el radar láser industrial Safe Zone Scanner Laser multizone de Alien Bradley; para ello se propuso un procedimiento de deducción de las tramas de datos entre el radar y el SCD (Safety Configuration & Diagnostic), identificándose dos estructuras básicas: la Trama de enganche TEEL y la Trama de distancias TDEL. El SDO se conforma por dos sistemas: el primero, una parte hardware o Sistema Láser de Detección de Obstáculos (SLDO), y el segundo, el software Sistema Software de Detección de Obstáculos (SSDO), dividido, a su vez, en dos módulos: A, encargado de establecer conexión entre Player y el Aplicativo Software del Sistema de Detección (ASSD), y B, encargado de recibir la información obtenida en A y procesarla. El sistema se implementó en lenguaje C++ usando CodeBlock y las librerías GLUT y GLUI. En la validación se diseñaron dos conjuntos de pruebas: interiores y exteriores; y se obtuvo un promedio del error medio de 0,93 cm en distancias entre 30 y 1500 cm en interiores y un promedio del error medio de 3,32 cm en distancias entre 94 y 5120 cm para las pruebas en exteriores.
Con el diseño y la implementación de este Sistema de Detección de Obstáculos se logró independizar el Safe Zone Scanner Laser multizone del software SCD de Allen Bradley, lo que permite establecer conexión entre el radar láser y un computador; el software implementado funciona tanto en Linux como en Windows, permitiendo extraer la información entregada por el dispositivo y usarla en aplicaciones avanzadas de robótica móvil. Los resultados obtenidos en la validación presentan errores en distancia relativamente pequeños, típicos de este tipo de sensores. Estos errores están afectados por la disposición de los montajes experimentales en la validación, el procesamiento OCR en el SCD, pequeñas variaciones en los entornos, por ejemplo, en exteriores, y no por error en la deducción de la trama distancias TDEL obtenidas con el procedimiento propuesto.
Agradecimientos
Se agradece a la Universidad del Cauca por el apoyo prestado en la realización de este trabajo.
REFERENCIAS
[I] Y. Chang, H. Kuwabara, and Y. Yamamoto, "Novel Applicat. of a Laser Range Finder with Vision Syst. for Wheeled Mobile Robot", IEEE/ASME, pp. 280-285, 2008.
[2] S. Zeng and J. Weng, "Online-learning and Attention-based Approach to Obstacle Avoidance Using a Range Finder", J. of Intelligent Robot Syst, Vol. 50, pp. 219-239, 2007.
[3] Y. Choi, J. Hong, and K. Park, "Obstacle Avoidance using Active Window and Flexible Vector Field with a Laser Range Finder", Conf. on Control, Automation and Syst, pp. 2123-2128, 2007.
[4] O. Yoichi, Y. Cang, and J. Borenstein, Characterization of the Hokuyo URG-04LX Laser Rangerfinder for Mobile Robot Obstacle Negotiation, Conf. 7332: Unmanned, Robotic and Lavered Syst., Orlando, 2009.
[5] S. Whitaker, Move Out - Adding Go to Goal to the Pioneer 3-DX Explorer Program, Florida Inst. of Technology.
[6] C. Fernández, "Lasmap: Desarrollo e implementación de utilidades de SLAM para un robot móvil utilizando un dispositivo LMS", tesis, Universidad de Salamanca, Salamanca, España, 2005.
[7] J. Pascoal, L. Marques, and A. Almeida, Assessment of laser range finders in risky environments, Universidad of Coimbra, Portugal, 2006.
[8] S. Singh and J. West, Cyclone: A Laser Scanner for Mobile Robot Navigation, 1991.
[9] C. Baifan, C. Zixing, X. Zheng, Y. Jinxia, and L. Limei, "Real-time Detection of Dynamic Obstacle Using Laser Radar", IEEE, pp. 18-21, 2008.
[10] E. Naranjo, C. González, J. Reviejo, R. García, and T. de Pedro, "Adaptive fuzzy control for inter-vehicle gap keeping", IEEE Trans. Intell. Transp. Syst., vol. 4, n° 3, pp. 132-142. Special Issue on ACC, 2003.
[II] Allen Bradley, Protección de escáner láser para carro transportador automatizado con relé de seguridad modular Serie MSR200, Rockwell Automation, 2007.
[12] Doxygen. Laser range-finder SickL, March 2011.[Online]. Available: http://playerstage.sourceforge.net/doc/Player-cvs/player/group__driver__sickLDMRS.html
[13] Doxygen, Laser range-finder Sicklms 200, March 2011. [Online]. Available:
http://playerstage.sourceforge.net/doc/Player-cvs/player/group__driver__sicklms200.html
[14] Doxygen, Laser range-finder Sicklms 400, March 2011. [Online], Available: http://playerstage.sourceforge.net/doc/Player-cvs/player/group__driver__sicklms400.html
[15] Doxygen, Laser range-finder Sicks 3000, March 2011. [Online], Available:http://playerstage.sourceforge.net/doc/Player-cvs/player/group__driver__sicks3000.html
[16] Doxygen, Laser range-finder RS4 Leuzelaser, March 2011. [Online], Available:http://playerstage.sourceforge.net/doc/Player-cvs/player/group_driver_RS4Leuzelaser.html
[17] P. Muñoz, "Diseño e implementación de un sistema láser para detección de obstáculos en aplicaciones de robótica móvil", tesis, Universidad del Cauca, Colombia, 2011.
[18] D. Moises, DefiniciónPlataforma Software, Feb. 2011,[Online], Available: http://www.moisesdaniel.com/bloc /archives /2007/12/entry_17.html
[19] C. Otto and M. Cazorla. Introducción a Player/ Stage, 2007.
[20] SRI AI Center, Player/Stage/Gazebo, March 2011. [Online], Available: http://playerstage.sourceforge.net/index.php?src=player
[21] User Manual Safe Zone Multizone Safety Laser Scanner, USA: Rockwell Automation, Allen Bradley, 2005.
[22] Rockwell Automation, Inc., Safe Zone Scanner Laser Multizone de Allen Bradley, March 2011. [Online], Available: http://www.rockwellautomation.es/applications/gs/emea/gses.nsf/pages/update_2009-14_12
[23] HHD Software Ltda., SoftwareHHD, March 2011. [Online], Available: http:// www.hhdsoftware.com/Downloads/serial-port-monitoring-control
[24] HW server s.r.o., Software Terminal, March 2011. [Online], Available: http://hw-server.com/software/termv19b.html
[25] HW server s.r.o., Software Hercules, March 2011. [Online], Available: http:// www.hw-group.com/products/Hercules/index_en.html
[26] TopSoft, Inc., Software Topocr, March 2011. [Online], Available: http://www.topocr.com/
Ingeniería y Desarrollo |