An energy-saving scheduling method and system based on automatic driving truck platoon

By constructing a 0-1 integer model and optimizing truck platooning using the Gurobi solver, the problem of insufficient path feasibility in autonomous truck platooning planning in highway scenarios is solved, achieving a balance between fuel savings and time efficiency, and reducing the operating costs of transportation companies.

CN117850406BActive Publication Date: 2026-11-06JILIN UNIVERSITY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311538558.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-17
Publication Date
2026-11-06
Estimated Expiration
2043-11-17

AI Technical Summary

Technical Problem

Existing technologies for autonomous truck platooning planning in highway scenarios fail to effectively consider the timeliness and time value of transportation tasks, resulting in a significant reduction in the feasibility of route planning and insufficient fuel savings.

Method used

By constructing a 0-1 integer model and combining it with the Gurobi solver, the average speed of the road segment and the task departure time are optimized. The queuing arrangement of multiple trucks is rationally planned, taking into account vehicle type, task parameters and highway speed limits, to ensure that vehicles travel in the optimal queuing order while ensuring timeliness. The vehicle-to-everything (V2X) communication module is used to optimize the spacing between vehicles and the braking distance.

Benefits of technology

This approach achieves significant reductions in fuel consumption and improves freight cost efficiency for transportation companies by optimizing vehicle layout and driving speed, while ensuring the value of time costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117850406B_ABST
    Figure CN117850406B_ABST
Patent Text Reader

Abstract

The application provides an energy-saving scheduling method based on automatic driving truck platoon, relates to the field of truck platoon planning and scheduling system, and comprises the following steps: extracting features of a route map and saving the features in a dictionary format; importing task parameters of a task into a model; building a theoretical model, programming and solving; removing invalid variable information and classifying and saving model results; further importing the results into an arrangement module to obtain a best oil-saving effect position arrangement and a front-to-back inter-vehicle distance; and importing final optimization information into a scheduling center via a scheduling module, and assigning the final optimization information to corresponding vehicles by the scheduling center. The global optimization model of the heterogeneous truck queue proposed by the application can make the truck drive in a reasonable inter-vehicle distance platoon with the most oil-saving arrangement under any time cost value, and has the technical effect of fuel saving.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of truck platooning planning and scheduling systems, and in particular to an energy-saving scheduling method and system based on autonomous driving truck platooning. Background Technology

[0002] Autonomous driving technology, as a key research area in the field of vehicle-road cooperation, can obtain the driving status of surrounding vehicles through wireless communication, enabling the vehicle to maintain a constant safe driving distance from the vehicles in front and behind. It can also change the vehicle's motion status according to the changes in the motion status of the vehicles in front and behind, and use technologies such as ACC and CACC to achieve the function of cruise control, thereby maintaining stable cooperative driving.

[0003] As the main transportation tool for logistics companies, trucks have become the most expensive component of their costs. Arranging them in a convoy formation according to different vehicle types can bring considerable fuel savings.

[0004] The timing of transport mission releases, delivery deadlines, and different origin and destination points result in trucks having different mission spatiotemporal domains. Existing platooning planning and control methods mostly use path overlap as an evaluation metric, treating vehicles with overlapping paths as potential platoon members. Alternatively, in complex urban road networks, they may guide vehicles with non-overlapping paths to make detour decisions within acceptable detour costs, or allow vehicles with non-overlapping paths to share a common route for platooning. All of these methods focus on path planning and largely fail to consider the timeliness and value of transport missions, as well as the feasibility of speed planning. Autonomous truck platoons on highways travel at higher speeds, resulting in more significant fuel savings compared to urban roads. However, the characteristics of highways greatly reduce the feasibility of path planning, thus existing path planning technologies are rarely applicable to highway scenarios compared to previous ones.

[0005] Therefore, there is an urgent need for energy-saving scheduling methods and systems based on autonomous truck platooning to solve the technical problem that the feasibility of route planning is greatly reduced due to the characteristics of highways in traditional methods. Summary of the Invention

[0006] To address the problems of existing technologies, this invention provides an energy-saving scheduling method and system based on autonomous truck platooning. Considering the planning and control method for platooning multiple autonomous trucks on highways in the spatiotemporal domain, the method arranges multiple trucks into a platoon and drives in the optimal platooning order by reasonably planning the average speed of road segments and adjusting the departure time of the task, while ensuring that all vehicles meet the timeliness of the task.

[0007] On the one hand, and on the other hand, this invention proposes an energy-saving scheduling method based on autonomous truck platooning, comprising:

[0008] Step S1: Extract the features of the route map and save them in dictionary format;

[0009] Step S2: Import the parameters of each task into the model, including the vehicle number, vehicle type, earliest departure time, latest arrival time, task start and end points, time value determined by the company based on its own situation, and the maximum and minimum speed limits of the highway.

[0010] Step S3: Theoretical model construction, programming, and solution;

[0011] Step S4: Remove invalid variable information and classify and save the model results;

[0012] Step S5: Import the results into the layout module to obtain the optimal fuel-saving position layout and the front and rear inward vehicle spacing;

[0013] Step S6: The final optimization information is imported into the dispatch center via the dispatch module, and then assigned to the corresponding vehicles by the dispatch center;

[0014] Furthermore, in step S1, each ramp on the actual highway is selected as a dividing point to divide the entire main road into several sub-segments, including the following steps:

[0015] Step S11: Treat the actual highway ramps as connection points between adjacent sub-segments and define their set as Q = {q1, q2, ..., q...} n}, where q1 to q n Let the link point be numbered, and define the set of sub-segments as E = {(q1,q2),(q2,q3)...(q...}. n-1 ,q n )};

[0016] Query and obtain the lengths D(q1,q2)...D(q) of each sub-segment according to the calculation requirements. n-1 ,q n The sub-segments are numbered sequentially from upstream to downstream of the road segment for retrieval.

[0017] Step S12: Based on the data extracted in Step S11, save it as a dictionary in Python. Save the sub-segment retrieval as tuples as dictionary keys (Keys), and save the distance as dictionary values ​​(Values). The overall storage format is dic={(q1,q2):D(q1,q2),...,(q n-1 ,q n ):D(q n-1 ,qn Thus, step S1 has transformed the actual highway into several sub-segments and stored them in Python.

[0018] Furthermore, in step S2, the task parameters, time value, and highway speed limit are imported into the model, including the following steps:

[0019] Step S21: To facilitate reading in subsequent steps, define a transportation task set N = {0, 1, ..., n}. Store all transportation tasks in a Python list structure in order. Each task is stored in a tuple, starting from index 0, where each tuple represents the task number (n), vehicle type (g), and the starting point (O) of the task. n The endpoint of the mission is D. n The earliest departure time of the mission Latest arrival time of the mission All transportation tasks are saved in the following format:

[0020] List = [0, 1, ..., n] where the tuple at position 0 is stored in the form described in step S21, as follows:

[0021]

[0022] Step S22: Define the time value factor C based on the near-term or future forecast of freight volume. T And the legal regulations on the maximum speed limit (V) for freight trucks on highway sub-sections max and minimum speed limit v min At this point, the information entry module of the dispatching system has completed its work. Through the above operations, it has provided the solution module with information on the actual road segment length, road segment speed limit, vehicle model parameters, and transportation task parameters.

[0023] In step S3, the solution module of the scheduling system is divided into theoretical model building and writing, and solution. The theoretical model building is a 0-1 integer model built using operations research theory, and the model writing part is implemented using Python programming. Finally, the solution is obtained using the branch and cut method in the Gurobi environment, including the following steps:

[0024] Step S31: Divide the 0-1 integer model to be constructed into the objective function, fuel consumption module, flow constraint module, departure time constraint module, arrival time constraint module, travel time increment constraint module, queue formation constraint module, and logical constraint module for construction.

[0025] Step S32: Construct the variables needed in the model. Variables are stored in dictionary (dic) format. The keys (Keys) represent variable indices and their actual meanings, while the values ​​(Valus) correspond to the variables set in the solver Gruobi, including the upper bound (UB) and lower bound (LB). Variable types include Binary and Continuous, such as:

[0026] X = {}

[0027] X[n,Keys]=addvar(lb,ub,vtype)

[0028] Represented by the variable x in the model n,ij Where the subscript n represents the vehicle number; ij represents the retrieval of the Values ​​of the sub-segment set dic in step S12, corresponding to dic.keys defined in S12. Through this method, the value of the corresponding sub-segment key index pair can be called to finally obtain the length of the entered sub-segment.

[0029] Step S33: Remaining variable v n,ij , All settings are configured according to step S32;

[0030] Step S34: The objective function of the theoretical model is:

[0031]

[0032] Where t n,ij The distance traveled through road segment (i,j) is calculated using the formula... v n,ij Let x be the speed of vehicle n performing transportation task n on road segment (i,j). This value is the optimal value that minimizes the objective function while satisfying all constraints. n,g,ij and Both are binary variables, with the meanings being: truck n of type g travels through road segment (i,j); truck n of type g and truck m of type k travel through road segment (i,j) in a queue, and the value is 1 if this occurs, otherwise it is 0. Therefore, the variable type of these two binary variables is set to vtype = Binary. Under the control of these two binary switches, all vehicle transportation trajectories, queue members and queue formation are fixed. The fuel-saving rate for the queue is set to different values ​​based on the order in which the vehicle models are arranged; C T The parameters determined in step S22 are directly input as coefficients into the model, with the unit being (yuan / h); The objective function considers the balance between the additional fuel consumption of speed adjustment, the time value loss caused by waiting time, and the fuel savings brought by platooning. This is the waiting time for trucks waiting in the warehouse for trucks with similar departure times or waiting for trucks coming from the road.

[0033] Step S35: Construct the fuel consumption module, where FR is the instantaneous fuel consumption rate, which is a variable v n,ij A monotonically increasing function is expressed as:

[0034]

[0035] The parameters in the function are all for the standard vehicle model. The parameter ζ represents the fuel-air mass ratio, which is 1. r The frontal area of ​​the vehicle is taken as 3.912 (m²). 2 ), where ψ is the fuel conversion coefficient with a value of 737 (g / l), and g is the gravitational constant with a value of 9.81 (m / s²). 2 ), The typical calorific value of diesel fuel is taken as 44 (kg / g), θ is the road inclination angle taken as 0, e is the engine friction coefficient value of 0.2 (kJ / rev / l), and C d The air drag coefficient is taken as 0.7, N s Assuming an engine speed of 33 revs / s, C r The rolling resistance coefficient is set to 0.01, and V is the engine displacement, which is set to 5 (l). The vehicle transmission efficiency is set to 0.4, and ρ is the air density, taken as 1.204 (kg / m³). 3 ), The efficiency parameter for diesel engines is set to 0.9; W is the conversion factor between hybrid and electric freight trucks; J is the fuel consumption conversion factor for different vehicle models; and the unit for the fuel consumption rate FR of gasoline vehicles is ml·s. -1 The energy consumption rate (FR) of electric trucks is measured in J·s. -1 Where W is taken as 1 kg of fuel oil is converted into 1.4286 kg of standard coal, and 1 kWh of electricity is converted into 0.1229 kg of standard coal.

[0036] Step S36: The flow constraint module is:

[0037]

[0038]

[0039]

[0040] This step, programmed using the If statement in Python, ensures that the truck with the task information number travels from the task start point to the task end point and leaves the main road, according to the task information entered in step S21.

[0041] The flow constraint module in S36 is constructed by calling the variable X[n,Keys] built in step S32. This module constrains all trucks to start from the task's starting point, pass through all intermediate road segments, and finally leave from the destination's connection point. The length of the List in step S21 is queried using the len() function in Python, and the result is set to N. Furthermore, the start and end points of each task in step S21 are imported into the flow constraint module using the for loop syntax. The start and end points of the task are located at positions 2 and 3 in the list tuple, respectively. The commands List([N][2]) and List([N][3]) are used to call the module.

[0042] Step S37: The departure time constraint module is:

[0043]

[0044] in The earliest departure time for vehicle n to perform transportation task n is the earliest time when the truck is loaded with goods and can depart. The waiting time generated by the truck is set as a continuous variable, vtpe = continuous. n,q The actual arrival time of the truck on the main highway is set as a continuous variable. This module restricts trucks to only incurring waiting time at the originating warehouse based on the status of other truck transport tasks, and the actual arrival time must be greater than or equal to the earliest departure time;

