Patents by Inventor Tim Niemueller
Tim Niemueller 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).
-
Publication number: 20240217097Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for translating behavior trees into a target programming language. One of the methods includes receiving a request to translate a behavior tree representing a robotic process into source code of a target language of a target execution system, wherein the behavior tree has links representing parent-child relationships, wherein leaf nodes of the behavior tree are action nodes, and parent nodes of the behavior tree are control nodes. Using a mapping between action node types and target language primitives for the target language, a traversal of the behavior tree generates output code having one or more target language primitives in the target language that, when executed by the target execution system, causes a robot to perform the robotic process.Type: ApplicationFiled: December 12, 2023Publication date: July 4, 2024Inventors: Timothy Robert Kelch, Tim Niemueller
-
Publication number: 20240217099Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for robot planning. One of the methods includes maintaining a library of pre-generated candidate actions that represent respective robot capabilities; receiving an initial task plan for performing a particular task, wherein the initial task plan includes a sequence of two or more actions that comprises a first action followed by a second action; processing the initial task plan to determine that the first effect of the first action does not result in satisfaction of the second precondition of the second action; selecting one or more selected pre-generated candidate actions from the library of pre-generated candidate actions; and modifying the initial task plan to include the one or more selected pre-generated candidate actions as the intermediate actions to generate a final task plan to be executed by the one or more particular robots when performing the particular task.Type: ApplicationFiled: December 20, 2023Publication date: July 4, 2024Inventor: Tim Niemueller
-
Patent number: 12005585Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing online robotic motion planning from pre-generated motion plans. A library of pre-generated motion plans for performing a particular task is maintained. Each pre-generated motion plan comprises a plurality of waypoints and one or more actions. One or more present observations of a robot in a workcell are obtained. The one or more observations are classified. A pre-generated candidate motion plan that matches the labels assigned to the present observations of the robot in the workcell is selected from the library of pre-generated motion plans. The pre-generated candidate motion plan is adapted according to the present observations of the robot in the workcell to generate a final motion plan to be executed by the robot.Type: GrantFiled: December 27, 2019Date of Patent: June 11, 2024Assignee: Intrinsic Innovation LLCInventors: Ralf Oliver Michael Schönherr, Tim Niemueller, Andre Gaschler
-
Publication number: 20240001549Abstract: Methods, systems, and apparatus, including medium-encoded computer program products, for dynamic programming aids for programming workcell elements. An interactive robotic development system can issue commands to activate workcell elements. Each workcell element can have one or more preconfigured capabilities. A workcell element can be queried and at least one preconfigured capability can be obtained that represents an action that can be performed by the workcell element. A first user input in an interactive programming environment that creates a program element representing a workcell entity can be received. For the program element, corresponding program components can be determined. User input acting on the program element can be received, and the user input can indicate a selected program component. Within the interactive programming environment, an interactive user interface element that displays a capability pair that includes the program element and the corresponding program component can be generated.Type: ApplicationFiled: June 30, 2022Publication date: January 4, 2024Inventors: Tim Niemueller, Juergen Sturm
-
Publication number: 20230278203Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for rule execution in an online robotics system. One of the systems includes an execution engine subsystem and an execution memory subsystem. The execution engine receives rules having types and subtypes that represent a particular entity in an operating environment of a robot, provides subscription requests to the execution memory subsystem, and receives events emitted by the execution memory subsystem. The an execution memory receives subscription requests from the execution engine subsystem, receives new observations, converts the new observations into fact updates, performs pattern matching with the fact updates against the patterns of the subscription requests, and emits events to the execution engine subsystem for patterns that have been matched by the fact updates.Type: ApplicationFiled: May 8, 2023Publication date: September 7, 2023Inventor: Tim Niemueller
-
Patent number: 11679498Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for rule execution in an online robotics system. One of the systems includes an execution engine subsystem and an execution memory subsystem. The execution engine receives rules having types and subtypes that represent a particular entity in an operating environment of a robot, provides subscription requests to the execution memory subsystem, and receives events emitted by the execution memory subsystem. The an execution memory receives subscription requests from the execution engine subsystem, receives new observations, converts the new observations into fact updates, performs pattern matching with the fact updates against the patterns of the subscription requests, and emits events to the execution engine subsystem for patterns that have been matched by the fact updates.Type: GrantFiled: May 27, 2020Date of Patent: June 20, 2023Assignee: Intrinsic Innovation LLCInventor: Tim Niemueller
-
Publication number: 20220402123Abstract: 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: ApplicationFiled: June 21, 2021Publication date: December 22, 2022Inventors: Tim Niemueller, Ryan Butterfoss
-
Publication number: 20210370502Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for rule execution in an online robotics system. One of the systems includes an execution engine subsystem and an execution memory subsystem. The execution engine receives rules having types and subtypes that represent a particular entity in an operating environment of a robot, provides subscription requests to the execution memory subsystem, and receives events emitted by the execution memory subsystem. The an execution memory receives subscription requests from the execution engine subsystem, receives new observations, converts the new observations into fact updates, performs pattern matching with the fact updates against the patterns of the subscription requests, and emits events to the execution engine subsystem for patterns that have been matched by the fact updates.Type: ApplicationFiled: May 27, 2020Publication date: December 2, 2021Inventor: Tim Niemueller
-
Publication number: 20210197368Abstract: This specification describes how a system can detect that an envelope invariant with a corresponding condition has been violated and, in response to the detection, perform an automatic recovery action.Type: ApplicationFiled: December 31, 2019Publication date: July 1, 2021Inventors: Andre Gaschler, Tim Niemueller
-
Publication number: 20210197378Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing online robotic motion planning from pre-generated motion plans. A library of pre-generated motion plans for performing a particular task is maintained. Each pre-generated motion plan comprises a plurality of waypoints and one or more actions. One or more present observations of a robot in a workcell are obtained. The one or more observations are classified. A pre-generated candidate motion plan that matches the labels assigned to the present observations of the robot in the workcell is selected from the library of pre-generated motion plans. The pre-generated candidate motion plan is adapted according to the present observations of the robot in the workcell to generate a final motion plan to be executed by the robot.Type: ApplicationFiled: December 27, 2019Publication date: July 1, 2021Inventors: Ralf Oliver Michael Schönherr, Tim Niemueller, Andre Gaschler