Trajectory planning method and device, vehicle, electronic equipment and storage medium

CN116373909BActive Publication Date: 2026-07-24APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
APOLLO INTELLIGENT CONNECTIVITY (BEIJING) TECH CO LTD
Filing Date
2023-05-17
Publication Date
2026-07-24

Smart Images

  • Figure CN116373909B_ABST
    Figure CN116373909B_ABST
Patent Text Reader

Abstract

The present disclosure provides a trajectory planning method and device, electronic equipment, vehicle and storage medium, relates to the technical field of intelligent transportation, in particular to the field of automatic driving and trajectory planning. The specific implementation scheme is: in the case that the vehicle drives to an intermediate destination point in a planned trajectory and the driving speed of the vehicle becomes zero, determining whether the planned trajectory is abnormal based on the intermediate destination point; in the case that the planned trajectory is abnormal, re-planning a trajectory for the vehicle to obtain a re-planned trajectory of the vehicle. By adopting the technical scheme of the present disclosure, the re-planning efficiency of a non-real-time trajectory planning algorithm can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of intelligent transportation technology, and more particularly to the fields of autonomous driving and trajectory planning, specifically to a trajectory planning method, device, vehicle, electronic device, and storage medium. Background Technology

[0002] In the field of autonomous driving, trajectory planning involves searching for a path at the front end and optimizing the searched path or trajectory at the back end to ensure that the target trajectory is the optimal solution. While this trajectory planning algorithm is popular, it generally requires significant computing power to find the optimal trajectory. Summary of the Invention

[0003] This disclosure provides a trajectory planning method, apparatus, vehicle, electronic device, and storage medium.

[0004] According to one aspect of this disclosure, a trajectory planning method is provided, comprising:

[0005] If the vehicle travels to an intermediate destination point in the planned trajectory and the vehicle's speed becomes zero, determine whether there is an anomaly in the planned trajectory based on the intermediate destination point;

[0006] If there are anomalies in the planned trajectory, the trajectory of the vehicle is replanned to obtain the replanned trajectory of the vehicle.

[0007] According to another aspect of this disclosure, a trajectory planning apparatus is provided, comprising:

[0008] The trajectory anomaly detection module is used to determine whether there is an anomaly in the planned trajectory when the vehicle travels to the intermediate destination point in the planned trajectory and the vehicle's speed becomes zero, based on the intermediate destination point.

[0009] The first trajectory replanning module is used to replan the trajectory of the vehicle when there is an anomaly in the planned trajectory, and obtain the replanned trajectory of the vehicle.

[0010] According to another aspect of this disclosure, an electronic device is provided, comprising:

[0011] At least one processor; and

[0012] The memory is communicatively connected to the at least one processor; wherein,

[0013] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform any trajectory planning method in the embodiments of this disclosure.

[0014] According to another aspect of this disclosure, a vehicle is provided that includes any of the electronic devices described in the embodiments of this disclosure.

[0015] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform any trajectory planning method according to an embodiment of this disclosure.

[0016] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements any trajectory planning method according to an embodiment of this disclosure.

[0017] According to the technology disclosed herein, replanning is only triggered when the vehicle pauses during operation (e.g., when the vehicle reaches a shift point or is stopped by an obstacle) and the trajectory exhibits anomalies. This allows for unnecessary replanning of the planned trajectory, i.e., lazy replanning or non-real-time replanning, thus improving replanning efficiency. Furthermore, since replanning is triggered only when the vehicle is stopped, other components or modules in the vehicle can allocate computing power to replanning, reducing replanning time. Therefore, using the non-real-time replanning scheme of this disclosure for trajectory planning algorithms requiring high computing power on low-computing platforms can improve replanning efficiency.

[0018] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0019] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0020] Figure 1 This is an application scenario diagram of trajectory planning provided by an embodiment of this disclosure;

[0021] Figure 2 This is a flowchart of a trajectory planning method according to an embodiment of the present disclosure;

[0022] Figure 3 This is a schematic diagram of a planned trajectory according to an embodiment of the present disclosure;

[0023] Figure 4 This is a flowchart of a trajectory planning method according to another embodiment of the present disclosure;

[0024] Figure 5 This is a structural block diagram of a trajectory planning device according to an embodiment of the present disclosure;

[0025] Figure 6 This is a structural block diagram of a trajectory planning device according to another embodiment of the present disclosure;

[0026] Figure 7 This is a block diagram of an electronic device used to implement the trajectory planning method of the embodiments of this disclosure. Detailed Implementation

[0027] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0028] To facilitate understanding of the trajectory planning method provided in the embodiments of this disclosure, the related technologies of the embodiments of this disclosure are described below. The following related technologies are optional solutions and can be arbitrarily combined with the technical solutions of the embodiments of this disclosure, and they all fall within the protection scope of the embodiments of this disclosure.

[0029] In the field of autonomous driving, trajectory planning is one of the tasks. During vehicle operation, the trajectory is not planned only once. When the destination changes or the original planned trajectory is blocked by obstacles, a feasible planned trajectory needs to be regenerated, which is called replanning. However, frequent replanning can make some planning algorithms that require high computing power unsuitable for low-computing platforms.

[0030] The following examples illustrate two planning algorithms:

[0031] 1. Periodically replan the trajectory according to the set frequency;

[0032] 2. Replanning is triggered immediately when a potential collision is detected in the vehicle's trajectory.

[0033] For the first planning algorithm, the vehicle may be moving during the replanning process, and the starting point selected for replanning needs to ensure that the vehicle cannot cross that starting point when the replanning is completed. This assumption is difficult to guarantee and requires significant computing power to meet this requirement.

[0034] The second planning algorithm requires pre-planning a braking point on the original trajectory where the vehicle will stop. This braking point needs to maintain a safe distance from the collision point to ensure the vehicle's parking safety, and this braking point serves as the starting point for replanning. Because the replanning algorithm's processing time is uncertain, it cannot be guaranteed that it will complete on time before the vehicle reaches the braking point. Therefore, this method also requires planning an additional transition trajectory to complete the switch between the old and new trajectories. This replanning method is overly complex and requires significant computational power.

[0035] Furthermore, the collision point is uncertain; it may disappear before the vehicle reaches its stopping point, in which case replanning is unnecessary. However, since the second planning algorithm performs replanning as soon as a collision point is detected, this replanning is redundant and unnecessary. Therefore, the second planning algorithm leads to excessively frequent and unnecessary replanning.

[0036] Therefore, this disclosure provides a solution that can solve the above problems.

[0037] Figure 1 This is an application scenario diagram of trajectory planning provided by an embodiment of this disclosure. For example... Figure 1 As shown, the trajectory planning method provided in this embodiment can be applied to automatic parking planning scenarios. In this scenario, the vehicle's perception module identifies surrounding parking spaces through an onboard camera. For example, when identifying parking space A, the identified signal is noisy. This noise or error causes the position or posture of the parking space observed by the vehicle to fluctuate, leading to a change in the vehicle's destination. Therefore, this fluctuation results in frequent replanning of the parking trajectory, requiring significant computational power. Moreover, this also limits the application of some high-performance planning algorithms to this scenario.

[0038] Therefore, by employing the trajectory method of this disclosure in this scenario, the frequency of replanning can be reduced and the efficiency of replanning can be improved, enabling some high-efficiency planning algorithms to be applied to this scenario.

[0039] Figure 2 This is a flowchart of a trajectory planning method according to an embodiment of the present disclosure. The method can be applied to a vehicle, an in-vehicle device within a vehicle, or a server, etc. Exemplarily, the vehicle can be an autonomous vehicle. Exemplarily, the server can establish a communication connection with the vehicle to plan the vehicle's trajectory. In some possible implementations, the method can also be implemented by a processor calling computer-readable instructions stored in memory.

[0040] like Figure 2 As shown, the method may include:

[0041] S210, when the vehicle travels to the intermediate destination point in the planned trajectory and the vehicle's speed becomes zero, determine whether there is an anomaly in the planned trajectory based on the intermediate destination point;

