A trajectory prediction method, device, and vehicle networking device
By obtaining the historical trajectory set of remote vehicles and determining the intersection node set, combining the estimated steering status of the vehicle, the vehicle's predicted trajectory is generated, which solves the problem that the vehicle's trajectory cannot be accurately predicted in the intersection scene in mapless mode, and realizes accurate trajectory prediction in mapless mode.
Patent Information
- Application Number
- CN202211669022.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-23
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2042-12-23
AI Technical Summary
In map-free mode, it is impossible to accurately predict the vehicle trajectory in the intersection scenario.
By obtaining the historical trajectory set of remote vehicles, determining the intersection node set, and determining the target historical trajectory from the historical trajectory based on the vehicle's estimated steering status and the driving direction of the historical trajectory, the target historical trajectory is generated to generate the vehicle's predicted trajectory.
It realizes accurate prediction of vehicle trajectory in intersection scenarios in map-free mode, solving the problem that accurate prediction cannot be made in map-free mode.
Smart Images

Figure CN116424336B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of autonomous driving, and particularly to a trajectory prediction method, apparatus and vehicle networking device. Background Art
[0002] V2X (Vehicle to Everything) is a communication method for vehicles to exchange information with the outside world, including: direct communication between vehicles (V2V), communication between vehicles and pedestrians (V2P), communication between vehicles and road infrastructure (V2I), and communication between vehicles and the cloud through a mobile network (V2N). V2X is a key technology for future intelligent transportation systems, which enables us to effectively obtain a series of traffic information such as real-time road conditions, road information, and pedestrian information, thereby improving driving safety, reducing congestion, and enhancing traffic efficiency.
[0003] Currently, the main V2V scenarios mainly include 9 scenarios such as forward collision warning and intersection collision warning. The triggering of these scenarios all requires determining the target classification according to the relative position relationship between the host vehicle and the remote vehicle. When the target classification meets the conditions, the relevant warning functions are triggered. In a mapless scenario, the input of the target classification algorithm depends on the output of the trajectory prediction algorithm. To ensure the correctness of the target classification, the accuracy of the trajectory prediction must be guaranteed.
[0004] Predicting the driving trajectory of a vehicle is the key to predicting whether the vehicle will be at risk or enter a dangerous section. Currently, in the absence of a map, mainly based on the current attitude information of the vehicle, the driving trajectory of the vehicle is predicted from a dynamic perspective, and the vehicle trajectory in an intersection scenario cannot be accurately predicted. Summary of the Invention
[0005] The present invention provides a trajectory prediction method, apparatus and vehicle networking device, which solves the problem that the vehicle trajectory in an intersection scenario cannot be accurately predicted in a mapless mode.
[0006] In a first aspect, an embodiment of the present invention provides a trajectory prediction method, which is applied to a first vehicle, and the method includes:
[0007] Obtain a historical trajectory set, where the historical trajectory set includes n historical trajectories corresponding to n second vehicles at a distance;
[0008] According to the n historical trajectories, determine at least one intersection node set; wherein each intersection node set includes an intersection node of at least one of the historical trajectories, and an intersection node set corresponds to an intersection;
[0009] Determine the driving direction of each of the historical trajectories when passing through the intersection node;
[0010] Determine p target historical trajectories from the n historical trajectories according to the driving directions of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one set of intersection nodes; 1 ≤ p ≤ n, and n and p are positive integers;
[0011] Generate a predicted trajectory of the first vehicle according to the p target historical trajectories.
[0012] Optionally, the determining of the at least one set of intersection nodes according to the n historical trajectories includes:
[0013] Perform pre-screening on the n historical trajectories to obtain m first historical trajectories; where, 1 ≤ p ≤ m ≤ n, and m is a positive integer;
[0014] Determine the at least one set of intersection nodes according to the m first historical trajectories.
[0015] Optionally, the performing of the pre-screening on the n historical trajectories to obtain m first historical trajectories includes:
[0016] Screen out m first historical trajectories that meet the first preset condition from the n historical trajectories;
[0017] Wherein, the first preset condition includes one or more of the following:
[0018] The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target inclination angle is less than or equal to the first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target inclination angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is determined by the first trajectory point and the second trajectory point;
[0019] The first distance is less than or equal to the second preset threshold, and the second distance is greater than or equal to the third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
[0020] Optionally, the determining of the at least one set of intersection nodes according to the m first historical trajectories includes:
[0021] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the first historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the first historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the 1st historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0022] When it is determined that the absolute value of the i-th offset is greater than or equal to the fourth preset threshold and the absolute value of the k-th offset is less than or equal to the fifth preset threshold, determine the polyline distance between the (i - 1)-th historical trajectory point and the k-th historical trajectory point; i ≤ k, and k is an integer.
[0023] Determine the historical trajectory point closest to the midpoint of the polyline distance as the intersection node of the first historical trajectory; wherein, each of the first historical trajectories corresponds to at least one intersection node.
[0024] Divide the multiple intersection nodes into at least one intersection node set according to the distances between the intersection nodes of the m first historical trajectories.
[0025] Optionally, the determining the driving direction of each historical trajectory when passing through the intersection node includes:
[0026] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the 1st historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0027] When the absolute value of the i-th offset corresponding to the historical trajectory is greater than or equal to the fourth preset threshold, determine that the historical trajectory starts to turn, and cumulatively calculate the sum of the offsets from the i-th offset to the k-th offset; wherein, the absolute value of the k-th offset is less than or equal to the fifth preset threshold; i ≤ k, and k is an integer.
[0028] Determine the driving direction of each historical trajectory according to the sum of the offsets corresponding to each historical trajectory.
[0029] Optionally, determining the driving direction of each of the historical trajectories according to the total offset corresponding to the historical trajectory includes:
[0030] Determining a target offset range corresponding to the total offset according to the corresponding relationship between the offset range and the driving direction classification;
[0031] Classifying the driving direction corresponding to the target offset range and determining it as the driving direction classification of the historical trajectory.
[0032] Optionally, determining p target historical trajectories from the n historical trajectories according to the driving direction of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one set of intersection nodes includes:
[0033] Determining a set of target intersection nodes closest to the current position of the first vehicle from the at least one set of intersection nodes; wherein, the set of target intersection nodes includes intersection nodes of f of the historical trajectories; 0 < f ≤ m;
[0034] Selecting p target historical trajectories with driving directions matching the estimated steering state from the f historical trajectories according to the driving directions of the f historical trajectories corresponding to the set of target intersection nodes and the estimated steering state of the first vehicle; 0 < p ≤ f.
[0035] Optionally, generating a predicted trajectory of the first vehicle according to the p target historical trajectories includes:
[0036] Performing interpolation processing on the historical trajectory of the first vehicle and each of the target historical trajectories;
[0037] Determining the average Euclidean distance between the interpolated historical trajectory of the first vehicle and each of the interpolated target historical trajectories;
[0038] Determining the weight corresponding to each of the target historical trajectories according to the average Euclidean distance; wherein, the sum of the weights of the p target historical trajectories is equal to 1;
[0039] Determining the Gaussian distribution function corresponding to each of the target historical trajectories;
[0040] Determining a trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories;
[0041] Generating a predicted trajectory according to the trajectory prediction model.
[0042] Optionally, determining a trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories includes:
[0043] According to the formula: Determine the trajectory prediction model;
[0044] where f(x,y) is the formula of the trajectory prediction model, and f j (x,y) is the Gaussian distribution function, j is the j-th trajectory point in the interpolated target historical trajectory, π represents pi, and σ 2 is the variance, x j ′ is the abscissa of the j-th trajectory point, y j ′ is the ordinate of the j-th trajectory point, x is the abscissa of the predicted driving position of the first vehicle, y is the ordinate of the predicted driving position of the first vehicle, and j = 1, …, p.
[0045] Optionally, after generating the predicted trajectory of the first vehicle according to the p target historical trajectories, the method further includes:
[0046] If the number of historical trajectories that meet the second preset condition is greater than 0, and the length of the predicted trajectory is less than or equal to the sixth preset threshold, then splice the predicted trajectory with the historical trajectory of the first vehicle to obtain the updated historical trajectory of the first vehicle, and add the historical trajectories that meet the second preset condition to the historical trajectory set to obtain the updated historical trajectory set;
[0047] Repeat the trajectory prediction process according to the updated historical trajectory of the first vehicle and the updated historical trajectory set until the generated trajectory length is greater than the sixth preset threshold;
[0048] where the second preset condition includes:
[0049] The first coordinate point is located on the extension line of the line segment formed by the first trajectory point and the second trajectory point of the historical trajectory; where the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point.
[0050] In a second aspect, an embodiment of the present invention provides an Internet of Vehicles device, including: a transceiver, a memory, a processor, and a computer program stored on the memory and executable on the processor, and when the processor executes the computer program, it implements the steps of the trajectory prediction method as described in the first aspect.
[0051] In a third aspect, an embodiment of the present invention provides a trajectory prediction device, which is applied to the first vehicle and includes:
[0052] An acquisition module, configured to acquire a set of historical trajectories, where the set of historical trajectories includes n historical trajectories corresponding to n second vehicles at a remote end;
[0053] A first determination module, configured to determine at least one intersection node set according to the n historical trajectories; wherein each intersection node set includes intersection nodes of at least one of the historical trajectories, and one intersection node set corresponds to one intersection;
[0054] A second determination module, configured to determine the driving direction of each of the historical trajectories when passing through the intersection nodes;
[0055] A processing module, configured to determine p target historical trajectories from the n historical trajectories according to the driving directions of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one intersection node set; 1 ≤ p ≤ n, and n and p are positive integers;
[0056] A trajectory generation module, configured to generate a predicted trajectory of the first vehicle according to the p target historical trajectories.
[0057] In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the trajectory prediction method described in the first aspect are implemented.
[0058] The beneficial effects of the above technical solutions of the present invention are:
[0059] In the above solution, at least one intersection node set can be determined according to n historical trajectories of remote vehicles in a mapless mode. Based on the intersection node set, a directed graph of the road can be drawn in a mapless mode. Further, according to the driving directions of each historical trajectory, the estimated steering state of the first vehicle, and at least one intersection node set, p target historical trajectories are determined from the n historical trajectories, and a predicted trajectory of the first vehicle is generated according to the p target historical trajectories. In this way, in a mapless mode, the predicted trajectory of the first vehicle in an intersection scenario can be realized, and the problem that the vehicle trajectory in an intersection scenario cannot be accurately predicted in a mapless mode is solved. BRIEF DESCRIPTION OF THE DRAWINGS
[0060] Figure 1 A flowchart showing the trajectory prediction method according to an embodiment of the present invention;
[0061] Figure 2 A schematic diagram showing the historical trajectories of remote vehicles according to an embodiment of the present invention;
[0062] Figure 3 A schematic diagram showing the interpolation of historical trajectories according to an embodiment of the present invention;
[0063] Figure 4Block diagram showing the structure of the trajectory prediction device according to an embodiment of the present invention;
[0064] Figure 5 Schematic diagram showing the hardware structure of a vehicle according to an embodiment of the present invention. Detailed implementation manners
[0065] To make the technical problems, technical solutions and advantages to be solved by the present invention clearer, the following will be described in detail with reference to the accompanying drawings and specific embodiments. In the following description, specific details such as specific configurations and components are provided only to help a comprehensive understanding of the embodiments of the present invention. Therefore, those skilled in the art should clearly understand that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present invention. In addition, descriptions of known functions and configurations are omitted for clarity and conciseness.
[0066] It should be understood that the term "one embodiment" or "an embodiment" mentioned throughout the specification means that a specific feature, structure or characteristic related to the embodiment is included in at least one embodiment of the present invention. Therefore, the appearances of "in one embodiment" or "in an embodiment" throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in any suitable manner in one or more embodiments.
[0067] In various embodiments of the present invention, it should be understood that the magnitudes of the serial numbers of the following processes do not mean the order of execution is prior or subsequent. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
[0068] In addition, the terms "system" and "network" are often used interchangeably herein.
[0069] In the embodiments provided in the present application, it should be understood that "B corresponding to A" means that B is associated with A, and B can be determined according to A. However, it should also be understood that determining B according to A does not mean determining B only according to A, and B can also be determined according to A and / or other information.
[0070] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments in the present application without creative efforts shall fall within the scope of protection of the present application.
[0071] Specifically, the embodiments of the present invention provide a trajectory prediction method, device and vehicle, which solve the problem that the vehicle trajectory in the intersection scenario cannot be accurately predicted in the mapless mode.
[0072] The first embodiment
[0073] As Figure 1 shown, an embodiment of the present invention provides a trajectory prediction method, which is applied to a first vehicle. The method specifically includes the following steps:
[0074] Step 101: Obtain a historical trajectory set, where the historical trajectory set includes n historical trajectories corresponding to n second vehicles at a distance;
[0075] Specifically, the first vehicle can obtain the vehicle status information sent by the second vehicle (such as the information in the RemoteVehicleInfoList field) through the V2X receiving unit, and extract the historical trajectory data of the second vehicle from the vehicle status information. Each second vehicle at a distance corresponds to one historical trajectory, and the n historical trajectories of the n second vehicles form a historical trajectory set.
[0076] Step 102: Determine at least one intersection node set according to the n historical trajectories; wherein, each intersection node set includes an intersection node of at least one of the historical trajectories, and one intersection node set corresponds to one intersection;
[0077] Based on the intersection node set, the intersection distribution in front of the road can be determined. As Figure 2 shown, based on the historical trajectories of 5 second vehicles (such as trajectory 1 to trajectory 5 in the figure), intersection 1 and intersection 2 can be determined. Each historical trajectory corresponds to at least one intersection node (such as the node where the five-pointed star is located in the figure). The intersection node set corresponding to intersection 1 includes 4 intersection nodes, and the intersection node set corresponding to intersection 2 includes 2 intersection nodes.
[0078] Among them, intersections include, for example, intersections, Y-shaped intersections, or ramp merging entrances, etc.
[0079] Step 103: Determine the driving direction of each historical trajectory when passing through the intersection node;
[0080] Among them, the driving direction includes but is not limited to: left turn, right turn, going straight, and U-turn.
[0081] As Figure 2 shown, the driving direction of trajectory 1 at intersection 1 is a left turn, and the driving direction at intersection 2 is a left turn; the driving direction of trajectory 2 at intersection 1 is a left turn, and the driving direction at intersection 2 is a right turn; the driving direction of trajectory 3 at intersection 1 is going straight; the driving direction of trajectory 4 at intersection 1 is a right turn.
[0082] Step 104: Determine p target historical trajectories from the n historical trajectories according to the driving directions of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one set of intersection nodes; 1 ≤ p ≤ n, and n and p are positive integers;
[0083] In this step, according to the estimated steering state of the ego vehicle (the first vehicle), the driving direction in front of the ego vehicle can be judged, so as to select the historical trajectory that matches the estimated steering state and perform trajectory prediction in the correct direction.
[0084] Optionally, the estimated steering state of the first vehicle can be determined by the turn signal state of the first vehicle, but not limited thereto.
[0085] Step 105: Generate a predicted trajectory of the first vehicle according to the p target historical trajectories.
[0086] It should be noted that based on the determined set of intersection nodes, the intersections can be determined one by one. The intersections are numbered according to the distance between the intersections and the first vehicle. Based on the numbers of the intersections, the roads can be connected into a Figure 2 directed graph as shown, realizing the drawing of the directed graph of the road in the mapless mode.
[0087] In the above embodiment, at least one set of intersection nodes can be determined according to the n historical trajectories of the remote vehicle in the mapless mode. Based on the set of intersection nodes, the drawing of the directed graph of the road is realized in the mapless mode. Further, according to the driving directions of each historical trajectory, the estimated steering state of the first vehicle, and the at least one set of intersection nodes, p target historical trajectories are determined from the n historical trajectories, and a predicted trajectory of the first vehicle is generated according to the p target historical trajectories. In this way, the predicted trajectory of the first vehicle in the intersection scenario can be realized, and the problem that the vehicle trajectory in the intersection scenario cannot be accurately predicted in the mapless mode is solved.
[0088] In one embodiment, in the above step 102, determining at least one set of intersection nodes according to the n historical trajectories includes:
[0089] Pre-screen the n historical trajectories to obtain m first historical trajectories; where 1 ≤ p ≤ m ≤ n, and m is a positive integer;
[0090] Determine the at least one set of intersection nodes according to the m first historical trajectories.
[0091] Specifically, pre-screening conditions can be set, and the historical trajectories that meet the preset screening conditions are used as the first historical trajectories. In this embodiment, pre-screening is used to remove the historical trajectories that are not relevant to the first vehicle to improve the accuracy of trajectory prediction.
[0092] In a specific embodiment, the pre-screening of the n historical trajectories to obtain m first historical trajectories includes:
[0093] Screening m first historical trajectories that meet the first preset condition from the n historical trajectories;
[0094] Among them, the first preset condition includes one or more of the following:
[0095] Condition 1: The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target inclination angle is less than or equal to the first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target inclination angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is determined by the first trajectory point and the second trajectory point;
[0096] Condition 2: The first distance is less than or equal to the second preset threshold, and the second distance is greater than or equal to the third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
[0097] For example, the projection point of the current position of the first vehicle on the historical trajectory of the remote vehicle a is point G (the first coordinate point); the two historical trajectory points on the historical trajectory of the remote vehicle a that are closest to point G are the first trajectory point A and the second trajectory point B respectively. The first trajectory point A and the second trajectory point B determine the first straight line. Mark the vertical projection point of the current moment position point of the first vehicle on the first straight line as ProjectionPoint, calculate the difference between the azimuth angle of the first straight line and the heading angle of the current moment position of the first vehicle, and record this difference as the target inclination angle. If ProjectionPoint is within the line segment formed by the first trajectory point A and the second trajectory point B rather than on the extension line, and the absolute value of the target inclination angle is less than or equal to the first preset threshold (configurable, such as the default value is 10 degrees), then it is considered that the historical trajectory of the remote vehicle a meets this Condition 1.
[0098] In specific implementation, if ProjectionPoint is not within the line segment formed by the first trajectory point A and the second trajectory point B but on the extension line, then save the historical trajectory of the remote vehicle a to the non-coincident part historical trajectory set NoCoincidencePHList.
[0099] For example, the projection point of the current position of the first vehicle on the historical trajectory of the remote vehicle a is the G point (the first coordinate point); on the historical trajectory of the remote vehicle a, the two historical trajectory points closest to the G point are the first trajectory point A and the second trajectory point B respectively. The first trajectory point A and the second trajectory point B determine the first straight line. Mark the perpendicular projection point of the current moment position point of the first vehicle on the first straight line as ProjectionPoint. Calculate the straight-line distance from the current position point of the first vehicle to the perpendicular projection point ProjectionPoint (referred to as the first distance), and denote it as Hv2ProjPonitDistance. Calculate the broken-line distance from the projection point ProjectionPoint to the current position (head) of the remote vehicle a (referred to as the second distance), and denote it as ProjPonit2RvDistance. If Hv2ProjPonitDistance is less than or equal to the second preset threshold, and ProjPonit2RvDistance is greater than or equal to the third preset threshold (configurable, the default value is 5 meters), then it can be considered that the historical trajectory of the remote vehicle a meets condition 2.
[0100] Among them, the second preset distance and the third preset threshold can be pre-configured. For example, the default value of the second preset distance can be set to 4 lane widths. If calculated according to a lane width of 3.5 meters, the default value of the second preset distance is 14 meters. For example, the default value of the third preset distance can be set to 5 meters.
[0101] It should be noted that when m < 0, the trajectory prediction process ends.
[0102] In the above embodiments, based on condition 1 in the first preset condition, historical trajectories with a driving direction roughly the same as that of the first vehicle can be filtered out; based on condition 2 in the first preset condition, by the first distance being less than or equal to the second preset distance, historical trajectories relatively close to the first vehicle can be filtered out, and by the second distance being greater than or equal to the third preset distance, historical trajectories with a long enough trajectory can be filtered out. In this way, the accuracy of the trajectory prediction effect can be guaranteed.
[0103] In a specific embodiment, the determining the at least one intersection node set according to the m first historical trajectories includes:
[0104] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the first historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the first historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0105] When it is determined that the absolute value of the i-th offset is greater than or equal to the fourth preset threshold and the absolute value of the k-th offset is less than or equal to the fifth preset threshold, determine the broken-line distance between the (i - 1)-th historical trajectory point and the k-th historical trajectory point; i ≤ k, and k is an integer.
[0106] Determine the historical trajectory point closest to the midpoint of the broken-line distance as the intersection node of the first historical trajectory; wherein, each first historical trajectory corresponds to at least one intersection node.
[0107] According to the distances between the intersection nodes of the m first historical trajectories, divide the multiple intersection nodes into at least one intersection node set.
[0108] It should be noted that for the azimuth angle, taking the (i - 1)-th azimuth angle as an example, it can be defined as the included angle between the direction vector from the (i - 1)-th historical trajectory point to the i-th historical trajectory point and the due north direction, and the calculation principle of other azimuth angles is the same.
[0109] It can be understood that the k-th offset is the difference between the (k - 1)-th azimuth angle and the k-th azimuth angle, the (k - 1)-th azimuth angle is the azimuth angle of the straight line where the (k - 1)-th historical trajectory point and the k-th historical trajectory point in the first historical trajectory are located, and the k-th azimuth angle is the azimuth angle of the straight line where the k-th historical trajectory point and the (k + 1)-th historical trajectory point in the first historical trajectory are located.
[0110] When specifically implemented, first, assume that the element to be classified is the historical trajectory O, mark the projection point of the current position of the first vehicle on the historical trajectory O as the first historical trajectory point of the historical trajectory O, calculate the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point are located, denoted as the (i - 1)-th azimuth angle; calculate the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point are located, denoted as the i-th azimuth angle; determine the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle, denoted as the i-th offset l i . When |l i | ≥ the fourth preset threshold (a configurable parameter, such as 10°), record the (i - 1)-th trajectory point. At this time, it is judged that a turn may occur. When |lk | <The fourth preset threshold, at this time, it is determined that the turning is over, and the k-th trajectory point is recorded.
[0111] Secondly, assume that the length of the broken-line trajectory between the (i - 1)-th historical trajectory point and the k-th historical trajectory point is d, and take a historical trajectory point closest to d / 2 as a possible intersection node. Here, it can be understood that find the central position node of the historical trajectory O located in the intersection area and use it as an intersection node of the historical trajectory O.
[0112] Further, by traversing all intersection nodes, according to the distance between two intersection nodes, it is determined whether the two intersection nodes correspond to the same intersection. Among them, if the distance between two intersection nodes is less than or equal to the fourth preset threshold, it means that the two intersection nodes belong to the same intersection and are classified into the same intersection node set; if the distance between two intersection nodes is greater than the threshold, it is considered a new intersection node and is added to the newly created intersection node set. For Figure 2 example, based on the two determined intersection node sets, two intersections, namely intersection 1 and intersection 2, can be obtained.
[0113] In the above embodiment, it is possible to determine at least one intersection node set according to m first historical trajectories. Each intersection node set can correspond to an intersection. Based on the intersection node set, it is possible to realize drawing a directed graph of the road in a mapless mode.
[0114] Since the obtained intersection node set may only correspond to a bend rather than an intersection, to avoid this situation, this application also provides an embodiment. The method includes:
[0115] If the driving directions of the historical trajectories included in the intersection node set are the same, then delete this intersection node set.
[0116] In this embodiment, when the driving directions of the historical trajectories included in a certain intersection node set are the same, it means that there is only one upstream intersection pointing to this intersection node set. It is determined that this intersection node set does not correspond to an intersection but a bend. Therefore, this intersection node set is deleted.
[0117] In an embodiment, in the above step 103, the determining the driving direction of each historical trajectory when passing through the intersection node includes:
[0118] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0119] When the absolute value of the i-th offset corresponding to the historical trajectory is greater than or equal to the fourth preset threshold, it is determined that the historical trajectory starts to turn, and the offset sum from the i-th offset to the k-th offset is cumulatively calculated; wherein, the absolute value of the k-th offset is less than or equal to the fifth preset threshold; i ≤ k, and k is an integer.
[0120] Determine the driving direction of each historical trajectory according to the offset sum corresponding to each historical trajectory.
[0121] In specific implementation, first, assume that the element to be classified is the historical trajectory O, mark the projection point of the current position of the first vehicle on the historical trajectory O as the first historical trajectory point of the historical trajectory O, calculate the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point are located, denoted as the (i - 1)-th azimuth angle; calculate the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point are located, denoted as the i-th azimuth angle; determine the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle, denoted as the i-th offset l. i When |l i | ≥ the fourth preset threshold (configurable parameter, such as 10°), record the (i - 1)-th trajectory point. At this time, it is judged that a turn may occur. When |l k | < the fourth preset threshold, it is judged that the turn ends.
[0122] Secondly, cumulatively calculate the total azimuth angle offset from the (i - 1)-th historical trajectory point to the k-th historical trajectory point during the turning process, and mark it as L. At this time, the accumulated total azimuth angle offset of the trajectory is: wherein, i ≥ 2, i ≤ k, and i and k are integers. Further, according to the offset sum corresponding to each historical trajectory, the driving direction of each historical trajectory can be determined.
[0123] In addition, the total offset of each historical trajectory can be recorded in the corresponding intersection node set, for example: FilterRvPHList(FilterRvPHList_j, totalOffsetAngles, maneuver), where FilterRvPHList_j represents the j-th historical trajectory in the historical trajectory set FilterRvPHList, maneuver represents the driving direction classification of the j-th historical trajectory, which can be any of the states of left turn, right turn, straight ahead, or U-turn, and totalOffsetAngles represents the total sum of the accumulated trajectory azimuth offsets. It is necessary to assign L to totalOffsetAngles and continue to traverse the historical trajectories of the far vehicle.
[0124] In a specific embodiment, determining the driving direction of each historical trajectory according to the total offset corresponding to the historical trajectory includes:
[0125] Determining a target offset range corresponding to the total offset according to the correspondence between the offset range and the driving direction classification;
[0126] Determining the driving direction classification corresponding to the target offset range as the driving direction classification of the historical trajectory.
[0127] For example, the correspondence between the offset range and the driving direction classification can be predefined as follows: the offset range corresponding to a left turn driving direction is: -157.5 to -22.5°; the offset range corresponding to a U-turn driving direction is: 157.5.5° to -157.5°; the offset range corresponding to a right turn driving direction is: 22.5° to 157.5°; the offset range corresponding to a straight-ahead driving direction is: -22.5° to 22.5°. In this example, considering that not all intersections are crossroads, there may be fork intersections similar to Y-shaped intersections. At this time, the difference in the azimuth angles between the left and right roads and the first vehicle may be less than 45°. 45° is the description of the minimum value of the intersection angle in the "Code for Design of Urban Road Intersections". Therefore, for all elements in the pre-screened historical trajectory set, the driving direction is divided according to 45°, and the directions of the marked trajectories are left turn, U-turn, straight ahead, and right turn.
[0128] In an embodiment, in step 104 above, determining p target historical trajectories from the n historical trajectories according to the driving direction of each historical trajectory, the estimated steering state of the first vehicle, and the at least one intersection node set includes:
[0129] Determine, from the at least one set of intersection nodes, a set of target intersection nodes that is closest to the current position of the first vehicle; wherein, the set of target intersection nodes includes f intersection nodes of the historical trajectories; 0 < f ≤ m;
[0130] According to the driving directions of the f historical trajectories corresponding to the set of target intersection nodes and the estimated turning state of the first vehicle, select p target historical trajectories from the f historical trajectories whose driving directions match the estimated turning state; 0 < p ≤ f.
[0131] Here, the driving direction matching the estimated turning state can be understood as follows: if the estimated turning state is a left turn, it matches the historical trajectory with a left turn driving direction; if the estimated turning state is going straight, it matches the historical trajectory with a going straight driving direction, and so on.
[0132] Exemplarily, if the left turn signal of the first vehicle is on, match the historical trajectory whose first trajectory pattern (i.e., the driving direction of the historical trajectory in the set of target intersection nodes) is a left turn. If not empty, set the flag (maneuver) of the matched historical trajectory to left turn. If the set of historical trajectories is empty, match the historical trajectory whose first trajectory pattern is a U-turn. If not empty, set the flag of this historical trajectory to U-turn.
[0133] Exemplarily, if the right turn signal of the first vehicle is on, match the historical trajectory whose first trajectory pattern is a right turn. If not empty, set the flag of this historical trajectory to right turn.
[0134] Exemplarily, if no turn signal of the first vehicle is on, match the set of historical trajectories whose trajectory pattern is going straight. If not empty, set the flag of this historical trajectory to going straight.
[0135] Particularly, if there is no historical trajectory matching the turn signal of the first vehicle, skip the matching and select the straight trajectory. If there is no straight trajectory, select the historical trajectory corresponding to the set of intersection nodes that is the second closest to the current position of the first vehicle among all trajectories as the target historical trajectory. In this way, it is possible to ensure obtaining a predicted trajectory at a relatively long distance.
[0136] In the above embodiment, the first vehicle can select p target historical trajectories whose driving directions match the estimated turning state from the set of target intersection nodes that is closest to itself based on the estimated turning state and the driving directions of the historical trajectories. Since the estimated turning state can reflect the driving direction of the vehicle at the intersection, the target historical trajectories screened based on the estimated turning state in this application can improve the accuracy of trajectory prediction.
[0137] In one embodiment, in the above step 105, generating the predicted trajectory of the first vehicle according to the p target historical trajectories includes:
[0138] Performing interpolation processing on the historical trajectory of the first vehicle and each of the target historical trajectories;
[0139] Determining the average Euclidean distance between the interpolated historical trajectory of the first vehicle and each of the interpolated target historical trajectories;
[0140] Determining the weight corresponding to each of the target historical trajectories according to the average Euclidean distance; wherein, the sum of the weights of the p target historical trajectories is equal to 1;
[0141] Determining the Gaussian distribution function corresponding to each of the target historical trajectories;
[0142] Determining a trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories;
[0143] Generating a predicted trajectory according to the trajectory prediction model.
[0144] As Figure 3 shown, each vehicle in the p historical trajectories is respectively interpolated one-to-one with the trajectory points on the historical trajectory of the first vehicle, so as to interpolate the trajectory points on the second vehicle onto the first vehicle and interpolate the trajectory points on the first vehicle onto the second vehicle. In this way, a set of the first vehicle and the second vehicle after interpolation will have the same number of trajectory points.
[0145] Specifically, the process of performing interpolation processing on the p target historical trajectories may include:
[0146] First, each second vehicle is respectively interpolated with the first vehicle. Specifically, a perpendicular line is drawn from the current position point of the first vehicle to the historical trajectory of the second vehicle, and the projection point where it intersects the historical trajectory of the second vehicle is used as the inserted head position point on the historical trajectory of the second vehicle, which is the first interpolation position.
[0147] After that, the distances between the head position point and the previous historical trajectory point in the historical trajectories of the first vehicle and the second vehicle are respectively determined (that is, starting from the head position point, the previous trajectory point adjacent to the head along the direction towards the tail of the trajectory is determined), and the trajectory point with the shortest interval is taken as the second interpolation distance, and so on until reaching the boundary of the historical trajectory of the first vehicle or the second vehicle. This boundary may be the first historical trajectory point of the first vehicle or the first historical trajectory point of the second vehicle.
[0148] Finally, the trajectory set points of the first vehicle after interpolation can be obtained as The trajectory set points of the second vehicle are Among them, n is the total number of trajectory points after interpolation.
[0149] When specifically implemented, determining the average Euclidean distance between the historical trajectory of the first vehicle after interpolation processing and each of the target historical trajectories after interpolation processing may include:
[0150] According to the formula: Calculate the average Euclidean distance between the historical trajectory of the first vehicle and the historical trajectory of each second vehicle; where, d j (T sv , T rv ) refers to the average Euclidean distance, x q refers to the abscissa at any trajectory point of the first vehicle, x q refers to the abscissa at any trajectory point of the second vehicle, y q refers to the ordinate at any trajectory point of the first vehicle, y q refers to the ordinate at any trajectory point of the second vehicle, n is the total number of trajectory points, j refers to the jth target historical trajectory among p target historical trajectories, 1 ≤ j ≤ q.
[0151] When specifically implemented, according to the average Euclidean distance, determining the weight corresponding to each target historical trajectory includes: the larger the average Euclidean distance, the smaller the corresponding weight value of the target historical trajectory. Through the weight normalization theory, calculate the weight of the jth target historical trajectory, and its weight value is W j .
[0152] In a specific embodiment, the determining the trajectory prediction model according to the weight corresponding to each target historical trajectory and the Gaussian distribution function includes:
[0153] According to the formula: Determine the trajectory prediction model;
[0154] Among them, f(x, y) is the formula of the trajectory prediction model, f j (x, y) is the Gaussian distribution function, j is the jth trajectory point in the target historical trajectory after interpolation, π refers to pi, σ 2 is the variance, x j ′ is the abscissa of the jth trajectory point, y j ′ is the ordinate of the jth trajectory point, x is the abscissa of the predicted driving position of the first vehicle, y is the ordinate of the predicted driving position of the first vehicle, j = 1,..., p.
[0155] Here, exp refers to the exponential function with the natural constant e as the base. (x j′ , y j ′ ) is the coordinate of any possible trajectory position point in the historical trajectory, (x, y) is the predicted driving position coordinate of the first vehicle, and (x, y) is a function of time t.
[0156] In this embodiment, the trajectory prediction model is a mixture Gaussian distribution model. Through the mixture Gaussian distribution model, the probability distribution that the trajectory position of the observed trajectory follows at the prediction moment is fitted, so as to determine the predicted estimated position of the first vehicle in the future and generate a predicted trajectory for it.
[0157] In one embodiment, after the above step 105, the method further includes:
[0158] If the historical trajectory that meets the second preset condition is greater than 0, and the length of the predicted trajectory is less than or equal to the sixth preset threshold, then splice the predicted trajectory with the historical trajectory of the first vehicle to obtain the updated historical trajectory of the first vehicle, and add the historical trajectory that meets the second preset condition to the historical trajectory set to obtain the updated historical trajectory set;
[0159] According to the updated historical trajectory of the first vehicle and the updated historical trajectory set, repeat the trajectory prediction process until the generated trajectory length is greater than the sixth preset threshold;
[0160] Wherein, the second preset condition includes:
[0161] The first coordinate point is located on the extension line of the line segment formed by the first trajectory point and the second trajectory point of the historical trajectory; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point.
[0162] In this embodiment, when the length of the predicted trajectory does not meet the requirements, the predicted trajectory can be spliced with the historical trajectory of the first vehicle to update the historical trajectory of the first vehicle. At this time, it is equivalent to updating and extending the historical trajectory of the first vehicle forward. At this time, the historical trajectory that meets the second preset condition is very likely to overlap with the updated historical trajectory of the first vehicle. Repeat the trajectory prediction process in the above embodiment again, so that it is possible to iteratively splice the historical trajectory during the trajectory prediction process until the predicted trajectory length required for V2X applications is obtained.
[0163] Further, it should be noted that when the trajectory prediction method is applied to the on-vehicle unit (OBU) of the first vehicle, the OBU at least includes a positioning module, an information processing module, and a V2X unit module. The positioning module mainly provides vehicle status information for the on-vehicle unit OBU; the information processing module mainly processes the historical trajectory data of surrounding distant vehicles, including sorting, pre-screening, driving direction classification, interpolation, generating a mixture Gaussian model and trajectory prediction, iteratively splicing historical trajectories, etc., and encapsulating the vehicle status information of the historical trajectory included in the first vehicle itself into BSM messages. The V2X unit module mainly receives the vehicle status information of surrounding distant vehicles and broadcasts the vehicle status information of its own vehicle.
[0164] Among them, the historical trajectory data of the distant vehicle includes at least one of the following: longitude, latitude, vehicle speed, vehicle heading angle (Ψ), and yaw angular velocity (w).
[0165] Second Embodiment
[0166] As Figure 4 shown, an embodiment of the present invention provides a trajectory prediction device 400, which is applied to the first vehicle and includes:
[0167] An acquisition module 401, configured to acquire a set of historical trajectories, where the set of historical trajectories includes n historical trajectories corresponding to n second vehicles at a distance;
[0168] A first determination module 402, configured to determine at least one intersection node set according to the n historical trajectories; where each intersection node set includes intersection nodes of at least one of the historical trajectories, and one intersection node set corresponds to one intersection;
[0169] A second determination module 403, configured to determine the driving direction of each historical trajectory when passing through the intersection node;
[0170] A processing module 404, configured to determine p target historical trajectories from the n historical trajectories according to the driving direction of each historical trajectory, the estimated steering state of the first vehicle, and the at least one intersection node set; 1≤p≤n, and n and p are positive integers;
[0171] A trajectory generation module 405, configured to generate a predicted trajectory of the first vehicle according to the p target historical trajectories.
[0172] Optionally, the first determination module 402 includes:
[0173] A first determination sub-module, configured to pre-screen the n historical trajectories to obtain m first historical trajectories; where 1≤p≤m≤n, and m is a positive integer;
[0174] A second determination sub-module, configured to determine the at least one intersection node set according to the m first historical trajectories.
[0175] Optionally, the first determination sub-module is specifically configured to:
[0176] Screen out m first historical trajectories that meet the first preset condition from the n historical trajectories;
[0177] Wherein, the first preset condition includes one or more of the following:
[0178] The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target inclination angle is less than or equal to the first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target inclination angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is the straight line determined by the first trajectory point and the second trajectory point;
[0179] The first distance is less than or equal to the second preset threshold, and the second distance is greater than or equal to the third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
[0180] Optionally, the second determination sub-module is specifically configured to:
[0181] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point are located in any one of the first historical trajectories, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point are located in any one of the first historical trajectories; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory;
[0182] When it is determined that the absolute value of the i-th offset is greater than or equal to the fourth preset threshold and the absolute value of the k-th offset is less than or equal to the fifth preset threshold, determine the broken-line distance between the (i - 1)-th historical trajectory point and the k-th historical trajectory point; i ≤ k, and k is an integer;
[0183] Determine the intersection node of the first historical trajectory as the historical trajectory point closest to the midpoint of the distance from the polyline; wherein, each of the first historical trajectories corresponds to at least one intersection node.
[0184] Divide the multiple intersection nodes into at least one set of intersection nodes according to the distances between the intersection nodes of the m first historical trajectories.
[0185] Optionally, the second determination module 803 includes:
[0186] A third determination sub-module for determining the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point are located in any one of the historical trajectories, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point are located in any one of the historical trajectories; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0187] A fourth determination sub-module for determining that the historical trajectory starts to turn when the absolute value of the i-th offset corresponding to the historical trajectory is greater than or equal to a fourth preset threshold, and cumulatively calculating the sum of the offsets from the i-th offset to the k-th offset; wherein, the absolute value of the k-th offset is less than or equal to a fifth preset threshold; i ≤ k, and k is an integer.
[0188] A fifth determination sub-module for determining the driving direction of each historical trajectory according to the sum of the offsets corresponding to each historical trajectory.
[0189] Optionally, the fifth determination sub-module is specifically configured to:
[0190] Determine the target offset range corresponding to the sum of the offsets according to the corresponding relationship between the offset range and the classification of the driving direction.
[0191] Determine the classification of the driving direction corresponding to the target offset range as the classification of the driving direction of the historical trajectory.
[0192] Optionally, the processing module 804 is specifically configured to:
[0193] Determine the target set of intersection nodes closest to the current position of the first vehicle from the at least one set of intersection nodes; wherein, the target set of intersection nodes includes the intersection nodes of f historical trajectories; 0 < f ≤ m.
[0194] Select p target historical trajectories that match the estimated steering state from the f historical trajectories according to the driving directions of the f historical trajectories corresponding to the set of target intersection nodes and the estimated steering state of the first vehicle; 0 < p ≤ f.
[0195] Optionally, the trajectory generation module 805 includes:
[0196] The first processing sub-module is used to perform interpolation processing on the historical trajectory of the first vehicle and each of the target historical trajectories;
[0197] The second processing sub-module is used to determine the average Euclidean distance between the interpolated historical trajectory of the first vehicle and each of the interpolated target historical trajectories;
[0198] The third processing sub-module is used to determine the weight corresponding to each of the target historical trajectories according to the average Euclidean distance; wherein, the sum of the weights of the p target historical trajectories is equal to 1;
[0199] The fourth processing sub-module is used to determine the Gaussian distribution function corresponding to each of the target historical trajectories;
[0200] The fifth processing sub-module is used to determine the trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories;
[0201] The sixth processing sub-module is used to generate a predicted trajectory according to the trajectory prediction model.
[0202] Optionally, the fifth processing sub-module is specifically used for:
[0203] According to the formula: Determine the trajectory prediction model;
[0204] where f(x, y) is the formula of the trajectory prediction model, f j (x, y) is the Gaussian distribution function, j is the j-th trajectory point in the interpolated target historical trajectory, π refers to pi, σ 2 is the variance, x j ′ is the abscissa of the j-th trajectory point, y j ′ is the ordinate of the j-th trajectory point, x is the abscissa of the predicted driving position of the first vehicle, y is the ordinate of the predicted driving position of the first vehicle, j = 1,..., p.
[0205] Optionally, the device 400 further includes:
[0206] An iterative processing module, configured to, if the number of historical trajectories that meet the second preset condition is greater than 0 and the length of the predicted trajectory is less than or equal to the sixth preset threshold, splice the predicted trajectory with the historical trajectory of the first vehicle to obtain the updated historical trajectory of the first vehicle, and add the historical trajectories that meet the second preset condition to the historical trajectory set to obtain the updated historical trajectory set;
[0207] According to the updated historical trajectory of the first vehicle and the updated historical trajectory set, repeat the trajectory prediction process until the generated trajectory length is greater than the sixth preset threshold;
[0208] Wherein, the second preset condition includes:
[0209] The first coordinate point is located on the extension line of the line segment formed by the first trajectory point and the second trajectory point of the historical trajectory; wherein, the first coordinate point is the projection point coordinate of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point.
[0210] The second embodiment of the present invention corresponds to the method of the above first embodiment. All the implementation means in the above first embodiment are applicable to the embodiment of this trajectory prediction device and can also achieve the same technical effect.
[0211] The third embodiment
[0212] To better achieve the above object, as Figure 5 shown, the third embodiment of the present invention further provides an Internet of Vehicles device. Optionally, this Internet of Vehicles device is applied to a first vehicle and includes:
[0213] A processor 500; and a memory 520 connected to the processor 500 through a bus interface. The memory 520 is used to store the programs and data used by the processor 500 when performing operations. The processor 500 calls and executes the programs and data stored in the memory 520.
[0214] Wherein, a transceiver 510 is connected to the bus interface and is used to receive and send data under the control of the processor 500; the processor 500 is used to read the programs in the memory 520 to implement the following steps:
[0215] Obtain a historical trajectory set, where the historical trajectory set includes n historical trajectories corresponding to n second vehicles at a remote end;
[0216] Determine at least one set of intersection nodes based on the n historical trajectories; wherein each set of intersection nodes includes an intersection node of at least one of the historical trajectories, and one set of intersection nodes corresponds to one intersection.
[0217] Determine the driving direction of each of the historical trajectories when passing through the intersection node.
[0218] Determine p target historical trajectories from the n historical trajectories according to the driving direction of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one set of intersection nodes; 1 ≤ p ≤ n, and n and p are positive integers.
[0219] Generate a predicted trajectory of the first vehicle according to the p target historical trajectories.
[0220] Among them, in Figure 5 The bus architecture may include any number of interconnected buses and bridges, specifically various circuits of one or more processors represented by the processor 500 and the memory represented by the memory 520 are linked together. The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, and therefore will not be further described herein. The bus interface provides an interface. The transceiver 510 may be a plurality of components, that is, including a transmitter and a transceiver, and provides a unit for communicating with various other devices on the transmission medium. For different terminals, the user interface 530 may also be an interface capable of externally connecting and internally connecting required devices, and the connected devices include but are not limited to a keypad, a display, a speaker, a microphone, a joystick, etc. The processor 500 is responsible for managing the bus architecture and general processing, and the memory 520 may store data used by the processor 500 when performing operations.
[0221] Optionally, the processor 500 is specifically configured to read a program in the memory 520 to implement the following steps:
[0222] Pre-screen the n historical trajectories to obtain m first historical trajectories; wherein, 1 ≤ p ≤ m ≤ n, and m is a positive integer.
[0223] Determine the at least one set of intersection nodes according to the m first historical trajectories.
[0224] Optionally, the processor 500 is specifically configured to read a program in the memory 520 to implement the following steps:
[0225] Screen and obtain m first historical trajectories that meet the first preset condition from the n historical trajectories.
[0226] Wherein, the first preset condition includes one or more of the following:
[0227] The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target tilt angle is less than or equal to a first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target tilt angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is the straight line determined by the first trajectory point and the second trajectory point;
[0228] The first distance is less than or equal to a second preset threshold, and the second distance is greater than or equal to a third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
[0229] Optionally, the processor 500 is specifically configured to read the program in the memory 520 to implement the following steps:
[0230] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the first historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the first historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory;
[0231] When it is determined that the absolute value of the i-th offset is greater than or equal to a fourth preset threshold and the absolute value of the k-th offset is less than or equal to a fifth preset threshold, determine the broken-line distance between the (i - 1)-th historical trajectory point and the k-th historical trajectory point; i ≤ k, and k is an integer;
[0232] Determine the historical trajectory point closest to the middle position point of the broken-line distance as the intersection node of the first historical trajectory; wherein, each of the first historical trajectories corresponds to at least one intersection node;
[0233] According to the distances between the intersection nodes of the m first historical trajectories, divide the multiple intersection nodes into at least one intersection node set.
[0234] Optionally, the processor 500 is specifically configured to read the program in the memory 520 to implement the following steps:
[0235] Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory.
[0236] When the absolute value of the i-th offset corresponding to the historical trajectory is greater than or equal to the fourth preset threshold, it is determined that the historical trajectory starts to turn, and the offset sum from the i-th offset to the k-th offset is cumulatively calculated; wherein, the absolute value of the k-th offset is less than or equal to the fifth preset threshold; i ≤ k, and k is an integer.
[0237] Determine the driving direction of each historical trajectory according to the offset sum corresponding to each historical trajectory.
[0238] Optionally, the processor 500 is specifically configured to read the program in the memory 520 to implement the following steps:
[0239] Determine the target offset range corresponding to the offset sum according to the corresponding relationship between the offset range and the driving direction classification.
[0240] Classify the driving direction corresponding to the target offset range, and determine it as the driving direction classification of the historical trajectory.
[0241] Optionally, the processor 500 is specifically configured to read the program in the memory 520 to implement the following steps:
[0242] Determine the target intersection node set closest to the current position of the first vehicle from the at least one intersection node set; wherein, the target intersection node set includes f intersection nodes of the historical trajectories; 0 < f ≤ m.
[0243] Select p target historical trajectories with driving directions matching the estimated steering state from the f historical trajectories according to the driving directions of the f historical trajectories corresponding to the target intersection node set and the estimated steering state of the first vehicle; 0 < p ≤ f.
[0244] Optionally, the processor 500 is specifically configured to read the program in the memory 520 to implement the following steps:
[0245] Perform interpolation processing on the historical trajectory of the first vehicle and each target historical trajectory.
[0246] Determine the average Euclidean distance between the historical trajectory of the first vehicle after interpolation processing and each of the target historical trajectories after interpolation processing;
[0247] According to the average Euclidean distance, determine the weight corresponding to each of the target historical trajectories; wherein, the sum of the weights of the p target historical trajectories is equal to 1;
[0248] Determine the Gaussian distribution function corresponding to each of the target historical trajectories;
[0249] According to the weight and Gaussian distribution function corresponding to each of the target historical trajectories, determine the trajectory prediction model;
[0250] Generate a predicted trajectory according to the trajectory prediction model.
[0251] Optionally, the processor 500 is specifically configured to read a program in the memory 520 to implement the following steps:
[0252] According to the formula: Determine the trajectory prediction model;
[0253] wherein, f(x,y) is the formula of the trajectory prediction model, f j (x,y) is the Gaussian distribution function, j is the j-th trajectory point in the target historical trajectory after interpolation, π refers to the pi, σ 2 is the variance, x j ′ is the abscissa of the j-th trajectory point, y j ′ is the ordinate of the j-th trajectory point, x is the abscissa of the predicted driving position of the first vehicle, y is the ordinate of the predicted driving position of the first vehicle, j = 1,..., p.
[0254] Optionally, the processor 500 is specifically configured to read a program in the memory 520 to implement the following steps:
[0255] If the number of historical trajectories that meet the second preset condition is greater than 0, and the length of the predicted trajectory is less than or equal to the sixth preset threshold, then splice the predicted trajectory with the historical trajectory of the first vehicle to obtain the updated historical trajectory of the first vehicle, and add the historical trajectories that meet the second preset condition to the historical trajectory set to obtain the updated historical trajectory set;
[0256] According to the updated historical trajectory of the first vehicle and the updated historical trajectory set, repeat the trajectory prediction process until the length of the generated trajectory is greater than the sixth preset threshold;
[0257] wherein, the second preset condition includes:
[0258] The first coordinate point is located on the extension line of the line segment formed by the first track point and the second track point of the historical track; wherein, the first coordinate point is the projection point coordinate of the current position point of the first vehicle on the historical track, and the first track point and the second track point are the two track points on the historical track that are closest to the first coordinate point.
[0259] The first vehicle provided by the present invention can determine at least one intersection node set according to n historical tracks of a remote vehicle in a mapless mode. Based on the intersection node set, a directed graph of the road can be drawn in the mapless mode. Further, according to the driving direction of each historical track, the estimated steering state of the first vehicle, and at least one intersection node set, p target historical tracks are determined from the n historical tracks, and a predicted track of the first vehicle is generated according to the p target historical tracks. In this way, the predicted track in the intersection scenario can be realized, and the problem that the vehicle track in the intersection scenario cannot be accurately predicted in the mapless mode is solved.
[0260] Those skilled in the art can understand that all or part of the steps of implementing the above embodiments can be completed by hardware, or can be completed by a computer program instructing the relevant hardware. The computer program includes instructions for executing part or all of the steps of the above method; and the computer program can be stored in a readable storage medium, and the storage medium can be any form of storage medium.
[0261] In addition, a specific embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the steps of the method in the first embodiment above are implemented. And the same technical effects can be achieved. To avoid repetition, it will not be described here again.
[0262] In addition, it should be noted that in the device and method of the present invention, obviously, each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent solutions of the present invention. And the steps of performing the above series of processes can naturally be executed in chronological order according to the described order, but it is not necessary to execute in chronological order. Certain steps can be executed in parallel or independently of each other. For those of ordinary skill in the art, it can be understood that all or any steps or components of the method and device of the present invention can be implemented in any computing device (including a processor, a storage medium, etc.) or a network of computing devices in hardware, firmware, software, or a combination thereof, which can be achieved by those of ordinary skill in the art using their basic programming skills after reading the description of the present invention.
[0263] Therefore, the object of the present invention can also be achieved by running a program or a set of programs on any computing device. The computing device can be a well-known general-purpose device. Therefore, the object of the present invention can also be achieved only by providing a program product containing program code for implementing the method or device. That is to say, such a program product also constitutes the present invention, and a storage medium storing such a program product also constitutes the present invention. Obviously, the storage medium can be any well-known storage medium or any storage medium developed in the future. It should also be noted that in the device and method of the present invention, obviously, each component or each step can be decomposed and / or recombined. These decompositions and / or recombinations should be regarded as equivalent solutions of the present invention. And, the steps of performing the above series of processes can naturally be executed in chronological order according to the described order, but it is not necessary to be executed in chronological order. Some steps can be executed in parallel or independently of each other.
[0264] The above is the preferred embodiment of the present invention. It should be pointed out that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention.
Claims
1. A trajectory prediction method, characterized in that, applied to a first vehicle, the method includes: Obtain a set of historical trajectories, where the set of historical trajectories includes n historical trajectories corresponding to n second vehicles at a distance; Determine at least one intersection node set according to the n historical trajectories; wherein, each intersection node set includes an intersection node of at least one of the historical trajectories, and one intersection node set corresponds to one intersection; Determine the driving direction of each of the historical trajectories when passing through the intersection node; Determine p target historical trajectories from the n historical trajectories according to the driving direction of each of the historical trajectories, the estimated steering state of the first vehicle, and the at least one intersection node set; 1≤p≤n, and n and p are positive integers; Generate a predicted trajectory of the first vehicle according to the p target historical trajectories; Wherein, the determining at least one intersection node set according to the n historical trajectories includes: Screen out m first historical trajectories that meet the first preset condition from the n historical trajectories; wherein, 1≤p≤m≤n, and m is a positive integer; Determine the at least one intersection node set according to the m first historical trajectories; Wherein, the first preset condition includes one or more of the following: The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target inclination angle is less than or equal to the first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target inclination angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is determined by the first trajectory point and the second trajectory point; The first distance is less than or equal to the second preset threshold, and the second distance is greater than or equal to the third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
2. The trajectory prediction method according to claim 1, characterized in that, The determining the at least one intersection node set according to the m first historical trajectories includes: Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the first historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the first historical trajectories are located; i≥2 and i is an integer; when i = 2, the first historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory; When it is determined that the absolute value of the i-th offset is greater than or equal to the fourth preset threshold and the absolute value of the k-th offset is less than or equal to the fifth preset threshold, determine the broken-line distance between the (i - 1)-th historical trajectory point and the k-th historical trajectory point; i ≤ k, and k is an integer; Determine the historical trajectory point closest to the midpoint of the broken-line distance as the intersection node of the first historical trajectory; wherein, each first historical trajectory corresponds to at least one intersection node; Divide the multiple intersection nodes into at least one intersection node set according to the distances between the intersection nodes of the m first historical trajectories.
3. The trajectory prediction method according to claim 1, wherein, The determining the driving direction when each historical trajectory passes through the intersection node includes: Determine the i-th offset, where the i-th offset is the difference between the (i - 1)-th azimuth angle and the i-th azimuth angle; wherein, the (i - 1)-th azimuth angle is the azimuth angle of the straight line where the (i - 1)-th historical trajectory point and the i-th historical trajectory point in any one of the historical trajectories are located, and the i-th azimuth angle is the azimuth angle of the straight line where the i-th historical trajectory point and the (i + 1)-th historical trajectory point in any one of the historical trajectories are located; i ≥ 2 and i is an integer; when i = 2, the 1st historical trajectory point is the projection point of the current position point of the first vehicle on the historical trajectory; When the absolute value of the i-th offset corresponding to the historical trajectory is greater than or equal to the fourth preset threshold, determine that the historical trajectory starts to turn, and cumulatively calculate the total offset from the i-th offset to the k-th offset; wherein, the absolute value of the k-th offset is less than or equal to the fifth preset threshold; i ≤ k, and k is an integer; Determine the driving direction of each historical trajectory according to the total offset corresponding to each historical trajectory.
4. The trajectory prediction method according to claim 3, wherein, The determining the driving direction of each historical trajectory according to the total offset corresponding to the historical trajectory includes: Determine the target offset range corresponding to the total offset according to the corresponding relationship between the offset range and the driving direction classification; Determine the driving direction classification corresponding to the target offset range as the driving direction classification of the historical trajectory.
5. The trajectory prediction method according to claim 1, wherein, The determining p target historical trajectories from the n historical trajectories according to the driving direction of each historical trajectory, the estimated steering state of the first vehicle, and the at least one intersection node set includes: Determine the target intersection node set closest to the current position of the first vehicle from the at least one intersection node set; wherein, the target intersection node set includes f intersection nodes of the historical trajectories; 0 < f ≤ m; Select p target historical trajectories from the f historical trajectories according to the driving directions of the f historical trajectories corresponding to the set of target intersection nodes and the estimated steering state of the first vehicle; 0 < p ≤ f.
6. The trajectory prediction method according to claim 1, wherein, generating a predicted trajectory of the first vehicle according to the p target historical trajectories includes: performing interpolation processing on the historical trajectory of the first vehicle and each of the target historical trajectories; determining the average Euclidean distance between the interpolated historical trajectory of the first vehicle and each of the interpolated target historical trajectories; determining the weight corresponding to each of the target historical trajectories according to the average Euclidean distance; wherein, the sum of the weights of the p target historical trajectories is equal to 1; determining the Gaussian distribution function corresponding to each of the target historical trajectories; determining a trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories; generating a predicted trajectory according to the trajectory prediction model.
7. The trajectory prediction method according to claim 6, wherein, determining a trajectory prediction model according to the weight and Gaussian distribution function corresponding to each of the target historical trajectories includes: According to the formula: Determine the trajectory prediction model; where f(x, y) is the formula of the trajectory prediction model, and f j (x, y) is the Gaussian distribution function, j is the j-th trajectory point in the interpolated target historical trajectory, π represents pi, and σ 2 is the variance, x j ′ is the abscissa of the j-th trajectory point, y j ′ is the ordinate of the j-th trajectory point, x is the coordinate of the predicted driving position of the first vehicle, y is the ordinate of the predicted driving position of the first vehicle, and j = 1, …, p.
8. The trajectory prediction method according to claim 1, wherein, after generating the predicted trajectory of the first vehicle according to the p target historical trajectories, the method further includes: if the number of historical trajectories that meet the second preset condition is greater than 0, and the length of the predicted trajectory is less than or equal to the sixth preset threshold, then splice the predicted trajectory with the historical trajectory of the first vehicle to obtain the updated historical trajectory of the first vehicle, and add the historical trajectories that meet the second preset condition to the historical trajectory set to obtain the updated historical trajectory set; repeating the trajectory prediction process according to the updated historical trajectory of the first vehicle and the updated historical trajectory set until the generated trajectory length is greater than the sixth preset threshold; wherein, the second preset condition includes: the first coordinate point is located on the extension line of the line segment formed by the first trajectory point and the second trajectory point of the historical trajectory; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point.
9. An Internet of Vehicles device, comprising: a transceiver, a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the trajectory prediction method according to any one of claims 1 to 8 when executing the computer program.
10. A trajectory prediction device, wherein, applied to a first vehicle, comprising: an acquisition module, configured to acquire a historical trajectory set, where the historical trajectory set includes n historical trajectories corresponding to n second vehicles at a remote end; A first determination module, configured to determine at least one intersection node set according to the n historical trajectories; wherein each intersection node set includes intersection nodes of at least one of the historical trajectories, and one intersection node set corresponds to one intersection; A second determination module, configured to determine the driving direction of each historical trajectory when passing through the intersection node; A processing module, configured to determine p target historical trajectories from the n historical trajectories according to the driving direction of each historical trajectory, the estimated steering state of the first vehicle, and the at least one intersection node set; 1≤p≤n, and n and p are positive integers; A trajectory generation module, configured to generate a predicted trajectory of the first vehicle according to the p target historical trajectories; The first determination module includes: A first determination sub-module, configured to screen and obtain m first historical trajectories that meet a first preset condition from the n historical trajectories; wherein, 1≤p≤m≤n, and m is a positive integer; A second determination sub-module, configured to determine the at least one intersection node set according to the m first historical trajectories; Wherein, the first preset condition includes one or more of the following: The first coordinate point is located between the first trajectory point and the second trajectory point, and the absolute value of the target inclination angle is less than or equal to a first preset threshold; wherein, the first coordinate point is the projection point of the current position point of the first vehicle on the historical trajectory, and the first trajectory point and the second trajectory point are the two trajectory points on the historical trajectory that are closest to the first coordinate point; the target inclination angle is the difference between the azimuth angle of the first straight line and the heading angle of the first vehicle at the current moment, and the first straight line is the straight line determined by the first trajectory point and the second trajectory point; The first distance is less than or equal to a second preset threshold, and the second distance is greater than or equal to a third preset threshold; wherein, the first distance is the straight-line distance between the current position point of the first vehicle and the first coordinate point; the second distance is the broken-line distance between the first coordinate point and the current position of the historical trajectory.
11. A computer-readable storage medium, on which a computer program is stored, Characterized in that, When the computer program is executed by a processor, the steps of the trajectory prediction method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
GPS positioning coordinate screening method and device
CN105607099A
Scenic spot data collecting and updating method and system, tourist terminal equipment and self-service tour guide equipment
CN108287841A