Patents by Inventor Keegan Go
Keegan Go 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: 11911908Abstract: Techniques and systems are disclosed for using swept volume profile data cached in association with a PRM to improve various aspects of motion planning for a robot. In some implementations, a first probabilistic road map representing possible paths to be travelled by a robot within a physical area is generated. An initial path for the robot within the first probabilistic road map is determined. Data indicating a second probabilistic road map representing a path to be travelled by a movable object within the physical area is obtained. A potential obstruction associated with one or more edges included in the subset of edges is detected. An adjusted path for the robot within the first probabilistic road map is then determined based on the potential obstruction.Type: GrantFiled: December 21, 2018Date of Patent: February 27, 2024Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Michael Hemmer
-
Patent number: 11890758Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing robot planning using a process definition graph. The techniques can include receiving a process definition graph having a plurality of task nodes that represent respective tasks to be performed by a respective robot of a plurality of robots, wherein each task node is associated with a location at which the task will be performed; generating, from the process definition graph, an initial modified process definition graph that adds constraints for respective swept volumes occupied by each task represented by the plurality of task nodes; and generating, from the initial modified process definition graph, a refined process definition graph, wherein the refined process definition graph includes respective motion plans for robots moving between tasks, wherein the motion plans define transitions that avoid the swept volumes occupied by each task represented by the plurality of task nodes.Type: GrantFiled: August 25, 2020Date of Patent: February 6, 2024Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go
-
Patent number: 11833694Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning a path of motion for a robot. In some implementations, a candidate path of movement is determined for each of multiple robots. A swept region, for each of the multiple robots, is determined that the robot would traverse through along its candidate path. At least some of the swept regions for the multiple robots is aggregated to determine amounts of overlap among the swept regions at different locations. Force vectors directed outward from the swept regions are assigned, wherein the force vectors have different magnitudes assigned according to the respective amounts of overlap of the swept regions at the different locations. A path for a particular robot to travel is determined based on the swept regions and the assigned magnitudes of the forces.Type: GrantFiled: November 18, 2021Date of Patent: December 5, 2023Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Maryam Bandari
-
Patent number: 11787052Abstract: Techniques and systems are disclosed for using swept volume profile data cached in association with a PRM to improve various aspects of motion planning for a robot. In some implementations, a first probabilistic road map representing possible paths to be travelled by a robot within a physical area is generated. An initial path for the robot within the first probabilistic road map is determined. Data indicating a second probabilistic road map representing a path to be travelled by a movable object within the physical area is obtained. A potential obstruction associated with one or more edges included in the subset of edges is detected. An adjusted path for the robot within the first probabilistic road map is then determined based on the potential obstruction.Type: GrantFiled: December 21, 2018Date of Patent: October 17, 2023Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Michael Hemmer
-
Patent number: 11787048Abstract: 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: GrantFiled: August 27, 2020Date of Patent: October 17, 2023Assignee: Intrinsic Innovation LLCInventors: Ryan Butterfoss, Keegan Go, Stoyan Gaydarov
-
Patent number: 11747787Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a plan for one or more robots using a process definition graph. One of the methods includes receiving a process definition graph for a robot, the process definition graph having a plurality of action nodes, and the plurality of action nodes including a plurality of motion nodes that were previously split from a single motion node due to a conflict with a second motion node representing a second motion to be performed by another robot; determining that the conflict with the second motion node no longer exists; and in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining the plurality of motion nodes into a new single motion node representing all of the motions of the plurality of motion nodes.Type: GrantFiled: August 28, 2020Date of Patent: September 5, 2023Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Patent number: 11745345Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning by work volumes to avoid conflicts. One of the methods includes receiving a process definition graph for a robot that includes action nodes, wherein the action nodes include (1) transition nodes that represent a motion to be taken by the robot from a respective start location to an end location and (2) task nodes that represent a particular task to be performed by the robot at a particular task location. An initial modified process definition graph that ignores one or more conflicts between respective transition nodes as well as one or more conflicts between respective transition nodes and task nodes is generated from the process definition graph. A refined process definition graph that ignores conflicts between transition nodes and recognizes conflicts between transition nodes and task nodes is generated from the initial modified process definition graph.Type: GrantFiled: August 27, 2020Date of Patent: September 5, 2023Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Publication number: 20230182295Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for using equipment-specific sample generators to automatically adapt a skill for execution in an operating environment. One of the methods includes obtaining a skill to be executed in an operating environment having one or more robots, wherein the skill defines a sequence of subtasks to be performed by the one or more robots in the working environment. A planning process is performed to generate a motion plan for the one or more robots, including obtaining, from an equipment-specific sample generator, a plurality of equipment-specific samples for a subtask of the skill, generating, from the plurality of equipment-specific samples, a plurality of candidate motion plans, and selecting, from the plurality of candidate motion plans, a motion plan for the one or more robots to perform the skill in the operating environment.Type: ApplicationFiled: December 15, 2021Publication date: June 15, 2023Inventors: Michael Beardsworth, Keegan Go, Nicholas Julian Cox, Gregory Lawrence
-
Patent number: 11577392Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a plan for one or more robots using a process definition graph. One of the methods includes receiving a process definition graph for a robot, the process definition graph having a plurality of action nodes. One or more of the action nodes are motion nodes that represent a motion to be taken by the robot from a respective start location to an end location. It is determined that a motion node satisfies one or more splitting criteria, and in response to determining that the motion node satisfies the one or more splitting criteria, the process definition graph is modified. Modifying the process definition graph includes splitting the motion node into two or more separate motion nodes whose respective paths can be scheduled independently.Type: GrantFiled: August 28, 2020Date of Patent: February 14, 2023Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Publication number: 20220147058Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning a path of motion for a robot. In some implementations, a candidate path of movement is determined for each of multiple robots. A swept region, for each of the multiple robots, is determined that the robot would traverse through along its candidate path. At least some of the swept regions for the multiple robots is aggregated to determine amounts of overlap among the swept regions at different locations. Force vectors directed outward from the swept regions are assigned, wherein the force vectors have different magnitudes assigned according to the respective amounts of overlap of the swept regions at the different locations. A path for a particular robot to travel is determined based on the swept regions and the assigned magnitudes of the forces.Type: ApplicationFiled: November 18, 2021Publication date: May 12, 2022Inventors: Jean-Francois Dupuis, Keegan Go, Maryam Bandari
-
Patent number: 11179850Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning a path of motion for a robot. In some implementations, a candidate path of movement is determined for each of multiple robots. A swept region, for each of the multiple robots, is determined that the robot would traverse through along its candidate path. At least some of the swept regions for the multiple robots is aggregated to determine amounts of overlap among the swept regions at different locations. Force vectors directed outward from the swept regions are assigned, wherein the force vectors have different magnitudes assigned according to the respective amounts of overlap of the swept regions at the different locations. A path for a particular robot to travel is determined based on the swept regions and the assigned magnitudes of the forces.Type: GrantFiled: April 24, 2019Date of Patent: November 23, 2021Assignee: Intrinsic Innovation LLCInventors: Jean-Francois Dupuis, Keegan Go, Maryam Bandari
-
Publication number: 20210060775Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a plan for one or more robots using a process definition graph. One of the methods includes receiving a process definition graph for a robot, the process definition graph having a plurality of action nodes. One or more of the action nodes are motion nodes that represent a motion to be taken by the robot from a respective start location to an end location. It is determined that a motion node satisfies one or more splitting criteria, and in response to determining that the motion node satisfies the one or more splitting criteria, the process definition graph is modified. Modifying the process definition graph includes splitting the motion node into two or more separate motion nodes whose respective paths can be scheduled independently.Type: ApplicationFiled: August 28, 2020Publication date: March 4, 2021Inventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Publication number: 20210064007Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for optimizing a plan for one or more robots using a process definition graph. One of the methods includes receiving a process definition graph for a robot, the process definition graph having a plurality of action nodes, and the plurality of action nodes including a plurality of motion nodes that were previously split from a single motion node due to a conflict with a second motion node representing a second motion to be performed by another robot; determining that the conflict with the second motion node no longer exists; and in response to determining that the conflict with the second motion node no longer exists, modifying the process definition graph including combining the plurality of motion nodes into a new single motion node representing all of the motions of the plurality of motion nodes.Type: ApplicationFiled: August 28, 2020Publication date: March 4, 2021Inventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Publication number: 20210060778Abstract: 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: ApplicationFiled: August 27, 2020Publication date: March 4, 2021Inventors: Ryan Butterfoss, Keegan Go, Stoyan Gaydarov
-
Publication number: 20210060777Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing robot planning using a process definition graph. The techniques can include receiving a process definition graph having a plurality of task nodes that represent respective tasks to be performed by a respective robot of a plurality of robots, wherein each task node is associated with a location at which the task will be performed; generating, from the process definition graph, an initial modified process definition graph that adds constraints for respective swept volumes occupied by each task represented by the plurality of task nodes; and generating, from the initial modified process definition graph, a refined process definition graph, wherein the refined process definition graph includes respective motion plans for robots moving between tasks, wherein the motion plans define transitions that avoid the swept volumes occupied by each task represented by the plurality of task nodes.Type: ApplicationFiled: August 25, 2020Publication date: March 4, 2021Inventors: Jean-Francois Dupuis, Keegan Go
-
Publication number: 20210060773Abstract: 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: ApplicationFiled: August 27, 2020Publication date: March 4, 2021Inventors: Ryan Butterfoss, Keegan Go, Jean-Francois Dupuis
-
Publication number: 20210060779Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning by work volumes to avoid conflicts. One of the methods includes receiving a process definition graph for a robot that includes action nodes, wherein the action nodes include (1) transition nodes that represent a motion to be taken by the robot from a respective start location to an end location and (2) task nodes that represent a particular task to be performed by the robot at a particular task location. An initial modified process definition graph that ignores one or more conflicts between respective transition nodes as well as one or more conflicts between respective transition nodes and task nodes is generated from the process definition graph. A refined process definition graph that ignores conflicts between transition nodes and recognizes conflicts between transition nodes and task nodes is generated from the initial modified process definition graph.Type: ApplicationFiled: August 27, 2020Publication date: March 4, 2021Inventors: Jean-Francois Dupuis, Keegan Go, Stoyan Gaydarov
-
Publication number: 20200338733Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for planning a path of motion for a robot. In some implementations, a candidate path of movement is determined for each of multiple robots. A swept region, for each of the multiple robots, is determined that the robot would traverse through along its candidate path. At least some of the swept regions for the multiple robots is aggregated to determine amounts of overlap among the swept regions at different locations. Force vectors directed outward from the swept regions are assigned, wherein the force vectors have different magnitudes assigned according to the respective amounts of overlap of the swept regions at the different locations. A path for a particular robot to travel is determined based on the swept regions and the assigned magnitudes of the forces.Type: ApplicationFiled: April 24, 2019Publication date: October 29, 2020Inventors: Jean-Francois Dupuis, Keegan Go, Maryam Bandari
-
Publication number: 20200198140Abstract: Techniques and systems are disclosed for using swept volume profile data cached in association with a PRM to improve various aspects of motion planning for a robot. In some implementations, a first probabilistic road map representing possible paths to be travelled by a robot within a physical area is generated. An initial path for the robot within the first probabilistic road map is determined. Data indicating a second probabilistic road map representing a path to be travelled by a movable object within the physical area is obtained. A potential obstruction associated with one or more edges included in the subset of edges is detected. An adjusted path for the robot within the first probabilistic road map is then determined based on the potential obstruction.Type: ApplicationFiled: December 21, 2018Publication date: June 25, 2020Inventors: Jean-Francois Dupuis, Keegan Go, Michael Hemmer