Driving strategy determination method and device, electronic equipment and storage medium

By constructing a directed acyclic graph and dividing the node set, and using attribute information for pruning to generate the target driving strategy, the problems of slow calculation speed and low accuracy in the existing technology are solved, and the rapid and accurate planning of the train automatic driving system is realized.

CN115675508BActive Publication Date: 2025-11-28NAT HIGH SPEED TRAIN QINGDAO TECH INNOVATION CENT +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110862906.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-29
Publication Date
2025-11-28
Estimated Expiration
2041-07-29

AI Technical Summary

Technical Problem

In existing train automatic driving systems, driving strategy planning involves a large amount of computation, is slow, makes it difficult to meet real-time requirements, and results in low accuracy.

Method used

By constructing a directed acyclic graph, dividing the nodes into forward and backward sets, and using the attribute information of the nodes and passage points for pruning, an accurate target driving strategy is generated.

Benefits of technology

It improves the calculation speed and accuracy of driving strategy planning, meeting real-time requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115675508B_ABST
    Figure CN115675508B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a driving strategy determination method and device, electronic equipment and storage medium. A directed acyclic graph corresponding to a target route and passing points are determined, and nodes in the directed acyclic graph are classified according to attribute information of each passing point to obtain a first node set and a second node set. The driving strategies of each first node and the driving strategies of each second node are pruned in turn according to the order from front to back and from back to front, respectively, to obtain a front strategy and a back strategy, and the target driving strategy is obtained by splicing the front strategy and the back strategy. In the embodiment of the present disclosure, each node in the directed acyclic graph is divided into a first node set in the front direction and a second node set in the back direction according to the corresponding position, and the first node and each second node in each driving strategy starting from the starting point and the ending point of the target route are pruned in turn, and the accurate target driving strategy is obtained by splicing, which improves the accuracy and processing speed of the determination process.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of automatic driving, and particularly relates to a driving strategy determination method and device, an electronic device and a storage medium. BACKGROUND

[0002] In a train automatic driving system, a fast and effective energy-saving optimization method has always been an important part of train driving strategy planning. The existing method needs a large amount of calculation when planning a driving strategy for an energy-saving curve optimization problem, and the calculation speed is slow, which is difficult to meet the real-time requirement. At the same time, the existing technology mainly plans a driving strategy for the properties of the entire target route, so that the accuracy of the final driving strategy is low. SUMMARY

[0003] Therefore, the present disclosure provides a driving strategy determination method and device, an electronic device and a storage medium, which aims to improve the calculation speed of driving strategy planning and the accuracy of the obtained target driving strategy.

[0004] According to a first aspect of the present disclosure, a driving strategy determination method is provided, the method comprising:

[0005] determining a directed acyclic graph corresponding to a target route, the directed acyclic graph comprising a plurality of driving strategies, each of the driving strategies comprising a plurality of nodes connected by paths, each of the nodes having corresponding first attribute information, and each of the paths having corresponding second attribute information;

[0006] determining a plurality of passing points corresponding to the target route, each of the passing points having corresponding third attribute information, and each of the passing points representing a specified location in the target route that needs to be reached within a specified time interval;

[0007] classifying each of the nodes according to each of the third attribute information and each of the first attribute information to obtain a first node set and a second node set, the first node set comprising at least one first node, and the second node set comprising at least one second node;

[0008] pruning each of the driving strategies corresponding to each of the first nodes and each of the driving strategies corresponding to each of the second nodes according to each of the second attribute information and each of the third attribute information, respectively, to obtain a forward strategy and a backward strategy, wherein the pruning order of each of the first nodes is the position order from front to back in the corresponding driving strategy, and the pruning order of each of the second nodes is the position order from back to front in the corresponding driving strategy;

[0009] splicing the forward strategy and the backward strategy to obtain a target driving strategy corresponding to the target route.

[0010] In a possible implementation, the first attribute information includes a first position attribute and a speed attribute of a corresponding node, the second attribute information includes a time attribute and an energy attribute of a corresponding path, the third attribute information includes a second position attribute and a driving time window of a corresponding passing point, the first position attribute is used to represent a position where the corresponding node is located, the speed attribute is used to represent a speed of the vehicle at the position of the corresponding node, the time attribute is used to represent a time length consumed by the vehicle on the corresponding path, the energy attribute is used to represent energy consumed by the vehicle on the corresponding path, the second position attribute is used to represent a position of the corresponding passing point, and the driving time window is used to represent a time interval in which the vehicle passes through the corresponding passing point.

[0011] In a possible implementation, the determining the directed acyclic graph corresponding to the target route includes:

[0012] determining a plurality of driving curves corresponding to the target route, the driving curves being used to represent changes of positions and speeds in a driving process of the vehicle;

[0013] determining the directed acyclic graph according to the driving curves.

[0014] In a possible implementation, the determining the plurality of driving curves corresponding to the target route includes:

[0015] determining a plurality of driving modes;

[0016] generating the plurality of driving curves according to the driving modes, a geographical slope and a speed limit of the target route, a driving performance of the vehicle, a preset curve drawing rule, and a speed ladder.

[0017] In a possible implementation, the driving modes include at least one of a maximum traction mode, a traction cruise mode, a coasting mode, a brake cruise mode, and a maximum brake mode, the maximum traction mode is a driving mode in which the vehicle accelerates at a maximum power, the traction cruise mode is a driving mode in which the vehicle is kept at a constant speed on an uphill road by acceleration, the coasting mode is a driving mode in which the vehicle is kept at a constant speed on a downhill road by inertia when the vehicle has an initial speed greater than 0, the brake cruise mode is a driving mode in which the vehicle is kept at a constant speed on a downhill road by a brake force, and the maximum brake mode is a driving mode in which the vehicle decelerates by a maximum brake force.

[0018] In a possible implementation, the determining the directed acyclic graph according to the driving curves includes:

[0019] determining, as a node set, positions where the driving modes change in the driving curves;

[0020] creating paths between adjacent nodes in the same driving curve.

[0021] determine a directed acyclic graph according to the node set and paths corresponding to each of the nodes.

[0022] In a possible implementation, the classifying each of the nodes according to the third attribute information and the first attribute information comprises:

[0023] determine an intermediate passing point according to a number of passing points corresponding to the target route and positions of each of the passing points;

[0024] classify each of the nodes according to a second position attribute of the intermediate passing point and a corresponding first position attribute.

[0025] In a possible implementation, the classifying each of the nodes according to the second position attribute of the intermediate passing point and the corresponding first position attribute comprises:

[0026] determine a position relationship of each of the nodes and the intermediate passing point according to the corresponding first position attribute and the second position attribute in a driving direction;

[0027] determine the node as a first node in response to the node not being behind the intermediate passing point;

[0028] determine the node as a second node in response to the node not being in front of the intermediate passing node.

[0029] In a possible implementation, the pruning, according to the second attribute information and the third attribute information, of a driving strategy corresponding to each of the first nodes and a driving strategy corresponding to each of the second nodes respectively, to obtain a forward strategy and a backward strategy comprises:

[0030] determine a first energy consumption boundary matrix and a second energy consumption boundary matrix according to the first attribute information corresponding to each of the first nodes and the second nodes, the second attribute information, and the third attribute information, the first energy consumption boundary matrix including at least one first lowest energy consumption corresponding to each of the first nodes, and the second energy consumption boundary matrix including at least one second lowest energy consumption corresponding to each of the second nodes, the first lowest energy consumption being used to represent a lowest energy consumption required for driving from a position of a corresponding first node to a terminal position of the target route, and the second lowest energy consumption being used to represent a lowest energy consumption required for driving from a position of a corresponding second node to a starting position of the target route;

[0031] obtain, in a first node set, a first node as a target node in a position sequence from front to back in a corresponding driving strategy, and obtain, in a second node set, a second node as a target node in a position sequence from back to front in the corresponding driving strategy, to perform the following steps on the target node.

[0032] performing a first pruning strategy according to the first attribute information corresponding to the target node, the second attribute information, and the third attribute information;

[0033] performing a second pruning strategy according to the first attribute information corresponding to the target node, the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0034] determining that the driving strategy of each first node after pruning is a forward strategy, and the driving strategy of each second node after pruning is a backward strategy.

[0035] In a possible implementation, the determining the first energy consumption boundary matrix and the second energy consumption boundary matrix according to the first attribute information corresponding to each first node and second node, the second attribute information, and the third attribute information includes:

[0036] determining a passing point corresponding to each first node and second node according to the corresponding first attribute information and the third attribute information;

[0037] determining at least one first minimum energy consumption or second minimum energy consumption according to the second attribute information of the path corresponding to each first node and second node, the third attribute information of the corresponding passing point, and a preset step length, each first minimum energy consumption and second minimum energy consumption having a corresponding time point, the first minimum energy consumption being used to represent the minimum energy consumption required to drive from the corresponding first node position to the end position of the target route at the corresponding time point, and the second minimum energy consumption being used to represent the minimum energy consumption required to drive from the corresponding second node position to the start position of the target route at the corresponding time point;

[0038] determining a first energy consumption boundary matrix including each first minimum energy consumption, and a second energy consumption boundary matrix including each second minimum energy consumption.

[0039] In a possible implementation, the determining the first minimum energy consumption or second minimum energy consumption according to the second attribute information of the path corresponding to each first node and second node, the third attribute information of the corresponding passing point, and a preset step length includes:

[0040] determining a passing time window according to the driving time window of the passing point corresponding to each first node and second node;

[0041] determining a time point sequence corresponding to each first node and second node according to the preset step length and each passing time window, the time point sequence including a plurality of time points;

[0042] determining the first minimum energy consumption or the second minimum energy consumption of each of the first node and the second node at each of the time points in the corresponding time point sequence, the first minimum energy consumption and the second minimum energy consumption being determined according to the second attribute information of the path after each of the corresponding driving strategies from the first node / second node to the end node / starting node.

[0043] In a possible implementation, the determining of the driving time window according to the driving time window of each of the first node and the second node at the corresponding passing point comprises:

[0044] in response to the corresponding one passing point, determining the driving time window of the corresponding passing point as the passing time window of the first node / second node;

[0045] in response to the corresponding two passing points, determining the passing time window of the first node / second node according to the start time of the driving time window of the adjacent passing point in the driving direction and the end time of the adjacent passing point after the driving direction.

[0046] In a possible implementation, the performing of the first pruning strategy according to the first attribute information of the target node, each of the second attribute information, and each of the third attribute information comprises:

[0047] determining the number of passing points corresponding to the target node according to the first attribute information of the target node and each of the third attribute information;

[0048] in response to the corresponding number of passing points being one, pruning at least one driving strategy corresponding to the target node according to the driving time window of the corresponding passing point and the time attribute of the corresponding path;

[0049] in response to the corresponding number of passing points being two, pruning at least one driving strategy corresponding to the target node according to the first attribute information of the target node and the time attribute of the corresponding path.

[0050] In a possible implementation, the determining of the number of passing points corresponding to the target node according to the first attribute information of the target node and each of the third attribute information comprises:

[0051] in response to the existence of the second location attribute identical to the corresponding first location attribute, determining that the passing point corresponding to the second location attribute corresponds to the target node.

[0052] In a possible implementation, the determining of the number of passing points corresponding to the target node according to the first attribute information of the target node and each of the third attribute information further comprises:

[0053] In response to the absence of the second location attribute identical to the corresponding first location attribute, two passing points adjacent to the corresponding first location attribute of the second location attribute are determined to correspond to the target node.

[0054] In a possible implementation, pruning at least one driving strategy corresponding to the target node according to the driving time window of the corresponding passing point and the time attribute of the corresponding path comprises:

[0055] determining all paths from the start node / end node to the target node in the corresponding driving strategy as the previous paths corresponding to the target node;

[0056] determining the arrival time of the target node via the previous paths in each driving strategy according to the time attribute of the previous paths in each driving strategy corresponding to the target node;

[0057] pruning the driving strategy in response to the corresponding arrival time not being within the driving time window of the corresponding passing point.

[0058] In a possible implementation, the pruning of at least one driving strategy corresponding to the target node according to the first attribute information of the target node and the time attribute of the corresponding path comprises:

[0059] determining the remaining duration of each driving strategy according to the time attribute of the previous paths corresponding to the target node, the remaining duration being the required time for reaching the target route endpoint from the target node on time by using each driving strategy;

[0060] determining the limit duration according to the first location attribute and the speed attribute of the target node, the limit duration being used to represent the shortest duration for reaching the target route endpoint from the location of the target node;

[0061] pruning the driving strategy in response to the corresponding remaining duration being less than the limit duration.

[0062] In a possible implementation, the determination of the remaining duration of each driving strategy according to the time attribute of the previous paths corresponding to the target node comprises:

[0063] determining the route duration corresponding to the target route, the route duration being used to represent the total duration required for the vehicle to drive in the target route;

[0064] determining the consumed duration according to the time attribute of the previous paths in each driving strategy corresponding to the target node, the consumed duration representing the duration consumed for reaching the target node by using each driving strategy;

[0065] The remaining time length corresponding to each driving strategy is determined according to the consumption time length and the route time length.

[0066] In a possible implementation, the performing the second pruning strategy according to the first attribute information corresponding to the target node, the second attribute information corresponding to each preceding path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix comprises:

[0067] determining the driving energy consumption as a positive infinite initial value;

[0068] determining the estimated energy consumption corresponding to each driving strategy according to the first attribute information corresponding to the target node, the second attribute information corresponding to the preceding path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0069] pruning the driving strategy in response to the corresponding estimated energy consumption being greater than the driving energy consumption;

[0070] pruning the driving strategy corresponding to the current driving energy consumption in response to the corresponding estimated energy consumption being less than the driving energy consumption, and updating the estimated energy consumption as a new driving energy consumption.

[0071] In a possible implementation, the determining the estimated energy consumption corresponding to each driving strategy according to the first attribute information corresponding to the target node, the second attribute information corresponding to the preceding path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix comprises:

[0072] determining a time of arrival according to the time attribute of each preceding path in the driving strategy corresponding to the target node, the time of arrival being used to represent a time of arrival at the target node through the corresponding driving strategy;

[0073] determining a target minimum energy consumption corresponding to the time of arrival and the target node in the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0074] determining a preceding energy consumption according to the energy sum of each preceding path in the driving strategy corresponding to the target node, the preceding energy consumption being used to represent energy consumption of arriving at the target node through the corresponding driving strategy;

[0075] determining the estimated energy consumption of each driving strategy according to a sum of the target minimum energy consumption and the corresponding preceding energy consumption.

[0076] According to a second aspect of the present disclosure, a driving strategy determination apparatus is provided, which comprises:

[0077] a directed graph determining module configured to determine a directed acyclic graph corresponding to the target route, the directed acyclic graph comprising a plurality of driving strategies, each of the driving strategies comprising a plurality of nodes connected by paths, each of the nodes having corresponding first attribute information, and each of the paths having corresponding second attribute information;

[0078] a passing point determining module configured to determine a plurality of passing points corresponding to the target route, each of the passing points having corresponding third attribute information, the passing points representing specified positions in the target route that need to be reached within a specified time interval;

[0079] a node classifying module configured to classify each of the nodes according to each of the third attribute information and each of the first attribute information, to obtain a first node set and a second node set, the first node set comprising at least one first node, and the second node set comprising at least one second node;

[0080] a pruning module configured to prune each of the driving strategies corresponding to each of the first nodes and each of the driving strategies corresponding to each of the second nodes according to each of the second attribute information and each of the third attribute information, to obtain a forward strategy and a backward strategy, wherein a pruning order of each of the first nodes is a position order from front to back in the corresponding driving strategy, and a pruning order of each of the second nodes is a position order from back to front in the corresponding driving strategy;

[0081] a strategy splicing module configured to splice the forward strategy and the backward strategy to obtain a target driving strategy corresponding to the target route.

[0082] In a possible implementation, the first attribute information comprises a first position attribute and a speed attribute of a corresponding node, the second attribute information comprises a time attribute and an energy attribute of a corresponding path, the third attribute information comprises a second position attribute and a driving time window of a corresponding passing point, the first position attribute is used to represent a position of the corresponding node, the speed attribute is used to represent a speed of the vehicle at the position of the corresponding node, the time attribute is used to represent a time length consumed by the vehicle on the corresponding path, the energy attribute is used to represent an energy consumed by the vehicle on the corresponding path, the second position attribute is used to represent a position of the corresponding passing point, and the driving time window is used to represent a time interval for the vehicle to pass the corresponding passing point.

[0083] In a possible implementation, the directed graph determining module comprises:

[0084] a curve determining sub-module configured to determine a plurality of driving curves corresponding to the target route, the driving curves being used to represent changes of positions and speeds of the vehicle in a driving process;

[0085] A directed graph determining sub-module is configured to determine the directed acyclic graph according to the driving curves.

[0086] In a possible implementation, the curve determining sub-module comprises:

[0087] A driving mode determining unit is configured to determine a plurality of driving modes.

[0088] A curve drawing unit is configured to generate a plurality of driving curves according to the driving modes, a geographical slope and a speed limit of a target route, driving performance of a vehicle, preset curve drawing rules and a speed ladder.

[0089] In a possible implementation, the driving modes comprise at least one of a maximum traction mode, a traction cruise mode, a coasting mode, a brake cruise mode and a maximum brake mode, the maximum traction mode is a driving mode in which the vehicle accelerates at a maximum power, the traction cruise mode is a driving mode in which the vehicle travels at a constant speed on an uphill road by accelerating, the coasting mode is a driving mode in which the vehicle travels by inertia when the vehicle has an initial speed greater than 0, the brake cruise mode is a driving mode in which the vehicle travels at a constant speed on a downhill road by applying a brake force, and the maximum brake mode is a driving mode in which the vehicle travels by applying a maximum brake force.

[0090] In a possible implementation, the directed graph determining sub-module comprises:

[0091] A node set determining unit is configured to determine a node set by taking positions at which the driving modes change in the driving curves as nodes.

[0092] A path creating unit is configured to create a path between adjacent nodes in the same driving curve.

[0093] A directed graph determining unit is configured to determine a directed acyclic graph according to the node set and the paths corresponding to the nodes.

[0094] In a possible implementation, the node classification module comprises:

[0095] An intermediate passing point determining sub-module is configured to determine an intermediate passing point according to a number of passing points corresponding to the target route and positions of the passing points.

[0096] A classification sub-module is configured to classify the nodes according to second position attributes of the intermediate passing points and corresponding first position attributes.

[0097] In a possible implementation, the classification sub-module comprises:

[0098] A position relationship determining unit is configured to determine position relationships of the nodes and the intermediate passing point along a driving direction according to the corresponding first position attribute and second position attribute.

[0099] A first node determining unit is configured to determine the node as a first node in response to the node not being behind the intermediate passing point.

[0100] A second node determining unit is configured to determine the node as a second node in response to the node not being in front of the intermediate passing point.

[0101] In a possible implementation, the pruning module comprises:

[0102] A matrix determining sub-module is configured to determine a first energy consumption boundary matrix and a second energy consumption boundary matrix according to the first attribute information corresponding to each of the first nodes and second nodes, each of the second attribute information, and each of the third attribute information, wherein the first energy consumption boundary matrix comprises at least one first lowest energy consumption corresponding to each of the first nodes, and the second energy consumption boundary matrix comprises at least one second lowest energy consumption corresponding to each of the second nodes, wherein the first lowest energy consumption is used to represent a lowest energy consumption required for driving from a position corresponding to the first node to a terminal position of the target route, and the second lowest energy consumption is used to represent a lowest energy consumption required for driving from a position corresponding to the second node to a starting position of the target route.

[0103] A node determining sub-module is configured to sequentially obtain a first node as a target node in the first node set according to a position sequence from front to back in the corresponding driving strategy, and sequentially obtain a second node as a target node in the second node set according to a position sequence from back to front in the corresponding driving strategy, to perform the following steps on the target node.

[0104] A first pruning sub-module is configured to perform a first pruning strategy according to the first attribute information corresponding to the target node, each of the second attribute information, and each of the third attribute information.

[0105] A second pruning sub-module is configured to perform a second pruning strategy according to the first attribute information corresponding to the target node, each of the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix.

[0106] A strategy determining sub-module is configured to determine that a driving strategy after pruning of the driving strategy corresponding to each of the first nodes is a forward strategy, and a driving strategy after pruning of the driving strategy corresponding to each of the second nodes is a backward strategy.

[0107] In a possible implementation, the matrix determining sub-module comprises:

[0108] A correspondence point determination unit is configured to determine a passing point corresponding to each of the first node and the second node according to the corresponding first attribute information and each of the third attribute information.

[0109] An energy consumption determination unit is configured to determine at least one of a first minimum energy consumption or a second minimum energy consumption according to the second attribute information of the path corresponding to each of the first node and the second node, the third attribute information of the passing point, and a preset step length, each of the first minimum energy consumption and the second minimum energy consumption having a corresponding time point, the first minimum energy consumption being used to represent a minimum energy consumption required for driving from a corresponding first node position to the target route end position at a corresponding time point, and the second minimum energy consumption being used to represent a minimum energy consumption required for driving from a corresponding second node position to the target route start position at a corresponding time point.

[0110] A matrix determination unit is configured to determine a first energy consumption boundary matrix including each of the first minimum energy consumption, and a second energy consumption boundary matrix including each of the second minimum energy consumption.

[0111] In a possible implementation, the energy consumption determination unit includes:

[0112] A time window determination subunit is configured to determine a passing time window according to a driving time window of the passing point corresponding to each of the first node and the second node.

[0113] A sequence determination subunit is configured to determine a time point sequence corresponding to each of the first node and the second node according to a preset step length and each of the passing time window, the time point sequence including a plurality of time points.

[0114] An energy consumption calculation subunit is configured to determine the first minimum energy consumption or the second minimum energy consumption of each of the first node and the second node at each of the time points in the corresponding time point sequence, the first minimum energy consumption and the second minimum energy consumption being determined according to the second attribute information of the path in the corresponding driving strategy, the path being from the first node / second node to an end node / start node.

[0115] In a possible implementation, the time window determination subunit includes:

[0116] A first time window determination subunit is configured to determine, in response to one passing point, a driving time window of the corresponding passing point as a passing time window of the first node / second node.

[0117] A second time window determination subunit is configured to determine, in response to two passing points, a passing time window of the first node / second node according to a start time point of a driving time window of a preceding adjacent passing point and an end time point of a following adjacent passing point.

[0118] In a possible implementation, the first pruning submodule comprises:

[0119] A passing point determination unit is configured to determine a number of passing points corresponding to the target node according to the first attribute information corresponding to the target node and each third attribute information;

[0120] A first pruning unit is configured to prune at least one driving strategy corresponding to the target node according to a driving time window of a corresponding passing point and a time attribute of a corresponding path in response to the number of corresponding passing points being one.

[0121] A second pruning unit is configured to prune at least one driving strategy corresponding to the target node according to the first attribute information of the target node and the time attribute of the corresponding path in response to the number of corresponding passing points being two.

[0122] In a possible implementation, the passing point determination unit comprises:

[0123] A first corresponding subunit is configured to determine that a passing point corresponding to a second location attribute is corresponding to the target node in response to the second location attribute being the same as a corresponding first location attribute.

[0124] In a possible implementation, the passing point determination unit further comprises:

[0125] A second corresponding subunit is configured to determine that two passing points adjacent to the first location attribute are corresponding to the target node in response to the second location attribute not being the same as the corresponding first location attribute.

[0126] In a possible implementation, the first pruning unit comprises:

[0127] A path determination subunit is configured to determine that all paths from a start node / end node to the target node in a corresponding driving strategy are preceding paths corresponding to the target node.

[0128] A first time point determination subunit is configured to determine an arrival time point of the target node via a preceding path in each driving strategy corresponding to the target node according to a time attribute of the preceding path in each driving strategy corresponding to the target node.

[0129] A first pruning subunit is configured to prune the driving strategy in response to a corresponding arrival time point not being within a driving time window of a corresponding passing point.

[0130] In a possible implementation, the second pruning unit comprises:

[0131] a first time length determining subunit, configured to determine a residual time length corresponding to each driving strategy according to a time attribute of a previous path corresponding to the target node, the residual time length being a time required for reaching a terminal point of a target route from the target node in time by using each driving strategy;

[0132] a second time length determining subunit, configured to determine a limit time length according to a first location attribute and a speed attribute of the target node, the limit time length being used to represent a shortest time length for reaching the terminal point of the target route from a location where the target node is located;

[0133] a second pruning subunit, configured to prune the driving strategy in response to the corresponding residual time length being less than the limit time length.

[0134] In a possible implementation, the first time length determining subunit comprises:

[0135] a route time length determining subunit, configured to determine a route time length corresponding to the target route, the route time length being used to represent a total time length required for a vehicle to drive in the target route;

[0136] a consumed time length determining subunit, configured to determine a consumed time length according to a time attribute of a previous path corresponding to each driving strategy of the target node, the consumed time length representing a time length consumed for reaching the target node by using each driving strategy;

[0137] a residual time length determining subunit, configured to determine a residual time length corresponding to each driving strategy according to each consumed time length and the route time length.

[0138] In a possible implementation, the second pruning subunit comprises:

[0139] a driving energy consumption determining unit, configured to determine a driving energy consumption with an initial value being positive infinity;

[0140] a predicted energy consumption determining unit, configured to determine a predicted energy consumption corresponding to each driving strategy according to the first attribute information corresponding to the target node, the second attribute information corresponding to the previous path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0141] a third pruning unit, configured to prune the driving strategy in response to the corresponding predicted energy consumption being greater than the driving energy consumption;

[0142] an energy consumption enabling unit, configured to prune the driving strategy corresponding to the current driving energy consumption in response to the corresponding predicted energy consumption being less than the driving energy consumption, and update the predicted energy consumption as a new driving energy consumption.

[0143] In a possible implementation, the predicted energy consumption determining unit comprises:

[0144] A second time determination sub-unit is configured to determine a reaching time according to a time attribute of each of the preceding paths in the target node corresponding driving strategy, the reaching time being used to represent a time of reaching the target node by the corresponding driving strategy;

[0145] A lowest energy consumption determination sub-unit is configured to determine a target lowest energy consumption corresponding to the reaching time and the target node in the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0146] A preceding energy consumption determination sub-unit is configured to determine a preceding energy consumption according to a total energy of each of the preceding paths in the target node corresponding driving strategy, the preceding energy consumption being used to represent an energy consumption of reaching the target node by the corresponding driving strategy;

[0147] A predicted energy consumption determination sub-unit is configured to determine a predicted energy consumption of each of the driving strategies according to a sum of the target lowest energy consumption and the corresponding preceding energy consumption.

[0148] According to a third aspect of the present disclosure, an electronic device is provided, comprising:

[0149] a processor;

[0150] a memory for storing processor-executable instructions;

[0151] The processor implements the method according to any one of the first aspect by invoking the executable instructions.

[0152] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, having stored thereon computer program instructions, which, when executed by a processor, implement the method according to any one of the first aspect.

[0153] The driving strategy determination method and device, electronic device and storage medium according to the embodiments of the present disclosure divide each node in the directed acyclic graph into a first node set in the forward direction and a second node set in the backward direction according to corresponding positions, prune each first node and each second node in turn starting from the starting point and the ending point of the target route respectively, and splice to obtain an accurate target driving strategy, thereby improving the accuracy and processing speed of the determination process.

[0154] Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments with reference to the drawings. BRIEF DESCRIPTION OF DRAWINGS

