A method, apparatus and device for vehicle platooning
By acquiring vehicle location and speed information, calculating time distance values, and using a combined optimization algorithm based on congestion factors to cluster and segment vehicles, the problem of poor platooning flexibility in existing technologies is solved, achieving more flexible and stable vehicle platooning management.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TUS CLOUD CONTROL (BEIJING) TECH LTD
- Filing Date
- 2023-04-13
- Publication Date
- 2026-05-19
AI Technical Summary
Existing vehicle platooning methods can only place vehicles at the end of an unsaturated queue or in a new queue when they join, resulting in poor platooning flexibility.
By acquiring the location and speed information of each vehicle, calculating the time distance value, and using a combination optimization algorithm of congestion factors to cluster and segment the vehicles, multiple vehicle formations are formed to adapt to the degree of road congestion.
It improves the flexibility and stability of vehicle platooning, enabling real-time adjustments to platooning based on road congestion, thereby enhancing platooning calculation efficiency and driving safety.
Smart Images

Figure CN116824834B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of intelligent driving technology, and in particular to a method, apparatus and device for vehicle platooning. Background Technology
[0002] Vehicle platooning refers to vehicles dynamically forming a convoy while maintaining a certain distance between them. Vehicles in a platoon can quickly share driving strategies and status information, performing synchronized acceleration and braking to maintain the stability of the intended platoon. Currently, the main control structure is leader-follower control. The basic idea of the leader-follower method is to designate one or more leaders in the entire platoon, with the rest being followers. This transforms the platooning control problem into a follower-leader tracking problem. By designing the leader's behavior or trajectory, followers can maintain the desired position and posture as the leader, thus controlling the entire platoon to operate according to the desired trajectory and formation. However, in existing platooning control algorithms, vehicles in the platoon are grouped according to a greedy strategy. When other vehicles join, they can only be placed at the end of an unsaturated platoon or in a new platoon, and they may merge with vehicles that are far away in the same platoon, resulting in poor platooning flexibility. Summary of the Invention
[0003] This specification provides a method, apparatus, and device for vehicle platooning to address the problem of poor flexibility in existing vehicle platooning methods.
[0004] To solve the above-mentioned technical problems, the embodiments in this specification are implemented as follows:
[0005] The vehicle platooning method provided in the embodiments of this specification may include:
[0006] Obtain the location and speed information of each vehicle;
[0007] Based on the location information and the speed information, calculate the time distance value for each vehicle;
[0008] Based on the time interval values, the vehicles are clustered to obtain multiple clusters;
[0009] By using a combined optimization algorithm that incorporates a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; the congestion factor represents the congestion level of the current lane.
[0010] The vehicle platooning device provided in the embodiments of this specification may include:
[0011] The information acquisition module is used to acquire the location and speed information of each vehicle;
[0012] The time-distance calculation module is used to calculate the time-distance value of each vehicle based on the location information and the speed information.
[0013] The clustering module is used to cluster the vehicles according to the time interval value to obtain multiple clusters;
[0014] The platooning module is used to segment the multiple clusters using a combined optimization algorithm that incorporates a congestion factor, thereby obtaining several vehicle platoons; the congestion factor represents the congestion level of the current lane.
[0015] This specification provides an embodiment of a vehicle platooning device, which may include:
[0016] At least one processor; and,
[0017] A memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to:
[0019] Obtain the location and speed information of each vehicle;
[0020] Based on the location information and the speed information, calculate the time distance value for each vehicle;
[0021] Based on the time interval values, the vehicles are clustered to obtain multiple clusters;
[0022] By using a combined optimization algorithm that incorporates a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; the congestion factor represents the congestion level of the current lane.
[0023] At least one embodiment in this specification achieves the following beneficial effects: by acquiring the location and speed information of each vehicle; calculating the time distance value of each vehicle based on the location and speed information; clustering the vehicles based on the time distance value to obtain multiple clusters; and using a combinatorial optimization algorithm incorporating a congestion factor to segment the multiple clusters to obtain several vehicle platoons; the congestion factor represents the current lane's congestion level. Therefore, vehicle platoons can be adjusted in real time based on the congestion factor, i.e., the lane's congestion level, improving the flexibility of platooning. Attached Figure Description
[0024] To more clearly illustrate the technical solutions in the embodiments or prior art of this specification, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0025] Figure 1 This is a schematic flowchart of a vehicle platooning method provided in the embodiments of this specification;
[0026] Figure 2 This is a flowchart illustrating a clustering method provided in the embodiments of this specification;
[0027] Figure 3 This is a schematic diagram of the structure of a vehicle platooning device provided in the embodiments of this specification;
[0028] Figure 4 This is a schematic diagram of the structure of a vehicle platooning device provided in the embodiments of this specification. Detailed Implementation
[0029] To make the objectives, technical solutions, and advantages of one or more embodiments of this specification clearer, the technical solutions of one or more embodiments of this specification 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 specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the protection scope of one or more embodiments of this specification.
[0030] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.
[0031] In existing technologies, one or more leaders are designated in the entire formation, and the rest are followers. This transforms the formation control problem into a follower-leader tracking problem. By designing the behavior or trajectory of the leaders, the followers can maintain the desired pose and position of the leader, thereby controlling the entire group formation to operate according to the desired trajectory and formation. However, in existing formation control algorithms, vehicles in the formation are combined according to a greedy strategy. When other vehicles join, they can only be placed at the end of an unsaturated formation or in a new formation, and they will be merged into the same formation as vehicles that are far away, resulting in poor formation flexibility.
[0032] To address the shortcomings of existing technologies, this solution provides the following embodiments:
[0033] Figure 1This is a flowchart illustrating a vehicle platooning method provided in an embodiment of this specification. From a programming perspective, the entity executing the process can be a program or application client mounted on an application server, or it can be a control platform that controls the driving behavior of autonomous vehicles.
[0034] like Figure 1 As shown, the process may include the following steps:
[0035] Step 102: Obtain the location and speed information of each vehicle.
[0036] The vehicles in the embodiments of this specification can be any vehicles within a preset range on a single lane, such as all vehicles within a 200-meter range of the leftmost lane on a certain road. Location and speed information can be collected by roadside sensing devices; if the vehicle has the function of transmitting location and speed information, it can also transmit it to a server or control platform automatically. A single lane can be a lane on a highway, a lane on an urban road, or a ramp with a single lane, etc.
[0037] Step 104: Calculate the time distance value of each vehicle based on the location information and the speed information.
[0038] The time distance value in the embodiments of this specification can represent the time interval between the current vehicle and the next vehicle passing through the same position point; it can also refer to the time interval between the front ends of two consecutive vehicles passing through a certain cross section among multiple vehicles traveling in the same lane. The estimated time distance value can be calculated based on the position and speed of the two vehicles.
[0039] Step 106: Based on the time interval value, cluster the vehicles to obtain multiple clusters.
[0040] In the embodiments of this specification, all vehicles can be clustered based on their respective time-distance values, so that the time-distance values of vehicles in the resulting clusters meet preset requirements. For example, the time-distance values of adjacent vehicles need to be less than or equal to 1 minute, 30 seconds, 2 minutes, etc.
[0041] Step 108: Using a combined optimization algorithm that introduces a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; the congestion factor represents the congestion level of the current lane.
[0042] In the embodiments of this specification, a combinatorial optimization algorithm can be used to calculate the number of vehicle platoons that should be segmented for each cluster and the number of vehicles in each vehicle platoon. Furthermore, to make vehicle platooning more flexible, a congestion factor can be introduced to combine the road congestion level with the segmentation of each cluster, resulting in greater flexibility in vehicle platooning and higher stability of vehicles traveling in platoons.
[0043] It should be understood that the order of some steps in the methods described in one or more embodiments of this specification may be interchanged according to actual needs, or some steps may be omitted or deleted.
[0044] Figure 1 The method described above acquires the location and speed information of each vehicle; calculates the time distance value of each vehicle based on the location and speed information; clusters the vehicles according to the time distance value to obtain multiple clusters; and uses a combinatorial optimization algorithm incorporating a congestion factor to segment the multiple clusters, resulting in several vehicle formations. The congestion factor represents the congestion level of the current lane. This allows for real-time adjustment of vehicle formations based on the congestion factor, i.e., the lane congestion level, improving the flexibility of the formation process.
[0045] based on Figure 1 In addition to the method described herein, this specification also provides some specific implementation methods of this method, which will be described below.
[0046] Optionally, the clustering of the vehicles based on the time interval value described in the embodiments of this specification may specifically include:
[0047] Select the smallest first time interval value from among the various time interval values;
[0048] Determine the first vehicle corresponding to the first time interval value;
[0049] From the time distance values corresponding to the other vehicles besides the first vehicle, select the second time distance value that is the smallest.
[0050] Determine the second vehicle corresponding to the second time interval value;
[0051] Determine an intermediate vehicle between the first vehicle and the second vehicle from the various vehicles;
[0052] Determine whether the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold;
[0053] If the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold, then the intermediate vehicle, the first vehicle, and the second vehicle are classified as the same cluster.
[0054] The clustering in the embodiments of this specification can be performed using the vehicle corresponding to the smallest time interval value, i.e., the first time interval value, as the initial vehicle, i.e., the first vehicle. This first vehicle can be the preceding vehicle among the adjacent vehicles for calculating the time interval value, the following vehicle among the adjacent vehicles for calculating the time interval value, or two adjacent vehicles for calculating the time interval value. No specific limitation is made here; the choice can be made according to the actual situation. Compared with existing methods that randomly select a point as the initial point and find density-reachable points through the density radius and the number of points within the circle until all points are processed and clustering is performed, this clustering method can improve the running efficiency of the clustering algorithm and is more in line with business rules.
[0055] In this embodiment of the specification, after determining the first time interval value, it can be pre-determined whether the first time interval value is less than or equal to a preset threshold. If so, the smallest time interval value, i.e., the second time interval value, is selected from the remaining time interval values. It is then determined whether the second time interval value is less than or equal to the preset threshold. If so, and the second vehicle is a consecutive vehicle with the first vehicle, the first vehicle and the second vehicle are classified into the same cluster. If so, and the first vehicle and the second vehicle are not consecutive vehicles, the other vehicles located between the first vehicle and the second vehicle are identified as intermediate vehicles. The time interval values of each vehicle contained in the intermediate vehicles can be determined separately. If all time interval values are less than or equal to the preset threshold, the first vehicle, the second vehicle, and the intermediate vehicles are classified into the same cluster. If the second time interval value is greater than the preset threshold, the second vehicle corresponding to the second time interval value is classified as a separate cluster.
[0056] The number of vehicles in a cluster can be limited to improve the efficiency of vehicle platooning. The method described in the embodiments of this specification may further include:
[0057] Determine whether the sum of the numbers of the intermediate vehicle, the first vehicle, and the second vehicle is greater than a first preset number;
[0058] If the sum of the quantities is greater than the first preset quantity, then the first vehicle and at least some of the intermediate vehicles are classified as the same cluster, and the second vehicle or the second vehicle and the other part of the intermediate vehicles excluding the at least some of the vehicles are classified as another cluster.
[0059] The phrase "treating the intermediate vehicle, the first vehicle, and the second vehicle as the same cluster" specifically includes:
[0060] If the sum of the quantities is less than or equal to the first preset quantity, then the intermediate vehicle, the first vehicle, and the second vehicle are classified as the same cluster.
[0061] In the embodiments described in this specification, the sum of the numbers of the first vehicle, the second vehicle, and the intermediate vehicles can be compared with a first preset number. If the sum of the numbers is greater than the first preset number, the intermediate vehicles need to be divided so that the number of vehicles in a cluster formed by the first vehicle and a portion of the divided intermediate vehicles is less than or equal to the first preset number, and the number of vehicles in a cluster formed by the second vehicle and another portion of the divided intermediate vehicles is also less than or equal to the first preset number. This avoids an excessive number of vehicles in a cluster, reducing the amount of data during platooning and improving the calculation speed and platooning efficiency.
[0062] To make the clustering more accurate, the embodiment of this specification describes classifying the first vehicle and at least some of the intermediate vehicles as belonging to the same cluster, which may specifically include:
[0063] A second preset number of consecutive intermediate vehicles are obtained from the side closest to the first vehicle from the intermediate vehicles, and the second preset number of intermediate vehicles and the first vehicle are grouped together as a cluster; the sum of the number of the second preset number of intermediate vehicles and the number of the first vehicle is equal to the first preset number.
[0064] The phrase "treating the second vehicle, or the second vehicle and the other portion of the intermediate vehicles excluding the at least some of the vehicles" as another category specifically includes:
[0065] If the sum of the number of the second vehicle and the remaining intermediate vehicles is less than or equal to the first preset number, then the second vehicle and the remaining intermediate vehicles are classified as another cluster.
[0066] In the embodiments of this specification, a second preset quantity can be determined based on a first preset quantity. The second preset quantity can be the first preset quantity minus one, and the second preset quantity is less than the first preset quantity. A first cluster can be formed by selecting consecutive intermediate vehicles of the second preset quantity closest to the first vehicle and the first vehicle. The quantities of the remaining intermediate vehicles and second vehicles still need to be determined to ensure that the number of vehicles in each cluster is not greater than the first preset quantity. If the quantity of the remaining intermediate vehicles and second vehicles is still greater than the first preset quantity, then intermediate vehicles of the first preset quantity closest to the first cluster are selected from the remaining intermediate vehicles as the second cluster. If the sum of the quantities of the remaining unclassified intermediate vehicles and second vehicles is less than or equal to the first preset quantity, then the remaining unclassified intermediate vehicles and second vehicles are selected as the third cluster.
[0067] Figure 2 This is a flowchart illustrating a clustering method provided in an embodiment of this specification. Figure 2 As shown, the method may include:
[0068] Step 202: Initialize the number of clusters.
[0069] In the embodiments of this specification, initializing the number of clusters means that it is necessary to cluster vehicles in a certain lane within a preset range, and the number of clusters is set to zero.
[0070] Step 204: Select the smallest time interval value from the time interval values as the first time interval value.
[0071] In the embodiments described in this specification, the time distance between two adjacent vehicles in a lane within a preset range can be calculated, resulting in multiple time distance values. The smallest time distance value is selected as the first time distance value. This time distance value can correspond to one or two vehicles.
[0072] Step 206: Select the smallest time interval value from the remaining time interval values as the second time interval value.
[0073] In the embodiments described in this specification, after selecting the first time interval value, the smallest time interval value is selected from the remaining time interval values as the second time interval value.
[0074] Step 208: Determine whether the time interval value is less than or equal to the target value.
[0075] In the embodiments described in this specification, it is determined whether the second time-distance value is less than or equal to the target value, i.e., the preset threshold. Since the second time-distance value and the first time-distance value may not be consecutive vehicles, there may be other intermediate vehicles in between. It is also necessary to determine the time-distance values of the existing intermediate vehicles so that the time-distance values of all vehicles in the cluster meet the condition of being less than or equal to the target value.
[0076] Step 210: If the time interval value is less than or equal to the target value, then determine whether the number of vehicles in the cluster is less than the first preset number.
[0077] In the embodiments described in this specification, if the second time interval value, the first time interval value, and the time interval value of the intermediate vehicle are all less than or equal to the target value, then it is determined whether the number of vehicles in the cluster is less than a first preset number, and then it is determined whether the cluster needs to be split, so as to avoid the cluster being too large, increasing the amount of calculation, and affecting the calculation efficiency of the formation. If the number of vehicles in the cluster is less than the first preset number, then the next minimum time interval value is selected and the judgment is continued, so that the vehicles in the cluster can also meet the quantity requirements as much as possible while satisfying the time interval value being less than or equal to the target value, so as to avoid some formations having too few vehicles.
[0078] Step 212: If the number of vehicles in a cluster is greater than or equal to the first preset number, then the first preset number of vehicles is considered as a cluster, and the cluster number is incremented by one.
[0079] In the embodiments of this specification, if the number of vehicles in a cluster equals a first preset number, the clustering of that cluster ends, and the cluster number is incremented by one. If the number of vehicles in a cluster is greater than the first preset number, the number of vehicles exceeding the first preset number is treated as a new cluster, and the cluster number is incremented by one. The process continues, selecting the vehicle corresponding to the smallest time interval from the remaining time interval values for clustering. Alternatively, if the time interval value is greater than a target value, the vehicle corresponding to that time interval value is treated as a segmented vehicle. Based on the segmented vehicles, the intermediate vehicles are divided into two parts. A portion of the intermediate vehicles adjacent to the first vehicle, along with the first vehicle, is treated as a first cluster, and the other portion, along with the second vehicle, is treated as a second cluster, i.e., a new cluster. If the number of vehicles in the first cluster is less than the first preset number, the segmented vehicles can be assigned to the first cluster; otherwise, they can be assigned to the second cluster, and the cluster number is incremented by one. A new cluster can be determined by a quantity judgment, being less than or equal to the first preset number. For example, the maximum number of vehicles in each cluster, i.e., the first preset number, is 10. Based on the minimum time interval, three clusters are obtained: cluster one has 6 vehicles, cluster two has 10 vehicles, and cluster three has 5 vehicles. All of these exceed the first preset number.
[0080] A combined optimization algorithm incorporating congestion factors can be used to divide the vehicle clusters, ensuring that the resulting vehicle platooning matches actual road conditions. This allows for timely responses to various road situations and coordinated vehicle behavior. The embodiments described in this specification utilize a combined optimization algorithm incorporating congestion factors to segment the multiple clusters, specifically including:
[0081] For any one of the plurality of clusters, based on the number of vehicles contained in the cluster and the vehicle formation capacity of the vehicle formation, determine the first number of vehicle formations into which the cluster is expected to be divided.
[0082] Based on the first quantity and the congestion factor, calculate the second quantity of vehicle formations into which each cluster is expected to be divided;
[0083] Based on the second quantity, each of the clusters is segmented.
[0084] In the embodiments of this specification, the vehicle platoon capacity can represent the maximum number of vehicles allowed within a platoon, i.e., the upper limit of the number of vehicles. This can avoid excessively long vehicle platoon queues, which can easily lead to safety hazards and improve driving safety. After clustering all vehicles within a single preset range, a combinatorial optimization algorithm can be used to divide each cluster into subclusters to obtain the vehicle platooning results corresponding to each cluster. The first number of vehicle platoons to be divided can be calculated using the formula sc = ceil(cp / mf). Here, sc represents the first number; cp represents the vehicle platoon capacity; mf represents the number of vehicles in the currently processed cluster; and ceil represents the floor function. Considering the impact of lane congestion on vehicle driving, a congestion factor can be introduced to determine the number of vehicle platoons. The second number of vehicle platoons to be divided can be calculated using the formula subc = α * sc. Here, subc represents the second number; α represents the congestion factor, which is not less than one. The congestion factor can be obtained by comparing the road coverage of lanes within a preset range of the previous vehicle platoon with the road coverage of lanes within the preset range of the current vehicle platoon. Alternatively, it can be a pre-set value based on the preset range and the number of vehicles within that range. There are no specific limitations; users can choose their preferred method. After calculation, the corresponding clusters can be segmented based on the second quantity, resulting in multiple sub-clusters, i.e., multiple vehicle platoons. This allows for flexible vehicle platooning based on actual road conditions, facilitating responses to road accidents and anomalies. It also allows for sufficient space and time to accommodate other driving behaviors such as lane changes, deceleration, and acceleration. Furthermore, it enables timely adjustments to the vehicle platoon within the preset range when subsequent vehicles arrive, improving the flexibility and stability of vehicle platooning.
[0085] Segmenting clusters based on a second quantity makes the segmented vehicle formations more stable and allows for flexible responses to unforeseen circumstances. The segmentation of any cluster based on the second quantity, as described in the embodiments of this specification, specifically includes:
[0086] According to the first formula Calculate the evaluation value corresponding to different formation combinations for any of the aforementioned clusters; where 1 ≤ c i ≤mf, the c i This represents the number of vehicles in the i-th formation, where mf represents the upper limit of the number of vehicles in the vehicle formation; 1 ≤ c j ≤mf, the c j The number of vehicles in the j-th formation in the formation combination is represented; k represents the second number; Z represents the evaluation value corresponding to the formation combination.
[0087] The formation combination with the smallest evaluation value is used as the segmentation method for any of the clusters.
[0088] The embodiments in this specification can be based on the formula. Calculate the evaluation values of different vehicle platoon combinations, and select the combination with the smallest evaluation value Z as the target combination. Based on the vehicle number allocation results of each vehicle platoon in the target combination, segment the clusters to obtain the optimal partitioning result. For example: if the cluster obtained by clustering contains 18 vehicles, and the maximum number of vehicles allowed in a platoon (i.e., the vehicle platoon capacity) is 5, and there are no multiple vehicles merging into the road ahead, the traffic situation is relatively stable and not congested, the congestion factor can be set to 1, rounded up to obtain a vehicle platoon capacity of 4. The vehicle platoons can be divided into combinations with the following vehicle numbers: combination 1: 5, 5, 5, 3, or combination 2: 5, 5, 4, 4. After calculation, the evaluation value Z1 = 24 for combination 1 is greater than the evaluation value Z2 = 8 for combination 2. Therefore, combination 2 is selected as the target combination, and the clusters are segmented according to combination 2, resulting in platoon 1: 5 vehicles, platoon 2: 5 vehicles, platoon 3: 4 vehicles, and platoon 4: 4 vehicles.
[0089] Spacing or time intervals can be set between two platoons or between two vehicles within a platoon to maintain a safe distance between vehicles within a platoon, while also ensuring safety between platoons and improving driving safety. The embodiments in this specification, after obtaining several vehicle platoons, also include:
[0090] For any vehicle formation among the plurality of vehicle formations, determine whether any vehicle in any vehicle formation is the lead vehicle of that vehicle formation.
[0091] If any vehicle in any vehicle platoon is not the lead vehicle of any vehicle platoon, then the first acceleration of any vehicle is calculated based on the preset distance of any vehicle platoon, so that the distance between any vehicle and the vehicle in front reaches the preset distance;
[0092] Determine whether the first acceleration exceeds a preset acceleration threshold;
[0093] If the first acceleration exceeds a preset acceleration threshold, then the preset threshold is taken as the first target acceleration;
[0094] If the first acceleration does not exceed the preset acceleration threshold, then the first acceleration is taken as the first target acceleration;
[0095] And / or,
[0096] If any vehicle in any vehicle platoon is the lead vehicle of any vehicle platoon, then the second acceleration of any vehicle is calculated based on the preset time distance between vehicle platoons, so that the time distance between any vehicle and the tail vehicle of the preceding vehicle platoon reaches the preset time distance.
[0097] Determine whether the second acceleration exceeds a preset acceleration threshold;
[0098] If the second acceleration exceeds a preset acceleration threshold, then the preset acceleration threshold is taken as the second target acceleration;
[0099] If the second acceleration does not exceed the preset acceleration threshold, then the second acceleration is taken as the second target acceleration.
[0100] In the embodiments of this specification, the preset acceleration threshold can represent the maximum and minimum allowable acceleration of the vehicle. For example, [-4, 2.5] means that the maximum acceleration of the vehicle is 2.5 m / s². 2 The vehicle's minimum acceleration is -4 m / s². 2 Speed planning can be performed for vehicles in unstable vehicle platoons. Vehicles in unstable platoons can refer to those in platoons that have just been adjusted, or those that have just been divided into platoons but have not yet started moving in formation. For vehicles in unstable platoons, it can be determined whether they are the lead vehicle. After determining the lead vehicle, the other vehicles in the lead vehicle's platoon can be designated as follow vehicles. The lead vehicle needs to maintain a preset time distance from the tail vehicles in other platoons to ensure safe driving within the platoon. Follow vehicles need to maintain a preset distance between each vehicle in the platoon to avoid collisions when slowing down or stopping in the event of an emergency. The lead vehicle can accelerate according to a first objective to maintain the preset time distance between vehicles in the platoon, while follow vehicles can accelerate according to a second objective to maintain the preset distance between vehicles within the platoon. It can be understood that within a cluster, the vehicle platoon at the very front stabilizes first, and as time progresses, the remaining vehicles will also move in a relatively stable state. A relatively stable state can be understood as vehicles maintaining a constant speed; it can also be understood as the distance between vehicles in a platoon being around a preset distance, and the time distance between the lead vehicle and the last vehicle in a platoon being around a preset time distance.
[0101] The platoon can be stabilized by adjusting the vehicle acceleration. The method described in this specification, which calculates the first acceleration of any vehicle based on a preset distance within the platoon, specifically includes:
[0102] According to the second formula Calculate the first target acceleration of any of the vehicles; wherein, a i (t) represents the acceleration of the first target; γ1 and γ2 represent weighting parameters; x i (t) represents the position of any of the vehicles; the x j (t) represents the position of the vehicle preceding any vehicle in the vehicle platoon; e represents the preset distance; v i (t) represents the current speed of any of the vehicles; the v j (t) represents the current speed of the preceding vehicle; the preceding vehicle refers to the vehicle located in front of any of the vehicles in the vehicle formation;
[0103] And / or,
[0104] The step of calculating the second acceleration of any vehicle based on the preset time interval between the vehicle formations specifically includes:
[0105] According to the third formula a i (t)=-[γ1(x i (t)-x h (t)-v i (t)*T)+γ2(v i (t)-v h (t))], calculate the second target acceleration of any of the vehicles; wherein, a i (t) represents the second target acceleration; γ1 and γ2 represent weighting parameters; x i (t) represents the position of any of the vehicles; the x h (t) represents the position of the last vehicle in any vehicle platoon located in front of any of the aforementioned vehicles; T represents the preset time distance value; v i (t) represents the current speed of any of the vehicles; the v h (t) represents the current speed of the tail vehicle.
[0106] In the embodiments of this specification, the target acceleration can be calculated by substituting the vehicle into the corresponding formula depending on whether it is the lead car in a formation. It can be understood that if there are five vehicles in a formation, and the first acceleration of the fourth vehicle in the formation needs to be calculated based on the lead car, then the value of 'e' can be the expected distance between the lead car and the fourth vehicle. For example, if the preset distance between vehicles in the formation is 30 meters, and each vehicle is 4 meters long, then the expected distance between the lead car and the fourth vehicle is 30*3 + 4*2 = 98 meters, and 98 meters can be used as the value of 'e'. Similarly, the acceleration of the lead car can also be calculated based on the time interval between several adjacent formations.
[0107] In the embodiments of this specification, the vehicle platooning method can be applied to simulation software for simulation, allowing direct viewing of the platooning results based on this method. The platooning method can then be adjusted based on the results. During simulation, the speed of each vehicle when the platoon stabilizes can be predicted using the formula v = v0 + at. v represents the speed of each vehicle when the platoon stabilizes; v0 represents the current speed of the vehicle; a represents the first or second target acceleration; and t represents the time from the current state to when the platoon stabilizes. "Stabilizing" can mean that the lead vehicle reaches a preset time distance from the vehicle in front, or that the following vehicle reaches a preset distance from the vehicle in front.
[0108] The above methods can improve the calculation efficiency of formation, speed up formation, facilitate response to emergencies, improve driving safety, and enhance the flexibility of formation.
[0109] Based on the same idea, embodiments of this specification also provide apparatus corresponding to the above methods. Figure 3 This is a schematic diagram of a vehicle platooning device provided in an embodiment of this specification. Figure 3 As shown, the device may include:
[0110] Information acquisition module 302 is used to acquire the location and speed information of each vehicle;
[0111] The time-distance calculation module 304 is used to calculate the time-distance value of each vehicle based on the location information and the speed information.
[0112] Clustering module 306 is used to cluster the vehicles according to the time interval value to obtain multiple clusters;
[0113] The platooning module 308 is used to segment the multiple clusters using a combined optimization algorithm that introduces a congestion factor to obtain several vehicle platoons; the congestion factor represents the congestion level of the current lane.
[0114] Based on the same idea, this specification also provides devices corresponding to the above methods in its embodiments.
[0115] Figure 4 This is a structural schematic diagram of a vehicle platooning device provided as an embodiment of this specification. Figure 4 As shown, device 400 may include:
[0116] At least one processor 410; and,
[0117] Memory 430 communicatively connected to the at least one processor; wherein,
[0118] The memory 430 stores instructions 420 that can be executed by the at least one processor 410, the instructions being executed by the at least one processor 410 to enable the at least one processor 410 to:
[0119] Obtain the location and speed information of each vehicle;
[0120] Based on the location information and the speed information, calculate the time distance value for each vehicle;
[0121] Based on the time interval values, the vehicles are clustered to obtain multiple clusters;
[0122] By using a combined optimization algorithm that incorporates a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; the congestion factor represents the congestion level of the current lane.
[0123] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, for... Figure 4 As the device shown is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.
[0124] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.
[0125] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.
[0126] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.
[0127] For ease of description, the above devices are described separately by function as various units. Of course, in implementing this application, the functions of each unit can be implemented in one or more software and / or hardware.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment 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.
[0132] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0133] 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.
[0134] 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 method for vehicle platooning, characterized in that, include: Obtain the location and speed information of each vehicle; Based on the location information and the speed information, calculate the time distance value for each vehicle; Based on the time interval values, the vehicles are clustered to obtain multiple clusters; By using a combined optimization algorithm that incorporates a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; The congestion factor represents the degree of congestion in the current lane; The step of clustering the vehicles based on the time interval value specifically includes: Select the smallest first time interval value from among the various time interval values; Determine the first vehicle corresponding to the first time interval value; From the time distance values corresponding to the other vehicles besides the first vehicle, select the second time distance value that is the smallest. Determine the second vehicle corresponding to the second time interval value; Determine an intermediate vehicle between the first vehicle and the second vehicle from the various vehicles; Determine whether the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold; If the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold, then the intermediate vehicle, the first vehicle, and the second vehicle are classified as the same cluster.
2. The method according to claim 1, characterized in that, The method further includes: Determine whether the sum of the numbers of the intermediate vehicle, the first vehicle, and the second vehicle is greater than a first preset number; If the sum of the quantities is greater than the first preset quantity, then the first vehicle and at least some of the intermediate vehicles are classified as the same cluster, and the second vehicle or the second vehicle and the other part of the intermediate vehicles excluding the at least some of the vehicles are classified as another cluster. The phrase "treating the intermediate vehicle, the first vehicle, and the second vehicle as the same cluster" specifically includes: If the sum of the quantities is less than or equal to the first preset quantity, then the intermediate vehicle, the first vehicle, and the second vehicle are classified as the same cluster.
3. The method according to claim 2, characterized in that, The step of classifying the first vehicle and at least some of the intermediate vehicles as the same cluster specifically includes: A second preset number of consecutive intermediate vehicles are obtained from the side closest to the first vehicle from the intermediate vehicles, and the second preset number of intermediate vehicles and the first vehicle are grouped together as a cluster; the sum of the number of the second preset number of intermediate vehicles and the number of the first vehicle is equal to the first preset number. The phrase "treating the second vehicle, or the second vehicle and the other portion of the intermediate vehicles excluding the at least some of the vehicles" as another category specifically includes: If the sum of the number of the second vehicle and the remaining intermediate vehicles is less than or equal to the first preset number, then the second vehicle and the remaining intermediate vehicles are classified as another cluster.
4. The method according to claim 1, characterized in that, The method of using a combined optimization algorithm that incorporates a congestion factor to segment the multiple clusters specifically includes: For any one of the plurality of clusters, based on the number of vehicles contained in the cluster and the vehicle formation capacity of the vehicle formation, determine the first number of vehicle formations into which the cluster is expected to be divided. Based on the first quantity and the congestion factor, calculate the second quantity of vehicle formations into which each cluster is expected to be divided; Based on the second quantity, each of the clusters is segmented.
5. The method according to claim 4, characterized in that, The step of segmenting any cluster according to the second quantity specifically includes: According to the first formula Calculate the evaluation value corresponding to different formation combinations for any given cluster; where, The This represents the number of vehicles in the i-th formation in the formation combination. This indicates the maximum number of vehicles in the vehicle platoon; The The number of vehicles in the j-th formation in the formation combination is represented; k represents the second number; Z represents the evaluation value corresponding to the formation combination. The formation combination with the smallest evaluation value is used as the segmentation method for any of the clusters.
6. The method according to claim 1, characterized in that, After obtaining several vehicle platoons, the process also includes: For any vehicle formation among the plurality of vehicle formations, determine whether any vehicle in any vehicle formation is the lead vehicle of that vehicle formation. If any vehicle in any vehicle platoon is not the lead vehicle of any vehicle platoon, then the first acceleration of any vehicle is calculated based on the preset distance of any vehicle platoon, so that the distance between any vehicle and the vehicle in front reaches the preset distance; Determine whether the first acceleration exceeds a preset acceleration threshold; If the first acceleration exceeds a preset acceleration threshold, then the preset acceleration threshold is taken as the first target acceleration; If the first acceleration does not exceed the preset acceleration threshold, then the first acceleration is taken as the first target acceleration; And / or, If any vehicle in any vehicle platoon is the lead vehicle of any vehicle platoon, then the second acceleration of any vehicle is calculated based on the preset time distance between vehicle platoons, so that the time distance between any vehicle and the tail vehicle of the preceding vehicle platoon reaches the preset time distance. Determine whether the second acceleration exceeds a preset acceleration threshold; If the second acceleration exceeds a preset acceleration threshold, then the preset acceleration threshold is taken as the second target acceleration; If the second acceleration does not exceed the preset acceleration threshold, then the second acceleration is taken as the second target acceleration.
7. A vehicle platooning apparatus for use in the vehicle platooning method as described in any one of claims 1-6, characterized in that, include: The information acquisition module is used to acquire the location and speed information of each vehicle; The time-distance calculation module is used to calculate the time-distance value of each vehicle based on the location information and the speed information. The clustering module is used to cluster the vehicles according to the time interval value to obtain multiple clusters; The platooning module is used to segment the multiple clusters using a combined optimization algorithm that incorporates a congestion factor, thereby obtaining several vehicle platoons; the congestion factor represents the congestion level of the current lane.
8. A vehicle platooning device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enable the at least one processor to: Obtain the location and speed information of each vehicle; Based on the location information and the speed information, calculate the time distance value for each vehicle; Based on the time interval values, the vehicles are clustered to obtain multiple clusters; Using a combinatorial optimization algorithm that incorporates a congestion factor, the multiple clusters are segmented to obtain several vehicle formations; the congestion factor represents the congestion level of the current lane. The step of clustering the vehicles based on the time interval value specifically includes: Select the smallest first time interval value from among the various time interval values; Determine the first vehicle corresponding to the first time interval value; From the time distance values corresponding to the other vehicles besides the first vehicle, select the second time distance value that is the smallest. Determine the second vehicle corresponding to the second time interval value; Determine an intermediate vehicle between the first vehicle and the second vehicle from the various vehicles; Determine whether the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold; If the time distance values of the intermediate vehicle, the first vehicle, and the second vehicle are all less than or equal to a preset threshold, then the intermediate vehicle, the first vehicle, and the second vehicle are classified as the same cluster.