DE112022003731T5 - METHOD AND SYSTEM FOR CONFIGURING VARIATIONS IN TRAINING SIMULATIONS OF AN AUTONOMOUS VEHICLE - Google Patents

METHOD AND SYSTEM FOR CONFIGURING VARIATIONS IN TRAINING SIMULATIONS OF AN AUTONOMOUS VEHICLE Download PDF

Info

Publication number
DE112022003731T5
DE112022003731T5 DE112022003731.8T DE112022003731T DE112022003731T5 DE 112022003731 T5 DE112022003731 T5 DE 112022003731T5 DE 112022003731 T DE112022003731 T DE 112022003731T DE 112022003731 T5 DE112022003731 T5 DE 112022003731T5
Authority
DE
Germany
Prior art keywords
simulation
vehicle
variation
property
scenario
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022003731.8T
Other languages
German (de)
Inventor
Michael Nayhouse
Thomas Ackenhausen
Patrick Carmody
TinTin Yu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Argo AI LLC
Original Assignee
Argo AI LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/387,927 external-priority patent/US11960292B2/en
Priority claimed from US17/387,922 external-priority patent/US20230030474A1/en
Priority claimed from US17/468,600 external-priority patent/US20230070734A1/en
Application filed by Argo AI LLC filed Critical Argo AI LLC
Publication of DE112022003731T5 publication Critical patent/DE112022003731T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/15Vehicle, aircraft or watercraft design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

Ein Verfahren umfasst das Empfangen eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann, und das Empfangen einer Simulationsvariation für ein Objekt in der Szene. Die Simulationsvariation definiert mehrere Werte für eine Eigenschaft des Objekts. Das Verfahren umfasst das Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben, und das Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell zu trainieren. Das Planungsmodell simuliert iterativ Variationen des Objekts auf der Basis von Werten für die Eigenschaft des Objekts. In Reaktion auf jede simulierte Variation des Objekts wählt das Planungsmodell eine fortgesetzte Trajektorie für das Fahrzeug aus, wobei die fortgesetzte Trajektorie entweder die geplante Trajektorie oder eine alternative Trajektorie ist.A method includes receiving a base simulation scenario comprising features of a scene through which a vehicle may travel and receiving a simulation variation for an object in the scene. The simulation variation defines multiple values for a property of the object. The method includes adding the simulation variation to the base simulation scenario to yield an augmented simulation scenario and applying the augmented simulation scenario to a planning model of motion of an autonomous vehicle to train the planning model. The planning model iteratively simulates variations of the object based on values for the property of the object. In response to each simulated variation of the object, the planning model selects a continued trajectory for the vehicle, where the continued trajectory is either the planned trajectory or an alternate trajectory.

Description

QUERVERWEIS UND PRIORITÄTSANSPRUCHCROSS-REFERENCE AND PRIORITY CLAIM

Diese Patentanmeldung beansprucht die Priorität zur US-Patentanmeldung Nrn. 17/387,922 und 17/387,927 , jeweils eingereicht am 28. Juli 2021, und zur US-Patentanmeldung Nr. 17/468,600 , eingereicht am 7. September 2021. Alle Prioritätsanmeldungen werden durch den Hinweis vollständig hierin aufgenommen.This patent application claims priority to US patent application Nos. 17/387,922 and 17/387,927 , each filed on July 28, 2021, and U.S. patent application No. 17/468,600 , filed September 7, 2021. All priority applications are fully incorporated herein by reference.

HINTERGRUNDBACKGROUND

Viele Fahrzeuge, einschließlich, jedoch nicht begrenzt auf autonome Fahrzeuge (AVs), verwenden heute Planungssysteme einer Bewegung, um zu entscheiden oder dem Fahrer zu helfen, Entscheidungen darüber zu treffen, wo und wie sich in einem Umfeld zu bewegen ist. Planungssysteme einer Bewegung beruhen auf Modellen künstlicher Intelligenz, um sich bewegende Akteure zu analysieren, die die Fahrzeugsensoren wahrnehmen können, Vorhersagen darüber durchzuführen, was diese Akteure tun können, und einen Handlungsverlauf für das Fahrzeug auszuwählen oder zu empfehlen, der die wahrscheinliche Handlung des Akteurs berücksichtigt.Many vehicles today, including but not limited to autonomous vehicles (AVs), use motion planning systems to decide or help the driver make decisions about where and how to move in an environment. Motion planning systems rely on artificial intelligence models to analyze moving actors that the vehicle's sensors can perceive, make predictions about what those actors may do, and select or recommend a course of action for the vehicle that takes into account the actor's likely action.

Um Vorhersagen durchzuführen und Handlungsverläufe zu bestimmen, muss das Planungsmodell einer Bewegung des Fahrzeugs an Daten trainiert werden, die das Fahrzeug in einem Umfeld antreffen kann. Je eindeutiger die Szenarien sind, die verwendet werden, um ein Planungsmodell einer Bewegung des Fahrzeugs zu trainieren, desto besser kann das Modell bei der Durchführung von Entscheidungen der Planung einer Bewegung sein. Der Bereich von möglichen Szenarien, die ein Fahrzeug antreffen kann, ist jedoch grenzenlos. Die manuelle Entwicklung einer großen Anzahl von eindeutigen Simulationsszenarien würde eine signifikante Investition in Zeit und Arbeitskraft sowie fortgesetzte Kosten, um individuelle Szenarien zu aktualisieren, wenn sich das Planungsmodell einer Bewegung verbessert und das Fahrzeugverhalten sich ändert, erfordern.To make predictions and determine courses of action, the vehicle's motion planning model must be trained on data that the vehicle may encounter in an environment. The more unique the scenarios used to train a vehicle's motion planning model, the better the model can be at making motion planning decisions. However, the range of possible scenarios a vehicle may encounter is limitless. Manually developing a large number of unique simulation scenarios would require a significant investment in time and manpower, as well as ongoing costs to update individual scenarios as the motion planning model improves and vehicle behavior changes.

Obwohl Systeme verfügbar sind, um Simulationsszenarien zufällig zu entwickeln, ist die Anzahl von möglichen zufälligen Szenarien grenzenlos. Eine rein zufällige Simulation würde erfordern, dass das Planungsmodell einer Bewegung eine äußerst große Anzahl von Ereignissen betrachtet, die nicht relevant sein können oder die in der realen Welt zumindest äußerst unwahrscheinlich wären. Dies verursacht eine signifikante Verschwendung von Rechenressourcen und Zeit. Außerdem kann es erfordern, dass das Fahrzeug an einer großen Anzahl von weniger relevanten Szenarien trainiert wird, deutlich bevor der zufällige Prozess relevantere Szenarien ergibt.Although systems are available to randomly develop simulation scenarios, the number of possible random scenarios is limitless. A purely random simulation would require the motion planning model to consider an extremely large number of events that may not be relevant or that would at least be extremely unlikely to occur in the real world. This causes a significant waste of computational resources and time. In addition, it may require the vehicle to be trained on a large number of less relevant scenarios well before the random process yields more relevant scenarios.

Daher sind Verfahren zum Identifizieren und Entwickeln eines effektiven Satzes von relevanten Simulationsszenarien und Trainieren des Modells des Fahrzeugs an solchen Szenarien erforderlich.Therefore, methods for identifying and developing an effective set of relevant simulation scenarios and training the vehicle model on such scenarios are required.

Dieses Dokument beschreibt Verfahren und Systeme, die Probleme wie z. B. die vorstehend erörterten und/oder andere Probleme adressieren.This document describes procedures and systems that address problems such as those discussed above and/or other problems.

ZUSAMMENFASSUNGSUMMARY

In verschiedenen Ausführungsformen wird ein Verfahren zum Erzeugen eines Szenarios zur Simulation eines Planungsmodells einer Bewegung eines Fahrzeugs offenbart. Das Verfahren kann in Computerprogrammieranweisungen verkörpert sein und/oder durch ein System implementiert werden, das einen Prozessor umfasst. Das Verfahren umfasst das Empfangen, von einem Datenspeicher, der mehrere Simulationsszenarien enthält, eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann. Das Verfahren umfasst das Empfangen, vom Datenspeicher, einer Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation mehrere Werte für eine Eigenschaft des Objekts definiert. Das Verfahren umfasst ferner das Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben, und das Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell einer Bewegung zu trainieren. Das Planungsmodell simuliert die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie und simuliert iterativ Variationen des Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts. In Reaktion auf jede simulierte Variation des Objekts wählt das Planungsmodell eine fortgesetzte Trajektorie für das Fahrzeug, entweder die geplante Trajektorie oder eine alternative Trajektorie, aus und es bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.In various embodiments, a method for generating a scenario for simulating a planning model of motion of a vehicle is disclosed. The method may be embodied in computer programming instructions and/or implemented by a system comprising a processor. The method includes receiving, from a data store containing a plurality of simulation scenarios, a base simulation scenario comprising features of a scene through which a vehicle may travel. The method includes receiving, from the data store, a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object. The method further includes adding the simulation variation to the base simulation scenario to yield an extended simulation scenario, and applying the extended simulation scenario to a planning model of motion of an autonomous vehicle to train the planning model of motion. The planning model simulates the movement of the vehicle along a planned trajectory and iteratively simulates variations of the object based on the multiple values for the property of the object. In response to each simulated variation of the object, the planning model selects a continued trajectory for the vehicle, either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory.

In anderen Ausführungsformen wird ein Verfahren zum Erzeugen von Trainingsszenariovariationen offenbart. Das Verfahren kann in einem Szenariovariationserzeugungssystem verkörpert sein, das dazu eingerichtet ist, ein Basisszenario mit Objekten in einer Szene zu empfangen und eine Benutzerschnittstelle auszuführen, die dazu eingerichtet ist, Daten anzuzeigen, die Eigenschaften der Objekte in der Szene zugeordnet sind. Die Eigenschaft kann eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfassen. Die Benutzerschnittstelle kann ferner dazu eingerichtet sein, eine Variationseingabe in Bezug auf Eigenschaften der Objekte zu empfangen. In Reaktion darauf, dass die Benutzerschnittstelle eine Variationseingabe empfängt, die mehrere Werte für Eigenschaften der Objekte definiert, kann das Szenariovariationserzeugungssystem eine Szenariovariation in einem Datenspeicher speichern, der Simulationsszenarien enthält, wobei die Szenariovariation auf den mehreren Werten basiert und dazu eingerichtet ist, ein oder mehrere der Simulationsszenarien zu erweitern.In other embodiments, a method for generating training scenario variations is disclosed. The method may be embodied in a scenario variation generation system configured to receive a base scenario with objects in a scene and execute a user interface configured to display data associated with properties of the objects in the scene. The property may include a dimension, a position, a speed, an acceleration, or a behavior-triggering distance of the object. The user interface may further be configured to display a Receive variation input related to properties of the objects. In response to the user interface receiving variation input defining a plurality of values for properties of the objects, the scenario variation generation system may store a scenario variation in a data store containing simulation scenarios, the scenario variation based on the plurality of values and configured to augment one or more of the simulation scenarios.

KURZBESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

  • 1A stellt Beispielelemente eines Fahrzeugsimulationsszenarios dar, während 1B eine modifizierte Version des Simulationsszenarios von 1A darstellt. 1A shows example elements of a vehicle simulation scenario, while 1B a modified version of the simulation scenario of 1A represents.
  • 2 stellt Beispieluntersysteme eines autonomen Fahrzeugs dar. 2 shows example subsystems of an autonomous vehicle.
  • 3A und 3B sind Ablaufpläne, die einen Prozess darstellen, durch den ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs ein erweitertes Simulationsszenario erzeugen kann. 3A and 3B are flowcharts that represent a process by which a system for training a planning model of a vehicle's movement can generate an extended simulation scenario.
  • 4A und 4B stellen bestimmte Elemente des Prozesses von 3A und 3B in einem alternativen Format dar. 4A and 4B represent certain elements of the process of 3A and 3B in an alternative format.
  • 5A und 5B stellen die Entwicklung einer Simulationsszenarioerweiterung unter Verwendung eines Beispielsatzes von Kandidatenobjektdaten dar. 5A and 5B present the development of a simulation scenario extension using an example set of candidate object data.
  • 6 ist ein Ablaufplan, der einen Prozess darstellt, durch den ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs Interaktionszonen identifizieren kann, in denen das System ein Basissimulationsszenario modifizieren kann. 6 is a flowchart that represents a process by which a system for training a planning model of a vehicle's motion can identify interaction zones in which the system can modify a base simulation scenario.
  • 7 stellt ein erweitertes Beispielsimulationsszenario dar, in dem ein behinderndes Objektverhalten in das Szenario eingeführt wurde. 7 represents an extended example simulation scenario in which a hindering object behavior has been introduced into the scenario.
  • 8 stellt ein erweitertes Beispielsimulationsszenario dar, in dem ein abweichendes Objektverhalten in das Szenario eingeführt wurde. 8th represents an extended example simulation scenario in which a different object behavior has been introduced into the scenario.
  • 9 stellt dar, wie ein System Elementverteilungen in verschiedene Segmente einer Interaktionszone aufnehmen kann, wenn mehrere erweiterte Simulationsszenarien erzeugt wurden. 9 illustrates how a system can accommodate element distributions in different segments of an interaction zone when multiple extended simulation scenarios have been generated.
  • 10 zeigt ein Beispieleingabeformular zum Konfigurieren von simulierten Variationen. 10 shows a sample input form for configuring simulated variations.
  • 11 zeigt ein anderes Beispieleingabeformular zum Konfigurieren von simulierten Variationen. 11 shows another example input form for configuring simulated variations.
  • 12 zeigt berechnete Werte für eine Eigenschaft eines Objekts. 12 shows calculated values for a property of an object.
  • 13 zeigt ein anderes Beispieleingabeformular zum Konfigurieren von simulierten Variationen. 13 shows another example input form for configuring simulated variations.
  • 14 zeigt berechnete Werte für zwei Eigenschaften eines Objekts. 14 shows calculated values for two properties of an object.
  • 15 zeigt ein anderes Beispieleingabeformular zum Konfigurieren von simulierten Variationen. 15 shows another example input form for configuring simulated variations.
  • 16 zeigt berechnete Werte für zwei Eigenschaften eines Objekts. 16 shows calculated values for two properties of an object.
  • 17 zeigt ein anderes Beispieleingabeformular zum Konfigurieren von simulierten Variationen. 17 shows another example input form for configuring simulated variations.
  • 18 zeigt berechnete Werte für eine Eigenschaft eines Objekts. 18 shows calculated values for a property of an object.

AUSFÜHRLICHE BESCHREIBUNGDETAILED DESCRIPTION

Wie in diesem Dokument verwendet, umfassen die Singularformen „ein“, „eine“ und „der“ Pluralreferenzen, wenn der Zusammenhang nicht deutlich anderes angibt. Wenn nicht anders definiert, weisen alle hierin verwendeten technischen und wissenschaftlichen Begriffe dieselben Bedeutungen auf, wie üblicherweise von einem Fachmann auf dem Gebiet verstanden. Wie in diesem Dokument verwendet, bedeutet der Begriff „umfassen“ (oder „umfasst“) „einschließlich (oder schließt ein), aber nicht darauf begrenzt“. Definitionen für zusätzliche Begriffe, die für dieses Dokument relevant sind, sind am Ende dieser ausführlichen Beschreibung enthalten.As used in this document, the singular forms "a", "an" and "the" include plural references unless the context clearly indicates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. As used in this document, the term "comprising" (or "comprising") means "including (or including), but not limited to." Definitions for additional terms relevant to this document are included at the end of this Detailed Description.

Ein Softwarestapel eines autonomen Fahrzeugs (AV) umfasst verschiedene Softwareplattformen, die verschiedene Aufgaben handhaben, die helfen, dass sich das AV durch ein ganzes Umfeld bewegt. Diese Aufgaben umfassen Aufgaben wie z. B. Wahrnehmung, Bewegungsplanung und Bewegungssteuerung. Ein AV-Stapel kann sich in einem Softwarearchiv (in der physikalischen Form eines computerlesbaren Speichers) befinden, das für einen Originalgerätehersteller (OEM) und/oder Lieferanten des OEM verfügbar ist. Ein AV-Stapel kann auch direkt an einem Fahrzeug eingesetzt werden. Um effektiv zu sein, bevor er an einem Fahrzeug eingesetzt wird, muss jedoch ein AV-Stapel an mehreren Simulationsszenarien trainiert werden. Das Training ist ein Prozess, der eine Simulationsszenariodefinition auf ein oder mehrere der Systeme des AV-Stapels anwendet, so dass der AV-Stapel das Simulationsszenario verarbeiten und eine Reaktion erzeugen kann. Ergänzendes Training kann auch durchgeführt werden, nachdem ein AV-Stapel an einem Fahrzeug eingesetzt wird, mit zusätzlichen Simulationsszenarien, die den Betrieb des AV-Stapels weiterhin verbessern und helfen, dass das AV eine erhöhte Vielfalt von Bedingungen erkennt und darauf reagiert, wenn es diese in der realen Welt antrifft.An autonomous vehicle (AV) software stack includes various software platforms that handle different tasks that help the AV move through an entire environment. These tasks include tasks such as perception, motion planning, and motion control. An AV stack may reside in a software archive (in the physical form of computer-readable storage) that is available to an original equipment manufacturer (OEM) and/or suppliers to the OEM. An AV stack may also be deployed directly on a vehicle. However, to be effective, before being deployed on a vehicle, an AV stack must be trained on multiple simulation scenarios. Training is a process that applies a simulation scenario definition to one or more of the AV stack's systems so that the AV stack can process the simulation scenario and generate a response. Supplemental training can also be conducted after an AV stack is deployed on a vehicle, with additional simulation scenarios that further enhance the operation of the AV stack and help the AV to handle an increased variety of conditions recognizes and reacts when it encounters them in the real world.

Eine Simulationsszenariodefinition ist ein Satz von Parametern und/oder Programmieranweisungen, die ein oder mehrere Objekte in einer Szene, die anfänglichen Orte, Abmessungen und andere Konfigurationsparameter der Objekte identifizieren. Für solche Objekte kann die Simulationsszenariodefinition Beschleunigungsprofile oder andere Profile, die mögliche Bewegungen des Objekts in der Szene führen, umfassen. Einige Objekte können Akteure sein, die sich bewegen oder die sich bewegen könnten, wie z. B. Fahrzeuge, Fußgänger oder Tiere. Andere Objekte können auch statische Objekte sein, die das Sichtfeld des Wahrnehmungssystems des AV verdecken können, wie z. B. Vegetation oder Gebäude. 1A ist eine graphische Darstellung eines Beispielsimulationsszenarios für ein Fahrzeug 101, das sich entlang eines ersten Straßenzugs 117 gemäß einer geplanten Trajektorie 102 an einer Kreuzung mit einem zweiten Straßenzug 118 vorbei bewegt. Die Simulationsszenariodefinition umfasst Akteure, die ein geparktes Fahrzeug 113 und Fußgänger 114 und 115 sind. Die Konfiguration für das geparkte Fahrzeug 113 kann definieren, dass sich das Fahrzeug gegenwärtig nicht bewegt, aber dass es beginnen könnte, sich vorwärts und/oder in die Fahrspur des Fahrzeugs zu bewegen. Die Konfiguration für den Fußgänger 114 kann definieren, dass sich der Fußgänger parallel zum ersten Straßenzug 117 und in Richtung des zweiten Straßenzugs 118 bewegt und dass er gleich wahrscheinlich entweder den ersten Straßenzug 117 oder den zweiten Straßenzug 118 überquert, wenn er die Kreuzung erreicht. Die Konfiguration für den Fußgänger 115 kann definieren, dass sich der Fußgänger parallel zum ersten Straßenzug 117 bewegt und dass er eine höhere Wahrscheinlichkeit hat, dass er sich weiterhin vorwärts bewegt, als er wendet und den ersten Straßenzug 117 überquert. Das Simulationsszenario von 1A kann in einer Trainingssystemdatenbank für die Verwendung beim Trainieren von einem oder mehreren Untersystemen eines AV-Stapels gespeichert werden.A simulation scenario definition is a set of parameters and/or programming instructions that identify one or more objects in a scene, the initial locations, dimensions, and other configuration parameters of the objects. For such objects, the simulation scenario definition may include acceleration profiles or other profiles that guide possible movements of the object in the scene. Some objects may be actors that are moving or that could move, such as vehicles, pedestrians, or animals. Other objects may also be static objects that may obscure the field of view of the AV's perception system, such as vegetation or buildings. 1A is a graphical representation of an example simulation scenario for a vehicle 101 moving along a first roadway 117 according to a planned trajectory 102 past an intersection with a second roadway 118. The simulation scenario definition includes actors that are a parked vehicle 113 and pedestrians 114 and 115. The configuration for the parked vehicle 113 may define that the vehicle is not currently moving, but that it may begin to move forward and/or into the vehicle's lane. The configuration for the pedestrian 114 may define that the pedestrian is moving parallel to the first roadway 117 and toward the second roadway 118, and is equally likely to cross either the first roadway 117 or the second roadway 118 when reaching the intersection. The configuration for the pedestrian 115 may define that the pedestrian moves parallel to the first road 117 and that he has a higher probability of continuing to move forward than turning and crossing the first road 117. The simulation scenario of 1A can be stored in a training system database for use in training one or more subsystems of an AV stack.

Dieses Dokument beschreibt Verfahren und Systeme zum Erweitern von Basissimulationsszenarien wie z. B. dem in 1A gezeigten durch Einführen von einer oder mehreren Variationen in das Basisszenario. Die Variation kann das Einführen von einem oder mehreren neuen Akteuren in das Basisszenario, das Verändern der Konfiguration für einen oder mehrere der Akteure, die bereits in dem Szenario existieren, oder beides umfassen. 1B zeigt beispielsweise eine Variation des Simulationsszenarios von 1A, in der ein zusätzlicher Akteur - in diesem Fall ein geparktes Auto 119 - zur Szene hinzugefügt ist. Ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann ein erweitertes Simulationsszenario wie z. B. das von 1B zusätzlich zum Basisszenario von 1A speichern und verwenden, um den AV-Stapel zu trainieren. Das Erweitern von Basisszenarien unter Verwendung von solchen Variationen kann die Anzahl von Basisszenarien verringern, die erforderlich sind, um den AV-Stapel effektiv zu trainieren. Ferner können Simulationsvariationen, die typischerweise auf eine Teilmenge eines Szenarios fokussiert sind, im Allgemeinen leichter für den Benutzer zu verwalten sein als ein Basisszenario und können weniger Ressourcen wie z. B. Speicher oder Speicherplatz verwenden als Basisszenarien. Durch Verringern der Anzahl von Basisszenarien und Erweitern dieser kleineren Anzahl von Basisszenarien mit leichter zu verwaltenden (oder automatisch erzeugten) Simulationsvariationen kann die gesamte Verwaltungslast signifikant verringert werden. Der Benutzer kann beispielsweise nicht mehr ein neues Basisszenario erzeugen müssen, um einfach ein Objekt hinzuzufügen oder ein Verhalten oder eine Eigenschaft eines existierenden Objekts im Basisszenario zu modifizieren. Und der Benutzer kann eine Verwaltungsaktualisierung an einer großen Anzahl von Szenarien durch Durchführen der Verwaltungsaktualisierung an der relativ kleineren Anzahl von Basisszenarien durchführen können, von denen jedes durch zugehörige Simulationsvariationen erweitert wird. Ferner können Simulationsvariationen, die sich als wertvoll erweisen, wenn sie auf ein Basisszenario angewendet werden, leicht auf andere Basisszenarien angewendet werden, ohne sich die Belastung der Aktualisierung oder Umkonfiguration der anderen Basisszenarien zuzuziehen. Überdies kann die Verwendung von weniger Ressourcen die Gesamtzahl von Szenarien erhöhen, die verfügbar sind, um den AV-Stapel zu trainieren.This document describes methods and systems for extending basic simulation scenarios such as the one in 1A shown by introducing one or more variations into the base scenario. The variation may involve introducing one or more new actors into the base scenario, changing the configuration for one or more of the actors already existing in the scenario, or both. 1B shows, for example, a variation of the simulation scenario of 1A , in which an additional actor - in this case a parked car 119 - is added to the scene. A system for training a planning model of a movement of a vehicle may use an extended simulation scenario such as that of 1B in addition to the base scenario of 1A store and use to train the AV stack. Extending base scenarios using such variations may reduce the number of base scenarios required to effectively train the AV stack. Furthermore, simulation variations, which typically focus on a subset of a scenario, may generally be easier for the user to manage than a base scenario and may use fewer resources such as memory or storage than base scenarios. By reducing the number of base scenarios and extending this smaller number of base scenarios with more easily managed (or automatically generated) simulation variations, the overall management burden may be significantly reduced. For example, the user may no longer need to create a new base scenario simply to add an object or modify a behavior or property of an existing object in the base scenario. And the user may be able to perform a management update on a large number of scenarios by performing the management update on the relatively smaller number of base scenarios, each of which is augmented by associated simulation variations. Furthermore, simulation variations that prove valuable when applied to one base scenario can be easily applied to other base scenarios without incurring the burden of updating or reconfiguring the other base scenarios. Moreover, using fewer resources can increase the total number of scenarios available to train the AV stack.

Vor dem weiteren Erkunden der Details der vorliegenden Ausführungsformen stellen wir einige Hintergrundinformationen über AV-Systeme bereit. 2 zeigt eine Übersicht hoher Ebene von Untersystemen eines AV-Stapels, die für die nachstehende Erörterung relevant sein können. Bestimmte Komponenten der Untersysteme können in Prozessorhardware und computerlesbaren Programmieranweisungen verkörpert sein, die ein Teil eines Rechensystems 201 sind, das sich entweder an Bord des Fahrzeugs befindet oder das sich außerhalb befindet und auf einer oder mehreren Speichervorrichtungen gespeichert ist. Die Untersysteme können ein Wahrnehmungssystem 202 umfassen, das Sensoren umfasst, die Informationen über sich bewegende Akteure und andere Objekte erfassen, die in der unmittelbaren Umgebung des Fahrzeugs existieren. Beispielsensoren umfassen Kameras, LiDAR-Sensoren und Radarsensoren. Die durch solche Sensoren erfassten Daten (wie z. B. digitale Bilder, LiDAR-Punktwolkendaten oder Radardaten) sind als Wahrnehmungsdaten bekannt. Die Wahrnehmungsdaten können Daten umfassen, die ein oder mehrere Objekte im Umfeld repräsentieren.Before further exploring the details of the present embodiments, we provide some background information about AV systems. 2 shows a high-level overview of subsystems of an AV stack that may be relevant to the discussion below. Certain components of the subsystems may be embodied in processor hardware and computer-readable programming instructions that are part of a computing system 201 that is either onboard the vehicle or that is external and stored on one or more storage devices. The subsystems may include a perception system 202 that includes sensors that capture information about moving actors and other objects that exist in the immediate vicinity of the vehicle. Example sensors include cameras, LiDAR sensors, and radar sensors. The data captured by such sensors (such as digital images, LiDAR point cloud data, or radar data) is known as perception data. The perception Perception data may include data representing one or more objects in the environment.

Das Wahrnehmungssystem kann einen oder mehrere Prozessoren und einen computerlesbaren Speicher mit Programmieranweisungen und/oder trainierten Modellen künstlicher Intelligenz umfassen, die während einer Fahrt des AV die Wahrnehmungsdaten verarbeiten, um Objekte zu identifizieren und kategorische Bezeichnungen und eindeutige Identifikatoren zu jedem in einer Szene detektierten Objekt zuweisen. Kategorische Bezeichnungen können Kategorien wie z. B. Fahrzeug, Fahrradfahrer, Fußgänger, Gebäude und dergleichen umfassen. Verfahren zum Identifizieren von Objekten und Zuweisen von kategorischen Bezeichnungen zu Objekten sind auf dem Fachgebiet gut bekannt und irgendein geeigneter Klassifikationsprozess kann verwendet werden, wie z. B. jene, die Begrenzungsrahmenvorhersagen für detektierte Objekte in einer Szene durchführen und faltende neuronale Netzwerke oder andere Computervisionsmodelle verwenden. Einige solche Prozesse sind in Yurtsever et al., „A Survey of Autonomous Driving: Common Practices and Emerging Technologies“ (veröffentlicht in IEEE Access, April 2020) beschrieben.The perception system may include one or more processors and computer-readable memory with programming instructions and/or trained artificial intelligence models that, during a trip of the AV, process the perception data to identify objects and assign categorical labels and unique identifiers to each object detected in a scene. Categorical labels may include categories such as vehicle, bicyclist, pedestrian, building, and the like. Methods for identifying objects and assigning categorical labels to objects are well known in the art, and any suitable classification process may be used, such as those that perform bounding box predictions for detected objects in a scene and use convolutional neural networks or other computer vision models. Some such processes are described in Yurtsever et al., “A Survey of Autonomous Driving: Common Practices and Emerging Technologies” (published in IEEE Access, April 2020).

Das Wahrnehmungssystem 202 des Fahrzeugs kann Wahrnehmungsdaten zum Vorhersagesystem 203 des Fahrzeugs liefern. Das Vorhersagesystem (das auch als Prognosesystem bezeichnet werden kann) umfasst Prozessoren und computerlesbare Programmieranweisungen, die dazu eingerichtet sind, Daten zu verarbeiten, die vom Wahrnehmungssystem empfangen werden, und Handlungen von anderen Akteuren, die das Wahrnehmungssystem detektiert, vorherzusagen.The vehicle's perception system 202 may provide perception data to the vehicle's prediction system 203. The prediction system (which may also be referred to as a prognostic system) includes processors and computer-readable programming instructions configured to process data received from the perception system and predict actions of other actors that the perception system detects.

Das Wahrnehmungssystem 202 des Fahrzeugs sowie das Vorhersagesystem 203 des Fahrzeugs liefern Daten und Informationen zum Bewegungsplanungssystem 204 und Bewegungssteuersystem 205 des Fahrzeugs, so dass die Empfangssysteme solche Daten bewerten und irgendeine Anzahl von Reaktionsbewegungen auf solche Daten einleiten können. Das Bewegungsplanungssystem 204 und das Bewegungssteuersystem 205 umfassen und/oder teilen sich einen oder mehrere Prozessoren und computerlesbare Programmieranweisungen, die dazu eingerichtet sind, Daten zu verarbeiten, die von den anderen Systemen empfangen werden, eine Trajektorie für das Fahrzeug zu berechnen und Befehle an die Fahrzeughardware auszugeben, um das Fahrzeug gemäß der bestimmten Trajektorie zu bewegen. Beispielhandlungen, die solche Befehle bewirken können, umfassen das Bewirken, dass das Bremssteuersystem des Fahrzeugs betätigt, das Bewirken, dass das Beschleunigungssteueruntersystem des Fahrzeugs die Geschwindigkeit des Fahrzeugs erhöht, oder das Bewirken, dass das Lenksteueruntersystem des Fahrzeugs das Fahrzeug wendet. Verschiedene Bewegungsplanungstechniken sind gut bekannt, beispielsweise wie in Gonzalez et al., „A Review of Motion Planning Techniques for Automated Vehicles,“ veröffentlicht in IEEE Transactions on Intelligent Transportation Systems, Band 17, Nr. 4 (April 2016) beschrieben.The vehicle's perception system 202 and the vehicle's prediction system 203 provide data and information to the vehicle's motion planning system 204 and motion control system 205 so that the receiving systems can evaluate such data and initiate any number of responsive movements to such data. The motion planning system 204 and the motion control system 205 include and/or share one or more processors and computer-readable programming instructions configured to process data received from the other systems, calculate a trajectory for the vehicle, and issue commands to the vehicle hardware to move the vehicle according to the determined trajectory. Example actions that such commands may cause include causing the vehicle's braking control system to apply, causing the vehicle's acceleration control subsystem to increase the vehicle's speed, or causing the vehicle's steering control subsystem to turn the vehicle. Various motion planning techniques are well known, for example as described in Gonzalez et al., “A Review of Motion Planning Techniques for Automated Vehicles,” published in IEEE Transactions on Intelligent Transportation Systems, Volume 17, No. 4 (April 2016).

Die vorstehend beschriebenen Untersysteme können als Komponenten eines AV-Stapels implementiert werden, der an verschiedenen Simulationsszenarien trainiert werden kann. Wie vorstehend beschrieben, kann das System 201, an dem die Untersysteme installiert sein können, eine Computerverarbeitungshardware des Fahrzeugs sein oder es kann eine oder mehrere Speichervorrichtungen sein, die sich außerhalb des Fahrzeugs befinden. Das System 201 kann mit einem entfernten Server 206 in Kommunikation stehen, der Aktualisierungen und/oder Befehle bereitstellt oder der Daten vom AV-Stapel empfängt. Außerdem steht das System 201, an dem der AV-Stapel installiert ist, in den vorliegenden Ausführungsformen mit einem System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs 209 in elektronischer Kommunikation. Das System 209 umfasst einen Prozessor 211, einen Datenspeicher 212, der eine Vielfalt von gespeicherten Simulationsszenarien enthält, und einen Speicher, der Programmieranweisungen 213 zum Erzeugen, Modifizieren und Verwenden von Simulationsszenarien enthält, um das System 201 zu trainieren.The subsystems described above may be implemented as components of an AV stack that can be trained on various simulation scenarios. As described above, the system 201 on which the subsystems may be installed may be computer processing hardware of the vehicle, or it may be one or more storage devices located external to the vehicle. The system 201 may be in communication with a remote server 206 that provides updates and/or commands or that receives data from the AV stack. Additionally, in the present embodiments, the system 201 on which the AV stack is installed is in electronic communication with a system for training a planning model of movement of a vehicle 209. The system 209 includes a processor 211, a data store 212 containing a variety of stored simulation scenarios, and a memory containing programming instructions 213 for creating, modifying, and using simulation scenarios to train the system 201.

Wahlweise kann das System 209 auch eine Benutzerschnittstelle 214 zum Darstellen von Informationen für einen Benutzer und Empfangen von Informationen und/oder Befehlen vom Benutzer umfassen. Die Benutzerschnittstelle 214 kann beispielsweise eine Anzeige umfassen, über die das System graphische Darstellungen von Simulationsszenarien sowie ein oder mehrere Menüs oder Formulare, die Merkmale oder Optionen zum Erweitern des Szenarios darstellen, ausgeben kann. Die Benutzerschnittstelle kann auch eine Eingabevorrichtung wie z. B. eine Maus, eine Tastatur, ein Tastenfeld, ein Mikrophon und/oder Berührungsbildschirmelemente der Anzeige umfassen, über die der Ausgeber Variationen für ein angezeigtes Szenario auswählen kann. Die Variationen können neue Akteure, Konfigurationsparameter für neue oder existierende Akteure oder andere Informationen umfassen.Optionally, the system 209 may also include a user interface 214 for presenting information to a user and receiving information and/or commands from the user. The user interface 214 may, for example, include a display through which the system can output graphical representations of simulation scenarios and one or more menus or forms representing features or options for enhancing the scenario. The user interface may also include an input device, such as a mouse, keyboard, keypad, microphone, and/or touch screen elements of the display, through which the outputter can select variations for a displayed scenario. The variations may include new actors, configuration parameters for new or existing actors, or other information.

10 zeigt ein Beispieleingabeformular 1000 zum Konfigurieren von simulierten Variationen eines Objekts in einer Szene. Das Formular zeigt mehrere Eigenschaften 1001 des Objekts an, die variiert werden können. Hier umfassen die variablen Eigenschaften 1001 Abmessungen des Objekts wie z. B. seine Höhe oder seine Position in der Szene (hier als longitudinaler Abstand und seitlicher Versatz mit Bezug auf eine Referenz in der Szene wie z. B. die Startposition des AV in der Simulation gezeigt). Andere variable Eigenschaften 1001 können auf die Zeit und/oder Bewegung bezogen sein, wie z. B. die Übergangszeit, dass sich eine Verkehrsampel ändert, oder die Beschleunigung eines Objekts. Andere variable Eigenschaften 1001 können sich auf das Verhalten des Objekts wie z. B. den Abstand vom Fahrzeug zum Objekt, der ein Verhalten des Objekts auslöst, beziehen. Wenn beispielsweise das Fahrzeug in den Auslöseabstand eines Objekts, das einen Fußgänger simuliert, kommt, kann der Fußgänger beginnen, die Straße zu überqueren. Ebenso kann ein geparktes Auto wie z. B. das im Eingabeformular 1000 von 10 konfigurierte beginnen, sich vorwärts und/oder in die Fahrspur des Fahrzeugs zu bewegen, wenn das Fahrzeug in den konfigurierten Auslöseabstand kommt. Das Beispieleingabeformular umfasst eine Bearbeitungsschaltfläche (wie z. B. die Schaltfläche 1002) für jede variable Eigenschaft, was ermöglicht, dass der Benutzer Aspekte jeder Variation konfiguriert. Der Benutzer kann beispielsweise den Wert 1003 der entsprechenden Eigenschaft ändern. 10 shows a sample input form 1000 for configuring simulated variations of an object in a scene. The form displays several properties 1001 of the object that can be varied. Here, the variable properties 1001 include dimensions of the object such as its height or its position in the scene (shown here as longitudinal distance and lateral offset with respect to a reference in the scene such as the starting position of the AV in the simulation). Other variable properties 1001 may be related to time and/or motion, such as the transition time for a traffic light to change or the acceleration of an object. Other variable properties 1001 may be related to the behavior of the object such as the distance from the vehicle to the object that triggers a behavior of the object. For example, when the vehicle comes within the trigger distance of an object simulating a pedestrian, the pedestrian may begin to cross the street. Likewise, a parked car such as the one shown in the input form 1000 of 10 configured to begin moving forward and/or into the vehicle's path when the vehicle comes within the configured trigger distance. The example input form includes an edit button (such as button 1002) for each variable property, allowing the user to configure aspects of each variation. For example, the user can change the value 1003 of the corresponding property.

11 zeigt ein Beispieleingabeformular 1100 zum Konfigurieren der Variation einer Eigenschaft 1001 des Objekts in der Szene. Hier ist die Eigenschaft 1001 der seitliche Versatz des Objekts mit Bezug auf die Referenz in der Szene. Das Beispieleingabeformular präsentiert dem Benutzer mehrere diskrete Optionen 1101 zum Konfigurieren der Variation, einschließlich des Sperrens der Variation der Eigenschaft. Das Beispieleingabeformular präsentiert dem Benutzer auch Felder 1102, die ermöglichen, dass der Benutzer Zahlenwerte in Bezug auf die Konfiguration einträgt. Hier hat der Benutzer konfiguriert, dass der seitliche Versatz Werte zwischen -2,5 Metern und -3,4 Metern in Schritten von -0,1 Metern durchläuft, ohne den unmittelbar vorangehenden Wert zu wiederholen (Wiederholung = 0). Mit Bezug auf 12 kann in Reaktion darauf, dass der Benutzer die Variation konfiguriert, die Benutzerschnittstelle 214 ein Formular 1200 mit einer Tabelle von Werten 1201 für die konfigurierte Variation anzeigen. Wahlweise kann die Benutzerschnittstelle Felder umfassen, die ermöglichen, dass ein Benutzer einen speziellen Wert 1202, 1202a-n aus der Tabelle 1201 zur Verwendung für die Eigenschaft 1001 des Objekts anstelle des Werts für die Eigenschaft 1001 des Basisszenarios auswählt. Der Benutzer kann eine Schaltfläche 1203 auswählen, um anzugeben, dass der ausgewählte Wert 1202 in einem modifizierten Szenario verwendet werden sollte. In Reaktion kann die Benutzerschnittstelle eine graphische Anzeige des modifizierten Szenarios unter Verwendung des ausgewählten Werts 1202 für die Eigenschaft 1001 des Objekts ausgeben. Die Benutzerschnittstelle umfasst Felder (z. B. des Eingabeformulars 1100), durch die ein Benutzer Daten eintragen kann, um die Variationskonfiguration auf der Basis des angezeigten Szenarios zu verfeinern, z. B. um einen guten Bereich von Szenarien bereitzustellen, um den AV-Stapel zu trainieren. Wenn der Benutzer mit der Variationskonfiguration zufrieden ist, gibt der Benutzer eine Angabe ein (z. B. Schaltfläche 1103 des Eingabeformulars 1100), dass die Konfiguration vollständig ist. In Reaktion kann das System die Variationskonfiguration z. B. in einer Trainingssystemdatenbank speichern, wo die Variationskonfiguration auf andere Basisszenarien angewendet werden kann. 11 shows a sample input form 1100 for configuring the variation of a property 1001 of the object in the scene. Here, the property 1001 is the lateral offset of the object with respect to the reference in the scene. The sample input form presents the user with several discrete options 1101 for configuring the variation, including locking the variation of the property. The sample input form also presents the user with fields 1102 that allow the user to enter numerical values related to the configuration. Here, the user has configured the lateral offset to cycle through values between -2.5 meters and -3.4 meters in increments of -0.1 meters without repeating the immediately preceding value (repeat = 0). With reference to 12 in response to the user configuring the variation, the user interface 214 may display a form 1200 with a table of values 1201 for the configured variation. Optionally, the user interface may include fields that enable a user to select a specific value 1202, 1202a-n from the table 1201 to use for the property 1001 of the object instead of the value for the base scenario property 1001. The user may select a button 1203 to indicate that the selected value 1202 should be used in a modified scenario. In response, the user interface may output a graphical display of the modified scenario using the selected value 1202 for the property 1001 of the object. The user interface includes fields (e.g., of the input form 1100) through which a user can enter data to refine the variation configuration based on the displayed scenario, e.g., e.g., to provide a good range of scenarios to train the AV stack. When the user is satisfied with the variation configuration, the user enters an indication (e.g., button 1103 of input form 1100) that the configuration is complete. In response, the system may, e.g., store the variation configuration in a training system database where the variation configuration may be applied to other base scenarios.

13 zeigt ein Beispieleingabeformular 1300, das den anfänglichen longitudinalen Abstand des Objekts von der Referenz in der Szene konfiguriert. Hier hat der Benutzer den longitudinalen Abstand so konfiguriert, dass er durch eine Anzahl von definierten Werten (in diesem Beispiel fünf Werten) schreitet, ohne den unmittelbar vorangehenden Wert zu wiederholen (Wiederholung = 0). Mit Bezug auf 14 kann in Reaktion darauf, dass der Benutzer die Variation konfiguriert, die Benutzerschnittstelle 214 ein Formular 1400 mit einer ersten Tabelle 1201 von Werten 1202a-n für die erste konfigurierte Variation und einer zweiten Tabelle 1401 von Werten 1402a-n für die zweite konfigurierte Variation anzeigen. Obwohl jede Variation der Eigenschaft 1001a, 1001b separat konfiguriert wird, kann das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs die Variationen gemeinsam betrachten, wenn ein Simulationsszenario erweitert wird. Hier ist der seitliche Versatz so konfiguriert, dass er zehn Werte durchläuft, aber der longitudinale Abstand ist so konfiguriert, dass er nur fünf definierte Werte durchschreitet. In einigen Beispielen, wenn der endgültige definierte Wert für jede Eigenschaft 1001a, 1001b erreicht ist, wird der endgültige Wert beibehalten, während Werte für andere Eigenschaften 1001a-n weiterhin gemäß jeder Variationskonfiguration variieren. Hier wiederholt sich die Sequenz von Werten für jede Eigenschaft 1001b, während Werte für andere Eigenschaften 1001a weiterhin variieren. Das gezeigte Beispiel umfasst viele mögliche Kombinationen von Werten für beide Eigenschaften 1001a, 1001b, umfasst jedoch nicht jede Kombination von Werten. 13 shows an example input form 1300 that configures the initial longitudinal distance of the object from the reference in the scene. Here, the user has configured the longitudinal distance to step through a number of defined values (in this example, five values) without repeating the immediately preceding value (repetition = 0). With reference to 14 in response to the user configuring the variation, the user interface 214 may display a form 1400 with a first table 1201 of values 1202a-n for the first configured variation and a second table 1401 of values 1402a-n for the second configured variation. Although each variation of the property 1001a, 1001b is configured separately, the system for training a planning model of a movement of a vehicle may consider the variations together as a simulation scenario is expanded. Here, the lateral offset is configured to go through ten values, but the longitudinal distance is configured to go through only five defined values. In some examples, when the final defined value for each property 1001a, 1001b is reached, the final value is maintained while values for other properties 1001a-n continue to vary according to each variation configuration. Here, the sequence of values for each property 1001b repeats, while values for other properties 1001a continue to vary. The example shown includes many possible combinations of values for both properties 1001a, 1001b, but does not include every combination of values.

