Model predictive control for automated driving in complex geometries

By integrating multiple references from cameras and map data, the method generates adaptive control paths to address the challenge of precise vehicle control in complex driving environments, enhancing accuracy and reliability in scenarios like tight curves and cloverleaf intersections.

DE102025109746B3Active Publication Date: 2026-04-23GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2025-03-14
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing vehicle control systems using model predictive control (MPC) in advanced driver assistance systems (ADAS) struggle with precise control in complex driving environments, such as tight curves and cloverleaf intersections, due to reliance on a single reference path and low confidence in detected lane lines, leading to inaccuracies and reduced performance.

Method used

A method and system that utilizes multiple references from decoupled sources like cameras and map data to generate dynamically constrained control paths, adapting weights and horizon lengths based on curvature and confidence, ensuring robust and accurate vehicle control in complex geometries.

Benefits of technology

Enhances the precision and reliability of vehicle control in complex driving environments by dynamically adjusting control parameters based on confidence levels and modified curvature, reducing control errors and improving navigation through scenarios with sporadic or distorted lane lines.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000016_0000
    Figure 00000016_0000
  • Figure 00000016_0001
    Figure 00000016_0001
  • Figure 00000017_0000
    Figure 00000017_0000
Patent Text Reader

Abstract

Examples provide a method for model predictive control for automated driving in complex geometries. The method includes receiving lane line information from a first camera associated with the first side of a vehicle, a second camera associated with the second side of the vehicle, and map data. The method further includes initiating a perception task using the lane line information and determining that the perception task is perturbed due to lane geometry. The method further includes generating patches of a target path, each patch having an associated confidence value. The method further includes generating a combined target path by merging the target path patches. The method further includes generating, using the combined target path, desired steering commands for the vehicle.The procedure further includes controlling the vehicle using the desired steering commands to cause the vehicle to follow the combined target path.
Need to check novelty before this filing date? Find Prior Art

Description

background

[0001] The present disclosure relates to vehicles and in particular to a model predictive control system for automated driving in complex geometries.

[0002] Modern vehicles (e.g., a car, motorcycle, boat, or any other type of motor vehicle) may be equipped with one or more cameras that provide reversing assistance, capture images of the driver to determine driver fatigue or attentiveness, provide images of the road while the vehicle is in motion for collision avoidance purposes, provide structure recognition (e.g., traffic signs, etc.), and / or the like, including combinations and / or multiples thereof. For example, a vehicle may be equipped with multiple cameras, and images from several cameras (referred to as "surround-view cameras") may be used to create a "360°" or "bird's-eye view" of the vehicle. Some of the cameras (referred to as "long-range cameras") may be used to capture images from a great distance.: long-range images) (e.g. for object detection, collision avoidance, structure recognition, etc.).

[0003] Such vehicles may also be equipped with sensors such as radar, lidar, and / or similar devices for perception tasks. Radar (radio detection and ranging) is a technology that uses radio waves to detect and determine the distance, speed, and angle of objects. Radar works by emitting radio signals that bounce off objects and return to the radar system, where the reflected waves are analyzed based on the time between emission and reception. The measured time can be used to determine the distance between the radar device and the detected object, which can be used when performing perception tasks.

[0004] Perception tasks can include one or more of these, such as object detection, classification, tracking, lane detection, traffic sign recognition, and obstacle avoidance. Perception tasks are particularly useful for autonomous or semi-autonomous vehicles, providing the vehicle with real-time knowledge or perception of its surroundings to make safe and informed driving decisions. Images from the vehicle's one or more cameras can also be used to detect objects, track targets, and / or perform similar tasks, including combinations and / or multiples thereof. Perception tasks are useful for implementing advanced driver assistance systems (ADAS).

[0005] The desire for precise vehicle control using ADAS is important for efficient vehicle operation.

[0006] DE 10 2015 209 467 A1 discloses a method for estimating lanes, preferably for use in a driver assistance system. The method uses multiple input data points to estimate lanes. These input data points are the position and direction of feature vectors, which are measured independently by several different sensors. A feature vector is formed by a position in the ego vehicle coordinate system, which describes a point on the edge of a lane, and a direction or angle that indicates the direction in which the edge of the lane runs at that position.

[0007] DE 10 2016 214 045 A1 discloses a method and a device for determining a road model by means of recursive estimation, as well as a vehicle. The recursion comprises the following steps: sensory acquisition of observational data that characterize the vehicle's environment or its movement; acquisition of map data that characterize the vehicle's environment; generation of a plurality of different hypotheses for the road model to be determined according to a parameterized state function, wherein each of the hypotheses represents a possible road model for the current recursion step and is characterized by a different association of the observational data and map data serving as input variables of the state function, generated by means of appropriate parameterization.Estimating a confidence value with respect to a predetermined confidence measure for each of the hypotheses of the current recursion step using a recursive estimation procedure, including at least one hypothesis from the preceding recursion step as an input; selecting, based on the estimated confidence values, one of the hypotheses as the roadway model for the environment of a vehicle for the current recursion step.

[0008] DE 10 2019 112 413 A1 discloses a computer-implemented method for estimating the road's path in the vicinity of a vehicle based on a state function describing the road's path. The state function comprises a clothoid spline. Furthermore, the computer-implemented method includes providing environmental measurement data that describe the road's path at the vehicle's current position. Summary

[0009] In one embodiment, a computer-implemented method for model predictive control for automated driving in complex geometries is provided. The method comprises receiving lane line information from a first camera associated with the first side of a vehicle, a second camera associated with the second side of the vehicle, and map data. The method further comprises initiating a perception task using the lane line information. The method further comprises determining whether the perception task is perturbed due to lane geometry. The method further comprises generating patches of a target path, each patch having an associated confidence value. The method further comprises generating a combined target path by merging the target path patches.The procedure further includes generating desired steering commands for the vehicle using the combined target path. Generating the desired steering commands for the vehicle involves calculating a cost function using the associated confidence value for each patch and a weight assigned to each patch. The procedure further includes steering the vehicle using the desired steering commands to cause the vehicle to follow the combined target path.

[0010] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include generating the target path patches by generating a first patch using the lane line information from the first camera.

[0011] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include generating the target path patches by further generating a second patch using the lane line information from the second camera.

[0012] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include generating the target path patches by further generating a third patch using the lane line information from the map data.

[0013] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include the creation of the combined target path by joining the target path patches, comprising joining at least two of the first patch, the second patch, and the third patch.

[0014] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include the creation of the combined target path by joining the target path patches, comprising joining the first patch, the second patch, and the third patch.

[0015] In addition to one or more of the features described herein, or as an alternative, further embodiments of the method may include calculating the cost function according to the following equation: C=∑k=1p{c1w1(Y+Yc−Yr,1)2+c2w2(Y+Yc−Yr,2)2+c3w3(Y+Yc−Yr,3)2 +wΔu(uk−uk−1)2+wu(uk−uref)2} where C is the cost function, c i the assigned confidence value of the target for a source i is w i The weight value for patches of the target of source i, which is assigned to each source, is Y, a predicted output of the vehicle, Y c A camera performance bias for the lateral position is Y r the target is based on the source i, u is a steering angle command, u k a steering angle command in a current step and u ref It is a steering angle reference.

[0016] In a further embodiment, a vehicle is provided. The vehicle comprises a first camera, a second camera, a vehicle system, and a processing system. The processing system comprises a memory containing computer-readable instructions and a processing device for executing the computer-readable instructions, wherein the computer-readable instructions control the processing system to perform model predictive control operations for automated driving in complex geometries. The operations include receiving lane line information from the first camera, the second camera, and map data. The operations further include initiating a perception task using the lane line information. The operations also include determining that the perception task is perturbed due to lane geometry.The operations further include generating patches of a target path, each patch having an associated confidence value. The operations further include generating a combined target path by merging the target path patches. The operations further include generating, using the combined target path, desired steering commands for the vehicle. Generating the desired steering commands for the vehicle involves calculating a cost function using the associated confidence value for each patch and the weight assigned to each patch. The operations further include steering the vehicle using the desired steering commands to cause the vehicle to follow the combined target path.

[0017] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include generating the target path patches by generating a first patch using the lane line information from the first camera.

[0018] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include the creation of the target path patches further comprising the creation of a second patch using the lane line information from the second camera.

[0019] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include the creation of the target path patches further comprising the creation of a third patch using the lane line information from the map data.

[0020] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include the creation of the combined target path by joining the target path patches, comprising joining at least two of the first patch, the second patch and the third patch.

[0021] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include the creation of the combined target path by joining the target path patches, comprising joining the first patch, the second patch, and the third patch.

[0022] In addition to one or more of the features described herein, or as an alternative, further embodiments of the vehicle may include the cost function being calculated according to the following equation: C=∑k=1p{c1w1(Y+Yc−Yr,1)2+c2w2(Y+Yc−Yr,2)2+c3w3(Y+Yc−Yr,3)2 +wΔu(uk−uk−1)2+wu(uk−uref)2} where C is a cost function, c i an assigned confidence value of a target for a source i is w i a weight value for patches of the target of source i, which is assigned to each source, Y is a predicted output of the vehicle, Y c A camera performance bias for the side position is Y r the target is based on the source i, u is a steering angle command, u k a steering angle command in a current step and u ref It is a steering angle reference.

[0023] The above features and advantages and other features and advantages of the disclosure are readily apparent from the following detailed description when it is taken in conjunction with the accompanying drawings. Brief description of the drawings

[0024] Further features, advantages and details appear only as examples in the following detailed description, which refers to the drawings in which: Fig. 1A illustrates a vehicle with a processing system, a sensor and a vehicle system according to one or more embodiments; Fig. 1B the processing system of Fig. 1A illustrated according to one or more embodiments; Fig. 2. A block diagram of a model predictive control system for automated driving in complex geometries according to one or more embodiments is illustrated; Fig. 3. A flowchart of a method for model predictive control for automated driving in complex geometries according to one or more embodiments is illustrated; Fig. 4A Diagrams of scenarios for model predictive control for automated driving in complex geometries according to one or more embodiments are illustrated; Fig. 4B a diagram of sporadic path tracking for the vehicle of Fig. 1 illustrated using model predictive control in complex geometries according to one or more embodiments; and Fig. Figure 5 illustrates a block diagram of a processing system for model predictive control for automated driving in complex geometries according to one or more embodiments. Detailed description

[0025] The following description is by its very nature merely exemplary and is not intended to limit the present disclosure, its application, or uses. It should be understood that in the drawings, corresponding reference numerals denote identical or corresponding parts and features. As used herein, the term "module" refers to a processing circuit arrangement that may include an application-specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or in a group), memory executing one or more software or firmware programs, a combinational logic circuit, and / or other suitable components providing the described functionality.

[0026] As used herein, the term “controller” (e.g., a load controller, as further described herein) refers to a dedicated controller containing a processor and memory, a general-purpose controller containing control modules configured to execute a control process using the dedicated controller, a network of several distinct controllers interconnected, each containing processors and memory and configured to implement the control process cooperatively, and any similar configuration for implementing the control process.

[0027] One or more embodiments described herein relate to model predictive control for automated driving in complex geometries.

[0028] Vehicles can use advanced driver assistance systems (ADAS) to improve vehicle performance and increase driving comfort by automating, adapting, or enhancing vehicle systems to enable better perception, decision-making, and control.

[0029] An example of an ADAS is adaptive cruise control (ACC), which automatically sets or adjusts a vehicle's speed to maintain a safe following distance from the vehicle in front. Another example is automated lane change (ALC), which causes the vehicle to change lanes. A further example is front collision alert (FCA), which warns the driver of a potential head-on collision. Another example is collision imminent braking (CIB), which applies the vehicle's brakes to reduce its speed.Another example of an ADAS is an automated evasive steering system (AES) to adjust the vehicle's path or trajectory.

[0030] ADAS systems often use various sensors, including cameras, radar, and / or lidar, to perform perception tasks such as object detection, classification, tracking, lane detection, traffic sign recognition, and obstacle avoidance. The data collected by these sensors enables vehicles to make real-time decisions, improving the overall driving experience and safety. Despite advances in ADAS, precise vehicle control remains a significant challenge.

[0031] Existing solutions for vehicle control using model predictive control (MPC) in ADAS often rely on a single reference path for trajectory planning and control. These existing approaches typically use a fixed set of references, such as lateral position and direction of travel, to guide the vehicle along a predetermined path. While effective in simple driving situations, these approaches struggle in environments where lane lines are sporadic or distorted, such as tight curves or cloverleaf intersections. The reliance on a single reference path can lead to inaccuracies and reduced control performance, especially when confidence in the detected lane lines is low.

[0032] One or more embodiments described herein address these and other shortcomings by introducing an approach for hands-free vehicle control using ADAS while the vehicle is traveling in complex lane geometries such as tight curves and cloverleaf intersections. One or more embodiments generate dynamically constrained control paths when lane lines are sporadic, adapting the transient or transitional behavior based on the curvature rate and error dynamics without altering the steady-state response. One or more embodiments calculate adaptive weights and horizon lengths as functions of curvature and confidence, ensuring more reliable and accurate vehicle control. This approach effectively utilizes multiple references from decoupled sources such as cameras and map data to enhance the robustness and precision of the control system in complex driving environments.

[0033] Fig. Figure 1A shows a vehicle 100 with a processing system 102, a sensor 104, a vehicle system 106, and a display 108 according to one or more embodiments. The vehicle 100 can be a passenger car, a truck, a van, a bus, a motorcycle, a boat, or any other type of motor vehicle. According to one embodiment, the vehicle 100 is a hybrid electric vehicle, such as a plug-in hybrid electric vehicle (PHEV), which is partially or fully powered by electrical energy. According to another embodiment, the vehicle 100 is an electrically powered electric vehicle. A battery (not shown) is used to provide electrical power to components of the vehicle 100, such as an electric motor (not shown), electrical components, and / or the like, including combinations and / or multiples thereof.According to one or more embodiments, the vehicle 100 comprises an internal combustion engine (not shown) that provides electrical and / or mechanical energy to propel the vehicle 100. According to one or more embodiments, the vehicle 100 is an autonomous or semi-autonomous vehicle. An autonomous vehicle is a vehicle that has self-driving capabilities. A semi-autonomous vehicle is a vehicle that has certain autonomous features (e.g., self-parking, lane keeping, etc.) but does not have full autonomous control.

[0034] The processing system 102 is located inside the vehicle and is responsible for managing and processing data collected by the sensor 104. The sensor 104 represents one or more sensors, which may differ in type. The sensor 104 can be any suitable sensor(s) and / or any suitable combination of sensors, such as a camera, radar device, lidar device, proximity sensor, and / or the like, including combinations and / or multiples thereof. The arrows between the sensor 104 and the processing system 102 indicate the flow of data from the sensor 104 to the processing system 102, highlighting the interaction between these components. This arrangement enables the vehicle 100 to perform perception tasks, which can be used, for example, for autonomous driving, utilizing the data collected by the sensor 104.According to one or more embodiments, the processing system 102 can be used to implement an active safety feature (e.g., an ADAS such as one in . Fig. to implement the ADAS control machine 120 shown in Figure 1B and to control the vehicle 100 using the vehicle system 106. The vehicle system 106 is a collection of electromechanical components and subsystems within the vehicle 100 responsible for executing control commands and performing physical actions. This includes, but is not limited to, actuators, sensors, and control modules that manage various aspects of the operation of the vehicle 100, such as steering, braking, acceleration, and stability control. The vehicle system 106 interacts with the processing system 102 to receive control signals generated by the processing system 102 and translates these signals into precise mechanical movements and settings or adjustments for controlling the vehicle 100. This integration ensures that the vehicle 100 responds precisely and efficiently to dynamic driving conditions.can react, thereby improving the overall performance, reliability and efficiency of the vehicle by 100%.

[0035] Further features and functions of the processing system 102, the sensor 104 and the vehicle system 106 will now be described with reference to Fig. 1B described.

[0036] In particular, illustrates Fig. 1B the processing system 102 of Fig. 1A according to one or more embodiments. According to one or more embodiments, the processing system 102 comprises a processing device 110, a memory 112, and an ADAS control machine 120. It should be understood that the processing system 102 can be any device suitable for ADAS and / or for performing model predictive control to control a vehicle. For example, the processing system 102 can be a device implemented in or otherwise associated with the vehicle 100, such as an electronic control unit (ECU) (also referred to as an electronic control module).As another example, the processing system 102 could be a smartphone, a tablet computer, a laptop computer, a desktop computer, a portable computing device, and / or the like, including combinations and / or multiples thereof. As yet another example, the processing system 102 could be the processing system 500. Fig. 5 and / or one or more components of the processing system 500 of Fig. 5 included.

[0037] The processing device 110 is responsible for executing instructions and managing the overall operation of the processing system 102. The processing device 110 can be any suitable processing circuit arrangement for executing instructions and processing data. For example, the processing device 110 can be a microcontroller, a microprocessor, an application-specific integrated circuit (ASIC), or any other type of processing unit capable of handling the computational requirements of the processing system 102. The processing device 110 is an example of one or more of the processing devices 521 of Fig. 5, as described in more detail herein.

[0038] Memory 112 stores data (e.g., data 105), computer-readable instructions, and algorithms useful for the operation of the processing system 102. This can include real-time data processing, historical data analysis, and the storage of firmware or software programs. Memory 112 is any suitable device for storing data, such as data 105 received from sensor 104, and / or instructions. Memory 112 can, for example, be a combination of volatile memory (e.g., random-access memory) and non-volatile memory (e.g., read-only memory, flash memory). Memory 112 is an example of one or more of the system memory 522, the random-access memory 523, and / or the read-only memory 524. Fig. 5, as described in more detail herein.

[0039] The processing system 102 receives data 105 (from the sensor 104) about the vehicle 100 (e.g., telemetry data about the vehicle) and / or about the environment in which the vehicle is driving (e.g., images of objects in the environment, point cloud data of objects in the environment, etc.). According to one or more embodiments, the sensor 104 is one or more cameras, and the data 105 are images captured by the one or more cameras, such as images of a lane in which the vehicle 100 is driving, including any lane markings (e.g., lane lines, turn indicators, etc.). The data 105 can be useful, for example, for performing perception tasks, which in turn are used to control the vehicle using an ADAS.

[0040] The ADAS Control Unit 120 is responsible for managing and executing the functions of advanced driver assistance systems. The ADAS Control Unit 120 is designed to improve vehicle performance and efficiency by automating, adapting, and / or enhancing various vehicle systems to provide better perception, decision-making, and control. The ADAS Control Unit 120 is responsible for executing various tasks associated with the ADAS, such as perception, planning, and control tasks, which will now be described in more detail.

[0041] According to one or more embodiments, the ADAS control machine 120 comprises an optimizer which analyzes predicted values ​​based on a model of the vehicle 100, calculates an amount of error that the model has compared to reference values ​​for the predictions, and multiplies the output values ​​or outputs for these errors by a set of weights.

[0042] The ADAS control unit 120 processes data (e.g., data 105) received from various sensors (e.g., sensor 104), such as cameras, radar devices, and lidar devices, to perform perception tasks that include object detection, classification, tracking, lane detection, traffic sign recognition, and obstacle avoidance. By analyzing this sensor data, the ADAS control unit 120 can generate real-time situational awareness or perception of the environment in which the vehicle 100 is driving.

[0043] Using information from the perception tasks, the ADAS control machine 120 can perform planning tasks, which may include planning a trajectory for the vehicle 100. For example, one of the functions of the ADAS control machine 120 is to implement MPC algorithms for trajectory planning and control. The ADAS control machine 120 uses data (e.g., data 105) from the sensors (e.g., sensor 104) to predict the future states of the vehicle 100 and optimize the control inputs to achieve the desired trajectory. This includes calculating the optimal steering, acceleration, and braking commands to ensure that the vehicle 100 follows the planned path while maintaining operational efficiency, reliability, and comfort.

[0044] The ADAS control unit 120 controls the vehicle 100 by sending commands to the vehicle system 106, which comprises electromechanical components and subsystems responsible for executing these commands. The commands from the ADAS control unit 120 can include, among others, steering angle, acceleration, and braking commands. Based on current driving conditions and available ECU resources, the ADAS control unit 120 dynamically adjusts these commands, ensuring efficient operation of the vehicle 100. The commands are then transmitted to the vehicle system 106, where actuators and control modules translate them into physical actions such as turning the steering wheel, applying the brakes, or adjusting the throttle.This seamless integration between the ADAS control machine 120 and the vehicle system 106 enables the vehicle 100 to react quickly and precisely to dynamic driving environments, improving the overall performance and operation of the vehicle 100.

[0045] In summary, the ADAS control engine 120 is a sophisticated module within the processing system 102 that integrates sensor data processing, perception tasks, planning tasks, and vehicle control using model predictive control to improve vehicle efficiency and performance. The ADAS control engine 120 also ensures accurate, real-time control of the vehicle 100 by dynamically adapting to resource constraints and optimizing control inputs based on current driving conditions.

[0046] Fig. Figure 2 illustrates a block diagram of a system 200 for model predictive control for automated driving in complex geometries according to one or more embodiments. The system 200 is designed to handle complex driving environments such as tight curves and cloverleaf intersections by effectively utilizing multiple references from decoupled sources and dynamically setting or adjusting control parameters. The system 200 can be implemented using the ADAS control engine 120 of the processing system 102 of the vehicle 100. According to one or more embodiments, the system 200 comprises a perception module 210, a right target (camera) 211, a left target (camera) 212, a map-based target 213, a weight scaling module 214, a curvature modifier and hysteresis module 216, an MPC module 218, and the vehicle system 106.

[0047] The perception module 210 receives lane information from various sources such as cameras (e.g., sensor 104), map data, and / or the like, including combinations and / or multiples thereof. The perception module 210 performs perception tasks and generates the right target (camera) 211, the left target (camera) 212, and the map-based target 213. The right target (camera) 211 identifies a target (e.g., a lane line) on the right side of the vehicle 100 using one or more images of the road and lane lines on the right side of the vehicle 100. The left target (camera) 212 identifies a target (e.g., a lane line) on the left side of the vehicle 100 using one or more images of the road and lane lines on the left side of the vehicle 100. The map-based target 213 identifies a target (e.g., a lane line) using map data.Both the right target (camera) 211, the left target (camera) 212 and the map-based target 213 are sent as target patches (e.g., curvatures) to the weight scaling module 214, the curvature modification and hysteresis module 216 and the MPC module 218.

[0048] The weight scaling module 214 adjusts the weights of the target patches based on their confidence levels. The weights are scaled according to the following equations: WY1*=sy1W¯y1(ρ) WY2*=sy2W¯y2(ρ) WY3*=sy3W¯y3(ρ) where WY1* the scaled weight of the output term for target 1 is, s y1 The scaling factor proposed for objective 1 through the normal operational merger is W y1 where ρ is the unprocessed starting weight for target 1 and ρ is the curvature.

[0049] The curvature modifier and hysteresis module 216 modifies the curvature of the target patches to account for transient behavior and avoid oscillations. This is achieved by applying hysteresis-defined filters to smooth rapid changes (e.g., changes above a threshold) in the curvature. In other words, if the target curvature is sufficiently high (e.g., above a threshold) and a sufficiently high change (e.g., above a threshold) is detected, a filter is applied to the curvature signal. Based on the direction of the change, one of two filters is used to achieve the desired behavior. A modified curvature is fed back into the weight scaling module 214, and a weight is applied to the curvature. The results of the weight scaling performed using the weight scaling module 214 are fed into the MPC module 218.

[0050] The MPC module 218 receives the target patches as well as information from the perception module 210 and results from the weight scaling performed by the weight scaling module 214 and generates vehicle control commands u such as steering commands δ cmd , which are sent to vehicle system 106 to control vehicle 100. The MPC module 218 includes a module for optimizing the retrograde horizon 220, a single-track model 222, an actuator model 224, and an error correction module 226.

[0051] Module 220 for retreating horizon optimization optimizes the control inputs over a forecast horizon to obtain a cost function (as described herein with reference to Fig. 4B) to minimize the errors between the predicted and reference paths.

[0052] The single-track model 222 represents the vehicle dynamics and is used to predict future states for the vehicle 100 based on inputs from the perception module 210. The single-track model 222 generates a steering command δ. cmd , which is input into the actuator model 224. The actuator model 224 simulates the behavior of the vehicle's actuators, such as the steering system, to ensure accurate control commands. The actuator model 224 generates a realized steering command δ realized , which is entered into the error correction module 226. The steering command is what the controller requests from the actuator. The realized steering command δ realizedThis is the command generated by the actuator (e.g., the motor that rotates the steering column). In an ideal actuator, these two values ​​are equal; however, due to disturbances, interference, and noise, these values ​​often differ. The error correction module 226 receives the realized steering command δ. realized and generates an actual steering command δ act , by applying an error correction to compensate for any difference between the target path and the realized steering command δ realized to reduce.

[0053] The actual steering command δ act The signal is fed into vehicle control unit 106 to control vehicle 100 and to cause vehicle 100 to follow the target path. More precisely, vehicle control unit 106 translates the steering commands into physical actions, such as setting or adjusting the steering angle, to guide the vehicle along the target path.

[0054] System 200 ensures precise and reliable vehicle control in complex driving environments by dynamically adjusting the control parameters based on the confidence values ​​of the target patches and the modified curvature. This approach improves the overall performance and safety of the vehicle.

[0055] Fig. Figure 3 illustrates a flowchart of a method for model predictive control for automated driving in complex geometries according to one or more embodiments. The method 300 can be implemented using any suitable system or device. For example, the method 300 and its steps can be implemented using the processing system 102 of Fig. 1A and Fig. 1B, using the processing system 500 of Fig. 5 and / or the like, including combinations and / or multiples thereof, are implemented. Method 300 is now described with reference to at least parts of the preceding figures, but is not limited thereto.

[0056] In block 302, procedure 300 begins by receiving lane line information from a first camera (e.g., sensor 104) assigned to the first side of a vehicle (e.g., vehicle 100), a second camera (e.g., sensor 104) assigned to the second side of the vehicle, and map data. This step involves collecting data from multiple sources (e.g., sensors, map databases, etc.) to ensure comprehensive lane detection. The first and second cameras are examples of sensor 104 in [reference to relevant section]. Fig. 1A and Fig. 1B, each capturing images of the road and lane lines. The map data can be obtained from a navigation system integrated into the vehicle. Map data refers to digital information obtained from a navigation system or other suitable source integrated into the vehicle. The map data includes detailed lane information, road geometry, and other relevant features of the driving environment. The map data is used to improve lane detection and trajectory planning by providing an additional reference source alongside camera input.

[0057] In block 304, the procedure 300 continues by initiating a perception task (e.g., perception module 210) using the lane line information. This involves processing the collected data to identify and understand the lane lines and other relevant road features and to generate targets such as the right target (camera) 211, the left target (camera) 212, and the map-based target 213. The ADAS control engine 120 in Fig. 1B is responsible for carrying out this perception task, which includes object detection, classification, tracking, and trace detection.

[0058] In block 306, procedure 300 determines that the perceptual task is disrupted due to lane geometry. This step identifies any problems or disruptions in the perceptual task caused by complex road geometries such as tight curves or cloverleaf intersections. Processing system 102 analyzes the data to detect inconsistencies or gaps in the lane line information. As an example, it shows Fig. 4A different scenarios 400, 401, 402, 403. In particular, illustrated Fig. 4A Diagrams of scenarios 400, 401, 402, and 403 for model predictive control for automated driving in complex geometries according to one or more embodiments. In scenario 400, the perception task is not disturbed, while in scenario 401, the perception task is disturbed as shown.

[0059] With continued reference to Fig. In section 308, once a disturbance is identified, procedure 300 generates patches of a target path, with each patch having an assigned confidence value. This step involves dividing the target path into smaller segments or patches, each with a confidence value indicating the reliability of the detected lane lines. The ADAS control engine 120 calculates these patches based on the available data from the cameras and the map. The confidence values ​​are assigned to each patch of the target path to indicate the reliability of the detected lane lines for the respective patches. The confidence values ​​are derived from the quality and consistency of the data obtained from various sources, such as camera and map data. Higher confidence values ​​indicate more reliable patches, which are prioritized when the combined target path is generated to ensure accurate and stable vehicle control.

[0060] In block 310, procedure 300 involves generating a combined target path 405 by joining the target path patches 406. This is described in scenario 402 in Fig. 4A shown. With continued reference to Fig. Block 310 comprises combining the individual patches to form a continuous and reliable target path 405, which the vehicle 100 is to follow. The ADAS control engine 120 combines the patches 406, taking their confidence values ​​into account, to prioritize more reliable segments.

[0061] Using the combined target path, the procedure 300 in block 312 generates the desired steering commands for the vehicle 100. This step involves calculating the steering commands used to accurately follow the combined target path 405. The ADAS control engine 120 calculates these commands based on the current position and speed of the vehicle 100 and the geometry of the combined target path.

[0062] In block 314, the ADAS control unit 120 causes the vehicle unit 106 to control the vehicle 100 using the desired steering commands to cause the vehicle 100 to follow the combined target path 405. This step involves sending the calculated steering commands to the vehicle unit 106 to cause the vehicle 100 to follow the combined target path. The vehicle unit 106 receives these commands and translates them into physical actions, such as setting or adjusting the steering angle to guide the vehicle 100 along the path. This is accomplished by means of segment 403 of Fig. 4A is shown.

[0063] Additional processes can also be included, and it should be understood that the in Fig. The processes shown in section 3 are for illustrative purposes only, and other processes may be added, or existing processes may be removed, modified, or rearranged without deviating from the scope of this disclosure. It should also be understood that the processes described in Fig. The processes shown in Figure 3 can be implemented as programmatic instructions stored on a non-transitory, computer-readable storage medium, which, when executed by means of a processor (e.g., the processing device 110 of Fig. 1B, of the processor(s) 521 of Fig. 5 and / or the like, including combinations and / or multiples thereof) of a computer or computing system (e.g., of the processing system 102 of Fig. 1A and Fig. 1B, of the processing system 500 of Fig. 5 and / or the like, including combinations and / or multiples thereof), cause the processor to perform the processes described herein.

[0064] Fig. Figure 4B illustrates a diagram of sporadic path following for vehicle 100 using model predictive control in complex geometries according to one or more embodiments. The diagram shows vehicle 100 navigating a path with sporadic track line information. A predicted path 450 is the path that vehicle 100 is expected or predicted to follow, while a desired path 452 is the path that vehicle 100 is expected to follow.

[0065] The diagram of Fig. 4B also shows error points e1, e k , e k+1 , e k+2 , which represent the errors between the predicted path 450 and the desired path 452 at different steps k.

[0066] The weighted-out area 454 represents an area where the confidence in the desired path 452 is low (e.g., below a threshold), which results in the errors in the MPC cost function being weighted out.

[0067] The cost function C is calculated for each of the multiple references (e.g., the right target (camera 211), the left target (camera 212), and the map-based target 213) according to the following equation: C=∑k=1p{c1w1(Y+Yc−Yr,1)2+c2w2(Y+Yc−Yr,2)2+c3w3(Y+Yc−Yr,3)2 +wΔu(uk−uk−1)2+wu(uk−uref)2} where C is the cost function, c i a confidence value of a target for source i is w i a weight value for patches of the target of source i, Y is a predicted output of the vehicle (e.g., the predicted path 450), Y c A camera performance bias for the side position is Y rthe target is based on the source i (e.g., the desired path 452), u is the steering angle command, u k a steering angle command in the current step and u ref This is a reference steering wheel angle. It should be understood that the reference steering wheel angle... ref a forward coupling control command δ ff is equivalent.

[0068] The forward coupling control command δ ff can be expressed using the following equation: δff=−kk(L+KusVx2)[6xmp2(1−2rLA)02xmp(2−3rLA)0]e+kk(L+KusVx2)kd where kk=−xmp2(2−3rLA)(Vx2mlfCrL−lr)−xmp where L is the wheelbase of the vehicle, K us the understeer coefficient is V x the longitudinal speed is x mp the distance to the desired merging point into a target lane is, r LA a calibration parameter, m is the vehicle mass, l fthe distance from the center of gravity to the front wheels is and C r The cornering stiffness of the rear wheels.

[0069] The forward coupling control command δ ff It is calculated for a steady state and therefore provides no information about convergence in finite time. To achieve this, the following vanishing control equation can be used: δcmd=Ktk˙d×tan(c×e) where c [1x4] a tuning parameter and e a modified foresight fault state from the vehicle dynamics state space. This control equation vanishes according to its design where the curvature does not change; therefore, the response in the steady state of the system remains unchanged. The final theorem for this is expressed as follows: ess=lims→0sE(s)=−[(A−B1K)]−1[B1δff+B2kd+B1δcmd] =[xmpxmp(L+KusVx2)+kk'[2(2−3rLA)(Vx2mlfCrLlr)−xmp]6kk'(2rLA−1)0−lr+mVx2lfCrL0]kd_Kt[1−tanh2(∑ci×ei)]k˙d.

[0070] According to one or more embodiments, a weight adjustment (e.g., using the weight scaling module 214) can be performed to exclude low confidence values ​​near a far end of the prediction horizon in favor of using closer values ​​for calculating the cost function. For example, if accumulated curvature is high at the beginning of the control horizon, the weight for the initial part of the horizon is increased, and a gain for the final part of the horizon is increased. If the confidence for the initial part of the horizon is higher, the gain for the remaining parts of the horizon is decreased.

[0071] According to one or more embodiments, the curvature can be modified (e.g., using the curvature modifier and hysteresis module 216). For example, if the curvature decreases rapidly, the lowering can be delayed; however, if the curvature increases, the curvature can be assisted to be reset to its previous value.

[0072] During a curve, for example, one or more embodiments prevent the system from drifting when low-frequency disturbances are present in the curvature of the target. At one output of the curve, the curvature-based feedforward is maintained to prevent the curve from drifting outwards due to the feedforward carrying the curvature signal.

[0073] One or more embodiments offer significant technical advantages. For example, one or more embodiments described herein offer significant advantages with regard to vehicle function by improving the precision and reliability of vehicle control in complex driving environments. By effectively utilizing multiple references from decoupled sources such as cameras and map data, and dynamically adjusting control parameters based on confidence levels and modified curvature, one or more embodiments ensure accurate lane tracking even in scenarios with sporadic or distorted lane lines. This approach reduces the probability of control errors, improves the vehicle's ability to navigate or traverse complex geometries (e.g., tight curves and cloverleaf intersections), and increases overall driving efficiency and comfort.Furthermore, the adaptive calculations of weight and horizon length contribute to more robust and stable vehicle control, which further optimizes the performance of advanced driver assistance systems.

[0074] It is understood that one or more of the embodiments described herein can be implemented in conjunction with any other type of currently known or subsequently developed computing environment. For example, it shows Fig.5 A block diagram of a processing system 500 for implementing the techniques described herein. According to one or more embodiments described herein, the processing system 500 is an example of a cloud computing node in a cloud computing environment. In examples, the processing system 500 includes one or more central processing units (also referred to as "processors" or "processing resources" or "processing devices") 521a, 521b, 521c, etc. (collectively or generally referred to as "processor(s) 521" or "processing device(s) 521"). In aspects of this disclosure, each processor 521 may comprise a reduced instruction set computer (RISC) microprocessor. The processors 521 are coupled via a system bus 533 to a system memory 522 and / or various other components.The system memory 522 can include one or more temporary and / or persistent storage devices such as random-access memory (RAM) 523, read-only memory (ROM) 524, and / or the like, including combinations and / or multiples thereof. The system bus 533 can include a basic input / output system (BIOS) that controls certain basic functions of the processing system 500.

[0075] Furthermore, an input / output (I / O) adapter 527 and a network adapter 526 are shown, which are coupled to the system bus 533. The I / O adapter 527 can be a Small Computer System Interface (SCSI) adapter that communicates with a hard disk 535 and / or a storage device 536 or any other similar component. The I / O adapter 527, the hard disk 535, and the storage device 536 are collectively referred to as mass storage 534. The operating system 540 for execution on the processing system 500 can be stored in the mass storage 534. The network adapter 526 connects the system bus 533 to an external network 538, enabling the processing system 500 to communicate with other such systems.

[0076] A display (e.g., a display screen) 539 is connected to the system bus 533 via a display adapter 532, which may include a graphics adapter to improve the performance of graphics-intensive applications and a video controller. In one aspect of this disclosure, the adapters 526, 527, and / or 532 may be connected to one or more I / O buses that are connected to the system bus 533 via an intermediate bus bridge (not shown). Suitable I / O buses for connecting peripheral devices such as disk controllers, network adapters, and graphics adapters typically include common protocols such as Peripheral Component Interconnect (PCI). Additional input / output devices are shown to be connected to the system bus 533 via a user interface adapter 528 and a display adapter 532.A keyboard 529, a mouse 530 and a speaker 531 can be connected to the system bus 533 via the user interface adapter 528, which may, for example, include a super I / O chip that integrates multiple device adapters into a single integrated circuit.

[0077] In some aspects of the present disclosure, the processing system 500 includes a graphics processing unit (GPU) 537. The graphics processing unit 537 is a specialized electronic circuit designed to manipulate and modify memory in order to accelerate the generation of images in a frame buffer intended for output to a display. In general, the graphics processing unit 537 is very efficient at manipulating computer graphics and image processing and has a highly parallel structure, which makes it more effective than general-purpose CPUs for algorithms that process large blocks of data in parallel.

[0078] Thus, the processing system 500, as configured herein, has a processing capability in the form of processors 521, a storage capability including system memory 522 and mass storage 534, input means such as a keyboard 525 and a mouse 530, and an output capability including a loudspeaker 531 and a display 539. In some aspects of this disclosure, a portion of the system memory 522 and the mass storage 534 jointly store the operating system 540 to coordinate the functions of the various components represented in the processing system 500.

[0079] The terms "a / an / an" do not denote a quantity restriction, but rather indicate the presence of at least one of the elements being referred to. The term "or" means "and / or" unless the context clearly indicates otherwise. A reference in the entire description to "an aspect" means that a particular element (e.g., a feature, a structure, a step, or a property) described in connection with that aspect is contained in at least one aspect described herein and may or may not be present in other aspects. Furthermore, it is understood that the described elements in the various aspects can be combined in any suitable way.

[0080] When it is stated that an element, such as a layer, film, area, or substrate, is located "on" another element, it can be located directly on top of the other element, or there can be elements in between. Conversely, when it is stated that an element is located "directly on" another element, there are no elements in between.

[0081] Unless otherwise stated herein, all test standards or norms are the latest applicable norm as of the filing date of this application or, if priority is claimed, as of the filing date of the earliest priority application in which the test standard appears.

[0082] Unless otherwise defined, the technical and scientific terms used herein have the same meanings as generally understood by a person skilled in the field to which this disclosure relates.

[0083] Although the above disclosure has been described with reference to exemplary embodiments, it is understood by the person skilled in the art that various modifications can be made and equivalent elements can be substituted without altering the scope of the disclosure. Furthermore, many modifications can be made to adapt a particular situation or material to the teachings of the disclosure without altering its essential scope. Therefore, the present disclosure is not intended to be limited to the specific embodiments disclosed, but rather to encompass all embodiments that fall within its scope.

Claims

[1] Computer-implemented method for model predictive control for automated driving in complex geometries, wherein the method comprises: Receiving lane line information from a first camera assigned to a first side of a vehicle (100), a second camera assigned to a second side of the vehicle (100), and map data; Initiating a perception task using lane line information; Determine that the perception task is disrupted due to lane geometry; Generating patches of a target path, where each patch has an associated confidence value; Creating a combined target path by joining the target path patches; Generating, using the combined target path, desired steering commands for the vehicle (100), wherein generating the desired steering commands for the vehicle (100) includes calculating a cost function using the associated confidence value for each of the patches and a weight associated with each of the patches; and Controlling the vehicle (100) using the desired steering commands to cause the vehicle (100) to follow the combined target path. [2] Computer-implemented method according to claim 1, wherein generating the target path patches comprises generating a first patch using the lane line information from the first camera. [3] Computer-implemented method according to claim 2, wherein generating the target path patches further comprises generating a second patch using the lane line information from the second camera. [4] Computer-implemented method according to claim 3, wherein generating the target path patches further comprises generating a third patch using the lane line information from the map data. [5] Computer-implemented method according to claim 4, wherein generating the combined target path by joining the target path patches comprises joining at least two of the first patch, the second patch and the third patch. [6] Computer-implemented method according to claim 4, wherein generating the combined target path by joining the target path patches comprises joining the first patch, the second patch and the third patch. [7] Computer-implemented method according to claim 1, wherein the cost function is calculated according to the following equation: C=∑k=1p{c1w1(Y+Yc−Yr,1)2+c2w2(Y+Yc−Yr,2)2+c3w3(Y+Yc−Yr,3)2 +wΔu(uk−uk−1)2+wu(uk−uref)2} where C is the cost function, c i the assigned confidence value of the target for a source i is w i The weight value for patches of the target of source i, which is assigned to each source, Y is a predicted output of the vehicle (100), Y c A camera performance bias for a side position is Y r the target is based on the source i, u is a steering angle command, u k a steering angle command in a current step and u ref It is a steering angle reference. [8] Vehicle (100), comprising: a first camera; a second camera; a vehicle installation (106); and a processing system (102), comprising: a memory (112) containing computer-readable instructions; and a processing device (110) for executing the computer-readable instructions, wherein the computer-readable instructions control the processing system (102) to perform operations for model predictive control for automated driving in complex geometries, the operations comprising: Receiving lane line information from the first camera, the second camera, and map data; Initiating a perception task using lane line information; Determine that the perception task is disrupted due to lane geometry; Generating patches of a target path, where each patch has an associated confidence value; Creating a combined target path by joining the target path patches; Generating, using the combined target path, desired steering commands for the vehicle (100), wherein generating the desired steering commands for the vehicle (100) includes calculating a cost function using the associated confidence value for each of the patches and a weight associated with each of the patches; and Controlling the vehicle (100) using the desired steering commands to cause the vehicle (100) to follow the combined target path. [9] Vehicle (100) according to claim 8, wherein generating the target path patches comprises generating a first patch using the lane line information from the first camera, wherein generating the target path patches further comprises generating a second patch using the lane line information from the second camera, wherein generating the target path patches further comprises generating a third patch using the lane line information from the map data, wherein generating the combined target path by joining the target path patches comprises joining the first patch, the second patch and the third patch.

Citation Information

Patent Citations

  • procedures for estimating lanes

    DE102015209467A1

  • Method and device for determining a roadway model for a vehicle environment

    DE102016214045A1

  • METHOD AND DEVICE FOR MULTI-SENSOR DATA FUSION FOR AUTOMATED AND AUTONOMOUS VEHICLES

    DE102019112413A1