A motion trajectory prediction method and device, electronic equipment and storage medium

By using multiple pre-trained decoders in a neural network model to calculate the motion trajectory of targets around the autonomous vehicle in parallel, the problem of large trajectory prediction error and low efficiency in complex scenarios in existing technologies is solved, achieving efficient and accurate motion trajectory prediction and improving the safety of autonomous driving systems.

CN120952059BActive Publication Date: 2026-05-01ORDOS KARL POWER TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ORDOS KARL POWER TECH CO LTD
Filing Date
2025-10-15
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing autonomous driving systems suffer from large errors and low efficiency in predicting motion trajectories in complex scenarios, especially in situations such as turning, U-turns, and reversing, leading to safety hazards and untimely trajectory updates.

Method used

A motion trajectory prediction method based on a neural network model is adopted, which uses multiple pre-trained decoders to calculate the position coordinates of the moving target within a preset time range in parallel. These decoders include constant velocity, constant acceleration, constant turning rate, and velocity. Parallel computation is used to improve prediction efficiency while maintaining accuracy.

Benefits of technology

It improves the efficiency and accuracy of motion trajectory prediction, enables stable trajectory prediction in complex scenarios, reduces safety hazards, and meets the real-time requirements of autonomous driving systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120952059B_ABST
    Figure CN120952059B_ABST
Patent Text Reader

Abstract

The application provides a motion trajectory prediction method and device, electronic equipment and a storage medium. The trajectory prediction method in the application embodiment is executed based on a neural network model. The neural network model includes a plurality of pre-trained decoders. Feature data corresponding to automatic driving data of an automatic driving vehicle is obtained. According to the feature data, the motion type of a target to be predicted is determined. The decoder corresponding to the motion type is called, and the position coordinates of a plurality of time nodes of the target to be predicted within a preset time range are calculated in parallel. Finally, the motion trajectory of the target to be predicted is determined based on the position coordinates. The scheme of the application embodiment can select different decoders for prediction according to different motion types, and can calculate the position coordinates of a plurality of time nodes in parallel, converting nonlinear recursion into linear recursion. The model prediction efficiency is improved while the model accuracy is taken into account.
Need to check novelty before this filing date? Find Prior Art

Description

A method, apparatus, electronic device, and storage medium for predicting motion trajectory Technical Field

[0001] This application relates to the field of autonomous driving technology, and in particular to a method, device, electronic device and storage medium for predicting motion trajectory in a neural network model of autonomous driving technology. Background Technology

[0002] With the development of autonomous driving technology, the autonomous driving system in a vehicle needs to predict the future motion state of surrounding moving objects, and also plan or control its own behavior based on the prediction results of surrounding moving objects. Whether it is prediction, planning, or control, these tasks all involve the prediction of the trajectory of objects.

[0003] Currently, trajectory prediction in autonomous driving systems generally falls into two categories. One type predicts the trajectory based on simple kinematic parameters such as speed and heading angle, neglecting higher-order variables like acceleration, yaw rate, and jerk, or using interpolation to approximate these parameters. This results in predictions only applicable to simple linear motion scenarios, leading to significant errors in complex situations like turning, U-turns, and reversing, posing substantial safety risks. The other type predicts the trajectory in segments, dividing a period into smaller segments. The endpoint of the first segment is derived from the starting point, and the endpoint of the second segment is derived from the endpoint of the first, and so on. However, this non-linear recursive approach requires the coordinates of the next time point to be calculated only after the coordinates of the previous time point are obtained, resulting in low overall trajectory prediction efficiency. At the autonomous driving system level, this manifests as untimely trajectory updates, potentially leading to situations where the driver has already avoided an obstacle while the system only now warns of it, thus compromising driving safety. Summary of the Invention

[0004] This application provides a motion trajectory prediction method, apparatus, electronic device, and storage medium to solve one or more of the above-mentioned technical problems.

[0005] In a first aspect, embodiments of this application provide a motion trajectory prediction method. The method is based on a neural network model, which includes multiple pre-trained decoders. The method includes: acquiring feature data corresponding to autonomous driving data of an autonomous vehicle; the autonomous driving data includes the vehicle's motion data, navigation data, motion data of at least one moving object around the autonomous vehicle, and environmental data; determining the motion type of the target to be predicted based on the feature data; calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range in parallel; and determining the motion trajectory of the target to be predicted based on the position coordinates.

[0006] Secondly, embodiments of this application provide a motion trajectory prediction device based on a neural network model. The neural network model includes multiple pre-trained decoders. The device includes: a data acquisition module for acquiring feature data corresponding to autonomous driving data of an autonomous vehicle; the autonomous driving data includes the vehicle's motion data, navigation data, motion data of at least one moving object around the autonomous vehicle, and environmental data; a coordinate prediction module for determining the motion type of the target to be predicted based on the feature data, calling the decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel; and a trajectory determination module for determining the motion trajectory of the target to be predicted based on the position coordinates.

[0007] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method described in any of the above-mentioned embodiments.

[0008] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method described in any of the preceding claims.

[0009] This application provides a motion trajectory prediction method, device, electronic device, and storage medium. The trajectory prediction method in this application is based on a neural network model, which includes multiple pre-trained decoders. According to the embodiments of this application, feature data corresponding to the autonomous driving data of an autonomous vehicle is first acquired; the autonomous driving data includes the vehicle's motion data, navigation data, motion data of at least one moving object around the autonomous vehicle, and environmental data; then, based on the feature data, the motion type of the target to be predicted is determined, and the decoder corresponding to the motion type is called to calculate the position coordinates of the target at multiple time points within a preset time range in parallel; finally, the motion trajectory of the target to be predicted is determined based on the position coordinates. Different decoders can be selected for prediction according to different motion types, and the position coordinates of multiple time points can be calculated in parallel, transforming nonlinear recursion into linear recursion, thus improving the model's prediction efficiency while maintaining model accuracy.

[0010] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application, it can be implemented according to the contents of the specification. In order to make the above and other objects, features and advantages of this application more obvious and understandable, specific embodiments of this application are given below. Attached Figure Description

[0011] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments according to this application and should not be construed as limiting the scope of this application.

[0012] Figure 1 shows a schematic diagram of the decoder construction idea of ​​a motion trajectory prediction scheme provided in an embodiment of this application;

[0013] Figure 2 shows a flowchart of a motion trajectory prediction method provided in an embodiment of this application;

[0014] Figure 3 shows a structural block diagram of a motion trajectory prediction device provided in an embodiment of this application; and

[0015] Figure 4 shows a block diagram of an electronic device used to implement embodiments of this application. Detailed Implementation

[0016] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the concept or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0017] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application are described below. The following relevant technologies are optional solutions and can be combined with the technical solutions of the embodiments of this application in any way, and all of them fall within the protection scope of the embodiments of this application.

[0018] Autonomous driving systems need to predict the future motion states of surrounding objects and plan or control their own behavior based on these predictions. Whether it's prediction, planning, or control, these tasks all involve modeling the motion states of objects. Depending on the specific needs, the model may explicitly or implicitly provide accurate, feasible, reasonable, and smooth motion states of a given object at various levels, including its future position (pose), velocity (speed), yaw angle (yaw), acceleration (acc), yaw rate (yaw_rate), and jerk (jerk). The design of the kinematic model directly impacts the characterization of object motion states in autonomous driving systems. A refined kinematic model can provide more stable and reasonable trajectories, especially when the vehicle is large, its movement space is limited, or it is moving in complex scenarios such as turning, U-turns, or through narrow passages. Inaccurate kinematic models may lead to problems such as the vehicle being unable to pass or collisions. Since most current autonomous driving models are based on neural networks, how to efficiently and stably compute complex kinematic models within neural networks is crucial for improving the capabilities of autonomous driving systems.

[0019] Current autonomous driving systems often predict motion trajectories only for simple tasks. They directly assume that the object's motion follows a specific kinematic model within a given time domain, predicting trajectories based solely on simple kinematic parameters such as velocity and heading angle. These parameters directly generate the kinematic results at a specified time. The prediction process does not consider higher-order variables such as acceleration, yaw rate, and jerk, or these variables are approximated using interpolation methods. This results in trajectory predictions that are only applicable to simple linear motion scenarios. In complex scenarios such as turning, U-turns, and reversing, the errors are significant, posing substantial safety risks to autonomous driving systems. Alternatively, they use multiple segmented, coarse, and simple kinematic models to predict the trajectory segment by segment, obtaining the corresponding trajectory through nonlinear analogy. However, this nonlinear recursive trajectory prediction method requires the coordinates of the next time point to wait for the coordinates of the previous time stage to be calculated before calculation can begin. This inadvertently leads to low overall trajectory prediction efficiency. At the autonomous driving system level, this manifests as untimely trajectory updates, potentially resulting in situations where the driver has already avoided an obstacle while the autonomous driving system is only just warning of it, thus affecting driving safety.

[0020] Because most common kinematic models are overly idealized and simplistic compared to actual object motion, their representational capabilities are severely inadequate, leading to significant model errors over longer motion durations. Therefore, they are only suitable for highly idealized, simple environments or situations with limited prediction and planning timeframes. Simple kinematic models can only accurately describe the model's position, at most velocity and heading angle. Higher-order control variables such as acceleration, yaw rate, and jerk can only be approximated through interpolation. Inaccurate higher-order variables result in poor continuity of motion states. For planning and control models, the results are difficult to provide to the actuators for actual execution, especially under conditions where the controlled vehicle is a truck, requiring high smoothness and accuracy. Furthermore, simple models that do not consider rotation will exhibit significantly larger errors in complex scenarios such as turning, U-turns, and reversing, making them only suitable for relatively simple motion states. The time consumed by iterative calculations is proportional to the product of the prediction and planning time length and frequency, i.e., the total number of segments divided by time nodes. If the prediction time is too long or the prediction frequency is too high, the computation time cannot meet the real-time requirements of autonomous driving systems. If the prediction frequency is reduced to improve computational efficiency, resulting in excessively long prediction times for each segment, the advantages of piecewise models will be lost, leading to a significant loss of accuracy. In other words, it is difficult to balance accuracy and efficiency using a step-by-step recursive calculation method. Therefore, this type of method is only suitable for situations with small prediction timeframes or as a laboratory model and cannot be applied to real-world production environments.

[0021] This application provides a trajectory prediction method that directly addresses the current situation where kinematic models inevitably compromise on at least one aspect of modeling, accuracy, and efficiency. It offers a general approach for efficient and stable parallel computation of the applicant's optimized complex kinematic model (i.e., a pre-trained decoder) within a neural network. This method decomposes nonlinear recursive predictions that cannot be parallelized into parallel linear recursive predictions, or into a combination of parallel linear recursive predictions and nonlinear recursive predictions where all current variables are known. Furthermore, considering system stability, this application provides a prediction scheme that ensures numerical stability of trajectory predictions, as well as practical acceleration methods (e.g., matrix multiplication) to meet the training requirements of neural networks, especially for cases where some intermediate-order variables meet preset conditions (e.g., yaw rate is 0 or infinitesimally small). For situations where operators are not supported, this application also provides an efficient approximate prediction method with arbitrarily small theoretical error upper bounds to meet the needs of practical model deployment. Therefore, by optimizing existing piecewise kinematic models, this application provides an efficient, stable, general, and feasible solution for the widespread use of piecewise complex kinematic models in neural networks, possessing significant application value.

[0022] Figure 1 illustrates a schematic diagram of the decoder construction concept in a motion trajectory prediction scheme provided in this application embodiment. The motion trajectory prediction scheme provided in this application can be executed based on a neural network model, which includes multiple pre-trained decoders. These pre-trained decoders may include at least one or more of the following: constant speed decoder, constant acceleration decoder, constant steering rate and speed decoder, constant steering rate and acceleration decoder, bicycle decoder with constant steering angle and speed, and bicycle decoder with constant steering angle and acceleration. Each of these decoders includes a segmented kinematic model that has been pre-trained and modified with altered computational logic.

[0023] As shown in Figure 1, the general construction idea of ​​the decoder in this application, which includes a piecewise kinematic model with modified computational logic, is as follows: The initial high-order kinematic variables in the original piecewise kinematic model are transformed into intermediate-order kinematic variables that can be computed in parallel using linear recursion. Then, the final low-order kinematic variables (such as position coordinates) are derived from these intermediate-order kinematic variables. For example, after calculating the intermediate-order kinematic variables, it can be transformed into a nonlinear recursion where all variables are known, or a linear recursion computed in parallel. Taking the original piecewise kinematic model in the decoder as a piecewise CTRA (Constant Turn Rate and Acceleration) model as an example, the piecewise CTRA model assumes that the moving object turns with a fixed angular velocity (constant turning rate) and a fixed acceleration, while simultaneously describing the turning and acceleration / deceleration behaviors. Therefore, the piecewise CTRA model only provides the yaw rate and acceleration (acc) of the moving object, two high-order kinematic variables. It requires recursively calculating the object's position coordinates step-by-step from the yaw rate and acceleration (acc) to the nth time point (the first time node), which cannot be directly computed in parallel. However, after modifying the piecewise CTRA model in the decoder in this application, the yaw rate and acceleration (acc) can be used to calculate the heading angle (yaw) and speed in parallel for all time points (all time nodes within a preset time range). Then, other necessary transition variables can be recursively calculated based on the heading angle and speed, and finally, the position (pose) can be calculated in parallel. This allows for the parallel calculation of position coordinates at multiple time points, transforming nonlinear recursion into linear recursion, improving model prediction efficiency while maintaining model accuracy.

[0024] The execution entity in this application embodiment can be an application, service, instance, functional module in software form, virtual machine (VM), container, or cloud server, or hardware device with data processing function (such as server or terminal device) or hardware chip (such as CPU, GPU, FPGA, NPU, AI accelerator card, or DPU). The device for implementing motion trajectory prediction can be deployed on the computing device of the application providing the corresponding service or on a cloud computing platform providing computing power, storage, and network resources. The cloud computing platform can provide services in the following modes: IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service), or DaaS (Data as a Service). Taking the platform providing SaaS (Software as a Service) as an example, the cloud computing platform can utilize its own computing resources to provide training for the motion trajectory prediction model or execution of the motion trajectory prediction module. The specific application architecture can be built according to service requirements. For example, the platform can provide building services based on the above model to application users or individuals using platform resources, and further invoke the above model and realize online or offline motion trajectory prediction functions based on motion trajectory prediction requests submitted by relevant client or server devices.

[0025] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0026] The following is a list of some of the technical terms used in the embodiments of this application:

[0027] Yaw (box heading): The angle between the longitudinal axis of a moving object, such as a vehicle, and the fixed axis of the global coordinate system, indicating the actual direction of the moving object.

[0028] Velocity heading (or motion heading): The direction of an object's velocity vector, representing the actual direction of motion of the moving object. For a point mass model, it is the same as the heading angle; for bicycle models (e.g., bicycleCSV and bicycleCSA), the velocity heading and heading angle may be different.

[0029] Steering angle: also known as front wheel steering angle, in bicycle models (such as bicycleCSV and bicycleCSA) it represents the rotation angle of the front wheel relative to the longitudinal axis of the vehicle body.

[0030] Sideslip angle: The angle between the velocity vector and the longitudinal axis of the moving object, i.e., the difference between the turning angle and the track angle.

[0031] Yaw rate: also known as yaw rate, is the angular velocity of a moving object about its vertical axis, i.e., the rate of change of its heading angle.

[0032] Radius of curvature: The radius of the locally best-fit circle representing the curvature of a moving object's path. For objects undergoing non-standard circular motion, the radius of curvature changes over time; therefore, the radius of curvature at a given moment can also be called the instantaneous radius of curvature.

[0033] Reference point: The measurement point for all physical quantities such as position, velocity, acceleration, track angle, sideslip angle, and radius of curvature. For a point mass model, this is the object itself; for a bicycle model (e.g., bicycleCSV and bicycleCSA), the reference point is a point on the longitudinal axis of the moving object.

[0034] Sideslip angle coefficient: In bicycle models (such as bicycleCSV and bicycleCSA), it represents the ratio of the distance from the reference point to the center of the rear axle to the distance from the front wheel to the center of the rear axle.

[0035] Kinematic Motion Model: In contrast to Dynamic Motion Model, a kinematic motion model is a model that describes the changes in the motion state (position, velocity, heading angle, etc.) of a moving object through geometric relationships. Its core assumption is to ignore mechanical factors, that is, to disregard the cause of the object's motion and predict the behavior of the moving object solely based on kinematic assumptions and mathematical equations (such as velocity integral to displacement, angular velocity integral to heading angle).

[0036] CV stands for Constant Velocity, which assumes that the moving object maintains uniform linear motion (acceleration = 0) and ignores changes in direction and acceleration.

[0037] CA stands for Constant Acceleration, which assumes that the acceleration of a moving object is constant (jerk = 0) and is suitable for linear acceleration / deceleration scenarios over a short period of time.

[0038] CTRV stands for Constant Turn Rate and Velocity, which assumes that a moving object turns with a fixed yaw rate (constant turning rate) and a fixed speed (acceleration = 0).

[0039] CTRA stands for Constant Turn Rate and Acceleration, which assumes that a moving object turns with a fixed angular velocity (constant turn rate) and a fixed acceleration, while describing the turning and acceleration / deceleration behavior.

[0040] bicycleCSV stands for Bicycle Model with Constant Steering and Velocity. It assumes that a moving object, such as a vehicle, can be simplified to a front wheel rotating at a fixed angle, with a constant velocity at a reference point. It describes steering behavior and considers the difference between wheel steering and vehicle body steering.

[0041] BicycleCSA: This refers to Bicycle Model with Constant Steering and Acceleration. It assumes that a moving object, such as a vehicle, can be simplified to a front wheel rotating at a fixed angle, with constant acceleration at a reference point. It describes steering and acceleration / deceleration behavior and considers the difference between wheel steering and vehicle body steering.

[0042] Segmented kinematics models are composite models that divide the continuous motion of a moving object into multiple stages based on time or state, and describe each stage using different kinematic sub-models (such as CV / CA / CTRV / CTRA / bicycleCSV / bicycleCSA). The core idea is to control the error of the kinematic model relative to the actual motion over time by predicting a small segment at a time, thereby improving the accuracy of motion prediction in complex scenarios while ensuring real-time performance.

[0043] The change in time refers to the length of time during which an object continues to move according to a specific kinematic model. In this application, it can refer to the time interval between a certain time node and the initial time node within a preset time range.

[0044] The physical quantity at time t The value of . The subscript 0 indicates the initial time.

[0045] The Singer function is represented by sinc(·). When x is not 0, sinc(x) = sin(x) / x; when x = 0, sinc(0) = 1. It can also be uniformly represented by... definition.

[0046] min, max: min{…} means selecting the smallest number in …, and max{…} means selecting the largest number in ….

[0047] The technical solution of this application and how it solves the aforementioned technical problems are described in detail below with specific embodiments. The listed specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0048] This application provides a motion trajectory prediction method based on a neural network model. The neural network model includes multiple pre-trained decoders. Figure 2 shows a flowchart of a motion trajectory prediction method 200 according to an embodiment of this application. Method 200 may include:

[0049] In step S201, feature data corresponding to the autonomous driving data of the autonomous vehicle is obtained; the autonomous driving data includes the autonomous vehicle's motion data, the autonomous vehicle's navigation data, the motion data of at least one moving object around the autonomous vehicle, and environmental data.

[0050] The vehicle's motion data can include historical motion data stored in the autonomous driving system and current motion data sensed by sensors, including position, speed, yaw angle, acceleration, yaw rate, and jerk. The autonomous vehicle's navigation data can include road information (e.g., straight roads, intersections, curves, lane markings), path planning information, current location information, and traffic congestion information from the autonomous vehicle's navigation system. Motion data of at least one moving object around the autonomous vehicle can be the speed, direction, and coordinates of the moving object identified by the vehicle's sensors, or the type of moving object identified, such as pedestrians, bicycles, motorcycles, cars, or buses. Environmental data can include lane markings, traffic lights, pedestrian and vehicle traffic, distances, and road conditions around the vehicle identified by the vehicle's sensors, or weather information and road policies (e.g., vehicle restriction tail numbers) identified by other connected programs such as weather forecasts and calendars. This application does not impose any limitations on this.

[0051] Specifically, feature data corresponding to the autonomous driving data of autonomous vehicles can be obtained through an encoder in a neural network model. This encoder can be a pre-trained encoder or a general encoder. This feature data can be representational data extracted after encoding the autonomous driving data. For example, the autonomous driving data can be converted into vectors, and then feature extraction can be performed to obtain the corresponding feature data. Representational data can represent relevant semantic information, such as speed, coordinates, position, type of moving object, road policies, etc. Decoding this type of representational data can predict the trajectory of moving objects over a future period.

[0052] In one possible implementation, the pre-trained decoder refers to a decoder that has been pre-trained, including at least one or more of the following: constant speed decoder, constant acceleration decoder, constant steering rate and speed decoder, constant steering rate and acceleration decoder, constant steering angle and speed bicycle decoder, and constant steering angle and acceleration bicycle decoder.

[0053] The constant velocity decoder may include a piecewise kinematic model (CV) with modified computational logic. This model can obtain the initial position and related feature data of the target to be predicted within a preset time range from the encoder, and predict the velocity of the target at each time node within the preset time range based on the obtained initial position and related feature data. ) and heading angle ( This process then proceeds to subsequent predictions, calculating other transition variables in parallel based on velocity and heading angle, and finally calculating the position coordinates in parallel. The constant acceleration decoder may contain a piecewise kinematic model (CA) with modified computational logic. It can obtain the initial position, initial velocity, and related feature data of the target to be predicted within a preset time range from the encoder, and predict the acceleration of the target at each time node within the preset time range based on the obtained initial position, initial velocity, and related feature data. ) and heading angle ( ), and then proceed with the subsequent prediction process, based on acceleration ( ) and heading angle ( Parallel computation of other transition variables, such as prediction velocity ( The constant turn rate and velocity decoder can contain a piecewise kinematic model (CTRV) with modified computational logic. It can obtain initial position, initial heading angle, and related feature data from the encoder, and based on this data, predict the velocity of the target at various time points within a preset time range. ) and yaw rate ( This leads to a subsequent prediction process, where other transition variables are calculated in parallel based on velocity and yaw rate, ultimately calculating the position coordinates in parallel. The constant turn rate and acceleration decoder may contain a piecewise kinematic model (CTRA) with modified computational logic. This model can acquire initial position, initial velocity, initial heading angle, and related feature data from the encoder. Based on the acquired initial position, initial velocity, initial heading angle, and related feature data, it predicts the acceleration of the target at various time points within a preset time range. ) and yaw rate ( This leads to a subsequent prediction process, where other transitional variables such as acceleration and yaw rate are calculated in parallel, ultimately calculating the position coordinates in parallel. The constant steering angle and velocity bicycle decoder can include a segmented kinematic model (bicycleCSV) with modified computational logic. This model can acquire initial position, initial heading angle, initial track angle, longitudinal axis length of the target to be predicted, sideslip coefficient, and related feature data from the encoder. Based on the acquired initial position, initial heading angle, initial track angle, and related feature data, it predicts the velocity of the target at various time points within a preset time range. ) and steering angle ( This leads to a subsequent prediction process, where other transitional variables such as speed and steering angle are calculated in parallel, ultimately calculating the position coordinates in parallel. The constant steering angle and acceleration bicycle decoder can include a segmented kinematic model (bicycleCSA) with modified computational logic. This model can acquire initial position, initial heading angle, initial track angle, initial speed, the longitudinal axis length of the target to be predicted, sideslip coefficient, and related feature data from the encoder. Based on the acquired initial position, initial heading angle, initial track angle, initial speed, and related feature data, it predicts the acceleration of the target at various time points within a preset time range. ) and steering angle ( Then, the subsequent prediction process is carried out, and other transition variables such as acceleration and steering angle are calculated in parallel, and finally the position coordinates are calculated in parallel.

[0054] In step S202, based on the feature data, the motion type of the target to be predicted is determined, and the decoder corresponding to the motion type is called to calculate the position coordinates of the target to be predicted at multiple time nodes within a preset time range in parallel.

[0055] In one possible implementation, the target to be predicted is a target selected by the neural network model from the autonomous vehicle and at least one moving object around the autonomous vehicle; the number of targets to be predicted is at least one; determining the motion type of the target to be predicted based on the feature data includes: extracting associated feature data related to the target to be predicted from the feature data, parsing the semantic information in the associated feature data through the neural network model, and determining the motion type of the target to be predicted based on the semantic information; the semantic information includes at least the initial motion state of the target to be predicted within a preset time range.

[0056] For example, by using historical and current motion data of autonomous vehicles, as well as environmental data detected by sensors, it can predict whether deceleration, constant speed, or acceleration is likely within a preset time range in the future; by using navigation information and road information, it can predict whether turning, straight-line driving, or speed limits are likely within a future time range; by using road information such as straight roads, intersections, traffic lights, and traffic congestion, it can predict which routes may exist in the future time range, and whether there may be changes in speed or direction of travel on each route; by identifying the type of moving object, or the motion data (speed, position, etc.) of the moving object, and road information, it can predict the motion pattern of the moving object in the future time range, for example, pedestrians can be assumed to be moving at a constant speed. Specifically, the degree of correlation between the semantic information of the feature data extracted by the neural network model and the decoder, or by judging the motion type of the target to be predicted according to the corresponding rules, can determine which decoder to use for the target to be predicted. This application does not impose any restrictions on this.

[0057] In this application embodiment, the number of targets to be predicted is at least one. It can be an autonomous vehicle, a moving object (pedestrian, vehicle, etc.) around the autonomous vehicle, or one or more moving objects around the autonomous vehicle, or just a few moving objects. This application does not impose any restrictions on this.

[0058] For different targets to be predicted, the same decoder or different decoders can be used within the same preset time range. Regardless of whether the same decoder is used for different targets, multi-task parallel prediction can be performed for different targets. For the same target to be predicted, only one decoder can be used within the same preset time range. Outside the preset time range, a decoder different from that preset time range can be used. Specifically, the decoder to be called can be changed according to the driving state of the target to be predicted. For example, a vehicle travels from point A to point B in a total of 30 minutes. The first 10 minutes are spent traveling at a constant speed in a straight line; the middle 10 minutes involve several sharp turns, but the vehicle still maintains a constant speed; the last 10 minutes are spent accelerating in a straight line to save time. This 10-minute period can be the preset time range. For this vehicle, the first 10 minutes can use a constant speed decoder (including CV) to predict the coordinate position of each time node (e.g., per second) in parallel; the middle 10 minutes can use a constant steering rate and speed decoder (including CTRV); and the last 10 minutes can use a constant acceleration decoder (including CA). This application does not impose any restrictions on this.

[0059] In addition, this application pre-determines multiple time points within a time range, and the time periods between any two of these multiple time points can be the same or different.

[0060] For example, the motion trajectory prediction scheme provided in this application can be combined with various neural networks or traditional rule-based prediction planning tools, or different combinations of multiple segmented kinematic models can be selected according to the different prediction objects (such as different types). For example, firstly, a neural network model encoder can be called to encode road information, vehicle history information, navigation information, and information interactions based on multilayer perceptron, CNN, RNN, Transformer, etc., to obtain the complete environmental encoding features of one or more moving objects; secondly, some or all of the moving objects can be selected as the target to be predicted, and different decoders (segmented kinematic decoding models) can be selected according to the motion type of the target to be predicted. For example, a pre-trained constant velocity decoder (segmented CV kinematic decoding model) can be used for pedestrian targets, and the complete environmental encoding features can be used to determine the future velocity of the pedestrian target. and heading angle Prediction is performed (based on the initial position within a preset time range, the velocity and heading angle of the target at various time points within the preset time range are predicted), and then the target's position is efficiently calculated using the scheme in this application; for autonomous vehicles, the reference point where the vehicle's sensors are located can be used to call a pre-trained bicycle decoder with constant steering angle and acceleration (usually...). BicycleCSA), using complete environment-coded features to determine the future steering angle of the vehicle. and acceleration Prediction is performed, and then the target's position is efficiently calculated using the scheme in this application. For other targets (such as other vehicles or cyclists), the perception observation center point can be used, and a pre-trained bicycle decoder with constant steering angle and acceleration (usually...) can be invoked. (bicycleCSA), using complete environment-coded features to determine the target's future steering angle and acceleration A prediction is made, and then the target's position is efficiently calculated using the scheme in this application. When necessary information such as axis length is lacking and the decoder of the bicycle kinematics model cannot be used, a pre-trained constant velocity decoder (segmented CV kinematic decoding model) can be used for pedestrian targets. The future velocity of the pedestrian target is determined using the full environment encoding features. and heading angle The system performs a prediction and then uses the scheme described in this application to efficiently calculate the target's position. For other targets, a pre-trained constant turning rate and acceleration decoder (segmented CTRA kinematic decoding model) can be used to encode the target's future yaw rate using full environment features. and acceleration The system makes predictions and then uses the scheme described in this application to efficiently calculate the target's position. Similarly, different decoders can be invoked according to the actual situation to perform on-demand, accurate kinematic model trajectory prediction and planning.

[0061] It is worth mentioning that after determining the motion type of the target to be predicted, a decoder corresponding to that motion type can be called to model the future motion of the target, thereby predicting the trajectory of the target. Since the target is constantly in motion in actual road conditions and will not remain in the same motion state or type—for example, it will not always be in uniform linear motion or accelerated linear motion—its motion type is unlikely to conform to an ideal motion model. Therefore, the corresponding decoder called in this application only selects a suitable ideal model (a suitable decoder) based on the current motion of the target to approximate the trajectory prediction.

[0062] In some embodiments, determining the motion type of the target to be predicted, invoking a decoder corresponding to the motion type, and calculating the position coordinates of the target at multiple time points within a preset time range in parallel includes: if the motion type of the target to be predicted is determined to be piecewise uniform linear motion, obtaining the initial position (which may be the position at the initial moment) and related feature data of the target to be predicted within the preset time range from the feature data; invoking a pre-trained constant velocity decoder (including CV), and predicting the velocity of the target to be predicted at each time point within the preset time range based on the initial position and related feature data. ) and heading angle ( According to the speed ( ) and heading angle ( The system calculates the horizontal and vertical position changes of each time node relative to the previous time node in parallel, and obtains the horizontal and vertical position change matrices. By multiplying the horizontal and vertical position change matrices with the preset transition matrix (K), the system obtains the horizontal and vertical position matrices of all time nodes within the preset time range. The system then converts the horizontal and vertical position matrices into position coordinates according to the chronological order of the time nodes.

[0063] In this application, the constant velocity decoder may include a piecewise kinematic model (CV) with modified computational logic, which can predict velocity based on the acquired initial position and related feature data. ) and heading angle ( Furthermore, the original piecewise kinematics model CV needs to be based on the velocity ( ) and heading angle ( The position coordinates are derived, but within a preset time range, the position coordinates of a later time node depend on the position coordinates of the previous time node. This means the entire calculation process is non-linear and recursive, resulting in low efficiency. The original piecewise kinematics model CV calculation formula is:

[0064]

[0065]

[0066] The applicant pointed out that these two recursive formulas are for The time intervals between a given time node and the initial time node within a preset time range are all linear, thus this property can be used to parallelize the above recursive formula. We can define a transition matrix K (which can sum up the time intervals between each pair of time nodes within the preset time range using a matrix):

[0067]

[0068] Then we have:

[0069]

[0070]

[0071] Specifically, assuming that the constant velocity decoder described above is used to predict the trajectory of the target to be predicted, the initial position and related feature data of the target to be predicted within a preset time range can be obtained from the feature data; based on the initial position and related feature data, the velocity of the target to be predicted at each time node within the preset time range can be predicted ( ) and heading angle ( Furthermore, the velocity predicted based on the pre-trained constant velocity decoder (CV) ) and heading angle ( The horizontal and vertical position changes of each time node relative to the previous time node are calculated in parallel to obtain the horizontal position change matrix. ) and the matrix of changes in vertical position ( By multiplying the preset transition matrix (K) with the horizontal position change matrix and the vertical position change matrix, the horizontal and vertical position matrices for all time nodes within a preset time range are obtained. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, although... numerical dependence The value, but - That is, the change in the lateral position of the vehicle during the t-th time period does not depend on The speed of the vehicles in the t-th time period is the only factor. and vehicle heading angle Therefore, the change in the vehicle's lateral position from time 1 to time T can be calculated simultaneously in parallel. and longitudinal position change Then, by summing the lateral and longitudinal position changes over the previous t time points, we can obtain the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This calculation process, performed at each time point within a preset time range, can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total change in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's position coordinates at time t. This is used when predicting the velocity of the target at various time points within a preset time range. ) and heading angle ( The subsequent predictions are the part proposed in this application after the change in the operation logic.

[0072] For the sake of brevity, uppercase letters are used to represent vectors (or matrices) composed of scalars represented by lowercase letters at different times. In all formulas below, matrix multiplication is performed by multiplying the corresponding elements of the matrix. Matrix multiplication in a general sense is represented by the @ symbol.

[0073] Then the final horizontal position matrix of all time nodes within the preset time range ( ) and vertical position matrix ( ) can be represented as:

[0074]

[0075]

[0076] Furthermore, the horizontal and vertical position matrices can be converted into position coordinates according to the chronological order of the time nodes. The sequence is generated and the motion trajectory is output.

[0077] In some embodiments, determining the motion type of the target to be predicted, invoking the decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel includes: when the motion type of the target to be predicted is determined to be piecewise fixed acceleration (uniform acceleration or deceleration) linear motion, obtaining the initial position and initial velocity of the target to be predicted at the initial moment within the preset time range from the feature data. ) and related feature data; call the pre-trained constant acceleration decoder (including CA), and predict the acceleration of the target to be predicted at each time node within a preset time range based on the initial position, initial velocity and related feature data. ) and heading angle ( According to the acceleration ( ) and initial velocity ( The velocity change at each time point relative to the previous time point is calculated in parallel to obtain a velocity change matrix. The velocity at all time points within a preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix. )matrix( According to the speed ( )matrix( The acceleration () ) and heading angle ( The system calculates in parallel the lateral and longitudinal position changes of the target to be predicted at each time node within a preset time range relative to the previous time node, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0078] In this application, the constant acceleration decoder may include a piecewise kinematic model CA (Constant Acceleration) with modified computational logic, which can predict acceleration based on the acquired initial position, initial velocity, and related feature data. ) and heading angle ( The original piecewise kinematic model CA needs to be based on acceleration ( ). ) and heading angle ( First, the velocity is derived, then the position coordinates are derived. Within a preset time range, the velocity and position coordinates at a later time point depend on the velocity and position coordinates at the previous time point. This means the entire calculation process is non-linear and recursive, resulting in low efficiency. The original formula for calculating the piecewise kinematics model CA is:

[0079]

[0080]

[0081]

[0082] The applicant pointed out that these two recursive formulas are for (The time interval between a certain time point within a preset time range and the initial time point) and It is linear, but a mid-order kinematic variable, namely velocity, needs to be obtained first. ).and The calculation formula for It is also linear, therefore, the same principle as CV can be used to perform trajectory prediction in two steps: first, the higher-order kinematic variables are transformed into intermediate-order kinematic variables that can be computed in parallel; then, the intermediate-order kinematic variables are computed in parallel to derive the lower-order kinematic variables (higher-order kinematic variables → intermediate-order kinematic variables → lower-order kinematic variables). The entire process is linear. After derivation, we can obtain:

[0083]

[0084]

[0085]

[0086] Specifically, assuming that the pre-trained constant acceleration decoder is used to predict the trajectory of the target, the initial position and initial velocity of the target within a preset time range can be obtained from the feature data. ) and related feature data; call the pre-trained constant acceleration decoder (CA) to predict the acceleration of the target at each time node within a preset time range based on the initial position, initial velocity, and related feature data. ) and heading angle ( According to the acceleration ( ) and initial velocity ( The velocity change at each time point relative to the previous time point is calculated in parallel to obtain a velocity change matrix. The velocity at all time points within a preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix. )matrix( According to the speed ( )matrix( The acceleration () ) and heading angle ( The method calculates in parallel the lateral and longitudinal positional changes of the target relative to the previous time node at each time node within a preset time range, obtaining lateral and longitudinal positional change matrices. By multiplying these matrices by a preset transition matrix, the lateral and longitudinal positional change matrices for all time nodes within the preset time range are obtained. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, although... numerical dependence The value, but - That is, the change in vehicle speed during the t-th time period does not depend on The acceleration of the vehicle during the t-th time period is the only factor. Therefore, we can calculate the vehicle speed change over the T time points from time 1 to time T simultaneously in parallel. Then, by summing up the speed changes over the previous t time points, we can obtain the total speed change of the vehicle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The change in speed is represented by matrix multiplication. Adding the total change in vehicle speed to the initial speed gives the actual speed of the vehicle at time t. Therefore, the formula can be obtained. That is, to obtain the speed of all time points within the preset time range ( )matrix( This calculates the vehicle's speed at each moment. .

[0087] Next, despite numerical dependence The value, but - That is, the change in the lateral position of the vehicle during the t-th time period does not depend on The speed of the vehicles in the t-th time period is the only factor. Vehicle acceleration and vehicle heading angle Therefore, the lateral position change of the vehicle from time 1 to time T can be calculated simultaneously in parallel. Change in longitudinal position Then, by summing the lateral and longitudinal position changes over the previous t time points, we can obtain the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This calculation process, performed at each time point within a preset time range, can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total changes in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's position coordinates at time t. Ultimately, the lateral position matrix for all time points within a preset time range can be obtained. ) and vertical position matrix ( The horizontal and vertical position matrices are converted into a sequence of position coordinates (X, Y) according to the chronological order of time nodes, and the motion trajectory is output. Specifically, the acceleration of the target to be predicted at each time node within a preset time range is calculated. ) and heading angle ( The further predictions following this are the parts proposed in this application after the change in the operational logic.

[0088] In some embodiments, determining the motion type of the target to be predicted, invoking a decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel includes: when the motion type of the target to be predicted is determined to be segmented uniform turning motion, obtaining the initial position and initial heading angle of the target to be predicted within the preset time range from the feature data. ) and related feature data; invoke a pre-trained constant turning rate and velocity decoder (including CTRV), and predict the velocity of the target to be predicted at each time node within a preset time range based on the initial position, initial heading angle, and related feature data. ) and yaw rate ( According to the initial heading angle ( ) and the yaw rate ( ), and calculate in parallel the change in heading angle at each time point relative to the previous time point ( The heading angle change matrix is ​​obtained, and the heading angle matrix for all time nodes within a preset time range is obtained by multiplying the predetermined transition matrix with the heading angle change matrix. Based on the heading angle matrix, the sine and cosine values ​​of the heading angle of the target to be predicted are calculated in parallel at each time node relative to the previous time node within a preset time range to obtain the heading angle sine matrix. ) and the heading angle cosine matrix ( The product of the inverse of the preset transition matrix (which can be represented by D and can calculate the difference between segments) and the sine and cosine matrices of the heading angle is used to obtain the matrix of the increase in the sine value of the heading angle. ) and the matrix of the decrease in the cosine value of the heading angle ( ); based on the matrix of increase in the sine value of the heading angle, the matrix of decrease in the cosine value of the heading angle, and the velocity ( ) and yaw rate ( The system calculates in parallel the lateral and longitudinal position changes of the target to be predicted at each time node within a preset time range relative to the previous time node, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0089] In this application, the constant turn rate and velocity decoder may include a piecewise kinematic model CTRV (Constant Turn Rate and Velocity) with modified computational logic, which can predict velocity based on the acquired initial position, initial heading angle, and relevant feature data. ) and yaw rate ( The original piecewise kinematic model CTRV needs to be based on velocity ( ) and yaw rate ( First, the heading angle is derived, then the position coordinates are derived. Within a preset time range, the heading angle and position coordinates at a later time point depend on the heading angle and position coordinates at the previous time point. This means the entire calculation process is non-linear and recursive, resulting in low efficiency. The original piecewise kinematic model CTRV calculation formula is:

[0090]

[0091]

[0092]

[0093] The applicant pointed out that, despite It can be derived using the previous method, but for Since it is nonlinear, based on the construction approach, we can first transform the higher-order kinematic variables into intermediate-order kinematic variables that can be computed in parallel, and then nonlinearly derive the lower-order kinematic variables from the intermediate-order kinematic variables. After derivation, we can obtain:

[0094]

[0095]

[0096]

[0097]

[0098] In the known Under the condition that parallel computation can be performed using the previous method, this computation formula is similar to... It is irrelevant, and clearly linear as well. And... Compared to It is also linear, and can be used to construct parallel computations of matrix multiplication similar to K. Similarly, the derivation can be done in three steps:

[0099]

[0100]

[0101]

[0102]

[0103]

[0104] The preset transition matrix That is, the pre-defined transition matrix The difference between time periods can be calculated using a matrix method between any two time nodes within a preset time range.

[0105] Specifically, assuming that the pre-trained constant turning rate and velocity decoder (including CTRV) is used to predict the trajectory of the target to be predicted, the initial position and initial heading angle of the target to be predicted within a preset time range can be obtained from the feature data. ) and related feature data; call the pre-trained constant turning rate and velocity decoder (including CTRV), based on the initial position and initial heading angle ( ), predict the velocity of the target to be predicted at each time point within a preset time range ( ) and yaw rate ( According to the initial heading angle ( ) and the yaw rate ( ), and calculate in parallel the change in heading angle at each time point relative to the previous time point ( The heading angle change matrix is ​​obtained, and the heading angle matrix for all time nodes within a preset time range is obtained by multiplying the predetermined transition matrix with the heading angle change matrix. Based on the heading angle matrix, the sine and cosine values ​​of the heading angle of the target to be predicted are calculated in parallel at each time node relative to the previous time node within a preset time range to obtain the heading angle sine matrix. ) and the heading angle cosine matrix ( The product of the inverse of the preset transition matrix (which can be represented by D and can calculate the difference between segments) and the sine and cosine matrices of the heading angle is used to obtain the matrix of the increase in the sine value of the heading angle. ) and the matrix of the decrease in the cosine value of the heading angle ( ); based on the matrix of increase in the sine value of the heading angle, the matrix of decrease in the cosine value of the heading angle, and the velocity ( ) and yaw rate ( The method calculates in parallel the lateral and longitudinal positional changes of the target relative to the previous time node at each time node within a preset time range, obtaining lateral and longitudinal positional change matrices. By multiplying these matrices by a preset transition matrix, the lateral and longitudinal positional change matrices for all time nodes within the preset time range are obtained. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, although... numerical dependence The value, but - That is, the change in the vehicle's heading angle during the t-th time period does not depend on The yaw rate during the t-th time interval is the only factor. Therefore, the change in vehicle heading angle from time 1 to time T can be calculated simultaneously in parallel. Then, by summing up the changes in heading angle at the previous t time points, we can obtain the total change in vehicle heading angle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The formula is a matrix multiplication representation of the change in heading angle. Adding the total change in the vehicle's heading angle to its initial heading angle gives the vehicle's actual heading angle at time t. Therefore, the formula can be derived. This allows us to calculate the vehicle's heading angle at each moment. .

[0106] Next, with the vehicle's heading angle at each moment... The increase in the sine of the vehicle's heading angle relative to the previous moment can be calculated in parallel. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The matrix multiplication of the sine of the heading angle is used to express this. Therefore, the formula can be obtained. Similarly, the decrease in the cosine of the vehicle's heading angle at each moment relative to the previous moment can also be calculated in parallel. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The matrix multiplication of the heading angle cosine is used to express this. Therefore, the formula can be obtained. .

[0107] Furthermore, despite numerical dependence The value, but - That is, the change in the lateral position of the vehicle during the t-th time period does not depend on The speed of the vehicles in the t-th time period is the only factor. yaw rate The increase in the sine of the vehicle's heading angle relative to the previous moment. Therefore, the lateral position change of the vehicle from time 1 to time T can be calculated simultaneously in parallel. The change in longitudinal position is determined only by the vehicle speed during the t-th time period. yaw rate The decrease in the cosine of the vehicle's heading angle relative to the previous moment Therefore, the longitudinal position change of the vehicle from time 1 to time T can be calculated simultaneously in parallel. Then, by summing the lateral and longitudinal position changes over the previous t time points, we can obtain the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This calculation process, performed at each time point within a preset time range, can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total changes in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's position coordinates at time t. Ultimately, the lateral position matrix for all time points within a preset time range can be obtained. ) and vertical position matrix ( The horizontal and vertical position matrices are converted into a sequence of position coordinates (X, Y) according to the chronological order of time nodes, and a motion trajectory is output. Specifically, the velocity of the target to be predicted at each time node within a preset time range is calculated. ) and yaw rate ( The further predictions following this are the parts proposed in this application after the change in the operational logic.

[0108] For example, when the heading angle changes at a specified time point ( When the preset conditions are met, the method further includes: obtaining the average total motion length, equivalent average heading angle, and scaling correction coefficient of the target to be predicted at a specified time node by using the sum-to-product formula and the sinc function, based at least on the heading angle matrix; and calculating the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average heading angle, and scaling correction coefficient.

[0109] After obtaining the x-coordinate and y-coordinate of a specified time node using the above method, the newly obtained x-coordinate and y-coordinate can replace the original position coordinates; alternatively, the derivation and replacement can be performed first in the aforementioned derivation method to obtain the coordinates of all time nodes. This application does not impose any restrictions on this. The phrase "the change in heading angle meets a preset condition" refers to the change in heading angle (…). The value is 0 or close to 0.

[0110] As mentioned earlier, the above derivation method involves " That is, if the angle changes by a certain amount ( When the denominator is 0 or close to 0, using it as the denominator will result in no coordinate output. This calculation formula carries the risk of dividing by 0 and... The numerical instability is extremely high when the value is small. To address this instability, some transformations are needed, as follows: First, the sum-to-product formula can be used to change the original formula to:

[0111]

[0112]

[0113] Note that sinx and x are infinitesimals of the same order as x approaches 0. We can use this relationship to eliminate the denominator. Therefore, the formula can be rewritten using the Sinc function as follows:

[0114]

[0115]

[0116] In the above formula: Let be the equivalent average heading angle of the vehicle during the time interval t. Let t be the total length of the vehicle's translational motion during the time interval t. Let be the scaling correction factor caused by the vehicle's rotation during time interval t. After derivation, we can obtain:

[0117]

[0118]

[0119]

[0120]

[0121]

[0122]

[0123] In some embodiments, determining the motion type of the target to be predicted, invoking the decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel includes: when the motion type of the target to be predicted is determined to be a segmented fixed acceleration (uniform acceleration or deceleration) turning motion, obtaining the initial position and initial velocity of the target to be predicted within the preset time range from the feature data. ), initial heading angle ( ) and related feature data; call the pre-trained constant steering rate and acceleration decoder (including CTRA), based on the initial position, initial velocity ( ), initial heading angle ( Based on the relevant feature data, the acceleration of the target to be predicted at each time point within a preset time range is predicted. ) and yaw rate ( According to the initial velocity ( ), initial heading angle ( ), acceleration ( ) and yaw rate ( Parallel calculation of the velocity change and heading angle change at each time point relative to the previous time point ( ), obtain the velocity change matrix and the heading angle change matrix; by multiplying the preset transition matrix with the velocity change matrix, obtain the velocity at all time points within the preset time range ( )matrix( By multiplying the preset transition matrix with the heading angle change matrix, the heading angle matrix for all time nodes within the preset time range is obtained. ); the yaw rate ( Vectorization yields the yaw rate matrix. ); to the acceleration ( Vectorization yields the acceleration matrix. Based on the speed ( )matrix( The yaw rate matrix ( ) and the acceleration matrix ( ), and calculate in parallel the total translational motion length of the target to be predicted at each time node relative to the previous time node within a preset time range ( ), additional displacement components ( ) and the change in average heading angle ( ); through the heading angle matrix ( ) and the change in average heading angle ( ), and calculate in parallel the average heading angle of the target to be predicted relative to the previous time node at each time node within a preset time range ( ), scaling correction factor ( ) and rotation correction scaling factor ( According to the total length of the translational motion ( ), additional displacement components ( ), mean heading angle ( ), scaling correction factor ( ) and rotation correction scaling factor ( The system calculates in parallel the lateral and longitudinal position changes of the target to be predicted at each time node within a preset time range relative to the previous time node, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0124] In this application, the constant turn rate and acceleration decoder may include a piecewise kinematic model CTRA (Constant Turn Rate and Acceleration) with modified computational logic. This model can acquire initial position, initial velocity, initial heading angle, and related feature data. Based on the acquired initial position, initial velocity, initial heading angle, and related feature data, it predicts the acceleration of the target at various time points within a preset time range. ) and yaw rate ( The original piecewise kinematic model CTRA requires calculation based on acceleration ( ). ) and yaw rate ( First, the velocity and heading angle are derived, then the position coordinates are derived. Within a preset time range, the velocity, heading angle, and position coordinates at a later time point depend on the velocity, heading angle, and position coordinates at the previous time point. This means the entire calculation process is non-linear and recursive, resulting in low efficiency. The original piecewise kinematic model CTRA's calculation formula is:

[0125]

[0126]

[0127]

[0128]

[0129] The piecewise CTRA model is more complex than the piecewise CTRV model, and will obviously face the same difficulties in parallel computation and numerical stability. Based on the experience with the CTRV formula, we can first reverse the order and use transformations to solve the numerical instability problem before deriving the formula for parallel computation. That is:

[0130]

[0131]

[0132]

[0133]

[0134] remember

[0135]

[0136] but

[0137]

[0138] Similarly, we can obtain

[0139]

[0140] In the above formula: Let be the equivalent average heading angle of the vehicle during the time interval t. Let be the total length of the vehicle's translational motion during the time interval t. Let t be the coefficient for expansion and contraction correction due to vehicle rotation during the time interval t. This represents the additional displacement component in the vertical direction caused by the vehicle's acceleration while rotating during time interval t, which is a consequence of the vehicle's rotation. This is the rotational correction factor for the vertical displacement component caused by the vehicle's rotational acceleration during time interval t.

[0141] The formula above "appears" to still contain terms whose values ​​may be unstable, that is... However, the ingenious method used in this application actually completely avoids this problem. Firstly, it can be proven... It is bounded, and its range is in It is smaller than Since the result is a positive number, the calculation formula only needs to be slightly adjusted as follows:

[0142]

[0143] This ensures the accuracy and stability of the calculations: because... Under normal circumstances where the values ​​are not too small, both min and max are outside their range, and the cut operation will not take effect. Even in extreme cases close to zero, where calculation results are abnormal due to factors such as precision, it can still ensure... The range is bounded and clearly does not exceed 1 / 3, and at this time, due to This exists and necessarily tends to 0, therefore Both the overall calculation result and the theoretical result will inevitably be a stable decimal that tends to 0, and will not introduce errors into the final trajectory point result.

[0144] After resolving the stability issue of CTRA, a similar but more complex derivation process can be used to derive the final parallel computation derivation scheme, which can be expressed by the formula:

[0145]

[0146]

[0147]

[0148]

[0149]

[0150]

[0151]

[0152]

[0153]

[0154]

[0155] Specifically, assuming that the pre-trained constant steering rate and acceleration decoder (including CTRA) is used to predict the trajectory of the target, the initial position and initial velocity of the target within a preset time range can be obtained from the feature data. ), initial heading angle ( ) and related feature data; call the pre-trained constant steering rate and acceleration decoder (including CTRA), based on the initial position and initial velocity ( ), initial heading angle ( Based on the relevant feature data, the acceleration of the target to be predicted at each time point within a preset time range is predicted. ) and yaw rate ( According to the initial velocity ( ), initial heading angle ( ), acceleration ( ) and the yaw rate ( ), and calculate in parallel the change in velocity and change in heading angle relative to the previous time node for each time node other than the first time node. ), obtain the velocity change matrix and the heading angle change matrix; by multiplying the preset transition matrix with the velocity change matrix, obtain the velocity at all time points within the preset time range ( )matrix( By multiplying the preset transition matrix with the heading angle change matrix, the heading angle matrix for all time nodes within the preset time range is obtained. ); the yaw rate ( Vectorization yields the yaw rate matrix. ); to the acceleration ( Vectorization yields the acceleration matrix. Based on the speed ( )matrix( The yaw rate matrix ( ) and the acceleration matrix ( ), and calculate in parallel the total translational motion length of the target to be predicted at each time node relative to the previous time node within a preset time range ( ), additional displacement components ( ) and the change in average heading angle ( ); through the heading angle matrix ( ) and the change in average heading angle ( ), and calculate in parallel the average heading angle of the target to be predicted relative to the previous time node at each time node within a preset time range ( ), scaling correction factor ( ) and rotation correction scaling factor ( According to the total length of the translational motion ( ), additional displacement components ( ), mean heading angle ( ), scaling correction factor ( ) and rotation correction scaling factor ( The method calculates in parallel the lateral and longitudinal positional changes of the target relative to the previous time node at each time node within a preset time range, obtaining lateral and longitudinal positional change matrices. By multiplying these matrices by a preset transition matrix, the lateral and longitudinal positional change matrices for all time nodes within the preset time range are obtained. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, although... numerical dependence The value, but - That is, the change in vehicle speed during the t-th time period does not depend on The acceleration of the vehicle during the t-th time period is the only factor. Therefore, we can calculate the vehicle speed change over the T time points from time 1 to time T simultaneously in parallel. Then, by summing up the speed changes over the previous t time points, we can obtain the total speed change of the vehicle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The change in speed is represented by matrix multiplication. Adding the total change in vehicle speed to the initial speed gives the actual speed of the vehicle at time t. Therefore, the formula can be obtained. In this way, we can calculate the vehicle's speed at each moment. Next, thanks to the vehicle's speed at various times... acceleration and the vectorized yaw rate It can calculate the total length of the vehicle's translational motion in parallel at different time periods. and additional displacement components .

[0156] Similarly, although numerical dependence The value, but - That is, the change in the vehicle's heading angle during the t-th time period does not depend on The yaw rate during the t-th time interval is the only factor. Therefore, the change in vehicle heading angle from time 1 to time T can be calculated simultaneously in parallel. Then, by summing up the changes in heading angle at the previous t time points, we can obtain the total change in vehicle heading angle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The formula is a matrix multiplication representation of the change in heading angle. Adding the total change in the vehicle's heading angle to its initial heading angle gives the vehicle's actual heading angle at time t. Therefore, the formula can be derived. This gives us the vehicle's heading angle at each moment. . This represents the average change in heading angle over the T time intervals from time 1 to time T. Next, given the vehicle's heading angle at each time point... and the change in average heading angle The average heading angle of the vehicle at different time periods can be calculated in parallel. Scalability correction factor for vehicles at different time periods and the vehicle's rotation correction ratio for each time period. .

[0157] Finally, despite numerical dependence The value, but - That is, the changes in the lateral and longitudinal positions of the vehicle during the t-th time period do not depend on The total length of the vehicle's translational motion during the t-th time period is the only factor. Additional displacement components average heading angle Scaling correction factor and rotation correction factor Therefore, the change in the vehicle's lateral position from time 1 to time T can be calculated simultaneously in parallel. and longitudinal position change Then, the lateral and longitudinal position changes from the previous t time points are summed. This process, repeated at each time point within the preset time range, yields the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This process can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total change in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's actual position at time t. Ultimately, the lateral position matrix for all time points within a preset time range can be obtained. ) and vertical position matrix ( The horizontal and vertical position matrices are converted into a sequence of position coordinates (X, Y) according to the chronological order of time nodes, and the motion trajectory is output. Specifically, the acceleration of the target to be predicted at each time node within a preset time range is calculated. ) and yaw rate ( The further predictions following this are the parts proposed in this application after the change in the operational logic.

[0158] In some embodiments, determining the motion type of the target to be predicted, invoking a decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel includes: when the motion type of the target to be predicted is determined to be segmented turning angle and constant velocity motion, obtaining the initial position and initial heading angle of the target to be predicted within the preset time range from the feature data. ), initial track angle ( ), the vertical axis length of the target to be predicted ( ), sideslip angle coefficient ( ) and related feature data; call the pre-trained bicycle decoder (including bicycleCSV) with constant steering angle and speed, based on the initial position and initial heading angle ( ), initial track angle ( Based on the relevant feature data, the velocity of the target to be predicted at each time node within a preset time range is predicted. ) and steering angle ( According to the steering angle ( ) and sideslip coefficient ( ), and calculate the sideslip angle at each time node within the preset time range in parallel to obtain the sideslip angle matrix ( Based on the sideslip angle matrix ( The speed () ) and the longitudinal axis length ( Parallel calculation of the yaw rate at each time node within the preset time range to obtain the yaw rate matrix ( Based on the yaw rate matrix, the change in track angle of the target to be predicted relative to the previous time node at each time node within a preset time range is calculated in parallel. The trajectory angle change matrix is ​​obtained, and the trajectory angle matrix for all time nodes within a preset time range is obtained by multiplying the preset transition matrix with the trajectory angle change matrix. ); through the track angle matrix ( ) Calculate the average change in track angle of the target to be predicted at each time point within a preset time range relative to the previous time point ( ); through the sideslip angle matrix ( The change in the average track angle ( ) and the track angle matrix ( The heading angle of the target to be predicted relative to the previous time node is calculated in parallel at each time node within a preset time range. ), mean track angle ( ) and scaling correction factor ( According to the speed ( ), mean track angle ( ) and scaling correction factor ( The system calculates in parallel the lateral and longitudinal position changes of the target to be predicted at each time node within a preset time range relative to the previous time node, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0159] In this application, the bicycle decoder with constant steering angle and velocity may include a segmented kinematic model (bicycleCSV) with modified computational logic, which can be based on the obtained initial position and initial heading angle. ), initial track angle ( Based on the relevant feature data, the velocity of the target to be predicted at each time node within a preset time range is predicted. ) and steering angle ( The original piecewise kinematic model, bicycleCSV, needs to be based on velocity ( ) and steering angle ( First, the yaw rate, track angle, and heading angle are derived, then the position coordinates are derived. Within a preset time range, the yaw rate, track angle, heading angle, and position coordinates at a later time point depend on the yaw rate, track angle, heading angle, and position coordinates at the previous time point. That is, the entire calculation process is non-linear and recursive, resulting in low efficiency. The original piecewise kinematic model, bicycleCSV, is calculated using the following formula:

[0160]

[0161]

[0162]

[0163]

[0164]

[0165] in Let be the sideslip angle at time t. is the sideslip angle coefficient; L is the longitudinal axis length of the vehicle.

[0166] Since the piecewise bicycleCSV model is more complex than the piecewise CTRV model, it will obviously face the same difficulties in parallel computation and numerical computation. Based on the experience with the CTRV formula, we can first reverse the order and use transformations to solve the numerical instability problem before deriving the formula for parallel computation. We can then use the sum-to-product formula and the sinc function to solve the numerical instability problem before deriving the formula for parallel computation. That is:

[0167]

[0168]

[0169] In the above formula: Let be the equivalent average track angle of the vehicle during the time interval t. Let t be the total length of the vehicle's translational motion during the time interval t. t represents the expansion / contraction correction factor caused by the vehicle's rotation during the time period t.

[0170] After resolving the stability issue of bicycleCSV, a more complex derivation process, similar to that in the above embodiments, can be used to derive the final parallel computation derivation scheme, which can be expressed by the formula:

[0171]

[0172]

[0173]

[0174]

[0175]

[0176]

[0177]

[0178]

[0179]

[0180] In the above formula: This represents the average change in track angle over the T time intervals from time 1 to time T. Let be the equivalent average trajectory angle of the vehicle during the T time periods from the 1st time to the Tth time. Let t be the total length of the vehicle's translational motion during the time interval t. It is the scaling correction coefficient caused by the vehicle's rotation during the T time periods from the 1st to the Tth time.

[0181] Specifically, assuming that the bicycle decoder (including bicycleCSV) with pre-trained constant steering angle and speed is used to predict the trajectory of the target to be predicted, the initial position and initial heading angle of the target to be predicted within a preset time range can be obtained from the feature data. ), initial track angle ( ), the vertical axis length of the target to be predicted ( ), sideslip angle coefficient ( ) and related feature data; call the pre-trained bicycle decoder (including bicycleCSV) with constant steering angle and speed, based on the initial position and initial heading angle ( ), initial track angle ( Based on the relevant feature data, the velocity of the target to be predicted at each time node within a preset time range is predicted. ) and steering angle ( According to the steering angle ( ) and sideslip coefficient ( ), and calculate the sideslip angle at each time node within the preset time range in parallel to obtain the sideslip angle matrix ( Based on the sideslip angle matrix ( The speed () ) and the longitudinal axis length ( Parallel calculation of the yaw rate at each time node within the preset time range to obtain the yaw rate matrix ( Based on the yaw rate matrix, the change in track angle of the target to be predicted relative to the previous time node at each time node within a preset time range is calculated in parallel. The trajectory angle change matrix is ​​obtained, and the trajectory angle matrix for all time nodes within a preset time range is obtained by multiplying the preset transition matrix with the trajectory angle change matrix. ); through the track angle matrix ( ) Calculate the average change in track angle of the target to be predicted at each time point within a preset time range relative to the previous time point ( ); through the sideslip angle matrix ( The change in the average track angle ( ) and the track angle matrix ( ) calculate in parallel the heading angle of the target to be predicted relative to the previous time node at each time node within a preset time range. ), mean track angle ( ) and scaling correction factor ( According to the speed ( ), mean track angle ( ) and scaling correction factor ( The system calculates in parallel the lateral and longitudinal position changes of the target object relative to the previous time node at each time point within a preset time range, obtaining lateral and longitudinal position change matrices. By multiplying these matrices by a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, since the vehicle's steering angles at each time point have already been obtained... and sideslip coefficient Therefore, the sideslip angle of the vehicle at each moment can be calculated simultaneously in parallel. Further use of the vehicle's longitudinal axis length L and the vehicle's sideslip angle at various times. Given the velocity V, the yaw rate of the vehicle at each moment can be calculated simultaneously in parallel. .

[0182] Furthermore, despite numerical dependence The value, but - That is, the change in the vehicle's trajectory angle during the t-th time period does not depend on The yaw rate during the t-th time interval is the only factor. Therefore, the change in vehicle trajectory angle from time 1 to time T can be calculated simultaneously in parallel. Then, by summing up the changes in trajectory angle at the previous t time points, we can obtain the total change in vehicle trajectory angle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The formula is a matrix multiplication representation of the change in the vehicle's track angle. Adding the total change in the vehicle's track angle to its initial track angle gives the actual track angle at time t. Therefore, the formula can be derived. In this way, we can calculate the vehicle's trajectory angle at each moment. . Let this be the average change in track angle over the T time intervals from time 1 to time T. Next, since the vehicle's track angle at each time interval is known... and sideslip angle Therefore, the heading angle of the vehicle at each moment can be calculated in parallel. The vehicle's trajectory angles at various times are known. and the change in average track angle Therefore, the average track angle of the vehicle at different time periods can be calculated in parallel. And the scaling correction coefficients for vehicles at different times. .

[0183] Finally, despite numerical dependence The value, but - That is, the changes in the lateral and longitudinal positions of the vehicle during the t-th time period do not depend on The average trajectory angle is determined solely by the initial vehicle speed V during the t-th time period. Scaling correction factor Therefore, the change in the vehicle's lateral position from time 1 to time T can be calculated simultaneously in parallel. and longitudinal position change Then, by summing the lateral and longitudinal position changes over the previous t time points, we can obtain the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This calculation process, performed at each time point within a preset time range, can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total change in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's actual position at time t. Ultimately, the lateral position matrix for all time points within a preset time range can be obtained. ) and vertical position matrix ( The horizontal and vertical position matrices are converted into a sequence of position coordinates (X, Y) according to the chronological order of time nodes, and a motion trajectory is output. Specifically, the velocity of the target to be predicted at each time node within a preset time range is calculated. ) and steering angle ( The further predictions following this are the parts proposed in this application after the change in the operational logic.

[0184] For example, when the change in track angle at a specified time node meets a preset condition, the method further includes: obtaining, at least based on the track angle matrix, the average total motion length, equivalent average track angle, and scaling correction coefficient of the target to be predicted at the specified time node using the sum-to-product formula and the sinc function; and calculating the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average track angle, and scaling correction coefficient.

[0185] As mentioned earlier, when the change in heading angle at a specified time point meets a preset condition, the situation is similar here. After obtaining the x-coordinate and y-coordinate of the specified time point through the above method, the newly obtained x-coordinate and y-coordinate can replace the original position coordinates; or, the derivation and replacement can be performed first in the aforementioned derivation method, and then the coordinates of all time points can be obtained. This application does not impose any restrictions on this. The "change in heading angle meets a preset condition" mentioned above, where the preset condition can be the change in heading angle (… The value is 0 or close to 0. Corresponding embodiments can be found in the descriptions of the two bicycle models, and will not be repeated here.

[0186] In some embodiments, determining the motion type of the target to be predicted, invoking a decoder corresponding to the motion type, and calculating the position coordinates of the target to be predicted at multiple time points within a preset time range in parallel includes: when the motion type of the target to be predicted is determined to be a piecewise constant steering angle and acceleration motion, obtaining the initial position and initial heading angle of the target to be predicted within the preset time range from the feature data. ), initial track angle ( ), initial velocity ( ), the vertical axis length of the target to be predicted ( ), sideslip angle coefficient ( ) and related feature data; call the pre-trained bicycle decoder (including bicycleCSA) with constant steering angle and acceleration, based on the initial position and initial heading angle ( ), initial track angle ( ), initial velocity ( Based on the relevant feature data, the acceleration of the target to be predicted at each time point within a preset time range is predicted. ) and steering angle ( According to the acceleration ( ) and initial velocity ( The velocity change at each time point relative to the previous time point is calculated in parallel to obtain a velocity change matrix. The velocity at all time points within a preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix. )matrix( According to the speed ( )matrix( ) and the acceleration ( ) Calculate in parallel the total translational motion length of the target to be predicted at each time node relative to the previous time node within a preset time range. According to the steering angle ( ) and sideslip coefficient ( ), and calculate the sideslip angle at each time node within the preset time range in parallel to obtain the sideslip angle matrix ( Based on the sideslip angle matrix ( The longitudinal axis length ( The steering angle ( ) and the total length of the translational motion ( Parallel calculation of the change in track angle of each time node relative to the previous time node within the preset time range ( The trajectory angle change matrix is ​​obtained, and the trajectory angle matrix for all time nodes within a preset time range is obtained by multiplying the preset transition matrix with the trajectory angle change matrix. ); through the track angle matrix ( ) Calculate the average change in track angle of the target to be predicted at each time point within a preset time range relative to the previous time point ( ); through the sideslip angle matrix ( The change in the average track angle ( ) and the track angle matrix ( ) calculate in parallel the heading angle of the target to be predicted relative to the previous time node at each time node within a preset time range. ), mean track angle ( ) and scaling correction factor ( According to the total length of the translational motion ( ), mean track angle ( ) and scaling correction factor ( The system calculates in parallel the lateral and longitudinal position changes of the target to be predicted at each time node within a preset time range relative to the previous time node, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the system obtains the lateral and longitudinal position matrices for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0187] In this application, the bicycle decoder with constant steering angle and acceleration may include a segmented kinematic model (bicycleCSA) with modified computational logic, which can be based on the obtained initial position and initial heading angle. ), initial track angle ( ), initial velocity ( Based on the relevant feature data, the acceleration of the target to be predicted at each time point within a preset time range is predicted. ) and steering angle ( The original piecewise kinematic model, bicycleCSA, needs to be based on acceleration ( ) and steering angle ( First, the velocity, yaw rate, track angle, and heading angle are derived, then the position coordinates are derived. Within a preset time range, the velocity, yaw rate, track angle, heading angle, and position coordinates at a later time point depend on the velocity, yaw rate, track angle, heading angle, and position coordinates at the previous time point. In other words, the entire calculation process is non-linear and recursive, resulting in low efficiency. The original segmented kinematic model, bicycleCSA, uses the following formula:

[0188]

[0189]

[0190]

[0191]

[0192]

[0193]

[0194] in Let be the sideslip angle at time t. is the sideslip angle coefficient; L is the longitudinal axis length of the vehicle.

[0195] Since the segmented bicycleCSA model is more complex than the segmented bicycleCSV model, it will obviously face the same difficulties in parallel computation and numerical computation. Based on the experience with the bicycleCSV formula, we can first reverse the order and use transformations to solve the numerical instability problem before deriving the formula for parallel computation. We can then use the sum-to-product formula and the sinc function to solve the numerical instability problem before deriving the formula for parallel computation. That is:

[0196]

[0197]

[0198] In the above formula: Let be the equivalent average track angle of the vehicle during the time interval t. Let t be the total length of the vehicle's translational motion during the time interval t. t represents the expansion / contraction correction factor caused by the vehicle's rotation during the time period t.

[0199] After resolving the stability issue of bicycleCSA, a more complex derivation process, similar to that in the above embodiments, can be used to derive the final parallel computation derivation scheme, which can be expressed by the formula:

[0200]

[0201]

[0202]

[0203]

[0204]

[0205]

[0206]

[0207]

[0208]

[0209]

[0210]

[0211] In the above formula: Let t be the total length of the vehicle's translational motion during the time interval t. This represents the average change in track angle over the T time intervals from time 1 to time T. Let be the equivalent average trajectory angle of the vehicle during the T time periods from the 1st time to the Tth time. It is the scaling correction coefficient caused by the vehicle's rotation during the T time periods from the 1st to the Tth time.

[0212] Specifically, assuming that the bicycle decoder (including BicycleCSA) with pre-trained constant steering angle and acceleration is used to predict the trajectory of the target to be predicted, the initial position and initial heading angle of the target to be predicted within a preset time range can be obtained from the feature data. ), initial track angle ( ), initial velocity ( ), the vertical axis length of the target to be predicted ( ), sideslip angle coefficient ( ) and related feature data; call the pre-trained bicycle decoder (including bicycleCSA) with constant steering angle and acceleration, based on the initial position and initial heading angle ( ), initial track angle ( ), initial velocity ( Based on the relevant feature data, the acceleration of the target to be predicted at each time point within a preset time range is predicted. ) and steering angle ( According to the acceleration ( ) and initial velocity ( The velocity change at each time point relative to the previous time point is calculated in parallel to obtain a velocity change matrix. The velocity at all time points within a preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix. )matrix( According to the speed ( ) matrix ( ) and the acceleration ( ) Calculate in parallel the total translational motion length of the target to be predicted at each time node relative to the previous time node within a preset time range. According to the steering angle ( ) and sideslip coefficient ( ), and calculate the sideslip angle at each time node within the preset time range in parallel to obtain the sideslip angle matrix ( Based on the sideslip angle matrix ( The longitudinal axis length ( The steering angle ( ) and the total length of the translational motion ( Parallel calculation of the change in track angle of each time node relative to the previous time node within the preset time range ( The trajectory angle change matrix is ​​obtained, and the trajectory angle matrix for all time nodes within a preset time range is obtained by multiplying the preset transition matrix with the trajectory angle change matrix. ); through the track angle matrix ( ) Calculate the average change in track angle of the target to be predicted at each time point within a preset time range relative to the previous time point ( ); through the sideslip angle matrix ( The change in the average track angle ( ) and the track angle matrix ( ) calculate in parallel the heading angle of the target to be predicted relative to the previous time node at each time node within a preset time range. ), mean track angle ( ) and scaling correction factor ( According to the total length of the translational motion ( ), mean track angle ( ) and scaling correction factor ( The method calculates in parallel the lateral and longitudinal positional changes of the target relative to the previous time node at each time node within a preset time range, obtaining lateral and longitudinal positional change matrices. By multiplying these matrices by a preset transition matrix, the lateral and longitudinal positional change matrices for all time nodes within the preset time range are obtained. These matrices are then converted into position coordinates according to the chronological order of the time nodes. For a specific time node t within the preset time range, although... numerical dependence The value, but - That is, the change in vehicle speed during the t-th time period does not depend on The acceleration of the vehicle during the t-th time period is the only factor. Therefore, the change in vehicle speed from time 1 to time T can be calculated simultaneously in parallel. Then, by summing up the speed changes over the previous t time points, we can obtain the total speed change of the vehicle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The change in speed is represented by matrix multiplication. Adding the total change in vehicle speed to the initial speed gives the actual speed of the vehicle at time t. This leads to the formula... This allows us to calculate the vehicle's speed at each moment. .

[0213] Next, since the vehicle's speed at each moment is known... and acceleration It can calculate the total length of the vehicle's translational motion in parallel at different time periods. Since the vehicle's steering angle at each moment is known... and sideslip coefficient Therefore, the sideslip angle of the vehicle at each moment can be calculated simultaneously in parallel. Furthermore, using the vehicle's longitudinal axis length L and the vehicle's sideslip angle at various times... In parallel with the velocity V, the yaw rate of the vehicle at each moment is calculated simultaneously. .

[0214] although numerical dependence The value, but - That is, the change in the vehicle's trajectory angle during the t-th time period does not depend on The sideslip angle during the t-th time period is determined solely by the vehicle's longitudinal axis length L. Steering angle Therefore, the change in vehicle trajectory angle from time 1 to time T can be calculated simultaneously in parallel. Then, by summing up the changes in trajectory angle at the previous t time points, we can obtain the total change in vehicle trajectory angle from time 0 to time t. This process of calculation at each time point within a preset time range can be represented using a transition matrix. The formula is a matrix multiplication representation of the change in the vehicle's track angle. Adding the total change in the vehicle's track angle to its initial track angle gives the actual track angle at time t. Therefore, the formula can be derived. This allows us to calculate the vehicle's trajectory angle at each moment. . in, This represents the average change in track angle over the T time intervals from time 1 to time T.

[0215] Furthermore, based on the vehicle's trajectory angle at various times... and sideslip angle It can calculate the vehicle's heading angle at each moment in parallel. Based on the vehicle's trajectory angle at various times. and the change in average track angle It can calculate the average track angle of the vehicle in parallel for each time period. and the scaling correction coefficients for vehicles at different times. .

[0216] Finally, despite numerical dependence The value, but - That is, the changes in the lateral and longitudinal positions of the vehicle during the t-th time period do not depend on Only vehicles in the t-th time period average track angle Scaling correction factor Therefore, the change in the vehicle's lateral position from time 1 to time T can be calculated simultaneously in parallel. and longitudinal position change Then, by summing the lateral and longitudinal position changes over the previous t time points, we can obtain the total lateral and longitudinal position changes of the vehicle from time 0 to time t. This calculation process, performed at each time point within a preset time range, can be represented using a transition matrix. The matrix multiplication representation of the changes in lateral and longitudinal positions. Adding the total changes in the vehicle's lateral and longitudinal positions to its initial lateral and longitudinal positions yields the vehicle's actual position at time t.

[0217] Ultimately, a horizontal position matrix of all time nodes within a preset time range can be obtained. ) and vertical position matrix ( The horizontal and vertical position matrices are converted into a sequence of position coordinates (X, Y) according to the chronological order of time nodes, and the motion trajectory is output. Specifically, the acceleration of the target to be predicted at each time node within a preset time range is calculated. ) and steering angle ( The further predictions following this are the parts proposed in this application after the change in the operational logic.

[0218] Furthermore, the Singer function *sinc* involved in this application is not a conventional operator. Although a similar function, *torch.sinc*, exists in Torch that can be directly called, in practical applications, such as deploying TensorRT, situations may arise where the operator is not supported. To address this issue, this application provides an approximate formula for calculating *sinc* efficiently and stably without relying on *torch.sinc*:

[0219]

[0220] It can be theoretically proven that the absolute error between this formula and the sinc function does not exceed eps / 6, meaning that the parameters can be adjusted according to actual accuracy requirements to ensure arbitrarily high accuracy of the calculation results.

[0221] In other words, in the above process, through the sideslip angle matrix ( ), change in mean track angle ( ) and track angle matrix ( Parallel calculation of the heading angle of the target to be predicted at each time point within a preset time range relative to the previous time point. ), mean track angle ( ) and scaling correction factor ( During the process of scaling correction factor ( ) is based on the calculation of the average change in track angle ( The scaling correction factor (SCM) is obtained from the Singer function. When the operating environment of the vehicle navigation system does not support the calculation operator of the Singer function due to software or hardware reasons, the scaling correction factor (SCM) is used. The method to obtain the error tolerance benchmark can be: first, determine the error tolerance benchmark based on the system's accuracy requirements. ( Then, the error tolerance standard is adopted. With the change in average track angle ( ) itself and the sine value ( The product of ) The sum of the error tolerance benchmarks With the change in average track angle ( The sum of its own squares ( The ratio of the approximate estimate will not exceed the error tolerance benchmark. 1 / 6. Expressed using the formula as follows:

[0222]

[0223] In step S203, the motion trajectory of the target to be predicted is determined based on the position coordinates.

[0224] For example, the obtained position coordinate matrix can be sorted according to the chronological order of time nodes to form the trajectory of the target to be predicted. The position coordinate matrix may include a horizontal coordinate matrix ( ) and the ordinate matrix ( In the field of autonomous driving, it is generally believed that the final motion trajectory can be two-dimensional or three-dimensional. Of course, if the third-dimensional vertical coordinate also changes during the actual operation of the vehicle, the solution provided in this application can also output a vertical coordinate matrix. ), and based on the horizontal coordinate matrix ( ), y-coordinate matrix ( ) and vertical coordinate matrix ( Generate the final motion trajectory.

[0225] After determining the trajectory of the target to be predicted, the determined trajectory can be provided to the navigation system of the autonomous vehicle to control the vehicle's operation. For example, the trajectory can be displayed on the control panel of the autonomous driving system for the driver to make decisions, or future risks can be predicted directly based on the trajectory, and the route can be replanned. This application does not impose any limitations on this.

[0226] Corresponding to the examples and method embodiments provided in this application, this application also provides a motion trajectory prediction device based on a neural network model. The neural network model includes multiple pre-trained decoders. Figure 3 shows a structural block diagram of a motion trajectory prediction device 300 according to an embodiment of this application. The device 300 may include:

[0227] The data acquisition module 301 is used to acquire feature data corresponding to the autonomous driving data of the autonomous vehicle; the autonomous driving data includes the vehicle motion data of the autonomous vehicle, the navigation data of the autonomous vehicle, the motion data of at least one moving object around the autonomous vehicle, and environmental data.

[0228] The coordinate prediction module 302 is used to determine the motion type of the target to be predicted based on the feature data, call the decoder corresponding to the motion type, and calculate the position coordinates of the target to be predicted at multiple time nodes within a preset time range in parallel.

[0229] The trajectory determination module 303 is used to determine the motion trajectory of the target to be predicted based on the position coordinates.

[0230] In one possible implementation, the pre-trained decoder includes at least one or more of the following: constant speed decoder, constant acceleration decoder, constant steering rate and speed decoder, constant steering rate and acceleration decoder, constant steering angle and speed bicycle decoder, and constant steering angle and acceleration bicycle decoder.

[0231] In one possible implementation, the target to be predicted is a target selected by the neural network model from the autonomous vehicle and at least one moving object around the autonomous vehicle; the number of targets to be predicted is at least one; the coordinate prediction module 302 may include: a motion type determination submodule, used to extract associated feature data related to the target to be predicted from the feature data, parse the semantic information in the associated feature data through the neural network model, and determine the motion type of the target to be predicted based on the semantic information; the semantic information includes at least the initial motion state of the target to be predicted within a preset time range.

[0232] In some embodiments, the coordinate prediction module 302 may include: a velocity and heading angle acquisition submodule, used to acquire the initial position and related feature data of the target within a preset time range from the feature data when the motion type of the target to be predicted is determined to be piecewise uniform linear motion; and a position coordinate prediction submodule, used to call a pre-trained constant velocity decoder to predict the velocity and heading angle of the target at each time node within the preset time range based on the initial position and related feature data; to calculate the lateral position change and longitudinal position change of each time node relative to the previous time node in parallel based on the velocity and heading angle, to obtain a lateral position change matrix and a longitudinal position change matrix; to obtain the lateral position matrix and longitudinal position matrix of all time nodes within the preset time range by multiplying the lateral position change matrix and the longitudinal position change matrix by a preset transition matrix; and to convert the lateral position matrix and longitudinal position matrix into position coordinates according to the chronological order of the time nodes.

[0233] In some embodiments, the coordinate prediction module 302 may include: an acceleration and heading angle acquisition submodule, used to acquire the initial position, initial velocity, and related feature data of the target within a preset time range from the feature data when the motion type of the target to be predicted is determined to be piecewise fixed acceleration linear motion; and a velocity matrix acquisition submodule, used to call a pre-trained constant acceleration decoder to predict the acceleration and heading angle of the target at each time node within the preset time range based on the initial position, initial velocity, and related feature data; and to calculate the velocity change of each time node relative to the previous time node in parallel based on the acceleration and initial velocity to obtain a velocity change matrix, and to obtain a velocity matrix by using a preset... The product of the transition matrix and the velocity change matrix yields the velocity matrix for all time nodes within a preset time range. The position coordinate prediction submodule is used to calculate, in parallel, the lateral and longitudinal position changes of the target relative to the previous time node at each time node within the preset time range, based on the velocity matrix, the acceleration, and the heading angle, obtaining the lateral and longitudinal position change matrices. The lateral and longitudinal position matrices for all time nodes within the preset time range are obtained by multiplying the preset transition matrix with the lateral and longitudinal position change matrices. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0234] In some embodiments, the coordinate prediction module 302 may include: a velocity and yaw rate acquisition submodule, used to acquire the initial position, initial heading angle, and related feature data of the target within a preset time range from the feature data when the motion type of the target to be predicted is determined to be segmented uniform turning motion; a heading angle matrix acquisition submodule, used to call a pre-trained constant turning rate and velocity decoder, and predict the velocity and yaw rate of the target at each time node within the preset time range based on the initial position, initial heading angle, and related feature data; calculate the change in heading angle of each time node relative to the previous time node in parallel based on the initial heading angle and the yaw rate, obtain a heading angle change matrix, and obtain the heading angle matrix of all time nodes within the preset time range by multiplying the heading angle change matrix with a preset transition matrix; and a sine and cosine value acquisition submodule, used to calculate the change in heading angle of the target at each time node within the preset time range in parallel based on the heading angle matrix. The heading angle sine and cosine values ​​of each time node relative to the previous time node are used to obtain a heading angle sine matrix and a heading angle cosine matrix. By multiplying the inverse of a preset transition matrix with the heading angle sine and cosine matrices, a heading angle sine increase matrix and a heading angle cosine decrease matrix are obtained. The position coordinate prediction submodule is used to calculate in parallel the lateral and longitudinal position changes of the target to be predicted relative to the previous time node at each time node within a preset time range based on the heading angle sine increase matrix, the heading angle cosine decrease matrix, velocity, and yaw rate, obtaining a lateral position change matrix and a longitudinal position change matrix. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, a lateral position matrix and a longitudinal position matrix for all time nodes within the preset time range are obtained. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

[0235] In some embodiments, the coordinate prediction module 302 may include: an acceleration and yaw rate acquisition submodule, configured to acquire, in the case that the motion type of the target to be predicted is determined to be a piecewise fixed acceleration turning motion, the initial position, initial velocity, initial heading angle and related feature data of the target to be predicted at the first time node within a preset time range from the feature data; and an acceleration matrix acquisition submodule, configured to call a pre-trained constant turning rate and acceleration decoder, and predict the target to be predicted at each time node within the preset time range based on the initial position, initial velocity, initial heading angle and related feature data. The acceleration and yaw rate are calculated. Based on the initial velocity, initial heading angle, acceleration, and yaw rate, the velocity change and heading angle change at each time point relative to the previous time point are calculated in parallel to obtain the velocity change matrix and the heading angle change matrix. By multiplying the velocity change matrix with a preset transition matrix, the velocity matrix for all time points within a preset time range is obtained. By multiplying the heading angle change matrix with a preset transition matrix, the heading angle matrix for all time points within the preset time range is obtained. The yaw rate is vectorized to obtain the yaw rate matrix. The acceleration is... The acceleration matrix is ​​obtained by vectorization; the average heading angle calculation submodule is used to calculate in parallel the total translational motion length, additional displacement component, and average heading angle change of the target relative to the previous time node at each time node within a preset time range, based on the velocity matrix, the yaw rate matrix, and the acceleration matrix; using the heading angle matrix and the average heading angle change, the average heading angle, scaling correction coefficient, and rotation correction ratio coefficient of the target relative to the previous time node at each time node within the preset time range are calculated in parallel; the position coordinate prediction submodule is used to calculate the total translational motion length, additional displacement component, and average heading angle change of the target relative to the previous time node based on the heading angle matrix and the average heading angle change; The system calculates the lateral and longitudinal position changes of the target relative to the previous time node at each time node within a preset time range using the length, additional displacement component, average heading angle, scaling correction factor, and rotation correction factor. This yields lateral and longitudinal position change matrices. A preset transition matrix is ​​then used to multiply these matrices with the preset transition matrix to obtain the lateral and longitudinal position matrices for all time nodes within the preset time range. Finally, the lateral and longitudinal position matrices are converted into position coordinates according to the chronological order of the time nodes.

[0236] In some embodiments, the coordinate prediction module 302 may include: a velocity and steering angle acquisition submodule, used to acquire, in the case that the motion type of the target to be predicted is segmented constant steering angle and velocity motion, the initial position, initial heading angle, initial track angle, longitudinal axis length, sideslip angle coefficient and related feature data of the target to be predicted within a preset time range from the feature data; and a yaw rate matrix acquisition submodule, used to call a pre-trained constant steering angle and velocity bicycle decoder, and based on the initial position, initial heading angle, initial track angle and related feature data... The system uses data to predict the speed and steering angle of the target at each time point within a preset time range; it calculates the sideslip angle at each time point within the preset time range in parallel based on the steering angle and sideslip angle coefficient, obtaining a sideslip angle matrix; it calculates the yaw rate at each time point within the preset time range in parallel based on the sideslip angle matrix, the speed, and the longitudinal axis length, obtaining a yaw rate matrix; and it includes an average track angle acquisition submodule, used to calculate the track of the target at each time point within the preset time range relative to the previous time point based on the yaw rate matrix. The system calculates the change in angular velocity, obtains a change in track angle matrix, and multiplies this matrix with a preset transition matrix to obtain a track angle matrix for all time nodes within a preset time range. It then calculates the average change in track angle of the target relative to the previous time node at each time node within the preset time range using the track angle matrix. Finally, it calculates the heading angle, average track angle, and scaling correction coefficient of the target relative to the previous time node at each time node within the preset time range using the sideslip angle matrix, the average track angle, and the track angle matrix in parallel. A position coordinate prediction submodule calculates the lateral and longitudinal position changes of the target relative to the previous time node at each time node within the preset time range based on the speed, average track angle, and scaling correction coefficient, obtaining lateral and longitudinal position change matrices. It then multiplies these matrices with a preset transition matrix to obtain the lateral and longitudinal position matrices for all time nodes within the preset time range, and finally converts these matrices into position coordinates according to the chronological order of the time nodes.

[0237] In some embodiments, the coordinate prediction module 302 may include: an acceleration and steering angle acquisition submodule, used to acquire, in the feature data, the initial position, initial heading angle, initial track angle, initial velocity, longitudinal axis length, sideslip angle coefficient, and related feature data of the target within a preset time range, when the motion type of the target to be predicted is determined to be segmented constant steering angle and acceleration motion; and a velocity matrix acquisition submodule, used to call a pre-trained constant steering angle and acceleration bicycle decoder, and predict the target within the preset time range based on the initial position, initial heading angle, initial track angle, initial velocity, and related feature data. The acceleration and steering angle of the intermediate nodes are calculated in parallel. Based on the acceleration and initial velocity, the velocity change of each time node relative to the previous time node is calculated in parallel to obtain a velocity change matrix. The velocity matrix of all time nodes within a preset time range is obtained by multiplying the velocity change matrix with a preset transition matrix. Based on the velocity matrix and the acceleration, the total translational motion of the target to be predicted within the preset time range is calculated in parallel. The average track angle acquisition submodule is used to calculate the sideslip angle of each time node within the preset time range in parallel based on the steering angle and sideslip angle coefficient to obtain a sideslip angle matrix. Based on the sideslip angle... The trajectory angle change of the target relative to the previous time node within the preset time range is calculated in parallel using the matrix, the longitudinal axis length, the steering angle, and the total translational motion length, to obtain a trajectory angle change matrix. The trajectory angle matrix for all time nodes within the preset time range is obtained by multiplying the matrix with a preset transition matrix. The average trajectory angle change of the target relative to the previous time node within the preset time range is calculated using the trajectory angle matrix. Finally, the sideslip angle matrix, the average trajectory angle change, and the trajectory angle matrix are used to calculate the average trajectory angle change of the target relative to the previous time node within the preset time range. The heading angle, average track angle, and scaling correction factor are used to calculate the lateral and longitudinal position changes of the target to be predicted relative to the previous time node at each time node within a preset time range, based on the total translational motion length, average track angle, and scaling correction factor. This yields lateral and longitudinal position change matrices. By multiplying these matrices with a preset transition matrix, the lateral and longitudinal position change matrices are obtained for all time nodes within the preset time range. Finally, the lateral and longitudinal position matrices are converted into position coordinates according to the chronological order of the time nodes.

[0238] For example, when the change in heading angle at a specified time node meets a preset condition, the above device may further include: a correction submodule, used to obtain the average total motion length, equivalent average heading angle, and scaling correction coefficient of the target to be predicted at the specified time node by using the sum-to-product formula and the Singer function, at least according to the heading angle matrix, and to calculate the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average heading angle, and scaling correction coefficient.

[0239] For example, when the change in track angle at a specified time node meets a preset condition, the above device may further include: a correction submodule, used to obtain, at least according to the track angle matrix, the average total motion length, equivalent average track angle, and scaling correction coefficient of the target to be predicted at the specified time node through the sum-to-product formula and the Singer function, and to calculate the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average track angle, and scaling correction coefficient.

[0240] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0241] Figure 4 is a block diagram of an electronic device used to implement an embodiment of this application. As shown in Figure 4, the electronic device includes a memory 401 and a processor 402. The memory 401 stores a computer program that can run on the processor 402. When the processor 402 executes the computer program, it implements the method described in the above embodiment. The number of memories 401 and processors 402 can be one or more.

[0242] The electronic device also includes:

[0243] Communication interface 403 is used to communicate with external devices and perform data exchange and transmission.

[0244] If the memory 401, processor 402, and communication interface 403 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be categorized as an address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used in Figure 4, but this does not indicate that there is only one bus or one type of bus.

[0245] Optionally, in a specific implementation, if the memory 401, processor 402, and communication interface 403 are integrated on a single chip, then the memory 401, processor 402, and communication interface 403 can communicate with each other through an internal interface.

[0246] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method provided in this application.

[0247] This application also provides a computer program product, which includes a computer program that, when executed by a processor, implements the methods provided in any embodiment of this application.

[0248] This application also provides a chip including a processor for calling and executing instructions stored in a memory, causing a communication device with the chip installed to perform the method provided in this application.

[0249] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in this application.

[0250] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.

[0251] Further, optionally, the aforementioned memory may include read-only memory and random access memory. The memory may be volatile memory or non-volatile memory, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of RAM are available. Examples include Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Sync Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).

[0252] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0253] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.

[0254] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0255] Any process or method described in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.

[0256] The logic and / or steps described in the flowchart or otherwise herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0257] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.

[0258] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.

[0259] The above description is merely an exemplary embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope described in this application, and these should all be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A motion trajectory prediction method, the method being executed based on a neural network model, the neural network model including multiple pre-trained decoders, the method comprising: The process involves acquiring feature data corresponding to the autonomous driving data of an autonomous vehicle; the autonomous driving data includes the vehicle's motion data, navigation data, motion data of at least one moving object around the vehicle, and environmental data; based on the feature data, determining the motion type of the target to be predicted, calling the decoder corresponding to the motion type, and parallelly calculating the position coordinates of the target at multiple time points within a preset time range; the motion type includes at least piecewise uniform linear motion, piecewise fixed acceleration linear motion, piecewise uniform turning motion, piecewise fixed acceleration turning motion, piecewise constant steering angle and velocity motion, and piecewise constant steering angle and acceleration motion; the parallel calculation method includes decomposing nonlinear recursive predictions that cannot be processed in parallel into linear recursive predictions, or decomposing them into a combination of linear recursive predictions and nonlinear recursive predictions with known current variables; and determining the motion trajectory of the target to be predicted based on the position coordinates. The pre-trained decoders include at least a constant speed decoder, a constant acceleration decoder, a constant steering rate and speed decoder, a constant steering rate and acceleration decoder, a bicycle decoder with constant steering angle and speed, and a bicycle decoder with constant steering angle and acceleration. The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time nodes within a preset time range includes: if the motion type of the target to be predicted is determined to be piecewise uniform linear motion, obtaining the initial position and related feature data of the target to be predicted within the preset time range from the feature data; calling a pre-trained constant velocity decoder to predict the velocity and heading angle of the target to be predicted at each time node within the preset time range based on the initial position and related feature data; calculating the lateral and longitudinal position changes of each time node relative to the previous time node in parallel based on the velocity and heading angle, obtaining the lateral position change matrix and the longitudinal position change matrix; obtaining the lateral position matrix and the longitudinal position change matrix of all time nodes within the preset time range by multiplying the lateral position change matrix and the longitudinal position change matrix by a preset transition matrix; and converting the lateral position matrix and the longitudinal position matrix into position coordinates according to the chronological order of the time nodes.

2. The method according to claim 1, wherein, The target to be predicted is a target selected by the neural network model from the autonomous vehicle and at least one moving object around the autonomous vehicle; the number of targets to be predicted is at least one; determining the motion type of the target to be predicted based on the feature data includes: extracting associated feature data related to the target to be predicted from the feature data, parsing the semantic information in the associated feature data through the neural network model, and determining the motion type of the target to be predicted based on the semantic information; the semantic information includes at least the initial motion state of the target to be predicted within a preset time range.

3. The method according to claim 1, wherein, The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range includes: if the motion type of the target to be predicted is determined to be piecewise fixed-acceleration linear motion, obtaining the initial position, initial velocity, and related feature data of the target within the preset time range from the feature data; calling a pre-trained constant acceleration decoder to predict the acceleration and heading angle of the target at each time point within the preset time range based on the initial position, initial velocity, and related feature data; and calculating the velocity change of each time point relative to the previous time point based on the acceleration and initial velocity to obtain... The velocity change matrix is ​​obtained by multiplying the velocity change matrix with a preset transition matrix to obtain the velocity matrix for all time nodes within a preset time range. Based on the velocity matrix, the acceleration, and the heading angle, the lateral and longitudinal position changes of the target to be predicted relative to the previous time node are calculated in parallel to obtain the lateral and longitudinal position change matrices. The lateral and longitudinal position matrices for all time nodes within the preset time range are obtained by multiplying the lateral and longitudinal position change matrices with the preset transition matrix. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

4. The method according to claim 1, wherein, The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range includes: If the motion type of the target to be predicted is determined to be segmented uniform turning motion, the initial position, initial heading angle, and related feature data of the target to be predicted within the preset time range are obtained from the feature data; a pre-trained constant turning rate and velocity decoder is called to predict the velocity and yaw rate of the target at each time point within the preset time range based on the initial position, initial heading angle, and related feature data; based on the initial heading angle and the yaw rate, the change in heading angle of each time point relative to the previous time point is calculated in parallel to obtain a heading angle change matrix; the heading angle matrix for all time points within the preset time range is obtained by multiplying the heading angle change matrix by a preset transition matrix; and the target's position coordinates at multiple time points within the preset time range are calculated in parallel based on the heading angle matrix. Within a given time range, the sine and cosine values ​​of the heading angle relative to the previous time node are used to obtain a heading angle sine matrix and a heading angle cosine matrix. By multiplying the inverse of a preset transition matrix with the heading angle sine and cosine matrices, a heading angle sine increase matrix and a heading angle cosine decrease matrix are obtained. Based on the heading angle sine increase matrix, the heading angle cosine decrease matrix, velocity, and yaw rate, the lateral and longitudinal position changes of the target to be predicted within a preset time range relative to the previous time node are calculated in parallel, resulting in a lateral position change matrix and a longitudinal position change matrix. By multiplying the preset transition matrix with the lateral and longitudinal position change matrices, the lateral and longitudinal position matrices for all time nodes within the preset time range are obtained. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

5. The method according to claim 1, wherein, The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range includes: If the motion type of the target to be predicted is determined to be a segmented fixed acceleration turning motion, the initial position, initial velocity, initial heading angle, and related feature data of the target within the preset time range are obtained from the feature data; a pre-trained constant turning rate and acceleration decoder is called to predict the acceleration and yaw rate of the target at each time point within the preset time range based on the initial position, initial velocity, initial heading angle, and related feature data; based on the initial velocity, initial heading angle, acceleration, and yaw rate, the velocity change and heading angle change of each time point relative to the previous time point are calculated in parallel to obtain a velocity change matrix and a heading angle change matrix; the velocity matrix of all time points within the preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix; the heading angle matrix of all time points within the preset time range is obtained by multiplying the heading angle change matrix by a preset transition matrix; and the yaw rate is vectorized to obtain... The yaw rate matrix is ​​obtained; the acceleration is vectorized to obtain the acceleration matrix; based on the velocity matrix, the yaw rate matrix, and the acceleration matrix, the total translational motion length, additional displacement component, and average heading angle change of the target relative to the previous time node are calculated in parallel for each time node within a preset time range; using the heading angle matrix and the average heading angle change, the average heading angle, scaling correction coefficient, and rotational correction coefficient of the target relative to the previous time node are calculated in parallel for each time node within a preset time range; based on the total translational motion length, additional displacement component, average heading angle, scaling correction coefficient, and rotational correction coefficient, the lateral and longitudinal position changes of the target relative to the previous time node are calculated in parallel for each time node within a preset time range, obtaining the lateral position change matrix and the longitudinal position change matrix; by multiplying the lateral position change matrix and the longitudinal position change matrix by a preset transfer matrix, the lateral position matrix and the longitudinal position matrix of all time nodes within the preset time range are obtained; the lateral position matrix and the longitudinal position matrix are converted into position coordinates according to the chronological order of the time nodes.

6. The method according to claim 1, wherein, The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range includes: If the motion type of the target to be predicted is determined to be segmented constant steering angle and velocity motion, the initial position, initial heading angle, initial track angle, longitudinal axis length, sideslip coefficient, and related feature data of the target within the preset time range are obtained from the feature data; a pre-trained bicycle decoder with constant steering angle and velocity is called to predict the velocity and steering angle of the target at each time point within the preset time range based on the initial position, initial heading angle, initial track angle, and related feature data; the sideslip angle at each time point within the preset time range is calculated in parallel based on the steering angle and sideslip coefficient to obtain a sideslip angle matrix; the yaw rate at each time point within the preset time range is calculated in parallel based on the sideslip angle matrix, the velocity, and the longitudinal axis length to obtain a yaw rate matrix; and the yaw rate matrix is ​​calculated in parallel based on the yaw rate matrix to calculate the target's position relative to the previous time point at each time point within the preset time range. The trajectory angle change is calculated to obtain a trajectory angle change matrix. The product of this matrix and a preset transition matrix is ​​used to obtain the trajectory angle matrix for all time nodes within a preset time range. The average trajectory angle change of the target relative to the previous time node is calculated using the trajectory angle matrix. The heading angle, average trajectory angle, and scaling correction coefficient of the target relative to the previous time node are calculated in parallel using the sideslip angle matrix, the average trajectory angle change, and the trajectory angle matrix. Based on the speed, average trajectory angle, and scaling correction coefficient, the lateral and longitudinal position changes of the target relative to the previous time node are calculated in parallel, resulting in a lateral position change matrix and a longitudinal position change matrix. The product of this matrix and a preset transition matrix is ​​used to obtain the lateral position matrix and a longitudinal position matrix for all time nodes within the preset time range. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

7. The method according to claim 1, wherein, The process of determining the motion type of the target to be predicted and calling the decoder corresponding to the motion type to calculate the position coordinates of the target at multiple time points within a preset time range includes: if the motion type of the target to be predicted is determined to be a segmented constant steering angle and acceleration motion, acquiring the initial position, initial heading angle, initial track angle, initial velocity, longitudinal axis length, sideslip angle coefficient, and related feature data of the target to be predicted within the preset time range from the feature data; calling a pre-trained bicycle decoder with constant steering angle and acceleration, and predicting the target's position coordinates based on the initial position, initial heading angle, initial track angle, initial velocity, and related feature data. The acceleration and steering angle of the target to be predicted at each time node within a preset time range are calculated. Based on the acceleration and initial velocity, the velocity change at each time node relative to the previous time node is calculated in parallel to obtain a velocity change matrix. The velocity matrix for all time nodes within the preset time range is obtained by multiplying the velocity change matrix by a preset transition matrix. Based on the velocity matrix and the acceleration, the total translational motion length of the target to be predicted at each time node within the preset time range relative to the previous time node is calculated in parallel. Based on the steering angle and sideslip angle coefficient, the sideslip angle at each time node within the preset time range is calculated in parallel to obtain a sideslip angle matrix. The sideslip angle matrix, the longitudinal axis length, the steering angle, and the total translational motion length are used in parallel to calculate the change in track angle of each time node within the preset time range relative to the previous time node, obtaining a track angle change matrix. The track angle matrix for all time nodes within the preset time range is obtained by multiplying the preset transition matrix with the track angle change matrix. The average track angle change of the target to be predicted within the preset time range is calculated using the track angle matrix. Finally, the sideslip angle matrix, the average track angle change, and the track angle matrix are used in parallel to calculate the change in track angle of the target to be predicted within the preset time range. For the heading angle, average track angle, and scaling correction factor of the previous time node; based on the total translational motion length, average track angle, and scaling correction factor, the lateral and longitudinal position changes of the target to be predicted relative to the previous time node are calculated in parallel within a preset time range, obtaining lateral and longitudinal position change matrices. By multiplying the lateral and longitudinal position change matrices with a preset transition matrix, the lateral and longitudinal position matrices of all time nodes within the preset time range are obtained. The lateral and longitudinal position matrices are then converted into position coordinates according to the chronological order of the time nodes.

8. The method according to any one of claims 4-5, wherein, When the change in heading angle at a specified time node meets a preset condition, the method further includes: obtaining, at least based on the heading angle matrix, the average total motion length, equivalent average heading angle, and scaling correction coefficient of the target to be predicted at the specified time node using the sum-to-product formula and the Singer function; and calculating the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average heading angle, and scaling correction coefficient.

9. The method according to any one of claims 6-7, wherein, When the change in track angle at a specified time node meets a preset condition, the method further includes: obtaining the average total motion length, equivalent average track angle, and scaling correction coefficient of the target to be predicted at the specified time node using the sum-to-product formula and the Singer function, based at least on the track angle matrix; and calculating the abscissa and ordinate of the target to be predicted at the specified time node based on the average total motion length, equivalent average track angle, and scaling correction coefficient.

10. A motion trajectory prediction device, based on a neural network model, said neural network model including multiple pre-trained decoders, the device comprising: The data acquisition module is used to acquire feature data corresponding to the autonomous driving data of the autonomous vehicle; the autonomous driving data includes the autonomous vehicle's motion data, the autonomous vehicle's navigation data, the motion data of at least one moving object around the autonomous vehicle, and environmental data. The coordinate prediction module is used to determine the motion type of the target to be predicted based on the feature data, call the decoder corresponding to the motion type, and calculate the position coordinates of the target to be predicted at multiple time nodes within a preset time range in parallel. The motion type includes at least piecewise uniform linear motion, piecewise fixed acceleration linear motion, piecewise uniform turning motion, piecewise fixed acceleration turning motion, piecewise constant turning angle and velocity motion, and piecewise constant turning angle and acceleration motion. The parallel calculation method includes decomposing nonlinear recursive prediction that cannot be processed in parallel into linear recursive prediction, or decomposing it into a combination of linear recursive prediction and nonlinear recursive prediction with known current variables. A trajectory determination module is used to determine the motion trajectory of the target to be predicted based on the position coordinates. The pre-trained decoder includes at least a constant speed decoder, a constant acceleration decoder, a constant steering rate and speed decoder, a constant steering rate and acceleration decoder, a bicycle decoder with constant steering angle and speed, and a bicycle decoder with constant steering angle and acceleration. The coordinate prediction module is further configured to, when determining that the motion type of the target to be predicted is piecewise uniform linear motion, acquire the initial position and related feature data of the target to be predicted within a preset time range from the feature data; invoke the pre-trained constant speed decoder to predict the speed and heading angle of the target to be predicted at each time node within the preset time range based on the initial position and related feature data; calculate in parallel the lateral and longitudinal position changes of each time node relative to the previous time node based on the speed and heading angle, obtain a lateral position change matrix and a longitudinal position change matrix; obtain the lateral position matrix and longitudinal position matrix of all time nodes within the preset time range by multiplying the lateral position change matrix and the longitudinal position change matrix by a preset transition matrix; and convert the lateral position matrix and longitudinal position matrix into position coordinates according to the chronological order of the time nodes.

11. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1-9.

12. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method of any one of claims 1-9.

Citation Information

Patent Citations

  • Model training method and device for automatic driving and electronic equipment

    CN118520923A