US-12617404-B2 - Vehicle maneuvering
Abstract
A computer includes a processor and a memory, and the memory stores instructions executable by the processor to receive a command for a host vehicle to perform a maneuver, detect a target vehicle, minimize a cost function, determine a host control input for the host vehicle based on the minimization of the cost function, and actuate the host vehicle to perform the maneuver according to the host control input. The cost function includes a host cost and a target cost. The host cost is a cost associated with a host kinematic state of the host vehicle, and the target cost is a cost associated with a target kinematic state of the target vehicle.
Inventors
- Yousaf Rahman
- Mrdjan J. Jankovic
- Mario Anthony Santillo
Assignees
- FORD GLOBAL TECHNOLOGIES, LLC
Dates
- Publication Date
- 20260505
- Application Date
- 20230331
Claims (20)
- 1 . A computer comprising a processor and a memory, the memory storing instructions executable by the processor to: receive a command for a host vehicle to perform a maneuver; detect a target vehicle; minimize a cost function by determining a host control input and a target control input that minimize the cost function, the host control input being one or more values that control operation of a component of the host vehicle, the target control input being one or more values that control operation of a component of the target vehicle, the cost function including a host cost and a target cost, the host cost being a cost associated with a host kinematic state of the host vehicle, the target cost being a cost associated with a target kinematic state of the target vehicle; and actuate the host vehicle to perform the maneuver according to the host control input; wherein the target control input is not used for actuating the target vehicle.
- 2 . The computer of claim 1 , wherein the host control input includes a host acceleration of the host vehicle.
- 3 . The computer of claim 1 , wherein the instructions further include instructions to execute a feedback loop, the feedback loop including the minimization of the cost function.
- 4 . The computer of claim 3 , wherein the feedback loop includes a determination of a difference between the target control input and a target observed behavior of the target vehicle.
- 5 . The computer of claim 4 , wherein the target control input includes a target predicted acceleration of the target vehicle, and the target observed behavior includes a target observed acceleration of the target vehicle.
- 6 . The computer of claim 1 , wherein the maneuver is the host vehicle entering a lane.
- 7 . The computer of claim 6 , wherein the target vehicle is in the lane.
- 8 . The computer of claim 6 , wherein the instructions further include instructions to select between the host vehicle entering the lane in front of the target vehicle and the host vehicle entering the lane behind the target vehicle by minimizing the cost function.
- 9 . The computer of claim 1 , wherein the cost function includes a summation of the host cost through a completion of the maneuver and a summation of the target cost through the completion of the maneuver.
- 10 . The computer of claim 1 , wherein the host cost includes a host acceleration cost associated with an acceleration of the host vehicle.
- 11 . The computer of claim 10 , wherein the target cost includes a target acceleration cost associated with an acceleration of the target vehicle.
- 12 . The computer of claim 1 , wherein the host cost includes a speed cost associated with a speed of the host vehicle.
- 13 . The computer of claim 1 , wherein the host cost includes a jerk cost associated with a change in acceleration of the host vehicle.
- 14 . The computer of claim 1 , wherein the instructions to minimize the cost function include instructions to minimize the cost function subject to a constraint to prevent intersecting a virtual barrier of the target vehicle.
- 15 . The computer of claim 1 , wherein the instructions to minimize the cost function include instructions to perform mixed-integer quadratic programming.
- 16 . The computer of claim 1 , wherein the target vehicle is a first target vehicle, the target cost is a first target cost, the target kinematic state is a first target kinematic state, the instructions include instructions to detect a second target vehicle, the cost function includes a second target cost, and the second target cost is associated with a second target kinematic state of the second target vehicle.
- 17 . The computer of claim 16 , wherein the maneuver is the host vehicle entering a lane, the first target vehicle and the second target vehicle are in the lane, the first target vehicle is ahead of the second target vehicle, and the instructions further include instructions to select among (1) the host vehicle entering the lane in front of the first target vehicle, (2) the host vehicle entering the lane behind the first target vehicle and ahead of the second target vehicle, and (3) the host vehicle entering the lane behind the second target vehicle, by minimizing the cost function.
- 18 . The computer of claim 1 , wherein the minimization of the cost function by determining the host control input and the target control input is not used for controlling the target vehicle.
- 19 . A method comprising: receiving a command for a host vehicle to perform a maneuver; detecting a target vehicle; minimizing a cost function by determining a host control input and a target control input that minimize the cost function, the host control input being one or more values that control operation of a component of the host vehicle, the target control input being one or more values that control operation of a component of the target vehicle, the cost function including a host cost and a target cost, the host cost being a cost associated with a host kinematic state of the host vehicle, the target cost being a cost associated with a target kinematic state of the target vehicle; and actuating the host vehicle to perform the maneuver according to the host control input; wherein the minimization of the cost function is not used for controlling the target vehicle.
- 20 . The method of claim 19 , wherein the minimization of the cost function by determining the host control input and the target control input is not used for controlling the target vehicle.
Description
BACKGROUND A vehicle can be equipped with electronic and electro-mechanical components, e.g., computing devices, networks, sensors, and controllers. A vehicle computer can acquire data regarding the vehicle's environment and can operate the vehicle or at least some components thereof based on the acquired data. Vehicle sensors can provide data concerning routes to be traveled and objects to be maneuvered around in the vehicle's environment. Operation of the vehicle can include acquiring accurate and timely data regarding objects in a vehicle's environment while the vehicle is being operated. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an example vehicle. FIG. 2 is a diagram of the vehicle merging onto a limited-access road. FIG. 3 is a diagram of the vehicle changing lanes. FIG. 4 is a block diagram of an example feedback loop. FIG. 5 is a flowchart of an example process for controlling the vehicle to perform a maneuver. DETAILED DESCRIPTION The disclosure describes techniques for a host vehicle to perform a maneuver that involves coordinating with one or more target vehicles. Examples of maneuvers include merging or changing into a lane in which the target vehicles are traveling. The techniques may be used to select whether to enter the lane in front of or behind a target vehicle and control the speed of the host vehicle accordingly. A computer of the host vehicle is programmed to receive a command for the host vehicle to perform a maneuver, detect a target vehicle, minimize a cost function, determine a host control input for the host vehicle based on the minimization of the cost function, and actuate the host vehicle to perform the maneuver according to the host control input. For example, the host control input may be an acceleration or deceleration of the host vehicle. The cost function includes a host cost and a target cost. The host cost is a cost associated with a host kinematic state of the host vehicle, and the target cost is a cost associated with a target kinematic state of the target vehicle. The cost function may include greater costs associated with greater acceleration or deceleration of the host vehicle and target vehicle, thereby encouraging minimization of the acceleration or deceleration of the vehicles, as well as other factors. The computer does not actuate the target vehicle, only the host vehicle, and may not even be in communication with the target vehicle. But by including the target cost in the cost function along with the host cost, more efficient coordination of the maneuver between the host vehicle and the target vehicle may be achieved. For example, the techniques herein may be able to mitigate “soft gridlock,” a situation in which the host vehicle and target vehicle both attempt to give the other one the right of way. The inventors have run simulations of a scenario in which the host vehicle merges into a lane in which the target vehicle is traveling, with the acceleration of the host vehicle controlled according to the techniques described herein, i.e., with a cost function including the host cost and the target cost, as well as with the acceleration of the host vehicle controlled according to a similar cost function without the target cost. When the cost function does not include the target cost, the simulation found that a range of initial positions of the target vehicle that result in soft gridlock is approximately 15 meters long. When the cost function includes the target cost, the simulation found that the range of initial positions of the target vehicle that result in soft gridlock is only 2.75 centimeters. A computer includes a processor and a memory, and the memory stores instructions executable by the processor to receive a command for a host vehicle to perform a maneuver, detect a target vehicle, minimize a cost function, determine a host control input for the host vehicle based on the minimization of the cost function, and actuate the host vehicle to perform the maneuver according to the host control input. The cost function includes a host cost and a target cost. The host cost is a cost associated with a host kinematic state of the host vehicle, and the target cost is a cost associated with a target kinematic state of the target vehicle. In an example, the host control input may include a host acceleration of the host vehicle. In an example, the instructions may further include instructions to determine a target control input for the target vehicle based on the minimization of the cost function. In a further example, the instructions may not include instructions to actuate the target vehicle. In another further example, the instructions may further include instructions to execute a feedback loop, the feedback loop including the minimization of the cost function. In a yet further example, the feedback loop may include a determination of a difference between the target control input and a target observed behavior of the target vehicle. In a still