[0045] Step S38: The time constraint module is as follows:

[0046]

[0047] in The latest arrival time for a truck to perform a transportation task. Freight transportation has economic value, so according to the actual situation, the delivery of goods must not exceed the agreed delivery time. Otherwise, there will be a large economic loss due to the late delivery. Arriving at the delivery location after this time is not allowed.

[0048] Step S39: Travel Time Increment Constraint Module:

[0049]

[0050] Where M is a positive number approaching infinity, the constraint is transformed into a condition where the binary variable satisfies the condition and takes the value 1. The constraint is relaxed when the value is 0. The function of this module is to make the time when vehicle n arrives at the next link point when it is traveling alone or as a member of the queue the time when it departs from the previous link point plus the travel time generated by traveling through the sub-segment.

[0051] Step S310: Queue Formation Constraint Module:

[0052]

[0053]

[0054] Its principle is the same as in step S39; the function of this module is to prevent vehicles that do not meet the formation conditions from being mistakenly included in the formation members;

[0055] Step S311: Logical Constraint Module:

[0056]

[0057]

[0058]

[0059] This module provides logical constraints for the model, further eliminating trucks that do not meet the platooning conditions and phenomena that do not conform to reality.

[0060] Steps S36 to S311 constitute the theoretical part of the solution module of the scheduling system. The above steps are written in Python and Gurobi is used to solve the optimization results based on the information entered in the input module. The final model solution result will be divided into two parts: the value of the objective function, i.e. the optimal total cost value after global planning of the queue, and the value of the defined variables. The value of the variables is extracted by the extraction module to remove invalid information and then transmitted to the scheduling center through the assignment module. The scheduling center will issue instructions to the trucks based on the information.

[0061] At this point, the theoretical and programming aspects of the model are complete. Under the influence of various constraint modules, the objective function comprehensively considers fuel consumption and time costs, and the fuel savings brought about by platooning greatly reduces the freight costs of the transportation company.

[0062] Step S312: Solving the model

[0063] Enter the map and parameters, define variables using the addvar command in the Gurobi solver, write the objective function using the setobjective(.min) command in the Gurobi solver, further use the addconstr command in the solver to write constraints, and finally call the optimize command to optimize and obtain the global optimum result.

[0064] Furthermore, in subsequent step S4, due to the presence of higher powers of variables, in order to shorten the solution time, intermediate variables are needed to reduce the powers of these variables during model programming. Since a large number of invalid intermediate variables are generated during the power reduction process, the model needs to further eliminate these invalid intermediate variables and retain the values ​​of the valid variables after being solved by the Gurobi solver. The purpose of this operation is to ensure that only the necessary variable values ​​are retained under large-scale task parameter input conditions. Therefore, the optimized results need to be categorized and saved, including the following steps:

[0065] Step S41: Classify the variables according to the variable types set in steps S32 and S33 and the variables required for the subsequent step S5;

[0066] Step S42: Create list L_P, x n,ij , These are binary variables. After the model is solved, they take different values ​​under different combinations, but only 0 or 1. The `getVars()` command is used to read all the variables, and `var.x` is called to query the values ​​of all variables. An `if` statement is added to select the variables whose value in `var.x` is 1. The variables displaying the formation status will then be used. Save the data into list L_P = [None], then further create list L_X = [None] to store variable x. n,ij The values ​​of 1 are stored in this list. The index n of this variable represents the truck number. Based on the information entered in step S21, the vehicle models represented by different numbers n can be obtained, which further provides input for the layout module in step S5.

[0067] Step S43: Variable v n,ij , These are continuous variables, namely, average speed of the road segment, actual arrival time on the main highway, and waiting time. These variables are extracted by removing invalid intermediate variables before the valid variables are extracted and finally transmitted to the trucks via the dispatch center. They serve as the primary planning indicators, and a data table with the same dimensions as the variable v is created using a pandas DataFrame. n,ij For road segment data and variable S n,qi , Since the latter two are link point data, when creating a table using DataFrame, they will be divided into two parts to avoid different list dimensions. The number of columns for link point data is one more than the number of columns for road segment data. A table with the same dimensions as the variables will be created using DataFrame(index=Nan,columns=Nan).

[0068] Furthermore, in step S5, the output result of step S42 is imported into the layout model;

[0069] Step S51: The formula for increasing the number of queue members is as follows:

[0070]

[0071] The purpose of this constraint is to fix the number of queue members at θ, thereby limiting the length of the queue.

[0072] Step S52: Using the list retrieval command from step S42, retrieve whether vehicle number n has passed through sub-segment (i,j). Retrieve the L_P list to obtain the truck queue member numbers at a certain link point. By querying the numbers, we can find the different truck models. According to aerodynamic principles, when the members in a queue are fixed, the difference in vehicle position arrangement will lead to the difference in fuel-saving benefits. Based on the conclusions of existing relevant research, we can obtain the optimal arrangement order under different vehicle model combinations in a queue. By limiting the length of a single queue to θ in step S51, the sequential numbering of the queue from the upstream direction to the downstream direction of the road is (0-θ). Create a dictionary Dic as the final storage method to save the arrangement position and vehicle spacing. The vehicle number is stored as the key, and the position in the queue and the vehicle number are stored as a pair of values ​​in the dictionary, in the form of: Dic = {n: (front vehicle spacing, rear vehicle spacing, queue position number)}.

[0073] Step S53: The list L_P from step S42 is retrieved using the command L_P[None][None]. The None in [] is retrieved according to the requirements of different subscript parameters and assigned values. A major characteristic of vehicle platooning is that the distance between vehicles is small and the braking time intervals are not much different. Therefore, while obtaining fuel-saving benefits, it is also necessary to consider the safe braking distance of different vehicle models. In the context of vehicle-road cooperation, intelligent vehicles have vehicle network communication modules and decision control modules. Therefore, when calculating the safe distance required for braking, it is not necessary to consider the braking effect caused by the difference in driver operation. It is necessary to consider the communication delay of vehicle-road cooperation technology. Further, the dictionary Dic in step S52 is queried to retrieve the optimal arrangement order of individual queue members. The distance between members during the queue driving process is determined according to the vehicle number of the queue member and the influence of the difference in the coordination time caused by different vehicle models as represented by n in step S21. Finally, the distance between the front and rear vehicles of the optimal arrangement combination under different combinations is stored in the position 0 and position 1 of the dictionary tuple in step S52, corresponding to their own position numbers.

[0074] Furthermore, in step S6, the Dic that was finally saved in step S53 is further processed. The key in the dictionary Dic is read as the vertical coordinate of the planning table, and the third position of the value in the dictionary Dic is read as the horizontal coordinate and sorted in order. Thus, the vehicle number corresponding to the optimal arrangement order can be obtained. The first and second positions of the value in the Dic are read to obtain the vehicle data under the optimal order, which is sent to the trucks performing the transportation task. The trucks added to the queue at the link point are inserted into the correct position in the queue at the ramp entrance according to the optimal arrangement position.

[0075] On the other hand, the present invention also proposes an energy-saving dispatching system based on autonomous truck platooning, comprising:

[0076] The task information construction module extracts features from the route map and saves them in dictionary format; it also extracts task parameters and imports them into the model.

[0077] Theoretical model construction module: programming, writing, and solving of theoretical models;

[0078] Select modules, remove invalid variable information, and categorize and save the model results;

[0079] The scheduling module further imports the results into the layout module to obtain the optimal fuel-saving position layout and the front and rear in-line vehicle spacing;

[0080] The final optimization information is imported into the dispatch center via the dispatch module, and then the dispatch center assigns it to the corresponding vehicle.

[0081] The beneficial effects of this invention are as follows:

[0082] 1) The present invention proposes a global optimization model for heterogeneous truck platooning. After optimization by solving the model, it can enable trucks to travel in the most fuel-efficient arrangement with reasonable front-to-back spacing under any time cost value, thereby saving fuel.

[0083] 2) The speed variable to be optimized in the model proposed in this invention is a single continuous variable, which is more in line with the actual control situation and can be optimized to obtain all values ​​within the statutory speed range.

[0084] 3) This invention integrates the model proposal, establishment, programming, and solution processes, making it convenient and quick to use.

[0085] 4) Even when the time cost is too high, this invention can still use a model to compare the extra fuel consumption caused by adjusting the speed with the fuel benefits of the queuing driven together at the adjusted speed to decide whether to adjust the speed. Attached Figure Description

[0086] Figure 1This is a flowchart of the energy-saving scheduling method for autonomous truck platooning based on the present invention;

[0087] Figure 2 This is a flowchart showing the planning results output of the energy-saving scheduling method for autonomous truck platooning based on the present invention.

[0088] Figure 3 This is a flowchart illustrating the solution process of the energy-saving scheduling method for autonomous truck platooning based on the present invention.

[0089] Figure 4 This is a flowchart of the task parameter input process for the energy-saving scheduling method based on autonomous truck platooning of the present invention.

[0090] Figure 5 This is a schematic diagram of the structure of the energy-saving dispatching system based on autonomous truck platooning of the present invention. Detailed Implementation

[0091] The technical approach of this invention is as follows: A computational model for solving the above-mentioned problems is constructed and applied to the dispatch management system of a freight company. The entire system consists of an information input module, a solution module, an information extraction module, a layout module, an assignment module, and a dispatch module. The information input module includes the converted value of the current freight time cost, the daily transportation tasks and their detailed parameters, and the vehicle parameters for executing the corresponding transportation tasks. The solution module solves for the minimum cost planning and dispatching scheme based on the input of transportation tasks and vehicle information. The information extraction module provides the layout module with parameters of the truck queue members at each ramp by eliminating invalid information and saving valid information. The layout module arranges different types of trucks in the order of optimal fuel efficiency, taking into account the braking distance of different vehicle types in front and behind. Then, the information extraction module extracts the final layout information and the corresponding distance between vehicles in front and behind, and transmits it to the dispatch module. Finally, the dispatch module sends the information to the dispatch center, which then uniformly dispatches the vehicles.

[0092] See Figure 1-2 As shown, this embodiment proposes an energy-saving scheduling method based on autonomous truck platooning, including:

[0093] Step S1: Extract the features of the route map and save them in dictionary format;

[0094] Step S2: Extract the task parameters and import them into the model;

[0095] Step S3: Theoretical model construction, programming, and solution;

[0096] Step S4: Remove invalid variable information and classify and save the model results;

[0097] Step S5: Import the results into the layout module to obtain the optimal fuel-saving position layout and the front and rear inward vehicle spacing;

[0098] Step S6: The final optimization information is imported into the dispatch center via the dispatch module, and then assigned to the corresponding vehicles by the dispatch center.

[0099] In some embodiments of this application, step S1 involves selecting each ramp intersection as a road connection point to divide the entire road into segments, including the following steps:

[0100] Step S11: Select the set of ramp entrances on the highway as road segment connection points, defined as Q = {q1, q2, ..., q...} n}, where q1 to q n To facilitate retrieval in subsequent steps, the set of road segments is defined as E = {(q1,q2),(q2,q3)...(q...}. n-1 ,q n )};

[0101] Calculate the length of each road segment D(q1,q2)...D(q n-1 ,q n );

