Bewerken

Delen via


Een AVOps-oplossing (Autonomous Vehicle Operations) maken

Azure Machine Learning
Azure Data Factory
Azure Data Share
Azure Batch
GitHub

ideeën voor oplossing

In dit artikel wordt een oplossingsidee beschreven. Uw cloudarchitect kan deze richtlijnen gebruiken om de belangrijkste onderdelen te visualiseren voor een typische implementatie van deze architectuur. Gebruik dit artikel als uitgangspunt om een goed ontworpen oplossing te ontwerpen die overeenkomt met de specifieke vereisten van uw workload.

Deze architectuur biedt richtlijnen en aanbevelingen voor het ontwikkelen van een geautomatiseerde rijoplossing.

Architectuur

diagram met een AVOps-architectuur.

Download een Visio-bestand met de architectuurdiagrammen in dit artikel.

Gegevensstroom

  1. Meetgegevens zijn afkomstig van gegevensstromen voor sensoren zoals camera's, radar, echografie, lidar en voertuigtelemetrie. Gegevensloggers in het voertuig slaan meetgegevens op logboekopslagapparaten op. De opslaggegevens van de logboekregistratie worden vervolgens geüpload naar de landingsdata lake. Een service zoals Azure Data Box of Azure Stack Edge-, of een toegewezen verbinding, zoals Azure ExpressRoute-, neemt gegevens op in Azure.

    Meetgegevens kunnen ook synthetische gegevens zijn uit simulaties of uit andere bronnen. (MDF4, TDMS en rosbag zijn algemene gegevensindelingen voor metingen.) In de DataOps-fase worden opgenomen metingen verwerkt. Validatie- en gegevenskwaliteitscontroles, zoals controlesom, worden uitgevoerd om gegevens van lage kwaliteit te verwijderen. In deze fase worden metagegevens van onbewerkte gegevens die tijdens een testrit door een teststuurprogramma zijn vastgelegd, geëxtraheerd. Deze gegevens worden opgeslagen in een gecentraliseerde metagegevenscatalogus. Deze informatie helpt downstreamprocessen bij het identificeren van specifieke scènes en reeksen.

  2. Gegevens worden verwerkt door een Azure Data Factory ETL-pijplijn (extract, transform and load). De uitvoer wordt opgeslagen als onbewerkte en binaire gegevens in Azure Data Lake. Metagegevens worden opgeslagen in Azure Cosmos DB-. Afhankelijk van het scenario kan het vervolgens worden verzonden naar Azure Data Explorer- of Azure Cognitive Search-.

  3. Aanvullende informatie, inzichten en context worden toegevoegd aan de gegevens om de nauwkeurigheid en betrouwbaarheid ervan te verbeteren.

  4. Geëxtraheerde meetgegevens worden verstrekt aan labelpartners (human-in-the-loop) via Azure Data Share. Externe partners voeren automatisch labelen, gegevens opslaan en openen via een afzonderlijk Data Lake-account.

  5. Gelabelde gegevenssets stromen naar downstream MLOps processen, voornamelijk om perceptie- en sensorfusiemodellen te maken. Deze modellen voeren functies uit die door autonome voertuigen worden gebruikt om scènes te detecteren (dat wil gezegd: baanwijzigingen, geblokkeerde wegen, voetgangers, verkeerslichten en verkeersborden).

  6. In de ValOps fase worden getrainde modellen gevalideerd via open-loop en closed-loop testen.

  7. Hulpprogramma's zoals Foxglove, die worden uitgevoerd op Azure Kubernetes Service of Azure Container Instances, kunt u opgenomen en verwerkte gegevens visualiseren.

Dataverzameling

Gegevensverzameling is een van de belangrijkste uitdagingen van Autonome Voertuigen Operations (AVOps). In het volgende diagram ziet u een voorbeeld van hoe offline- en online voertuiggegevens kunnen worden verzameld en opgeslagen in een data lake.

diagram met offline- en onlinegegevensverzameling.

DataOps

Gegevensbewerkingen (DataOps) is een set procedures, processen en hulpprogramma's voor het verbeteren van de kwaliteit, snelheid en betrouwbaarheid van gegevensbewerkingen. Het doel van de DataOps-stroom voor autonoom rijden (AD) is ervoor te zorgen dat de gegevens die worden gebruikt om het voertuig te beheren, van hoge kwaliteit, nauwkeurig en betrouwbaar zijn. Door een consistente DataOps-stroom te gebruiken, kunt u de snelheid en nauwkeurigheid van uw gegevensbewerkingen verbeteren en betere beslissingen nemen om uw autonome voertuigen te beheren.

