IP Library Granted Patent US 11,256,240
Granted Patent B2
US 11,256,240 · App. 16/705,445 · Granted Feb 22, 2022

Planning and adapting projects based on a buildability analysis

Inventors: Kendra Byrne (Mountain View, CA); Eli Reekmans (San Francisco, CA); Stoyan Gaydarov (Burlingame, CA); Marek Michalowski (San Francisco, CA); Michael Beardsworth (San Francisco, CA); Ryan Butterfoss (San Francisco, CA); Ytai Ben-Tsvi (Sunnyvale, CA)
Assignee: Intrinsic Innovation LLC
G05B19/41865G05B19/41885G05B2219/35193G05B2219/35499
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,256,240
App. No.
16/705,445
Granted
Feb 22, 2022
Kind
B2
Abstract

Disclosed herein is a worksite automation process that involves: generating a first sequence of tasks to build the product according to a model. The process further involves causing one or more robotic devices to build the product by beginning to execute the first sequence of tasks. Further, during the execution of the first sequence of tasks, performing a buildability analysis to determine a feasibility of completing the product by executing the first sequence of tasks. Based on the analysis, determining that it is not feasible to complete the product by executing the first sequence of tasks, and in response, generating a second sequence of tasks to complete the product according to the model. Then, causing the one or more robotic devices to continue building the product by beginning to execute the second sequence of tasks.

Claims (55)

1. A computer-implemented method comprising:

receiving a set of specifications and a set of desired performance constraints for a product that is to be built;

generating, based on the received set of specifications, a model of the product that indicates how a physical structure of the product that is to be built is to be configured, and how the product that is to be built will function once built;

comparing an as-built portion of the product to the model of the product;

determining, based on comparing the as-built portion of the product to the model of the product, that the product that is to be built still satisfies the received set of desired performance constraints;

in response to determining that the product that is to be built still satisfies the received set of desired performance constraints, generating multiple candidate sequence of tasks that each can be performed by one or more robotic devices to build the product from the as-built portion of the product;

simulating performance of each of the multiple candidate sequences of tasks that each can be performed by the one or more robotic devices to build a product, comprising, for each of the multiple candidate sequences of tasks:

determining an order in which each task of the candidate sequence of tasks is to be performed based on an availability of one or more respective resources that are associated with each task;

assigning each task of the candidate sequence of tasks to one or more of the robotic devices,

simulating the candidate sequence of tasks in the determined order using the one or more of the robotic devices to which each task was assigned, and

determining, based on simulating the candidate sequence of tasks, whether the one or more robotic devices are capable of successfully building the product;

selecting a particular sequence of tasks, from among the multiple candidate sequences of tasks, that is determined, based on simulated performance of the particular sequence of tasks, to be capable of successfully building the product; and

performing, while the particular sequence of tasks remains incomplete and while simulation of a performance of remaining tasks of the sequence of tasks on the as-built portion of the product indicates that the product will still satisfy the model, the particular sequence of tasks.

2. The method of claim 1 , wherein the model comprises a three-dimensional (3d) representation of the product.

3. The method of claim 1 , wherein the received set of desired performance constraints specify one or more materials out of which the product is to be built.

4. The method of claim 1 , comprising adjusting the model to satisfy the received set of desired performance constraints.

5. The method of claim 1 , comprising a tree structure that indicates different permutations of the candidate sequences of tasks.

6. The method of claim 1 , wherein simulating performance each candidate sequence of tasks comprises determining whether a particular robotic device will collide with another robotic device while performing a particular task.

7. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving a set of specifications and a set of desired performance constraints for a product that is to be built;

generating, based on the received set of specifications, a model of the product that indicates how a physical structure of the product that is to be built is to be configured, and how the product that is to be built will function once built;

comparing an as-built portion of the product to the model of the product;

determining, based on comparing the as-built portion of the product to the model of the product, that the product that is to be built still satisfies the received set of desired performance constraints;

in response to determining that the product that is to be built still satisfies the received set of desired performance constraints, generating multiple candidate sequence of tasks that each can be performed by one or more robotic devices to build the product from the as-built portion of the product;

simulating performance of each of the multiple candidate sequences of tasks that each can be performed by the one or more robotic devices to build a product, comprising, for each of the multiple candidate sequences of tasks:

determining an order in which each task of the candidate sequence of tasks is to be performed based on an availability of one or more respective resources that are associated with each task;

assigning each task of the candidate sequence of tasks to one or more of the robotic devices,

simulating the candidate sequence of tasks in the determined order using the one or more of the robotic devices to which each task was assigned, and

determining, based on simulating the candidate sequence of tasks, whether the one or more robotic devices are capable of successfully building the product;

selecting a particular sequence of tasks, from among the multiple candidate sequences of tasks, that is determined, based on simulated performance of the particular sequence of tasks, to be capable of successfully building the product; and

performing, while the particular sequence of tasks remains incomplete and while simulation of a performance of remaining tasks of the sequence of tasks on the as-built portion of the product indicates that the product will still satisfy the model, the particular sequence of tasks.

8. The medium of claim 7 , wherein the model comprises a three-dimensional (3d) representation of the product.

9. The medium of claim 7 , wherein the received set of desired performance constraints specify one or more materials out of which the product is to be built.

10. The medium of claim 7 , wherein the operations comprise adjusting the model to satisfy the received set of desired performance constraints.

11. The medium of claim 7 , wherein the operations comprise a tree structure that indicates different permutations of the candidate sequences of tasks.

12. The medium of claim 7 , wherein simulating performance each candidate sequence of tasks comprises determining whether a particular robotic device will collide with another robotic device while performing a particular task.

13. A system comprising:

one or more computers; and

one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

receiving a set of specifications and a set of desired performance constraints for a product that is to be built;

generating, based on the received set of specifications, a model of the product that indicates how a physical structure of the product that is to be built is to be configured, and how the product that is to be built will function once built;

comparing an as-built portion of the product to the model of the product;

determining, based on comparing the as-built portion of the product to the model of the product, that the product that is to be built still satisfies the received set of desired performance constraints;

in response to determining that the product that is to be built still satisfies the received set of desired performance constraints, generating multiple candidate sequence of tasks that each can be performed by one or more robotic devices to build the product from the as-built portion of the product;

simulating performance of each of the multiple candidate sequences of tasks that each can be performed by the one or more robotic devices to build a product, comprising, for each of the multiple candidate sequences of tasks:

determining an order in which each task of the candidate sequence of tasks is to be performed based on an availability of one or more respective resources that are associated with each task;

assigning each task of the candidate sequence of tasks to one or more of the robotic devices,

simulating the candidate sequence of tasks in the determined order using the one or more of the robotic devices to which each task was assigned, and

determining, based on simulating the candidate sequence of tasks, whether the one or more robotic devices are capable of successfully building the product;

selecting a particular sequence of tasks, from among the multiple candidate sequences of tasks, that is determined, based on simulated performance of the particular sequence of tasks, to be capable of successfully building the product; and

performing, while the particular sequence of tasks remains incomplete and while simulation of a performance of remaining tasks of the sequence of tasks on the as-built portion of the product indicates that the product will still satisfy the model, the particular sequence of tasks.

14. The system of claim 13 , wherein the model comprises a three-dimensional (3d) representation of the product.

15. The system of claim 13 , wherein the received set of desired performance constraints specify one or more materials out of which the product is to be built.

16. The system of claim 13 , wherein the operations comprise adjusting the model to satisfy the received set of desired performance constraints.

17. The system of claim 13 , wherein the operations comprise a tree structure that indicates different permutations of the candidate sequences of tasks.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2021
From: X DEVELOPMENT LLC
To: INTRINSIC INNOVATION LLC
Reel/Frame 057650/0218 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2019
From: BYRNE, KENDRA; REEKMANS, ELI; GAYDAROV, STOYAN; MICHALOWSKI, MAREK; BEARDSWORTH, MICHAEL; BUTTERFOSS, RYAN; BEN-TSVI, YTAI
To: X DEVELOPMENT LLC
Reel/Frame 051199/0600 →