Planning trajectory generation for vehicle path planning

WO2026199199A1PCT designated stage Publication Date: 2026-10-01QUALCOMM INC +2
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/084872
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-26
Publication Date
2026-10-01

Smart Images

  • Figure CN2025084872_01102026_PF_FP_ABST
    Figure CN2025084872_01102026_PF_FP_ABST
Patent Text Reader

Abstract

A device includes a memory configured to store images that represent scenes associated with a vehicle. The device also includes one or more processors configured to obtain a scene representation, based on the images, of a scene associated with the vehicle. The one or more processors are also configured to, based on a noise input, the scene representation, and a model, obtain a respective planning trajectory of multiple trajectory candidates associated with the vehicle. The one or more processors are configured to select, based on metric data, a planning trajectory from the multiple trajectory candidates. The one or more processors are configured to provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

PLANNING TRAJECTORY GENERATION FOR VEHICLE PATH PLANNING I. Field

[0001] The present disclosure is generally related to vehicle path planning, and in particular to planning trajectory generation for the vehicle path planning. II. Description of Related Art

[0002] Vehicle autonomy is sometimes described in terms of several tasks, including perception, prediction, planning, and control tasks. The perception task generally includes operations related to analyzing the environment around the vehicle, such as determining where the vehicle is relative to objects, other vehicles, or landmarks in the environment. The prediction task generally includes operations related to identifying expected or predicted future actions or relative positions of the objects, other vehicles, or landmarks. The planning tasks generally include operations related to planning movements of the vehicle being controlled (commonly referred to as the “ego-vehicle” ) in view of the results of the perception task, the prediction task, and goals associated with the vehicle. The control tasks generally include operations related to causing specific subsystems of the vehicle to implement some set of the planned movements.

[0003] Conventional end-to-end autonomous driving algorithms typically take planning as an imitation learning task where only one planning trajectory is regressed from a scene representation. In “HE-Drive” (Junming Wang, et al., “HE-Drive: Human-Like End-to-End Driving with Vision Language Models” , arXiv: 2410.05051v1 [cs. CV] , 7 Oct 2024, 20 pages) , the authors proposed a system to denoise pure Gaussian noise inputs using a diffusion model, where the denoising is conditioned by the scene representation, to generate multiple planning trajectories, and then to use a Vision-Language Model to select one of the planning trajectories based on various driving factors, such as collision probability and comfort. III. Summary

[0004] According to one implementation of the present disclosure, a device includes a memory configured to store images that represent scenes associated with a vehicle. The device also includes one or more processors configured to obtain a scene representation, based on a set of images of the images, of a scene associated with the vehicle. The one or more processors are also configured to obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. The one or more processors are further configured to select, based on metric data, a planning trajectory from the multiple planning trajectory candidates. The one or more processors are configured to provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0005] According to another implementation of the present disclosure, a method includes obtaining a scene representation of a scene associated with a vehicle. The method also includes obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. The method further includes selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates. The method includes providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0006] According to another implementation of the present disclosure, a non-transitory computer-readable medium stores instructions that are executable by one or more processors to cause the one or more processors to obtain a scene representation of a scene associated with a vehicle. The instructions further cause the one or more processors to obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. The instructions also cause the one or more processors to select, based on metric data, a planning trajectory from the multiple planning trajectory candidates. The instructions cause the one or more processors to provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0007] According to another implementation of the present disclosure, an apparatus includes means for obtaining a scene representation of a scene associated with a vehicle. The apparatus also includes means for obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. The apparatus further includes means for selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates. The apparatus includes means for providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0008] Other aspects, advantages, and features of the present disclosure will become apparent after review of the entire application, including the following sections: Brief Description of the Drawings, Detailed Description, and the Claims. IV. Brief Description of the Drawings

[0009] FIG. 1 is a block diagram of an example of a system for planning trajectory generation, in accordance with one or more aspects of the present disclosure.

[0010] FIG. 2 is a diagram of an example of operations associated with the system for planning trajectory generation of FIG. 1, in accordance with one or more aspects of the present disclosure.

[0011] FIG. 3 is a diagram of illustrative aspects of operations associated with training the system for planning trajectory generation of FIG. 1, in accordance with some examples of the present disclosure.

[0012] FIG. 4 is a diagram of an example of an integrated circuit operable to perform planning trajectory generation, in accordance with some examples of the present disclosure.

[0013] FIG. 5 is a diagram of a mobile device operable to perform planning trajectory generation, in accordance with some examples of the present disclosure.

[0014] FIG. 6 is a diagram of a first example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure.

[0015] FIG. 7 is a diagram of a second example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure.

[0016] FIG. 8 is a diagram of a third example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure.

[0017] FIG. 9 is a diagram of an example of a method of planning trajectory generation, in accordance with some aspects of the present disclosure.

[0018] FIG. 10 is a block diagram of an illustrative example of a device that is operable to perform planning trajectory generation, in accordance with one or more aspects of the present disclosure. V. Detailed Description

[0019] Particular aspects of the disclosure relate to automation systems for vehicles. In particular, the disclosed automation systems facilitate improved planning trajectory generation by generating multiple planning trajectory candidates based on noise added to a scene representation, and selecting one of the planning trajectory candidates to be provided to a control system of the vehicle, such as an autonomous-driving car. For example, a device, such as a device included in a vehicle, is configured to generate multiple planning trajectories based on a model. In some examples, the model may include a generator of a conditional Generative Adversarial Network (cGAN) that is configured to generate the multiple planning trajectories based on noise added to a scene representation. For example, different noise inputs may be provided to the generator along with the scene representation and, for each noise input, the generator may generate a respective planning trajectory candidate for the scene representation. The device is also configured to select, based on one or more metrics, one of the multiple planning trajectory candidates as a planning trajectory. For example, the one or more metrics may include an efficiency metric that indicates one or more travel points along a travel path of the vehicle, a user preference that indicates a driving style of a user of the vehicle, a traffic condition that indicates an amount of a traffic congestion, and / or another metric, preference, or condition. The selected planning trajectory is provided to a control system to enable the control system to generate one or more control signals associated with operation of the vehicle, such as one or more operations for autonomous operation of the vehicle.

[0020] Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following technical advantages. In some aspects, the device generates multiple planning trajectories as candidates for planning control, which can improve the performance of trajectory planning for autonomous-driving cars. For example, as compared to conventional end-to-end autonomous driving algorithms that use a diffusion model to generate one or more candidate trajectories, the generator of the cGAN has reduced training time and compute resources. Additionally, the one or more metrics considered to select one of the multiple planning trajectories provides improved selection customization and optimization as compared to conventional techniques. For example, the one or more metrics enable the most suitable trajectory to be selected from these candidates to control the vehicle.

[0021] Particular aspects of the present disclosure are described below with reference to the drawings. In the description, common features are designated by common reference numbers. As used herein, various terminology is used for the purpose of describing particular implementations only and is not intended to be limiting of implementations. For example, the singular forms “a, ” “an, ” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Further, some features described herein are singular in some implementations and plural in other implementations. To illustrate, FIG. 1 depicts a device 102 including one or more processors ( “processor (s) ” 108 of FIG. 1) , which indicates that in some implementations the device 102 includes a single processor 108 and in other implementations the device 102 includes multiple processors 108. For ease of reference herein, such features are generally introduced as “one or more” features and are subsequently referred to in the singular or optional plural (as indicated by “ (s) ” ) unless aspects related to multiple of the features are being described.

[0022] In some drawings, multiple instances of a particular type of feature are used. Although these features are physically and / or logically distinct, the same reference number is used for each, and the different instances are distinguished by addition of a letter to the reference number. When the features as a group or a type are referred to herein -e.g., when no particular one of the features is being referenced, the reference number is used without a distinguishing letter. However, when one particular feature of multiple features of the same type is referred to herein, the reference number is used with the distinguishing letter.

[0023] As used herein, the terms “comprise, ” “comprises, ” and “comprising” may be used interchangeably with “include, ” “includes, ” or “including. ” Additionally, the term “wherein” may be used interchangeably with “where. ” As used herein, “exemplary” indicates an example, an implementation, and / or an aspect, and should not be construed as limiting or as indicating a preference or a preferred implementation. As used herein, an ordinal term (e.g., “first, ” “second, ” “third, ” etc. ) used to modify an element, such as a structure, a component, an operation, etc., does not by itself indicate any priority or order of the element with respect to another element, but rather merely distinguishes the element from another element having a same name (but for use of the ordinal term) . As used herein, the term “set” refers to one or more of a particular element, and the term “plurality” refers to multiple (e.g., two or more) of a particular element.

[0024] As used herein, “coupled” may include “communicatively coupled, ” “electrically coupled, ” or “physically coupled, ” and may also (or alternatively) include any combinations thereof. Two devices (or components) may be coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) directly or indirectly via one or more other devices, components, wires, buses, networks (e.g., a wired network, a wireless network, or a combination thereof) , etc. Two devices (or components) that are electrically coupled may be included in the same device or in different devices and may be connected via electronics, one or more connectors, or inductive coupling, as illustrative, non-limiting examples. In some implementations, two devices (or components) that are communicatively coupled, such as in electrical communication, may send and receive signals (e.g., digital signals or analog signals) directly or indirectly, via one or more wires, buses, networks, etc. As used herein, “directly coupled” may include two devices that are coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) without intervening components.

[0025] In the present disclosure, terms such as “obtaining, ” “determining, ” “calculating, ” “estimating, ” “shifting, ” “adjusting, ” etc. may be used to describe how one or more operations are performed. It should be noted that such terms are not to be construed as limiting and other techniques may be utilized to perform similar operations. Additionally, as referred to herein, “obtaining, ” “generating, ” “calculating, ” “estimating, ” “using, ” “selecting, ” “accessing, ” and “determining” may be used interchangeably. For example, “obtaining, ” “generating, ” “calculating, ” “estimating, ” or “determining” a parameter (or a signal) may refer to actively generating, estimating, calculating, or determining the parameter (or the signal) or may refer to using, selecting, or accessing the parameter (or signal) that is already generated, such as by another component or device.

[0026] As used herein, the term “machine learning” should be understood to have any of its usual and customary meanings within the fields of computers science and data science, such meanings including, for example, processes or techniques by which one or more computers can learn to perform some operation or function without being explicitly programmed to do so. As a typical example, machine learning can be used to enable one or more computers to analyze data to identify patterns in data and generate a result based on the analysis. For certain types of machine learning, the results that are generated include data that indicates an underlying structure or pattern of the data itself. Such techniques, for example, include so called “clustering” techniques, which identify clusters (e.g., groupings of data elements of the data) .