DataOps-onderdelen

  • Data Box wordt gebruikt voor het overdragen van verzamelde voertuiggegevens naar Azure via een regionale vervoerder.
  • ExpressRoute het on-premises netwerk via een privéverbinding uitbreidt naar de Microsoft-cloud.
  • Azure Data Lake Storage gegevens opslaat op basis van fasen, bijvoorbeeld onbewerkt of geëxtraheerd.
  • Azure Data Factory ETL uitvoert via batch-rekenproces en gegevensgestuurde werkstromen maakt voor het organiseren van gegevensverplaatsing en het transformeren van gegevens.
  • Azure Batch grootschalige toepassingen uitvoert voor taken zoals gegevens wrangling, filteren en voorbereiden van gegevens en het extraheren van metagegevens.
  • Azure Cosmos DB metagegevensresultaten opslaat, zoals opgeslagen metingen.
  • Data Share wordt gebruikt om gegevens te delen met partnerorganisaties, zoals labelbedrijven, met verbeterde beveiliging.
  • Azure Databricks- biedt een set hulpprogramma's voor het onderhouden van zakelijke gegevensoplossingen op schaal. Het is vereist voor langdurige bewerkingen op grote hoeveelheden voertuiggegevens. Data engineers gebruiken Azure Databricks als een analytics workbench.
  • Azure Synapse Analytics vermindert de tijd om inzicht te krijgen in datawarehouses en big data-systemen.
  • Azure Cognitive Search- biedt zoekservices voor gegevenscatalogus.

MLOps

Machine learning-bewerkingen (MLOps) zijn onder andere:

  • Functieextractiemodellen (zoals CLIP en YOLO) voor het classificeren van scènes (bijvoorbeeld of een voetgangers zich in de scène bevindt) tijdens de DataOps--pijplijn.
  • Modellen voor automatisch labelen voor het labelen van opgenomen afbeeldingen en lidar- en radargegevens.
  • Perception- en Computer Vision-modellen voor het detecteren van objecten en scènes.
  • Een sensorfusiemodel dat sensorstromen combineert.

Het perception-model is een belangrijk onderdeel van deze architectuur. Met dit Azure Machine Learning-model wordt een objectdetectiemodel gegenereerd met behulp van gedetecteerde en geëxtraheerde scènes.

De overdracht van het machine learning-model in containers naar een indeling die kan worden gelezen door systeem op een chiphardware (SoC) en validatie/simulatiesoftware vindt plaats in de MLOps-pijplijn. Voor deze stap is de ondersteuning van de SoC-fabrikant vereist.

MLOps-onderdelen

  • Azure Machine Learning- wordt gebruikt om machine learning-algoritmen te ontwikkelen, zoals functieextractie, automatisch labelen, objectdetectie en -classificatie en sensorfusie.
  • Azure DevOps- biedt ondersteuning voor DevOps-taken, zoals CI/CD, testen en automatisering.
  • GitHub voor ondernemingen is een alternatieve keuze voor DevOps-taken, zoals CI/CD, testen en automatisering.
  • Azure Container Registry kunt u containerinstallatiekopieën en artefacten bouwen, opslaan en beheren in een privéregister.

ValOps

Validatiebewerkingen (ValOps) is het proces van het testen van ontwikkelde modellen in gesimuleerde omgevingen via beheerde scenario's voordat u dure milieutests uitvoert. ValOps-tests helpen ervoor te zorgen dat de modellen voldoen aan uw gewenste prestatiestandaarden, nauwkeurigheidsstandaarden en veiligheidsvereisten. Het doel van het validatieproces in de cloud is om potentiële problemen te identificeren en op te lossen voordat u het autonome voertuig in een liveomgeving implementeert. ValOps omvat:

  • Simulatievalidatie. Cloudsimulatie (open-loop en closed-loop testen) maken virtuele tests van autonome voertuigmodellen mogelijk. Deze test wordt op schaal uitgevoerd en is goedkoper dan echte tests.
  • Prestatievalidatie. Cloudinfrastructuur kan grootschalige tests uitvoeren om de prestaties van autonome voertuigmodellen te evalueren. Prestatievalidatie kan stresstests, belastingstests en benchmarks omvatten.

Met ValOps voor validatie kunt u profiteren van de schaalbaarheid, flexibiliteit en kosteneffectiviteit van een cloudinfrastructuur en de time-to-market voor autonome voertuigmodellen verminderen.

Open-loop testen

Re-simulatie, of sensorverwerking, is een open-loop test- en validatiesysteem voor automatische rijfuncties. Het is een complex proces en er zijn mogelijk wettelijke vereisten voor veiligheid, gegevensprivacy, gegevensversiebeheer en controle. Bij hersimulatie worden onbewerkte gegevens van verschillende autosensoren vastgelegd via een grafiek in de cloud. Met resimulatie worden algoritmen voor gegevensverwerking gevalideerd of regressies gedetecteerd. OEM's combineren sensoren in een gerichte acyclische grafiek die een echt voertuig vertegenwoordigt.

