Method and system for preemptive planning
AssigneeIntrinsic Innovation LLC
InventorKenneth Alan Kansky
Life of this patent
Estimating the term…
Abstract
A method for preemptive control planning can include: optionally determining a graph that defines dependencies between behaviors; executing an execution plan for an executing behavior; generating a set of predictions with the executing behavior; propagating the set of predictions to child behaviors of the executing behavior; determining child execution plans and child predictions with the child behaviors; repeating the above for descendant behaviors of each child behavior; determining a realized world state associated with completion of the execution plan; and executing a child execution plan associated with a world state prediction matching the realized world state.
Claims16
A system comprising one or more computers and one or more storage devices storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
- storing data defining a set of behaviors, each behavior comprising a planning model and a prediction model;
- storing data defining a graph representing the set of behaviors and defining a set of hierarchical dependencies between the behaviors;
- generating, during execution of a current execution plan by a physical robot, the current execution plan being associated with a current behavior represented in the graph, a plurality of
- world state predictions associated with a plurality of respective exit statuses of the current behavior, the predictions being output by the prediction models of the set of behaviors;
- propagating the world state predictions to respective child behaviors of the current behavior associated with the current execution plan;
- pre-generating, for each child behavior based on a different world state prediction for the child behavior, an execution plans for the child behavior;
- and
- generating control instructions for the physical robot to execute a sequence of pre-generated execution plans associated with child behaviors represented in the graph according to a comparison between a realized world state as the robot executes each execution plan and predicted world states associated with each child behavior represented in the graph, comprising:
- generating control instructions for the physical robot based on a first pre-generated execution plan in the sequence of pre-generated execution plans associated with child behaviors;
- operating the physical robot in accordance with the control instructions of the first pre-generated execution plan;
- after operating the physical robot in accordance with the control instructions of the first pre-generated execution plan, generating control instructions for the physical robot based on a second pre-generated execution plan in the sequence of pre-generated execution plans associated with child behaviors;
- and
- operating the physical robot in accordance with the control instructions of the second pre-generated execution plan.
A method for operating a physical robot, the method comprising:
- storing data defining a set of behaviors, each behavior comprising a planning model and a prediction model;
- storing data defining a graph representing the set of behaviors and defining a set of hierarchical dependencies between the set of behaviors;
- generating, during execution of a current execution plan by a physical robot, the current execution plan being associated with a current behavior represented in the graph, a plurality of world state predictions associated with a plurality of respective exit statuses of the currently executing behavior, the predictions being output by the prediction models of the set of behaviors,
- propagating the world state predictions to respective child behaviors of the current behavior associated with the current execution plan;
- pre-generating, for each child behavior based on a different world state prediction for the child behavior, an execution plan for the child behaviors;
- and
- generating control instructions for the physical robot to execute a sequence of pre-generated execution plans associated with child behaviors represented in the graph according to a comparison between a realized world state as the robot executes each execution plan and predicted world states associated with each child behavior in the graph, comprising:
- generating control instructions for the physical robot based on a first pre-generated execution plan in the sequence of pre-generated execution plans associated with child behaviors;
- operating the physical robot in accordance with the control instructions of the first pre-generated execution plan;
- after operating the physical robot in accordance with the control instructions of the first pre-generated execution plan, generating control instructions for the physical robot based on a second pre-generated execution plan in the sequence of pre-generated execution plans associated with child behaviors;
- and
- operating the physical robot in accordance with the control instructions of the second pre-generated execution plan.
Dependencies are inferred from the claim text.