IoT Edge 철도 유지 관리 및 안전 시스템

Azure Blob Storage
Azure Cosmos DB
Azure IoT
Azure IoT Edge
Azure IoT Hub

이 문서에서는 IoT(사물 인터넷) 열차 유지 관리 및 안전 솔루션을 만들기 위한 Microsoft와 주요 철도 회사 간 협업을 설명합니다.

아키텍처

선로변 방갈로의 IoT Edge 모듈을 보여 주는 솔루션 아키텍처 다이어그램. Edge 모듈은 기계 학습을 사용하여 실패 위험을 식별함. 경고 처리기 모듈은 이미지 데이터를 Azure Blob Storage에 업로드함. Azure Edge Hub는 Azure IoT Hub를 통해 연결된 메타데이터와 메시지를 Azure Cosmos DB 스토리지에 업로드함

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

  1. 선로변 방갈로의 NAS(Network Attached Storage) 이미지 파일 서버는 처리되고 분류된 기차 바퀴 이미지를 제공합니다. 각 바퀴의 세 장의 사진이 스티칭된 이미지를 만듭니다.
  2. IoT Edge 폴링 모듈은 처리에 사용할 수 있는 새 이미지가 있음을 IoT Edge 디바이스에 알립니다.
  3. IoT Edge ML 모듈은 이미지를 처리하고 추가 검사가 필요한 바퀴 영역을 식별하는 타사 ML 모델을 실행합니다.
  4. IoT Edge 경고 처리기는 잠재적인 결함이 있는 이미지부터 시작하여 모든 이미지를 Azure Blob Storage에 업로드하고 이미지 Blob URI를 반환합니다.
  5. IoT Edge 허브 모듈은 장비 또는 자동차 번호, 차축, 타임스탬프, 탐지기 위치 등의 이미지 메타데이터와 이미지 URI를 연결합니다. 모듈은 메타데이터 및 경고를 Azure IoT Hub에 업로드합니다.
  6. IoT Hub는 Event Hubs 및 Azure Functions를 통해 메타데이터를 Azure Cosmos DB 데이터베이스로 보냅니다.
  7. Azure Cosmos DB 데이터베이스는 Azure Blob Storage에 저장된 이미지의 URI와 이미지 메타데이터를 연결합니다. 시스템은 결함 인식, 추세 분석, 예측 유지 관리 및 ML 모델 재학습을 위해 Azure Cosmos DB의 데이터를 사용할 수 있습니다.

구성 요소

이 예제에서는 성능을 위해 사용자 지정된 산업 자동화 카드 및 GPU(그래픽 처리 장치)가 있는 서버급 하드웨어를 사용하여 선로변 방갈로에 Azure IoT Edge 디바이스를 배포합니다.

IoT Edge는 다음 세 가지 구성 요소로 구성됩니다.

  • IoT Edge 모듈은 Azure, 타사 또는 사용자 지정 구성 요소를 실행할 수 있는 컨테이너입니다.

    IoT Edge ML 모듈은 Azure Machine Learning, 타사 ML 모델 또는 사용자 지정 코드를 지원합니다. 현재 솔루션은 Cogniac이라는 타사 오픈 소스 ML 모델을 사용하여 기차 바퀴 데이터의 점수를 매기고 잠재적인 결함을 인식합니다. ML 소프트웨어는 신뢰도가 높거나 낮은 오류 이미지의 과거 샘플을 사용하여 ML 모델을 재학습합니다.

  • IoT 에이전트IoT Edge 허브로 구성된 IoT Edge 런타임은 IoT Edge 디바이스에서 실행되어 배포된 모듈을 관리하고 조정합니다.

  • 클라우드 기반 인터페이스를 사용하여 원격 모니터링 및 관리를 수행할 수 있습니다.

