IP Library Granted Patent US 9,701,018
Granted Patent B2
US 9,701,018 · App. 14/242,828 · Granted Jul 11, 2017

Software interface for authoring robotic manufacturing process

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 9,701,018
App. No.
14/242,828
Granted
Jul 11, 2017
Kind
B2
Abstract

Example systems and methods allow for use of a graphical interface to cause one or more robotic devices to construct an output product. One example method includes causing a graphical interface to be displayed on a display device, receiving input data corresponding to one or more interactions with the graphical interface indicating at least one motion path and at least one sequence of tool actions to execute at one or more points within the at least one motion path for use in construction of an output product, generating a plurality of digital nodes including at least one robot node, at least one motion command node, and at least one tool command node, and providing instructions for the at least one robot actor to move according to the sequence of robot motion commands determined by the at least one motion command node and execute the sequence of tool commands determined by the at least one tool command node to construct the output product.

Claims (51)

1. A computer-implemented method, comprising:

causing a graphical interface to be displayed on a display device;

receiving input data corresponding to one or more interactions with the graphical interface, wherein the input data indicates a motion path and a sequence of tool actions to execute at one or more points within the motion path for use in construction of an output product, and wherein the input data further indicates node configuration data;

generating, based on the node configuration data, a plurality of connectable digital nodes for display on the graphical interface, the plurality of connectable digital nodes comprising:

(a) a robot node describing one or more attributes of a particular robot actor;

(b) a motion command node, wherein the input data further specifies that the robot node is connected to the motion command node, and wherein the motion command node determines a sequence of robot motion commands based on the one or more attributes described by the connected robot node to cause the particular robot actor to move along the motion path; and

(c) a tool command node that determines a sequence of tool commands to cause the particular robot actor to operate at least one tool according to the sequence of tool actions; and

providing instructions for the particular robot actor to move according to the sequence of robot motion commands determined by the motion command node and execute the sequence of tool commands determined by the tool command node to construct the output product.

2. The method of claim 1 , wherein the input data further indicates one or more parameters describing characteristics of the output product; and the method further comprises:

causing a graphical representation of the output product to be displayed within the graphical interface.

3. The method of claim 2 , further comprising:

determining at least one mathematical model describing the output product based on the one or more parameters; and

determining the motion path based at least in part on the at least one mathematical model.

4. The method of claim 2 , further comprising:

determining at least one mathematical model describing the output product based on the one or more parameters; and

determining an endpoint of the motion path based on the at least one mathematical model, wherein the endpoint comprises a target plane on the output product.

5. The method of claim 1 , wherein the motion path comprises a sequence of frames, wherein a frame comprises a position and orientation of an end effector of the particular robot actor.

6. The method of claim 1 , wherein the graphical interface further comprises an interpolation slider that is controlled by the input data to specify an interval at which the motion command node determines robot motion commands for the motion path.

7. The method of claim 1 , wherein the robot node further describes a range of motion of one or more joints of the particular robot actor.

8. The method of claim 1 , further comprising generating, based on the node configuration data, at least one tool node, wherein the at least one tool node describes one or more characteristics of the at least one tool.

9. The method of claim 1 , further comprising generating, based on the node configuration data, at least one axis node, wherein the at least one axis node describes at least one track of motion indicating a track of motion through which the particular robot actor is configured to travel.

10. The method of claim 1 , further comprising generating, based on the node configuration data, a stage node describing (i) the particular robot actor and (ii) the at least one tool.

11. The method of claim 1 , further comprising:

generating, based on the node configuration data, a step node comprising a particular sequence of robot motion commands generated by the motion command node and a particular sequence of tool commands generated by the tool command node; and

using the step node to cause the particular robot actor to move according to the particular sequence of robot motion commands and execute the particular sequence of tool commands.

12. The method of claim 1 , further comprising causing a visual simulation of construction of the output product by the particular robot actor to be displayed within the graphical interface.

13. The method of claim 1 , wherein the one or more attributes comprise a plurality of link lengths of the particular robot actor, wherein the plurality of link lengths are indicated by the input data, and wherein the motion command node determines the sequence of robot motion commands based on the plurality of link lengths of the particular robot actor.

14. The method of claim 1 , wherein the one or more attributes comprise a make and model of the particular robot actor, wherein the make and model are indicated by the input data, and wherein the motion command node determines the sequence of robot motion commands based on the make and model of the particular robot actor.

15. The method of claim 1 , wherein the sequence of robot motion commands determined by the motion command node comprise a sequence of joint angles for the particular robot actor to cause an end effector of the particular robot actor to follow the motion path.

16. A system comprising:

a display device; and

a control system configured to:

cause a graphical interface to be displayed on the display device;

receive input data corresponding to one or more interactions with the graphical interface, wherein the input data indicates a motion path and a sequence of tool actions to execute at one or more points within the motion path for use in construction of an output product, and wherein the input data further indicates node configuration data;

generate, based on the node configuration data, a plurality of connectable digital nodes for display on the graphical interface, the plurality of connectable digital nodes comprising:

(a) a robot node describing one or more attributes of a particular robot actor;

(b) a motion command node, wherein the input data further specifies that the robot node is connected to the motion command node, and wherein the motion command node determines a sequence of robot motion commands based on the one or more attributes described by the connected robot node to cause the particular robot actor to move along the motion path; and

(c) a tool command node that determines a sequence of tool commands to cause the particular robot actor to operate at least one tool according to the sequence of tool actions; and

provide instructions for the particular robot actor to move according to the sequence of robot motion commands determined by the motion command node and execute the sequence of tool commands determined by the tool command node to construct the output product.

17. The system of claim 16 , wherein the control system is further configured to generate, based on the node configuration data, a stage node describing (i) the particular robot actor and (ii) the at least one tool.

18. The system of claim 16 , wherein the input data further indicates one or more parameters describing characteristics of the output product; and

wherein the control system is further configured to cause a graphical representation of the output product to be displayed within the graphical interface.

19. The system of claim 16 , wherein the control system is further configured to cause a visual simulation of execution of the motion path by the particular robot actor to be displayed within the graphical interface.

20. A non-transitory computer readable medium having stored therein instructions, that when executed by a computing system, cause the computing system to perform functions comprising:

causing a graphical interface to be displayed on a display device;

receiving input data corresponding to one or more interactions with the graphical interface, wherein the input data indicates a motion path and a sequence of tool actions to execute at one or more points within the motion path for use in construction of an output product, and wherein the input data further indicates node configuration data;

generating, based on the node configuration data, a plurality of connectable digital nodes for display on the graphical interface, the plurality of connectable digital nodes comprising:

(a) a robot node describing one or more attributes of a particular robot actor;

(b) a motion command node, wherein the input data further specifies that the robot node is connected to the motion command node, and wherein the motion command node determines a sequence of robot motion commands based on the one or more attributes described by the connected robot node to cause the particular robot actor to move along the motion path; and

(c) a tool command node that determines a sequence of tool commands to cause the particular robot actor to operate at least one tool according to the sequence of tool actions; and

providing instructions for the particular robot actor to move according to the sequence of robot motion commands determined by the motion command node and execute the sequence of tool commands determined by the tool command node to construct the output product.

Assignments (4)
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 Nov 15, 2017
From: BOT & DOLLY, LLC
To: GOOGLE LLC
Reel/Frame 044132/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2017
From: GOOGLE LLC
To: X DEVELOPMENT LLC
Reel/Frame 044132/0110 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2014
From: LINNELL, JEFFREY; BYRNE, KENDRA; BITTERMAN, MATTHEW
To: BOT & DOLLY, LLC
Reel/Frame 033402/0483 →