SYSTEM AND METHOD FOR CONTROLLING THE OPERATION OF AN OWN VEHICLE - Patent application

The control system for autonomous vehicles uses a nominal and avoidance controller to address unexpected scenarios, ensuring safety and efficiency by separating normal and emergency maneuvers, using feedback signals and predefined control parameters.

JP2025533317APending Publication Date: 2025-10-03MITSUBISHI ELECTRIC CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025541294
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-27
Filing Date
2023-12-26
Publication Date
2025-10-03

AI Technical Summary

Technical Problem

Existing automated vehicle control systems struggle to maintain safety and comfort in unexpected environmental scenarios due to sensor limitations and prediction inaccuracies, leading to inefficient and potentially unsafe evasive maneuvers.

Method used

A control system comprising a nominal controller for normal operation and an avoidance controller for emergency maneuvers, using different control theories and feedback signals to ensure timely and effective responses to obstacles, with predefined control parameters and safety regions.

Benefits of technology

Ensures safe and efficient operation of autonomous vehicles by anticipating and responding to obstacles, maintaining safety constraints while minimizing passenger discomfort and computational overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025533317000001_ABST
    Figure 2025533317000001_ABST
Patent Text Reader

Abstract

The present disclosure discloses a system and method for controlling the operation of an ego-vehicle. The method includes the steps of collecting feedback signals indicative of a current state of the ego-vehicle and a current state of an environment, determining an elevated region of the state of the ego-vehicle using tolerance values ​​of control parameters by processing the feedback signals, generating nominal control commands that maintain the state of the ego-vehicle within the determined region by processing the feedback signals with a nominal controller, and generating the avoidance control commands by evaluating a state function of the avoidance controller using values ​​of the control parameters from the determined region. The method further includes the steps of controlling the operation of the ego-vehicle in accordance with the nominal control commands if no obstacle is detected, and controlling the operation of the ego-vehicle in accordance with the avoidance control commands if an obstacle is detected.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE DISCLOSURE The present disclosure relates generally to vehicle control systems, and more particularly to systems and methods for controlling the operation of an ego-vehicle. [Background technology]

[0002] Automated vehicles operate in environments occupied by other "actors," such as other vehicles, bicycles, and pedestrians. The Automated Driving System (ADS) associated with an ego-vehicle (EV) acquires information about the environment from on-board sensors or remotely connected sensors. Based on the acquired information, the ADS predicts the future behavior of the environment and determines the best course of action for the EV to take in the environment. Such actions must take into account (i) the EV's behavior relative to the environment, (ii) existing traffic regulations, and (iii) EV operating specifications that impose constraints on the EV's operation to ensure the comfort of EV passengers.

[0003] When determining the EV's behavior, the ADS assumes that the information obtained from on-board or remotely connected sensors is accurate and complete and that the future behavior of the environment is correctly predicted. However, both detection and prediction have limitations. For example, a sensor may misclassify an obstacle on the road, or the sensor may not detect an existing obstacle on the road, or the obstacle may be outside the sensor's detection range / field of view. Other examples include an obstacle detected as stopped on the side of the road and predicted to remain stopped on the side of the road suddenly merging as the EV approaches, a vehicle predicted to continue traveling in the same lane changing lanes in front of the EV, or a pedestrian predicted to be off the road suddenly crossing the road in front of the EV. The aforementioned examples illustrate unexpected events in the environmental detection and future behavior prediction used by the ADS to plan the EV's behavior.

[0004] Despite such unexpected events, the EV must remain safe, i.e., avoid a collision, and certain important traffic rules must be implemented. However, maintaining safety despite unexpected circumstances may violate some less important criteria, such as less important traffic rules or specifications aimed at driver comfort. For example, if the EV is traveling in the left lane and another vehicle is traveling in the right lane, the ADS calculates a nominal plan based on the prediction that the other vehicle will maintain its lane. However, the other vehicle may actually cut in front of the EV, causing a collision. In this case, the ADS must execute an evasive maneuver to avoid entering an area where there is a risk of a collision between the EV and the other vehicle. However, the evasive maneuver may be an aggressive sway maneuver, driving on the shoulder. Normally, vehicles should not drive on the shoulder, but if the shoulder is clear, doing so may be permitted as an emergency response.

[0005] To control EVs in an environment, some approaches determine actions that satisfy (i)–(iii) even in the event of an unexpected event. However, such actions are conservative, and the ADS may fear something unexpected will happen and command the EV to remain motionless, making it difficult to satisfy (i)–(iii). Furthermore, determining such actions consumes a significant amount of computational time, which is counterproductive when the ADS must respond quickly to unexpected events. For example, a vehicle traveling at 54 km / h moves 7.5 m within a 0.5-second communication and computation period, which is still short for planning for unexpected events. However, this movement may result in a significant loss of maneuvering space to avoid a collision with an upcoming obstacle.

[0006] Therefore, there remains a need for systems and methods that can maintain safety in the presence of unexpected events in the environment. Summary of the Invention

[0007] An objective of some embodiments is to provide a system and method for controlling the behavior of an ego-vehicle while ensuring the comfort and safety of passengers of the ego-vehicle. Such behavior is referred to herein as the nominal movement of the ego-vehicle. As used herein, the ego-vehicle may be any type of wheeled vehicle, such as a car, a bus, or a rover. The ego-vehicle may be an autonomous or semi-autonomous vehicle. The nominal movement of the ego-vehicle is defined by constraints and / or movement targets. For an autonomous or semi-autonomous vehicle, the constraints and movement targets may include staying on the road, staying centered in the lane, maintaining a nominal longitudinal speed, and maintaining a margin to surrounding objects.

[0008] Furthermore, it is an objective of some embodiments to provide a system and method for controlling the behavior of an ego-vehicle that anticipates and responds in a timely manner to various scenarios that could potentially disrupt nominal movement constraints and movement targets. Such scenarios are referred to herein as obstacle scenarios or simply obstacles. For example, if a car suddenly decelerates in front of a controlled ego-vehicle, it may be prudent to suddenly slow down the ego-vehicle or swerve the ego-vehicle onto the shoulder, even though such abrupt maneuver may cause discomfort to passengers or violate constraints on keeping the ego-vehicle in its lane. As can be seen from this example, safety constraints take precedence over passenger comfort.

[0009] In some embodiments, an obstacle is a hypothetical scenario that could violate the safety constraints of the nominal movement if no evasive maneuver is performed. Additionally or alternatively, an obstacle is a scenario that was not considered or predicted during the planning of the nominal movement. Such a scenario may occur when the controller of the ego-vehicle responsible for the nominal movement predicts the current and future state of the ego-vehicle's operation on the road, but a nearby vehicle suddenly changes lanes in a manner not predicted by the controller, a pedestrian begins crossing the road outside a crosswalk, and / or the ego-vehicle's sensor system fails to accurately detect the surrounding environment. Additionally or alternatively, an obstacle is a scenario that causes an abrupt change in the nominal movement. For example, the controller may receive a sudden command from the driver or passenger of the ego-vehicle requesting an immediate stop. Additionally or alternatively, an obstacle is a scenario that requires an immediate reaction from the controller, such as when some of the ego-vehicle's components encounter a mechanical or electrical failure, requiring an immediate stop to maintain safety.

[0010] To that end, an objective of some embodiments is to control the nominal movement of the ego-vehicle when there is no obstacle and to perform an avoidance maneuver when there is an obstacle. To achieve such an objective, the present disclosure provides a nominal controller and an avoidance controller. The nominal controller is configured to control the nominal movement of the ego-vehicle subject to nominal constraints. The avoidance controller is configured to control an avoidance maneuver of the ego-vehicle subject to avoidance constraints that are different from the nominal constraints. Examples of avoidance maneuvers include an emergency stop, an emergency lane change, an emergency double lane change, an emergency deceleration, and an emergency acceleration.

