US20220143654A1 - System for sorting objects - Google Patents
System for sorting objects Download PDFInfo
- Publication number
- US20220143654A1 US20220143654A1 US17/585,206 US202217585206A US2022143654A1 US 20220143654 A1 US20220143654 A1 US 20220143654A1 US 202217585206 A US202217585206 A US 202217585206A US 2022143654 A1 US2022143654 A1 US 2022143654A1
- Authority
- US
- United States
- Prior art keywords
- sorting
- objects
- actuator
- rules
- sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000009471 action Effects 0.000 claims abstract description 63
- 239000011159 matrix material Substances 0.000 claims abstract description 46
- 230000008859 change Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 description 49
- 239000011521 glass Substances 0.000 description 26
- 239000003795 chemical substances by application Substances 0.000 description 22
- 230000006870 function Effects 0.000 description 19
- 239000000463 material Substances 0.000 description 13
- 230000008569 process Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 239000003086 colorant Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004064 recycling Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 239000005308 flint glass Substances 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010061217 Infestation Diseases 0.000 description 1
- 235000010724 Wisteria floribunda Nutrition 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003337 fertilizer Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 230000005389 magnetism Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002689 soil Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 235000013311 vegetables Nutrition 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C5/00—Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
- B07C5/36—Sorting apparatus characterised by the means used for distribution
- B07C5/361—Processing or control devices therefor, e.g. escort memory
- B07C5/362—Separating or distributor mechanisms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C5/00—Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
- B07C5/34—Sorting according to other particular properties
- B07C5/3404—Sorting according to other particular properties according to properties of containers or receptacles, e.g. rigidity, leaks, fill-level
- B07C5/3408—Sorting according to other particular properties according to properties of containers or receptacles, e.g. rigidity, leaks, fill-level for bottles, jars or other glassware
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C5/00—Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
- B07C5/34—Sorting according to other particular properties
- B07C5/342—Sorting according to other particular properties according to optical properties, e.g. colour
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C5/00—Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
- B07C5/34—Sorting according to other particular properties
- B07C5/342—Sorting according to other particular properties according to optical properties, e.g. colour
- B07C5/3425—Sorting according to other particular properties according to optical properties, e.g. colour of granular material, e.g. ore particles, grain
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C5/00—Sorting according to a characteristic or feature of the articles or material being sorted, e.g. by control effected by devices which detect or measure such characteristic or feature; Sorting by manually actuated devices, e.g. switches
- B07C5/36—Sorting apparatus characterised by the means used for distribution
- B07C5/363—Sorting apparatus characterised by the means used for distribution by means of air
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B07—SEPARATING SOLIDS FROM SOLIDS; SORTING
- B07C—POSTAL SORTING; SORTING INDIVIDUAL ARTICLES, OR BULK MATERIAL FIT TO BE SORTED PIECE-MEAL, e.g. BY PICKING
- B07C2501/00—Sorting according to a characteristic or feature of the articles or material to be sorted
- B07C2501/0018—Sorting the articles during free fall
Definitions
- the subject matter disclosed herein relates to the sorting of objects, such as glass objects, for example in recycling sorting applications.
- objects such as glass objects
- even a small amount of foreign material can adversely impact an entire batch of glass of a single color.
- ceramic pieces can contaminate a batch of glass, and during subsequent processing could explode and damage the batch.
- an unacceptable amount of colored glass could make clear flint glass unacceptable for reuse and/or reduce the value of the material, impacting its price in an open market.
- Automated sorting machines have been contemplated in the industry, and typically operate by using a camera and a sorting actuator, under the guidance of a control system.
- the control system uses predetermined algorithms and rules to activate the sorting actuator to move passing objects into different bins for collection.
- sorting machines are very sensitive to changes in the flow rate of objects, variations in conveyor belts, deviations in the sizes, shapes or colors of objects, system wear and tear, and other parameters.
- the sorting machines are specially designed for one or just a few sorting applications, and are not readily deployed in different applications.
- sorting systems are very expensive, require expensive conveyor belts, and cannot be readily moved about a facility, such as a recycling or sorting facility. Therefore, a need exists for sorting systems and methods that have improved performance, greater flexibility, and lower cost of ownership.
- a system for sorting objects having different characteristics includes a first sensor, a sorting actuator, a second sensor, and a controller.
- the first sensor is for observing the objects, including observing first observed characteristics of the objects.
- the sorting actuator is for sorting the objects based on the first observed characteristics of the objects and using a policy matrix having sorting rules.
- the second sensor is for observing second observed characteristics of the sorted objects after the sorting by the sorting actuator.
- the controller includes an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix. The controller is configured for the following steps. Updating, by the learning agent module, the policy matrix after sorting previously sorted objects.
- the policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score. Actuating, by the action agent module, the sorting actuator to perform one or more actions to sort one or more objects of the objects using the policy matrix having the sorting rules and the state data for the previously sorted objects. Calculating, by the learning agent module, after the sorting of the specific object by the sorting actuator, a specific sorting score based on the at least one specific action performed by the sorting actuator and a second observed characteristic of the specific sorted object of the objects.
- the policy matrix having the sorting rules Updating, by the learning agent module after the sorting of the specific object by the sorting actuator, the policy matrix having the sorting rules to create an updated policy matrix including updated sorting rules, using the state data of the specific object.
- the updated policy matrix including the updated sorting rules is used in sorting subsequent objects.
- a system for sorting objects includes at least one sensor for observing the objects before and after sorting, an actuator for sorting the objects by performing specific actions using a policy matrix, and a controller for loading a policy matrix.
- the loaded policy matrix includes sorting rules. The loaded policy matrix and the sorting rules thereof were determined incrementally during sorting of previously sorted objects based on prior observations of the previously sorted objects before and after sorting and state information of a prior actuator during sorting of the previously sorted objects.
- a system or sorting objects in another embodiment, includes a sensor for observing the objects before and after sorting, a sorting actuator for sorting the objects using a policy matrix having sorting rules, and a controller having an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix.
- the controller is configured to perform the following steps. Update, by the learning agent module, the policy matrix after sorting previously sorted objects.
- the policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score.
- the sorting actuator to perform a specific action to sort at least one specific object of the objects into two or more bins using the policy matrix having the sorting rules and the state data and observations of the previously sorted objects.
- the learning agent module After the sorting of the specific object by the sorting actuator, a specific sorting score based on the specific action performed by the sorting actuator and observations of the specific sorted object of the objects.
- the updated policy matrix includes the updated sorting rules and is used in sorting subsequent objects of the objects.
- An advantage that may be realized in the practice of some disclosed embodiments of the system or method for sorting objects is that the problem of sorting objects when conditions are variable (flow rate, position, etc.) is solved by observing the result of an sorting actions and updating the sorting methods based on the observation.
- FIG. 1 depicts a system for sorting objects, in accordance with one or more aspects set forth herein;
- FIG. 2 depicts a method for sorting objects, in accordance with one or more aspects
- FIG. 3 depicts further details of the system of FIG. 1 , in accordance with one or more aspects set forth herein;
- FIG. 4 depicts an example of operation of the system of FIG. 1 , in accordance with one or more aspects set forth herein.
- Embodiments of the disclosed subject matter provide techniques for sorting objects, such as glass objects, e.g., in recycling applications. Other embodiments are within the scope of the disclosed subject matter.
- the present disclosure relates, in part, to systems and methods for sorting objects, such as glass objects typically found in the recycling of glass bottles and articles.
- the system includes two or more sensors, such as a cameras, that watch the objects as they pass through a sorting actuator.
- the glass objects are sorted for color by the actuator.
- the sorting actuator may use a puff of air or fluid, or may use a mechanical paddle, magnetic system, etc., to move the objects by different amounts so that the objects land in different bins as the pass through the system.
- different input material may be sorted, and as the systems have a lower cost and smaller system footprint, as objects that vary widely in specification can be sorted.
- more than one actuator may be used to sort the objects in multiple stages or steps.
- more than one different sensor of a different type may be employed, for example, a magnetic sensor along with a light sensor, etc.
- a first sensor or camera watches the object as it enters the system, for example by free falling from above the camera.
- the first sensor notes various information about the object, and then feeds that information to a controller, which actuates a sorting actuator to implement movement of the object so that it ends up sorted into a specific bin.
- a controller which actuates a sorting actuator to implement movement of the object so that it ends up sorted into a specific bin.
- one or more additional sensors carefully watch the sorting process to judge how effective the sorting process was for the particular object.
- the system engages a feedback loop or learning process to fine-tune the sorting rules and parameters so that subsequently sorted objects are more precisely separated by type.
- the system includes a first sensor, a sorting actuator, a second sensor and a controller.
- the first sensor may be for observing the objects including colors.
- the sorting actuator may be for sorting the objects based on the colors.
- the second sensor may be for observing the sorted objects.
- the sorting actuator may be actuated by the controller using sorting rules, historical system data and observations of the objects, including the colors of the objects. Sorting scores may be calculated by the controller based on the observations of the sorted objects.
- the sorting rules may be updated by the controller using the sorting scores.
- a system in another aspect, includes a first sensor, a sorting actuator, a second sensor and a controller.
- the first sensor may be for observing the objects.
- the sorting actuator may be for sorting the objects.
- the second sensor may be for observing the sorted objects.
- the sorting actuator may be actuated by the controller using sorting rules, historical system data and observations of the objects.
- the sorting rules may be updated by the controller using the observations of the sorted objects.
- the objects may include selected objects having predetermined colors and the system may learn the sorting rules by sorting the selected objects with the predetermined colors.
- updating the sorting rules may include incrementally changing the sorting rules to improve the scoring of the sorting.
- the controller may be configured to save or load the sorting rules.
- the system may include a free-fall section to allow the objects to fall past the sorting actuator.
- the system may include at least one colored background to facilitate sorting by color.
- the first sensor and the second sensor may be the same or different sensors.
- the system may include a third sensor (or more sensors) for observing the sorting of the objects by the sorting actuator.
- a method is provided. Objects are observed, e.g., during free fall or traversal of a conveyor belt. The objects are sorted using sorting rules, historical system data and observations of the objects. The objects are observed. The sorting rules are updated using observations of the sorted objects. In one example, the method includes scoring the sorting and incrementally changing the sorting parameters to improve the scoring of the sorting. In another example, the method includes saving or loading the sorting rules. In a further example, the method includes sorting the objects by color. In such a case, the method may include using at least one colored background to facilitate sorting by color.
- FIG. 1 depicts a system 100 for sorting an object 101 , which is represented in multiple positions 101 a - 101 c in the drawings.
- the system 100 includes a first sensor 110 a , a second sensor 110 b , and an optional third sensor 110 c .
- the system 110 also includes a controller 105 and at least one sorting actuator 120 (depending on the application, multiple stage sorting actuation may be employed).
- the sensors 110 a - 110 c send sensor data to the controller 105 , and the sorting actuator 120 is controlled by the controller 105 using a combination of sorting rules and sensor data.
- light sources 115 a , 115 b may be used in conjunction with the respective sensors 110 a , 110 b to facilitate detection of colors of the objects 101 .
- backgrounds 130 a , 130 b having varying colors, may be used to effectuate the color detection.
- color detection may use the reflection properties of colored material. If trying to remove red material, and using red light, green and blue material may show as very dark (close to black). The detection algorithm can then efficiently remove dark objects and sense only red objects. Similarly, since glass refracts, using a blue background and ambient white light, red glass may be detected by camera as black (very dark).
- the object 101 free falls through the system 100 , and first passes, at position 101 a , by the first sensor 110 a .
- the first sensor 110 a feeds sensor data to the controller 105 , which may use the sensor data to determine various characteristics of the object 101 .
- the controller 105 may actuate the sorting actuator 120 when the object 101 passes through position 101 c .
- the sorting rules may include fixed sorting parameters as well as variable rules that are learned over the course of time by the system 100 . Further details, including mathematical details of the sorting rules are set forth below with respect to FIG. 2 .
- the sorting actuator 120 may be a solenoid type, servo type, water valve type, or air type. Examples of the foregoing are as follows: a linear motion solenoid available from Shenzhen Zonhen Electric Appliances Co., of China; a PowerHD servo available from HuiDa RC International Inc., of China; a solenoid water valve available from Sizto Tech Corporation of Palo Alto, Calif.; or an MHJ solenoid air valve available from Festo AG of Esslingen am Neckar, Germany.
- the sensors 110 a - 110 c may be cameras, such as color cameras, infrared sensors, ultraviolet sensors, X-ray sensors, laser sensors or light data and ranging sensors, or combinations thereof. Such sensors are available from vendors such as Logitech, of Newark, Calif. or Kayeton Technology Company of Shenzhen, China. In another example, the sensors 110 a - 110 c may be infrared or ultraviolet cameras, such as those available from Fuji of Tokyo, Japan. In further examples, X-Ray or Light Data and Ranging (LIDAR) sensors may be used for sensors 110 a - 110 c .
- the controller 105 may be or include multiple components, such as processors or graphics processors available from Intel or Nvidia, both of Santa Clara, Calif.
- FIG. 2 is a flowchart depicting a method 200 for sorting objects.
- the method 200 can be implemented by one or more programs running on the system 100 , in particular running on the controller 105 . Further details of the computing, storage, and related functions of the system 100 , for enabling operation of the method 200 , is set forth below with respect to FIG. 3 .
- the method 200 at block 202 starts, for example, in response to auto-detecting a flow of objects into the system 100 ( FIG. 1 ) for sorting.
- the concept of historical system data is now introduced.
- the aggregate of all system data such as prior sorting actions, prior object observations, etc.
- the historical system data may be termed the historical system data.
- the historical system data continues to grow based upon new sorting actions and new observations of the objects, using one or more sensors such as cameras.
- the concept of pre-sort system state may more precisely be defined as including all relevant historical system data that is known at a given point in time right before a sorting action takes place.
- the concept of post-sort system data may more precisely be defined as including all historical system data this is known at the point in time right after a sorting event takes place, e.g., after sorting actuation, the observation from sensors and the action are added to the history and become new state of the system.
- the historical system data makes up the state of the system.
- a controller of the system may maintain a policy matrix that includes each known state, each action, and each average reward (e.g., represented by a score) expected when moving from a known state using a known action. This policy matrix or state table informs controller what is the best action to take given the current state.
- the controller may be configured to make a percentage of random action to learn which actions might be more advantageous. Also, as environment parameters change, for example the actuator slows, the reward will start showing negative values, resulting in the controller re-evaluating and updating the best action for a given state. After a few minutes of runtime, controller will refresh the policy matrix, and system will start performing the sorting as expected.
- this configuration allows the system to adapt as per changing conditions, because the system continues to modify its behavior based on the learning techniques disclosed herein, rather than adopting a fixed behavior.
- observations may include size, shape, color, opacity, material composition, moisture, temperature, or any other physical characteristic of the objects.
- observations may include velocity, acceleration, position (e.g., in three-dimensions), or any other kinetic information related to the objects.
- the observations may include electrical data, magnetism data, chemical composition, vibration, sound, or any other such data related to the objects or the environment (e.g. ambient lighting conditions, wind speed and direction, temperature, etc.).
- the observations are fed to the controller 105 ( FIG. 1 ), where it may be used and stored for later use.
- sensors may be needed for different environments. For instance, acoustic, chemical, electrical, magnetic, radio, environmental, weather, moisture, humidity, flow, fluid velocity, radiation, particle, navigation, optical, pressure, displacement, acceleration, gyroscopic, force, density, proximity, and other sensors may be used to distinguish different objects, either alone or in combination.
- the method 200 at block 206 sorts the objects using sorting rules, historical system data and observations of the objects.
- the controller 105 may use the observations, along with the sorting rules, including various parameters of the sorting rules, to determine how to sort the specific object. This may then be translated into a specific actuator instruction, so that the actuator causes the object to move by specified amount so that it falls into an appropriate sorting bin.
- the method 200 loads the sorting rules described above from a storage device.
- the stored sorting rules may have been learned over the course of time during other sorting runs, or may have been determined by an expert operator designing the specific parameters to be used in a specific sort, or some combination thereof.
- a thumb drive storage device including the sorting rules may be plugged into the system so that the system operates and behaves in a particular manner for a particular application.
- pre-loaded configuration files, including details of the sorting rules may be developed for use in glass sorting, metal sorting, plastic sorting, produce sorting, mail sorting, or any other sorting application.
- the method 200 at block 208 observes the objects. Observations of the objects after the sorting are then included in the aggregate known system data at a given point in time.
- the same parameters that were observed before sorting may now be measured after sorting, including physical, kinetic, chemical, or other data of the sorted object.
- the method 200 may observe the sorting process itself, e.g., by observing the sorting actuator activate and effectuate a movement of the object from its initial position. Alternately or additionally, the method 200 may observe the object after the sorting actuator has already performed its function, and provide a final state data observation of the object. And, the method and system advantageously allows for more sensor readings to take place, so that a third, fourth, or more sensors may provide data of the object. In some examples, a single sensor may track the object through the multiple stages, and observation data before, during and after sorting action (or actuation).
- the first sensor may be of one type, e.g., a camera
- the second sensor may be of a different type, e.g., a laser or a LIDAR sensor.
- updating the sorting rules may include defining a score function, and scoring the sorting on an object-by-object basis.
- the sorting rules may be incrementally changed after each object has been sorted, so that subsequent objects are sorted by sorting rules that have learned from the prior sorting operations.
- sorting rules currently in force may be saved to the system so that the learning can be reused when next sorting similar objects under similar conditions.
- sorting rules, once loaded, can then continue to benefit from the learning system and feedback afforded by the second (or more) sensors used by the method.
- the method 200 at block 212 ends, when a batch of objects has been sorted.
- the method 200 may be run through batches of test items of known variation, which could be used to train the system to learn how to sort particular items. For instance, a first, preselected, batch of objects (e.g., a bucket full) having varying sizes and varying shades of green may be fed into the system, and the system may be operated in a learning mode in which the system observes all the objects and learns that they are to be considered green objects. Similar training could be done to teach the system about brown glass and clear flint glass. Then, once the system learns about these objects, the system can be used to sort an entire truck load of recycling glass into different bins for green, brown, and clear flint glass.
- a first, preselected, batch of objects e.g., a bucket full
- Similar training could be done to teach the system about brown glass and clear flint glass.
- the system can be used to sort an entire truck load of recycling glass
- other applications of the techniques disclosed herein include upgrades to existing sorting machines to improve their performance and/or provide flexibility to use operating condition or material outside the specifications of the current system.
- another application is for an intelligent irrigation system, that constantly monitors, using one or more sensors, such as soil, temperature, pH level, plant/tree health/growth sensors, and uses actuators to release needed ingredients (e.g., water/fertilizer) at an individual plant/tree basis at a large scale.
- the system can learn about local grub infestations and handle it without any manual or rule based intervention.
- the concepts have been expanded beyond sorting and actuation of sorting to include a control system that includes observation with sensors, actuation of any process, and scoring functions.
- Q-learning which is a model free reinforcement learning technique
- SARSA State—action—reward—state—action
- a t ⁇ (C t-x (S t-x-y )), where:
- a t are action(s) taken at time t; ⁇ is a function that determines the action(s) to take; C t is a function that determines the categories of objects found; S t represents all accumulated sensor inputs at time t; x is the time delay between categorization being complete and the action being taken; and y is the time delay between the sensor output being available and the categorization being complete.
- a t ′ f ′ ⁇ ( C t - x ′ ⁇ ( S t - x - y ′ ) , C t ′ ′ ⁇ ( S t ′ ′ ) , A t ′ ′ , R t ′ ⁇ ( S t ′ ′ ) ) ,
- A′ t are action(s) taken at time t; ⁇ ′ is a function that determines the action(s) to take; C′ t is a function that determines the categories of objects found; S′ t represents all accumulated sensor inputs at time t; and R′ t represents the results of the previous action.
- ⁇ ′ may be periodically changed to maximize the total overall result R′ on an ongoing basis, so as to learn to sort better.
- a model-free reinforcement learning technique such as Q-learning may be employed as the above stated algorithm.
- Q-learning may find an optimal action-selection policy for any given decision process.
- An action-value function may be learned that provides the expected utility of taking a given action in a given state, and thereafter the optimal policy may be followed.
- Such a policy may be rule-based, in that the agent selects actions based on the current state.
- the optimal policy may be based on selecting the action with the highest value in each state.
- the present technique allows comparison of the expected utility of the available actions without requiring a precise mathematical model of the environment.
- FIG. 3 depicts further details of the controller 105 ( FIG. 1 ).
- the controller 105 includes an action agent 300 and a learning agent 310 .
- the action agent 300 may be used to actuate the sorting actuator 120 ( FIG. 1 ).
- the action agent 300 may include a memory 302 , statistical agent policy parameters 304 and a processor 306 .
- the memory 302 may be used to store the current and historical object data, input and output data, action history, etc.
- the parameters 304 may include the sorting rules, parameters, etc.
- the processor 306 may be used to compute the algorithms described above to implement the sorting rules, applying the loaded sorting rules or policies to the current state (e.g., the current object to be sorted).
- the learning agent 310 may include both the learning functions and context, as well as the ability to store and load the sorting rules.
- the learning agent 310 may include a memory 312 , an optional policy interface 314 , a processor 316 and a statistical policy/history controller 318 .
- the memory 312 may include a larger store of historical data related to sorting of objects, similar to the memory 302 of the action agent 300 .
- the policy interface 314 may include a variety of functions, including the ability to reset the system to the last known good state, begin learning, or save or load the sorting rules including sorting parameters.
- the processor 316 may include the ability to find statistical patterns in the sorting history in order to set the best parameters for choosing actions that result in correct sorting of the objects.
- FIG. 4 depicts an example of operation of the system 100 of FIG. 1 .
- the system 100 at step 402 performs actions and gets input from both a first and second sensor.
- the system 100 at step 404 categorizes the observation data of the object from both of the sensors, including information obtained before and after sorting.
- the system 100 at step 406 stores the last action, input data, and reward data in memory.
- the system 100 at step 408 sends the last N (e.g., 10) input data, actions and rewards to the controller for processing.
- the system 100 at step 410 decides programmatically on the next action.
- the system 100 at step 412 waits for the time interval or tick (e.g., 100 milliseconds) to pass, and returns to the start 401 .
- the system 100 at step 420 passes new observations to the algorithms.
- the system 100 at step 422 adjusts the policy, including the sorting rules.
- the system 100 at step 424 informs the controller of the new sorting rules and policies.
- system may be trained in order to perform a specific application.
- One specific training sequence is as follows:
- a command mode of “learn color that is the objective to be sorted” specifying that green glass is to be identified and classified.
- the system may find the characteristics of the input color using color histogram to find HSV (hue-saturation-value) or RGB (red-green-blue) color boundaries.
- HSV hue-saturation-value
- RGB red-green-blue
- 100 pounds of other material, except green glass, that will be found in the final mixture to be sorted, may be passed through the system, operating in a command mode of “learn the color that is not the objective to be sorted.” Again, the system can then find the characteristics of the input color using color histogram to find HSV or RGB color boundaries to ignore or reject. And, similarly, in a variation, size and color could also be varied.
- the mixed material may be filled in the hopper and the feeder may be started to start the mixed glass flow through the system.
- the system may be commanded to start the first input and second reward sensors or cameras, as well as the actuator.
- a user of the machine may observe periodically to see if the machine has learned, by monitoring the output bins.
- the full configuration may be saved by the system, for example to a non-volatile memory storage device such as a thumb drive. Now, the system may run as a normal, steady state operational system.
- the system may be transported and set up in a different location, and may be initialized using the saved configuration, e.g., by inserting the thumb drive and loading the preconfigured settings which include the historical data.
- the hopper may be filled and the feeder, sensors, actuators, etc., may be started to sort the items.
- troubleshooting steps may be used to automatically correct misfiring that is detected by the sensors (or by an operator).
- a bump command may be initiated, that can increase the propensity of the system to make adjustment to the current configuration and bring it to optimized state faster. If the bump command does not restore the system to an operational steady state within a specified time frame, then the system may automatically or manually be restarted.
- aspects of the system and method for sorting objects offer numerous advantages. For instance, the use of two or more sensors, which may be cameras, improves the technology of sorting by facilitating learning from experience.
- the use of multiple sensors of different types may also be used, for example by combining camera sensors with magnetic sensors. In such a manner.
- sensors with different testing times may be used. For example, during the sorting process, there may be a sensor that is quick to give data on a specific object, but the post-sorting sensor may act in a more bulk manner to give an indication of the overall efficiency of the sorting. Because the system can be trained by feeding it material of different types (which it can then learn to differentiate), numerous other applications, beyond sorting recycling or goods are available. For instance, mail sorting, luggage handling at airports, factory assembly line monitoring, and other like applications can benefit from an overall system that uses multiple sensors and includes a learning algorithm as described herein.
- At least one of in reference to a plurality of elements, this is intended to mean at least one or more of the listed elements, and is not limited to at least one of each element.
- at least one of an element A, element B, and element C is intended to indicate element A alone, or element B alone, or element C alone, or any combination thereof.
- At least one of element A, element B, and element C is not intended to be limited to at least one of an element A, at least one of an element B, and at least one of an element C.
- embodiments of the invention sort objects, such as glass objects.
- a technical effect is to enable the separation of mixed items so that they can be separately processed.
- aspects of the present invention may be embodied as a system, method, or computer program product.
- aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “service,” “circuit,” “circuitry,” “module,” and/or “system.”
- aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code and/or executable instructions embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages.
- the program code may execute entirely on the user's computer (device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Landscapes
- Sorting Of Articles (AREA)
Abstract
A system for sorting objects is provided. For instance, the system includes a first and second sensor for observing the objects before and after sorting and a controller having an action agent module and a learning agent module. The controller updates, by the learning agent module, a policy matrix after sorting previously sorted objects. The policy matrix includes state data of the previously sorted objects including sensor data, an action performed by the sorting actuator, and a sorting score. The controller actuates the sorting actuator, calculates a specific sorting score based on a specific action performed by the sorting actuator, and updates the policy matrix to create an updated policy matrix including updated sorting rules. The updated policy matrix is used in sorting subsequent objects. In another example, the controller loads a policy matrix that was determined incrementally during sorting of previously sorted objects.
Description
- This continuation application claims the benefit of and priority to U.S. patent application Ser. No. 16/706,067, filed Dec. 6, 2019 and entitled “SYSTEM FOR SORTING OBJECTS,” which claims the priority and benefit of U.S. patent application Ser. No. 15/797,613, filed Oct. 30, 2017 and entitled “SYSTEM AND METHOD FOR SORTING OBJECTS,” which is incorporated herein by reference in its entirety.
- The subject matter disclosed herein relates to the sorting of objects, such as glass objects, for example in recycling sorting applications. By way of example, after collection of recyclable glass, a need exists to sort the glass by color so that different colored glass may be effectively processed or sold for reuse. In such applications, even a small amount of foreign material can adversely impact an entire batch of glass of a single color. For example, ceramic pieces can contaminate a batch of glass, and during subsequent processing could explode and damage the batch. In addition, an unacceptable amount of colored glass could make clear flint glass unacceptable for reuse and/or reduce the value of the material, impacting its price in an open market.
- Other applications for sorting of objects abound. Fruit, vegetables, manufactured items, mail, and other items are routinely encountered in a state where they are not separated by type. Yet separation is desired so that like objects may be transported or sold separately. Separated objects usually have higher value than the mixed objects.
- Automated sorting machines have been contemplated in the industry, and typically operate by using a camera and a sorting actuator, under the guidance of a control system. The control system uses predetermined algorithms and rules to activate the sorting actuator to move passing objects into different bins for collection.
- These sorting machines are very sensitive to changes in the flow rate of objects, variations in conveyor belts, deviations in the sizes, shapes or colors of objects, system wear and tear, and other parameters. In addition, the sorting machines are specially designed for one or just a few sorting applications, and are not readily deployed in different applications.
- And the sorting systems are very expensive, require expensive conveyor belts, and cannot be readily moved about a facility, such as a recycling or sorting facility. Therefore, a need exists for sorting systems and methods that have improved performance, greater flexibility, and lower cost of ownership.
- A system for sorting objects having different characteristics is provided. The system includes a first sensor, a sorting actuator, a second sensor, and a controller. The first sensor is for observing the objects, including observing first observed characteristics of the objects. The sorting actuator is for sorting the objects based on the first observed characteristics of the objects and using a policy matrix having sorting rules. The second sensor is for observing second observed characteristics of the sorted objects after the sorting by the sorting actuator. The controller includes an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix. The controller is configured for the following steps. Updating, by the learning agent module, the policy matrix after sorting previously sorted objects. The policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score. Actuating, by the action agent module, the sorting actuator to perform one or more actions to sort one or more objects of the objects using the policy matrix having the sorting rules and the state data for the previously sorted objects. Calculating, by the learning agent module, after the sorting of the specific object by the sorting actuator, a specific sorting score based on the at least one specific action performed by the sorting actuator and a second observed characteristic of the specific sorted object of the objects. Updating, by the learning agent module after the sorting of the specific object by the sorting actuator, the policy matrix having the sorting rules to create an updated policy matrix including updated sorting rules, using the state data of the specific object. The updated policy matrix including the updated sorting rules is used in sorting subsequent objects.
- In another embodiment, a system for sorting objects is presented. The system includes at least one sensor for observing the objects before and after sorting, an actuator for sorting the objects by performing specific actions using a policy matrix, and a controller for loading a policy matrix. The loaded policy matrix includes sorting rules. The loaded policy matrix and the sorting rules thereof were determined incrementally during sorting of previously sorted objects based on prior observations of the previously sorted objects before and after sorting and state information of a prior actuator during sorting of the previously sorted objects.
- In another embodiment, a system or sorting objects is presented. The system includes a sensor for observing the objects before and after sorting, a sorting actuator for sorting the objects using a policy matrix having sorting rules, and a controller having an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix. The controller is configured to perform the following steps. Update, by the learning agent module, the policy matrix after sorting previously sorted objects. The policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score. Actuate, by the action agent module, the sorting actuator to perform a specific action to sort at least one specific object of the objects into two or more bins using the policy matrix having the sorting rules and the state data and observations of the previously sorted objects. Calculate, by the learning agent module, after the sorting of the specific object by the sorting actuator, a specific sorting score based on the specific action performed by the sorting actuator and observations of the specific sorted object of the objects. Update, by the learning agent module after the sorting of the specific object by the sorting actuator, the policy matrix having the sorting rules to create an updated policy matrix including updated sorting rules using the state data and observations of the objects before and after sorting and actions used to sort the objects. The updated policy matrix includes the updated sorting rules and is used in sorting subsequent objects of the objects.
- An advantage that may be realized in the practice of some disclosed embodiments of the system or method for sorting objects is that the problem of sorting objects when conditions are variable (flow rate, position, etc.) is solved by observing the result of an sorting actions and updating the sorting methods based on the observation.
- The above embodiments are exemplary only. Other embodiments are within the scope of the disclosed subject matter.
- So that the manner in which the features of the invention can be understood, a detailed description of the invention may be had by reference to certain embodiments, some of which are illustrated in the accompanying drawings. It is to be noted, however, that the drawings illustrate only certain embodiments of this invention and are therefore not to be considered limiting of its scope, for the scope of the disclosed subject matter encompasses other embodiments as well. The drawings are not necessarily to scale, emphasis generally being placed upon illustrating the features of certain embodiments of the invention. In the drawings, like numerals are used to indicate like parts throughout the various views.
-
FIG. 1 depicts a system for sorting objects, in accordance with one or more aspects set forth herein; -
FIG. 2 depicts a method for sorting objects, in accordance with one or more aspects; -
FIG. 3 depicts further details of the system ofFIG. 1 , in accordance with one or more aspects set forth herein; and -
FIG. 4 depicts an example of operation of the system ofFIG. 1 , in accordance with one or more aspects set forth herein. - Embodiments of the disclosed subject matter provide techniques for sorting objects, such as glass objects, e.g., in recycling applications. Other embodiments are within the scope of the disclosed subject matter.
- The present disclosure relates, in part, to systems and methods for sorting objects, such as glass objects typically found in the recycling of glass bottles and articles. Advantageously, in one embodiment, the system includes two or more sensors, such as a cameras, that watch the objects as they pass through a sorting actuator. In one application, the glass objects are sorted for color by the actuator. Typically, the sorting actuator may use a puff of air or fluid, or may use a mechanical paddle, magnetic system, etc., to move the objects by different amounts so that the objects land in different bins as the pass through the system. In other applications, different input material may be sorted, and as the systems have a lower cost and smaller system footprint, as objects that vary widely in specification can be sorted. In another example, more than one actuator may be used to sort the objects in multiple stages or steps. In a further example, more than one different sensor of a different type may be employed, for example, a magnetic sensor along with a light sensor, etc.
- A first sensor or camera watches the object as it enters the system, for example by free falling from above the camera. The first sensor notes various information about the object, and then feeds that information to a controller, which actuates a sorting actuator to implement movement of the object so that it ends up sorted into a specific bin. Concurrent with the object falling and being sorted, one or more additional sensors carefully watch the sorting process to judge how effective the sorting process was for the particular object. Based on scoring the efficacy of the sorting, the system engages a feedback loop or learning process to fine-tune the sorting rules and parameters so that subsequently sorted objects are more precisely separated by type.
- Generally stated, described herein, in one aspect, is a system for sorting glass objects. For instance, the system includes a first sensor, a sorting actuator, a second sensor and a controller. The first sensor may be for observing the objects including colors. The sorting actuator may be for sorting the objects based on the colors. The second sensor may be for observing the sorted objects. The sorting actuator may be actuated by the controller using sorting rules, historical system data and observations of the objects, including the colors of the objects. Sorting scores may be calculated by the controller based on the observations of the sorted objects. The sorting rules may be updated by the controller using the sorting scores.
- In another aspect, a system is provided. For instance, the system includes a first sensor, a sorting actuator, a second sensor and a controller. The first sensor may be for observing the objects. The sorting actuator may be for sorting the objects. The second sensor may be for observing the sorted objects. The sorting actuator may be actuated by the controller using sorting rules, historical system data and observations of the objects. The sorting rules may be updated by the controller using the observations of the sorted objects.
- In one embodiment, the objects may include selected objects having predetermined colors and the system may learn the sorting rules by sorting the selected objects with the predetermined colors. In another embodiment, updating the sorting rules may include incrementally changing the sorting rules to improve the scoring of the sorting. In a further embodiment, the controller may be configured to save or load the sorting rules.
- In one implementation, the system may include a free-fall section to allow the objects to fall past the sorting actuator. In another implementation, the system may include at least one colored background to facilitate sorting by color. In other examples, the first sensor and the second sensor may be the same or different sensors. And, in yet another example, the system may include a third sensor (or more sensors) for observing the sorting of the objects by the sorting actuator.
- In a further aspect, a method is provided. Objects are observed, e.g., during free fall or traversal of a conveyor belt. The objects are sorted using sorting rules, historical system data and observations of the objects. The objects are observed. The sorting rules are updated using observations of the sorted objects. In one example, the method includes scoring the sorting and incrementally changing the sorting parameters to improve the scoring of the sorting. In another example, the method includes saving or loading the sorting rules. In a further example, the method includes sorting the objects by color. In such a case, the method may include using at least one colored background to facilitate sorting by color.
-
FIG. 1 depicts asystem 100 for sorting anobject 101, which is represented inmultiple positions 101 a-101 c in the drawings. For instance, in the embodiment ofFIG. 1 , thesystem 100 includes afirst sensor 110 a, asecond sensor 110 b, and an optionalthird sensor 110 c. The system 110 also includes acontroller 105 and at least one sorting actuator 120 (depending on the application, multiple stage sorting actuation may be employed). The sensors 110 a-110 c send sensor data to thecontroller 105, and the sortingactuator 120 is controlled by thecontroller 105 using a combination of sorting rules and sensor data. - In addition,
light sources respective sensors objects 101. In conjunction with thelight sources backgrounds - By way of overview, in one example, the
object 101 free falls through thesystem 100, and first passes, atposition 101 a, by thefirst sensor 110 a. Thefirst sensor 110 a feeds sensor data to thecontroller 105, which may use the sensor data to determine various characteristics of theobject 101. Based on the sensor data and currently operable sorting rules, thecontroller 105 may actuate the sortingactuator 120 when theobject 101 passes throughposition 101 c. The sorting rules may include fixed sorting parameters as well as variable rules that are learned over the course of time by thesystem 100. Further details, including mathematical details of the sorting rules are set forth below with respect toFIG. 2 . - In different embodiments, and depending on the application, the sorting
actuator 120 may be a solenoid type, servo type, water valve type, or air type. Examples of the foregoing are as follows: a linear motion solenoid available from Shenzhen Zonhen Electric Appliances Co., of China; a PowerHD servo available from HuiDa RC International Inc., of China; a solenoid water valve available from Sizto Tech Corporation of Palo Alto, Calif.; or an MHJ solenoid air valve available from Festo AG of Esslingen am Neckar, Germany. - In one example, the sensors 110 a-110 c may be cameras, such as color cameras, infrared sensors, ultraviolet sensors, X-ray sensors, laser sensors or light data and ranging sensors, or combinations thereof. Such sensors are available from vendors such as Logitech, of Newark, Calif. or Kayeton Technology Company of Shenzhen, China. In another example, the sensors 110 a-110 c may be infrared or ultraviolet cameras, such as those available from Fuji of Tokyo, Japan. In further examples, X-Ray or Light Data and Ranging (LIDAR) sensors may be used for sensors 110 a-110 c. The
controller 105 may be or include multiple components, such as processors or graphics processors available from Intel or Nvidia, both of Santa Clara, Calif. -
FIG. 2 is a flowchart depicting amethod 200 for sorting objects. Themethod 200 can be implemented by one or more programs running on thesystem 100, in particular running on thecontroller 105. Further details of the computing, storage, and related functions of thesystem 100, for enabling operation of themethod 200, is set forth below with respect toFIG. 3 . - In the embodiment of
FIG. 2 , themethod 200 atblock 202 starts, for example, in response to auto-detecting a flow of objects into the system 100 (FIG. 1 ) for sorting. - The concept of historical system data is now introduced. At any given point in time, the aggregate of all system data, such as prior sorting actions, prior object observations, etc., may be termed the historical system data. Of course, as time progresses, the historical system data continues to grow based upon new sorting actions and new observations of the objects, using one or more sensors such as cameras. In one example, the concept of pre-sort system state may more precisely be defined as including all relevant historical system data that is known at a given point in time right before a sorting action takes place. In such a case, the concept of post-sort system data may more precisely be defined as including all historical system data this is known at the point in time right after a sorting event takes place, e.g., after sorting actuation, the observation from sensors and the action are added to the history and become new state of the system. Generally speaking, the historical system data makes up the state of the system. A controller of the system may maintain a policy matrix that includes each known state, each action, and each average reward (e.g., represented by a score) expected when moving from a known state using a known action. This policy matrix or state table informs controller what is the best action to take given the current state. Initially, while the controller is still building this matrix or table, the controller may be configured to make a percentage of random action to learn which actions might be more advantageous. Also, as environment parameters change, for example the actuator slows, the reward will start showing negative values, resulting in the controller re-evaluating and updating the best action for a given state. After a few minutes of runtime, controller will refresh the policy matrix, and system will start performing the sorting as expected. Advantageously, this configuration allows the system to adapt as per changing conditions, because the system continues to modify its behavior based on the learning techniques disclosed herein, rather than adopting a fixed behavior.
- Initially, the
method 200 atblock 204 observes the objects. By way of example, observations may include size, shape, color, opacity, material composition, moisture, temperature, or any other physical characteristic of the objects. In addition, observations may include velocity, acceleration, position (e.g., in three-dimensions), or any other kinetic information related to the objects. Further, the observations may include electrical data, magnetism data, chemical composition, vibration, sound, or any other such data related to the objects or the environment (e.g. ambient lighting conditions, wind speed and direction, temperature, etc.). In one example, the observations are fed to the controller 105 (FIG. 1 ), where it may be used and stored for later use. - Note that different sensors may be needed for different environments. For instance, acoustic, chemical, electrical, magnetic, radio, environmental, weather, moisture, humidity, flow, fluid velocity, radiation, particle, navigation, optical, pressure, displacement, acceleration, gyroscopic, force, density, proximity, and other sensors may be used to distinguish different objects, either alone or in combination.
- Continuing, the
method 200 atblock 206 sorts the objects using sorting rules, historical system data and observations of the objects. For instance, thecontroller 105 may use the observations, along with the sorting rules, including various parameters of the sorting rules, to determine how to sort the specific object. This may then be translated into a specific actuator instruction, so that the actuator causes the object to move by specified amount so that it falls into an appropriate sorting bin. - In one embodiment, the
method 200 loads the sorting rules described above from a storage device. The stored sorting rules may have been learned over the course of time during other sorting runs, or may have been determined by an expert operator designing the specific parameters to be used in a specific sort, or some combination thereof. For instance, a thumb drive storage device including the sorting rules may be plugged into the system so that the system operates and behaves in a particular manner for a particular application. In one case, such pre-loaded configuration files, including details of the sorting rules, may be developed for use in glass sorting, metal sorting, plastic sorting, produce sorting, mail sorting, or any other sorting application. - After or during sorting, the
method 200 at block 208 observes the objects. Observations of the objects after the sorting are then included in the aggregate known system data at a given point in time. - For example, the same parameters that were observed before sorting may now be measured after sorting, including physical, kinetic, chemical, or other data of the sorted object. The
method 200 may observe the sorting process itself, e.g., by observing the sorting actuator activate and effectuate a movement of the object from its initial position. Alternately or additionally, themethod 200 may observe the object after the sorting actuator has already performed its function, and provide a final state data observation of the object. And, the method and system advantageously allows for more sensor readings to take place, so that a third, fourth, or more sensors may provide data of the object. In some examples, a single sensor may track the object through the multiple stages, and observation data before, during and after sorting action (or actuation). In other applications, multiple discrete sensors may be deployed for convenience or simplicity. In some embodiments, the first sensor may be of one type, e.g., a camera, and the second sensor may be of a different type, e.g., a laser or a LIDAR sensor. - Next, the
method 200 atblock 210 updates the sorting rules using the observation data of the objects. In one example, updating the sorting rules may include defining a score function, and scoring the sorting on an object-by-object basis. The sorting rules may be incrementally changed after each object has been sorted, so that subsequent objects are sorted by sorting rules that have learned from the prior sorting operations. - After sorting numerous objects, the sorting rules currently in force may be saved to the system so that the learning can be reused when next sorting similar objects under similar conditions. Advantageously, sorting rules, once loaded, can then continue to benefit from the learning system and feedback afforded by the second (or more) sensors used by the method.
- Finally, the
method 200 atblock 212 ends, when a batch of objects has been sorted. In one example, themethod 200 may be run through batches of test items of known variation, which could be used to train the system to learn how to sort particular items. For instance, a first, preselected, batch of objects (e.g., a bucket full) having varying sizes and varying shades of green may be fed into the system, and the system may be operated in a learning mode in which the system observes all the objects and learns that they are to be considered green objects. Similar training could be done to teach the system about brown glass and clear flint glass. Then, once the system learns about these objects, the system can be used to sort an entire truck load of recycling glass into different bins for green, brown, and clear flint glass. - Because such training could be done under real world conditions, variations in the drop height of the free-fall, average glass size in the batches, etc., can be automatically adjusted for by the system due to being trained by relatively small batches of glass. Of course, to the extent that conditions continue to repeat, the learning from the training, and the actual sorting results, can be saved as described above, and a library of sorting rules may be created for use in different environments.
- In addition to object sorting system, other applications of the techniques disclosed herein include upgrades to existing sorting machines to improve their performance and/or provide flexibility to use operating condition or material outside the specifications of the current system. Further, another application is for an intelligent irrigation system, that constantly monitors, using one or more sensors, such as soil, temperature, pH level, plant/tree health/growth sensors, and uses actuators to release needed ingredients (e.g., water/fertilizer) at an individual plant/tree basis at a large scale. For example, the system can learn about local grub infestations and handle it without any manual or rule based intervention. In such a case, the concepts have been expanded beyond sorting and actuation of sorting to include a control system that includes observation with sensors, actuation of any process, and scoring functions.
- In one example, Q-learning, which is a model free reinforcement learning technique, is used by the system. In one example, the State—action—reward—state—action (SARSA) algorithm for learning a Markov decision process policy, is used by the system. A person having ordinary skill in the art will understand the details of using Q-learning or SARSA, to take the historical data at a given time (t-x) and use it to determine an action at time (t).
- Next, working examples of mathematical algorithms that may be employed in different embodiments of the system or method are set forth below.
- In one example that does not use a feedback loop, At=ƒ(Ct-x(St-x-y)), where:
- At are action(s) taken at time t;
ƒ is a function that determines the action(s) to take;
Ct is a function that determines the categories of objects found;
St represents all accumulated sensor inputs at time t;
x is the time delay between categorization being complete and the action being taken; and
y is the time delay between the sensor output being available and the categorization being complete. - In one example of the techniques disclosed herein,
-
- where:
A′t are action(s) taken at time t;
ƒ′ is a function that determines the action(s) to take;
C′t is a function that determines the categories of objects found;
S′t represents all accumulated sensor inputs at time t; and
R′t represents the results of the previous action. - For instance, ƒ′ may be periodically changed to maximize the total overall result R′ on an ongoing basis, so as to learn to sort better.
- In one example, given the continual changes in sorting objective, lighting condition, input material, speed and other environmental factors, continually changing the function that determines the action to take has significant advantages over using a fixed action function.
- By way of further explanation, a model-free reinforcement learning technique such as Q-learning may be employed as the above stated algorithm. Specifically, Q-learning may find an optimal action-selection policy for any given decision process. An action-value function may be learned that provides the expected utility of taking a given action in a given state, and thereafter the optimal policy may be followed. Such a policy may be rule-based, in that the agent selects actions based on the current state. After learning an action-value function, the optimal policy may be based on selecting the action with the highest value in each state. Advantageously, the present technique allows comparison of the expected utility of the available actions without requiring a precise mathematical model of the environment. In other words, through the selection of the reward function, informed by the multiple camera views and data, the system is invariant to the specific details of flow rate, separation of objects, etc., because it is always learning by experience rather than through an initial model. This allows as a further advantage the handling of stochastic transitions and rewards, leading to an optimal policy through the trial and error technique.
-
FIG. 3 depicts further details of the controller 105 (FIG. 1 ). In the embodiment ofFIG. 3 , thecontroller 105 includes anaction agent 300 and alearning agent 310. Theaction agent 300 may be used to actuate the sorting actuator 120 (FIG. 1 ). Theaction agent 300 may include amemory 302, statisticalagent policy parameters 304 and aprocessor 306. Thememory 302 may be used to store the current and historical object data, input and output data, action history, etc. Theparameters 304 may include the sorting rules, parameters, etc. Theprocessor 306 may be used to compute the algorithms described above to implement the sorting rules, applying the loaded sorting rules or policies to the current state (e.g., the current object to be sorted). - In addition, the
learning agent 310 may include both the learning functions and context, as well as the ability to store and load the sorting rules. For example, thelearning agent 310 may include amemory 312, anoptional policy interface 314, aprocessor 316 and a statistical policy/history controller 318. Thememory 312 may include a larger store of historical data related to sorting of objects, similar to thememory 302 of theaction agent 300. Thepolicy interface 314 may include a variety of functions, including the ability to reset the system to the last known good state, begin learning, or save or load the sorting rules including sorting parameters. Theprocessor 316 may include the ability to find statistical patterns in the sorting history in order to set the best parameters for choosing actions that result in correct sorting of the objects. -
FIG. 4 depicts an example of operation of thesystem 100 ofFIG. 1 . Thesystem 100 atstep 402 performs actions and gets input from both a first and second sensor. Next, thesystem 100 atstep 404 categorizes the observation data of the object from both of the sensors, including information obtained before and after sorting. Next, thesystem 100 atstep 406 stores the last action, input data, and reward data in memory. Next, thesystem 100 atstep 408 sends the last N (e.g., 10) input data, actions and rewards to the controller for processing. Next, thesystem 100 atstep 410 decides programmatically on the next action. Finally, thesystem 100 atstep 412 waits for the time interval or tick (e.g., 100 milliseconds) to pass, and returns to thestart 401. As may also be seen, thesystem 100 at step 420 passes new observations to the algorithms. Next, thesystem 100 atstep 422 adjusts the policy, including the sorting rules. Finally, thesystem 100 atstep 424 informs the controller of the new sorting rules and policies. - In another aspect, the system may be trained in order to perform a specific application. One specific training sequence is as follows:
- First, start with a small amount (e.g., 100 pounds) of green glass that is broken and in various sizes, as would be found in the final mixture to be sorted. Next, pass the green glass through the system, operating in a command mode of “learn color that is the objective to be sorted” specifying that green glass is to be identified and classified.
- As the green glass passes through the system, the system may find the characteristics of the input color using color histogram to find HSV (hue-saturation-value) or RGB (red-green-blue) color boundaries. In a variation, size and color could be determined as the objective.
- Next, 100 pounds of other material, except green glass, that will be found in the final mixture to be sorted, may be passed through the system, operating in a command mode of “learn the color that is not the objective to be sorted.” Again, the system can then find the characteristics of the input color using color histogram to find HSV or RGB color boundaries to ignore or reject. And, similarly, in a variation, size and color could also be varied.
- Next, the mixed material may be filled in the hopper and the feeder may be started to start the mixed glass flow through the system. The system may be commanded to start the first input and second reward sensors or cameras, as well as the actuator. A user of the machine may observe periodically to see if the machine has learned, by monitoring the output bins.
- After such a trial run sequence has been performed, and has yielded material in good, sorted order, the full configuration may be saved by the system, for example to a non-volatile memory storage device such as a thumb drive. Now, the system may run as a normal, steady state operational system.
- Alternatively, subsequently the system may be transported and set up in a different location, and may be initialized using the saved configuration, e.g., by inserting the thumb drive and loading the preconfigured settings which include the historical data. Next, the hopper may be filled and the feeder, sensors, actuators, etc., may be started to sort the items.
- In another example, during steady state operation, troubleshooting steps may be used to automatically correct misfiring that is detected by the sensors (or by an operator). In such a case, if the misfiring takes place for greater than a predetermined time period, a bump command may be initiated, that can increase the propensity of the system to make adjustment to the current configuration and bring it to optimized state faster. If the bump command does not restore the system to an operational steady state within a specified time frame, then the system may automatically or manually be restarted.
- Aspects of the system and method for sorting objects, as described above, offer numerous advantages. For instance, the use of two or more sensors, which may be cameras, improves the technology of sorting by facilitating learning from experience. The use of multiple sensors of different types may also be used, for example by combining camera sensors with magnetic sensors. In such a manner. Also, sensors with different testing times may be used. For example, during the sorting process, there may be a sensor that is quick to give data on a specific object, but the post-sorting sensor may act in a more bulk manner to give an indication of the overall efficiency of the sorting. Because the system can be trained by feeding it material of different types (which it can then learn to differentiate), numerous other applications, beyond sorting recycling or goods are available. For instance, mail sorting, luggage handling at airports, factory assembly line monitoring, and other like applications can benefit from an overall system that uses multiple sensors and includes a learning algorithm as described herein.
- To the extent that the claims recite the phrase “at least one of” in reference to a plurality of elements, this is intended to mean at least one or more of the listed elements, and is not limited to at least one of each element. For example, “at least one of an element A, element B, and element C,” is intended to indicate element A alone, or element B alone, or element C alone, or any combination thereof. “At least one of element A, element B, and element C” is not intended to be limited to at least one of an element A, at least one of an element B, and at least one of an element C.
- This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to practice the invention, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal language of the claims.
- In view of the foregoing, embodiments of the invention sort objects, such as glass objects. A technical effect is to enable the separation of mixed items so that they can be separately processed. As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.), or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “service,” “circuit,” “circuitry,” “module,” and/or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code and/or executable instructions embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer (device), partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
Claims (15)
1. A system for sorting objects having different characteristics, the system comprising:
a first sensor for observing the objects, including observing first observed characteristics of the objects;
a sorting actuator for sorting the objects based on the first observed characteristics of the objects and using a policy matrix comprising sorting rules;
a second sensor for observing second observed characteristics of the sorted objects after the sorting by the sorting actuator; and
a controller comprising an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix, the controller being configured to
update, by the learning agent module, the policy matrix after sorting previously sorted objects, wherein the policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score,
actuate, by the action agent module, the sorting actuator to perform one or more actions to sort one or more objects of the objects using the policy matrix comprising the sorting rules and the state data for the previously sorted objects, wherein the sorting actuator sorts the one or more objects such that a resulting batch of objects has a different threshold amount of objects of the first observed characteristics relative to objects of the second observed characteristics,
calculate, by the learning agent module, after the sorting of the specific object by the sorting actuator, a specific sorting score based on the at least one specific action performed by the sorting actuator and a second observed characteristic of the specific sorted object of the objects, and
update, by the learning agent module after the sorting of the specific object by the sorting actuator, the policy matrix comprising the sorting rules to create an updated policy matrix including updated sorting rules, using the state data of the specific object, wherein the updated policy matrix including the updated sorting rules is used in sorting subsequent objects.
2. The system of claim 1 , wherein the first sensor and the second sensor is a single sensor.
3. The system of claim 1 , wherein the objects include selected objects having predetermined characteristics and the system learns the sorting rules by sorting the selected objects with the predetermined characteristics.
4. The system of claim 1 , wherein updating the sorting rules comprises incrementally changing the sorting rules to improve the scoring of the sorting.
5. The system of claim 1 , wherein the controller is configured to save or load the sorting rules.
6. The system of claim 1 , further comprising a free-fall section to allow the objects to fall past the sorting actuator.
7. The system of claim 1 , further comprising at least one background to facilitate sorting.
8. The system of claim 1 , wherein the first sensor and the second sensor are cameras.
9. The system of claim 1 , further comprising a third sensor for observing the sorting of the objects by the sorting actuator.
10. The system of claim 1 , further comprising a plurality of subsystems each for sorting a subset of the objects, each subsystem of the plurality of subsystems comprising one pre-sorting sensor, one sorting actuator and one post-sorting sensor, wherein one of the plurality of subsystems comprises the first sensor, the sorting actuator and the second sensor, wherein the usage of the plurality of subsystems facilitates parallel sorting of the objects.
11. The system of claim 1 , further comprising a conveyance for conveying at least some of the sorted objects to a second actuator for sorting the objects based on different observed characteristics of the objects using different sorting rules.
12. A system for sorting objects, the system comprising:
a sensor for observing the objects before and after sorting;
a sorting actuator for sorting the objects using a policy matrix comprising sorting rules;
a controller comprising an action agent module for controlling the sorting actuator and a learning agent module for updating the policy matrix;
wherein the controller is configured to:
update, by the learning agent module, the policy matrix after sorting previously sorted objects, wherein the policy matrix includes state data of the previously sorted objects including for each of the previously sorted objects the sensor data, an action performed by the sorting actuator, and a sorting score;
actuate, by the action agent module, the sorting actuator to perform a specific action to sort at least one specific object of the objects into two or more bins using the policy matrix comprising the sorting rules and the state data and observations of the previously sorted objects, wherein the sorting actuator sorts the one or more objects such that a resulting batch of objects has a different threshold amount of objects of the first observed characteristics relative to objects of the second observed characteristics;
calculate, by the learning agent module, after the sorting of the specific object by the sorting actuator, a specific sorting score based on the specific action performed by the sorting actuator and observations of the specific sorted object of the objects; and
update, by the learning agent module after the sorting of the specific object by the sorting actuator, the policy matrix comprising the sorting rules to create an updated policy matrix including updated sorting rules using the state data and observations of the objects before and after sorting and actions used to sort the objects, wherein the updated policy matrix includes the updated sorting rules and is used in sorting subsequent objects of the objects.
13. The system of claim 12 , wherein the controller is further configured to score the sorting and incrementally change the sorting parameters to improve the scoring of the sorting.
14. The system of claim 12 , wherein the controller is further configured to save the sorting rules.
15. The system of claim 12 , wherein the controller is further configured to load the sorting rules.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/585,206 US20220143654A1 (en) | 2017-10-30 | 2022-01-26 | System for sorting objects |
US18/587,375 US20240189866A1 (en) | 2017-10-30 | 2024-02-26 | System and method for sorting objects |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/797,613 US10512942B2 (en) | 2017-10-30 | 2017-10-30 | System and method for sorting objects |
US16/706,067 US11247244B2 (en) | 2017-10-30 | 2019-12-06 | System for sorting objects |
US17/585,206 US20220143654A1 (en) | 2017-10-30 | 2022-01-26 | System for sorting objects |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/706,067 Continuation US11247244B2 (en) | 2017-10-30 | 2019-12-06 | System for sorting objects |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/587,375 Continuation US20240189866A1 (en) | 2017-10-30 | 2024-02-26 | System and method for sorting objects |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220143654A1 true US20220143654A1 (en) | 2022-05-12 |
Family
ID=66245169
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/797,613 Active US10512942B2 (en) | 2017-10-30 | 2017-10-30 | System and method for sorting objects |
US16/706,067 Active 2038-03-18 US11247244B2 (en) | 2017-10-30 | 2019-12-06 | System for sorting objects |
US17/585,206 Abandoned US20220143654A1 (en) | 2017-10-30 | 2022-01-26 | System for sorting objects |
US18/587,375 Pending US20240189866A1 (en) | 2017-10-30 | 2024-02-26 | System and method for sorting objects |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/797,613 Active US10512942B2 (en) | 2017-10-30 | 2017-10-30 | System and method for sorting objects |
US16/706,067 Active 2038-03-18 US11247244B2 (en) | 2017-10-30 | 2019-12-06 | System for sorting objects |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/587,375 Pending US20240189866A1 (en) | 2017-10-30 | 2024-02-26 | System and method for sorting objects |
Country Status (4)
Country | Link |
---|---|
US (4) | US10512942B2 (en) |
EP (1) | EP3703876A4 (en) |
CA (1) | CA3081267A1 (en) |
WO (1) | WO2019089215A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10512942B2 (en) * | 2017-10-30 | 2019-12-24 | Optisort, Llc | System and method for sorting objects |
US11673166B2 (en) | 2018-03-14 | 2023-06-13 | Monsanto Technology Llc | Seed imaging |
KR20210016369A (en) * | 2018-06-11 | 2021-02-15 | 몬산토 테크놀로지 엘엘씨 | Seed selection |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3854586A (en) * | 1973-05-15 | 1974-12-17 | Amf Inc | Automatic grader for sorting objects according to brightness and color tones |
US5333739A (en) * | 1992-03-27 | 1994-08-02 | Bodenseewerk Geratechnik GmbH | Method and apparatus for sorting bulk material |
US5526437A (en) * | 1994-03-15 | 1996-06-11 | Key Technology, Inc. | Integrated food sorting and analysis apparatus |
US20040052402A1 (en) * | 2002-09-13 | 2004-03-18 | Gabriel Hamid | Quality assessment of product in bulk flow |
US7355140B1 (en) * | 2002-08-12 | 2008-04-08 | Ecullet | Method of and apparatus for multi-stage sorting of glass cullets |
US8406919B1 (en) * | 2010-03-12 | 2013-03-26 | Key Technology, Inc. | Quality regulating apparatus and method |
US9101963B2 (en) * | 2012-08-24 | 2015-08-11 | Polymetrix Ag | Device and method for sorting polymeric material |
US9996745B2 (en) * | 2012-11-19 | 2018-06-12 | Altria Client Services Llc | Blending of agricultural products via hyperspectral imaging and analysis |
US10512942B2 (en) * | 2017-10-30 | 2019-12-24 | Optisort, Llc | System and method for sorting objects |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5278768A (en) * | 1991-06-03 | 1994-01-11 | Esm International, Inc. | Autotrip operation of a sorting machine using color sorting |
US5318173A (en) | 1992-05-29 | 1994-06-07 | Simco/Ramic Corporation | Hole sorting system and method |
US5335293A (en) * | 1992-06-16 | 1994-08-02 | Key Technology, Inc. | Product inspection method and apparatus |
US5659624A (en) * | 1995-09-01 | 1997-08-19 | Fazzari; Rodney J. | High speed mass flow food sorting appartus for optically inspecting and sorting bulk food products |
JP3272606B2 (en) | 1996-07-25 | 2002-04-08 | 三菱重工業株式会社 | Glass cullet sorting device |
EP0968772A2 (en) | 1998-07-02 | 2000-01-05 | Satake Usa Inc. | A sorting machine |
US6144004A (en) | 1998-10-30 | 2000-11-07 | Magnetic Separation Systems, Inc. | Optical glass sorting machine and method |
US6431446B1 (en) * | 1999-07-28 | 2002-08-13 | Ncr Corporation | Produce recognition system and method |
US6512577B1 (en) * | 2000-03-13 | 2003-01-28 | Richard M. Ozanich | Apparatus and method for measuring and correlating characteristics of fruit with visible/near infra-red spectrum |
US20060081513A1 (en) | 2004-08-10 | 2006-04-20 | Kenny Garry R | Sorting recycle materials with automatically adjustable separator using upstream feedback |
DE102005003406B4 (en) | 2005-01-21 | 2015-02-26 | Schott Ag | Process and apparatus for recycling glass ceramics |
WO2007112591A1 (en) * | 2006-04-04 | 2007-10-11 | 6511660 Canada Inc. | System and method for identifying and sorting material |
BE1017422A3 (en) | 2006-12-08 | 2008-09-02 | Visys Nv | Product e.g. raisins, sorting method, involves capturing light reflected by products in product stream, and automatically separating products from product stream based on captured light |
GB2471886A (en) * | 2009-07-16 | 2011-01-19 | Buhler Sortex Ltd | Inspection apparatus |
KR20110082878A (en) | 2010-01-12 | 2011-07-20 | 주식회사 오피에스이앤씨 | Sorting method for re-using bottle |
NL2005216C2 (en) * | 2010-08-11 | 2012-02-20 | Optiserve B V | SORTING DEVICE AND METHOD FOR SEPARATING PRODUCTS IN A BULK FLOW OF NON-HOMOGENIC PRODUCTS. |
WO2013145873A1 (en) * | 2012-03-27 | 2013-10-03 | 株式会社サタケ | Optical type granule sorting machine |
US9475652B2 (en) * | 2013-06-06 | 2016-10-25 | Wheel Recoverey Systems, LLC | Core wheel processing system and method |
US9989463B2 (en) * | 2013-07-02 | 2018-06-05 | Canon Kabushiki Kaisha | Material classification |
US9082071B2 (en) | 2013-11-26 | 2015-07-14 | Canon Kabushiki Kaisha | Material classification using object/material interdependence with feedback |
WO2019177176A1 (en) * | 2018-03-16 | 2019-09-19 | Jx金属株式会社 | Method for processing electronic and electrical device component scrap |
-
2017
- 2017-10-30 US US15/797,613 patent/US10512942B2/en active Active
-
2018
- 2018-10-15 WO PCT/US2018/055803 patent/WO2019089215A1/en unknown
- 2018-10-15 CA CA3081267A patent/CA3081267A1/en active Pending
- 2018-10-15 EP EP18872161.7A patent/EP3703876A4/en active Pending
-
2019
- 2019-12-06 US US16/706,067 patent/US11247244B2/en active Active
-
2022
- 2022-01-26 US US17/585,206 patent/US20220143654A1/en not_active Abandoned
-
2024
- 2024-02-26 US US18/587,375 patent/US20240189866A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3854586A (en) * | 1973-05-15 | 1974-12-17 | Amf Inc | Automatic grader for sorting objects according to brightness and color tones |
US5333739A (en) * | 1992-03-27 | 1994-08-02 | Bodenseewerk Geratechnik GmbH | Method and apparatus for sorting bulk material |
US5526437A (en) * | 1994-03-15 | 1996-06-11 | Key Technology, Inc. | Integrated food sorting and analysis apparatus |
US7355140B1 (en) * | 2002-08-12 | 2008-04-08 | Ecullet | Method of and apparatus for multi-stage sorting of glass cullets |
US20040052402A1 (en) * | 2002-09-13 | 2004-03-18 | Gabriel Hamid | Quality assessment of product in bulk flow |
US8406919B1 (en) * | 2010-03-12 | 2013-03-26 | Key Technology, Inc. | Quality regulating apparatus and method |
US9101963B2 (en) * | 2012-08-24 | 2015-08-11 | Polymetrix Ag | Device and method for sorting polymeric material |
US9996745B2 (en) * | 2012-11-19 | 2018-06-12 | Altria Client Services Llc | Blending of agricultural products via hyperspectral imaging and analysis |
US10512942B2 (en) * | 2017-10-30 | 2019-12-24 | Optisort, Llc | System and method for sorting objects |
US11247244B2 (en) * | 2017-10-30 | 2022-02-15 | Optisort, Llc | System for sorting objects |
Also Published As
Publication number | Publication date |
---|---|
US20240189866A1 (en) | 2024-06-13 |
CA3081267A1 (en) | 2019-05-09 |
US20190126325A1 (en) | 2019-05-02 |
WO2019089215A1 (en) | 2019-05-09 |
US11247244B2 (en) | 2022-02-15 |
US10512942B2 (en) | 2019-12-24 |
US20200108416A1 (en) | 2020-04-09 |
EP3703876A1 (en) | 2020-09-09 |
EP3703876A4 (en) | 2021-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220143654A1 (en) | System for sorting objects | |
CN110322510A (en) | A kind of 6D position and orientation estimation method using profile information | |
CN112388627A (en) | Method and system for executing tasks in dynamic heterogeneous robot environment | |
CN106672345B (en) | A kind of method and system of industrial robot automatic sorting | |
Timmermans | Computer vision system for on-line sorting of pot plants based on learning techniques | |
Denhof et al. | Automatic optical surface inspection of wind turbine rotor blades using convolutional neural networks | |
US20220248616A1 (en) | Irrigation control with deep reinforcement learning and smart scheduling | |
CN107832780A (en) | Low confidence sample processing method and system are sorted based on artificial intelligence plank | |
Khort et al. | Computer vision system for recognizing the coordinates location and ripeness of strawberries | |
JP2019098419A (en) | Machine learning method for learning extraction operation of powder, grain or fluid, and robot machine learning control device | |
Dairath et al. | Computer vision-based prototype robotic picking cum grading system for fruits | |
Muravyova | Development of intellectual complex for adaptive control of microclimate parameters of flour storage processes | |
Istiadi et al. | Model design of tomato sorting machine based on artificial neural network method using node MCU Version 1.0 | |
Hajjar et al. | Modeling and analysis of aggregate production operations | |
Yang et al. | Optimizing control of coal flotation by neuro-immune algorithm | |
Abu et al. | Simulation of soil PH Control system using fuzzy logic Method | |
CN114637206B (en) | Weight control method based on dual-cluster self-adaptive fuzzy neural network | |
Arief et al. | Modeling of control system on sorting palm fruit machine by using arduino microcontroller | |
Amani et al. | A novel technology to monitor effects of ethylene on the food products’ supply chain: a deep learning approach | |
US11059171B2 (en) | Method and apparatus for optimizing a target working line | |
US20190087711A1 (en) | Intelligent, adaptive control system and related methods for integrated processing of biomass | |
CN115087995A (en) | Transfer learning method for specific production process of industrial workshop | |
Angelov et al. | Evolving rules-based control | |
Tsoi et al. | Fruit conveyor prototype based on ball and beam system | |
Sanderson | Intelligent robotic recycling of flat panel displays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: OPTISORT, LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TANDON, PARAG;REEL/FRAME:060067/0544 Effective date: 20171117 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |