MPC-Based Trajectory Tracking of a First Vehicle Using Trajectory Information on a Second Vehicle
20230019462 · 2023-01-19
Inventors
Cpc classification
B60W30/18154
PERFORMING OPERATIONS; TRANSPORTING
B60W60/0011
PERFORMING OPERATIONS; TRANSPORTING
B60W30/165
PERFORMING OPERATIONS; TRANSPORTING
B60W30/16
PERFORMING OPERATIONS; TRANSPORTING
B60W60/0027
PERFORMING OPERATIONS; TRANSPORTING
B60W2555/60
PERFORMING OPERATIONS; TRANSPORTING
B60W2556/65
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
Determination of a trajectory for a first vehicle (1) by model predictive control (MPC) is provided. Trajectory information about a second vehicle (18) traveling in the area ahead of the first vehicle (1) is utilized. In particular, discretization points (P.sub.1, P.sub.2, P.sub.3) and arrival times of the vehicles (1, 18) at the discretization points (P.sub.1, P.sub.2, P.sub.3) are utilized to generate constraints for the model predictive control of the first vehicle (1).
Claims
1-10: (canceled)
11. A processor unit (3) for determining a trajectory for a first vehicle (1) by model predictive control and utilizing trajectory information about a second vehicle (18), wherein the processor unit (3) for the first vehicle (1) is configured for: selecting first discretization points (P2, P3) from a totality of possible discretization points (P1, P2, P3) located within a virtual travel horizon of a model predictive control of the first vehicle (1); transmitting the first discretization points (P2, P3) to a processor unit (3′) of the second vehicle (18), which is traveling ahead of the first vehicle (1), the first discretization points (P2, P3) located ahead of a rear end (24) of the second vehicle (18); obtaining, from the processor unit (3′) of the second vehicle (18), an arrival time of the second vehicle (18) at each second discretization point (P3) ascertained by the processor unit (3′) of the second vehicle (18) from the first discretization points (P2, P3), the second discretization points (P3) located ahead of the second vehicle (18); generating a trajectory data set for the first vehicle (1), the trajectory data set including the second discretization points (P3) selected by the second processor unit (3′) from the first discretization points (P2, P3) and the arrival times of the second vehicle (18) at the respective second discretization points (P3) ascertained by the second processor unit (3′), the trajectory data set also including zeroed value pairs, each of the zeroed value pairs including a first discretization point (P1, P2) that is not located ahead of the second vehicle as well as the value zero seconds; and determine a trajectory for the first vehicle (1) via model predictive control by executing an MPC algorithm (13), which includes a longitudinal dynamic model (14) of the first vehicle (1) and a cost function (15), such that the cost function (15) is minimized, wherein the trajectory data set is taken into account as a constraint in the determination of the trajectory.
12. The processor unit (3) of claim 11, wherein the arrival times of the second vehicle (18) at the second discretization points (P3) establish minimum time periods, prior to the end of which the first vehicle (1) is not permitted to reach the respective second discretization point (P3).
13. The processor unit (3) of claim 11, wherein the processor unit (3) for the first vehicle (1) is configured for selecting the first discretization points (P2, P3) from the totality of possible discretization points (P1, P2, P3) such that the distance of the first discretization points (P2, P3) to the first vehicle (1) is greater than a distance between the first vehicle (1) and the second vehicle (18).
14. The processor unit (3) of claim 11, wherein the processor unit (3) for the first vehicle (1) is configured for: receiving, from the second processor unit (3′) of the second vehicle (18), data corresponding to a length (I) of the second vehicle (18); selecting third discretization points (P1, P2) from the first discretization points (P1, P2, P3), the distance of the third discretization points (P1, P2) to the first vehicle (1) being smaller than a sum of the length (I) of the second vehicle (18) and a distance between the first vehicle (1) and the second vehicle (18); assigning the value zero seconds to each of the third discretization points (P1, P2); and storing the value zero seconds for each of the third discretization points (P1, P2) as further zeroed value pairs in the trajectory data set.
15. The processor unit (3) of claim 11, wherein the processor unit (3) is configured for: receiving a position (P4) and a switching time from the processor unit (3″) of a light signal system (26) that is located ahead of the first vehicle (1) and is configured for displaying traffic light signals (g, r), the switching time indicates when the light signal system (26) changes from a first traffic light signal (g) to a second traffic light signal (r); and adding the position (P4) and the switching time of the light signal system (26) to the trajectory data set for the first vehicle (1).
16. The processor unit (3) of claim 15, wherein the switching time of the light signal system (26) received from the processor unit (3″) of the light signal system (26) establishes a maximum time period, prior to the end of which the first vehicle (1) must have reached the position (P4) of the light signal system (26).
17. A driver assistance system (16) for carrying out a driver assistance function of a first vehicle (1), wherein the driver assistance system (16) is configured for: accessing a trajectory for the first vehicle (1) determined by the processor unit (3) of claim 11; and carrying out a driver assistance function of the first vehicle (1) by utilizing the trajectory for the first vehicle (1).
18. A vehicle (1), comprising the processor unit (3) of claim 11.
19. A vehicle (1), comprising the driver assistance system (16) of claim 17.
20. A method for determining a trajectory for a first vehicle (1) by model predictive control and utilizing trajectory information about a second vehicle (18) traveling ahead of the first vehicle (1), the method comprising: selecting, with a processor unit (3) of the first vehicle (1), first discretization points (P2, P3) from a totality of possible discretization points (P1, P2, P3) that are located within a virtual travel horizon of a model predictive control of the first vehicle (1), the first discretization points (P2, P3) located ahead of a rear end (24) of the second vehicle (18); transmitting, by the processor unit (3) of the first vehicle (1), the first discretization points (P2, P3) to a processor unit (3′) of the second vehicle (18); selecting, by the processor unit (3′) of the second vehicle (18), second discretization points (P3) from the first discretization points (P2, P3) such that all of the second discretization points (P3) are located ahead of the second vehicle (18); ascertaining, by the processor unit (3′) of the second vehicle (18), an arrival time of the second vehicle (18) at each of the second discretization points (P3); generating, by the processor unit (3) of the first vehicle (1), a trajectory data set for the first vehicle (1), the trajectory data set including the second discretization points (P3) and the arrival times of the second vehicle (18) at the respective second discretization points (P3) ascertained by the second processor unit (3′), the trajectory data set also including zeroed value pairs that each include a first discretization point (P1, P2) that is not located ahead of the second vehicle (18) as well as the value zero seconds; and ascertaining, by the processor unit (3) of the first vehicle (1), a trajectory for the first vehicle (1) by executing an MPC algorithm (13), which includes a longitudinal dynamic model (14) of the first vehicle (1) and a cost function (15), by model predictive control such that the cost function (15) is minimized, wherein the trajectory data set is taken into account as a constraint in the determination of the trajectory.
21. A computer program product (11) for determining a trajectory for a first vehicle (1) by model predictive control and utilizing trajectory information about a second vehicle (18), wherein the computer program product (11), when run on a processor unit (3) of the first vehicle (1), instructs the processor unit (3) to: select first discretization points (P2, P3) from a totality of possible discretization points (P1, P2, P3) located within a virtual travel horizon of a model predictive control of the first vehicle (1); transmit the first discretization points (P2, P3) to a processor unit (3′) of the second vehicle (18) traveling ahead of the first vehicle (1), the first discretization points (P2, P3) located ahead of a rear end (24) of the second vehicle (18); obtain, from the processor unit (3′) of the second vehicle (18), an arrival time of the second vehicle (18) at each second discretization point (P3) ascertained by the processor unit (3′) of the second vehicle (18) from the first discretization points (P2, P3), all second discretization points (P3) being located ahead of the second vehicle (18); generate a trajectory data set for the first vehicle (1), the trajectory data set including the second discretization points (P3) and the arrival times of the second vehicle (18) at the respective second discretization points (P3) ascertained by the second processor unit (3′), the trajectory data set also including zeroed value pairs, the zeroed value pairs each including a first discretization point (P1, P2) that is not located ahead of the second vehicle as well as the value zero seconds; and determine a trajectory for the first vehicle (1) via model predictive control by executing an MPC algorithm (13), which includes a longitudinal dynamic model (14) of the first vehicle (1) and a cost function (15), such that the cost function (15) is minimized, wherein the trajectory data set is taken into account as a constraint in the determination of the trajectory.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0057] Exemplary embodiments of the invention are explained in greater detail in the following with reference to the diagrammatic drawing, wherein identical or similar elements are labeled with the same reference character, wherein
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
DETAILED DESCRIPTION
[0064] Reference will now be made to embodiments of the invention, one or more examples of which are shown in the drawings. Each embodiment is provided by way of explanation of the invention, and not as a limitation of the invention. For example, features illustrated or described as part of one embodiment can be combined with another embodiment to yield still another embodiment. It is intended that the present invention include these and other modifications and variations to the embodiments described herein.
[0065]
[0066] In the exemplary embodiment shown, the MPC system 2 includes a processor unit 3, a memory unit 4, a communication interface 5, and a detection unit 6 for detecting surroundings data and state data related to the first motor vehicle 1. The first motor vehicle 1 also includes a drive train 7, which can include, for example, an electric machine 8, which can be operated as a motor and as a generator, a battery 9, and a transmission 10. The electric machine 8, in the motor mode, can drive wheels of the motor vehicle 1 via the transmission 10, which can have, for example, a constant ratio. The battery 9 can provide the electrical energy necessary therefor. The battery 9 can be charged by the electric machine 8 when the electric machine 8 is operated in the generator mode (recuperation). Optionally, the battery 9 can also be charged at an external charging station. Likewise the drive train of the motor vehicle 1 can optionally include an internal combustion engine 17, which, alternatively or in addition to the electric machine 8, can drive the motor vehicle 1. The internal combustion engine 17 can also drive the electric machine 8 in order to charge the battery 9.
[0067] A computer program product 11 can be stored on the memory unit 4. The computer program product 11 can be run on the processor unit 3, for the purpose of which the processor unit 3 and the memory unit 4 are connected to each other by the communication interface 5. When the computer program product 11 is run on the processor unit 3, the computer program product 11 instructs the processor unit 3 to perform the functions described in conjunction with the drawing and/or to carry out method steps.
[0068] The computer program product 11 includes an MPC algorithm 13. The MPC algorithm 13 includes a longitudinal dynamic model 14 of the drive train 7 of the first motor vehicle 1. In addition, the MPC algorithm 13 includes a cost function 15 to be minimized. The processor unit 3 executes the MPC algorithm 13 and determines an optimal speed trajectory of the first motor vehicle 1 based on the longitudinal dynamic model 14 such that the cost function 15 is minimized.
[0069] In addition, an optimal rotational speed and an optimal torque of the electric machine 8 for discretization points in the prediction horizon can result as the output of the optimization by the MPC algorithm 13. For this purpose, the processor unit 3 can ascertain an input variable for the electric machine 8, enabling the optimal rotational speed and the optimal torque to set in. The processor unit 3 can control the electric machine 8 based on the ascertained input variable. In addition, this can also be carried out by the driver assistance system 16, however.
[0070] The detection unit 6 can measure current state variables of the first motor vehicle 1, record appropriate data, and supply these to the MPC algorithm 13. In addition, route data from an electronic map can be updated, in particular cyclically, for a prediction horizon (for example, 400 m) ahead of the motor vehicle 1. The route data can include, for example, uphill grade information, curve information, and information about speed limits. Moreover, a curve curvature can be converted, via a maximum permissible lateral acceleration, into a speed limit for the motor vehicle 1. In addition, a position finding of the first motor vehicle 1 can be carried out by the detection unit 6, in particular via a signal generated by a GNSS sensor 12 for the precise localization on the electronic map. Moreover, the detection unit 6 can includes a radar sensor 22, in particular for determining the position and/or speed of preceding vehicles 18 (
[0071] The highly simplified two-dimensional (dimensions x, y) example according to
[0072] The processor unit 3 of the first vehicle 1 generates a virtual travel horizon and/or a prediction horizon of the first vehicle 1. The virtual travel horizon includes a plurality of possible discretization points P.sub.x, of which a first discretization point P.sub.1, a second discretization point P.sub.2, and a third discretization point P.sub.3 are represented in
{right arrow over (s.sub.dls)}=[P.sub.1;P.sub.2;P.sub.3; . . . ;P.sub.n].
[0073] For example, the distance {right arrow over (d)} of a front end 23 of the first vehicle 1 to a rear end 24 of the second vehicle 18, for example, to a rear bumper of the second vehicle 18, can be ascertained continuously or at discrete points in time in quick succession by the radar sensor 22. The processor unit 3 of the first vehicle 1 can access appropriate distance data of the radar sensor 22 by the communication interface 5. The distance {right arrow over (d)} can be twenty meters (20 m), purely by way of example, and indicated as a vector d. Likewise the three discretization points P.sub.1, P.sub.2, P.sub.3 can be indicated as position vectors {right arrow over (P.sub.1)}, {right arrow over (P.sub.2)}, {right arrow over (P.sub.3)}, which extend, for example, from the front end 23 of the first vehicle 1 to the respective discretization point P.sub.1, P.sub.2, P.sub.3. The output data array {right arrow over (s.sub.dls )} can therefore be represented as follows:
{right arrow over (s.sub.dls)}=[{right arrow over (P.sub.1)},{right arrow over (P.sub.2)},{right arrow over (P.sub.3)}].
The processor unit 3 subtracts the distance vector d from each of the position vectors {right arrow over (P.sub.1)}, {right arrow over (P.sub.2)}, {right arrow over (P.sub.3)}. The first discretization point P.sub.1 is located, for example, fifteen meters (15 m) ahead of the front end 23 of the first vehicle 1 and behind the rear end 24 of the second vehicle 18. As shown in
[0074] The output data array {right arrow over (s.sub.dls )} can have, as an alternative to the vectorial entries, the aforementioned components of the position vectors P.sub.1, P.sub.2, P.sub.3 in the x direction (forward direction of the first vehicle 1):
{right arrow over (s.sub.dls)}=[15;21;28].
[0075] The processor unit 3 also stores the component values of the difference vectors in the x direction in a discretization data array {right arrow over (s.sub.dls_V2V)}, which is then represented as follows:
{right arrow over (s.sub.dls_V2V)}=[−5;1;8]
[0076] The processor unit 3 subsequently deletes all negative entries of the discretization data array {right arrow over (s.sub.dsl_V2V)}. In this way, the processor unit 3 of the first vehicle selects first discretization points, which are included in the discretization data array {right arrow over (s.sub.dls_V2V_1)}, which is relevant for the V2V communication and is represented as follows:
{right arrow over (s.sub.dls_V2V_1)}=[1;8].
[0077] The processor unit 3 transmits this single-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_1)}=[1; 8] by the communication interface 5 to the processor unit 3′ of the second vehicle 18 via a communication interface 5′ of the second vehicle 18.
[0078] The processor unit 3′ of the second vehicle 18 subtracts the length l=5 m of the second vehicle 18 from each value of the single-fold transformed discretization data array {right arrow over (s.sub.dsl_V2V_1)}=[1; 8]. This is vectorially represented in
{right arrow over (s.sub.dls_V2V_2)}=[−4;3].
[0079] The processor unit 3′ of the second vehicle 18 subsequently deletes all negative entries of the two-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_2)} (selection of second discretization points), as the result of which a three-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_3)} results in the example shown, which is represented as follows:
{right arrow over (s.sub.dls_V2V_3)}[3]
[0080] In this way, the single-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_1)}=[1; 8] is transformed into a discretization data array {right arrow over (s.sub.dls_V2V_3)}, which is relevant for the processor unit 3′ of the second vehicle 18.
[0081] The processor unit 3′ of the second vehicle 18 subsequently calculates a planned arrival time of the second vehicle 18 at each discretization point of the three-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_3)}=[3] by interpolation, in the present example, therefore, only for the single entry “3” (meters). The type of interpolation depends on the preceding second vehicle 18. If the second vehicle 18 plans the trajectory of the second vehicle 18 by ACC, an interpolation by polynomial fitting is generally already present. This could be directly re-used for calculating the arrival time of the second vehicle at the third discretization point P.sub.3 at a distance of three meters (3 m). If this is, for example, a vehicle of level 2 or higher (for example, Al-based), a linear interpolation can be advantageously utilized.
[0082] The processor unit 3′ of the second vehicle 18 subsequently generates an arrival data array {right arrow over (t.sub.vec_min_ext)}, which includes selected value pairs, each of which is made up of the discretization points of the three-fold transformed discretization data array s.sub.dls_V2V_3 and a planned arrival time of the second vehicle 18 at the relevant discretization point of the three-fold transformed discretization data array {right arrow over (s.sub.dls_V2V_3)}. In the example shown, only the planned arrival time of the second vehicle 18 at the third discretization point P.sub.3, which is located three meters (3 m) ahead of the front end 25 of the second vehicle 2, is calculated and stored together with the third discretization point P.sub.3 in the arrival data array t.sub.vec_min_ext. If the second vehicle 18 moves, for example, at a constant speed of 30 kilometers per hour, the processor unit 3′ of the second vehicle 18 can calculate a planned arrival time t.sub.3=0.36 s of the second vehicle 18 at the discretization point P.sub.3 at a distance of three meters (3 m) away.
[0083] The arrival data array t.sub.vec_min_ext is therefore represented as follows in the exemplary embodiment shown:
{right arrow over (t.sub.vec_min_ext)}=[3,0.36].
[0084] The processor unit 3′ of the second vehicle 18 transmits this arrival data array {right arrow over (t.sub.vec_min_ext)}=[28; 0,36] and the length l of the second vehicle 18 by the communication interface 5′ of the second vehicle 18 to the processor unit 3 of the first vehicle 1 via the communication interface 5 of the first vehicle 1.
[0085] The processor unit 3 of the first vehicle 1 subsequently identifies, by the length l of the second vehicle 18 and by the above-described distance d of the front end 23 of the first vehicle 1 to the rear end 24 of the second vehicle 18, those discretization points that are located ahead of the front end 25 of the second vehicle 18. This can be carried out in the same way as described in conjunction with the processor unit 3′ of the second vehicle 18 and illustrated by
[0086] The processor unit 3 of the first vehicle 1 also generates a trajectory data set in the form of a minimum arrival data array {right arrow over (t.sub.vec_min )} for the first vehicle 1. This includes, on the one hand, zeroed value pairs for all discretization points that are located behind the front end 25 of the second vehicle 18. In the example shown, the value zero seconds would be associated with the first discretization point P.sub.1 and with the second discretization point P.sub.2 (0 s or “0” in the minimum arrival data array {right arrow over (t.sub.vec_min )} for the first vehicle 1). The processor unit 3 of the first vehicle 1 can establish the value 0 s as the minimum time period before which the first vehicle 1 is not allowed to arrive at the first discretization point P.sub.1 and at the second discretization point P.sub.2. The value 0 s means that the first vehicle 1 is permitted to arrive at the first discretization point P.sub.1 and at the second discretization point P.sub.2 at any point in time in the future, since the trajectories of the first vehicle 1 and of the second vehicle 18 do not meet at these discretization points P.sub.1, P.sub.2.
[0087] The processor unit 3 of the first vehicle 1 also transmits the arrival times of the value pairs of the minimum arrival data array {right arrow over (t.sub.vec_min_ext )} for the second vehicle 18 in the minimum arrival data array {right arrow over (t.sub.vec_min )} for the first vehicle 1 and, in fact, for all discretization points that are located ahead of the front end 25 of the second vehicle 18. In the example shown, this is only the third discretization point P.sub.3. In this case as well, the processor unit 3 of the first vehicle 1 establishes the ascertained arrival time in thirty-six hundredths of a second (0.36 s) as the minimum time period before which the first vehicle 1 is not permitted to arrive at the third discretization point P.sub.3. Therefore, it is ensured that the second vehicle 18 passes the third discretization point P.sub.3 earlier than the first vehicle 1. In this way, a collision of the first vehicle 1 with the second vehicle 2 can be prevented. The minimum arrival data array {right arrow over (t.sub.vec_min )} for the first vehicle 1 can therefore contain, for example, the following value pairs:
{right arrow over (t.sub.vec_min)}=[15,0;21,0;28,0.36].
[0088] By executing the MPC algorithm 13, the processor unit 3 subsequently determines a trajectory for the first vehicle by model predictive control. The arrival data array {right arrow over (t.sub.vec_min )} is taken into account as a constraint. The determination of the trajectory for the first vehicle 1 is carried out such that the cost function 15 is minimized. In addition, in particular, a route topology, the traffic, and further surroundings information are also taken into account in order to determine the optimal speed trajectory for the first vehicle 1 for the upcoming route section.
[0089] A light signal system in the form of a traffic light 26, which can display the “green” and “red” traffic light signals, for example, in alternation, is located at a fourth discretization point in the area ahead of the first vehicle 1, for example, on a position P.sub.4 located forty meters (40 m) ahead of the first vehicle 1. The processor unit 3 of the first vehicle 1 can access this position P.sub.4. For example, the traffic light 26 can include a processor unit 3″ and a communication interface 5″. By the communication interface 5″, the processor unit 3″ of the traffic light 26 can transmit the position P.sub.4 and switching times to the processor unit 3 of the first vehicle 1, for example, that the traffic light 26 will change from “green” to “red” in twenty seconds (20 s). The processor unit 3 of the first vehicle 1 can store the position P.sub.4 together with the switching time as a value pair in the arrival data array {right arrow over (t.sub.vec_min )} for the first vehicle 1. The switching time of the light signal system 26 establishes a maximum time period, as a further constraint, before the end of which the first vehicle 1 must have reached the position P.sub.4 of the light signal system 26. Alternatively, the processor unit 3 of the first vehicle 1 can store the position P.sub.4 together with the switching time as a value pair in a new arrival data array {right arrow over (t.sub.vec_max )} for the first vehicle 1, which, in contrast to the arrival data array t.sub.vec_min, includes a maximum arrival time.
[0090] The processor unit 19 of the driver assistance system 16 accesses—by the communication interface 20—the trajectory for the first motor vehicle 1 determined by the processor unit 3 of the MPC system 2 and carries out the autonomous driving function of the first motor vehicle 1 by utilizing the trajectory for the first motor vehicle 1. Alternatively, the processor unit 3 of the MPC system 2 can also carry out the autonomous driving function of the first motor vehicle 1 by utilizing the trajectory for the first motor vehicle 1. In this case, the driver assistance system 16 is integrated into the MPC system 2 and the MPC system 2 forms the driver assistance system 16.
[0091] Possible embodiments of the longitudinal dynamic model 14 and of the cost function 15, which are integral parts of the MPC algorithm 13 for determining the trajectory for the first motor vehicle 1, are described in greater detail in the following.
[0092] The longitudinal dynamic model 14 of the motor vehicle 1 can be expressed mathematically as follows:
Wherein:
[0093] v is the speed of the motor vehicle; [0094] F.sub.trac is the tractive force that is exerted by the prime mover or the brakes upon the wheels of the motor vehicle, [0095] F.sub.r is the rolling resistance, which is an effect of the deformation of the tires during rolling and depends on the load of the wheels (on the normal force between the wheel and the road) and, thus, on the inclination angle of the road; [0096] F.sub.gr is the gradient resistance, which describes the longitudinal component of gravity, which acts upon the motor vehicle during operation uphill or downhill, depending on the gradient of the roadway; [0097] F.sub.d is the drag force of the motor vehicle; and [0098] m.sub.eq is the equivalent mass of the motor vehicle; the equivalent mass includes, in particular, the inertia of the turned parts of the drive train, which are subjected to the acceleration of the motor vehicle (prime mover, transmission input shafts, wheels).
[0099] By converting time dependence into distance dependence
and coordinate transformation in order to eliminate the quadratic speed term in the aerodynamic drag with
the result is
[0100] In order to ensure that the problem is quickly and easily solvable by the MPC algorithm 13, the dynamic equation of the longitudinal dynamic model 14 can be linearized, in that the speed is expressed, via coordinate transformation, by kinetic energy de.sub.kin. As a result, the quadratic term for calculating the aerodynamic drag F.sub.d is replaced by a linear term and, simultaneously, the longitudinal dynamic model 14 of the motor vehicle 1 is no longer described as a function of time, as usual, but rather as a function of distance. This fits well with the optimization problem, since the predictive information of the electrical horizon is based on distance.
[0101] In addition to the kinetic energy, there are two further state variables, which, within the scope of a simple optimization problem, can also be described in a linear and distance-dependent manner. On the one hand, the electrical energy consumption of the drive train 7 is usually described in the form of a characteristic map as a function of torque and prime mover speed. In the exemplary embodiment shown, the motor vehicle has a fixed ratio between the electric machine 8 and the road on which the motor vehicle 1 moves. As a result, the rotational speed of the electric machine 8 can be directly converted into a speed of the motor vehicle 1 or even into a kinetic energy of the motor vehicle 1. In addition, the electrical power of the electric machine 8 can be converted into energy consumption per meter via division by the appropriate speed. In order to be able to utilize a corresponding characteristic map for the optimization, it is linearly approximated Energy.sub.perMeter≥α.sub.i*e.sub.kin+b.sub.i*F.sub.trac for all i.
[0102] The cost function 15 to be minimized can be expressed mathematically, for example, as follows:
[0116] The cost function 15 has exclusively linear and quadratic terms in the exemplary embodiment shown. As a result, the overall problem has the form of a quadratic optimization with linear constraints and a convex problem results, which can be solved well and quickly.
[0117] The cost function 15 includes, as a first term, an electrical energy E.sub.Bat weighted with a first weighting factor w.sub.Bat and predicted according to the longitudinal dynamic model, which is provided within a prediction horizon by the battery 9 of the drive train 7 for driving the electric machine 8.
[0118] The cost function 15 includes, as one further term, a driving time T weighted with a second weighting factor W.sub.Time and predicted according to the longitudinal dynamic model 14, which the motor vehicle 1 needs in order to cover the predicted distance. As a result, depending on the selection of the weighting factors, a low speed cannot always be evaluated as optimal and, thus, the problem no longer exists that the resultant speed is always at the lower edge of the permitted speed.
[0119] The energy consumption and the driving time can both be evaluated and weighted at the end of the horizon. These terms are therefore active only for the last point of the horizon.
[0120] Excessively high torque gradients within the horizon are disadvantageous.
[0121] Therefore, torque gradients are already penalized in the cost function 15, namely by the term
The quadratic deviation of the drive force per meter is weighted with a weighting factor W.sub.Tem and minimized in the cost function. Alternatively to the drive force F.sub.A per meter, the torque M.sub.EM provided by the electric machine 8 can also be utilized and weighted with the weighting factor W.sub.Tem, and so the alternative term
results. Due to the constant ratio of the transmission 10, the drive force and the torque are directly proportional to one another.
[0122] In order to ensure comfortable driving, one further term is introduced in the cost function 15 for penalizing torque surges, namely w.sub.TemStart.Math.(F.sub.A(s.sub.1)−F.sub.A(s.sub.0)).sup.2. Alternatively to the drive force F.sub.A, the torque M.sub.EM provided by the electric machine 8 can also be utilized here, and so the alternative term w.sub.TemStart.Math.(M.sub.EM(S.sub.1)−M.sub.EM(S.sub.0)).sup.2 results. For the first point in the prediction horizon, the deviation from the most recently set torque can be evaluated as negative and weighted with a weighting factor W.sub.TemStart in order to ensure that there is a seamless and smooth transition during the change-over between an old trajectory and a new trajectory.
[0123] Speed limits are hard limits for the optimization that are not permitted to be exceeded. A slight exceedance of the speed limits is always permissible in reality and tends to be the normal case primarily during transitions from one speed zone into a second zone. In dynamic surroundings, where speed limits shift from one computing cycle to the next computing cycle, it can happen, in the case of very hard limits, that a valid solution for a speed profile can no longer be found. In order to increase the stability of the computational algorithm, a soft constraint is introduced into the cost function 15. A slack variable Var.sub.slack weighted with a weighting factor W.sub.Slack becomes active in a predefined narrow range before the hard speed limit is reached. Solutions that are situated very close to this speed limit are evaluated as poorer, i.e., solutions, the speed trajectory of which maintains a certain distance to the hard limit.
[0124] In
[0125]
[0126] Modifications and variations can be made to the embodiments illustrated or described herein without departing from the scope and spirit of the invention as set forth in the appended claims. In the claims, reference characters corresponding to elements recited in the detailed description and the drawings may be recited. Such reference characters are enclosed within parentheses and are provided as an aid for reference to example embodiments described in the detailed description and the drawings. Such reference characters are provided for convenience only and have no effect on the scope of the claims. In particular, such reference characters are not intended to limit the claims to the particular example embodiments described in the detailed description and the drawings.
REFERENCE CHARACTERS
[0127] d distance between the first vehicle and the second vehicle [0128] {right arrow over (d)} distance vector [0129] l length of second vehicle [0130] {right arrow over (l)} length vector of second vehicle [0131] P.sub.1 first discretization point [0132] P.sub.2 second discretization point [0133] P.sub.3 third discretization point [0134] P.sub.4 position of the light signal system [0135] {right arrow over (P.sub.1−d)} difference vector of first discretization point—distance vector [0136] {right arrow over (P.sub.2−d)} difference vector of second discretization point—distance vector [0137] {right arrow over (P.sub.3−d)} difference vector of third discretization point—distance vector [0138] {right arrow over (P.sub.1)} position vector of first discretization point [0139] {right arrow over (P.sub.2)} position vector of second discretization point [0140] {right arrow over (P.sub.3)} position vector of third discretization point [0141] v.sub.1 speed of the first vehicle [0142] x.sub.1 direction of travel of the first vehicle [0143] v.sub.2 speed of the second vehicle [0144] x.sub.2 direction of travel of the second vehicle [0145] 1 first vehicle [0146] 2 MPC system [0147] 3 processor unit of the first vehicle [0148] 3′ processor unit of the second vehicle [0149] 3″ processor unit of the light signal system [0150] 4 memory unit [0151] 5 communication interface of the first vehicle [0152] 5′ communication interface of the second vehicle [0153] 5″ communication interface of the light signal system [0154] 6 detection unit [0155] 7 drive train [0156] 8 electric machine [0157] 9 battery [0158] 10 transmission [0159] 11 computer program product [0160] 12 GNSS sensor [0161] 13 MPC algorithm [0162] 14 longitudinal dynamic model [0163] cost function [0164] 16 driver assistance system [0165] 17 internal combustion engine [0166] 18 second vehicle [0167] 19 processor unit of the driver assistance system [0168] 20 communication interface of the driver assistance system [0169] 21 road [0170] 22 radar sensor [0171] 23 front end of the first vehicle [0172] 24 rear end of the second vehicle [0173] 25 front end of the second vehicle [0174] 26 light signal system