Driving track optimization method, device and system and storage medium

Through the particle swarm optimization algorithm, the vehicle trajectory is updated in real time in the autonomous driving system, which solves the problem of difficult to deal with complex traffic environments in the existing technology, and realizes the optimization of vehicle paths and the flexibility of the autonomous driving system.

CN119294630APending Publication Date: 2025-01-10TUS CLOUD CONTROL (BEIJING) TECH LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411284112.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2025-01-10

AI Technical Summary

Technical Problem

The existing autonomous driving system is difficult to adjust and optimize driving trajectory in a timely manner in dynamic and complex traffic environments, and cannot effectively deal with real-time traffic conditions.

Method used

Particle swarm optimization algorithm (PSO) is used to randomly generate particles in a specific search space, update the speed and position of particles, generate vehicle driving trajectory, and select the optimal trajectory by calculating the trajectory fitness to optimize the driving path in real time.

Benefits of technology

It realizes real-time optimization of vehicle driving paths in complex traffic environments, improves the resilience and flexibility of the autonomous driving system, and ensures safety and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119294630A_ABST
    Figure CN119294630A_ABST
Patent Text Reader

Abstract

The invention discloses a driving track optimization method, device and system and a storage medium, which are used for optimizing a vehicle driving path. The method comprises the following steps: randomly generating a first preset number of particles in a specific search space, wherein the specific search space is a pre-planned driving path of a vehicle; updating the speed in the first preset number of particles, and updating the position in the first preset number of particles; generating a second preset number of particles according to the speed and the position in the updated particles; converting all particles into a vehicle driving track; calculating the fitness of each vehicle driving track according to the vehicle driving tracks; and selecting the vehicle driving track with the lowest fitness as the optimal driving track, and guiding the vehicle to perform automatic driving through the optimal driving track. Through the method, the driving path of the vehicle can be optimized according to the actual traffic condition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving technology, and in particular to a driving trajectory optimization method, device, system and storage medium. Background Art

[0002] With the development of intelligent vehicle technology, autonomous driving has become one of the important research directions in the automotive industry. Among them, path planning, as one of the core components of the autonomous driving system, is crucial to ensure that the vehicle can complete the driving task safely and efficiently. Straight trajectory planning is to plan the longitudinal and lateral behavior of the vehicle according to the local traffic environment without crossing the left and right edges of the current lane to obtain the target trajectory, that is, to find a curve that does not collide with obstacles, meets the vehicle dynamics constraints, does not cross the left and right edges of the current lane, and is relatively good in comfort, safety, and efficiency. The current autonomous driving system usually plans the path based on the pre-acquired map data and road condition data. However, the road traffic environment in reality is dynamically changing. In this case, the current autonomous driving system has limited adaptability and flexibility, and it is difficult to meet the complex and dynamic traffic conditions, and it is impossible to make timely and effective adjustments and decisions.

[0003] Therefore, how to provide a driving trajectory optimization method to optimize the vehicle driving path according to actual traffic conditions has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] The present application provides a driving trajectory optimization method, device, system and storage medium for optimizing a vehicle's driving path according to actual traffic conditions.

[0005] The present application provides a driving trajectory optimization method, comprising:

[0006] Randomly generating a first preset number of particles in a specific search space, where the specific search space is a pre-planned driving path of the vehicle;

[0007] updating the velocities of the first preset number of particles and updating the positions of the first preset number of particles;

[0008] generating a second preset number of particles according to the updated speeds and positions of the particles;

[0009] Convert all particles into vehicle trajectories;

[0010] Calculate the fitness of each vehicle driving trajectory according to the vehicle driving trajectory;

[0011] The vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory.

[0012] The beneficial effects of the present application are as follows: since the present application can randomly generate a first preset number of particles in a specific search space, the specific search space is a pre-planned driving path for the vehicle; based on real-time traffic conditions, the speed in the first preset number of particles is updated, and the position in the first preset number of particles is updated; a second preset number of particles is generated according to the speed and position in the updated particles; all particles are converted into vehicle driving trajectories; the fitness of each vehicle driving trajectory is calculated according to the vehicle driving trajectory in combination with traffic conditions; the vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory. Since the vehicle can optimize the driving path of the trajectory according to traffic conditions in real time, and determine the optimal driving path from multiple driving paths, the effect of optimizing the driving path in real time is achieved.

[0013] In one embodiment, updating the speed of the first preset number of particles includes:

[0014] Get the current velocity, individual best position and group best position of the particle;

[0015] Substituting the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of a first preset number of particles.

[0016] In one embodiment, substituting the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of the first preset number of particles includes:

[0017] Substitute the current speed, individual optimal position and group optimal position of the particles into the following first preset formula to update the speed of the first preset number of particles:

[0018] v i (t+1)=wv i (t)+c1r1(p i -x i )+c2r2(g-χ i );

[0019] Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, χ i is the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, and t+1 is the next time point for updating the particle state.

[0020] In one embodiment, updating the positions of the first preset number of particles includes:

[0021] Obtaining current positions recorded in a first preset number of particles;

[0022] Substituting the current position recorded in the first preset number of particles into the following second preset formula to update the velocity in the first preset number of particles:

[0023] x i (t+1)=x i (t)+V i (t+1);

[0024] Among them, χ i is the position of the particle, v i is the velocity of the particle, t is the current time point, and t+1 is the next time point.

[0025] In one embodiment, converting all particles into vehicle driving trajectories includes:

[0026] Initialize the trajectory;

[0027] The new position, velocity, and heading angle are calculated based on the control amount and the time interval between two trajectory points, and the trajectory is updated until all trajectory points in the particle are updated.

[0028] In one embodiment, the calculating of the new position, speed, and heading angle according to the control amount and the time interval between two trajectory points includes:

[0029] Obtaining the angular acceleration between two adjacent trajectory points in the particle;

[0030] determining the motion type of the vehicle according to the angular acceleration between two adjacent trajectory points in the particle;

[0031] When the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula;

[0032] When the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula;

[0033] Calculate a new heading angle by a third preset formula;

[0034] The new speed is calculated by the fourth preset formula.

[0035] In one embodiment, the step of calculating the fitness of each vehicle driving trajectory according to the vehicle driving trajectory includes:

[0036] According to the vehicle's driving trajectory, the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between the vehicle and the lane center, acceleration, angular velocity, and distance between the vehicle and obstacles are obtained;

[0037] Substitute the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between vehicles and lane centers, acceleration, angular velocity, and distance between vehicles and obstacles into the following fifth preset formula to calculate the fitness of each vehicle driving trajectory:

[0038]