[0155] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the present disclosure and serve to explain the principles of the present disclosure.

[0156] Figure 1A flowchart illustrating a driving strategy determination method according to an embodiment of the present disclosure is shown;

[0157] Figure 2 is a schematic diagram of a directed acyclic graph according to an exemplary embodiment;

[0158] Figure 3 is a schematic diagram of a driving curve according to an exemplary embodiment;

[0159] Figure 4 is a schematic diagram of another driving curve according to an exemplary embodiment;

[0160] Figure 5 A flowchart illustrating a process of determining a directed acyclic graph according to an embodiment of the present disclosure is shown;

[0161] Figure 6 A flowchart illustrating a process of classifying nodes according to an embodiment of the present disclosure is shown;

[0162] Figure 7 A schematic diagram illustrating determination of intermediate passing points according to an embodiment of the present disclosure is shown;

[0163] Figure 8 A schematic diagram illustrating classification of nodes by intermediate passing points according to an embodiment of the present disclosure is shown;

[0164] Figure 9 A flowchart illustrating a pruning process according to an embodiment of the present disclosure is shown;

[0165] Figure 10 A schematic diagram illustrating determination of passing points corresponding to nodes according to an embodiment of the present disclosure is shown;

[0166] Figure 11 A flowchart illustrating a process of determining an energy consumption boundary matrix according to an embodiment of the present disclosure is shown;

[0167] Figure 12 A schematic diagram illustrating a passing time window according to an embodiment of the present disclosure is shown;

[0168] Figure 13 A schematic diagram illustrating a first energy consumption boundary matrix according to an embodiment of the present disclosure is shown;

[0169] Figure 14 A schematic diagram illustrating determination of a target node according to an embodiment of the present disclosure is shown;

[0170] Figure 15 A schematic diagram illustrating pruning of driving strategies corresponding to each node according to an embodiment of the present disclosure is shown;

[0171] Figure 16 A flowchart illustrating a process of performing a first pruning strategy according to an embodiment of the present disclosure is shown;

[0172] Figure 17A schematic diagram showing vehicle traction braking characteristics according to an embodiment of the present disclosure;

[0173] Figure 18 A flowchart showing a process of performing a second pruning strategy according to an embodiment of the present disclosure;

[0174] Figure 19 A schematic diagram showing a driving strategy determination apparatus according to an embodiment of the present disclosure;

[0175] Figure 20 is a block diagram of an electronic device according to an exemplary embodiment;

[0176] Figure 21 is a block diagram of an electronic device according to an exemplary embodiment. DETAILED DESCRIPTION

[0177] Various exemplary embodiments, features, and aspects of the present disclosure will be described hereinafter with reference to the accompanying drawings. The same reference numbers in different drawings denote the same or similar elements throughout the drawings. The drawings are not necessarily drawn to scale, unless otherwise specified. The drawings illustrate various aspects and features of the present disclosure and are not intended to limit the spirit or scope of the present disclosure in any way.

[0178] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations.

[0179] In addition, for the purpose of convenience and brevity, detailed descriptions of well-known functions and structures incorporated in the present disclosure can be omitted. It will be appreciated that the present disclosure can be practiced with the exact details as shown or with variations complying with the principles of the present disclosure. In some instances, well-known methods, structures and techniques have not been described in detail in order to avoid obscuring the present disclosure.

[0180] Figure 1 A flowchart showing a driving strategy determination method according to an embodiment of the present disclosure. The driving strategy determination method can be performed by a terminal device or other processing device, where the terminal device can be a User Equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, etc. In some possible implementations, the driving strategy determination method can be implemented by a processor invoking computer-readable instructions stored in a memory.

[0181] In an example application scenario, the driving strategy determination method of the embodiments of the present disclosure can be used to determine a target driving strategy of a train according to a known target route, a corresponding running time requirement of the train on the target route, and a plurality of driving modes, so as to guide the train to perform automatic driving.

[0182] As shown in Figure 1 , the driving strategy determination method of the embodiments of the present disclosure includes the following steps:

[0183] Step S10, determining a directed acyclic graph corresponding to the target route.

[0184] In a possible implementation, the directed acyclic graph includes a plurality of driving strategies for representing driving modes of the vehicle on the target route, each driving strategy includes a plurality of nodes, and adjacent nodes in the same driving strategy are sequentially connected by paths.

[0185] Figure 2 is a schematic diagram of a directed acyclic graph according to an example embodiment. The directed acyclic graph in the embodiments of the present disclosure includes at least one driving strategy composed of a plurality of nodes and paths. As shown in Figure 2 , a directed acyclic graph is taken as an example for description. The directed acyclic graph includes n s , n1, n2, n3, n4, n5 and n e seven nodes 20, and each node 20 is connected by a path 21. Among them, n s is a start node, n e is an end node, and the start node n s reaches the end node n e through at least one path 21, which corresponds to a driving strategy. That is, Figure 2 , the directed acyclic graph includes six driving strategies. Each of the driving strategies is “driving strategy 1: n s →n1→n4→n e ”, “driving strategy 2: n s →n1→n2→n4→n e ”, “driving strategy 3: n s →n2→n4→n e ”, “driving strategy 4: n s →n2→n5→n e ”, “driving strategy 5: n s →n2→n3→n5→n e ”, and “driving strategy 6: n s →n2→n3→n e ”.

[0186] In one possible implementation, a node represents a specific location on the target route where the vehicle changes its driving mode. That is, during the journey from the starting point to the destination of the target route based on a driving strategy, the vehicle changes its driving mode at each node location within that driving strategy. Furthermore, each node possesses corresponding first attribute information, which includes a first position attribute representing the node's location. This can be the node's actual location or the displacement from the start of the target route to the node. Optionally, the first attribute information may also include attributes such as a speed attribute corresponding to each driving strategy, where the speed attribute represents the vehicle's speed when reaching the node using the corresponding driving strategy.

[0187] In one possible implementation, the path represents the driving mode from the previous node position to the next node position in the corresponding driving strategy, and has corresponding second attribute information. The second attribute information includes a time attribute and an energy attribute. The time attribute represents the duration of time the vehicle consumes on the corresponding path, and the energy attribute represents the energy consumed by the vehicle on the corresponding path. In other words, the time attribute is the time required to drive from the start node position to the end node position of the path using the corresponding driving mode, and the energy attribute is the energy value required to drive from the start node position to the end node position of the path using the corresponding driving mode.

[0188] In one possible implementation, the directed acyclic graph (DAG) corresponding to the target route is determined based on multiple driving curves corresponding to the target route. Specifically, multiple driving curves are first drawn, and then the DAG is determined based on each driving curve. Each driving curve corresponds to a driving strategy, representing the changes in vehicle position and speed as the vehicle travels from the starting point to the destination of the target route using the corresponding driving strategy. Multiple segments within each driving curve correspond to different driving modes, and this correspondence can be determined during the generation of the driving curves.

[0189] Figure 3 This is a schematic diagram illustrating a driving curve according to an exemplary embodiment. Figure 3 As shown, the target route in this embodiment of the present disclosure has a plurality of corresponding driving curves 30. In one possible implementation, each driving curve 30 can be generated based on the driving mode 31, the geographical gradient 32 and speed limit 33 of the target route, the driving performance of the vehicle, preset curve drawing rules and speed steps 34.

[0190] In this driving curve 30, the horizontal axis represents the position, and the vertical axis represents the speed at which the vehicle reaches that position based on the driving curve 30. The two endpoints of the driving curve represent the start and end points of the target route. In other words, each driving curve 30 represents the correspondence between the positions and speeds traversed by the vehicle as it drives from the start point to the end point according to the corresponding driving strategy.

[0191] Based on relevant technologies, driving curves can be drawn using specific driving modes to ensure the accuracy of the target driving strategy under specific driving modes. Driving mode 31 characterizes the vehicle's driving style, including at least one of maximum traction mode, traction cruise mode, coasting mode, brake cruise mode, and maximum braking mode. Optionally, other existing feasible driving modes 31 may also be included, without limitation. The geographical gradient 32 of the target route characterizes the undulation of road conditions encountered by the vehicle during its journey along the target route, and the speed limit 33 characterizes the speed limit rules at various locations along the target route. The vehicle's driving performance characterizes its own driving conditions, including the vehicle's maximum traction acceleration, maximum braking acceleration, and maximum speed. Preset curve drawing rules define the drawing method for each driving curve. The speed step 34 has preset speed variables, defining the drawing of a corresponding driving curve 30 starting from the position where the speed is 0, with each additional speed variable representing a new driving curve 30.

[0192] In one possible implementation, the maximum traction mode is a driving mode that accelerates the vehicle with maximum power, the traction cruise mode is a driving mode that ensures the vehicle travels at a constant speed on uphill roads by accelerating, the coasting mode is a driving mode that coasts in neutral by its own inertia when the vehicle has an initial speed greater than 0, the brake cruise mode is a driving mode that ensures the vehicle travels at a constant speed on downhill roads by applying braking force, and the maximum braking mode is a driving mode that decelerates the vehicle by applying maximum braking force.

[0193] Figure 4 This is a schematic diagram illustrating another driving curve according to an exemplary embodiment. Figure 4 As shown, embodiments of this disclosure can draw driving curves based on preset curve drawing rules and speed stages, according to driving mode, geographical gradient and speed limits of the target route, and vehicle driving performance. Optionally, in a special case, the speed limit restricts the speed at the start and end points of the target route to 0.

[0194] In a possible implementation, the preset curve drawing rule comprises the following drawing manners: starting from the start position of the target path, or starting from the position where the speed limit changes from a large value to a small value, a maximum traction mode curve 40 with gradually increasing speed is drawn forward. Starting from the end position of the target path, or starting from the position where the speed limit changes from a small value to a large value, a maximum braking mode curve 41 with gradually increasing speed is drawn backward. A plurality of horizontal speed curves 42 are drawn according to a preset speed gradient, the intersection points of each horizontal speed curve 42 and the maximum traction mode curve 40 or the maximum braking mode curve 41 are determined, and a traction cruise mode curve and a braking cruise mode curve are drawn according to the geographical slope between each two intersection positions in the same horizontal speed curve 42. The traction cruise mode curve corresponds to an uphill road section in the geographical slope 43, and the braking cruise mode curve corresponds to a downhill road section in the geographical slope 44. In addition, the coasting mode curve 44 can also be drawn backward in reverse from the intersection position of the maximum braking mode curve 41 and the traction cruise mode curve or the braking cruise mode curve.

[0195] In a possible implementation, the principle of drawing each driving curve can be the Pontryagin maximum principle, the vehicle is regarded as a single point without size, and a kinematic model corresponding to the single point is constructed through the following dynamic equations:

[0196]

[0197]

[0198] wherein x ∈ [0, X], t(x) ∈ [0, T], v(x) ∈ [0, v max ], respectively represent the displacement, time and speed of the vehicle. X, T, v max max represent the mileage of the target route, the running time required from the start point to the end point of the target route, and the maximum speed limit in the target route. For example, when the target route is the route between two stations of rail transit, X is the mileage between the two stations, T is the running time of the vehicle on the train timetable track, and v max max is the maximum speed of the track between the two stations. u(x) ∈ (-∞, ∞) is the acceleration of the vehicle traction / braking, and u > 0 and u < 0 respectively correspond to the traction state and the braking state of the vehicle. The running resistance r(v) increases with the increase of the speed of the vehicle. g(x) is the comprehensive acceleration of the vehicle moving from the start point of the target route to the position x, including the gravity acceleration component and the equivalent acceleration of the curve resistance, and is described by using equivalent segmented constant slope.

[0199] Based on the above dynamic formulas (1.1) and (1.2), the vehicle running constraints and energy consumption in the kinematic model are represented by the following formulas (1.3) and (1.4) respectively:

[0200]

[0201]

[0202] wherein, U - (v) and U + (v) respectively represent the maximum braking acceleration and the maximum traction acceleration that the vehicle can provide at a speed of v. β is the regenerative braking coefficient of the vehicle. J is the energy consumed by the vehicle during driving. Based on the above vehicle operation constraints, the vehicle is regarded as a single point, a driving curve is generated from any feasible state (x, v), and the energy consumed by the vehicle during driving from the starting point to the ending point of the target route according to the corresponding driving curve is determined according to formula (1.4).

[0203] Figure 5 A flowchart for determining a directed acyclic graph according to an embodiment of the present disclosure is shown. In one possible implementation, the directed acyclic graph of the embodiment of the present disclosure is determined according to a plurality of driving curves corresponding to the vehicle. As shown in FIG. 1, the determination process of the directed acyclic graph includes the following steps: Figure 4

[0204] Step S11, determining the positions where the driving mode changes in each driving curve as nodes to determine a node set.

[0205] In one possible implementation, each driving curve corresponding to the target route includes a plurality of driving modes, and the positions where the driving mode in the same driving curve changes from the current driving mode to another different driving mode are determined as nodes to further determine the node set of the directed acyclic graph according to each node.

[0206] Taking the length of the target route as 500km as an example for illustration. When the driving modes included in one driving curve are in the order of "from the starting position to the position with a displacement of 100km: maximum traction mode", "from the position with a displacement of 100km to the position with a displacement of 150km: coasting mode", "from the position with a displacement of 150km to the position with a displacement of 250km: traction cruise mode", "from the position with a displacement of 250km to the position with a displacement of 400km: braking cruise mode", and "from the position with a displacement of 400km to the stopping position: maximum braking mode", the starting position of the target route, the position with a displacement of 100km from the starting position, the position with a displacement of 150km, the position with a displacement of 250km, the position with a displacement of 400km, and the stopping position are determined as the nodes corresponding to the driving curve.