[0011] The nominal controller and the avoidance controller use different control designs. For example, the nominal controller is based on the principle of optimal control to control nominal movement to improve the efficiency of achieving the vehicle operation objective, while the avoidance controller is based on the principle of reactive feedback control to control the avoidance maneuver to react to obstacles. Specifically, some embodiments are based on the recognition that the avoidance maneuver can be represented by a state update function that depends on control parameters. The state update function can be determined in advance, and the values ​​of the control parameters can be determined during control of the ego-vehicle. The control parameters include values ​​such as a stopping point, lateral displacement, and target speed. The difference between the control parameters and the control signals is that the control parameters remain constant during the maneuver, while the control signals can change during the maneuver. Therefore, a maneuver defined by a control signal requires the definition of many values, while a maneuver defined by a control parameter requires the definition of a single value. Different avoidance maneuvers may use different control parameters. In this way, the nominal controller and the avoidance controller are separated.

[0012] Reactive feedback control of avoidance maneuvers is advantageous because once the control parameters are determined, the evaluation of the state function with the control parameters is fast. Thus, avoidance control commands for the avoidance maneuver can be quickly determined. However, despite this advantage, the separation of the nominal controller and the avoidance controller introduces additional problems that are addressed by some embodiments.

[0013] The evasive maneuver depends on the state of the host vehicle and the state of the environment in which the host vehicle operates. For example, an emergency lane change may depend on the speed of the host vehicle, the presence of other vehicles and / or pedestrians that limit the allowable space for turning the host vehicle, etc. For different values ​​of the state of the host vehicle and the environmental conditions, different values ​​of a control parameter, such as lateral displacement, may result in a successful evasive maneuver. Furthermore, for some values ​​of the state of the host vehicle and the environmental conditions, such a control parameter may not exist, i.e., the value of such a control parameter may be outside its allowable range. Therefore, it is necessary to determine the value of the control parameter that will allow the evasive maneuver to be successful.

[0014] Conversely, the avoidance controller controls the ego-vehicle's behavior only in the case of an obstacle. If no obstacle is detected, the nominal movement is controlled by the nominal controller. If the nominal controller operates under the assumption that there is no obstacle, it can place the ego-vehicle in a state where an avoidance maneuver will not be successful. Therefore, such scenarios must be avoided while maintaining separation between the nominal and avoidance controllers.

[0015] Some embodiments are based on the recognition that by processing feedback signals indicating the current state of the ego-vehicle and the current state of the ego-vehicle's operating environment, an increased range of ego-vehicle states can be determined using acceptable values ​​for the control parameters, allowing for a successful avoidance maneuver when an obstacle is detected. A successful avoidance maneuver means that the corresponding avoidance maneuver avoids endangering the safety of the ego-vehicle, which corresponds to satisfying the avoidance constraint. Once such a range of ego-vehicle states is determined, this range can be constructed as a constraint for the nominal controller, which forces the controller to generate nominal control commands that maintain the ego-vehicle state within the range of ego-vehicle states. Using the range of ego-vehicle states as an additional constraint provides certainty that at least acceptable values ​​of the control parameters for the avoidance maneuver will always exist, thus allowing for a successful avoidance maneuver, while maintaining separation between the nominal controller and the avoidance controller.

[0016] The values ​​of the control parameters are defined by a range of states of the ego vehicle, enhanced by tolerances for the control parameters. The nominal controller can use the range of states of the vehicle to determine the values ​​of the control parameters, for example, as part of an optimization problem. Such an approach simplifies the implementation of the avoidance controller. Additionally or alternatively, the values ​​of the control parameters of the avoidance controller are selected according to the range of states of the ego vehicle, based on the state of the ego vehicle when the obstacle is detected.

[0017] The region of the ego-vehicle state, enhanced using the tolerances of the control parameters, can be determined before a fault is detected, e.g., simultaneously with the operation of the nominal controller, so that computation time is not wasted when a fault is detected. Also, the determination of the region of the ego-vehicle state can be performed before the ego-vehicle operates, and evaluation of the region of the ego-vehicle state is computationally less expensive than evaluating the results of an avoidance control command.

[0018] Accordingly, one embodiment discloses a control system for controlling operation of an ego-vehicle, the control system comprising: a memory configured to store a nominal controller for controlling nominal operation of the ego-vehicle subject to nominal constraints; and an avoidance controller for controlling avoidance maneuvers of the ego-vehicle subject to avoidance constraints different from the nominal constraints, the nominal controller configured to generate nominal control commands according to a moving target of the ego-vehicle, the avoidance controller configured to generate the avoidance control commands by evaluating a state function of a control parameter; and a processor coupled to executable instructions that, when executed by the processor, are configured to cause the control system to perform the following operations: collect feedback signals indicative of a current state of the ego-vehicle and a current state of an operating environment of the ego-vehicle. determining an area of ​​an elevated state of the ego-vehicle using tolerance values ​​of the control parameters by processing the feedback signal to enable an avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; generating nominal control commands that maintain the state of the ego-vehicle within the determined area of ​​the state of the ego-vehicle by processing the feedback signal with a nominal controller; generating avoidance control commands by evaluating a state function of the avoidance controller using values ​​of the control parameters from the determined area of ​​the state of the ego-vehicle; controlling operation of the ego-vehicle in accordance with the nominal control commands if an obstacle is not detected; and controlling operation of the ego-vehicle in accordance with the avoidance control commands if an obstacle is detected.

[0019] Accordingly, another embodiment discloses a method for controlling operation of an ego-vehicle, the method using a processor coupled to a memory storing a nominal controller for controlling nominal operation of the ego-vehicle subject to nominal constraints and an avoidance controller for controlling avoidance maneuvers of the ego-vehicle subject to avoidance constraints different from the nominal constraints, the nominal controller configured to generate nominal control commands according to a moving target of the ego-vehicle, and the avoidance controller configured to generate the avoidance control commands by evaluating a state function of a control parameter, the processor coupled to stored instructions that, when executed by the processor, perform the following steps of the method: collecting feedback signals indicative of a current state of the ego-vehicle and a current state of an operating environment of the ego-vehicle; The method includes the steps of: determining an elevated region of the state of the host vehicle using acceptable values ​​of the control parameters by processing the feedback signals to enable an avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; generating nominal control commands that maintain the state of the host vehicle within the determined region of the state of the host vehicle by processing the feedback signals with a nominal controller; generating avoidance control commands by evaluating a state function of the avoidance controller using values ​​of the control parameters from the determined region of the state of the host vehicle; controlling operation of the host vehicle in accordance with the nominal control commands if an obstacle is not detected; and controlling operation of the host vehicle in accordance with the avoidance control commands if an obstacle is detected.

[0020] Accordingly, yet another embodiment discloses a non-transitory computer-readable storage medium having embodied thereon a program executable by a processor to perform a method. The storage medium stores a nominal controller for controlling nominal operation of the ego-vehicle subject to nominal constraints, and an avoidance controller for controlling avoidance maneuvers of the ego-vehicle subject to avoidance constraints different from the nominal constraints, the nominal controller being configured to generate nominal control commands according to a moving target of the ego-vehicle, and the avoidance controller being configured to generate the avoidance control commands by evaluating a state function of a control parameter, and the program, when executed by a processor, performs the following steps of a method, the steps including: collecting feedback signals indicative of a current state of the ego-vehicle and a current state of an operating environment of the ego-vehicle; determining, by processing the feedback signals, an area of ​​an elevated state of the ego-vehicle using allowable values ​​of the control parameter, thereby enabling an avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; generating nominal control commands by processing the feedback signals with the nominal controller, which maintain the state of the ego-vehicle within the determined area of ​​the state of the ego-vehicle; generating the avoidance control commands by evaluating a state function of the avoidance controller using values ​​of the control parameter from the determined area of ​​the state of the ego-vehicle; controlling operation of the ego-vehicle in accordance with the nominal control commands if an obstacle is not detected; and controlling operation of the ego-vehicle in accordance with the avoidance control commands if an obstacle is detected. [Brief explanation of the drawings]

