| CPC B65G 61/00 (2013.01) [B25J 9/1664 (2013.01); B25J 9/1669 (2013.01); B25J 9/1697 (2013.01); B25J 13/08 (2013.01); B65G 57/03 (2013.01); B65G 57/22 (2013.01); B65G 57/24 (2013.01); B65G 2203/0233 (2013.01); B65G 2203/042 (2013.01)] | 20 Claims |

|
1. A robotic system, comprising:
a communication interface configured to receive, from one or more sensors deployed in a workspace, sensor data indicative of a current state of the workspace, the workspace comprising a pallet or other receptacle and a plurality of items stacked on or in the receptacle; and
one or more processors coupled to the communication interface and configured to:
use a geometric model based at least in part on past item placements in combination with the sensor data to estimate a state of the pallet or other receptacle and one or more items stacked on or in the pallet or other receptacle; and
use the estimated state to generate or update a plan to control a robotic arm to place a next item on or in the pallet or other receptacle in a manner that avoids having the next item collide with any other item stacked on or in the pallet or other receptacle, wherein generating or updating the plan includes simulating placement of the next item based at least in part on querying a placement model, wherein the placement model has a predefined noise profile that simulates noise corresponding to a difference between placement according to the geometric model and an actual placement.
|
|
19. A method to control a robot, comprising:
receiving, from one or more sensors deployed in a workspace, sensor data indicative of a current state of the workspace, the workspace comprising a pallet or other receptacle and a plurality of items stacked on or in the receptacle;
using, by one or more processors, a geometric model based at least in part on past item placements in combination with the sensor data to estimate a state of the pallet or other receptacle and one or more items stacked on or in the pallet or other receptacle; and
using the estimated state to generate or update a plan to control a robotic arm to place a next item on or in the pallet or other receptacle in a manner that avoids having the next item collide with any other item stacked on or in the pallet or other receptacle, wherein generating or updating the plan includes simulating placement of the next item based at least in part on querying a placement model, wherein the placement model has a predefined noise profile that simulates noise corresponding to a difference between placement according to the geometric model and an actual placement.
|
|
20. A computer program product to control a robot, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:
receiving, from one or more sensors deployed in a workspace, sensor data indicative of a current state of the workspace, the workspace comprising a pallet or other receptacle and a plurality of items stacked on or in the receptacle;
using, by one or more processors, a geometric model based at least in part on past item placements in combination with the sensor data to estimate a state of the pallet or other receptacle and one or more items stacked on or in the pallet or other receptacle; and
using the estimated state to generate or update a plan to control a robotic arm to place a next item on or in the pallet or other receptacle in a manner that avoids having the next item collide with any other item stacked on or in the pallet or other receptacle, wherein generating or updating the plan includes simulating placement of the next item based at least in part on querying a placement model, wherein the placement model has a predefined noise profile that simulates noise corresponding to a difference between placement according to the geometric model and an actual placement.
|