This application claims priority to European Patent Application Number 20165673.3, filed Mar. 25, 2020, the disclosure of which is hereby incorporated by reference in its entirety herein.
The present disclosure relates to methods and systems for planning the motion of vehicles.
To ensure the safety of autonomous vehicles or vehicles equipped with advanced driver assistance systems (ADAS), it is required to plan the motion which is necessary to carry out a desired maneuver such as a lane change, a merge-in or a turn. The motion of vehicles may be mathematically described by trajectories. A trajectory is a function which represents the state of a moving object such as a vehicle over time. The state of the vehicle may include its position, its yaw rate, its velocity and/or its acceleration.
The social expectations regarding the efficiency and safety of advanced driver assistance systems and autonomous vehicles are extremely high. Collision avoidance must be guaranteed in every situation. Therefore, the generation of trajectories may be performed in consideration of possible trajectories of other traffic participants. However, if trajectories are determined based on a worst-case prediction of the behavior of other traffic participants, certain maneuvers can't be carried out.
Accordingly there is a need to provide a system and a method which are able to plan the motion of a vehicle in such a way that efficient and assertive maneuvers are enabled while, simultaneously, dangerous situations are reliably avoided.
The present disclosure provides a computer-implemented method, a computer system, and a non-transitory computer readable medium according to the independent claims. Embodiments are given in the dependent claims, the description and the drawings.
In one aspect, the present disclosure is directed at a computer-implemented method for planning the motion of a vehicle, the method including the following steps carried out by computer hardware components: determining, via a motion planning module of a control system, a nominal trajectory for the vehicle based on a desired maneuver to be carried out in a traffic space, on a current state of movement of the vehicle and on a detected state of a surrounding of the vehicle, and determining, via the motion planning module of the control system, an abort trajectory branching off from the nominal trajectory and guiding the vehicle to a safe condition regardless of the desired maneuver, wherein the nominal trajectory and the abort trajectory are determined simultaneously using a single optimization process.
The nominal trajectory fulfills the main goal of the desired maneuver, for example a lane change, but may be or become unsafe. In this case, the abort trajectory may be output for execution. An abort trajectory doesn't fulfill the goal of the maneuver, but is safe even under adverse conditions. For example, an abort trajectory may represent a cancellation of a lane change or a safety braking on the current lane when a lane change is desired. Abort trajectories may also be called “fail-safe trajectories”. The nominal trajectory may be based on the prediction of the most plausible or most probable behavior of the other road users. The abort trajectory may be based on a worst case prediction of the behavior of the other road users.
The nominal trajectory and the abort trajectory may be future trajectories, wherein “future” may be understood as to be after the determining of the trajectories.
Since the nominal trajectory and the abort trajectory are determined simultaneously using a common optimization process, the frequency of forced executions of abort trajectories is reduced. In contrast to a method wherein the nominal trajectory is determined independently of the abort trajectory and the abort trajectory is determined afterwards in a separate process, the single optimization process shapes the nominal trajectory under the influence of the abort trajectories, whereby the generation of adverse nominal trajectories may be avoided. In other words, the nominal trajectory may be forced to be easy to abort. Thus, frequent abortions of maneuvers are avoided. However, the basic ability to perform abortions of maneuvers for safety reasons is maintained.
The method may further include one or more of the following features: A set of at least two abort trajectories branching off from the nominal trajectory at different points in time may be determined along with the nominal trajectory in the single optimization process via the motion planning module of the control system. The set of abort trajectories may include at least three abort trajectories branching off from the nominal trajectory at equally spaced points in time. The optimization process may include the step of minimizing a cost function, wherein a cost term and a weight may be assigned to each of the abort trajectories of the set of abort trajectories and wherein the cost function may include a weighted sum of the cost terms. Different weights may be assigned to at least two of the abort trajectories of the set of abort trajectories. The weight assigned to a first abort trajectory branching off from the nominal trajectory at a first point in time may be higher than the weight assigned to a second abort trajectory branching off from the nominal trajectory at a second point in time which is later than the first point in time. The weights assigned to temporally subsequent abort trajectories of the set of abort trajectories may be gradually decreasing. The nominal trajectory may be determined as an output trajectory to be outputted to a vehicle control module unless one of the following conditions is fulfilled: the nominal trajectory turns out to be unsafe; and a point in time is reached where the last abort trajectory of all subsequent abort trajectories branches off from the nominal trajectory and the nominal trajectory is not confirmed to be safe.
One of the abort trajectories of the set of abort trajectories may be determined, via the motion planning module of the control system, as the output trajectory if one of the conditions (i) and (ii) is fulfilled. The first available abort trajectory may be determined as the output trajectory if condition (i) is fulfilled, wherein the first available abort trajectory branches off from the nominal trajectory at the earliest point in time after condition (i) is confirmed to be fulfilled. The last abort trajectory of all subsequent abort trajectories may be determined as the output trajectory if condition (ii) is fulfilled. The single optimization process may include a constrained nonlinear optimization process. The single optimization process may be iteratively executed.
According to another aspect, a set of at least two abort trajectories branching off from the nominal trajectory at different points in time is determined along with the nominal trajectory in the single optimization process via the motion planning module of the control system. Thus, the planning of the motion in partially unknown environments is simplified. High-risk maneuvers, which may be cancelled within a relatively long time horizon in case of need, may be planned and carried out. In particular, a potentially dangerous maneuver can be planned if a confirmation or a disproval of the safety of the maneuver is expected in the near future. If, for example, a change from a first lane to a second lane is desired and the occupancy of the second lane is not detectable due to an occlusion by another vehicle, it is not necessary to execute the earliest abort trajectory if a later abort trajectory may also guide the vehicle to a safe state. Before the starting point of the later abort trajectory is reached, it is possible that the occlusion is no longer present, the second lane is confirmed to be free and the maneuver may be finished as desired according to the nominal trajectory.
According to another aspect, the set of abort trajectories includes at least three abort trajectories branching off from the nominal trajectory at equally spaced points in time. This simplifies the calculation. A set of three to five abort trajectories has turned out to balance reliability and computational effort. The space between the starting points or branch-offs of the abort trajectories may be at least 100 ms and at most 2 s. According to an aspect, the interval between the starting points of the abort trajectories is 500 ms.
According to another aspect, the single optimization process includes the step of minimizing a cost function, wherein a cost term and a weight is assigned to each of the abort trajectories of the set of abort trajectories and wherein the cost function includes a weighted sum of the cost terms. The cost terms may be based on efficiency and comfort measures such as acceleration values. The following cost function ƒ(x) may be used to solve the single optimization problem:
ƒ(x)=ƒΓ0(x)+Σi=1, . . . NwiƒΓa_ti(x)
wherein x is a vector including motion state parameters such as position and velocity parameters, ƒ(x) is the overall cost function, ƒΓ0(x) is the cost function of the nominal trajectory Γ0, ƒΓa_ti(x) is the cost function for the abort trajectory Γa_ti branching off from the nominal trajectory Γ0 at the point in time ti and wi is the weight of the abort trajectory Γa_ti branching off from the nominal trajectory Γ0 at the point in time ti.
According to another aspect, different weights are assigned to at least two of the abort trajectories of the set of abort trajectories via the motion planning module of the control system. The individual weights may be used to tune the control system of the vehicle in accordance with the needs of a customer. A parametrization of the comfort limits and comfort weights of subsequent abort trajectories enables an adjustment of a threshold between expected comfort measures and an assertiveness of planned trajectories in a partially unknown environment.
According to another aspect, the weight assigned to a first abort trajectory branching off from the nominal trajectory at a first point in time is higher than the weight assigned to a second abort trajectory branching off from the nominal trajectory at a second point in time which is later than the first point in time. Assertive maneuvers may thus be allowed due to a low weight for the costs of late abort trajectories, while early abort trajectories are kept comfortable for the passengers of the controlled vehicle due to a high weight for the costs. Early abortions of maneuvers, which are more likely to occur than late abortions, may result in relatively smooth and comfortable trajectories, while late abortions of maneuvers, which are less likely to occur, are still possible—although the comfort may be reduced. For example, sudden jerks or significant decelerations may be accepted in case of—rarely occurring—late abortions of maneuvers.
According to another aspect, the weights assigned to temporally subsequent abort trajectories of the set of abort trajectories are gradually decreasing.
According to another aspect, the nominal trajectory is determined, via the motion planning module of the control system, as an output trajectory to be outputted to a vehicle control module unless one of the following conditions is fulfilled:
the nominal trajectory turns out to be unsafe; and
a point in time is reached where the last abort trajectory of all subsequent abort trajectories branches off from the nominal trajectory and the nominal trajectory is not confirmed to be safe;
and wherein one of the abort trajectories of the set of abort trajectories is determined as the output trajectory if one of the conditions (i) and (ii) is fulfilled. Thereby, unsafe conditions are reliably excluded. The information regarding the question if the nominal trajectory is currently safe or unsafe may be represented by safety signals received from vehicle sensors.
According to another aspect, the first available abort trajectory is determined, via the motion planning module of the control system, as the output trajectory if condition (i) is fulfilled, wherein the first available abort trajectory branches off from the nominal trajectory at the earliest point in time after condition (i) is confirmed to be fulfilled. The earliest possible abort trajectory is usually the most comfortable solution for aborting a maneuver, because the motion composed of the nominal trajectory and the abort trajectory can be kept relatively smooth.
According to another aspect, the last abort trajectory of all subsequent abort trajectories is determined, via the motion planning module of the control system, as the output trajectory if condition (ii) is fulfilled. Thus, the last possible measure to achieve a safe condition is taken.
According to another aspect, the single optimization process includes a constrained nonlinear optimization process.
According to another aspect, the single optimization process is iteratively executed via the motion planning module of the control system. The single optimization process may be based on sequential quadratic programming.
In another aspect, the present disclosure is directed at a computer system, the computer system including a plurality of computer hardware components configured to carry out several or all steps of the computer-implemented method described herein.
The computer system may include a processing device, at least one memory device and at least one non-transitory data storage. The non-transitory data storage and/or the memory device may include a computer program for instructing the computer to perform several or all steps or aspects of the computer-implemented method described herein.
In another aspect, the present disclosure is directed at a vehicle including the computer system as described above.
In another aspect, the present disclosure is directed at a non-transitory computer readable medium including instructions for carrying out several or all steps or aspects of the computer-implemented method described herein. The computer readable medium may be configured as: an optical medium, such as a compact disc (CD) or a digital versatile disk (DVD); a magnetic medium, such as a hard disk drive (HDD); a solid state drive (SSD); a read only memory (ROM), such as a flash memory; or the like. Furthermore, the computer readable medium may be configured as a data storage that is accessible via a data connection, such as an internet connection. The computer readable medium may, for example, be an online data repository or a cloud storage.
The present disclosure is also directed at a computer program for instructing a computer to perform several or all steps or aspects of the computer-implemented method described herein.
Exemplary embodiments and functions of the present disclosure are described herein in conjunction with the following drawings, showing schematically:
In
The control system may include a behavior planning module and a motion planning module, for example in the form of integrated circuits. The behavior planning module is configured to send requests regarding desired maneuvers of the host vehicle 11, such as a lane following maneuver, a lane change maneuver or a merge-in maneuver, to the motion planning module. The requests may be driver initiated or may be generated by an autonomous logic.
According to various embodiments, the motion of the host vehicle 11 is planned by determining a nominal trajectory Γ0 based on the desired maneuver, on the current state of movement of the host vehicle 11 and on the surrounding of the host vehicle 11 as detected by the environment sensors. In
For the generation of the nominal trajectory Γ0, a time horizon may be defined which corresponds to a range of the perception capability of the environment sensors. The time horizon is divided into equal time increments extending between points in time t0, t1, t2, . . . to provide nodes 19 for the trajectory planning. Each node 19 may include a position in longitudinal direction, a position in lateral direction and a yaw angle of the host vehicle 11 at a point in time ti.
Apart from the host vehicle 11, other traffic participants such as a passenger car 20 and a truck 22 move on the road 13. As illustrated by the line of sight 25, the passenger car 20 is occluded by the truck 22. Since the velocity of the passenger car 20 might be high enough for a collision with the lane changing host vehicle 11, it can't be guaranteed that the maneuver according to the nominal trajectory Γ0 is safe. Therefore, a set of abort trajectories (fail-safe trajectories) Γa_ti branching off from the nominal trajectory Γ0 and guiding the host vehicle 11 to a safe condition regardless of the desired maneuver are determined. In
According to various embodiments, the nominal trajectory Γ0 and the abort trajectories Γa_t1, Γa_t1 are determined simultaneously using a single nonlinear optimization process. The nonlinear optimization process includes the step of minimizing a cost function, for example the following cost function ƒ(x):
wherein x is a vector including motion state parameters such as position and velocity parameters, ƒ(x) is the overall cost function, ƒΓ0(x) is the cost function of the nominal trajectory Γ0, ƒΓa_ti(x) is the cost function for the abort trajectory Γa_ti branching off from the nominal trajectory Γ0 at the point in time ti and wi is the weight of the abort trajectory Γa_ti branching off from the nominal trajectory Γ0 at the point in time ti.
The continuity and the smoothness of a motion which starts according to the nominal trajectory Γ0 and continues with an abort trajectory Γa_ti may be enforced by equality constraints defined for each abort trajectory Γa_ti. The equality constraints may include:
for i in i=1 . . . Γ0(ti)=Γat
The weights wi assigned to temporally subsequent abort trajectories Γa_ti are gradually decreasing. Therefore, the allowed discomfort level for a late abort trajectory is higher than the allowed discomfort level for an early abort trajectory. An exemplary qualitative level of allowed discomfort over the time horizon as tuned by the weights wi is shown in the lower panel of
The nominal trajectory FO is executed, i.e. determined as an output trajectory to be outputted to a control module, until one of the following conditions is fulfilled:
(i) the nominal trajectory turns out to be unsafe, for example due to a detection of the passenger car 20 approaching with high velocity; and
(ii) a point in time t2 is reached where the last available abort trajectory Γa_t2 branches off from the nominal trajectory Γ0 and the nominal trajectory Γ0 is neither confirmed to be safe nor to be unsafe.
If condition (i) is fulfilled, the first available abort trajectory, i.e. the abort trajectory planned for lowest ti>tc is executed after reaching ti, wherein tc is the point in time when the nominal trajectory Γ0 is confirmed to be unsafe.
If condition (ii) is fulfilled, the last available abort trajectory is executed.
If the situation can be confirmed to be safe before reaching t2, for example due to the detection of the target lane 14 being empty, the entire nominal trajectory Γ0 is executed.
In contrast to an independent planning of the nominal trajectory Γ0 and the abort trajectories Γa_ti, wherein the nominal trajectory Γ0 is planned before the abort trajectories Γa_ti, a common planning in a single optimization process enables the nominal trajectory Γ0 to be shaped in a way that states without any safe abort trajectories are avoided. The planning in a partially unknown environment is thus simplified. Complex maneuvers without complete information regarding the static and dynamic environment thanks to the guaranteed existence of safe abort trajectories may be undertaken. Assigning different comfort cost multipliers and constraints to subsequent abort trajectories planned with a nominal trajectory allows to tune the system in a way that assertive maneuvers are allowed while the most plausible early abort trajectories are kept comfortable for passengers of the host vehicle 11.
Number | Date | Country | Kind |
---|---|---|---|
20165673 | Mar 2020 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
6393362 | Burns | May 2002 | B1 |
9551992 | Barton-Sweeney et al. | Jan 2017 | B1 |
10012984 | Berntorp | Jul 2018 | B2 |
10139828 | Ho et al. | Nov 2018 | B2 |
11390300 | Phillips | Jul 2022 | B2 |
20170199523 | Barton-Sweeney | Jul 2017 | A1 |
20170212513 | Iida | Jul 2017 | A1 |
20170277193 | Frazzoli | Sep 2017 | A1 |
20180052465 | Poledna et al. | Feb 2018 | A1 |
20180251126 | Linscott | Sep 2018 | A1 |
20190004522 | Zych | Jan 2019 | A1 |
20190079523 | Zhu et al. | Mar 2019 | A1 |
20190129420 | Yoshizaki | May 2019 | A1 |
20190138000 | Hammond | May 2019 | A1 |
20190143982 | Hashimoto | May 2019 | A1 |
20190361454 | Zeng et al. | Nov 2019 | A1 |
20200132488 | Slutskyy | Apr 2020 | A1 |
20210078596 | Batkovic | Mar 2021 | A1 |
20210253103 | Kumar | Aug 2021 | A1 |
20220089151 | Gyllenhammar | Mar 2022 | A1 |
Number | Date | Country |
---|---|---|
3380904 | Oct 2018 | EP |
3617023 | Mar 2020 | EP |
2003095278 | Nov 2003 | WO |
Entry |
---|
“Extended European Search Report”, EP Application No. 20165673.3, dated Oct. 7, 2020, 8 pages. |
Magdici, et al., “Fail-Safe Motion Planning of Autonomous Vehicles”, Nov. 2016, pp. 452-458. |
Nister, et al., “The Safety Force Field”, Mar. 2019, 24 pages. |
Pek, et al., “Computationally Efficient Fail-safe Trajectory Planning for Self-driving Vehicles Using Convex Optimization”, Nov. 2018, 8 pages. |
Shalev-Shwart, et al., “On a Formal Model of Safe and Scalable Self-Driving Cars”, Oct. 27, 2018, 37 pages. |
Number | Date | Country | |
---|---|---|---|
20210300413 A1 | Sep 2021 | US |