15 zeigt ein Beispielkonfigurationsformular 1500 ähnlich zu dem Beispieleingabeformular 1100 von 11, wobei der Wiederholungsparameter auf vier anstelle von null gesetzt ist, was den seitlichen Versatz so konfiguriert, dass er Werte zwischen -2,5 Metern und -3,4 Metern in Schritten von -0,1 Metern durchläuft, wobei jeder Wert vier zusätzliche Male in jedem Schritt für insgesamt 50 Werte wiederholt wird. Mit Bezug auf 16 kann die Benutzerschnittstelle 214 in Reaktion darauf, dass der Benutzer die Variation konfiguriert, ein Formular 1600 mit einer ersten Tabelle 1201 von Werten 1202a-n für die erste konfigurierte Variation und einer zweiten Tabelle 1401 von Werten 1402a-n für die zweite konfigurierte Variation anzeigen (die gezeigte Tabelle 1401 ist bei den ersten zwölf Werten abgeschnitten). Hier hat der Benutzer den Wiederholungsparameter so festgelegt, dass die Gesamtzahl von Malen, die der Wert in jedem Schritt auftritt, gleich der Anzahl von definierten Werten der Variationskonfiguration der anderen Eigenschaften 1001a oder 1001b ist. Daher können alle Kombinationen von Werten für Variationskonfigurationen beider Eigenschaften 1001a, 1001b simuliert werden. Wie vorstehend offenbart, kann der Benutzer ein Paar von Werten 1202a-n, 1402a-n aus der Tabelle 1201, 1401 zur Verwendung für die Eigenschaften 1001 der Objekte anstelle der Werte für die Eigenschaft 1001 des Basisszenarios auswählen. In Reaktion auf die Auswahl kann die Benutzerschnittstelle eine graphische Anzeige des Szenarios ausgeben, die durch die ausgewählten Werte für die Eigenschaften 1001 des Objekts modifiziert ist. Der Benutzer kann die Variationskonfigurationen auf der Basis des angezeigten Szenarios weiterhin verfeinern. 15 shows a sample configuration form 1500 similar to the sample input form 1100 of 11 , with the repetition parameter set to four instead of zero, which configures the lateral offset to cycle through values between -2.5 meters and -3.4 meters in increments of -0.1 meters, with each value repeated four additional times in each step for a total of 50 values. With reference to 16 In response to the user configuring the variation, the user interface 214 may display a form 1600 with a first table 1201 of values 1202a-n for the first configured variation and a second table 1401 of values 1402a-n for the second configured variation (the table 1401 shown is truncated at the first twelve values). Here, the user has set the repetition parameter such that the total number of times the value occurs in each step is equal to the number of defined values of the variation configuration of the other properties 1001a or 1001b. Therefore, all combinations of values for variation configurations of both properties 1001a, 1001b can be simulated. As disclosed above, the user can select a pair of values 1202a-n, 1402a-n from the table 1201, 1401 to use for the properties 1001 of the objects instead of the values for the property 1001 of the base scenario. In response to the selection, the user interface may output a graphical display of the scenario modified by the selected values for the object's properties 1001. The user may further refine the variation configurations based on the displayed scenario.

Der Benutzer kann die Variation von zusätzlichen Eigenschaften 1001 von Objekten in der Szene konfigurieren. 17 zeigt ein Beispielkonfigurationsformular 1700 mit dem Auslöseabstand für das Objekt. Hier hat der Benutzer den Auslöseabstand so konfiguriert, dass er 10 Pseudozufallswerte zwischen 4 und 15 durchschreitet. Mit Bezug auf 18 kann die Benutzerschnittstelle 214 in Reaktion darauf, dass der Benutzer die Variation konfiguriert, ein Formular 1800 mit einer Tabelle von Werten 1201 für die konfigurierte Variation anzeigen. Hier umfassen die Werte 1202 die Pseudozufallswerte zwischen 4 und 15. Die Benutzerschnittstelle kann einen Ausgangswert für den Zufallszahlengenerator erzeugen, so dass dieselben Werte für den Auslöseabstand während jeder anschließenden Simulation verwendet werden. Alternativ kann der Benutzer wählen, eine neue Ausgangszahl einzugeben, um einen neuen Satz von zehn Pseudozufallswerten zu erzeugen, die in anschließenden Simulationen verwendet werden sollen. Der Benutzer kann auch Variationen im Bewegungsprofil eines Objekts konfigurieren. Der Benutzer kann beispielsweise die Bremsleistung des Fahrzeugs (oder aller Fahrzeuge, z. B. in einer Simulation von Straßen, die mit Schnee oder Eis bedeckt sind) konfigurieren. In diesem Beispiel kann der Benutzer die Bremsleistung so konfigurieren, dass sie eine gewisse Anzahl von Zufallswerten mit einer Gauß-Verteilung durchschreitet (z. B. mit einem konfigurierbaren Mittelwert und einer konfigurierbaren Standardabweichung), um variierende Niveaus von verschlechterter Bremsleistung zu simulieren, z. B. aufgrund von variierenden Graden von simuliertem Schnee oder Eis auf der Straße. In einigen Beispielen, wenn der Benutzer mit der Variationskonfiguration für ein Objekt (z. B. dem Bereich der verschlechterten Bremsleistung) zufrieden ist, gibt der Benutzer eine Angabe (z. B. Schaltfläche 1103 des Eingabeformulars 1100) ein, dass die Konfiguration vollständig ist. In Reaktion kann das System die Variationskonfiguration z. B. in einer Trainingssystemdatenbank speichern, wo die Variationskonfiguration auf beliebige oder alle anderen Objekte innerhalb des Basisszenarios oder beliebige oder alle Objekte in anderen Basisszenarien angewendet werden kann. Andere Verteilungen von Zufallszahlen können verwendet werden, einschließlich Poisson-Verteilungen (z. B. mit einem konfigurierbaren Mittelwert).The user can configure the variation of additional properties 1001 of objects in the scene. 17 shows a sample configuration form 1700 with the trigger distance for the object. Here, the user has configured the trigger distance to pass through 10 pseudorandom values between 4 and 15. With reference to 18 in response to the user configuring the variation, the user interface 214 may display a form 1800 with a table of values 1201 for the configured variation. Here, the values 1202 include the pseudorandom values between 4 and 15. The user interface may generate a seed value for the random number generator so that the same values for the trigger distance are used during each subsequent simulation. Alternatively, the user may choose to enter a new seed number to generate a new set of ten pseudorandom values to be used in subsequent simulations. The user may also configure variations in the motion profile of an object. For example, the user may configure the braking performance of the vehicle (or all vehicles, e.g., in a simulation of roads covered with snow or ice). In this example, the user may configure the braking performance to step through a certain number of random values with a Gaussian distribution (e.g., with a configurable mean and a configurable standard deviation) to simulate varying levels of degraded braking performance, e.g., due to varying degrees of simulated snow or ice on the road. In some examples, when the user is satisfied with the variation configuration for an object (e.g., the range of degraded braking performance), the user enters an indication (e.g., button 1103 of input form 1100) that the configuration is complete. In response, the system may, e.g., store the variation configuration in a training system database, where the variation configuration may be applied to any or all other objects within the base scenario, or any or all objects in other base scenarios. Other distributions of random numbers may be used, including Poisson distributions (e.g., with a configurable mean).

Der Benutzer kann beispielsweise die Variation der verschlechterten Bremsleistung speichern, so dass sie auf das AV in anderen Basisszenarien angewendet werden kann. Ebenso kann der Benutzer Variationskonfigurationen in Bezug auf andere Eigenschaften 1001 des AV wie z. B. eine Startgeschwindigkeit oder -position speichern, so dass die anderen Eigenschaften 1001 auch in anderen Basisszenarien verwendet werden können. Überdies können Variationskonfigurationen auf eine tatsächliche oder Live-Prüfung eines AV z. B. auf einer Teststrecke oder einem anderen kontrollierten Umfeld angewendet werden. In dieser Weise kann der Benutzer die tatsächliche Leistung des AV (z. B. unter Verwendung des trainierten AV-Stapels) gegenüber beliebigen oder allen Variationskonfigurationen testen, ohne Konfigurationsänderungen manuell einrichten zu müssen. In einigen Beispielen kann der Benutzer entscheiden, dass es unnötig ist, jede Kombination von Werten für jede variable Eigenschaft 1001 von mehreren Objekten in der Szene zu simulieren. Bestimmte Kombinationen von Eigenschaften 1001 von einem oder mehreren Objekten können beispielsweise nicht zu einem vernünftigen Szenario führen. Die Benutzerschnittstelle kann zusätzliche Konfigurationsformulare und -menüs anzeigen, die dem Benutzer ermöglichen, ungültige oder unnötige Kombinationen von Objekteigenschaften 1001 aus den Variationskonfigurationen zu entfernen.For example, the user may save the variation of the degraded braking performance so that it can be applied to the AV in other baseline scenarios. Likewise, the user may save variation configurations related to other properties 1001 of the AV, such as a starting speed or position, so that the other properties 1001 can also be used in other baseline scenarios. Moreover, variation configurations may be applied to an actual or live test of an AV, e.g., on a test track or other controlled environment. In this way, the user may test the actual performance of the AV (e.g., using the trained AV stack) against any or all variation configurations without having to manually set up configuration changes. In some examples, the user may decide that it is unnecessary to simulate every combination of values for every variable property 1001 of multiple objects in the scene. For example, certain combinations of properties 1001 of one or more objects may not result in a reasonable scenario. The user interface may display additional configuration forms and menus that allow the user to remove invalid or unnecessary combinations of object properties 1001 from the variation configurations.

3A ist ein Ablaufplan, der einen Prozess darstellt, durch den ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs (wie z. B. das System 209 in 2) ein erweitertes Simulationsszenario für das Trainieren eines AV-Stapels erzeugen kann. 4A stellt bestimmte Elemente des Prozesses in einem alternativen Format dar. Mit Bezug auf 3A und 4A wählt das System bei 301 ein Basissimulationsszenario aus seinem Satz von gespeicherten Simulationsszenarien aus. Simulationsszenarien können Daten, die von tatsächlichen Fahrten von Fahrzeugen in der realen Welt erhalten werden, Daten, die durch manuelle oder automatisierte Simulationsprozesse erzeugt werden, oder beide umfassen. Das System kann das Basissimulationsszenario auswählen, was in Reaktion auf eine Benutzereingabe durchgeführt wird, die über eine Benutzerschnittstelle empfangen wird. Alternativ kann die Auswahl automatisch durch Prozesse wie z. B. zufällige Auswahl, durch Wählen des nächsten Szenarios in einer eingestuften Reihenfolge oder durch Anwenden eines Regelsatzes wie z. B. eines, der ein Basisszenario auswählt, das eine oder mehrere Bedingungen erfüllt, stattfinden. Das System erzeugt dann bei 401 ein Erweiterungselement für das Simulationsszenario. Die Erzeugung des Erweiterungselements umfasst verschiedene Unterprozesse, wie nachstehend beschrieben. 3A is a flow chart that represents a process by which a system for training a planning model of a movement of a vehicle (such as the system 209 in 2 ) can generate an extended simulation scenario for training an AV stack. 4A presents certain elements of the process in an alternative format. With reference to 3A and 4A the system selects a base simulation scenario from its set of stored simulation scenarios at 301. Simulation scenarios may include data obtained from actual trips of vehicles in the real world, data generated by manual or automated simulation processes or both. The system may select the base simulation scenario, which is performed in response to user input received via a user interface. Alternatively, the selection may occur automatically through processes such as random selection, choosing the next scenario in a ranked order, or applying a set of rules such as one that selects a base scenario that satisfies one or more conditions. The system then generates an extension element for the simulation scenario at 401. Generation of the extension element includes various subprocesses as described below.

Wahlweise können die Unterprozesse das Identifizieren einer Interaktionszone innerhalb des Basissimulationsszenarios umfassen (Schritt 302). Eine Interaktionszone ist ein Zeit- und Abstandsbereich im Basissimulationsszenario, in das das System ein Erweiterungselement einführt. Die Interaktionszone kann einen physikalischen Ort in der Szene, eine Zeit in der Simulation oder sowohl einen physikalischen Ort als auch eine Zeit umfassen. Die Orte und Zeiten können spezielle Punkte oder Bereiche sein. In einigen Ausführungsformen kann das System die Interaktionszone als jene identifizieren, die ein Benutzer über eine Benutzerschnittstelle eingibt. In anderen kann das System automatisch die Interaktionszone auf der Basis von einer oder mehreren Regeln wählen. Beispielregeln können Regeln umfassen, um eine Zeit und/oder eine Position auszuwählen, die eine oder mehrere Bedingungen erfüllen, wie z. B.:

  • - eine Position, die sich in oder innerhalb eines Schwellenabstandes von der Kreuzung befindet;
  • - ein Zeitbereich und eine Position, entlang derer das Fahrzeug einen Spurwechsel durchführt; oder
  • - ein Zeitbereich und eine Position, entlang derer das Fahrzeug ein geschütztes oder ungeschütztes Linksabbiegen oder Rechtsabbiegen an einer Kreuzung durchführt.
  • Zusätzliche Aspekte des Interaktionszonenauswahlprozesses werden nachstehend im Zusammenhang mit 6 beschrieben.
Optionally, the subprocesses may include identifying an interaction zone within the base simulation scenario (step 302). An interaction zone is a time and distance range in the base simulation scenario into which the system introduces an augmentation element. The interaction zone may include a physical location in the scene, a time in the simulation, or both a physical location and a time. The locations and times may be specific points or areas. In some embodiments, the system may identify the interaction zone as one that a user enters via a user interface. In others, the system may automatically select the interaction zone based on one or more rules. Example rules may include rules to select a time and/or a location that meets one or more conditions, such as:
  • - a position located at or within a threshold distance from the intersection;
  • - a time range and a position along which the vehicle performs a lane change; or
  • - a time range and a position along which the vehicle performs a protected or unprotected left turn or right turn at an intersection.
  • Additional aspects of the interaction zone selection process are discussed below in connection with 6 described.

Bei 303 wählt das System, ob ein neues Objekt zur Szene hinzugefügt werden soll oder das Verhalten eines existierenden Akteurs in der Szene modifiziert werden soll. Diese Wahl kann empfangen werden: (a) von einem Benutzer über die Benutzerschnittstelle; (b) automatisch und zufällig; oder (c) automatisch auf der Basis von einer oder mehreren Regeln. Wenn sie über die Benutzerschnittstelle empfangen wird, kann die Wahl in Reaktion auf einen Satz von Optionen empfangen werden, die das System an den Benutzer über die Benutzerschnittstelle ausgibt. Wenn das System eine Interaktionszone bei 302 identifiziert hat und wenn das Simulationsszenario kein geeignetes Objekt innerhalb der Interaktionszone umfasst, kann das System erfordern, dass die Wahl ein neues Objekt ist, da kein existierendes Objekt, dessen Verhalten modifiziert werden kann, in der Interaktionszone verfügbar ist.At 303, the system chooses whether to add a new object to the scene or to modify the behavior of an existing actor in the scene. This choice may be received: (a) from a user via the user interface; (b) automatically and randomly; or (c) automatically based on one or more rules. If received via the user interface, the choice may be received in response to a set of options that the system outputs to the user via the user interface. If the system has identified an interaction zone at 302 and if the simulation scenario does not include a suitable object within the interaction zone, the system may require that the choice be a new object because no existing object whose behavior can be modified is available in the interaction zone.

Wenn die Wahl bei 303 darin besteht, ein neues Objekt auszuwählen, oder wenn die Wahl bei 303 darin besteht, das Verhalten eines existierenden Objekts zu modifizieren, und mehrere Kandidatenobjekte verfügbar sind, dann kann das System bei 304 eine Objektklasse auswählen, um sie im Erweiterungselement zu verwenden. Beispielobjektklassen können beispielsweise Fußgänger, Fahrzeug, Fahrradfahrer, Vegetation, Gebäude und/oder andere Objektklassen umfassen. Wenn die Wahl bei 303 darin bestand, das Verhalten eines existierenden Objekts zu modifizieren, dann können die Kandidatenobjektklassen für die Auswahl auf jene begrenzt werden, die in der Szene (oder gegebenenfalls in der Interaktionszone) vorhanden sind. Die Auswahl der Objektklasse bei 304 kann: (a) von einem Benutzer über die Benutzerschnittstelle empfangen werden; (b) automatisch und zufällig durch das System ausgewählt werden; oder (c) automatisch durch das System auf der Basis von einer oder mehreren Regeln ausgewählt werden. Wenn sie über die Benutzerschnittstelle empfangen wird, kann die Wahl in Reaktion auf einen Satz von Optionen empfangen werden, die das System an den Benutzer über die Benutzerschnittstelle ausgibt.If the choice at 303 is to select a new object, or if the choice at 303 is to modify the behavior of an existing object, and multiple candidate objects are available, then the system may select an object class at 304 to use in the extension element. Example object classes may include, for example, pedestrian, vehicle, cyclist, vegetation, building, and/or other object classes. If the choice at 303 was to modify the behavior of an existing object, then the candidate object classes for selection may be limited to those present in the scene (or interaction zone, as applicable). The selection of the object class at 304 may: (a) be received from a user via the user interface; (b) be automatically and randomly selected by the system; or (c) be automatically selected by the system based on one or more rules. If received via the user interface, the choice may be received in response to a set of options that the system outputs to the user via the user interface.

Sobald die Objektklasse ausgewählt ist, kann das System bei 305 einen oder mehrere Klassifikationsparameter für die ausgewählte Objektklasse auswählen. Klassifikationsparameter sind Typenbezeichnungen für jede Objektklasse. Das System kann die Typenbezeichnungen in einem Datenspeicher mit einer Abbildung jedes Typs auf eine Wahrscheinlichkeit, dass das Objekt eines ist, das dem Typ entspricht, speichern. Für die „Fahrzeug“-Objektklasse kann das System beispielsweise Typenbezeichnungen und abgebildete Wahrscheinlichkeiten speichern, die [Limousine, 0,8] und [Lastwagen, 0,2] umfassen. (In der Praxis würde das System mehrere zusätzliche Typenbezeichnungen für diese Klasse unterhalten). Das System verwendet dann die Wahrscheinlichkeiten, um eine gewichtete Randomisierungsfunktion anzuwenden, um einen der verfügbaren Typen auszuwählen. Eine Beispielrandomisierungsfunktion wäre eine, die die Summe aller Gewichte berechnet, eine Zufallszahl auswählt, die geringer ist als die Summe, und das Gewicht jedes Typs von der Zufallszahl subtrahiert, bis das System einen Typ findet, für den die Zufallszahl geringer ist als das Gewicht des Typs. Andere Randomisierungsfunktionen können verwendet werden, einschließlich Funktionen, die andere Parameter berücksichtigen.Once the object class is selected, the system may select one or more classification parameters for the selected object class at 305. Classification parameters are type labels for each object class. The system may store the type labels in a data store with a mapping of each type to a probability that the object is one that matches the type. For example, for the "vehicle" object class, the system may store type labels and mapped probabilities that include [sedan, 0.8] and [truck, 0.2]. (In practice, the system would maintain several additional type labels for this class). The system then uses the probabilities to apply a weighted randomization function to select one of the available types. An example randomization function would be one that calculates the sum of all the weights, selects a random number that is less than the sum, and subtracts the weight of each type from the random number until the system finds a type for which the random number is less than the weight of the type. Other randomization functions can be used, including functions that take other parameters into account.

Bei 306 wählt das System ein Verhalten aus einer Positionsverteilung von Kandidatenverhaltensweisen für den Objekttyp zusammen mit abgebildeten Wahrscheinlichkeiten jedes Kandidatenverhaltens aus. Für ein Objekt, das ein Bus ist, der ein Typ von Fahrzeug ist, kann die Positionsverteilung beispielsweise [statisch, 0,8] und [dynamisch, 0,2] sein. Das System kann dann eine Randomisierungsfunktion verwenden, wie vorstehend beschrieben, um eine dieser Verhaltensweisen auszuwählen und zu bestimmen, ob sich der Bus im Simulationsszenario bewegt oder nicht. Verhaltensweisen können dynamische Verhaltensweisen sein, wie z. B. eine oder mehrere Eigenschaften 1001 einer Bewegung, wie als Beispiel vorstehend beschrieben. Alternativ können sie statische Eigenschaften 1001 des Objekts sein, wie z. B. eine Größe oder Position einer Verdeckung wie z. B. von Vegetation oder eines Gebäudes. Das System kann ein einzelnes Verhalten oder mehrere Verhaltensweisen auswählen, um sie auf ein Objekt im erweiterten Simulationsszenario anzuwenden.At 306, the system selects a behavior from a positional distribution of candidate behaviors for the object type along with mapped probabilities of each candidate behavior. For example, for an object that is a bus, which is a type of vehicle, the positional distribution may be [static, 0.8] and [dynamic, 0.2]. The system may then use a randomization function as described above to select one of these behaviors and determine whether or not the bus is moving in the simulation scenario. Behaviors may be dynamic behaviors, such as one or more properties 1001 of a motion, as described above as an example. Alternatively, they may be static properties 1001 of the object, such as a size or position of an occlusion such as vegetation or a building. The system may select a single behavior or multiple behaviors to apply to an object in the extended simulation scenario.

