IP Library Granted Patent US 12698162
Granted Patent B2
US 12698162 · App. 17/559,812 · Granted Aug 4, 2026

Heterogeneous material sorting

Inventors: Matanya B. Horowitz (Golden, CO); Joseph M. Castagneri (Denver, CO); Carson C. Potter (Denver, CO)
Assignee: AMP Robotics Corporation
B65G43/10B07C5/3422B65G47/46G05B15/02
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12698162
App. No.
17/559,812
Granted
Aug 4, 2026
Kind
B2
Abstract

Heterogenous material sorting is disclosed, including: identifying a first target object associated with a first object type on a surface based at least in part on a first sensed signal; providing a first control signal to a first sorting device to cause the first sorting device to remove the first target object from the surface, wherein the first sorting device is configured to manipulate objects associated with the first object type; identifying a second target object associated with a second object type on the surface based at least in part on a second sensed signal; and providing a second control signal to a second sorting device to cause the second sorting device to remove the second target object from the surface, wherein the second sorting device is configured to manipulate objects associated with the second object type.

Claims (61)

1 . A system, comprising:

a processor configured to:

identify a first target object associated with a first object type on one or more conveyor devices based at least in part on a first sensed signal, wherein the first object type is associated with a first set of attributes;

receive a series of images including the first target object on the one or more conveyor devices;

determine a velocity associated with the first target object based at least in part on the series of images;

determine a trajectory associated with the first target object based at least in part on the velocity associated with the first target object, wherein the trajectory associated with the first target object describes a path of the first target object along the one or more conveyor devices;

determine, based at least in part on the trajectory associated with the first target object, that the first target object is not stuck;

in response to the determination that the first target object is not stuck, publish a data structure corresponding to the first target object, wherein the published data structure includes the first set of attributes and the trajectory associated with the first target object;

determine a first match between a first sorting device and the first target object using the published data structure corresponding to the first target object, including to:

compare the first set of attributes that is stored in the published data structure corresponding to the first target object to a stored first object manipulation capability of the first sorting device; and

determine that a range of movement of the first sorting device is to overlap with a future location of the first target object based on the trajectory associated with the first target object that is stored in the published data structure corresponding to the first target object;

determine a sorting parameter with which the first sorting device is to use to perform a first sorting operation on the first target object based at least in part on the first set of attributes;

in response to the first match, provide a first control signal to the first sorting device to cause the first sorting device to perform the first sorting operation based on the sorting parameter on the first target object to remove the first target object from the one or more conveyor devices and to a first destination designated for at least objects of the first object type;

identify a second target object associated with a second object type on the one or more conveyor devices based at least in part on a second sensed signal, wherein the second object type is associated with a second set of attributes, wherein the second set of attributes is different from the first set of attributes;

determine a second match between a second sorting device and the second target object including to compare the second set of attributes associated with the second object type to a stored second object manipulation capability of the second sorting device; and

in response to the second match, provide a second control signal to the second sorting device to cause the second sorting device to perform a second sorting operation on the second target object to remove the second target object from the one or more conveyor devices and to a second destination designated for at least objects of the second object type; and

a memory coupled to the processor and configured to provide the processor with instructions.

2 . The system of claim 1 , wherein the first destination comprises a deposit location.

3 . The system of claim 1 , wherein the one or more conveyor devices comprise a first conveyor device and wherein the first destination comprises a second conveyor device.

4 . The system of claim 1 , wherein the one or more conveyor devices comprise a first conveyor device and wherein the first destination comprises a second conveyor device, wherein the first target object is configured to be removed from the second conveyor device by a third sorting device and into a deposit location corresponding to an attribute of the first target object.

5 . The system of claim 1 , wherein the stored first object manipulation capability of the first sorting device comprises a sorting mechanism, and wherein the first set of attributes associated with the first object type comprises one or more of the following: mass, size, shape, density, and material type.

6 . The system of claim 1 , wherein the first sorting device is configured to manipulate objects associated with the first object type and at least another object type.

7 . The system of claim 1 , wherein the sorting parameter further comprises a specified angle, a specified picker mechanism associated with the first sorting device, a specified force with which the first sorting operation is to be performed on the first target object, or a specified diverting mechanism with which the first sorting device is to perform the first sorting operation on the first target object.

8 . The system of claim 1 , wherein the first sorting device comprises one or more of the following sorting mechanisms: a robotic arm, a suction gripper that is configured to channel airflow, a diverting mechanism, a pushing mechanism, and a vacuum extractor device.

9 . The system of claim 1 , wherein the first sensed signal comprises an image frame showing the first target object.

10 . The system of claim 1 , wherein the identification of either of the first target object or the second target object is performed using a machine learning algorithm that processes sensor signals.

11 . A method, comprising:

identifying a first target object associated with a first object type on one or more conveyor devices based at least in part on a first sensed signal, wherein the first object type is associated with a first set of attributes;

receiving a series of images including the first target object on the one or more conveyor devices;

determining a velocity associated with the first target object based at least in part on the series of images;

determining a trajectory associated with the first target object based at least in part on the velocity associated with the first target object, wherein the trajectory associated with the first target object describes a path of the first target object along the one or more conveyor devices;

determining, based at least in part on the trajectory associated with the first target object, that the first target object is not stuck;

in response to the determination that the first target object is not stuck, publishing a data structure corresponding to the first target object, wherein the published data structure includes the first set of attributes and the trajectory associated with the first target object;

determining a first match between a first sorting device and the first target object using the published data structure corresponding to the first target object, including by:

comparing the first set of attributes that is stored in the published data structure corresponding to the first target object to a stored first object manipulation capability of the first sorting device; and

determining that a range of movement of the first sorting device is to overlap with a future location of the first target object based on the trajectory associated with the first target object that is stored in the published data structure corresponding to the first target object;

determining a sorting parameter with which the first sorting device is to use to perform a first sorting operation on the first target object based at least in part on the first set of attributes;

in response to the first match, providing a first control signal to the first sorting device to cause the first sorting device to perform the first sorting operation based on the sorting parameter on the first target object to remove the first target object from the one or more conveyor devices and to a first destination designated for at least objects of the first object type;

identifying a second target object associated with a second object type on the one or more conveyor devices based at least in part on a second sensed signal, wherein the second object type is associated with a second set of attributes, wherein the second set of attributes is different from the first set of attributes;

determining a second match between a second sorting device and the second target object including by comparing the second set of attributes associated with the second object type to a stored second object manipulation capability of the second sorting device; and

in response to the second match, providing a second control signal to the second sorting device to cause the second sorting device to perform a second sorting operation on the second target object to remove the second target object from the one or more conveyor devices and to a second destination designated for at least objects of the second object type.

12 . The method of claim 11 , wherein the first destination comprises a deposit location.

13 . The method of claim 11 , wherein the one or more conveyor devices comprise a first conveyor device and wherein the first destination comprises a second conveyor device.

14 . The method of claim 11 , wherein the one or more conveyor devices comprise a first conveyor device and wherein the first destination comprises a second conveyor device, wherein the first target object is configured to be removed from the second conveyor device by a third sorting device and into a deposit location corresponding to an attribute of the first target object.

15 . The method of claim 11 , wherein the stored first object manipulation capability of the first sorting device comprises a sorting mechanism, and wherein the first set of attributes associated with the first object type comprises one or more of the following: mass, size, shape, density, and material type.

16 . The method of claim 11 , wherein the first sorting device is configured to manipulate objects associated with the first object type and at least another object type.

17 . A computer program product, the computer program product being embodied in a non-transitory computer-readable storage medium and comprising computer instructions for:

identifying a first target object associated with a first object type on one or more conveyor devices based at least in part on a first sensed signal, wherein the first object type is associated with a first set of attributes;

receiving a series of images including the first target object on the one or more conveyor devices;

determining a velocity associated with the first target object based at least in part on the series of images;

determining a trajectory associated with the first target object based at least in part on the velocity associated with the first target object, wherein the trajectory associated with the first target object describes a path of the first target object along the one or more conveyor devices;

determining, based at least in part on the trajectory associated with the first target object, that the first target object is not stuck;

in response to the determination that the first target object is not stuck, publishing a data structure corresponding to the first target object, wherein the published data structure includes the first set of attributes and the trajectory associated with the first target object;

determining a first match between a first sorting device and the first target object using the published data structure corresponding to the first target object, including by:

comparing the first set of attributes that is stored in the published data structure corresponding to the first target object to a stored first object manipulation capability of the first sorting device; and

determining that a range of movement of the first sorting device is to overlap with a future location of the first target object based on the trajectory associated with the first target object that is stored in the published data structure corresponding to the first target object;

determining a sorting parameter with which the first sorting device is to use to perform a first sorting operation on the first target object based at least in part on the first set of attributes;

in response to the first match, providing a first control signal to the first sorting device to cause the first sorting device to perform the first sorting operation based on the sorting parameter on the first target object to remove the first target object from the one or more conveyor devices and to a first destination designated for at least objects of the first object type;

identifying a second target object associated with a second object type on the one or more conveyor devices based at least in part on a second sensed signal, wherein the second object type is associated with a second set of attributes, wherein the second set of attributes is different from the first set of attributes;

determining a second match between a second sorting device and the second target object including by comparing the second set of attributes associated with the second object type to a stored second object manipulation capability of the second sorting device; and

in response to the second match, providing a second control signal to the second sorting device to cause the second sorting device to perform a second sorting operation on the second target object to remove the second target object from the one or more conveyor devices and to a second destination designated for at least objects of the second object type.