[0042] S220, in the event of an anomaly in the planned trajectory, replans the trajectory for the vehicle to obtain the replanned trajectory of the vehicle.

[0043] Specifically, when the replanned trajectory is obtained, the above-mentioned planned trajectory is updated based on the replanned trajectory so that the vehicle continues to drive according to the updated planned trajectory.

[0044] It should be noted that "the vehicle has reached the intermediate destination" should be understood as the vehicle approaching the intermediate destination within the allowable error range. Similarly, "the vehicle's speed is zero" should be understood as the vehicle's speed being close to zero within the allowable error range.

[0045] For example, the planned trajectory includes multiple discrete trajectory points.

[0046] Figure 3 This is a schematic diagram of a planned trajectory according to an embodiment of this disclosure. Figure 3 As shown, the trajectory points in the planned trajectory are arranged in positional order from the start point to the end point. The vehicle travels from the start point to the end point according to the planned trajectory. Each trajectory point includes position information, as well as information such as the vehicle's attitude, speed, acceleration, and curvature at that trajectory point. Attitude can include the vehicle's orientation. The types of trajectory points can include start point, end point, shift point, braking point, and collision point. The braking point is determined based on the braking safety distance and the vehicle's collision points on the current travel path. Braking points and collision points can dynamically appear or disappear in the planned trajectory. For example, when a dynamic obstacle appears in the road corresponding to the planned trajectory, a collision point is set in the planned trajectory based on the position of the dynamic obstacle; when the dynamic obstacle disappears from the road corresponding to the planned trajectory, the collision point is deleted from the planned trajectory.

[0047] For example, intermediate destination points may include shift points and / or braking points. When the vehicle is at a shift point, the vehicle's direction of movement changes. When the vehicle is at a braking point, the vehicle is brought to a stop by an obstacle, and the point of impact corresponding to the obstacle is located before the braking point.

[0048] For example, a shift point may include the position where the vehicle shifts from a forward gear to a reverse gear or the position where the vehicle shifts from a reverse gear to a forward gear.

[0049] For example, the planned trajectory may include one or more unidirectional sub-planned trajectories.

[0050] In practical applications, the planned trajectory is divided according to the shift points, resulting in multiple unidirectional sub-planned trajectories. The forward direction is considered positive, and the reverse direction is considered negative. When the vehicle reaches a shift point, the sub-planned trajectory between that shift point and the next shift point in the planned trajectory is used as the vehicle's tracking trajectory and is transmitted to the vehicle for tracking. If the vehicle comes to a stop due to a detected collision point while following the tracking trajectory, the nearest tracking point is determined based on the vehicle's current position. The trajectory between this tracking point and the stop point is used as the vehicle's tracking trajectory and is transmitted to the vehicle for continued tracking. Therefore, the endpoint of the tracking trajectory can be either a shift point or a stop point, and the endpoint of the sub-planned trajectory is the shift point.

[0051] For example, the vehicle can be programmed with sub-trajectories segment by segment according to the order of reaching shift points for trajectory tracking. For instance, the first sub-trajectory starts at the beginning of the planned trajectory and ends at the first shift point. When the vehicle travels from the beginning of the planned trajectory to the first shift point, the first sub-trajectory is used as the tracking trajectory and programmed with the vehicle for trajectory tracking. The second sub-trajectory starts at the first shift point and ends at the second shift point. When the vehicle travels from the first shift point to the first shift point, the second sub-trajectory is used as the tracking trajectory and programmed with the vehicle for trajectory tracking, and so on. Alternatively, if the vehicle encounters an obstacle and stops while traveling along the first sub-trajectory, the nearest tracking point can be determined based on the vehicle's current position. The first sub-trajectory can then be truncated based on this tracking point and the stopping point, and the truncated first sub-trajectory can be programmed with the vehicle as the tracking trajectory for execution. Thus, the vehicle's tracking trajectory becomes from the nearest tracking point to the stopping point. Specifically, the starting point of the vehicle's tracking trajectory is always the tracking point closest to the vehicle, determined based on the vehicle's current position.

[0052] For example, anomalies in the planned trajectory may include: the inability to determine the vehicle's tracking point within the planned trajectory, a change in the vehicle's destination, or the presence of obstacles on the planned trajectory that could lead to a collision. For instance, in an automated parking scenario, due to the influence of perceived noise, the vehicle's perceived position and attitude information regarding the parking space may differ at different times. If the position or attitude of the destination changes significantly, it can be termed an excessively large endpoint jump, requiring trajectory replanning.

[0053] For example, replanning a vehicle's trajectory to obtain a replanned trajectory may include: determining the vehicle's destination based on the vehicle's observation data; and determining the vehicle's replanned trajectory based on the vehicle's current position and destination.

[0054] For example, the vehicle's current position is used as the starting point for replanning, and the destination determined based on the vehicle's observation data is used as the destination for replanning. Based on the starting point and destination for replanning, the vehicle's replanning trajectory is determined.

[0055] The observation data may include information on obstacles and parking spaces that appear as the vehicle travels along the planned trajectory.

[0056] According to the above implementation, replanning is only triggered when the vehicle stops during driving (e.g., when the vehicle reaches a shift point or is stopped by an obstacle) and the trajectory is abnormal. This allows for non-necessary replanning of the planned trajectory, i.e., lazy replanning or non-real-time replanning, thus improving replanning efficiency. Moreover, the replanning disclosed in this invention is triggered only when the vehicle stops, which allows other components or modules in the vehicle to allocate computing power to replanning, reducing the replanning time.

[0057] Therefore, the non-real-time replanning scheme disclosed herein can improve the replanning efficiency for trajectory planning algorithms that require high computing power on low computing power platforms.

[0058] The aforementioned pauses can be either necessary or intentional. For example, a necessary pause occurs when the vehicle comes to a stop passively due to a gear shift or braking point. An intentional pause occurs when the user wants to stop or actively controls the vehicle to stop due to a change in traffic lights.

[0059] In one implementation, determining whether there is an anomaly in the planned trajectory based on the intermediate destination point may include: if the intermediate destination point is a gear shift point, updating the vehicle's travel endpoint based on the vehicle's observation data; if the updated travel endpoint does not match the endpoint in the planned trajectory, determining that there is an anomaly in the planned trajectory.

[0060] In one implementation, if the updated destination matches the destination in the planned trajectory, it is determined that there is no anomaly in the planned trajectory.

[0061] For example, when the vehicle is at a shift point, it is determined whether the vehicle's speed has become zero (it's easy to understand that a speed close to zero within the allowable error range can also be considered zero). If it becomes zero, it can be determined that the vehicle has stopped. At this time, the vehicle perceives the surrounding environment and obtains observation data. Based on the observation data, a new endpoint can be determined. The original endpoint is the endpoint in the original planned trajectory. If the positional difference or attitude difference between the new endpoint and the original endpoint is greater than a set threshold, it is considered that the new endpoint and the original endpoint do not match, that is, the endpoint jump is too large, and replanning is triggered. If both the positional difference and attitude difference between the new endpoint and the original endpoint are less than the set threshold, it is considered that the new endpoint and the original endpoint match, that is, the endpoint does not have a large jump, and replanning is not triggered, and the vehicle continues to travel according to the original planned trajectory.

[0062] For example, the shift point in the above embodiments may include the position where the vehicle shifts from a forward gear to a reverse gear or the position where the vehicle shifts from a reverse gear to a forward gear.

[0063] According to the above implementation method, if the destination changes significantly when the vehicle reaches the shift point, replanning is triggered. At this time, since the vehicle is in the pause period of shifting, the time spent on replanning is imperceptible to the user. Moreover, during this period, the vehicle can release a large amount of computing power to replanning, greatly reducing the time spent on replanning.

[0064] In one implementation, determining whether the planned trajectory is abnormal based on the intermediate destination point may include: determining that the planned trajectory is abnormal when the intermediate destination point is a braking point; wherein the braking point is a trajectory point determined based on the braking safety distance and the collision point of the vehicle on the current driving road.

