Förutsägande underhåll med intelligenta IoT Edge

Blob Storage
Cosmos DB
IoT
IoT Hub
Pipelines

Sakernas Internet (IoT) Edge ger databehandling och lagring nära datakällan, vilket möjliggör snabba, konsekventa svar med minskat beroende av molnanslutning och resurser. Edge-databehandling kan införliva ai-modeller (artificiell intelligens) och maskininlärningsmodeller (ML) för att skapa intelligenta gränsenheter och nätverk, som kan integreras med molnet för ytterligare bearbetning och säkerhet.

Den här artikeln beskriver ett samarbete mellan Microsofts CSE-team (Commercial Software Engineering) och ett stort företag för att skapa en intelligent moln- och intelligent gränslösning för att träna underhåll och säkerhet. Företaget vill förbättra säkerheten och effektiviteten för vägar genom att proaktivt identifiera defekta komponenter, schemalägga underhåll och reparation i förväg och kontinuerligt förbättra sina resultat och förutsägelser. Pilotprojektet för lösningen ML edge är ett analyssystem för hälsotillståndsanalys för hjul.

Över 4 000 trackside-detektorer övervakar och strömmar hjuldata kontinuerligt från alla företagets spår. Detektorerna mäter värme och kraften i utrustningen på spåren, lyssnar efter osynliga hjul med defekter eller hjulsprickor och identifierar saknade eller felplacerade delar. Data ML edge-systemprocesser och agerar på dessa kontinuerliga strömmande detektordata i nära realtid för att identifiera utrustning i riskzonen, fastställa angelägenhetsgrad för reparation, generera aviseringar och skicka data till Azure-molnet för lagring. Modulerna IoT Edge på serverklassmaskinvara i trackside-moduler, vilket möjliggör framtida parallell distribution av andra arbetsbelastningar.

Genom ML och affärslogik närmare datakällorna kan enheterna reagera snabbare på lokala ändringar och kritiska händelser. Enheter kan fungera på ett tillförlitligt sätt offline eller när anslutningen är begränsad. Edge-nätverket kan avgöra vilka data som ska skickas till molnet eller prioritera brådskande och viktiga data först.

Analyssystemet för hjulhälsa ger tidig identifiering av potentiella utrustningsfel, vilket bidrar till att förhindra oåterkalleliga fel som kan leda till att de spåras upp. Företaget kan använda lagrade data för att upptäcka trender och informera om förebyggande underhåll och scheman för underhåll.

Potentiella användningsfall

IoT Edge implementeringar är mest relevanta när stora mängder data som samlas in i realtid behöver åtgärder eller beslut med kort eller ingen fördröjning. Exempelsystemet var tvungen att underhålla 99,999 % drifttid, bearbeta data från upp till 24 tränade och 35 miljoner läsningar per dag och garantera en timmes leverans av aviseringar och meddelanden.

Arkitektur

