METHOD FOR THE AUTOMATED CONTROL OF A MOTOR VEHICLE
20200333792 · 2020-10-22
Inventors
- Markus Buss (Düsseldorf, DE)
- Martin Keller (Ratingen, DE)
- Torsten Bertram (Düsseldorf, DE)
- Christian Lienke (Dortmund, DE)
- Christian Wissing (Dortmund, DE)
- Andreas Homann (Dortmund, DE)
- Manuel Schmidt (Dortmund, DE)
- Niklas Stannartz (Dortmund, DE)
Cpc classification
B60W2420/403
PERFORMING OPERATIONS; TRANSPORTING
B60W60/001
PERFORMING OPERATIONS; TRANSPORTING
G01C21/3453
PHYSICS
International classification
B60W60/00
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A method for the automated control of a motor vehicle (10) is presented. The method includes the following steps: Generating and/or receiving a reference trajectory (T*) for the motor vehicle (10); Generating at least two possible trajectories ({circumflex over (x)}.sub.i) for the motor vehicle (10); Comparing the at least two possible trajectories ({circumflex over (x)}.sub.i) with the reference trajectory (T*); and Selecting one of the at least two possible trajectories ({circumflex over (x)}.sub.i) based on the comparison of the at least two possible trajectories ({circumflex over (x)}.sub.i) with the reference trajectory (T*).
A control device (24) for a system for the control of a motor vehicle (10) is also proposed.
Claims
1. Method for the automated control of a motor vehicle (10), having the following steps: Generating and/or receiving a reference trajectory (T*) for the motor vehicle (10); Generating at least two possible trajectories ({circumflex over (x)}.sub.i) for the motor vehicle (10); Comparing the at least two possible trajectories ({circumflex over (x)}.sub.i) with the reference trajectory (T*); and Selecting one of the at least two possible trajectories ({circumflex over (x)}.sub.i) based on the comparison of the at least two possible trajectories ({circumflex over (x)}.sub.i) with the reference trajectory (T*).
2. Method according to claim 1, characterized in that the possible trajectories ({circumflex over (x)}.sub.i) are generated by means of a mathematical replacement model of the motor vehicle (10), in particular wherein the mathematical replacement model is a non-linear model and/or a single-track model.
3. Method according to claim 2, characterized in that when generating the possible trajectories ({circumflex over (x)}.sub.i) at least one input variable is taken into account in the mathematical replacement model, in particular wherein the input variable is a steering movement, in particular a steering wheel angle, an acceleration, a deceleration, a speed, and/or a yaw rate of the motor vehicle.
4. Method according to claim 3, characterized in that the at least one input variable, in particular all input variables, is/are a variable which can be detected by means of an in-vehicle sensor (22, 26), in particular an acceleration sensor, a steering angle sensor, a radar, a LIDAR, and/or a camera.
5. Method according to claim 1, characterized in that the possible trajectories ({circumflex over (x)}.sub.i) are each assigned a cost factor by means of a cost functional (J.sub.c) in order to compare the possible trajectories ({circumflex over (x)}.sub.i) with the reference trajectory (T*), in particular wherein the cost functional (J.sub.c) comprises at least a distance of a point on the respective possible trajectory ({circumflex over (x)}.sub.i) from a corresponding point on the reference trajectory (T*).
6. Method according to claim 5, characterized in that a plurality of points on the respective possible trajectory ({circumflex over (x)}.sub.i) go into the cost functional (J.sub.c), a contribution of the individual points to the cost factor being weighted by means of a first weighting function (.sub.d).
7. Method according to claim 6, characterized in that the first weighting function (.sub.d) is time-dependent, in particular a time-dependent Gaussian curve.
8. Method according to claim 7, characterized in that the possible trajectories ({circumflex over (x)}.sub.i) have at least three time segments, the weighting of the points in the middle of the time segments being greater than the weighting of the points in the other time segments, in particular the weightings of the points in the earliest of the time segments being greater than the weighting of the points in the latest of the time segments.
9. Method according to any of claims 5 to 8, characterized in that a course angle, a yaw angle and/or a float angle of the motor vehicle (10) in the course of the possible trajectories ({circumflex over (x)}.sub.i) is determined based on the mathematical replacement model and is taken into account in the cost functional, in particular taking into account a difference between the course angle and a sum of the yaw angle and the float angle.
10. Method according to claim 9, characterized in that the determined course angle, the determined yaw angle, and/or the determined float angle of the motor vehicle (10) are or is weighted by means of a second weighting function (.sub.0), in particular wherein the weighting function (.sub.0) is time-dependent.
11. Method according to claim 1, characterized in that the motor vehicle (10) is controlled at least partially, in particular completely automatically, based on the selected trajectory (x*).
12. Control device (24) for a system for controlling a motor vehicle (10) or for a motor vehicle (10), the control device (24) being designed to carry out a method according to any of the preceding claims.
13. Computer program having program code means to carry out the steps of a method according to any one of claims 1 to 11 to be executed when the computer program is executed on a computer or a corresponding computing unit, in particular a computing unit (30) of a control device (24) according to claim 12.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0033] Further advantages and properties of the invention will become apparent from the following description and the accompanying drawings, to which reference is made. In these drawings:
[0034]
[0035]
[0036]
[0037]
[0038]
DESCRIPTION
[0039]
[0040] Another road user 18 also drives on the road 12 in the current lane 14. In the example shown, the other road user 18 is a passenger car, but it could also be a truck, a motorcycle or any other road user.
[0041] In addition, a coordinate system with a longitudinal axis and a normal axis is shown in
[0042] This special coordinate system, which is also used in the following, is a road-fixed coordinate system, which consequently does not therefore move with the motor vehicle 10. Of course, any other coordinate system can also be used.
[0043] As shown in
[0044] The sensors 22 are arranged here at the front, rear and/or on the side of the motor vehicle 10 and are designed to detect the surroundings of the motor vehicle 10, to generate corresponding environment data and to forward them to the control device 24. More specifically, the sensors 22 record information at least about the current lane 14, the further lane 16 and the at least one other road user 18.
[0045] The sensors 22 are each a camera, a radar sensor, a distance sensor, a LIDAR sensor and/or any other type of sensor that is suitable for detecting the surroundings of the motor vehicle 10.
[0046] As an alternative or in addition, at least one of the sensors 22 can be designed as an interface to a control system, which is assigned to at least the segment of the road 12 shown and is designed to transmit environment data about the road 12 and/or about the other road users to the motor vehicle 10 and/or to the at least one other road user 18. In this case, the one sensor 22 can be designed as a mobile radio communication module, for example for communication in accordance with the 5G standard.
[0047] In addition, the motor vehicle 10 comprises at least one further sensor 26 which, in general terms, is designed to record movement data about the motor vehicle 10.
[0048] More specifically, the at least one further sensor 26 is designed to detect an acceleration of the motor vehicle 10, a deceleration of the motor vehicle 10, a steering movement of the motor vehicle 10, a steering wheel angle, a yaw rate of the motor vehicle 10 and/or a speed of the motor vehicle 10. The corresponding measurement data are forwarded by the at least one further sensor 26 to the control device 24.
[0049] In general terms, the control device 24 processes the environment data and/or measurement data obtained from the sensors 22 and the movement data received from the at least one further sensor and controls the motor vehicle 10 in an automated manner, in particular fully automatically, based on the processed environment data and movement data. A driver assistance system is thus implemented on the control device 24, which can control a transverse movement and/or a longitudinal movement of the motor vehicle 10 at least partially in an automated manner, in particular fully automatically.
[0050] For this purpose, the control device 24 is designed to carry out the method steps explained below with reference to
[0051] A block diagram of the computer program is shown schematically in
[0052] The sensor and control module 32 has a vehicle module 38 which is designed to process the movement data from the at least one further sensor 26 of the motor vehicle 10.
[0053] In addition, the vehicle module 38 is designed to control the motor vehicle 10 at least partially in an automated manner, in particular fully automatically. The vehicle module 38 is thus designed to generate control commands and/or control variables for actuators and/or further control devices of the motor vehicle 10 and to send them to the actuators and/or the control devices which are necessary for at least partially automated control of the motor vehicle.
[0054] In particular, the vehicle module 38 sends the control commands and/or manipulated variables to a steering control device that regulates a steering angle of the motor vehicle 10, to an engine control device that regulates an acceleration and a speed of the motor vehicle 10, and to a brake control device that regulates a deceleration of the motor vehicle 10.
[0055] The sensor and control module 32 also has an environment data module 40, which is designed to process the environmental data from the sensors 22 and to transmit them to the driving maneuver planning module 34.
[0056] The driving maneuver planning module 34 has a first sub-module 42 and a second sub-module 44.
[0057] The first sub-module 42 receives the processed movement data and the processed environment data from the vehicle module 38 or from the environment data module 40 and generates a plurality of possible driving maneuvers for the motor vehicle 10 based on the processed movement data and/or the processed environment data.
[0058] More specifically, the first sub-module 42 generates a set of possible driving maneuvers for the motor vehicle 10 and forwards this set of possible driving maneuvers to the second sub-module 44.
[0059] A driving maneuver is to be understood here and in the following also always as a corresponding space-time trajectory, which describes the driving maneuver in a coordinate system with generally two space dimensions and one time dimension.
[0060] The first sub-module 42 generates the possible driving maneuvers based on a mathematical model of the motor vehicle 10. In particular, this is a simplified model of the motor vehicle 10 with a reduced number of degrees of freedom, so that less computing power and/or fewer other resources are required to generate the possible driving maneuvers.
[0061] For example, to generate the set of possible driving maneuvers, the motor vehicle is approximated as a point mass, which is subject to predefined kinematic and/or dynamic restrictions.
[0062] The second sub-module 44 selects a target driving maneuver from the set of possible driving maneuvers, generates a corresponding reference trajectory T* and forwards the reference trajectory T* to the control module 36.
[0063] In general terms, the reference trajectory T* is a space-time curve that the motor vehicle 10 must follow in order to carry out the target driving maneuver.
[0064] The target driving maneuver can be selected based on predefined criteria. For example, a cost factor is assigned to the respective driving maneuvers via a cost functional, the target driving maneuver then being the one that extremizes, in particular minimizes, the cost functional.
[0065] Alternatively or additionally, the target driving maneuver is selected by means of an appropriately trained machine learning module, in particular wherein the machine learning module comprises an artificial neural network.
[0066] Accordingly, the target driving maneuver is a driving maneuver that is optimized compared to similar possible driving maneuvers, in particular an optimal driving maneuver that is optimized compared to all other possible driving maneuvers.
[0067] The reference trajectory T* is thus forwarded to the control module 36, the reference trajectory T* corresponding to the target driving maneuver that is to be carried out by the motor vehicle 10.
[0068] In general terms, the control module 36 is designed to determine suitable actuating variables for the actuators and/or further control devices of the motor vehicle 10, so that the motor vehicle 10 is controlled along the reference trajectory T*. The manipulated variables are, for example, a steering angle and an acceleration of the motor vehicle 10, the expression acceleration here comprising both a positive acceleration and a deceleration.
[0069] For this purpose, the control module 36 has a prediction module 46, a comparison module 48 and a selection module 50.
[0070] The prediction model 46 first generates a plurality of different, possible trajectories {circumflex over (x)} for the motor vehicle 10. This plurality of possible trajectories is generated based on a mathematical replacement model of the motor vehicle 10.
[0071] In general, the mathematical replacement model is of a higher order here than the mathematical replacement model that is used by the driving maneuver planning module 34, since it is important to determine the appropriate manipulated variables for the actuators of the motor vehicle 10 so that the mathematical replacement model can predict the actual behavior of the motor vehicle 10.
[0072] An example of such a mathematical replacement model is shown in
[0073] It should be pointed out that in
[0074] In the mathematical replacement model, a float angle of motor vehicle 10, slip angle .sub.f and .sub.r of front wheels or rear wheels of motor vehicle 10, a yaw angle of motor vehicle 10 and a steering angle of front wheels of motor vehicle 10 are taken into account. Furthermore, the mathematical replacement model includes, as further variables, the speed v of the motor vehicle, the forces F acting on the motor vehicle 10 and the longitudinal distances I.sub.r and I.sub.f of the front wheels of the motor vehicle 10 and the rear wheels of the motor vehicle 10 from the center of gravity S of the motor vehicle 10.
[0075] One or more of the above-mentioned variables can be recorded by the at least one further sensor 26 and transmitted to the prediction module 46 via the vehicle module 38. In particular, the float angle, the slip angle, the yaw angle, the steering angle, the current acceleration, and/or the current speed of the motor vehicle are recorded by the at least one further sensor 26.
[0076] The following equations result from the approach of a force equilibrium and a moment equilibrium:
[0077] In addition, for the position and orientation of motor vehicle 10, the following results:
{dot over (x)}=cos(+)v
{dot over (y)}=sin(+)v.
[0078] Using this mathematical replacement model, the trajectory of the motor vehicle 10 can be calculated in advance for known manipulated variables for the actuators of the motor vehicle 10. The manipulated variables for the actuators and/or further control devices of motor vehicle 10 thus represent input variables for the mathematical replacement model.
[0079] In summary, the control module 36 is supplied with a plurality of different sets of input variables u.sub.i, and the prediction module 46 of the control module 36 determines a corresponding trajectory {circumflex over (x)}.sub.i each based on the mathematical replacement model described above.
[0080] In this case, constant input variables u.sub.i are used at least over a predefined period of time. In particular, each of the trajectories {circumflex over (x)}.sub.i corresponds to a set of manipulated variables for the actuators and/or further control devices of the motor vehicle 10 with a specific steering angle, a specific acceleration and/or a specific deceleration of the motor vehicle 10.
[0081] The possible trajectories {circumflex over (x)}.sub.i thus determined for the motor vehicle 10 are then forwarded to the comparison module 48.
[0082] In general terms, the comparison module 48 compares the determined possible trajectories {circumflex over (x)}.sub.i with the reference trajectory T*.
[0083] For this purpose, the comparison module 48 assigns a cost factor to each of the possible trajectories {circumflex over (x)}.sub.i via a cost functional J.sub.c(), the cost factor being lower the more similar the respective trajectory {circumflex over (x)}.sub.i is to the reference trajectory T*.
[0084] The cost functional J.sub.c() comprises a distance term d() that defines the Euclidean distance of at least one point (x.sub.P(),y.sub.P()) on the possible trajectory {circumflex over (x)}.sub.i of at least one corresponding simultaneous point in time (x.sub.T(),y.sub.T()) on the reference trajectory T*. The distance term is calculated
d()={square root over ((x.sub.T()x.sub.p()).sup.2+(y.sub.T()y.sub.p()).sup.2)}.
[0085] The cost functional J.sub.c() also includes an orientation term o(), which takes into account the difference between the course angle .sub.T() and the sum of the yaw angle .sub.P() and the float angle .sub.P(). The orientation term is calculated
o()=|.sub.T()(.sub.P()+.sub.P)|.
[0086] The distance term d() and the orientation term o() are weighted with a first weighting function .sub.d() and a second weighting function .sub.o(), respectively, the first and the second weighting functions being time-dependent.
[0087] The cost functional is therefore given by the following expression:
J.sub.C()=.sub.o()o()+.sub.d()d()
[0088] The choice of the weighting functions .sub.o(), .sub.d() accordingly depends on which points on the possible trajectories are stronger when determining the cost factor and which points are weighted less.
[0089] Basically, the first weighting function and the second weighting function are arbitrary functions of time . The first and/or the second weighting function are preferably a Gaussian curve, i.e. defined as
[0090] A corresponding example for the different weighting of individual points on the possible trajectories is shown in
[0091]
[0092]
[0093] Finally, the plurality of possible trajectories {circumflex over (x)}.sub.i are transferred to the selection module 50 together with the respective cost factor.
[0094] Based on the cost factor, the selection module 50 then selects that trajectory x* of the plurality of possible trajectories {circumflex over (x)}.sub.i, preferably that trajectory {circumflex over (x)}.sub.i whose cost factor is the lowest, at least in comparison with the other possible trajectories {circumflex over (x)}.sub.i.
[0095] In addition, the selection module 50 determines the set of manipulated variables u* belonging to this selected trajectory and transmits this to the vehicle module 38.
[0096] The vehicle module 38 then controls the motor vehicle 10 in an at least partially automated manner, in particular fully automatically, based on the set of manipulated variables u* belonging to the selected trajectory. More precisely, the vehicle module 38 transmits the manipulated variables u* to the actuators and/or the further control devices of the motor vehicle 10, which then control the motor vehicle 10 accordingly.
[0097] The method described above can be repeated multiple times. In particular, the set of manipulated variables u* is only ever determined for a predefined period, after which the method is repeated.
[0098] This is indicated in