시스템은 다음 Azure 클라우드 구성 요소도 사용합니다.

  • Azure IoT Hub를 사용하면 IoT Edge 모듈의 안전한 양방향 클라우드 통신, 관리 및 모니터링이 가능합니다.

  • Azure Blob Storage는 클라우드용 개체 스토리지입니다. Blob Storage는 이 예제의 이미지 데이터와 같은 대량의 비정형 데이터를 저장하는 데 최적화되어 있습니다.

  • Azure Cosmos DB는 응답 시간이 짧고 가용성과 스케일링 성능이 뛰어난 완전 관리형 NoSQL Database 서비스입니다.

대안

  • IoT Edge 아키텍처는 여러 모듈을 사용하지만, 솔루션 성능 요구 사항 또는 개발 팀 구조에 따라 단일 모듈로 압축될 수 있습니다.

  • 철도 회사는 유추 시스템만 소유하고 ML 모델 생성을 위해 타사 공급업체에 의존합니다. ML 모듈의 블랙박스 특성은 종속성의 위험이 있습니다. 장기적인 솔루션 유지 관리를 위해서는 타사에서 자산을 관리하고 공유하는 방법을 이해해야 합니다. 시스템은 ML 자산을 사용할 수 없는 경우 향후 사용자 참여를 위해 자리 표시자 ML 모듈을 사용할 수 있습니다.

시나리오 정보

Azure IoT Edge를 사용하여 데이터 원본에 더 가까운 데이터 처리 및 스토리지를 사용할 수 있습니다. 에지에서 워크로드를 처리하면 클라우드 연결 및 리소스에 대한 종속성이 적어서 빠르고 일관되게 응답할 수 있습니다.

ML(기계 학습) 및 비즈니스 논리를 데이터 원본에 더 가깝게 가져오면 디바이스가 로컬 변경 및 중요한 이벤트에 더 빠르게 대응할 수 있습니다. 디바이스는 오프라인에서 또는 연결이 제한될 때 안정적으로 작동할 수 있습니다.

에지 컴퓨팅은 AI(인공 지능) 및 ML 모델을 통합하여 지능형 에지 디바이스 및 네트워크를 만들 수 있습니다. 경계 네트워크는 추가 처리를 위해 클라우드로 보낼 데이터를 결정하고 긴급하고 중요한 데이터의 우선 순위를 지정할 수 있습니다.

철도 회사는 다음을 제공하여 Azure IoT Edge를 통해 안전과 효율성을 개선하고자 했습니다.

  • 결함이 있는 구성 요소의 사전 식별.
  • 유지 관리 및 복구의 예측 예약.
  • 분석 및 예측의 지속적인 개선.

IoT Edge 솔루션에 대한 파일럿 프로젝트는 기차 바퀴 상태 분석 시스템입니다. 이 시스템에서 4,000개가 넘는 선로변 탐지기가 회사의 열차에서 바퀴 데이터를 지속적으로 모니터링하고 스트림합니다. 탐지기:

  • 선로에서 장비의 열과 힘을 측정합니다.
  • 보이지 않는 바퀴 베어링 결함 또는 바퀴 균열을 소리로 확인합니다.
  • 누락되거나 잘못 배치된 부분을 식별합니다.

Azure IoT Edge 모듈은 거의 실시간으로 연속 스트리밍 데이터를 처리하고 작동합니다. IoT Edge 모듈은 트랙 사이드 방갈로의 서버급 하드웨어에서 실행되므로 향후 다른 워크로드의 병렬 배포가 가능합니다. IoT Edge 기반 솔루션:

  • 위험한 상태인 장비를 식별합니다.
  • 복구 긴급도를 결정합니다.
  • 경고를 생성합니다.
  • 스토리지를 위해 Azure 클라우드로 데이터를 보냅니다.

바퀴 상태 분석 시스템은 열차 탈선으로 이어질 수 있는 잠재적인 장비 고장을 조기에 식별합니다. 회사는 저장된 데이터를 사용하여 추세를 파악하고 처방적 유지 관리 일정을 알릴 수 있습니다.

잠재적인 사용 사례

