Trajectory control system for automated driving including feedforward and model predictive control

By combining feedforward control and model predictive control, and using a nonlinear parallel feedforward module and MPC, the error problem of trajectory control in automated driving systems was solved, and higher-precision vehicle navigation was achieved.

CN122232662APending Publication Date: 2026-06-19GM GLOBAL TECHNOLOGY OPERATIONS LLC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2025-02-14
Publication Date
2026-06-19

AI Technical Summary

Technical Problem

Existing automated driving systems suffer from overregression and suboptimal tracking performance in trajectory control, especially due to the large trajectory error caused by the uncertainty of the prediction model in model predictive control.

Method used

By combining feedforward control and model predictive control (MPC), the vehicle is actively navigated through a nonlinear parallel feedforward module. The feedforward module generates small trajectory errors, and MPC reduces these errors. Finally, the feedforward and feedback steering commands are combined to generate the steering command.

Benefits of technology

It effectively reduces errors in trajectory control, improves the trajectory tracking accuracy and stability of the automated driving system, and enhances the vehicle's navigation performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122232662A_ABST
    Figure CN122232662A_ABST
Patent Text Reader

Abstract

A vehicle includes an electronic power steering (EPS) system configured to steer the front wheels of the vehicle in response to a steering command. A trajectory control module is configured to generate steering commands. The trajectory control module includes a perception module configured to identify a target path for the vehicle and a planning module configured to determine a hybrid path from the vehicle to the target path. A control module includes a feedforward module configured to generate feedforward steering commands, a model predictive control module configured to generate feedback steering commands in response to the feedforward steering commands and the model predictive control, and an adder configured to generate a steering command in response to the sum of the feedforward steering commands and the feedback steering commands.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduce

[0002] The information provided in this section is for the purpose of generally presenting the context of this disclosure. Within the scope described in this section, the work of the currently named inventors and aspects of this description that might not otherwise conform to the prior art at the time of filing are neither expressly nor implicitly acknowledged as prior art relative to this disclosure.

[0003] This disclosure relates to automated driving systems for vehicles, and more specifically, to trajectory control systems for vehicles using feedforward control and model predictive control.

[0004] An automated driving system controls a vehicle's acceleration, steering / trajectory, and braking without user input. Automated driving systems include one or more sensors, such as cameras, lidar sensors, and / or radar sensors. These sensors are used to detect objects in the vehicle's path and identify lane markings. Summary of the Invention

[0005] A vehicle includes an electronic power steering (EPS) system configured to steer the front wheels of the vehicle in response to a steering command. A trajectory control module is configured to generate steering commands. The trajectory control module includes a perception module configured to identify a target path for the vehicle and a planning module configured to determine a hybrid path from the vehicle to the target path. A control module includes a feedforward module configured to generate feedforward steering commands, a model predictive control module configured to generate feedback steering commands in response to the feedforward steering commands and the model predictive control, and an adder configured to generate a steering command in response to the sum of the feedforward steering commands and the feedback steering commands.

[0006] Among other features, the model predictive control module generates feedback steering commands in response to a cost function. The cost function is based on lateral position error, lateral speed error, heading error, and yaw rate error. The cost function is also based on a first weight for lateral position error, a second weight for lateral speed error, a third weight for heading error, and a fourth weight for yaw rate error.

[0007] Among other features, the model predictive control module generates feedback steering commands in response to cost calculation, which is based on...

[0008]

[0009] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It is the trajectory angle command, W y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, u k It is the current iteration of the turn command, u k-1 It is the previous iteration of the turn command, and p is a constant.

[0010] The feedforward module generates feedforward steering instructions based on the following:

[0011]

[0012] Where k' κ It is the curvature error gain, κ BP It is the curvature of the mixed path, L is the wheelbase of the vehicle, and K is the curvature of the mixed path. us It is the understeering coefficient learned, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions.

[0013] Among other features, the camera generates images of the vehicle's path. The perception module processes the images to identify lane lines. The perception module then determines the target path in response to the lane lines.

[0014] A method for controlling the trajectory of a vehicle includes identifying a target path for the vehicle; determining a hybrid path from the vehicle to the target path; generating a feedforward steering command; generating a feedback steering command in response to the feedforward steering command and model predictive control; summing the feedforward steering command and the feedback steering command to generate a steering command; and controlling the vehicle's steering system in response to the steering command.