[0207] ​Further, after determining the nodes corresponding to each driving curve respectively, a node set is determined according to the nodes corresponding to each driving curve. The node set includes all the nodes corresponding to each driving curve, each node has a corresponding first position attribute and at least one corresponding speed attribute, wherein the first position attribute and the speed attribute can be obtained according to the horizontal and vertical coordinates of the node on the driving curve. Alternatively, the node set in the directed acyclic graph can be represented by N = {n s ,n1,...,n i ,...,n n ,n e}, wherein n s and n e are the start node and the end node respectively, and the corresponding positions are the start point and the end point of the target route.

[0208] Step S12, creating a path between adjacent nodes in the same driving curve.

[0209] In one possible implementation, for each node in the node set, when any two nodes are in the same driving curve and adjacent in position, a path is created between the two nodes. Alternatively, the set of paths can be represented by A = {(i, j) | n i ,n j ∈ N, i ≠ j}. Further, each path has a corresponding time attribute t i,j and an energy attribute c i,j , respectively representing the time consumption and energy consumption of the vehicle when passing through the path (i, j) ∈ A. The time consumption can be determined according to the formula 1.3 above, and the energy consumption can be determined according to the formula 1.4 above.

[0210] Step S13, determining a directed acyclic graph according to the node set and the paths corresponding to each node in the node set.

[0211] In one possible implementation, a directed acyclic graph is determined according to each node in the node set and the paths corresponding to each node. That is, in the path set A, the paths from each node in the node set N to other nodes are determined, and the node is connected to the pointed other nodes. After connecting each node in the node set based on the path set, the directed acyclic graph corresponding to the target route is obtained. Alternatively, the representation of the directed acyclic graph can be G = (N, A).

[0212] Step S20, determining a plurality of passing points corresponding to the target route.

[0213] In a possible implementation, there are at least one passing point in the target route, each passing point has corresponding third attribute information, which is used to represent a specified position in the target route that should be reached within a specified time interval, which can be actual position information of the passing point or displacement from the start of the target route to the passing point. For example, when the target route is a rail route between two stations of rail transit, the passing point can be a train meeting point. The passing point can be preset according to relevant regulations of train operation.

[0214] In a possible implementation, the third attribute information includes a second position attribute and a driving time window. The second position attribute is used to represent the position of the corresponding passing point, and the driving time window is used to represent the time interval in which the vehicle passes the corresponding passing point.

[0215] Step S30: classifying each node according to each third attribute information and each first attribute information, to obtain a first node set and a second node set.

[0216] In a possible implementation, the node classification is based on the position of each node on the target route, to obtain the first node set and the second node set. That is, the position of each node on the target route is determined according to the first position attribute in the first attribute information, to classify each node. Alternatively, the process of node classification can be determined according to the position of each passing point in the target route.

[0217] Figure 6 A flowchart of the process of classifying nodes according to an embodiment of the present disclosure is shown. As shown in FIG. 6, the process of classifying nodes according to the third attribute information of each passing point in the target route includes the following steps: Figure 6

[0218] Step S31: determining an intermediate passing point according to the number of passing points corresponding to the target route and the position of each passing point.

[0219] In a possible implementation, the intermediate passing point is determined according to the number of passing points corresponding to the target route and the position of each passing point. Specifically, the position of the intermediate passing point is determined by dividing the number of passing points corresponding to the target route by two, and then rounding up. The passing point that matches the position of the intermediate passing point is determined according to the arrangement position of each passing point in the target route. Alternatively, the position of the intermediate passing point can be determined by dividing the number of passing points corresponding to the target route by two, and then rounding up. The arrangement position of each passing point in the target route can be determined in sequence according to the order from the start position to the end position of the target route.

[0220] When the number of passing points in the target route is an odd number M, the number of passing points is divided by two, and the position of the intermediate passing point obtained by rounding up is ​that is, the one located in the middle is determined as the intermediate passing point. When the number of passing points in the target route is even, the intermediate passing point position can be directly obtained by dividing the number of passing points by two, that is, M / 2, and the intermediate point between the two passing points located in the middle and close to the start position of the target route is determined as the intermediate passing point.

[0221] Figure 7 A schematic diagram illustrating determination of an intermediate passing point according to an embodiment of the present disclosure is shown. As shown in Figure 7 In one possible implementation, the target route includes, in sequence, passing point Xpp1, passing point Xpp2, passing point Xpp3, passing point Xpp4 and passing point Xpp5 between the start position and the end position, and the positions of the passing points can be represented by corresponding dashed lines 70. Further, the result of calculating the intermediate passing point position is 3, that is, the passing point Xpp3 located at the third position is determined as the intermediate passing point.

[0222] Further, when the target route includes, in sequence, passing point Xpp1, passing point Xpp2, passing point Xpp3, passing point Xpp4, passing point Xpp5 and passing point Xpp6 between the start position and the end position, the result of calculating the intermediate passing point position is 3, that is, the passing point Xpp3 located at the third position is determined as the intermediate passing point.

[0223] In step S32, each node is classified according to the second position attribute of the intermediate passing point and the corresponding first position attribute.

[0224] In one possible implementation, for each node, classification is performed by determining the position relationship between the node and the intermediate passing point. That is, classification of the node is performed by the first position attribute corresponding to the node and the second position attribute of the intermediate passing point. When it is determined according to the corresponding position attribute that the node is not behind the intermediate passing point, the node is determined as a first node. When it is determined according to the corresponding position attribute that the node is not in front of the intermediate passing point, the node is determined as a second node. Further, the position relationship between each node and the intermediate passing point is determined according to the driving direction of the target route.

[0225] Figure 8 A schematic diagram illustrating classification of nodes by an intermediate passing point according to an embodiment of the present disclosure is shown. In one possible implementation, the intermediate passing point of the target route is passing point Xpp3. As shown in Figure 8As shown, when the nodes of the target route include eight nodes n1-n8, the nodes are classified according to the positional relationship between each node and the intermediate passing point Xpp3. The position of the intermediate passing point Xpp3 is indicated by a dashed line 80. The nodes on the right side of the dashed line 80 are determined as first nodes to determine a first node set. The nodes on the left side of the dashed line 80 are determined as second nodes to determine a second node set. That is, the first node set is determined according to the nodes on the left side of the dashed line 80 and on the dashed line 80, and the second node set is determined according to the nodes on the right side of the dashed line 80 and on the dashed line 80. The first node set obtained based on the above node classification method is (n1, n2, n3, n4, n5), and the second node set is (n5, n6, n7, n8).

[0226] In the embodiments of the present disclosure, the node classification method can avoid missing nodes, ensure that the subsequent pruning process can traverse each node, and improve the accuracy of the finally determined target driving strategy.

[0227] In step S40, the driving strategies corresponding to each first node and each second node are pruned according to the second attribute information and the third attribute information respectively to obtain a forward strategy and a backward strategy.

[0228] In one possible implementation, the driving strategies corresponding to each first node in the first node set are pruned to obtain a forward strategy. Meanwhile, the driving strategies corresponding to each second node in the second node set are pruned to obtain a backward strategy. The pruning process of each first node and each second node can be implemented based on a bidirectional pulse algorithm, that is, each first node and each second node corresponding to each driving curve is traversed in turn from the start direction and the end direction of the target route in the forward direction and the reverse direction respectively, so that the driving strategies that do not meet the requirements are pruned and discarded.

[0229] Further, the pruning order of each first node is the position order from front to back in the corresponding driving strategy, and the pruning order of each second node is the position order from back to front in the corresponding driving strategy. That is, when the driving strategies corresponding to each first node in the first node set are pruned, the first nodes included in each driving strategy are determined to traverse each first node in the current driving strategy according to the position order from front to back (that is, from the start point to the end point direction), and all the driving strategies corresponding to each first node are pruned. When the driving strategies corresponding to each second node in the second node set are pruned, the second nodes included in each driving strategy are determined to traverse each second node in the current driving strategy according to the position order from back to front (that is, from the end point to the start point direction), and all the driving strategies corresponding to each second node are pruned. The direction from back to front and the direction from front to back are determined based on the driving direction.

[0230] Figure 9 A flowchart of a pruning process according to an embodiment of the present disclosure is shown. As shown, in one possible implementation, the process of determining the forward strategy and the backward strategy by pruning can include the following steps: Figure 9

[0231] In step S41, the first energy consumption boundary matrix and the second energy consumption boundary matrix are determined according to the first attribute information of each of the first nodes and the second nodes, the second attribute information, and the third attribute information.

[0232] In one possible implementation, the first energy consumption boundary matrix is determined according to the first attribute information of each first node in the first node set, the second attribute information of each path, and the third attribute information of each passing point. The second energy consumption boundary matrix is determined according to the first attribute information of each second node in the second node set, the second attribute information of each path, and the third attribute information of each passing point. In the first energy consumption boundary matrix, at least one first minimum energy consumption corresponding to each first node is included, and each first minimum energy consumption represents the minimum energy consumption required to drive from the position of the corresponding first node to the end position of the target route. In the second energy consumption boundary matrix, at least one second minimum energy consumption corresponding to each second node is included, and each second minimum energy consumption represents the minimum energy consumption required to drive from the position of the corresponding second node to the start position of the target route.

[0233] Optionally, the first energy consumption boundary matrix and the second energy consumption boundary matrix are determined in a similar manner, and the manner of determining the first minimum energy consumption corresponding to each first node and the second minimum energy consumption corresponding to each second node is also similar. Therefore, in step S41 and the contents included in the sub-steps thereof, a node is used to represent any one of the first nodes or the second nodes to explain how to determine the corresponding first minimum energy consumption or second minimum energy consumption.

[0234] In one possible implementation, the passing points corresponding to each first node and second node are first determined according to the first attribute information and the third attribute information. Then, the first minimum energy consumption or the second minimum energy consumption corresponding to each time point is determined based on the second attribute information of the path corresponding to each node, the third attribute information of the corresponding passing point, and a preset step size. The first energy consumption boundary matrix is created according to the correspondence between the first minimum energy consumption and the first node and the time, and the second energy consumption boundary matrix is created according to the correspondence between the second minimum energy consumption and the second node and the time.

[0235] In one possible implementation, the position of the node and the position of the passing point can coincide, that is, the first position attribute corresponding to the node is the same as the second position attribute of a passing point. Optionally, the passing point corresponding to the node can be determined by the positional relationship between the node position and the positions of the passing points.

[0236] ​In a possible implementation, at least one node is determined in the node set first, and a relationship between the second location attribute corresponding to each passing point and the first location attribute of the node is compared. When there is a second location attribute identical to the first location attribute of the node, it is directly determined that the passing point corresponding to the second location attribute corresponds to the node. When there is no second location attribute identical to the first location attribute of the node, adjacent second location attributes of the node corresponding first location attribute are determined as adjacent location attributes in the two positions before and after the node corresponding first location attribute in each second location attribute, to further determine that the passing points corresponding to the adjacent location attributes correspond to the node.

[0237] Figure 10 A schematic diagram for determining the passing points corresponding to the nodes according to an embodiment of the present disclosure is shown. As shown in Figure 10 Figure 10 The positions of the passing points x ppk and x ppk+1 are represented by different dashed lines 100 and 101 respectively, and the positions of the nodes in the node set are represented by a circle dot 102. There are nodes identical to the positions of the passing points x ppk or x ppk+1 , and nodes not identical to the positions of the passing points x ppk or x ppk+1 . Therefore, according to the position relationship between the nodes and the passing points, it can be determined that the passing points corresponding to the nodes located on the dashed line 100 are x ppk , the passing points corresponding to the nodes located on the dashed line 101 are x ppk+1 , and the passing points corresponding to the nodes located between the dashed line 100 and the dashed line 101 are x ppk and x ppk+1 .

[0238] Taking the passing points corresponding to the target route as including a passing point 1, a passing point 2, a passing point 3, and a passing point 4, and the positions of the passing points as 10 km, 20 km, 30 km, and 40 km away from the starting position of the target route respectively as an example, when the first location attribute of a node in the node set is 20 km away from the starting position of the target route, it is determined that the passing point corresponding to the node is the passing point 2. When the first location attribute of the node is 35 km away from the starting position of the target route, it is determined that the passing points corresponding to the node are the passing point 3 and the passing point 4.

[0239] Figure 11 A flow chart for determining the process of the energy consumption boundary matrix according to an embodiment of the present disclosure is shown. As shown in Figure 10 , the process of determining the lowest energy consumption in the energy consumption boundary matrix of the embodiment of the present disclosure includes the following steps:

[0240] In step S411, a passing time window is determined according to the driving time window of each first node and second node corresponding passing point.​

[0241] In one possible implementation, the passage time window is determined based on the driving time window of each first and second node corresponding to a passage point. The passage time window is the time interval during which a vehicle should arrive at the corresponding node. Specifically, when a node corresponds to one passage point (i.e., there exists a passage point at the same location as the node), the driving time window of that passage point is directly determined as the passage time window. Conversely, when a node corresponds to two passage points (i.e., there is no passage point at the same location as the node), the passage time window is determined based on the start time of the driving time window of the preceding adjacent passage point along the driving direction and the end time of the following adjacent passage point.

[0242] Figure 12 A schematic diagram of a passage time window according to an embodiment of the present disclosure is shown. Figure 12 As shown, when two corresponding passage points X are determined... ppk and X ppk+1 node n i When determining the passage time window, first identify the prior adjacent passage point (X) whose position along the driving direction is before the node. ppk Driving time window [t] ppk 1,t ppk 2], and the next adjacent passage point (X) located after the node. ppk+1 Driving time window [t] ppk1 1,t ppk1 2]. Based on the start time t of the driving time window of the preceding adjacent passage point. ppk 1 and the end time t of the driving time window at the next adjacent passage point. ppk1 2. Determine node n i The corresponding passage time window is [t] ppk 1,t ppk1 2).

[0243] Step S412: Determine the time sequence corresponding to each first node and second node according to the preset step size and each passage time window.