이 솔루션은 운송, 전기통신 및 제조 산업에 이상적입니다. 여기서는 다음과 같은 시나리오를 중심으로 설명합니다.

  • 가동 시간을 99% 이상 유지해야 하는 통신 네트워크.
  • 공장의 생산 품질 관리, 장비 수리 및 예측 유지 관리.
  • 대기 시간이 거의 없이 실시간 스트리밍 데이터를 처리해야 하는 교통 안전 시스템.
  • 적시에 일정 알림 및 경고를 제공해야 하는 수송 시스템.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

이 예제에는 여러 가지 고려 사항이 적용됩니다.

작업

배포된 솔루션에는 서비스 주체를 추가할 수 있는 권한과 Azure 리소스를 만들 수 있는 권한이 있는 Azure 구독이 필요합니다. 자세한 내용은 컨테이너 레지스트리 및 서비스 주체를 참조하세요.

Azure Pipelines 워크플로는 기본 제공 Azure IoT Edge 작업을 통해 IoT Edge 솔루션을 빌드, 테스트, 배포 및 보관합니다. 철도 회사는 온-프레미스에서 연속 통합/지속적인 배포(CI/CD) 시스템을 호스팅합니다. 다음 다이어그램은 배포를 위한 DevOps 아키텍처를 보여 줍니다.

DevOps 아키텍처 다이어그램

  1. 첫 번째 CI 파이프라인에서 Git 리포지토리로 코드를 푸시하면 IoT Edge 모듈의 빌드가 트리거되고 Azure Container Registry에 모듈 이미지가 등록됩니다.

  2. CI 파이프라인이 완료되면 CD 파이프라인이 트리거되어 배포 매니페스트가 생성되고 모듈이 IoT Edge 디바이스에 배포됩니다.

배포에는 개발, QA 및 프로덕션이라는 세 가지 환경이 있습니다. Dev에서 QA로, QA에서 프로덕션으로 모듈 승격은 자동 및 수동 제어 검사를 모두 지원합니다.

솔루션 빌드 및 배포에는 다음도 사용됩니다.

  • Azure CLI
  • 컨테이너 모듈을 빌드 및 배포하기 위한 Docker CE 또는 Moby
  • 개발의 경우 Docker, Azure IoT 및 관련 언어 확장이 포함된 Visual Studio 또는 Visual Studio Code.

성능

  • 시스템은 99% 가동 시간과 24시간 이내에 온-프레미스 메시지 전달이 필요합니다. 방갈로와 Azure 간 연결의 마지막 마일에 대한 QoS(서비스 품질)는 에지에서 데이터의 QoS를 결정합니다. 로컬 ISP(인터넷 서비스 공급자)는 연결의 라스트 마일을 관리하며 알림 또는 대량 데이터 업로드에 필요한 QoS를 지원하지 않을 수 있습니다.

  • 이 시스템은 휠 카메라 및 백업 데이터 저장소와 인터페이스하지 않으므로 카메라 시스템 또는 이미지 서버 오류에 대한 경고를 발생시키는 제어 또는 기능이 없습니다.

  • 이 솔루션은 회사 및 연방 규제 당국에서 결정한 기존 수동 검사 요구 사항을 대체하지 않습니다.

보안

우수한 보안은 중요한 데이터 및 시스템에 대한 고의적인 공격과 악용을 방어합니다. 자세한 내용은 보안 요소의 개요를 참조하세요.

보안 및 모니터링은 IoT Edge 시스템에 대한 고려 사항입니다. 이 예제에서는 다음과 같이 복사합니다.

  • 회사의 기존 타사 엔터프라이즈 솔루션은 시스템 모니터링을 포함했습니다.
  • 선로변 방갈로와 네트워크 보안의 물리적 보안이 이미 적용되었습니다.
  • IoT Edge에서 클라우드로 연결은 기본적으로 안전합니다.

다음 단계

GitHub 프로젝트:

솔루션 학습 리소스: