East Mining Company

Ayudando a una empresa minera a optimizar su logística

East Mining Company extrae carbón a cielo abierto. Es un proceso complejo que no solo implica la extracción, sino también su procesamiento, almacenamiento y entrega por mar o tierra. Y estamos hablando de millones de toneladas de carbón al año.

Obviamente, una empresa tan grande tiene su propio departamento de TI. East Mining cuenta con un equipo de expertos que se encarga de tareas internas como la configuración de redes y equipos técnicos, ayuda a las líneas de negocio con procesos de automatización y busca a contratistas que tengan la pila tecnológica adecuada para tareas individuales.

Así que, cuando necesitaron un nuevo servicio de gestión de vías, se pusieron en contacto con Evrone.

Problema: la antigua solución funcionaba, pero carecía de las funciones necesarias

East Mining extrae carbón a cielo abierto. Esto quiere decir que, en lugar de trabajar bajo tierra, excavan directamente en la superficie para desenterrar y extraer capas de carbón. Como resultado, sus explotaciones mineras consisten en enormes canteras a cielo abierto con forma de embudo que están conectadas por una serie de vías que cambian cada poco tiempo.

El trabajo se lleva a cabo de forma continua en distintas áreas, lo que quiere decir que las rutas de cada sección cambian todos los días. Las vías las usan camiones volquete especiales (como los BelAZ), que son más grandes que los camiones volquete convencionales y pueden transportar una carga entre tres y diez veces superior. Sin embargo, esto también quiere decir que consumen mucho más combustible, por lo que las rutas deben ser lo más eficientes posible, sin paradas ni atascos.

Los datos de movimiento de vehículos se recopilan en incrementos de un segundo para su análisis. Los controladores usan estos datos para visualizar el movimiento de todos los camiones e identificar posibles atascos. En ese caso, pueden redirigir un camión a otra ruta o diseñar una nueva vía para descongestionar una ruta popular. Esto ayuda a la empresa a ahorrar combustible y mano de obra, además de incrementar significativamente el rendimiento del volumen total de producto transportado por unidad de tiempo.

East Mining ya contaba con un programa especial para gestionar sus rutas, pero no tenían todas las funciones que necesitaban. Por ejemplo, evaluaba las vías como objetos únicos, pero necesitaban dividirlas en segmentos pequeños. Así que contrataron al equipo de Evrone para desarrollar un nuevo servicio fácil de usar que maximizara la eficiencia y valor empresariales.

Solución: un nuevo servicio basado en bibliotecas de código abierto

En el transcurso de tres meses, desarrollamos un nuevo servicio para representar vías de minas de carbón para East Mining Company. Para empezar, hablamos con el equipo técnico del cliente y recopilamos información sobre los requisitos. Necesitaban mantener la capacidad de visualizar los datos, a la vez que se añadían nuevas funciones como las siguientes:

  • edición de mapas (representar nuevas vías y sitios)
  • gestión de la lista de vías y polígonos
  • control de versiones
  • control de acceso

Front-end

Para la solución de mapas, encontramos una biblioteca gratuita similar a la que solían usar los operadores. A continuación, añadimos una biblioteca de JS para editar elementos. Ahora la interfaz se parece a un editor gráfico: capas separadas para distintos tipos de entidades y diferentes modos para editar vías y sitios. Los datos de las máquinas se reciben como series de puntos que forman la ruta de una máquina específica. Puede haber 10 000 o más puntos en el mapa.

Back-end

Para representar en la interfaz las vías que recorren los vehículos, el back-end recibe datos, procesa las coordenadas y el tiempo, y los transfiere en el formato adecuado al front-end.

Uno de los mayores retos era el procesamiento de datos. El servidor no solo debe recibir telemetría y enviarla al front-end, sino que también debe validar los cambios recibidos del front-end. Por ejemplo, cuando un operador traza una nueva vía, el back-end debe guardarla como una nueva versión del mapa. 