[0102] Step S12: Based on the data saved in step S11, save it as a dictionary in Python. Save road segments as tuples as keys and distances as values. The overall storage format is dic={(q1,q2):D(q1,q2),...,(q n-1 ,q n ):D(q n-1 ,q n This format makes the sub-segment name the retrieval sequence number, and the corresponding segment length can be obtained when searching for any sequence number;

[0103] See Figure 3 As shown, in some embodiments of this application, step S2, importing task parameters, time value, and highway speed limits into the model, includes the following steps:

[0104] Step S21: For ease of reading in subsequent steps, define a set of transportation tasks N = {0, 1, ..., n}. Store all transportation tasks in a Python list structure in order. Each task is stored in a tuple, starting from index 0, where the tuple represents the task number (i.e., the vehicle number n executing the task), the vehicle type g, and the starting point O of the task. n The endpoint of the mission is D. n The earliest departure time of the mission Latest arrival time of the mission All transportation tasks are saved in the following format:

[0105] List = [0,1,...,n] where the tuple at position 0 is stored in the form shown in step S21, as follows:

[0106] Using, for example, List[0][1], you can get the vehicle number.

[0107] Step S22: Input time cost coefficient C T And the legal regulations on highway sections stipulate the maximum speed limit (V) for freight trucks. max and minimum speed limit v min .

[0108] Step S3, model building and solving, includes the following steps:

[0109] Step S31: Divide the theoretical model into objective function, fuel consumption module, flow constraint module, departure time constraint module, arrival time constraint module, travel time increment constraint module, queue formation constraint module, and logical constraint module.

[0110] Step S32: Construct the variables needed in the model. Variables are stored in dictionary (dic) format, where keys are variable indices representing their actual meanings, and values ​​are the variable settings in the corresponding solver Gruobi, including the upper bound UB and lower bound LB. Variable types include Binary and Continuous, such as:

[0111] X = {}

[0112] X[n,Keys]=addvar(lb,ub,vtype)

[0113] Represented by the variable x in the model n,ij Where the subscript n represents the vehicle number; ij represents the road segment retrieval in step S12, corresponding to dic.keys defined in S12. The length of the road segment can be derived through this method.

[0114] Step S33: Remaining variable v n,ij S n,qi , In step S32, the first three variables in Gurobi are set to the continuous type, and the last variable is set to the binary type.

[0115] Step S34: The objective function of the theoretical model is:

[0116]

[0117] The speed of the vehicles performing the transportation task on the road segment is the optimal value that minimizes the objective function under the condition of satisfying all constraint modules. Both and are binary variables, meaning that and respectively represent the speed of the truck of vehicle type traveling through the road segment; and respectively, the speed of the truck of vehicle type and is 1 if they travel through the road segment in a queue, otherwise 0. Therefore, the variable type of these two binary variables is set to vtypeBinary. Under the control of these two binary switches, the transportation trajectory of all vehicles, queue members, and queue formation are fixed; is the queue fuel saving rate, which takes different values ​​according to the order of vehicle types; is the parameter determined in step S22, which is directly input into the model as a coefficient in units of ; is the waiting time of the truck waiting to leave the warehouse for trucks with similar departure times or waiting for trucks coming from upstream on the road; The objective function comprehensively considers the balance between the additional fuel consumption of speed adjustment, the time value loss caused by waiting time, and the fuel saving benefit brought by queuing.

[0118] Step S35: Construct the fuel consumption module, where FR is the instantaneous fuel consumption rate, which is a variable v n,ij A monotonically increasing function is expressed as:

[0119]

[0120] The parameters in the function are all for the standard vehicle model. The parameter ζ represents the fuel-air mass ratio, which is 1. r The frontal area of ​​the vehicle is taken as 3.912 (m²). 2 ), where ψ is the fuel conversion coefficient with a value of 737 (g / l), and g is the gravitational constant with a value of 9.81 (m / s²). 2 ), The typical calorific value of diesel fuel is taken as 44 (kg / g), θ is the road inclination angle taken as 0, e is the engine friction coefficient value of 0.2 (kJ / rev / l), and C d The air drag coefficient is taken as 0.7, N s Assuming an engine speed of 33 revs / s, C r The rolling resistance coefficient is set to 0.01, and V is the engine displacement, which is set to 5 (l). The vehicle transmission efficiency is set to 0.4, and ρ is the air density, taken as 1.204 (kg / m³). 3 ), The efficiency parameter for diesel engines is set to 0.9; W is the conversion factor between hybrid and electric freight trucks; J is the fuel consumption conversion factor for different vehicle models; and the unit for the fuel consumption rate FR of gasoline vehicles is ml·s. -1 The energy consumption rate (FR) of electric trucks is measured in J·s. -1Where W is taken as 1 kg of fuel oil is converted into 1.4286 kg of standard coal, and 1 kWh of electricity is converted into 0.1229 kg of standard coal.

[0121] Specifically, step S35 involves using the `setobjctive(.min)` command in Gurobi, where the corresponding symbols are used in conjunction with the `quicksum` function and the variables set in step S32.

[0122] Step S36: The flow constraint module is:

[0123]

[0124]

[0125]

[0126] This step, programmed using the If statement in Python, ensures that the truck with the task information number travels from the task start point to the task end point and leaves the main road, according to the task information entered in step S21.

[0127] The flow constraint module in S36 is constructed by calling the variable X[n,Keys] built in step S32. This module constrains all trucks to start from the task's starting point, pass through all intermediate road segments, and finally leave from the destination's connection point. The length of the List in step S21 is queried using the len() function in Python, and the result is set to N. Furthermore, the start and end points of each task in step S21 are imported into the flow constraint module using the for loop syntax. The start and end points of the task are located at positions 2 and 3 in the list tuple, respectively. The commands List([N][2]) and List([N][3]) are used to call the module.

[0128] Step S37: The departure time constraint module is:

[0129]

[0130]

[0131] in The earliest departure time for vehicle n to perform transportation task n is the earliest time when the truck is loaded with goods and can depart. The waiting time generated by the truck is set as a continuous variable, vtpe = continuous. n,q The actual arrival time of the truck on the main highway is set as a continuous variable. This module restricts trucks to only incurring waiting time at the originating warehouse based on the status of other truck transport tasks, and the actual arrival time must be greater than or equal to the earliest departure time;

[0132] Step S38: The time constraint module is as follows:

[0133]

[0134] in The latest arrival time for a truck to perform a transportation task. Freight transportation has economic value, so according to the actual situation, the delivery of goods must not exceed the agreed delivery time. Otherwise, there will be a large economic loss due to the late delivery. Arriving at the delivery location after this time is not allowed.

[0135] Step S39: Travel Time Increment Constraint Module:

[0136]

[0137] Where M is a positive number approaching infinity, the constraint is transformed into a condition where the binary variable satisfies the condition and takes the value 1. The constraint is relaxed when the value is 0. The function of this module is to make the time when vehicle n arrives at the next link point when it is traveling alone or as a member of the queue the time when it departs from the previous link point plus the travel time generated by traveling through the sub-segment.

[0138] Step S310: Queue Formation Constraint Module:

[0139]

[0140]

[0141] Its principle is the same as in step S39; the function of this module is to prevent vehicles that do not meet the formation conditions from being mistakenly included in the formation members;

[0142] Step S311: Logical Constraint Module

[0143]

[0144]

[0145]

