Vehicle system and autonomous lane departure mitigation method
Through the model prediction control system in autonomous driver assistance technology, the steering angle command is iteratively adjusted based on the vehicle's current steering angle and lane boundary difference, which solves the problem of lane maintenance assist intervention in the existing technology, and realizes the problem of sudden or unintuitive lane maintenance assistance intervention. More stable lane keeping and a better driving experience.
Patent Information
- Application Number
- CN202311389444.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-14
- Filing Date
- 2023-10-25
- Publication Date
- 2025-01-14
AI Technical Summary
Existing autonomous driver assistance technologies have sudden or non-intuitive interventions in lane keeping, which can disrupt the driving experience, causing the vehicle to deviate from the lane or interfere with the driver while manual control.
Through the model prediction control system, based on the vehicle's current steering angle, reference lateral trajectory and lane boundary difference, the steering angle constraints of the vehicle within the predicted range are determined, and the steering angle commands are iteratively adjusted to minimize the vehicle's and reference trajectory and lane boundary between the vehicle and the reference trajectory and lane boundary. The difference ensures that the vehicle operates independently in the lane.
Achieving a more seamless and intuitive lane keeping assist function, reducing the risk of vehicle deviation and interfering with driver control, improving driving experience and safety.
Smart Images

Figure CN119305550A_ABST
Abstract
Description
Technical Field
[0001] The technical field generally relates to vehicle systems and, more particularly, to autonomous driver assistance to maintain operation of a vehicle within a desired lane of travel. Background Art
[0002] Modern vehicles include various enhanced or advanced features to support human drivers in operating the vehicle. Many vehicles are capable of sensing their environment and facilitating vehicle operation. For example, autonomous vehicles or other vehicles capable of supporting autonomous operating modes use sensing devices such as radar, lidar, image sensors, etc. to sense their environment. Vehicle automation has been classified into a numerical level ranging from zero to five, with zero corresponding to non-automation with full human control and five corresponding to full automation with no human control. Various automated driver assistance systems (such as cruise control, adaptive cruise control, and parking assistance systems) correspond to lower levels of automation, while true "driverless" vehicles correspond to higher levels of automation.
[0003] Automated driver assistance technologies have the potential to improve safety and user experience. Lane keeping assist is an autonomous driver assistance feature that helps prevent a vehicle from unintentionally drifting out of its lane by returning the vehicle to its intended lane of travel. However, some drivers or passengers may perceive intervention by autonomous driver assistance features as abrupt, unintuitive, or otherwise disruptive to the driving experience. For example, a lane keeping assist feature may engage later than expected and allow lane departure, engage more aggressively than expected, or engage in a manner that could potentially disrupt, interfere with, or conflict with the driver's simultaneous manual control of the steering wheel. Therefore, it is desirable to provide driver assistance features with more seamless engagement and intuitive behavior. Summary of the Invention
[0004] A method for assisting operation of a vehicle, and related methods and vehicle systems, is provided. A method of assisting operation of a vehicle involves: obtaining, by a controller associated with the vehicle, a reference lateral trajectory of the vehicle; obtaining, by the controller, a current steering angle associated with the vehicle; determining, by the controller, a control trajectory of the vehicle that satisfies one or more steering angle constraints for operating the vehicle within a prediction horizon based at least in part on the current steering angle, a first difference between the control trajectory and the reference lateral trajectory, and a second difference between the control trajectory and a lane boundary; determining, by the controller, a steering angle command for the vehicle based at least in part on the control trajectory; and autonomously operating, by the controller, one or more actuators on the vehicle based on the steering angle command before the vehicle crosses the lane boundary.
[0005] In one or more implementations, determining a control trajectory involves: determining a sequence of future steering angle commands for the vehicle based at least in part on a current steering angle and one or more steering angle constraints; and determining a sequence of predicted lateral positions of the vehicle within a prediction range based at least in part on the sequence of future steering angle commands, wherein the control trajectory includes the sequence of predicted lateral positions. In one implementation, determining the sequence of future steering angle commands involves iteratively adjusting one or more of the future steering angle commands to minimize a first difference between the control trajectory and a reference lateral trajectory. In another implementation, determining the sequence of future steering angle commands involves iteratively adjusting one or more of the future steering angle commands to minimize a second difference between the control trajectory and a lane boundary. In another implementation, determining the sequence of future steering angle commands involves iteratively adjusting one or more of the future steering angle commands to minimize a weighted sum of the first difference between the control trajectory and the reference lateral trajectory and a second difference between the control trajectory and the lane boundary. In another implementation, determining the sequence of future steering angle commands involves iteratively adjusting one or more of the future steering angle commands to minimize a third difference between consecutive future steering angle commands of the sequence of future steering angle commands. In another implementation, determining the sequence of future steering angle commands involves iteratively adjusting one or more of the future steering angle commands to minimize a third difference between an initial future steering angle command of the sequence of future steering angle commands and a driver steering angle commanded by a driver of the vehicle.
[0006] In one or more implementations, obtaining a reference lateral trajectory involves receiving a reference lateral trajectory for returning the vehicle to the center of a lane in accordance with a lane keeping assist function of a guidance system associated with the vehicle. In one or more implementations, autonomously operating one or more actuators involves autonomously operating one or more actuators on the vehicle in accordance with a steering angle command when a future steering angle command in a sequence of future steering angle commands associated with the control trajectory satisfies an activation threshold. In one implementation, autonomously operating one or more actuators involves autonomously operating one or more actuators on the vehicle in accordance with a steering angle command when a difference between the future steering angle command and a current steering angle of the vehicle is greater than a first threshold, or when a rate of change associated with the future steering angle command is greater than a second threshold.
[0007] An apparatus for a non-transitory computer-readable medium having executable instructions stored or encoded thereon, which, when executed by a processor, causes the processor to provide a model predictive control system, the model predictive control system being configurable to: obtain a reference lateral trajectory of a vehicle; obtain a current steering angle associated with the vehicle; determine a control trajectory of the vehicle that satisfies one or more steering angle constraints for operating the vehicle within a prediction range based at least in part on the current steering angle, a first difference between the control trajectory and the reference lateral trajectory, and a second difference between the control trajectory and a lane boundary; determine a steering angle command for the vehicle based at least in part on the control trajectory; and autonomously operate one or more actuators on the vehicle based on the steering angle command before the vehicle crosses the lane boundary.
[0008] In one or more implementations, a model predictive control system may be configured to: determine a sequence of future steering angle commands for a vehicle based at least in part on a current steering angle and one or more steering angle constraints; and determine a sequence of predicted lateral positions of the vehicle within a prediction range based at least in part on the sequence of future steering angle commands, wherein the control trajectory includes the sequence of predicted lateral positions. In one or more implementations, the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize a first difference between the control trajectory and a reference lateral trajectory. In one or more implementations, the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize a second difference between the control trajectory and a lane boundary. In one or more implementations, the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize a weighted sum of the first difference between the control trajectory and the reference lateral trajectory and a second difference between the control trajectory and the lane boundary. In one or more implementations, the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize a third difference between consecutive future steering angle commands of the sequence of future steering angle commands. In one or more implementations, the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize a third difference between an initial future steering angle command of the sequence of future steering angle commands and a driver steering angle commanded by a driver of the vehicle. In one or more implementations, the reference lateral trajectory returns the vehicle to the center of a lane according to a lane keeping assist function of a guidance system associated with the vehicle.
[0009] An exemplary vehicle is also provided, comprising: a steering system; one or more actuators associated with the steering system; and a controller coupled to the one or more actuators, the controller being configurable by a processor to: obtain a reference lateral trajectory of the vehicle; obtain a current steering angle associated with the steering system of the vehicle; identify a lane boundary of a lane in which the vehicle is currently traveling; determine a control trajectory for the vehicle that satisfies one or more steering angle constraints for operating the steering system within a prediction range based at least in part on the current steering angle, a first difference between the control trajectory and the reference lateral trajectory, and a second difference between the control trajectory and the lane boundary; determine a steering angle command for one or more actuators based at least in part on the control trajectory; and autonomously operate one or more actuators on the vehicle in accordance with the steering angle command to control a subsequent steering angle associated with the steering system before the vehicle crosses the lane boundary. In one or more implementations, the controller may be configured to provide a model predictive control system for: determining a future steering angle command sequence for the vehicle based at least in part on a current steering angle and one or more steering angle constraints; and determining a predicted lateral position sequence for the vehicle within a prediction range based at least in part on the future steering angle command sequence, wherein the control trajectory includes the predicted lateral position sequence, and the model predictive control system may be configured to iteratively adjust one or more of the future steering angle commands to minimize at least one of a first difference between the control trajectory and a reference lateral trajectory and a second difference between the control trajectory and a lane boundary. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Exemplary aspects will be described below with reference to the following drawings, wherein like reference numerals represent like elements, and wherein:
[0011] Figure 1 is a block diagram illustrating a vehicle system according to various implementations;
[0012] Figure 2 is a diagram showing various implementations applicable to Figure 1 A block diagram of an autonomous driving system (ADS) for a vehicle system;
[0013] Figure 3 is a diagram illustrating a method for implementing a Figure 2 A block diagram of a model predictive control (MPC) system implemented in the vehicle control system in the ADS; and
[0014] Figure 4 is a schematic diagram illustrating the relationship between a control trajectory of a predicted lateral position of a vehicle relative to a reference lateral trajectory of the vehicle and a lane boundary referenced by a lane keeping assist function of a vehicle guidance system. DETAILED DESCRIPTION
[0015] The following detailed description is merely exemplary in nature and is not intended to limit application and use. In addition, there is no intention to be bound by any express or implied theory presented in the previous introduction, the invention content or the detailed description below. As used herein, the term module refers to any hardware, software, firmware, electronic control component, processing logic and / or processor device, alone or in any combination, including but not limited to: application-specific integrated circuits (ASICs), electronic circuits, processors (shared, dedicated or groups) and memories that execute one or more software or firmware programs, combinational logic circuits and / or other suitable components that provide the described functionality.
[0016] Figure 1 1 shows an exemplary implementation of a vehicle system 100 adapted to provide one or more driver assistance features or functions that support autonomous operation of the vehicle 10. In this regard, in some implementations, the vehicle system 100 can determine a plan for autonomously operating the vehicle 10 along a route in a manner that takes into account objects or obstacles detected by the onboard sensors 28, 40. Figure 1 As shown, vehicle 10 generally includes a chassis, a body 14, and front and rear wheels 16, 18 that are rotatably coupled to the chassis near respective corners of the body 14. The body 14 is disposed on the chassis and substantially surrounds the components of the vehicle 10, and the body 14 and chassis may collectively form a frame.
[0017] In an exemplary implementation, vehicle 10 is an autonomous vehicle or is otherwise configured to support one or more autonomous operating modes, and control system 100 is incorporated into vehicle 10 (hereinafter referred to as vehicle 10). Vehicle 10 is described as a passenger car in the illustrated implementation, but it should be understood that any other vehicle, including motorcycles, trucks, sport utility vehicles (SUVs), recreational vehicles (RVs), boats, aircraft, etc., can also be used. In an exemplary implementation, vehicle 10 is a so-called Level 2 automation system. Level 2 systems, which stand for "partial driving automation," refer to driving mode-specific features where the automated driving system controls steering, acceleration, and braking in specific scenarios, while the driver remains alert and actively monitors the automated driving system and is able to provide driver support to control the primary driving task. For example, vehicle system 100 may support a lane keeping assist (LKA) autonomous operating mode or other lane keeping assist functionality that autonomously controls steering to facilitate keeping vehicle 10 in the desired lane of travel by minimizing or otherwise mitigating lane departures.
[0018] As shown, vehicle 10 generally includes a propulsion system 20, a transmission system 22, a steering system 24, a braking system 26, a sensor system 28, an actuator system 30, at least one data storage device 32, at least one controller 34, and a communication system 36. In various implementations, propulsion system 20 may include an internal combustion engine, an electric motor such as a traction motor, and / or a fuel cell propulsion system. Transmission system 22 is configured to transfer power from propulsion system 20 to wheels 16, 18 according to selectable speed ratios. In various implementations, transmission system 22 may include a stepped automatic transmission, a continuously variable transmission, or other suitable transmission. Braking system 26 is configured to provide braking torque to wheels 16, 18. In various implementations, braking system 26 may include friction brakes, brake-by-wire brakes, a regenerative braking system such as an electric motor, and / or other suitable braking systems. Steering system 24 influences the position of wheels 16, 18. Although shown as including a steering wheel for illustrative purposes, in some implementations contemplated within the scope of this disclosure, steering system 24 may not include a steering wheel.
[0019] The sensor system 28 includes one or more sensing devices 40a-40n that sense observable conditions of the external environment and / or the internal environment of the vehicle 10. The sensing devices 40a-40n can include, but are not limited to, radar, lidar, global positioning systems, optical cameras, thermal cameras, ultrasonic sensors, and / or other sensors. The actuator system 30 includes one or more actuator devices 42a-42n that control one or more vehicle features, such as, but not limited to, the propulsion system 20, the transmission system 22, the steering system 24, and the braking system 26. In various implementations, the vehicle features can further include interior and / or exterior vehicle features, such as, but not limited to, doors, trunks, and cabin features, such as air, music, lighting, etc. (not numbered).
[0020] The data storage device 32 stores data used to automatically control the vehicle 10. In various implementations, the data storage device 32 stores a defined map of the navigable environment. In various implementations, the defined map can be predefined by and obtained from a remote system. For example, the defined map can be assembled by the remote system and transmitted to the vehicle 10 (wirelessly and / or wiredly) and stored in the data storage device 32. It will be appreciated that the data storage device 32 can be part of the controller 34, separate from the controller 34, or part of the controller 34 and part of a separate system.
[0021] The controller 34 includes at least one processor 44 and a computer-readable storage device or medium 46. The processor 44 can be any custom or commercially available processor, a central processing unit (CPU), a graphics processing unit (GPU), a secondary processor among several processors associated with the controller 34, a semiconductor-based microprocessor (in the form of a microchip or chipset), a macroprocessor, any combination thereof, or generally any device used to execute instructions. The computer-readable storage device or medium 46 can include volatile and non-volatile storage such as read-only memory (ROM), random access memory (RAM), and keep-alive memory (KAM). KAM is permanent or non-volatile memory that can be used to store various operating variables when the processor 44 is powered off. The computer-readable storage device or medium 46 can be implemented using any of a variety of known memory devices, such as PROM (programmable read-only memory), EPROM (electrical PROM), EEPROM (electrically erasable PROM), flash memory, or any other electrical, magnetic, optical, or combination memory device capable of storing data, some of which represents executable instructions used by the controller 34 in controlling the vehicle 10.
[0022] The instructions may include one or more separate programs, each of which includes an ordered list of executable instructions for implementing logical functions. When executed by the processor 44, the instructions receive and process signals from the sensor system 28, execute logic, calculations, methods and / or algorithms for automatically controlling components of the vehicle 10, and generate control signals for the actuator system 30 to automatically control components of the vehicle 10 based on the logic, calculations, methods and / or algorithms. Although Figure 1 Only one controller 34 is shown, but implementations of the vehicle 10 can include any number of controllers 34 that communicate via any suitable communication medium or combination of communication media and cooperate to process sensor signals, execute logic, calculations, methods and / or algorithms, and generate control signals to automatically control features of the vehicle 10.
[0023] In various implementations, one or more instructions of the controller 34 are embodied in the control system 100 (e.g., in the data storage element 46) and, when executed by the processor 44, cause the processor 44 to obtain data captured or generated from the imaging and ranging device 40 and utilize the captured environmental data to determine commands for autonomously operating the vehicle 10, as described in greater detail below. In one or more exemplary implementations, the data storage element 46 stores information that can be used to determine a corresponding lateral reference trajectory for lateral maneuvering, wherein the resulting reference lateral trajectory is utilized or otherwise referenced by the processor 44 to determine steering commands for autonomously operating the vehicle 10 to mitigate lateral deviation from the desired lane of travel.
[0024] Still refer to Figure 1 In an exemplary implementation, the communication system 36 is configured to wirelessly transmit information to and from other entities 48 over a communication network, such as, but not limited to, other vehicles ("V2V" communication), infrastructure ("V2I" communication), remote systems, and / or personal devices. In an exemplary implementation, the communication system 36 is a wireless communication system that is configured to communicate via a wireless local area network (WLAN) using the IEEE 802.11 standard or by using cellular data communications. However, additional or alternative communication methods, such as dedicated short-range communication (DSRC) channels, are also considered within the scope of the present disclosure. A DSRC channel refers to a one-way or two-way short- to medium-range wireless communication channel and a corresponding set of protocols and standards designed specifically for automotive applications.
[0025] The communication network utilized by the communication system 36 can include a wireless carrier system, such as a cellular telephone system including a plurality of cell towers (not shown), one or more mobile switching centers (MSCs) (not shown), and any other networking components required to connect the wireless carrier system to the terrestrial communication system, and the wireless carrier system can implement any suitable communication technology, including, for example, digital technologies such as CDMA (e.g., CDMA2000), LTE (e.g., 4G LTE or 5G LTE), GSM / GPRS, or other current or emerging wireless technologies. Additionally or alternatively, a second wireless carrier system in the form of a satellite communication system can be utilized to provide one-way or two-way communications using one or more communication satellites (not shown) and uplink transmission stations (not shown), including but not limited to satellite radio service, satellite telephone service, etc. Some implementations may utilize terrestrial communication systems, such as traditional land-based telecommunications networks, including the public switched telephone network (PSTN) for providing hard-wired telephone, packet-switched data communications, and Internet infrastructure. One or more portions of the terrestrial communication system can be implemented using standard wired networks, fiber optic or other optical networks, cable networks, power lines, other wireless networks such as wireless local area networks (WLANs) or networks providing broadband wireless access (BWA), or any combination thereof.
[0026] Now refer to Figure 2 According to various implementations, the controller 34 implements an autonomous driving system (ADS) 70. That is, appropriate software and / or hardware components of the controller 34 (e.g., the processor 44 and the computer-readable storage device 46) are used to provide the autonomous driving system 70 for use in conjunction with the vehicle 10, for example, to automatically control the various actuators 30 to control vehicle acceleration, steering, and braking, respectively, without human intervention.
[0027] In various implementations, the instructions for the autonomous driving system 70 may be organized by function or system. Figure 2 As shown, autonomous driving system 70 can include sensor fusion system 74, positioning system 76, guidance system 78, and vehicle control system 80. As can be appreciated, in various implementations, instructions can be organized into any number of systems (e.g., combined, further divided, etc.), as the present disclosure is not limited to this example.
[0028] In various implementations, the sensor fusion system 74 synthesizes and processes sensor data and predicts the presence, location, classification, and / or path of objects and features of the vehicle 10's environment. In various implementations, the sensor fusion system 74 can incorporate information from multiple sensors, including but not limited to cameras, lidar, radar, and / or any number of other types of sensors. In one or more exemplary implementations described herein, the sensor fusion system 74 uses calibration transformation parameter values associated with the corresponding camera and reference frame pairing to associate image data with lidar point cloud data, a vehicle reference frame, or some other reference coordinate system to associate lidar points with pixel locations, assign depth to the image data, identify objects in one or more of the image data and lidar data, or otherwise synthesize the associated image data and lidar data. In other words, the sensor output from the sensor fusion system 74 (e.g., a detected object and / or a marker of its location relative to the vehicle 10) provided to the vehicle control system 80 reflects or is otherwise influenced by the calibration and association between the camera image, lidar point cloud data, etc.
[0029] The positioning system 76 processes the sensor data and other data to determine the location of the vehicle 10 relative to the environment (e.g., local position relative to a map, precise position relative to a road lane, vehicle heading, speed, etc.). The guidance system 78 processes the sensor data and other data to determine a path for the vehicle 10 to follow given the current sensor data and the current vehicle posture. The vehicle control system 80 then generates control signals for controlling the vehicle 10 based on the determined path. In various implementations, the controller 34 implements machine learning techniques to assist in the functions of the controller 34, such as feature detection / classification, obstacle mitigation, routing, mapping, sensor integration, ground truth determination, etc.
[0030] In one or more implementations, the guidance system 78 includes a motion planning module that generates a motion plan for controlling the vehicle as it travels along the route. The motion planning module includes a longitudinal solver module that generates a longitudinal motion plan output for controlling the vehicle along the route in a general direction of travel, such as by accelerating or decelerating the vehicle at one or more future locations along the route to maintain a desired speed or velocity. The motion planning module also includes a lateral solver module that generates a lateral motion plan output for controlling the vehicle laterally along the route to change the general direction of travel, such as by maneuvering the vehicle at one or more future locations along the route (e.g., to keep the vehicle centered within a lane, change lanes, etc.). The longitudinal and lateral plan outputs correspond to commanded (or planned) path outputs that are provided to the vehicle control system 80 for controlling the vehicle actuators 30 to achieve movement of the vehicle 10 along the route corresponding to the longitudinal and lateral plans.
[0031] During normal operation, the longitudinal resolver module attempts to optimize the vehicle speed (or speeds) in the direction of travel, the vehicle acceleration in the direction of travel, and the derivative of the vehicle acceleration in the direction of travel (referred to herein alternatively as the vehicle's longitudinal jerk), and the lateral resolver module attempts to optimize one or more of the steering angle, the rate of change of the steering angle, and the acceleration or second derivative of the steering angle (referred to herein alternatively as the vehicle's lateral jerk). In this regard, the steering angle can be related to the curvature of the path or route, and any one of the steering angle, the rate of change of the steering angle, and the acceleration or second derivative of the steering angle can be optimized by the lateral resolver module individually or in combination.
[0032] In an exemplary implementation, the longitudinal solver module receives or otherwise obtains the current or instantaneous pose of the vehicle, which includes the vehicle's current location or position, the vehicle's current orientation, the vehicle's current speed or velocity, and the vehicle's current acceleration. Using the vehicle's current location or position, the longitudinal solver module also retrieves or otherwise obtains route information, which includes information about the route the vehicle is traveling given the current pose plus some additional buffer distance or time period (e.g., 12 seconds into the future), such as, for example, current and future road slope or pitch, current and future road curvature, current and future lane information (e.g., lane type, boundaries, and other constraints or restrictions), and other constraints or restrictions associated with the road (e.g., minimum and maximum speed limits, height or weight limits, etc.). The route information can be obtained from, for example, an onboard data storage element 32, an online database, or other entity. In one or more implementations, the lateral route information can include a planned lateral path command output by the lateral solver module, wherein the longitudinal and lateral solver modules iteratively derive an optimal travel plan along the route.
[0033] The longitudinal resolver module also receives or otherwise obtains current obstacle data related to the vehicle's path and current posture, which may include, for example, the location or position, size, orientation or heading, velocity, acceleration, and other characteristics of objects or obstacles in the vehicle's vicinity or future path. The longitudinal resolver module also receives or otherwise obtains longitudinal vehicle constraint data, which characterizes or otherwise defines the vehicle's kinematic or physical capabilities for longitudinal motion, such as, for example, maximum acceleration and maximum longitudinal jerk, maximum deceleration, etc. The longitudinal vehicle constraint data may be specific to each particular vehicle and may be obtained from an onboard data storage element 32 or from a networked database or other entity 48, 52, 54. In some implementations, the longitudinal vehicle constraint data may be calculated or otherwise determined dynamically or in substantially real time based on the vehicle's current mass, the vehicle's current onboard fuel level, the vehicle's historical or recent performance, and / or potentially other factors. In one or more implementations, the longitudinal vehicle constraint data is calculated or determined relative to the lateral path, the lateral vehicle constraint data, and / or determinations made by the lateral resolver module. For example, by calculating the maximum longitudinal speed as a function of the path curvature and the maximum lateral acceleration (which can itself be constrained by rider preference or vehicle dynamics), the maximum longitudinal speed can be constrained at a specific location by the path curvature and the maximum lateral acceleration. In this regard, at locations where the path is relatively curvy (e.g., a sharp turn), the maximum longitudinal speed can be limited accordingly to maintain a comfortable or achievable lateral acceleration along the curve.
[0034] Using various inputs to the longitudinal solver module, the longitudinal solver module calculates or otherwise determines a longitudinal plan (e.g., future planned speed, acceleration, and jerk values as a function of time) for traveling along the route within a certain prediction horizon (e.g., 12 seconds) by optimizing a certain longitudinal cost variable or combination thereof (e.g., minimizing travel time, minimizing fuel consumption, minimizing jerk, etc.). This optimization is achieved by varying the vehicle's speed or velocity from its current attitude in a manner that ensures the vehicle adheres to the longitudinal ride preference information as closely as possible while also adhering to lane boundaries or other route constraints and avoiding collisions with objects or obstacles. In this regard, in many cases, the resulting longitudinal plan generated by the longitudinal solver module does not violate the maximum vehicle speed, maximum vehicle acceleration, maximum deceleration, and maximum longitudinal jerk settings associated with the user, while also maintaining an adherence distance or buffer associated with the user. That is, in some scenarios, violating one or more longitudinal ride preference settings may be necessary to avoid collisions, obey traffic signals, etc., in which case the longitudinal solver module may attempt to maintain adherence to as many of the user-specific longitudinal ride preference settings as possible. Thus, the resulting longitudinal plan generally adheres to the user's longitudinal ride preference information, but not necessarily so strictly.
[0035] In a similar manner, the lateral solver module receives or otherwise obtains the current vehicle pose and associated path information, as well as obstacle data, for use in determining a lateral travel plan solution within a prediction horizon. The lateral solver module also receives or otherwise obtains lateral vehicle constraint data that characterizes or otherwise defines the kinematic or physical capabilities of the vehicle's lateral motion, such as, for example, a maximum steering angle or steering angle range, a minimum turning radius, a maximum rate of change of the steering angle, and the like. The lateral vehicle constraint data may also be specific to each particular vehicle and may be obtained from an onboard data storage element 32 or from a networked database or other entity 48, 52, 54. The lateral solver module may also receive or otherwise obtain user-specific lateral travel preference information, including, for example, user-specific values or settings for steering rate (e.g., maximum rate of change of steering angle, maximum acceleration of steering angle, etc.), lateral jerk, and the like. Lateral ride preference information may also include user-specific distances or buffers, such as, for example, minimum and / or maximum distances from lane boundaries, minimum lateral buffers or lateral separation distances between objects or obstacles, etc., as well as potentially other user-specific lane preferences (e.g., preferred driving lane).
[0036] Using the various inputs to the lateral solver module, the lateral solver module calculates or otherwise determines a lateral plan for traveling along the route at a future location within a certain prediction range (e.g., 50 meters) by optimizing some lateral cost variable or combination thereof (e.g., minimizing deviation from the center of the road, minimizing curvature of the path, minimizing lateral jerk, etc.), which is achieved by changing the steering angle or wheel angle in a manner to ensure that the vehicle adheres to the lateral ride preference information as much as possible while also obeying lane boundaries or other route constraints and avoiding collisions with objects or obstacles.
[0037] During normal operation, the lateral solver module can utilize the longitudinal travel plan from the longitudinal solver module, along with route information and obstacle data, to determine how to steer the vehicle from its current attitude within the prediction horizon while attempting to adhere to the lateral ride preference information. In this regard, the resulting longitudinal and lateral travel plans ultimately output by the motion planning module adhere to as many of the user's ride preferences as possible while optimizing cost variables and avoiding collisions by varying one or more of the vehicle's speed, acceleration / deceleration (longitudinal and / or lateral), jerk (longitudinal and / or lateral), steering angle, and steering angle rate. The longitudinal travel plan output by the motion planning module includes a sequence of planned speed and acceleration commands relative to time for operating the vehicle within the longitudinal prediction horizon (e.g., a speed plan for the next 12 seconds), and similarly, the lateral travel plan output by the motion planning module includes a sequence of planned steering angles and steering rates relative to distance or position for steering the vehicle within the lateral prediction horizon while operating according to the longitudinal travel plan (e.g., a steering plan for the next 50 meters). The longitudinal and lateral planning outputs are provided to the vehicle control system 80, which can utilize the vehicle positioning information and employ its own control scheme to generate control outputs that adjust the vehicle positioning information to the longitudinal and lateral planning by changing the speed and steering commands provided to the actuators 30, thereby changing the speed and steering of the vehicle 10 to simulate or otherwise achieve the longitudinal and lateral planning.
[0038] Now refer to Figure 3 , and continue to refer to Figure 1-Figure 2 In an exemplary implementation, the vehicle control system 80 includes or is otherwise configured to implement a model predictive control (MPC) system 300 that receives planned reference trajectory information output by the guidance system 78, the planned reference trajectory information being generated by path planning logic associated with the guidance system 78. The MPC system 300 utilizes the planned reference trajectory information of the vehicle, along with the current vehicle pose and other current vehicle state information from the positioning system 76, to determine corresponding actuation commands, which are provided to an actuator control system 310 (e.g., the actuator system 30) to operate one or more vehicle actuators (e.g., one or more actuator devices 42a-42n associated with the steering system 24) to attempt to achieve a desired reference trajectory while taking into account vehicle dynamics, hysteresis or delay, and potential other real-world factors or conditions that may affect the vehicle's ability to adhere to the planned reference trajectory without any lateral deviation.
[0039] In an exemplary implementation, the MPC system 300 is configured to optimize the steering angle command provided to a specific vehicle actuator control system 310 within a prediction horizon to minimize the vehicle's lateral deviation from a planned lateral reference trajectory and minimize lane departure (or lane drift) from the current lane of travel, while also satisfying safety, comfort, and / or other constraints limiting one or more of the steering angle, rate of change of the steering angle, acceleration or second-order derivative of the steering angle, lateral velocity (or rate of change of lateral position), lateral acceleration, and the like. As a result of the optimization and explicit constraints applied by the MPC system 300, the MPC system 300 can preemptively activate or initiate a steering angle command or other steering adjustment to proactively adjust the vehicle's lateral trajectory back to the lateral reference trajectory and / or desired lane of travel before a lane departure occurs, ensuring compliance with applicable constraints. The MPC system 300 proactively activates and corrects the vehicle's lateral trajectory, rather than delaying activation until a lane departure is imminent or has already occurred, as described in greater detail below.
[0040] In an exemplary implementation, the MPC system 300 is implemented by or at a control module associated with a vehicle, such as the controller 34 as part of the vehicle control system 80 of the ADS 70. In this regard, the MPC system 300 generally represents software or other components embodied by executable instructions retained in a data storage element or other computer-readable medium that can be configured to support or otherwise perform one or more processes, logic, calculations, methods, and / or algorithms associated with the subject matter described herein. The illustrated MPC system 300 includes a vehicle prediction model 302, an actuator prediction model 304, an actuation delay compensation prediction model 306, and an optimization model 308, which is cooperatively configured to facilitate iteratively adjusting or optimizing the outputs of the various models 302, 304, and 306 to arrive at an optimal steering angle command output by the MPC system 300 that minimizes a cost function associated with the MPC system 300 over a prediction horizon. For example, in one or more implementations, MPC system 300 may be configurable to optimize or minimize the cost function over a two-second forecast horizon using a discrete set of twenty different points occurring every ten milliseconds in the future, starting from the time point associated with the most recent update of MPC system 300.
[0041] The vehicle prediction model 302 generally represents a process, service, software, or other component of the MPC system 300 that can be configured to receive path planning information from the guidance system 78 as input to the MPC system 300, including but not limited to a reference lateral trajectory (y ref ) and the vehicle's reference steering angle (u refIn this regard, the reference lateral trajectory (y ) of the vehicle input to the MPC system 300 is ref ) and the reference steering angle (u ref ) can be implemented as a vector or matrix that includes a series or sequence of reference values representing target values for the lateral position and steering angle of the vehicle within a prediction range associated with the guidance system 78 (e.g., within the next 12 seconds). The vehicle prediction model 302 also receives current vehicle state information from the positioning system 76 or another component of the vehicle, which includes but is not limited to the vehicle's current lateral position, current steering angle, and current heading. Based on the relationship between the current vehicle state information and a reference lateral trajectory and reference steering angle for a period of time in the future, the vehicle prediction model 302 can be configured to utilize vehicle dynamics to solve one or more differential equations and obtain a corresponding vector or matrix of target steering angle values, which represents a series or sequence of command steering angles for achieving or approximating the reference lateral trajectory and reference steering angle.
[0042] The actuator prediction model 304 generally represents a process, service, software, or other component of the MPC system 300 that can be configured to receive the steering angle vector from the vehicle prediction model 302 and convert, translate, or otherwise map the target steering angle value into a corresponding vector of achievable steering angle values, representing steering angles that can be achieved by the vehicle actuation system given the target steering angle vector. This possible steering angle vector is then input into or otherwise provided to the delay compensation model 306, which generally represents a process, service, software, or other component of the MPC system 300 that can be configured to convert, translate, or otherwise map the achievable steering angle value into a corresponding vector of possible steering angle values that are likely to be actually achieved or completed by the vehicle actuation system, taking into account communication delays and other delays associated with actuation.
[0043] The optimization model 308 utilizes the possible steering angle vectors to calculate or otherwise determine a predicted lateral position of the vehicle within a prediction horizon associated with the MPC system 300, determines a cost associated with the possible steering angle vectors resulting from the current steering angle command vector, and iteratively adjusts one or more of the target steering angle values for the steering angle command vector to minimize or otherwise optimize the cost within the prediction horizon associated with the MPC system 300. In this regard, the predicted lateral position of the vehicle within the prediction horizon may be fed back into the vehicle prediction model 302 to iteratively adjust the target steering angle value based on a difference between the vehicle's predicted lateral position vector and corresponding paired values of a reference lateral trajectory position vector provided by the guidance system 78. In an exemplary implementation, the various models 302, 304, 306, and 308 associated with the MPC system 300 are cooperatively configured to repeatedly and iteratively adjust one or more commanded steering angles in a series or sequence of commanded steering angles determined by the vehicle prediction model 302 to minimize or otherwise optimize a cost associated with a predicted lateral position of the vehicle within a prediction horizon for a duration associated with a control cycle of the actuator control system 310, whereby an initial commanded steering angle value for the most recently determined series or sequence of commanded steering angles is output to the actuator control system 310 to control the vehicle actuators to steer the vehicle during a subsequent control cycle. For example, for an actuator control system 310 operating at a control frequency of 20 Hz to provide a 50 millisecond control cycle time period, the MPC system 300 may iteratively adjust the series or sequence of commanded steering angles multiple times during the 50 millisecond time period before providing an initial steering angle command value from the resulting optimized series or sequence of commanded steering angles to the actuator control system 310 at the end of the 50 millisecond time period.
[0044] For example, in an exemplary implementation, the MPC system 300 is initialized using the vehicle's current vehicle state information and a reference trajectory and iteratively determines, at each respective discrete point in a defined prediction horizon, an optimal steering angle command that minimizes a cost function value at that particular point in time. In this regard, the optimal steering angle command at a particular point in time is constrained to be within a range of possible steering angle command values defined by one or more constraints associated with the MPC system 300, wherein the constraints may be adaptive or vary based on the vehicle's speed or velocity, previous steering angle commands, and potentially other variables. At an initial point in the prediction horizon (e.g., k=1), the optimization model 308 iteratively adjusts or changes the steering angle command to be applied by the vehicle prediction model 302, resulting in a predicted lateral position of the vehicle at the next subsequent point in the prediction horizon (e.g., ten milliseconds in the future at k=2) that minimizes the cost function after taking into account the predicted behavior of the steering angle control actuator defined by the actuator prediction model 304 and the corresponding delay predicted by the delay compensation model 306. After optimizing the starting point of the prediction horizon, the system proceeds to a second point (k=2) of the prediction horizon, where the optimization model 308 iteratively adjusts or changes the steering angle command to be applied at the vehicle prediction model 302 at the second point of the prediction horizon (e.g., ten milliseconds in the future at k=2) by initializing the vehicle prediction model 302 with the predicted lateral position of the vehicle at the second point of the prediction horizon and the previously optimized steering angle command at the starting point of the prediction horizon, minimizing the cost function value at the next subsequent point of the prediction horizon (k=3) based on the predicted lateral position of the vehicle at the next subsequent point of the prediction horizon (e.g., twenty milliseconds in the future at k=3). In this manner, the MPC system 300 steps through discrete points of the prediction horizon to arrive at a predicted control trajectory vector (y) defined by a sequence of predicted lateral positions of the vehicle at corresponding points of the prediction horizon and a corresponding optimal steering angle command vector (u) defined by a sequence of optimized steering angle command values at corresponding points of the prediction horizon that minimizes the cost function value within the prediction horizon.
[0045] In an exemplary implementation, the cost function used by the optimization model 308 to optimize the next steering angle command to be provided to the steering system actuator is given by the equation , where k represents a specific point in the prediction range, p represents the total number of points in the prediction range, y represents the control trajectory including the predicted lateral position of the vehicle within the prediction range determined by the vehicle prediction model 302, and y ref represents a reference lateral trajectory vector including a reference lateral position of the vehicle targeted by the path planning algorithm(s) of the guidance system within the prediction range, u represents a steering angle command vector including the future steering angle command value of the vehicle within the prediction range, uref represents the reference steering angle command vector derived or defined by the path planning algorithm(s) of the guidance system within the prediction range, u k represents a specific steering angle command in the steering angle command sequence optimized by the MPC system 300, y b represents the lateral position of the reference lane boundary, u Driver represents the steering angle currently manually commanded or applied by the driver manipulating the steering wheel or other control input, ∈ represents a slack variable that allows some deviation from the constraints applied to the lateral position and steering angle, the details of which are not germane to this disclosure, and W y 、W u 、W Δu 、W b 、W D and W ∈ represents the weighting factors applied to the corresponding terms of the cost function. In this regard, the total cost associated with a particular sequence of steering angle commands and predicted lateral vehicle positions can be implemented as a weighted sum of the difference terms that the optimization model 308 seeks to minimize or optimize over the prediction horizon.
[0046] refer to Figure 4 And continue to refer to Figure 3 ,(yy ref ) term minimizes the deviation (e.g., difference 410) between the vehicle's predicted lateral trajectory 402 and the input reference lateral trajectory 404 to return the vehicle to the center of the current driving lane determined by the guidance system's path planning logic in accordance with a lane keeping assist function supported by the guidance system. (uu ref ) minimizes the deviation between the vehicle’s predicted steering angle and the input reference steering angle determined by the guidance system’s path planning logic, (u k -u k-1 ) minimize the rate of change of the steering angle (e.g., the difference between consecutive steering angles) for passenger comfort and / or safety, (yy b ) term minimizes the lane departure or offset beyond the lateral lane boundary reference 406 (eg, the difference 412 between the predicted lateral trajectory 402 and the lane boundary reference 406 ), (u Driver -u k-1 ) term minimizes the difference between the steering angle command determined by the MPC system 300 for the current point in time and the observed steering angle the driver is attempting to achieve via the steering wheel or other input.
[0047] (u Driver -u k-1) term minimizes the difference between the steering angle command determined by the MPC system 300 and the current steering angle applied by the driver. When the driver is actively steering, minimizing the deviation between the automatic control action and the driver input command allows the lane keeping assist function provided by the MPC system 300 to appear more intuitive and seamless with the driver's manual operation of the vehicle by reducing interference or intervention with the driver input command. As a result, the MPC system 300 facilitates cooperative steering by allowing the driver to deviate from the lane keeping control action while allowing the MPC system 300 to minimize or otherwise optimize the driver's influence on other control objectives (e.g., minimizing lane deviation, minimizing the rate of change of steering angle, etc.). In one or more implementations, the driver input weighting factor W D is dynamically determined as a function of the driver's steering torque applied to the steering wheel such that the driver input weighting factor increases (or levels off at some maximum value) at higher driver steering torques and decreases (or drops to zero) at lower driver steering torques. For example, the driver input weighting factor may be given by Equation W D =k db *k D To control, where k D is the driver input command gain factor that is affected by vehicle speed (or velocity) and decreases with the time elapsed since lane keeping assist intervention, k db is the driver input command dead zone gain factor, when u Driver >u db , which is given by equation k db =min(1,∝ ramp *(u Driver -u db )) control, otherwise it is equal to 0, where u db is the driver input command dead zone, ∝ ramp is the driver input command deadband ramp rate, u Driver is the driver input steering angle command, which can be obtained by u according to the equation Driver =G(τ Driver ) is determined by mapping the driver's steering torque to the corresponding steering angle, where τ Driver is the driver steering torque.
[0048] In one or more implementations, the lane boundary weighting factor W b As the difference 412 between the predicted lateral trajectory 402 and the lane boundary reference 406 increases, it increases nonlinearly to increasingly penalize larger deviations from the lane boundary reference 406. In this way, the cost function implemented by the optimization model 308 minimizes lane deviation while using (yy ref) term attempts to maximize following the reference trajectory back to the center of the lane. Depending on the implementation, the location of the lane boundary reference 406 can be obtained, determined, or otherwise derived using map data stored in a data storage element associated with the vehicle (e.g., advanced driver assistance system (ADAS) map data, high-definition (HD) map data, or other map data stored in the data storage device 32) and / or computer vision techniques using image data or other sensor data obtained from one or more devices or components on the vehicle (e.g., one or more sensing devices 40a-40n associated with the sensor system 28 and / or the sensor fusion system).
[0049] refer to Figure 3-Figure 4 , and continue to refer to Figure 1-Figure 2 By means of the cost function utilized by the MPC system 300, the MPC system 300 takes into account the boundary layer transition and adjusts the boundary layer weight (W b ) boundary layer costs (e.g., (yy b ) term), while maximizing the ability to follow the path back to center, it also simultaneously attempts to minimize lane deviations. Furthermore, by predicting future lane deviations within the prediction horizon, the MPC system 300 can preemptively engage the lane keeping assist function by proactively providing steering commands that minimize future lane deviations and steer the vehicle back to the center of the lane before any lane departure, thereby minimizing minor lane deviations that might otherwise occur using traditional feedforward or feedback control based on the time to lane crossing rather than the distance. Thus, compared to approaches that rely on a lane crossing time threshold without considering the aggressiveness of the resulting control action, the MPC system 300 behaves more intuitively by preemptively and proactively attempting to avoid aggressive control actions. This is achieved by penalizing the rate of change of the steering angle in the cost function and providing explicit constraints on the steering angle to keep any steering angle command within thresholds defined for passenger comfort and / or safety. Simultaneously, the MPC system 300 considers current driver input to minimize the deviation between any preemptive automated control actions and the driver's input during active steering, thereby minimizing potential disruption or interference to the driving experience. It also facilitates cooperative steering by allowing the driver to deviate from lane keeping control actions while attempting to minimize the impact of the driver's actions on other control objectives.
[0050] In one or more implementations, the MPC system 300 continuously determines and updates a control trajectory while the lane keeping assist function is disengaged, and analyzes the resulting control trajectory and steering angle command vector within a prediction range to automatically determine when to engage or otherwise activate the lane keeping assist function based on the predicted lane keeping assist control trajectory and steering angle command. In this regard, rather than engaging or activating lane keeping assist based purely on an estimated amount of time remaining until a lane boundary is crossed, the ADS 70 and / or vehicle control system 80 considers vehicle dynamics and analyzes potential future steering angles that may be required to adjust the lateral position of the vehicle, thereby preemptively or proactively engaging the lane keeping assist function earlier in a manner that takes into account passenger comfort, stability, and the aggressiveness of control actions that might otherwise be required to meet lane boundary constraints if engagement is delayed. For example, even though the estimated amount of time remaining until crossing a lane boundary (or time to cross the lane (TTLC)) may be greater than an activation threshold, when the difference between the maximum future steering angle command value within the optimized steering angle command vector (u) and the current steering angle is greater than the activation threshold and / or the maximum rate of change between consecutive steering angle commands of the optimized steering angle command vector (u) is greater than the activation threshold, the ADS 70 and / or the vehicle control system 80 may automatically and autonomously activate the lane keeping assist function and implement the corresponding steering angle command and lateral trajectory determined by the MPC system 300. Thus, rather than delaying lane keeping assist activation until a point in time when a steering angle or steering angle change that may interfere with passenger comfort or vehicle stability may be required, the ADS 70 and / or the vehicle control system 80 may utilize the MPC system 300 to preemptively adjust the vehicle's lateral position even though a crossing of a lane boundary may not be imminent based on the TTLC value or the TTLC activation threshold.
[0051] For the sake of brevity, conventional technologies related to lane keeping assist, driver assistance features, autonomous vehicles, and other functional aspects of the system (and the various operating components of the system) may not be described in detail herein. Furthermore, the connecting lines shown in the various figures included herein are intended to represent exemplary functional relationships and / or physical couplings between the various elements. It should be noted that many alternative or additional functional relationships or physical connections may exist in implementations of the present subject matter.
[0052] As used herein, the word "exemplary" means "serving as an example, instance, or illustration." Thus, any implementation described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other implementations. All implementations described herein are exemplary implementations provided to enable one skilled in the art to make or use the invention and are not intended to limit the scope of the invention, which is defined by the claims.
[0053] Those skilled in the art will appreciate that the various illustrative logic blocks, modules, circuits and algorithmic steps described in conjunction with the implementation disclosed herein can be implemented as electronic hardware, computer software or a combination of the two. Some implementations have been described above based on functions and / or logic block components (or modules) and various processing steps. However, it should be understood that such block components (or modules) can be implemented by any number of hardware, software and / or firmware components configured to perform a specified function. In order to clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits and steps have been generally described above based on their functions. Whether such function is implemented as hardware or software depends on specific applications and the design constraints imposed on the entire system. Those skilled in the art can implement the described functions in different ways for each specific application, but such implementation decisions should not be interpreted as causing departure from the scope of the present invention.
[0054] When implemented in software or firmware, the various elements of the system described herein are essentially code segments or instructions that perform various tasks. A program or code segment can be stored in a processor-readable medium, or transmitted on a transmission medium or communication path by a computer data signal embodied in a carrier wave. "Computer-readable medium," "processor-readable medium," or "machine-readable medium" can include any medium that can store or transmit information. Examples of processor-readable media include electronic circuits, semiconductor memory devices, ROMs, flash memories, erasable ROMs (EROMs), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. Computer data signals can include any signal that can propagate on transmission media such as electronic network channels, optical fibers, air, electromagnetic paths, or RF links. Code segments can be downloaded via computer networks such as the Internet, intranets, and LANs.
[0055] In this document, relational terms such as first and second may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Unless specifically limited by the claim language, ordinal numbers such as "first," "second," "third," etc. simply indicate different individuals out of a plurality and do not imply any order or sequence. Unless specifically limited by the claim language, the order of the text in any claim does not imply that process steps must be performed in a temporal or logical order according to such order. Process steps may be interchanged in any order without departing from the scope of the invention, as long as such interchange does not contradict the claim language and is logically consistent.
[0056] In addition, the foregoing description may relate to elements or nodes or features that are "coupled" together. As used herein, unless otherwise expressly stated, "coupling" means that an element / node / feature is directly or indirectly connected to another element / node / feature (or directly or indirectly communicates with it), and is not necessarily mechanically connected. For example, two elements can be coupled to each other physically, electronically, logically or in any other way by one or more additional elements. Therefore, although the accompanying drawings may show an exemplary arrangement of elements that are directly connected to each other, additional intermediate elements, equipment, features or parts may be present in the implementation of the illustrated subject matter. In addition, a certain term may also be used herein only for reference purposes and is therefore not intended to be limiting.
[0057] Although at least one exemplary aspect has been presented in the foregoing detailed description, it will be understood that there are a large number of variations. It will also be understood that one or more exemplary aspects are merely examples and are not intended to limit the scope, applicability, or configuration of the present disclosure in any way. On the contrary, the foregoing detailed description will provide those skilled in the art with a convenient roadmap for implementing one or more exemplary aspects. It will be understood that various changes can be made to the function and arrangement of elements without departing from the scope of the present disclosure as set forth in the appended claims and their legal equivalents.
Claims
1. A method of assisting operation of a vehicle, the method comprising: obtaining, by a controller associated with the vehicle, a reference lateral trajectory of the vehicle; obtaining, by the controller, a current steering angle associated with the vehicle; determining, by the controller, a control trajectory of the vehicle that satisfies one or more steering angle constraints for operating the vehicle within a prediction range based at least in part on: the current steering angle, a first difference between the control trajectory and the reference lateral trajectory, and a second difference between the control trajectory and a lane boundary; determining, by the controller, a steering angle command for the vehicle based at least in part on the control trajectory; as well as One or more actuators on the vehicle are autonomously operated by the controller based on the steering angle command before the vehicle crosses the lane boundary.
2. The method according to claim 1, wherein: Determining the control trajectory includes: determining a future steering angle command sequence for the vehicle based at least in part on the current steering angle and the one or more steering angle constraints; and A predicted sequence of lateral positions of the vehicle within the prediction range is determined based at least in part on the sequence of future steering angle commands, wherein the control trajectory includes the predicted sequence of lateral positions.
3. The method according to claim 2, wherein: Determining the sequence of future steering angle commands includes iteratively adjusting one or more of the future steering angle commands to minimize the first difference between the control trajectory and the reference lateral trajectory.
4. The method according to claim 2, wherein: Determining the sequence of future steering angle commands includes iteratively adjusting one or more of the future steering angle commands to minimize the second difference between the control trajectory and the lane boundary.
5. The method according to claim 2, wherein: Determining the sequence of future steering angle commands includes iteratively adjusting one or more of the future steering angle commands to minimize a weighted sum of the first difference between the control trajectory and the reference lateral trajectory and the second difference between the control trajectory and the lane boundary.
6. The method according to claim 2, wherein: Determining the sequence of future steering angle commands includes iteratively adjusting one or more of the future steering angle commands to minimize a third difference between consecutive future steering angle commands of the sequence of future steering angle commands.
7. The method according to claim 2, wherein: Determining the sequence of future steering angle commands includes iteratively adjusting one or more of the future steering angle commands to minimize a third difference between an initial future steering angle command of the sequence of future steering angle commands and a driver steering angle commanded by a driver of the vehicle.
8. The method according to claim 1, wherein: Obtaining the reference lateral trajectory includes receiving the reference lateral trajectory for use in returning the vehicle to the center of a lane in accordance with a lane keeping assist function of a guidance system associated with the vehicle.
9. The method according to claim 1, wherein: Autonomously operating the one or more actuators includes autonomously operating the one or more actuators on the vehicle according to the steering angle command when the difference between a future steering angle command in a future steering angle command sequence associated with the control trajectory and the current steering angle of the vehicle is greater than a first threshold, or when the rate of change associated with the future steering angle command is greater than a second threshold.
10. A vehicle comprising: Steering system; one or more actuators associated with the steering system; as well as a controller coupled to the one or more actuators, the controller being configurable by a processor to: obtaining a reference lateral trajectory of the vehicle; obtaining a current steering angle associated with the steering system of the vehicle; identifying a lane boundary of a current driving lane of the vehicle; determining a control trajectory for the vehicle that satisfies one or more steering angle constraints for operating the steering system within a prediction range based at least in part on: the current steering angle, a first difference between the control trajectory and the reference lateral trajectory, and a second difference between the control trajectory and the lane boundary; determining a steering angle command for the one or more actuators based at least in part on the control trajectory; as well as The one or more actuators on the vehicle are autonomously operated according to the steering angle command to control a subsequent steering angle associated with the steering system before the vehicle crosses the lane boundary.
Citation Information
Cited By
Travel support device, travel support method, and medium
US12485901B2
Lane departure prevention system and control method thereof
US12654696B2