[0065] It should be noted that in this embodiment, the planned trajectory can be cut off or updated at the braking point. The vehicle tracks (drives) according to the cut-off or updated planned trajectory and stops when it reaches the braking point.

[0066] For example, the point of collision is the location where a vehicle and an obstacle may collide. The obstacle can be a static obstacle or a dynamic obstacle.

[0067] For example, the braking point is the position where a vehicle can safely stop before colliding with an obstacle.

[0068] For example, the braking safety distance can be 0.5 meters or 1 meter, etc. Based on the collision point and the braking safety distance, the stopping point is obtained, wherein the stopping point is located before the collision point, and the distance between the stopping point and the collision point is the braking safety distance.

[0069] like Figure 3As shown, the solid-lined box represents the current position of the vehicle while it is traveling along the planned trajectory, and the dashed-lined box represents the predicted location where the vehicle may collide with an obstacle while traveling along the planned trajectory. The trajectory point p... i+2 The collision point and trajectory point p are represented. i+1 Characterizes the braking point. From Figure 3 It can be seen that the braking point p i+1 Located at the collision point p i+2 Before.

[0070] In practical applications, due to the uncertainty of obstacles perceived by the vehicle during operation, if an obstacle is detected on the planned trajectory, the vehicle will not immediately trigger replanning. Before the vehicle comes to a complete stop, the state of the obstacle is continuously monitored to determine the collision point. Therefore, if the obstacle is dynamic, the collision point is dynamically changing. Alternatively, due to the distance between the vehicle and the obstacle, the closer the vehicle is to the obstacle, the more accurately the vehicle determines the collision point. Consequently, as the vehicle continues to travel, the location of the collision point for the same obstacle may also change.

[0071] According to the above implementation method, since the collision point is dynamically changing, and the braking point is determined based on the collision point and the safe braking distance, the braking point is also dynamically changing. If the braking point disappears before the vehicle reaches it, it indicates that the collision point used to determine the braking point has disappeared. In this case, the vehicle does not need to stop and does not need to replan, achieving the effect of not needing to replan unless necessary.

[0072] Furthermore, when the vehicle stops at the braking point, replanning is triggered. At this time, since the vehicle is in a paused state when it is brought to a stop at the braking point, the time spent on replanning is imperceptible to the user. Moreover, during this period, the vehicle can free up a lot of computing power for replanning, greatly reducing the time spent on replanning.

[0073] In practical applications, when a vehicle encounters an obstacle while traveling along a planned trajectory, it is necessary to determine the braking point within the planned trajectory to ensure the vehicle can stop safely before the obstacle. Due to the uncertainty of obstacles—for example, dynamic obstacles to the side of the vehicle may frequently enter or leave the planned trajectory—the vehicle needs to perform real-time obstacle avoidance. This necessitates frequent updates to the braking point within the planned trajectory. Furthermore, when a braking point is set within the planned trajectory, the current endpoint of the vehicle's tracking trajectory is that braking point. Therefore, the aforementioned situation can lead to frequent jumps in the endpoint of the vehicle's tracking trajectory, which is detrimental to vehicle control and user experience.

[0074] Therefore, the embodiments presented in this disclosure can also solve this problem.

[0075] In one embodiment, the trajectory planning method may further include: predicting whether there is a collision point on the current driving road based on a set frequency; if a collision point is predicted to exist on the current driving road, performing the following operations: storing the predicted collision point in a first collision point set; deleting collision points stored earlier than a set time from the first collision point set, and obtaining a second collision point set based on the remaining collision points in the first collision point set; determining the collision point closest to the vehicle in the second collision point set; and updating the braking point in the planned trajectory based on the collision point closest to the vehicle and the braking safety distance.

[0076] For example, the frequency setting mentioned above can be 10Hz (Hertz), 20Hz or 50Hz, etc.

[0077] For example, the second set of collision points includes the remaining collision points after deleting collision points stored earlier than a set time from the first set of collision points.

[0078] For example, the collision points in the first set of collision points can be arranged in a queue from earliest to latest according to their entry time. The collision points in the second set of collision points can also be arranged in a queue from earliest to latest according to their entry time.

[0079] For example, if collision point a is stored in the queue corresponding to the first set of collision points, then collision point a is arranged at the end of the queue.

[0080] For example, the process of deleting collision points in the queue whose entry time is earlier than a set time includes: determining a first collision point in the queue whose entry time is less than or equal to the set time and whose entry time is closest to the set time; and deleting collision points from the start point of the queue to the first collision point in the queue.

[0081] In this example, a queue is used to represent the set, and the collision points in the queue are arranged from earliest to latest according to their entry time. In this way, collision points in the queue that were entered earlier than the set time can be deleted quickly and easily.

[0082] For example, after storing a collision point in the first collision point set, collision points in the first collision point set whose storage time is earlier than the current time are deleted. This 2 seconds is just an example; it could be 1 second or 3 seconds. It can be set according to actual needs.

[0083] For example, updating the braking point in the planned trajectory based on the closest collision point to the vehicle and the braking safety distance includes: determining a first braking point based on the closest collision point to the vehicle and the braking safety distance; updating the braking point in the planned trajectory to the first braking point if the first braking point is different from the braking point in the planned trajectory; and not updating the braking point in the planned trajectory if the first braking point is the same as the braking point in the planned trajectory.

[0084] As in the example above, the collision point queue has a time length, which represents the validity period of each collision point in the queue from the time it is added to the time it is deleted. Thus, the closest collision point to the vehicle determined in the set two times in succession may be the same, and the corresponding braking point may also be the same, so there is no need to update the braking point in the planned trajectory. Therefore, the above implementation can avoid frequent updates to the braking point, thereby preventing frequent jumps in the endpoint of the vehicle's tracking trajectory.

[0085] For example, the aforementioned set or queue of collision points can be used to determine whether an obstacle is real or false. If a collision point in the set or queue disappears before the vehicle stops, the obstacle corresponding to that collision point is considered false; otherwise, it is considered real.

[0086] In practical applications, the closer the vehicle is to an obstacle, the more accurate the collision point is determined. The following will use a collision point queue as an example to illustrate the process of determining whether an obstacle is a true or false obstacle to decide whether to trigger a trajectory re-tracking:

[0087] Before the vehicle comes to a complete stop, if the collision point A2 corresponding to the stopping point A1 in the planned trajectory is removed from the collision point queue, then the obstacle A3 corresponding to collision point A2 is considered false. If the collision point queue is still not empty, then the collision point B2 closest to the vehicle is determined in the queue, where B2 is after A2. Based on collision point B2 and the safe braking distance, a new stopping point B1 is obtained, where B1 is after A1. In the planned trajectory, trajectory point A1 is no longer designated as a stopping point, and trajectory point B1 is designated as a stopping point. The vehicle continues to execute the new stopping procedure with stopping point B1, and the above steps are repeated until one of the following two situations occurs:

[0088] 1. When the vehicle reaches the braking point on the planned trajectory, the vehicle stops, and the braking procedure ends. At this point, the obstacle corresponding to that braking point becomes a real obstacle, and the vehicle replans its trajectory to avoid the real obstacle.

[0089] 2. If the collision point queue becomes empty, it means that all the obstacles corresponding to the collision points previously stored in the queue are false obstacles. The braking procedure is canceled, and the vehicle travels along the original planned trajectory without having to avoid these false obstacles.

[0090] When a vehicle encounters a dynamic obstacle, the same strategy can be used to continuously detect the collision point and perform the above steps, achieving the following results:

[0091] 1. If the obstacle has been moved while the vehicle is approaching a dynamic obstacle, the vehicle does not need to replan its trajectory and can continue to travel along the original trajectory.

[0092] 2. When the vehicle is close to a dynamic obstacle, if the dynamic obstacle is still present, replanning is triggered to obtain a new trajectory that can avoid the dynamic obstacle.

