Vehicle speed planning method and device, electronic equipment and storage medium
Patent Information
- Application Number
- CN202310822561.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2026-09-08
- Estimated Expiration
- 2043-07-05
AI Technical Summary
[0003]相关技术中,采用的速度规划算法注重轨迹的平滑,但没有考虑到实际车辆执行过程中的执行能力,此外,当车辆为重型卡车等商用车时会带不同的挂车和带不同的载重,这些因素会影响到车辆的执行器特性
[0053] The at least one technical solution adopted in this application embodiment can achieve the following beneficial effects: First, based on the distance between the vehicle and the obstacle and the vehicle's speed information, the current frame acceleration command is determined. Then, the current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset time. Next, the next frame acceleration command, calculated based on the distance between the vehicle and the obstacle predicted after the first preset time and the vehicle's first state information, is input into the vehicle actuator model again to obtain the vehicle's second state information after a second preset time, which serves as the vehicle's speed planning trajectory point. Because a vehicle actuator model suitable for commercial vehicles is used, and position and speed errors are comprehensively considered when determining the acceleration command, the vehicle speed planning obtained through the above method better matches the actual response characteristics of the actuator, reduces the computational difficulty of the control module, and improves comfort and accuracy.
Smart Images

Figure CN116714605B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving technology, and in particular to a vehicle speed planning method, device, electronic device, and storage medium. Background Technology
[0002] In autonomous driving planning and control technology, vehicle speed planning involves assigning speed and acceleration information to path points on a given local path curve, while adhering to the operational constraints of feedback control and the output results of behavioral decisions. Simultaneously, speed planning primarily considers the avoidance of dynamic obstacles.
[0003] In related technologies, the speed planning algorithm focuses on the smoothness of the trajectory, but does not take into account the execution capability of the actual vehicle during the execution process. In addition, when the vehicle is a heavy truck or other commercial vehicle, it will carry different trailers and different loads, which will affect the actuator characteristics of the vehicle. Summary of the Invention
[0004] This application provides a vehicle speed planning method, apparatus, electronic device, and storage medium to achieve speed planning based on a vehicle actuator model.
[0005] The embodiments of this application adopt the following technical solutions:
[0006] In a first aspect, embodiments of this application provide a vehicle speed planning method, wherein the method includes:
[0007] The acceleration command for the current frame is determined based on the distance between the vehicle and the obstacle and the vehicle's speed information.
[0008] The current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration. The first preset duration includes the time interval within a changing duration from the current moment to the next moment.
[0009] The distance between the vehicle and the obstacle, predicted based on the first preset duration and the vehicle's first state information, is used to calculate the acceleration command for the next frame. This command is then input into the vehicle actuator model to obtain the vehicle's second state information after a second preset duration. This second preset duration serves as the vehicle's speed planning trajectory point. The second preset duration includes the time from the current time t0 to the end time t0. Horizon The time interval.
[0010] In some embodiments, the state information includes: vehicle acceleration, vehicle speed, and the discrete relationship between the vehicle position and each moment in the second preset time period; the method further includes:
[0011] In the current frame, the current frame acceleration command is input into the vehicle actuator model to obtain the trajectory of the speed planning corresponding to the vehicle's first state information after a first preset time, which is the vehicle's current time, vehicle's current acceleration, vehicle's current speed, and vehicle's current position.
[0012] In the next frame, based on the obstacle's state information, the vehicle's first state information and the current frame's acceleration command are input again into the vehicle actuator model to obtain the vehicle's second state information after a second preset time. The velocity planning trajectory is the vehicle's target time, vehicle's target acceleration, vehicle's target speed, and vehicle's target position, where the obstacle's state information is the obstacle's speed and obstacle's position.
[0013] In some embodiments, the vehicle actuator model includes:
[0014] Obtain the overshoot parameters generated during vehicle braking;
[0015] When the braking deceleration applied to the vehicle is less than a preset threshold, the rising slope and falling slope of the acceleration are determined.
[0016] Based on the relationship between the acceleration drive and deceleration braking of the actual input and the acceleration and deceleration of the actual response, delay response parameters are established;
[0017] The vehicle actuator model is established based on the overshoot parameter, the acceleration rise slope and fall slope, and the delay response parameter.
[0018] In some embodiments, determining the current frame acceleration command based on the distance between the vehicle and the obstacle and the vehicle's speed information includes:
[0019] Determine the desired distance;
[0020] Calculate the velocity compensation based on the position error according to the desired distance;
[0021] The speed error is obtained based on the speed compensation, the vehicle speed, and the obstacle's moving speed.
[0022] Based on the speed error, calculate the acceleration command for following or cruising situations.
[0023] In some embodiments, the desired distance = vehicle speed + following distance + stopping distance, and the speed compensation based on position error is obtained as follows:
[0024] speed_offset=error_distance*kp_dis,
[0025] in,
[0026] The speed_offset sets the upper limit speed_offset_upper and the lower limit speed_offset_lower. The speed_offset_lower is a lookup table value with respect to the actual time distance hw. The actual time distance hw = obs_distance / v_ego, where obs_distance is the distance to the obstacle and v_ego is the vehicle speed.
[0027] Among them, the
[0028] error_distance = obs_distance - desired_distance, obs_distance = s_obs - s_ego, where s_obs is the distance between the obstacle and the origin of the reference coordinate system, s_ego is the distance between the vehicle and the origin of the reference coordinate system, and desired_distance is the desired distance;
[0029] Wherein, kp_dis is the calibration coefficient.
[0030] In some embodiments, obtaining the speed error based on the speed compensation, the vehicle speed, and the obstacle's moving speed includes:
[0031] v_error=v_obs+speed_offset-v_ego,
[0032] in,
[0033] v_obs is the target vehicle's speed, v_ego is the vehicle's speed, and speed_offset is the speed based on the position error.
[0034] In some embodiments, calculating the acceleration command for following or cruising situations based on the speed error includes:
[0035] Based on the speed error, calculate the acceleration command for following another vehicle:
[0036] acc_cmd1=min(-obs_distance / (v_ego-v_obs),0)+kp_follow*v_error,
[0037] Calculate the acceleration command under cruise conditions based on the speed error.
[0038] acc_cmd2=(v_user_define-v_ego)*kp_cruise,
[0039] The minimum acceleration value under different conditions is taken as the acceleration command.
[0040] Where kp_follow is the calibration coefficient, used to characterize the calculation coefficient of speed error on acceleration under following conditions, kp_cruise is the calibration coefficient, used to characterize the calculation coefficient of speed error on acceleration under cruise conditions, and v_user_define is the desired cruise speed.
[0041] In some embodiments, the method further includes processing the acceleration command as follows:
[0042] Based on the actual acceleration and deceleration capabilities under different loads and speeds, the acceleration commands are limited using two-dimensional lookup tables, which include vehicle weight and speed.
[0043] In some embodiments, the method further includes processing the acceleration command as follows:
[0044] Different gradient variation constraints are added to the acceleration command, and the different gradient variation constraints include:
[0045] When the acceleration command is less than 0, or when the acceleration command minus the acceleration command output in the previous frame is less than the minimum acceleration threshold, or when the acceleration command minus the acceleration command output in the previous frame is greater than the maximum acceleration threshold, the acceleration command is the acceleration command of the current frame.
[0046] Otherwise, the acceleration command is the acceleration command output in the previous frame, and the slope of the acceleration command is limited.
[0047] Secondly, embodiments of this application also provide a vehicle speed planning device, wherein the device includes:
[0048] The determination module is used to determine the acceleration command for the current frame based on the distance between the vehicle and the obstacle and the vehicle's speed information;
[0049] The first state module is used to input the current frame acceleration command into the vehicle actuator model to obtain the vehicle first state information after a first preset duration, wherein the first preset duration includes a time interval within a variable duration from the current moment to the next moment.
[0050] The second state module is used to input the acceleration command calculated based on the distance between the vehicle and the obstacle predicted after the first preset duration and the vehicle's first state information into the vehicle actuator model again to obtain the vehicle's second state information after the second preset duration, which is used as the vehicle's speed planning trajectory point. The second preset duration includes the period from the current time t0 to the end time t0. Horizon The time interval.
[0051] Thirdly, embodiments of this application also provide an electronic device, including: a processor; and a memory arranged to store computer-executable instructions, which, when executed, cause the processor to perform the above-described method.
[0052] Fourthly, embodiments of this application also provide a computer-readable storage medium that stores one or more programs, which, when executed by an electronic device including multiple applications, cause the electronic device to perform the above-described method.
[0053] The at least one technical solution adopted in this application embodiment can achieve the following beneficial effects: First, based on the distance between the vehicle and the obstacle and the vehicle's speed information, the current frame acceleration command is determined. Then, the current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset time. Next, the next frame acceleration command, calculated based on the distance between the vehicle and the obstacle predicted after the first preset time and the vehicle's first state information, is input into the vehicle actuator model again to obtain the vehicle's second state information after a second preset time, which serves as the vehicle's speed planning trajectory point. Because a vehicle actuator model suitable for commercial vehicles is used, and position and speed errors are comprehensively considered when determining the acceleration command, the vehicle speed planning obtained through the above method better matches the actual response characteristics of the actuator, reduces the computational difficulty of the control module, and improves comfort and accuracy. Attached Figure Description
[0054] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0055] Figure 1 This is a flowchart illustrating the vehicle speed planning method in the embodiments of this application;
[0056] Figure 2 This is a schematic diagram of the vehicle speed planning device in the embodiments of this application;
[0057] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation
[0058] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0059] During their research, the inventors discovered the following shortcomings in the speed planning algorithms of related technologies:
[0060] a. The speed planning result is obtained using the MPC method or through ST diagrams, primarily employing dynamic programming combined with quadratic programming. However, the actual execution capability of the vehicle during the calculation is not taken into account. In particular, the actuators of heavy-duty trucks and other commercial vehicles have high latency when executing deceleration requests. The depressurization logic of air brakes and the high latency characteristics can easily cause significant jerking when controlling heavy-duty trucks and other commercial vehicles.
[0061] b. Heavy trucks and other commercial vehicles may carry different trailers or have different loads. These factors will affect the characteristics of the vehicle's actuators. If these factors are not considered in the speed planning stage, the control module will have difficulty controlling the vehicle, resulting in jerking and inaccurate tracking trajectory.
[0062] In summary, considering the above-mentioned shortcomings and taking into full account the vehicle's load and the pressure relief delay of the braking system, commercial vehicles (such as heavy trucks) have the characteristics of overshoot and greater pressure relief delay compared to passenger vehicles. This makes it difficult for the control module to plan a curve that follows the speed. The vehicle speed planning method proposed in the embodiments of this application models the characteristics of the commercial vehicle actuators and performs speed planning based on the actuator model, thereby reducing the pressure on the downstream control module and improving the smoothness of actual vehicle control.
[0063] The technical solutions provided by the various embodiments of this application are described in detail below with reference to the accompanying drawings.
[0064] This application provides a vehicle speed planning method, such as... Figure 1 The diagram shows a flowchart of a vehicle speed planning method in an embodiment of this application. The method includes at least the following steps S110 to S130:
[0065] Step S110: Determine the acceleration command for the current frame based on the distance between the vehicle and the obstacle and the vehicle's speed information.
[0066] When planning vehicle speed, the acceleration command for the current frame can be calculated based on the distance between the vehicle and obstacles, as well as the vehicle's speed. It's important to note that the "current frame" is not specifically defined and can be any time frame within the prediction time range.
[0067] The calculation is based on the idea of recursive simulation, and an acceleration command acc_cmd is calculated based on the distance and speed information between the vehicle and the obstacle.
[0068] Step S120: Input the current frame acceleration command into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration. The first preset duration includes the time interval within a changing duration from the current moment to the next moment.
[0069] The "vehicle actuator model" is an actuator model applicable to commercial vehicles. The main parameters affecting this vehicle actuator model are the overshoot coefficient and the cutoff frequency. The overshoot coefficient and cutoff frequency need to be obtained through online identification based on the actual operating conditions of the vehicle. Determining the overshoot coefficient and cutoff frequency through online identification yields a more accurate vehicle actuator model.
[0070] The “first preset duration” includes a time interval within a variable duration from the current moment to the next moment, but in the embodiments of this application, it is not specifically limited to which moment.
[0071] The acceleration command acc_cmd obtained from the above steps is input into the "vehicle actuator model" to calculate the vehicle state information after delta_t time, which includes acc_sim acceleration, v_sim velocity, and s_sim distance.
[0072] Step S130: Based on the distance between the vehicle and the obstacle predicted after the first preset duration and the vehicle's first state information, the acceleration command for the next frame is calculated and input again into the vehicle actuator model to obtain the vehicle's second state information after the second preset duration, which is used as the vehicle's speed planning trajectory point. The second preset duration includes the period from the current time t0 to the end time t0. Horizon The time interval.
[0073] By calculating the acceleration command for the next frame and then inputting it into the vehicle actuator model, the acceleration from the current time t0 to the end time t can be obtained. Horizon Vehicle status information within a time interval.
[0074] Since the distance between the vehicle and the obstacle changes during the movement, the distance can be predicted based on the first preset time. Then, by combining this distance with the vehicle's first state information obtained in the previous steps, the acceleration command for the next frame can be calculated.
[0075] Based on the vehicle's first state information and the predicted obstacle state at the next moment, the acceleration command acc_cmd' for the next frame is calculated and then input into the actuator simulation model to obtain the discrete velocity planning trajectory points of the [0,t_end] process, thus obtaining the result of assigning velocity and acceleration information to the path points.
[0076] The above method not only takes into account the characteristics of commercial vehicles whose load is prone to change, but also addresses the problems of overshoot and large pressure relief delay that occur when commercial vehicles use the air brake mode of the EBS electronic braking system. By modeling the characteristics of the vehicle actuators and performing speed planning based on the vehicle actuator model, the pressure on the downstream control module is reduced and the smoothness of actual vehicle control is improved.
[0077] Using the methods described above, the acceleration command was determined. After inputting the acceleration command into the vehicle actuator model, a simulated discrete trajectory was calculated and used as the vehicle's speed planning trajectory points. Since the calculated discrete trajectory conforms to the actual actuator response characteristics, the error tracking pressure on the downstream control module is reduced, jerking is decreased, and comfort and accuracy are improved. In particular, the improvement in vehicle control comfort is significant for heavy-duty trucks with actuators exhibiting high latency and difficult-to-release characteristics. Furthermore, it can automatically adapt to the actuator characteristics of heavy-duty trucks carrying different types of trailers and with varying loads.
[0078] By employing a vehicle actuator model suitable for commercial vehicles and taking into account both position and speed errors when determining acceleration commands, the vehicle speed planning obtained through the above method better reflects the actual response characteristics of the actuator, reduces the computational difficulty of the control module, and improves comfort and accuracy.
[0079] Unlike the speed planning methods used in related technologies, which do not consider the actual execution capabilities of vehicles, especially the high latency of heavy-duty truck actuators when executing deceleration requests, the air brake depressurization logic and high latency characteristics can easily lead to significant jerking when controlling heavy-duty trucks. The method described above models the actuator characteristics and performs speed planning based on this model, reducing the pressure on downstream control modules and improving the smoothness of actual vehicle control.
[0080] Unlike related technologies that do not consider the different trailers and loads carried by heavy-duty trucks and other commercial vehicles, which affect the actuator characteristics of the vehicle, this method calculates speed planning trajectory points that conform to the actual actuator response characteristics. This reduces the error tracking pressure on the downstream control module, minimizes jerking, and improves both comfort and accuracy.
[0081] In one embodiment of this application, the state information includes: vehicle acceleration, vehicle speed, and vehicle position, and the discrete relationship between these and each moment in the second preset duration. The method further includes: in the current frame, inputting the current frame acceleration command into the vehicle actuator model to obtain the velocity planning trajectory corresponding to the vehicle's first state information after the first preset duration, which is the vehicle's current moment, current acceleration, current speed, and current position; in the next frame, based on the obstacle's state information, inputting the vehicle's first state information and the current frame acceleration command into the vehicle actuator model again to obtain the velocity planning trajectory corresponding to the vehicle's second state information after the second preset duration, which is the vehicle's target moment, target acceleration, target speed, and target position, wherein the obstacle's state information is the obstacle's speed and position.
[0082] The vehicle acceleration, vehicle speed, and vehicle position in the vehicle status information all have a corresponding discrete relationship with each moment in the second preset time period.
[0083] In order to enable the downstream control module to reduce position and velocity errors during tracking, the current frame acceleration command acc_cmd is input into the vehicle actuator model to calculate the simulated velocity and position v_ego, s_ego.
[0084] At this point, t=0 in the first frame, the trajectory for velocity planning is (t, acc_cmd, v_ego, s_ego). The executor model is modeled and identified online using the following method:
[0085] a. For the overshoot parameter, obtain the overshoot parameter generated when the vehicle brakes.
[0086] When a vehicle (especially a commercial vehicle) brakes, there is a certain amount of overshoot. Let the overshoot coefficient be overshoot_coeff, and this parameter needs to be identified online. The overshoot coefficient is related to the state of the vehicle's actuators and the vehicle's load.
[0087] b. Determine the upward and downward slopes of the acceleration.
[0088] When the braking deceleration is less than a certain value (e.g., -0.5 m / s²), 2 When the EBS electronic braking system used in commercial vehicles depressurizes very slowly during braking, the rate of increase of deceleration acc_limit (up_rate_limit) is relatively slow, while the rate of decrease is relatively fast. Furthermore, the specific rates of increase and decrease are obtained through observation and calculation based on actual measurement data.
[0089] c. Establish delay response parameters.
[0090] Apart from the additional braking rules considered in a and b, the actual acceleration and deceleration responses conform to a second-order delay system. Among them, w_n of the second-order system is a crucial variable affecting model accuracy, and this parameter needs to be identified online. S represents the variable of the second-order transfer function, which is a common variable in signal processing.
[0091] d. The main parameters affecting the vehicle actuator model include the overshoot coefficient (overshoot_coeff) and the cutoff frequency (w_n). The optimal model parameters (overshoot_coeff) and w_n that best fit the entire online recognition process can be found through multiple iterations using equal-interval sampling and the golden section method.
[0092] Based on the actual acceleration a obtained above real Request acceleration a input Use the uniform sampling overshoot coefficient overshoot_coeff; sampling interval gap_overshoot, for example [0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0].
[0093] The specific uniform sampling range and sampling interval are determined through multiple tests based on the characteristics of the specific vehicle. Substitute the sampling overshoot coefficient `overshoot_coeff` and the initial sampling cutoff frequency `w_n_init` into the input a. input Get a from the model cal Compare the acceleration a measured by the IMU real and the acceleration a calculated by the model cal Find the sampling overshoot_coeff_temp that minimizes the cost.
[0094] in, n is the number of input_acceleration data records.
[0095] Based on the actual acceleration a obtained above real Request acceleration a inputThe uniform sampling cutoff frequency w_n and the sampling interval gap_w_n are given, for example [2.0, 3.0, 4.0, 5.0, 6.0, 7.0]. The specific uniform sampling range and sampling interval are determined through multiple tests based on the characteristics of the specific vehicle. Substitute the overshoot coefficient overshoot_coeff_temp and the sampling cutoff frequency w_n into the input a. input Get a from the model cal Compare the acceleration a measured by the IMU real and the acceleration a calculated by the model cal Find the sample w_n_temp with the minimum cost. n is the number of input_acceleration data records.
[0096] Furthermore, for the next frame at t = t + dt, the state is (v_ego, s_ego). Based on the predicted obstacle state (v_obs, s_obs) at time t, the acceleration command for the next frame is calculated again until the time of the trajectory point exceeds the threshold t > t_horizon, thus obtaining the trajectory point sequence (t, acc_cmd, v_ego, s_ego) in the time period t ∈ [0, t_horizon] that conforms to the characteristics of this actuator.
[0097] The trajectory calculated in the above way conforms to the actual actuator response characteristics, reducing the error tracking pressure on the downstream control module, reducing jerking, and improving comfort and accuracy. In particular, it significantly improves the vehicle control comfort of heavy trucks with high latency and difficult pressure relief characteristics, and can automatically adapt to the vehicle actuator characteristics when heavy trucks and other commercial vehicles are equipped with different types of trailers and different loads.
[0098] In one embodiment of this application, the vehicle actuator model includes: acquiring overshoot parameters generated during vehicle braking; determining the rising and falling slopes of acceleration when the braking deceleration applied to the vehicle is less than a preset threshold; establishing delay response parameters based on the relationship between the actual input acceleration drive and deceleration braking and the actual response acceleration and deceleration; and establishing the vehicle actuator model according to the overshoot parameters, the rising and falling slopes of acceleration, and the delay response parameters.
[0099] a. For the overshoot parameter, obtain the overshoot parameter generated when the vehicle brakes.
[0100] When a vehicle (especially a commercial vehicle) brakes, there is a certain amount of overshoot. Let the overshoot coefficient be overshoot_coeff, and this parameter needs to be identified online. The overshoot coefficient is related to the state of the vehicle's actuators and the vehicle's load.
[0101] b. Determine the upward and downward slopes of the acceleration.
[0102] When the braking deceleration is less than a certain value (e.g., -0.5 m / s²), 2 When the EBS electronic braking system used in commercial vehicles depressurizes very slowly during braking, the rate of increase of deceleration acc_limit (up_rate_limit) is relatively slow, while the rate of decrease is relatively fast. Furthermore, the specific rates of increase and decrease are obtained through observation and calculation based on actual measurement data.
[0103] c. Establish delay response parameters.
[0104] Apart from the additional braking rules considered in a and b, the actual acceleration and deceleration responses conform to a second-order delay system. Among them, w_n of the second-order system is a crucial variable affecting model accuracy, and this parameter needs to be identified online. S represents the variable of the second-order transfer function, which is a common variable in signal processing.
[0105] d. The main parameters affecting the vehicle actuator model include the overshoot coefficient (overshoot_coeff) and the cutoff frequency (w_n). The optimal model parameters (overshoot_coeff) and w_n that best fit the entire online recognition process can be found through multiple iterations using equal-interval sampling and the golden section method.
[0106] In one embodiment of this application, determining the current frame acceleration command based on the distance between the vehicle and the obstacle and the vehicle's speed information includes: determining a desired distance; calculating speed compensation based on the position error based on the desired distance; obtaining a speed error based on the speed compensation, the vehicle's speed, and the obstacle's movement speed; and calculating the acceleration command under following or cruising conditions based on the speed error.
[0107] The desired distance needs to be determined first:
[0108] desired_distance = v_ego * follow_t + follow_stop_distance, where v_ego is the vehicle's speed, follow_t is the following distance, and follow_stop_distance is the distance when the vehicle stops.
[0109] Next, the speed compensation for the position error is determined based on the expected distance. Finally, based on the vehicle speed and the obstacle's moving speed, the speed error is obtained:
[0110] v_error = v_obs + speed_offset - v_ego, where v_obs is the target vehicle's speed, v_ego is the vehicle's speed, and speed_offset is the speed compensation for the position error.
[0111] In one embodiment of this application, the expected distance = vehicle speed + following distance + stopping distance, and the speed compensation based on position error is obtained as follows:
[0112] speed_offset=error_distance*kp_dis,
[0113] in,
[0114] The speed_offset sets the upper limit speed_offset_upper and the lower limit speed_offset_lower. The speed_offset_lower is a lookup table value with respect to the actual time distance hw. The actual time distance hw = obs_distance / v_ego, where obs_distance is the distance to the obstacle and v_ego is the vehicle speed.
[0115] Among them, the
[0116] error_distance = obs_distance - desired_distance, obs_distance = s_obs - s_ego, where s_obs is the distance between the obstacle and the origin of the reference coordinate system, s_ego is the distance between the vehicle and the origin of the reference coordinate system, and desired_distance is the desired distance; where kp_dis is the calibration coefficient.
[0117] Position error speed compensation: speed_offset = error_distance * kp_dis
[0118] Then set an upper limit for speed_offset_upper (greater than 0) and a lower limit for speed_offset_lower (less than 0).
[0119] It's important to note that `speed_offset_lower` is a lookup value based on the actual following distance `hw` = `obs_distance` / `v_ego`. Generally, the smaller `hw` is, the smaller `speed_offset_lower` is, thus adjusting the speed difference required to increase or decrease the distance between the vehicle and the target vehicle under different `hw` conditions. Using a speed compensation method based on the actual following distance `hw` for positional error compensation ensures a more consistent response to approaching vehicles under different following distance settings, improving comfort and providing greater flexibility in adjusting the desired following distance for different following distances.
[0120] in,
[0121] error_distance=obs_distance-desired_distance,
[0122] obs_distance = s_obs - s_ego, where s_obs is the distance between the obstacle and the origin of the reference coordinate system, s_ego is the distance between the vehicle and the origin of the reference coordinate system, and kp_dis is the calibration coefficient, which represents the compensation coefficient for speed through distance error.
[0123] In one embodiment of this application, obtaining the speed error based on the speed compensation, the vehicle speed, and the obstacle's moving speed includes:
[0124] v_error=v_obs+speed_offset-v_ego,
[0125] Wherein, v_obs is the target vehicle's speed, v_ego is the vehicle's speed, and speed_offset is the speed based on position error.
[0126] In one embodiment of this application, calculating the acceleration command under following or cruising conditions based on the speed error includes: calculating the acceleration command under following conditions based on the speed error.
[0127] acc_cmd1=min(-obs_distance / (v_ego-v_obs),0)+kp_follow*v_error,
[0128] Based on the speed error, calculate the acceleration command for cruise mode:
[0129] acc_cmd2=(v_user_define-v_ego)*kp_cruise,
[0130] It should be noted that the minimum acceleration value under different conditions is taken as the acceleration command, where kp_follow is a calibration coefficient used to characterize the calculation coefficient of speed error on acceleration under following conditions, kp_cruise is a calibration coefficient used to characterize the calculation coefficient of speed error on acceleration under cruise conditions, and v_user_define is the desired cruise speed.
[0131] In practice, the smaller value between the acceleration command under following conditions and the acceleration command under cruise conditions is taken as acc_cmd = min(acc_cmd1, acc_cmd2).
[0132] In an embodiment of the present application, the method further comprises the following step: performing the following processing on the acceleration command: limiting the acceleration command by means of two-dimensional lookup tables respectively according to actual acceleration capability and deceleration capability under different loads and vehicle speeds, wherein the two-dimensional lookup tables comprise vehicle weight and vehicle speed.
[0133] acc_cmd is limited by means of two-dimensional lookup tables respectively according to actual acceleration capability and deceleration capability under different loads and vehicle speeds. When limiting the acceleration command, an acceleration command upper limit acc_cmd_upper and an acceleration command lower limit acc_cmd_lower need to be obtained, wherein lookup(weight, v_ego) is a two-dimensional lookup table.
[0134] For example,
[0135] acc_cmd_upper=acc_cmd_upper_lookup(weight,v_ego);
[0136] acc_cmd_lower=acc_cmd_lower_lookup(weight,v_ego);
[0137] Finally, acc_cmd=max(min(acc_cmd,acc_cmd_upper),acc_cmd_lower).
[0138] In an embodiment of the present application, the method further comprises the following step: performing the following processing on the acceleration command: adding different gradient change limits to the acceleration command, wherein the different gradient change limits comprise: when the acceleration command < 0, or when the acceleration command minus an acceleration command output by a previous frame < a minimum acceleration threshold, or when the acceleration command minus an acceleration command output by a previous frame > a maximum acceleration threshold, the acceleration command is an acceleration command of a current frame; otherwise, the acceleration command is an acceleration command output by a previous frame, and slope limitation is performed on the acceleration command at the same time.
[0139] It should be noted that, in order to adapt to the characteristics of high delay and difficulty in pressure relief of brake actuators of commercial vehicles such as heavy trucks, certain gradient change limitation is imposed on the acceleration command, and is divided into several cases:
[0140] A case when acc_cmd < 0,
[0141] A case when acc_cmd-acc_cmd_last<acc_down_step (minimum threshold),
[0142] Alternatively, if acc_cmd - acc_cmd_last > acc_up_step (maximum threshold), then acc_cmd = acc_cmd. Otherwise, acc_cmd = acc_cmd_last, and a slope limit is applied to acc_cmd, where acc_cmd_last is the acceleration command output from the previous frame.
[0143] This application embodiment also provides a vehicle speed planning device 200, such as Figure 2 The diagram shows a structural schematic of a vehicle speed planning device in an embodiment of this application. The vehicle speed planning device 200 includes at least: a determination module 210, a first state module 220, and a second state module 230, wherein:
[0144] In one embodiment of this application, the determining module 210 is specifically used to: determine the current frame acceleration command based on the distance between the vehicle and the obstacle and the vehicle's speed information.
[0145] When planning vehicle speed, the acceleration command for the current frame can be calculated based on the distance between the vehicle and obstacles, as well as the vehicle's speed. It's important to note that the "current frame" is not specifically defined and can be any time frame within the prediction time range.
[0146] The calculation is based on the idea of recursive simulation, and an acceleration command acc_cmd is calculated based on the distance and speed information between the vehicle and the obstacle.
[0147] In one embodiment of this application, the first state module 220 is specifically used to: input the current frame acceleration command into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration, wherein the first preset duration includes a time interval within a changing duration from the current moment to the next moment.
[0148] The "vehicle actuator model" is an actuator model applicable to commercial vehicles. The main parameters affecting this vehicle actuator model are the overshoot coefficient and the cutoff frequency. The overshoot coefficient and cutoff frequency need to be obtained through online identification based on the actual operating conditions of the vehicle. Determining the overshoot coefficient and cutoff frequency through online identification yields a more accurate vehicle actuator model.
[0149] The “first preset duration” includes a time interval within a variable duration from the current moment to the next moment, but in the embodiments of this application, it is not specifically limited to which moment.
[0150] The acceleration command acc_cmd obtained from the above steps is input into the "vehicle actuator model" to calculate the vehicle state information after delta_t time, which includes acc_sim acceleration, v_sim velocity, and s_sim distance.
[0151] In one embodiment of this application, the second state module 230 is specifically used to: input the next frame acceleration command calculated based on the distance between the vehicle and the obstacle predicted after the first preset duration and the vehicle's first state information back into the vehicle actuator model to obtain the vehicle's second state information after the second preset duration, which is used as the vehicle's speed planning trajectory point. The second preset duration includes the period from the current time t0 to the end time t0. Horizon The time interval.
[0152] By calculating the acceleration command for the next frame and then inputting it into the vehicle actuator model, the acceleration from the current time t0 to the end time t can be obtained. Horizon Vehicle status information within a time interval.
[0153] Since the distance between the vehicle and the obstacle changes during the movement, the distance can be predicted based on the first preset time. Then, by combining this distance with the vehicle's first state information obtained in the previous steps, the acceleration command for the next frame can be calculated.
[0154] Based on the vehicle's first state information and the predicted obstacle state at the next moment, the acceleration command acc_cmd' for the next frame is calculated and then input into the actuator simulation model to obtain the discrete velocity planning trajectory points of the [0,t_end] process, thus obtaining the result of assigning velocity and acceleration information to the path points.
[0155] It is understood that the above-mentioned vehicle speed planning device can realize each step of the vehicle speed planning method provided in the foregoing embodiments. The relevant explanations of the vehicle speed planning method are applicable to the vehicle speed planning device, and will not be repeated here.
[0156] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Please refer to it. Figure 3 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and memory. The memory may include main memory, such as high-speed random-access memory (RAM), or non-volatile memory, such as at least one disk drive. Of course, the electronic device may also include other hardware required for other business operations.
[0157] The processor, network interface, and memory can be interconnected via an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus, or an EISA (Extended Industry Standard Architecture) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3 The symbol is represented by a single double-headed arrow, but this does not mean that there is only one bus or one type of bus.
[0158] Memory is used to store programs. Specifically, programs may include program code, which includes computer operation instructions. Memory may include main memory and non-volatile memory, and provides instructions and data to the processor.
[0159] The processor reads the corresponding computer program from non-volatile memory into main memory and then executes it, forming a vehicle speed planning device at the logical level. The processor executes the program stored in memory and specifically performs the following operations:
[0160] The acceleration command for the current frame is determined based on the distance between the vehicle and the obstacle and the vehicle's speed information.
[0161] The current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration. The first preset duration includes the time interval within a changing duration from the current moment to the next moment.
[0162] The distance between the vehicle and the obstacle, predicted based on the first preset duration and the vehicle's first state information, is used to calculate the acceleration command for the next frame. This command is then input into the vehicle actuator model to obtain the vehicle's second state information after a second preset duration. This second preset duration serves as the vehicle's speed planning trajectory point. The second preset duration includes the time from the current time t0 to the end time t0. Horizon The time interval.
[0163] The above is as stated in this application. Figure 1The method for executing the vehicle speed planning device disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by integrated logic circuits in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it can also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.
[0164] The electronic device can also perform Figure 1 The method for executing the vehicle speed planning device, and the implementation of the vehicle speed planning device in... Figure 1 The functions of the embodiments shown are not described in detail here.
[0165] This application also proposes a computer-readable storage medium that stores one or more programs, the programs including instructions that, when executed by an electronic device including multiple applications, enable the electronic device to perform... Figure 1 The method executed by the vehicle speed planning device in the illustrated embodiment is specifically used to perform:
[0166] The acceleration command for the current frame is determined based on the distance between the vehicle and the obstacle and the vehicle's speed information.
[0167] The current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration. The first preset duration includes the time interval within a changing duration from the current moment to the next moment.
[0168] The distance between the vehicle and the obstacle, predicted based on the first preset duration and the vehicle's first state information, is used to calculate the acceleration command for the next frame. This command is then input into the vehicle actuator model to obtain the vehicle's second state information after a second preset duration. This second preset duration serves as the vehicle's speed planning trajectory point. The second preset duration includes the time from the current time t0 to the end time t0. Horizon The time interval.
[0169] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0170] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0171] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0172] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable apparatus for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0173] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0174] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.
[0175] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.
[0176] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0177] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0178] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.
Claims
1. A vehicle speed planning method, wherein, The method includes: The acceleration command for the current frame is determined based on the distance between the vehicle and the obstacle and the vehicle's speed information. The current frame acceleration command is input into the vehicle actuator model to obtain the vehicle's first state information after a first preset duration. The first preset duration includes the time interval within a changing duration from the current moment to the next moment. The distance between the vehicle and the obstacle, predicted based on the first preset duration and the vehicle's first state information, is used to calculate the acceleration command for the next frame. This command is then input into the vehicle actuator model to obtain the vehicle's second state information after a second preset duration. This second preset duration serves as the vehicle's speed planning trajectory point. The second preset duration includes the time from the current time t0 to the end time t0. Horizon The time interval; The acceleration command is processed as follows: based on the actual acceleration and deceleration capabilities under different loads and speeds, the acceleration command is restricted using a two-dimensional lookup table, which includes vehicle weight and vehicle speed. The vehicle actuator model includes: Obtain the overshoot parameters generated during vehicle braking; When the braking deceleration applied to the vehicle is less than a preset threshold, the rising slope and falling slope of the acceleration are determined. Based on the relationship between the acceleration drive and deceleration braking of the actual input and the acceleration and deceleration of the actual response, delay response parameters are established; The vehicle actuator model is established based on the overshoot parameter, the acceleration rise slope and fall slope, and the delay response parameter. The step of determining the current frame acceleration command based on the distance between the vehicle and the obstacle and the vehicle's speed information includes: Determine the desired distance; Calculate the velocity compensation based on the position error according to the desired distance; The speed error is obtained based on the speed compensation, the vehicle speed, and the obstacle's moving speed. Based on the speed error, calculate the acceleration command for following or cruising situations.
2. The method as described in claim 1, wherein, The state information includes: vehicle acceleration, vehicle speed, and the discrete relationship between the vehicle position and each moment in the second preset time period; the method further includes: In the current frame, the current frame acceleration command is input into the vehicle actuator model to obtain the trajectory of the speed planning corresponding to the vehicle's first state information after a first preset time, which is the vehicle's current time, vehicle's current acceleration, vehicle's current speed, and vehicle's current position. In the next frame, based on the obstacle's state information, the vehicle's first state information and the current frame's acceleration command are input again into the vehicle actuator model to obtain the vehicle's second state information after a second preset time. The velocity planning trajectory is the vehicle's target time, vehicle's target acceleration, vehicle's target speed, and vehicle's target position, where the obstacle's state information is the obstacle's speed and obstacle's position.
3. The method as described in claim 1, wherein, The desired distance = vehicle speed + following distance + stopping distance, and the speed compensation based on position error is obtained as follows: speed_offset=error_distance*kp_dis, in, The speed_offset sets the upper limit speed_offset_upper and the lower limit speed_offset_lower. The speed_offset_lower is a lookup table value with respect to the actual time distance hw. The actual time distance hw = obs_distance / v_ego, where obs_distance is the distance to the obstacle and v_ego is the vehicle speed. Among them, the error_distance=obs_distance-desired_distance,obs_distance=s_obs-s_ego, where s_obs is the distance between the obstacle and the origin of the reference coordinate system, s_ego is the distance between the vehicle and the origin of the reference coordinate system, and desired_distance is the desired distance; Wherein, kp_dis is the calibration coefficient.
4. The method as described in claim 3, wherein, The process of obtaining the speed error based on the speed compensation, the vehicle's speed, and the obstacle's moving speed includes: v_error=v_obs+speed_offset-v_ego, in, v_obs is the target vehicle's speed, v_ego is the vehicle's speed, and speed_offset is the speed based on the position error.
5. The method as described in claim 4, wherein, The step of calculating the acceleration command under following or cruising conditions based on the speed error includes: Based on the speed error, calculate the acceleration command for following another vehicle: acc_cmd1=min(-obs_distance / (v_ego-v_obs),0)+kp_follow*v_error, Calculate the acceleration command under cruise conditions based on the speed error. acc_cmd2=(v_user_define-v_ego)*kp_cruise, The minimum acceleration value under different conditions is taken as the acceleration command. Where kp_follow is the calibration coefficient, used to characterize the calculation coefficient of speed error on acceleration under following conditions, kp_cruise is the calibration coefficient, used to characterize the calculation coefficient of speed error on acceleration under cruise conditions, and v_user_define is the desired cruise speed.
6. The method according to any one of claims 1 to 5, wherein, The method further includes: processing the acceleration command as follows: Different gradient variation constraints are added to the acceleration command, and the different gradient variation constraints include: When the acceleration command is less than 0, or when the acceleration command minus the acceleration command output in the previous frame is less than the minimum acceleration threshold, or when the acceleration command minus the acceleration command output in the previous frame is greater than the maximum acceleration threshold, the acceleration command is the acceleration command of the current frame. Otherwise, the acceleration command is the acceleration command output in the previous frame, and the slope of the acceleration command is limited.
7. A vehicle speed planning device, wherein, The device includes: The determination module is used to determine the acceleration command for the current frame based on the distance between the vehicle and the obstacle and the vehicle's speed information; The first state module is used to input the current frame acceleration command into the vehicle actuator model to obtain the vehicle first state information after a first preset duration, wherein the first preset duration includes a time interval within a variable duration from the current moment to the next moment. The second state module is used to input the acceleration command calculated based on the distance between the vehicle and the obstacle predicted after the first preset duration and the vehicle's first state information into the vehicle actuator model again to obtain the vehicle's second state information after the second preset duration, which is used as the vehicle's speed planning trajectory point. The second preset duration includes the period from the current time t0 to the end time t0. Horizon The time interval; The acceleration command is processed as follows: based on the actual acceleration and deceleration capabilities under different loads and speeds, the acceleration command is restricted using a two-dimensional lookup table, which includes vehicle weight and vehicle speed. The vehicle actuator model includes: Obtain the overshoot parameters generated during vehicle braking; When the braking deceleration applied to the vehicle is less than a preset threshold, the rising slope and falling slope of the acceleration are determined. Based on the relationship between the acceleration drive and deceleration braking of the actual input and the acceleration and deceleration of the actual response, delay response parameters are established; The vehicle actuator model is established based on the overshoot parameter, the acceleration rise slope and fall slope, and the delay response parameter. The step of determining the current frame acceleration command based on the distance between the vehicle and the obstacle and the vehicle's speed information includes: Determine the desired distance; Calculate the velocity compensation based on the position error according to the desired distance; The speed error is obtained based on the speed compensation, the vehicle speed, and the obstacle's moving speed. Based on the speed error, calculate the acceleration command for following or cruising situations.
Citation Information
Patent Citations
Trajectory planning method and apparatus
US20220379920A1
Driving planning method and apparatus, computer device, and storage medium
WO2023273067A1