[0039] Among them, fitnessSum is the fitness of the vehicle's driving trajectory; numOfTrajPoints is the total number of trajectory points; WEIGHT SPEED is the weight of the speed penalty; WEIGHT lanedepart is the weight of the lane departure penalty; dis2lanecenter is the distance between the vehicle and the lane center; dis2lanecenter max is the maximum allowable deviation from the center of the lane; WEIGHT ACC is the weight of the acceleration penalty; a i is the acceleration of the ith trajectory point; WEIGHT ω is the weight of the angular velocity penalty; ω i is the angular velocity of the i-th trajectory point; ω max is the maximum permissible angular velocity; WEIGHT dis2obs is the weight of the penalty for the distance to the obstacle; dis2obs is the distance to the obstacle, dis2obs max is the maximum allowed distance from obstacles; v i is the velocity of the ith trajectory point; v max is the maximum permissible speed.

[0040] The present application also provides a driving trajectory optimization device, comprising:

[0041] A first generating module, used for randomly generating a first preset number of particles in a specific search space, wherein the specific search space is a pre-planned driving path of the vehicle;

[0042] An updating module, configured to update the speed of the first preset number of particles and update the position of the first preset number of particles;

[0043] A second generating module, used for generating a second preset number of particles according to the speed and position of the updated particles;

[0044] A conversion module, used to convert all particles into vehicle trajectories;

[0045] A calculation module, used for calculating the fitness of each vehicle driving trajectory according to the vehicle driving trajectory;

[0046] The selection module is used to select the vehicle driving trajectory with the lowest fitness as the optimal driving trajectory, and guide the vehicle to perform automatic driving through the optimal driving trajectory.

[0047] In one embodiment, the update module includes:

[0048] The first acquisition submodule is used to obtain the current speed, individual best position and group best position of the particles;

[0049] The first substitution submodule is used to substitute the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of a first preset number of particles.

[0050] In one embodiment, the substitution submodule is further used to:

[0051] Substitute the current speed, individual optimal position and group optimal position of the particles into the following first preset formula to update the speed of the first preset number of particles:

[0052] V i (t+1)=wv i (t)+c1r1(p i -x i )+c2r2(g-χ i );

[0053] Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, χ i is the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, and t+1 is the next time point for updating the particle state.

[0054] In one embodiment, the update module includes:

[0055] A second acquisition submodule is used to acquire the current positions recorded in a first preset number of particles;

[0056] The second substitution submodule is used to substitute the current position recorded in the first preset number of particles into the following second preset formula to update the velocity of the first preset number of particles:

[0057] χ i (t+1)=χ i (t)+v i (t+1);

[0058] Among them, χ i is the position of the particle, v i is the velocity of the particle, t is the current time point, and t+1 is the next time point.

[0059] In one embodiment, the conversion module includes:

[0060] Initialization submodule, used to initialize the trajectory;

[0061] The update submodule is used to calculate the new position, speed, and heading angle according to the control amount and the time interval between two trajectory points, and update the trajectory until all trajectory points in the particle are updated.

[0062] In one embodiment, the updating submodule is further used to:

[0063] Obtaining the angular acceleration between two adjacent trajectory points in the particle;

[0064] determining the motion type of the vehicle according to the angular acceleration between two adjacent trajectory points in the particle;

[0065] When the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula;

[0066] When the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula;

[0067] Calculate a new heading angle by a third preset formula;

[0068] The new speed is calculated by the fourth preset formula.

[0069] In one embodiment, the computing module comprises:

[0070] The third acquisition submodule is used to obtain the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between the vehicle and the lane center, acceleration, angular velocity, and distance between the vehicle and obstacles according to the vehicle driving trajectory;

[0071] The third substitution submodule is used to substitute the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between vehicles and lane centers, acceleration, angular velocity, and distance between vehicles and obstacles into the following fifth preset formula to calculate the fitness of each vehicle driving trajectory:

[0072]

[0073] Among them, fitnessSum is the fitness of the vehicle's driving trajectory; numOfTrajPoints is the total number of trajectory points; WEIGHT SPEEDis the weight of the speed penalty; WEIGHT lanedepart is the weight of the lane departure penalty; dis2lanecenter is the distance between the vehicle and the lane center; dis2lanecenter max is the maximum allowable deviation from the center of the lane; WEIGHT ACC is the weight of the acceleration penalty; a i is the acceleration of the ith trajectory point; WEIGHT ω is the weight of the angular velocity penalty; ω i is the angular velocity of the i-th trajectory point; ω max is the maximum permissible angular velocity; WEIGHT dis2obs is the weight of the penalty for the distance to the obstacle; dis2obs is the distance to the obstacle, dis2obs max is the maximum allowed distance from obstacles; v i is the velocity of the ith trajectory point; v max is the maximum permissible speed.

[0074] The present application also provides a driving trajectory optimization system, comprising:

[0075] at least one processor; and,

[0076] a memory communicatively connected to the at least one processor; wherein,

[0077] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to implement the driving trajectory optimization method recorded in any of the above embodiments.

[0078] The present application also provides a computer-readable storage medium. When the instructions in the storage medium are executed by a processor corresponding to the driving trajectory optimization system, the driving trajectory optimization system can implement the driving trajectory optimization method recorded in any of the above embodiments.

[0079] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or be understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written description, claims, and drawings.

[0080] The technical solution of the present application is further described in detail below through the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0081] The accompanying drawings are used to provide a further understanding of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the accompanying drawings:

[0082] Figure 1 This is a flow chart of a driving trajectory optimization method in one embodiment of the present application;

[0083] Figure 2A This is a schematic diagram of the optimized driving trajectory for lane avoidance in one embodiment of the present application;

[0084] Figure 2B A space-time diagram of the driving paths of pedestrians and vehicles avoiding in a lane in an embodiment of the present application;

[0085] Figure 3 This is a schematic diagram of driving on a curve with lateral acceleration limitation in one embodiment of the present application;

[0086] Figure 4A A schematic diagram of a traffic light in an embodiment of the present application;

[0087] Figure 4B This is a space-time schematic diagram of the trajectory of the autonomous driving vehicle and the traffic light constraints when passing through the traffic light in one embodiment of the present application;

[0088] Figure 4C A curve showing the longitudinal displacement and speed of a vehicle changing with time when passing a traffic light in one embodiment of the present application;

[0089] Figure 5A A schematic diagram of avoiding a non-signaled intersection in an embodiment of the present application;

[0090] Figure 5B This is a space-time schematic diagram of the trajectory of the environment vehicle and the trajectory of the autonomous driving vehicle when avoiding a non-signal controlled intersection in one embodiment of the present application;