Wie vorstehend in Schritt 302 in 3A angemerkt, kann das System die Interaktionszone früh in dem Prozess wählen. Wenn dies jedoch nicht früh in dem Prozess durchgeführt wird, kann, dann nachdem das System die Akteurklasse, Klassifikationsparameter und die Positionsverteilung für das Erweiterungselement auswählt, dann bei 307 nach dem Auswählen des Erweiterungselements (Objekt und Verhalten), dann das System die Interaktionszone identifizieren, in die das Erweiterungselement eingeführt wird, ob durch Hinzufügen eines neuen Akteurs oder Modifizieren des Verhaltens eines existierenden Akteurs. Die Identifikation der Interaktionszone in diesem Schritt wird gemäß irgendeinem der vorstehend für den Schritt 302 oder nachstehend beschriebenen Prozesse durchgeführt.As described above in step 302 in 3A noted, the system may select the interaction zone early in the process. However, if this is not done early in the process, then after the system selects the actor class, classification parameters, and position distribution for the extension element, then at 307 after selecting the extension element (object and behavior), then the system may identify the interaction zone into which the extension element will be introduced, whether by adding a new actor or modifying the behavior of an existing actor. The identification of the interaction zone in this step is performed according to any of the processes described above for step 302 or below.

5A und 5B stellen die Schritte der Objektklassenauswahl, der Klassifikationsparameterauswahl und der Verhaltensauswal unter Verwendung eines Beispielsatzes von Kandidatenakteurdaten dar. In 5A und 5B sind die Kandidatenobjektklassen 504 Fahrzeug, Fußgänger, Fahrradfahrer und Vegetation. 5A zeigt, dass in Reaktion auf die Auswahl der „Fahrzeug“-Objektklasse das System dann die Klassifikationsparameter und abgebildeten Wahrscheinlichkeiten 505 von [Auto, 0,5], [Lastwagen, 0,2], [Bus, 0,2] und [Rettungsfahrzeug, 0,1] betrachtet. Positionsverteilungen sind in 5A noch nicht bekannt, da sie in Abhängigkeit von dem ausgewählten Klassifikationsparameter variieren können. 5B zeigt jedoch, dass, nachdem das System den „Bus“-Klassifikationsparameter auswählt, das System dann die Positionsverteilung für Verhaltensweisen und abgebildete Wahrscheinlichkeiten 506 von [statisch, 0,8] und [dynamisch, 0,2] für Busse betrachten kann und es eine von diesen Verhaltensweisen zur Anwendung auf einen Bus im Erweiterungselement auswählen kann. 5A and 5B depict the steps of object class selection, classification parameter selection, and behavior selection using a sample set of candidate actor data. In 5A and 5B The candidate object classes 504 are vehicle, pedestrian, cyclist and vegetation. 5A shows that in response to the selection of the “vehicle” object class, the system then considers the classification parameters and mapped probabilities 505 of [car, 0.5], [truck, 0.2], [bus, 0.2], and [emergency vehicle, 0.1]. Position distributions are shown in 5A not yet known, as they may vary depending on the selected classification parameter. 5B However, shows that after the system selects the "bus" classification parameter, the system can then look at the position distribution for behaviors and mapped probabilities 506 of [static, 0.8] and [dynamic, 0.2] for buses and select one of these behaviors to apply to a bus in the extension element.

In der Praxis kann das System irgendeine Anzahl von zusätzlichen Klassifikationsparametern, Verhaltensweisen oder beider für irgendeine Objektklasse hinzufügen. Für zusätzliche Unterparameter der „Fahrzeug/Auto“-Klasse kann der Parameter beispielsweise „geparktes Auto“ umfassen, das verschiedenen Gierbereichsverhaltensweisen zugeordnet werden kann, die nicht nur angeben, ob das geparkte Auto statisch bleibt oder sich bewegt, sondern auch ob das Fahrzeug zu der Fahrspur parallel oder in den befahrbaren Bereich der Fahrspur schräggestellt ist. Das System kann daher irgendeine Anzahl von Verhaltensweisen bestimmen, um sie auf ein Objekt anzuwenden, wenn ein Basissimulationsszenario modifiziert wird.In practice, the system may add any number of additional classification parameters, behaviors, or both for any object class. For example, for additional sub-parameters of the "vehicle/car" class, the parameter may include "parked car", which may be associated with various yaw range behaviors that indicate not only whether the parked car remains static or is moving, but also whether the vehicle is parallel to the lane or canted into the drivable portion of the lane. The system may therefore determine any number of behaviors to apply to an object when modifying a base simulation scenario.

Mit Rückkehr zu 3A und 4A, sobald das System das Erweiterungselement für das Simulationsszenario bei 401 erzeugt, wendet das System das Erweiterungselement auf das Basissimulationsszenario an, um das erweiterte Simulationsszenario bei 308 zu erzeugen. Um das Erweiterungselement anzuwenden, fügt das System das Objekt zum Basissimulationsszenario hinzu oder (falls es bereits existiert) modifiziert das Verhalten des Objekts in diesem, um das ausgewählte Verhalten (die ausgewählten Verhaltensweisen) für das festgelegte Objekt in der Interaktionszone aufzunehmen. Im Gegensatz zum Hinzufügen des Erweiterungselements lässt das System das Basissimulationsszenario relativ intakt, so dass das Training und die Bewertung (später erörtert) sich auf Änderungen der Fahrzeugreaktion fokussieren können, die das Erweiterungselement verursachen kann.With return to 3A and 4A Once the system creates the augmentation element for the simulation scenario at 401, the system applies the augmentation element to the base simulation scenario to create the augmented simulation scenario at 308. To apply the augmentation element, the system adds the object to the base simulation scenario or (if it already exists) modifies the behavior of the object therein to include the selected behavior(s) for the designated object in the interaction zone. Unlike adding the augmentation element, the system leaves the base simulation scenario relatively intact so that training and evaluation (discussed later) can focus on changes in vehicle response that the augmentation element may cause.

3B ist ein Ablaufplan, der einen anderen Prozess darstellt, durch den ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs (wie z. B. das System 209 in 2) ein erweitertes Simulationsszenario zum Trainieren eines AV-Stapels erzeugen kann. 4B stellt bestimmte Elemente des Prozesses in einem alternativen Format dar. Mit Bezug auf 3B und 4B wählt das System bei 301 ein Basissimulationsszenario aus seinem Satz von gespeicherten Simulationsszenarien aus. Simulationsszenarien können Daten, die von tatsächlichen Fahrten von Fahrzeugen in der realen Welt erhalten werden, Daten, die durch manuelle oder automatisierte Simulationsprozesse erzeugt werden, oder beide umfassen. Das System kann das Basissimulationsszenario Reaktion auf eine Benutzereingabe auswählen, die über eine Benutzerschnittstelle empfangen wird. Alternativ kann die Auswahl automatisch durch Prozesse wie z. B. Zufallsauswahl, durch Wählen eines nächsten Szenarios in einer eingestuften Reihenfolge oder durch Anwenden eines Regelsatzes wie z. B. eines, der ein Basisszenario auswählt, das eine oder mehrere Bedingungen erfüllt, stattfinden. Das System erzeugt dann bei 421 ein Erweiterungselement für das Simulationsszenario. Die Erzeugung des Erweiterungselements umfasst verschiedene Unterprozesse, wie nachstehend beschrieben. 3B is a flow chart representing another process by which a system for training a planning model of a movement of a vehicle (such as the system 209 in 2 ) can generate an extended simulation scenario for training an AV stack. 4B presents certain elements of the process in an alternative format. With reference to 3B and 4B at 301, the system selects a base simulation scenario from its set of stored simulation scenarios. Simulation scenarios may include data obtained from actual trips of vehicles in the real world, data generated by manual or automated simulation processes, or both. The system may select the base simulation scenario in response to a user input provided via a user interface. Alternatively, the selection may occur automatically through processes such as random selection, by choosing a next scenario in a ranked order, or by applying a set of rules such as one that selects a base scenario that satisfies one or more conditions. The system then creates an extension element for the simulation scenario at 421. Creation of the extension element includes various subprocesses as described below.

Bei 322 identifiziert das System Objekte in der Szene mit einer oder mehreren variablen Eigenschaften. Die variablen Eigenschaften 1001 können durch einen Benutzer über eine Benutzerschnittstelle konfiguriert werden. Bei 323 kann das System Werte zur Anwendung auf die Eigenschaften 1001 des Objekts auf der Basis eines Satzes von definierten Werten oder eines Bereichs oder einer Verteilung von Werten, die für die Eigenschaft definiert sind, bestimmen. Das System kann Werte zur Anwendung auf die Eigenschaft 1001 des Objekts auf der Basis von durch den Benutzer konfigurierten Parametern für die Variation der Eigenschaft bestimmen. Das System kann die Werte anwenden, um die Eigenschaft 1001 des Objekts zu modifizieren, um das Erweiterungselement für das Simulationsszenario zu erzeugen. Sobald das System das Erweiterungselement für das Simulationsszenario bei 421 erzeugt, wendet das System das Erweiterungselement auf das Basissimulationsszenario an, um das erweiterte Simulationsszenario bei 308 zu ergeben. Abgesehen vom Hinzufügen des Erweiterungselements belässt das System das Basissimulationsszenario relativ intakt, so dass das Training und die Bewertung (nachstehend erörtert) sich auf Änderungen der Fahrzeugreaktion, die das Erweiterungselement verursachen kann, fokussieren können.At 322, the system identifies objects in the scene having one or more variable properties. The variable properties 1001 may be configured by a user via a user interface. At 323, the system may determine values to apply to the object's properties 1001 based on a set of defined values or a range or distribution of values defined for the property. The system may determine values to apply to the object's property 1001 based on user-configured parameters for varying the property. The system may apply the values to modify the object's property 1001 to generate the extension element for the simulation scenario. Once the system generates the extension element for the simulation scenario at 421, the system applies the extension element to the base simulation scenario to yield the extended simulation scenario at 308. Aside from adding the augmentation element, the system leaves the base simulation scenario relatively intact so that training and evaluation (discussed below) can focus on changes in vehicle response that the augmentation element may cause.

Sobald das System ein erweitertes Simulationsszenario erzeugt, kann das System bei 311 das erweiterte Simulationsszenario durch Anwenden des erweiterten Simulationsszenarios auf den AV-Stapel testen, wahlweise über mehrere Iterationen und wahlweise mit veränderten Parametern. Um das erweiterte Simulationsszenario zu testen, wendet das System eine geplante Trajektorie des Fahrzeugs auf die Szene im erweiterten Simulationsszenario an. Das Wahrnehmungssystem des Fahrzeugs detektiert das Erweiterungselement in der Simulation und das Bewegungsplanungssystem des Fahrzeugs berechnet eine fortgesetzte Trajektorie in Reaktion auf das detektierte Erweiterungselement. Die fortgesetzte Trajektorie kann die Trajektorie nicht ändern, in welchem Fall es bewirkt, dass das Fahrzeug entlang der geplanten Trajektorie in der Simulation fortfährt. Alternativ kann die fortgesetzte Trajektorie eine alternative Trajektorie sein, wie z. B. eine, die sicherstellt, dass das Fahrzeug eine Bewegung innerhalb eines Schwellenabstandes des Objekts in der Simulation vermeidet. Wahlweise kann das System im Iterationsprozess bei 311 auf einen Bewertungsdatensatz 411 zugreifen, der ein Satz von Daten ist, die ein erwartetes Verhalten für das Fahrzeug in Reaktion auf ein Simulationsszenario beschreiben. Das erwartete Verhalten kann so einfach wie eine Erwartung sein, dass das Fahrzeug nicht mit einem anderen Objekt kollidiert, oder es kann andere Parameter wie z. B. Beschleunigungs- und/oder Verlangsamungsgrenzen umfassen.Once the system generates an augmented simulation scenario, at 311 the system may test the augmented simulation scenario by applying the augmented simulation scenario to the AV stack, optionally over multiple iterations and optionally with modified parameters. To test the augmented simulation scenario, the system applies a planned trajectory of the vehicle to the scene in the augmented simulation scenario. The vehicle's perception system detects the augmentation element in the simulation and the vehicle's motion planning system calculates a continued trajectory in response to the detected augmentation element. The continued trajectory may not change the trajectory, in which case it causes the vehicle to continue along the planned trajectory in the simulation. Alternatively, the continued trajectory may be an alternative trajectory, such as one that ensures that the vehicle avoids movement within a threshold distance of the object in the simulation. Optionally, in the iteration process at 311, the system may access an evaluation data set 411, which is a set of data describing an expected behavior for the vehicle in response to a simulation scenario. The expected behavior may be as simple as an expectation that the vehicle will not collide with another object, or it may include other parameters such as acceleration and/or deceleration limits.

Bei 312 kann das System Details der Simulation, einschließlich des Erweiterungselements (Objekt und Verhalten) und der Reaktion des Fahrzeugs (berechnete fortgesetzte Trajektorie), in einem simulierten Fahrzeugprotokoll für die weitere Analyse speichern.At 312, the system may store details of the simulation, including the augmentation element (object and behavior) and the vehicle's response (calculated continued trajectory), in a simulated vehicle log for further analysis.

Das System speichert dann das erweiterte Simulationsszenario in einem Datenspeicher bei 313. Der Datenspeicher kann jener, der das Basissimulationsszenario umfasst (in welchem Fall das erweiterte Szenario als neues Basisszenario in der Zukunft verwendet werden kann), ein separater Datenspeicher oder beides sein.The system then stores the extended simulation scenario in a data store at 313. The data store may be that which includes the base simulation scenario (in which case the extended scenario may be used as a new base scenario in the future), a separate data store, or both.

Wahlweise kann ein menschlicher Operator bei 314 die Reaktion des Fahrzeugs in der Simulation als erwünschte Reaktion oder unerwünschte Reaktion bezeichnen, um zu helfen, das Planungsmodell einer Bewegung des AV zu trainieren. Alternativ kann das System bei 314, wenn das System einen Bewertungsdatensatz 411 aufgenommen hat, automatisch die Reaktion des Fahrzeugs als erwünscht oder unerwünscht in Abhängigkeit davon bezeichnen, ob die simulierte Leistung des Fahrzeugs die erwarteten Parameter erfüllt, die im Bewertungsdatensatz enthalten sind. Als noch andere Alternative kann das System bei 314 helfen, einen menschlichen Bezeichnungsprozess zu fördern und/oder verbessern, durch Extrahieren von Daten aus dem Bewertungsdatensatz 411 und Verwenden dieser Daten, um eine Bezeichnung für die Reaktion des Fahrzeugs vorzuschlagen, in welchem Fall der menschliche Operator entweder die vorgeschlagene Bezeichnung annehmen oder eine alternative Bezeichnung eingeben kann. Nachdem der AV-Stapel mit dem erweiterten Simulationsszenario trainiert ist, kann das trainierte Modell dann bei 315 in einem AV eingesetzt werden, um das Fahrzeug zu betreiben.Optionally, at 314, a human operator may label the response of the vehicle in the simulation as a desired response or undesirable response to help train the planning model of a movement of the AV. Alternatively, at 314, if the system has captured an evaluation dataset 411, the system may automatically label the response of the vehicle as desired or undesirable depending on whether the simulated performance of the vehicle meets the expected parameters contained in the evaluation dataset. As yet another alternative, at 314, the system may help facilitate and/or enhance a human labeling process by extracting data from the evaluation dataset 411 and using that data to suggest a label for the vehicle's response, in which case the human operator may either accept the suggested label or enter an alternative label. After the AV stack is trained with the enhanced simulation scenario, the trained model may then be deployed in an AV to operate the vehicle at 315.

Der vorstehend erörterte und in 3A, 3B, 4A und 4B dargestellte Prozess kann für zusätzliche Erweiterungselemente wiederholt werden, was folglich eine massive Erkundung des Zustandsraums durch Hinzufügen einer breiten Vielfalt von Erweiterungselementen zu einem Basissimulationsszenario ermöglicht, während das Basisszenario relativ intakt gelassen wird. Obwohl die Anzahl von potentiellen Erweiterungselementen potentiell sehr groß ist, begrenzt jedoch das System Verarbeitungsanforderungen durch Einschränken des Hinzufügens von Erweiterungselementen auf jene, die in festgelegten Interaktionszonen erscheinen. Dies ermöglicht, dass der Trainingsprozess konfigurierbar ist, um ihn auf spezielle Szeneneigenschaften 1001 zu fokussieren, die der Operator des Systems zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs auswählt, wie z. B. Kreuzungen, Spurwechselereignisse, Linksabbiegevorgänge oder dergleichen.The above-discussed and in 3A , 3B , 4A and 4B The process shown can be repeated for additional extension elements, thus allowing massive exploration of the state space by adding a wide variety of extension elements to a base simulation scenario, while keeping the base scenario relatively intact Although the number of potential augmentation elements is potentially very large, however, the system limits processing requirements by restricting the addition of augmentation elements to those that appear in specified interaction zones. This allows the training process to be configurable to focus on specific scene features 1001 selected by the operator of the system for training a planning model of a vehicle's movement, such as intersections, lane change events, left turns, or the like.

Wie vorstehend angegeben, definiert das System entweder vor oder nach dem Auswählen des Erweiterungselements eine Interaktionszone im Basissimulationsszenario. Die Interaktionszone umfasst Elemente von sowohl Position als auch Zeit, bei denen ein neues Objekt eingefügt wird, oder bei denen das Verhalten eines existierenden Objekts modifiziert wird, um das erweiterte Simulationsszenario zu ergeben. Die Position einer Interaktionszone ist typischerweise eine, die eine Beziehung zur geplanten Trajektorie des Fahrzeugs trägt. Positionen einer Interaktionszone können beispielsweise Fahrspuren, durch die die geplante Trajektorie des Fahrzeugs verläuft, Fahrspuren, die sich innerhalb Schwellenabständen der geplanten Trajektorie des Fahrzeugs befinden, Gehsteige oder Zebrastreifen, die sich innerhalb Schwellenabständen der geplanten Trajektorie des Fahrzeugs befinden, Kreuzungen, die entlang der geplanten Trajektorie des Fahrzeugs vorhanden sind, oder andere Positionen innerhalb der Szene umfassen.As stated above, either before or after selecting the augmentation element, the system defines an interaction zone in the base simulation scenario. The interaction zone includes elements of both position and time at which a new object is inserted or at which the behavior of an existing object is modified to yield the augmented simulation scenario. The position of an interaction zone is typically one that bears a relationship to the planned trajectory of the vehicle. For example, locations of an interaction zone may include lanes through which the planned trajectory of the vehicle passes, lanes that are within threshold distances of the planned trajectory of the vehicle, sidewalks or crosswalks that are within threshold distances of the planned trajectory of the vehicle, intersections that exist along the planned trajectory of the vehicle, or other locations within the scene.

In einigen Situationen kann das System die Interaktionszone als eine definieren, die ein Benutzer über eine Benutzereingabe in einer Benutzerschnittstelle festgelegt hat. In einigen Situationen kann das System automatisch die Interaktionszone in einem Basissimulationsszenario unter Verwendung eines Prozesses definieren, wie z. B. des in 6 beschriebenen. Um die Interaktionszone automatisch zu definieren, kann das System bei 601 eine Basissimulation durch Simulieren einer Bewegung des Fahrzeugs entlang einer geplanten Trajektorie im Basissimulationsszenario durchführen. Während es dies durchführt, identifiziert das System ein Auslöseereignis bei 602. Ein Auslöseereignis ist ein interessierendes Ereignis, das das System als Kandidaten für zusätzliche Trainingsdaten identifiziert, oder das ein Operator des Systems als solchen festlegt. Jedes Auslöseereignis umfasst eine Startposition und/oder eine Startzeit und wahlweise eine Endposition und/oder eine Endzeit. Auslöseereignisse können beispielsweise umfassen:

  • - eine Position und eine Zeit in der geplanten Trajektorie, bei denen das Fahrzeug ein Spurwechselmanöver implementiert;
  • - eine Position und Zeit in der geplanten Trajektorie, bei denen das Fahrzeug ein Linksabbiegen oder ein Rechtsabbiegen implementiert;
  • - eine Position und eine Zeit in der geplanten Trajektorie, bei denen das Fahrzeug in eine Kreuzung einfährt; oder
  • - eine Position und eine Zeit in der geplanten Trajektorie, bei denen das Fahrzeug sich einer Kreuzung nähert (d. h. einen Schwellenabstand von dieser erreicht).
In some situations, the system may define the interaction zone as one specified by a user through user input in a user interface. In some situations, the system may automatically define the interaction zone in a base simulation scenario using a process such as that described in 6 described. To automatically define the interaction zone, the system may perform a base simulation at 601 by simulating movement of the vehicle along a planned trajectory in the base simulation scenario. While doing so, the system identifies a trigger event at 602. A trigger event is an event of interest that the system identifies as a candidate for additional training data, or that an operator of the system designates as such. Each trigger event includes a start position and/or a start time, and optionally an end position and/or an end time. Trigger events may include, for example:
  • - a position and a time in the planned trajectory at which the vehicle implements a lane change maneuver;
  • - a position and time in the planned trajectory at which the vehicle implements a left turn or a right turn;
  • - a position and a time in the planned trajectory at which the vehicle enters an intersection; or
  • - a position and a time in the planned trajectory at which the vehicle approaches an intersection (i.e. reaches a threshold distance from it).

Das System führt diese Bestimmungen durch Empfangen eines Absichtssignals vom Bewegungsplanungssystem des AV durch. Das Absichtssignal ist eine Kommunikation vom Bewegungsplanungssystem, die eine Bewegung identifiziert, die das AV in der Simulation zu implementieren plant.The system makes these determinations by receiving an intent signal from the AV's motion planning system. The intent signal is a communication from the motion planning system that identifies a motion that the AV plans to implement in the simulation.

