ADJUSTMENT OF VEHICLE PLANNING PARAMETERS IN A DEGRADED DRIVING SITUATION
20240140449 ยท 2024-05-02
Assignee
Inventors
Cpc classification
B60W2050/0022
PERFORMING OPERATIONS; TRANSPORTING
B60W60/001
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60W50/029
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A system for planning motion of a vehicle includes a controller having a processor and tangible, non-transitory memory on which instructions are recorded. The vehicle is capable of an automated driving operation. A planning module is executable by the controller to generate a vehicle trajectory constrained by a set of planning parameters. During a degraded driving situation, an adjustment module is executable by the controller to generate at least one adjusted parameter in the set of planning parameters. The controller is adapted to register occurrence of the degraded driving situation when the planning module is unable to generate a feasible path for the vehicle constrained by the set of planning parameters. The planning module is adapted to generate a modified trajectory plan based on the at least one adjusted parameter, with the automated driving operation being based on the modified trajectory plan during the degraded driving situation.
Claims
1. A system for planning motion of a vehicle, the system comprising: a controller having a processor and tangible, non-transitory memory on which instructions are recorded, the vehicle being capable of an automated driving operation; a vehicle planning module executable by the controller to generate a trajectory plan constrained by a set of planning parameters; an adjustment module executable by the controller to generate at least one adjusted parameter in the set of planning parameters during a degraded driving situation; wherein the controller is adapted to register occurrence of the degraded driving situation when the vehicle planning module is unable to generate a feasible path for the vehicle constrained by the set of planning parameters; and wherein the vehicle planning module is adapted to generate a modified trajectory plan based on the at least one adjusted parameter, the automated driving operation being based on the modified trajectory plan during the degraded driving situation.
2. The system of claim 1, wherein the automated driving operation is adapted to discontinue using the modified trajectory plan once a feasible path is found using a nominal set of planning parameters by the vehicle planner module.
3. The system of claim 1, wherein the at least one adjusted parameter includes an adjacent lane parameter and/or a double lane crossing parameter.
4. The system of claim 1, wherein the at least one adjusted parameter includes a minimum lateral distance and/or a minimum longitudinal gap between the vehicle and a neighboring vehicle.
5. The system of claim 1, wherein the at least one adjusted parameter includes a maximum speed limit, a maximum acceleration during a vehicle maneuver and a minimum acceleration during the vehicle maneuver.
6. The system of claim 1, further comprising: a root cause module executable by the controller to determine at least one root cause for a solution failure of the vehicle planning module.
7. The system of claim 1, further comprising: a database accessible to the controller, wherein at least one root cause for a solution failure of the vehicle planning module is obtained through comparison of the degraded driving situation with stored data in the database.
8. The system of claim 7, wherein the controller is adapted to store the modified subset and features of the degraded driving situation in the database as a learning dataset.
9. The system of claim 1, wherein the controller is adapted to divide the set of planning parameters into a primary list and a secondary list having respective weighting factors, the primary list being prioritized for adjustment over the secondary list.
10. The system of claim 9, wherein the controller is adapted to maximize a utility function based on the primary list, the secondary list, the respective weighting factors, a nominal value of the at least one adjusted parameter and a value function outputted by the vehicle planning module.
11. The system of claim 10, wherein the utility function is defined as: G=V??.sub.1 [?.sub.prime??.sub.0, prime].sup.2??.sub.2[?.sub.second??.sub.0,second].sup.2, where V is the value function, ?.sub.1 and ?.sub.2 are the respective weighting factors, ?.sub.prime denotes an adjusted parameter in the primary list, ?.sub.second denotes the adjusted parameter in the secondary list, ?.sub.0, prime denotes the nominal value of the adjusted parameter in the primary list and ?.sub.0,second denotes the nominal value of the adjusted parameter in the secondary list.
12. A method of planning motion of a vehicle with a controller having a processor and tangible, non-transitory memory on which instructions are recorded, the method comprising: generating a trajectory plan based in part on a set of planning parameters via execution of a vehicle planning module by the controller, the vehicle being capable of an automated driving operation; designating occurrence of a degraded driving situation when the planning module is unable to generate a feasible path for the vehicle based on the predefined set of planning parameters; generating at least one adjusted parameter in the set of planning parameters during the degraded driving situation; and generating a modified trajectory plan based on the at least one adjusted parameter, via the vehicle planning module, the automated driving operation being based on the modified trajectory plan during the degraded driving situation.
13. The method of claim 12, further comprising: discontinuing the automated driving operation using the modified trajectory plan once a feasible path is found using a nominal set of planning parameters by the vehicle planner module.
14. The method of claim 12, further comprising: dividing the set of planning parameters into a primary list and a secondary list having respective weighting factors, the primary list being prioritized for adjustment over the secondary list.
15. The method of claim 14, further comprising: maximizing a utility function based on the primary list, the secondary list, the respective weighting factors, a nominal value of the adjusted subset of planning parameters and a value function outputted by the vehicle planning module, via the controller.
16. The method of claim 15, further comprising: defining the utility function as G=V??.sub.1 [?.sub.prime??.sub.0, prime].sup.2??.sub.2[?.sub.second??.sub.0,second].sup.2, where V is the value function, ?.sub.1 and ?.sub.2 are the respective weighting factors, ?.sub.prime denotes an adjusted parameter in the primary list, ?.sub.second denotes the adjusted parameter in the secondary list, ?.sub.0, prime denotes a nominal value of the adjusted parameter in the primary list and ?.sub.0,second denotes the nominal value of the adjusted parameter in the secondary list.
17. A system for planning motion of a vehicle, the system comprising: a controller having a processor and tangible, non-transitory memory on which instructions are recorded, the vehicle being capable of an automated driving operation; a vehicle planning module executable by the controller to generate a trajectory plan constrained by a set of planning parameters; an adjustment module executable by the controller to generate at least one adjusted parameter in the set of planning parameters during a degraded driving situation; wherein the controller is adapted to register occurrence of the degraded driving situation when the planning module is unable to generate a feasible path for the vehicle constrained by the set of planning parameters; wherein the vehicle planning module is adapted to generate a modified trajectory plan based on the at least one adjusted parameter, the automated driving operation being based on the modified trajectory plan during the degraded driving situation; and wherein the automated driving operation is adapted to discontinue using the modified trajectory plan once a feasible path is found using a nominal set of planning parameters by the vehicle planner module.
18. The system of claim 17, wherein the at least one adjusted parameter includes an adjacent lane parameter and a double lane crossing parameter.
19. The system of claim 17, wherein the at least one adjusted parameter includes a minimum lateral distance between the vehicle and a neighboring vehicle, a maximum speed limit, a maximum acceleration during a vehicle maneuver and a minimum acceleration during the vehicle maneuver.
20. The system of claim 17, further comprising: a database accessible to the controller; wherein the controller is adapted to obtain at least one root cause for a solution failure of the vehicle planning module through comparison of the degraded driving situation with stored data in the database; and wherein the controller is adapted to store the at least one adjusted parameter and features of the degraded driving situation in the database as a learning dataset.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0010]
[0011]
[0012]
[0013]
[0014]
[0015] Representative embodiments of this disclosure are shown by way of non-limiting example in the drawings and are described in additional detail below. It should be understood, however, that the novel aspects of this disclosure are not limited to the particular forms illustrated in the above-enumerated drawings. Rather, the disclosure is to cover modifications, equivalents, combinations, sub-combinations, permutations, groupings, and alternatives falling within the scope of this disclosure as encompassed, for instance, by the appended claims.
DETAILED DESCRIPTION
[0016] Referring to the drawings, wherein like reference numbers refer to like components,
[0017] Referring to
[0018] Referring to
[0019] For example, the constraints may include a minimum horizon length for the vehicle 12, a minimum acceptable headway distance between the vehicle 12 and other vehicles, restriction on crossing lane markings (solid line and opposite lane), minimum lateral distance between vehicles, distance from occluded objects and other factors. The parameters and constraints limit the set of feasible solutions available to the vehicle planning module 120. In certain situations, the vehicle planning module 120 may be unable to find a feasible path or trajectory that satisfies each of these constraints.
[0020] Referring to
[0021] The degraded driving situation is defined to be when the vehicle planning module 120 is unable to find a feasible solution for navigating the driving situation ahead due to deviation from normal conditions in either the vehicle 12 or its surrounding environment. The degraded driving situations may vary depending on the specific constraints of the vehicle planning module 120. Some examples of degraded driving situations include construction zones with changed rules of road, congested scenarios where neighboring vehicles do not follow safe headways and chaotic scenarios where actors break the rules of the road. An example of a degraded situation 300 is shown in
[0022] As described below, the system 10 finds the root cause for the solution failure and temporarily adjusts or adapts a subset of the planning parameters in order to find a safe solution or feasible path for the degraded driving situation. The subset may include one or more adjusted parameters. This provides the benefit of increasing the domain of operation of the vehicle planning module 120 without major software or hardware updates.
[0023] Referring to
[0024] An example modular architecture 100 for the system 10 is shown in
[0025] Referring to
[0026] Referring to
[0027] Referring now to
[0028] Beginning at block 202 of
[0029] Proceeding to block 206, the controller C is executed to determine whether there is a feasible trajectory or path for the vehicle 12 to proceed based on the current input parameters and nominal sets of parameters. This may be represented by the state of a feasibility flag, which is set to zero when there is no feasible trajectory and set to one when there exists a feasible trajectory. Block 206 may apply a condition check (???.sub.0), to determine if the current set of parameters (?) have been adapted and not equal to the nominal set of parameters (?.sub.0). This condition check ensures that, after each adaption occurs, the parameter values are returned back to their original or nominal values as soon as the degraded situation is over.
[0030] If there is a feasible trajectory or solution (block 206=NO, feasibility flag=1 or ?=?.sub.0), the method 200 loops back. If there is no feasible trajectory or solution (block 206=YES, feasibility flag=0 or ???.sub.0) the method 200 advances to block 208. Per block 208, the controller C is adapted to analyze the scene 22 faced by the vehicle 12, which may be done by executing the scene reasoning module 130. The scene reasoning module 130 detects root causes for the degraded driving situation and creates a map between the detected root cause and the constraints that are blocking the solution (of finding a feasible trajectory plan).
[0031]
[0032] Referring to
[0033] The parameters that may be adjusted include a horizon length over the field-of-view, minimum longitudinal gap between vehicles, acceptable headway distance between vehicles, crossing lane markings (solid line and opposite lane), allowable speed range, maximum acceleration during a vehicle maneuver (e.g., turning), minimum acceleration during a vehicle maneuver, minimum lateral distance between vehicles and minimum distance from occluded objects. The output of the scene reasoning module 130 is sent to the parameter selection function 140.
[0034] Proceeding to block 210, the controller C is adapted to determine if the degraded situation has been observed before. If the degraded situation has been observed before (block 210=YES), the method 200 advances to block 212 to pull the subset of parameters for similar edge cases from the database 160 or cloud computing service 30 or other source.
[0035] If the degraded situation has not been observed before (block 210=NO), the method 200 advances to block 214 where the controller C selects the subset of parameters to be adjusted based on the output of the root cause module 134. It is understood that a combination of stored data and output from the root cause module 134 may be employed regardless of whether elements of the scene 22 have been observed before.
[0036] From blocks 212 and 214, the method 200 advances to block 216 where the initial value for the selected parameters is selected and the parameter adjustment module 150 is executed. The controller C may be adapted to divide the set of planning parameters into a primary list of adjustment parameters and a secondary list of adjustment parameters, with weighting factors to create priority in terms of adjustment of parameters. The primary list of adjustment parameters is adjusted first before the secondary set of adjustment parameters. The primary list of adjustment parameters may have a lower cost on performance. For example in a blocked road scenario, maintaining a safe distance may be prioritized over the restriction on going into an adjacent lane.
[0037] The parameter adjustment module 150 may maximize a utility function G in an iterative process. The utility function G is based on the primary list, the secondary list, the respective weighting factors, a nominal value of adjusted parameters in normal conditions and a value function outputted by the vehicle planning module 120. The utility function G may be defined as:
Argmax G=V??.sub.1[?.sub.prime??.sub.0,prime].sup.2??.sub.2[?.sub.second??.sub.0,second].sup.2.
[0038] Here V is the value function, ?.sub.1 and ?.sub.2 are respective weighting factors for the primary list and the secondary list, ?.sub.prime denotes an adjusted parameter in the primary list, ?.sub.second denotes an adjusted parameter in the secondary list, ?.sub.0, prime denotes a nominal value (i.e., unadjusted or in normal situations) of the adjusted parameter in the primary list and ?.sub.0,second denotes the nominal value of the adjusted parameter in the secondary list. Here ?.sub.2 is greater than ?.sub.1 (?.sub.2>?.sub.1>0). In one example, the value function is calculated by the planning module 120 based on the vehicle state S, the current parameter set ?.sub.set (k), at the parameter adaption step of k. Here, S.sub.ref is a reference vehicle state such that V=F.sub.planner (S, S.sub.ref, ?.sub.set) Comfort may be added into the cost function explicitly or may be integrated into the value function (V). If the optimization terminates with no solution, a failure message is communicated to the vehicle user.
[0039] Proceeding to block 218, the adjusted set of parameters is used to update the vehicle planning module 120 and generate a modified vehicle trajectory. The automated driving operation 26 is carried out based on the modified vehicle trajectory. Advancing to block 220, the controller C is adapted to update the database 160 with the adjusted parameters. The controller C may generate a diagnostic report summarizing the degraded situations as well as provide dashboard notification.
[0040] Referring now to
[0041] The respective positions of the first stalled vehicle 312 and the second stalled vehicle 314 are such that there is insufficient lateral clearance or corridor for the ego vehicle 310 to pass through without crossing the lane markings 306 and going into the opposing second lane 304. Thus, the planning module (e.g., vehicle planning module 120 shown in
[0042] Upon analysis of the root cause, the following subset of planning parameters is selected for adjustment: the safe distance parameter (C.sub.safe distance) that requires a minimum distance to obstacles and the binary (i.e., either ON or OFF) lane marking and opposing lane parameters (C.sub.lane marking, C.sub.opposing_lane) that prevent lane crossing.
[0043] While the degraded situation 300 is active (feasibility flag remains zero), the parameters are adjusted as follows: the safe distance parameter (C.sub.safe distance) is changed from 1.0 to 0.5 and the binary lane marking and opposing lane parameters (C.sub.lane marking, C.sub.opposing_lane) are both turned off. Hence the ego vehicle 310 in the second location L2, the third location L3 and the fourth location L4 is allowed to cross the lane markings 306 into the opposing second lane 304 and maintain a reduced lateral distance (D1, D2) to the vehicles 312, 314, respectively, then it normally would.
[0044] Referring to
[0045] In summary, system 10 locates a subset of planning parameters used by the vehicle planning module 120 based on the root cause for planner failure in a degraded driving situation. The system 10 enables adjustment of the vehicle planning parameters in a robust way, by relaxing the constraints temporarily without changing the planning module 120 itself. Finally, a process is provided for storing the adapted parameters and corresponding scenarios in a database 160 (e.g., on cloud server) and downloading them for future use cases.
[0046] Referring to
[0047] The controller C of
[0048] Look-up tables, databases, data repositories or other data stores described herein may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a group of files in a file rechargeable energy storage system, an application database in a proprietary format, a relational database energy management system (RDBMS), etc. Each such data store may be included within a computing device employing a computer operating system such as one of those mentioned above and may be accessed via a network in one or more of a variety of manners. A file system may be accessible from a computer operating system and may include files stored in various formats. An RDBMS may employ the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
[0049] The flowcharts illustrate an architecture, functionality, and operation of possible implementations of systems, methods, and computer program products of various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, may be implemented by specific purpose hardware-based storage systems that perform the specified functions or acts, or combinations of specific purpose hardware and computer instructions. These computer program instructions may also be stored in a computer-readable medium that may direct a controller or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable medium produce an article of manufacture including instructions to implement the function/act specified in the flowchart and/or block diagram blocks.
[0050] The numerical values of parameters (e.g., of quantities or conditions) in this specification, including the appended claims, are to be understood as being modified in each respective instance by the term about whether or not about actually appears before the numerical value. About indicates that the stated numerical value allows some slight imprecision (with some approach to exactness in the value; about or reasonably close to the value; nearly). If the imprecision provided by about is not otherwise understood in the art with this ordinary meaning, then about as used here indicates at least variations that may arise from ordinary methods of measuring and using such parameters. In addition, disclosure of ranges includes disclosure of each value and further divided ranges within the entire range. Each value within a range and the endpoints of a range are hereby disclosed as separate embodiments.
[0051] The detailed description and the drawings or FIGS. are supportive and descriptive of the disclosure, but the scope of the disclosure is defined solely by the claims. While some of the best modes and other embodiments for carrying out the claimed disclosure have been described in detail, various alternative designs and embodiments exist for practicing the disclosure defined in the appended claims. Furthermore, the embodiments shown in the drawings, or the characteristics of various embodiments mentioned in the present description are not necessarily to be understood as embodiments independent of each other. Rather, it is possible that each of the characteristics described in one of the examples of an embodiment can be combined with one or a plurality of other desired characteristics from other embodiments, resulting in other embodiments not described in words or by reference to the drawings. Accordingly, such other embodiments fall within the framework of the scope of the appended claims.