[0027] For certain types of machine learning, the results that are generated include a data model (also referred to as a “machine-learning model” or simply a “model” ) . Typically, a model is generated using a first data set to facilitate analysis of a second data set. For example, a first portion of a large body of data may be used to generate a model that can be used to analyze the remaining portion of the large body of data. As another example, a set of historical data can be used to generate a model that can be used to analyze future data.

[0028] Since a model can be used to evaluate a set of data that is distinct from the data used to generate the model, the model can be viewed as a type of software (e.g., instructions, parameters, or both) that is automatically generated by the computer (s) during the machine learning process. As such, the model can be portable (e.g., can be generated at a first computer, and subsequently moved to a second computer for further training, for use, or both) . Additionally, a model can be used in combination with one or more other models to perform a desired analysis. To illustrate, first data can be provided as input to a first model to generate first model output data, which can be provided (alone, with the first data, or with other data) as input to a second model to generate second model output data indicating a result of a desired analysis. Depending on the analysis and data involved, different combinations of models may be used to generate such results. In some examples, multiple models may provide model output that is input to a single model. In some examples, a single model provides model output to multiple models as input.

[0029] Examples of machine-learning models include, without limitation, perceptrons, neural networks, support vector machines, regression models, decision trees, Bayesian models, Boltzmann machines, adaptive neuro-fuzzy inference systems, as well as combinations, ensembles and variants of these and other types of models. Variants of neural networks include, for example and without limitation, prototypical networks, autoencoders, transformers, self-attention networks, convolutional neural networks, deep neural networks, deep belief networks, etc. Variants of decision trees include, for example and without limitation, random forests, boosted decision trees, etc.

[0030] Since machine-learning models are generated by computer (s) based on input data, machine-learning models can be discussed in terms of at least two distinct time windows –a creation / training phase and a runtime phase. During the creation / training phase, a model is created, trained, adapted, validated, or otherwise configured by the computer based on the input data (which in the creation / training phase, is generally referred to as “training data” ) . Note that the trained model corresponds to software that has been generated and / or refined during the creation / training phase to perform particular operations, such as classification, prediction, encoding, or other data analysis or data synthesis operations. During the runtime phase (or “inference” phase) , the model is used to analyze input data to generate model output. The content of the model output depends on the type of model. For example, a model can be trained to perform classification tasks or regression tasks, as non-limiting examples. In some implementations, a model may be continuously, periodically, or occasionally updated, in which case training time and runtime may be interleaved or one version of the model can be used for inference while a copy is updated, after which the updated copy may be deployed for inference.

[0031] In some implementations, a previously generated model is trained (or re-trained) using a machine-learning technique. In this context, “training” refers to adapting the model or parameters of the model to a particular data set. Unless otherwise clear from the specific context, the term “training” as used herein includes “re-training” or refining a model for a specific data set. For example, training may include so called “transfer learning. ” In transfer learning a base model may be trained using a generic or typical data set, and the base model may be subsequently refined (e.g., re-trained or further trained) using a more specific data set.

[0032] A data set used during training is referred to as a “training data set” or simply “training data” . The data set may be labeled or unlabeled. “Labeled data” refers to data that has been assigned a categorical label indicating a group or category with which the data is associated, and “unlabeled data” refers to data that is not labeled. Typically, “supervised machine-learning processes” use labeled data to train a machine-learning model, and “unsupervised machine-learning processes” use unlabeled data to train a machine-learning model; however, it should be understood that a label associated with data is itself merely another data element that can be used in any appropriate machine-learning process. To illustrate, many clustering operations can operate using unlabeled data; however, such a clustering operation can use labeled data by ignoring labels assigned to data or by treating the labels the same as other data elements.

[0033] Training a model based on a training data set generally involves changing parameters of the model with a goal of causing the output of the model to have particular characteristics based on data input to the model. To distinguish from model generation operations, model training may be referred to herein as optimization or optimization training. In this context, “optimization” refers to improving a metric, and does not mean finding an ideal (e.g., global maximum or global minimum) value of the metric. Examples of optimization trainers include, without limitation, backpropagation trainers, derivative free optimizers (DFOs) , and extreme learning machines (ELMs) . As one example of training a model, during supervised training of a neural network, an input data sample is associated with a label. When the input data sample is provided to the model, the model generates output data, which is compared to the label associated with the input data sample to generate an error value. Parameters of the model are modified in an attempt to reduce (e.g., optimize) the error value. As another example of training a model, during unsupervised training of an autoencoder, a data sample is provided as input to the autoencoder, and the autoencoder reduces the dimensionality of the data sample (which is a lossy operation) and attempts to reconstruct the data sample as output data. In this example, the output data is compared to the input data sample to generate a reconstruction loss, and parameters of the autoencoder are modified in an attempt to reduce (e.g., optimize) the reconstruction loss.

[0034] FIG. 1 is a block diagram of an example of a system 100 for planning trajectory generation, in accordance with one or more aspects of the present disclosure. The system 100 includes a device 102 that is operable to perform planning trajectory generation. In some implementations, the system 100 includes or corresponds to a vehicle 150, such as a land vehicle (e.g., an automobile -a car or a truck) , a watercraft (e.g., a ship or a boat) , or an aircraft (e.g., a fixed wing aircraft, a rotary wing aircraft, an aerostat, or a hybrid aircraft) . In the embodiment shown in FIG. 1, the vehicle 150 includes the device 102. In other implementations, the device 102 may not be included in the vehicle 150 and may be communicatively coupled with the vehicle 150.

[0035] The device 102 includes, or is coupled to, one or more processors 108 (collectively referred to herein as the “processor 108” ) , a memory 106 coupled to the processor 108, and one or more interfaces 104 (collectively referred to herein as the “interface 104” ) . The memory 106 may include one or more memories, such as a single memory or multiple different memories (of the same type or of different types) . The memory 106 is configured to store instructions 109, one or more images 112 (collectively referred to herein as the “image 112” ) , metric data 113, a model 180, and, optionally (as indicated by the dashed box) , sensor data 116.

[0036] The memory 106 includes or stores the instructions 109 that, when executed by the processor 108, cause the processor 108 to perform one or more operations as described herein. The image 112 includes at least a portion of a scene associated with the vehicle.

[0037] The metric data 113 includes or indicates an efficiency metric, a user preference, a traffic condition, a safety metric, a collision probability metric, a passenger comfort metric, or a combination thereof. The efficiency metric indicates one or more travel points along a travel path of the vehicle, a maximum speed that does not exceed a posted speed limit, a threshold deviation amount between a direction of travel and a direction of a lane marker, or a combination thereof. The user preference indicates a driving style of a user of the vehicle, which can include a selection of a driving mode (e.g., a sport mode, a fuel efficiency mode, etc. ) . Additionally, or alternatively, the user preference can indicate the driving style of the user that is based on historical data of driving behavior of the user in different driving situations and / or conditions. In some embodiments, the user preference of a user may include or indicate one or more other metrics and a respective weight value for each other metric. The traffic condition may indicate an amount of a traffic congestion. The safety metric may indicate one or more distances to be maintained between the vehicle 150 and other vehicles, road boundaries, objects, or a combination thereof. The collision probability metric indicates a likelihood that a path of travel will result in a collision, such as a collision with another vehicle, object, pedestrian, etc. The passenger comfort metric indicates driving characteristics to be avoided that negatively impact passenger comfort, such as sudden braking, lateral acceleration, longitudinal acceleration, or centripetal acceleration.

[0038] The model 180 includes a first model that is configured to generate a planning trajectory (e.g., a planning trajectory candidate) based on a scene representation, such as a scene representation of a scene associated with the vehicle 150. In some embodiments, to generate the planning trajectory for the scene representation, the model 180 may receive the scene representation, a noise input, or the scene representation that has had noise (e.g., the noise input) added to the scene representation.

[0039] The model 180, such as the first model, may be a trained model (e.g., a previously trained model) , such as a generator of a cGAN. An example of the cGAN is described further herein at least with reference to FIG. 3. The cGAN includes the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory (e.g., a planning trajectory candidate) that approximates a ground-truth plan trajectory. The cGAN may also include a discriminator that is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.

[0040] Additionally, or alternatively, the model 180 includes a second model that is configured to select a planning trajectory from multiple planning trajectory candidates. The second model may be configured to select the planning trajectory based on the metric data 113. In some embodiments, the second model may be configured to receive one or more weight values associated with the metric data 113. For example, the one or more weight values may include a first weight value associated with the efficiency metric, a second weight value associated with the user preference, a third weight value associated with the traffic condition, a fourth weight value associated with the safety metric, a fifth weight value associated with the collision probability metric, a sixth weight value associated with the passenger comfort metric, or a combination thereof.

[0041] The sensor data 116 is associated with the scene, the vehicle 150, or a combination thereof. For example, the sensor data 116 may indicate a temperature, a speed, an acceleration, an amount of light, visibility, moisture, sound, etc.

[0042] The processor 108 includes a vehicle automation system 120. The vehicle automation system 120, or a portion thereof, may be implemented by the processor 108 executing instructions (e.g., software) , dedicated hardware (e.g., circuitry) , a combination thereof. For example, the vehicle automation system 120 can correspond to or include instructions that are executable by the processor 108 to initiate, perform, or control various operations associated with automation of the vehicle 150. In some implementations, the processor 108 is configured to generate noise, such as random noise. In some embodiments, the generated noise includes Gaussian noise. The noise may be provided to a trajectory generator 142, or the model 180 used by the trajectory generator 142, as a noise input, as described further herein.

[0043] The vehicle automation system 120 includes the trajectory generator 142 and a trajectory selector 144. The trajectory generator 142 is configured to generate multiple planning trajectory candidates 147 (e.g., proposals) . For example, the device 102 may generate a scene representation 143 based on the images 112, and the multiple planning trajectory candidates 147 are generated based on the scene representation 143, as described further herein. In some embodiments, the trajectory generator 142 is configured to use the model 180 (e.g., the first model) to generate the multiple planning trajectory candidates 147.

[0044] The trajectory selector 144 is configured to select a planning trajectory 148 that is provided to a control system 130. For example, the trajectory selector 144 may select the planning trajectory 148 from the multiple planning trajectory candidates 147 based on the metric data 113. In some embodiments, the trajectory selector 144 includes a selection model (e.g., the model 180, such as the second model) that is configured to obtain an input that includes or indicates the metric data 113. The metric data 113 can include or indicate an efficiency metric that indicates one or more travel points along a travel path of the vehicle, a user preference that indicates a driving style of a user of the vehicle, and / or a traffic condition that indicates an amount of traffic congestion. In some embodiments, the metric data 133 can also include a safety metric that indicates a collision probability or a comfort metric that indicates driving characteristics to avoid, such as sudden braking, that negatively impact passenger comfort. In some embodiments, the trajectory selector 144 can select the planning trajectory 148 based on a single metric. In other embodiments, the trajectory selector 144 can select the planning trajectory 148 based on multiple metrics, such as multiple weighted metrics.

[0045] In some embodiments, the vehicle automation system 140, optionally (as indicated by the dashed box) , includes a vision-language model (VLM) 146 that provides an output (based on the scene representation 143) to the trajectory selector 144 and the planning trajectory 148 is selected based at least in part on the output of the VLM 146. For example, the VLM 146 may be trained to analyze the scene representation 143 associated with the vehicle to identify locations of important objects or other features of the scene representation 143, to predict motion of vehicles or other objects in the scene representation 143, or both.

[0046] The interface 104 is configured to be coupled to one or more input / output (IO) devices to enable exchange of data. For example, in FIG. 1, the IO device (s) include one or more cameras 110 (collectively referred to herein as the “camera 110” ) and, optionally (as indicated by the dashed boxes) , one or more other sensors 114 (collectively referred to herein as the “sensor 114” ) , an input device 174 (e.g., a microphone, a keyboard or touch screen, etc. ) , a display device 176, and a speaker 177. In this example, the camera 110 is configured to capture images 112 of a scene associated with the vehicle 115. If the sensor 114 is present, the sensor 114 is configured to capture sensor data 116 associated with the scene or the vehicle 115. The input device 174 is configured to enable a user of the vehicle 150 to provide input data to the device 102, such as input data associated with operation of the vehicle 150, one or more user preferences, or a combination thereof. The display device 176 and the speaker 177 are configured to provide the user with information based on results of operations performed by the device 102. In some embodiments, the display device 176 is configured to display the scene representation 143, a representation of the multiple planning trajectory candidates 147, a representation of the selected planning trajectory 148, or a combination thereof.

[0047] The device 102 can optionally (as indicated by the dashed box) include a modem 178 to enable exchange of (send or receive) data with one or more other devices, such as the device 132, remote from the device 102. For example, the data may include images, control signals, a model, or a combination thereof. In some embodiments, the modem 178 is coupled to the processor 108 and is configured to receive the image 112, to send the control signal to the vehicle 150, or both. Additionally, or alternatively, the modem 178 can be configured to receive the model 180 and provide the model 180 to the memory 106, the processor 108, or both. For example, the modem 178 may receive the model 180 from the other device 132.

[0048] The vehicle 150 includes the device 102, the camera 110, the sensor 114, the input device 174, the display device 176, the speaker 177, and the control system 130. Additionally, the vehicle 150 may include the modem 178. The control system 130 is configured to generate one or more control signals associated with operation of the vehicle 150. For example, the control system 130 may receive the selected planning trajectory 148, and determine or generate one or more control signals for the vehicle 150 based on the selected planning trajectory 148. In some embodiments, the control system 130 may also receive the sensor data 116 and generate the one or more control signals further based on the sensor data 116. The control signals may be provided to control various aspects of operation of the vehicle, such as primary control operations (e.g., steering, braking, acceleration, etc. ) , secondary control operations (e.g., turn signals, headlights, etc. ) , or both. Although the control system 130 is described as being separate from the device 102, in other embodiments, the control system 130 may be included in the device 102. For example, the control system may be included in the processor 108 or the vehicle automation system 120.

[0049] During operation of the system 100, the device 102 (e.g., the processor 108) obtains the scene representation 143. For example, the device 102 may obtain the images 112 representing a scene associated with the vehicle, and generate the scene representation 143 based on the images 112. The device 102 can obtain the images 112 from the memory 106 or from cameras (e.g., the camera (s) 110) , which may be coupled to or integrated with the vehicle, coupled to or integrated with the device 102, external to both the vehicle and the device 102 (e.g., infrastructure cameras) , or a combination thereof. In some embodiments, the vehicle automation system 120 (e.g., the trajectory generator 142) obtains the scene representation 143.

[0050] The processor 108 (e.g., the trajectory generator 142) generates the multiple planning trajectory candidates 147. For example, during inference, the trajectory generator 142 (e.g., the model 180) generates at least one planning trajectory candidate of the multiple planning trajectory candidates 147 based on a noise input, such as a random noise input. As another example, during inference, the trajectory generator 142 (e.g., the model 180) generates the multiple planning trajectory candidates 147 using different random noise. To illustrate, the processor 108 may generate multiple noise inputs, such as multiple random noise inputs. For each noise input of the multiple noise inputs, the noise input is combined with the scene representation 143 to generate a respective modified scene representation, and the respective modified scene representation is provided as an input to the trajectory generator 142 (e.g., the model) . Additionally, for each noise input of multiple noise inputs, the trajectory generator 142 obtains, based on the noise input, a respective planning trajectory of multiple planning trajectory candidates. In some embodiments, the trajectory generator 142 (e.g., the model) includes a generator of a cGAN. The trajectory generator 142 may be a trained model that is trained as described with reference to FIG. 3, and received by the device 102 via the modem 170.

[0051] The processor 108 (e.g., the trajectory selector 144) selects, based on the metric data 113, the planning trajectory 148 from the multiple planning trajectory candidates 147. The metric data 113 includes an efficiency metric that indicates one or more travel points along a travel path of the vehicle, a user preference that indicates a driving style (e.g., aggressive, polite, etc. ) of a user of the vehicle, a traffic condition that indicates an amount (e.g., high, medium, low) of a traffic congestion, or a combination thereof. In some embodiments, the trajectory selector 144) selects the planning trajectory 148 based on an additional metric, such as a collision probability metric, a passenger comfort metric, or a combination thereof. Additionally, or alternatively, the VLM 146 may generate, based on the scene representation 143, a text output, and the planning trajectory 148 may further select the planning trajectory 148 based on the text output.

[0052] The processor 108 (e.g., the vehicle automation system 120) provides the selected planning trajectory 148 to a planning control component (e.g., the control system 130) to generate a control signal for the vehicle based on the selected planning trajectory 148. In some embodiments, the control system 130 may also generate the control signal based on the sensor data 116. The sensor data 116 can be obtained from the memory 106 or from sensors (e.g., the sensor (s) 114) coupled to or integrated with the vehicle, coupled to or integrated with the device 102, external to both the vehicle and the device 102 (e.g., infrastructure sensors) , or a combination thereof.

[0053] In some examples, the device 102 corresponds to or is included in one of various types of devices, such that the processor 108 can be integrated in multiple types of devices. In an illustrative example, the processor 108 is integrated in a mobile device (a mobile phone or a tablet) as depicted in FIG. 5, a vehicle as depicted in FIGs. 6-8, a computer or a server, or another system or device.

[0054] As described with reference to Figure 1, the present disclosure provides techniques for supporting planning trajectory generation. For example, one technical advantage of implementing the device 102 as described above is that the multiple planning trajectory candidates 147 are generated as candidates for planning control, which can improve the performance of trajectory planning for the vehicle 150. For example, as compared to conventional end-to-end autonomous driving algorithms that use a diffusion model to generate one or more candidate trajectories, the model 180 (e.g., the generator of the cGAN has reduced training time and compute resources) . Additionally, the metric data 113 used to select the planning trajectory 148 from the multiple planning trajectory candidates 147 provides improved selection customization and optimization as compared to conventional techniques. For example, the metric data 113 enables the most suitable trajectory to be selected from the candidates to control the vehicle 150.

[0055] FIG. 2 is a diagram of an example of operations associated with the system for planning trajectory generation of FIG. 1, in accordance with one or more aspects of the present disclosure. For example, the operations of FIG. 2 may include or correspond to one or more operations associated with vehicle automation system 120 (e.g., the trajectory generator 142) .

[0056] At 200, the vehicle automation system 120 (e.g., the trajectory generator 142) obtains a scene representation 143. For example, the scene representation 243 may include or correspond to the scene representation 143. As shown, the scene representation 243 includes a bird’s eye view associated with the vehicle 150. The scene representation 243 also includes another vehicle 252. The vehicle 150 and the other vehicle 252 are heading in the same direction of travel along a road having two lanes, where the vehicle 150 is in the left lane and the other vehicle 252 is in the right lane.

[0057] At 204, the vehicle automation system 120 (e.g., the trajectory generator 142) has generated multiple noise inputs, such as multiple random noise inputs, and combined each noise input with a respective instance (e.g., a copy) of the scene representation 243. For example, first noise (as indicated by first shading / cross-hatching) has been combined with a first instance of the scene representation 243 to generate a first modified scene representation 250. As another example, second noise (as indicated by second shading / cross-hatching) has been combined with a second instance of the scene representation 243 to generate a second modified scene representation 254. Additionally, third noise (as indicated by third shading / cross-hatching) has been combined with a third instance of the scene representation 243 to generate a third modified scene representation 258. Each of the modified scene representations 250, 254, 258 may be provided as an input to a model (e.g., a generator of a cGAN) , such as the model 180.

[0058] At 206, for each of the modified scene representations 250, 254, 258, the model generated a respective planning trajectory (e.g., a respective planning trajectory candidate) . For example, a first scene representation 260 includes a first planning trajectory 261 generated by the model based on the first modified scene representation 250. As another example, a second scene representation 264 includes a second planning trajectory 265 generated by the model based on the second modified scene representation 254. Additionally, a third scene representation 268 includes a third planning trajectory 269 generated by the model based on the third modified scene representation 258.

[0059] At 208, the scene representation 243 is shown and includes multiple planning trajectory candidates 272. The multiple planning trajectory candidates 272 include the first planning trajectory 261, the second planning trajectory 265, and the third planning trajectory 269. It is noted that although the multiple planning trajectory candidates 272 are described as including three planning trajectories, the multiple planning trajectory candidates 27 2 may include fewer or more than three planning trajectories. The multiple planning trajectory candidates 272 may be provided to the trajectory selector 144 to select, based on the metric data 113, one of the multiple planning trajectories as the planning trajectory 148 to be provided to a planning control component, such as the control system 130.

[0060] FIG. 3 is a diagram of illustrative aspects of operations associated with training the system for planning trajectory generation of FIG. 1, in accordance with some examples of the present disclosure. For example, FIG. 3 includes an example of training of a cGAN 300.