In einigen Situationen, wenn Auslöseereignisse bei 602 identifiziert werden, kann das System mehrere Kandidatenauslöseereignisse identifizieren und irgendwelche Auslöseereignisse ausfiltern, die ein oder mehrere festgelegte Kriterien nicht erfüllen, wie z. B. Ereignisse mit einer Routenlänge oder Zeit, die einen festgelegten Wert überschreitet. In dieser Weise kann das System helfen, Interaktionszonen zu erzeugen, die ein relativ kleines Segment des ganzen Basissimulationsszenarios sind. Das Filter kann auch Auslöseereignisse entfernen, für die das System bereits eine Schwellenanzahl von Erweiterungselementen erzeugt hat. In dieser Weise kann das System Verarbeitungsressourcen Auslöseereignissen widmen, die für das Bewegungsplanungsmodelltraining am meisten erforderlich sind, und die Verwendung von Verarbeitungsressourcen vermeiden, um das Modell an Ereignissen zu trainieren, für die das System bereits mindestens einen Schwellenwert unter Trainingsdaten aufweist.In some situations, when identifying trigger events at 602, the system may identify multiple candidate trigger events and filter out any trigger events that do not meet one or more specified criteria, such as events with a route length or time that exceeds a specified value. In this manner, the system may help generate interaction zones that are a relatively small segment of the entire base simulation scenario. The filter may also remove trigger events for which the system has already generated a threshold number of extension elements. In this manner, the system may devote processing resources to trigger events that are most required for motion planning model training and avoid using processing resources to train the model on events for which the system already has at least a threshold among training data.

Bei 603 identifiziert das System die Position(en) des Auslöseereignisses (einschließlich beispielsweise Startposition und Endposition). Bei 604 identifiziert das System die Zeit des Auslöseereignisses, die eine einzelne Zeit oder ein Zeitfenster sein kann, das eine Startzeit und Stoppzeit im Simulationsszenario umfasst (In dieser Offenbarung erfordert „Zeit“ nicht notwendigerweise die Bestimmung der Zeit gemäß einer Weltuhr in irgendeiner speziellen Zeitzone. Obwohl die Weltzeit verwendet werden kann, kann sich „Zeit“ auch auf eine Zeitposition, die mit Bezug auf eine Startzeit der Simulation gemessen wird, eine Zeit, die durch einen Computertakt gemessen wird, oder eine andere Zeit beziehen). In Reaktion auf das Identifizieren des Auslöseereignisses, während die Bewegung des Fahrzeugs im Basissimulationsszenario simuliert wird, definiert das System dann bei 605 die Interaktionszone als Position (oder Positionen) und Zeit (oder Zeitfenster), die mit Bezug auf den Ort und die Zeit des Auslöseereignisses bestimmt werden. Das System kann beispielsweise die Interaktionszone definieren als: (a) gleich den Orten und Zeiten des Auslöseereignisses; (b) als Positionsbereich entlang der geplanten Trajektorie, die den Ort des Auslöseereignisses umfasst, und als Zeitfenster, das die Zeit des Auslöseereignisses umfasst; (c) als eine Position (oder einen Positionsbereich) entlang der geplanten Trajektorie umfassend, die in einem festgelegten Abstand vor dem Ort des Auslöseereignisses beginnt; oder (d) als ein Zeitfenster in der Simulation umfassend, das eine festgelegte Menge an Zeit nach der Zeit des Auslöseereignisses beginnt. Andere Interaktionszonendefinitionen können in verschiedenen Ausführungsformen verwendet werden.At 603, the system identifies the position(s) of the trigger event (including, for example, start position and end position). At 604, the system identifies the time of the trigger event, which may be a single time or a time window that includes a start time and stop time in the simulation scenario (In this disclosure, “time” does not necessarily require determining time according to a world clock in any particular time zone. Although world time may be used, “time” may also refer to a time position measured with respect to a start time of the simulation, a time measured by a computer clock, or other time). In response to identifying the trigger event while simulating the motion of the vehicle in the base simulation scenario, the system then defines the interaction zone at 605 as a position (or positions) and time (or time window) that are relative to the location and time of the trigger event. trigger event. For example, the system may define the interaction zone as: (a) equal to the locations and times of the trigger event; (b) a range of positions along the planned trajectory that includes the location of the trigger event and a time window that includes the time of the trigger event; (c) including a position (or range of positions) along the planned trajectory that begins a specified distance before the location of the trigger event; or (d) including a time window in the simulation that begins a specified amount of time after the time of the trigger event. Other interaction zone definitions may be used in various embodiments.

Wie vorstehend angegeben, umfasst ein Erweiterungselement ein Objekt und eine oder mehrere Verhaltensweisen für das Objekt. Die Auswahl der Verhaltensweisen führt ein Element der Zufälligkeit durch Auswählen von Verhaltenselementen ein, wie vorstehend in der Erörterung von 3A und 4A beschrieben, was hilft, dass das System einen sehr großen Zustandsraum erkunden kann und Ereignisse aufnehmen kann, die in der realen Welt selten angetroffen werden können. Für Verhaltensweisen von Objekten, die Akteure sind, kann das System zusätzlich zu einfachen Verhaltenselementen, wie z. B. „bleiben statisch“ oder „sind dynamisch“ (d. h. bewegen sich), andere Verhaltenselemente definieren, wie z. B. Haltung oder Lage, Beschleunigungsprofil und sogar „Geräusch“-Elemente, die für das Wahrnehmungssystem des Fahrzeugs schwieriger festzustellen sind, wie z. B. Darstellen eines Fahrzeugs, wobei sein rechter Blinker blinkt, während es sich weiterhin gerade durch eine Kreuzung hindurch bewegt. Diese Verhaltensweisen können Verhaltensdefinitionen, die Basisdefinitionen eines behindernden Erweiterungselements, eines zweideutigen Erweiterungselements, eines abweichenden Erweiterungselements folgen, oder ein Verhalten, das einer Kombination von beliebigen dieser entspricht, umfassen. Merkmale dieser Basisdefinitionen werden nachstehend beschrieben.As stated above, an extension element comprises an object and one or more behaviors for the object. The selection of behaviors introduces an element of randomness by selecting behavior elements, as discussed above in the discussion of 3A and 4A which helps the system to explore a very large state space and accommodate events that may rarely be encountered in the real world. For behaviors of objects that are actors, in addition to simple behavioral elements such as "remain static" or "are dynamic" (i.e., move), the system can define other behavioral elements such as posture or attitude, acceleration profile, and even "noise" elements that are more difficult for the vehicle's perception system to detect, such as depicting a vehicle with its right turn signal flashing while it continues to move straight through an intersection. These behaviors may include behavioral definitions that follow base definitions of an obstructive extension element, an ambiguous extension element, a deviant extension element, or behavior that conforms to a combination of any of these. Features of these base definitions are described below.

Ein behinderndes Erweiterungselement ist ein Objekt mit einem Ort, der zumindest teilweise den geplanten Pfad des Fahrzeugs blockiert. Ein Beispiel dessen ist in 7 gezeigt, in der sich das Fahrzeug 701 auf einer Straße 717 entlang einer geplanten Trajektorie 702 bewegt. Ein geparktes Fahrzeug 719 ist behindernd, da seine Position schräg, nicht parallel zur Straße ist, und es sich daher teilweise innerhalb eines Schwellenabstandes von der Mittellinie der geplanten Trajektorie 702 des Fahrzeugs befindet. In der erweiterten Simulation kann, wenn das Wahrnehmungssystem des Fahrzeugs das geparkte Fahrzeug 719 detektiert, das Bewegungsplanungssystem des Fahrzeugs die Trajektorie des Fahrzeugs 701 ändern: (a) um geringfügig nach links auszuscheren, um einen Schwellenabstand zwischen dem Fahrzeug 701 und dem geparkten Fahrzeug 719 aufrechtzuerhalten; und/oder (b) um sich langsamer zu bewegen, wenn es sich dem geparkten Fahrzeug 719 nähert, falls das geparkte Fahrzeug eine Bewegung beginnt und in die Fahrspur vor dem Fahrzeug 701 ausschert. In verschiedenen Ausführungsformen kann ein behinderndes Erweiterungselement irgendeine bekannte Objektklasse umfassen, wie z. B. Fahrzeug, Fußgänger, Fahrradfahrer, Tier, Vegetation oder sogar unbekannt/nicht identifizierbar. Das System kann eine Abbildung für jede Objektklasse mit potentiellen Verhaltensweisen/Zuständen zusammen mit Wahrscheinlichkeiten jedes Verhaltens oder Zustandes umfassen. Als Beispiel können potentielle Zustände eines Fahrzeugs geparkt, sich vorwärts bewegend, nach links abbiegend, nach rechts abbiegend, beschleunigend, verlangsamend unter anderen Zuständen umfassen. Potentielle Zustände eines Fußgängers können Beispiele wie z. B. in die Fahrspur laufen, parallel zur Fahrspur laufen, der Fahrspur zugewandt stehen, von der Fahrspur abgewandt stehen, unter anderen Zuständen umfassen.An obstructive extension element is an object with a location that at least partially blocks the planned path of the vehicle. An example of this is in 7 717, in which the vehicle 701 is moving on a road 717 along a planned trajectory 702. A parked vehicle 719 is obstructive because its position is oblique, not parallel to the road, and therefore it is partially within a threshold distance from the centerline of the vehicle's planned trajectory 702. In the augmented simulation, when the vehicle's perception system detects the parked vehicle 719, the vehicle's motion planning system may alter the trajectory of the vehicle 701: (a) to veer slightly to the left to maintain a threshold distance between the vehicle 701 and the parked vehicle 719; and/or (b) to move more slowly when approaching the parked vehicle 719 if the parked vehicle begins moving and veers into the lane in front of the vehicle 701. In various embodiments, an obstructive augmentation element may include any known class of object, such as a vehicle 701, a parking space, a building, or a vehicle. E.g., vehicle, pedestrian, cyclist, animal, vegetation, or even unknown/unidentifiable. The system may include a mapping for each object class with potential behaviors/states along with probabilities of each behavior or state. As an example, potential states of a vehicle may include parked, moving forward, turning left, turning right, accelerating, decelerating, among other states. Potential states of a pedestrian may include examples such as walking into the lane, walking parallel to the lane, facing the lane, facing away from the lane, among other states.

Ein zweideutiges Erweiterungselement ist ein Objekt, das ein Verhalten oder eine Kombination von Verhaltensweisen aufzeigt, die für diese Klasse von Objekt nicht üblich sind, und daher wird erwartet, dass ein Wahrnehmungssystem des Fahrzeugs im Wesentlichen gleiche Wahrscheinlichkeiten zu dem Verhalten, das eines von mindestens zwei Kandidatenverhaltensweisen ist, zuweist. (In diesem Dokument bedeutet „im Wesentlichen gleich“, dass die Werte der zwei Wahrscheinlichkeiten innerhalb 10 Prozent oder weniger voneinander liegen). Beispiele umfassen eine Kombination von Verhaltensweisen, die miteinander inkonsistent sind, wie z. B. (i) ein Fahrzeug, das einen blinkenden Blinker aufzeigt, während es sich weiterhin gerade durch eine Kreuzung bewegt; (ii) ein geparktes Fahrzeug, das einen blinkenden Blinker aufzeigt, während es weiterhin für mehr als eine Schwellenzeitdauer geparkt bleibt; oder (iii) ein Objekt, das seine Klassifikation von einer ersten Klassifikation zu einer zweiten Klassifikation zufällig ändert (wie z. B. Ändern von einem Fußgänger zu unbekannt). Andere Beispiele umfassen Verhaltensweisen, die nicht der Klasse des Objekts zugeordnet sind, wie z. B. Vegetation, die sich bewegt. Andere Beispiele umfassen ein Objekt, das in und außer Existenz flackert oder das für nicht mehr als eine begrenzte Anzahl von Zyklen in der Simulation erscheint, oder ein Fahrzeug, das zufällig seine Bremsleuchten aktiviert und deaktiviert. Jeder dieser Zustände kann eine oder mehrere Eigenschaften 1001 des Objekts für das Wahrnehmungssystem des Fahrzeugs zweideutig machen.An ambiguous extension element is an object that exhibits a behavior or combination of behaviors that is not common for that class of object, and therefore a perception system of the vehicle is expected to assign substantially equal probabilities to the behavior being one of at least two candidate behaviors. (In this document, “substantially equal” means that the values of the two probabilities are within 10 percent or less of each other). Examples include a combination of behaviors that are inconsistent with each other, such as (i) a vehicle exhibiting a flashing turn signal while continuing to move straight through an intersection; (ii) a parked vehicle exhibiting a flashing turn signal while continuing to remain parked for more than a threshold amount of time; or (iii) an object that randomly changes its classification from a first classification to a second classification (such as changing from pedestrian to unknown). Other examples include behaviors that are not associated with the class of the object, such as vegetation that moves. Other examples include an object that flickers in and out of existence, or that appears for no more than a finite number of cycles in the simulation, or a vehicle that randomly activates and deactivates its brake lights. Each of these states can make one or more properties 1001 of the object ambiguous to the vehicle's perception system.

Ein abweichendes Erweiterungselement ist ein Objekt, das ein Verhalten oder eine Kombination von Verhaltensweisen aufzeigt, die sowohl dynamisch sind (d. h. führt zur Bewegung des Objekt) als auch bewirken, dass das Bewegungsplanungssystem des Fahrzeugs durch Modifizieren seiner Trajektorie reagiert. Ein Beispiel dessen ist in 8 gezeigt, in der sich ein Fahrzeug 801 auf einer Straße 817 entlang einer geplanten Trajektorie 802 bewegt. Das geparkte Fahrzeug 819 ist abweichend, da es von seiner Position ausschert und sich nicht nur vorwärts bewegt, sondern es einer Trajektorie 822 folgt, die sowohl die geplante Trajektorie 802 des Fahrzeugs als auch die Straße 817 kreuzt. In der erweiterten Simulation, wenn das Wahrnehmungssystem des Fahrzeugs detektiert, dass das geparkte Fahrzeug 819 beginnt, sich entlang dieser abweichenden Trajektorie 822 zu bewegen, kann das Bewegungsplanungssystem des Fahrzeugs die Trajektorie des Fahrzeugs 801 ändern, indem es bewirkt, dass das Fahrzeug 801 stoppt, bis das (vorher) geparkte Fahrzeug 819 die Straße 817 vollständig überquert, oder eine andere Ausweichhandlung unternimmt. Andere abweichende Verhaltensweisen umfassen beispielsweise Bewegungen, die ein oder mehrere Verkehrsgesetze verletzen.A different extension element is an object that provides a behavior or combination of behaviors that are both dynamic (ie, result in the object moving) and cause the vehicle's motion planning system to respond by modifying its trajectory. An example of this is shown in 8th , in which a vehicle 801 is moving on a road 817 along a planned trajectory 802. The parked vehicle 819 is deviant because it is swerving from its position and not only moving forward, but it is following a trajectory 822 that crosses both the vehicle's planned trajectory 802 and the road 817. In the extended simulation, when the vehicle's perception system detects that the parked vehicle 819 begins to move along this deviating trajectory 822, the vehicle's motion planning system may alter the trajectory of the vehicle 801 by causing the vehicle 801 to stop until the (previously) parked vehicle 819 completely crosses the road 817, or takes another evasive action. Other deviant behaviors include, for example, movements that violate one or more traffic laws.

In einigen Ausführungsformen kann das System Erweiterungselemente erzeugen und es kann verschiedene Kategorien von Erweiterungselementen innerhalb verschiedenen Segmenten der Interaktionszone einführen. Um die zufällige Erzeugung von Erweiterungselementen in Situationen zu fördern, für die das System mehr Daten erfordern kann, kann das System wahlweise Gewichte zu verschiedenen Segmenten der Interaktionszone zuweisen. Außerdem kann es verschiedene Gewichte zu verschiedenen Kategorien von Erweiterungselementen und/oder verschiedenen Klassen von Objekten in jedem Segment zuweisen. Das System kann dann diese Verteilungen in seine Randomisierungsfunktion aufnehmen, wenn Objekte und Verhaltensweisen erzeugt werden, um sie als Erweiterungselemente zu verwenden. Ein Beispiel dessen ist in 9 gezeigt, in der der Bereich vor dem Fahrzeug 901 ein erstes Interaktionszonensegment 902 umfasst, das vier Teilregionen umfasst, die die Straße kreuzen und sich in eine Querstraße erstrecken. Jeder Teilregion wird eine Objekt Verhaltens-Verteilung zugewiesen, die in diesem Fall eine Verteilung für die Anordnung von abweichenden Fahrzeugen in jeder Teilregion sein kann, so dass zufällig erzeugte abweichende Fahrzeugverhaltensweisen in dem Interaktionszonensegment über die Teilregionen in Mengen verteilt werden, die im Wesentlichen gleich den gezeigten Verteilungen sind. Der Bereich umfasst auch ein zweites Interaktionszonensegment 903, das drei Teilregionen umfasst, die die Straße kreuzen, und die in diesem Fall neuen Fußgängerobjekten entsprechen. Jeder Teilregion wird eine Objekt/Verhaltens-Verteilung zugewiesen, die in diesem Fall eine Verteilung für die Anordnung von neuen Fußgängern in jeder Teilregion sein kann, so dass zufällig erzeugte simulierte Fußgänger über die Teilregionen in Mengen verteilt werden, die im Wesentlichen gleich den gezeigten Verteilungen sind. Der Bereich umfasst auch ein drittes Interaktionszonensegment 904, das zwei Teilregionen entlang der Straße umfasst, und die in diesem Fall statischen Fahrzeugorten (eines in der Fahrspur und eines in einer Parkspur) entsprechen. Jeder Teilregion wird eine Objekt/Verhaltens-Verteilung zugewiesen, die in diesem Fall eine Verteilung für die Anordnung von neuen geparkten oder anderweitigen sich nicht bewegenden Fahrzeugen in jeder Teilregion sein kann, so dass zufällig erzeugte simulierte statische Fahrzeuge über die Teilregionen in Mengen verteilt werden, die im Wesentlichen gleich den gezeigten Verteilungen sind.In some embodiments, the system may generate extension elements, and it may introduce different categories of extension elements within different segments of the interaction zone. To promote the random generation of extension elements in situations for which the system may require more data, the system may optionally assign weights to different segments of the interaction zone. In addition, it may assign different weights to different categories of extension elements and/or different classes of objects within each segment. The system may then incorporate these distributions into its randomization function when generating objects and behaviors to use as extension elements. An example of this is shown in 9 shown in which the area in front of the vehicle 901 comprises a first interaction zone segment 902 comprising four subregions that cross the road and extend into a cross street. Each subregion is assigned an object behavior distribution, which in this case may be a distribution for the placement of deviant vehicles in each subregion such that randomly generated deviant vehicle behaviors in the interaction zone segment are distributed across the subregions in sets substantially equal to the distributions shown. The area also includes a second interaction zone segment 903 comprising three subregions that cross the road and which in this case correspond to new pedestrian objects. Each subregion is assigned an object/behavior distribution, which in this case may be a distribution for the placement of new pedestrians in each subregion such that randomly generated simulated pedestrians are distributed across the subregions in sets substantially equal to the distributions shown. The area also includes a third interaction zone segment 904 that includes two subregions along the road, and which in this case correspond to static vehicle locations (one in the travel lane and one in a parking lane). Each subregion is assigned an object/behavior distribution, which in this case may be a distribution for the placement of new parked or otherwise non-moving vehicles in each subregion such that randomly generated simulated static vehicles are distributed across the subregions in amounts substantially equal to the distributions shown.

Mit Rückkehr zu 3A und 3B kann schließlich in einigen Ausführungsformen das System bei 316 erweiterte Simulationsszenarien an Bord des Fahrzeugs einsetzen, während das Fahrzeug in einem Umfeld der realen Welt wie z. B. einer Teststrecke arbeitet. In diesem Fall kann mit Bezug auf 2 das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs 209 sich an Bord des Fahrzeugs befinden und es kann erweiterte Simulationsszenarien zum Vorhersagesystem 203 und/oder Bewegungsplanungssystem 204 des Fahrzeugs liefern. Diese Systeme kombinieren die kombinierten Daten, die vom Wahrnehmungssystem 202 des Fahrzeugs empfangen werden, mit den erweiterten Simulationsszenarien, um das Fahrzeug zusätzlichen Szenarien auszusetzen, die es in der realen Welt antreffen kann, aber noch nicht angetroffen hat. Beispielverfahren zum Kombinieren von Wahrnehmungsdaten der realen Welt mit Simulationsdaten sind in der US-Patentanmeldung Nummer 17/074,807 beschrieben, deren Offenbarung durch den Hinweis vollständig in dieses Dokument aufgenommen wird.With return to 3A and 3B Finally, in some embodiments, the system at 316 may employ advanced simulation scenarios on board the vehicle while the vehicle is operating in a real-world environment such as a test track. In this case, with reference to 2 the system for training a planning model of a vehicle's motion 209 may be onboard the vehicle and may provide enhanced simulation scenarios to the vehicle's prediction system 203 and/or motion planning system 204. These systems combine the combined data received from the vehicle's perception system 202 with the enhanced simulation scenarios to expose the vehicle to additional scenarios that it may encounter in the real world but has not yet encountered. Example methods for combining real world perception data with simulation data are described in the US Patent Application Number 17/074,807 the disclosure of which is incorporated in its entirety by reference into this document.

Die vorstehend offenbarten Merkmale und Funktionen sowie Alternativen können zu vielen anderen verschiedenen Systemen oder Anwendungen kombiniert werden. Verschiedene Komponenten können in Hardware oder Software oder eingebetteter Software implementiert werden. Verschiedene derzeit unvorhergesehene oder unerwartete Alternativen, Modifikationen, Variationen oder Verbesserungen können durch den Fachmann auf dem Gebiet durchgeführt werden, von denen jede auch durch die offenbarten Ausführungsformen umfasst sein soll.The features and functions disclosed above, as well as alternatives, may be combined into many other different systems or applications. Various components may be implemented in hardware or software or embedded software. Various presently unforeseen or unexpected alternatives, modifications, variations, or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.