[0021] [Figure 1A] 1 illustrates a block diagram for controlling operation of an ego-vehicle in accordance with some embodiments of the present disclosure. [Figure 1B] 1 illustrates a block diagram of functions performed by a control system for controlling operation of an ego-vehicle, according to some embodiments of the present disclosure. [Figure 1C] 1 illustrates a block diagram of functions performed by a control system for controlling operation of an ego-vehicle, according to some embodiments of the present disclosure. [Figure 2] 1 illustrates a table containing different predefined faults according to one embodiment of the present disclosure. [Figure 3] 1 shows a schematic diagram for using a table to control an ego-vehicle when a fault is detected, according to some embodiments of the present disclosure. [Figure 4] FIG. 1 illustrates a block diagram for selecting an avoidance controller according to one embodiment of the present disclosure. [Figure 5A] 1 shows a block diagram for determining a safety region according to some embodiments of the present disclosure. [Figure 5B] 1 illustrates a block diagram for computing a safety region as a convex safety region in accordance with some embodiments of the present disclosure. [Figure 5C] 1 illustrates a block diagram for computing a safety region as a convex safety region in accordance with some embodiments of the present disclosure. [Figure 6] 1 illustrates a block diagram for determining control commands for an ego-vehicle according to some embodiments of the present disclosure. [Figure 7A] 1 illustrates an autonomous driving scenario in accordance with some embodiments of the present disclosure. [Figure 7B] 1 illustrates an avoidance maneuver to avoid a danger zone, according to some embodiments of the present disclosure. [Figure 8] 7B illustrates a scenario similar to FIG. 7A showing regions of state and controller parameters of the ego-vehicle, according to some embodiments of the present disclosure. [Figure 9] 1 illustrates a block diagram of a control system for controlling operation of an ego-vehicle in accordance with some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0022] The present invention will now be described in detail with reference to the accompanying drawings, which are not necessarily to scale, emphasis instead being placed upon illustrating the principles of embodiments of the present disclosure.

[0023] In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be apparent to one skilled in the art that one or more embodiments may be practiced without these specific details. Additionally, devices and methods are shown as block diagrams in order to avoid obscuring the present disclosure.

[0024] As used in this specification and claims, the terms "for example," "for example," "such as," and "comprises," "has," "includes," and other verb forms thereof, when used in conjunction with a list of one or more components or other items, should be construed as open-ended, meaning not to exclude other additional components or items from this list. The term "based on" means based at least in part on. It should further be understood that the phraseology and terminology used herein are for descriptive purposes and should not be regarded as limiting. Any headings used herein are for convenience only and have no legal or limiting effect.

[0025] An objective of some embodiments is to control the behavior of the ego vehicle while ensuring the comfort and safety of passengers of the ego vehicle. Such behavior is referred to herein as the nominal behavior of the ego vehicle. The nominal movement of the ego vehicle is defined by constraints and / or movement targets. For an autonomous or semi-autonomous vehicle, the constraints and movement targets may include staying on the road, staying centered in the lane, maintaining a nominal longitudinal speed, and maintaining a margin to surrounding objects.

[0026] Furthermore, it is an objective of some embodiments to provide a system and method for controlling the movement of an ego-vehicle that anticipates and responds in a timely manner to various scenarios that could potentially disrupt nominal movement constraints and movement targets. Such scenarios are referred to herein as obstacle scenarios or simply obstacles. For example, if a car suddenly decelerates in front of a controlled ego-vehicle, it may be prudent to suddenly slow down the ego-vehicle or swerve the ego-vehicle onto the shoulder, even though such abrupt maneuver may cause discomfort to passengers or violate constraints on keeping the ego-vehicle in its lane. As can be seen from this example, safety constraints take precedence over passenger comfort.

[0027] In some embodiments, an obstacle is a hypothetical scenario that could violate the safety constraints of the nominal movement if no evasive maneuver is performed. Additionally or alternatively, an obstacle is a scenario that was not considered or predicted during the planning of the nominal movement. Such a scenario may occur when the controller of the ego-vehicle responsible for the nominal movement predicts the current and future state of the ego-vehicle's operation on the road, but a nearby vehicle suddenly changes lanes in a manner not predicted by the controller, a pedestrian begins crossing the road outside a crosswalk, and / or the ego-vehicle's sensor system fails to accurately detect the surrounding environment. Additionally or alternatively, an obstacle is a scenario that causes an abrupt change in the nominal movement. For example, the controller may receive a sudden command from the driver or passenger of the ego-vehicle requesting an immediate stop. Additionally or alternatively, an obstacle is a scenario that requires an immediate reaction from the controller, such as when some of the ego-vehicle's components encounter a mechanical or electrical failure, requiring an immediate stop to maintain safety.

[0028] To that end, it is an object of some embodiments to provide a system that controls the nominal movement of an ego vehicle when no obstacles are present and performs evasive maneuvers when obstacles are present, as will be described below with reference to FIG.

[0029] 1A shows a block diagram 100 for controlling the operation of an ego-vehicle 111 according to some embodiments of the present disclosure. A control system 101 is communicatively connected to the ego-vehicle 111. As used herein, the ego-vehicle 111 may be any type of wheeled vehicle, such as a car, a bus, or a rover. The ego-vehicle 111 may also be an autonomous or semi-autonomous vehicle.

[0030] The control system 101 includes a processor 103 and a memory 105. The processor 103 may include a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 105 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system. Furthermore, in some embodiments, the memory 105 may be implemented using a hard drive, an optical drive, a thumb drive, a drive array, or any combination thereof. The memory 105 is configured to store a nominal controller 107 and an avoidance controller 109. The nominal controller 107 is configured to control nominal movement of the ego-vehicle 111 subject to nominal constraints. The avoidance controller 109 is configured to control avoidance maneuvers of the ego-vehicle 111 subject to avoidance constraints that differ from the nominal constraints. Examples of avoidance maneuvers include an emergency stop, an emergency lane change, an emergency double lane change, an emergency deceleration, and an emergency acceleration. The control system 101 is configured to control the operation of the ego-vehicle 111. The control system 101 controls the operation of the host vehicle 111 by performing the functions described below in FIGS. 1B and 1C.

[0031] 1B and 1C illustrate block diagrams of functions performed by the control system 101 for controlling the operation of the ego-vehicle 111 in accordance with some embodiments of the present disclosure. The nominal controller 107 and the avoidance controller 109 use different control theories for nominal and avoidance control. For example, the nominal controller 107 is based on the principle of optimal control for controlling nominal operation to improve control efficiency, while the avoidance controller 109 is based on the principle of reactive feedback control for controlling avoidance maneuvers to improve response to obstacles. Specifically, some embodiments recognize that avoidance maneuvers can be represented by state functions that depend on control parameters. The state functions can be determined in advance, and the values ​​of the control parameters can be determined during control of the ego-vehicle 111. Examples of control parameters include values ​​such as a stopping point, lateral displacement, and target speed. The difference between control parameters and control signals is that the values ​​of control parameters remain constant during an avoidance maneuver, while control signals can change during an avoidance maneuver. Thus, an avoidance maneuver defined by a control signal requires the definition of many values, while an avoidance maneuver defined by a control parameter requires the definition of a single value. Different avoidance maneuvers may use different control parameters. In this way, the nominal controller 107 and the avoidance controller 109 are decoupled.