[0244] In one possible implementation, a step size is pre-defined to divide the passage time windows corresponding to each first node and second node, resulting in multiple time sequences corresponding to each node. Each time sequence includes multiple times, and the rule for dividing the passage time windows is to start from the end time of the passage time window, subtracting one step size to obtain the time corresponding to each node, until the corresponding time is less than or equal to the start time of the passage time window.

[0245] Taking the passing time window corresponding to the node as [10:00, 10:10] and the step as 1 min as an example, a time is obtained by sequentially subtracting a plurality of steps 1 from the end time 10:10 of the passing time window. A time sequence corresponding to the node is {“10:09”, “10:08”, “10:07”, “10:06”, “10:05”, “10:04”, “10:03”, “10:02”, “10:01”} obtained by subtracting one step each time.

[0246] In step S413, the first minimum energy consumption or the second minimum energy consumption of each of the times in the corresponding time sequence of each of the first node and the second node is determined.

[0247] In one possible implementation, the minimum energy consumption is determined according to the second attribute information of the following path in each of the corresponding driving strategies, and is used to represent the minimum energy consumption required to drive from the position of the corresponding first node or second node to the target route end position at the corresponding time.

[0248] Further, the following path in each of the driving strategies corresponding to each of the first node or the second node needs to be determined first, and then the corresponding minimum energy consumption is further determined. All paths from the first node / second node to the end node / beginning node in the corresponding driving strategy. The beginning node is a node corresponding to the beginning position of the target route, and the end node is a node corresponding to the end position of the target route.

[0249] In one possible implementation, the traversal pruning order of the nodes in the first node set and the nodes in the second node set is opposite. Therefore, for the first node, the following path is all paths between the first node and the end node, that is, all paths extending from the current node position to the end position of the target route in the corresponding driving strategy. For the second node, the following path is all paths between the second node and the beginning node, that is, all paths extending from the current node position to the beginning position of the target route in the corresponding driving strategy.

[0250] For example, when the driving strategy corresponding to the first node n4 includes “driving strategy 1: n s →n1→n4→n e ” and “driving strategy 2: n s →n1→n2→n4→n e ”, the preceding path corresponding to the first node n1 in the driving strategy 1 includes (s, 1), and the following path includes (1, 4) and (4, e). The preceding path corresponding to the first node n1 in the driving strategy 2 includes (s, 1), and the following path includes (1, 2), (2, 4), and (4, e).

[0251] In a possible implementation, after determining the following path included in the driving strategy corresponding to each node, the first minimum energy consumption or the second minimum energy consumption at each time is determined according to the second attribute information of the following path in each driving strategy, the first minimum energy consumption is used to represent the minimum energy consumption required to drive from the corresponding node position to the target route end position starting from the corresponding time, and the second minimum energy consumption is used to represent the minimum energy consumption required to drive from the corresponding node position to the target route start position starting from the corresponding time.

[0252] In a possible implementation, the first minimum energy consumption required to drive from the corresponding first node to the target route end position starting from each time and the second minimum energy consumption required to drive from the corresponding second node to the target route start position can be calculated according to the following formulas (1.5) and (1.6).

[0253] min∑ (i,j)∈A c i,j m i,j (1.5)

[0254]

[0255]

[0256] wherein m i,j is a binary variable, 1 when there is a path from node i to node j, and 0 when there is no path from node i to node j. τ is the start time of node n i , that is, one time in the time sequence corresponding to the node. A represents the path set, N represents the node set, c i,j represents the energy attribute of the path from node i to node j, ti represents the time when the vehicle starts from the start of the target route, represents the time when the vehicle should arrive at the end of the target route.

[0257] In a possible implementation, after determining the first minimum energy consumption and the second minimum energy consumption corresponding to each time in the time sequence corresponding to each node, the first energy consumption boundary matrix is determined according to the correspondence between each first minimum energy consumption and the first node and the time, and the second energy consumption boundary matrix is determined according to the correspondence between each second minimum energy consumption and the second node and the time.

[0258] Figure 13 A schematic diagram of the first energy consumption boundary matrix according to an embodiment of the present disclosure is shown, which is used to represent the first minimum energy consumption of a plurality of first nodes at each time according to the same corresponding time sequence. As Figure 13As shown, the first energy consumption boundary matrix 130 includes a plurality of first minimum energy consumptions 131, each of which has a corresponding node and time point. Further, the second energy consumption boundary matrix has the same structure as the first energy consumption boundary matrix, which is not illustrated here.

[0259] Step S42, according to the position order from front to back in the corresponding driving strategy, the first nodes in the first node set are sequentially obtained as target nodes, and according to the position order from back to front in the corresponding driving strategy, the second nodes in the second node set are sequentially obtained as target nodes.

[0260] In one possible implementation, based on the principle of the bidirectional pulse algorithm, the first nodes and the second nodes are simultaneously obtained as target nodes in the first node set and the second node set in different directions, so as to prune the driving strategies corresponding to each target node and remove inefficient or unsatisfactory driving strategies. That is, the first nodes and the second nodes corresponding to each driving curve are sequentially traversed in the forward direction and the reverse direction respectively from the start direction and the end direction of the target route, so as to prune and discard the driving strategies that do not meet the requirements. Alternatively, the two target nodes can be nodes in the same driving strategy or nodes in different driving strategies.

[0261] Figure 14 A schematic diagram of determining target nodes according to an embodiment of the present disclosure is shown. As shown in FIG. 6, the target route includes a plurality of intermediate passing points Xpp1, Xpp2 and Xpp3, and a plurality of driving curves 110, 120 and 130. Each driving curve includes a plurality of first nodes and a plurality of second nodes. The first nodes and the second nodes in each driving curve are sequentially traversed in the driving strategy corresponding to the driving curve, and the driving strategy corresponding to each node is pruned. Figure 14 As shown in one optional implementation, the intermediate passing point in the target route is Xpp3, one driving curve 140 includes three first nodes n1, n2 and n3, and four second nodes n4, n5, n6 and n7. When the nodes in the driving strategy corresponding to the driving curve 140 are traversed and pruned, the first nodes in the first node set are sequentially determined as target nodes from front to back in the order of n1, n2 and n3. At the same time, the second nodes in the second node set are sequentially determined as target nodes from back to front in the order of n7, n6, n5 and n4.

[0262] Figure 15 A schematic diagram of pruning the driving strategies corresponding to each node according to an embodiment of the present disclosure is shown. As shown in FIG. 7, the target route includes a plurality of intermediate passing points Xpp1, Xpp2 and Xpp3, and a plurality of driving curves 110, 120 and 130. Each driving curve includes a plurality of first nodes and a plurality of second nodes. The first nodes and the second nodes in each driving curve are sequentially traversed in the driving strategy corresponding to the driving curve, and the driving strategy corresponding to each node is pruned. Figure 15 As shown, the process of pruning the driving strategies corresponding to each node in the first node set and the second node set further includes the following steps:

[0263] Step 150, target nodes are determined in the first node set and the second node set respectively according to a predetermined order.

[0264] Step 151, a first pruning strategy is performed on each driving strategy corresponding to the current target nodes.

[0265] Step 152, performing the second pruning strategy on the driving strategies remaining after performing the first pruning strategy on each target node, and returning to step 150 to determine new target nodes after completing pruning until traversal is completed on pruning of the driving strategies corresponding to the nodes in the entire node set.

[0266] Figure 16 A flowchart showing the process of performing the first pruning strategy according to an embodiment of the present disclosure is shown. As shown, the process of performing the first pruning strategy on the driving strategies corresponding to the target node can include the following steps: Figure 16

[0267] Step S431, determining the number of passing points corresponding to the target node according to the first attribute information corresponding to the target node and each third attribute information.

[0268] In one possible implementation, the first pruning strategy is a pruning strategy based on time constraints to remove the driving strategies corresponding to the target node that do not satisfy the time constraints. Alternatively, the time constraint condition corresponding to the target node and the pruning manner are determined according to the number of corresponding passing points, and the number of passing points corresponding to the target node needs to be determined before performing the first pruning strategy to count the number of passing points.

[0269] Further, the manner of determining the passing points corresponding to the target node is the same as that of determining the passing points corresponding to the node in step S41, that is, when there is a second location attribute identical to the corresponding first location attribute, the passing point corresponding to the second location attribute is determined to correspond to the target node, and when there is no second location attribute identical to the corresponding first location attribute, the two passing points adjacent to the second location attribute corresponding to the first location attribute are determined to correspond to the target node. Details are not repeated here.

[0270] Step S432, in response to the number of corresponding passing points being one, pruning at least one driving strategy corresponding to the target node according to the driving time window of the corresponding passing point and the time attribute of the corresponding path.

[0271] In one possible implementation, in the case where the number of corresponding passing points is one, the driving time window of the corresponding passing point is taken as the time constraint condition to prune at least one driving strategy corresponding to the target node.

[0272] Specifically, when the time constraint condition of the target node is the driving time window, the arrival time of each driving strategy corresponding to the target node can be determined, and pruning is performed by judging whether the arrival time is within the driving time window of the corresponding passing point. When the arrival time is within the driving time window of the corresponding passing point, it is determined that the corresponding driving strategy satisfies the time constraint condition and pruning is not performed. When the arrival time is not within the driving time window of the corresponding passing point, it is determined that the corresponding driving strategy does not satisfy the time constraint condition and the driving strategy is removed. ​

[0273] In a possible implementation, the arrival time is the time when the target node is reached via a preceding path in the corresponding driving strategy, which can be determined according to the time attribute of the preceding path in the corresponding driving strategy for the target node. The preceding path is all paths from the start node / end node to the target node in the corresponding driving strategy, the start node is a node corresponding to the start position of the target route, and the end node is a node corresponding to the end position of the target route. Alternatively, the arrival time can be obtained by directly calculating the sum of the departure time and the time attribute of each preceding path in the driving strategy.

[0274] Further, since the first node and the second node correspond to different directions of the target node, the preceding paths corresponding to different types of target nodes are different. When the target node is the first node, the preceding path is all paths from the start node to the target node, that is, the paths sequentially connected to the target node from the start point of the target path in the corresponding driving strategy; when the target node is the second node, the preceding path is all paths from the end node to the target node, that is, the paths sequentially connected to the target node from the end point of the target path in the corresponding driving strategy.

[0275] In step S433, in response to the number of corresponding passing points being two, at least one driving strategy corresponding to the target node is pruned according to the first attribute information of the target node and the time attribute of the corresponding path.

[0276] In a possible implementation, in the case where the number of corresponding passing points is two, at least one driving strategy corresponding to the target node is pruned with the vehicle running time interval corresponding to the target route as a time constraint. Specifically, the remaining time of each driving strategy can be determined according to the time attribute of each preceding path of the target node and the total time length of the target route, the limit time length can be determined according to the first position attribute and the speed attribute of the target node, and the corresponding driving strategy is removed in the case where the remaining time is less than the limit time length.

[0277] The remaining time is the time length required for the vehicle to arrive at the end point of the target route on time from the position of the target node by using each driving strategy, and the limit time length is the shortest time length that the vehicle can reach the end point of the target route from the position of the target node,

[0278] In one possible implementation, the remaining time for each driving strategy can be determined by first determining the route duration corresponding to the target route, and then determining the consumed time based on each prior path to the target node in the current driving strategy. The remaining time is then determined based on the consumed time and the route duration. The route duration is the total time required for the vehicle to drive along the target route. For example, if the vehicle's travel time curve for the target route is [10:10, 12:30], the route duration is two hours and twenty minutes. The consumed time represents the time consumed to reach the target node using the current driving strategy. Optionally, the consumed time can be determined by calculating the sum of the time attributes corresponding to each prior path. For example, if the current driving strategy includes prior path 1 and prior path 2 to the target node, and the time attribute of prior path 1 is 20 minutes and the time attribute of prior path 2 is 30 minutes, the consumed time is 50 minutes.

[0279] Alternatively, the remaining time can be determined by calculating the difference between the route duration and the consumed time. For example, if the route duration is two hours and fifty minutes and the consumed time is fifty minutes, the calculated remaining time is two hours.

[0280] In one possible implementation, the maximum duration corresponding to each driving strategy for the target node can be determined by the target node's position and speed attributes, as well as the vehicle's traction and braking performance. For electric vehicles used in rail transit, the fastest way for the vehicle to reach the destination of the target route is to operate using only the maximum traction and maximum braking driving modes. That is, the maximum traction mode is used during the train's start-up phase, and the maximum braking mode is used during the stopping phase. To simplify the calculation of the maximum duration, it can be assumed that the vehicle accelerates and decelerates at a constant value. Simultaneously, to ensure the validity of the calculated maximum duration and the accuracy of the pruning process, the absolute value of the set constant acceleration is guaranteed to be greater than the vehicle's actual acceleration.

[0281] Figure 17 A schematic diagram illustrating the traction and braking characteristics of a vehicle according to an embodiment of the present disclosure is shown. In one possible implementation, constant acceleration can be determined based on the vehicle's own dynamic characteristics. Figure 17 As shown, curve 170 represents the vehicle's maximum traction acceleration, and curve 171 represents the vehicle's maximum braking acceleration, used to characterize the relationship between the vehicle's maximum acceleration and its speed. It can be seen that the vehicle's maximum traction acceleration first increases with increasing vehicle speed, then remains constant, and finally decreases. The vehicle's maximum braking acceleration first remains stable with increasing vehicle speed, then decreases. Based on the vehicle's dynamic characteristics, the maximum value of the maximum traction acceleration and the maximum braking acceleration can be selected as the corresponding constant traction acceleration and constant braking acceleration, respectively.

[0282] In one possible implementation, the calculation of the limit duration can also consider the influence of the slope and the resistance. The maximum traction acceleration affected by the slope needs to add the minimum local gravity acceleration g start (x i ) = min(g(x)), x e [x i , (x i + X) / 2]. Similarly, the maximum braking acceleration affected by the slope needs to add the maximum local gravity acceleration g stop (x i ) = max(g(x)), x e [(x i + X) / 2, X] and the resistance component r(v i ). Because the resistance component is opposite to the maximum traction acceleration, but the same direction as the maximum braking acceleration, it is only necessary to add the resistance component in the braking process.