[0093] When the vehicle is brought to a stop by an obstacle, the endpoint used for replanning is a new endpoint determined based on the vehicle's observation data, in order to avoid the impact of endpoint jumps on the replanned trajectory.

[0094] For example, if multiple collision points are predicted for the vehicle on the current road, the collision point closest to the vehicle is stored in the first collision point set. However, in practical applications, typically only one collision point is detected each time, and that is the collision point closest to the vehicle. Specifically:

[0095] Assume the vehicle runs a collision detection program at a frequency of 10Hz. Each detection starts from the vehicle's current trajectory tracking point (the trajectory tracking point closest to the vehicle in the current tracking trajectory) and continues until the last detection point. The last detection point can be the end point of the sub-planned trajectory corresponding to the current tracking trajectory, or it can be the end point of the entire planned trajectory.

[0096] Taking the last detection point as the endpoint of this sub-planned trajectory as an example, the following is an introduction:

[0097] If a collision is detected at trajectory point C1 within this sub-planned trajectory, collision detection for this period is stopped, and collision detection is no longer performed on trajectory points after trajectory point C1 within this sub-planned trajectory. Therefore, in practical applications, each time the vehicle detects a collision point, it can only detect the collision point closest to the vehicle and add that collision point to the collision point queue.

[0098] If the current detection has reached the end of this sub-planned trajectory and no collision point has been detected, then the current collision point detection will stop.

[0099] If a collision is detected at trajectory point C2 in this sub-planned trajectory, collision point C2 may be the same trajectory point as the previously detected collision point C1, or it may be a different trajectory point. Regardless of whether they are the same, collision point C2 will be stored in the collision point queue. The more times a collision point C2 appears in the collision point queue, the greater the probability that the obstacle corresponding to that collision point is real.

[0100] According to the above implementation method, the collision points of the vehicle on the current driving road are predicted at a set frequency, and the above steps are executed. For a new collision point predicted this time, if the collision point is not the collision point closest to the vehicle in the set, then the collision point closest to the vehicle in the set may be the collision point on which the previously determined braking point was based. That is, the collision point on which the current braking point is based may be the same as the collision point on which the previous braking point was based. The braking point in the planned trajectory can remain unchanged. Therefore, the above implementation method can avoid frequent updates of the braking point, thereby avoiding frequent jumps in the endpoint of the tracking trajectory.

[0101] In one embodiment, the trajectory planning method may further include: when it is predicted that there is no collision point for the vehicle on the current driving road, performing the following operations: if the first collision point set is not empty, deleting collision points whose storage time is earlier than a set time from the first collision point set, and obtaining a second collision point set based on the remaining collision points in the first collision point set; if the second collision point set is not empty, determining the collision point closest to the vehicle in the second collision point set; and updating the braking point in the planned trajectory based on the collision point closest to the vehicle and the braking safety distance.

[0102] In practical applications, when no collision point is detected on the current driving path, the first or second set of collision points may be non-empty. Therefore, it is necessary to determine whether the first and second sets of collision points are non-empty. If the second set of collision points is non-empty, it means that the collision point closest to the vehicle in that set is still valid. The obstacle corresponding to that collision point has only recently left the planned trajectory range, and it may reappear within the planned trajectory range in a short time. Therefore, the braking procedure executed by the vehicle based on the braking point determined by that collision point can still effectively avoid the obstacle for a short period of time.

[0103] For example, since the above steps are performed at a set frequency, the collision point set also dynamically deletes collision points whose storage time is earlier than the set time at this frequency. The collision points in the collision point set have a set validity period. Thus, the collision points closest to the vehicle determined in the set twice may be the same, and the corresponding braking points may be the same, so it is unnecessary to update the braking points in the planned trajectory. Therefore, the above implementation can avoid frequent updates of braking points, and consequently, avoid frequent jumps in the endpoint of the tracking trajectory.

[0104] For example, updating the braking point in the planned trajectory based on the closest collision point to the vehicle and the braking safety distance includes: determining a first braking point based on the closest collision point to the vehicle and the braking safety distance; updating the braking point in the planned trajectory to the first braking point if the first braking point is different from the braking point in the planned trajectory; and not updating the braking point in the planned trajectory if the first braking point is the same as the braking point in the planned trajectory.

[0105] According to the above implementation method, when a dynamic obstacle leaves the driving road corresponding to the planned trajectory, the vehicle predicts that there is no collision point on that driving road. At this time, since the first and second collision point sets are not empty, the braking point can be determined using the collision point closest to the vehicle in the second collision point set. Assume this collision point is the location where the dynamic obstacle and the vehicle may collide. When the dynamic obstacle reappears on the planned trajectory within a short period, the predicted collision point is the same as the previous collision point, meaning the braking point determined in the two instances is the same. In this case, the braking point does not need to be updated, and collision between the vehicle and the dynamic obstacle can still be avoided. Therefore, the above implementation method, while achieving real-time obstacle avoidance, avoids frequent updates to the braking point, thus preventing frequent jumps in the endpoint of the vehicle's tracking trajectory.

[0106] In one embodiment, the trajectory planning method may further include: when it is predicted that there is no collision point on the current driving road and the first collision point set is empty and / or the second collision point set is empty, no braking point is set in the planned trajectory.

[0107] Specifically, when the first collision point set is empty, the second collision point set is also empty. When the first collision point set is not empty, the second collision point set can be either empty or not empty.

[0108] According to this implementation, if no obstacle is detected and either the first collision point set or the second collision point set is empty, it indicates that the obstacle will not reappear temporarily. In this case, no braking point is set in the planned trajectory, and the vehicle will not stop, thereby avoiding unnecessary replanning.

[0109] By predicting collision points at a set frequency and implementing the above strategy, it can be seen that:

[0110] 1. Each predicted collision point may be the same or different, but they will all be stored in the collision point queue. If a collision point is stored multiple times, it means that the probability of the obstacle corresponding to that collision point being real is relatively high, that is, the probability of the vehicle colliding at that collision point is relatively high. If, after deleting an expired collision point from the set, the collision point is still the closest collision point to the vehicle in the queue, then the vehicle will use that collision point to determine its braking point.

[0111] 2. Since the braking point in the planned trajectory is determined by the nearest collision point in the queue (the collision point closest to the vehicle), moving or deleting non-nearest collision points in the queue will not affect the braking point in the planned trajectory. Non-nearest collision points are collision points in the queue other than the collision point closest to the vehicle.

[0112] 3. If the closest collision point to the vehicle is deleted from the queue before the vehicle comes to a complete stop, this will not trigger replanning. The stopping point will simply be updated based on the closest collision point to the vehicle in the new queue.

[0113] 4. Replanning is triggered only when the vehicle reaches the braking point.

[0114] Based on the above strategy, the embodiments of this disclosure can adaptively update the braking point in the planned trajectory to avoid triggering unnecessary replanning.

[0115] In one embodiment, the trajectory planning method may further include: determining a set time based on the current time and a preset time interval, wherein the set time is before the current time. The interval between the current time and the set time is the preset time interval.

[0116] For example, subtract the preset time interval from the current time to obtain the set time, and then delete the collision points stored in the first collision point set whose time is earlier than the set time.

[0117] The preset time interval can be set as needed.

[0118] The following example uses a preset time interval of 2 seconds. If the current time is 10:00, the set time is 9:58. Collision points with a storage time earlier than 9:58 are deleted from the first collision point set. If the current time is 14:30, the set time is 14:28. Collision points with a storage time earlier than 14:28 are deleted from the first collision point set.

[0119] According to the above implementation method, the collision points in the set are those whose storage time is within a preset time interval from the current time. Thus, the closest collision points to the vehicle determined in the set twice may be the same, and the corresponding braking points are also the same, so there is no need to update the braking points in the planned trajectory. Therefore, the above implementation method can avoid frequent updates of braking points, and consequently, avoid frequent jumps in the endpoint of the vehicle's tracking trajectory.

