Method and control device for controlling a motor vehicle
11590987 · 2023-02-28
Assignee
Inventors
- Till Nattermann (Krefeld, DE)
- Christian Wissing (Wesel, DE)
- Manuel Schmidt (Dortmund, DE)
- Andreas Homann (Dortmund, DE)
- Christian Lienke (Gelsenkirchen, DE)
- Niklas Stannartz (Dortmund, DE)
- Torsten Bertram (Düsseldorf, DE)
Cpc classification
G01C21/3453
PHYSICS
B60W60/001
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A method for controlling in an automated manner a motor vehicle (10) traveling on a road (12) in a current lane (14) is suggested, wherein the road (12) has at least one further lane (16). The method comprises the following steps: At least two preliminary driving maneuvers are generated and/or received, which include a lane change from the current lane (14) to the at least one further lane (16) and a starting time of the lane change. The starting times of the at least two preliminary driving maneuvers are at different times. The at least two driving maneuvers are compared taking into account the respective starting times. One of the starting times is selected based on the comparison. Further, a control device for a system for controlling a motor vehicle is also suggested.
Claims
1. A method for controlling in an automated manner a motor vehicle (10) traveling on a road (12) in a current lane (14), the road (12) having at least one further lane (16) comprising the following steps: generating and/or receiving at least two preliminary driving maneuvers which comprise a lane change from the current lane (14) to the at least one further lane (16) and a respective starting time associated with each lane change, wherein the respective starting times are at different times; determining a cost function which assigns a cost factor to each of the at least two preliminary driving maneuvers at least on the basis of the respective starting times, wherein the cost function is explicitly dependent on the starting time of the lane change; extremizing the cost function in order to optimize the at least two preliminary driving maneuvers into respective target driving maneuvers; comparing the at least two target driving maneuvers taking into account the respective starting times; selecting one of the starting times based on the comparison; and automatically controlling the vehicle (10) to follow the target driving maneuver of the at least two target driving maneuvers that begins at the selected respective starting time.
2. The method according to claim 1, wherein the cost factors associated with the at least two target driving maneuvers are compared with one another in order to compare the at least two target driving maneuvers.
3. The method according to claim 1, wherein the cost function is quadratically dependent on a speed of the motor vehicle in a longitudinal direction (L) of the road (12).
4. The method according to claim 1, wherein the at least two preliminary driving maneuvers are optimized under at least one secondary condition.
5. The method according to claim 4, wherein the at least one secondary condition is time-variant and/or dependent on the starting time.
6. The method according to claim 1, wherein at least one of the current lane (14) and the at least one further lane (16) is transformed into a Frenet-Serret coordinate system.
7. A control device (30) for a system (26) of the motor vehicle (10) designed to carry out the method of claim 1.
8. A computer program for performing the method of claim 1 on a computing unit (34) of a control device (30) of the motor vehicle (10).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further advantages and characteristics of the invention will become apparent from the following description and the accompanying drawings, to which reference is made. In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
DESCRIPTION
(8)
(9) In addition, a first further road user 18 and a second further road user 20 drive on the road 12 in the current lane 14 or in the further lane 16. In the example shown, the other road users 18, 20 are passenger cars, but could also be trucks, motorcycles, or any other road users.
(10) Between the current lane 14 and the further lane 16 there is a lane change zone 21, which partially overlaps with the current lane 14 and the further lane 16.
(11) The dashed lines 22 and 24 indicate that the first further road user 18 plans in the near future to change from the current lane 14 via the lane change zone 21 to the further lane 16 or that the second further road user 20 plans in the near future to change from the further lane 16 via the lane change zone into the current lane 14 of the motor vehicle 10. This is indicated by the other road users 18, 20, for example, by using the corresponding direction indicator.
(12) In addition, a coordinate system with a longitudinal axis and a normal axis is shown in
(13) 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.
(14) As shown in
(15) The sensors 28 are arranged 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 30. More specifically, the sensors 28 detect information at least about the current lane 14, the further lane 16, and the other road users 18, 20.
(16) The sensors 28 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.
(17) As an alternative or in addition, at least one of the sensors 28 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 other road users 18, 20. In this case, the one sensor 28 can be designed as a mobile radio communication module, for example for communication in accordance with the 5G standard.
(18) In general terms, the control device 30 processes the environment data received from the sensors 28 and controls the motor vehicle 10 in a partially automated manner and in particular in a fully automated manner, based on the processed environment data. A driver assistance system is thus implemented on the control device 30, 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.
(19) For this purpose, the control device 30 is designed to carry out the method steps explained below with reference to
(20) First, the road 12, more precisely an image of the current lane 14 and the further lane 16 based on the environment data obtained from the sensors 28, is transformed into a Frenet-Serret coordinate system (step S1).
(21) Step S1 is illustrated in
(22) Next, free areas B.sub.f and occupied areas B.sub.b are determined in the current lane 14 and in the further lane 16 (step S2), the free areas B.sub.f and the occupied areas B.sub.b each being spatio-temporal areas.
(23) The free areas B.sub.f are those spatio-temporal areas that are free from the other road users 18, 20 and other obstacles that prevent driving in the respective lane 14, 16.
(24) The occupied areas B.sub.b, on the other hand, are those spatio-temporal areas that are occupied by the other road users 18, 20 and/or by other obstacles, so that the occupied areas B.sub.b cannot be used by the motor vehicle 10.
(25) In order to determine the occupied areas, the control device 30 requires predicted trajectories 22, 24 of the other road users 18, 20. The control device 30 can determine the trajectories 22, 24 itself, for example based on the environment data obtained from the sensors 28, such as the information that a direction indicator of another road user 18, 20 is activated, or based on data exchanged via inter-vehicle communication. Alternatively, the control device 30 can receive the trajectories 22, 24 directly from the other road users 18, 20 or from the control system.
(26) As shown in
(27) In this example, the first further road user 18 starts a lane change maneuver from the current lane 14 to the further lane 16 at the time t=1s, which maneuver is completed at the time t=5s. In the graphs shown in
(28) The second further road user 20 starts a lane change maneuver from the further lane 16 to the current lane 14 at the time t=3s, which maneuver is completed at the time t=7s. In the graphs shown in
(29) The gradient of the occupied areas B.sub.b corresponds to the speed of the corresponding other road user 18 or 20. In the example shown in
(30) For simplification, the coordinate in the transverse direction N is discretized, so it can only assume the three different values that correspond to the current lane 14, the further lane 16, or the lane change zone 21. The three graphs shown in
(31) The hatched segments in the graphs each correspond to the occupied areas B.sub.b of the respective lane 14, 16. By contrast, the unshaded segments in the graphs correspond to the free areas B.sub.f of the respective lane 14, 16.
(32) To determine the free areas B.sub.f, a space-time polygon P.sub.14 or P.sub.16 is first determined for each lane 14, 16, which corresponds to the entire lane 14 or 16 in front of the motor vehicle 10, in particular the part of the lanes 14, 16, which is within reach of the sensors 28. In
(33) Furthermore, space-time polygons P.sub.14,b or P.sub.16,b which surround the occupied areas B.sub.b of the respective lane 14, 16 are determined respectively for the two lanes 14, 16.
(34) The free areas B.sub.f in the current lane 14, or rather a polygon P.sub.14,f, which corresponds to the free areas B.sub.f, is then determined by polygon clipping by removing the polygons P.sub.14,b from the polygon P.sub.14. In other words, concerned here is the operation
P.sub.14,f=P.sub.14\P.sub.14,b.
(35) Analogously, the free areas B.sub.f in the further lane 16 are determined by polygon clipping by removing the polygons P.sub.16,b from the polygon P.sub.16. The operation P.sub.16,f=P.sub.16\P.sub.16,b is thus carried out.
(36) Next, as illustrated in
(37) Therefore, the free sub-areas of the lane change zone 21, or rather a polygon P.sub.21,f, which corresponds to the free sub-areas of the lane change zone 21, are determined as the intersection of the two polygons P.sub.14,f and P.sub.16,f. If the lane change zone 21 is not passable due to an obstacle or otherwise, a corresponding space-time polygon P.sub.h, which encloses the non-passable sub-area of the lane change zone 21, is determined and removed from the intersection mentioned above.
(38) In other words, the free sub-areas P.sub.21,f of the lane change zone 21 thus result from the operation
P.sub.21,f=(P.sub.14,f∩P.sub.16,f)\P.sub.h.
(39) Now the graphs for the current lane 14 and for the further lane 16 are each divided into time strips (step S4), wherein a new time strip begins with each event. In
(40) If an occupancy of any sub-area of the current lane 14 or the further lane 16 begins or ends at a specific point in time, a new time strip begins in the graph for the current lane 14 or for the further lane 16 at this point in time.
(41) The dividing lines E between the individual time strips in the graphs for both lanes 14, 16 are also transferred to the graph for the lane change zone 21.
(42) In order to achieve a consistent division of the graphs between the three graphs for the current lane 14, for the further lane 16, and the lane change zone 21, oblique dividing lines T are inserted into the graphs for the current lane 14 and the further lane 16, which each represent an extension of one of the occupied areas B.sub.b. These additional oblique dividing lines T are shown in
(43) The vertical dividing lines E, the oblique dividing lines T, and the occupied areas B.sub.b divide each of the three graphs into a plurality of sub-areas T.sub.i, wherein i is a natural number greater than zero, which can take on values from 1 to a total number of sub-areas T.sub.i.
(44) At least one of the oblique dividing lines and/or at least one of the vertical dividing lines can also be omitted or removed again in order to simplify the following steps of the method. In particular, all oblique dividing lines can be omitted.
(45) As shown in
(46) In
(47) Next, the lane vertices V.sub.i of the current lane 14 are connected in pairs by edges (step S6), more precisely by directional edges, if a driving maneuver of the motor vehicle 10 is possible between the sub-areas T.sub.i to which the lane vertices V.sub.i are assigned.
(48) A driving maneuver is defined as “possible” if and only if the two sub-areas T.sub.i directly adjoin one another, that is, if they are not separated from one another by an occupied area B.sub.b. In addition, a driving maneuver is of course only possible in the positive direction of time.
(49) The same procedure is repeated for the lane vertices V.sub.i of the further lane 16 and for the lane change zone vertices W.sub.i of the lane change zone 21.
(50) It should be noted that the letters “T,” “V” and “W” have been omitted from
(51) The result of step S6 is shown in
(52) Next, those lane vertices V.sub.i of the current lane 14 are connected to those lane change zone vertices W.sub.i via directional edges whose assigned sub-areas T.sub.i of the current lane 14 or lane change zone 21 overlap one another (step S7). In other words, those lane vertices V.sub.i are connected to those lane change zone vertices W.sub.i whose assigned sub-areas T.sub.i have an intersection that is not empty if the two graphs for the current lane 14 and for the lane change zone 21 are superimposed.
(53) In addition, those lane change zone vertices W.sub.i are connected to those lane vertices V.sub.i of the further lane 16 via directional edges whose associated sub-areas T.sub.i of the lane change zone 21 or the further lane 16 overlap one another. Thus, those lane vertices V.sub.i are connected to those lane change zone vertices W.sub.i whose assigned sub-areas T.sub.i have an intersection that is not empty if the two graphs for the further lane 16 and for the lane change zone 21 are superimposed.
(54) In other words, in step S7, the individual sub-areas T.sub.i of the free areas B.sub.f are divided into lane change areas in which a lane change between the two lanes 14, 16 is possible, and lane keeping areas in which a lane change between the two lanes 14, 16 is not possible.
(55) The result of step S7 is shown in
(56) The steps S1 to S7 described above represent an option of determining many different possible driving maneuvers for the motor vehicle 10, in particular all possible driving maneuvers.
(57) It should be pointed out, however, that any other suitable method can also be used to determine the possible driving maneuvers.
(58) The various possible driving maneuvers determined in this way are then processed further by an optimization module 36 of the control device 30 or by an optimization module of the computer program.
(59) In general terms, the optimization module is designed to provide an optimal starting time T.sub.LC,opt to determine the lane change of the motor vehicle 10.
(60) First of all, a preliminary driving maneuver is generated for each of several possible starting times (step S8).
(61) For the generation of the several preliminary driving maneuvers it is sufficient if a single space-time trajectory is generated for each of the possible starting times, for example by adding a single point from the individual space-time areas to which a lane vertex V.sub.i or a lane change zone vertex W.sub.i is assigned, selected, and then connected to each other. The resulting trajectory should, however, be smooth, i.e., not have any kinks or the like. For example, the individual points are connected to one another via spline functions in order to obtain the space-time trajectories.
(62) In the event that there are several different options for the preliminary driving maneuver at a specific starting point in time, it can be provided that the preliminary driving maneuver is selected whose associated trajectory is the shortest.
(63) The generated preliminary driving maneuvers are therefore each linked to a specific starting time for the lane change of the motor vehicle. In the case of the preliminary driving maneuvers, a corresponding space-time trajectory of the motor vehicle is not yet finally fixed on a certain line, but rather is only limited to certain spatio-temporal areas.
(64) The preliminary driving maneuvers are now each optimized so that a target driving maneuver is obtained from each of the preliminary driving maneuvers (step S9).
(65) To optimize the preliminary driving maneuvers a cost function F is determined that assigns a cost factor K=F(x) to the space-time trajectory
(66)
that describes the respective driving maneuver with a starting time T.sub.LC,i for the change of the motor vehicle 10.
(67) For example, the cost function can take the following form:
γ.sub.1({dot over (L)}E(T.sub.LC,pre)).sup.2−2γ.sub.1{dot over (L)}.sub.E(T.sub.LC,pre){dot over (L)}.sub.des+γ.sub.2({umlaut over (L)}.sub.E(0s)).sup.2
L.sub.E is the (longitudinal) trajectory of the motor vehicle 10, L.sub.des is a desired end speed of the motor vehicle 10 and T.sub.LC,pre is the corresponding preliminary starting time for the lane change. The coefficients γ.sub.t represent weighting factors for the individual terms of the cost function.
(68) In this example, the cost function depends explicitly on the speed of the motor vehicle 10, on the acceleration of the motor vehicle 10 and on the desired final speed of the motor vehicle 10. The dependency on the starting time, however, is only implicit.
(69) The cost function may have the following further form:
(70)
Here, the cost function also depends on the third time derivative of the (longitudinal) trajectory of the motor vehicle, i.e., on the jolt L.sub.E.sup.(3).
(71) In addition, the cost function explicitly (i.e., directly) depends on the starting time of the lane change by the term γ.sub.3 T.sub.LC,pre. It can thereby be taken into account that the motor vehicle 10 may want to change lanes as soon as possible, for example in order to avoid having to undertake braking maneuvers itself.
(72) In order to optimize the respective preliminary driving maneuver, the cost function is extremized, more precisely minimized. The driving maneuver whose space-time trajectory leads to a local minimum of the cost function is therefore determined for each of the several starting times. The optimized driving maneuver, that is to say the respective target driving maneuver, is therefore assigned a locally minimal cost factor, in particular a globally minimal cost factor.
(73) The motor vehicle 10 is subject to various intrinsic restrictions. For example, the motor vehicle 10 has a maximum acceleration and a maximum deceleration which it cannot exceed in each case. In addition, the motor vehicle 10 is subject to various external restrictions. For example, it may not be in the same place as an obstacle, which would amount to a crash. There is also a speed limit on most roads.
(74) In order to take the intrinsic and external constraints into account, secondary conditions are determined based on the constraints, under which the cost function is then minimized. In this way, a target driving maneuver is obtained, the target driving maneuver representing the optimal driving maneuver from the respective driving maneuver class under the given secondary conditions.
(75) At least one of the secondary conditions can be a time-variant secondary condition that is determined individually for the respective driving maneuver class (step S10).
(76) The at least one time-variant secondary condition is determined based on the space-time polygons determined in steps S1 to S5, which describe the free space-time regions B.sub.f and the occupied space-time regions B.sub.b and the subregions T.sub.i.
(77) The motor vehicle 10 must not be in one of the occupied areas B.sub.b at any time. However, this alone is generally too weak as a secondary condition, because a certain safety distance is normally necessary.
(78) Therefore, the at least one time-variant secondary condition is determined in such a way that it comprises a predetermined temporal and/or a predetermined spatial safety distance from the occupied areas B.sub.b.
(79) Under a “time safety distance” a time period T.sub.TTC is to be understood, in which the vehicle can definitely still move collision-free starting from the current point in time, even if the motor vehicle does not change its state of movement, that is, for example, if it does not brake. This period can also be referred to as the “time to collision.”
(80) A spatial safety distance always corresponds to a temporal safety distance, wherein the temporal safety distance depends on the current speed of the motor vehicle. More precisely, the temporal safety distance results from the quotient of the spatial safety distance and the current speed v(t) of the motor vehicle.
(81) The at least one time-variant secondary condition can generally be formulated as follows:
L(t)+v(t).Math.T.sub.TTC.Math.B.sub.b.
(82) At any given time t, the longitudinal coordinate L of the space-time trajectory x(t) must therefore have a minimum distance from the occupied areas B.sub.b, wherein the minimum distance is dependent on the current speed v(t).
(83) The time-variant secondary condition is also dependent on where the motor vehicle 10 is currently located. For example, if it is present in the sub-area T.sub.5 (see
L(t)+v(t).Math.T.sub.TTC≤max P.sub.14,b(t+T.sub.TTC).
(84) It should be noted that the above inequality is to be understood conceptually rather than literally. Under “max P” it should be understood that the corresponding polygon limits the sub-area T.sub.5 on top.
(85) Figuratively speaking, the motor vehicle 10 must not be present in the area limited by the polygon P.sub.14,b either when the motor vehicle uniformly continues its movement for the time T.sub.TTC.
(86) However, if the motor vehicle is in the sub-area T.sub.15, the time-variant secondary condition is as follows:
min P.sub.16,b(t+T_TTC)≤L(t)+v(t).Math.T.sub.TTC≤max P.sub.14,b(t+T.sub.TTC)
(87) Analogous to the case described above the polygon that limits the sub-area T.sub.15 on the underside is described by min P.sub.16,b (t+T.sub.TTC) here.
(88) The time-variant secondary condition under which the driving maneuver is optimized is therefore individually determined for the individual sub-areas T.sub.i. Accordingly, the time-variant secondary condition can also change over the course of the space-time trajectory.
(89) In particular, the at least one time-variant secondary condition is determined based on the respective starting time T.sub.LC,i. Accordingly, the time-variant secondary conditions can be dependent on the starting time T.sub.LC.
(90) Further secondary conditions can also be provided, for example a safety condition, a comfort condition and/or a feasibility condition. An example of a feasibility condition is whether the motor vehicle can even reach a specific space-time range due to a maximum acceleration or a maximum deceleration of the motor vehicle. An example of a comfort condition is whether the acceleration in the longitudinal and/or transverse direction exceeds a predefined threshold value which, as experience has shown, is perceived as unpleasant by vehicle occupants. An example of a safety condition is a minimum distance to be observed from other road users or a speed limit.
(91) The target maneuver can then be determined, for example, by applying a triple integrator, which is defined as follows:
(92)
wherein h is a positive real number greater than zero.
(93) In summary, in step S9, driving maneuvers that are conceptually different from one another, that is to say the preliminary driving maneuvers, are optimized in each case under certain secondary conditions. Correspondingly, for each preliminary driving maneuver, the respective associated optimal driving maneuver, that is to say the corresponding target driving maneuver, is obtained.
(94) The result of step S9 is therefore a set of optimal driving maneuvers that belong to different starting times of the lane change.
(95) It should be pointed out that the optimization can take place in two stages, wherein the longitudinal trajectory and then the transverse trajectory of the motor vehicle 10 is optimized first.
(96) The multiple target driving maneuvers, or rather the respective cost factors assigned to the target driving maneuvers, are now compared with one another and, based on the comparison, one of the target driving maneuvers and thus also one of the starting times is selected (step S11).
(97) More precisely, that target driving maneuver is selected whose associated cost factor is the lowest.
(98) The motor vehicle 10 can then be controlled in an at least partially automated manner and in particular in a fully automated manner by the control device 30 according to the selected driving maneuver.
(99) According to the method described above, the optimal starting time T.sub.LC,opt of the lane change from the current lane 14 to the at least one further lane 16 is determined by comparing various preliminary driving maneuvers, each with predefined starting times T.sub.LC,i which are different from each other. For this purpose, an optimized target maneuver is determined based on the preliminary driving maneuvers.
(100) The starting time T.sub.LC,i is treated as a parameter that is defined for the individual preliminary driving maneuvers and for the target driving maneuvers. By comparing the cost factors assigned to the target driving maneuvers with one another, the optimum starting time T.sub.LC,opt can be determined or rather be chosen from the several different starting times T.sub.LC,i.
REFERENCE SIGN
(101) 10 motor vehicle 12 road 14 current lane 16 further lane 18 first other road user 20 second other road user 21 lane change zone 22 dashed line 24 dashed line 26 system for controlling the motor vehicle 28 sensors 30 control unit 32 data carrier 34 computing unit 36 optimization module