Mantenimiento predictivo con IoT Edge inteligente

Blob Storage
Cosmos DB
IoT
IoT Hub
Pipelines

Internet de las cosas (IoT) Edge acerca el procesamiento y el almacenamiento de datos al origen de datos, lo que permite respuestas rápidas y coherentes con una dependencia reducida de la conectividad y los recursos de la nube. Los procesos perimetrales pueden incorporar modelos de inteligencia artificial (IA) y aprendizaje automático (ML) para crear dispositivos y redes de inteligencia perimetral, que se puedan integrar en la nube para aumentar el procesamiento y seguridad.

En este artículo se describe una colaboración entre el equipo de ingeniería de software comercial (CSE) de Microsoft y una importante empresa ferroviaria para crear una solución de mantenimiento y seguridad para trenes con inteligencia perimetral y nube inteligente. La compañía ferroviaria quiere mejorar la seguridad y la eficacia del ferrocarril mediante la identificación proactiva de componentes defectuosos, la programación predictiva del mantenimiento y las reparaciones, y la mejora continua de sus descubrimientos y predicciones. El proyecto piloto de la solución ML en Edge es un sistema de análisis del estado de las ruedas de los trenes.

Más de 4000 detectores junto a las vías supervisan y transmiten datos continuamente de las ruedas de todos los trenes de la compañía. Los detectores miden el calor y la fuerza del equipamiento en las vías, escuchan defectos invisibles de los cojinetes de las ruedas o grietas en las ruedas, e identifican si faltan piezas o están mal colocadas. El sistema ML en Edge procesa y actúa sobre estos datos del detector de streaming continuo casi en tiempo real para identificar equipos en riesgo, determinar la urgencia de una reparación, generar alertas y enviar datos a la nube de Azure para su almacenamiento. Los módulos de IoT Edge se ejecutan en el hardware de servidor en casetas junto a las vías, lo que permite una futura implementación paralela de otras cargas de trabajo.

La aproximación de ML y la lógica de negocios a los orígenes de datos permite a los dispositivos reaccionar más rápido a cambios locales y eventos críticos. Los dispositivos pueden funcionar sin conexión de forma confiable o cuando la conectividad es limitada. La red perimetral puede determinar qué datos se van a enviar a la nube o priorizar los datos urgentes e importantes en primer lugar.

El sistema de análisis de estado de las ruedas proporciona una identificación temprana de posibles errores del equipo, lo que ayuda a evitar errores catastróficos que podrían provocar un descarrilamiento. La empresa puede usar los datos almacenados para detectar tendencias e informar de las programaciones de mantenimiento y revisión normativas.

Casos de uso

Las implementaciones de IoT Edge son más pertinentes cuando grandes cantidades de datos capturados en tiempo real necesitan acciones o decisiones con latencia escasa o nula. El sistema de ejemplo tenía que mantener un tiempo de actividad del 99,999 %, procesar datos de hasta 24 trenes y 35 millones de lecturas al día, y garantizar una entrega de alertas y notificaciones en una hora.

Architecture

Diagrama de la arquitectura de la solución que muestra los módulos de IoT Edge en las casetas junto a las vías. Los módulos perimetrales usan el aprendizaje automático para identificar riesgos de errores. El módulo controlador de alertas carga datos de imagen en Azure Blob Storage. Azure Edge Hub carga los metadatos y los mensajes asociados a través de Azure IoT Hub en el almacenamiento de Azure Cosmos DB.

  1. Un servidor de archivos de imagen (NAS) en una caseta sirve imágenes de las ruedas de los trenes procesadas y categorizadas. Tres imágenes de cada rueda crean una imagen unida.
  2. El módulo de sondeo alerta al dispositivo perimetral de la existencia de imágenes nuevas disponibles para su procesamiento.
  3. Un modelo de ML de terceros procesa las imágenes e identifica las áreas de las ruedas que necesitan más inspección.
  4. El controlador de alertas carga todas las imágenes en Azure Blob Storage, empezando por las imágenes que presentan posibles defectos y devuelve los URI de los blobs de imagen.
  5. El centro de IoT Edge asocia los URI de imagen con los metadatos de imagen, y carga los metadatos y las alertas en Azure IoT Hub.
  6. IoT Hub envía los metadatos a través del centro de eventos y Azure Functions a una base de datos de Azure Cosmos DB.
  7. La base de datos Cosmos DB contiene los metadatos de las imágenes y apunta a la ubicación de las imágenes en Azure Blob Storage.

Componentes

