# US 12,770,525 B2 · Conflict detection and avoidance for a robot with right-of-way rule compliant maneuver selection

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

- Number: US 12,770,525 B2
- Document ID: US12770525B2
- Status: Granted
- Kind: B2
- Application number: 18/436,825
- Filed: 2024-02-08
- Published: 2024-08-08
- Granted: 2026-10-20
- Earliest claimed: 2021-07-02
- Assignees: Aurora Flight Sciences Corporation, a subsidiary of The Boeing Company
- Applicants: Aurora Flight Sciences Corporation
- Inventors: Martin Kearney-Fischer
- Web page: https://patentgrep.com/patent/US12770525B2

## CPC

- G08G 5/80: Anti-collision systems
- G05B 13/026: {using a predictor}
- G05D 1/0011: {associated with a remote control arrangement}
- G05D 1/101: {specially adapted for aircraft}
- G05D 1/223: Command input arrangements on the remote controller, e.g. joysticks or touch screens
- G05D 1/46: Control of position or course in three dimensions [3D]
- G08G 5/55: for a single aircraft
- G08G 5/57: for unmanned aircraft
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES

## Abstract

A method is provided for detecting and avoiding conflict along a current route of a robot. The method includes accessing or determining trajectories of the robot and a nearby moving object forward in time from their respective current positions, and detecting a conflict from a comparison of the trajectories. The method includes selecting a maneuver to avoid the conflict, and outputting an indication of the maneuver for use in at least one of guidance, navigation or control of the robot to avoid the conflict. Selection of the maneuver includes determining a plurality of angles that describe the conflict such as those at which the robot and moving object observe one another, and/or an angle between their trajectories, and evaluating the plurality of angles to select the maneuver.

## Claims

### Claim 1

An apparatus for detecting and avoiding conflict along a current route of a robot, the apparatus comprising:
a memory configured to store computer-readable program code; and
processing circuitry configured to access the memory, and execute the computer-readable program code to cause the apparatus to at least:
access or determine trajectories of the robot and a moving object forward in time from respective current positions of the robot and the moving object;
detect a conflict between the robot and the moving object from a comparison of the trajectories;
select a maneuver to avoid the conflict, including:
determine a plurality of angles that describe the conflict, the plurality of angles including a first angle at which the robot observes the moving object, and the plurality of angles include either a second angle at which the moving object observes the robot or a third angle between the trajectories at a crossing point of the trajectories, wherein a region centered on the robot is divided into sectors surrounding the robot;
evaluate the first angle to determine if the moving object is within one of the sectors; and
evaluate the plurality of angles to select the maneuver to avoid the conflict which includes applying at least one of a plurality of conditional statements based on applying the first angle and the second angle to an algorithm that includes a first conditional statement by which the first angle and the second angle are evaluated to determine if the trajectories cross, and a second conditional statement that is evaluated when the first conditional statement is evaluated to be true,
wherein a region centered on the robot is divided into sectors, and the first angle is evaluated to determine the moving object is within one of the sectors, and
wherein the maneuver selected from the second conditional statement is a first maneuver when the moving object is within a first one or more non-adjacent ones of the sectors, a second maneuver when the moving object is within a second one or more non-adjacent ones of the sectors, and one of the first maneuver or the second maneuver dependent on the second angle when the moving object is within a third one or more non-adjacent ones of the sectors; and
output an indication of the maneuver for use in at least one of guidance, navigation or control of the robot to avoid the conflict.

### Claim 2 (depends on 1)

The apparatus of claim 1 wherein the sectors are divided into a first set of sectors and a second set of sectors each centered on the robot, and wherein the first set of sectors are divided into more sectors than the second set of sectors.

### Claim 3 (depends on 2)

The apparatus of claim 2 wherein the first set of sectors are disposed closer to the robot than the second set of sectors.

### Claim 4 (depends on 2)

The apparatus of claim 2 wherein the sectors are divided into a third set of sectors centered on the robot, and wherein the second set of sectors are divided into more sectors than the third set of sectors.

### Claim 5 (depends on 4)

The apparatus of claim 4 wherein the third set of sectors are divided into less sectors than the first set of sectors and the second set of sectors.

### Claim 6 (depends on 4)

The apparatus of claim 4 wherein:
the first set of sectors are disposed closer to the robot than the second set of sectors; and
the second set of sectors are disposed closer to the robot than the third set of sectors such that the second set of sectors are disposed between the first set of sectors and the second set of sectors.

### Claim 7 (depends on 4)

The apparatus of claim 4 wherein the first set of sectors are divided into five sectors, the second set of sectors are divided into three sectors, and the third set of sectors are divided into two sectors.

### Claim 8 (depends on 1)

The apparatus of claim 1 wherein the conditional statements include a first conditional statement by which the first angle and the second angle are evaluated to determine if the trajectories cross, a second conditional statement evaluated when the first conditional statement is evaluated to true, and a third conditional statement evaluated when the first conditional statement is evaluated to false.

### Claim 9 (depends on 8)

The apparatus of claim 8 wherein the sectors into which the region is divided depend on evaluation of the first conditional statement, the region divided into fewer sectors when the first conditional statement is evaluated to false, and the first angle is evaluated by the third conditional statement, relative to when the first conditional statement is evaluated to true, and the first angle is evaluated by the second conditional statement.