[0120] In one embodiment, the trajectory planning method may further include: determining the trajectory tracking point closest to the vehicle in the planned trajectory; and determining whether the vehicle has traveled to the intermediate destination point based on the distance between the trajectory tracking point and the intermediate destination point.

[0121] In practical applications, when a vehicle travels along a planned trajectory, a trajectory tracking point is determined. This trajectory tracking point can be used to determine whether the vehicle has reached a shift point or a braking point.

[0122] According to the above implementation method, it is possible to accurately determine whether the vehicle has traveled to the intermediate destination.

[0123] In one embodiment, determining the trajectory tracking point closest to the vehicle in the planned trajectory includes: if no trajectory tracking point closest to the vehicle has been determined in the planned trajectory, determining the planned trajectory as the target trajectory; if a trajectory tracking point closest to the vehicle has been determined in the planned trajectory, using the trajectory from the previously determined trajectory tracking point in the planned trajectory to the endpoint in the planned trajectory as the target trajectory; and determining the trajectory tracking point closest to the vehicle in the target trajectory.

[0124] According to this implementation method, it is only necessary to determine the trajectory tracking point for the target trajectory from the planned trajectory, instead of traversing all trajectory points in the planned trajectory each time to determine the trajectory tracking point, thus saving time in determining the trajectory tracking point and improving efficiency.

[0125] Of course, in some embodiments, it is also possible to determine the closest trajectory tracking point to the vehicle using the planned trajectory as the target trajectory, regardless of whether the trajectory tracking point closest to the vehicle has been determined before.

[0126] In one implementation, determining the trajectory tracking point closest to the vehicle in the target trajectory includes: determining a first product based on the distance vector from a first trajectory point to the vehicle's current position and a unit length vector from the first trajectory point to a second trajectory point, wherein the first trajectory point and the second trajectory point are any two adjacent trajectory points in the target trajectory; and determining the trajectory tracking point closest to the vehicle based on the first product and the line segment length from the first trajectory point to the second trajectory point.

[0127] For example, the first product can be the product of the distance vector from the first trajectory point to the vehicle's current position and the unit length vector from the first trajectory point to the second trajectory point.

[0128] For example, determining the trajectory tracking point closest to the vehicle based on the first product and the length of the line segment from the first trajectory point to the second trajectory point includes: determining the first trajectory point or the second trajectory point as the trajectory tracking point closest to the vehicle if the first product is greater than zero and less than or equal to the length of the line segment from the first trajectory point to the second trajectory point.

[0129] For example, determining the trajectory tracking point closest to the vehicle based on the first product and the length of the line segment from the first trajectory point to the second trajectory point includes: if the first product is less than zero or greater than the length of the line segment from the first trajectory point to the second trajectory point, determining that the first trajectory point and the second trajectory point are not the trajectory tracking points closest to the vehicle.

[0130] For example, the physical meaning of the first product mentioned above is the projection vector of the vehicle onto the line segment between two adjacent trajectory points in the planned trajectory.

[0131] According to this embodiment, the above-mentioned projection vector is calculated for any trajectory point in the planned trajectory. When the projection vector reaches the set conditions, the trajectory tracking point closest to the vehicle can be determined. It is not necessary to calculate the projection vector for other trajectory points, which can save time in determining the trajectory tracking point and improve efficiency.

[0132] In one implementation, determining the trajectory tracking point closest to the vehicle in the target trajectory includes: starting from the first trajectory point of the target trajectory, performing the following steps: determining a second product based on the distance vector from the i-th trajectory point to the current position of the vehicle and the unit length vector from the i-th trajectory point to the (i+1)-th trajectory point; where i is a positive integer; and determining whether the i-th trajectory point or the (i+1)-th trajectory point is the trajectory tracking point closest to the vehicle based on the second product and the line segment length from the i-th trajectory point to the (i+1)-th trajectory point.

[0133] For example, when the i-th trajectory point or the (i+1)-th trajectory point is determined to be the trajectory tracking point closest to the vehicle, the above steps are stopped.

[0134] For example, determining whether the i-th trajectory point or the i+1-th trajectory point is the trajectory tracking point closest to the vehicle based on the second product and the length of the line segment from the i-th trajectory point to the i+1-th trajectory point includes: determining the i-th trajectory point or the i+1-th trajectory point as the trajectory tracking point closest to the vehicle if the second product is greater than zero and less than or equal to the length of the line segment from the i-th trajectory point to the i+1-th trajectory point.

[0135] For example, determining whether the i-th trajectory point or the i+1-th trajectory point is the trajectory tracking point closest to the vehicle based on the second product and the length of the line segment from the i-th trajectory point to the i+1-th trajectory point includes: if the second product is less than zero or greater than the length of the line segment from the i-th trajectory point to the i+1-th trajectory point, determining that the i-th trajectory point and the i+1-th trajectory point are not the trajectory tracking points closest to the vehicle.

[0136] In practical applications, the trajectory tracking point closest to the vehicle can be determined as follows: For the target trajectory, take the starting point of the target trajectory as the first trajectory point. Starting with an initial value of 1 for i, calculate the second product of the distance vector from the i-th trajectory point to the vehicle's current position and the unit length vector from the i-th trajectory point to the (i+1)-th trajectory point. If the second product is less than zero or greater than the length of the line segment from the i-th trajectory point to the (i+1)-th trajectory point, increment i by one and return to continue calculating the second product. Continue this process until the second product is greater than zero and less than or equal to the length of the line segment from the i-th trajectory point to the (i+1)-th trajectory point. Then, determine the i-th trajectory point or the (i+1)-th trajectory point as the trajectory tracking point closest to the vehicle.

[0137] For example, the physical meaning of the second product mentioned above is the projection vector of the vehicle onto the line segment between two adjacent trajectory points in the planned trajectory.

[0138] For example, the calculation process of the projection vector d is described below using a formula, as follows:

[0139]

[0140] in, Represents the i-th trajectory point p i The distance vector between the vehicle position b and the vehicle position b. Represents the i-th trajectory point p i With the (i+1)th trajectory point p i+1 The distance vector between them This indicates that the trajectory starts from the i-th point p. i to the (i+1)th trajectory point p i+1 The length of the line segment, where i is a positive integer.

[0141] in, Represents the i-th trajectory point p i With the (i+1)th trajectory point p i+1 A unit-length vector between them.

[0142] like Figure 3 As shown, the i-th trajectory point p i The directed line pointing to vehicle position b represents the i-th trajectory point p. i The distance vector between the i-th trajectory point and the vehicle position b, where the i-th trajectory point points to the (i+1)-th trajectory point p. i+1 The directed line represents the i-th trajectory point p. i With the (i+1)th trajectory point p i+1 The distance vector between them.

[0143] If the projection vector d satisfies The i-th trajectory point is then used as the trajectory tracking point closest to the vehicle. In some embodiments, the (i+1)-th trajectory point can also be used as the trajectory tracking point closest to the vehicle.

[0144] According to the above implementation method, when there are many trajectory points that the vehicle needs to track, starting from the first trajectory point of the target trajectory, it is determined whether the trajectory point is the trajectory tracking point closest to the vehicle. When the trajectory tracking point is determined, the above traversal operation on the remaining trajectory points in the target trajectory can be stopped. It is not necessary to traverse all trajectory points in the target trajectory to determine the trajectory tracking point closest to the vehicle, thereby further improving the efficiency of determining the trajectory tracking point.

[0145] In one embodiment, determining the trajectory tracking point closest to the vehicle in the target trajectory includes: for each trajectory point on the target trajectory, performing the following steps: determining whether to update the first distance based on the Euclidean distance between the trajectory point and the current position of the vehicle, and the third product of the position vector of the trajectory point and the motion direction vector of the vehicle; if the above steps are performed once for each trajectory point in the target trajectory, determining the trajectory tracking point closest to the vehicle based on the trajectory point corresponding to the last update of the first distance.

