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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012549 training Methods 0.000 title claims description 40
- 238000004088 simulation Methods 0.000 claims abstract description 280
- 230000004044 response Effects 0.000 claims abstract description 40
- 230000003190 augmentative effect Effects 0.000 claims abstract description 19
- 230000006399 behavior Effects 0.000 claims description 58
- 230000008447 perception Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 18
- 230000001133 acceleration Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 description 34
- 230000008569 process Effects 0.000 description 34
- 238000009826 distribution Methods 0.000 description 21
- 230000003416 augmentation Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000000414 obstructive effect Effects 0.000 description 4
- 101150071882 US17 gene Proteins 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised 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.
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ährend1B eine modifizierte Version des Simulationsszenarios von1A darstellt.1A shows example elements of a vehicle simulation scenario, while1B a modified version of the simulation scenario of1A represents. -
2 stellt Beispieluntersysteme eines autonomen Fahrzeugs dar.2 shows example subsystems of an autonomous vehicle. -
3A und3B 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 and3B 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 und4B stellen bestimmte Elemente des Prozesses von3A und3B in einem alternativen Format dar.4A and4B represent certain elements of the process of3A and3B in an alternative format. -
5A und5B stellen die Entwicklung einer Simulationsszenarioerweiterung unter Verwendung eines Beispielsatzes von Kandidatenobjektdaten dar.5A and5B 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.
Dieses Dokument beschreibt Verfahren und Systeme zum Erweitern von Basissimulationsszenarien wie z. B. dem in
Vor dem weiteren Erkunden der Details der vorliegenden Ausführungsformen stellen wir einige Hintergrundinformationen über AV-Systeme bereit.
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
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
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
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
Der Benutzer kann die Variation von zusätzlichen Eigenschaften 1001 von Objekten in der Szene konfigurieren.
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
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.
- - 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
Wie vorstehend in Schritt 302 in
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
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
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
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
Der vorstehend erörterte und in
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
- - 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).
- - 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
Ein behinderndes Erweiterungselement ist ein Objekt mit einem Ort, der zumindest teilweise den geplanten Pfad des Fahrzeugs blockiert. Ein Beispiel dessen ist in
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
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
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
Mit Rückkehr zu
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.
- 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)
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)
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 |
-
2022
- 2022-06-29 DE DE112022003731.8T patent/DE112022003731T5/en active Pending
- 2022-06-29 DE DE112022003737.7T patent/DE112022003737T5/en active Pending
- 2022-06-29 WO PCT/US2022/073251 patent/WO2023009925A1/en unknown
- 2022-06-29 WO PCT/US2022/073252 patent/WO2023009926A1/en unknown
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 |