# US 12,179,792 B2 · Vehicle control

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,179,792 B2
- Document ID: US12179792B2
- Status: Granted
- Kind: B2
- Application number: 17/479,777
- Filed: 2021-09-20
- Published: 2022-03-10
- Granted: 2024-12-31
- Earliest claimed: 2019-01-18
- Assignees: Zoox, Inc.
- Applicants: Zoox, Inc.
- Inventors: Abishek Krishna Akella; Janek Hudecek; Marin Kobilarov; Marc Wimmershoff
- Web page: https://patentgrep.com/patent/US12179792B2

## CPC

- B60W 30/14: {Adaptive} cruise control
- B60W 60/001: {Planning or execution of driving tasks}
- B60W 30/143: {Speed control (B60W30/16 takes precedence)}
- B60W 30/16: Control of distance between vehicles, e.g. keeping a distance to preceding vehicle
- B60W 30/18109: {Braking}
- B60W 60/00: Drive control systems specially adapted for autonomous road vehicles
- B60W 2520/10: Longitudinal speed
- B60W 2520/12: Lateral speed
- B60W 2554/801: Lateral distance
- B60W 2554/802: Longitudinal distance
- B60W 2554/804: Relative longitudinal speed
- B60W 2555/60: Traffic rules, e.g. speed limits or right of way
- B60W 2720/106: Longitudinal acceleration
- B60W 2720/125: Lateral acceleration
- B60W: CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT

## Abstract

Command determination for controlling a vehicle, such as an autonomous vehicle, is described. In an example, individual requests for controlling the vehicle relative to each of multiple objects or conditions in an environment are received (substantially simultaneously) and based on the request type and/or additional information associated with a request, command controllers can determine control commands (e.g., different accelerations, steering angles, steering rates, and the like) associated with each of the one or more requests. The command controllers may have different controller gains (which may be based on functions of distance, distance ratios, time to estimated collisions, etc.) for determining the controls and a control command may be determined based on the all such determined controls.

## Claims

### Claim 1

A non-transitory computer-readable medium storing a set of instructions that, when executed, cause one or more processors to perform operations comprising:
receiving a first request to navigate relative to an object in an environment, the first request comprising first information including at least one of a first velocity relative to the object, a first distance relative to the object, or a first time relative to the object;
receiving a second request to navigate in the environment, the second request comprising second information comprising at least one of a second velocity, a second distance, or a second time;
determining, using a first command controller, a first command for controlling a vehicle in accordance with the first request;
determining, using a second command controller, a second command for controlling the vehicle in accordance with the second request;
determining, based at least in part on the first command and the second command, a control command for controlling the vehicle, and
controlling, based at least in part on the control command, the vehicle.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the first command, the second command and the control command are longitudinal accelerations along a direction of travel of the vehicle, and
wherein the first command controller comprises a first gain and the second command controller comprises a second gain different from the first gain.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein:
the first request comprises a request to follow the object; and
the first information comprises at least one of a velocity of the object or a distance to maintain behind the object.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein the first request includes a request to follow the object and the first distance is associated with a time gap to maintain between the vehicle and the object, and wherein a first gain of the first command controller is based at least in part on at least one of a distance between the vehicle and the object, a desired distance between the vehicle and the object, or a time associated with an estimated collision of the vehicle and the object.

### Claim 5 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein at least one of:
the first information or the second information includes at least one of a minimum time gap or a maximum time gap,
the first velocity or the second velocity includes at least one of a minimum velocity or a maximum velocity, or
the first request or the second request further includes at least one of a minimum acceleration or a maximum acceleration.

### Claim 6 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein:
the second request is a request to attain the second velocity at a distance from a current position;
the second information includes the second velocity and the second distance, the second velocity comprising the second velocity and the second distance comprising the distance from the current position; and
the second command controller has a second controller gain based at least in part on the distance from the current position.

### Claim 7 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein at least one of the first request includes first additional information or the second request includes second additional information, the first command being further determined based at least in part on the first additional information and the second command being further based at least in part on the second additional information.