[0032] Reactive feedback control of avoidance maneuvers is advantageous because once the control parameters are determined, the evaluation of the state function with the control parameters is fast. Thus, avoidance control commands for the avoidance maneuver can be quickly determined. However, despite this advantage, the separation of the nominal controller 107 and the avoidance controller 109 introduces additional problems that are addressed by some embodiments.

[0033] The evasive maneuver depends on the state of the ego-vehicle 111 and the state of the environment in which the ego-vehicle 111 operates. For example, an emergency lane change may depend on the speed of the ego-vehicle 111, the presence of other vehicles and / or pedestrians that limit the allowable space for the ego-vehicle 111 to turn, etc. For different values ​​of the state of the ego-vehicle 111 and the environmental conditions, different values ​​of a control parameter, such as lateral displacement, may result in a successful evasive maneuver. Furthermore, for some values ​​of the state of the ego-vehicle 111 and the environmental conditions, such a control parameter may not exist, i.e., the value of such a control parameter may be outside its range of allowable values. Therefore, it is necessary to determine the value of the control parameter that will allow the evasive maneuver to be successful.

[0034] Conversely, avoidance controller 109 controls the behavior of ego-vehicle 111 only in the case of an obstacle. If no obstacle is detected, nominal movement is controlled by nominal controller 107. If nominal controller 107 operates under the assumption that there are no obstacles, it can place ego-vehicle 111 in a state where an avoidance maneuver will not be successful. Therefore, such scenarios must be avoided while maintaining decoupling of nominal controller 107 and avoidance controller 109.

[0035] Some embodiments are based on the recognition that, by processing feedback signals indicative of the current state of the ego-vehicle 111 and the current state of the ego-vehicle 111's operating environment, an increased range of ego-vehicle 111 states can be determined using acceptable values ​​for the control parameters, allowing for a successful avoidance maneuver if an obstacle is detected. A successful avoidance maneuver means that the corresponding avoidance maneuver avoids endangering the safety of the ego-vehicle 111, which corresponds to satisfying an avoidance constraint. Once such a range of ego-vehicle 111 states is determined, the range can serve as a constraint for the nominal controller 107, forcing it to generate nominal control commands that maintain the ego-vehicle 111 state within the range of ego-vehicle 111 states. Using the range of ego-vehicle 111 states as an additional constraint provides certainty that at least acceptable values ​​of the control parameters for the avoidance maneuver will always exist, thus allowing for a successful avoidance maneuver, while maintaining decoupling of the nominal controller 107 and the avoidance controller 109.

[0036] To this end, in block 113, the processor 103 collects feedback signals indicative of the current state of the host vehicle 111 and the current state of the operating environment of the host vehicle 111. The current state of the host vehicle 111 includes one or a combination of the acceleration of the host vehicle 111, the speed of the host vehicle 111, the position of the host vehicle 111, the steering angle of the host vehicle 111, etc. The current state of the environment includes the state of surrounding vehicles, the presence of pedestrians, weather conditions affecting tire friction, etc. The feedback signals may be collected from sensors associated with the host vehicle 111. Examples of sensors include, for example, a global positioning system (GPS), an accelerometer, an inertial measurement unit, a gyroscope, a shaft rotation sensor, a torque sensor, a deflection sensor, a pressure sensor, a flow sensor, etc. The host vehicle 111 also includes sensors for detecting the current state of the environment, such as a rangefinder, radar, lidar, and a camera. Alternatively or simultaneously, sensor data regarding the environment can be received from sensors located remotely relative to the host vehicle 111.

[0037] In block 115, the processor 103 processes the feedback signal to determine a region of the state of the ego-vehicle 111, enhanced with the tolerance of the control parameters, that allows the avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected. The region of the state of the ego-vehicle 111, enhanced with the tolerance of the control parameters, is also referred to as a "safety region."

[0038] In block 117, the processor 103 processes the feedback signal using the nominal controller 107 to generate nominal control commands that maintain the state of the ego-vehicle 111 within the determined region of the state of the ego-vehicle 111.

[0039] In block 119, the processor 103 generates an avoidance control command by evaluating a state function of the avoidance controller 109 using values ​​of the control parameter from the determined region of state of the ego-vehicle 111. For example, in one embodiment, the avoidance controller 109 generates an avoidance maneuver by calculating an avoidance control command by summing a first term and a second term, where the first term is obtained by multiplying the state of the ego-vehicle 111 by a first constant matrix gain, and the second term is obtained by multiplying the control parameter by a second constant matrix gain.

[0040] In block 121, processor 103 determines whether an obstacle is detected. If an obstacle is not detected, processor 103 controls the operation of host vehicle 111 according to the nominal control command in block 123. If an obstacle is detected, processor 103 controls the operation of host vehicle 111 according to the avoidance control command in block 125.

[0041] The state region of the ego vehicle 111, enhanced using the control parameter tolerances, can be determined before a fault is detected, e.g., simultaneously with operation of the nominal controller 107. Thus, computation time is not wasted when a fault is detected. Also, the determination of the state region of the ego vehicle 111 can be performed before the ego vehicle 111 operates, and evaluating the state region of the ego vehicle 111 is computationally cheaper than evaluating the results of an avoidance control command.

[0042] The control parameter values ​​are defined by a region of vehicle states elevated with acceptable control parameter values. The nominal controller 107 can use this region to determine the control parameter values. For example, the nominal controller 107 generates nominal control commands and values ​​for the control parameters of the avoidance controller 109 by solving an optimization problem. Such an approach simplifies the implementation of the avoidance controller 109. Additionally or alternatively, the control parameter values ​​for the avoidance controller 109 are selected according to a region of the state of the ego-vehicle 1111 based on the state of the ego-vehicle 1111 when the obstacle is detected.

[0043] In one embodiment, different obstacles (or obstacle scenarios) are predefined, and danger zones, constraints to be satisfied, traffic rules to be satisfied, and avoidance maneuvers corresponding to the different obstacles are included in a table. Such a table is stored in the memory 105 of the control system 101. A danger zone refers to an area that the host vehicle 111 must avoid when an obstacle is present. Constraints include, for example, restrictions on speed, acceleration, steering angle, etc. Examples of traffic rules include lane restrictions, boundary restrictions, speed limits, areas of the road where the host vehicle 111 should not travel, etc. In some embodiments, the traffic rules that must be satisfied when an obstacle is detected can exclude less important traffic rules, such as driving on the shoulder, to ensure safety.

[0044] 2 illustrates a table 200 containing different predefined obstacles according to one embodiment of the present disclosure. The table 200 includes an obstacle column 201, a danger zone column 203, a constraint column 205, a traffic rule column 207, and an avoidance controller column 209.

[0045] The obstacle column 201 includes different obstacles, e.g., obstacle 1, obstacle 2, ..., obstacle N. The danger area column 203 includes different danger areas corresponding to different obstacles, e.g., danger area 1, danger area 2, ..., danger area N. The constraint column 205 includes different constraints to be satisfied corresponding to different obstacles, e.g., constraint 1, constraint 2, ..., constraint N. The traffic rules column 207 includes different sets of traffic rules to be satisfied corresponding to different obstacles, e.g., traffic rule 1, traffic rule 2, ..., traffic rule N.