[0091] Fig. 6A This is a schematic diagram of green wave passage in one embodiment of the present application;

[0092] Figure 6B This is a space-time schematic diagram of the trajectory of the autonomous driving vehicle and the traffic light constraints during green wave traffic in one embodiment of the present application;

[0093] Figure 7 This is a structural schematic diagram of a driving trajectory optimization device in one embodiment of the present application;

[0094] Figure 8 This is a schematic diagram of the hardware structure of a driving trajectory optimization system in one embodiment of the present application. DETAILED DESCRIPTION

[0095] The preferred embodiments of the present application are described below in conjunction with the accompanying drawings. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application.

[0096] This application uses the particle swarm optimization algorithm (PSO) as the core algorithm to find the optimal trajectory. This method can find a satisfactory solution in a relatively short time, and at the same time has good global search capabilities and adaptability to complex environments.

[0097] 1. The meaning of particle position and velocity:

[0098] In the particle swarm optimization algorithm, each particle represents a possible solution in the search space. In the present invention, the properties of the particle include position and velocity:

[0099] · Position: The position of a particle represents a set of control variables, namely a control quantity sequence - a sequence of acceleration and angular velocity. This set of sequences defines the motion state of the vehicle in the future. Specifically, the position of each particle is a sequence that contains multiple steps of acceleration and angular velocity values. These values ​​determine the acceleration and angular acceleration of the vehicle in each small time period (for example, 0.2 seconds). The length of the control quantity sequence depends on the settings. For example, if the step length of each action sequence is specified to be 0.2 seconds and a total of 5 seconds are required for planning, then the length of the control quantity sequence is 25.

[0100] Velocity: The velocity of a particle represents the rate of change of the control variable (a particle jumps from the old position to the new position), that is, the rate of change of the acceleration and angular velocity sequence. The velocity of a particle affects its position update, and therefore indirectly affects the change of the vehicle's motion state.

[0101] 2. The relationship between particles and trajectories:

[0102] The relationship between particles and trajectories is that the particle swarm optimization algorithm explores the optimal control sequence through the position of particles, and these control sequences ultimately determine the trajectory of the vehicle. Assuming that in each small time period, the vehicle is simultaneously performing uniform acceleration and uniform angular velocity motion, according to the acceleration, angular acceleration values ​​and initial state in the control quantity sequence, the state of each trajectory point of the vehicle in each trajectory (for example, coordinates, speed, heading angle, etc.) can be calculated through the dynamic model, that is, the state sequence, and the trajectory of the vehicle is composed of the vehicle's state sequence.

[0103] Therefore, one particle corresponds to one driving trajectory. By setting the step length of different action sequences, multiple trajectory points can correspond to one driving trajectory. The state (coordinates, speed, heading angle, etc.) of each trajectory point in each trajectory is calculated by combining the dynamic model with the particle's position (acceleration, angular velocity) and velocity as well as the initial state, so that the entire driving trajectory can be determined. Particles can adjust their position (acceleration, angular velocity) and velocity according to their own historical optimal position and the historical optimal position of the group to generate a new driving trajectory. The fitness of different particles is then calculated to evaluate the quality of the particles in order to find a better solution.

[0104] Figure 1 Flow chart of a driving trajectory optimization method in one embodiment of the present application, such as Figure 1 As shown, the method can be implemented as the following steps S101-S106:

[0105] In step S101, a first preset number of particles are randomly generated in a specific search space, where the specific search space is a pre-planned driving path of the vehicle;

[0106] In step S102, the speed of the first preset number of particles is updated, and the position of the first preset number of particles is updated;

[0107] In step S103, a second preset number of particles is generated according to the updated speed and position of the particles;

[0108] In step S104, all particles are converted into vehicle driving trajectories;

[0109] In step S105, the fitness of each vehicle driving trajectory is calculated according to the vehicle driving trajectory;

[0110] In step S106, the vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory.

[0111] In the present application, a first preset number of particles are randomly generated in a specific search space, and the specific search space is a pre-planned driving path for the vehicle. Since there may be countless driving trajectories for the vehicle in the specific search space, for example, a driving path can be obtained by randomly selecting the scattered coordinates of the lane centerline, and different deviations from the lane centerline can also generate corresponding driving paths. Therefore, it is necessary to find the optimal driving path. In the present application, each particle corresponds to a set of control quantity sequences - acceleration and angular velocity sequences, and a set of control quantity sequences corresponds to a unique trajectory, that is, each particle represents a possible driving path and is a possible solution in the search space. In order to determine the optimal driving path, the first preset number of particles are randomly generated in the specific search space as the initial candidate driving path.

[0112] The speed of the first preset number of particles is updated, and the position of the first preset number of particles is updated. After the first preset number of particles is determined, the particles adjust their states according to their own historical optimal positions and the historical optimal positions of the group, that is, the speed and position of the particles are updated.

[0113] (1) When updating the particle velocity:

[0114] First, the current velocity, individual optimal position and group optimal position of the particle are obtained, so that the particle can adjust its state according to its own historical optimal position and the historical optimal position of the group.

[0115] Then, the current speed, individual optimal position and group optimal position of the particles are substituted into the first preset formula to update the speed of the first preset number of particles. The first preset formula has many forms. In one embodiment of the present application, the speed of the particles is updated by the following first preset formula:

[0116] V i (t+1)=wv i (t)+c1r1(p i -x i )+c2r2(g-χ i );

[0117] Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, χ i is the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, and t+1 is the next time point for updating the particle state.

[0118] (2) When updating the position of the particle,

[0119] First, the current position recorded in the first preset number of particles is obtained; then, the current position recorded in the first preset number of particles is substituted into the following second preset formula to update the speed in the first preset number of particles. The second preset formula has multiple forms. In one embodiment, the current position recorded in the first preset number of particles is substituted into the following second preset formula to update the speed in the first preset number of particles:

[0120] x i (t+1)=x i (t)+V i (t+1);

[0121] Among them, χ i is the position of the particle, v i is the velocity of the particle, t is the current time point, and t+1 is the next time point.

[0122] A second preset number of particles is generated according to the updated speeds and positions of the particles.

[0123] Convert all particles into vehicle driving trajectories. Specifically, the method of converting particle position information into detailed vehicle driving trajectories is as follows:

[0124] First, initialize the trajectory. That is, obtain the initial state value of the vehicle, where the initial state value of the vehicle includes the longitudinal position, lateral position, heading angle and speed, and then set the initial state of the vehicle to the first frame of the trajectory. Then, calculate the new position, speed, and heading angle according to the control amount and the time interval between the two trajectory points, and update the trajectory until all trajectory points in the particle are updated. In other words, according to the control amount (angular velocity, acceleration) corresponding to each trajectory point in the control amount sequence and the time interval t1 between the two trajectory points, the state value of the next trajectory point of the vehicle is obtained, including the longitudinal position x, lateral position y, heading angle θ and speed v of the next trajectory point; then, cyclic calculation is performed to obtain the state value of the trajectory point corresponding to each control step; finally, the complete trajectory is obtained according to the state values ​​of all trajectory points of the vehicle.

[0125] In one embodiment, when calculating the new position, speed, and heading angle according to the control amount and the time interval between two trajectory points, the angular acceleration between two adjacent trajectory points in the particle is first obtained; and the motion type of the vehicle is determined according to the angular acceleration between two adjacent trajectory points in the particle. The specific motion types include linear motion and curvilinear motion. If the angular acceleration is 0, it means that the vehicle is in linear motion; if the angular acceleration is not 0, it means that the vehicle is in curvilinear motion.

[0126] When the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula. The specific linear motion formula can be preset. In this embodiment, the new position of the vehicle is calculated using the following formula:

[0127] χ i = x i-1 +cos(θ i-1 )*(v i-1 +0.5*a*t1)*t1;

[0128] y i =y i-1 +sin(θ i-1 )*(v i-1 +0.5*a*t1)*t1;

[0129] Among them, x is the longitudinal position of the particle, y is the lateral position of the particle, θ is the heading angle, v is the velocity, t1 is the time interval between two adjacent trajectory points, i is the time point corresponding to the new trajectory point, and i-1 represents the time point corresponding to the current trajectory point.

[0130] When the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula; the specific curved motion formula may also be preset. In this embodiment, the new position of the vehicle is calculated using the following formula:

[0131]

[0132]

[0133] Among them, x is the longitudinal position of the particle, y is the lateral position of the particle, θ is the heading angle, v is the velocity, is the angular velocity, a is the acceleration, t1 represents the time interval between two trajectory points, i represents the time point corresponding to the new trajectory point, and i-1 represents the time point corresponding to the current trajectory point.

[0134] In addition, the new heading angle may be calculated by the third preset formula, and the new speed may be calculated by the fourth preset formula. Specifically, the heading angle is updated according to the following third preset formula:

[0135] θ i =θ i-1 +ω*t1;

[0136] Among them, θ is the heading angle, ω is the angular velocity, t1 represents the time interval between two trajectory points, i represents the new trajectory point, and i-1 represents the current trajectory point.

[0137] The speed is updated according to the fourth preset formula as follows:

[0138] v i =v i-1+a*t1;

[0139] Among them, v is the velocity, a is the acceleration, t1 is the time interval between two trajectory points, i is the new trajectory point, and i-1 is the current trajectory point.

[0140] The fitness of each vehicle's driving trajectory is calculated based on the vehicle's driving trajectory. In order to determine the optimal driving trajectory, each vehicle's trajectory will be evaluated to determine whether it meets the given goals or constraints, such as avoiding obstacles, staying in the lane, complying with the speed limit, etc. In this application, a fitness function is given to give a score to the quality of the trajectory. When calculating the fitness, the specific steps are as follows:

[0141] (1)Consistency check:

[0142] That is, verify whether the velocity, angular velocity, longitudinal position, lateral position and other data in the trajectory are consistent. For example, ensure that the magnitudes of vectors such as velocity, angular velocity and position are consistent.

[0143] (2) Constraint violation detection:

[0144] .For each time point: check if any constraints are violated;

[0145] .Vehicle speed limit: Check whether the speed exceeds the maximum allowed vehicle speed;

[0146] .Lateral acceleration limit: Checks whether the lateral acceleration exceeds the safety threshold;

[0147] . Heading angle limit: Check whether the heading angle exceeds the reasonable range;

[0148] .Lane keeping: Checks whether the vehicle exceeds the lane boundary;

[0149] .Speed ​​limit: Check if the vehicle speed exceeds the speed limit of the lane;

[0150] .Collision detection: Checks whether the vehicle has collided with other traffic participants.

[0151] If any violation is found, a very high fitness value is directly assigned, indicating that the trajectory is unacceptable. This step can be used to verify the vehicle status to ensure that the current status of the vehicle is within a reasonable range. If an abnormal state is detected, an error message is output.

[0152] (3) Calculation of fitness:

[0153] If the trajectory satisfies all constraints, its fitness is calculated;

[0154] Fitness is a numerical value that indicates how good a trajectory is. A good fitness function should accurately reflect the quality of the trajectory. The fitness value consists of multiple components, each reflecting a specific aspect of the trajectory, including but not limited to speed, lane departure, lateral acceleration, acceleration, distance to obstacles, etc. Each component is calculated by multiplying a weight coefficient by an evaluation function to reflect the importance of that factor. Every point of the trajectory is considered.

[0155] In this application, the fitness value of the trajectory is calculated by comprehensively considering multiple factors such as speed, lane departure, lateral acceleration, acceleration, angular velocity, distance to obstacles, etc. Each factor is evaluated by an evaluation function and weight coefficient to ensure that the final fitness value can accurately reflect the quality of the trajectory. In this way, safe and efficient trajectories can be effectively screened out.

[0156] After considering various influencing factors, a variety of fitness functions can be designed. In one embodiment of the present application, the fitness is determined by the following formula:

[0157]

[0158] Among them, numOfTrajPoints is the total number of trajectory points; WEIGHT SPEED is the weight of the speed penalty, the speed is far from the maximum speed; v i is the velocity of the time step (the th trajectory point), v max is the maximum permissible speed. WEIGHT lanedepart The weight of the lane departure penalty. The penalty is imposed when the vehicle is far from the center line of the lane. dis2lanecenter is the distance between the vehicle and the center of the lane. max WEIGHT is the maximum allowable deviation from the center of the lane. ACC is the weight of the acceleration penalty, the greater the acceleration, the more penalty; a i is the acceleration at time step i, and the judgment condition a i ≥0, if the condition is true, use the maximum acceleration a max Calculate the acceleration penalty, if the condition is false, use the maximum deceleration a min Calculates the acceleration penalty. WEIGHT ω is the weight of the angular velocity penalty, ω i is the angular velocity of the i-th trajectory point, ω max It is the maximum permissible angular velocity. A large angular velocity will result in a penalty. dis2obs is the weight of the penalty for the distance to the obstacle. The closer the distance to the obstacle, the more penalty there is. dis2obs is the distance to the obstacle. maxis the maximum allowed distance from the obstacle; reduction is a decreasing factor. As i increases, the influence of farther time steps on the fitness value gradually decreases.

[0159] By integrating multi-objective optimization strategies, multiple objectives (such as safety, efficiency, and comfort) can be considered simultaneously, and these objectives can be balanced to achieve the optimal solution. At the same time, the path planning can be dynamically updated during the vehicle's driving process to cope with changes in traffic lights, situations at intersections without signal control, and the behavior of other vehicles, ensuring the real-time responsiveness of the algorithm.

[0160] 4. Handle illegal tracks:

[0161] If a trajectory violates any constraint, a very high fitness value is assigned, indicating that the trajectory is unacceptable, so that such a trajectory will be excluded during the optimization process.

[0162] Finally, the vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory. That is, in the acquired driving paths, the vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory.

[0163] In this application, each time the position and speed of a particle are updated, the fitness of the corresponding driving trajectory is calculated. If the fitness value of the particle is better than its own local optimal solution, the local optimal solution of the particle is updated; if the fitness value of the particle is better than the global optimal solution, the global optimal solution is updated. That is, the acceleration, angular velocity, speed, coordinates, heading angle, etc. of the individual optimal position and the group optimal position are updated.

[0164] In one embodiment of the present application, collision detection is performed by the following method. Since collision detection in fitness calculation is an important part of ensuring the safety of vehicle trajectory, each trajectory needs to undergo collision detection to ensure that it does not collide with other objects. By establishing a geometric model for the vehicle and the obstacle, and using the separating axis theorem to determine whether there is a collision between them. If there is no collision, the closest distance between the vehicle and the obstacle needs to be calculated.

[0165] Specifically, the collision detection process involves multiple steps, including obstacle detection, obstacle modeling, vehicle modeling, collision judgment using the separating axis theorem, and distance calculation. First, all obstacles on the road are identified, including static obstacles and dynamic obstacles, and for each time step, the position and shape of all obstacles need to be detected. Next, a geometric model is established for each obstacle, and a rectangle is usually used to approximate the shape of the obstacle. The rectangle can be defined by four vertex coordinates. Similarly, a geometric model is established for the vehicle, and a rectangle is used to approximate the shape of the vehicle. The rectangle can also be defined by four vertex coordinates. Next, the separating axis theorem is used to determine whether there is a collision between the vehicle and the obstacle. The separating axis theorem states that if two convex polygons do not collide, then there must be an axis along which the results of projecting the two polygons will not overlap. For two rectangles, the normal directions of the four edges need to be considered as potential separating axes. For each potential separating axis, the projections of the vehicle and the obstacle along the axis are calculated. If for all potential separating axes, the projection intervals of the vehicle and the obstacle do not overlap, it means that there is no collision between them. If there is at least one separating axis that makes the projection intervals of the vehicle and the obstacle overlap, it means that there is a collision between them. If no collision is detected, the shortest distance between the vehicle and the obstacle is calculated, which can be obtained by calculating the distance between the closest edges between the vehicle and the obstacle.

[0166] The method provided in this application can output a path that satisfies specific constraints (such as lateral acceleration limits) through simple input (such as scattered coordinates of the lane centerline), without complex preprocessing steps, reducing the complexity of the algorithm and improving its practicality. This method can effectively avoid falling into a local optimal solution, increase the probability of finding a global optimal solution, and enhance the stability and reliability of the algorithm.

[0167] The beneficial effects of the present application are as follows: since the present application can randomly generate a first preset number of particles in a specific search space, the specific search space is a pre-planned driving path for the vehicle; based on real-time traffic conditions, the speed in the first preset number of particles is updated, and the position in the first preset number of particles is updated; a second preset number of particles is generated according to the speed and position in the updated particles; all particles are converted into vehicle driving trajectories; the fitness of each vehicle driving trajectory is calculated according to the vehicle driving trajectory in combination with traffic conditions; the vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory. Since the vehicle can optimize the driving path of the trajectory according to traffic conditions in real time, and determine the optimal driving path from multiple driving paths, the effect of optimizing the driving path in real time is achieved.

[0168] In one embodiment, the updating of the speed of the first preset number of particles in the above step S102 may be implemented as the following steps A1-A2:

[0169] In step A1, the current velocity, individual best position and group best position of the particle are obtained;

[0170] In step A2, the current speed, individual optimal position and group optimal position of the particles are substituted into a first preset formula to update the speed of a first preset number of particles.

[0171] In one embodiment, the above step A2 can be implemented as follows:

[0172] Substitute the current speed, individual optimal position and group optimal position of the particles into the following first preset formula to update the speed of the first preset number of particles:

[0173] V i (t+1)=wv i (t)+c1r1(p i -x i )+c2r2(g-χ i );

[0174] Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, χ i is the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, and t+1 is the next time point for updating the particle state.

[0175] In one embodiment, the updating of the positions of the first preset number of particles in the above step S102 may be implemented as the following steps B1-B2:

[0176] In step B1, the current positions recorded in a first preset number of particles are obtained;

[0177] In step B2, the current position recorded in the first preset number of particles is substituted into the following second preset formula to update the velocity in the first preset number of particles:

[0178] χ i (t+1)=χ i (t)+v i (t+1);

[0179] Among them, χ i is the position of the particle, v iis the velocity of the particle, t is the current time point, and t+1 is the next time point.

[0180] In one embodiment, the above step S104 may be implemented as the following steps C1-C2:

[0181] In step C1, the trajectory is initialized;

[0182] In step C2, the new position, speed, and heading angle are calculated according to the control amount and the time interval between two trajectory points, and the trajectory is updated until all trajectory points in the particle are updated.

[0183] In the present application, the trajectory is initialized. Specifically, the first frame of the trajectory is set as the initial state of the vehicle. The longitudinal position, lateral position, heading angle, angular velocity, and speed are respectively equal to the corresponding values ​​in the initialization state.

[0184] The new position, velocity, and heading angle are calculated based on the control amount and the time interval between two trajectory points, and the trajectory is updated until all trajectory points in the particle are updated.

[0185] In one embodiment, the above step C2 can be implemented as the following steps C21-C22:

[0186] In step C21, the angular acceleration between two adjacent trajectory points of the particle is obtained;

[0187] In step C22, the motion type of the vehicle is determined according to the angular acceleration between two adjacent trajectory points in the particle;

[0188] In step C23, when the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula;

[0189] In step C24, when the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula;

[0190] In step C25, a new heading angle is calculated using a third preset formula;

[0191] In step C26, a new speed is calculated using a fourth preset formula.

[0192] In one embodiment, the above step S105 can be implemented as the following steps D1-D2:

[0193] In step D1, the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between the vehicle and the lane center, acceleration, angular velocity, and distance between the vehicle and obstacles are obtained according to the vehicle driving trajectory;

[0194] In step D2, the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between vehicles and lane centers, acceleration, angular velocity, and distance between vehicles and obstacles are substituted into the following fifth preset formula to calculate the fitness of each vehicle driving trajectory:

[0195]

[0196] Among them, numOfTrajPoints is the total number of trajectory points; WEIGHT SPEED is the weight of the speed penalty, the speed is far from the maximum speed; v i is the velocity of the time step (the th trajectory point), v max is the maximum permissible speed. WEIGHT lanedepart The weight of the lane departure penalty. The penalty is imposed when the vehicle is far from the center line of the lane. dis2lanecenter is the distance between the vehicle and the center of the lane. max WEIGHT is the maximum allowable deviation from the center of the lane. ACC is the weight of the acceleration penalty, the greater the acceleration, the more penalty; a i is the acceleration at time step i, and the judgment condition a i ≥0, if the condition is true, use the maximum acceleration a max Calculate the acceleration penalty, if the condition is false, use the maximum deceleration a min Calculates the acceleration penalty. WEIGHT ω is the weight of the angular velocity penalty, ω i is the angular velocity of the i-th trajectory point, ω max It is the maximum permissible angular velocity. A large angular velocity will result in a penalty. dis2obs is the weight of the penalty for the distance to the obstacle. The closer the distance to the obstacle, the more penalty there is. dis2obs is the distance to the obstacle. max is the maximum allowed distance from the obstacle; reduction is a decreasing factor. As i increases, the influence of farther time steps on the fitness value gradually decreases.

[0197] The method provided in this application can handle a variety of complex traffic scenarios, including but not limited to:

[0198] (1) Give way to pedestrians within the lane to ensure safety and efficiency.

[0199] (2) Drive on curves within the lateral acceleration limit to ensure safety and efficiency.

[0200] (3) Dynamically adjust vehicle speed according to changes in traffic lights to ensure safety and compliance.

[0201] (4) Handle avoidance with other vehicles at intersections without signal control to ensure safety and efficiency.

[0202] (5) Implement green wave traffic, optimize the timing of vehicles passing through intersections, and improve traffic efficiency.

[0203] Figure 2A This is a schematic diagram of the optimized driving trajectory for lane avoidance in one embodiment of the present application. Figure 2B This is a space-time diagram of the paths of pedestrians and vehicles avoiding each other in a lane in one embodiment of the present application. Figure 2A and Figure 2B As shown in the figure, a pedestrian (blue dot) crossed in front of the autonomous vehicle (green car) and remained stationary after invading the lane where the autonomous vehicle was located. The autonomous vehicle turned in its lane to avoid the pedestrian, taking safety and efficiency into consideration.

[0204] Figure 3 FIG. 1 is a schematic diagram of a vehicle driving on a curve with lateral acceleration limitation in one embodiment of the present application. Figure 3 As shown in the figure below, the particle swarm optimization algorithm does not need to process the original lane centerline data on the map to obtain information such as curvature. The centerline scatter coordinates are input into the algorithm to output a target trajectory that is close to the centerline and meets the lateral acceleration limit (because vehicle dynamics constraints are introduced during particle generation). As shown in the figure below, the autonomous driving vehicle (the yellow car in the video) has a high initial speed (15 meters per second), and the transition between the straight road and the curve in front is not smooth (i.e., the curvature changes suddenly); the autonomous driving vehicle slows down before entering the curve (to 5 meters per second) to avoid excessive lateral acceleration, and accelerates after passing the sharpest position of the curve. Safety and efficiency are taken into consideration.

[0205] Figure 4A This is a schematic diagram of traffic light traffic in one embodiment of the present application. In the present application, there is no separate traffic light traffic sub-function decision module. Instead, the constraints caused by traffic lights at intersections are reflected in the inaccessible area in the position-time diagram: during red / yellow light periods, autonomous vehicles cannot pass through the stop line. Figure 4A As shown, the autonomous vehicle (the green car in the middle) needs to go straight at the intersection ahead, and the traffic light ahead is red. Therefore, the autonomous vehicle slows down, stops behind the stop line, and waits for the green light to appear before entering the intersection, taking safety and compliance into consideration. Figure 4B Schematic diagram of the space-time of the trajectory of the autonomous driving vehicle (blue line in the figure) and the signal light constraint (light red) when the traffic light passes in one embodiment of the present application. Figure 4B As shown, vehicles cannot pass through the stop line during the red / yellow light period, and the corresponding impassable area is a rectangular parallelepiped obtained by stretching the stop line shape along the time axis. Figure 4CThis is a curve of the longitudinal displacement and speed of the vehicle changing with time when passing a traffic light in one embodiment of the present application. The algorithm provided by the present application outputs a complete trajectory of decelerating to stop, keeping still, and starting at a green light.

[0206] Figure 5A This is a schematic diagram of avoiding a non-signaled intersection in an embodiment of the present application. In the present application, there is no separate non-signaled intersection avoidance sub-function decision module in the algorithm. Instead, the constraints caused by the environmental traffic participants at the intersection are reflected in the inaccessible area in the position-time diagram: the autonomous driving vehicle cannot enter the space occupied by the environmental vehicles. Figure 5A As shown in the figure, the autonomous driving vehicle (the green vehicle) needs to go straight ahead at the intersection without signal control. Two environmental vehicles (yellow) and one environmental vehicle (red) are about to enter the intersection from two directions and go straight. Their driving routes conflict with the autonomous driving vehicle, and they are not prepared to avoid the autonomous driving vehicle. Therefore, the autonomous driving vehicle slows down, lets the two yellow vehicles pass, then accelerates, passes the intersection before the red vehicle enters the intersection and continues to move forward, improving efficiency while ensuring safety. Figure 5B This is a space-time schematic diagram of the trajectory of the environment vehicle and the trajectory of the autonomous driving vehicle when avoiding a non-signal controlled intersection in one embodiment of the present application, wherein the trajectory of the environment vehicle (the red line corresponds to the red vehicle, the yellow line corresponds to the yellow vehicle) and the trajectory of the autonomous driving vehicle are the blue lines in the figure). The algorithm of the present application outputs a complete trajectory of slowing down to give way and accelerating to pass, so that the autonomous driving vehicle maintains a safe distance from vehicles coming from both directions at the non-signal controlled intersection.

[0207] Fig. 6A This is a schematic diagram of green wave traffic in one embodiment of this application. The particle swarm optimization algorithm is easy to integrate multi-objective optimization strategies. After setting the parking and waiting at the intersection as a penalty behavior, the algorithm will try to make the autonomous driving vehicle encounter the green light when passing the stop line of the intersection. Fig. 6A As shown in the figure, the red light at the intersection ahead of the autonomous vehicle (green car) is about to end. Therefore, the autonomous vehicle slows down in advance and keeps driving at a slightly lower speed, just in time to pass the intersection without stopping when the light turns green, thus improving traffic efficiency. Figure 6B This is a space-time diagram of the trajectory of the autonomous driving vehicle and the signal light constraint during green wave traffic in one embodiment of the present application, where the trajectory of the autonomous driving vehicle is the blue line in the figure and the signal light constraint is light red, corresponding to the red light / yellow light period during which the vehicle cannot pass the stop line. The autonomous driving vehicle begins to adjust its speed when it is far away from the signal light intersection so that it does not violate the signal light constraint and the speed is not zero when it reaches the stop line.

[0208] Figure 7 Schematic diagram of the structure of a driving trajectory optimization device in one embodiment of the present application. Figure 7 As shown, including:

[0209] A first generating module 701 is used to randomly generate a first preset number of particles in a specific search space, where the specific search space is a pre-planned driving path of the vehicle;

[0210] An updating module 702, configured to update the speed of the first preset number of particles and update the position of the first preset number of particles;

[0211] A second generating module 703, used to generate a second preset number of particles according to the updated speed and position of the particles;

[0212] A conversion module 704, used to convert all particles into vehicle driving trajectories;

[0213] A calculation module 705 is used to calculate the fitness of each vehicle driving trajectory according to the vehicle driving trajectory;

[0214] The selection module 706 is used to select the vehicle driving trajectory with the lowest fitness as the optimal driving trajectory, and guide the vehicle to perform automatic driving through the optimal driving trajectory.

[0215] In one embodiment, the update module includes:

[0216] The first acquisition submodule is used to obtain the current speed, individual best position and group best position of the particles;

[0217] The first substitution submodule is used to substitute the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of a first preset number of particles.

[0218] In one embodiment, the substitution submodule is further used to:

[0219] Substitute the current speed, individual optimal position and group optimal position of the particles into the following first preset formula to update the speed of the first preset number of particles:

[0220] V i (t+1)=wv i (t)+c1r1(p i -x i )+c2r2(g-χ i );

[0221] Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, χ iis the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, and t+1 is the next time point for updating the particle state.

[0222] In one embodiment, the update module includes:

[0223] A second acquisition submodule is used to acquire the current positions recorded in a first preset number of particles;

[0224] The second substitution submodule is used to substitute the current position recorded in the first preset number of particles into the following second preset formula to update the velocity of the first preset number of particles:

[0225] χ i (t+1)=χ i (t)+v i (t+1);

[0226] Among them, χ i is the position of the particle, v i is the velocity of the particle, t is the current time point, and t+1 is the next time point.

[0227] In one embodiment, the conversion module includes:

[0228] Initialization submodule, used to initialize the trajectory;

[0229] The update submodule is used to calculate the new position, speed, and heading angle according to the control amount and the time interval between two trajectory points, and update the trajectory until all trajectory points in the particle are updated.

[0230] In one embodiment, the updating submodule is further used to:

[0231] Obtaining the angular acceleration between two adjacent trajectory points in the particle;

[0232] determining the motion type of the vehicle according to the angular acceleration between two adjacent trajectory points in the particle;

[0233] When the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula;

[0234] When the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula;

[0235] Calculate a new heading angle by a third preset formula;

[0236] The new speed is calculated by the fourth preset formula.

[0237] In one embodiment, the computing module comprises:

[0238] The third acquisition submodule is used to obtain the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between the vehicle and the lane center, acceleration, angular velocity, and distance between the vehicle and obstacles according to the vehicle driving trajectory;

[0239] The third substitution submodule is used to substitute the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between vehicles and lane centers, acceleration, angular velocity, and distance between vehicles and obstacles into the following fifth preset formula to calculate the fitness of each vehicle driving trajectory:

[0240]

[0241] Among them, numOfTrajPoints is the total number of trajectory points; WEIGHT SPEED is the weight of the speed penalty, the speed is far from the maximum speed; v i is the velocity of the time step (the th trajectory point), v max is the maximum permissible speed. WEIGHT lanedepart The weight of the lane departure penalty. The penalty is imposed when the vehicle is far from the center line of the lane. dis2lanecenter is the distance between the vehicle and the center of the lane. max WEIGHT is the maximum allowable deviation from the center of the lane. ACC is the weight of the acceleration penalty, the greater the acceleration, the more penalty; a i is the acceleration at time step i, and the judgment condition a i ≥0, if the condition is true, use the maximum acceleration a max Calculate the acceleration penalty, if the condition is false, use the maximum deceleration a min Calculates the acceleration penalty. WEIGHT ω is the weight of the angular velocity penalty, ω i is the angular velocity of the i-th trajectory point, ω max It is the maximum permissible angular velocity. A large angular velocity will result in a penalty. dis2obs is the weight of the penalty for the distance to the obstacle, the closer the distance to the obstacle, the more penalty; dis2Obs is the distance to the obstacle, dis2obs max is the maximum allowed distance from the obstacle; reduction is a decreasing factor. As i increases, the influence of farther time steps on the fitness value gradually decreases.

[0242] Figure 8 FIG. 1 is a schematic diagram of the hardware structure of a driving trajectory optimization system in one embodiment of the present application. Figure 8 As shown, the driving trajectory optimization system includes:

[0243] at least one processor 820; and,

[0244] A memory 804 in communication with the at least one processor 820; wherein,

[0245] The memory 804 stores instructions that can be executed by the at least one processor 820, and the instructions are executed by the at least one processor 820 to implement the driving trajectory optimization method recorded in any of the above embodiments.

[0246] Reference Figure 8 The driving trajectory optimization system 800 may include one or more of the following components: a processing component 802, a memory 804, a power component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0247] The processing component 802 generally controls the overall operation of the driving trajectory optimization system 800. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0248] The memory 804 is configured to store various types of data to support the operation of the driving trajectory optimization system 800. Examples of such data include instructions for any application or method operating on the driving trajectory optimization system 800, such as text, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0249] The power component 806 provides power to various components of the driving trajectory optimization system 800. The power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the driving trajectory optimization system 800.

[0250] The multimedia component 808 includes a screen that provides an output interface between the driving trajectory optimization system 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 may also include a front camera and / or a rear camera. When the driving trajectory optimization system 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0251] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the driving trajectory optimization system 800 is in an operating mode, such as an alarm mode, a recording mode, a voice recognition mode, and a voice output mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting an audio signal.

[0252] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0253] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the driving trajectory optimization system 800. For example, the sensor assembly 814 may include a sound sensor. In addition, the sensor assembly 814 may detect the open / closed state of the driving trajectory optimization system 800, the relative positioning of the components, such as the display and keypad of the driving trajectory optimization system 800, and the sensor assembly 814 may also detect the operating state of the driving trajectory optimization system 800 or a component of the driving trajectory optimization system 800, the driving trajectory optimization system 800 orientation or acceleration / deceleration and the temperature change of the driving trajectory optimization system 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor or a temperature sensor, etc.

[0254] The communication component 816 is configured to enable the driving trajectory optimization system 800 to provide the ability to communicate with other devices and cloud platforms in a wired or wireless manner. The driving trajectory optimization system 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0255] In an exemplary embodiment, the driving trajectory optimization system 800 can be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to execute the driving trajectory optimization method described in any of the above embodiments.

[0256] The present application also provides a computer-readable storage medium. When the instructions in the storage medium are executed by a processor corresponding to the driving trajectory optimization system, the driving trajectory optimization system can implement the driving trajectory optimization method recorded in any of the above embodiments.

[0257] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.

[0258] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0259] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0260] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0261] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.

Claims

1. A driving trajectory optimization method, characterized in that: include: Randomly generating a first preset number of particles in a specific search space, where the specific search space is a pre-planned driving path of the vehicle; updating the velocities of the first preset number of particles and updating the positions of the first preset number of particles; generating a second preset number of particles according to the updated speeds and positions of the particles; Convert all particles into vehicle trajectories; Calculate the fitness of each vehicle driving trajectory according to the vehicle driving trajectory; The vehicle driving trajectory with the lowest fitness is selected as the optimal driving trajectory, and the vehicle is guided to perform automatic driving through the optimal driving trajectory.

2. The method according to claim 1, characterized in that The updating of the speed of the first preset number of particles includes: Get the current velocity, individual best position and group best position of the particle; Substituting the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of a first preset number of particles.

3. The method according to claim 2, characterized in that Substituting the current speed, individual optimal position and group optimal position of the particles into a first preset formula to update the speed of the first preset number of particles includes: Substitute the current speed, individual optimal position and group optimal position of the particles into the following first preset formula to update the speed of the first preset number of particles: v i (t+1)=wv i (t)+C1r1(p i -X i )+c2r2(g-X i ); Among them, v i is the particle velocity, w, c1, r1, c2, r2 are all configuration quantities, p i is the best position for the individual, g is the best position for the whole, x i is the current position of the particle, i is the time point corresponding to the trajectory point, t is the current time point for updating the particle state, t + 1 The next time point to update the particle state.

4. The method according to claim 1, characterized in that The updating of the positions of the first preset number of particles comprises: Obtaining current positions recorded in a first preset number of particles; Substituting the current position recorded in the first preset number of particles into the following second preset formula to update the velocity in the first preset number of particles: X i (t+1)=X i (t)+v i (t+1); Among them, x i is the position of the particle, v i is the velocity of the particle, t is the current time point, and t+1 is the next time point.

5. The method according to claim 1, characterized in that The method of converting all particles into vehicle trajectories includes: Initialize the trajectory; The new position, velocity, and heading angle are calculated based on the control amount and the time interval between two trajectory points, and the trajectory is updated until all trajectory points in the particle are updated.

6. The method according to claim 5, characterized in that The method of calculating the new position, speed and heading angle according to the control amount and the time interval between two trajectory points includes: Obtaining the angular acceleration between two adjacent trajectory points in the particle; determining the motion type of the vehicle according to the angular acceleration between two adjacent trajectory points in the particle; When the motion type of the vehicle is linear motion, the new position of the vehicle is calculated using a linear motion formula; When the motion type of the vehicle is curved motion, the new position of the vehicle is calculated using a curved motion formula; Calculate a new heading angle by a third preset formula; The new speed is calculated by the fourth preset formula.

7. The method according to claim 1, characterized in that The step of calculating the fitness of each vehicle driving trajectory according to the vehicle driving trajectory includes: According to the vehicle's driving trajectory, the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between the vehicle and the lane center, acceleration, angular velocity, and distance between the vehicle and obstacles are obtained; Substitute the total number of trajectory points, speed, distance between lanes and lane centerlines, distance between vehicles and lane centers, acceleration, angular velocity, and distance between vehicles and obstacles into the following fifth preset formula to calculate the fitness of each vehicle driving trajectory: Among them, fitnessSum is the fitness of the vehicle's driving trajectory; numOfTrajPoints is the total number of trajectory points; WEIGHT SPEED is the weight of the speed penalty; WEIGHT lanedepart is the weight of the lane departure penalty; dis2lanecenter is the distance between the vehicle and the lane center; dis2lanecenter max is the maximum allowable deviation from the center of the lane; WEIGHT ACC is the weight of the acceleration penalty; a i is the acceleration of the ith trajectory point; WEIGHT ω is the weight of the angular velocity penalty; ω i is the angular velocity of the i-th trajectory point; ω max is the maximum permissible angular velocity; WEIGHT dis2obs is the weight of the penalty for the distance to the obstacle; dis2obs is the distance to the obstacle, dis2obs max is the maximum allowed distance from obstacles; v i is the velocity of the ith trajectory point; v max is the maximum permissible speed.

8. A driving trajectory optimization device, characterized in that: include: A first generating module, used for randomly generating a first preset number of particles in a specific search space, wherein the specific search space is a pre-planned driving path of the vehicle; An updating module, configured to update the speed of the first preset number of particles and update the position of the first preset number of particles; A second generating module, used for generating a second preset number of particles according to the speed and position of the updated particles; A conversion module, used to convert all particles into vehicle trajectories; A calculation module, used for calculating the fitness of each vehicle driving trajectory according to the vehicle driving trajectory; The selection module is used to select the vehicle driving trajectory with the lowest fitness as the optimal driving trajectory, and guide the vehicle to perform automatic driving through the optimal driving trajectory.

9. A driving trajectory optimization system, characterized in that: include: 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, and the instructions are executed by the at least one processor to implement the driving trajectory optimization method as described in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that: When the instructions in the storage medium are executed by a processor corresponding to the driving trajectory optimization system, the driving trajectory optimization system can implement the driving trajectory optimization method as described in any one of claims 1 to 7.

Citation Information

Cited By

  • Method, device and equipment for optimizing path of unmanned vehicle in mining area and storage medium

    CN121106302A