Device and Method for Controlling the Longitudinal and/or Lateral Guidance of a Vehicle

20240300503 ยท 2024-09-12

    Inventors

    Cpc classification

    International classification

    Abstract

    Methods, systems, and apparatuses are provided for controlling longitudinal and/or lateral guidance of a vehicle. A trajectory planner is configured to ascertain setpoint trajectory variables for a trajectory of the vehicle. The setpoint trajectory variables include a first trajectory state and a second trajectory state. The second trajectory state corresponds to a change in the first trajectory state over time. A feed-forward controller is configured to calculate a feed-forward control variable from the setpoint trajectory variables and from a model of dynamic behavior of the vehicle. The feed-forward control variable and the first trajectory state are variables of the same type. The device is configured to use the feed-forward control variable as a basis for determining a manipulated variable for a controlled system within the scope of the longitudinal and/or lateral guidance. The manipulated variable and the feed-forward control variable are variables of the same type.

    Claims

    1.-16. (canceled)

    17. An electronic device for controlling longitudinal and/or lateral guidance of a vehicle, comprising: a trajectory planner configured to ascertain setpoint trajectory variables for a trajectory of the vehicle, wherein the setpoint trajectory variables comprise: a first trajectory state, and a second trajectory state, wherein the second trajectory state corresponds to a change in the first trajectory state over time; and a feed-forward controller configured to calculate a feed-forward control variable from the setpoint trajectory variables and from a model of dynamic behavior of the vehicle, wherein the feed-forward control variable and the first trajectory state are variables of the same type, the device is configured to use the feed-forward control variable as a basis for determining a manipulated variable for a controlled system within the scope of the longitudinal and/or lateral guidance, and the manipulated variable and the feed-forward control variable are variables of the same type.

    18. The device according to claim 17, wherein the setpoint trajectory variables further comprise a third trajectory state that corresponds to a change in the second trajectory state over time.

    19. The device according to claim 17, wherein the model describes a non-invertible transfer system.

    20. The device according to claim 17, wherein the feed-forward controller is configured to approximately compensate for dynamic behavior of the vehicle corresponding to the model.

    21. The device according to claim 17, wherein the feed-forward controller is configured to calculate the feed-forward control variable without applying a filter.

    22. The device according to claim 17, wherein the model of the dynamic behavior of the vehicle is described, in the feed-forward controller (VS), by a transfer function in the form: G ~ vehicle ( s ) = b n s n + b n - 1 s n - 1 + .Math. + b 1 s + b 0 a m s m + a m - 1 s m - 1 + .Math. + a 1 s + a 0 .

    23. The device according to claim 17, wherein the model of the dynamic behavior of the vehicle is described, in the feed-forward controller (VS), by a transfer function in the form: G ~ vehicle ( s ) = 1 a 1 s + a 0 .

    24. The device according to claim 23, wherein if w, {dot over (w)} are the setpoint trajectory variables and u.sub.vs is the feed-forward control variable that is to be determined in the feed-forward controller (VS), the feed-forward control variable u.sub.vs is calculated from the setpoint trajectory variables w, {dot over (w)} and parameters a.sub.0, a.sub.1 of the transfer function as: u VS = w . a 1 + wa 0 .

    25. The device according to claim 17, wherein the model of the dynamic behavior of the vehicle (FZG) is described, in the feed-forward controller (VS), by a transfer function in the form: G ~ vehicle ( s ) = 1 a 2 s 2 + a 1 s + a 0 .

    26. The device according to claim 25, wherein if ?.sub.traj, {dot over (a)}.sub.traj, a.sub.traj are the setpoint trajectory variables and a.sub.d is the feed-forward control variable that is to be determined in the feed-forward controller (VS), the feed-forward control variable a.sub.d is calculated from the setpoint trajectory variables ?.sub.traj, {dot over (a)}.sub.traj, a.sub.traj and parameters a.sub.0, a.sub.1, a.sub.2 of the transfer function as: a d = a .Math. traj a 2 + a . traj a 1 + a traj a 0 .

    27. The device according to claim 17, wherein the model of the dynamic behavior of the vehicle (FZG) is described, in the feed-forward controller (VS), by a transfer function in the form: G ~ vehicle ( s ) = b 2 s 2 + b 1 s + b 0 a 2 s 2 + a 1 s + a 0 .

    28. The device according to claim 27, wherein if {umlaut over (k)}.sub.traj, {dot over (k)}.sub.traj, k.sub.traj are the setpoint trajectory variables and k.sub.d is the feed-forward control variable that is to be determined in the feed-forward controller (VS), the feed-forward control variable k.sub.d is calculated from the setpoint trajectory variables {umlaut over (k)}.sub.traj, {dot over (k)}.sub.traj, k.sub.traj and parameters a.sub.0, a.sub.1, a.sub.2, b.sub.0, b.sub.1, b.sub.2 of the transfer function using the equation: ? .Math. d = 1 b 2 ( ? . d b 1 + ? d b 0 - ? .Math. traj a 2 - ? . traj a 1 - ? traj a 0 ) .

    29. The device according to claim 17, wherein the device comprises a trajectory-following controller configured to use the feed-forward control variable as a basis for determining the manipulated variable.

    30. The device according to claim 29, wherein the device is further configured to: ascertain, using the trajectory-following controller, one or more control errors on the basis of one or more reference variables and one or more feedback variables; correct the feed-forward control variable on the basis of the one or more control errors; and determine the manipulated variable as the corrected feed-forward control variable or on the basis of the corrected feed-forward control variable.

    31. The device according to claim 17, wherein the controlled system comprises: a vehicle guidance controller configured to use the manipulated variable as a basis for determining an actuation input for an actuator system for the lateral and/or longitudinal guidance of the vehicle.

    32. A method for controlling longitudinal and/or lateral guidance of a vehicle, comprising: ascertaining setpoint trajectory variables for a trajectory of the vehicle, wherein the setpoint trajectory variables comprise: a first trajectory state, and a second trajectory state, wherein the second trajectory state corresponds to a change in the first trajectory state over time; calculating, using a feed-forward controller, a feed-forward control variable from the setpoint trajectory variables and from a model of the dynamic behavior of the vehicle, wherein the feed-forward control variable and the first trajectory state are variables of the same type; and determining, based on the feed-forward control variable, a manipulated variable for a controlled system within the scope of the longitudinal and/or lateral guidance, wherein the manipulated variable and the feed-forward control variable are variables of the same type.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0054] FIG. 1 shows a schematic flowchart of a method for controlling the longitudinal and/or lateral guidance of a vehicle.

    [0055] FIG. 2 schematically illustrates by way of example a controller together with a feed-forward controller for the longitudinal and/or lateral guidance of a vehicle.

    [0056] FIG. 3 schematically illustrates a feed-forward controller which can be used within the scope of controlling the longitudinal and/or lateral guidance of a vehicle.

    [0057] FIG. 4 illustrates by way of example, in a schematic signal flow diagram, the calculation of a feed-forward control variable in the feed-forward controller.

    [0058] FIG. 5 schematically illustrates by way of example a controller for the longitudinal guidance of a vehicle.

    [0059] FIG. 6 schematically illustrates by way of example a controller for the lateral guidance of a vehicle.

    DETAILED DESCRIPTION OF THE DRAWINGS

    [0060] The steps 11-13, shown in the block diagram according to FIG. 1, of a method 1 for controlling the longitudinal and/or lateral guidance of a vehicle FZG are explained below, wherein reference is made at the same time to the diagram shown in FIG. 2 which illustrates a corresponding controller.

    [0061] First of all, in a step 11 of the method 1, setpoint trajectory variables w, {dot over (w)}, {umlaut over (w)} for a trajectory of the vehicle FZG are ascertained. In this example, the setpoint trajectory variables comprise a first trajectory state w, a second trajectory state w and a third trajectory state {umlaut over (w)}, wherein the second trajectory state w corresponds to a change in the first trajectory state w over time, and wherein the third trajectory state w corresponds to a change in the second trajectory state {umlaut over (w)} over time. However, examples are also conceivable which make do without such a third trajectory state {umlaut over (w)}, i.e. in which only a first trajectory state w and a second trajectory state w are used as setpoint trajectory variables, wherein the second trajectory state {dot over (w)} corresponds to a change in the first trajectory state w over time.

    [0062] The setpoint trajectory variables w, {dot over (w)}, {umlaut over (w)} can be ascertained using a software module which is referred to as a trajectory planner TPL, cf. FIG. 2. In this case, the setpoint trajectory variables w, {dot over (w)}, {umlaut over (w)} can be determined in particular based on a driving task predefined, e.g., by a DAS.

    [0063] For example, the trajectory planner TPL can ascertain, within the scope of a lane-change-assistance function (LCA) of a DAS, a suitable trajectory for an imminent lane change of the vehicle FZG. The trajectory can, e.g., be described by the statement of a temporal profile of its curvature k.sub.traj(t). In this case, e.g., the curvature, k.sub.traj, the first temporal derivative of the curvature, k.sub.traj, and the second temporal derivative of the curvature, {umlaut over (k)}.sub.traj, of the planned trajectory can be determined as the setpoint trajectory variables w, w, w for controlling the lateral guidance of the vehicle FZG. This example is described in greater detail further below with reference to FIG. 6. Setpoint trajectory variables w, w, w for controlling the longitudinal guidance, which is explained more specifically further below with reference to FIG. 5, can be, e.g., the (longitudinal) acceleration, a.sub.traj, the first derivative of the acceleration (i.e. the jerk), {dot over (a)}.sub.traj, and the second derivative of the acceleration, ?.sub.traj.

    [0064] In a further step 12 of the method 1, a feed-forward controller VS is used to determine a feed-forward control variable u.sub.vs from the setpoint trajectory variables w, {dot over (w)}, {umlaut over (w)} and from a model of the dynamic behavior of the vehicle FZG, wherein the feed-forward control variable u.sub.vs and the first trajectory state w are variables of the same type (i.e., e.g., both variables u.sub.vs, w are accelerations or both variables u.sub.vs, w are curvatures).

    [0065] In a further step 13, the feed-forward control variable u.sub.vs is used as a basis for determining a manipulated variable u for a controlled system FFR, AKT, FZG within the scope of the longitudinal and/or lateral guidance, wherein the manipulated variable and the feed-forward control variable are variables of the same type, cf. FIG. 2.

    [0066] The feed-forward controller VS is configured to calculate the feed-forward control variable u.sub.vs from the setpoint trajectory variables w, w, w and from a simplified model of the dynamic behavior of the vehicle FZG.

    [0067] The feed-forward controller VS is configured to approximately compensate for dynamic behavior of the vehicle FZG corresponding to the model. In this case, the feed-forward controller VS ascertains, based on the model, which actuation inputs have to be sent to an actuator system AKT of the vehicle in order to ensure desired behavior of the vehicle FZG and to thus realize a vehicle trajectory in line with the setpoint trajectory variables w, w, w (or, depending on the example, e.g., even only w, w).

    [0068] FIG. 3 illustrates the principle of a feed-forward controller VS, using a simplified diagram. In this example, the actual trajectory variable y realized by the vehicle FZG arises as the product of the transfer function {tilde over (G)}.sub.vehicle (s), which approximately describes the dynamic behavior of the vehicle FZG including the actuator system AKT (or an entire controlled system FFR, AKT, FZG which in addition to the actuator system AKT can also comprise, e.g., a vehicle guidance controller FFR and possibly further subordinate controllers), and of the feed-forward control variable u.sub.vs:

    [00008] y = G ~ vehicle ( s ) u VS .

    [0069] Ideally, as the result from the feed-forward controller VS, the actual trajectory variable y should be identical to the setpoint trajectory variable w (i.e. identical to the first trajectory state), i.e. the following should apply: y=!w. The aim of the feed-forward controller VS in this example is therefore to use the one or more setpoint trajectory variables w and the model {tilde over (G)}.sub.vehicle (s) as a basis for determining the feed-forward control variable ups in such a way that the following equation is satisfied

    [00009] w = G ~ vehicle ( s ) u VS .

    [0070] In this case, the feed-forward control variable u.sub.vs can potentially be calculated solely from the one or more setpoint trajectory variables w, w, w (or only w, w) and from the transfer model {tilde over (G)}.sub.vehicle (s) (or from the parameters thereof), wherein the feed-forward controller VS preferably makes do without applying a filter. This calculation is explained in detail further below with reference to FIGS. 5 and 6 based on specific examples for longitudinal guidance control and lateral guidance control.

    [0071] In particular in connection with the specific example of the lateral guidance control (cf. FIG. 6), it will also become clear that the calculation of a feed-forward control variable u.sub.vs can also contain, e.g., a plurality of integrations. This is illustrated in FIG. 4 in a schematic signal flow diagram. In the example of FIG. 4, there are three setpoint trajectory variables, namely w, w (the first temporal derivative of w) and w (the second temporal derivative of w). In the feed-forward controller VS, the feed-forward control variable u.sub.vs is calculated from these setpoint trajectory variables w, w, w and the parameters of the transfer model {tilde over (G)}.sub.vehicle (s) using two integration steps.

    [0072] Generally, the feed-forward controller VS does not necessarily have to directly determine an actuation input for the actuator system AKT of the vehicle FZG, such as, e.g., a steering angle input or steering torque input for the lateral guidance or a longitudinal acceleration input for the longitudinal guidance. Rather, the feed-forward control variable u.sub.vs determined by the feed-forward controller VS can initially be further processed in one or more downstream controllers, such as, e.g., a vehicle guidance controller FFR and/or a subordinate steering or engine controller, as indicated in FIG. 2. In other words, the feed-forward controller VS can determine the feed-forward control variables u.sub.vs in such a way that they, if they are further processed within the scope of controlling the longitudinal and/or lateral guidance, result in the controlled system FFR, AKT, FZG realizing the setpoint trajectory variables w, {dot over (w)}, {umlaut over (w)}, meaning that the vehicle FZG follows the planned trajectory.

    [0073] In the example shown in FIG. 2, the controller comprises a trajectory-following controller TFR which is configured to use the feed-forward control variable u.sub.vs as a basis for determining the manipulated variable u. In this case, the trajectory-following controller TFR is used to ascertain one or more control errors ?x based on one or more reference variables x* and one or more feedback variables x (e.g. as the difference between a reference variable x* and a feedback variable x), and the feed-forward control variable u.sub.vs is corrected based on the one or more control errors ?x (e.g. by adding the control error ?x to the feed-forward control variable u.sub.vs), the result of which is the manipulated variable u. In other words, in this example, the manipulated variable u is thus determined as the feed-forward control variable u.sub.vs corrected using the trajectory-following controller TFR. For example, in the trajectory-following controller TFR, a setpoint trajectory variable w or a variable derived from one or more setpoint trajectory variables w can be used as the reference variable x*. An actual trajectory variable y or a variable derived from one or more actual trajectory variables y can be used, e.g., as the feedback variable x.

    [0074] Moreover, the controlled system FFR, AKT, FZG comprises a vehicle guidance controller FFR downstream of the trajectory-following controller TFR, which vehicle guidance controller is configured to use the manipulated variable u as a basis for determining an actuation input (or a control variable) for the actuator system AKT for the lateral and/or longitudinal guidance of the vehicle FZG. For example, the vehicle guidance controller FFR can, within the scope of lateral guidance control, which is explained more specifically further below with reference to FIG. 6, convert a corrected feed-forward control variable u in the form of a curvature input k.sub.d into an actuation input for the steering in the form of a setpoint steering angle ?.

    [0075] In accordance with the above, within the scope of the method 1 illustrated in FIG. 1, the feed-forward control variable u.sub.vs can be used as a basis for determining an actuation input for the longitudinal and/or lateral guidance of the vehicle FZG. In particular, the actuation input can be generated as an actuation input for an actuator system AKT for the lateral and/or longitudinal guidance of the vehicle FZG.

    [0076] FIG. 5 schematically illustrates by way of example a controller for the longitudinal guidance of a vehicle FZG. In this case, a trajectory planner TPL (not shown separately in FIG. 5; cf. FIG. 2) ascertains a setpoint (longitudinal) acceleration, a.sub.traj, a first temporal derivative of the setpoint (longitudinal) acceleration, {dot over (a)}.sub.traj, and a second temporal derivative of the setpoint (longitudinal) acceleration, ?.sub.traj, as setpoint trajectory variables and transfers them as reference variables to a trajectory-following controller TFR with a feed-forward controller VS.

    [0077] In the feed-forward controller VS and the trajectory-following controller TFR, the setpoint trajectory variables ?.sub.traj, {dot over (a)}.sub.traj, a.sub.traj are used as a basis for determining a desired (longitudinal) acceleration da as a feed-forward control variable (that has already been corrected by a control error using the trajectory-following controller TFR).

    [0078] The desired acceleration da is output as a manipulated variable to a controlled system FFR, AKT, FZG. In this example, the controlled system is also assigned a vehicle guidance controller FFR. The latter calculates, based on the desired acceleration da, one or more actuation inputs for an actuator system AKT which, in the present example of longitudinal guidance, comprises the engine and the braking system of the vehicle FZG. In this case, the actuator system AKT can also comprise one or more further subordinate controllers. The actuator system AKT ensures, e.g., a drive torque T which, considering the influence of disturbance variables z.sub.a (e.g. wind or an incline in the road), results in an acceleration a of the vehicle FZG. The actual acceleration a is measured and fed back to the vehicle guidance controller FFR as a feedback variable.

    [0079] In the example according to FIG. 5, the controlled system FFR, AKT, FZG has in total one transfer behavior {tilde over (G)}.sub.vehicle (s) which can be very complex. The feed-forward controller VS can therefore operate based on a simplified transfer model which, e.g., is described by a transfer function in the form

    [00010] G ~ vehicle ( s ) = 1 a 2 s 2 + a 1 s + a 0 .

    [0080] From the equation a={tilde over (G)}.sub.vehicle (s)*a.sub.d and the requirement a=!a.sub.traj, which describes the actual aim of the feed-forward controller VS, the following equation then follows

    [00011] a traj a 2 s 2 + a traj a 1 s + a traj a 0 = a d .

    [0081] After back transformation from the frequency domain into the time domain, the result is that the feed-forward control variable da can be calculated directly from the setpoint trajectory variables ?.sub.traj, {dot over (a)}.sub.traj, a.sub.traj and the parameters a.sub.0, a.sub.1, a.sub.2 of the transfer function {tilde over (G)}.sub.vehicle (s) as

    [00012] a d = a .Math. traj a 2 + a . traj a 1 + a traj a 0 .

    [0082] It should be noted that, in the above paragraph, the feed-forward control variable that is to be determined (but has still not been corrected by a control error using a trajectory-following controller TFR), in the feed-forward controller VS itself, was referred to as a.sub.d. The desired acceleration da, which according to FIG. 5 is transferred to the vehicle-following controller FFR, can however generally also be a feed-forward control variable which has already been corrected by a control error using a trajectory-following controller TFR.

    [0083] FIG. 6 schematically illustrates, as a further example, a controller for the lateral guidance of a vehicle FZG. The basic design of the controller can be understood to be the same as that of the longitudinal guidance controller explained above with reference to FIG. 5. In the case of the lateral guidance control, the trajectory planner TPL (not shown in FIG. 6; cf. FIG. 2) ascertains, e.g., a time-dependent setpoint curvature, k.sub.traj, a first temporal derivative of the setpoint curvature, {dot over (k)}.sub.traj, and a second temporal derivative of the setpoint curvature, {umlaut over (k)}.sub.traj, as setpoint trajectory variables and transfers them as reference variables to the feed-forward controller VS and the trajectory-following controller TFR.

    [0084] In the feed-forward controller VS and the trajectory-following controller TFR, the setpoint trajectory variables {umlaut over (k)}.sub.traj, {dot over (k)}.sub.traj, k.sub.traj are used as a basis for determining a desired curvature k.sub.d as a feed-forward control variable (that is already corrected by a control error by way of the trajectory-following controller TFR).

    [0085] The desired curvature k.sub.d is output as a manipulated variable to a controlled system FFR, AKT, FZG. The vehicle guidance controller FFR calculates, based on the desired curvature k.sub.d, one or more actuation inputs for an actuator system AKT which, in the present example of the lateral guidance, in particular comprises the steering of the vehicle FZG. In this case, the actuator system AKT can additionally comprise one or more further subordinate controllers which can consider, e.g., an influence of a steering torque T.sub.h exerted manually by a driver of the vehicle FZG. The actuator system AKT sets, e.g., a steering angle ? which, considering the influences of interference variables z.sub.k (e.g. wind or an incline in the road), results in a trajectory of the vehicle FZG which has a curvature k. The actual curvature k is measured and fed back to the vehicle guidance controller FFR as a feedback variable.

    [0086] The simplified model of the dynamic behavior of the vehicle FZG can be described, in the feed-forward controller VS, in this example e.g. by a transfer function in the form

    [00013] G ~ vehicle ( s ) = b 2 s 2 + b 1 s + b 0 a 2 s 2 + a 1 s + a 0 .

    [0087] From the equation k={tilde over (G)}.sub.vehicle (s)*k.sub.d and the requirement k=!k.sub.traj, the following equation follows

    [00014] ? traj a 2 s 2 + ? traj a 1 s + ? traj a 0 = ? d b 2 s 2 + ? d b 1 s + ? d b 0 .

    [0088] After back transformation from the frequency domain into the time domain and adjusting the equation, the result is that the feed-forward control variable k.sub.d can be calculated from the setpoint trajectory variables {umlaut over (k)}.sub.traj, {dot over (k)}.sub.traj, k.sub.traj and the parameters a.sub.0, a.sub.1, a.sub.2, b.sub.0, b.sub.1, b.sub.2 of the transfer function {tilde over (G)}.sub.vehicle (s) using the equation

    [00015] ? .Math. d = 1 b 2 ( ? . d b 1 + ? d b 0 - ? .Math. traj a 2 - ? . traj a 1 - ? traj a 0 ) [0089] (or an adjusted, equivalent equation). In this case, the calculation can comprise, e.g., two integration steps, as was explained further above with reference to the schematic signal flow diagram in FIG. 4 which can be applied to the feed-forward controller VS in the example according to FIG. 6.

    [0090] The term module (and other similar terms such as unit, subunit, submodule, etc.) in the present disclosure may refer to a software module, a hardware module, or a combination thereof. Modules implemented by software are stored in memory or non-transitory computer-readable medium. The software modules, which include computer instructions or computer code, stored in the memory or medium can run on a processor or circuitry (e.g., ASIC, PLA, DSP, FPGA, or other integrated circuit) capable of executing computer instructions or computer code. A hardware module may be implemented using one or more processors or circuitry. A processor or circuitry can be used to implement one or more hardware modules. Each module can be part of an overall module that includes the functionalities of the module. Modules can be combined, integrated, separated, and/or duplicated to support various applications. Also, a function being performed at a particular module can be performed at one or more other modules and/or by one or more other devices instead of or in addition to the function performed at the particular module. Further, modules can be implemented across multiple devices and/or other components local or remote to one another. Additionally, modules can be moved from one device and added to another device, and/or can be included in both devices and stored in memory or non-transitory computer readable medium.