[0146] This module provides logical constraints for the model, further eliminating trucks that do not meet the platooning conditions and phenomena that do not conform to reality.

[0147] See Figure 4As shown, specifically, steps S36 to S311 are the theoretical part of the solution module of the scheduling system. The above steps are written in Python and Gurobi solves the optimization results based on the information entered in the input module. The final model solution results will be divided into two parts: the value of the objective function, that is, the optimal total cost value after the global planning of the queue, and the value of the defined variables. The value of the variables is extracted by the extraction module to remove invalid information and then transmitted to the scheduling center through the assignment module. The scheduling center will issue instructions to the trucks based on the information.

[0148] At this point, the theoretical and programming aspects of the model are complete. Under the influence of various constraint modules, the objective function comprehensively considers fuel consumption and time costs, and the fuel savings brought about by platooning greatly reduces the freight costs of the transportation company.

[0149] Step S312: Solving the model

[0150] Define variables using the `addvar` command in the Gurobi solver, write the objective function using the `setobjective(.min)` command in the Gurobi solver, further use the `addconstr` command in the solver to write constraints, and finally call the `optimize.min` command to optimize and obtain the globally optimal result.

[0151] In some embodiments of this application, in step S4, because high powers of variables occur, intermediate variables are used to reduce the powers of the high-power variables in order to shorten the solution time. Since a large number of invalid intermediate variables are generated during the power reduction process, the model needs to further eliminate invalid intermediate variables and retain the values ​​of valid variables after being solved by the Gurobi solver. The purpose of this operation is to ensure that only the required variable values ​​are retained under large-scale task parameter input conditions. Therefore, the optimized results need to be classified and saved, including the following steps:

[0152] Step S4: Processing output variables;

[0153] Step S41: Classify the variables according to the variable types set in steps S32 and S33 and the variables needed for the subsequent step S5, and divide the types according to the subscript dimension;

[0154] Step S42: Create list L_P, x n,ij , These are binary variables. After the model is solved, they take values ​​of 0 or 1 under different combinations. The `getVars()` command reads all variables, and `var.x` is called to query the variable values. An `if` statement is added to select the variables whose value in `var.x` is 1. This will display the variables showing the formation status. Save the data into list L_P = [None], then further create list L_X = [None] to store variable x. n,ij The values ​​of 1 are stored in this list. The index n of this variable represents the truck number. Based on the information entered in step S21, the vehicle models represented by different numbers n can be obtained, which further provides input for the arrangement module in step S5. In the triple for loop for i in range(len(List)):for j in range(List)if i! = j and j>i for keys in arcs.keys, the getVars() command is called to obtain the queue variable. The type of the variable is str. The information representing the vehicle number in the second and third positions is extracted and finally stored for use in step S6.

[0155] Step S43: Variable v n,ij , As a continuous variable, the planning information transmitted from the dispatch center to the trucks needs to be saved. A data table with the same dimensions as this variable is created using a pandas DataFrame, where the variable v... n,ij For road segment data and variable S n,qi , Since the latter two are link point data, when creating a table using DataFrame, they will be divided into two parts to avoid different list dimensions. The number of columns for link point data is one more than the number of columns for road segment data. A table with the same dimensions as the variables will be created using DataFrame(index=Nan,columns=Nan).

[0156] In some embodiments of this application, the output result of step S42 is imported into the layout model in step S5;

[0157] Step S51: The formula for increasing the number of queue members is as follows:

[0158]

[0159] This formula can be used to limit queue length and avoid excessive disruption to traffic flow.

[0160] Step S52: Using the list retrieval command from step S42, retrieve whether vehicle number n has passed through sub-segment (i,j). Searching the L_P list yields the truck queue member numbers at a specific link point. By querying the numbers, different truck models are identified. According to aerodynamic principles, when the members in a queue are fixed, differences in vehicle position arrangement lead to differences in fuel-saving benefits. Based on existing research, the optimal arrangement order for different vehicle combinations in a queue can be obtained. A dictionary Dic is created to store the final arrangement positions and vehicle spacing. Vehicle numbers are stored as keys, and the queue position and vehicle spacing are stored as a pair of values ​​in the dictionary, in the form: Dic = {n: (front vehicle spacing, rear vehicle spacing, queue position number)}.

[0161] Step S53: The list L_P from step S42 is retrieved using the command L_P[None][None]. The None in [] is retrieved according to the requirements of different subscript parameters and assigned values. A major characteristic of vehicle platooning is that the distance between vehicles is small and the braking time intervals are not much different. Therefore, while obtaining fuel-saving benefits, it is also necessary to consider the safe braking distance of different vehicle models. In the context of vehicle-road cooperation, intelligent vehicles have vehicle network communication modules and decision control modules. Therefore, when calculating the safe distance required for braking, it is not necessary to consider the braking effect caused by the difference in driver operation. It is necessary to consider the communication delay of vehicle-road cooperation technology. Further, the dictionary Dic in step S52 is queried to retrieve the optimal arrangement order of individual queue members. The distance between members during the queue driving process is determined according to the vehicle number of the queue member and the influence of the difference in the coordination time caused by different vehicle models as represented by n in step S21. Finally, the distance between the front and rear vehicles of the optimal arrangement combination under different combinations is stored in the position 0 and position 1 of the dictionary tuple in step S52, corresponding to their own position numbers.

[0162] In some embodiments of this application, step S6 further processes the Dic that is finally saved in step S53, reads the key in the dictionary Dic as the vertical coordinate of the planning table, reads the third position of the value in the dictionary Dic as the horizontal coordinate and sorts them in order, thereby obtaining the vehicle number corresponding to the optimal arrangement order, further reads the first and second positions of the value in the Dic to obtain the workshop data under the optimal order, and sends it to the trucks performing the transportation task. The trucks added to the queue at the link point are inserted into the correct position in the queue at the ramp entrance according to the optimal arrangement position.

[0163] On the other hand, see Figure 5As shown, this embodiment also proposes an energy-saving dispatching system based on autonomous truck platooning, including:

[0164] The task information construction module extracts features from the route map and saves them in dictionary format; it also extracts task parameters and imports them into the model.

[0165] Theoretical model construction module: programming, writing, and solving of theoretical models;

[0166] Select modules, remove invalid variable information, and categorize and save the model results;

[0167] The scheduling module further imports the results into the layout module to obtain the optimal fuel-saving position layout and the front and rear in-line vehicle spacing;

[0168] The final optimization information is imported into the dispatch center via the dispatch module, and then the dispatch center assigns it to the corresponding vehicle.

[0169] In summary, the energy-saving scheduling method and system based on autonomous truck platooning proposed in this embodiment have the following advantages:

[0170] By proposing a global optimization model for heterogeneous truck platooning, and through model optimization, it is possible to achieve fuel savings by enabling trucks to travel in the most fuel-efficient arrangement with reasonable spacing between vehicles, under any time cost constraints. Furthermore, the proposed model uses a separate continuous variable for the speed variable to be optimized, which better reflects actual control conditions and allows optimization to obtain all possible values ​​within the legal speed range. The integrated model proposal, establishment, programming, and solution processes make it convenient and quick to use. Moreover, even when time costs are excessive, the model can still compare the additional fuel consumption from adjusting speed with the fuel benefits of platooning at the adjusted speed to decide whether to adjust the speed.

[0171] This invention may have other embodiments. Without departing from the spirit and essence of this invention, those skilled in the art can make various corresponding changes and modifications according to this invention, but these corresponding changes and modifications should all fall within the protection scope of the appended claims.

Claims

1. An energy-saving scheduling method based on autonomous truck platooning, characterized in that, include: Step S1: Extract the features of the route map and save them in dictionary format; Step S2: Extract the task parameters and import them into the model; Step S3: Theoretical model construction, programming, and solution; Step S4: Remove invalid variable information and classify and save the model results; Step S5: Import the results into the layout module to obtain the optimal fuel-saving position layout and the distance between vehicles in the front and rear platoons; Step S6: The final optimization information is imported into the dispatch center via the dispatch module, and then assigned to the corresponding vehicles by the dispatch center; The theoretical model construction, programming, and solution in step S3 involve building the theoretical model using a 0-1 integer model based on operations research theory. The model writing is implemented using Python programming, and the solution is finally obtained using the branch and cut method in the Gurobi environment. This includes the following steps: Step S31: Divide the 0-1 integer model to be constructed into the objective function, fuel consumption module, flow constraint module, departure time constraint module, arrival time constraint module, travel time increment constraint module, queue formation constraint module, and logical constraint module for construction. Step S32: Construct the variables needed in the model. Variables are stored in dictionary (dic) format. The keys (Keys) represent variable indices and their actual meanings, while the values ​​(Valus) correspond to the variables set in the solver Gruobi, including the upper bound (UB) and lower bound (LB). Variable types include Binary and Continuous, such as: Represented as variables in the model Subscript Represents the vehicle number; The Values ​​retrieval method represents the sub-segment set dic in step S12, corresponding to dic.keys defined in S12. Through this method, the value paired with the corresponding sub-segment key index can be called to finally obtain the length of the entered sub-segment. Step S33: Remaining variables , , , All settings are configured according to step S32; Step S34: The objective function of the theoretical model is: in For the section of road to travel The distance is obtained through the formula , To carry out transportation tasks vehicles On the road section The driving speed is the optimal value that minimizes the objective function while satisfying all constraints. and All are binary variables, representing the vehicle model, respectively. truck driving through the section of road ; The model is truck and vehicle type truck Travel through the road in a queuing manner If an event occurs, the value is 1; otherwise, it is 0. The variable type of these two binary variables is set to vtype. Binary, under the control of these two binary switches, fixes all vehicle transport trajectories, queue members, and queue formation. The fuel-saving rate of the queue is set to different values ​​depending on the order of the vehicle models in the queue. The parameters determined in step S22 are directly input as coefficients into the model, with units of [missing information]. ; The objective function considers the balance between the additional fuel consumption of speed adjustment, the time value loss caused by waiting time, and the fuel savings brought by platooning. This is the waiting time for trucks waiting in the warehouse for trucks with similar departure times or waiting for trucks coming from the road. Step S35: Construct the fuel consumption module, where FR is the instantaneous fuel consumption rate, which is a variable... A monotonically increasing function is expressed as: ; The parameters in the function are all for the standard vehicle model, and their meanings are as follows: The fuel-to-air mass ratio is set to 1. The frontal area of ​​the vehicle is taken as 3.

912. , The fuel conversion factor is set to 737. , The gravitational constant is set to 9.

81. , The typical calorific value of diesel fuel is taken as 44. φ is the road inclination angle, which is taken as 0. The engine friction coefficient is 0.

2. , The air drag coefficient is set to 0.

7. The engine speed is set to 33. , The rolling resistance coefficient is set to 0.

01. Take 5 for engine displacement , The vehicle's transmission efficiency is set to 0.

4. The air density is taken as 1.

204. , The efficiency parameter for the diesel engine is set to 0.9; The conversion factor for hybrid and electric freight trucks. Fuel consumption conversion factor for different vehicle models; fuel consumption rate of gasoline vehicles. The unit is Electric truck energy consumption rate Units are ,in The value is that 1 kg of fuel oil is equivalent to 1.4286 kg of standard coal, and 1 kWh of electricity is equivalent to 0.1229 kg of standard coal. Step S36: The flow constraint module is: This step uses a for loop and sets... A flow constraint module is built within this loop.

2. The energy-saving scheduling method based on autonomous truck platooning according to claim 1, characterized in that, The features extracted from the route map in step S1 include: Step S11: Treat the actual highway ramps as connection points between adjacent sub-road segments and define their set as follows: ,in to Let the link point be numbered, and define the set of sub-segments as follows: ; Query and obtain the length of each sub-segment according to the calculation requirements. The sub-segments are numbered sequentially from upstream to downstream of the road segment for retrieval: The step S1 of saving in dictionary format includes: Step S12: Based on the data extracted in Step S11, save it as a dictionary in Python. Save the sub-segment retrieval as tuples as dictionary keys (Keys), and save the distance as dictionary values ​​(Values). The overall storage format is as follows: At this point, step S1 has transformed the actual highway into several sub-segments and stored them in Python.