Para ello, creamos una API que define la lista de cambios sobre el mapa de vías y polígonos, y ejecuta las acciones necesarias (actualizar, crear o eliminar). Para comprobar los cambios, se añadió un sistema de reglas para la interacción de entidades. La API de REST se crea con django-rest, que agiliza el desarrollo y simplifica el mantenimiento en gran medida, ya que esta herramienta es muy versátil sin configuración previa.

Usamos Swagger para documentar la API. Era una gran opción, ya que automatiza parcialmente el proceso. Cuando aparece un punto de conexión en el back-end, la información sobre este se muestra de inmediato en Swagger. Esto es útil para comunicarse con el front-end y depurar, ya que se puede ver toda la información del back-end en un mismo lugar. 

DevOps

Al principio, el sistema usaba Kubernetes y una canalización CI/CD completa. Por eso, en la fase de creación del producto mínimo viable, preparamos un conjunto estándar centrado en una implementación rápida, lo que nos permitió escribir canalizaciones separadas para nuevas necesidades.

Decidimos limitarnos a una implementación sencilla en una máquina virtual para que, cuando se añadieran nuevas partes al servicio, todo funcionara rápidamente: pruebas, linters, implementación de contenedores, implementación directa, etc.

Todo el código se almacenaba en un repositorio único. Y, para agilizar el tiempo de compilación, nuestros ingenieros de DevOps configuraron las canalizaciones para que el back-end y el front-end se crearan por separado.

Resultado y planes

Entonces, East Mining tenía un servicio que les permitía mantener el estado actual de las descargas y vías a diario.

La aplicación carga datos desde el back-end y, a continuación, muestra un mapa con vías y sitios. Los usuarios pueden evaluar la situación actual y usar el editor para hacer cambios cuando sea necesario (por ejemplo, añadir una nueva vía o corregir una antigua).

Para que los datos se almacenen de forma segura, el servicio comprueba si hay objetos nuevos o cambiados según reglas internas, y muestra un error si algo sale mal.

Los usuarios pueden deshacer o rehacer los cambios recientes, guardar una nueva versión del mapa y ver las versiones anteriores. Si hay algún problema con el nuevo mapa, pueden revertir a cualquier versión anterior.

Desde un punto de vista administrativo, hemos dividido el acceso a distintas funciones de la aplicación en roles de editor y usuario de «solo lectura». Junto con las versiones de mapas, es una gran garantía contra cambios y errores no deseados.

Las vías resultantes se dividen en segmentos pequeños, que East Mining Company usa para recopilar análisis detallados. El servicio ayuda a la empresa a responder rápidamente ante los cambios en los datos y les ahorra tiempo y dinero.

En el futuro, existe la posibilidad de añadir funciones de automatización a la aplicación (por ejemplo, para trazar automáticamente las vías según los datos recibidos). Es posible que una IA pueda gestionar esta tarea. Pero primero será necesario recopilar un gran número de ejemplos correctos realizados por operadores humanos.

Después de entregar el proyecto, East Mining ha trabajado por su cuenta para ampliar las funciones. Transfirieron el servicio a su propia plataforma de IoT de OES, donde usan los datos del servicio para supervisar el estado de las vías, establecer avisos de velocidad para los conductores de camiones volquete, optimizar el equilibrio de los camiones volquete y otras tareas empresariales.

El equipo de Evrone y yo hemos trabajado en esprints claros, lo que era muy cómodo. Teníamos un ciclo cerrado, donde cada dos semanas veíamos el resultado y podíamos evaluarlo. Como tenemos culturas de trabajo similares, el trabajo fue eficiente, logramos rápidamente el resultado deseado, y se ahorraron muchas horas de trabajo. Nos entregaron el producto en un formato abierto, así que ahora lo estamos desarrollando con nuestro equipo interno
Karimov Ruslan
Director de producto de East Mining
Contacto
¿Tiene algún proyecto en mente?
Vamos a hacerlo realidad
Adjuntar archivo
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: jpg jpeg png txt rtf pdf doc docx ppt pptx.
Este sitio está protegido por reCAPTCHA y se aplican las Condiciones del servicio y la Política de privacidad de Google.