MPC-Based Autonomous Drive Function of a Motor Vehicle

20230026018 · 2023-01-26

    Inventors

    Cpc classification

    International classification

    Abstract

    A processor unit is configured for determining target torque values (21), which lie within a prediction horizon (20), and target speed values (19), which lie within the prediction horizon (20), by executing an MPC algorithm, which includes a longitudinal dynamics model of a drive train of the motor vehicle. An autonomous driving function of the motor vehicle is carried out in a torque specification operating mode or in a speed specification operating mode as a function of the level of the target torque values (21). In the torque specification operating mode, a prime mover of the drive train is controlled by an open-loop system based on the target torque values (21). In the speed specification operating mode, a speed governor of the drive train is controlled by an open-loop system based on the target speed values (19).

    Claims

    1 through 10: canceled

    11. A processor unit (3) for executing an autonomous driving function of a motor vehicle (1) by model predictive control, wherein the processor unit (3), by executing an MPC algorithm (13), which includes a longitudinal dynamics model (14) of a drive train (7) of the motor vehicle (1), is configured for: determining target torque values (21) lying within a prediction horizon (20); determining target speed values (19) lying within the prediction horizon (20); controlling, in a torque specification operating mode, a prime mover (8) of the drive train (7) by an open-loop system based on the target torque values (21); and controlling, in a speed specification operating mode, a speed governor (18) of the drive train (7) by an open-loop system based on the target speed values (19), wherein the processor unit (3) is configured for carrying out an autonomous driving function of the motor vehicle (1) as a function of a level of the target torque values (21) in the torque specification operating mode or in the speed specification operating mode by executing the MPC algorithm (13).

    12. The processor unit (3) of claim 11, wherein the processor unit (3) is configured for carrying out the autonomous driving function in the torque specification operating mode when a target torque value (21) assumes a positive value by executing the MPC algorithm (13).

    13. The processor unit (3) of claim 12, wherein the processor unit (3) is configured for controlling, by way of the open-loop system, the speed governor (18) of the drive train (7) based on the target speed values (19) when a target torque value (21) assumes a positive value by executing the MPC algorithm (13).

    14. The processor unit (3) of claim 11, wherein the processor unit (3) is configured for carrying out the autonomous driving function exclusively in the speed specification operating mode when a target torque value (21) assumes a negative value by executing the MPC algorithm (13).

    15. The processor unit (3) of claim 11, wherein: the processor unit (3) is configured for changing over from the torque specification operating mode into the speed specification operating mode at a first point in time (t1) by executing the MPC algorithm (13); a first target torque value (23) assumes the value zero at the first point in time (t1); and a second target torque value (24) assumes a negative value at a second point in time (t2) immediately following the first point in time (t1).

    16. The processor unit (3) of claim 11, wherein: the processor unit (3) is configured for changing over from the speed specification operating mode into the torque specification operating mode at a third point in time (t3) by executing the MPC algorithm (13); a third target torque value (26) assumes the value zero at the third point in time (t3); and a fourth target torque value (27) assumes a positive value at a fourth point in time (t4) immediately following the third point in time (t3).

    17. The processor unit (3) of claim 11, wherein: the prime mover (8) is an electric machine (8); the MPC algorithm (13) comprises a cost function (15) to be minimized; the cost function (15) comprises, as a first term, an electrical energy weighted with a first weighting factor and predicted according to the longitudinal dynamics model (14), which is provided within the prediction horizon by a battery (9) of the drive train (7) for driving the electric machine (8); he cost function (15) comprises, as a second term, a driving time weighted with a second weighting factor and predicted according to the longitudinal dynamics model (14), which the motor vehicle (1) requires in order to cover an entire distance predicted within the prediction horizon; and the processor unit (3) is configured for determining an input variable for the electric machine (8) by executing the MPC algorithm (13) as a function of the first term and as a function of the second term such that the cost function is minimized.

    18. A motor vehicle (3) comprising: the processor unit (3) of claim 11; the prime mover (8); the speed governor (18); and a driver assistance system (16) configured for accessing target torque values (21) and target speed values (19) by a communication interface (8), wherein the target torque values (21) and the target speed values (19) have been determined by the processor unit (3), in the torque specification operating mode, controlling the prime mover (8) by the open-loop system based on the target torque values (21), in the speed specification operating mode, controlling the speed governor (18) by the open-loop system based on the target speed values (19), and carrying out an autonomous driving function of the motor vehicle (1) as a function of the level of the target torque values (21) in the torque specification operating mode or in the speed specification operating mode.

    19. A method for carrying out an autonomous driving function of a motor vehicle (1) by model predictive control, the method comprising: determining target torque values (21) lying within a prediction horizon by executing an MPC algorithm (13) that includes a longitudinal dynamics model (14) of a drive train (7) of the motor vehicle (1); determining target speed values (19) lying within the prediction horizon (20) by executing the MPC algorithm (13); controlling, in a torque specification operating mode, a prime mover (1) of the drive train (7) by an open-loop system based on the target torque values (21); controlling, in a speed specification operating mode, a speed governor (18) of the drive train (7) by an open-loop system based on the target speed values (19); and implementing an autonomous driving function of the motor vehicle (1) in the torque specification operating mode or in the speed specification operating mode as a function of a level of the target torque values (21).

    20. A computer program product (11) for executing an autonomous driving function of a motor vehicle (1) by model predictive control, the computer program product (11), when run on a processor unit (3), instructs the processor unit (3) by executing an MPC algorithm (13), which includes a longitudinal dynamics model (14) of a drive train (7) of the motor vehicle (1), to: determine target torque values (21) lying within a prediction horizon (20); determine target speed values (19) lying within the prediction horizon (20); control, in a torque specification operating mode, a prime mover (8) of the drive train (7) by an open-loop system based on the target torque values (21); control, in a speed specification operating mode, a speed governor (18) of the drive train (7) by an open-loop system based on the target speed values (19); and implement an autonomous driving function of the motor vehicle (1) as a function of a level of the target torque values (21) in the torque specification operating mode or in the speed specification operating mode.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0048] 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

    [0049] FIG. 1 shows a schematic of a vehicle including a drive train, which includes an electric machine and a battery,

    [0050] FIG. 2 shows a characteristic map of an electric machine for the vehicle according to FIG. 1, and

    [0051] FIG. 3 shows diagrams including target torque values and target speed values with respect to time and with respect to waypoints within a prediction horizon.

    DETAILED DESCRIPTION

    [0052] 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.

    [0053] FIG. 1 shows a motor vehicle 1, for example, a passenger car. The motor vehicle 1 includes a system 2 for the model predictive control of an electric machine of a drive train of the motor vehicle 1. The system 2 in the exemplary embodiment shown includes a processor unit 3, a memory unit 4, a communication interface 5, and a detection unit 6 for detecting state data related to the motor vehicle 1. The 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, a transmission 10, and a speed governor 18. 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.

    [0054] 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 the method described in conjunction with the drawing.

    [0055] The computer program product 11 includes an MPC algorithm 13. The MPC algorithm 13 includes a longitudinal dynamics model 14 of the drive train 7 of the motor vehicle 1 and a cost function 15 to be minimized. The processor unit 3 executes the MPC algorithm 13 and thereby predicts a behavior of the motor vehicle 1 based on the longitudinal dynamics model 14, wherein the cost function 15 is minimized. Target torque values of the electric machine 8 and target speed values of the motor vehicle 1 for calculated points in the prediction horizon result as the output of the optimization by the MPC algorithm 13. For this purpose, the processor unit 3 can determine input variables for the electric machine 8 and for the speed governor 18 such that the optimal torque and/or the optimal speed result(s). The processor unit 3 can control, by way of an open-loop system, the electric machine 8 and the speed governor 18 based on the determined input variable. In addition, this can also be carried out by a driver assistance system 16, however.

    [0056] The detection unit 6 can measure current state variables of the motor vehicle 1, record appropriate data, and supply these to the MPC algorithm 13. In this way, route data from an electronic map can be updated, in particular cyclically, for an anticipation horizon or prediction horizon (for example, four hundred meters (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 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. The processor unit 3 can access this information, for example, via the communication interface 5.

    [0057] An exemplary longitudinal dynamics model 14 of the motor vehicle 1 can be expressed mathematically as follows:

    [00001] d v ( t ) d t = ( F trac ( t ) - F r ( α ( t ) ) - F gr ( α ( t ) ) - F d ( v ( t ) ) ) / m eq

    Wherein:

    [0058] v is the speed of the motor vehicle; [0059] F.sub.trac is the tractive force that is exerted by the prime mover or the brakes upon the wheels of the motor vehicle; [0060] 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; [0061] 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; [0062] F.sub.d is the drag force of the motor vehicle; and [0063] 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).

    [0064] By converting time dependence into distance dependence

    [00002] d d s = d d t * d t d s = d d t * 1 v

    and coordinate transformation in order to eliminate the quadratic speed term in the aerodynamic drag with e.sub.kin=1/2*m.sub.eq*v(t).sup.2 f, the result is

    [00003] d e k i n d s = F trac ( s ) - F r ( α ( s ) ) - F gr ( α ( s ) ) - F d ( e k i n ( s ) ) .

    [0065] In order to ensure that the problem is quickly and easily solvable by the MPC algorithm 13, the dynamic equation of the longitudinal dynamics model 14 is 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 dynamics 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 anticipatory information of the electrical horizon is based on distance.

    [0066] In addition to the kinetic energy, there are two further state variables, which, in the sense of a simple optimization problem, must 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 1 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. As a result, the characteristic map of the electric machine 8 obtains the form shown in FIG. 2. In order to be able to utilize this characteristic map for the optimization, it is linearly approximated: Energy.sub.perMeter≥a.sub.i*e.sub.kin+b.sub.i*F.sub.trac for all i.

    [0067] An exemplary cost function 15 to be minimized can be expressed mathematically as follows:

    [00004] min ( - w B a t .Math. E B a t ( s E ) + w T i m e .Math. T ( s E ) + w T e m .Math. .Math. s = 1 s E - 1 ( F A ( s ) - F A ( s - 1 ) Δ s ) 2 + w TemStart .Math. ( F A ( s 1 ) - F A ( s 0 ) ) 2 + .Math. s = 1 s E - 1 w Slack .Math. Var slack )

    Wherein:

    [0068] w.sub.Bat is the weighting factor for the energy consumption of the battery [0069] E.sub.Bat is the energy consumption of the battery [0070] S is the distance [0071] S.sub.E-1 is the distance one time step before the end of the prediction horizon [0072] F.sub.A is the drive force that is provided by the electric machine, transmitted by a transmission at a constant ratio, and applied at a wheel of the motor vehicle [0073] W.sub.Tem is the weighting factor for torque gradients [0074] W.sub.TemStart is the weighting factor for torque surges [0075] T is the time that the vehicle needs in order to cover the entire distance predicted within the prediction horizon [0076] W.sub.Time is the weighting factor for the time T [0077] S.sub.E is the distance to the end of the horizon [0078] W.sub.Slack is the weighting factor for the slack variable [0079] Var.sub.slack is the slack variable

    [0080] The cost function 15 has exclusively linear and quadratic terms. 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.

    [0081] 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 dynamics model, which is provided within a prediction horizon by the battery 9 of the drive train 7 for driving the electric machine 8.

    [0082] The cost function 15 includes, as a second term, a driving time T weighted with a second weighting factor W.sub.Time and predicted according to the longitudinal dynamics 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 is not always evaluated as optimal and, thus, the problem that the resultant speed is always at the lower edge of the permitted speed no longer exists.

    [0083] 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.

    [0084] Excessively high torque gradients within the horizon are disadvantageous. Therefore, torque gradients are already penalized in the cost function 15, namely by the term

    [00005] w T e m .Math. .Math. s = 1 s E - 1 ( F A ( s ) - F A ( s - 1 ) Δ s ) 2 .

    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

    [00006] w T e m .Math. .Math. s = 1 s E - 1 ( M E M ( s ) - M E M ( s - 1 ) Δ s ) 2

    results. Due to the constant ratio of the transmission 10, the drive force and the torque are directly proportional to one another.

    [0085] 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.

    [0086] 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.

    [0087] FIG. 3 shows two diagrams arranged one above the other. The first diagram represented at the top in FIG. 3 shows a profile of target speed values 19 within a prediction horizon 20. The second diagram represented in FIG. 3 below the first diagram shows a profile of target torque values 21, which are associated with the target speed values 19 above these. Although the profiles of the target speed values 19 and of the target torque values 21 are represented continuously as a graph in FIG. 3, the target speed values 19 and the target torque values 21 can be discrete values, which are associated with discrete points in time and/or waypoints. The horizontal axes of the two diagrams can represent the time profile t and/or waypoints s within the prediction horizon 20.

    [0088] The processor unit 3 can carry out an autonomous driving function of the motor vehicle 1 in a torque specification operating mode or in a speed specification operating mode as a function of the level of the target torque values 21. In a first range I (represented on the left in FIG. 3) of the prediction horizon 20, the target torque values 21 are positive, and so the processor unit 3 will carry out the autonomous driving function in the torque specification operating mode in which the electric machine 8 is controlled by an open-loop system based on the target torque values 21. Optionally, a speed control can be superimposed on the torque specification operating mode.

    [0089] In a second range II (represented in the center in FIG. 3) of the prediction horizon 20, the target torque values 21 are negative, for example, because the motor vehicle 1 is to be brought to a standstill in order, for example, to stop at a red traffic light. Therefore, the target speed values 19 in the second range II drop to the value zero (“motor vehicle 1 stopped”). Once this target speed value has been reached, the target torque value has also risen back to the value zero (out of the negative range). The processor unit 3 will carry out the autonomous driving function within the second range II in the speed specification operating mode in which the speed governor 18 is controlled by an open-loop system exclusively based on the target speed values 19 and not on the target torque values 21.

    [0090] In particular, a change-over from the torque specification operating mode (first range I) into the speed specification operating mode (second range II) takes place at a “negative” zero crossing 22 of the target torque value 21. The negative zero crossing can be detected or defined, in particular, in that a first target torque value 23 assumes the value zero at a first point in time t.sub.1 and an immediately subsequent second target torque value 24 is negative at a second point in time t.sub.2. In other words, the target torque values 21 fall or drop into the negative range at the first target torque value 23.

    [0091] In a third range III (represented on the right in FIG. 3) of the prediction horizon, the target torque values 21 are positive again, and so the processor unit 3 will carry out the autonomous driving function in the torque specification operating mode again, wherein the electric machine 8 is controlled by an open-loop system based on the target torque values 21. Optionally, a speed control can be superimposed on the torque specification operating mode in this case as well.

    [0092] A change-over from the speed specification operating mode (second range II) into the torque specification operating mode (third range III) can take place at a “positive” zero crossing 25 of the target torque value 21. This positive zero crossing can be detected or defined, in particular, due to the fact that a third target torque value 26 assumes the value zero at a third point in time t.sub.3 and an immediately subsequent fourth target torque value 27 is positive at a fourth point in time t.sub.4. In other words, the target torque values 21 rise into the positive range at the third target torque value 26.

    [0093] 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

    [0094] I first range of the prediction horizon [0095] II second range of the prediction horizon [0096] III third range of the prediction horizon [0097] t.sub.1 first point in time [0098] t.sub.2 second point in time [0099] t.sub.3 third point in time [0100] t.sub.4 fourth point in time [0101] 1 vehicle [0102] 2 system [0103] 3 processor unit [0104] 4 memory unit [0105] 5 communication interface [0106] 6 detection unit [0107] 7 drive train [0108] 8 electric machine [0109] 9 battery [0110] 10 transmission [0111] 11 computer program product [0112] 12 GPS sensor [0113] 13 MPC algorithm [0114] 14 longitudinal dynamics model [0115] 15 cost function [0116] 16 driver assistance system [0117] 17 internal combustion engine [0118] 18 speed governor [0119] 19 target speed values [0120] 20 prediction horizon [0121] 21 target torque values [0122] 22 “negative” zero crossing [0123] 23 first target torque value (zero) [0124] 24 second target torque value (negative) [0125] 25 “positive” zero crossing [0126] 26 third target torque value (zero) [0127] 27 fourth target torque value (positive)