Die Terminologie, die für die vorstehend bereitgestellte Offenbarung relevant ist, umfasst:

  • Eine „automatisierte Vorrichtung“ oder eine „Robotervorrichtung“ bezieht sich auf eine elektronische Vorrichtung, die einen Prozessor, Programmieranweisungen und eine oder mehrere physikalische Hardwarekomponenten umfasst, die in Reaktion auf Befehle vom Prozessor sich mit minimalem oder ohne menschlichen Eingriff bewegen können. Durch eine solche Bewegung kann eine Robotervorrichtung eine oder mehrere automatische Funktionen oder Funktionssätze durchführen. Beispiele von solchen Operationen, Funktionen oder Aufgaben können ohne Begrenzung das Betreiben von Rädern oder Propellern, um Fahr-, Flug- oder andere Transporthandlungen zu bewirken, das Betreiben von Roboterliften zum Laden, Entladen, auf Medizin bezogene Prozesse, auf den Bau bezogene Prozesse und/oder dergleichen umfassen. Beispielrobotervorrichtungen können ohne Begrenzung autonome Fahrzeuge, Drohnen und andere autonome Robotervorrichtungen umfassen.
Terminology relevant to the disclosure provided above includes:
  • An “automated device” or a “robotic device” refers to an electronic device that includes a processor, pro programming instructions and one or more physical hardware components that can move in response to commands from the processor with minimal or no human intervention. Through such movement, a robotic device can perform one or more automated functions or sets of functions. Examples of such operations, functions, or tasks may include, without limitation, operating wheels or propellers to effect driving, flying, or other transporting actions, operating robotic lifts for loading, unloading, medical-related processes, construction-related processes, and/or the like. Example robotic devices may include, without limitation, autonomous vehicles, drones, and other autonomous robotic devices.

Der Begriff „Fahrzeug“ bezieht sich auf irgendeine sich bewegende Form von Beförderungsmittel, das in der Lage ist, entweder einen oder mehrere menschliche Insassen und/oder Fracht zu tragen, und durch irgendeine Form von Energie angetrieben wird. Der Begriff „Fahrzeug“ umfasst, ist jedoch nicht begrenzt auf Autos, Lastwagen, Vans, Züge, autonome Fahrzeuge, ein Flugzeug, Flugdrohnen und dergleichen. Ein „autonomes Fahrzeug“ ist ein Fahrzeug mit einem Prozessor, Programmieranweisungen und Antriebsstrangkomponenten, die durch den Prozessor steuerbar sind, ohne einen menschlichen Fahrer zu erfordern. Ein autonomes Fahrzeug kann vollständig autonom sein, indem es keinen menschlichen Fahrer für die meisten oder alle Fahrbedingungen und -funktionen erfordert. Alternativ kann es insofern halbautonom sein, als ein menschlicher Fahrer unter bestimmten Bedingungen oder für bestimmte Operationen erforderlich sein kann oder als ein menschlicher Fahrer das autonome System des Fahrzeugs übersteuern kann und die Steuerung des Fahrzeugs übernehmen kann. Autonome Fahrzeuge umfassen auch Fahrzeuge, in denen autonome Systeme den menschlichen Betrieb des Fahrzeugs verbessern, wie z. B. Fahrzeuge mit fahrerunterstützter Lenkung, Geschwindigkeitssteuerung, Bremsung, Parken und anderen fortschrittlichen Fahrerassistenzsystemen.The term “vehicle” refers to any moving form of conveyance capable of carrying either one or more human occupants and/or cargo and powered by some form of energy. The term “vehicle” includes, but is not limited to, cars, trucks, vans, trains, autonomous vehicles, an airplane, aerial drones, and the like. An “autonomous vehicle” is a vehicle having a processor, programming instructions, and powertrain components controllable by the processor without requiring a human driver. An autonomous vehicle may be fully autonomous in that it does not require a human driver for most or all driving conditions and functions. Alternatively, it may be semi-autonomous in that a human driver may be required under certain conditions or for certain operations, or in that a human driver may override the vehicle’s autonomous system and assume control of the vehicle. Autonomous vehicles also include vehicles in which autonomous systems augment the human operation of the vehicle, such as a human-operated vehicle. E.g. vehicles with driver-assisted steering, cruise control, braking, parking and other advanced driver assistance systems.

Der Begriff „Objekt“, wenn er sich auf ein Objekt bezieht, das durch ein Fahrzeugwahrnehmungssystem detektiert wird oder durch ein Simulationssystem simuliert wird, soll sowohl stationäre Objekte als auch sich bewegende (oder sich potentiell bewegende) Akteure umfassen, außer wenn speziell anders durch die Verwendung des Begriffs „Akteur“ oder „stationäres Objekt“ angegeben.The term “object,” when referring to an object detected by a vehicle perception system or simulated by a simulation system, is intended to include both stationary objects and moving (or potentially moving) actors, unless specifically indicated otherwise by the use of the term “actor” or “stationary object.”

Wenn im Zusammenhang mit der Bewegungsplanung eines autonomen Fahrzeugs verwendet, bezieht sich der Begriff „Trajektorie“ auf den Plan, den das Bewegungsplanungssystem des Fahrzeugs erzeugt, und dem das Bewegungssteuersystem des Fahrzeugs folgt, wenn die Bewegung des Fahrzeugs gesteuert wird. Eine Trajektorie umfasst die geplante Position und Orientierung des Fahrzeugs zu mehreren Zeitpunkten über einen Zeithorizont sowie den geplanten Lenkradwinkel und die geplante Lenkradwinkelrate des Fahrzeugs über denselben Zeithorizont. Ein Bewegungssteuersystem eines autonomen Fahrzeugs verbraucht die Trajektorie und sendet Befehle zur Lenksteuereinheit, Bremssteuereinheit, Fahrpedalsteuereinheit und/oder einem anderen Bewegungssteueruntersystem des Fahrzeugs, um das Fahrzeug entlang eines geplanten Pfades zu bewegen.When used in the context of motion planning of an autonomous vehicle, the term “trajectory” refers to the plan that the vehicle’s motion planning system generates and that the vehicle’s motion control system follows when controlling the vehicle’s motion. A trajectory includes the planned position and orientation of the vehicle at multiple points in time over a time horizon, as well as the vehicle’s planned steering wheel angle and steering wheel angular rate over the same time horizon. A motion control system of an autonomous vehicle consumes the trajectory and sends commands to the vehicle’s steering control unit, brake control unit, accelerator pedal control unit, and/or other motion control subsystem to move the vehicle along a planned path.

Eine „Trajektorie“ eines Akteurs, die Wahrnehmungs- oder Vorhersagesysteme eines Fahrzeugs erzeugen können, bezieht sich auf den vorhergesagten Pfad, dem der Akteur über einen Zeithorizont folgt, zusammen mit der vorhergesagten Geschwindigkeit des Akteurs und/oder der Position des Akteurs entlang des Pfades an verschiedenen Punkten entlang des Zeithorizonts.A “trajectory” of an actor, which a vehicle’s perception or prediction systems can generate, refers to the predicted path that the actor follows over a time horizon, along with the actor’s predicted velocity and/or the actor’s position along the path at various points along the time horizon.

In diesem Dokument sind die Begriffe „Straßenzug“, „Fahrspur“, „Straße“ und „Kreuzung“ alle als Beispiel mit Fahrzeugen, die auf einer oder mehreren Straßen fahren, dargestellt. Die Ausführungsformen sollen jedoch Fahrspuren und Kreuzungen an anderen Orten wie z. B. in Parkbereichen umfassen. Außerdem kann für autonome Fahrzeuge, die so ausgelegt sind, dass sie innen verwendet werden (wie z. B. automatisierte Abholvorrichtungen in Warenhäusern), ein Straßenzug ein Korridor des Warenhauses sein und eine Fahrspur kann ein Abschnitt des Korridors sein. Wenn das autonome Fahrzeug eine Drohne oder ein anderes Fluggerät ist, kann der Begriff „Straßenzug“ oder „Straße“ einen Luftweg darstellen und eine Fahrspur kann ein Abschnitt des Luftweges sein. Wenn das autonome Fahrzeug ein Wasserfahrzeug ist, dann kann der Begriff „Straßenzug“ oder „Straße“ einen Wasserweg darstellen und eine Fahrspur kann ein Abschnitt des Wasserweges sein.In this document, the terms “roadtrain,” “lane,” “road,” and “intersection” are all illustrated as examples with vehicles traveling on one or more roads. However, embodiments are intended to include lanes and intersections in other locations, such as parking areas. Additionally, for autonomous vehicles designed to be used indoors (such as automated pickup devices in warehouses), a roadtrain may be a corridor of the warehouse, and a lane may be a portion of the corridor. If the autonomous vehicle is a drone or other aircraft, then the term “roadtrain” or “road” may represent an airway, and a lane may be a portion of the airway. If the autonomous vehicle is a watercraft, then the term “roadtrain” or “road” may represent a waterway, and a lane may be a portion of the waterway.

Eine „elektronische Vorrichtung“ oder eine „Rechenvorrichtung“ bezieht sich auf eine Vorrichtung, die einen Prozessor und einen Speicher umfasst. Jede Vorrichtung kann ihren eigenen Prozessor und/oder Speicher aufweisen oder der Prozessor und/oder Speicher können mit anderen Vorrichtungen geteilt werden, wie in einer virtuellen Maschine oder Behälteranordnung. Der Speicher enthält oder empfängt Programmieranweisungen, die, wenn sie durch den Prozessor ausgeführt werden, bewirken, dass die elektronische Vorrichtung eine oder mehrere Operationen gemäß den Programmieranweisungen durchführt.An "electronic device" or a "computing device" refers to a device that includes a processor and a memory. Each device may have its own processor and/or memory, or the processor and/or memory may be shared with other devices, such as in a virtual machine or container arrangement. The memory contains or receives programming instructions that, when executed by the processor, cause the electronic device to perform one or more operations in accordance with the programming instructions.

Die Begriffe „Speicher“, „Speichervorrichtung“, „computerlesbares Medium“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen beziehen sich jeweils auf eine nichttransitorische Vorrichtung, auf der computerlesbare Daten, Programmieranweisungen oder beide gespeichert sind. Außer wenn speziell anders angegeben, sollen die Begriffe „Speicher“, „Speichervorrichtung“, „computerlesbares Medium“, „Datenspeicher“, „Datenspeichereinrichtung“ und dergleichen Einzelvorrichtungsausführungsformen, Ausführungsformen, in denen mehrere Speichervorrichtungen zusammen oder gemeinsam einen Satz von Daten oder Anweisungen speichern, sowie individuelle Sektoren innerhalb solcher Vorrichtungen umfassen. Ein Computerprogrammprodukt ist eine Speichervorrichtung, auf der Programmieranweisungen gespeichert sind.The terms "memory,""storagedevice,""computer-readablemedium,""datastorage,""data storage device," and the like each refer to a non-transitory device on which computer-readable data, programming instructions, or both are stored. Unless specifically stated otherwise, the terms "memory,""storagedevice,""computer-readablemedium,""datastorage,""data storage device," and the like are intended to include single device embodiments, embodiments in which multiple storage devices together or collectively store a set of data or instructions, and individual sectors within such devices. A computer program product is a storage device on which programming instructions are stored.

Die Begriffe „Prozessor“ und „Verarbeitungsvorrichtung“ beziehen sich auf eine Hardwarekomponente einer elektronischen Vorrichtung, die dazu eingerichtet ist, Programmieranweisungen auszuführen, wie z. B. einen Mikroprozessor oder einen anderen Logikschaltkreis. Ein Prozessor und ein Speicher können Elemente eines Mikrocontrollers, eines kundenspezifisch konfigurierbaren integrierten Schaltkreises, eines programmierbaren Ein-Chip-Systems oder einer anderen elektronischen Vorrichtung sein, die programmiert werden kann, um verschiedene Funktionen durchzuführen. Außer wenn speziell anders angegeben, soll der Singularbegriff „Prozessor“ oder „Verarbeitungsvorrichtung“ sowohl Einzelverarbeitungsvorrichtungsausführungsformen als auch Ausführungsformen, in denen mehrere Verarbeitungsvorrichtungen zusammen oder gemeinsam einen Prozess durchführen, umfassen.The terms "processor" and "processing device" refer to a hardware component of an electronic device configured to execute programming instructions, such as a microprocessor or other logic circuit. A processor and memory may be elements of a microcontroller, a custom-configurable integrated circuit, a programmable system on a chip, or other electronic device that can be programmed to perform various functions. Unless specifically stated otherwise, the singular term "processor" or "processing device" is intended to encompass both single processing device embodiments and embodiments in which multiple processing devices perform a process together or collectively.

Ein „Maschinenlernmodell“ oder ein „Modell“ bezieht sich auf einen Satz von algorithmischen Routinen und Parametern, die eine Ausgabe (Ausgaben) eines Prozesses der realen Welt auf der Basis eines Satzes von Eingangsmerkmalen vorhersagen können (z. B. Vorhersage einer Objekttrajektorie, Diagnose oder Behandlung eines Patienten, eine geeignete Empfehlung auf der Basis einer Benutzersuchanfrage usw.), ohne explizit programmiert zu sein. Eine Struktur der Softwareroutinen (z. B. Anzahl von Subroutinen und die Beziehung zwischen ihnen) und/oder die Werte der Parameter können in einem Trainingsprozess bestimmt werden, der tatsächliche Ergebnisse des Prozesses der realen Welt verwenden kann, der modelliert wird. Solche Systeme oder Modelle werden als notwendigerweise in Computertechnologie verwurzelt verstanden und können tatsächlich nicht bei Abwesenheit von Rechentechnologie implementiert werden oder sogar existieren. Obwohl Maschinenlemsysteme verschiedene Typen von statistischen Analysen verwenden, werden Maschinenlemsysteme von statistischen Analysen durch die Fähigkeit, ohne explizite Programmierung zu lernen, und durch Verwurzelung in Computertechnologie unterschieden.A "machine learning model" or a "model" refers to a set of algorithmic routines and parameters that can predict an output(s) of a real-world process based on a set of input features (e.g., predicting an object trajectory, diagnosing or treating a patient, making an appropriate recommendation based on a user search query, etc.) without being explicitly programmed. A structure of the software routines (e.g., number of subroutines and the relationship between them) and/or the values of the parameters can be determined in a training process that may use actual results of the real-world process being modeled. Such systems or models are understood to be necessarily rooted in computer technology and, in fact, cannot be implemented or even exist in the absence of computational technology. Although machine learning systems use various types of statistical analysis, machine learning systems are distinguished from statistical analysis by the ability to learn without explicit programming and by being rooted in computer technology.

Eine typische Maschinenlern-Pipeline kann das Aufbauen eines Maschinenlernmodells aus einem Musterdatensatz (als „Trainingssatz“ bezeichnet), das Bewerten des Modelles gegenüber einem oder mehreren zusätzlichen Musterdatensätzen (als „Validierungssatz“ und/oder „Testsatz“ bezeichnet), um zu entscheiden, ob das Modell beibehalten werden soll, und zu bewerten, wie gut das Modell ist, und die Verwendung des Modells bei der „Herstellung“, um Vorhersagen oder Entscheidungen gegenüber Live-Eingangsdaten durchzuführen, die durch einen Anwendungsdienst erfasst werden, umfassen. Der Trainingssatz, der Validierungssatz und/oder der Testsatz sowie das Maschinenlernmodell sind häufig schwierig zu erhalten und sollten vertraulich gehalten werden. Die aktuelle Offenbarung beschreibt Systeme und Verfahren zum Bereitstellen einer sicheren Maschinenlern-Pipeline, die die Privatsphäre und Integrität von Datensätzen sowie Maschinenlernmodellen bewahrt.A typical machine learning pipeline may include building a machine learning model from a sample dataset (referred to as a "training set"), evaluating the model against one or more additional sample datasets (referred to as a "validation set" and/or "test set") to decide whether to keep the model and evaluate how good the model is, and using the model in "manufacturing" to make predictions or decisions against live input data captured by an application service. The training set, validation set, and/or test set, and the machine learning model are often difficult to obtain and should be kept confidential. The current disclosure describes systems and methods for providing a secure machine learning pipeline that preserves the privacy and integrity of datasets and machine learning models.

In diesem Dokument soll, wenn relative Ordnungsbegriffe wie z. B. „erster“ und „zweiter“ verwendet werden, um ein Nomen zu modifizieren, eine solche Verwendung einfach ein Element von einem anderen unterscheiden und soll keine sequentielle Reihenfolge erfordern, wenn nicht speziell angegeben.In this document, when relative ordering terms such as "first" and "second" are used to modify a noun, such use is intended to simply distinguish one element from another and is not intended to require sequential order unless specifically stated.

Außerdem sollen Begriffe der relativen Position, wie z. B. „vorn“ und „hinten“ oder „vor“ und „hinter“, wenn sie verwendet werden, zueinander relativ sein und müssen nicht absolut sein und beziehen sich nur auf eine mögliche Position der Vorrichtung, die diesen Begriffen zugeordnet ist, in Abhängigkeit von der Orientierung der Vorrichtung.In addition, terms of relative position, such as "front" and "back" or "in front of" and "behind", when used, are intended to be relative to each other and need not be absolute, and refer only to one possible position of the device associated with those terms depending on the orientation of the device.

In einem ersten Satz von Ausführungsformen wird ein Verfahren zum Erzeugen eines Szenarios zur Simulation eines Planungsmodells einer Bewegung eines Fahrzeugs offenbart. Das Verfahren kann in Computerprogrammieranweisungen verkörpert sein und/oder durch ein System implementiert werden, das einen Prozessor umfasst. Das Verfahren umfasst das Empfangen, von einem Datenspeicher, der mehrere Simulationsszenarien enthält, eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann,. Das Verfahren umfasst das Empfangen, vom Datenspeicher, einer Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation mehrere Werte für eine Eigenschaft des Objekts definiert. Das Verfahren umfasst ferner das Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben, und das Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell zu trainieren. Das Planungsmodell einer Bewegung simuliert die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie und simuliert iterativ Variationen des Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts. In Reaktion auf jede simulierte Variation des Objekts wählt das Bewegungsplanungsmodell eine fortgesetzte Trajektorie für das Fahrzeug, entweder die geplante Trajektorie oder eine alternative Trajektorie, aus und es bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.In a first set of embodiments, a method for generating a scenario for simulating a planning model of a movement of a vehicle is disclosed. The method may be embodied in computer programming instructions and/or implemented by a system comprising a processor. The method includes receiving, from a data store containing a plurality of simulation scenarios, a base simulation scenario comprising features of a scene through which a vehicle may travel. The method includes receiving, from the data store, a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object. The method further includes adding the simulation variation to the base simulation scenario to yield an extended simulation scenario, and applying the extended simulation lation scenarios to a motion planning model of an autonomous vehicle to train the planning model. The motion planning model simulates the movement of the vehicle along a planned trajectory and iteratively simulates variations of the object based on the multiple values for the property of the object. In response to each simulated variation of the object, the motion planning model selects a continued trajectory for the vehicle, either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory.

Implementierungen des ersten Satzes von Ausführungsformen können eines oder mehrere der folgenden optionalen Merkmale umfassen. In einigen Beispielen umfasst das Verfahren das Definieren der Simulationsvariation durch Ausgeben der Eigenschaft des Objekts über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst, und das Empfangen von einer oder mehreren Variationen für die Eigenschaft des Objekts über die Benutzerschnittstelle. Das Verfahren kann ferner das Ausgeben eines überarbeiteten Simulationsszenarios, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt, über die Anzeigevorrichtung und das Speichern, im Datenspeicher, der einen oder der mehreren Variationen für die Eigenschaft als Simulationsvariation umfassen. Die Eigenschaft kann eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfassen. In einigen Beispielen umfasst das Verfahren ferner das Empfangen, vom Datenspeicher, eines zweiten Basissimulationsszenarios, das Merkmale einer zweiten Szene umfasst, durch die ein Fahrzeug fahren kann. Das Verfahren kann das Empfangen, vom Datenspeicher, der Simulationsvariation, das Hinzufügen der Simulationsvariation zum zweiten Basissimulationsszenario, um ein zweites erweitertes Simulationsszenario zu ergeben, und das Anwenden des zweiten erweiterten Simulationsszenarios auf das Bewegungsplanungsmodell des autonomen Fahrzeugs, um das Bewegungsplanungsmodell zu trainieren, umfassen.Implementations of the first set of embodiments may include one or more of the following optional features. In some examples, the method includes defining the simulation variation by outputting the property of the object via a user interface comprising a display device, and receiving one or more variations for the property of the object via the user interface. The method may further include outputting a revised simulation scenario in which the object exhibits the one or more variations of the property via the display device and storing, in the data store, the one or more variations for the property as a simulation variation. The property may include a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object. In some examples, the method further includes receiving, from the data store, a second base simulation scenario comprising features of a second scene through which a vehicle may travel. The method may include receiving, from the data store, the simulation variation, adding the simulation variation to the second base simulation scenario to result in a second enhanced simulation scenario, and applying the second enhanced simulation scenario to the motion planning model of the autonomous vehicle to train the motion planning model.