[0046] The avoidance controller column 209 includes different avoidance controllers corresponding to different obstacles, e.g., avoidance controller 1, avoidance controller 2, ..., avoidance controller N. The different avoidance controllers are used to control different avoidance maneuvers of the ego-vehicle 111 subject to corresponding avoidance constraints different from the nominal constraints, and each of the different avoidance controllers is configured to generate a corresponding avoidance control command by evaluating a corresponding state function that depends on a corresponding control parameter.

[0047] Table 200 is stored in memory 105 of control system 101. As will be described below with reference to Figure 3, processor 103 uses table 200 to control an avoidance maneuver of host vehicle 111 when an obstacle is detected.

[0048] 3 shows a schematic diagram for controlling the ego vehicle 111 using the table 200 when a fault is detected, according to some embodiments of the present disclosure. The processor 103 receives feedback signals from sensors associated with the ego vehicle 111 indicating the current state of the ego vehicle 111 and the current state of the environment. The feedback signals are input to a fault monitor 301. In one embodiment, the fault monitor 301 is stored in the memory 105 of the control system 101. The fault monitor 301 is executed by the processor 103. The fault monitor 301 includes a fault selector 303 and a fault detector 305.

[0049] The obstacle selector 303 is configured to determine an obstacle that may occur in the current environment based on the feedback signal. Based on the determined possible obstacle, a danger zone to be avoided, a constraint to be satisfied, a traffic rule to be satisfied, and an avoidance maneuver to be performed are selected from the table 200. For example, the obstacle selector 303 determines that obstacle 1 and obstacle 2 may occur based on the feedback signal. The processor 103 determines from the table 200 that, if obstacle 1 occurs, danger zone 1 should be avoided, constraint 1 should be satisfied, and traffic rule 1 should be satisfied by executing the avoidance controller 1. Similarly, the processor 103 determines from the table 200 that, if obstacle 2 occurs, danger zone 2 should be avoided, constraint 2 should be satisfied, and traffic rule 2 should be satisfied by executing the avoidance controller 2.

[0050] The obstacle detector 305 is configured to detect whether any of the determined possible obstacles has occurred in the environment. Based on the detected obstacle, a corresponding avoidance controller is executed. For example, the obstacle detector 303 detects that an obstacle 2 has occurred. Subsequently, the processor 103 executes a corresponding avoidance controller 2. The avoidance controller 2 is configured to generate a corresponding avoidance control command by evaluating a corresponding state function that depends on a corresponding control parameter. The avoidance controller 2 generates an avoidance control command for the host vehicle 111 to avoid the danger area 2 while satisfying the corresponding constraint 2 and traffic rule 2. Furthermore, the processor 103 controls the operation of the host vehicle 111 according to the generated avoidance control command.

[0051]

number

[0052]

number

[0053] Some embodiments classify the likelihood of different obstacles and select an avoidance controller based on the obstacle and its likelihood. For example, different avoidance maneuvers can be associated with different obstacles, with the selection of a particular avoidance maneuver depending on the detection of the particular obstacle. Such an embodiment is described below with reference to FIG. 4.

[0054] FIG. 4 shows a block diagram 400 for selecting an avoidance controller according to one embodiment of the present disclosure. The memory 105 is configured to store a set of avoidance controllers for controlling different avoidance maneuvers of the vehicle subject to corresponding avoidance constraints different from the nominal constraints, and each of the different avoidance controllers is configured to generate a corresponding avoidance control command by evaluating a corresponding state function according to a corresponding control parameter. In block 401, the processor 103 estimates the likelihood of different faults by classifying the feedback signal. Each of the different faults defines a danger zone for the ego-vehicle. To classify the feedback signal, the processor 101 executes a neural network trained with machine learning to generate a fault probability for each of the different faults and retain the fault with a sufficient probability (e.g., a probability greater than zero for complete safety or a probability greater than a small probability threshold defined by a user for probabilistic safety).

[0055] In block 403, processor 103 selects a corresponding avoidance controller from the set of avoidance controllers for each obstacle having a likelihood greater than a threshold. This threshold may be defined by a user. In block 405, processor 103 determines, for each selected avoidance controller, a corresponding region of the ego-vehicle state enhanced with the corresponding control parameter tolerance value that allows the selected avoidance maneuver to satisfy the corresponding avoidance constraint when the corresponding obstacle is detected. In block 407, processor 103 evaluates the state function of the selected avoidance controller for the detected obstacle using the corresponding control parameter value from the region of the ego-vehicle state enhanced with the corresponding control parameter tolerance value.

[0056] The following mathematical explanation is given for determining obstacles, avoidance maneuvers, safety zones, and control commands for the host vehicle 111. Nominal driving conditions

[0057] Nominal driving conditions are defined as driving conditions under which the ego-vehicle 111 is operating normally, i.e., the ego-vehicle 111's systems are fully active and the environment is sensed and predicted with sufficient accuracy. Under nominal driving conditions, the control system 101 plans the ego-vehicle 111's movements according to the complete set of current traffic rules and constraints.

[0058]

number

number

[0059] The control system 101 establishes traffic and vehicle rules as constraints on the states and commands of the host vehicle 111. Constraints include, for example, speed and acceleration limits, which are intended to ensure smooth vehicle operation and driver comfort under nominal driving conditions. Such constraints are expressed as follows:

number

number

[0060] Even when the ego-vehicle 111 is operating under nominal driving conditions, obstacles may occur in the future. Therefore, the obstacle selector 303 determines the obstacles that may occur based on the current state of the ego-vehicle 111 and the current state of the environment. Such obstacles determine the danger areas that the ego-vehicle 111 should avoid in the presence of the obstacles, and the traffic and vehicle rules that should be implemented in the presence of the obstacles. Therefore, the obstacle selector constructs the danger areas to be avoided in the form of (exclusion) constraints, as follows:

number

[0061] Construction of evasive maneuvers and safe zones for evasive maneuvers

[0062] For example, because it is necessary to calculate evasive maneuvers more accurately using a dynamic vehicle motion model rather than a kinematic vehicle motion model, evasive maneuvers can be calculated based on a model different from the motion model of the host vehicle 111 under nominal driving conditions (1). Furthermore, to compensate for the increased computational complexity of an accurate model, some motions, such as only turning at a constant speed or only braking with straight-line steering, can be restricted. For example, instead of a kinematic bicycle model, the control system 101 can use a dynamic linear tire force bicycle model as the motion model (1) as follows:

number

[0063]

number

[0064]

number

[0065]

number

[0066]

number

[0067]

number

[0068]

number

[0069]

number

[0070]

number

[0071]

number

[0072]

number

[0073]

number

[0074]

number

[0075]

number

[0076]

number

[0077]

number

[0078]

number

number

[0079] In certain embodiments, the control system 101 calculates optimal control over a future forecast horizon to determine a nominal trajectory, nominal control commands, and parameters for successful avoidance maneuver in the event of an obstacle along the forecast horizon of the optimal control problem. The domain of states of the ego-vehicle 111, enhanced with allowable values ​​for the control parameters, is enforced as a constraint for the optimal control. The optimal control involves a numerically solved optimization problem. Thus, the optimization includes constraints (14) to ensure that the nominal trajectory remains within a safe region. The optimization problem is given as follows:

number

[0080]

number

[0081]

number

[0082] In some embodiments, the control system 101 calculates the prediction horizon N by replacing the subscripts t and 0|t in (16a) and (16b) with k|t. p Similarly, the control system 101 can calculate multiple commands for a sequence of avoidance maneuvers by substituting (16a) into (8) as (7a). If the nominal model of vehicle motion is linear, the constraints are linear, the motion model of the avoidance maneuvers is linear, the cost function in (15a) is quadratic, and the safety region is a convex set, then the optimization problem (15a) becomes a quadratic program.

[0083]

number

number

[0084]

number

[0085]

number

[0086]

number

[0087] In some embodiments, the control system 101 solves the problem (15a) as a nonlinear, nonconvex optimal control problem. In some embodiments, the motion model (1) under nominal driving conditions, the avoidance maneuver (6a), and the maneuver controller (7) are linear dynamic models, similar to (6b) and (7b), the constraints are linear inequalities, and the cost function in (15a) is a quadratic positive definite function, and the control system 101 transforms the problem (15a) into a linear, constrained, convex quadratic program.

number

[0088] In some embodiments, multiple avoidance maneuvers are possible for one obstacle, the motion model (1) under nominal driving conditions, i.e., the nominal vehicle motion model, the avoidance maneuvers (6a) and the maneuver controller (7) are linear dynamic models similar to (6b) and (7b), the constraints are linear inequalities, the cost function in (15b) is a quadratic positive definite function, and the control system 101 transforms the problem (15b) into a mixed integer quadratic program.

number

[0089]

number

[0090] In some embodiments, the control system 101 calculates the safety area for the evasive maneuver in each control cycle. In some other embodiments, the control system 101 calculates the safety area for the evasive maneuver based on a relative motion model of the host vehicle 111 with respect to the danger zone.

number

[0091] The function of the control system 101 in an autonomous driving scenario will now be described with reference to Figures 7A and 7B.

[0092] 7A illustrates an autonomous driving scenario 700 according to some embodiments of the present disclosure. The ego-vehicle 111 is moving into the left lane 701 of a road, and other vehicles, such as vehicles 703a, 703b, and 703c (hereinafter collectively referred to as the other vehicles 703a, 703b, and 703c), are moving into the right lane 705. There are no obstacles in the left shoulder lane 707. The control system 101 predicts the trajectories 709 of the other vehicles 703a, 703b, and 703c according to the fact that the other vehicles 703a, 703b, and 703c currently remain in the lane 705. Therefore, the control system 101 plans a trajectory 711 to keep the ego-vehicle 111 in the left lane 701. However, the vehicle 703b decides to initiate a lane change maneuver into the left lane 701 according to the trajectory 713, creating a potential collision risk in the danger zone 715. In such a scenario, the control system 101 performs an avoidance maneuver to avoid the danger zone 715 to avoid a collision with the vehicle 703b, as will be described below with reference to FIG. 7B.

[0093] 7B illustrates an avoidance maneuver to avoid a danger zone 715 in accordance with some embodiments of the present disclosure. The control system 101 receives feedback signals from sensors associated with the ego-vehicle 111 indicating the current state of the ego-vehicle 111 and the current state of the environment in which the ego-vehicle 111 is traveling. The processor 103 processes the feedback signals to determine a region 717 of the state of the ego-vehicle 111, which is enhanced using tolerance values ​​of the control parameters. The processor 103 further processes the feedback signals using the nominal controller 107 to generate nominal control commands that maintain the state of the ego-vehicle 111 within the region 717 of the state of the ego-vehicle 111. For example, the processor 103 determines a nominal trajectory 719 that maintains the ego-vehicle 111 within the region 717. The processor 103 further generates the avoidance control commands by evaluating a state function of the avoidance controller 109 using values ​​of the control parameters from the region 717 of the state of the ego-vehicle 111. The avoidance control commands cause the ego-vehicle 111 to move along an avoidance maneuver 721. The avoidance maneuver 721 avoids the danger zone 715 by driving the host vehicle onto the left shoulder 707. Although the avoidance maneuver 721 violates the traffic rule that prohibits entering the left shoulder 707, it avoids the risk of collision with the vehicle 703b. This ensures the safety of the occupants of the host vehicle 111.

[0094] Since the state of the host vehicle 111 is maintained within the region 717 of the state of the host vehicle 111, which is increased using the tolerances of the control parameters, the control system 101 can generate avoidance control commands by evaluating the state function of the avoidance controller 109 using the control parameters from region 717. This ensures that an avoidance maneuver is performed if an obstacle is detected.

[0095] 8 illustrates a similar scenario to FIG. 7A in which regions of states and control parameters of the ego-vehicle 111 are shown in accordance with some embodiments of the present disclosure. The axes of FIG. 8 include vehicle states of longitudinal position 801 and lateral position 803, and control parameters 805. The tolerance region 807 determines a combination of vehicle states and control parameters such that, if an avoidance maneuver is initiated in such states with control parameters equal to such parameters, the avoidance maneuver will succeed in avoiding the danger zone 715 and satisfy constraints on traffic rules and corresponding obstacles.

[0096] The projection of the tolerance region 807 onto the space of vehicle states, defined in FIG. 8 by axes 801 and 803, is the projection region 717 within which the host vehicle 111 can navigate under nominal driving conditions. If an obstacle occurs within this projection region, the control system 101 can find values ​​of the control parameters that result in an evasive maneuver. At the same time, for fixed values ​​of the host vehicle 111's state, the corresponding vertical segments that are included in the tolerance region 807 and pass through points within the projection region 717 corresponding to the vehicle state contain values ​​of the control parameters that result in a successful evasive maneuver for such a vehicle state. For example, for vehicle positions 809, 811, and 813, segments 815, 817, and 819, respectively, determine values ​​that result in a successful evasive maneuver. However, for vehicle position 821, the evasive maneuver cannot be successful because the vehicle position 821 is outside the projection region 717 and, in fact, there is no vertical segment that passes through the vehicle position 821 that is included in the tolerance region 807.

[0097] 9 shows a block diagram of a control system 900 for controlling the operation of the ego-vehicle, according to some embodiments. The control system 900 may be located on a remote server as part of an RSU that controls the ego-vehicle. The control system 900 may have several interfaces that connect the control system 900 to other machines and devices. A network interface controller (NIC) 901 connects the control system 900 to a network 905 via a bus 903 and includes a receiver configured to receive feedback signals 927 that indicate the current state of the ego-vehicle and the current state of the ego-vehicle's operating environment.

[0098] The NIC 901 also includes a transmitter configured to transmit avoidance control commands or nominal control commands to the ego-vehicle over the network 905. To that end, the control system 900 includes an output interface, e.g., a control interface 907, configured to submit control commands 909 to the ego-vehicle over the network 905. The control commands include avoidance control commands or nominal control commands. As such, the control system 900 may be located on a remote server that is in direct or indirect wireless communication with the ego-vehicle.

[0099] The control system 900 may also include other types of input and output interfaces. For example, the control system 900 may include a human-machine interface 911. The human-machine interface 911 may connect the control system 900 to a keyboard 913 and a pointing device 915, which may include, for example, a mouse, a trackball, a touchpad, a joystick, a pointing stick, a stylus, or a touchscreen.

[0100] The control system 900 includes a processor 917 configured to execute stored instructions and a memory 919 that stores instructions executable by the processor. The processor 917 may be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 919 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory machine. The processor 917 may be connected to one or more input / output devices via a bus 903.

[0101] Processor 917 is operatively connected to storage 921 for storing instructions and processing data used by the instructions. Storage 921 may be formed as part of or operatively connected to memory 919. For example, storage 921 may be configured to store a nominal controller 923 for controlling nominal operation of the ego-vehicle subject to nominal constraints, and an avoidance controller 925 for controlling avoidance maneuvers of the ego-vehicle subject to avoidance constraints different from the nominal constraints. Nominal controller 923 is configured to generate nominal control commands according to movement targets for the ego-vehicle. Avoidance controller 925 is configured to generate avoidance control commands by evaluating a state function of a control parameter.

[0102] Processor 917 is configured to process the feedback signal to determine an elevated region of the state of the ego-vehicle using acceptable values ​​of the control parameters to enable an avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected. Processor 917 is further configured to process the feedback signal with nominal controller 923 to generate nominal control commands that maintain the state of the ego-vehicle within the determined region of the state of the ego-vehicle. Processor 917 is further configured to generate the avoidance control commands by evaluating a state function of avoidance controller 925 using values ​​of the control parameters from the determined region of the state of the ego-vehicle. Processor 917 is further configured to control operation of the ego-vehicle in accordance with the nominal control commands when an obstacle is not detected, and to control operation of the ego-vehicle in accordance with the avoidance control commands when an obstacle is detected.

[0103] The description provides exemplary embodiments only and is not intended to limit the scope, application, or configuration of the present disclosure. Rather, the following description of exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter as set forth in the appended claims.

[0104] In the following description, specific details are given to provide a thorough understanding of the embodiments. However, those skilled in the art will understand that the embodiments can be practiced without these specific details. For example, systems, processes, and other elements in the disclosed subject matter may be shown as components in block diagrams so as not to obscure the embodiments in unnecessary detail. Also, well-known processes, structures, and techniques may be shown without unnecessary detail so as not to obscure the embodiments. Furthermore, like reference numbers and names in the various drawings refer to like elements.

[0105] Each embodiment may also be described as a process, which is depicted as a flowchart, flow diagram, data flow diagram, structure diagram, or block diagram. Although a flowchart may describe operations as a sequential process, many operations may be performed in parallel or simultaneously. The order of operations may also be changed. A process may be terminated when its operations are completed, but the process may include additional steps not discussed or shown. Furthermore, not all operations within a specifically described process need be included in all embodiments. A process may be a method, a function, a procedure, a subroutine, a subprogram, etc. When a process is a function, the termination of the function corresponds to the function returning to the calling function or the main function.

[0106] Furthermore, embodiments of the disclosed subject matter may be implemented, at least in part, manually or automatically. The manual or automatic implementation may be implemented, or at least assisted, by machine, hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented by software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks may be stored on a machine-readable medium. A processor may perform the necessary tasks.

[0107] The various methods or steps outlined herein may be coded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Furthermore, such software may be written using any of a number of suitable programming languages ​​and / or programming or scripting tools, and compiled as executable machine language code or intermediate code that runs on a framework or virtual machine. Typically, the functionality of the program modules may be combined or distributed in various embodiments as desired.

[0108] The embodiments of the present disclosure may be embodied as methods, which are provided by way of example. The operations performed as part of the method may be ordered in any suitable manner. Thus, embodiments may be constructed that perform operations in an order different from the operations performed sequentially in the exemplary embodiments, and that may include performing some operations simultaneously.

[0109] Furthermore, embodiments of the present disclosure and the functional operations described herein may be implemented in digital electronic circuitry, tangible computer software or firmware, computer hardware, or one or more combinations thereof, including the structures disclosed in this disclosure and their structural equivalents. Some embodiments of the present disclosure may be implemented as one or more computer programs, i.e., one or more modules of computer program instructions encoded on a tangible, non-transitory program carrier and executed by or controlling the operation of a data processing device. Furthermore, the program instructions may be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical signal generated by encoding information for transmission to a suitable receiver for execution by a data processing device. The computer storage medium may be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or one or more combinations thereof.

[0110] The term "computing system" includes all types of equipment, devices, and machines for processing data, such as a programmable processor, computer, or multiple processors or computers. The device may also be or include special-purpose logic circuitry, such as an FPGA (field-programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, the device may include code that creates an execution environment for a computer program, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.

[0111] A computer program (which may be called or written as a program, software, software application, module, software module, script, or code) can be written in any programming language, including compiled or interpreted, declarative or procedural, and can be used as a stand-alone program or in any form as a module, component, subroutine, object, or other unit suitable for use within a computing environment. A computer program can, but need not, correspond to a file in a file system. A program may be stored as part of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program involved, or in multiple synchronous files (e.g., a file storing one or more modules, subprograms, or portions of code).

[0112] A computer program can be implemented running on one computer or on multiple computers located at one site or distributed across multiple sites and interconnected by a communications network. Computers suitable for executing computer programs may, by way of example, be based on general-purpose or special-purpose microprocessors or both, or any other type of central processing unit. Typically, the central processing unit receives instructions and data from a read-only memory or a random-access memory or both. Some elements of a computer are the central processing unit for executing or carrying out instructions and one or more memory units for storing instructions and data.

[0113] Typically, a computer also includes one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, and / or is operatively coupled to transmit and receive data from these mass storage devices. However, a computer need not have these devices. Additionally, a computer may include another device, such as a mobile phone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive).

[0114] To provide for user interaction, embodiments of the subject matter described herein may be implemented on a computer that includes a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user, a keyboard, and a pointing device, e.g., a mouse or trackball, by which the user can provide input to the computer. Other types of devices may also be used to provide for user interaction. For example, feedback provided to the user may be any type of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback, and input from the user may be received in any form, including acoustic, speech, or tactile input. The computer may also interact with the user by sending and receiving documents to and from devices used by the user, e.g., by sending web pages to a web browser on a user client device in response to a request received from the web browser.

[0115] Embodiments of the subject matter described herein can be implemented in a computing system that includes a back-end component, e.g., a data server, or includes a middleware component, e.g., an application server, or includes a front-end component, e.g., a client computer with a graphical user interface, or a web browser through which a user can interact with an implementation of the subject matter described herein, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), e.g., the Internet.

[0116] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically exchange information through a communication network. The relationship of clients and servers depends upon computer programs running on the respective computers and having a client-server relationship to each other.

[0117] Although the invention has been described with reference to preferred embodiments, it should be understood that various other modifications and variations can be made within the spirit and scope of the invention. It is therefore intended in the appended claims to cover all such variations and modifications which fall within the true spirit and scope of the invention.

Claims

1. A control system for controlling an operation of a host vehicle, a memory configured to store a nominal controller for controlling a nominal operation of the ego-vehicle subject to a nominal constraint, and an avoidance controller for controlling an avoidance maneuver of the ego-vehicle subject to an avoidance constraint different from the nominal constraint, the nominal controller configured to generate a nominal control command according to a moving target of the ego-vehicle, and the avoidance controller configured to generate the avoidance control command by evaluating a state function of a control parameter; a processor coupled to executable instructions that, when executed by the processor, are configured to cause the control system to perform the following operations: collecting feedback signals indicative of a current state of the host vehicle and a current state of an operating environment of the host vehicle; determining an enhanced region of the state of the ego-vehicle using tolerances for the control parameters by processing the feedback signal, allowing the avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; processing the feedback signal with the nominal controller to generate the nominal control commands that maintain the state of the ego vehicle within the determined region of the state of the ego vehicle; generating the avoidance control commands by evaluating the state function of the avoidance controller using values ​​of the control parameters from the determined region of states of the host vehicle; If the fault is not detected, controlling the operation of the host vehicle according to the nominal control command; and if the obstacle is detected, controlling the operation of the host vehicle in accordance with the avoidance control command.

2. The control system of claim 1 , wherein the nominal controller is further configured to generate the nominal control commands and the values ​​of the control parameters of the avoidance controller by solving an optimization problem.

3. 2. The control system of claim 1, wherein the value of the control parameter of the avoidance controller is selected based on the state of the host vehicle when the obstacle is detected and in response to the region of the state of the host vehicle.

4. the memory is further configured to store a table including different obstacles and corresponding danger areas, corresponding constraints to be satisfied, corresponding traffic rules to be satisfied, and corresponding avoidance controllers; The processor is further configured to perform the following operations, which operations include: determining one or more possible faults in the environment based on the feedback signal; detecting whether a fault among the one or more possible faults has occurred in the environment; and determining from the table a danger area, a constraint to be satisfied, a traffic rule to be satisfied, and an avoidance controller corresponding to the detected obstacle, wherein the determined avoidance controller is configured to generate a corresponding avoidance control command by evaluating a corresponding state function that depends on a corresponding control parameter, and the operation includes: The control system of claim 1 , further comprising controlling the operation of the host vehicle in accordance with the generated avoidance control command.

5. the memory is further configured to store a set of avoidance controllers for controlling different avoidance maneuvers of the ego-vehicle subject to corresponding avoidance constraints different from the nominal constraints, each of the different avoidance controllers configured to generate a corresponding avoidance control command by evaluating a corresponding state function dependent on a corresponding control parameter; The processor is further configured to perform the following operations, which operations include: and estimating likelihoods of different obstacles by classifying the feedback signals, each obstacle defining a danger zone area for the ego-vehicle, the operation comprising: for each obstacle having a likelihood greater than a threshold, selecting a corresponding avoidance controller from the set of avoidance controllers; determining, for each selected avoidance controller, a corresponding region of enhanced state of the ego-vehicle using tolerances of the corresponding control parameters to enable the selected avoidance maneuver to satisfy the corresponding avoidance constraints when the corresponding obstacle is detected; and evaluating the state function of the selected avoidance controller for the detected obstacle using values ​​of the corresponding control parameters from the range of states of the host vehicle augmented with tolerance values ​​of the corresponding control parameters.

6. The control system of claim 5 , wherein the processor is further configured to execute a machine learning trained neural network to classify the feedback signal.

7. In order to determine the region of the state of the ego-vehicle that is enhanced using tolerance values ​​of the control parameters and enable the avoidance maneuver to satisfy the avoidance constraints when the obstacle is detected, the processor is further configured to perform the following operations: calculating one or more areas where the avoidance maneuver will be in a danger zone at a future time; computing a union of the one or more regions; computing the complement of the union of the one or more regions; Calculating the area where the constraints and traffic rules are satisfied; and calculating a safety area corresponding to the area of ​​the state of the vehicle based on the complement of the union of the one or more areas and the area in which the constraints and the traffic rules are satisfied.

8. To calculate the safety region as a convex safety region, the processor is further configured to perform the following operations, comprising: selecting a point outside the complement of the union of the one or more regions; calculating a projection from the selected point onto each of the one or more regions; calculating a vector of differences between the selected points and each projection from the selected points onto each region; constructing one or more hyperplanes based on the calculated vectors; constructing one or more half-spaces based on the one or more hyperplanes; and constructing the convex safety region as an intersection of the one or more half-spaces.

9. The control system of claim 7 , wherein the processor is further configured to calculate the safety region based on a relative motion model of the ego vehicle with respect to the danger zone.

10. the avoidance controller is further configured to generate the avoidance maneuver by summing a first term and a second term to calculate the avoidance control command; the first term is obtained by multiplying the state of the host vehicle by a first matrix gain constant; The control system of claim 1 , wherein the second term is obtained by multiplying the control parameter by a second matrix gain constant.

11. The control system of claim 1 , wherein the value of the control parameter is constant throughout the avoidance maneuver.

12. the processor is further configured to generate the nominal control commands by solving an optimization problem; the range of states of the ego-vehicle, as amplified by the tolerances of the control parameters, is enforced as a constraint of the optimization problem; The control system of claim 1 , wherein the optimization problem is based on a nominal model of vehicle behavior.

13. the constraints and the nominal vehicle motion model are linear; The control system of claim 12 , wherein the optimization problem is a quadratic program.

14. the processor is further configured to generate the nominal control commands by solving an optimization problem; the optimization problem includes binary decision variables that select a safety region and the avoidance maneuver for each obstacle; the range of states of the ego-vehicle, as amplified by the tolerances of the control parameters, is enforced as a constraint of the optimization problem; The control system of claim 1 , wherein the optimization problem is based on a nominal model of vehicle behavior.

15. the constraints and the nominal vehicle motion model are linear; The control system of claim 14 , wherein the optimization problem is a mixed integer quadratic program.

16. The control system of claim 1 , wherein the ego vehicle comprises one or a combination of an autonomous vehicle and a semi-autonomous vehicle.

17. 1. A method for controlling operation of an ego-vehicle, the method using a processor coupled to a memory storing a nominal controller for controlling nominal operation of the ego-vehicle subject to nominal constraints and an avoidance controller for controlling avoidance maneuvers of the ego-vehicle subject to avoidance constraints different from the nominal constraints, the nominal controller configured to generate nominal control commands according to a moving target of the ego-vehicle, and the avoidance controller configured to generate the avoidance control commands by evaluating a state function of a control parameter, the processor being coupled to stored instructions that, when executed by the processor, perform the following steps of the method, the steps comprising: collecting feedback signals indicative of a current state of the host vehicle and a current state of the host vehicle's operating environment; determining an enhanced region of the state of the ego-vehicle using tolerances for the control parameters by processing the feedback signal, allowing the avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; processing the feedback signal with the nominal controller to generate the nominal control commands that maintain the state of the ego vehicle within the determined region of the state of the ego vehicle; generating the avoidance control commands by evaluating the state function of the avoidance controller using values ​​of the control parameters from the determined region of states of the host vehicle; If the fault is not detected, controlling the operation of the host vehicle according to the nominal control command; and if the obstacle is detected, controlling the operation of the host vehicle in accordance with the avoidance control command.

18. The method of claim 17 , wherein the nominal controller is further configured to generate the nominal control commands and the values ​​of the control parameters of the avoidance controller by solving an optimization problem.

19. 18. The method of claim 17, wherein the value of the control parameter of the avoidance controller is selected based on the state of the ego vehicle when the obstacle is detected and depending on the region of the state of the ego vehicle.

20. A computer-readable storage medium storing a program executable by a processor for performing a method, the storage medium storing a nominal controller for controlling a nominal operation of the ego-vehicle subject to nominal constraints, and an avoidance controller for controlling an avoidance maneuver of the ego-vehicle subject to avoidance constraints different from the nominal constraints, the nominal controller being configured to generate nominal control commands according to a moving target of the ego-vehicle, and the avoidance controller being configured to generate the avoidance control commands by evaluating a state function of a control parameter; When the program is executed by the processor, it performs the following steps of the method, collecting feedback signals indicative of a current state of the host vehicle and a current state of the host vehicle's operating environment; determining an enhanced region of the state of the ego-vehicle using tolerances for the control parameters by processing the feedback signal, allowing the avoidance maneuver to satisfy the avoidance constraints when an obstacle is detected; processing the feedback signal with the nominal controller to generate the nominal control commands that maintain the state of the ego vehicle within the determined region of the state of the ego vehicle; generating the avoidance control commands by evaluating the state function of the avoidance controller using values ​​of the control parameters from the determined region of states of the host vehicle; If the fault is not detected, controlling the operation of the host vehicle according to the nominal control command; and if the obstacle is detected, controlling the operation of the host vehicle in accordance with the avoidance control command.

Citation Information

Patent Citations

  • Method for controlling motion of vehicle and control system for vehicle

    JP2018534205A

  • Automobile arithmetic system

    JP2020142769A

  • Vehicle control method and vehicle control system

    JP2020514158A

  • Contingency Planning and Security

    JP2022542277A

  • Systems and methods for vehicle decision making and motion planning using real-time mixed integer programming

    JP2026508446A