[0146] For example, determining whether to update the first distance based on the Euclidean distance between the trajectory point and the current position of the vehicle, and the third product of the position vector of the trajectory point and the motion direction vector of the vehicle, includes: calculating the Euclidean distance between the trajectory point and the current position of the vehicle, and calculating the third product of the position vector of the trajectory point and the motion direction vector of the vehicle; updating the first distance based on the Euclidean distance if the Euclidean distance is less than the first distance and the third product is greater than zero; and not updating the first distance if the Euclidean distance is greater than the first distance, or if the Euclidean distance is less than the first distance and the third product is less than zero.

[0147] For example, determining the trajectory tracking point closest to the vehicle based on the trajectory point corresponding to the last update of the first distance includes: using the trajectory point corresponding to the last update of the first distance as the trajectory tracking point closest to the vehicle.

[0148] For example, the above steps are performed point by point for each trajectory point in the target trajectory, including performing the above steps point by point from the start point to the end point of the target trajectory, or performing the above steps point by point from the end point to the start point of the target trajectory.

[0149] For example, if the third product is greater than zero, it means that the trajectory point is in the same direction as the vehicle's movement; if the third product is less than zero, it means that the trajectory point is in the opposite direction to the vehicle's movement.

[0150] According to the above implementation method, for each trajectory point in the target trajectory, the distance between the trajectory point and the vehicle is calculated, and this distance is compared with a first distance. If the distance is less than the first distance and the trajectory point moves in the same direction as the vehicle, the first distance is updated with this distance; otherwise, it is not updated. After performing this operation once for each trajectory point in the target trajectory, the trajectory point corresponding to the last update of the first distance is taken as the trajectory tracking point closest to the vehicle. In this way, the above implementation method can accurately determine the trajectory tracking point closest to the vehicle in the target trajectory.

[0151] According to the above implementation method, for each trajectory point in the planned trajectory, the distance between the trajectory point and the vehicle is calculated, and this distance is compared with a first distance. If the distance is less than the first distance and the trajectory point moves in the same direction as the vehicle, the first distance is updated with this distance; otherwise, it is not updated. After performing this operation once for each trajectory point in the planned trajectory, the trajectory point corresponding to the last update of the first distance is taken as the trajectory tracking point closest to the vehicle. In this way, the above implementation method can accurately determine the trajectory tracking point closest to the vehicle in the planned trajectory.

[0152] For example, the above traversal operation is described by the following formula:

[0153] Vehicle position is represented as t wb The attitude is represented by θ b The vehicle speed is represented as v b In this context, the direction of vehicle movement forward is considered positive, the direction of vehicle movement backward is considered negative, and the direction of vehicle motion is...

[0154] Starting from the starting point of the target trajectory, perform the following traversal operation on each trajectory point in the target trajectory sequentially; alternatively, starting from the starting point of the planned trajectory, perform the following traversal operation on each trajectory point in the planned trajectory sequentially: Calculate the distance vector between the i-th trajectory point and the vehicle position. and the Euclidean distance between the two expressed in terms of L2 norm. If the Euclidean distance is less than the minimum distance s, then calculate the trajectory direction of the i-th trajectory point. With respect to the direction of vehicle movement The result of the dot product between the points is the third product mentioned above. If the dot product is greater than zero, it means that the trajectory direction of the i-th trajectory point is the same as the vehicle's direction of movement. In this case, the nearest distance s is updated using the Euclidean distance mentioned above; otherwise, the above operation is performed on the next trajectory point until the intermediate destination point is reached, at which point the traversal stops. For example, the traversal stops when the gear shift point is reached.

[0155] In one embodiment, the trajectory planning method may further include: if a trajectory tracking point cannot be determined within a set time period, controlling the vehicle to stop and determining the vehicle's parking position; re-determining the vehicle's destination based on the vehicle's observation data; and determining the vehicle's replanned trajectory based on the parking position and the destination.

[0156] Specifically, when the replanned trajectory of the vehicle is obtained, the planned trajectory of the vehicle is updated based on the replanned trajectory so that the vehicle continues to drive according to the updated planned trajectory.

[0157] In practical applications, if the closest tracking point to the vehicle is not found, it indicates that the vehicle's trajectory tracking is abnormal and the trajectory needs to be replanned.

[0158] Figure 4 This is a flowchart of a trajectory planning method according to another embodiment of the present disclosure.

[0159] like Figure 4 As shown, the method includes the following steps:

[0160] S401, Find the trajectory tracking point closest to the vehicle in the planned trajectory. The vehicle acquires the data required for the planned trajectory, determines the planned trajectory based on this data, and updates the planned map. Determine if the vehicle has reached the endpoint in the planned trajectory. If the endpoint has not been reached, find the trajectory tracking point closest to the vehicle. If a trajectory tracking point is found, proceed to step S402; otherwise, proceed to step S415.

[0161] S402, determine whether the trajectory tracking point is close to the gear shift point. If the trajectory tracking point is close to the gear shift point, proceed to step S403. If the trajectory tracking point is not close to the gear shift point, proceed to step S407.

[0162] S403, determine if the vehicle speed is close to zero. If the vehicle speed is close to zero, proceed to step S404. If the vehicle speed is not close to zero, proceed to step S407.

[0163] S404, Calculate the new endpoint based on the current observation data.

[0164] S405, determine whether the position between the new endpoint and the original endpoint is greater than a set threshold. If it is greater, proceed to step S415; otherwise, proceed to step S406.

[0165] S406, determine whether the vehicle successfully shifted gears at the shift point. If successful, the vehicle's tracking trajectory switches to the next sub-planned trajectory within the planned trajectory. This next sub-planned trajectory includes the path from the aforementioned shift point to the next shift point within the planned trajectory. If unsuccessful, proceed to step S407.

[0166] S407, determine if there is a collision point on the current driving road. If a collision point exists, proceed to step S408. If no collision point exists, determine if the collision point queue is not empty. If the collision point queue is not empty, proceed to step S409.

[0167] S408, store the collision point in the collision point queue.

[0168] S409, remove collision points from the collision point queue that are earlier than the set time.

[0169] S410, determine whether the collision point queue is not empty. If it is not empty, proceed to step S411.

[0170] S411, Identify the target collision point closest to the vehicle in the collision point queue.

[0171] S412, along the vehicle's direction of travel, set the braking point to be located before the target collision point, and the distance between the braking point and the target collision point is 0.5 meters.

[0172] S413, Determine if the trajectory tracking point is close to the braking point. If it is close, proceed to step S414.

[0173] S414, determine if the vehicle speed is close to zero. If the vehicle speed is close to zero, proceed to step S415.

[0174] S415 replans the vehicle's planned trajectory so that the vehicle travels along the replanned trajectory.

[0175] According to the above implementation method, replanning is only triggered when the vehicle stops and the trajectory is abnormal, achieving the effect of avoiding replanning unless absolutely necessary. Furthermore, replanning uses the vehicle's stopping position as the starting point, avoiding the problem of difficult starting point selection. Since a vehicle typically requires 1 to 2 seconds to come to a stop, replanning the trajectory during this stage allows the vehicle to allocate computing power to replanning, enabling the vehicle to use some computationally intensive planning algorithms. Moreover, the time required for replanning during this stage is imperceptible to the user, improving the user experience. Additionally, when the vehicle stops, the computing power requirements of other modules in the vehicle decrease, freeing up computing power for replanning and reducing its time consumption.

[0176] Figure 5 This is a structural block diagram of a trajectory planning device according to an embodiment of the present disclosure.

[0177] like Figure 5 As shown, this disclosure provides a trajectory planning device, including:

[0178] The trajectory anomaly judgment module 501 is used to determine whether there is an anomaly in the planned trajectory based on the intermediate destination point when the vehicle travels to the intermediate destination point in the planned trajectory and the vehicle's speed becomes zero.

[0179] The first trajectory replanning module 502 is used to replan the trajectory of the vehicle when there is an anomaly in the planned trajectory, so as to obtain the replanned trajectory of the vehicle.

[0180] Figure 6 This is a structural block diagram of a trajectory planning device according to another embodiment of the present disclosure.

[0181] like Figure 6 As shown, this embodiment of the present disclosure provides a trajectory planning device including a trajectory anomaly judgment module 601 and a first trajectory replanning module 602. Wherein, Figure 6 The trajectory anomaly detection module 601 and the first trajectory replanning module 602 in the middle are Figure 5 The trajectory anomaly judgment module 501 and the first trajectory replanning module 502 have the same function, which will not be described in detail here.

[0182] In one implementation, such as Figure 6 As shown, the trajectory anomaly detection module 601 includes:

[0183] The destination determination unit 6011 is used to update the vehicle's destination based on the vehicle's observation data when the intermediate destination point is a gear shift point.

[0184] The first anomaly determination unit 6012 is used to determine that there is an anomaly in the planned trajectory when the updated driving endpoint does not match the endpoint in the planned trajectory.

[0185] In one embodiment, the trajectory anomaly detection module 601 includes:

[0186] The second anomaly determination unit 6013 is used to determine that there is an anomaly in the planned trajectory when the intermediate destination point is a braking point; wherein, the braking point is a trajectory point determined based on the braking safety distance and the collision point of the vehicle on the current driving road.

[0187] In one implementation, such as Figure 6 As shown, the trajectory planning device also includes:

[0188] The collision point prediction module 603 is used to predict whether there is a collision point on the current driving road based on a set frequency;

[0189] The first braking point update module 604 is used to perform the following operations when a collision point is predicted to exist for the vehicle on the current driving road:

[0190] Store the predicted collision points into the first collision point set;

[0191] Remove collision points from the first collision point set whose storage time is earlier than the set time, and obtain the second collision point set based on the remaining collision points in the first collision point set;

[0192] Identify the collision point closest to the vehicle from the second set of collision points;

[0193] The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

[0194] In one implementation, such as Figure 6 As shown, the trajectory planning device also includes:

[0195] The second braking point update module 605 is used to perform the following operations when it is predicted that there is no collision point for the vehicle on the current driving road:

[0196] If the first collision point set is not empty, delete the collision points whose storage time is earlier than the set time from the first collision point set, and obtain the second collision point set based on the remaining collision points in the first collision point set.

[0197] If the second collision point set is not empty, determine the collision point closest to the vehicle in the second collision point set;

[0198] The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

[0199] In one implementation, such as Figure 6 As shown, the trajectory planning device also includes:

[0200] The time determination module 606 is used to obtain a set time based on the current time and a preset time interval, wherein the set time is before the current time.

[0201] In one implementation, such as Figure 6 As shown, the trajectory planning device also includes:

[0202] The trajectory tracking point determination module 607 is used to determine the trajectory tracking point closest to the vehicle in the planned trajectory;

[0203] The driving position determination module 608 is used to determine whether the vehicle has traveled to the intermediate destination point based on the distance between the trajectory tracking point and the intermediate destination point.

[0204] In one embodiment, the trajectory tracking point determination module 607 includes:

[0205] The first trajectory determination unit 6071 determines the planned trajectory as the target trajectory when no trajectory tracking point closest to the vehicle has been determined in the planned trajectory.

[0206] The second trajectory determination unit 6072, if the trajectory tracking point closest to the vehicle has been determined in the planned trajectory, will take the trajectory between the trajectory tracking point determined in the previous planned trajectory and the end point in the planned trajectory as the target trajectory.

[0207] The tracking point determination unit 6073 is used to determine the tracking point closest to the vehicle in the target trajectory.

[0208] In one implementation, the tracking point determination unit 6073 is specifically used for:

[0209] Based on the distance vector from the first trajectory point to the current position of the vehicle, and the unit length vector from the first trajectory point to the second trajectory point, a first product is determined, wherein the first trajectory point and the second trajectory point are any two adjacent trajectory points in the target trajectory;

[0210] Based on the first product and the length of the line segment from the first trajectory point to the second trajectory point, the trajectory tracking point closest to the vehicle is determined.

[0211] In one implementation, the tracking point determination unit 6073 is specifically used for:

[0212] Starting from the first trajectory point of the target trajectory, perform the following steps:

[0213] The second product is determined based on the distance vector from the i-th trajectory point to the current position of the vehicle, and the unit length vector from the i-th trajectory point to the (i+1)-th trajectory point; where i is a positive integer.

[0214] Based on the second product and the length of the line segment from the i-th trajectory point to the (i+1)-th trajectory point, determine whether the i-th trajectory point or the (i+1)-th trajectory point is the trajectory tracking point closest to the vehicle.

[0215] In one embodiment, the tracking point determination unit 6073 is specifically used for:

[0216] For the target trajectory, perform the following steps for each trajectory point: Based on the Euclidean distance between the trajectory point and the current position of the vehicle, and the third product of the position vector of the trajectory point and the motion direction vector of the vehicle, determine whether to update the first distance based on the Euclidean distance;

[0217] If the above steps are performed once for each trajectory point in the target trajectory, the trajectory tracking point closest to the vehicle is determined based on the trajectory point corresponding to the last update of the first distance.

[0218] In one implementation, such as Figure 6 As shown, the trajectory planning device also includes:

[0219] The vehicle parking control module 609 is used to control the vehicle to stop and determine the vehicle's parking position if the trajectory tracking point cannot be determined within a set time period.

[0220] The destination determination module 610 is used to redetermine the destination of the vehicle based on the vehicle's observation data.

[0221] The second trajectory replanning module 611 is used to determine the replanning trajectory of the vehicle based on the parking location and the destination of the journey.

[0222] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0223] According to embodiments of this disclosure, this disclosure also provides an electronic device, a vehicle, a readable storage medium, and a computer program product.

[0224] Figure 7A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0225] like Figure 7 As shown, device 700 includes a computing unit 701, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 702 or a computer program loaded from storage unit 708 into random access memory (RAM) 703. RAM 703 may also store various programs and data required for the operation of device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704.

[0226] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0227] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as a trajectory planning method. For example, in some embodiments, a trajectory planning method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of a trajectory planning method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform a trajectory planning method by any other suitable means (e.g., by means of firmware).

[0228] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0229] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0230] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0231] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0232] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0233] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0234] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0235] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A trajectory planning method, comprising: If the vehicle travels to an intermediate destination point in the planned trajectory and the vehicle's speed becomes zero, determine whether there is an anomaly in the planned trajectory based on the intermediate destination point; If the planned trajectory is abnormal, the trajectory of the vehicle is replanned to obtain the replanned trajectory of the vehicle. Also includes: Based on a set frequency, predict whether the vehicle will encounter a collision point on the current road. If a collision point is predicted for the vehicle on its current road, perform the following operations: The predicted collision points are stored in the first collision point set; Remove collision points from the first collision point set whose storage time is earlier than the set time, and obtain the second collision point set based on the remaining collision points in the first collision point set; Determine the collision point closest to the vehicle from the second set of collision points; The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

2. The method according to claim 1, wherein, The step of determining whether there are any anomalies in the planned trajectory based on the intermediate destination point includes: If the intermediate destination is a gear shift point, the vehicle's destination is updated based on the vehicle's observation data. If the updated destination does not match the destination in the planned trajectory, it is determined that the planned trajectory is abnormal.

3. The method according to claim 2, wherein, The shift point includes the position where the vehicle shifts from forward gear to reverse gear or the position where the vehicle shifts from reverse gear to forward gear.

4. The method according to claim 1, wherein, The step of determining whether the planned trajectory is abnormal based on the intermediate destination point also includes: If the intermediate destination point is the braking point, it is determined that the planned trajectory is abnormal; The braking point is a trajectory point determined based on the braking safety distance and the collision point of the vehicle on the current driving road.

5. The method according to claim 1, further comprising: If it is predicted that there is no collision point for the vehicle on its current driving road, perform the following operations: If the first collision point set is not empty, delete the collision points whose storage time is earlier than the set time from the first collision point set, and obtain the second collision point set based on the remaining collision points in the first collision point set. If the second set of collision points is not empty, determine the collision point closest to the vehicle in the second set of collision points; The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

