IP Library › Granted Patent US 11,797,004
Granted Patent B2
US 11,797,004 · App. 17/148,141 · Granted Oct 24, 2023

Causing a robot to execute a mission using a task graph and a task library

Inventors: Alfredo Giuliano (Lucerne, CH); Jeffery Saunders (Quincy, MA)
Assignee: Aurora Flight Sciences Corporation, A Subsidiary Of The Boeing Company
G05D1/0088G05D1/0027G05B2219/32129G05B2219/50391
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,797,004
App. No.
17/148,141
Filed
Jan 13, 2021
Granted
Oct 24, 2023
Kind
B2
Art Unit
3661
USPC
701/2
Abstract

A method and corresponding apparatus and computer-readable storage medium are provided for causing one or more robots to execute a mission. The method includes identifying the mission including a nominal sequence of selected tasks that are executable to cause the one or more robots to execute maneuvers to achieve a mission objective. The method includes determining a task graph in which the mission is modeled. The task graph is expressed as a directed graph and includes selected task nodes representing the selected tasks that are connected by edges representing transitions between the selected tasks. The method also includes causing the one or more robots to execute the mission using the task graph and a task library of tasks including a selected task executable to cause the one or more robots to execute a maneuver.

Claims (81)

1. An apparatus for causing one or more robots to execute a mission, the apparatus comprising:

a memory having computer-readable program code stored therein; and

processing circuitry configured to access the memory, and execute the computer-readable program code to cause the apparatus to at least:

identify the mission including a nominal sequence of selected tasks that are executable to cause the one or more robots to execute maneuvers to achieve a mission objective;

determine a task graph in which the mission is modeled, wherein the task graph is expressed as a directed graph charting selected task nodes representing the selected tasks that are connected by edges representing transitions between the selected tasks;

wherein one or more of the edges representing transitions between the selected tasks is associated with a level of contingency;

transition from one of the selected tasks to another one of the selected tasks according to the level of contingency;

cause the one or more robots to execute the mission using the task graph and a task library of tasks including the selected tasks executable to cause the one or more robots to execute a maneuver;

wherein the mission further includes one or more alternate tasks to be executed when a contingency event occurs during execution of at least one of the selected tasks in the nominal sequence of selected tasks; and

wherein the apparatus is caused to determine the task graph further includes one or more alternate task nodes representing the one or more alternate tasks.

2. The apparatus of claim 1 , wherein the selected tasks in the nominal sequence of the selected tasks causes the one or more robots to execute a nominal maneuver, or an alternate maneuver when a task-specific contingency event occurs during execution of the nominal maneuver, and

wherein the apparatus is caused to cause the one or more robots to execute the mission using the task library that includes the selected tasks executable to cause the one or more robots to execute the nominal maneuver, or the alternate maneuver when the task-specific contingency event occurs.

3. The apparatus of claim 1 , wherein

the apparatus caused to determine the task graph includes the apparatus caused to determine an alternate task graph including one or more alternate task nodes representing the one or more alternate tasks.

4. The apparatus of claim 1 , wherein the apparatus caused to cause the one or more robots to execute the mission includes, for a robot of the one or more robots, the apparatus caused to at least:

access mission data including the task graph in which the mission is modeled;

traverse the task graph including the selected task nodes; and

when a selected task node of the selected task nodes representing one of the selected tasks is visited, call on the task library to execute the one of the selected tasks and thereby cause the robot to execute the maneuver.

5. The apparatus of claim 4 , wherein the tasks in the task library further include the one or more alternate tasks, and

wherein for the robot of the one or more robots, the processing circuitry is configured to execute the computer-readable program code to cause the apparatus to further at least:

detect occurrence of the contingency event during execution of one of the selected tasks;

transition in the task graph from the selected one of task nodes to one of the alternate task nodes; and

call on the task library to execute the one or more alternate tasks and thereby cause the robot to execute another maneuver.

6. The apparatus of claim 4 , wherein the task graph is associated with an alternate task graph including one or more of the alternate task nodes representing the one or more alternate tasks, and the tasks in the task library further include the one or more alternate tasks, and

wherein for the robot of the one or more robots, the processing circuitry is configured to execute the computer-readable program code to cause the apparatus to further at least:

detect occurrence of the contingency event during execution of any one of the selected tasks;

transition to the alternate task graph; and

call on the task library to execute the one or more alternate tasks and thereby cause the robot to execute one or more other maneuvers.

7. A method of causing one or more robots to execute a mission, the method comprising:

identifying the mission including a nominal sequence of selected tasks that are executable to cause the one or more robots to execute maneuvers to achieve a mission objective;

determining a task graph in which the mission is modeled, wherein the task graph is expressed as a directed graph charting selected task nodes representing the selected tasks that are connected by edges representing transitions between the selected tasks;

wherein one or more of the edges representing transitions between the selected tasks is associated with a level of contingency;

transitioning from one of the selected tasks to another one of the selected tasks according to the level of contingency; and

causing the one or more robots to execute the mission using the task graph and a task library of tasks including a selected task executable to cause the one or more robots to execute a maneuver.

8. The method of claim 7 , wherein the selected task in the nominal sequence of the selected tasks causes the one or more robots to execute a nominal maneuver, or an alternate maneuver when a task-specific contingency event occurs during execution of the nominal maneuver, and

wherein causing the one or more robots to execute the mission includes causing the one or more robots to execute the mission using the task library that includes the selected task executable to cause the one or more robots to execute the nominal maneuver, or the alternate maneuver when the task-specific contingency event occurs.

9. The method of claim 7 , wherein the mission further includes one or more alternate tasks to be executed when a contingency event occurs during execution of the selected task in the nominal sequence of selected tasks, and

wherein determining the task graph includes determining the task graph further including one or more alternate task nodes representing the one or more alternate tasks.

10. The method of claim 7 , wherein the mission is associated with one or more alternate tasks to be executed when a contingency event occurs during execution of any one of the selected tasks in the nominal sequence of selected tasks, and

wherein determining the task graph includes determining an alternate task graph including one or more alternate task nodes representing the one or more alternate tasks, each selected task node associated with the alternate task graph.

11. The method of claim 7 , wherein causing the one or more robots to execute the mission includes for a robot of the one or more robots:

accessing mission data including the task graph in which the mission is modeled;

traversing the task graph including the selected task nodes; and

when a selected task node of the selected task nodes representing one of the selected tasks is visited, calling on the task library to execute the one of the selected tasks and thereby cause the robot to execute the maneuver.

12. The method of claim 11 , wherein the mission further includes an alternate task to be executed when a contingency event occurs during execution of the selected task, the task graph further includes an alternate task node representing the alternate task, and the tasks in the task library further include the alternate task, and

wherein the method further comprises for the robot of the one or more robots:

detecting occurrence of the contingency event during execution of the selected task;

transitioning in the task graph from the selected task node to the alternate task node; and

calling on the task library to execute the alternate task and thereby cause the robot to execute another maneuver.

13. The method of claim 11 , wherein the mission is associated with one or more alternate tasks to be executed when a contingency event occurs during execution any one of the selected tasks, the task graph is associated with an alternate task graph including one or more alternate task nodes representing the one or more alternate tasks, and the tasks in the task library further include the one or more alternate tasks, and

wherein the method further comprises for the robot of the one or more robots:

detecting occurrence of the contingency event during execution of any one of the selected tasks;

transitioning to the alternate task graph; and

calling on the task library to execute the one or more alternate tasks and thereby cause the robot to execute one or more other maneuvers.

14. A computer-readable storage medium for causing one or more robots to execute a mission, 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:

identify the mission including a nominal sequence of selected tasks that are executable to cause the one or more robots to execute maneuvers to achieve a mission objective;

determine a task graph in which the mission is modeled, wherein the task graph is expressed as a directed graph charting selected task nodes representing the selected tasks that are connected by edges representing transitions between the selected tasks;