[0283] Further, since the physical meaning of the node is the state point (x, v) in the driving curve, define the curve v i (x) running from the state (x, v) = (x i , v p ) at the node i with constant traction acceleration and running to the state (x, v) = (X, 0) with constant braking acceleration v b (x), which satisfy the formula

[0284]

[0285] Based on the above formula (1.7), the speed curve of the shortest time strategy with constant traction acceleration and constant braking acceleration can be determined as v mt (x) = min[v p (x), v b (x)], x e [x i , X]. The corresponding limit duration can be calculated analytically as

[0286] Step S44, performing a second pruning strategy according to the first attribute information corresponding to the target node, each second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix.

[0287] In one possible implementation, after performing the first pruning strategy on the driving strategy corresponding to the target node, the second pruning strategy is further performed on the remaining driving strategy. Alternatively, the execution order of the first pruning strategy and the second pruning strategy can be exchanged, that is, the second pruning strategy is performed on the driving strategy corresponding to the target node first, and then the first pruning strategy is performed, which is not limited in the embodiments of the present disclosure.

[0288] In a possible implementation, the second pruning strategy prunes each driving strategy based on energy consumption to remove the driving strategy that does not satisfy the energy consumption constraint. Optionally, the energy consumption constraint can be set as an initial value of positive infinity and a driving energy consumption that can be dynamically updated, so as to execute the second pruning strategy by comparing the energy consumption corresponding to each driving strategy and the size of the driving energy consumption.

[0289] Figure 18 A flowchart for executing the process of the second pruning strategy according to an embodiment of the present disclosure is shown. As shown in the figure, in a possible implementation, the process of pruning the target node by the second pruning strategy can further include the following steps: Figure 18

[0290] Step S441, determine the driving energy consumption.

[0291] In a possible implementation, the driving energy consumption is an initial value of positive infinity and a value that can be dynamically updated, which is used to constrain each pruning strategy corresponding to the target node in the energy dimension.

[0292] Step S442, determine the estimated energy consumption of each driving strategy corresponding to the target node.

[0293] In a possible implementation, the estimated energy consumption of each driving strategy is determined according to the first attribute information corresponding to the target node, the second attribute information of the preceding path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix. The estimated energy consumption is used to represent the energy consumed from the beginning of the driving process starting from the target node to the end of the driving process according to the corresponding driving strategy. Further, when the target node is the first node, the estimated energy consumption is the energy consumed from the beginning of the driving process starting from the target node to the end of the target route according to the corresponding driving strategy. When the target node is the second node, the estimated energy consumption is the energy consumed from the beginning of the driving process starting from the target node to the start of the target route according to the corresponding driving strategy.

[0294] In a possible implementation, the process of determining the estimated energy consumption is as follows: first, determine the arrival time according to the time attribute of each preceding path in the driving strategy corresponding to the target node; then, determine the target minimum energy consumption corresponding to the arrival time and the target node in the first energy consumption boundary matrix and / or the second energy consumption boundary matrix; and finally, determine the estimated energy consumption of each driving strategy by calculating the sum of the target minimum energy consumption and the corresponding preceding energy consumption.

[0295] ​The arrival time is used to represent the time of reaching the target node by the corresponding driving strategy. When the target node is the first node, the arrival time is the time of reaching the target node from the starting point of the target route, which can be determined by calculating the sum of the time attributes of each preceding path and adding the departure time of the target route. When the target node is the second node, the arrival time is the time of reaching the target node from the end point of the target route, which can be determined by calculating the sum of the time attributes of each preceding path and subtracting the sum from the arrival time of the target route.

[0296] Further, when determining the target minimum energy consumption according to the time and the corresponding target node, first determine whether the corresponding energy consumption boundary matrix of the target node is the first energy consumption boundary matrix or the second energy consumption boundary matrix according to the type of the target node. On the one hand, when the target node includes the arrival time in each corresponding time in the corresponding energy consumption boundary matrix, determine the minimum energy consumption corresponding to the time as the target minimum energy consumption. On the other hand, when the target node does not include the arrival time in each corresponding time in the corresponding energy consumption boundary matrix, in order to improve the accuracy of the pruning result, it is necessary to determine the adjacent time included in the corresponding energy consumption boundary matrix according to the type of the target node, so as to take the minimum energy consumption corresponding to the adjacent time as the target minimum energy consumption. When the target node is the first node, the adjacent time is the time adjacent to the arrival time before the arrival time in each corresponding time of the target node. When the target node is the second node, the adjacent time is the time adjacent to the arrival time after the arrival time in each corresponding time of the target node.

[0297] Step S443: Determine whether the estimated energy consumption corresponding to the driving strategy is less than the driving energy consumption.

[0298] In one possible implementation, when the estimated energy consumption corresponding to the driving strategy is not less than the driving energy consumption, i.e., greater than or equal to the driving energy consumption, continue to perform step S444. When the estimated energy consumption corresponding to the driving strategy is less than the driving energy consumption, update the estimated energy consumption as the new driving energy consumption, i.e., perform step S441 to re-determine the driving energy consumption.

[0299] Further, when the estimated energy consumption is less than the driving energy consumption, it is necessary to determine the driving strategy corresponding to the driving energy consumption before the update and perform pruning processing on the driving strategy to ensure the accuracy of the target driving strategy obtained after pruning.

[0300] Step S444: Prune the corresponding driving strategy.

[0301] In one possible implementation, when the estimated energy consumption corresponding to the driving strategy is not less than the driving energy consumption, i.e., there exists a driving strategy with lower energy consumption than the current driving strategy in the directed acyclic graph, it is necessary to perform pruning processing on the current driving strategy to discard the current driving strategy.

[0302] Step S45, determining that the driving strategy of each first node after pruning is a forward strategy, and the driving strategy of each second node after pruning is a backward strategy.

[0303] In one possible implementation, when each first node is pruned in sequence according to the order from front to back in the driving strategy, a forward driving strategy that meets the time constraint and the energy constraint is obtained. When each second node is pruned in sequence according to the order from back to front in the driving strategy, a backward driving strategy that meets the time constraint and the energy constraint is obtained.

[0304] Further, the forward strategy and the backward strategy can both be part of the driving strategy, that is, each node included in the forward strategy is a first node, and each node included in the backward strategy is a second node.

[0305] Step S50, splicing the forward strategy and the backward strategy to obtain a target driving strategy corresponding to the target route.

[0306] In one possible implementation, the first nodes in the first node set and the second nodes in the second node set are pruned in sequence from two opposite directions based on a bidirectional pulse algorithm to obtain the forward strategy and the backward strategy. Further, the final target driving strategy corresponding to the target route can be obtained by splicing the forward strategy and the backward strategy.

[0307] For example, when the forward strategy obtained through step S40 is n s → n1→ n2→ n4, and the backward strategy is n4→ n6→ n 10 → n e , the target driving strategy obtained by splicing the forward strategy and the backward strategy is n s → n1→ n2→ n4→ n6→ n 10 → n e .

[0308] The driving strategy determination method of the embodiments of the present disclosure divides each node in the directed acyclic graph into a forward first node set and a backward second node set according to corresponding positions, prunes each first node and each second node in sequence from the starting point and the ending point of the target route respectively, and splices to obtain an accurate target driving strategy, thereby improving the accuracy and processing speed of the determination process.

[0309] Figure 19 A schematic diagram of a driving strategy determination apparatus according to an embodiment of the present disclosure is shown. As shown in the figure, the driving strategy determination apparatus of the embodiment of the present disclosure comprises: Figure 19

[0310] ​The directed graph determination module 190 is configured to determine a directed acyclic graph corresponding to the target route, the directed acyclic graph including a plurality of driving strategies, each of the driving strategies including a plurality of nodes connected by paths, each of the nodes having corresponding first attribute information, and each of the paths having corresponding second attribute information.

[0311] The passing point determination module 191 is configured to determine a plurality of passing points corresponding to the target route, each of the passing points having corresponding third attribute information, and each of the passing points representing a specified position in the target route that needs to be reached within a specified time interval.

[0312] The node classification module 192 is configured to classify each of the nodes according to each of the third attribute information and each of the first attribute information, to obtain a first node set and a second node set, the first node set including at least one first node, and the second node set including at least one second node.

[0313] The pruning module 193 is configured to prune each of the driving strategies corresponding to each of the first nodes and each of the driving strategies corresponding to each of the second nodes according to each of the second attribute information and each of the third attribute information, to obtain a forward strategy and a backward strategy, wherein a pruning order of each of the first nodes is a position order from front to back in the corresponding driving strategy, and a pruning order of each of the second nodes is a position order from back to front in the corresponding driving strategy.

[0314] The strategy splicing module 194 is configured to splice the forward strategy and the backward strategy to obtain a target driving strategy corresponding to the target route.

[0315] In a possible implementation, the first attribute information includes a first position attribute and a speed attribute of a corresponding node, the second attribute information includes a time attribute and an energy attribute of a corresponding path, the third attribute information includes a second position attribute and a driving time window of a corresponding passing point, the first position attribute is used to represent a position of the corresponding node, the speed attribute is used to represent a speed of the vehicle at the position of the corresponding node, the time attribute is used to represent a time length consumed by the vehicle on the corresponding path, the energy attribute is used to represent an energy consumed by the vehicle on the corresponding path, the second position attribute is used to represent a position of the corresponding passing point, and the driving time window is used to represent a time interval for the vehicle to pass the corresponding passing point.

[0316] In a possible implementation, the directed graph determination module includes:

[0317] The curve determination sub-module is configured to determine a plurality of driving curves corresponding to the target route, the driving curves being used to represent changes in position and speed during driving of the vehicle.

[0318] A directed graph determining sub-module is configured to determine the directed acyclic graph according to the driving curves.

[0319] In a possible implementation, the curve determining sub-module comprises:

[0320] A driving mode determining unit is configured to determine a plurality of driving modes.

[0321] A curve drawing unit is configured to generate a plurality of driving curves according to the driving modes, the geographical slope and speed limit of the target route, the driving performance of the vehicle, preset curve drawing rules and speed steps.

[0322] In a possible implementation, the driving modes comprise at least one of a maximum traction mode, a traction cruise mode, a coasting mode, a brake cruise mode and a maximum brake mode, the maximum traction mode is a driving mode in which the vehicle accelerates at maximum power, the traction cruise mode is a driving mode in which the vehicle maintains a constant speed on an uphill road by accelerating, the coasting mode is a driving mode in which the vehicle freewheels by inertia when the vehicle has an initial speed greater than 0, the brake cruise mode is a driving mode in which the vehicle maintains a constant speed on a downhill road by applying a brake force, and the maximum brake mode is a driving mode in which the vehicle decelerates by applying a maximum brake force.

[0323] In a possible implementation, the directed graph determining sub-module comprises:

[0324] A node set determining unit is configured to determine a node set by taking positions at which the driving modes change in the driving curves as nodes.

[0325] A path creating unit is configured to create a path between adjacent nodes in the same driving curve.

[0326] A directed graph determining unit is configured to determine a directed acyclic graph according to the node set and the paths corresponding to the nodes.

[0327] In a possible implementation, the node classification module comprises:

[0328] An intermediate passing point determining sub-module is configured to determine an intermediate passing point according to the number of passing points corresponding to the target route and the positions of the passing points.

[0329] A classification sub-module is configured to classify the nodes according to the second position attribute of the intermediate passing point and the corresponding first position attribute.

[0330] In a possible implementation, the classification sub-module comprises:

[0331] A position relationship determining unit is configured to determine position relationships of the nodes and the intermediate passing point along a driving direction according to the corresponding first position attribute and second position attribute.

[0332] A first node determining unit is configured to determine the node as a first node in response to the node not being behind the intermediate passing point.

[0333] A second node determining unit is configured to determine the node as a second node in response to the node not being in front of the intermediate passing point.

[0334] In a possible implementation, the pruning module comprises:

[0335] A matrix determining sub-module is configured to determine a first energy consumption boundary matrix and a second energy consumption boundary matrix according to the first attribute information corresponding to each of the first nodes and second nodes, each of the second attribute information, and each of the third attribute information, wherein the first energy consumption boundary matrix comprises at least one first lowest energy consumption corresponding to each of the first nodes, and the second energy consumption boundary matrix comprises at least one second lowest energy consumption corresponding to each of the second nodes, wherein the first lowest energy consumption is used to represent a lowest energy consumption required for driving from a position corresponding to the first node to a terminal position of the target route, and the second lowest energy consumption is used to represent a lowest energy consumption required for driving from a position corresponding to the second node to a starting position of the target route.

[0336] A node determining sub-module is configured to sequentially obtain a first node as a target node in the first node set according to a position sequence from front to back in the corresponding driving strategy, and sequentially obtain a second node as a target node in the second node set according to a position sequence from back to front in the corresponding driving strategy, so as to perform the following steps on the target node.

[0337] A first pruning sub-module is configured to perform a first pruning strategy according to the first attribute information corresponding to the target node, each of the second attribute information, and each of the third attribute information.

[0338] A second pruning sub-module is configured to perform a second pruning strategy according to the first attribute information corresponding to the target node, each of the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix.

[0339] A strategy determining sub-module is configured to determine that a driving strategy after pruning of the driving strategy corresponding to each of the first nodes is a forward strategy, and a driving strategy after pruning of the driving strategy corresponding to each of the second nodes is a backward strategy.

[0340] In a possible implementation, the matrix determining sub-module comprises:

[0341] The correspondence point determination unit is configured to determine a passing point corresponding to each of the first node and the second node according to the corresponding first attribute information and each of the third attribute information.