La solución implementada requiere una suscripción de Azure con permiso para agregar entidades de servicio y la capacidad de crear recursos de Azure. Para obtener más información, vea Registros de contenedor y entidades de servicio.

  • Azure IoT Edge está formado por tres componentes:
    • Módulos de IoT Edge, son contenedores que pueden ejecutar componentes de Azure, de terceros o personalizados. En el ejemplo actual se implementan los módulos de IoT Edge en las casetas junto a las vías mediante hardware de servidor con tarjetas de automatización industrial personalizadas y unidades de procesamiento de gráficos (GPU) para optimizar el rendimiento.
    • El tiempo de ejecución de IoT Edge, que consta del agente de IoT y el centro de IoT Edge, se ejecuta en los dispositivos de IoT Edge para administrar y coordinar los módulos implementados.
    • La interfaz de Azure IoT Hub permite la comunicación, administración y supervisión bidireccionales y seguras en la nube de los módulos de IoT Edge.
  • Los módulos de ML de IoT Edge admiten Azure Machine Learning, modelos de ML de terceros o código personalizado. La solución actual usa un modelo de ML de código abierto de terceros denominado Cogniac para puntuar los datos de las ruedas de los trenes y reconocer posibles defectos. El software de ML usa muestras históricas de imágenes de errores de alta y baja confianza para volver a entrenar su modelo de ML.
  • Azure Blob Storage es la solución de almacenamiento de objetos de Microsoft para la nube. Blob Storage está optimizado para el almacenamiento de cantidades masivas de datos no estructurados, como los datos de imagen de este ejemplo.
  • Azure Cosmos DB es un servicio de base de datos NoSQL totalmente administrado con tiempos de respuesta bajos, y alta disponibilidad y escalabilidad.
  • Un flujo de trabajo de Azure Pipelines compila, prueba, implementa y archiva la solución de IoT Edge a través de tareas de Azure IoT Edge integradas.

Consideraciones

El equipo identificó varias consideraciones de diseño:

  • El sistema requiere un tiempo de actividad del 99 % y la entrega de mensajes local en 24 horas. El valor de Calidad de servicio (QoS) de la última milla de conectividad entre la caseta y Azure determina el valor de QoS de los datos del perímetro. Los proveedores de servicios de Internet (ISP) locales rigen la última milla de conectividad y es posible que no admitan el valor de QoS necesario para las notificaciones o la carga masiva de datos.
  • Este sistema no interactúa con las cámaras de las ruedas y los almacenes de datos de respaldo, por lo que no tiene ningún control ni capacidad para generar alertas de errores en el sistema de cámaras o el servidor de imágenes.
  • La compañía ferroviaria solo posee el sistema de inferencia y se basa en un proveedor de terceros para la generación de modelos de ML. La naturaleza de la caja negra del módulo de ML plantea algún riesgo de dependencia. El mantenimiento de la solución a largo plazo requiere comprender cómo el tercero rige y comparte los recursos. Es posible que el sistema pueda usar los módulos de ML de marcador de posición para futuras involucraciones cuando los recursos de ML no estén disponibles.
  • La seguridad y la supervisión son consideraciones para los sistemas de IoT Edge. Para esta involucración, la solución empresarial de terceros existente de la compañía cubría la supervisión del sistema. La seguridad física de las casetas junto a las vías y la seguridad de la red ya estaban implementadas, y las conexiones de IoT Edge a la nube están protegidas de forma predeterminada.
  • Esta solución no reemplaza los requisitos de inspección manual existentes determinados por las autoridades normativas federales y la compañía.
  • La arquitectura perimetral está dividida actualmente en varios módulos, pero se puede condensar en un solo módulo, en función de los requisitos de rendimiento de la solución o la estructura del equipo de desarrollo.
  • Esta solución se basa en las siguientes involucraciones de clientes CSE anteriores en los sectores de fabricación, petróleo y gas, y administración de recursos naturales:

Implementación

La compañía ferroviaria hospeda el sistema de integración continua e implementación continua (CI/CD) localmente. El siguiente diagrama muestra la arquitectura de DevOps de la implementación:

Diagrama de la arquitectura de DevOps.

  1. En la primera canalización de CI, una inserción de código en el repositorio de Git desencadena la compilación del módulo de IoT Edge y registra la imagen del módulo en Azure Container Registry.
  2. Cuando la canalización de CI se completa, desencadena la canalización de CD, que genera el manifiesto de implementación e implementa el módulo en los dispositivos de IoT Edge.

La implementación presenta tres entornos: Desarrollo, control de calidad y producción. La promoción de módulos de desarrollo a control de calidad y de control de calidad a producción es compatible con las comprobaciones controladas automáticas y manuales.

La generación e implementación de la solución también usa lo siguiente:

  • Azure CLI
  • Docker CE o Moby para la compilación e implementación de módulos de contenedor
  • Para el desarrollo, Visual Studio o Visual Studio Code con Docker, Azure IoT y las extensiones de lenguaje pertinentes

Pasos siguientes

Proyectos de código de GitHub

Recursos de aprendizaje de soluciones