In einigen Variationen des ersten Satzes von Ausführungsformen umfasst das Verfahren das Empfangen, vom Datenspeicher, einer zweiten Simulationsvariation für ein zweites Objekt in der Szene, wobei die zweite Simulationsvariation mehrere Werte für eine Eigenschaft des zweiten Objekts definiert. Das Verfahren kann ferner das Hinzufügen der zweiten Simulationsvariation zum Basissimulationsszenario, um ein zweites erweitertes Simulationsszenario zu ergeben, und das Anwenden des zweiten erweiterten Simulationsszenarios auf das Bewegungsplanungsmodell des autonomen Fahrzeugs, um das Bewegungsplanungsmodell zu trainieren, umfassen. Das Bewegungsplanungsmodell kann iterativ Variationen des Objekts und des zweiten Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts und der mehreren Werte für die Eigenschaft des zweiten Objekts simulieren und in Reaktion auf jede Variation des Objekts oder des zweiten Objekts die fortgesetzte Trajektorie für das Fahrzeug auswählen.In some variations of the first set of embodiments, the method includes receiving, from the data store, a second simulation variation for a second object in the scene, the second simulation variation defining a plurality of values for a property of the second object. The method may further include adding the second simulation variation to the base simulation scenario to yield a second augmented simulation scenario and applying the second augmented simulation scenario to the motion planning model of the autonomous vehicle to train the motion planning model. The motion planning model may iteratively simulate variations of the object and the second object based on the plurality of values for the property of the object and the plurality of values for the property of the second object, and select the continued trajectory for the vehicle in response to each variation of the object or the second object.

In einigen Variationen des ersten Satzes von Ausführungsformen umfasst das Verfahren ferner das Empfangen, vom Datenspeicher, einer zweiten Simulationsvariation für das Objekt in der Szene, wobei die zweite Simulationsvariation mehrere Werte für eine zweite Eigenschaft des Objekts definiert. Das Verfahren kann ferner das Hinzufügen der Simulationsvariation und der zweiten Simulationsvariation zum Basissimulationsszenario umfassen, um das erweiterte Simulationsszenario zu ergeben. Das Verfahren kann ferner das Erzeugen eines Erweiterungselements, das ein zweites Objekt und ein Verhalten für das zweite Objekt umfasst, und das Hinzufügen der Simulationsvariation und des Erweiterungselements zum Basissimulationsszenario, um das erweiterte Simulationsszenario zu ergeben, umfassen.In some variations of the first set of embodiments, the method further comprises receiving, from the data store, a second simulation variation for the object in the scene, the second simulation variation defining a plurality of values for a second property of the object. The method may further comprise adding the simulation variation and the second simulation variation to the base simulation scenario to yield the extended simulation scenario. The method may further comprise generating an extension element comprising a second object and a behavior for the second object and adding the simulation variation and the extension element to the base simulation scenario to yield the extended simulation scenario.

In einigen Variationen des ersten Satzes von Ausführungsformen umfasst das Simulieren der Bewegung des Fahrzeugs entlang der geplanten Trajektorie das Betreiben des Fahrzeugs auf einer Teststrecke, wobei Wahrnehmungsdaten von einem oder mehreren Fahrzeugsensoren durch simulierte Variationen des Objekts erweitert werden. In einigen Beispielen stört eine Variation des simulierten Objekts teilweise die geplante Trajektorie des Fahrzeugs und die fortgesetzte Trajektorie ist eine alternative Trajektorie, die das Fahrzeug zumindest um einen Schwellenabstand vom Objekt entfernt hält.In some variations of the first set of embodiments, simulating movement of the vehicle along the planned trajectory includes operating the vehicle on a test track where perception data from one or more vehicle sensors is augmented by simulated variations in the object. In some examples, a variation in the simulated object partially disrupts the planned trajectory of the vehicle and the continued trajectory is an alternate trajectory that keeps the vehicle at least a threshold distance from the object.

In einem zweiten Satz von Ausführungsformen wird ein Verfahren zum Erzeugen von Trainingsszenariovariationen offenbart. Das Verfahren kann in einem Szenariovariationserzeugungssystem verkörpert sein, das dazu eingerichtet ist, ein Basisszenario mit Objekten in einer Szene zu empfangen und eine Benutzerschnittstelle auszuführen, die dazu eingerichtet ist, Daten anzuzeigen, die Eigenschaften der Objekte in der Szene zugeordnet sind. Die Eigenschaft kann eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfassen. Die Benutzerschnittstelle kann ferner dazu eingerichtet sein, eine Variationseingabe in Bezug auf Eigenschaften der Objekte zu empfangen. In Reaktion darauf, dass die Benutzerschnittstelle eine Variationseingabe empfängt, die mehrere Werte für Eigenschaften der Objekte definiert, kann das Szenariovariationserzeugungssystem eine Szenariovariation in einem Datenspeicher speichern, der Simulationsszenarien enthält, wobei die Szenariovariation auf den mehreren Werten basiert und dazu eingerichtet ist, eines oder mehrere der Simulationsszenarien zu erweitern.In a second set of embodiments, a method for generating training scenario variations is disclosed. The method may be embodied in a scenario variation generation system configured to receive a base scenario with objects in a scene and execute a user interface configured to display data associated with properties of the objects in the scene. The property may include a dimension, position, velocity, acceleration, or behavior-triggering distance of the object. The user interface may be further configured to receive a variation input related to properties of the objects. In response to the user interface receiving a variation input defining a plurality of values for properties of the objects, the scenario variation generation system may store a scenario variation in a data store that simulation scenarios, wherein the scenario variation is based on the plurality of values and is configured to extend one or more of the simulation scenarios.

In einigen Variationen des zweiten Satzes von Ausführungsformen umfasst das Verfahren ferner nach dem Empfangen einer Eingabe in Bezug auf die Eigenschaften der Objekte das Anzeigen der mehreren Werte durch die Benutzerschnittstelle, das Empfangen einer Auswahl mit einem oder mehreren der Werte durch die Benutzerschnittstelle, das Erweitern des Basisszenarios mit den ausgewählten Werten und das Anzeigen des erweiterten Szenarios durch die Benutzerschnittstelle.In some variations of the second set of embodiments, the method further comprises, after receiving input regarding the properties of the objects, displaying, through the user interface, the plurality of values, receiving, through the user interface, a selection including one or more of the values, augmenting the base scenario with the selected values, and displaying, through the user interface, the augmented scenario.

In einigen Variationen des zweiten Satzes von Ausführungsformen umfassen die mehreren Werte gleichmäßig beabstandete Werte in einem Bereich, eine Gauß-Verteilung von Werten in einem Bereich, eine gleichmäßige Verteilung von Werten in einem Bereich oder vom Benutzer konfigurierte diskrete Werte. Das Verfahren kann ferner das Empfangen einer Variationseingabe in Bezug auf zwei oder mehr Eigenschaften von einem oder mehreren Objekten durch die Benutzerschnittstelle umfassen, wobei die Variationseingabe mehrere Werte für die zwei oder mehr Eigenschaften des einen oder der mehreren Objekte definiert. Nach dem Empfangen der Eingabe in Bezug auf die zwei oder mehr Eigenschaften kann das Verfahren das Empfangen einer Auswahl mit Werten zum Entfernen von der Szenariovariation umfassen.In some variations of the second set of embodiments, the plurality of values comprise evenly spaced values in a range, a Gaussian distribution of values in a range, a uniform distribution of values in a range, or user-configured discrete values. The method may further comprise receiving, through the user interface, a variation input relating to two or more properties of one or more objects, the variation input defining a plurality of values for the two or more properties of the one or more objects. After receiving the input relating to the two or more properties, the method may comprise receiving a selection of values to remove from the scenario variation.

In anderen Ausführungsformen umfasst ein System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs einen Prozessor, einen Datenspeicher mit Simulationsszenarien und einen Speicher, der Programmieranweisungen speichert, die dazu eingerichtet sind zu bewirken, dass der Prozessor ein Planungsmodell einer Bewegung eines Fahrzeugs trainiert. Das System empfängt vom Datenspeicher ein Basissimulationsszenario, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann. Das System empfängt auch vom Datenspeicher eine Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation mehrere Werte für eine Eigenschaft des Objekts definiert. Das System fügt dann die Simulationsvariation zum Basissimulationsszenario hinzu, um ein erweitertes Simulationsszenario zu ergeben, und wendet das erweiterte Simulationsszenario auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs an, um das Planungsmodell zu trainieren. Das Planungsmodell einer Bewegung simuliert die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie und simuliert iterativ Variationen des Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts. In Reaktion auf jede simulierte Variation des Objekts wählt das Planungsmodell einer Bewegung eine fortgesetzte Trajektorie für das Fahrzeug, entweder die geplante Trajektorie oder eine alternative Trajektorie, aus und bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.In other embodiments, a system for training a planning model of motion of a vehicle includes a processor, a data store having simulation scenarios, and a memory storing programming instructions configured to cause the processor to train a planning model of motion of a vehicle. The system receives from the data store a base simulation scenario comprising features of a scene through which a vehicle may travel. The system also receives from the data store a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object. The system then adds the simulation variation to the base simulation scenario to yield an enhanced simulation scenario and applies the enhanced simulation scenario to a planning model of motion of an autonomous vehicle to train the planning model. The motion planning model simulates the movement of the vehicle along a planned trajectory and iteratively simulates variations of the object based on the plurality of values for the property of the object. In response to each simulated variation of the object, the motion planning model selects a continued trajectory for the vehicle, either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory.

Implementierungen der Offenbarung können eines oder mehrere der folgenden optionalen Merkmale umfassen. In einigen Beispielen gibt das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst, die Eigenschaft des Objekts aus und empfängt über die Benutzerschnittstelle eine oder mehrere Variationen für die Eigenschaft des Objekts. Das System kann über die Anzeigevorrichtung ein überarbeitetes Simulationsszenario ausgeben, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt, und die eine oder die mehreren Variationen für die Eigenschaft im Datenspeicher als Simulationsvariation speichern. Die Eigenschaft kann eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfassen. In einigen Beispielen empfängt das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs vom Datenspeicher ein zweites Basissimulationsszenario, das Merkmale einer zweiten Szene umfasst, durch die ein Fahrzeug fahren kann. Das System kann vom Datenspeicher die Simulationsvariation empfangen, die Simulationsvariation zum zweiten Basissimulationsszenario hinzufügen, um ein zweites erweitertes Simulationsszenario zu ergeben, und das zweite erweiterte Simulationsszenario auf das Planungsmodell einer Bewegung des autonomen Fahrzeugs anwenden, um das Planungsmodell zu trainieren. Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann vom Datenspeicher eine zweite Simulationsvariation für ein zweites Objekt in der Szene empfangen, wobei die zweite Simulationsvariation mehrere Werte für eine Eigenschaft des zweiten Objekts definiert. Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann die zweite Simulationsvariation zum Basissimulationsszenario hinzufügen, um ein zweites erweitertes Simulationsszenario zu ergeben, und das zweite erweiterte Simulationsszenario auf das Planungsmodell einer Bewegung des autonomen Fahrzeugs anwenden, um das Planungsmodell zu trainieren. Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann Variationen des Objekts und des zweiten Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts und der mehreren Werte für die Eigenschaft des zweiten Objekts iterativ simulieren und in Reaktion auf jede Variation des Objekts oder des zweiten Objekts die fortgesetzte Trajektorie für das Fahrzeug auswählen.Implementations of the disclosure may include one or more of the following optional features. In some examples, the system for training a planning model of motion of a vehicle outputs the property of the object via a user interface comprising a display device and receives one or more variations for the property of the object via the user interface. The system may output a revised simulation scenario in which the object exhibits the one or more variations of the property via the display device and store the one or more variations for the property in the data store as a simulation variation. The property may include a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object. In some examples, the system for training a planning model of motion of a vehicle receives from the data store a second base simulation scenario including features of a second scene through which a vehicle may travel. The system may receive the simulation variation from the data store, add the simulation variation to the second base simulation scenario to result in a second enhanced simulation scenario, and apply the second enhanced simulation scenario to the planning model of motion of the autonomous vehicle to train the planning model. The system for training a planning model of motion of a vehicle may receive from the data store a second simulation variation for a second object in the scene, the second simulation variation defining a plurality of values for a property of the second object. The system for training a planning model of motion of a vehicle may add the second simulation variation to the base simulation scenario to result in a second enhanced simulation scenario, and apply the second enhanced simulation scenario to the planning model of motion of the autonomous vehicle to train the planning model. The system for training a planning model of a movement of a vehicle may iteratively simulate variations of the object and the second object based on the plurality of values for the property of the object and the plurality of values for the property of the second object, and select the continued trajectory for the vehicle in response to each variation of the object or the second object.

Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann vom Datenspeicher eine zweite Simulationsvariation für das Objekt in der Szene empfangen, wobei die zweite Simulationsvariation mehrere Werte für eine zweite Eigenschaft des Objekts definiert. Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann die Simulationsvariation und die zweite Simulationsvariation zum Basissimulationsszenario hinzufügen, um das erweiterte Simulationsszenario zu ergeben. Das System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs kann ein Erweiterungselement erzeugen, das ein zweites Objekt und ein Verhalten für das zweite Objekt umfasst, und die Simulationsvariation und das Erweiterungselement zum Basissimulationsszenario hinzufügen, um das erweiterte Simulationsszenario zu ergeben.The system for training a planning model of motion of a vehicle may receive from the data store a second simulation variation for the object in the scene, the second simulation variation defining a plurality of values for a second property of the object. The system for training a planning model of motion of a vehicle may add the simulation variation and the second simulation variation to the base simulation scenario to yield the extended simulation scenario. The system for training a planning model of motion of a vehicle may generate an extension element comprising a second object and a behavior for the second object and add the simulation variation and the extension element to the base simulation scenario to yield the extended simulation scenario.

In einigen Beispielen umfasst das Simulieren der Bewegung des Fahrzeugs entlang der geplanten Trajektorie das Betreiben des Fahrzeugs auf einer Teststrecke, wobei Wahrnehmungsdaten von einem oder mehreren Fahrzeugsensoren durch simulierte Variationen des Objekts erweitert werden. In einigen Beispielen stört eine Variation des simulierten Objekts teilweise die geplante Trajektorie des Fahrzeugs und die fortgesetzte Trajektorie ist eine alternative Trajektorie, die das Fahrzeug zumindest um einen Schwellenabstand vom Objekt entfernt hält.In some examples, simulating movement of the vehicle along the planned trajectory includes operating the vehicle on a test track where perception data from one or more vehicle sensors is augmented by simulated variations in the object. In some examples, a variation in the simulated object partially disrupts the planned trajectory of the vehicle and the continued trajectory is an alternate trajectory that keeps the vehicle at least a threshold distance from the object.

In anderen Ausführungsformen wird ein Computerprogrammprodukt offenbart. Das Computerprogrammprodukt umfasst einen Speicher, der Programmieranweisungen speichert, die dazu eingerichtet sind zu bewirken, dass ein Prozessor ein Planungsmodell einer Bewegung eines Fahrzeugs trainiert. Das Computerprogrammprodukt empfängt vom Datenspeicher ein Basissimulationsszenario, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann. Das Computerprogrammprodukt empfängt auch vom Datenspeicher eine Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation mehrere Werte für eine Eigenschaft des Objekts definiert. Das Computerprogrammprodukt fügt dann die Simulationsvariation zum Basissimulationsszenario hinzu, um ein erweitertes Simulationsszenario zu ergeben, und wendet das erweiterte Simulationsszenario auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs an, um das Planungsmodell zu trainieren. Das Planungsmodell einer Bewegung simuliert die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie und simuliert iterativ Variationen des Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts. In Reaktion auf jede simulierte Variation des Objekts wählt das Planungsmodell einer Bewegung eine fortgesetzte Trajektorie für das Fahrzeug, entweder die geplante Trajektorie oder eine alternative Trajektorie, aus und bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.In other embodiments, a computer program product is disclosed. The computer program product includes a memory storing programming instructions configured to cause a processor to train a planning model of motion of a vehicle. The computer program product receives from the data store a base simulation scenario comprising features of a scene through which a vehicle may travel. The computer program product also receives from the data store a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object. The computer program product then adds the simulation variation to the base simulation scenario to yield an extended simulation scenario and applies the extended simulation scenario to a planning model of motion of an autonomous vehicle to train the planning model. The planning model of motion simulates the movement of the vehicle along a planned trajectory and iteratively simulates variations of the object based on the plurality of values for the property of the object. In response to each simulated variation of the object, the motion planning model selects a continued trajectory for the vehicle, either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory.

Implementierungen der Offenbarung können eines oder mehrere der folgenden optionalen Merkmale umfassen. In einigen Beispielen gibt das Computerprogrammprodukt wahlweise über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst, die Eigenschaft des Objekts aus und empfängt über die Benutzerschnittstelle eine oder mehrere Variationen für die Eigenschaft des Objekts. Das Computerprogrammprodukt kann über die Anzeigevorrichtung ein überarbeitetes Simulationsszenario ausgeben, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt, und die eine oder die mehreren Variationen für die Eigenschaft im Datenspeicher als Simulationsvariation speichern. Die Eigenschaft kann eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfassen. In einigen Beispielen empfängt das Computerprogrammprodukt vom Datenspeicher ein zweites Basissimulationsszenario, das Merkmale einer zweiten Szene umfasst, durch die ein Fahrzeug fahren kann. Das Computerprogrammprodukt kann vom Datenspeicher die Simulationsvariation empfangen, die Simulationsvariation zum zweiten Basissimulationsszenario hinzufügen, um ein zweites erweitertes Simulationsszenario zu ergeben, und das zweite erweiterte Simulationsszenario auf das Planungsmodell einer Bewegung des autonomen Fahrzeugs anwenden, um das Planungsmodell zu trainieren. Das Computerprogrammprodukt kann vom Datenspeicher eine zweite Simulationsvariation für ein zweites Objekt in der Szene empfangen, wobei die zweite Simulationsvariation mehrere Werte für eine Eigenschaft des zweiten Objekts definiert. Das Computerprogrammprodukt kann die zweite Simulationsvariation zum Basissimulationsszenario hinzufügen, um ein zweites erweitertes Simulationsszenario zu ergeben, und das zweite erweiterte Simulationsszenario auf das Planungsmodell einer Bewegung des autonomen Fahrzeugs anwenden, um das Planungsmodell zu trainieren. Das Planungsmodell einer Bewegung kann Variationen des Objekts und des zweiten Objekts auf der Basis der mehreren Werte für die Eigenschaft des Objekts und der mehreren Werte für die Eigenschaft des zweiten Objekts iterativ simulieren und in Reaktion auf jede Variation des Objekts oder des zweiten Objekts die fortgesetzte Trajektorie für das Fahrzeug auswählen.Implementations of the disclosure may include one or more of the following optional features. In some examples, the computer program product optionally outputs the property of the object via a user interface comprising a display device and receives one or more variations for the property of the object via the user interface. The computer program product may output, via the display device, a revised simulation scenario in which the object exhibits the one or more variations of the property and store the one or more variations for the property in the data store as a simulation variation. The property may include a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object. In some examples, the computer program product receives from the data store a second base simulation scenario including features of a second scene through which a vehicle may travel. The computer program product may receive the simulation variation from the data store, add the simulation variation to the second base simulation scenario to yield a second enhanced simulation scenario, and apply the second enhanced simulation scenario to the planning model of a movement of the autonomous vehicle to train the planning model. The computer program product may receive a second simulation variation for a second object in the scene from the data store, the second simulation variation defining a plurality of values for a property of the second object. The computer program product may add the second simulation variation to the base simulation scenario to yield a second enhanced simulation scenario, and apply the second enhanced simulation scenario to the planning model of a movement of the autonomous vehicle to train the planning model. The motion planning model may iteratively simulate variations of the object and the second object based on the multiple values for the property of the object and the multiple values for the property of the second object, and select the continued trajectory for the vehicle in response to each variation of the object or the second object.

Das Computerprogrammprodukt kann vom Datenspeicher eine zweite Simulationsvariation für das Objekt in der Szene empfangen, wobei die zweite Simulationsvariation mehrere Werte für eine zweite Eigenschaft des Objekts definiert. Das Computerprogrammprodukt kann die Simulationsvariation und die zweite Simulationsvariation zum Basissimulationsszenario hinzufügen, um das erweiterte Simulationsszenario zu ergeben. Das Computerprogrammprodukt kann ein Erweiterungselement erzeugen, das ein zweites Objekt und ein Verhalten für das zweite Objekt umfasst, und die Simulationsvariation und das Erweiterungselement zum Basissimulationsszenario hinzufügen, um das erweiterte Simulationsszenario zu ergeben.The computer program product may receive from the data store a second simulation variation for the object in the scene, the second simulation variation defining a plurality of values for a second property of the object. The computer program product may combine the simulation variation and the second simulation variation into the base si simulation scenario to yield the extended simulation scenario. The computer program product may generate an extension element comprising a second object and a behavior for the second object, and add the simulation variation and the extension element to the base simulation scenario to yield the extended simulation scenario.

In einigen Beispielen umfasst das Simulieren der Bewegung des Fahrzeugs entlang der geplanten Trajektorie das Betreiben des Fahrzeugs auf einer Teststrecke, wobei Wahrnehmungsdaten von einem oder mehreren Fahrzeugsensoren durch simulierte Variationen des Objekts erweitert werden. In einigen Beispielen stört eine Variation des simulierten Objekts teilweise die geplante Trajektorie des Fahrzeugs und die fortgesetzte Trajektorie ist eine alternative Trajektorie, die das Fahrzeug zumindest um einen Schwellenabstand vom Objekt entfernt hält.In some examples, simulating movement of the vehicle along the planned trajectory includes operating the vehicle on a test track where perception data from one or more vehicle sensors is augmented by simulated variations in the object. In some examples, a variation in the simulated object partially disrupts the planned trajectory of the vehicle and the continued trajectory is an alternate trajectory that keeps the vehicle at least a threshold distance from the object.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 17/387922 [0001]US17/387922 [0001]
  • US 17/387927 [0001]US17/387927 [0001]
  • US 17/468600 [0001]US17/468600 [0001]
  • US 17074807 [0052]US17074807 [0052]

Claims (17)

