Bewerken

Share via


Een AVOps-oplossing (Autonomous Vehicle Operations) maken

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

Oplossingsideeën

Dit artikel is een oplossingsidee. Als u wilt dat we de inhoud uitbreiden met meer informatie, zoals mogelijke use cases, alternatieve services, implementatieoverwegingen of prijsrichtlijnen, laat het ons dan weten door GitHub-feedback te geven.

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

Architectuur

Diagram that shows an AVOps architecture.

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 ETL-pijplijn (Extract, Transform and Load) van Azure Data Factory . 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-looptests.

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

Gegevensverzameling

Gegevensverzameling is een van de belangrijkste uitdagingen van autonome voertuigen (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 that shows offline and online data collection.

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 breidt het on-premises netwerk uit naar de Microsoft-cloud via een privéverbinding.
  • Azure Data Lake Storage slaat gegevens op op basis van fasen, bijvoorbeeld onbewerkt of geëxtraheerd.
  • Azure Data Factory voert ETL uit via batch-berekening en maakt gegevensgestuurde werkstromen voor het organiseren van gegevensverplaatsing en het transformeren van gegevens.
  • Azure Batch voert grootschalige toepassingen uit voor taken zoals gegevens wrangling, filteren en voorbereiden van gegevens en het extraheren van metagegevens.
  • Azure Cosmos DB slaat metagegevensresultaten op, 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 hoogwaardige gegevensoplossingen op schaal. Het is vereist voor langdurige bewerkingen op grote hoeveelheden voertuiggegevens. Data engineers gebruiken Azure Databricks als een analytics workbench.
  • Met Azure Synapse Analytics kunt u minder inzicht 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.
  • Met 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. Omgevingen voor 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 CARLA voor meer informatie.

ValOps-onderdelen

  • Azure Kubernetes Service voert grootschalige batchdeductie uit 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 voert grootschalige batchdeductie uit 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 that shows centralized AVOps functions.

Scenariodetails

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

Potentiële gebruikscases

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 Framework voor meer informatie.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie Overzicht van de beveiligingspijler voor 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 kostenoptimalisatie voor 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.
  • Spot Virtual Machines gebruiken. 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 Ontwerpen voor schalen voor 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 het beheer van de levenscyclus van gegevens voor 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 azure Machine Learning bijvoorbeeld 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 implementeren bijvoorbeeld een centrale bus-, Event Hub- en metagegevenscatalogus. Services zoals Azure Data Share kunnen u ook helpen dit doel te bereiken.

Inzenders

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Belangrijkste auteurs:

Andere Inzenders:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

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: