Patents by Inventor Ryan Butterfoss

Ryan Butterfoss has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11813751
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating paths for a robot based on optimizing multiple objectives. One of the methods includes: receiving, by a motion planner, request to generate a path for a robot between a start point and an end point in a workcell of the robot, wherein the workcell is associated with one or more soft margin values that define spaces in which the robot should avoid when transitioning between points in the workcell; classifying path segments within the workcell as being inside the soft margin or outside the soft margin; generating a respective cost for each of the plurality of path segments within the workcell; generating a plurality of alternative paths; evaluating the plurality of alternative paths according to the respective costs; and selecting an alternative path based on respective total costs of the plurality of alternative paths.
    Type: Grant
    Filed: August 28, 2020
    Date of Patent: November 14, 2023
    Assignee: Intrinsic Innovation LLC
    Inventors: Ryan Butterfoss, Jean-Francois Dupuis
  • Patent number: 11787048
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing robot planning using a process definition graph. One of the methods includes receiving an initial underconstrained process definition graph for one or more robots, wherein the process definition graph is a directed acyclic graph having constraint nodes and action nodes. A plurality of transformers are repeatedly applied to the initial process definition graph, wherein each application of a transformer generates a respective modified process definition graph according to the constraint nodes of the process definition graph, wherein applying the plurality of transformers generates a schedule that specifies which of the one or more robots are to perform which of one or more actions represented by actions nodes according to constraints imposed by the constraint nodes in the process definition graph.
    Type: Grant
    Filed: August 27, 2020
    Date of Patent: October 17, 2023
    Assignee: Intrinsic Innovation LLC
    Inventors: Ryan Butterfoss, Keegan Go, Stoyan Gaydarov
  • Patent number: 11706111
    Abstract: Implementations are directed to improving network anti-fragility. In some aspects, a method includes receiving parameter data from a network of nodes, the parameter data comprising attributes, policies, and action spaces for each node in the network of nodes; configuring one or more interruptive events on one or more nodes included in the network of nodes; determining a first action of each node in the network of nodes in response to the one or more interruptive events; determining a first performance metric, for each node, that corresponds to the first action, wherein the first performance matric is determined based on at least a first reward value associated with the first action; continuously updating the first action in an iterative process to obtain a final action, wherein a performance metric corresponding to the final action satisfies a performance threshold, and transmitting the final action for each node to the network of nodes.
    Type: Grant
    Filed: April 29, 2022
    Date of Patent: July 18, 2023
    Assignee: X Development LLC
    Inventors: John Michael Stivoric, David Andre, Ryan Butterfoss, Rebecca Radkoff, Salil Vijaykumar Pradhan, Grace Taixi Brentano, Lam Thanh Nguyen
  • Publication number: 20230144113
    Abstract: Methods and systems including receiving a plurality of shipping bids from a plurality of shipping entities, each entity having goods to ship from locations to destinations, wherein each bid represents an option to ship goods at a shipping price, and wherein each bid comprises a plurality of shipping parameters; receiving a plurality of carrier bids from a plurality of carrier entities, each entity transporting the goods, wherein each bid represents an option to transport the goods at a price, and wherein each bid comprises a plurality of carrier parameters; performing a matching process to generate a plurality of pair-wise partial matches, wherein each match associates a shipping and carrier bid at a modified price, wherein the modified price is based on a deviation between the parameters; providing information representing the matches to the shipping and carrier entities; and generating training data representing which matches were exercised.
    Type: Application
    Filed: November 9, 2022
    Publication date: May 11, 2023
    Inventors: Salil Vijaykumar Pradhan, Grigory Bronevetsky, Ryan Butterfoss, Rebecca Radkoff, David Andre, Randolph Preston McAfee, John Michael Stivoric, Grace Taixi Brentano, Sze Man Lee
  • Publication number: 20230117297
    Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for automatic generation of a supply chain simulation. The methods, systems, and apparatus include actions of obtaining supply chain data of a supply chain, generating a supply chain network graph that represents relationships between locations indicated by the supply chain data, determining classifications of the locations indicated by the supply chain data, determining agent rule models based on the supply chain data, and generating a supply chain simulation based on the supply chain network graph, the classifications of the locations, and the agent rule models.
    Type: Application
    Filed: October 18, 2022
    Publication date: April 20, 2023
    Inventors: Ryan Butterfoss, David Andre, Salil Vijaykumar Pradhan, Rebecca Radkoff
  • Patent number: 11554489
    Abstract: Systems, methods, devices, and other techniques are described for planning motions of one or more robots to perform at least one specified task. In some implementations, a task to execute with a robotic system using a tool is identified. A partially constrained pose is identified for the tool that is to apply during execution of the task. A set of possible constraints for the unconstrained pose parameter are selected for each unconstrained pose parameter. The sets of possible constraints are evaluated for the unconstrained pose parameters with respect to one or more task execution criteria. A nominal pose is determined for the tool based on a result of evaluating the sets of possible constraints for the unconstrained pose parameters with respect to the one or more task execution criteria. The robotic system is then directed to execute the task, including positioning the tool according to the nominal pose.
    Type: Grant
    Filed: May 10, 2021
    Date of Patent: January 17, 2023
    Assignee: Intrinsic Innovation LLC
    Inventor: Ryan Butterfoss
  • Publication number: 20220402123
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for state estimation in a robotics system. One of the systems includes an execution subsystem configured to drive one or more robots in an operating environment including continually evaluating a plurality of execution predicates, wherein each execution predicate comprises a rule having a predicate value, and wherein, whenever a state value that satisfies the predicate value of the predicate is detected by the execution subsystem, the execution subsystem is configured to trigger a corresponding action to be performed in the operating environment by the one or more robots. A state estimator is configured to continually execute a state estimation function using one or more sensor values or status messages obtained from the operating environment and to automatically update a discrete state value for a first execution predicate of the plurality of execution predicates evaluated by the execution subsystem.
    Type: Application
    Filed: June 21, 2021
    Publication date: December 22, 2022
    Inventors: Tim Niemueller, Ryan Butterfoss
  • Patent number: 11511419
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for modifying a process definition to ensure accuracy, timeliness, or both of workcell measurement. One of the methods includes receiving an initial process definition for a process to be performed by a robot, wherein the process definition defines a sequence of actions to be performed in a workcell, and wherein a first action in the sequence of actions has an associated measurement tolerance; computing a predicted accumulated measurement variance for each of one or more actions that occur before the first action in the sequence; determining that the predicted accumulated measurement variance for the one or more actions that occur before the first action in the sequence exceeds a threshold; and in response, generating a modified process definition that inserts a measurement action at a location in the sequence before the first action.
    Type: Grant
    Filed: May 1, 2020
    Date of Patent: November 29, 2022
    Assignee: Intrinsic Innovation LLC
    Inventors: Timothy Robert Kelch, Ryan Butterfoss
  • Publication number: 20220172107
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating a robotic control plan. One of the methods includes obtaining, from a user device, image data depicting an instruction manual for assembling a plurality of assembly components; processing the image data using a machine learning model to generate instruction data representing a sequence of instructions for assembling the plurality of assembly components, wherein the machine learning model has been configured through training to process images depicting instruction manuals and to generate instruction data characterizing sequences of instructions identified in the instruction manuals; processing the instruction data to generate a robotic control plan to be executed by one or more robotic components for assembling the plurality of assembly components; and providing the robotic control plan to a robotic control system for executing the robotic control plan using the one or more robotic components.
    Type: Application
    Filed: December 1, 2020
    Publication date: June 2, 2022
    Inventors: Ryan Butterfoss, Adam Nicholas Ruxton
  • Patent number: 11256240
    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.
    Type: Grant
    Filed: December 6, 2019
    Date of Patent: February 22, 2022
    Assignee: Intrinsic Innovation LLC
    Inventors: Kendra Byrne, Eli Reekmans, Stoyan Gaydarov, Marek Michalowski, Michael Beardsworth, Ryan Butterfoss, Ytai Ben-Tsvi
  • Publication number: 20220024033
    Abstract: Systems, methods, devices, and other techniques are described for planning motions of one or more robots to perform at least one specified task. In some implementations, a task to execute with a robotic system using a tool is identified. A partially constrained pose is identified for the tool that is to apply during execution of the task. A set of possible constraints for the unconstrained pose parameter are selected for each unconstrained pose parameter. The sets of possible constraints are evaluated for the unconstrained pose parameters with respect to one or more task execution criteria. A nominal pose is determined for the tool based on a result of evaluating the sets of possible constraints for the unconstrained pose parameters with respect to the one or more task execution criteria. The robotic system is then directed to execute the task, including positioning the tool according to the nominal pose.
    Type: Application
    Filed: May 10, 2021
    Publication date: January 27, 2022
    Inventor: Ryan Butterfoss
  • Publication number: 20210339388
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for modifying a process definition to ensure accuracy, timeliness, or both of workcell measurement. One of the methods includes receiving an initial process definition for a process to be performed by a robot, wherein the process definition defines a sequence of actions to be performed in a workcell, and wherein a first action in the sequence of actions has an associated measurement tolerance; computing a predicted accumulated measurement variance for each of one or more actions that occur before the first action in the sequence; determining that the predicted accumulated measurement variance for the one or more actions that occur before the first action in the sequence exceeds a threshold; and in response, generating a modified process definition that inserts a measurement action at a location in the sequence before the first action.
    Type: Application
    Filed: May 1, 2020
    Publication date: November 4, 2021
    Inventors: Timothy Robert Kelch, Ryan Butterfoss
  • Patent number: 11000950
    Abstract: Systems, methods, devices, and other techniques are described for planning motions of one or more robots to perform at least one specified task. In some implementations, a task to execute with a robotic system using a tool is identified. A partially constrained pose is identified for the tool that is to apply during execution of the task. A set of possible constraints for the unconstrained pose parameter are selected for each unconstrained pose parameter. The sets of possible constraints are evaluated for the unconstrained pose parameters with respect to one or more task execution criteria. A nominal pose is determined for the tool based on a result of evaluating the sets of possible constraints for the unconstrained pose parameters with respect to the one or more task execution criteria. The robotic system is then directed to execute the task, including positioning the tool according to the nominal pose.
    Type: Grant
    Filed: June 1, 2018
    Date of Patent: May 11, 2021
    Assignee: X Development LLC
    Inventor: Ryan Butterfoss
  • Publication number: 20210060774
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating paths for a robot based on optimizing multiple objectives. One of the methods includes: receiving, by a motion planner, request to generate a path for a robot between a start point and an end point in a workcell of the robot, wherein the workcell is associated with one or more soft margin values that define spaces in which the robot should avoid when transitioning between points in the workcell; classifying path segments within the workcell as being inside the soft margin or outside the soft margin; generating a respective cost for each of the plurality of path segments within the workcell; generating a plurality of alternative paths; evaluating the plurality of alternative paths according to the respective costs; and selecting an alternative path based on respective total costs of the plurality of alternative paths.
    Type: Application
    Filed: August 28, 2020
    Publication date: March 4, 2021
    Inventors: Ryan Butterfoss, Jean-Francois Dupuis
  • Publication number: 20210060778
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing robot planning using a process definition graph. One of the methods includes receiving an initial underconstrained process definition graph for one or more robots, wherein the process definition graph is a directed acyclic graph having constraint nodes and action nodes. A plurality of transformers are repeatedly applied to the initial process definition graph, wherein each application of a transformer generates a respective modified process definition graph according to the constraint nodes of the process definition graph, wherein applying the plurality of transformers generates a schedule that specifies which of the one or more robots are to perform which of one or more actions represented by actions nodes according to constraints imposed by the constraint nodes in the process definition graph.
    Type: Application
    Filed: August 27, 2020
    Publication date: March 4, 2021
    Inventors: Ryan Butterfoss, Keegan Go, Stoyan Gaydarov
  • Publication number: 20210060773
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing robot planning using a process definition graph. One of the methods includes receiving a schedule generated for actions represented in a process definition graph for one or more robots, wherein the process definition graph is a directed acyclic graph having constraint nodes and action nodes. User input selecting a particular modification to be applied to the process definition graph is received, and the user-selected modification is applied to generate a modified process definition graph.
    Type: Application
    Filed: August 27, 2020
    Publication date: March 4, 2021
    Inventors: Ryan Butterfoss, Keegan Go, Jean-Francois Dupuis
  • Publication number: 20200174460
    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.
    Type: Application
    Filed: December 6, 2019
    Publication date: June 4, 2020
    Inventors: Kendra Byrne, Eli Reekmans, Stoyan Gaydarov, Marek Michalowski, Michael Beardsworth, Ryan Butterfoss, Ytai Ben-Tsvi
  • Publication number: 20190366543
    Abstract: Systems, methods, devices, and other techniques are described for planning motions of one or more robots to perform at least one specified task. In some implementations, a task to execute with a robotic system using a tool is identified. A partially constrained pose is identified for the tool that is to apply during execution of the task. A set of possible constraints for the unconstrained pose parameter are selected for each unconstrained pose parameter. The sets of possible constraints are evaluated for the unconstrained pose parameters with respect to one or more task execution criteria. A nominal pose is determined for the tool based on a result of evaluating the sets of possible constraints for the unconstrained pose parameters with respect to the one or more task execution criteria. The robotic system is then directed to execute the task, including positioning the tool according to the nominal pose.
    Type: Application
    Filed: June 1, 2018
    Publication date: December 5, 2019
    Inventor: Ryan Butterfoss
  • Publication number: 20180348742
    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.
    Type: Application
    Filed: June 1, 2017
    Publication date: December 6, 2018
    Inventors: Kendra Byrne, Eli Reekmans, Stoyan Gaydarov, Marek Michalowski, Michael Beardsworth, Ryan Butterfoss, Ytai Ben-Tsvi