wherein one or more of the edges representing transitions between the selected tasks is associated with a level of contingency;

transition from one of the selected tasks to another one of the selected tasks according to the level of contingency; and

cause the one or more robots to execute the mission using the task graph and a task library of tasks including a selected task executable to cause the one or more robots to execute a maneuver.

15. The computer-readable storage medium of claim 14 , wherein the selected task in the nominal sequence of the selected tasks causes the one or more robots to execute a nominal maneuver, or an alternate maneuver when a task-specific contingency event occurs during execution of the nominal maneuver, and

wherein the apparatus is caused to cause the one or more robots to execute the mission using the task library that includes the selected task executable to cause the one or more robots to execute the nominal maneuver, or the alternate maneuver when the task-specific contingency event occurs.

16. The computer-readable storage medium of claim 14 , wherein the mission further includes one or more alternate tasks to be executed when a contingency event occurs during execution of the selected task in the nominal sequence of selected tasks, and

wherein the apparatus is caused to determine the task graph further including one or more alternate task nodes representing the one or more alternate tasks.

17. The computer-readable storage medium of claim 14 , wherein the mission is associated with one or more alternate tasks to be executed when a contingency event occurs during execution of any one of the selected tasks in the nominal sequence of selected tasks, and

wherein the apparatus caused to determine the task graph includes the apparatus caused to determine an alternate task graph including one or more alternate task nodes representing the one or more alternate tasks, each of the selected task nodes associated with the alternate task graph.

18. The computer-readable storage medium of claim 14 , wherein the apparatus caused to cause the one or more robots to execute the mission includes, for a robot of the one or more robots, the apparatus caused to at least:

access mission data including the task graph in which the mission is modeled;

traverse the task graph including the selected task nodes; and

when a selected task node of the selected task nodes representing one of the selected tasks is visited, call on the task library to execute the one of the selected tasks and thereby cause the robot to execute the maneuver.

19. The computer-readable storage medium of claim 18 , wherein the mission further includes an alternate task to be executed when a contingency event occurs during execution of the selected task, the task graph further includes an alternate task node representing the alternate task, and the tasks in the task library further include the alternate task, and

wherein for the robot of the one or more robots, the computer-readable storage medium has further computer-readable program code stored therein that, in response to execution by the processing circuitry, causes the apparatus to further at least:

detect occurrence of the contingency event during execution of the selected task;

transition in the task graph from the selected task node to the alternate task node; and

call on the task library to execute the alternate task and thereby cause the robot to execute another maneuver.

20. The computer-readable storage medium of claim 18 , wherein the mission is associated with one or more alternate tasks to be executed when a contingency event occurs during execution any one of the selected tasks, the task graph is associated with an alternate task graph including one or more alternate task nodes representing the one or more alternate tasks, and the tasks in the task library further include the one or more alternate tasks, and

wherein for the robot of the one or more robots, the computer-readable storage medium has further computer-readable program code stored therein that, in response to execution by the processing circuitry, causes the apparatus to further at least:

detect occurrence of the contingency event during execution of any one of the selected tasks;

transition to the alternate task graph; and

call on the task library to execute the one or more alternate tasks and thereby cause the robot to execute one or more other maneuvers.

21. The apparatus of claim 1 , wherein the task graph includes an additional edge that connects one of the task nodes to a ground node, and a level of contingency is associated with the additional edge.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 054915 FRAME 0508. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2021
From: SAUNDERS, JEFFERY; GIULIANO, ALFREDO
To: AURORA FLIGHT SCIENCES CORPORATION, A SUBSIDIARY OF THE BOEING COMPANY
Reel/Frame 055679/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2021
From: SAUNDERS, JEFFERY; GIULIANO, ALFREDO
To: AURORA FLIGHT SCIENCES CORPORATION
Reel/Frame 054915/0508 →
Continuity (2)
Provisional Application 63059394 · Jul 31, 2020
Related Publication 20220035372A1 · Feb 3, 2022