[0015] Among other features, the feedback steering command is based on a cost function. This cost function is based on lateral position error, lateral speed error, heading error, and yaw rate error. The cost function is also based on a first weight for lateral position error, a second weight for lateral speed error, a third weight for heading error, and a fourth weight for yaw rate error.

[0016] Among other features, the feedback steering command responds to cost calculation, which is based on...

[0017]

[0018] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It's the steering angle command, W. y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, u k It is the current iteration of the turn command, u k-1 It is the previous iteration of the turn command, and p is a constant.

[0019] Among other features, the feedforward steering command is based on:

[0020]

[0021] Where k' κ It is the curvature error gain, κ BP It is the curvature of the mixed path, L is the wheelbase of the vehicle, and K is the curvature of the mixed path. us It is the understeering coefficient learned, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions.

[0022] Among other features, the method includes generating an image of the vehicle's path. The method includes performing image processing on the image to identify lane lines. The method includes determining a target path in response to the lane lines.

[0023] A trajectory control system for a vehicle includes a feedforward module configured to generate feedforward steering commands and a model predictive control module configured to generate feedback steering commands in response to the feedforward steering commands and the feedback steering commands. An adder is configured to sum the feedforward steering commands and the feedback steering commands to generate a steering command. An electronic power steering (EPS) system is configured to adjust the steering angle of the vehicle's wheels in response to the steering commands.

[0024] Among other features, the feedforward module generates feedforward steering commands based on the following:

[0025]

[0026] Where k' κ It is the curvature error gain, κ BP It is the curvature of the mixed path, L is the wheelbase of the vehicle, and K is the curvature of the mixed path. us It is the understeering coefficient learned, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions, and

[0027] Among other features, the model predictive control module generates a feedback steering command in response to cost calculation, which is based on...

[0028]

[0029] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It's the steering angle command, W. y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, u k It is the current iteration of the turn command, u k-1 It is the previous iteration of the turn command, and p is a constant.

[0030] Further applications of this disclosure will become apparent from the detailed description, claims, and accompanying drawings. The detailed description and specific examples are intended for illustrative purposes only and are not intended to limit the scope of this disclosure.

[0031] This disclosure provides the following examples:

[0032] Example 1. A vehicle comprising:

[0033] An electronic power steering (EPS) system is configured to steer the front wheels of the vehicle in response to a steering command; and

[0034] A trajectory control module, configured to generate the steering command, includes:

[0035] The perception module is configured to identify the target path of the vehicle;

[0036] The planning module is configured to determine a hybrid path from the vehicle to the target path; and

[0037] The control module includes:

[0038] The feedforward module is configured to generate feedforward steering commands;

[0039] The model predictive control module is configured to generate a feedback steering command in response to the feedforward steering command and the model predictive control; and

[0040] An adder is configured to generate the steering command in response to the sum of the feedforward steering command and the feedback steering command.

[0041] Example 2. The vehicle according to Example 1, wherein the model predictive control module generates the feedback steering command in response to a cost function.

[0042] Example 3. The vehicle according to Example 2, wherein the cost function is based on lateral position error, lateral speed error, heading error, and yaw rate error.

[0043] Example 4. The vehicle according to Example 3, wherein the cost function is further based on a first weight of the lateral position error, a second weight of the lateral speed error, a third weight of the heading error, and a fourth weight of the yaw rate error.

[0044] Example 5. The vehicle according to Example 1, wherein the model predictive control module generates the feedback steering command in response to cost calculation, the cost calculation being based on

[0045]

[0046] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It is the trajectory angle command, W y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, u k It is the current iteration of the steering command, u k-1 It is the previous iteration of the steering command, and p is a constant.

[0047] Example 6. The vehicle according to Example 1, wherein the feedforward module generates the feedforward steering command based on the following:

[0048]

[0049] Where k′ κ It is the curvature error gain, k BP It is the curvature of the mixed path, L is the wheelbase of the vehicle, and K is the curvature of the mixed path. us It is the learned understeering coefficient, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions.

[0050] Example 7. The vehicle according to Example 1 further includes a camera that generates images of the vehicle's path.

[0051] Example 8. The vehicle according to Example 7, wherein the perception module performs processing on the image to identify lane lines.

[0052] Example 9. The vehicle according to Example 8, wherein the perception module determines the target path in response to the lane lines.

[0053] Example 10. A method for controlling the trajectory of a vehicle, comprising:

[0054] Identify the target path of the vehicle;

[0055] Determine the hybrid path from the vehicle to the target path;

[0056] Generate feedforward steering commands;

[0057] In response to the feedforward steering command and model predictive control, a feedback steering command is generated;

[0058] The feedforward steering command and the feedback steering command are summed to generate a steering command; and

[0059] The vehicle's steering system is controlled in response to the steering command.

[0060] Example 11. The method described in Example 10, wherein the feedback steering command is based on a cost function.

[0061] Example 12. The method according to Example 11, wherein the cost function is based on lateral position error, lateral velocity error, heading error, and yaw rate error.

[0062] Example 13. According to the method of Example 12, wherein the cost function is further based on a first weight of the lateral position error, a second weight of the lateral velocity error, a third weight of the heading error, and a fourth weight of the yaw rate error.

[0063] Example 14. The method according to Example 10, wherein the feedback redirection command is in response to a cost calculation, the cost calculation being based on

[0064]

[0065] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It's the steering angle command, W. y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, u k It is the current iteration of the steering command, u k-1 It is the previous iteration of the steering command, and p is a constant.

[0066] Example 15. The method according to Example 10, wherein the feedforward steering command is based on:

[0067]

[0068] Where k' κ It is the curvature error gain, κ BP Where L is the curvature of the mixed path, and K is the wheelbase of the vehicle. us It is the learned understeering coefficient, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions.

[0069] Example 16. The method according to Example 10 further includes generating an image of the path of the vehicle.

[0070] Example 17. The method according to Example 16 further includes performing image processing on the image to identify lane lines.

[0071] Example 18. The method according to Example 17 further includes determining the target path in response to the lane lines.

[0072] Example 19. A trajectory control system for a vehicle, comprising:

[0073] The feedforward module is configured to generate feedforward steering commands;

[0074] The model predictive control module is configured to generate a feedback steering command in response to the feedforward steering command and the model predictive control.

[0075] An adder is configured to sum the feedforward steering command and the feedback steering command to generate a steering command; and

[0076] An electronic power steering (EPS) system is configured to adjust the steering angle of the vehicle's wheels in response to the steering command.

[0077] Example 20. The trajectory control system according to Example 19, wherein:

[0078] The feedforward module generates the feedforward steering command based on the following:

[0079]

[0080] Where k' κ It is the curvature error gain, κ BP Where L is the curvature of the mixed path, and K is the wheelbase of the vehicle. us It is the understeering coefficient learned, V x It is the longitudinal velocity, κ d It is the expected curvature, x mp It is the distance to the merge point of the mixed path, r LA equals x c / x mp e is the error matrix, and x c It is to the vehicle and x mp The distance between the positions, and

[0081] The model predictive control module generates the feedback steering command in response to cost calculation, the cost calculation being based on...

[0082]

[0083] Where V is the cost function, y is the lateral position of the vehicle, and u is the measured steering angle.ref It's the steering angle command, W. y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈ is , uk is the current iteration of the turning command, and u k-1 It is the previous iteration of the steering command, and p is a constant. Attached Figure Description

[0084] This disclosure will be more fully understood based on the detailed description and accompanying drawings, in which:

[0085] Figure 1A The present disclosure provides a functional block diagram of an example vehicle including a driver assistance module, which includes a trajectory control module using feedforward and model predictive control (MPC).

[0086] Figure 1B This is a functional block diagram of an example trajectory control module based on this disclosure;

[0087] Figures 1C to 1E This is an example of a method performed by the perception module, planning module, and control module of the trajectory control module according to this disclosure;

[0088] Figure 2 An example of a vehicle path and a destination path is illustrated;

[0089] Figure 3 This is a functional block diagram of an example trajectory control system using feedforward control and MPC according to this disclosure;

[0090] Figure 4 This is a diagram illustrating an example of trajectory control for a vehicle using MPC or feedforward control; and

[0091] Figure 5 This is a diagram illustrating an example of vehicle trajectory control using feedforward control to actively control the trajectory and MPC to reduce trajectory errors according to this disclosure.

[0092] In the accompanying drawings, reference numerals may be used repeatedly to identify similar and / or identical elements. Detailed Implementation

[0093] Vehicles can use Model Predictive Control (MPC) to calculate control commands (such as trajectory adjustments for electronic power steering (EPS) systems) based on predicted vehicle behavior calculated from a given model. Theoretically, MPC has the ability to better optimize trajectory tracking by performing optimization within the prediction range. In reality, MPC is limited by the one or more predictive models used. Any uncertainty in the predictive models(s) implemented by MPC and / or the inputs can lead to overregression and / or suboptimal tracking performance.

[0094] This invention relates to a trajectory control system for a vehicle using feedforward control and MPC. More specifically, the trajectory control module incorporates nonlinear parallel feedforward to actively navigate the vehicle. Feedforward control generates small trajectory errors. The trajectory control module uses MPC to reduce trajectory errors. The trajectory control module improves upon existing nonlinear control strategies by combining the benefits of MPC.

[0095] Now for reference Figure 1A The vehicle 10 includes a controller 12, which includes a driver assistance module 13. The driver assistance module 13 includes a trajectory control module 14, which is configured to control the vehicle's electronic power steering (EPS) 24. The trajectory control module 14 incorporates a nonlinear parallel feedforward module and an MPC to close the loop of trajectory error.

[0096] Vehicle 10 includes a Global Positioning System (GPS) 16 configured to sense the vehicle's position. Vehicle 10 includes sensors 17 (such as a lidar sensor 18, a radar sensor 20, and an inertial measurement unit 22), one or more cameras 23, and / or other vehicle sensors 27. EPS 24 includes a sensor 25 configured to sense trajectories, such as steering angle. Vehicle 10 includes control inputs 26, such as accelerator pedal position, steering wheel angle (if a steering wheel is used), brake pedal position, and / or other control inputs. Navigation module 30 is configured to receive position data from GPS and generate a route for the vehicle using map 32.

[0097] exist Figure 1B In this system, the trajectory control module 14 includes a perception module 36, a planning module 38, and a control module 40. The perception module 36 includes an image processing module 37 to perform image processing on images from one or more cameras 23.

[0098] exist Figures 1C to 1E The image shows a portion of the high-level steps performed by the sensing module 36, the planning module 38, and the control module 39. Figure 1CIn the middle, at point 40, the perception module 36 collects information from vehicle sensors 17, 25, and 27 and camera 23, such as lane line position, vehicle position (x (longitudinal) and y (lateral)), and speed (v). x and v y ), heading (ψ), yaw rate At point 41, the perception module 36 determines the position of the lane lines. At point 42, the perception module 36 (and / or the planning module 38) uses the lane lines or other sensed objects in the vehicle path to determine the target path of the vehicle 10.

[0099] exist Figure 1D In the middle, the planning module 38 receives vehicle parameters at point 43 and determines a hybrid path from the current vehicle path to the target path at point 44. At point 45, the planning module 38 identifies the location x, which is further described below. c and x mp .

[0100] Control module 39 determines the steering command that will cause the vehicle to move along the hybrid path toward the target path. Control module 40 uses both feedforward control and model predictive control to generate the steering command. At 46, control module 39 uses the model to determine the feedforward steering input. At 47, control module 39 uses the feedforward input and MPC to determine the feedback steering input. At 48, control module 39 sums the feedforward steering input and the feedback steering input. The steering command is output to EPS24, and the process starts again.

[0101] Now for reference Figure 2 This shows vehicle 10 traveling along hybrid path (BP) 42 relative to target path 44. Vehicle 10 travels at a speed v x and v y The vehicle moves longitudinally along the x-axis and laterally along the y-axis. It has a heading ψ and a yaw rate. The trajectory control module 14 steers the vehicle along the mixed path 42 to the target path 44.

[0102] The mixed path 42 corresponds to the path from vehicle 10 to target path 44. The distance (x) between the merge point of mixed path 42 and target path 44 located in front of the vehicle is... mp Merge at the merge point (mp) at point x. mp This is a calibration value adjusted based on one or more vehicle conditions (speed, curvature, etc.) and / or one or more environmental conditions (road friction, road type, weather, etc.). Select the mixed path and merge point distance x. mp This allows for smooth trajectory input while reducing or minimizing the difference between the current vehicle path and the target path.

[0103] During the control iteration, the trajectory control module 14 selects the path along the distance x between the vehicle 10 and the merging point. mp The position x of the mixed path 42 between them is located c As will be further described below, the trajectory control module 14 attempts to select the path that minimizes the trajectory error (e.g., lateral position error e). y Lateral velocity error Heading error e ψ Yaw rate error (etc.) trajectory or steering input. Lateral position error e y Equal to the horizontal position reference value y ref Subtract the vehicle's lateral position y, lateral velocity error Equal to the lateral velocity reference value Subtract the vehicle's lateral velocity v y etc.

[0104] More specifically, the current vehicle location and the merging point x mp The distance between them is divided into the distance between the vehicle and x. mp The consecutive positions between them correspond to the future vehicle positions 1, 2, 3... The future vehicle positions 1, 2, 3... are related to the distance (x) from vehicle 10 to the merging point along the merging path 42. mp The distances x1, x2, ..., x) mp correspond.

[0105] One of the vehicle's future vehicle positions c is located at a distance x c At (current vehicle location and x) mp Between). x c and x mp This is a calibrated value. Determine x. c Horizontal position reference y ref Lateral velocity reference, heading reference ψ ref and / or other reference values. Calculate reference values. The trajectory control module 14 seeks to minimize trajectory errors, such as lateral position error e. y Lateral velocity error e, heading error e ψ Yaw rate error wait.

[0106] When using MPC, the vehicle driver assistance controller has multiple objectives when attempting to follow a desired trajectory. MPC is designed to minimize a cost function, rather than control various error values. In other words, when the MPC model has multiple objectives, no single objective can be explicitly controlled, which may result in less precise control over the vehicle's trajectory or steering angle than desired.

[0107] Now for reference Figure 3The operation of the trajectory control module 14 is shown in more detail. The feedforward module 120 generates a nonlinear parallel feedforward signal u for controlling the path. ff The trajectory of the nonlinear parallel feedforward signal u ff Active navigation vehicle. Feedforward signal u ff The use of this causes a small trajectory error. The trajectory control module 14 uses the MPC module 110 to generate the feedback signal u. fb To reduce trajectory error.

[0108] MPC module 110 receives input. MPC module 110 receives the sensed or calculated output via constraint module 112, which is configured to apply one or more constraints to the output. The output of constraint module 112 is input to MPC module 110. Constraint module 112 applies hard or soft constraints, such as limits on steering angle. The output is also fed back to vehicle model adaptation module 114, which generates learned values, such as K corresponding to the learned understeer coefficient. us .

[0109] The output of the vehicle model adaptation module 114 is fed into the state and distance estimation module 116 and the feedforward module 120. The output of the state and distance estimation module is fed into the MPC module 110.

[0110] MPC module 110 generates the trajectory output u that is input to adder 126. fb The feedforward module 120 generates the feedforward value u. ff Feedforward value u ff It is also output to adder 126. The output of adder 126 is fed to the electronic power steering (EPS) system 123 of vehicle 125.

[0111] Consider an unconstrained MPC optimization problem with a single prediction horizon point:

[0112]

[0113] Where V is the MPC cost function, y is the lateral position of the vehicle, and u is the measured steering angle. ref It is the steering angle command (and the feedforward value u) ff (corresponding to), W y It is the weight of the lateral position error. It is the weight of the lateral velocity error, W ψ It is the weight of the heading error. It is the yaw rate error, W u It is the command error weight, W Δu It is the command rate weight, ∈ is a constant, and W ∈ The weight of ∈, uk It is the input for the current iteration, and u k-1 It is the input from the previous iteration.

[0114] If we ignore ∈ 2 W ∈ The solution is simply full-state feedback, with weights equal to the placement gain, as shown below:

[0115] δ fb =-Ke

[0116] Where K is a matrix including the feedback gain, and e is the error vector. In other words, the error vector includes the lateral position error e0. y Lateral velocity error or Heading error e ψ and yaw rate error

[0117]

[0118] Where, δ fb It is a feedback control input, K y It is the output error gain matrix.

[0119] This equation describes two classic proportional-derivative (PD) controllers. The total control input can be assumed to be δ = δ ff +δ fb ,in:

[0120]

[0121] Where δ is the total control input, δ ff It is the feedforward control input, k' κ It is the curvature error gain, κ BP It is the curvature of the mixed path, L is the wheelbase of the vehicle, and K is the curvature of the mixed path. us It is the learned understeering coefficient, V x It is the longitudinal velocity, κ d It is the desired curvature (input).

[0122] Due to δ ff It also has δ ff =-k′ κ K κ The form of e is thus obtained. The total stability error dynamic (where A is the system matrix, which is a function of vehicle parameters, B1 is the matrix describing the system, K′) κ It is the gain matrix of the feedforward control, and It is the derivative of the error vector.

[0123] Now for reference Figure 4 and Figure 5 The diagram shows the vehicle traveling along a path that includes a straight section at 210, a curve entrance at 212, and a stable curve at 214. Figure 4 In the diagram, feedforward control is shown at position 218, and MPC control is shown at position 216. Figure 5 At position 220, both feedforward control and MPC control are used. This reduces the tracking error.

[0124] The foregoing description is merely illustrative in nature and is in no way intended to limit this disclosure, its application, or use. The broad teachings of this disclosure can be implemented in many forms. Therefore, while this disclosure includes specific examples, its true scope should not be so limited, as other modifications will become apparent upon examination of the drawings, specification, and appended claims. It should be understood that one or more steps within a method may be performed in a different order (or simultaneously) without altering the principles of this disclosure. Furthermore, while each embodiment is described above as having specific features, any one or more of those features described with respect to any embodiment of this disclosure may be implemented in any other embodiment and / or combined with features of any other embodiment, even if such combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and the arrangement of one or more embodiments with respect to each other remains within the scope of this disclosure.

[0125] Spatial and functional relationships between components (e.g., between modules, circuit elements, semiconductor layers, etc.) are described using various terms, including “connection,” “joint,” “coupled,” “proximity,” “adjacent,” “on top of,” “above,” “below,” and “set.” Unless explicitly stated as “direct,” the relationship between the first and second components described in the above disclosure can be a direct relationship, where no other intermediate components exist between the first and second components, but it can also be an indirect relationship, where one or more intermediate components exist (spatially or functionally) between the first and second components. As used herein, the phrase “at least one of A, B, and C” should be interpreted as meaning logically (A or B or C) using the non-exclusive logical “OR,” and should not be interpreted as meaning “at least one of A, at least one of B, and at least one of C.”

[0126] In the accompanying drawings, the direction of the arrows, as indicated by the arrows, typically illustrates the flow of information (e.g., data or instructions) of interest to the illustration. For example, when components A and B exchange various types of information, but the information transmitted from component A to component B is relevant to the illustration, the arrow can point from component A to component B. This unidirectional arrow does not imply that no other information is transmitted from component B to component A. Furthermore, for information sent from component A to component B, component B can send a request for or confirmation of receipt of that information to component A.

[0127] In this application, including the following definitions, the term "module" or "controller" may be replaced by the term "circuit". The term "module" may refer to, be part of, or include the following: application-specific integrated circuit (ASIC); digital, analog, or mixed-signal analog / digital discrete circuit; digital, analog, or mixed-signal analog / digital integrated circuit; combinational logic circuit; field-programmable gate array (FPGA); processor circuitry (shared, dedicated, or grouped) that executes code; memory circuitry (shared, dedicated, or grouped) that stores code executed by the processor circuitry; other suitable hardware components that provide the described functionality; or combinations of some or all of the foregoing, such as in a system-on-a-chip.

[0128] This module may include one or more interface circuits. In some examples, the interface circuits may include wired or wireless interfaces connected to a local area network (LAN), the Internet, a wide area network (WAN), or a combination thereof. The functionality of any given module of this disclosure can be distributed among multiple modules connected via the interface circuits. For example, multiple modules can allow for load balancing. In a further example, a server (also referred to as a remote or cloud) module may perform some functions on behalf of a client module.

[0129] The term "code" as used above can include software, firmware, and / or microcode, and can refer to programs, routines, functions, classes, data structures, and / or objects. The term "shared processor circuit" covers a single processor circuit that executes some or all of the code from multiple modules. The term "group processor circuit" covers a processor circuit that, in conjunction with additional processor circuitry, executes some or all of the code from one or more modules. References to multiple processor circuits cover multiple processor circuits on discrete dies, multiple processor circuits on a single die, multiple cores of a single processor circuit, multiple threads of a single processor circuit, or a combination of the above. The term "shared memory circuit" covers a single memory circuit that stores some or all of the code from multiple modules. The term "group memory circuit" covers a memory circuit that, in conjunction with additional memory, stores some or all of the code from one or more modules.

[0130] The term "memory circuit" is a subset of the term "computer-readable medium." As used herein, the term "computer-readable medium" does not cover transient electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); therefore, the term "computer-readable medium" can be considered tangible and non-transitory. Non-limiting examples of non-transitory, tangible computer-readable media are non-volatile memory circuits (such as flash memory circuits, erasable programmable read-only memory circuits, or mask read-only memory circuits), volatile memory circuits (such as static random access memory circuits or dynamic random access memory circuits), magnetic storage media (such as analog or digital magnetic tape or hard disk drives), and optical storage media (such as CDs, DVDs, or Blu-ray discs).

[0131] The apparatus and methods described in this application can be implemented, in part or in whole, by a special-purpose computer created by configuring a general-purpose computer to execute one or more specific functions embodied in a computer program. The aforementioned function blocks, flowchart components, and other elements serve as a software specification that can be routinely translated into a computer program by a skilled technician or programmer.

[0132] A computer program includes processor-executable instructions stored on at least one non-transitory tangible computer-readable medium. A computer program may also include or depend on stored data. A computer program may encompass a basic input / output system (BIOS) that interacts with the hardware of a special-purpose computer, device drivers that interact with specific devices of the special-purpose computer, one or more operating systems, user applications, background services, background applications, etc.

[0133] Computer programs may include: (i) descriptive text to be parsed, such as HTML (Hypertext Markup Language), XML (Extensible Markup Language), or JSON (JavaScript Object Notation); (ii) assembly code; (iii) object code generated from source code by a compiler; (iv) source code for execution by an interpreter; (v) source code for compilation and execution by a just-in-time (JIT) compiler; and so on. As an example only, source code can be written using syntax from languages ​​including: C, C++, C#, Objective C, Swift, Haskell, Go, SQL, R, Lisp, etc. Fortran, Perl, Pascal, Curl, OCaml, HTML5 (Hypertext Markup Language 5th Edition), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Visual Lua, MATLAB, SIMULINK and

Claims

1. A vehicle comprising: An electronic power steering (EPS) system is configured to steer the front wheels of the vehicle in response to a steering command; as well as A trajectory control module, configured to generate the steering command, includes: The perception module is configured to identify the target path of the vehicle; The planning module is configured to determine a hybrid path from the vehicle to the target path; and The control module includes: The feedforward module is configured to generate feedforward steering commands; The model predictive control module is configured to generate a feedback steering command in response to the feedforward steering command and the model predictive control; and An adder is configured to generate the steering command in response to the sum of the feedforward steering command and the feedback steering command.

2. The vehicle of claim 1, wherein the model predictive control module generates the feedback steering command in response to a cost function.

3. The vehicle according to claim 2, wherein the cost function is based on lateral position error, lateral speed error, heading error, and yaw rate error.

4. The vehicle of claim 3, wherein the cost function is further based on a first weight of the lateral position error, a second weight of the lateral speed error, a third weight of the heading error, and a fourth weight of the yaw rate error.

5. The vehicle of claim 1, wherein the model predictive control module generates the feedback steering command in response to cost calculation, the cost calculation being based on... where V is a cost function, y is the lateral position of the vehicle, u is the measured steering angle, u ref is the trajectory angle command, W y is the weight of the lateral position error, is the weight of the lateral velocity error, W ψ is the weight of the heading error, is the yaw rate error, W u is the command error weight, W Δu is the command rate weight, ∈ is a constant, and W ∈ is the weight of ∈, u k is the current iteration of the steering command, u k-1 is the previous iteration of the steering command, and p is a constant.

6. The vehicle of claim 1, wherein the feedforward module generates the feedforward steering command based on: where k' k is a curvature error gain, k BP is a curvature of the hybrid path, L is a wheelbase of the vehicle, K us is a learned understeer coefficient, V x is a longitudinal velocity, K d is a desired curvature, x mp is a distance to a merge point of the hybrid path, r LA equals x c / x mp , e is an error matrix, and x c is a distance to a location between the vehicle and x mp .

7. The vehicle of claim 1, further comprising a camera, the camera generating images of the vehicle's path.

8. The vehicle of claim 7, wherein the perception module performs processing on the image to identify lane lines.

9. The vehicle of claim 8, wherein the sensing module determines the target path in response to the lane lines.

10. A method for controlling the trajectory of a vehicle, comprising: Identify the target path of the vehicle; Determine the hybrid path from the vehicle to the target path; Generate feedforward steering commands; In response to the feedforward steering command and model predictive control, a feedback steering command is generated; The feedforward steering command and the feedback steering command are summed to generate a steering command; as well as The vehicle's steering system is controlled in response to the steering command.