IP Library Granted Patent US 12,698,162
Granted Patent B2
US 12,698,162 · 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 12,698,162
App. No.
17/559,812
Filed
Dec 22, 2021
Granted
Aug 4, 2026
Kind
B2
Art Unit
3655
USPC
700/223
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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2022
From: HOROWITZ, MATANYA B.; CASTAGNERI, JOSEPH M.; POTTER, CARSON C.
To: AMP ROBOTICS CORPORATION
Reel/Frame 059053/0094 →
Continuity (1)
Related Publication 20230192416A1 · Jun 22, 2023
References Cited (54)
US 5628409A · Thomas · 1997 [cited by examiner]
US 6276535B1 · Winkelman · 2001 [cited by applicant]
US 7181489B2 · Lection · 2007 [cited by applicant]
US 8615123B2 · Dabic · 2013 [cited by applicant]
US 9785851B1 · Torek · 2017 [cited by applicant]
US 10207296B2 · Garcia · 2019 [cited by applicant]
US 10583560B1 · Rodrigues · 2020 [cited by applicant]
US 10625304B2 · Kumar · 2020 [cited by applicant]
US 10710119B2 · Kumar · 2020 [cited by applicant]
US 10722922B2 · Kumar · 2020 [cited by applicant]
US 10958895B1 · Krishnan Gorumkonda · 2021 [cited by applicant]
US 11922368B1 · Wozniak · 2024 [cited by applicant]
US 20120037547A1 · Mcclain · 2012 [cited by applicant]
US 20130266205A1 · Valpola · 2013 [cited by applicant]
US 20160167228A1 · Wellman · 2016 [cited by applicant]
US 20170076438A1 · Kottenstette · 2017 [cited by applicant]
US 20170090068A1 · Xiang · 2017 [cited by applicant]
US 20170232479A1 · Pietzka · 2017 [cited by applicant]
US 20180063056A1 · Ryu · 2018 [cited by applicant]
US 20180243800A1 · Kumar · 2018 [cited by applicant]
US 20190030571A1 · Horowitz · 2019 [cited by examiner]
US 20190130311A1 · Anders · 2019 [cited by applicant]
US 20190197498A1 · Gates · 2019 [cited by applicant]
US 20190217342A1 · Parr · 2019 [cited by applicant]
US 20190247891A1 · Kumar · 2019 [cited by examiner]
US 20190261566A1 · Robertson · 2019 [cited by applicant]
US 20200010271A1 · Bourn · 2020 [cited by applicant]
US 20200034785A1 · Romano · 2020 [cited by applicant]
US 20200184273A1 · Jannink · 2020 [cited by applicant]
US 20200290088A1 · Kumar · 2020 [cited by applicant]
US 20200368786A1 · Kumar · 2020 [cited by applicant]
US 20200388042A1 · Längle · 2020 [cited by examiner]
US 20210023717A1 · Yu · 2021 [cited by applicant]
US 20210024297A1 · Sun · 2021 [cited by applicant]
US 20210117859A1 · Rogers · 2021 [cited by applicant]
US 20210178432A1 · Zeng · 2021 [cited by applicant]
US 20210229133A1 · Kumar · 2021 [cited by applicant]
US 20210295039A1 · Jenkins · 2021 [cited by applicant]
US 20210319545A1 · Wen · 2021 [cited by applicant]
US 20210346916A1 · Kumar · 2021 [cited by applicant]
US 20210385413A1 · Wen · 2021 [cited by applicant]
US 20210390447A1 · Cheruvu · 2021 [cited by applicant]
US 20220005002A1 · Graf Von Stauffenberg · 2022 [cited by applicant]
US 20220016675A1 · Kumar · 2022 [cited by applicant]
US 20220023918A1 · Kumar · 2022 [cited by applicant]
US 20220288787A1 · Dupree · 2022 [cited by applicant]
US 20220301192A1 · Boardman · 2022 [cited by applicant]
US 20230011383A1 · Balthasar · 2023 [cited by applicant]
US 20230027514A1 · Ma · 2023 [cited by applicant]
US 20230062938A1 · Murphy · 2023 [cited by applicant]
US 20230125477A1 · Gurumurthy · 2023 [cited by applicant]
WO 2021206727 · 2021 [cited by applicant]
Bewley et al. “Simple online and realtime tracking.” “Simple Online and Realtime Tracking.” arXiv preprint arXiv:1602.00763 (2016). [cited by applicant]
Yan et al., Design of Industrial Robot Sorting System Based on Smart Camera, International Conference on Artificial Intelligence and Advanced Manufacturing (AIAM), 2019, pp. 652-655. [cited by applicant]