Verfahren zum Erzeugen eines Szenarios zur Simulation einer Bewegung eines Fahrzeugs, wobei das Verfahren durch einen Prozessor umfasst: Empfangen, von einem Datenspeicher, der eine Vielzahl von Simulationsszenarien enthält, eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann; Empfangen, vom Datenspeicher, einer Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation eine Vielzahl von Werten für eine Eigenschaft des Objekts definiert; Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben; und Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell zu trainieren, wobei das Planungsmodell: eine Bewegung des Fahrzeugs entlang einer geplanten Trajektorie simuliert, iterativ Variationen des Objekts auf der Basis der Vielzahl von Werten für die Eigenschaft des Objekts simuliert, in Reaktion auf jede simulierte Variation des Objekts eine fortgesetzte Trajektorie für das Fahrzeug auswählt, wobei die fortgesetzte Trajektorie entweder die geplante Trajektorie oder eine alternative Trajektorie ist, und bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.A method of generating a scenario for simulating movement of a vehicle, the method comprising, by a processor: receiving, from a data store containing a plurality of simulation scenarios, a base simulation scenario comprising features of a scene through which a vehicle may travel; receiving, from the data store, a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object; adding the simulation variation to the base simulation scenario to yield an enhanced simulation scenario; and applying the enhanced simulation scenario to a planning model of movement of an autonomous vehicle to train the planning model, wherein the planning model: simulates movement of the vehicle along a planned trajectory, iteratively simulates variations of the object based on the plurality of values for the property of the object, in response to each simulated variation of the object, selects a continued trajectory for the vehicle, the continued trajectory being either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory. Verfahren nach Anspruch 1, ferner umfassend das Definieren der Simulationsvariation durch: Ausgeben der Eigenschaft des Objekts über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst; Empfangen von einer oder mehreren Variationen für die Eigenschaft des Objekts über die Benutzerschnittstelle; Ausgeben, über die Anzeigevorrichtung, eines überarbeiteten Simulationsszenarios, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt; und Speichern, im Datenspeicher, der einen oder der mehreren Variationen für die Eigenschaft als Simulationsvariation.Procedure according to Claim 1 , further comprising defining the simulation variation by: outputting the property of the object via a user interface comprising a display device; receiving one or more variations for the property of the object via the user interface; outputting, via the display device, a revised simulation scenario in which the object exhibits the one or more variations of the property; and storing, in the data store, the one or more variations for the property as a simulation variation. Verfahren nach Anspruch 2, wobei die Eigenschaft eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfasst.Procedure according to Claim 2 , where the property includes a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object. Verfahren nach Anspruch 1, ferner umfassend: Empfangen, vom Datenspeicher, eines zweiten Basissimulationsszenarios, das Merkmale einer zweiten Szene umfasst, durch die ein Fahrzeug fahren kann; Empfangen, vom Datenspeicher, der Simulationsvariation; Hinzufügen der Simulationsvariation zum zweiten Basissimulationsszenario, um ein zweites erweitertes Simulationsszenario zu ergeben; und Anwenden des zweiten erweiterten Simulationsszenarios auf das Planungsmodell des autonomen Fahrzeugs, um das Planungsmodell zu trainieren.Procedure according to Claim 1 , further comprising: receiving, from the data store, a second base simulation scenario comprising features of a second scene through which a vehicle can travel; receiving, from the data store, the simulation variation; adding the simulation variation to the second base simulation scenario to result in a second enhanced simulation scenario; and applying the second enhanced simulation scenario to the planning model of the autonomous vehicle to train the planning model. Verfahren nach Anspruch 1, ferner umfassend: Empfangen, vom Datenspeicher, einer zweiten Simulationsvariation für ein zweites Objekt in der Szene, wobei die zweite Simulationsvariation eine zweite Vielzahl von Werten für eine Eigenschaft des zweiten Objekts definiert; Hinzufügen der zweiten Simulationsvariation zum Basissimulationsszenario, um ein zweites erweitertes Simulationsszenario zu ergeben; und Anwenden des zweiten erweiterten Simulationsszenarios auf das Planungsmodell einer Bewegung des autonomen Fahrzeugs, um das Planungsmodell zu trainieren, wobei das Planungsmodell iterativ Variationen des Objekts und des zweiten Objekts auf der Basis der Vielzahl von Werten für die Eigenschaft des Objekts und der Vielzahl von Werten für die Eigenschaft des zweiten Objekts simuliert und in Reaktion auf jede Variation des Objekts oder des zweiten Objekts die fortgesetzte Trajektorie für das Fahrzeug auswählt.Procedure according to Claim 1 , further comprising: receiving, from the data store, a second simulation variation for a second object in the scene, the second simulation variation defining a second plurality of values for a property of the second object; adding the second simulation variation to the base simulation scenario to result in a second extended simulation scenario; and applying the second extended simulation scenario to the planning model of motion of the autonomous vehicle to train the planning model, wherein the planning model iteratively simulates variations of the object and the second object based on the plurality of values for the property of the object and the plurality of values for the property of the second object, and selecting the continued trajectory for the vehicle in response to each variation of the object or the second object. Verfahren nach Anspruch 1, ferner umfassend: Empfangen, vom Datenspeicher, einer zweiten Simulationsvariation für das Objekt in der Szene, wobei die zweite Simulationsvariation eine zweite Vielzahl von Werten für eine zweite Eigenschaft des Objekts definiert; und Hinzufügen der Simulationsvariation und der zweiten Simulationsvariation zum Basissimulationsszenario, um das erweiterte Simulationsszenario zu ergeben.Procedure according to Claim 1 further comprising: receiving, from the data store, a second simulation variation for the object in the scene, the second simulation variation defining a second plurality of values for a second property of the object; and adding the simulation variation and the second simulation variation to the base simulation scenario to yield the enhanced simulation scenario. Verfahren nach Anspruch 1, ferner umfassend: Erzeugen eines Erweiterungselements, das ein zweites Objekt und ein Verhalten für das zweite Objekt umfasst; und Hinzufügen der Simulationsvariation und des Erweiterungselements zum Basissimulationsszenario, um das erweiterte Simulationsszenario zu ergeben.Procedure according to Claim 1 , further comprising: creating an extension element comprising a second object and a behavior for the second object; and adding the simulation variation and the extension element to the base simulation scenario to yield the extended simulation scenario. Verfahren nach Anspruch 1, wobei das Simulieren der Bewegung des Fahrzeugs entlang der geplanten Trajektorie das Betreiben des Fahrzeugs auf einer Teststrecke umfasst, wobei Wahrnehmungsdaten von einem oder mehreren Fahrzeugsensoren durch simulierte Variationen des Objekts erweitert werden.Procedure according to Claim 1 , wherein simulating movement of the vehicle along the planned trajectory comprises operating the vehicle on a test track, wherein perception data from one or more vehicle sensors is augmented by simulated variations of the object. Verfahren nach Anspruch 1, wobei: mindestens eine Variation des simulierten Objekts zumindest teilweise die geplante Trajektorie des Fahrzeugs stört; und die fortgesetzte Trajektorie eine alternative Trajektorie ist, die das Fahrzeug zumindest um einen Schwellenabstand vom Objekt entfernt hält.Procedure according to Claim 1 , wherein: at least one variation of the simulated object at least partially disrupts the planned trajectory of the vehicle; and the continued trajectory is an alternate trajectory that keeps the vehicle at least a threshold distance from the object. System zum Trainieren eines Planungsmodells einer Bewegung eines Fahrzeugs, umfassend: einen Prozessor; einen Datenspeicher, der eine Vielzahl von Simulationsszenarien enthält; und einen Speicher, der Programmieranweisungen speichert, die dazu eingerichtet sind zu bewirken, dass der Prozessor ein Planungsmodell einer Bewegung eines Fahrzeugs trainiert durch: Empfangen, vom Datenspeicher, eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann; Empfangen, vom Datenspeicher, einer Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation eine Vielzahl von Werten für eine Eigenschaft des Objekts definiert; Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben; und Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell zu trainieren, wobei das Planungsmodell: die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie simuliert, iterativ Variationen des Objekts auf der Basis der Vielzahl von Werten für die Eigenschaft des Objekts simuliert, in Reaktion auf jede simulierte Variation des Objekts eine fortgesetzte Trajektorie für das Fahrzeug auswählt, wobei die fortgesetzte Trajektorie entweder die geplante Trajektorie oder eine alternative Trajektorie ist, und bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.A system for training a planning model of motion of a vehicle, comprising: a processor; a data store containing a plurality of simulation scenarios; and a memory storing programming instructions configured to cause the processor to train a planning model of motion of a vehicle by: receiving, from the data store, a base simulation scenario comprising features of a scene through which a vehicle may travel; receiving, from the data store, a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object; adding the simulation variation to the base simulation scenario to yield an extended simulation scenario; and applying the enhanced simulation scenario to a planning model of movement of an autonomous vehicle to train the planning model, wherein the planning model: simulates movement of the vehicle along a planned trajectory, iteratively simulates variations of the object based on the plurality of values for the property of the object, in response to each simulated variation of the object, selects a continued trajectory for the vehicle, the continued trajectory being either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory. System nach Anspruch 10, wobei die Anweisungen ferner dazu eingerichtet sind zu bewirken, dass der Prozessor die Simulationsvariation definiert durch: Ausgeben der Eigenschaft des Objekts über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst; Empfangen von einer oder mehreren Variationen für die Eigenschaft des Objekts über die Benutzerschnittstelle; Ausgeben eines überarbeiteten Simulationsszenarios, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt, über die Anzeigevorrichtung; und Speichern, im Datenspeicher, der einen oder der mehreren Variationen für die Eigenschaft als Simulationsvariation.System according to Claim 10 , the instructions further configured to cause the processor to define the simulation variation by: outputting the property of the object via a user interface comprising a display device; receiving one or more variations for the property of the object via the user interface; outputting a revised simulation scenario in which the object exhibits the one or more variations of the property via the display device; and storing, in the data store, the one or more variations for the property as a simulation variation. System nach Anspruch 11, wobei die Eigenschaft eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfasst.System according to Claim 11 , where the property includes a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object. System nach Anspruch 10, wobei die Anweisungen ferner dazu eingerichtet sind zu bewirken, dass der Prozessor: vom Datenspeicher ein zweites Basissimulationsszenario empfängt, das Merkmale einer zweiten Szene umfasst, durch die ein Fahrzeug fahren kann; vom Datenspeicher die Simulationsvariation empfängt; die Simulationsvariation zum zweiten Basissimulationsszenario hinzufügt, um ein zweites erweitertes Simulationsszenario zu ergeben; und das zweite erweiterte Simulationsszenario auf das Planungsmodell des autonomen Fahrzeugs anwendet, um das Planungsmodell zu trainieren.System according to Claim 10 , the instructions further configured to cause the processor to: receive from the data store a second base simulation scenario comprising features of a second scene through which a vehicle may travel; receive from the data store the simulation variation; add the simulation variation to the second base simulation scenario to result in a second enhanced simulation scenario; and apply the second enhanced simulation scenario to the planning model of the autonomous vehicle to train the planning model. System nach Anspruch 10, wobei die Anweisungen ferner dazu eingerichtet sind zu bewirken, dass der Prozessor: vom Datenspeicher eine zweite Simulationsvariation für ein zweites Objekt in der Szene empfängt, wobei die zweite Simulationsvariation eine zweite Vielzahl von Werten für eine Eigenschaft des zweiten Objekts definiert; die zweite Simulationsvariation zum Basissimulationsszenario hinzufügt, um ein zweites erweitertes Simulationsszenario zu ergeben; und das zweite erweiterte Simulationsszenario auf das Planungsmodell des autonomen Fahrzeugs anwendet, um das Planungsmodell zu trainieren, wobei das Planungsmodell iterativ Variationen des Objekts und des zweiten Objekts auf der Basis der Vielzahl von Werten für die Eigenschaft des Objekts und der Vielzahl von Werten für die Eigenschaft des zweiten Objekts simuliert und in Reaktion auf jede Variation des Objekts oder des zweiten Objekts die fortgesetzte Trajektorie für das Fahrzeug auswählt.System according to Claim 10 , the instructions further configured to cause the processor to: receive from the data store a second simulation variation for a second object in the scene, the second simulation variation defining a second plurality of values for a property of the second object; add the second simulation variation to the base simulation scenario to result in a second enhanced simulation scenario; and apply the second enhanced simulation scenario to the planning model of the autonomous vehicle to train the planning model, wherein the planning model iteratively simulates variations of the object and the second object based on the plurality of values for the property of the object and the plurality of values for the property of the second object, and select the continued trajectory for the vehicle in response to each variation of the object or the second object. Computerprogrammprodukt, umfassend: einen Speicher, der Programmieranweisungen speichert, die dazu eingerichtet sind zu bewirken, dass ein Prozessor ein Planungsmodell einer Bewegung eines Fahrzeugs trainiert durch: Empfangen, von einem Datenspeicher, der eine Vielzahl von Simulationsszenarien enthält, eines Basissimulationsszenarios, das Merkmale einer Szene umfasst, durch die ein Fahrzeug fahren kann; Empfangen, vom Datenspeicher, einer Simulationsvariation für ein Objekt in der Szene, wobei die Simulationsvariation eine Vielzahl von Werten für eine Eigenschaft des Objekts definiert; Hinzufügen der Simulationsvariation zum Basissimulationsszenario, um ein erweitertes Simulationsszenario zu ergeben; und Anwenden des erweiterten Simulationsszenarios auf ein Planungsmodell einer Bewegung eines autonomen Fahrzeugs, um das Planungsmodell zu trainieren, wobei das Planungsmodell: die Bewegung des Fahrzeugs entlang einer geplanten Trajektorie simuliert, iterativ Variationen des Objekts auf der Basis der Vielzahl von Werten für die Eigenschaft des Objekts simuliert, in Reaktion auf jede simulierte Variation des Objekts eine fortgesetzte Trajektorie für das Fahrzeug auswählt, wobei die fortgesetzte Trajektorie entweder die geplante Trajektorie oder eine alternative Trajektorie ist, und bewirkt, dass sich das Fahrzeug entlang der fortgesetzten Trajektorie bewegt.A computer program product comprising: a memory storing programming instructions configured to cause a processor to train a planning model of movement of a vehicle by: receiving, from a data store containing a plurality of simulation scenarios, a base simulation scenario comprising features of a scene through which a vehicle may travel; receiving, from the data store, a simulation variation for an object in the scene, the simulation variation defining a plurality of values for a property of the object; adding the simulation variation to the base simulation scenario to yield an extended simulation scenario; and applying the extended simulation scenario to a planning model of movement of a vehicle nomen vehicle to train the planning model, wherein the planning model: simulates movement of the vehicle along a planned trajectory, iteratively simulates variations of the object based on the plurality of values for the property of the object, responsive to each simulated variation of the object, selects a continued trajectory for the vehicle, the continued trajectory being either the planned trajectory or an alternative trajectory, and causes the vehicle to move along the continued trajectory. Computerprogrammprodukt nach Anspruch 15, wobei die Anweisungen ferner dazu eingerichtet sind zu bewirken, dass der Prozessor die Simulationsvariation definiert durch: Ausgeben der Eigenschaft des Objekts über eine Benutzerschnittstelle, die eine Anzeigevorrichtung umfasst; Empfangen von einer oder mehreren Variationen für die Eigenschaft des Objekts über die Benutzerschnittstelle; Ausgeben eines überarbeiteten Simulationsszenarios, in dem das Objekt die eine oder die mehreren Variationen der Eigenschaft aufzeigt, über die Anzeigevorrichtung; und Speichern, im Datenspeicher, der einen oder der mehreren Variationen für die Eigenschaft als Simulationsvariation.Computer program product according to Claim 15 , the instructions further configured to cause the processor to define the simulation variation by: outputting the property of the object via a user interface comprising a display device; receiving one or more variations for the property of the object via the user interface; outputting a revised simulation scenario in which the object exhibits the one or more variations of the property via the display device; and storing, in the data store, the one or more variations for the property as a simulation variation. Computerprogrammprodukt nach Anspruch 16, wobei die Eigenschaft eine Abmessung, eine Position, eine Geschwindigkeit, eine Beschleunigung oder eine verhaltensauslösende Distanz des Objekts umfasst.Computer program product according to Claim 16 , where the property includes a dimension, a position, a velocity, an acceleration, or a behavior-triggering distance of the object.
DE112022003731.8T 2021-07-28 2022-06-29 METHOD AND SYSTEM FOR CONFIGURING VARIATIONS IN TRAINING SIMULATIONS OF AN AUTONOMOUS VEHICLE Pending DE112022003731T5 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US17/387,922 2021-07-28
US17/387,927 2021-07-28
US17/387,927 US11960292B2 (en) 2021-07-28 2021-07-28 Method and system for developing autonomous vehicle training simulations
US17/387,922 US20230030474A1 (en) 2021-07-28 2021-07-28 Method and system for developing autonomous vehicle training simulations
US17/468,600 US20230070734A1 (en) 2021-09-07 2021-09-07 Method and system for configuring variations in autonomous vehicle training simulations
US17/468,600 2021-09-07
PCT/US2022/073251 WO2023009925A1 (en) 2021-07-28 2022-06-29 Method and system for configuring variations in autonomous vehicle training simulations

Publications (1)

Publication Number Publication Date
DE112022003731T5 true DE112022003731T5 (en) 2024-05-23

Family

ID=85087273

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112022003731.8T Pending DE112022003731T5 (en) 2021-07-28 2022-06-29 METHOD AND SYSTEM FOR CONFIGURING VARIATIONS IN TRAINING SIMULATIONS OF AN AUTONOMOUS VEHICLE
DE112022003737.7T Pending DE112022003737T5 (en) 2021-07-28 2022-06-29 Method and system for developing training simulations of an autonomous vehicle

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE112022003737.7T Pending DE112022003737T5 (en) 2021-07-28 2022-06-29 Method and system for developing training simulations of an autonomous vehicle

Country Status (2)

Country Link
DE (2) DE112022003731T5 (en)
WO (2) WO2023009925A1 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2990290B1 (en) * 2014-09-01 2019-11-06 Honda Research Institute Europe GmbH Method and system for post-collision manoeuvre planning and vehicle equipped with such system
US11169536B2 (en) * 2018-04-09 2021-11-09 SafeAI, Inc. Analysis of scenarios for controlling vehicle operations
US11521009B2 (en) * 2018-09-04 2022-12-06 Luminar, Llc Automatically generating training data for a lidar using simulated vehicles in virtual space
US11554785B2 (en) * 2019-05-07 2023-01-17 Foresight Ai Inc. Driving scenario machine learning network and driving environment simulation
US11494533B2 (en) * 2019-11-27 2022-11-08 Waymo Llc Simulations with modified agents for testing autonomous vehicle software
US20210286924A1 (en) * 2020-03-11 2021-09-16 Aurora Innovation, Inc. Generating autonomous vehicle simulation data from logged data

Also Published As

Publication number Publication date
WO2023009926A1 (en) 2023-02-02
WO2023009925A1 (en) 2023-02-02
DE112022003737T5 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
DE102019102205A1 (en) SYSTEM AND METHOD FOR THE END TO END VALIDATION OF AUTONOMOUS VEHICLES
DE102019114577A1 (en) SYSTEMS, DEVICES AND METHODS FOR EMBEDDED CODING OF CONTEXT-RELATED INFORMATION USING A NEURONAL NETWORK WITH VECTOR SPACE MODELING
DE102021108470A1 (en) REALISTIC PICTURE PERSPECTIVE TRANSFORMATION USING NEURAL NETWORKS
DE102020128978A1 (en) TRAINING DEEP NEURAL NETWORKS WITH SYNTHETIC IMAGES
DE112022002652T5 (en) AUTOMATIC GENERATION OF A VECTOR MAP FOR VEHICLE NAVIGATION
DE102021104044A1 (en) NEURAL NETWORK FOR POSITIONING AND OBJECT DETECTION
US11960292B2 (en) Method and system for developing autonomous vehicle training simulations
DE102021201178A1 (en) COMPUTER-IMPLEMENTED PROCEDURE FOR GENERATION OF RELIABILITY INDICATIONS FOR COMPUTERVISION
DE102021104178A1 (en) DYNAMICALLY ROUTED FIELD DISCRIMINATOR
DE102021200348A1 (en) COMPUTER-IMPLEMENTED METHOD OF TRAINING A COMPUTER VISION MODEL
DE102020122086A1 (en) MEASURING CONFIDENCE IN DEEP NEURAL NETWORKS
US20230070734A1 (en) Method and system for configuring variations in autonomous vehicle training simulations
DE102022123257A1 (en) Selective elimination of the counteracting robustness features of neural networks
DE102022123358A1 (en) FREQUENCY-BASED FEATURE RESTRICTION FOR A NEURAL NETWORK
DE112022003731T5 (en) METHOD AND SYSTEM FOR CONFIGURING VARIATIONS IN TRAINING SIMULATIONS OF AN AUTONOMOUS VEHICLE
DE102022125228A1 (en) AUTOMATED DRIVING SYSTEM WITH THE DESIRED LEVEL OF DRIVING AGGRESSIVITY
DE102020200876B4 (en) Method for processing sensor data from a sensor system in a vehicle
DE102021200568A1 (en) COMPUTER-IMPLEMENTED METHOD OF ANALYZING THE RELEVANCE OF VISUAL PARAMETERS FOR TRAINING A COMPUTER VISION MODEL
DE102021107247A1 (en) DOMAIN TRANSLATION NETWORK TO PERFORM AN IMAGE TRANSLATION
DE102020127253A1 (en) QUANTIFYING PHOTOREALISM IN SIMULATED DATA WITH GAN
DE102021213344A1 (en) Method for determining agent trajectories in a multi-agent scenario
DE112020006532T5 (en) COMPUTER SYSTEM AND METHOD WITH END-TO-END MODELING FOR A SIMULATED TRAFFIC AGENT IN A SIMULATION ENVIRONMENT
DE102020122356A1 (en) LOCATION-BASED VEHICLE OPERATION
US20230030474A1 (en) Method and system for developing autonomous vehicle training simulations
DE102021101850A1 (en) DOMAIN GENERATION VIA LEARNED SUB-DOMAIN TRANSLATIONS

Legal Events

Date Code Title Description
R012 Request for examination validly filed