Diagram över lösningsarkitektur som IoT Edge moduler i spårsidorna. Edge-modulerna använder maskininlärning för att identifiera felrisker. Aviseringshanteraren överför bilddata till Azure Blob Storage. Azure Edge Hub laddar upp associerade metadata och meddelanden via Azure IoT Hub till Azure Cosmos DB lagring.

  1. En bildfilserver (NAS) i en eter fungerar som bearbetade och kategoriserade bildhjulsbilder. Tre bilder av varje hjul skapar en sammansydd bild.
  2. Avsökningsmodulen varnar Edge-enheten om att nya avbildningar är tillgängliga för bearbetning.
  3. En tredjepartsmodell ML bilderna och identifierar hjulområden som behöver inspekteras mer.
  4. Aviseringshanteraren laddar upp alla bilder till Azure Blob Storage, börjar med bilder som har potentiella defekter och returnerar bildblob-URI:erna.
  5. IoT Edge Hub associerar bild-URI:erna med bildmetadata och laddar upp metadata och aviseringar till Azure IoT Hub.
  6. IoT Hub skickar metadata via Event Hub och Azure Functions till en Azure Cosmos DB databas.
  7. Databasen Cosmos DB innehåller bildmetadata (utrustning/bil #, detektor, tidsstämpel, plats för detektor osv.) och pekar på platsen för bilder i Azure Blob Storage.

Komponenter

Den distribuerade lösningen kräver en Azure-prenumeration med behörighet att lägga till tjänstens huvudnamn och möjligheten att skapa Azure-resurser. Mer information finns i Containerregister och tjänstens huvudnamn.

  • Azure IoT Edge består av tre komponenter:
    • IoT Edge moduler är containrar som kan köra Azure- eller tredjepartskomponenter eller anpassade komponenter. Det aktuella exemplet distribuerar IoT Edge moduler i trackside-moduler med hjälp av maskinvara i serverklass med anpassade industriella automatiseringskort och grafikprocessorer (GPU:er) för prestanda.
    • Den IoT Edge runtimesom består av IoT-agentenoch IoT Edge Hubkörs på de IoT Edge-enheterna för att hantera och samordna de distribuerade modulerna.
    • Det Azure IoT Hub gränssnittet möjliggör säker dubbelriktad molnkommunikation, hantering och övervakning av IoT Edge moduler.
  • IoT Edge ML-moduler Azure Machine Learning,tredjepartsmodeller ML eller anpassad kod. Den aktuella lösningen använder en tredjepartsmodell med öppen källkod som ML Cogniac för att poänggöra hjuldata och identifiera potentiella defekter. Programmet ML använder historiska exempel på felbilder med hög och låg konfidens för att träna om ML modell.
  • Azure Blob Storage är Microsofts objektlagringslösning för molnet. Blob Storage är optimerat för att lagra stora mängder ostrukturerade data som avbildningsdata i det här exemplet.
  • Azure Cosmos DB är en helt hanterad NoSQL-databastjänst med låga svarstider och hög tillgänglighet och skalbarhet.
  • Ett Azure Pipelines-arbetsflöde skapar, testar, distribuerar och arkiverar IoT Edge-lösningen via inbyggda Azure IoT Edge uppgifter.

Överväganden

Teamet har identifierat flera designöverväganden:

  • Systemet kräver 99 % drifttid och lokal meddelandeleverans inom 24 timmar. Tjänstkvalitet (QoS) för den sista milen av anslutningen mellan Azure och Azure avgör QoS för data från gränsen. Lokala Internetleverantörer styr den sista milen av anslutningen och kanske inte stöder den QoS som krävs för meddelanden eller massöverföring av data.
  • Det här systemet samverkar inte med hjulkameror och backing-datalager, så har ingen kontroll eller möjlighet att skapa aviseringar på kamerasystem eller bildserverfel.
  • Det här företaget äger bara inferenssystemet och förlitar sig på en tredjepartsleverantör för att ML modellgenereringen. Den svarta box-typen av ML-modulen utgör en viss risk för beroende. Långsiktigt lösningsunderhåll kräver förståelse för hur tredje part styr och delar tillgångar. Systemet kan kanske använda platshållarmoduler ML framtida engagemang när ML inte är tillgängliga.
  • Säkerhet och övervakning är saker att tänka på IoT Edge system. För det här engagemanget har företagets befintliga företagslösning från tredje part omfattat systemövervakning. Den fysiska säkerheten för spårsidor och nätverkssäkerhet fanns redan på plats, och anslutningar från IoT Edge till molnet är säkra som standard.
  • Den här lösningen ersätter inte befintliga manuella inspektionskrav som fastställts av företagets och federala myndigheter.
  • Edge-arkitekturen är för närvarande uppdelad i flera moduler, men kan komprimeras till en enda modul, beroende på lösningens prestandakrav eller utvecklingsteamets struktur.
  • Den här lösningen bygger på följande tidigare CSE-kundengagemang inom tillverkning, olja och gas samt hantering av naturliga resurser:

Distribution

Det här företaget är värd för det lokala CI/CD-systemet (continuous integration/continuous deployment). Följande diagram visar DevOps-arkitekturen för distribution:

Arkitekturdiagram för DevOps.

  1. I den första CI-pipelinen utlöser en kod push till Git-lagringsplatsen bygget av IoT Edge-modulen och registrerar modulavbildningen i Azure Container Registry.
  2. När CI-pipelinen har slutförts utlöses CD-pipelinen, som genererar distributionsmanifestet och distribuerar modulen till IoT Edge enheter.

Distributionen har tre miljöer: Dev, QA och Production. Modulbefordran från Dev till QA och från QA till Produktion stöder både automatiska och manuella gated-kontroller.

När du skapar och distribuerar lösningen används också:

  • Azure CLI
  • Docker CE eller Moby för att skapa och distribuera containermodulerna
  • För utveckling, Visual Studio eller Visual Studio Code med Docker, Azure IoT och relevanta språktillägg

Nästa steg

GitHub kodprojekt

Resurser för lösningsutbildning