[0061] The cGAN 300 includes a generator 380 (associated with the trajectory generator 142) and a discriminator 390. The generator 380 may include or correspond to the model 180. In some embodiments, each of the generator 380 and the discriminator 390 is implemented by one or more neural networks. The generator 280 is configured to receive noise 310, such as random noise, and a scene representation training data 312 as inputs, and to output a plan trajectory 382. The discriminator 390 is configured to receive the plan trajectory 382 and the scene representation training data 312 as inputs, and to output a validity indicator 392. The validity indicator 392 indicates whether the plan trajectory 382 is fake or real. In some embodiments, the discriminator 390 may include an adaptor (e.g., multi-layer perception) that is configured to dimensions so that plan trajectory 382 and the scene representation training data 312 can be concatenated for additional operations by the discriminator 390.

[0062] Training of the cGAN is performed using training data that includes the scene representation training data 312 and a ground truth trajectory. During training, the generator (e.g., a first model) is trained to generate, based on the noise 310 and the scene representation training data 312, the plan trajectory 382 that approximates a respective ground-truth plan trajectory. Additionally, during training, the discriminator 390 (e.g., a second model) is trained to generate the validity indicator 392 of the plan trajectory 382vbased on the plan trajectory 382 and the scene representation training data 312. After training (e.g., adversarial training) of the generator 380 and the discriminator 390, the generator 380 can be provided to the device 102 as the model 180 for use by or as the trajectory generator 142.

[0063] In some embodiments, the generator 380 (also denoted as G) is trained to generate the plan trajectory 382 that cannot be distinguished from a ground-truth trajectory by the discriminator 390 (also denoted as D) which is adversarially trained discriminator to detect a “fake” output by the generator 380.

[0064] The cGAN can be expressed as: where x is the scene representation, y is the ground-truth plan trajectory, and z is the  random noise. When training the generator G, L1 loss is also considered to guide the generated trajectory with ground-truth plan trajectory as follows: The loss of discriminator is conventional cross-entropy loss where the label of ground- truth plan trajectory is real and that of the generated trajectory is fake.

[0065] The training of cGAN is conducted by iteratively optimizing discriminator D and generator G, as represented by: When optimizing D, the objective is to maximize while fixing the  parameters of G. When optimizing G, the objective is to minimize while fixing the parameters of D. In some other implementations, to train the generator 380, one or more layers may be dropped out of the generator during training of the generator 380, testing of the generator 380, or both.

[0066] FIG. 4 depicts a diagram of an example of an integrated circuit 400 operable to perform planning trajectory generation, in accordance with some examples of the present disclosure. The integrated circuit 400 includes one or more processors 408 (herein after referred to as the “processor 408” ) and a memory 406. The processor 408 and the memory 406 may include or correspond to the processor 108 and the memory 106, respectively. The processor 408 includes the vehicle automation system 420. The vehicle automation system 420 may include or correspond to the vehicle automation system 120. The vehicle automation system 420 includes a trajectory generator 442 and a trajectory selector 444. The trajectory generator 442 and the trajectory selector 444 may include or correspond to the trajectory generator 142 and the trajectory selector 144, respectively. Although the vehicle automation system 420 is described as including both the trajectory generator 442 and the trajectory selector 444, in other implementations, the vehicle automation system 420 may include one of the trajectory generator 442 or the trajectory selector 444, and not the other. In some implementations, the vehicle automation system 420 may include a VLM (such as the VLM 146) , a control system (such as the control system 130) , or a combination thereof. The memory 406 includes (e.g., stores) metric data 430. The metric data 430 may include or correspond to the metric data 113. In some implementations, the memory 406 may include a model, such as the model 180.

[0067] The integrated circuit 400 also includes an input interface 404, such as one or more bus interfaces, to enable the integrated circuit 400 to receive signals representing input data 470 for processing. For example, the input data 470 can correspond to or include the images 112, the metric data 113, the sensor data 116, the scene representation 143, the model 180, input data, or a combination thereof.

[0068] The integrated circuit 400 also includes an output interface 405, such as a bus interface, to enable the integrated circuit 400 to output signals representing output data 472. For example, the output data 472 can correspond to or include the images 112, the metric data 113, the sensor data 116, the scene representation 143, the multiple planning trajectory candidates 147, the planning trajectory 148, the model 180, or a combination thereof.

[0069] The integrated circuit 400 including the vehicle automation system 420 (including the trajectory generator 441, the trajectory selector 444, or a combination thereof) and the metric data 430 enables implementation of planning trajectory generation in a system or a device. For example, the system or the device may include a mobile device (e.g., a mobile phone or tablet) as depicted in FIG. 5 or a vehicle as depicted in FIGs. 6-8.

[0070] In some embodiments, the system or the device that includes the integrated circuit 400 also includes or is coupled to an image sensor (e.g., a camera) , a sensor, an input device (e.g., a microphone, a keyboard or touch screen, etc. ) , a display device, a speaker, a modem, or a combination thereof. For example, the image sensor (e.g., the camera) , the sensor, the input device, the display device, the speaker, and the modem may include or correspond to the camera 110, the sensor 114, the input device 174, the display device 176, the speaker 177, and the modem 178, respectively.

[0071] In some embodiments, the system or the device that includes the integrated circuit 400 is operable to perform planning trajectory generation. For example, the system or the device to operable to obtain a scene representation of a scene associated with the vehicle. The scene representation may include or correspond to the scene representation 143. In some implementations, the scene representation is based on a set of images, such as the images 112. The vehicle automation system 420 (e.g., the trajectory generator 442) of the integrated circuit 400 receives the scene representation as input data 470 via the input interface 404. The trajectory generator 442 generates multiple planning trajectory candidates, such as the multiple planning trajectory candidates 147, associated with the vehicle. For example, to generate the multiple planning trajectory candidates, the trajectory generator 442 obtains a noise input and generates a respective planning trajectory candidate of the multiple planning trajectory candidates based on the noise input, the scene representation, and a model. The model may include or correspond to the model 180. The multiple planning trajectory candidates are provided to the trajectory selector 444 and the trajectory selector 444 selects a planning trajectory, such as the planning trajectory 148, from the multiple planning trajectory candidates. For example, the trajectory selector 444 may select the planning trajectory based on the metric data 430. The vehicle automation system 420 (e.g., the trajectory selector 444) of the integrated circuit 400 provides the selected planning trajectory to a planning control component, such as the control system 130, to generate a control signal for the vehicle based on the selected planning trajectory. In some implementations, the vehicle automation system 420 provides, via the output interface 405 as the output data 742, the selected planning trajectory, or an indication thereof, to the planning control component.

[0072] FIG. 5 depicts a diagram of a mobile device 500 operable to perform planning trajectory generation, in accordance with some examples of the present disclosure. The mobile device 500 may include or correspond to a phone, a tablet, or a special purpose vehicle automation component (e.g., a line-replaceable unit) , as illustrative, non-limiting examples. The mobile device 500 includes a camera 502 (e.g., an image sensor) , a display 504 (e.g., a display screen) , a microphone 506, a speaker 508, a sensor 514, a modem 578, and the integrated circuit 400. As described with reference to the mobile device 500, the camera 502, the display 504, the microphone 506, the speaker 508, the sensor 514, and the modem 578 may include or correspond to the camera 110, the display device 176, the input device 174, the speaker 177, the sensor 114, and the modem 178, respectively. The sensor 514, the modem 578, and components of the integrated circuit 400, including the vehicle automation system 420 (the trajectory generator 442 and / or the trajectory selector 444) , are integrated in the mobile device 500 and are illustrated using dashed lines to indicate internal components that are not generally visible to a user of the mobile device 500.

[0073] Inclusion of integrated circuit 400 (including the vehicle automation system 420) in the mobile device 500 enables the mobile device 500 to perform one or more operations associated with the vehicle automation system 420. For example, the vehicle automation system 420 of the mobile device 500 can be configured to obtain a scene representation of a scene associated with a vehicle. The scene representation may include or correspond to the scene representation 143. In some implementations, the scene representation may be generated based on one or more images captured by the camera 502. The vehicle automation system 420 may generate multiple planning trajectory candidates, such as the multiple planning trajectory candidates 147, associated with the vehicle, and select a planning trajectory, such as the planning trajectory 148, from the multiple planning trajectory candidates. The mobile device 500 may provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory. For example, the mobile device 500 may send the selected planning trajectory, or an indication thereof, to the planning control component via the modem 578. In some implementations, the mobile device 500 may also send sensor data generated by the sensor 514 to the planning control component to enable the planning control component to generate the control signal based at least in part on the sensor data.

[0074] FIG. 6 is a diagram of a first example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure. In FIG. 6, the vehicle includes a watercraft 600. The watercraft 600 can include or correspond to the vehicle 150 of FIG. 1. Although the watercraft 600 is illustrated in FIG. 6 as a boat, in other examples, the watercraft 600 can correspond to a submersible, a ship, a barge, a ferry, or another type of watercraft. Further, the watercraft 600 can be crewed or uncrewed.

[0075] In FIG. 6, the watercraft 600 includes a camera 602 (e.g., an image sensor) , a display 604 (e.g., a display screen) , a microphone 606, a speaker 608, a sensor 614, a control system 630, and the integrated circuit 400. As described with reference to the watercraft 600, the camera 602, the display 604, the microphone 606, the speaker 608, the sensor 614, and the control system 630 may include or correspond to the camera 110, the display device 176, the input device 174, the speaker 177, the sensor 114, and the control system 130, respectively. The sensor 614, the control system 630, and components of the integrated circuit 400, including the vehicle automation system 420 (the trajectory generator 442 and / or the trajectory selector 444) , are integrated in the watercraft 600 and are illustrated using dashed lines to indicate internal components that are not generally visible to a user of the watercraft 600. Although the watercraft 600 is described as including each of the camera 602, the display 604, the microphone 606, the speaker 608, the sensor 614, and the control system 630, in other embodiments, the watercraft 600 may not include one or more of the camera 602, the display 604, the microphone 606, the speaker 608, the sensor 614, or the control system 630. Additionally, or alternatively, the watercraft 600 may include an additional component. For example, the additional component may include a modem, such as the modem 178, as an illustrative, non-limiting example.

[0076] Inclusion of integrated circuit 400 (including the vehicle automation system 420) in the watercraft 600 enables the watercraft 600 to perform one or more operations associated with the vehicle automation system 420. For example, the vehicle automation system 420 of the watercraft 600 can be configured to obtain a scene representation of a scene associated with a vehicle. The scene representation may include or correspond to the scene representation 143. In some implementations, the scene representation may be generated based on one or more images captured by the camera 602. The vehicle automation system 420 may generate multiple planning trajectory candidates, such as the multiple planning trajectory candidates 147, associated with the vehicle, and select a planning trajectory, such as the planning trajectory 148, from the multiple planning trajectory candidates. The watercraft 600 (e.g., the vehicle automation system 420) may provide the selected planning trajectory to the control system 630 to generate a control signal for the watercraft 600 based on the selected planning trajectory. The control system 630 may generate the control signal to control various aspects of operations of the watercraft 600 based on the selected planning trajectory. To illustrate, the control system 630 can change the heading or speed of the watercraft 600 based on the selected planning trajectory. In some implementations, the watercraft 600 may also obtain sensor data based on the sensor 614 and provide the sensor data to the control system 630 to enable the control system 630 to generate the control signal based at least in part on the sensor data. In some implementations, the selected planning trajectory, or an indication thereof, may be provided to the display 604 along with the scene representation, and the display 604 may output the scene representation that includes or indicates the selected planning trajectory.

[0077] FIG. 7 is a diagram of a second example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure. In FIG. 7, the vehicle includes an aircraft 700. The aircraft 700 can include or correspond to the vehicle 150 of FIG. 1. Although the aircraft 700 is illustrated in FIG. 7 as a quadcopter, in other examples, aircraft 700 can correspond to a fixed wing aircraft, a rotary wing aircraft, an aerostat, a hybrid aircraft, or another type of aircraft. Further, the aircraft 700 can be crewed or uncrewed.

[0078] In FIG. 7, the aircraft 700 includes a camera 702 (e.g., an image sensor) , a display 704 (e.g., a display screen) , a microphone 706, a speaker 708, a sensor 714, a control system 730, and the integrated circuit 400. As described with reference to the aircraft 700, the camera 702, the display 704, the microphone 706, the speaker 708, the sensor 714, and the control system 730 may include or correspond to the camera 110, the display device 176, the input device 174, the speaker 177, the sensor 114, and the control system 130, respectively. The sensor 714, the control system 730, and components of the integrated circuit 400, including the vehicle automation system 420 (the trajectory generator 442 and / or the trajectory selector 444) , are integrated in the aircraft 700 and are illustrated using dashed lines to indicate internal components that are not generally visible to a user of the aircraft 700. Although the aircraft 700 is described as including each of the camera 702, the display 704, the microphone 706, the speaker 708, the sensor 714, and the control system 730, in other embodiments, the aircraft 700 may not include one or more of the camera 702, the display 704, the microphone 706, the speaker 708, the sensor 714, or the control system 730. Additionally, or alternatively, the aircraft 700 may include an additional component. For example, the additional component may include a modem, such as the modem 178, as an illustrative, non-limiting example.

[0079] Inclusion of integrated circuit 400 (including the vehicle automation system 420) in the aircraft 700 enables the aircraft 700 to perform one or more operations associated with the vehicle automation system 420. For example, the vehicle automation system 420 of the aircraft 700 can be configured to obtain a scene representation of a scene associated with a vehicle. The scene representation may include or correspond to the scene representation 143. In some implementations, the scene representation may be generated based on one or more images captured by the camera 702. The vehicle automation system 420 may generate multiple planning trajectory candidates, such as the multiple planning trajectory candidates 147, associated with the vehicle, and select a planning trajectory, such as the planning trajectory 148, from the multiple planning trajectory candidates. The aircraft 700 (e.g., the vehicle automation system 420) may provide the selected planning trajectory to the control system 730 to generate a control signal for the aircraft 700 based on the selected planning trajectory. The control system 730 may generate the control signal to control various aspects of operations of the aircraft 700 based on the selected planning trajectory. To illustrate, the control system 730 can change the heading or speed of the aircraft 700 based on the selected planning trajectory. In some implementations, the aircraft 700 may also obtain sensor data based on the sensor 714 and provide the sensor data to the control system 730 to enable the control system 730 to generate the control signal based at least in part on the sensor data. In some implementations, the selected planning trajectory, or an indication thereof, may be provided to the display 704 along with the scene representation, and the display 704 may output the scene representation that includes or indicates the selected planning trajectory.

[0080] FIG. 8 is a diagram of a third example of a vehicle operable to perform planning trajectory generation, in accordance with some examples of the present disclosure. In FIG. 8, the vehicle includes a land craft 800. The land craft 800 can include or correspond to the vehicle 150 of FIG. 1. Although the land craft 800 is illustrated in FIG. 8 as a car, in other examples, the land craft 800 can correspond to a truck, a motorcycle, an all-terrain vehicle, robot, or another type of land craft. Further, the land craft 800 can be crewed or uncrewed.

[0081] In FIG. 8, the land craft 800 includes a camera 802 (e.g., an image sensor) , a display 804 (e.g., a display screen) , a microphone 806, a speaker 808, a sensor 814, a control system 830, and the integrated circuit 400. As described with reference to the land craft 800, the camera 802, the display 804, the microphone 806, the speaker 808, the sensor 814, and the control system 830 may include or correspond to the camera 110, the display device 176, the input device 174, the speaker 177, the sensor 114, and the control system 130, respectively. The sensor 814, the control system 830, and components of the integrated circuit 400, including the vehicle automation system 420 (the trajectory generator 442 and / or the trajectory selector 444) , are integrated in the land craft 800 and are illustrated using dashed lines to indicate internal components that are not generally visible to a user of the land craft 800. Although the land craft 800 is described as including each of the camera 802, the display 804, the microphone 806, the speaker 808, the sensor 814, and the control system 830, in other embodiments, the land craft 800 may not include one or more of the camera 802, the display 804, the microphone 806, the speaker 808, the sensor 814, or the control system 830. Additionally, or alternatively, the land craft 800 may include an additional component. For example, the additional component may include a modem, such as the modem 178, as an illustrative, non-limiting example.

[0082] Inclusion of integrated circuit 400 (including the vehicle automation system 420) in the land craft 800 enables the land craft 800 to perform one or more operations associated with the vehicle automation system 420. For example, the vehicle automation system 420 of the land craft 800 can be configured to obtain a scene representation of a scene associated with a vehicle. The scene representation may include or correspond to the scene representation 143. In some implementations, the scene representation may be generated based on one or more images captured by the camera 802. The vehicle automation system 420 may generate multiple planning trajectory candidates, such as the multiple planning trajectory candidates 147, associated with the vehicle, and select a planning trajectory, such as the planning trajectory 148, from the multiple planning trajectory candidates. The land craft 800 (e.g., the vehicle automation system 420) may provide the selected planning trajectory to the control system 830 to generate a control signal for the land craft 800 based on the selected planning trajectory. The control system 830 may generate the control signal to control various aspects of operations of the land craft 800 based on the selected planning trajectory. To illustrate, the control system 830 can change the heading or speed of the land craft 800 based on the selected planning trajectory. In some implementations, the land craft 800 may also obtain sensor data based on the sensor 814 and provide the sensor data to the control system 830 to enable the control system 830 to generate the control signal based at least in part on the sensor data. In some implementations, the selected planning trajectory, or an indication thereof, may be provided to the display 804 along with the scene representation, and the display 804 may output the scene representation that includes or indicates the selected planning trajectory.

[0083] FIG. 9 is a diagram of an example of a method 900 of planning trajectory generation, in accordance with some aspects of the present disclosure. In a particular aspect, one or more operations of the method 900 are performed by the system 100, the device 102, the processor 108, the vehicle automation system 120, the vehicle 150, the integrated circuit 400, the processor 408, the vehicle automation system 420, the mobile device 500, the vehicle of any of FIGs. 6-8, or a combination thereof.

[0084] In some embodiments, the method 900 includes, at block 902, obtaining a scene representation of a scene associated with a vehicle. For example, the scene representation may include or correspond to the scene representation 143 or 243. The vehicle may include or correspond to the vehicle 150 or the vehicle of any of FIGs. 6-8, such as the watercraft 600, the aircraft 700, or the land craft 800 (e.g., an automobile) .

[0085] In some embodiments, the method 900 includes obtaining a set of images representing the scene associated with the vehicle. For example, the set of images may include or correspond to the image 112. In some such embodiments, the method 900 may include generating the scene representation based on the set of images.

[0086] The method 900 also includes, at block 904, obtaining, based on a noise input, the scene representation, and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. For example, the model may include or correspond to the model 180. The multiple planning trajectory candidates include or correspond to the multiple planning trajectory candidates 147 or 272.

[0087] In some embodiments, the method 900 includes obtaining, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle. In some embodiments, each planning trajectory candidate of the multiple planning trajectory candidates is obtained based on a different respective noise input of multiple noise inputs.

[0088] In some implementations, the method 900 includes generating the multiple noise inputs. For example, the multiple noise inputs may include random noise, such as Gaussian noise, and may be generated by the processor 108, the vehicle automation system 120, or a noise generator. The method 900 may also include, for each noise input of the multiple noise inputs, combining the noise input with the scene representation to generate a respective modified scene representation. For example, the respective modified scene representation may include or correspond to one of the modified scene representations 250, 254, or 258. The method 900 may also include providing the respective modified scene representation as an input to the model. Additionally, or alternatively, each noise input of the multiple noise inputs is a random noise input.

[0089] In some implementations, the model is a trained model (e.g., a previously trained model) . Additionally, or alternatively, the model may include a generator of a cGAN, such as the cGAN 300. The generator may include or correspond to the generator 380. The cGAN can include the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory. For example, with reference to the cGAN 300 FIG. 3, the generator 380 is trained to generate, based on the noise 310 and the scene representation training data 312, the plan trajectory 382. The cGAN also includes a discriminator, such as the discriminator 390, that is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data. For example, with reference to the cGAN 300 FIG. 3, the discriminator 390 is trained to indicate a validity, such as the validity indicator 392, of the plan trajectory 382 based on the plan trajectory 382 and the scene representation training data 312.

[0090] The method 900 further includes, at block 906, selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates. The metric data and the planning trajectory may include or correspond to the metric data 113or 430, and the planning trajectory 148, respectively.

[0091] In some embodiments, the metric data may include an efficiency metric, a user preference, a traffic condition, or a combination thereof. The efficiency metric can indicate one or more travel points along a travel path of the vehicle, the user preference can indicate a driving style of a user of the vehicle, and the traffic condition indicates an amount of a traffic congestion. Additionally, or alternatively, the method 900 includes selecting the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof. In some embodiments, the planning trajectory may be selected based on or using a selection model that is configured to obtain an input that indicates the metric data.

[0092] In some embodiments, the method 900 includes generating, based on the scene representation and a VLM, a text output. For example, the VLM may include or correspond to the VLM 146. In some such embodiments, the planning trajectory can be further selected based on the text output.

[0093] The method 900 includes, at block 908, providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory. For example, the planning control component may include or correspond to the control system 130, 630, 730, or 830.

[0094] In some embodiments, the method 900 includes receiving, via a modem of the vehicle, the model, the images, or a combination thereof. For example, the modem may include or correspond to the modem 178 or 578. Additionally, or alternatively, the method 900 may include sending, via the modem, the control signal to the vehicle. In some embodiments, the method 900 includes displaying, via a display device, the scene representation and a representation of the selected planning trajectory.

[0095] In some embodiments, the method 900 includes capturing, via one or more cameras, the images. For example, the one or more cameras may include or correspond to the camera 110, 502, 602, 702, or 802. Additionally, or alternatively, the method 900 can also include capturing, via one or more sensors, sensor data associated with the vehicle. For example, the one or more sensors may include or correspond to the sensor 114, 514, 614, 714, 814. In some such embodiments, the control signal may be generated based at least in part on the sensor data.

[0096] The method 900 of FIG. 9 may be implemented by a field-programmable gate array (FPGA) device, an application-specific integrated circuit (ASIC) , a processing unit such as a central processing unit (CPU) , a DSP, a controller, another hardware device, firmware device, or any combination thereof. As an example, the method 900 of FIG. 9 may be performed by a processor that executes instructions, such as described with reference to FIG. 10.

[0097] It is noted that one or more blocks (or operations) described with reference to FIG. 9 may be combined with one or more blocks (or operations) described with reference to another of the figures. For example, one or more blocks (or operations) of FIG. 9 may be combined with one or more blocks (or operations) of FIG. 2. As another example, one or more blocks associated with FIG. 9 may be combined with one or more blocks (or operations) associated with FIGs. 1 or 3. Additionally, or alternatively, one or more operations described above with reference to FIGs. 1-9 may be combined with one or more operations described with reference to FIG. 10.

[0098] Referring to FIG. 10, FIG. 10 is a block diagram of an illustrative example of a device 1000 that is operable to perform planning trajectory generation, in accordance with one or more aspects of the present disclosure. In various implementations, the device 1000 may have more or fewer components than illustrated in FIG. 10. In an illustrative implementation, the device 1000 may correspond to the device 102. Additionally, or alternatively, the device 1000 may include or correspond to the vehicle 150, the mobile device 500, the watercraft 600, the aircraft 700, the land craft 800, or another vehicle. In an illustrative implementation, the device 1000 may perform one or more operations described with reference to FIGs. 1-9.

[0099] In a particular implementation, the device 1000 includes a processor 1006 (e.g., a central processing unit (CPU) ) . The device 1000 may include one or more additional processors 1010 (e.g., one or more DSPs) . In a particular aspect, the processor 108 of FIG. 1 or the processor 408 of FIG. 4 corresponds to the processor 1006, the processors 1010, or a combination thereof. The processors 1010 may include a speech and music coder-decoder (CODEC) 1008 that includes a voice coder ( “vocoder” ) encoder 1036, a vocoder decoder 1038, or a combination thereof. Additionally, or alternatively, the processors 1010 may include a vehicle automation system 1020. The vehicle automation system 1020 may include or correspond to the vehicle automation system 120 or 420. The vehicle automation system 1020 may include a trajectory generator 1042 and a trajectory selector 1044. The trajectory generator 1042 and the trajectory selector 1044 may include or correspond to the trajectory generator 142 or 442, and the trajectory selector 144 or 444, respectively. In some implementations, the processor 1006 or the processor 1010 also includes a control system, such as the control system 130, 630, 730, or 830.

[0100] In this context, the term “processor” refers to an integrated circuit consisting of logic cells, interconnects, input / output blocks, clock management components, memory, and optionally other special purpose hardware components, designed to execute instructions and perform various computational tasks. Examples of processors include, without limitation, central processing units (CPUs) , digital signal processors (DSPs) , neural processing units (NPU) , graphics processing units (GPUs) , field programmable gate arrays (FPGAs) , microcontrollers, quantum processors, coprocessors, vector processors, other similar circuits, and variants and combinations thereof. In some cases, a processor can be integrated with other components, such as communication components, input / output components, etc. to form a system on a chip (SOC) device or a packaged electronic device.

[0101] Taking CPUs as a starting point, a CPU typically includes one or more processor cores, each of which includes a complex, interconnected network of transistors and other circuit components defining logic gates, memory elements, etc. A core is responsible for executing instructions to, for example, perform arithmetic and logical operations. Typically, a CPU includes an Arithmetic Logic Unit (ALU) that handles mathematical operations and a Control Unit that generates signals to coordinate the operation of other CPU components, such as to manage operations a fetch-decode-execute cycle.

[0102] CPUs and / or individual processor cores generally include local memory circuits, such as registers and cache to temporarily store data during operations. Registers include high-speed, small-sized memory units intimately connected to the logic cells of a CPU. Often registers include transistors arranged as groups of flip-flops, which are configured to store binary data. Caches include fast, on-chip memory circuits used to store frequently accessed data. Caches can be implemented, for example, using Static Random-Access Memory (SRAM) circuits.

[0103] Operations of a CPU (e.g., arithmetic operations, logic operations, and flow control operations) are directed by software and firmware. At the lowest level, the CPU includes an instruction set architecture (ISA) that specifies how individual operations are performed using hardware resources (e.g., registers, arithmetic units, etc. ) . Higher level software and firmware is translated into various combinations of ISA operations to cause the CPU to perform specific higher-level operations. For example, an ISA typically specifies how the hardware components of the CPU move and modify data to perform operations such as addition, multiplication, and subtraction, and high-level software is translated into sets of such operations to accomplish larger tasks, such as adding two columns in a spreadsheet. Generally, a CPU operates on various levels of software, including a kernel, an operating system, applications, and so forth, with each higher level of software generally being more abstracted from the ISA and usually more readily understandable by human users.

[0104] GPUs, NPUs, DSPs, microcontrollers, coprocessors, FPGAs, ASICS, and vector processors include components similar to those described above for CPUs. The differences among these various types of processors are generally related to the use of specialized interconnection schemes and ISAs to improve a processor’s ability to perform particular types of operations. For example, the logic gates, local memory circuits, and the interconnects therebetween of a GPU are specifically designed to improve parallel processing, sharing of data between processor cores, and vector operations, and the ISA of the GPU may define operations that take advantage of these structures. As another example, ASICs are highly specialized processors that include similar circuitry arranged and interconnected for a particular task, such as encryption or signal processing. As yet another example, FPGAs are programmable devices that include an array of configurable logic blocks (e.g., interconnect sets of transistors and memory elements) that can be configured (often on the fly) to perform customizable logic functions.

[0105] A processor can be configured to perform a specific task by including, within the processor, specialized hardware to perform the task. Additionally, or alternatively, the processor can be configured to perform a specific task by loading and / or executing instructions (e.g., computer code) that, when executed, cause the processor to perform the specific task. Loading executable instructions to perform the task causes an internal configuration change in the processor that transforms what may otherwise be a general-purpose processor into a special purpose processor for performing the task.

[0106] The device 1000 may include a memory 1086 and a CODEC 1034. The memory 1086 may include or correspond to the memory 106 of FIG. 1 or the memory 406 of FIG. 4. The memory 1086 may include instructions 1056, that are executable by the one or more additional processors 1010 (or the processor 1006) to implement the functionality described with reference to the vehicle automation system 1020, the trajectory generator 1042, the trajectory selector 1044, the control system 130, 630, 730, or 830, or a combination thereof. The instructions 1056 may include or correspond to the instructions 109 of FIG. 1. The memory 1086 also may include the images 112 and metric data 1013. The metric data 1013 may include or correspond to the metric data 113 or 430. In some implementations, the memory 1086 may include or indicate a model, such as the model 180, the cGAN 300, the generator 380, the discriminator 390, or a combination thereof. The device 1000 may include a modem 1070 coupled, via a transceiver 1050, to an antenna 1052. The modem 1070 may include or correspond to the modem 178 or 578.

[0107] The device 1000 may include a display 1028 coupled to a display controller 1026. The display 1028, the display controller 1026, or a combination thereof, may include or correspond to the display device 176 or the display 504, 604, 704, or 804. One or more speakers 1092, one or more microphone (s) 1094, or both, may be coupled to the CODEC 1034. The speaker (s) 1092 may include or correspond to the speaker 177, 508, 608, 708, or 808. The microphone (s) 1094 may include or correspond to the input device 174 or the microphone 506, 606, 706, or 806. The CODEC 1034 may include a digital-to-analog converter (DAC) 1002, an analog-to-digital converter (ADC) 1004, or both. In a particular implementation, the CODEC 1034 may receive analog signals from the microphone (s) 1094, convert the analog signals to digital signals using the analog-to-digital converter 1004, and provide the digital signals to the speech and music codec 1008. In a particular implementation, the speech and music codec 1008 may provide digital signals to the CODEC 1034. The CODEC 1034 may convert the digital signals to analog signals using the digital-to-analog converter 1002 and may provide the analog signals to the speaker 1092.

[0108] In a particular implementation, the device 1000 may be included in a system-in-package or system-on-chip device 1022. In a particular implementation, the memory 1086, the processor 1006, the processors 1010, the display controller 1026, the CODEC 1034, and the modem 1070 are included in the system-in-package or system-on-chip device 1022. In a particular implementation, an input device 1030 includes a camera 1045 and a sensor 1047. For example, the input device 1030 and the camera 1045 may include or correspond to the input device 174 and the camera 110, 502, 602, 702, or 802, respectively. In some examples, the input device 1030 may include or be associated with the display device 172, the display 504, 604, 704, or 804, or the display 1028. The sensor 1047 may include or correspond to the sensor 114, 514, 614, 714, or 814. Additionally, or alternatively, the input device 1030, a power supply 1041, the camera 1045, and the sensor 1047 are coupled to the system-in-package or the system-on-chip device 1022. Moreover, in a particular implementation, as illustrated in FIG. 10, the display 1028, the input device 1030, the speaker (s) 1092, the microphone (s) 1094, the antenna 1052, the power supply 1041, and the camera 1045 are external to the system-in-package or the system-on-chip device 1022. In a particular implementation, each of the display 1028, the input device 1030, the speaker (s) 1092, the microphone (s) 1094, the antenna 1052, the power supply 1041, and the camera 1045 may be coupled to a component of the system-in-package or the system-on-chip device 1022, such as an interface or a controller.

[0109] The device 1000 may include, correspond to, or be integrated with a mobile communication device, a smart phone, a cellular phone, a laptop computer, a computer, a tablet, a personal digital assistant, a server, a navigation device, a vehicle, a watercraft, an aircraft, a land craft, a voice-activated device, a portable electronic device, a car, a communication device, or any combination thereof.