6. The method according to claim 1 or 5, further comprising: The set time is determined based on the current time and a preset time interval, wherein the set time is before the current time.

7. The method according to any one of claims 1-5, further comprising: Determine the trajectory tracking point closest to the vehicle in the planned trajectory; Based on the distance between the trajectory tracking point and the intermediate destination point, it is determined whether the vehicle has traveled to the intermediate destination point.

8. The method according to claim 7, wherein, Determining the trajectory tracking point closest to the vehicle in the planned trajectory includes: If no tracking point closest to the vehicle has been identified in the planned trajectory, the planned trajectory is determined as the target trajectory. If a trajectory tracking point closest to the vehicle has been identified in the planned trajectory, the trajectory from the previously identified trajectory tracking point in the planned trajectory to the endpoint in the planned trajectory will be used as the target trajectory. The track tracking point closest to the vehicle is determined in the target trajectory.

9. The method according to claim 8, wherein, The trajectory tracking point that is closest to the vehicle in the planned trajectory includes: Based on the distance vector from the first trajectory point to the current position of the vehicle, and the unit length vector from the first trajectory point to the second trajectory point, a first product is determined, wherein the first trajectory point and the second trajectory point are any two adjacent trajectory points in the target trajectory; Based on the first product and the length of the line segment from the first trajectory point to the second trajectory point, the trajectory tracking point closest to the vehicle is determined.

10. The method according to claim 8, wherein, Determining the trajectory tracking point closest to the vehicle in the target trajectory includes: Starting from the first trajectory point of the target trajectory, perform the following steps: The second product is determined based on the distance vector from the i-th trajectory point to the current position of the vehicle, and the unit length vector from the i-th trajectory point to the (i+1)-th trajectory point; where i is a positive integer. Based on the second product and the length of the line segment from the i-th trajectory point to the (i+1)-th trajectory point, determine whether the i-th trajectory point or the (i+1)-th trajectory point is the trajectory tracking point closest to the vehicle.

11. The method according to claim 8, wherein, Determining the trajectory tracking point closest to the vehicle in the target trajectory includes: For the target trajectory, perform the following steps for each trajectory point: Based on the Euclidean distance between the trajectory point and the current position of the vehicle, and the third product of the position vector of the trajectory point and the motion direction vector of the vehicle, determine whether to update the first distance based on the Euclidean distance; If the above steps are performed once for each trajectory point in the target trajectory, the trajectory tracking point closest to the vehicle is determined based on the trajectory point corresponding to the last update of the first distance.

12. The method of claim 7, further comprising: If the trajectory tracking point cannot be determined within the set time period, the vehicle is controlled to stop and the stopping position of the vehicle is determined. Based on the observation data of the vehicle, the destination of the vehicle's journey is re-determined; Based on the parking location and the destination, the replanning trajectory of the vehicle is determined.

13. A trajectory planning device, comprising: The trajectory anomaly detection module is used to determine whether there is an anomaly in the planned trajectory when the vehicle travels to an intermediate destination point in the planned trajectory and the vehicle's speed becomes zero, based on the intermediate destination point. The first trajectory replanning module is used to replan the trajectory of the vehicle when the planned trajectory is abnormal, so as to obtain the replanned trajectory of the vehicle. Also includes: The collision point prediction module is used to predict whether there is a collision point for the vehicle on the current driving road based on a set frequency. The first braking point update module is used to perform the following operations when a collision point is predicted for the vehicle on the current road: The predicted collision points are stored in the first collision point set; Remove collision points from the first collision point set whose storage time is earlier than the set time, and obtain the second collision point set based on the remaining collision points in the first collision point set; Determine the collision point closest to the vehicle from the second set of collision points; The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

14. The apparatus according to claim 13, wherein, The trajectory anomaly detection module includes: The destination determination unit is used to update the destination of the vehicle based on the vehicle's observation data when the intermediate destination is a gear shift point. The first anomaly determination unit is used to determine that there is an anomaly in the planned trajectory if the updated driving destination does not match the destination in the planned trajectory.

15. The apparatus according to claim 13, wherein, The trajectory anomaly detection module also includes: The second anomaly determination unit is used to determine that there is an anomaly in the planned trajectory when the intermediate destination point is the braking point; The braking point is a trajectory point determined based on the braking safety distance and the collision point of the vehicle on the current driving road.

16. The apparatus according to claim 13, wherein, Also includes: The second braking point update module is used to perform the following operations when it is predicted that there is no collision point for the vehicle on the current driving road: If the first collision point set is not empty, delete the collision points whose storage time is earlier than the set time from the first collision point set, and obtain the second collision point set based on the remaining collision points in the first collision point set. If the second set of collision points is not empty, determine the collision point closest to the vehicle in the second set of collision points; The braking point in the planned trajectory is updated based on the closest collision point to the vehicle and the safe braking distance.

17. The apparatus according to claim 13 or 16, further comprising: A time determination module is used to obtain the set time based on the current time and a preset time interval, wherein the set time is before the current time.

18. The apparatus according to any one of claims 13-16, further comprising: A trajectory tracking point determination module is used to determine the trajectory tracking point that is closest to the vehicle in the planned trajectory; The driving position determination module is used to determine whether the vehicle has traveled to the intermediate destination point based on the distance between the trajectory tracking point and the intermediate destination point.

19. The apparatus according to claim 18, wherein, The trajectory tracking point determination module includes: The first trajectory determination unit determines the planned trajectory as the target trajectory if no trajectory tracking point closest to the vehicle has been determined in the planned trajectory. The second trajectory determination unit, if a trajectory tracking point closest to the vehicle has been determined in the planned trajectory, will take the trajectory between the trajectory tracking point determined in the previous planned trajectory and the endpoint in the planned trajectory as the target trajectory. The tracking point determination unit is used to determine the trajectory tracking point that is closest to the vehicle in the target trajectory.

20. The apparatus according to claim 19, wherein, The tracking point determination unit is specifically used for: Based on the distance vector from the first trajectory point to the current position of the vehicle, and the unit length vector from the first trajectory point to the second trajectory point, a first product is determined, wherein the first trajectory point and the second trajectory point are any two adjacent trajectory points in the target trajectory; Based on the first product and the length of the line segment from the first trajectory point to the second trajectory point, the trajectory tracking point closest to the vehicle is determined.

21. The apparatus according to claim 19, wherein, The tracking point determination unit is specifically used for: Starting from the first trajectory point of the target trajectory, perform the following steps: The second product is determined based on the distance vector from the i-th trajectory point to the current position of the vehicle, and the unit length vector from the i-th trajectory point to the (i+1)-th trajectory point; where i is a positive integer. Based on the second product and the length of the line segment from the i-th trajectory point to the (i+1)-th trajectory point, determine whether the i-th trajectory point or the (i+1)-th trajectory point is the trajectory tracking point closest to the vehicle.

22. The apparatus according to claim 19, wherein, The tracking point determination unit is specifically used for: For the target trajectory, perform the following steps for each trajectory point: Based on the Euclidean distance between the trajectory point and the current position of the vehicle, and the third product of the position vector of the trajectory point and the motion direction vector of the vehicle, determine whether to update the first distance based on the Euclidean distance; If the above steps are performed once for each trajectory point in the target trajectory, the trajectory tracking point closest to the vehicle is determined based on the trajectory point corresponding to the last update of the first distance.

23. The apparatus of claim 18, further comprising: The vehicle parking control module is used to control the vehicle to stop and determine the parking position of the vehicle if the trajectory tracking point cannot be determined within a set time period. The destination determination module is used to redetermine the destination of the vehicle based on the vehicle's observation data. The second trajectory replanning module is used to determine the replanned trajectory of the vehicle based on the parking location and the destination.

24. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-12.

25. A vehicle comprising the electronic equipment of claim 24.

26. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-12.

27. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-12.