CPC B65G 61/00 (2013.01) [B25J 9/1664 (2013.01); B25J 9/1671 (2013.01)] | 21 Claims |
1. A robotic system, comprising:
a memory configured to store for each of a plurality of items a set of attribute values representing one or more physical attributes of the item; and
one or more processors coupled to the memory and configured to:
use at least a subset of the set of attribute values to simulate the successive placement of items comprising the plurality of items on a pallet or other receptacle, including by:
determining a search space of potential placements for the plurality of items;
determining, iteratively, for each next item a corresponding placement location at which to place the item on a simulated stack of items on the pallet or other receptacle, wherein the corresponding placement location is selected based at least in part on the search space of potential placements;
using the attribute values and a geometric model of where items have been simulated to have been placed to estimate a state of the stack of items after each of at least a subset of simulated placements;
in response to determining that the estimated state of the stack of items does not satisfy a predefined criteria, pruning the search space to remove the corresponding placement location and placement locations that are downstream of the corresponding placement location;
using the estimated state to inform a next placement decision, including determining a plan for placing a next item; and
causing a robot to be controlled to place the next item according to the plan;
wherein the steps of determining for each next item a corresponding placement location and estimating the state of the stack are performed until all of at least a subset of the plurality of items have been simulated as having been placed on the stack.
|
20. A method to control a robot, comprising:
storing for each of a plurality of items a set of attribute values representing one or more physical attributes of the item;
using at least a subset of the set of attribute values to simulate the successive placement of items comprising the plurality of items on a pallet or other receptacle, including by:
determining a search space of potential placements for the plurality of items;
determining, iteratively, for each next item a corresponding placement location at which to place the item on a simulated stack of items on the pallet or other receptacle, wherein the corresponding placement location is selected based at least in part on the search space of potential placements;
using the attribute values and a geometric model of where items have been simulated to have been placed to estimate a state of the stack of items after each of at least a subset of simulated placements;
in response to determining that the estimated state of the stack of items does not satisfy a predefined criteria, pruning the search space to remove the corresponding placement location and placement locations that are downstream of the corresponding placement location; and
using the estimated state to inform a next placement decision, including determining a plan for placing a next item; and
causing a robot to be controlled to place the next item according to the plan;
wherein the steps of determining for each next item a corresponding placement location and estimating the state of the stack until all of at least a subset of the plurality of items have been simulated as having been placed on the stack.
|