Autonomous Drive Function Which Takes Driver Interventions into Consideration for a Motor Vehicle
20230049927 · 2023-02-16
Inventors
Cpc classification
B60W2050/0008
PERFORMING OPERATIONS; TRANSPORTING
B60W10/08
PERFORMING OPERATIONS; TRANSPORTING
B60W20/11
PERFORMING OPERATIONS; TRANSPORTING
B60W50/085
PERFORMING OPERATIONS; TRANSPORTING
B60W20/12
PERFORMING OPERATIONS; TRANSPORTING
B60W60/0023
PERFORMING OPERATIONS; TRANSPORTING
B60W2552/20
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0012
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0073
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0025
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0031
PERFORMING OPERATIONS; TRANSPORTING
B60W50/10
PERFORMING OPERATIONS; TRANSPORTING
B60W2050/0022
PERFORMING OPERATIONS; TRANSPORTING
B60W2540/215
PERFORMING OPERATIONS; TRANSPORTING
B60W60/0021
PERFORMING OPERATIONS; TRANSPORTING
B60W2555/60
PERFORMING OPERATIONS; TRANSPORTING
B60W50/0097
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60W60/00
PERFORMING OPERATIONS; TRANSPORTING
B60W50/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A processor unit (3) is configured to execute an autonomous driving function of the motor vehicle (1) during a first instance such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function. The processor unit (3) is further configured to store a driver intervention, the driver intervention being performed by a driver of the motor vehicle (1) during the first instance while the motor vehicle (1) travels autonomously based on the execution of the autonomous driving function. Additionally, the processor unit (3) is configured to execute the autonomous driving function during a second instance, subsequent to the first instance, based at least in part on the stored driver intervention such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function according to the stored driver intervention.
Claims
1-13. canceled
14. A processor unit (3) for executing an autonomous driving function for a motor vehicle (1) with regard to a driver intervention, wherein the processor unit (3) is configured to: execute an autonomous driving function of the motor vehicle (1) during a first instance such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function; store a driver intervention, the driver intervention being performed by a driver of the motor vehicle (1) during the first instance while the motor vehicle (1) travels autonomously based on the execution of the autonomous driving function; and execute the autonomous driving function during a second instance, subsequent to the first instance, based at least in part on the stored driver intervention such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function according to the stored driver intervention.
15. The processor unit (3) of claim 14, wherein: the autonomous driving function is a model predictive control (MPC) algorithm (13) for model predictive control of the motor vehicle (1), the MPC algorithm (13) including a longitudinal dynamics model (14) of the motor vehicle (1) and a cost function (15) to be minimized, the processor unit (3) is configured to execute the autonomous driving function of the motor vehicle (1) during the first instance by executing the MPC algorithm (13) such that the motor vehicle (1) travels autonomously based on the execution of the MPC algorithm (13), and the processor unit (3) is configured to execute the autonomous driving function of the motor vehicle (1) during the second instance by executing the MPC algorithm (13) based at least in part on the stored driver intervention such that the cost function is minimized and an input variable for the model predictive control of the motor vehicle (1) is determined.
16. The processor unit (3) of claim 15, wherein: the processor unit (3) is configured for controlling, by closed-loop control, an electric machine (8) of a drive train (7) of the motor vehicle (1) by the input variable such that the motor vehicle (1) is driven autonomously by the electric machine (8), the longitudinal dynamics model (14) of the motor vehicle (1) being a longitudinal dynamics model (14) of the drive train (7).
17. The processor unit (3) of claim 16, wherein: the cost function (15) includes a first term, the first term being an electrical energy weighted with a first weighting factor, the electrical energy being provided within a prediction horizon by a battery (9) of the drive train (7) for driving the electric machine (8), the electrical energy being predicted according to the longitudinal dynamics model (14), the cost function (15) includes a second term, the second term being a driving time weighted with a second weighting factor, the driving time being driving time the motor vehicle (1) needs to drive an entire distance predicted within the prediction horizon, the driving time being predicted according to the longitudinal dynamics model (14), and the processor unit (3) is configured to execute the autonomous driving function of a motor vehicle (1) during the second instance by executing the MPC algorithm (13) based at least in part on the stored driver intervention, the first term, and the second term.
18. The processor unit (3) of claim 15, wherein the processor unit (3) is configured to store the driver intervention by modifying a constraint or a weighting factor of the cost function.
19. The processor unit (3) of claim 14, wherein the processor unit (3) is configured to store the driver intervention in response to the driver confirming the driver intervention.
20. The processor unit (3) of claim 14, wherein the processor unit (3) is configured to store the driver intervention as a location-based data set.
21. The processor unit (3) of claim 14, wherein the processor unit (3) is configured to store the driver intervention as a time-based data set.
22. The processor unit (3) of claim 14, wherein the processor unit (3) is configured to store the driver intervention as a load-based data set.
23. The processor unit (3) of claim 14, wherein the processor unit (3) is configured to store the driver intervention as a vehicle occupant-based data set.
24. A motor vehicle (3) including a driver assistance system (16) and a drive train (7) with an electric machine (8), wherein the driver assistance system (16) is configured to: access, by a communication interface, the input variable determined by the processor unit (3) of claim 15; and control, by an open-loop system, the electric machine (8) based on the input variable.
25. A method for carrying out an autonomous driving function for a motor vehicle (1) with regard to a driver intervention, the method comprising: executing an autonomous driving function of the motor vehicle (1) during a first instance such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function; storing a driver intervention, the driver intervention being performed by a driver of the motor vehicle (1) during the first instance while the motor vehicle (1) travels autonomously based on the execution of the autonomous driving function; and executing the autonomous driving function of the motor vehicle (1) during a second instance, subsequent to the first instance, based at least in part on the stored driver intervention such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function according to the stored driver intervention.
26. A computer program product (11) for carrying out an autonomous driving function for a motor vehicle (1) with regard to a driver intervention, wherein the computer program product (11), when run on a processor unit (3) of a motor vehicle (1), instructs the processor unit (3) to: execute an autonomous driving function of the motor vehicle (1) during a first instance such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function; store a driver intervention, the driver intervention being performed by a driver of the motor vehicle (1) during the first instance while the motor vehicle (1) travels autonomously based on the execution of the autonomous driving function; and execute the autonomous driving function during a second instance, subsequent to the first instance, based at least in part on the stored driver intervention such that the motor vehicle (1) travels autonomously based at least in part on the execution of the autonomous driving function according to the stored driver intervention.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0047] 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:
[0048]
[0049]
DETAILED DESCRIPTION
[0050] 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.
[0051]
[0052] A computer program product 11 is stored on the memory unit 4. The computer program product 11 is 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, it instructs the processor unit 3 to perform the functions described in the following and/or to carry out or “execute” method steps.
[0053] The computer program product 11 includes an MPC algorithm 13 for executing the autonomous driving function. 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. An optimal rotational speed and an optimal torque of the electric machine 8 for calculated waypoints in the anticipation horizon result as the output of the optimization by the MPC algorithm 13. For this purpose, the processor unit 3 ascertains an input variable for the electric machine 8, enabling the optimal rotational speed and the optimal torque to be reached. The processor unit 3 controls the electric machine 8 based on the ascertained input variable. In addition, this is also executable by a driver assistance system 16, however. In this way, the motor vehicle 1 travels autonomously based on the output of the executed MPC algorithm 13.
[0054] The detection unit 6 measures current state variables of the motor vehicle 1, records appropriate data, and supplies these to the MPC algorithm 13. In this way, route data from an electronic map is updated, in particular cyclically, for an anticipation horizon or prediction horizon (for example, 400 m) ahead of the motor vehicle 1. The route data includes, for example, uphill grade information, curve information, and information about speed limits. Moreover, a curve curvature is 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 is carried out by means of the detection unit 6, in particular via a GNSS signal generated by a GNSS sensor 12 for the precise localization on the electronic map. In addition, the detection unit includes sensors for determining the load weight of the motor vehicle, for detecting the number of vehicle occupants, and a time-measuring and detection module. The processor unit 3 accesses information and/or data generated by the aforementioned sensors, for example, via the communication interface 5.
[0055] The longitudinal dynamics model 14 of the motor vehicle 1 is expressed mathematically as follows:
[0056] Wherein: [0057] v is the speed of the motor vehicle; [0058] F.sub.trac is the tractive force that is exerted by the prime mover or the brakes upon the wheels of the motor vehicle; [0059] 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; [0060] F.sub.gris 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; [0061] F.sub.d is the drag force of the motor vehicle; and [0062] 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).
[0063] By converting time dependence into distance dependence
and coordinate transformation in order to eliminate the quadratic speed term in the aerodynamic drag with e.sub.kin=*½m.sub.eq*v(t).sup.2, the result is:
[0064] 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.
[0065] 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 is 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 is 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
Energy.sub.perMeter≥a.sub.i*e.sub.kin+b.sub.i*F.sub.trac for all i.
[0066] An exemplary cost function 15 to be minimized is expressed mathematically as follows:
[0067] 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 period; [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; and [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 is solved well (e.g., accurately) 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, the electrical energy E.sub.Bat being provided within a prediction horizon by the battery 9 of the drive train 7 for driving the electric machine 8 and predicted according to the longitudinal dynamics model.
[0082] The cost function 15 includes, as a second term, a driving time T weighted with a second weighting factor W.sub.Time, the driving time T being the driving time the motor vehicle 1 needs in order to cover the predicted distance and predicted according to the longitudinal dynamics model 14. 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 are both 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
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 is 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.
[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 is 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 is 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 happens, in the case of very hard limits, that a valid solution for a speed profile is no longer 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, i.e., poorer solutions, the speed trajectory of which maintains a certain distance to the hard limit.
[0087] The closed-loop control of the electric machine 8 of the motor vehicle 1 by the MPC algorithm 1 is suited for levels of automation below level 5 (for example, according to SAE J3016), in particular up to level 3, wherein a driver of the motor vehicle 1 still has the opportunity to influence the driving operation and/or intervene into the above-described MPC-based autonomous driving function of the motor vehicle 1. An influence of the driving operation of this type represents a “driver intervention.” The driver intervention takes place, for example, via acceleration or deceleration in the form of a “match” of the autonomous driving function. The driver may have intervened into the automated driving function multiple times on routes that he/she has already traveled multiple times. For example, the driver slows down or decelerates the motor vehicle 1, for example, due to an unclear spot or due to a new speed limit. An acceleration of the motor vehicle 1 is also carried out by the driver, for example, due to an increased speed limit or due to a personal preference.
[0088] The processor unit 3 is configured for allowing the MPC algorithm 13 to learn the interventions of the driver and to take these into account in subsequent driving operations. In particular, an adaptation of the optimization is enabled such that the MPC-based autonomous driving function of the motor vehicle 1 is moved closer to human behavior.
[0089] Thus, the driver interventions are stored, for example, on the memory unit 4 and taken into account in subsequent executions of the MPC algorithm 13 by modifying the marginal conditions and/or constraints (cornering speed, speed limits, . . . ) or the weighting factors of the cost function (time, energy, comfort, . . . ). The driver him/herself is in control of deciding which driver interventions are to be stored and utilized for the future optimization and which driver interventions are not to be stored. In order to enable this, the processor unit 3 stores the driver intervention only for the case in which the driver intervention has been confirmed by the driver, for example, by a confirmation device configured therefor, which is actuatable by the driver. As a result, it is ensured that exclusively intentional driver interventions are utilized for the optimization. Therefore, this embodiment enables an adaptation of the driving strategy to driver input. In particular, a storage of a typical speed takes place at spots at which travel has repeatedly taken place faster than was optimized, once the driver has confirmed this.
[0090] In one example, a route section, a time of day, a load weight, and a number of passengers of the motor vehicle 1 are ascertained by appropriate sensors of the detection unit 6 while the driver intervenes into the MPC-based autonomous driving function of the motor vehicle 1.
[0091] For example, the motor vehicle travels autonomously at a first speed. The first speed is based on the MPC, but it does not yet take into account the route section, the time of day, the load weight, and the number of passengers of the motor vehicle 1. For example, the first speed is 70 km/h. The motor vehicle travels autonomously at the first speed on a section of a road (route section) based on the MPC.
[0092] Based on the knowledge of the route section, the time of day, the load weight, and the number of passengers of the motor vehicle 1, for example, the first speed may appear to the driver to be too high. In order to change this, the driver decelerates (driver intervention) the motor vehicle to a second speed, which is lower than the first speed, for example, to 60 km/h. This second speed corresponds to the speed preference of the driver of the motor vehicle 1 on the present route section at the present time of day, with the present load weight, and with the present number of passengers of the motor vehicle 1. The speed preference or the reduction of the speed from the first speed to the second speed is stored as a driver intervention in a preference data set. The preference data set includes, for example, first data, which represent the route section, the time of day, the load weight, and the number of passengers, and second data, which represents the above-described second speed (speed preference).
[0093] When the processor unit 3 carries out the MPC algorithm 13 in the future in order to control, by a closed-loop system, an autonomous driving operation of the motor vehicle 1, the preference data set is supplied to the MPC algorithm 13 as input. The preference data set is therefore taken into account as a stored driver intervention in order to determine an input variable for the closed-loop control of the autonomous driving of the motor vehicle 1, in particular an input variable for the electric machine 8 of the motor vehicle 1, such that the cost function is minimized. The next time the motor vehicle 1 travels autonomously under identical or similar conditions (time of day, load weight, number of passengers) on the above-described section of the road, the speed preference of the driver on this road section is taken into account in the MPC. In this way, the MPC, has “learned” the speed preference of the driver on the described route section.
[0094] 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
[0095] 1 vehicle
[0096] 2 system
[0097] 3 processor unit
[0098] 4 memory unit
[0099] 5 communication interface
[0100] 6 detection unit
[0101] 7 drive train
[0102] 8 electric machine
[0103] 9 battery
[0104] 10 transmission
[0105] 11 computer program product
[0106] 12 GNSS sensor
[0107] 13 MPC algorithm
[0108] 14 longitudinal dynamics model
[0109] 15 cost function
[0110] 16 driver assistance system
[0111] 17 first delimiting line
[0112] 18 second delimiting line
[0113] 19 first graph
[0114] 20 second graph
[0115] 21 internal combustion engine