MANTENIMIENTO Y REPARACIÓN DE VÍAS USANDO UN SISTEMA ROBÓTICO EN LA NUBE
1Ingeniero de Sistemas, Escuela de Ingeniería de Antioquia, Calle 59A N63 -20, Medellín, Colombia, afmadrigalm@unal.edu.co
2Ingeniero de Sistemas, Universidad Nacional de Colombia, Calle 59A N63 -20, Grupo de Investigación SINTELWEB, Medellín, Colombia, storresy@unal.edu.co
3Doctor en Ingeniería de Sistemas, Magister en Sistemas e Ingeniero Civil, director del Departamento de Ciencias de la Computación y la Decisión, Docente Investigador, Líder grupo de investigación SINTELWEB, Medellín, Colombia, jaguzman@unal.edu.co, https://orcid.org/0000-0003-4737-1119
4Doctora en Ingeniería de Sistemas, Magíster en Sistemas e Ingeniera de Sistemas. Editora de la Revista Lámpsakos. Docente Investigadora, Universidad Católica Luis Amigó, Medellín, Colombia. Ingrid.torrespa@amigo.edu.co https://orcid.org/0000-0003-4503-7512
La revolución del internet de las cosas - IoT, genera nuevos retos para el campo de la robótica; Para la construcción de las aplicaciones y comunicación de los sistemas robóticos, con la nube, fueron creados protocolos y conceptos, que facilitan y estandarizan la interconexión, algunos de estos conceptos son: servicios web, programación XML, sistema WS-BPEL, Arquitectura Orientada Servicio, Big data y computación en la nube. Este artículo, muestra una aplicación específica de la integración del concepto de IoT con la robótica, representado por un sistema de reparación y mantenimiento de vías autónomo, con un sistema robótico en la nube, el cual utiliza servicios web y protocolos de comunicación como XML y BPEL para la interconexión entre la información necesaria para la reparación y mantenimiento de las vías, usados en la toma de decisiones y tareas asignadas entre los robots. De esta manera, se demuestra, cómo es posible articular todos los conceptos, para lograr soluciones en un escenario real de reparación de vías.
Palabras clave: Arquitectura Orientada al Servicio (SOA), WS-BPEL, XML, Composición de Servicios Web, Servicios Web, Computación en la Nube.
Recibido: 3 de Agosto de 2020. Aceptado: 7 de Diciembre de 2020
Received: August 3, 2020. Accepted: December 7, 2020
ROAD MAINTENANCE AND REPAIR USING ROBOTIC CLOUD SYSTEM
Abstract, the revolution in the Internet of Things (IoT), creates new challenges for the field of robotics. For the construction of applications and communication of robotic systems with the cloud, certain protocols and concepts were created which facilitate and standardize this interconnection process. This article shows a specific application of the integration of the IoT concept with robotics, represented as an autonomous path repair and maintenance system with a robotic system in the cloud, which uses web services and communication protocols such as XML and BPEL to The interconnection between the information necessary for the repair and maintenance of the roads, decision making and tasks assigned between robots. In this way, it is demonstrated how it is possible to articulate all the concepts to achieve solutions in a real road repair scenario.
Keywords: Service Oriented Architecture (SOA), WS-BPEL, XML, Web Services Composition, Web Services, Cloud Computing.
Cómo citar este artículo: A. Madrigal, S. Torres, J. Guzmán, I. Torres. “Mantenimiento y reparación de vías usando un sistema robótico en la nube”, Revista Politécnica, vol.16, no.32 pp.87-95, 2020. DOI:10.33571/rpolitec.v16n32a8
1. INTRODUCCIÓN
La integración he interconexión entre dispositivos, es un reto que se tiene entre los diferentes avances tecnológicos, la comunicación y el entendimiento entre lenguajes, esto constituye un problema a superar [15]. Para darle solución a este reto, diferentes áreas del conocimiento investigan en la estandarización de protocolos de comunicación, que faciliten la interconexión entre máquinas.
Dependiendo de las necesidades y el tipo mecanismo o vía de interconexión, se crearon durante la historia arquitecturas de comunicación que facilitaban la realización de actividades o tareas básicas entre dispositivos [1].
Con la revolución de los dispositivos móviles y el creciente desarrollo de las telecomunicaciones, se instalaron ciertas tendencias las cuales están revolucionando el modo de ver el mundo y como es de esperarse el internet es una de ellas; el internet de las cosas (IoT) [7], representa una de las tendencias más importantes de nuestro tiempo impulsa el desarrollo y abre nuevas puertas a la investigación en áreas del conocimiento como la estadística, electrónica, control, sistemas, programación y robótica [4].
Los sistemas robóticos no han quedado exentos a dichas tendencias y alrededor de estos temas se genera un nuevo campo de investigación, llamado, robótica en la nube [5], el cual se basa en crear la interconexión entre sistemas robóticos por medio de servicios web [12], para facilitar las tareas y trabajos entre los mismos; haciendo uso de la computación en la nube, Big data, tecnologías XML [16], aprendizaje colaborativo y conocimiento experto [9].
Para este artículo se implementó un sistema de mantenimiento y reparación de vías por medio de un sistema robótico en la nube el cual, hace uso de servicios web como, optimización de rutas, consulta del clima, comunicación entre robots, vías por reparar, tareas específicas de pavimentación y movimientos de los robots.
El Artículo se encuentra distribuido de la siguiente manera: La sección 2, describe detalladamente el problema. La sección 3 explica, las características generales del sistema propuesto. La sección 4, detalla cada una de las tecnologías utilizadas y explica en detalle el diseño del sistema. La sección 5, muestra el sistema físico elaborado, y finalmente la sección ,6 presenta las conclusiones y trabajo futuro.
2. DEFINICIÓN DEL PROBLEMA
El problema en estudio consiste en el mantenimiento y reparación de huecos de vías principales y secundarias de una cuidad [14]; por simplicidad para la simulación del problema se caracterizan los huecos, tipo de vía, horario de reparación de los daños, pronóstico del clima y recolección de la información, tal como se explica a continuación:
2.1 Tipos de daños
Dentro del problema se manejan tres tipos de daños los cuales están caracterizados por colores, dónde el amarillo, representa un hueco superficial; el azul, representa un hueco mediano y el rojo, representa un hueco profundo. Para cada uno de estos daños, el procedimiento a seguir para su reparación difiere, como se muestra a continuación:
2.1.1. Amarillo (Daño superficial)
Este es el daño más sencillo y rápido de reparar, debido a que el robot encargado de realizar el mantenimiento y reparación de los daños solo debe aplicar asfalto al hueco para su reparación.
2.1.2. Azul (Daño Mediano):
Este tipo de daño es un poco más complejo y toma más tiempo para la reparación ya que el robot debe aplicar dos tipos de materiales para reparar el hueco, primero se aplica una capa de gravilla y segundo se debe aplicar una capa de asfalto para la completa reparación del hueco.
2.1.3. Rojo (Daño Profundo):
Este es el daño más complejo y el que toma más tiempo en reparar, el procedimiento que el robot debe de seguir para la reparación de este daño toma tres pasos, el primero es la aplicación de tierra para la nivelación del hueco con la vía, el segundo en la aplicación de gravilla y el tercero es la aplicación de asfalto para terminar con la reparación del daño.
Para toda reparación de daños en las vías (Amarillo, Azul y Rojo) el robot debe armar un perímetro seguro, con señalizaciones de alerta, para indicar a los vehículos que se está realizando un trabajo en la vía y que deben tener precaución.
2.2. Tipo de Vía
Para la priorización de la reparación de los daños en las vías, el problema maneja dos tipos calles: principales, como autopistas y calles secundarias. Debido a que un hueco en una autopista es más peligroso dado las velocidades que se manejan en dicha vía, el robot debe priorizar por la reparación de estos daños, dejar en espera los daños de vías secundarias.
2.3. Pronóstico del clima
Esta variable es importante a consultar ya que dependiendo del estado del clima que se tenga es posible o no la reparación de los daños en las vías, o el tiempo de reparación puede ser mayor por un clima no apto para el trabajo.
2.4. Recolección de la información
El sistema identifica los daños por reparar por medio de un robot que realiza recorridos por las vías y analiza el estado de estas, reportando dichos estados a un servicio web donde se almacena la información recolectada. El estado inicial del problema se muestra en la Figura. 1. Hay dos robots en el punto S0, donde el robot R1 es el encargado de realizar los recorridos por las vías, el análisis las mismas y determinar el tipo de hueco y el robot R2 es el encargado de la priorización de la reparación de los daños en las vías según la información recolectada por el robot R1 o de la información en la nube y todas las variables mencionadas con antelación y de realizar la reparación de los huecos. (Ver Figura. 1 y Figura. 2).
Figura. 1: Mapa de vías
Fuente: Elaboración propia
3. PROPUESTA DE DISEÑO
El objetivo del problema consiste en la reparación de daños en las vías principales y secundarias de una ciudad, para la realización de dicha labor se tienen en cuenta las siguientes consideraciones:
· Dentro del estado inicial del problema se tiene definido la zona de suministros necesarios para la reparación de las vías y el punto inicial de los robots R1 y R2, Esta zona se puede visualizar en la Figura. 2 y su numeración es S0.
· Para la reparación de las vías se tiene una priorización de los tipos de daños como se explica en la definición del problema en tipos de huecos.
· Cuando se realiza la planificación de la reparación de un hueco, el robot debe tener en cuenta el pronóstico del clima, para poder determinar la forma más adecuada de la reparación del daño. La consulta de esta información será un servicio web.
· La caracterización de las vías y la identificación de los daños, será suministrado por uno de los robot el cual está encargado de recorrer las vías e identificar donde se encuentran los huecos y alimentar un base de datos en la nube para la consulta del otro robot.
Se debe tener presente que el proceso debe generar un plan óptima tnto para la reparación de los huecos como para la ruta del robot, este proceso se debe realizar como un servicio web, debido al consumo computacional que requiere el cálculo de este proceso.
Figura. 2. Estado inicial y numeración de vías
Fuente: Elaboración propia
4. DISEÑO DETALLADO
Las técnicas implementadas en este trabajo para los protocolos de comunicación vía Ethernet, se enfocan en metodologías de servicios web y en arquitecturas orientadas a servicios, como XML(eXtensible Markup Language) [16], SOA (Service Oriented Architectures) [4], BPEL (OASIS, 2018) y adicionalmente para la priorización de las rutas y el trabajo del robot se utiliza el planificador JSHOP [17], estos elementos se explican a continuación:
4.1. Tecnología XML
XML es un lenguaje definido por marcas, que permite desarrollar estándares para el intercambio de información estructurada entre diferentes plataformas.
Los datos que generan e intercambian los diferentes servicios web tienen una estructura definida por un lenguaje XML
4.2. Tecnología SOA
Describe un paradigma de arquitectura que permite desarrollar sistemas software distribuido. Este tipo de arquitecturas se basan en el concepto de servicio, definido en el libro Service-Oriented Architecture. Concepts, Technology and Design, escrito por Thomas Erls [6].
4.3. Tecnología BPEL
Es un lenguaje de orquestación estandarizado por OASIS (Organization for the Advancement of Structured Information Standards) para el desarrollo de servicios web. El BPEL consiste en un lenguaje diseñado para controlar de forma centralizada el llamado de los diferentes servicios web, con lógica de negocios, lo cual permite la programación a gran escala (Programming in the Large) [11].
4.4. Planificador JSHOP2
JSHOP2 es un sistema de planificación independiente del dominio basado en la descomposición de tareas ordenadas, una versión modificada de la planificación HTN que implica planificar tareas en el mismo orden en que se ejecutarán en el futuro. JSHOP2 tiene las siguientes características:
· Conoce el estado actual del mundo en cada paso de la planificación proceso.
· Incorpora muchas características de PDDL [8].
· Permite la combinación de tareas parcialmente ordenadas mediante el uso de la palabra clave.
El desarrollo de los servicios web implementados en la práctica se divide entre el robot de caracterización de los huecos y el robot encargado de reparar las vías [2], estos se explican a continuación:
4.5. Robot caracterización de huecos R1
Para el funcionamiento de este robot se tiene un archivo BPEL que coordina el servicio web que realiza el movimiento del robot y el servicio web en el que se almacena el estado de las vías.
4.6. Robot encargado de reparar huecos R2
Este robot utiliza todos los servicios disponibles para realizar la tarea de pavimentación de los huecos, el primer servicio que utiliza es el planificar de tareas JSHOP para determinar las labores del robot, luego, el BPEL toma los resultados entregados por el planificador y se encarga de ejecutar dichas tareas, por último, el BPEL se encarga de consultar los servicios web para realizar todas las tareas para la reparación de los huecos.
4.7. Descripción de los servicios implementados para la reparación de vías
Para la reparación de las vías se tiene dos robots, el primero se encarga de las caracterizaciones los huecos como se explica en el aparte 4.1 y el segundo es el encargado de la reparación de los huecos, como se explica en el aparte 4.2, el proceso inicia con el robot R1 realizando un recorrido de vías predeterminado para determinar los segmentos que tiene daños en el asfalto, para el censado, el movimiento y todas las acciones que debe realizar el robot se utiliza un servicio web, adicionalmente, para el reporte de los huecos se utiliza otro servicio web. Luego del reporte de los huecos por el robot R1, el robot R2 utilizando el BPEL para consultar los reportes del clima en cada segmento (S1, S2, S3, etc.) del mapa y el reporte de los huecos, con dicha información el planificador JSHOP monta la ruta que debe realizar el robot R2, y el BPEL con la información del JSHOP determina las acciones que debe realizar el robot por servicios web (Compactar, aplicación de tierra, aplicación de gravilla, aplicación de asfalto, etc.).
Para el proceso de la creación de la ruta se llama un servicio web el cual se encarga de buscar la ruta óptima. En esta implementación se deben tener presente ciertas consideraciones:
· El servicio web de optimización de las rutas, guarda las trayectorias calculadas, para no tener que calcular de nuevo la ruta, en caso de que el algún robot tenga que realizar dicho recorrido de nuevo, de esta forma se establece un aprendizaje colectivo entre los robots.
· Esta aplicación está desarrollada, para que los huecos sean dinámicos, es decir, dependiendo de cómo cambie el mundo con respecto a los daños de las vías y al clima de los sectores los planes generados y las acciones ejecutadas por los robots cambian.
En el siguiente diagrama se bosqueja la integración de los diferentes sistemas en la implementación del Sistema Robótico en la Nube para Mantenimiento y Reparación de vías. (Figura. 3).
Figura. 3. Funcionamiento del sistema Robótico en la nube
Fuente: Elaboración propia
4.8. Arquitectura del sistema
La arquitectura del sistema se basa en tres puntos esenciales uno es la computación en la nube, permitiendo la realización de tareas complejas con
sistemas tanto en hardware como en software livianos, planificación jerárquica de tareas, la cual permite la planificación de la reparación y mantenimiento de las vías de forma autónoma y por último la orquestación de servicios web por medio del BPEL, donde trabaja como procesador central coordinando todas las tareas del sistema. Este esquema se puede visualizar en la siguiente Figuraura (ver Figura. 4).
Figura. 4. Esquema de Arquitectura del Sistema
Fuente: Elaboración propia
4.9. Servicios Web
Los servicios web implementados para la solución de este problema se pueden ver en la Figura. 4, estos servicios han sido descritos previamente en la sección 4.7, a continuación se listan los servicios web utilizados:
· Vías Por Reparar
· Pronostico del Clima
· Ruta Optima
· Controladores del Robot:
o Moverse a un Lugar Contiguo
o Manejo de los sensores
o Tomar material de Pavimentación
o Compactar.
4.9. Orquesatación de servicios Web con BPEL
La orquestación de todo el sistema (Gerasimov, 2019), para los diferentes servicio web esta construido en un modelo de administración llamado BPEL. La lógica implementada para la creación del algoritmo de BPEL el cual se encarga de manejar y controlar todos los comandos del sistema y las tareas a realizar, se muestra en la Figura. 5, donde se analiza las acciones de ejecución para la pavimentación y con respecto a dichas acciones se determina la siguiente tarea a realizar.
Figura. 5. Algoritmo para el Sistema BPEL
Fuente: Elaboración propia
5. SISTEMA FÍSICO
Para la aplicación práctica se imprimió el esquema de vías señalado previamente en Figura. 2, en un tamaño de 1450x2500 mm, con un ancho de vías de 250 mm, para facilitar el movimiento de los robots utilizados ver Figura. 6. Para la caracterizacion y mantenimiento de las vias se construyeron dos robots marca Lego [10], los cuales fueron ensamblados a la necesidad especifica que se tenia, tanto en accesorios fisicos como en sensórica y unas pinzas. Para darle solucion al problema, los robots manejan sensores de color para identificar la severidad de los daños en las vias como se explicó en la sección 2.1.
Figura. 6. Implementación del Esquema de Vías Físico
Fuente: Elaboración propia
6. CONCLUSIONES
El sistema desarrollado IoT, implementado bajo una arquitectura de computo en la nube, permite demostrar la viabilidad funcional de la propuesta. Aunque, constituye solo un prototipo, la descripción de la articulación de cada módulo expuesto en la fase de diseño de la propuesta, permite trasladar todos sus elementos, al mundo real, tal como han sido definidos. Considerando sí, el cambio de los robots a unos equipos de hardaware, que se ajusten al escenario de las vias. Los servicios web actúan en función de operaciones petición y respuesta, permitiendo, la recolección de información (no solo de la via, sino del pronóstico del clima) y otorgar la respuesta de actuación del robot en el medio real; la planificación constuye el plan para cada reparación de la via y las tecnologías implementadas constiuyen el medio de comunicación y consecución de cada objetivo. El articulo demuestra además como implmentar técnicas de inteligencia artificial y tecnologias web, para implmentar sistemas IoT.
7. REFERENCIAS
[1] Armagno, G., Benavides, F., & Rostagnol, C. (2007). Descripción de la arquitectura del sistema. Instituto de la Computación, Facultad de Ingeniería Universidad de la República. Montevideo, Uruguay.
[2] Bonnin-Pascual F., Ortiz A. (2019). On the use of robots and vision technologies for the inspection of vessels: A survey on recent advances. Ocean Engineering, Volume 190, 15 October 2019, 106420. Doi: 10.1016/j.oceaneng.2019.106420
[3] Dey N., Hassanien A., Bhatt C., Ashour A., Chandra S. (2018). Internet of Things and Big Data Analytics Toward Next-Generation Intelligence. Springer, 2018. https://doi.org/10.1007/978-3-319-60435-0
[4] Fakhar S., Khaim R., Humayun M., Jhanjhi N.K., Alamri† M. (2019). SOA Issues and their Solutions through Knowledge Based Techniques – A Review. IJCSNS International Journal of Computer Science and Network Security, VOL.19 No.1, January 2019
[5] Firouzi F., Farahani B. (2020) Architecting IoT Cloud. In: Firouzi F., Chakrabarty K., Nassif S. (eds) Intelligent Internet of Things. Springer, Cham. 22 January 2020. Doi: 10.1007/978-3-030-30367-9_4
[6] Gerasimov N. (2019). New approach to typified microservice composition and discovery. Journal of Automation Mobile Robotics and Intelligent Systems 2019 | Vol. 13, No. 1 | 79—83. Doi: 10.14313/JAMRIS_1-2019/10
[7] Gubbia J., Buyyab R., Marusica S., Palaniswamia M. (2012). Internet of Things (IoT): A vision, architectural elements, and future directions. Future Generation Computer Systems. Volume 29, Issue 7, September 2013, Elsevier. Pages 1645-1660. Doi: 10.1016/j.future.2013.01.010
[8] Helmert M. (2008). Concise finite-domain representations for PDDL planning tasks. Artificial Intelligence 173 (2008) 503–535. Elsevier. doi:10.1016/j.artint.2008.10.013
[9] Jiménez, S., Fernández, F. & Borrajo, D. (2012). Integrating Planning, Execution, and Learning to Improve Plan Execution. Computational Intelligence, 29(1), 1-36. Doi: 10.1111/j.1467-8640.2012.00447.x
[10] LEGO, Group (2015). 31313 MINDSTORMS EV3 - Products - Mindstorms LEGO.com. Lego.com. Recuperado de: https://www.lego.com/es-ar/themes/mindstorms
[11] Muller H., Klashinsky K. (1998). Rigi-A system for programming-in-the-large. ICSE '88: Proceedings of the 10th international conference on Software engineering. April 1988. Doi: 10.5555/55823.55832
[12] Niknejad N., Hussin A.R.C., Amiri I.S. (2019) Literature Review of Service-Oriented Architecture (SOA) Adoption Researches and the Related Significant Factors. In: The Impact of Service Oriented Architecture Adoption on Organizations. SpringerBriefs in Electrical and Computer Engineering. Springer, Cham
[13] OASIS.(2018). IBM (2018). Web Services Business Process Execution Language (WSBPEL) TC. Extraído de https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel. consulta: 10/04/20.
[14] Quinn, B E. (1983). Problems encountered in using vehicle ride as a criterion of pavement roughness. Transportation Research Record, Issue Number: 946. Publisher: Transportation Research Board. URL: http://onlinepubs.trb.org/Onlinepubs/trr/1983/946/946-001.pdf
[15] Sarkar M., Pradhan P. & Ghose D. (2019). Planning Robot Motion using Deep Visual Prediction. 7th ICAPS Workshop on Planning and Robotics (PlanRob), 2019. 24 de june of 2019. Recuperado de: https://arxiv.org/abs/1906.10182
[16] Vega Romero, J. (2006). Definición de estrategias de robots jugadores de fútbol a través de XML. (Tesis de maestría). Instituto tecnológico y de estudios superiores de Monterrey, Monterrey. México.
Yang L., Fei J. L., Hackney P., Flanagan M., (2008). Job shop planning and scheduling for manufacturers with manual operations. Expert System. 30 de august, 2018. Doi: 10.1111/exsy.123