US 12,258,227 B2
Simulated box placement for algorithm evaluation and refinement
Rohit Arka Pidaparthi, Mountain View, CA (US); William Arthur Clary, Palo Alto, CA (US); Neeraja Abhyankar, Menlo Park, CA (US); Jonathan Kuck, Palo Alto, CA (US); Ben Varkey Benjamin Pottayil, Foster City, CA (US); Kevin Jose Chavez, Redwood City, CA (US); and Shitij Kumar, Redwood City, CA (US)
Assigned to Dexterity, Inc., Redwood City, CA (US)
Filed by Dexterity, Inc., Redwood City, CA (US)
Filed on Jun. 10, 2022, as Appl. No. 17/837,779.
Claims priority of provisional application 63/211,372, filed on Jun. 16, 2021.
Prior Publication US 2022/0402710 A1, Dec. 22, 2022
Int. Cl. B65G 61/00 (2006.01); B25J 9/16 (2006.01)
CPC B65G 61/00 (2013.01) [B25J 9/1664 (2013.01); B25J 9/1671 (2013.01)] 21 Claims
OG exemplary drawing
 
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.