### Claim 10

A computer-readable storage medium for detecting and avoiding conflict along a current route of a robot, the computer-readable storage medium being non-transitory and having computer-readable program code stored therein that, in response to execution by processing circuitry, causes an apparatus to at least:
access or determine trajectories of the robot and a nearby moving object forward in time from respective current positions of the robot and the nearby moving object;
detect a conflict between the robot and the nearby moving object from a comparison of the trajectories;
select a maneuver to avoid the conflict, including:
determine a plurality of angles that describe the conflict, the plurality of angles including a first angle at which the robot observes the moving object, and either a second angle at which the moving object observes the robot, or a third angle between the trajectories at a crossing point of the trajectories; and
evaluate the plurality of angles to select the maneuver to avoid the conflict based on applying the first angle and the second angle to an algorithm that includes a first conditional statement by which the first angle and the second angle are evaluated to determine if the trajectories cross, and a second conditional statement that is evaluated when the first conditional statement is evaluated to be true,
wherein a region centered on the robot is divided into sectors, and the first angle is evaluated to determine the moving object is within one of the sectors, and
wherein the maneuver selected from the second conditional statement is a first maneuver when the moving object is within a first one or more non-adjacent ones of the sectors, a second maneuver when the moving object is within a second one or more non-adjacent ones of the sectors, and one of the first maneuver or the second maneuver dependent on the second angle when the moving object is within a third one or more non-adjacent ones of the sectors; and
output an indication of the maneuver for use in at least one of guidance, navigation or control of the robot to avoid the conflict.

### Claim 11 (depends on 10)

The computer-readable storage medium of claim 10, wherein the conflict is of a first type in which a closest point of approach of the moving object and the robot is within a defined horizontal miss distance (MMD) threshold, and the plurality of angles includes the second angle, and wherein the apparatus is caused to evaluate the first angle and the second angle and apply the first angle and the second angle to an algorithm including conditional statements by which the first angle and the second angle are evaluated to select the maneuver to avoid the conflict.

### Claim 12 (depends on 10)

The computer-readable storage medium of claim 10, wherein the sectors into which the region is divided depend on evaluation of the first conditional statement, the region divided into fewer sectors when the first conditional statement is evaluated to false, and the first angle is evaluated by a third conditional statement, relative to when the first conditional statement is evaluated to true, and the first angle is evaluated by the second conditional statement.

### Claim 13 (depends on 10)

The computer-readable storage medium of claim 10, wherein in a range of [−180°, 180°], the first one or more non-adjacent ones of the sectors includes an 80° sector that spans [120°, −160°], the second one or more non-adjacent ones of the sectors includes a 90° sector that spans [0°, 90°], and a 100° sector that spans [−160°, −60°], and the third one or more non-adjacent ones of the sectors includes a 60° sector that spans [−60°, 0°], and a 30° sector that spans [90°, 120°].

### Claim 14 (depends on 10)

The computer-readable storage medium of claim 10, wherein in a range of [−180°, 180°], the first one or more non-adjacent ones of the sectors includes a 180° sector that spans [0°, 180°], the second one or more non-adjacent ones of the sectors includes a 160° sector that spans [−160°, 0°], and the third one or more non-adjacent ones of the sectors includes a 20° sector that spans [−180°, −160°].

### Claim 15 (depends on 10)

The computer-readable storage medium of claim 10, wherein the conflict is of a second type in which a closest point of approach of the moving object and the robot is outside a defined horizontal miss distance (HMD) threshold, and the plurality of angles includes the third angle, and wherein the apparatus is caused to evaluate the first angle and the third angle to determine the maneuver to avoid the conflict.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the conflict of the second type is detected from an estimation of the closest point of approach, wherein the first angle and the second angle are applied to an algorithm including conditional statements by which the first angle and the second angle are evaluated, wherein the conditional statements include a first conditional statement by which an uncertainty in the estimation is evaluated to determine if the uncertainty is less than a threshold uncertainty, and a second conditional statement evaluated when the first conditional statement is evaluated to true.

### Claim 17 (depends on 16)

The computer-readable storage medium of claim 16, wherein a region centered on the robot is divided into sectors, the first angle is an angle at which the robot is predicted to observe the moving object at the closest point of approach, and the first angle is evaluated by the second conditional statement to determine the moving object is within one of the sectors, and wherein the maneuver as selected from the second conditional statement is one of a first maneuver or null dependent on the third angle when the moving object is within a first one or more non-adjacent ones of the sectors, and one of a second maneuver or null dependent on the third angle when the moving object is within a second one or more non-adjacent ones of the sectors.

### Claim 18 (depends on 17)

The computer-readable storage medium of claim 17, wherein in a range of [−180°, 180°], the first one or more non-adjacent ones of the sectors includes a 180° sector that spans [0°, 180°], and the second one or more non-adjacent ones of the sectors includes a 180° sector that spans [−180°, 0°].

### Claim 19 (depends on 10)

The computer-readable storage medium of claim 10, wherein the sectors are divided into a first set of sectors and a second set of sectors each centered on the robot, and wherein the first set of sectors are divided into more sectors than the second set of sectors.

### Claim 20 (depends on 19)

The computer-readable storage medium of claim 19, wherein the third set of sectors are divided into less sectors than the first set of sectors and the second set of sectors.
