This application claims priority under 35 U.S.C. § 119 to application no. DE 10 2019 217 869.3, filed on Nov. 20, 2019 in Germany, the disclosure of which is incorporated herein by reference in its entirety.
The disclosure relates to a computer-implemented method for calculating a trajectory for a mobile platform, a data processing system for executing the method, a computer program, and a computer-readable storage medium.
In the coming years, vehicles will increasingly provide functions of partially, highly, or fully automated driving. The driver can thus be relieved and the risk of accident can be reduced. For example, adaptive cruise controls and lane keeping assistants are already available. Functions of highly and fully automated driving will presumably be added, for example autopilots for long-distance travel roads.
These functions require a surroundings model to be calculated based on sensor data, for example, camera, radar, lidar, and/or ultrasonic data. Based on the surroundings model and in consideration of the locally applying traffic rules, a vehicle trajectory can be calculated which describes the movement of the ego vehicle. The calculation of the vehicle trajectory can be performed by solving an optimization problem. If the static and dynamic objects acquired in the surroundings of the ego vehicle, the traffic rules, and restrictions of the dynamics of the ego vehicle are to be taken into consideration in this case, the optimization problem can generally only be numerically solved.
In the article referred to hereinafter as [Walther et al.] “On the computation of switching surfaces in optimal control: A Gröbner basis approach” by U. Walther, T. Georgiou, and A. Tannenbaum, IEEE Trans. on Automatic Control, volume 46, number 4, 2001, the solution of the following problem of optimal control is described:
In this case, the optimization variables are the scalar functions x1(t), x2(t), x3(t), and u(t), and the time tƒ, which is required to reach the end state [x1ƒ, x2ƒ, x3ƒ]T starting from the starting state [x1ƒ, x2ƒ, x3ƒ]T. The starting and end states are permanently specified parameters of the problem of optimum control. In particular, it is shown in [Walther et al.] that the solution is a function u(t), the absolute value of which in the interval 0≤t≤tƒ is constantly equal to 1 and changes its sign at most two times. The points at which u(t) has discontinuities are referred to hereafter as switching points.
The numerical solution of an optimization problem for calculating a vehicle trajectory generally requires a high level of computing effort and a long computing time. However, situations frequently occur in which it is to be determined in a short time whether a driving maneuver of the ego vehicle or an external vehicle is dynamically possible. For example, it can be necessary for a vehicle to determine on an acceleration lane whether threading into the vehicle flow on the main roadway is possible. In addition, it can be necessary to determine whether complete deceleration of the vehicle is possible before the end of the acceleration lane. In other situations, it can be necessary to determine whether it is possible to overtake another road user. In a large number of further scenarios, it can be necessary to determine in a short time whether a driving maneuver of a vehicle is dynamically possible.
One object of the disclosure is therefore to determine with low latency whether a driving maneuver of a vehicle is dynamically possible.
A first aspect of the disclosure relates to a computer-implemented method for calculating a trajectory for a mobile platform, wherein the method comprises an exact or approximate solution of an optimization problem in consideration of a jerk secondary condition of the optimization problem and in consideration of an acceleration secondary condition of the optimization problem. In this case, the cost function of the optimization problem comprises a travel time of the mobile platform from a starting state to an end state. Furthermore, the jerk secondary condition restricts the jerk of the mobile platform to a maximum jerk in absolute value. Moreover, the acceleration secondary condition comprises a limit for the acceleration of the mobile platform.
The mobile platform is preferably a vehicle, i.e., a mobile mode of transport for the transport of persons or items. However, the mobile platform can also be an automated or partially automated mobile robot which is not necessarily used to transport persons or items. Although the present disclosure is generally applicable to mobile platforms, it is described hereinafter for vehicles for reasons of comprehensibility.
Due to the minimization of the travel time of the vehicle from the starting state to the end state, a trajectory can be calculated in which the dynamic options are maximally utilized. It can thus also be implicitly ascertained by the calculation according to the disclosure of a trajectory which driving maneuver will be possible under the given dynamic secondary conditions.
The computer-implemented method for calculating a vehicle trajectory can essentially comprise the exact or approximate solution of an optimization problem, wherein the optimization problem can be formulated as follows:
In this case, x1(t) describes the position of the vehicle as a function of the time t, x2(t) describes the velocity of the vehicle, x3(t) describes the acceleration of the vehicle, and u(t) describes the jerk of the vehicle. The optimization variables x1(t), x2(t), x3(t), and u(t) are preferably scalar functions of the time t. The method for calculating a vehicle trajectory thus preferably calculates a one-dimensional vehicle trajectory. The restriction to one dimension enables a reduction of the computing complexity and the computing time for determining an approximate or exact solution of the represented optimization problem. The dimension can in particular correspond to the longitudinal direction of the vehicle here.
Furthermore, in the optimization problem, dx(t)/dt denotes the derivative of the vector x(t) according to time. For example, the velocity is the derivative of the position according to time, so that dx1(t)/dt=x2(t).
In addition, [s0, v0, a0]T describes the predetermined starting state of the vehicle, i.e. the state at the time t=0. The starting state comprises a starting position s0, a starting velocity v0, and a starting acceleration a0.
Moreover, tƒ describes the travel time from the starting state to an end state, which is in turn permanently specified. The end state can comprise, as described above, an end position sƒ, an end velocity vƒ, and an end acceleration aƒ. However, the end state does not necessarily have to comprise an end position, an end velocity, and an end acceleration. For example, if a trajectory is to be determined so that the vehicle comes to a standstill as quickly as possible in a predetermined distance, the end state could thus only comprise an end position and an end velocity. On the other hand, if the vehicle is to reach an end velocity as quickly as possible, the end state could thus only comprise the end velocity. In other situations, a trajectory could be determined, for example, so that the vehicle covers a predetermined distance as quickly as possible. In this case, the end state could only comprise an end position. By leaving the end position, the end velocity, and/or the end acceleration undefined, the permissible set of the optimization problem can be enlarged and the travel time tƒ to reach the end state can be reduced. The flexible definition of the end state can therefore enable improved adaptation of the optimization problem to a traffic situation, so that a better vehicle trajectory having shorter travel time tƒ can be calculated.
The jerk secondary condition |u(t)|≤u0 restricts the jerk of the vehicle in absolute value to the maximum jerk u0.
In addition, the optimization problem has an acceleration secondary condition gmin≤x3(t)≤gmax, wherein gmin represents a lower limit of the acceleration and gmax represents an upper limit of the acceleration. Alternatively, the optimization problem can only comprise an upper limit gmax of the acceleration. Alternatively, the optimization problem can only comprise a lower limit gmin of the acceleration. The upper and/or the lower limit can be dependent on the velocity of the vehicle. In particular, the following can thus apply gmax=gmax(x2(t)) and/or gmin=gmin(x2(t)). In this case, the upper and/or the lower limit can be polynomial functions of the vehicle velocity. In particular, the upper and/or the lower limit can be zeroth, first, second, or third degree polynomials of the vehicle velocity.
The jerk secondary condition and the acceleration secondary condition can in particular be embodied to take into consideration the dynamic capabilities of different vehicle types, for example passenger vehicles or utility vehicles. Furthermore, the jerk secondary condition and the acceleration secondary condition can be embodied to take into consideration different driving styles, for example cautious or sporty. Furthermore, the jerk secondary condition and acceleration secondary condition can be embodied to take into consideration different vehicle states, for example, new, old, or tuned. Moreover, the jerk secondary condition and acceleration secondary condition can be embodied to take into consideration road conditions, for example, dry, wet, snow-covered, or icy. For example, an icy roadway can be taken into consideration by correspondingly low values of the maximum jerk and an upper limit of the acceleration.
The above-described optimization problem can leave unconsidered various parameters of the surroundings model ascertained based on sensor data, for example positions of static and/or dynamic objects in the surroundings of the vehicle. The described optimization problem thus represents a simplification of a general optimization problem in which additional parameters, for example positions of static and/or dynamic objects, are taken into consideration. Due to the simplification, the method according to the disclosure for calculating a vehicle trajectory is relevant in particular if predominantly the dynamic capabilities of the vehicle are important. At the same time, the computing complexity and thus the latency for calculating an exact or approximate solution can be reduced by the simplification of the optimization problem.
According to one embodiment, the limit for the acceleration of the vehicle is dependent on a velocity of the vehicle.
According to a further embodiment, the limit for the acceleration of the vehicle is a polynomial function of the velocity of the vehicle.
According to a further embodiment, the method comprises calculating a first switching point, wherein a first state curve touches a second state curve at the first switching point, wherein the first state curve is dependent on the starting state, wherein the jerk secondary condition is active over the first state curve, and wherein the acceleration secondary condition is active over the second state curve.
The first and the second state curves are preferably three-dimensional curves comprising the position of the vehicle, the velocity of the vehicle, and the acceleration of the vehicle, each over time.
The absolute value of the jerk over the first state curve is thus equal to the maximum jerk u0. In particular, the jerk of the vehicle is preferably constant over the first state curve. The jerk of the vehicle over the first state curve is referred to hereinafter as u1. The sign of u1 can be determined as in [Walther et al.], wherein the acceleration secondary condition remains unconsidered.
The solution of the underlying optimization problem of the method according to the disclosure without consideration of the acceleration secondary condition is known from [Walther et al.], wherein values of u0≠1 can be taken into consideration by a corresponding scaling transformation of the variables x1(t), x2(t), x3(t), and u(t). With respect to this known problem of optimal control, the introduction of the acceleration secondary condition can enable a better and in particular more accurate modeling of the dynamic capabilities of the vehicle.
The solution of the simpler control problem described in [Walther et al.] can fulfill the acceleration secondary condition, even if this secondary condition is not taken into consideration in [Walther et al.]. The solution described in [Walther et al.] can thus represent an exact solution for the underlying optimization problem of the method according to the disclosure for calculating a vehicle trajectory. The method according to the disclosure for calculating a vehicle trajectory can therefore comprise solving the simpler control problem without acceleration secondary condition according to [Walther et al.].
The method according to the disclosure for calculating a vehicle trajectory comprises the exact or approximate solution of an optimization problem, which comprises a jerk secondary condition and an acceleration secondary condition. Exact or approximate solution of the optimization problem is to be understood in this case to mean that the jerk secondary consideration and the acceleration secondary consideration are at least taken into consideration. The concept of the approximate solution of the optimization problem is thus in particular not to be interpreted to mean that the jerk secondary condition or the acceleration secondary condition could remain entirely unconsidered. The consideration of the jerk secondary condition and the acceleration secondary condition can take place in different ways. For example, it can be checked whether the acceleration secondary condition is met at a point of a trajectory. It can also be that the acceleration secondary condition is taken into consideration in another form, for example as a part of a Lagrange function of a dual optimization problem.
The solution of [Walther et al.] comprises at most three sections having constant u(t), wherein the sign of u(t) changes at the switching points. If the solution of [Walther et al.] meets the acceleration secondary condition, the trajectory of the vehicle calculated according to the disclosure thus also has at most three sections having constant jerk. In contrast, if the solution of [Walther et al.] does not meet the acceleration secondary condition, the trajectory of the vehicle calculated according to the disclosure thus has an additional section. This can adjoin a first section of the vehicle trajectory and can correspond to the second state curve. The jerk can vary over the second state curve.
The vehicle trajectory calculated according to the disclosure can thus comprise the first and the second state curve, wherein the second state curve immediately follows the first state curve. In other words, the vehicle trajectory can comprise a first and a second section which respectively correspond to the first and the second state curve. The second state curve is not necessarily a section of the vehicle trajectory calculated according to the disclosure, however. In particular, the second state curve is a section of the vehicle trajectory calculated according to the disclosure if the solution of [Walther et al.] does not meet the acceleration secondary condition. In addition, the vehicle trajectory calculated according to the disclosure can comprise a third state curve which can adjoin the second state curve. Furthermore, the vehicle trajectory calculated according to the disclosure can comprise a fourth state curve which adjoins the third state curve.
The jerk secondary condition can be active over the first, the third, and the fourth state curve. Furthermore, the jerk can be constant in each case over the first, the third, and the fourth state curve, wherein the sequence of the signs of the jerk can be identical to the corresponding sequence of the signs of the solution described in [Walther et al.] without consideration of the acceleration secondary condition.
The first state curve preferably extends through the starting state of the vehicle trajectory. In particular, the first state curve preferably begins at the starting state, so that it follows for the course of the first state curve:
x
11(t)=s0+v0t+a0t2/2+u1t3/6
x
21(t)=v0+a0t+u1t2/2
x
31(t)=a0+u1t.
In this case, x11(t) describes a first section of x1(t), x21(t) describes a first section of x2(t), and x31(t) describes a first section of x3(t).
The acceleration secondary condition is active over the second state curve. If the acceleration secondary condition comprises both an upper and also a lower limit of the acceleration, the upper limit of the acceleration can thus be active if u1 is positive, while the lower limit of the acceleration can be active if u1 is negative. For illustration, it is assumed by way of example that the upper limit of the acceleration is active, i.e. x32(t)=gmax, wherein x32(t) describes the acceleration of the vehicle over the second state curve. The upper limit gmax can be a function of the velocity, so that the differential equation
x
32(t)=dx22(t)/dt=gmax(x22(t)) applies,
wherein x22(t) describes the velocity of the vehicle over the second state curve.
The first state curve and the second state curve touch at the first switching point, so that
x
21(t1)=x22(t1) and
x
31(t1)=x32(t1),
wherein t1 is the time of the first switching point. This can be reformulated to
v
0
+a
0
t
1
+u
1(t1)2/2=x22(t1) and
a
0
+u
1
t
1
=g
max(x22(t1)).
A system of two equations having the two unknowns t1 and x22(t1) thus results. By solving the second equation for t1,
t
1=(gmax(x22(t1)−a0)/u1 is obtained.
Inserting into the first equation results in
v
0
+a
0(gmax(x22(t1))−a0)/u1+((gmax(x22(t1))−a0)/u1)2/2=x22(t1),
wherein only x22(t1) is still unknown. This equation can also be analytically solved numerically or as a function of the upper limit gmax(x22(t)). Furthermore, it is clear that the first switching point can be solved by solving a univariate equation. Furthermore, it is clear that the first switching point can be solved by solving a univariate polynomial equation, if gmax(x22(t)) is a polynomial function of x22(t).
If, for example, the upper limit of the acceleration is an affine function of the vehicle velocity, i.e. if
g
max(x22(t)=m x22(t)+b,
it thus follows that
v
0
+a
0(m x22(t1)+b−a0)/u1+u1((m x22(t1)+b−a0)/u1)2/2=x22(t1),
so that the first switching point, at which the first state curve touches the second state curve, can be calculated in this case by solving a quadratic equation.
After the determination of x22(t1), the other parameters of the first switching point can also be immediately calculated. The time of the first switching point results from
t
1=(gmax(x22(t1))−a0)/u1.
The position and the acceleration in the first switching point result by insertion into x11(t) and x31(t). The course of the second state curve then follows by solving the differential equation dx22(t)/dt=gmax(x22(t).
According to a further embodiment, the method furthermore comprises calculating a second and a third switching point, wherein the second state curve touches a third state curve at the second switching point and the third state curve touches a fourth state curve at the third switching point, wherein the jerk secondary condition is active over the third and the fourth state curve with different signs, and wherein the fourth state curve is dependent on the end state.
The jerk of the vehicle is preferably constant over the third state curve and is equal in absolute value to the maximum jerk u0. The jerk of the vehicle over the third state curve is referred to hereinafter as u3. The sign of u3 is preferably inverse to the sign of u1. Since the jerk of the vehicle over the third state curve is known, the course of the third state curve can be expressed as follows:
x
13(t)=s3+v3t+a3t2/2+u3t3/6
x
23(t)=v3+a3t+u3t2/2
x
33(t)=a3+u3t,
wherein x13(t) describes the position of the vehicle over the third state curve, x23(t) describes the velocity of the vehicle over the third state curve, x33(t) describes the acceleration of the vehicle over the third state curve, and s3, v3, and a3 are initially unknown.
In addition, the jerk of the vehicle is preferably constant over the fourth state curve and is equal in absolute value to the maximum jerk u0. The jerk of the vehicle over the fourth state curve is referred to hereinafter as u4. The sign of u4 is preferably inverse to the sign of u3. The course of the fourth state curve can therefore be expressed as follows:
x
14(t)=s4+v4t+a4t2/2+u4t3/6
x
24(t)=v4+a4t+u4t2/2
x
34(t)=a4+u4t,
wherein x14(t) describes the position of the vehicle over the fourth state curve, x24(t) describes the velocity of the vehicle over the fourth state curve, x34(t) describes the acceleration of the vehicle over the fourth state curve, and s4, v4, and a4 are initially unknown.
The fourth state curve preferably extends through the end state. The fourth state curve preferably ends in the end state. The following therefore applies:
x
14(tƒ)=s4+v4tƒ+a4tƒ2/2+u4tƒ3/6=sƒ
x
24(tƒ)=v4+a4tƒ+u4tƒ2/2=vƒ
x
34(t)=a4+u4tƒ=aƒ.
The three unknowns s4, v4, and a4 can therefore be expressed as functions of the unknown travel time tƒ. The number of the unknowns of the fourth state curve is thus reduced from three to one.
The following applies for the second switching point
x
12(t2)=x13(t2)
x
22(t2)=x23(t2)
x
32(t2)=x33(t2),
wherein t2 is the time of the second switching point and in addition to t2, s3, v3, and a3 are also unknown. Furthermore, the following applies for the third switching point
x
13(t3)=x14(t3)
x
23(t3)=x24(t3)
x
33(t3)=x34(t3)
wherein t3 is the time of the third switching point and in addition to t3, s3, v3, a3 and tƒ are also unknown. Overall, a system of six equations having the six unknowns t2, t3, s3, v3, a3, and tƒ thus results. This equation system can be combined to form a system of four equations having four unknowns, wherein in particular the fact can be utilized that the functions x33(t) and x34(t) are affine. Different formulations of the equation system are possible in this case.
The second and the third switching point can thus be calculated efficiently, i.e. with lower computing complexity and thus also shorter computing time by solving an equation system.
According to a further embodiment, the second and the third switching point are calculated by solving an equation system.
According to a further embodiment, the starting state comprises a starting position, a starting velocity, and a starting acceleration of the vehicle.
According to a further embodiment, the end state comprises an end position, an end velocity, and/or an end acceleration of the mobile platform.
According to a further embodiment, the calculated trajectory is a one-dimensional trajectory.
According to a further embodiment, a control signal for activating a drive system and/or a braking system of the vehicle is provided based on the calculated trajectory, and/or a warning signal is provided for warning an occupant of the vehicle.
To travel along the calculated trajectory, in particular a drive system and/or a braking system of the ego vehicle can be activated.
A second aspect of the disclosure relates to a data processing system, which comprises means for executing the method according to the disclosure.
The data processing system is, for example, a control unit. The data processing system comprises at least one processor and one memory unit. The processor can be, for example, a microprocessor, a microcontroller, or an application-specific processor. The memory unit preferably comprises a nonvolatile memory unit, on which a computer program is stored which was written to execute the method according to the disclosure. The data processing system can comprise a large number of further components, for example a communication unit, via which the data processing system can communicate with a server, so that parts of the computer program according to the disclosure can be stored and/or executed on the server.
Accordingly, a third aspect of the disclosure relates to a computer program, wherein the computer program comprises commands which, upon execution of the program by a data processing system, cause it to execute the method according to the disclosure.
A fourth aspect of the disclosure relates to a computer-readable storage medium, on which the computer program according to the disclosure is stored.
Further explanations are represented in greater detail hereinafter together with the description of preferred exemplary embodiments of the disclosure on the basis of figures.
In a second step S2, a first switching point is calculated according to the method described in [Walther et al.]. The acceleration secondary condition is thus not taken into consideration and the first switching point, at which the function u(t) changes its sign the first time is calculated. The time of the first switching point without consideration of the acceleration secondary condition is referred to hereinafter as τ12.
In a third step S3, a first switching point is calculated in consideration of the acceleration secondary condition. For this purpose, the switching point is calculated at which a first state curve touches a second state curve, wherein the starting point of the first state curve is given by the starting state [s0, v0, a0]T, wherein the jerk u(t) is equal in absolute value to the maximum jerk over the first state curve, wherein the sign of the jerk over the first state curve is the same as the sign calculated in step S1, and wherein the acceleration secondary condition is active over the second state curve. The time of the first switching point in consideration of the acceleration secondary condition is t1.
In a fourth step S4, it is checked whether Ti is less than or equal to t1. It is thus checked whether the first switching point without consideration of the acceleration secondary condition is before the first switching point with consideration of the acceleration secondary condition.
If τ1 is less than or equal to t1, the vehicle trajectory calculated according to the disclosure is thus preferably identical to the trajectory calculated according to [Walther et al.] without consideration of the acceleration secondary condition. Further parameters of this trajectory can be determined in step S5a.
If τ1 is greater than t1, the vehicle trajectory calculated according to the disclosure thus comprises a first and a second section, wherein as described above the first section of the vehicle trajectory is given by the first state curve and wherein the second state curve is given by the second state curve.
If the solution without consideration of the acceleration secondary condition, which can be calculated according to [Walther et al.], comprises a switching point, the vehicle trajectory calculated according to the disclosure thus preferably comprises a third section. If in addition the solution without consideration of the acceleration secondary condition comprises a second switching point, the vehicle trajectory calculated according to the disclosure thus preferably has a fourth section. The number of the switching points of the solution without consideration of the acceleration secondary condition results directly from the sign sequence determined in step S1. In a step S5b, a second and a third switching point can thus be calculated, wherein the second state curve touches a third state curve in the second switching point and the third state curve touches a fourth state curve in the third switching point, wherein the jerk secondary condition is active over the third and the fourth state curve with different signs, and wherein the fourth state curve ends in the end state [sƒ, vƒ, aƒ]T. In particular, the sequence of the signs of the jerk over the first, the third, and the fourth state curve is identical to the sequence of the sign of the jerk of the corresponding solution according to [Walther et al.] without consideration of the acceleration secondary condition. The second and the third switching point can be calculated by solving a system of four equations having four unknowns.
In a step S6, the vehicle trajectory according to the disclosure can be generated.
After the calculation of the trajectory, which maximally utilizes the dynamic options, it can be determined, for example, whether threading into a vehicle flow is possible, whether complete deceleration is possible before an obstacle or the end of an acceleration lane, or whether overtaking a road user is possible. In particular a drive, a braking, and/or a steering system can be activated in dependence thereon, in order to follow the trajectory calculated according to the disclosure. However, it is also possible that the trajectory calculated according to the disclosure is not advantageous, since, for example, complete deceleration before an obstacle is no longer possible. In this case, for example, the trajectory calculated according to the disclosure can be modified to avoid the obstacle.
The described exemplary embodiments similarly relate to the computer-implemented method for calculating a vehicle trajectory, the data processing system for executing the method, the computer program, and the computer-readable storage medium. In other words, features which have been described with reference to the computer-implemented method can also be implemented in the data processing system, the computer program, and/or the storage medium and vice versa.
Synergy effects can result from different combinations of the exemplary embodiments, although they are not described in detail.
Number | Date | Country | Kind |
---|---|---|---|
102019217869.3 | Nov 2019 | DE | national |