[0342] The energy consumption determination unit is configured to determine at least one of a first minimum energy consumption or a second minimum energy consumption according to the second attribute information of the path corresponding to each of the first node and the second node, the third attribute information of the passing point, and a preset step length, each of the first minimum energy consumption and the second minimum energy consumption has a corresponding time point, the first minimum energy consumption is used to represent a minimum energy consumption required for driving from a corresponding first node position to the target route end position at a corresponding time point, and the second minimum energy consumption is used to represent a minimum energy consumption required for driving from a corresponding second node position to the target route start position at a corresponding time point.

[0343] The matrix determination unit is configured to determine a first energy consumption boundary matrix including each of the first minimum energy consumption, and a second energy consumption boundary matrix including each of the second minimum energy consumption.

[0344] In a possible implementation, the energy consumption determination unit includes:

[0345] The time window determination sub-unit is configured to determine a passing time window according to a driving time window of the passing point corresponding to each of the first node and the second node.

[0346] The sequence determination sub-unit is configured to determine a time point sequence corresponding to each of the first node and the second node according to a preset step length and each of the passing time window, the time point sequence includes a plurality of time points.

[0347] The energy consumption calculation sub-unit is configured to determine the first minimum energy consumption or the second minimum energy consumption of each of the first node and the second node at each of the time points in the corresponding time point sequence, the first minimum energy consumption and the second minimum energy consumption are determined according to the second attribute information of the path in the corresponding driving strategy, and the path is from the first node / second node to the end node / starting node.

[0348] In a possible implementation, the time window determination sub-unit includes:

[0349] The first time window determination sub-unit is configured to determine, in response to one passing point, a driving time window of the corresponding passing point as a passing time window of the first node / second node.

[0350] The second time window determination sub-unit is configured to determine, in response to two passing points, a passing time window of the first node / second node according to a start time point of a driving time window of a previous adjacent passing point and an end time point of a subsequent adjacent passing point in a driving direction position.

[0351] In a possible implementation, the first pruning submodule comprises:

[0352] A passing point determination unit is configured to determine a number of passing points corresponding to the target node according to the first attribute information corresponding to the target node and each third attribute information;

[0353] A first pruning unit is configured to prune at least one driving strategy corresponding to the target node according to a driving time window of a corresponding passing point and a time attribute of a corresponding path in response to the number of corresponding passing points being one.

[0354] A second pruning unit is configured to prune at least one driving strategy corresponding to the target node according to the first attribute information of the target node and the time attribute of the corresponding path in response to the number of corresponding passing points being two.

[0355] In a possible implementation, the passing point determination unit comprises:

[0356] A first corresponding subunit is configured to determine that a passing point corresponding to a second location attribute is corresponding to the target node in response to the second location attribute being the same as a corresponding first location attribute.

[0357] In a possible implementation, the passing point determination unit further comprises:

[0358] A second corresponding subunit is configured to determine that two passing points adjacent to the first location attribute are corresponding to the target node in response to the second location attribute not being the same as the corresponding first location attribute.

[0359] In a possible implementation, the first pruning unit comprises:

[0360] A path determination subunit is configured to determine that all paths from a start node / end node to the target node in a corresponding driving strategy are preceding paths corresponding to the target node.

[0361] A first time point determination subunit is configured to determine an arrival time point of the target node via a preceding path in each driving strategy corresponding to the target node according to a time attribute of the preceding path in each driving strategy corresponding to the target node.

[0362] A first pruning subunit is configured to prune the driving strategy in response to a corresponding arrival time point not being within a driving time window of a corresponding passing point.

[0363] In a possible implementation, the second pruning unit comprises:

[0364] a first time length determining subunit, configured to determine a residual time length corresponding to each driving strategy according to a time attribute of a previous path corresponding to the target node, the residual time length being a time required for reaching a terminal point of a target route from the target node in time by using each driving strategy;

[0365] a second time length determining subunit, configured to determine a limit time length according to a first location attribute and a speed attribute of the target node, the limit time length being used to represent a shortest time length for reaching the terminal point of the target route from a location where the target node is located;

[0366] a second pruning subunit, configured to prune the driving strategy in response to the corresponding residual time length being less than the limit time length.

[0367] In a possible implementation, the first time length determining subunit comprises:

[0368] a route time length determining subunit, configured to determine a route time length corresponding to the target route, the route time length being used to represent a total time length required for a vehicle to drive in the target route;

[0369] a consumed time length determining subunit, configured to determine a consumed time length according to a time attribute of a previous path corresponding to each driving strategy of the target node, the consumed time length representing a time length consumed for reaching the target node by using each driving strategy;

[0370] a residual time length determining subunit, configured to determine a residual time length corresponding to each driving strategy according to each consumed time length and the route time length.

[0371] In a possible implementation, the second pruning subunit comprises:

[0372] a driving energy consumption determining unit, configured to determine a driving energy consumption with an initial value being positive infinity;

[0373] a predicted energy consumption determining unit, configured to determine a predicted energy consumption corresponding to each driving strategy according to the first attribute information corresponding to the target node, the second attribute information corresponding to the previous path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0374] a third pruning unit, configured to prune the driving strategy in response to the corresponding predicted energy consumption being greater than the driving energy consumption;

[0375] an energy consumption enabling unit, configured to prune the driving strategy corresponding to the current driving energy consumption in response to the corresponding predicted energy consumption being less than the driving energy consumption, and update the predicted energy consumption as a new driving energy consumption.

[0376] In a possible implementation, the predicted energy consumption determining unit comprises:

[0377] The second time determination subunit is configured to determine a reaching time according to a time attribute of each of the preceding paths in the corresponding driving strategy of the target node, the reaching time being used to represent a time of reaching the target node by the corresponding driving strategy;

[0378] The minimum energy consumption determination subunit is configured to determine a target minimum energy consumption corresponding to the reaching time and the target node in the first energy consumption boundary matrix and / or the second energy consumption boundary matrix;

[0379] The preceding energy consumption determination subunit is configured to determine a preceding energy consumption according to a total energy of each of the preceding paths in the corresponding driving strategy of the target node, the preceding energy consumption being used to represent an energy consumption of reaching the target node by the corresponding driving strategy;

[0380] The estimated energy consumption determination subunit is configured to determine an estimated energy consumption of each of the driving strategies according to a sum of the target minimum energy consumption and the corresponding preceding energy consumption.

[0381] The driving strategy determination apparatus according to the embodiments of the present disclosure divides each node in the directed acyclic graph into a first node set in a forward direction and a second node set in a backward direction according to corresponding positions, prunes each first node and each second node in turn starting from the starting point and the ending point of the target route respectively, and splices to obtain an accurate target driving strategy, thereby improving the accuracy and processing speed of the determination process.

[0382] Figure 20 is a block diagram of an electronic device according to an example embodiment. For example, the device 2000 can be a mobile phone, a computer, a digital broadcasting terminal, a message communication device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, and the like.

[0383] Referring to Figure 20 , the device 2000 can include one or more of the following components: a processing component 2002, a memory 2004, a power supply component 2006, a multimedia component 2008, an audio component 2010, an input / output (I / O) interface 2012, a sensor component 2014, and a communication component 2016.

[0384] The processing component 2002 usually controls overall operations of the device 2000, such as operations associated with displaying, making phone calls, data communications, camera operations, and recording operations. The processing component 2002 can include one or more processors 2020 to execute instructions to complete all or part of steps of the methods described above. Further, the processing component 2002 can include one or more modules to facilitate interaction between the processing component 2002 and other components. For example, the processing component 2002 can include a multimedia module to facilitate the interaction between the multimedia component 2008 and the processing component 2002.

[0385] Memory 2004 is configured to store various types of data to support operations of the device 2000. Examples of such data include instructions for any application or methods operating on the device 2000, contact data, phonebook data, messages, pictures, videos, and the like. The memory 2004 can be implemented by any type of volatile or non-volatile memory devices or a combination thereof such as static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read only memory (PROM), read only memory (ROM), magnetic memory, flash memory, magnetic disc or optical disc.

[0386] The power supply component 2006 supplies power for various components of the device 2000. The power supply component 2006 can include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 2000.

[0387] The multimedia component 2008 includes a screen providing an output interface between the device 2000 and a user. In some embodiments, the screen can include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen can be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, swiping, and gestures on the touch panel. The touch sensors can not only sense a boundary of a touching or swiping action, but also detect duration and pressure related to the touching or swiping action. In some embodiments, the multimedia component 2008 includes a front camera and / or a rear camera. The front and / or rear camera can receive external multimedia data when the device 2000 is in an operating mode, such as a shooting mode or a video mode. Each of the front and rear camera can be a fixed optical lens system or have a focal length and optical zoom capability.

[0388] The audio component 2010 is configured to output and / or input audio signals. For example, the audio component 2010 includes a microphone (MIC) configured to receive external audio signals when the device 2000 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the memory 2004 or transmitted via the communication component 2016. In some embodiments, the audio component 2010 also includes a speaker for outputting audio signals.

[0389] The I / O interface 2012 provides an interface between the processing component 2002 and peripheral interface modules, which can be a keyboard, a click wheel, buttons, and the like. The buttons can include, but are not limited to, a home button, a volume button, a start button, and a lock button.

[0390] The sensor component 2014 includes one or more sensors for providing status assessments for various aspects of the device 2000. For example, the sensor component 2014 can detect an open / closed status of the device 2000, relative positioning of components of the device 2000, such as a display and keypad of the device 2000, a change in position of the device 2000 or a component of the device 2000, presence or absence of user contact with the device 2000, orientation or acceleration / deceleration of the device 2000, and temperature changes of the device 2000. The sensor component 2014 can include proximity sensor(s) configured to detect presence of nearby objects without any physical contact. The sensor component 2014 can also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 2014 can also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0391] The communication component 2016 is configured to facilitate wired or wireless communication between the device 2000 and another device. The device 2000 can access a wireless network based on a corresponding communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an example embodiment, the communication component 2016 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component 2016 further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0392] In an example embodiment, the device 2000 can be implemented with one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, other electronic units, or a combination thereof, to perform the above-described methods.

[0393] In an example embodiment, a non-transitory computer-readable storage medium, such as the memory 2004 including computer program instructions, is also provided, which can be executed by the processor 2020 of the device 2000 to perform the above-described methods.

[0394] Figure 21 is a block diagram of an electronic device according to an example embodiment. For example, the device 2100 can be provided as a server. Referring to FIG. 21, the device 2100 includes a bus 2101, a processor 2102, a memory 2104, a storage 2106, an input device 2108, an output device 2110, a display 2112, a communication device 2114, and an auxiliary storage device 2116. The bus 2101 can be a circuit that connects the above-mentioned components and transfers communication data between the above-mentioned components. The bus 2101 can be implemented with a single bus, or a combination of buses, such as a bus matrix, a bus bridge, a bus arbiter, and the like. Figure 21The apparatus 2100 includes a processing assembly 2122, which is further comprised of one or more processors, and memory resources, represented by the memory 2132, for storing instructions, such as an application, executable by the processing assembly 2122. The application stored in the memory 2132 can include one or more modules each corresponding to a set of instructions. Further, the processing assembly 2122 is configured to execute the instructions to perform the above-described methods.

[0395] The apparatus 2100 can also include a power supply assembly 2126 configured to perform power management of the apparatus 2100, a wired or wireless network interface 2150 configured to connect the apparatus 2100 to a network, and an input output (I / O) interface 2158. The apparatus 2100 can operate based on an operating system stored in the memory 2132, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or similar.

[0396] In example embodiments, a non-transitory computer readable storage medium, such as the memory 2132 including computer program instructions stored therein, is also provided, which can be executed by the processing assembly 2122 of the apparatus 2100 to complete the above-described methods.

[0397] The present disclosure can be a system, a method, and / or a computer program product. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.

[0398] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a

[0399] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0400] Computer readable program instructions for carrying out operations of the present disclosure can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computing device, partly on the user's computing device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device or entirely on the remote computing device or server. In the latter scenario, the remote computing device can be connected to the user's computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computing device, for example, through the Internet using an Internet Service Provider. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.

[0401] The computer readable program instructions can also be loaded onto a computing / processing device, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computing / processing device, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computing / processing device, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0402] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, 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, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer- readable storage medium having no data storage cycles that change state. The instructions can be executed by one or more processors of a computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions which execute via the one or more processors of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. A computer readable storage medium can be, but is not limited to, a floppy disk, a hard disk, a solid state drive, a DVD, a CD, a tape, a magnetic

[0403] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable data processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0404] The flow diagrams and the block diagrams in the drawings are meant only to illustrate potential implementations of the systems, methods, and computer program products according to embodiments of the present disclosure. In this regard, each block in the flow diagrams and the block diagrams can represent a module, a segment, or a portion of instructions, which includes one or more executable instructions for implementing the specified logical functions ("instructions"). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may

[0405] Embodiments of the present disclosure have been described above, and the description is intended to be illustrative of the embodiments and not restrictive. Many modifications and variations of the described embodiments are possible and are within the scope of the described embodiments. The selection of the terms to be used in this patent document is not intended to limit the scope of the embodiments described herein, but rather to exemplify the principles of the embodiments, practical application, or improvement over the technology in the art, or to enable other ordinary skilled persons in the art to understand the embodiments disclosed herein.

Claims

1. A method for determining a driving strategy, characterized in that, The method includes: A directed acyclic graph corresponding to the target route is determined. The directed acyclic graph includes multiple driving strategies. Each driving strategy includes multiple nodes connected by paths. Each node has corresponding first attribute information, and each path has corresponding second attribute information. Multiple access points corresponding to the target route are determined, and each access point has corresponding third attribute information. The access point represents a specific location in the target route that needs to be reached within a specified time interval. Each node is classified according to the third attribute information and the first attribute information to obtain a first node set and a second node set. The first node set includes at least one first node, and the second node set includes at least one second node. Based on the second attribute information and the third attribute information, the driving strategies corresponding to each first node and each second node are pruned to obtain forward strategy and backward strategy. The pruning order of each first node is the position order from front to back in the corresponding driving strategy, and the pruning order of each second node is the position order from back to front in the corresponding driving strategy. The forward strategy and the backward strategy are combined to obtain the target driving strategy corresponding to the target route; The first attribute information includes a first position attribute and a speed attribute of the corresponding node; the second attribute information includes a time attribute and an energy attribute of the corresponding path; and the third attribute information includes a second position attribute and a driving time window of the corresponding passage point. The first position attribute is used to represent the location of the corresponding node; the speed attribute is used to represent the speed of the vehicle at the corresponding node location; the time attribute is used to represent the time consumed by the vehicle on the corresponding path; the energy attribute is used to represent the energy consumed by the vehicle on the corresponding path; the second position attribute is used to represent the location of the corresponding passage point; and the driving time window is used to represent the time interval during which the vehicle passes through the corresponding passage point. The step of pruning the driving strategies corresponding to each first node and each second node based on the second attribute information and the third attribute information to obtain the forward strategy and the backward strategy includes: A first energy consumption boundary matrix and a second energy consumption boundary matrix are determined based on the first attribute information, the second attribute information, and the third attribute information corresponding to each first node and second node. The first energy consumption boundary matrix includes at least one first minimum energy consumption corresponding to each first node, and the second energy consumption boundary matrix includes at least one second minimum energy consumption corresponding to each second node. The first minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding first node position to the end position of the target route, and the second minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding second node position to the start position of the target route. Based on the order of their positions from front to back in the corresponding driving strategy, first nodes are sequentially obtained from the first node set as target nodes. At the same time, based on the order of their positions from back to front in the corresponding driving strategy, second nodes are sequentially obtained from the second node set as target nodes. The following steps are then performed on the target nodes. The first pruning strategy is executed based on the first attribute information, each of the second attribute information, and each of the third attribute information corresponding to the target node. The second pruning strategy is executed based on the first attribute information corresponding to the target node, each of the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix. The driving strategy after pruning the driving strategy corresponding to each first node is determined as the forward strategy, and the driving strategy after pruning the driving strategy corresponding to each second node is determined as the backward strategy.

2. The method according to claim 1, characterized in that, The directed acyclic graph corresponding to the target route includes: Determine multiple driving curves corresponding to the target route, wherein the driving curves are used to characterize the changes in position and speed of the vehicle during driving; The directed acyclic graph is determined based on each of the driving curves.

3. The method according to claim 2, characterized in that, The multiple driving curves corresponding to the determined target route include: Select multiple driving modes; Multiple driving curves are generated based on the driving modes, the geographical gradient and speed limits of the target route, the driving performance of the vehicle, the preset curve drawing rules, and the speed steps.

4. The method according to claim 3, characterized in that, The driving modes include at least one of the following: maximum traction mode, traction cruise mode, coasting mode, brake cruise mode, and maximum braking mode. The maximum traction mode is a driving mode that accelerates the vehicle with maximum power. The traction cruise mode is a driving mode that ensures the vehicle travels at a constant speed on uphill roads by accelerating. The coasting mode is a driving mode in which the vehicle coasts in neutral by its own inertia when it has an initial speed greater than 0. The brake cruise mode is a driving mode that ensures the vehicle travels at a constant speed on downhill roads by applying braking force. The brake cruise mode is a driving mode that decelerates the vehicle by applying maximum braking force.

5. The method according to claim 3, characterized in that, Determining the directed acyclic graph based on each of the driving curves includes: The locations where the driving mode changes in each of the driving curves are used as nodes to determine the node set; Create paths between adjacent nodes within the same driving curve; A directed acyclic graph is determined based on the set of nodes and the paths corresponding to each node therein.

6. The method according to claim 1, characterized in that, The step of classifying each node according to each of the third attribute information and each of the first attribute information includes: Intermediate access points are determined based on the number of access points corresponding to the target route and the location of each access point; Each node is classified according to the second position attribute and the corresponding first position attribute of the intermediate passage point.

7. The method according to claim 6, characterized in that, The step of classifying each node according to the second location attribute and the corresponding first location attribute of the intermediate passage point includes: The positional relationship between each node and the intermediate passage point is determined along the driving direction based on the corresponding first and second position attributes. In response to the fact that the node is not behind the intermediate passage point, the node is determined to be the first node; In response to the fact that the node is not in front of the intermediate passage node, the node is determined to be the second node.

8. The method according to claim 1, characterized in that, The step of determining the first energy consumption boundary matrix and the second energy consumption boundary matrix based on the first attribute information, the second attribute information, and the third attribute information corresponding to each of the first and second nodes includes: The passage points corresponding to each of the first and second nodes are determined based on the corresponding first attribute information and each of the third attribute information. Based on the second attribute information of the path corresponding to each first node and second node, the third attribute information of the corresponding access point, and the preset step size, at least one first minimum energy consumption or a second minimum energy consumption is determined. Each first minimum energy consumption and the second minimum energy consumption have a corresponding time. The first minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding first node position to the end position of the target route at the corresponding time. The second minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding second node position to the start position of the target route at the corresponding time. A first energy consumption boundary matrix is ​​determined, comprising each of the first minimum energy consumptions, and a second energy consumption boundary matrix is ​​determined, comprising each of the second minimum energies.

9. The method according to claim 8, characterized in that, The step of determining at least one first minimum energy consumption or a second minimum energy consumption based on the second attribute information of the corresponding paths of each first node and second node, the third attribute information of the corresponding access points, and a preset step size includes: The passage time window is determined based on the driving time window of each passage point corresponding to the first node and the second node. The time sequence corresponding to each first node and second node is determined according to the preset step size and each passage time window, and the time sequence includes multiple times; Determine the first minimum energy consumption or the second minimum energy consumption of each first node and second node at each time in the corresponding time sequence. The first minimum energy consumption and the second minimum energy consumption are determined according to the second attribute information of the subsequent path in the corresponding driving strategy. The subsequent path is the entire path from the first node / second node to the end node / start node in the corresponding driving strategy.

10. The method according to claim 9, characterized in that, The step of determining the passage time window based on the driving time window corresponding to each of the first and second nodes includes: In response to a given passage point, the driving time window for that passage point is determined as the passage time window for the first node / second node; In response to two corresponding passage points, the passage time window of the first node / second node is determined based on the start time of the driving time window of the earlier adjacent passage point along the driving direction and the end time of the later adjacent passage point.

11. The method according to claim 10, characterized in that, The step of executing the first pruning strategy based on the first attribute information, each of the second attribute information, and each of the third attribute information corresponding to the target node includes: The number of access points corresponding to the target node is determined based on the first attribute information and each of the third attribute information. In response to the fact that the number of corresponding access points is one, at least one driving strategy corresponding to the target node is pruned according to the driving time window of the corresponding access point and the time attribute of the corresponding path. In response to the fact that there are two corresponding access points, at least one driving strategy corresponding to the target node is pruned based on the first attribute information of the target node and the time attribute of the corresponding path.

12. The method according to claim 11, characterized in that, The step of determining the number of access points corresponding to the target node based on the first attribute information and each of the third attribute information includes: In response to the existence of a second location attribute that is identical to the corresponding first location attribute, it is determined that the passage point corresponding to the second location attribute corresponds to the target node.

13. The method according to claim 12, characterized in that, The step of determining the number of access points corresponding to the target node based on the first attribute information and each of the third attribute information of the target node further includes: In response to the absence of a second location attribute that is identical to the corresponding first location attribute, it is determined that two access points adjacent to the second location attribute and the corresponding first location attribute correspond to the target node.

14. The method according to any one of claims 11-13, characterized in that, The step of pruning at least one driving strategy corresponding to the target node based on the driving time window of the corresponding access point and the time attribute of the corresponding path includes: Determine all paths from the start node / end node to the target node in the corresponding driving strategy as the prior paths corresponding to the target node; Based on the time attribute of the prior path in each of the driving strategies corresponding to the target node, determine the arrival time of reaching the target node via the prior path in each of the driving strategies; If the corresponding arrival time is not within the driving time window of the corresponding passage point, the driving strategy is pruned.

15. The method according to any one of claims 11-13, characterized in that, The step of pruning at least one driving strategy corresponding to the target node based on the first attribute information of the target node and the time attribute of the corresponding path includes: The remaining time for each driving strategy is determined based on the time attribute of the prior path corresponding to the target node. The remaining time is the time required to reach the destination of the target route on time from the target node using each driving strategy. The limit duration is determined based on the first position attribute and velocity attribute of the target node, and the limit duration is used to characterize the shortest time to reach the end point of the target route from the location of the target node. In response to the remaining time being less than the limit time, the driving strategy is pruned.

16. The method according to claim 15, characterized in that, The step of determining the remaining duration of each driving strategy based on the time attribute of the prior path corresponding to the target node includes: Determine the route duration corresponding to the target route, whereby the route duration is used to characterize the total time required for the vehicle to drive on the target route; The consumption time is determined based on the time attribute of the prior path in each driving strategy corresponding to the target node, and the consumption time represents the time consumed to reach the target node using each driving strategy. The remaining time corresponding to each driving strategy is determined based on the consumption time and the route duration.

17. The method according to claim 12, characterized in that, The step of executing the second pruning strategy based on the first attribute information corresponding to the target node, each of the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix includes: The initial value for driving energy consumption is set to positive infinity; The estimated energy consumption of each driving strategy is determined based on the first attribute information corresponding to the target node, the second attribute information corresponding to the prior path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix. In response to the corresponding estimated energy consumption being greater than the driving energy consumption, the driving strategy is pruned; In response to the corresponding estimated energy consumption being less than the driving energy consumption, the driving strategy corresponding to the current driving energy consumption is pruned, and the estimated energy consumption is updated to the new driving energy consumption.

18. The method according to claim 17, characterized in that, The step of determining the estimated energy consumption of each driving strategy based on the first attribute information corresponding to the target node, the second attribute information corresponding to the prior path, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix includes: The arrival time is determined based on the time attribute of each prior path in the driving strategy corresponding to the target node, and the arrival time is used to characterize the time when the target node is reached by the corresponding driving strategy. Determine the target minimum energy consumption corresponding to the arrival time and the target node in the first energy consumption boundary matrix and / or the second energy consumption boundary matrix; The prior energy consumption is determined based on the total energy of each prior path in the driving strategy corresponding to the target node. The prior energy consumption is used to characterize the energy consumption to reach the target node through the corresponding driving strategy. The estimated energy consumption of each driving strategy is determined based on the sum of the target minimum energy consumption and the corresponding prior energy consumption.

19. A driving strategy determination device, characterized in that, The device includes: A directed graph determination module is used to determine the directed acyclic graph corresponding to the target route. The directed acyclic graph includes multiple driving strategies, each driving strategy includes multiple nodes connected by paths, each node has corresponding first attribute information, and each path has corresponding second attribute information. The access point determination module is used to determine multiple access points corresponding to the target route. Each access point has corresponding third attribute information. The access point represents a specified location in the target route that needs to be reached within a specified time interval. The node classification module is used to classify each node according to each of the third attribute information and each of the first attribute information to obtain a first node set and a second node set, wherein the first node set includes at least one first node and the second node set includes at least one second node. The pruning module is used to prune the driving strategies corresponding to each first node and each second node according to the second attribute information and the third attribute information, respectively, to obtain forward strategy and backward strategy. The pruning order of each first node is the position order from front to back in the corresponding driving strategy, and the pruning order of each second node is the position order from back to front in the corresponding driving strategy. The strategy splicing module is used to splice the forward strategy and the backward strategy to obtain the target driving strategy corresponding to the target route; The first attribute information includes a first position attribute and a speed attribute of the corresponding node; the second attribute information includes a time attribute and an energy attribute of the corresponding path; and the third attribute information includes a second position attribute and a driving time window of the corresponding passage point. The first position attribute is used to represent the location of the corresponding node; the speed attribute is used to represent the speed of the vehicle at the corresponding node location; the time attribute is used to represent the time consumed by the vehicle on the corresponding path; the energy attribute is used to represent the energy consumed by the vehicle on the corresponding path; the second position attribute is used to represent the location of the corresponding passage point; and the driving time window is used to represent the time interval during which the vehicle passes through the corresponding passage point. The pruning module includes: The matrix determination submodule is used to determine a first energy consumption boundary matrix and a second energy consumption boundary matrix based on the first attribute information, the second attribute information and the third attribute information corresponding to each first node and second node. The first energy consumption boundary matrix includes at least one first minimum energy consumption corresponding to each first node, and the second energy consumption boundary matrix includes at least one second minimum energy consumption corresponding to each second node. The first minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding first node position to the end position of the target route, and the second minimum energy consumption is used to characterize the minimum energy consumption required to drive from the corresponding second node position to the start position of the target route. The node determination submodule is used to sequentially obtain the first node as the target node from the first node set according to the position order from front to back in the corresponding driving strategy, and at the same time, sequentially obtain the second node as the target node from the second node set according to the position order from back to front in the corresponding driving strategy, so as to perform the following steps on the target node; The first pruning submodule is used to execute a first pruning strategy based on the first attribute information, each of the second attribute information and each of the third attribute information corresponding to the target node; The second pruning submodule is used to execute a second pruning strategy based on the first attribute information corresponding to the target node, each of the second attribute information, and the first energy consumption boundary matrix and / or the second energy consumption boundary matrix. The strategy determination submodule is used to determine that the driving strategy after pruning the driving strategy corresponding to each first node is a forward strategy, and the driving strategy after pruning the driving strategy corresponding to each second node is a backward strategy.

20. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor implements the method as described in any one of claims 1 to 18 by invoking the executable instructions.

21. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1 to 18.

Citation Information

Patent Citations

  • Rail transportation system with wireless network control

    CN101905702A

  • Real-time machine vision and point-cloud analysis for remote sensing and vehicle control

    CN107533630A