3. The energy-saving scheduling method based on autonomous truck platooning according to claim 1, characterized in that, In step S2, the task parameters include the vehicle number, vehicle type, earliest departure time, latest arrival time, task start and end points, time value determined by the company based on its own circumstances, and the maximum and minimum speed limits on the highway. Importing the task parameters, time value, and highway speed limits into the model includes the following steps: Step S21: Define the set of transportation tasks All transportation tasks are stored sequentially in a Python list structure. Each task is represented by a tuple, starting from index 0, which is the task number and also represents the vehicle number executing that task. Model The starting point of the task The end point of the mission The earliest departure time of the mission The latest arrival time of the mission All transportation tasks are saved in the following format: List The tuple at position 0 is stored in the form described in step S21, as follows: Step S22: Define the time value factor based on the near-term or future forecast of freight volume. And the legal limits on the maximum speed of freight trucks on highway sub-sections. and minimum speed limit At this point, the information entry module of the dispatching system has completed its work. Through the above operations, it has provided the solution module with information on the actual road segment length, road segment speed limit, vehicle model parameters, and transportation task parameters.

4. The energy-saving scheduling method based on autonomous truck platooning according to claim 1, characterized in that, Also includes: Step S37: Set the departure time constraint module; Step S38: Set the arrival time constraint module; Step S39: Set the travel time increment constraint module; Step S311: Set the logical constraint module; Steps S36 to S311 are written in Python and Gurobi is used to solve the optimization results based on the information entered in the input module. The final model solution results will be divided into two parts: the value of the objective function, i.e. the optimal total cost value after queue global planning, and the value of the defined variables. The value of the variables is transmitted to the dispatch center through the assignment module after invalid information is removed by the extraction module. The dispatch center will issue instructions to the trucks according to the information. Step S312: Solving the model Enter the map and parameters, define variables using the addvar command in the Gurobi solver, write the objective function using the setobjective(.min) command in the Gurobi solver, further use the addconstr command in the solver to write constraints, and finally call the optimize command to optimize and obtain the global optimum result.

5. The energy-saving scheduling method based on autonomous truck platooning according to claim 1, characterized in that, The step S4, which involves removing invalid variables and classifying and saving the optimized results, also includes the following steps: Step S41: Classify the variables according to the variable types set in steps S32 and S33 and the variables required for the subsequent step S5; Step S42: Create list L_P, , These are binary variables. After the model is solved, they take different values ​​under different combinations, but only 0 or 1. The `getVars()` command is used to read all the variables, and `var.x` is called to query the values ​​of all variables. An `if` statement is added to select the variables whose value in `var.x` is 1. The variables displaying the formation status will then be used. Save the variable into list L_P=[None], and create list L_X=[None] to store the variable. The values ​​of 1 in the variable are stored in this list, along with their indices. The truck's serial number can be obtained based on the information entered in step S21. The representative vehicle model further provides input for the layout module in step S5; Step S43: Variables , , These are continuous variables, namely, average speed of the road segment, actual arrival time on the main highway, and waiting time. These variables are extracted by removing invalid intermediate variables before the valid variables are extracted and finally transmitted to the trucks via the dispatch center. They serve as the primary planning indicators, and a data table with the same dimensions as these variables is created using a pandas DataFrame. For road segment data and variables , Since the latter two are link point data, when creating a table using DataFrame, they will be divided into two parts to avoid different list dimensions. The number of columns for link point data is one more than the number of columns for road segment data. A table with the same dimensions as the variables will be created using DataFrame(index=Nan,columns=Nan).

6. The energy-saving scheduling method based on autonomous truck platooning according to claim 5, characterized in that, In step S5, the output result of step S42 is imported into the layout model. Step S51: The preset formula for the constraint on the number of queue members is as follows: This constraint serves to fix the number of queue members. This achieves the purpose of limiting the queue length; Step S52: Obtain the list L_X from step S42 with the number […]. Did the vehicle pass through the sub-section? Searching the L_P list yields the truck queue member numbers at a specific link point. Querying these numbers reveals the different truck models. Step S51 then limits the length of a single queue to [a specific value]. The sequential numbering of the queue from upstream to downstream of the road is then... Create a dictionary Dic to store the final arrangement positions and vehicle spacing. The vehicle number is stored as the key, and the position in the queue and the vehicle number are stored as a pair of values ​​in the dictionary, in the form of: Dic={n:(front vehicle spacing, rear vehicle spacing, queue position number)}; Step S53: The list L_P from step S42 is retrieved using the command L_P[None][None]. The None values ​​in the brackets [] are assigned different subscript values ​​as needed. The dictionary Dic from step S52 is then queried to find the optimal arrangement order for a single queue member. This is done based on the queue member's vehicle number and the corresponding information from step S21. The model represented The distance between members during the queuing process is determined by the difference in coordination time caused by different vehicle models. Finally, the distance between the front and rear vehicles of the member positions of the optimal arrangement combination under different combinations is stored in the position number 0 and position 1 of the dictionary tuple in step S52, corresponding to their own position numbers.

7. The energy-saving scheduling method based on autonomous truck platooning according to claim 1, characterized in that, In step S6, the Dic that was finally saved in step S53 is further processed. The key in the dictionary Dic is read as the vertical coordinate of the planning table, and the third position of the value in the dictionary Dic is read as the horizontal coordinate and sorted in order. From this, the vehicle number corresponding to the optimal arrangement order can be obtained. The first and second positions of the value in the Dic are read to obtain the vehicle data under the optimal order, and it is sent to the trucks performing the transportation task. The trucks added to the queue at the link point are inserted into the correct position in the queue at the ramp entrance according to the optimal arrangement position.

8. An energy-saving dispatching system based on autonomous truck platooning, applied in the energy-saving dispatching method based on autonomous truck platooning as described in claims 1-7, characterized in that, include: The task information construction module extracts features from the route map and saves them in dictionary format; it also extracts task parameters and imports them into the model. Theoretical model construction module: programming, writing, and solving of theoretical models; Select modules, remove invalid variable information, and categorize and save the model results; The scheduling module further imports the results into the arrangement module to obtain the optimal fuel-saving position arrangement and the distance between vehicles in the front and rear platoons; The final optimization information is imported into the dispatch center via the dispatch module, and then the dispatch center assigns it to the corresponding vehicle.

Citation Information

Patent Citations

  • Driving trajectory optimization method, device and equipment, and readable storage medium

    CN112762952A

  • Collaborative formation scheduling method based on distributed optimization

    CN116185036A