US 12,486,125 B2
Collision avoidance based on vision data, geometric data and physics engine evaluation
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); Shitij Kumar, Redwood City, CA (US); Robert Moreno, Sunnyvale, CA (US); Arth Beladiya, Santa Clara, CA (US); Salvador Perez, Jersey City, NJ (US); and Jeesu Baek, San Mateo, 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,797.
Claims priority of provisional application 63/211,377, filed on Jun. 16, 2021.
Prior Publication US 2022/0402708 A1, Dec. 22, 2022
Int. Cl. B65G 57/22 (2006.01); B25J 9/16 (2006.01); B25J 13/08 (2006.01); B65G 57/03 (2006.01); B65G 57/24 (2006.01); B65G 61/00 (2006.01)
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
OG exemplary drawing
 
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.