[0110] In conjunction with the described implementations, an apparatus includes means for obtaining a scene representation of a scene associated with a vehicle. For example, the means for obtaining the scene representation can include the device 102, the processor 108 or 408, the vehicle automation system 120, 420, or 1020, the trajectory generator 142, 442, or 1042, the vehicle 150, the integrated circuit 400, the mobile device 500, the watercraft 600, the aircraft 700, the land craft 800, the processor 1006, the processor (s) 1010, the system-in-package or the system-on-chip device 1022, the device 1000, other circuitry configured to obtain the scene representation, or a combination thereof.

[0111] The apparatus also includes means for obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. For example, the means for obtaining the respective planning trajectory can include the device 102, the processor 108 or 408, the vehicle automation system 120, 420, or 1020, the trajectory generator 142, 442, or 1042, the vehicle 150, the integrated circuit 400, the mobile device 500, the watercraft 600, the aircraft 700, the land craft 800, the processor 1006, the processor (s) 1010, the system-in-package or the system-on-chip device 1022, the device 1000, other circuitry configured to obtain the respective planning trajectory, or a combination thereof.

[0112] The apparatus further includes means for selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates. For example, the means for selecting the planning trajectory can include the device 102, the processor 108 or 408, the vehicle automation system 120, 420, or 1020, the trajectory selector 144, 444, or 1044, the vehicle 150, the integrated circuit 400, the mobile device 500, the watercraft 600, the aircraft 700, the land craft 800, the processor 1006, the processor (s) 1010, the system-in-package or the system-on-chip device 1022, the device 1000, other circuitry configured to select the planning trajectory, or a combination thereof.

[0113] The apparatus includes means for providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory. For example, the means for providing the selected planning trajectory can include the device 102, the processor 108 or 408, the vehicle automation system 120, 420, or 1020, the trajectory selector 144, 444, or 1044, the vehicle 150, the integrated circuit 400, the mobile device 500, the watercraft 600, the aircraft 700, the land craft 800, the processor 1006, the processor (s) 1010, the system-in-package or the system-on-chip device 1022, the device 1000, other circuitry configured to provide the selected planning trajectory, or a combination thereof.

[0114] In some implementations, a non-transitory computer-readable medium (e.g., a computer-readable storage device, such as the memory 1086) includes instructions (e.g., the instructions 1056) that, when executed by one or more processors (e.g., the one or more processors 1010 or the processor 1006) , cause the one or more processors to obtain a scene representation of a scene associated with a vehicle. The instructions further cause the one or more processors to obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle. The instructions also cause the one or more processors to select, based on metric data (e.g., the metric data 1013) , a planning trajectory from the multiple planning trajectory candidates. The instructions cause the one or more processors to provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0115] Particular aspects of the disclosure are described below in sets of interrelated Examples:

[0116] According to Example 1, a device includes a memory configured to store images that represent scenes associated with a vehicle; and one or more processors configured to obtain a scene representation, based on a set of images of the images, of a scene associated with the vehicle; obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle; select, based on metric data, a planning trajectory from the multiple planning trajectory candidates; and provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0117] Example 2 includes the device of Example 1, where the model includes a generator of a cGAN.

[0118] Example 3 includes the device of Example 2, where the cGAN includes the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory; and a discriminator is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.

[0119] Example 4 includes the device of any of Examples 1 to 3, where the model is a trained model.

[0120] Example 5 includes the device of any of Examples 1 to 4, where the one or more processors are configured to obtain, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle, and each planning trajectory candidate of the multiple planning trajectory candidates is obtain based on a different respective noise input of multiple noise inputs.

[0121] Example 6 includes the device of any of Examples 1 to 5, where the metric data includes an efficiency metric, a user preference, a traffic condition, or a combination thereof.

[0122] Example 7 includes the device of Example 6, where the efficiency metric indicates one or more travel points along a travel path of the vehicle, the user preference indicates a driving style of a user of the vehicle, and the traffic condition indicates an amount of a traffic congestion.

[0123] Example 8 includes the device of any of Examples 1 to 7, where the one or more processors are configured to select the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof.

[0124] Example 9 includes the device of any of Examples 1 to 8, where the one or more processors are configured to select the planning trajectory based on a selection model that is configured to obtain an input that indicates the metric data.

[0125] Example 10 includes the device of any of Examples 1 to 9, where: the one or more processors are configured to generate, based on a scene representation and a VLM, a text output; and the planning trajectory is further selected based on the text output.

[0126] Example 11 includes the device of any of Examples 1 to 10, where the one or more processors are configured to: obtain the set of images representing the scene associated with the vehicle; generate the scene representation based on the set of images; and generate the multiple noise inputs that include the noise input.

[0127] Example 12 includes the device of Example 11, where each noise input of the multiple noise inputs is a random noise input.

[0128] Example 13 includes the device any of Examples 1 to 12, where: the one or more processors are configured to, for the noise input: combine the noise input with the scene representation to generate a respective modified scene representation; and provide the respective modified scene representation as an input to the model; and each noise input of the multiple noise inputs is a random noise input.

[0129] Example 14 includes the device of any of Examples 1 to 13, and further includes a modem coupled to the one or more processors.

[0130] Example 15 includes the device of Example 14, where the modem is configured to receive the model and provide the model to the memory, the one or more processors, or both.

[0131] Example 16 includes the device of Example 14 or Example 15, where the modem is configured to receive the images, to send the control signal to the vehicle, or both.

[0132] Example 17 includes the device of any of Examples 1 to 15, and further includes one or more cameras coupled to the one or more processors and configured to capture the images.

[0133] Example 18 includes the device of any of Examples 1 to 17, and further includes a display device coupled to the one or more processors, wherein the display device is configured to display the scene representation and a representation of the selected planning trajectory.

[0134] Example 19 includes the device of any of Examples 1 to 18, and further includes one or more sensors configured to capture sensor data associated with the vehicle, where the one or more processors are configured to generate the control signal based at least in part on the sensor data.

[0135] Example 20 includes the device of any of Examples 1 to 19, where the vehicle is an automobile, an aircraft, or a watercraft.

[0136] According to Example 21, a method includes obtaining a scene representation of a scene associated with a vehicle; obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle; selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates; and providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0137] Example 22 includes the method of Example 21, where the model includes a generator of a cGAN.

[0138] Example 23 includes the method of Example 22, where the cGAN includes: the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory; and a discriminator is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.

[0139] Example 24 includes the method of any of Examples 21 to 23, where the model is a trained model.

[0140] Example 25 includes the method of any of Examples 21 to 24, further comprising obtaining, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle, and each planning trajectory candidate of the multiple planning trajectory candidates is obtain based on a different respective noise input of multiple noise inputs.

[0141] Example 26 includes the method of any of Examples 21 to 25, where the metric data includes an efficiency metric, a user preference, a traffic condition, or a combination thereof.

[0142] Example 27 includes the method of Example 26, where the efficiency metric indicates one or more travel points along a travel path of the vehicle, the user preference indicates a driving style of a user of the vehicle, and the traffic condition indicates an amount of a traffic congestion.

[0143] Example 28 includes the method of any of Examples 21 to 27, and further includes selecting the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof.

[0144] Example 29 includes the method of any of Examples 21 to 28, and further includes selecting the planning trajectory based on a selection model that is configured to obtain an input that indicates the metric data.

[0145] Example 30 includes the method of any of Examples 21 to 29, and further includes generating, based on a scene representation and a VLM, a text output, and where the planning trajectory is further selected based on the text output.

[0146] Example 31 includes the method of any of Examples 21 to 30, and further includes: obtaining the set of images representing the scene associated with the vehicle; generating the scene representation based on the set of images; and generating the multiple noise inputs that include the noise input.

[0147] Example 32 includes the method of Example 31, where each noise input of the multiple noise inputs is a random noise input.

[0148] Example 33 includes the method of any of Examples 21 to 32, and further includes, for the noise input: combining the noise input with the scene representation to generate a respective modified scene representation; and providing the respective modified scene representation as an input to the model, and where each noise input of the multiple noise inputs is a random noise input.

[0149] Example 34 includes the method of any of Examples 21 to 33, and further includes sending, via a modem to send the control signal to the vehicle.

[0150] Example 35 includes the method of any of Examples 21 to 33, and further includes receiving, via a modem of the vehicle, the model.

[0151] Example 36 includes the method of Example 34 or Example 35, and further includes receiving, via the modem, the images.

[0152] Example 37 includes the method of any of Examples 21 to 35, and further includes capturing, via one or more cameras, the images.

[0153] Example 38 includes the method of any of Examples 21 to 37, and further includes: displaying, via a display device, the scene representation and a representation of the selected planning trajectory.

[0154] Example 39 includes the method of any of Examples 21 to 38, and further includes: capturing, via one or more sensors, sensor data associated with the vehicle; and generating the control signal based at least in part on the sensor data.

[0155] Example 40 includes the method of any of Examples 21 to 39, where the vehicle is an automobile, an aircraft, or a watercraft.

[0156] According to Example 41, a non-transitory computer-readable medium storing instructions that are executable by one or more processors to cause the one or more processors to obtain a scene representation of a scene associated with a vehicle; obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle; select, based on metric data, a planning trajectory from the multiple planning trajectory candidates; and provide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0157] Example 42 includes the non-transitory computer-readable medium of Example 41, where the model includes a generator of a cGAN.

[0158] Example 43 includes the non-transitory computer-readable medium of Example 42, where the cGAN includes: the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory; and a discriminator is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.

[0159] Example 44 includes the non-transitory computer-readable medium of any of Examples 41 to 43, where the model is a trained model.

[0160] Example 45 includes the non-transitory computer-readable medium of any of Examples 41 to 44, where the instructions that are executable by the one or more processors to cause the one or more processors to obtain, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle, and each planning trajectory candidate of the multiple planning trajectory candidates is obtain based on a different respective noise input of multiple noise inputs.

[0161] Example 46 includes the non-transitory computer-readable medium of any of Examples 41 to 45, where the metric data includes an efficiency metric, a user preference, a traffic condition, or a combination thereof.

[0162] Example 47 includes the non-transitory computer-readable medium of Example 46, where the efficiency metric indicates one or more travel points along a travel path of the vehicle, the user preference indicates a driving style of a user of the vehicle, or the traffic condition indicates an amount of a traffic congestion.

[0163] Example 48 includes the non-transitory computer-readable medium of any of Examples 41 to 47, where the instructions that are executable by the one or more processors to cause the one or more processors to select the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof.