Re-simulatie is een grootschalige parallelle rekentaak. Het verwerkt tienduizenden of honderden GB aan gegevens met behulp van tienduizenden kernen. Hiervoor is I/O-doorvoer van meer dan 30 GB/s vereist. Gegevens van meerdere sensoren worden gecombineerd in gegevenssets die een beeld geven van wat de computer vision-systemen van het voertuig registreren wanneer het voertuig in de echte wereld navigeert. Een open-looptest valideert de prestaties van de algoritmen tegen grondwaar met behulp van opnieuw afspelen en scoren. De uitvoer wordt later in de werkstroom gebruikt voor het trainen van algoritmen.

  • Gegevenssets zijn afkomstig van testparkvoertuigen die onbewerkte sensorgegevens verzamelen (bijvoorbeeld camera, lidar, radar en ultrasone gegevens).
  • Het gegevensvolume is afhankelijk van de cameraresolutie en het aantal sensoren op het voertuig.
  • Onbewerkte gegevens worden opnieuw verwerkt op basis van verschillende softwarereleases van de apparaten.
  • Onbewerkte sensorgegevens worden verzonden naar de sensorinvoerinterface van de sensorsoftware.
  • Uitvoer wordt vergeleken met de uitvoer van eerdere softwareversies en wordt gecontroleerd op bugfixes of nieuwe functies, zoals het detecteren van nieuwe objecttypen.
  • Er wordt een tweede herinjectie van de taak uitgevoerd nadat het model en de software zijn bijgewerkt.
  • Gegevens over de grondwaar worden gebruikt om de resultaten te valideren.
  • Resultaten worden geschreven naar opslag en offloaded naar Azure Data Explorer voor visualisatie.

Closed-loop testen en simulatie

Closed-loop testen van autonome voertuigen is het proces van het testen van voertuigmogelijkheden en het opnemen van realtime feedback van het milieu. De acties van het voertuig zijn zowel gebaseerd op het vooraf geprogrammeerde gedrag als op de dynamische omstandigheden die het tegenkomt, en passen de acties dienovereenkomstig aan. Tests met gesloten lussen worden uitgevoerd in een complexere en realistische omgeving. Het wordt gebruikt om de mogelijkheid van het voertuig te beoordelen om echte scenario's af te handelen, inclusief hoe het reageert op onverwachte situaties. Het doel van gesloten-lustests is om te controleren of het voertuig veilig en effectief in verschillende omstandigheden kan werken, en om de controlealgoritmen en besluitvormingsprocessen zo nodig te verfijnen.

De ValOps-pijplijn integreert closed-loop testen, simulaties van derden en ISV-toepassingen.

Scenariobeheer

Tijdens de ValOps-fase wordt een catalogus met echte scenario's gebruikt om het vermogen van de autonome rijoplossing te valideren om het gedrag van autonome voertuigen te simuleren. Het doel is om het maken van scenariocatalogussen te versnellen door automatisch het routenetwerk te lezen, dat deel uitmaakt van een scenario, van openbaar toegankelijke en vrij beschikbare digitale kaarten. Gebruik hulpprogramma's van derden voor scenariobeheer of een lichtgewicht opensourcesimulator zoals CARLA, die ondersteuning biedt voor OpenDRIVE-indeling (xodr). Zie ScenarioRunner voor CARLAvoor meer informatie.

ValOps-onderdelen

  • Azure Kubernetes Service grootschalige batchdeductie uitvoert voor open-loopvalidatie binnen een Hars-framework. U wordt aangeraden BlobFuse2 te gebruiken voor toegang tot de meetbestanden. U kunt ook NFS gebruiken, maar u moet de prestaties voor de use-case evalueren.
  • Azure Batch grootschalige batchdeductie uitvoert voor open-loopvalidatie binnen een Hars-framework.
  • Azure Data Explorer biedt een analyseservice voor metingen en KPI's (dat wil gezegd, resimulatie en taakuitvoeringen).

Gecentraliseerde AVOps-functies

Een AVOps-architectuur is complex en omvat verschillende derde partijen, rollen en ontwikkelingsfasen, dus het is belangrijk om een goed governancemodel te implementeren.

U wordt aangeraden een gecentraliseerd team te maken voor het afhandelen van functies zoals infrastructuurinrichting, kostenbeheer, metagegevens en gegevenscatalogus, herkomst en algehele indeling en gebeurtenisafhandeling. Het centraliseren van deze services is efficiënt en vereenvoudigt bewerkingen.