### Claim 8 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the first additional information comprises at least one of:
an instruction to assign a constant velocity to an object;
an instruction to assign a predicted movement to the object;
an instruction to cause the vehicle to move forward slowly from a stop;
an instruction to increase a first acceleration or a second acceleration; or
an instruction to de-prioritize one of the first request or the second request relative to the other of the first request or the second request or other requests.

### Claim 9 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein a first condition comprises a dynamic object and the first additional information comprises an instruction to associate a predetermined velocity or a predetermined trajectory to the object.

### Claim 10 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the first additional information comprises an instruction to cause the first command controller to determine an increased acceleration, the operations further comprising:
altering a gain associated with the first command controller based at least in part on receiving the instruction.

### Claim 11 (depends on 7)

The non-transitory computer-readable medium of claim 7, wherein the first additional information comprises an instruction to de-prioritize the first request relative to the second request or additional requests, the operations further comprising:
associating a weighting factor with the first command based at least in part on the instruction to de-prioritize.

### Claim 12

An autonomous vehicle comprising:
a first controller for determining a first acceleration based at least in part on first input information and associated with a first controller gain;
a second controller for determining a second acceleration based at least in part on second input information and associated with a second controller gain;
one or more processors; and
memory storing processor-executable instructions that, when executed by the one or more processors, cause the autonomous vehicle to perform acts comprising:
receiving a first request to navigate relative to an object in an environment;
receiving a second request to navigate in the environment;
determining, using the first controller, a first command for controlling the autonomous vehicle in accordance with the first request;
determining, using the second controller, a second command for controlling the autonomous vehicle in accordance with the second request;
determining, based at least in part on the first command and the second command, a control command; and
controlling the autonomous vehicle based at least in part on the control command.

### Claim 13 (depends on 12)

The autonomous vehicle of claim 12, wherein the first request includes a request to follow the object and a time gap to maintain between the autonomous vehicle and the object, and wherein the first controller gain is based at least in part on at least one of a distance between the autonomous vehicle and the object, a desired distance between the autonomous vehicle and the object, or a time associated with an estimated collision of the autonomous vehicle and the object.

### Claim 14 (depends on 12)

The autonomous vehicle of claim 12, wherein:
the first command, the second command and the control command are longitudinal accelerations along a direction of travel of the autonomous vehicle, and
the first controller comprises a first gain and the second controller comprises a second gain different from the first gain.

### Claim 15 (depends on 12)

The autonomous vehicle of claim 12, wherein:
the second request is a request to attain a second velocity at a distance from a current position; and
the second controller has a second controller gain based at least in part on the distance from the current position.

### Claim 16 (depends on 12)

The autonomous vehicle of claim 12, wherein at least one of the first request includes first additional information or the second request includes second additional information, the first command being further determined based at least in part on the first additional information or the second command being further based at least in part on the second additional information.

### Claim 17 (depends on 16)

The autonomous vehicle of claim 16, wherein the first additional information comprises at least one of:
an instruction to assign a constant velocity to the object;
an instruction to assign a predicted movement to the object;
an instruction to cause the autonomous vehicle to move forward slowly from a stop;
an instruction to increase the first acceleration or the second acceleration; or
an instruction to de-prioritize one of the first request or the second request relative to the other of the first request or the second request or other requests.

### Claim 18

A method comprising:
receiving a first request to navigate relative to an object in an environment, the first request comprising first information including at least one of a first velocity relative to the object, a first distance relative to the object, or a first time relative to the object;
receiving a second request to navigate in the environment, the second request comprising second information comprising at least one of a second velocity, a second distance, or a second time;
determining, using a first command controller, a first command for controlling a vehicle in accordance with the first request;
determining, using a second command controller, a second command for controlling the vehicle in accordance with the second request;
determining, based at least in part on the first command and the second command, a control command for controlling the vehicle; and
controlling, based at least in part on the control command, the vehicle.

### Claim 19 (depends on 18)

The method of claim 18, wherein:
the first command, the second command and the control command comprise longitudinal accelerations along a direction of travel of the vehicle, and
the first command controller comprises a first gain and the second command controller comprises a second gain different from the first gain.

### Claim 20 (depends on 18)

The method of claim 18, wherein:
the first command is further determined based at least in part on an instruction to cause the first command controller to determine an increased acceleration, and
wherein the method further comprises altering a gain associated with the first command controller based at least in part on the instruction.