[0164] Example 49 includes the non-transitory computer-readable medium of any of Examples 41 to 48, where the instructions that are executable by the one or more processors to cause the one or more processors to select the planning trajectory based on a selection model that is configured to obtain an input that indicates the metric data.

[0165] Example 50 includes the non-transitory computer-readable medium of any of Examples 41 to 49, where the instructions that are executable by the one or more processors to cause the one or more processors to generate, based on a scene representation and a VLM, a text output, and where the planning trajectory is further selected based on the text output.

[0166] Example 51 includes the non-transitory computer-readable medium of any of Examples 41 to 50, where the instructions that are executable by the one or more processors to cause the one or more processors to: obtain the set of images representing the scene associated with the vehicle; generate the scene representation based on the set of images; and generate the multiple noise inputs that include the noise input.

[0167] Example 52 includes the non-transitory computer-readable medium of Example 51, where each noise input of the multiple noise inputs is a random noise input.

[0168] Example 53 includes the non-transitory computer-readable medium of any of Examples 41 to 52, the instructions that are executable by the one or more processors to cause the one or more processors to, for the noise input: combine the noise input with the scene representation to generate a respective modified scene representation; and provide the respective modified scene representation as an input to the model, and where each noise input of the multiple noise inputs is a random noise input.

[0169] Example 54 includes the non-transitory computer-readable medium of any of Examples 41 to 53, where the instructions that are executable by the one or more processors to cause the one or more processors to receive, via a modem of the vehicle, the model.

[0170] Example 55 includes the non-transitory computer-readable medium of any of Examples 41 to 53, where the instructions that are executable by the one or more processors to cause the one or more processors to send, via a modem, to send the control signal to the vehicle.

[0171] Example 56 includes the non-transitory computer-readable medium of Example 54 or Example 55, where the instructions that are executable by the one or more processors to cause the one or more processors to receive, via the modem, the images.

[0172] Example 57 includes the non-transitory computer-readable medium of any of Examples 41 to 55, where the instructions that are executable by the one or more processors to cause the one or more processors to receive, from one or more cameras, the images.

[0173] Example 58 includes the non-transitory computer-readable medium of any of Examples 41 to 57, where the instructions that are executable by the one or more processors to cause the one or more processors to: display, via a display device, the scene representation and a representation of the selected planning trajectory.

[0174] Example 59 includes the non-transitory computer-readable medium of any of Examples 41 to 58, where the instructions that are executable by the one or more processors to cause the one or more processors to: receive, from one or more sensors, sensor data associated with the vehicle; and generate the control signal based at least in part on the sensor data.

[0175] Example 60 includes the non-transitory computer-readable medium of any of Examples 41 to 59, where the vehicle is an automobile, an aircraft, or a watercraft.

[0176] According to Example 61, an apparatus includes means for obtaining a scene representation of a scene associated with a vehicle; means for obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle; means for selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates; and means for providing the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.

[0177] Example 62 includes the apparatus of Example 61, where the model includes a generator of a cGAN.

[0178] Example 63 includes the apparatus of Example 62, where the cGAN includes: the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory; and a discriminator is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.

[0179] Example 64 includes the apparatus of any of Examples 61 to 63, where the model is a trained model.

[0180] Example 65 includes the apparatus of any of Examples 61 to 64, and further includes means for obtaining, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle, and each planning trajectory candidate of the multiple planning trajectory candidates is obtain based on a different respective noise input of multiple noise inputs.

[0181] Example 66 includes the apparatus of any of Examples 61 to 65, where the metric data includes an efficiency metric, a user preference, a traffic condition, or a combination thereof.

[0182] Example 67 includes the apparatus of Example 66, where the efficiency metric indicates one or more travel points along a travel path of the vehicle, the user preference indicates a driving style of a user of the vehicle, or the traffic condition indicates an amount of a traffic congestion.

[0183] Example 68 includes the apparatus of any of Examples 61 to 67, and further includes means for selecting the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof.

[0184] Example 69 includes the apparatus of any of Examples 61 to 68, and further includes means for selecting the planning trajectory based on a selection model that is configured to obtain an input that indicates the metric data.

[0185] Example 70 includes the apparatus of any of Examples 61 to 69, and further includes means for generating, based on a scene representation and a VLM, a text output, and where the planning trajectory is further selected based on the text output.

[0186] Example 71 includes the apparatus of any of Examples 61 to 70, and further includes: means for obtaining the set of images representing the scene associated with the vehicle; means for generating the scene representation based on the set of images; and means for generating the multiple noise inputs that include the noise input.

[0187] Example 72 includes the apparatus of Example 71, where each noise input of the multiple noise inputs is a random noise input.

[0188] Example 73 includes the apparatus of any of Examples 61 to 72, and further includes: means for combining, for the noise input, the noise input with the scene representation to generate a respective modified scene representation; and means for providing, for each noise input of the multiple noise inputs, the respective modified scene representation as an input to the model, and where each noise input of the multiple noise inputs is a random noise input.

[0189] Example 74 includes the apparatus of any of Examples 61 to 73, and further includes means for sending the control signal to the vehicle.

[0190] Example 75 includes the apparatus of any of Examples 61 to 74, and further includes means for receiving the model.

[0191] Example 76 includes the apparatus of any of Examples 61 to 75, and further includes means for receiving the images.

[0192] Example 77 includes the apparatus of any of Examples 61 to 75, and further includes means for capturing the images.

[0193] Example 78 includes the apparatus of any of Examples 61 to 77, and further includes: means for displaying the scene representation and a representation of the selected planning trajectory.

[0194] Example 79 includes the apparatus of any of Examples 61 to 78, and further includes: means for capturing sensor data associated with the vehicle; and means for generating the control signal based at least in part on the sensor data capturing sensor data associated with the vehicle; and means for generating the control signal based at least in part on the sensor data.

[0195] Example 80 includes the apparatus of any of Examples 61 to 79, where the vehicle is an automobile, an aircraft, or a watercraft.

[0196] Those of skill would further appreciate that the various illustrative logical blocks, configurations, modules, circuits, and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software executed by a processor, or combinations of both. Various illustrative components, blocks, configurations, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or processor executable instructions depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, such implementation decisions are not to be interpreted as causing a departure from the scope of the present disclosure.

[0197] The steps of a method or algorithm described in connection with the implementations disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in random access memory (RAM) , flash memory, read-only memory (ROM) , programmable read-only memory (PROM) , erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , registers, hard disk, a removable disk, a compact disc read-only memory (CD-ROM) , or any other form of non-transient storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor may read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application-specific integrated circuit (ASIC) . The ASIC may reside in a computing device or a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a computing device or user terminal.

[0198] The previous description of the disclosed aspects is provided to enable a person skilled in the art to make or use the disclosed aspects. Various modifications to these aspects will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other aspects without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope possible consistent with the principles and novel features as defined by the following claims.

Claims

1.A device comprising:a memory configured to store images that represent scenes associated with a vehicle; andone or more processors configured to:obtain a scene representation, based on a set of images of the images, of a scene associated with the vehicle;obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle;select, based on metric data, a planning trajectory from the multiple planning trajectory candidates; andprovide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.2.The device of claim 1, wherein the model includes a generator of a conditional generative adversarial network (cGAN) .3.The device of claim 1, wherein:the one or more processors are configured to obtain, based on the scene representation and the model, the multiple planning trajectory candidates associated with the vehicle, andeach planning trajectory candidate of the multiple planning trajectory candidates is obtain based on a different respective noise input of multiple noise inputs.4.The device of claim 1, wherein the metric data includes an efficiency metric, a user preference, a traffic condition, or a combination thereof.5.The device of claim 4, wherein:the efficiency metric indicates one or more travel points along a travel path of the vehicle;the user preference indicates a driving style of a user of the vehicle; andthe traffic condition indicates an amount of a traffic congestion.6.The device of claim 4, wherein the one or more processors are configured to select the planning trajectory from the multiple planning trajectory candidates based on a collision probability metric, a passenger comfort metric, or a combination thereof.7.The device of claim 1, wherein the one or more processors are configured to select the planning trajectory based on a selection model that is configured to obtain an input that indicates the metric data.8.The device of claim 1, wherein:the one or more processors are configured to generate, based on a scene representation and a vision-language model (VLM) , a text output; andthe planning trajectory is further selected based on the text output.9.The device of claim 1, wherein the one or more processors are configured to:obtain the set of images representing the scene associated with the vehicle;generate the scene representation based on the set of images; andgenerate multiple noise inputs that include the noise input.10.The device of claim 9, wherein each noise input of the multiple noise inputs is a random noise input.11.The device of claim 1, wherein:the one or more processors are configured to, for the noise input:combine the noise input with the scene representation to generate a respective modified scene representation; andprovide the respective modified scene representation as an input to the model.12.The device of claim 1, further comprising a modem coupled to the one or more processors and configured to receive the images, to send the control signal to the vehicle, or both.13.The device of claim 1, further comprising one or more cameras coupled to the one or more processors and configured to capture the images.14.The device of claim 1, further comprising a display device coupled to the one or more processors, wherein the display device is configured to display the scene representation and a representation of the selected planning trajectory.15.The device of claim 1, further comprising one or more sensors configured to capture sensor data associated with the vehicle, wherein the one or more processors are configured to generate the control signal based at least in part on the sensor data.16.The device of claim 1, wherein the vehicle is an automobile, an aircraft, or a watercraft.17.A method comprising:obtaining a scene representation of a scene associated with a vehicle;obtaining, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle;selecting, based on metric data, a planning trajectory from the multiple planning trajectory candidates; andproviding the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.18.The method of claim 17, further comprising receiving, via a modem of the vehicle, the model, and wherein the model includes a generator of a conditional generative adversarial network (cGAN) .19.The method of claim 18, wherein:the model is a trained model; andthe cGAN includes:the generator which is trained to generate, based on a random noise input and scene representation training data, a plan trajectory that approximates a ground-truth plan trajectory; anda discriminator is trained to indicate a validity of the plan trajectory based on the plan trajectory and the scene representation training data.20.A non-transitory computer-readable medium storing instructions that are executable by one or more processors to cause the one or more processors to:obtain a scene representation of a scene associated with a vehicle;obtain, based on a noise input, the scene representation and a model, a respective planning trajectory of multiple planning trajectory candidates associated with the vehicle;select, based on metric data, a planning trajectory from the multiple planning trajectory candidates; andprovide the selected planning trajectory to a planning control component to generate a control signal for the vehicle based on the selected planning trajectory.