U wordt aangeraden een gecentraliseerd team te gebruiken om deze verantwoordelijkheden af te handelen:

  • ARM-/Bicep-sjablonen bieden, inclusief sjablonen voor standaardservices zoals opslag en rekenkracht die door elk gebied en subgebied van de AVOps-architectuur worden gebruikt
  • Implementatie van centrale Azure Service Bus-/Azure Event Hubs-exemplaren voor een gebeurtenisgestuurde indeling van de AVOps-gegevenslus
  • Eigendom van de metagegevenscatalogus
  • Mogelijkheden voor end-to-end herkomst en tracering in alle AVOps-onderdelen

diagram met gecentraliseerde AVOps-functies.

Scenariodetails

U kunt deze architectuur gebruiken om een geautomatiseerde oplossing voor rijgedrag in Azure te bouwen.

Mogelijke gebruiksvoorbeelden

Oem's voor auto's, leveranciers van laag 1 en ISV's die oplossingen ontwikkelen voor geautomatiseerd rijden.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Frameworkvoor meer informatie.

Veiligheid

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijlervoor meer informatie.

Het is belangrijk om inzicht te hebben in de verdeling van de verantwoordelijkheid tussen de auto-OEM en de cloudprovider. In het voertuig is de OEM eigenaar van de hele stack, maar naarmate de gegevens naar de cloud worden verplaatst, dragen sommige verantwoordelijkheden over naar de cloudprovider. Azure Platform as a Service (PaaS) biedt ingebouwde verbeterde beveiliging op de fysieke stack, inclusief het besturingssysteem. U kunt de volgende verbeteringen toepassen naast de infrastructuurbeveiligingsonderdelen. Deze verbeteringen maken een Zero-Trust benadering mogelijk.

Kostenoptimalisatie

Kostenoptimalisatie gaat over het verminderen van onnodige uitgaven en het verbeteren van operationele efficiëntie. Zie Overzicht van de pijler kostenoptimalisatievoor meer informatie.

U kunt deze strategieën gebruiken om de kosten te verlagen die zijn gekoppeld aan het ontwikkelen van autonome oplossingen voor autonoom rijden:

  • Cloudinfrastructuur optimaliseren. Een zorgvuldige planning en het beheer van de cloudinfrastructuur kan u helpen de kosten te verlagen. Gebruik bijvoorbeeld kostenefficiënte instantietypen en schaalinfrastructuur om te voldoen aan veranderende workloads. Volg de richtlijnen in het Azure Cloud Adoption Framework.
  • Gebruik Spot Virtual Machines. U kunt bepalen welke workloads in uw AVOps-implementatie geen verwerking binnen een bepaald tijdsbestek vereisen en Spot Virtual Machines gebruiken voor deze workloads. Met Spot Virtual Machines kunt u profiteren van ongebruikte Azure-capaciteit voor aanzienlijke kostenbesparingen. Als Azure de capaciteit terug nodig heeft, verwijdert de Azure-infrastructuur virtuele machines.
  • Gebruik automatisch schalen. Met automatisch schalen kunt u uw cloudinfrastructuur automatisch aanpassen op basis van vraag, waardoor u minder handmatig hoeft te handelen en de kosten kunt verlagen. Zie Ontwerp voor het schalen vanvoor meer informatie.
  • Overweeg het gebruik van dynamische, statische en archieflagen voor opslag. Opslag kan een aanzienlijke kostenpost zijn in een autonome oplossing, dus u moet rendabele opslagopties kiezen, zoals koude opslag of niet-gebruikte opslag. Zie gegevenslevenscyclusbeheervoor meer informatie.
  • Gebruik hulpprogramma's voor kostenbeheer en optimalisatie. Microsoft Cost Management- biedt hulpprogramma's waarmee u gebieden voor kostenreductie kunt identificeren en aanpakken, zoals ongebruikte of onderbenutte resources.
  • Overweeg het gebruik van Azure-services. U kunt bijvoorbeeld Azure Machine Learning- gebruiken om autonome rijmodellen te bouwen en te trainen. Het gebruik van deze services kan rendabeler zijn dan het bouwen en onderhouden van interne infrastructuur.
  • Gedeelde resources gebruiken. Indien mogelijk kunt u gedeelde resources, zoals gedeelde databases of gedeelde rekenresources, gebruiken om de kosten te verlagen die zijn gekoppeld aan autonome ontwikkeling. De gecentraliseerde functies in deze architectuur, bijvoorbeeld een centrale bus-, Event Hub- en metagegevenscatalogus implementeren. Services zoals Azure Data Share kunnen u ook helpen dit doel te bereiken.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteurs:

Andere inzenders:

Meld u aan bij LinkedIn als u niet-openbare LinkedIn-profielen wilt zien.

Volgende stappen

Zie voor meer informatie over het ontwikkelen van DataOps voor een geautomatiseerd rijsysteem:

Mogelijk bent u ook geïnteresseerd in deze gerelateerde artikelen: