WO2024263647A1 - Modular models - Google Patents
Modular models Download PDFInfo
- Publication number
- WO2024263647A1 WO2024263647A1 PCT/US2024/034628 US2024034628W WO2024263647A1 WO 2024263647 A1 WO2024263647 A1 WO 2024263647A1 US 2024034628 W US2024034628 W US 2024034628W WO 2024263647 A1 WO2024263647 A1 WO 2024263647A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- data
- processing system
- data processing
- product
- Prior art date
Links
- 239000000463 material Substances 0.000 claims abstract description 144
- 238000012545 processing Methods 0.000 claims abstract description 123
- 230000003595 spectral effect Effects 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000001228 spectrum Methods 0.000 claims abstract description 17
- 230000003993 interaction Effects 0.000 claims abstract description 8
- 238000004519 manufacturing process Methods 0.000 claims description 91
- 239000007788 liquid Substances 0.000 claims description 28
- 239000004615 ingredient Substances 0.000 claims description 25
- 238000003860 storage Methods 0.000 claims description 21
- 239000000126 substance Substances 0.000 claims description 12
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 claims description 11
- 229910052760 oxygen Inorganic materials 0.000 claims description 11
- 239000001301 oxygen Substances 0.000 claims description 11
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 238000009533 lab test Methods 0.000 claims description 7
- 238000004945 emulsification Methods 0.000 claims description 5
- 238000005259 measurement Methods 0.000 description 70
- 230000008569 process Effects 0.000 description 24
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Chemical compound O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 22
- 238000013507 mapping Methods 0.000 description 20
- 239000012530 fluid Substances 0.000 description 18
- 235000015243 ice cream Nutrition 0.000 description 14
- 238000012549 training Methods 0.000 description 14
- 238000004140 cleaning Methods 0.000 description 13
- 239000000203 mixture Substances 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000000855 fermentation Methods 0.000 description 10
- 230000004151 fermentation Effects 0.000 description 10
- 235000019219 chocolate Nutrition 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 239000003921 oil Substances 0.000 description 8
- 235000019198 oils Nutrition 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 239000003925 fat Substances 0.000 description 7
- 235000000346 sugar Nutrition 0.000 description 7
- 239000002245 particle Substances 0.000 description 6
- 238000005406 washing Methods 0.000 description 6
- 102000004190 Enzymes Human genes 0.000 description 5
- 108090000790 Enzymes Proteins 0.000 description 5
- 230000000670 limiting effect Effects 0.000 description 5
- 230000000813 microbial effect Effects 0.000 description 5
- 239000012071 phase Substances 0.000 description 5
- 102000004169 proteins and genes Human genes 0.000 description 5
- 108090000623 proteins and genes Proteins 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 5
- 239000002351 wastewater Substances 0.000 description 5
- IJGRMHOSHXDMSA-UHFFFAOYSA-N Atomic nitrogen Chemical compound N#N IJGRMHOSHXDMSA-UHFFFAOYSA-N 0.000 description 4
- 239000004480 active ingredient Substances 0.000 description 4
- 229910052782 aluminium Inorganic materials 0.000 description 4
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 4
- 235000013305 food Nutrition 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000002156 mixing Methods 0.000 description 4
- 238000003908 quality control method Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 244000290333 Vanilla fragrans Species 0.000 description 3
- 235000009499 Vanilla fragrans Nutrition 0.000 description 3
- 235000012036 Vanilla tahitensis Nutrition 0.000 description 3
- 239000002253 acid Substances 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000013098 chemical test method Methods 0.000 description 3
- 238000011109 contamination Methods 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 229910052751 metal Inorganic materials 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000011282 treatment Methods 0.000 description 3
- QGZKDVFQNNGYKY-UHFFFAOYSA-N Ammonia Chemical compound N QGZKDVFQNNGYKY-UHFFFAOYSA-N 0.000 description 2
- 241000894006 Bacteria Species 0.000 description 2
- 239000002028 Biomass Substances 0.000 description 2
- 240000004808 Saccharomyces cerevisiae Species 0.000 description 2
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 2
- 238000002835 absorbance Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 235000013405 beer Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 239000000356 contaminant Substances 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 239000006071 cream Substances 0.000 description 2
- 235000013365 dairy product Nutrition 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 229910000398 iron phosphate Inorganic materials 0.000 description 2
- WBJZTOZJJYAKHQ-UHFFFAOYSA-K iron(3+) phosphate Chemical compound [Fe+3].[O-]P([O-])([O-])=O WBJZTOZJJYAKHQ-UHFFFAOYSA-K 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 235000010746 mayonnaise Nutrition 0.000 description 2
- 239000008268 mayonnaise Substances 0.000 description 2
- 150000002739 metals Chemical class 0.000 description 2
- 230000002906 microbiologic effect Effects 0.000 description 2
- 235000013336 milk Nutrition 0.000 description 2
- 239000008267 milk Substances 0.000 description 2
- 210000004080 milk Anatomy 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 229910052757 nitrogen Inorganic materials 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000000843 powder Substances 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 239000000344 soap Substances 0.000 description 2
- 235000013555 soy sauce Nutrition 0.000 description 2
- 238000004611 spectroscopical analysis Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000032258 transport Effects 0.000 description 2
- 235000013618 yogurt Nutrition 0.000 description 2
- OYPRJOBELJOOCE-UHFFFAOYSA-N Calcium Chemical compound [Ca] OYPRJOBELJOOCE-UHFFFAOYSA-N 0.000 description 1
- 238000001712 DNA sequencing Methods 0.000 description 1
- 235000016623 Fragaria vesca Nutrition 0.000 description 1
- 240000009088 Fragaria x ananassa Species 0.000 description 1
- 235000011363 Fragaria x ananassa Nutrition 0.000 description 1
- 235000010469 Glycine max Nutrition 0.000 description 1
- 244000068988 Glycine max Species 0.000 description 1
- DGAQECJNVWCQMB-PUAWFVPOSA-M Ilexoside XXIX Chemical compound C[C@@H]1CC[C@@]2(CC[C@@]3(C(=CC[C@H]4[C@]3(CC[C@@H]5[C@@]4(CC[C@@H](C5(C)C)OS(=O)(=O)[O-])C)C)[C@@H]2[C@]1(C)O)C)C(=O)O[C@H]6[C@@H]([C@H]([C@@H]([C@H](O6)CO)O)O)O.[Na+] DGAQECJNVWCQMB-PUAWFVPOSA-M 0.000 description 1
- 239000005909 Kieselgur Substances 0.000 description 1
- FYYHWMGAXLPEAU-UHFFFAOYSA-N Magnesium Chemical compound [Mg] FYYHWMGAXLPEAU-UHFFFAOYSA-N 0.000 description 1
- SLFHWLMXLIRLPS-DFWYDOINSA-N N[C@@H](CCC(N)=O)C(=O)O.[Na] Chemical compound N[C@@H](CCC(N)=O)C(=O)O.[Na] SLFHWLMXLIRLPS-DFWYDOINSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000932075 Priacanthus hamrur Species 0.000 description 1
- 238000003559 RNA-seq method Methods 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 150000007513 acids Chemical class 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 239000013566 allergen Substances 0.000 description 1
- ZOJBYZNEUISWFT-UHFFFAOYSA-N allyl isothiocyanate Chemical compound C=CCN=C=S ZOJBYZNEUISWFT-UHFFFAOYSA-N 0.000 description 1
- 229910021529 ammonia Inorganic materials 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 239000011575 calcium Substances 0.000 description 1
- 229910052791 calcium Inorganic materials 0.000 description 1
- 239000003518 caustics Substances 0.000 description 1
- 235000013351 cheese Nutrition 0.000 description 1
- 238000007705 chemical test Methods 0.000 description 1
- 230000003749 cleanliness Effects 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 235000016213 coffee Nutrition 0.000 description 1
- 235000013353 coffee beverage Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 235000013409 condiments Nutrition 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000018044 dehydration Effects 0.000 description 1
- 238000006297 dehydration reaction Methods 0.000 description 1
- 235000021185 dessert Nutrition 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000003599 detergent Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000015897 energy drink Nutrition 0.000 description 1
- 238000006911 enzymatic reaction Methods 0.000 description 1
- 238000010799 enzyme reaction rate Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000499 gel Substances 0.000 description 1
- -1 greases Substances 0.000 description 1
- 238000001566 impedance spectroscopy Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 235000008960 ketchup Nutrition 0.000 description 1
- 239000011133 lead Substances 0.000 description 1
- 150000002632 lipids Chemical class 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007791 liquid phase Substances 0.000 description 1
- 239000000314 lubricant Substances 0.000 description 1
- 239000011777 magnesium Substances 0.000 description 1
- 229910052749 magnesium Inorganic materials 0.000 description 1
- 230000003340 mental effect Effects 0.000 description 1
- 239000002324 mouth wash Substances 0.000 description 1
- 229940051866 mouthwash Drugs 0.000 description 1
- 235000008390 olive oil Nutrition 0.000 description 1
- 239000004006 olive oil Substances 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 238000001139 pH measurement Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000000825 pharmaceutical preparation Substances 0.000 description 1
- 229940127557 pharmaceutical product Drugs 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 229920003023 plastic Polymers 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 239000008213 purified water Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005070 ripening Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000002453 shampoo Substances 0.000 description 1
- 239000011734 sodium Substances 0.000 description 1
- 229910052708 sodium Inorganic materials 0.000 description 1
- 235000014214 soft drink Nutrition 0.000 description 1
- 239000011343 solid material Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 150000008163 sugars Chemical class 0.000 description 1
- 239000004094 surface-active agent Substances 0.000 description 1
- 229940034610 toothpaste Drugs 0.000 description 1
- 239000000606 toothpaste Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 235000015112 vegetable and seed oil Nutrition 0.000 description 1
- 239000008158 vegetable oil Substances 0.000 description 1
- 239000003981 vehicle Substances 0.000 description 1
- 238000009423 ventilation Methods 0.000 description 1
- 239000011782 vitamin Substances 0.000 description 1
- 229940088594 vitamin Drugs 0.000 description 1
- 229930003231 vitamin Natural products 0.000 description 1
- 235000013343 vitamin Nutrition 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/85—Investigating moving fluids or granular solids
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/17—Systems in which incident light is modified in accordance with the properties of the material investigated
- G01N21/25—Colour; Spectral properties, i.e. comparison of effect of material on the light at two or more different wavelengths or wavelength bands
- G01N21/31—Investigating relative effect of material at wavelengths characteristic of specific elements or molecules, e.g. atomic absorption spectrometry
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N2021/8411—Application to online plant, process monitoring
- G01N2021/8416—Application to online plant, process monitoring and process controlling, not otherwise provided for
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/94—Investigating contamination, e.g. dust
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N2201/00—Features of devices classified in G01N21/00
- G01N2201/06—Illumination; Optics
- G01N2201/062—LED's
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N2201/00—Features of devices classified in G01N21/00
- G01N2201/12—Circuits of general importance; Signal processing
- G01N2201/129—Using chemometrical methods
- G01N2201/1296—Using chemometrical methods using neural networks
Definitions
- a production system can produce a product.
- the product can be a liquid, gel, or solid material.
- At least one aspect of the present disclosure is directed to a system.
- the system can include a data processing system including one or more processors, coupled with memory, to receive a request to determine a material or a parameter of the material.
- the one or more processors can build a model to determine the material or the parameter based on spectral data of a sensor such as a spectral sensor, the data such as spectral data indicating interactions of the material with light across a spectrum of wavelengths.
- the one or more processors can deploy the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
- At least one aspect of the present disclosure is a method.
- the method can include receiving, a data processing system comprising one or more processors, coupled with memory, a request to determine a material or a parameter of the material.
- the method can include building, the data processing system, a model to determine the material or the parameter based on spectral data of a sensor such as a spectral sensor, the data such as spectral data indicating interactions of the material with light across a spectrum of wavelengths.
- the method can include deploying, by the data processing system, the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
- At least one aspect of the present disclosure is directed to one or more storage media storing instructions thereon, that, when executed by one or more processors, cause the one or more processors to perform operations.
- the operations can include receiving a request to determine a material or a parameter of the material.
- the operations can include building a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths.
- the operations can include deploying the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
- FIG. 1 is an example system to determine a material or parameter of a liquid with spectral modeling.
- FIG. 2 is an example system of determining a complex parameter from a product classification and a product concentration.
- FIG. 3 is an example graphical user interface including results of spectral modeling.
- FIG. 4 is an example method of spectral modeling.
- FIG. 5 is an example data processing system.
- a system may need to be able to measure various parameters of a fluid in a production system.
- the production system can produce a food product, a chemical, an oil, a cleaning product, a hygiene product, a pharmaceutical product, etc.
- HVAC heating ventilation or air conditioning system
- engine e.g., that includes lubricant or hydraulic fluid
- vessel e.g., a vessel, or a material container.
- material container e.g., a conventional sensor deployed at the production system.
- COD chemical oxygen demand
- BOD biological oxygen demand
- COD chemical oxygen demand
- BOD biological oxygen demand
- a grab sample of the liquid can be obtained, transferred to a laboratory, and then tested for COD or BOD levels.
- This testing time can be long, e.g., three to five days, and may not be usable to make operating decisions for the production system in real-time or near real-time.
- BOD levels a sample may need to be fed to bacteria and monitored over a five-day period.
- optical sensors can be deployed at the production system to measure how a material, compound, or molecule interacts with light (e.g., reflects light, absorbs light, scatters light, etc.). With these measurements, materials or parameters of the liquid can be detected. However, some materials may only interact with light of particular wavelengths. Therefore, the optical sensors can measure only light wavelengths (e.g., one or two wavelengths) needed to measure a particular material, e.g., a COD sensor can measure a wavelength (e.g., 254 nanometers (nm)) to detect COD, a sugar sensor can measure a wavelength to detect sugar concentration, an oil sensor can measure a wavelength to detect oil concentration. This can result in numerous different types of sensors being deployed in a manufacturing environment. Furthermore, because the sensors may only measure a single wavelength, different samples or materials can have different optical characteristics at that wavelength and can cause noise and inaccuracy in the readings of that wavelength.
- a system can use an optical, spectroscopy, or spectral sensor that measures a range of wavelengths and uses at least one model to detect materials or parameters in the liquid based on the measured wavelengths.
- the sensor can include at least one polychromatic or monochromatic light source.
- the spectral sensor can measure how a material interacts with light (e.g., reflects light, absorbs light, scatters light, etc.) across a spectrum of wavelengths. Because the spectral sensor can measure a spectrum of wavelengths, only a single sensor may be needed to detect and measure multiple different materials or parameters.
- the spectrum of wavelengths measured or captured by the spectral sensor can provide a fingerprint of a sample that can be broadband (e.g., multiple wavelengths, a set of wavelengths, a spectrum of wavelengths). Because different materials or products absorb, reflect, or scatter light differently, a system can use the amount of light absorbed, reflected, or scattered across the wavelengths to identify a material or product, determine a concentration of the material or product, determine whether the material or product meets a specification (e.g., level of mixture, level of emulsification, particular color, particular ingredient concentration, particle size, etc.).
- a specification e.g., level of mixture, level of emulsification, particular color, particular ingredient concentration, particle size, etc.
- At least one model or classifier can receive spectral data as an input, and output a product classification, a material classification, an ingredient classification, an ingredient concentration, a material concentration, a COD level, or a BOD level.
- the model can be designed to identify a material or parameter based on the spectral fingerprint provided by the spectral sensor.
- the model can directly determine the material or parameter from the spectral data.
- the model can indirectly determine the material or parameter.
- the system can receive, store, or maintain data in a database that indicates the complex parameter for a particular product and product concentration that the spectral sensor is measuring.
- a laboratory test can be run on a material or product at a full concentration to determine the complex parameter for the full concentration.
- the data of the database can be used to build a mapping, model, relationship, or function that indicates complex parameter levels for at least one product at a variety of concentrations by scaling the complex parameter for the full concentration to other concentration levels.
- the system can use the spectral measurements to classify a product and determine a concentration level of the product.
- the system can use any type of input data, including, but not limited to spectral measurements.
- the system can utilize existing or 3 rd party sensors.
- the system can classify the product with a first model based on the spectral data, and determine the concentration level of the product via a second model based on the spectral data and the classification. With the classified product and the identified concentration, the system can use the map to determine a corresponding complex parameter level.
- This complex parameter level can be an estimate of the complex parameter of a fluid being measured by the spectral sensor, the complex parameter determined in real-time or near real-time, e.g., within hours or within minutes or less.
- This indirect measuring of the complex parameter can provide an efficient and rapid means of understanding the complex parameter of a fluid, especially off a production line where a material or product going through is of a single type or a select few types at a time compared to using grab samples and laboratory testing.
- the system can collect data on production or upstream lines of a production system, and share the collected data or measured materials or parameters with systems, software modules, or sensors that measure downstream materials or parameters (e.g., waste line treatment).
- the measurements of materials or parameters from the upstream lines can be used to determine measurements or parameters for downstream lines by modeling the length of time it takes the material to move from the upstream line to the downstream line or by modeling the processes applied to the materials.
- the waste off the production lines flow can therefore be accurately measured or sensed for proactive treatments.
- the system 100 can include at least one production system 105.
- the production system 105 can be a system to manufacture or produce a product, such as a food product.
- the production system 105 can manufacture or produce a food, a drink, or any other substance.
- the production system 105 can manufacture a condiment (e.g., ketchup, mayonnaise, vegetable oil, olive oil, mustard), a dessert (e.g., ice cream, sherbet, yogurt), a food (e.g., yogurt, cream cheese, soy sauce, powders), a drink (e.g., a soft drink, a cola, wine, beer, liquor, an energy drink, vitamins, coffee, purified water, milk), a chemical, an ingredient, an oil, a pharmaceutical, a cleaning product, a hygiene product (e.g., a shampoo, a toothpaste, a soap, a mouth wash).
- a condiment e.g., ketchup, mayonnaise, vegetable oil, olive oil, mustard
- a dessert e.g., ice cream, sherbet, yogurt
- a food e.g., yogurt, cream cheese, soy sauce, powders
- a drink e.g., a soft drink, a cola, wine, beer,
- the product can be a solid, e.g., a pharmaceutical, and the gateway 125 can determine whether the pharmaceutical is original or a counterfeit.
- the product can be a gas and the gateway 125 can determine an amount of misting of the gas.
- the product can be a powder.
- the product can be a liquid, a solid, a gel, a semi-liquid, or any other composition.
- the production system 105 can receive one or multiple ingredients, mix the ingredients, emulsify the ingredients, cook the ingredients, cool the ingredients, boil the ingredients, or perform a variety of other production steps to produce the product.
- the production system 105 can include, but is not limited to, mixing equipment, heating equipment, cooling equipment, tanks, reactors, or presses.
- the production system 105 can include at least one line, tank, basin, or fluid holding apparatus 110.
- the line 110 can be a conduit, pipe, cavity, tank, canal, or other area carrying a liquid, such as the product, ingredients to make the product.
- the apparatus 110 can be a line which moves liquid, or can by any other apparatus that holds a liquid.
- the line 110 can be a line carrying liquids into the production system 105 or carrying liquids out of the production system 105.
- the line 110 can carry waste product out of the production system 105 to be disposed.
- the product or material of the line 110 can be at least partially mixed or suspended in water or non-water material (e.g., a cleaning product, a sanitizer, a product transfer).
- a sensor 115 such as a spectral sensor, can be disposed or submerged at least partially in a fluid within the line, tank, or fluid holding apparatus 110.
- the sensor 115 can be dropped into a tank of the production system 105 and at least partially submerged within a liquid of the tank.
- the system 100 can be applied to a non-production system, e.g., a vehicle or apparatus that carries, moves, or transports a product.
- the system 100 can be implemented for a truck that carries a product such as a tanker truck, a rail car, a transport vessel, a container, a mixing truck, etc.
- the system 100 can be implemented at a water treatment plant, in a cleaning fdter, etc.
- the system 100 can include at least one sensor 115.
- the sensor 115 can be an optical or light sensor.
- the sensor 115 can be a broadband spectral sensor.
- the sensor 115 can be an optical, spectroscopy, or spectral sensor that measures a range of wavelengths.
- the sensor 115 can include a light source that produces light which a sensor of the spectral sensor 115 can measure after it interacts with a material.
- the light source can be a monochromatic light source.
- the light source can be a polychromatic light source that emits many wavelengths of light to obtain a spectrum of wavelengths.
- the sensor 115 can measure how a material interacts with light (e.g., reflects light, absorbs light, scatters light, etc.) across a spectrum of wavelengths.
- the spectrum of wavelengths can include visible, ultraviolet (UV), and infrared (IR) wavelengths.
- the wavelengths can be 395 nm to 955 nm.
- the wavelengths can be less than 395 nm.
- the wavelengths can be greater than 955 nm.
- the wavelengths can be 200 nm to 1000 nm.
- the wavelengths can be 1000 nm to 3000 nm or greater.
- the sensor 115 can include a light source, such as one or multiple light emitting diodes (LEDs) that generate the light that is reflected, absorbed, or scattered by the liquid of the line 110 and measured by the sensor 115.
- LEDs light emitting diodes
- the sensor 115 can be any type of sensor, such as a camera, a flow sensor, an impedance sensor for impedance spectroscopy, a temperature sensor, a pH sensor, a conductivity sensor, a pressure sensor, a genetic sequencing apparatus for rapid nanopore genetic RNA or DNA sequencing, a viscosity sensor, etc.
- the impedance spectral sensor 115 can have frequency ranges from 1 Hz to 100 Hz, 1 Hz to 1 MHz, 1 Hz to 10 MHz, 100 Hz to 1 MHz, 100 Hz to 10 MHz, 1 MHz to 5 MHz, 1 MHz to 10 MHz, etc.
- the data received and operated on by the gateway 125 can be process data, e.g., control data of the controller 165 indicating which process of the production system 105 is running, is starting, will be starting, etc.
- the gateway 125 can combine measurements of multiple different sensors to infer or determine a measurement, e.g., combine measurements of a first and second sensor to infer a condition, such as viscosity.
- the sensor 115 can generate or take a data measurement 120, such as a spectral measurement, of a fluid in the line 110, and provide the data measurement 120 to a gateway 125.
- the data measurement 120 can be at least one signal, data, dataset, at least one data frame, or at least one data packet.
- the data measurement 120 can indicate a level of reflectance, absorbance, or scattering for wavelengths across the spectrum at a particular resolution. For example, the resolution could be every nm, every half nm, every picometer (pm).
- the sensor 115 can transmit or communicate the data measurement 120 to the gateway 125 via at least one network, cable, or communication medium.
- the gateway 125 can be an apparatus, device, or system that receives the data measurements 120 from the sensor 115.
- the gateway 125 can be any computing system, e.g., a desktop computer or server within a factory connected to a factory network.
- the gateway 125 can be outside a factory or facility or on the cloud (e.g., the server system 170).
- the computer or server can install software to run components of the gateway 125 or spin up a virtual machine (VM) or container that can run the code or instructions of the gateway 125 in order to run the models of the gateway 125.
- the gateway 125 is integrated with the sensor 115.
- the sensor 115 can include a computer, microprocessor, or other system that can run the instructions of the data processing system 130.
- the gateway 125 can be a system located on-premises within an environment where the production system 105 is located (e.g., within the same building or room, or nearby building or room where the production system 105 is located).
- the gateway 125 can include at least one data processing system 130.
- the data processing system 130 can include one or multiple processors that execute instructions stored on one or multiple memory device or storage medium.
- the data processing system 130 can store and execute at least one direct model 135, at least one indirect model 140, and at least one interface manager 145.
- the direct model 135, the indirect model 140, and the interface manager 145 can be or include scripts, code, executables, instructions, data structures, data files, modules, circuits, or hardware.
- the gateway 125 may not include the user interface 155 or interface manager 145.
- the gateway 125 can generate or transmit the control commands 160 with or without displaying information on the user interface 155.
- the graphical user interface 150 can be a software application run on a computer or mobile device, the graphical user interface 150 can be a software application, a web page, a web application, or other interface.
- the gateway 125 can transmit text messages, generate application notifications, place phone calls, or transmit emails instead of, or in addition to, displaying the graphical user interface 150 on the user interface 155.
- the gateway 125 can generate a sound or illuminate a light indicating a condition (e.g., that a wash cycle has completed, that a changeover has completed, etc.). For example, the gateway 125 can generate a notification of what process to perform next, or if a process is complete. For example, if the gateway 125 is deployed in a facility that does not have a controller to send control commands, the gateway 125 can generate a notification for an operator to manually start a process, stop a process, press a button, hit a switch, etc.
- the models executed by the data processing system 130 can output the control command 160 directly, e.g., a Boolean result, a control setting, a command to start a next process, stop a current process, etc.
- the models 140 or 135 executed by the data processing system 130 can output data or values 160 that inform a control, e.g., quality value of a material, amount of contaminant in wash water, amount of a type of material in the system, contaminant concentration, COD or BOD values, etc.
- the direct model can be used to determine protein concentration, diatomaceous earth or kieselguhr concentration.
- the data processing system 130 can execute at least one direct model 135.
- the direct model 135 can receive the data measurements 120 as an input, and output data to the interface manager 145.
- the direct model 135 can identify or classify a product type, identify or classify a material type, identify a product concentration, identify a material concentration, identify a color of a material, identify a color of a product, identify a level of emulsification, identify a level of mixture, identify an ingredient (e.g., sugar, cream, milk, water), identify an ingredient concentration, identify a molecule in the fluid, identify whether the fluid is pure water, measure the purity of water, detect a state or phase of the production system 105 (e.g., a transition between producing different products, a cleaning cycle, or a startup cycle) based on the data measurement 120.
- a state or phase of the production system 105 e.g., a transition between producing different products, a cleaning cycle, or a startup cycle
- Concentration can be parts per million (PPM), percentage water, or percentage material.
- the direct model 135 can classify a product being manufactured by the production system 105, and determine a concentration of the product with at least one direct model 135 as the product flows through the line 110.
- the direct model 135 can indicate a complex parameter, such as BOD or COD.
- the direct model 135 can be a machine learning model, such as a type of neural network, regression, decision tree, ladder logic, threshold comparison.
- the data processing system 130 can run one or multiple direct models 135 together, in parallel, or sequentially.
- the data processing system 130 can run a first model that identifies a first material, a second model that identifies a second material, a third model that identifies a third material, in parallel or serially.
- the direct models 135 can identify one product flowing through the line 110 (e.g., in isolation or in water) or multiple products simultaneously flowing through the line 110.
- the data processing system 130 can execute models with data from one single sensor 115, or multiple different sensors 115 (e.g., each model can execute with input measurements of a different sensor 115).
- the multiple sensors 115 can be of the same type or different types or a combination of types such as spectral, temperature, conductivity, flow, pH, impedance, etc.
- the model 140 or 135 that executes on the sensor data can execute on just spectral sensor data, or sensor data of another type, or a combination of sensor data types.
- the data processing system 130 can use the data from the sensors to determine a result or output.
- the data processing system 130 can execute on process data, control data, and/or data a user enters via the user interface 155, etc.
- the data processing system 130 can compare upstream data of the production system 105 with downstream data of various sensors to determine if a product is within a specification or out of specification.
- multiple sensor data 120 can be used in a model 135 or 140 for cleaning optimization.
- spectral, temperature, flow, conductivity, process, controls data can be fed into a model 135 or 140 for determining if a cleaning step is complete or ready to advance forward to a next step of a cleaning process (e.g., from a water cleaning step, to a chemical cleaning step, to another water cleaning step).
- multiple sensor data 120 types can be used for startup optimization, where spectral, pressure, flow, process, and controls data can be fed into a model 135 or 140 to determine if a product is ready be used.
- the models 135 and the indirect model system 140 can all run on the same data measurements 120, only the sensor 115 may need to be deployed to measure or estimate multiple different materials or parameters of liquid in the line 110. Furthermore, if the production system 105 changes from producing a first product to a second product, the data processing system 130 can execute models 135 for products that the data processing system 130 receives an indication, detects, or determines are produced by the production system 105. The data processing system 130 can execute models 135 to determine when a process such as fermentation is complete. The data processing system 130 can generate a control command 160 indicating that fermentation is complete, and the production system 105 should stop a fermentation process. If the production system 105 sets the fermentation to be a predefined length of time (e.g., based on a timer), the fermentation may run longer or shorter than necessary. These techniques can be applied to processes like blending, mixing, reactions, aging, etc.
- the controller 165 of the production system 105 can run a timer to indicate a set time to run fermentation. However, in the middle or during the set time, the data processing system 130 determines that the fermentation is complete based on the data measurements 120, the data processing system 130 can generate the control command 160 to cause the controller 165 to exit the fermentation process early. This can decrease production time, ensure product quality assurance/quality control (QA/QC), and reduce power or energy needs of the production system 105.
- QA/QC product quality assurance/quality control
- the models 135 or 140 can detect microbiological presence, or predict microbiological growth in the production system 105. For example, the models 135 or 140 can predict fouling that can be caused by biological growth, or predict the growth or presence of biofilms. The model 135 or 140 can predict microbial growth and identify for microbial contamination. The models 135 or 140 can further detect or predict leaks, filtration issues, or control issues of the production system 105. For example, the models 135 or 140 can be implemented for QC or QA processes, e.g., determine that a batch of a product is being produced correctly.
- the models 135 or 140 can detect iron phosphate levels of coatings or other materials, such as a spray material, to determine how much iron phosphate is in the material. Similarly, the models 135 or 140 can determine a level or the activity of an active ingredient, e.g., sugar caramelizing, to determine how well heat treated a product is. The models 135 or 140 can, for example, determine the level or quality of non-active ingredients. The models 135 or 140 can predict or identify how well digested, cooked, or blended a material is, e.g., how well soybeans are roasted. The models 135 or 140 can infer, predict, or determine concentrations of a material, such as a chemical concentration, an acid concentration, a surfactant concentration, a disinfection concentration, or caustic concentration.
- a material such as a chemical concentration, an acid concentration, a surfactant concentration, a disinfection concentration, or caustic concentration.
- the direct model 135 can identify a product, material, or molecule within the liquid of the line 110 by analyzing a sub-set of wavelengths of the data measurement 120. For example, different product materials, or molecules may react with some wavelengths of light, and not other wavelengths of light. For example, butterfat, butterfat concentration, dairy fat, or dairy fat concentration, may be more reflective to light in IR ranges, and less reflective to light of other wavelengths. In this regard, a fdter may fdter out or remove wavelengths from the data measurement 120, such that the direct model 135 receives only wavelengths pertinent or important for identifying butterfat or butterfat concentration. In some implementations, non-important wavelengths can be discarded, ignored, or weighted at a low level by the direct model 135.
- the data processing system 130 can execute at least one indirect model 140 or set of models to identify a complex parameter of the liquid in the line 110.
- the indirect model system 140 may not directly predict or classify the complex parameter (e.g., BOD, COD), but may instead use a mapping between directly predictable parameters and the complex parameter. For example, a mapping can be built based on chemical testing of the complex parameter for a known product at a known concentration level.
- the indirect model system 140 can execute at least one model to identify a product in the line 110 and the concentration of the product in the line 110.
- the indirect model system 140 can use the mapping between product type, product concentration, and complex parameter to determine an estimate of the complex parameter.
- the indirect model system 140 can execute a first model that classifies the product based on the data measurements 120.
- the indirect model system 140 can execute a second model that identifies a concentration of the product based on the data measurements 120 and the classified product.
- a relationship, function, or mapping can estimate a value for the complex parameter.
- the mapping can scale a known complex parameter level for a particular product at a known concentration level, to other concentration levels for that product.
- the indirect model 140 can be on the same system, processing unit, compute unit, server, network as the direct model 135 or on two separate systems and networks. Outputs from the direct model 135 can be fed in and used by the indirect model 140 and vice versa or they can be independent of each other.
- the data processing system 130 can execute the direct model 135 or the indirect model system 140 as the data measurements 120 are received or as the production system 105 produces a product.
- the delay time between the measurements of the sensor 115 and the output of the direct model 135 or the indirect model system 140 can be real-time or low enough (e.g., less than ten minutes, less than one minute, less than one second, less than one millisecond, less than half a millisecond) that the output of the direct model 135 is suitable for controlling the production system 105 in real-time.
- determinations of the data processing system 130 can be used to generate control commands 160 for controlling the production system 105.
- the data processing system 130 can generate a control command 160 to control the production system 105 such that a product, based on determinations with the direct model 135 or the indirect model 140, reaches a predefined color, reaches a particular emulsification level or mixture level, reaches a predefined concentration, reaches a predefined ingredient concentration, or that particular molecule is present in a particular concentration.
- This control can efficiently operate the production system 105 to keep a product within a particular specification or to meet a criterion, and therefore the product can be consistently produced. Furthermore, this control can avoid waste or use of timers to guess or estimate when products are ready, when product should stop being discarded, etc.
- the control command 160 can be a command to open or close a valve, open a valve by an amount, change a flow path, close a valve by an amount, run a motor at a particular speed, stop or start a motor, start or stop a mixer, a temperature setpoint, control a pump, start or stop a process.
- the data processing system 130 can receive data and use the data to determine which models 135 to execute. For example, data received from the controller 165, a time received from a clock, data received from the user interface 155, data received from the sensor 115 (e.g., a spectral sensor), or data received from any other sensor, can be used to determine which models 135 to execute, determine which sensors 115, data inputs 120, or types of data the model 135 uses to generate its output, and how to process the data measurements 120. In some implementations, the output of the direct model 135 can be used to select which indirect model 140 to execute.
- an indirect model 140 configured or trained to execute for situations where the material is present in the production system 105 can be selected to execute.
- the data can indicate that the production system 105 is producing a particular product or is in a particular cycle.
- a schedule can indicate that at a scheduled time, a changeover occurs or a particular material is produced.
- the data processing system 130 can cause a direct model 135 specific for detecting the material or determining the concentration of the material to be executed responsive to a current time reaching the scheduled time.
- all models 135 can be executed at the same time or some models 135 can be executed while other models 135 are not executed.
- a product quality model 135 can be executed.
- the control command 160 can be generated by the data processing system 130 to initiate a washing cycle. For example, based on the measurement contamination, the data processing system 130 can determine when washing is necessary, predict when washing will be necessary in the future, determine what chemical or chemical concentration is needed to clean, determine how long a washing cycle should last for. The data processing system 130 can transmit the control command 160 to cause the production system 105 to perform washing.
- the production system 105 can include at least one controller 165.
- the controller 165 can be a programmable logic controller, a microprocessor, a computer, an inverter, a distributed control system (DCS), a programmable logic controller (PLC), a building management system (BMS), a supervisory control and data acquisition (SCAD A) system or any other device that can control actuators of the production system 105 to control the production of the product.
- the controller 165 can open or close valves based on the control command 160.
- the controller 165 can start or stop a fan, or control the speed of a fan, based on the control command 160.
- the controller 165 can control heating devices or cooling systems to meet a temperature, based on the control command 160.
- the controller 165 can start or stop a mixer by operating a motor, based on the control command 160.
- the data processing system 130 can provide the control commands 160 as inputs into the models 135 or 140.
- the data processing system 130 can provide an input to the models 135 or 140 that combines data measurements 120 and control commands 160.
- the data processing system 130 can predict the outcomes that result from different control commands 160.
- the data processing system 130 can vary the values of the control commands 160 input to the models 135 or 140, and predict BOD, COD, microbial growth, efficiency, product yields, material characteristics, etc. based on the environment in the production system 105 that the control commands 160 create or the operations performed by the production system 105 based on the control commands 160.
- the data processing system 130 can run an optimization algorithm (e.g., such as a linear programming algorithm) to identify control commands 160 that optimize a parameter, e.g., maximize product yields, minimize microbial growth, maximize fermentation, etc.
- the interface manager 145 can generate a user interface or graphical user interface 150 based on the determinations of the direct model 135 or the indirect model 140.
- the graphical user interface 150 can include graphics, text, plots, charts, numeric values, interactable elements, icons, buttons, switches.
- the graphical user interface 150 can include values or plots of BOD, COD, product classification, product intensity, ingredient presence, ingredient intensity, or emulsification.
- the graphical user interface 150 can further include control data, e.g., a status of the production system 105, a timer running on the production system 105, or a setting of the controller 165 of the production system 105.
- the interface manager 145 can cause the graphical user interface 150 to be displayed on a user interface 155 (e.g., a display, interface, input device, or screen).
- a user interface 155 e.g., a display, interface, input device, or screen.
- the system 100 can include at least one server system 170.
- the server system 170 can be removed or separate from the gateway 125.
- the server system 170 can be located outside the environment, or away from the production system 105.
- the functionality of the server system 170 can be performed by the gateway 125, and therefore can be performed locally at the environment of the production system 105, e.g., on-premises.
- the server system 170 can be or include at least one data processing system.
- the server system 170 can implement at least one model developer 175 or at least one model deployer 180.
- the model developer 175 or the model deployer 180 can be instructions, code, executables, scripts, hardware circuits, logic circuits.
- the server system 170 can receive requests to build models 185, and can locally build and deploy the models 185, without or in addition to deploying the models 185 to the gateway 125.
- the gateway 125 can locally build and deploy the models 185, e.g., the gateway 125 can include the training data 190, the model developer 175, or the model deployer 180.
- the model developer 175 can generate at least one model 185.
- the model 185 can be deployed as the direct model 135 or the indirect model 140.
- the model developer 175 can generate the model 185 based on training data 190.
- the training data 190 can be or include data measurements 120 measured from the sensor 115 or multiple sensors 115 or the same or different type, product indications 195 received from a schedule system 197 (e.g., a scheduling server or system that stores the production schedule of different products in different production systems 105), or lab data 187 received from the lab system 183.
- the data measurements 120 can be timestamped by the sensor 115 or the gateway 125 and stored as the training data 190.
- the product indications 195 can store indications of the types of products being produced at different time stamps or the ingredients flowing through the line 110 at different time stamps.
- the model developer 185 can use the timestamps of the data measurements 120 and the time stamps for the product indications 195 to correlate the data measurements 120 with the product indications 195, e.g., determine a set of data measurements 120 that measured a specific product at a specific concentration.
- the training data 190 can include lab data 187.
- the lab data 187 can be laboratory data indicating product type, product specification, product color, ingredient, ingredient concentration, BOD level, COD level.
- a technician can take a sample of the fluid in the line 110 at different times, time stamp the samples, and take the fluid to a lab where chemical testing can be done to determine materials, parameters, or complex parameters of the measured fluid.
- the lab data 187 can indicate the results of the chemical testing, as well as the timestamp when the sample was taken.
- a system or server of the lab, lab system 183 can transmit the lab data 187 to the server system 170.
- the model developer 175 can correlate the lab data 187 with the data measurements 120, and the product indications 195, based on the timestamps.
- an operator can press buttons or otherwise input commands or values to the gateway 125 instead of, or in addition to lab data 187.
- an operator can input data manually for training the models 135 and 140, or executing the models 135 or 140.
- the manually entered data can be used to form at least a portion of the training data 190.
- the manually entered data can be fed into the models 135 or 140 as an input.
- the gateway 125 can transmit the manually entered data to the server system 170, or alternatively, a client device can receive the manually entered data, and transmit the data to the server system 170.
- the model developer 175 can receive a request from a client device or user device (e.g., via the user interface 155, via a smartphone, via a laptop, via a tablet, etc.) to identify a certain material or parameter of the fluid in the line 110.
- the request can be received by the server system 170 via at least one communications network.
- the model developer 175 can design, construct, generate, build, or train the model 185 according to the request.
- the model 185 can be constructed or trained based on the training data 190. For example, based on the training data 190, the model developer 175 can train the direct models 135 or models for the indirect model system 140.
- the request received from the client device can indicate a target to be estimated.
- the model developer 175 can build the model to determine the target.
- the model developer 175 can construct, build, or train the model 185 to determine or classify a product flowing through the line 110.
- the model developer 175 can correlate the product indications 195 with the data measurements 120, and generate a model that predicts product type based on a training dataset of at least one product and corresponding data measurements 120 taken when the at least one product was flowing through the line 110.
- the model 185 can be generated to identify a single product, or to identify one product from multiple possible products.
- the model developer 175 can train the model 185 based on the training dataset to determine the product (e.g., output a value indicating product type or product presence) based on data measurements 120 as inputs.
- the model developer 175 can construct, build, or train the model 185 to determine a parameter of the fluid based on the lab data 187 and the data measurement 120.
- the model developer 175 can generate a training dataset for predicting a parameter (e.g., BOD, COD) measured in the lab data 187.
- the model developer 175 can construct the training dataset by correlating the timestamps of the lab data 187 with the timestamps of the data measurements 120 to determine data measurements 120 that were taken at a time corresponding to a lab measured parameter.
- the model developer 175 can train the model 185 based on the training dataset to determine the parameter (e.g., output a value for the parameter) based on data measurements 120 as inputs.
- the model developer 175 can generate a map.
- the map can be a data structure such as a table, a relationship, a function, an equation.
- the map can indicate a level of a complex parameter, such as BOD or COD, based on product type and product concentration.
- the lab data 187 can indicate a complex parameter for the product sample, where the sample has a known product type and a known product concentration.
- the product type and the product concentration can be included within the lab data 187.
- the model developer 175 can use the known product type, the known product concentration, and the measured complex parameter, to generate or construct the mapping.
- the model deployer 180 can deploy, transmit, send, or communicate the mapping to the gateway 125 or the data processing system 130.
- the model deployer 180 can transmit, send, or communicate the model 185 to the gateway 125 to be deployed and run on the gateway 125.
- the data processing system 130 can receive the model 185, and deploy the model on the data processing system 130 (e.g., unpack the model, save the model, store the model).
- the data processing system 130 can begin running the new model 185 based on the data measurements 120.
- direct, indirect, and mapping models can be built and deployed to a system, allowing the system to modularly implement models.
- a variety of different types of models can be developed to achieve a variety of different use cases, all with the same data measurements 120 of the sensor 115 (or the same spectral fingerprint read in real-time from a sensor).
- a request can be provided to the server system 170 to have models modularly built and deployed to the gateway 115 to flexibly adapt the system 100.
- One or multiple modular models can be deployed at once, or over time (e.g., the direct model 135, the indirect model 140, the mapping model).
- the modular models can be implemented in real-time or near-real time, and read the data measurements 120 of the same sensor 115 differently to achieve different use cases or determine different values or parameters.
- the models 185 can be containerized models, algorithms, software applications, or software modules.
- the containers can be deployed to run on the server system 170, the gateway 125, or the production system 105.
- the containers can include all software dependencies to run on a system, such as DOCKER containers, KUBERNETES containers, or any other type of standard software unit packing, such as a packaging including all of its own dependencies.
- the models 185 can be or be configured to run on virtual machines, in some implementations.
- the gateway 125 can use the indirect model system 140 to determine complex parameters through indirect mapping such as BOD, COD, phosphorus, nitrogen, ammonia, sugars, sugar concentrations, fats, fat concentrations, oils, greases, active ingredients, passive ingredients, proteins, yeast, enzymes, antibodies, active pharmaceutical ingredients (APIs), identification of enzymes, concentration of an enzyme, enzyme reaction rate or reaction status, antibodies, acids, microbials, viruses, metals, ions, salts, lead, sodium, calcium, or magnesium.
- indirect mapping such as BOD, COD, phosphorus, nitrogen, ammonia, sugars, sugar concentrations, fats, fat concentrations, oils, greases, active ingredients, passive ingredients, proteins, yeast, enzymes, antibodies, active pharmaceutical ingredients (APIs), identification of enzymes, concentration of an enzyme, enzyme reaction rate or reaction status, antibodies, acids, microbials, viruses, metals, ions, salts, lead, sodium, calcium, or magnesium.
- the gateway 125 can determine aluminum and mentals concentration for washing metal products (e.g., aluminum packaging), material compound, ingredients, chemical characteristics, or features. Aluminum concentration and other particular metals can be detected with the direct model 135 based on capturable wavelengths in the spectral fingerprint.
- the gateway 125 can determine particle size, particle density, particle amount, enzyme reaction, fermentation, or reaction optimization with the direct model 135. For example, the model 135 can predict or identify the stages of brewing or producing soy sauce, monosodium glutamine (MSG), plastics, etc. Furthermore, once a reaction is complete, a measured spectral fingerprint can change, indicating that the reaction is complete.
- the spectral fingerprint can change to an identifiable level.
- the gateway 125 can use a direct model 135 to detect a fingerprint indicating that a reaction or hardening has completed or a rate of a reaction or a rate of hardening.
- the model 135 or 140 can use viscosity measurements, or other data measurements 120, to determine how effective equipment, parts, or components, such as automotive equipment or computer numerical control (CNC) milled parts, are washed.
- CNC computer numerical control
- the gateway 125 can determine whether a product, such as a pharmaceutical, is an original or counterfeit product. For example, a pharmaceutical may have a defined spectral fingerprint, and a deviation from the fingerprint can indicate that the product is counterfeit.
- the gateway 125 can use a direct model 135 to determine whether a product, such as a pharmaceutical, or ingredient is an original product or a counterfeit.
- the gateway 125 can use the direct model 135 to determine two or three phases, e.g., how much of a material is in a gas phase, a liquid phase, or a particle phase. For example, different spectral fingerprints can be identified by the direct model 135 that identifies the different phases.
- the gateway 125 can use the direct model 135 to determine whether centrifuging, separating two or more materials, is completed or determine a status or rate of centrifuging. Furthermore, the gateway 125 can use the direct model 135 to determine how homogenous a fluid or product is, e.g., a level of homogeneity. Furthermore, the gateway 125 can use the direct model 135 to determine particle size, density, or viscosity.
- the gateway 125 can use the direct model 135 to determine whether a cleaning cycle has completed.
- the gateway 125 can determine, based on the direct model 135, a level of soiling, e.g., concentration of aluminum in another material such as an oil or a detection of contamination.
- the gateway 125 can use the direct model 135 for changeover optimization to detect when a changeover is complete, e.g., changing from producing a first product (e.g., vanilla ice cream) to a second product (e.g., chocolate ice cream) to reduce product loss and production downtime.
- the gateway 125 can use the direct model 135 to determine a turbidity or haze level.
- the gateway 125 can use the direct model 135 to determine biomass or cell count.
- the gateway 125 can use the direct model 135 to determine dehydration, water contents, ripening, decay of cells, diseases, allergens.
- the gateway 125 can use the direct model 135 to do quality assurance or quality control. For example, the gateway 125 can use the direct model 135 to detect whether a produced product has quality issues.
- the direct model 135 can indicate an amount of an active ingredient to add to a product to correct any quality control issues.
- the direct model 135 can indicate mixture ratios and blend amounts to understand if a material is well blended at the right concentrations.
- the gateway 125 can send control commands 160 to a controller to alert a user or actively control the amount of ingredient added to the product to correct the quality control issue.
- the gateway 125 can use the direct model 135 to determine a color, haze, protein level, enzyme, antibody concentration, active yeast, cell count, sugar concentration, protein, or cleaning optimization for a pharmaceutical.
- the gateway 125 can implement a blend optimization where a measurement of blends of multiple streams is determined.
- the production system 105 can include a complex valve matrix with multiple input and output streams, e.g., a material from a first holding tank, a material from a second holding tank, a material from a third holding tank, etc. are blended together according to the degree in which valves of the valve matrix are opened or closed.
- the model 135 or 140 can take data from sensors 120 like spectral and flow rate sensors 120 to determine the blend ratios coming out of the various output streams.
- the models 135 or 140 can output control decisions using the determined blend ratios (e.g., a blend between a first material, a second material, a third material, etc.) to optimize or cause the blend ratio to be at or move towards a desired level.
- blend ratios e.g., a blend between a first material, a second material, a third material, etc.
- the indirect model system 140 to determine a complex parameter from a product classification and a product concentration is shown.
- the indirect model system 140 can receive the data measurements 120 from the spectral sensor, and provide the data measurements 120 to at least one product model 205.
- the product model 205 can be a model, such as a machine learning model, such as a type of neural network, a regression, a decision tree, ladder logic, or threshold comparison.
- the product model 205 can determine a product classification 210 from the data measurements 120, e.g., identify the type of the product (e.g., chocolate ice cream, vanilla ice cream, mayonnaise).
- the indirect model system 140 can apply one product model 205, or multiple product models 205 to the data measurement 120.
- a single product model 205 can classify the product from multiple possible product types.
- a product model 205 can identify the presence of a single product, e.g., provide a binary output indicating whether a particular product is present in the line 110 or not.
- the indirect model system 140 can include at least one product concentration model 215.
- the product concentration model 215 can determine, based on the product classification 210 and the data measurements 120, a concentration level 220 of a product.
- the indirect model system 140 can select one product concentration model 215, from a set of product concentration models 215, for the product in the line 110 based on the product classification 210. For example, if product model 205 indicates that the product is chocolate ice cream, the indirect model system 140 can select a model 215 that indicates the concentration of chocolate ice cream from a set of models including a chocolate ice cream concentration model, a vanilla ice cream concentration model, a strawberry ice cream concentration model. In some implementations, a single model 215 can identify the concentration of multiple different product types.
- the indirect model system 140 can include at least one mapping 225.
- the indirect model system 140 can be implemented without the mapping 225.
- the component 225 can be a mapping, model, relationship, or function that indicates levels of a complex parameter 230 for at least one product at a variety of concentrations of the product. For example, based on a product classification 210 and a concentration 220, the mapping 225 can indicate a value or level for the complex parameter 230.
- the indirect model system 140 can include one mapping 225 for each of multiple different product types.
- the indirect model system 140 can include one mapping 225 that maps multiple different product types to a complex parameter 230 (or multiple mappings 225 that each map a different product type of a complex parameter 230).
- the complex parameter 230 can be a parameter that is not immediately or easily measurable without chemical or laboratory testing.
- the complex parameter 230 can be BOD, COD, fats oils or greases (FOGs), nitrogen, fats, lipids, proteins, active pharmaceutical agents, enzymes, antibodies.
- the lab data 187 can indicate that for a chocolate ice cream product of pure concentration (e.g., 100% chocolate ice cream), the BOD level is 500,000 PPM.
- the BOD level can also be measured in milligrams per liter (mg/1).
- the mapping 225 can be generated for a variety of concentrations 220, to scale (e.g., linearly or non-linearly) the BOD level for pure concentration to a BOD level for the concentration 220. For example, if the product concentration model 215 determines that the concentration level 220 for the chocolate ice cream product is half product, half water (e.g., 50% water), then a corresponding BOD estimate for the ice cream product can be determined by the mapping 225.
- FIG. 3 can indicate use of the data measurements 120 to estimate BOD of water in a wash process going to a wastewater site.
- the graphical user interface 150 can include trends of supply sensors, return sensors, flow rates for a supply sensor, flow rates for a return sensor, or any other type of sensor deployed in the production system 105.
- the graphical user interface 150 can include a trend of a supply sensor and a return sensor.
- the graphical user interface 150 can further include estimated BOD levels, e.g., BOD density, BOD volume.
- the estimates can be estimates for a minute, day, week, month, year.
- the graphical user interface 150 can indicate a daily average BOD estimate as 0. 12 pounds per gallon (Ibs/gallon).
- the graphical user interface 150 can indicate a daily estimate of BOD volume as 206 lbs.
- the graphical user interface 150 can further indicate time savings, energy savings, product loss savings, etc. from operating the production system 105 with control commands 160 determined with the data measurements 120, compared to timer or conventional non-data driven control methods.
- the graphical user interface 150 can indicate a daily time unlocked as sixteen minutes.
- the graphical user interface 150 can indicate a daily water among saved as 527 gallons.
- the graphical user interface 150 can indicate a daily amount of product lost as twenty-nine gallons.
- the savings can indicate drain rinse time savings (e.g., four minutes and twenty-six seconds), rinse recirculation time savings (e.g., one minute and three seconds), water saved during rinses (e.g., fifty- six gallons), water saved during recirculation (e.g., eighty four gallons).
- the savings can include total time saved, total water save, and total product saved.
- the graphical user interface 150 can indicate runtime duration (e.g., forty-eight minutes), type of tank of the production system 105 (e.g., Tank 08), and product type being produced by the production system 105 (e.g., chocolate).
- the graphical user interface 150 can indicate a total time saved as five minutes and twenty-eight seconds.
- the graphical user interface 150 can indicate a total amount of water saved as 139 gallons.
- the graphical user interface 150 can indicate a total amount of product lost as six gallons.
- the gateway 125 can execute one direct model 135 to determine a product or product concentration using a spectral measurement 120 of a spectral sensor 115.
- an indirect model 140 can execute using a flow rate of a flow sensor 115, which determines how much of the identified product is flowing through the line 110.
- the direct model 135 can execute on first measurements 120 of a first type of a first sensor 115, while the indirect model 140 can execute on second measurements 120 of a second type of a second sensor 115.
- the indirect model 140 can output an amount of product loss, an amount of water usage, an amount of energy consumed. This data can be displayed within the graphical user interface 150 by the interface manager 145.
- the direct model 135 can be deployed locally on a factory floor to determine product type and concentration using the spectral measurements 120, while the indirect model 140 can be deployed off-premises on the server system 170, and execute using the flow measurements 120.
- an example method 400 of spectral modeling is shown. At least a portion of the method 400 can be performed by the gateway 125, the data processing system 130, the server system 170, the controller 165, the sensor 115, the lab system 183, and the schedule system 197.
- the method 400 can include an ACT 405 of receiving a spectral measurement.
- the method 400 can include an ACT 410 of determining a material or parameter.
- the method 400 can include an ACT 415 of generating output data.
- the method 400 can include receiving, by a data processing system 130, a data measurement 120 such as a spectral measurement.
- the data processing system 130 can receive data from a sensor 115 such as a spectral sensor measuring a fluid in a line 110 of the production system 105.
- the spectral or other measurements measured by the sensor 115 can indicate reflectance, absorbance, transmission, fluorescence, emission, or scattering of the fluid for a broadband spectrum of light wavelengths.
- the data processing system 130 can receive data messages, data packets, data frames, or other data from the sensor 115.
- the method 400 can include determining, by the data processing system 130, a material or parameter.
- the data processing system 130 can determine a material in the liquid or a parameter of the liquid with the data measurements 120. For example, the data processing system 130 can determine, with the data measurements 120, a product in the line 110, a concentration of the product in the line 110, an ingredient in the line 110, a BOD, a COD.
- the data processing system 130 can execute the direct model 135 based on the data measurement 120.
- the data processing system 130 can execute the indirect model system 140 based on the data measurement 120.
- the method 400 can include generating, by the data processing system 130, output data.
- the data processing system 130 can generate the output data based on the material or parameter determined at ACT 410.
- the data processing system 130 can generate the graphical user interface 150 based on the determined material or parameter.
- the data processing system 130 can generate the control command 160 based on the determinations of the direct model 135 or the indirect model system 140.
- the gateway 125 can transmit the control command 160 to the controller 165, to operate the production system 105 and decrease production time, increase efficiency, reduce waste product, reduce waste water. The time and resource savings can be included within the graphical user interface 150.
- FIG. 5 depicts an example block diagram of the data processing system 130.
- the data processing system 130 can include or be used to implement a data processing system or its components (e.g., the gateway 125, the server system 170, the controller 165, the lab system 183, the schedule system 197).
- the data processing system 130 can include at least one bus 525 or other communication component for communicating information and at least one processor 530 or processing circuit coupled to the bus 525 for processing information.
- the data processing system 130 can include one or more processors 530 or processing circuits coupled to the bus 525 for processing information.
- the data processing system 130 can include at least one main memory 510, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 525 for storing information, and instructions to be executed by the processor 530.
- the main memory 510 can be used for storing information during execution of instructions by the processor 530.
- the data processing system 130 can further include at least one read only memory (ROM) 515 or other static storage device coupled to the bus 525 for storing static information and instructions for the processor 530.
- ROM read only memory
- a storage device 520 such as a solid state device, magnetic disk or optical disk, can be coupled to the bus 525 to persistently store information and instructions.
- the data processing system 130 can be coupled via the bus 525 to a display 155, such as a liquid crystal display, or active matrix display.
- the display 155 can display information to a user such as an operator, technician, or user of the production system 105.
- An input device 155 such as a keyboard or voice interface can be coupled to the bus 525 for communicating information and commands to the processor 530.
- the input device 155 can include a touch screen of the display 155.
- the input device 155 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 530 and for controlling cursor movement on the display 155.
- the processes, systems and methods described herein can be implemented by the data processing system 130 in response to the processor 530 executing an arrangement of instructions contained in main memory 510. Such instructions can be read into main memory 510 from another computer-readable medium, such as the storage device 520. Execution of the arrangement of instructions contained in main memory 510 causes the data processing system 130 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement can be employed to execute the instructions contained in main memory 510. Hard-wired circuitry can be used in place of or in combination with software instructions together with the systems and methods described herein. Systems and methods described herein are not limited to any specific combination of hardware circuitry and software.
- Modules can be implemented in hardware or as computer instructions on a non-transient computer readable storage medium, and modules can be distributed across various hardware or computer based components.
- the systems described above can provide multiple ones of any or each of those components and these components can be provided on either a standalone system or on multiple instantiation in a distributed system.
- the systems and methods described above can be provided as one or more computer-readable programs or executable instructions embodied on or in one or more articles of manufacture.
- the article of manufacture can be cloud storage, a hard disk, a CD-ROM, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape.
- the computer-readable programs can be implemented in any programming language, such as LISP, PERL, C, C++, C#, PROLOG, or in any byte code language such as JAVA.
- the software programs or executable instructions can be stored on or in one or more articles of manufacture as object code.
- Example and non-limiting module implementation elements include sensors providing any value determined herein, sensors providing any value that is a precursor to a value determined herein, datalink or network hardware including communication chips, oscillating crystals, communication links, cables, twisted pair wiring, coaxial wiring, shielded wiring, transmitters, receivers, or transceivers, logic circuits, hard-wired logic circuits, reconfigurable logic circuits in a particular non-transient state configured according to the module specification, any actuator including at least an electrical, hydraulic, or pneumatic actuator, a solenoid, an op-amp, analog control elements (springs, filters, integrators, adders, dividers, gain elements), or digital control elements.
- datalink or network hardware including communication chips, oscillating crystals, communication links, cables, twisted pair wiring, coaxial wiring, shielded wiring, transmitters, receivers, or transceivers, logic circuits, hard-wired logic circuits, reconfigurable logic circuits in a particular non-transient state configured according to the module specification, any actuator
- the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- the subject matter described in this specification can be implemented as one or more computer programs, e.g., one or more circuits of computer program instructions, encoded on one or more computer storage media for execution by, or to control the operation of, data processing apparatuses.
- the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- a computer storage medium can be, or be included in, a computer- readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. While a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices include cloud storage).
- the operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
- the terms “computing device”, “component” or “data processing apparatus” or the like encompass various apparatuses, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations of the foregoing.
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, app, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program can correspond to a file in a file system.
- a computer program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatuses can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- Devices suitable for storing computer program instructions and data can include non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- the subject matter described herein can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described in this specification, or a combination of one or more such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- references to implementations or elements or acts of the systems and methods herein referred to in the singular may also embrace implementations including a plurality of these elements, and any references in plural to any implementation or element or act herein may also embrace implementations including only a single element.
- References in the singular or plural form are not intended to limit the presently disclosed systems or methods, their components, acts, or elements to single or plural configurations.
- References to any act or element being based on any information, act or element may include implementations where the act or element is based at least in part on any information, act, or element.
- any implementation disclosed herein may be combined with any other implementation or embodiment, and references to “an implementation,” “some implementations,” “one implementation” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with the implementation may be included in at least one implementation or embodiment. Such terms as used herein are not necessarily all referring to the same implementation. Any implementation may be combined with any other implementation, inclusively or exclusively, in any manner consistent with the aspects and implementations disclosed herein.
- references to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms. References to at least one of a conjunctive list of terms may be construed as an inclusive OR to indicate any of a single, more than one, and all of the described terms. For example, a reference to “at least one of ‘A’ and ‘B’” can include only ‘A’, only ‘B’, as well as both ‘A’ and ‘B’. Such references used in conjunction with “comprising” or other open terminology can include additional items.
Landscapes
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Investigating Or Analysing Materials By Optical Means (AREA)
Abstract
Disclosed are systems and methods for spectral modeling. A system can include a data processing system including one or more processors, coupled with memory, to receive a request to determine a material or a parameter of the material. The one or more processors can build a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths. The one or more processors can deploy the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
Description
MODULAR MODELS
CROSS-REFERNCE TO RELATED PATENT APPLICATIONS
[0001] This application claims the benefit of, and priority to, U.S. Provisional Patent Application No. 63/509,270 filed June 20, 2023, the entirety of which is incorporated by reference herein.
INTRODUCTION
[0002] A production system can produce a product. The product can be a liquid, gel, or solid material.
SUMMARY
[0003] At least one aspect of the present disclosure is directed to a system. The system can include a data processing system including one or more processors, coupled with memory, to receive a request to determine a material or a parameter of the material. The one or more processors can build a model to determine the material or the parameter based on spectral data of a sensor such as a spectral sensor, the data such as spectral data indicating interactions of the material with light across a spectrum of wavelengths. The one or more processors can deploy the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
[0004] At least one aspect of the present disclosure is a method. The method can include receiving, a data processing system comprising one or more processors, coupled with memory, a request to determine a material or a parameter of the material. The method can include building, the data processing system, a model to determine the material or the parameter based on spectral data of a sensor such as a spectral sensor, the data such as spectral data indicating interactions of the material with light across a spectrum of wavelengths. The method can include deploying, by the data processing system, the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
[0005] At least one aspect of the present disclosure is directed to one or more storage media storing instructions thereon, that, when executed by one or more processors, cause the one or more processors to perform operations. The operations can include receiving a request to determine a material or a parameter of the material. The operations can include building a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths. The operations can include
deploying the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
[0006] These and other aspects and implementations are discussed in detail below. The foregoing information and the following detailed description include illustrative examples of various aspects and implementations, and provide an overview or framework for understanding the nature and character of the claimed aspects and implementations. The drawings provide illustration and a further understanding of the various aspects and implementations, and are incorporated in and constitute a part of this specification. The foregoing information and the following detailed description and drawings include illustrative examples and should not be considered as limiting.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings are not intended to be drawn to scale. Like reference numbers and designations in the various drawings indicate like elements. For purposes of clarity, not every component may be labeled in every drawing. In the drawings:
[0008] FIG. 1 is an example system to determine a material or parameter of a liquid with spectral modeling.
[0009] FIG. 2 is an example system of determining a complex parameter from a product classification and a product concentration.
[0010] FIG. 3 is an example graphical user interface including results of spectral modeling.
[0011] FIG. 4 is an example method of spectral modeling.
[0012] FIG. 5 is an example data processing system.
DETAILED DESCRIPTION
[0013] Following below are more detailed descriptions of various concepts related to, and implementations of, methods, apparatuses, and systems of spectral modeling. The various concepts introduced above and discussed in greater detail below may be implemented in any of numerous ways.
[0014] A system may need to be able to measure various parameters of a fluid in a production system. The production system can produce a food product, a chemical, an oil, a cleaning product, a hygiene product, a pharmaceutical product, etc. Instead of, or in addition to a production system, the techniques described herein can be applied to a heating ventilation or air conditioning system
(HVAC), an engine (e.g., that includes lubricant or hydraulic fluid), a vessel, or a material container. However, some parameters may not be measurable by a conventional sensor deployed at the production system. For example, to measure a parameter such as chemical oxygen demand (COD) (e.g., amount of oxygen used to react with everything in a system) or biological oxygen demand (BOD) (e.g., amount of oxygen used by bacteria to digest organic material in a system) can require extensive chemical and lab testing. Therefore, a grab sample of the liquid can be obtained, transferred to a laboratory, and then tested for COD or BOD levels. This testing time can be long, e.g., three to five days, and may not be usable to make operating decisions for the production system in real-time or near real-time. For example, to measure BOD levels, a sample may need to be fed to bacteria and monitored over a five-day period. Therefore, there are no deployable sensors for a manufacturing environment that can measure BOD in view of the five-day chemical test needed. Complex parameters such as BOD and COD can be important in wastewater of a production system, since BOD and COD measurements allow a system to understand the cleanliness of the wastewater and how the wastewater may need to be treated before disposal.
[0015] Some optical sensors can be deployed at the production system to measure how a material, compound, or molecule interacts with light (e.g., reflects light, absorbs light, scatters light, etc.). With these measurements, materials or parameters of the liquid can be detected. However, some materials may only interact with light of particular wavelengths. Therefore, the optical sensors can measure only light wavelengths (e.g., one or two wavelengths) needed to measure a particular material, e.g., a COD sensor can measure a wavelength (e.g., 254 nanometers (nm)) to detect COD, a sugar sensor can measure a wavelength to detect sugar concentration, an oil sensor can measure a wavelength to detect oil concentration. This can result in numerous different types of sensors being deployed in a manufacturing environment. Furthermore, because the sensors may only measure a single wavelength, different samples or materials can have different optical characteristics at that wavelength and can cause noise and inaccuracy in the readings of that wavelength.
[0016] To solve these and other technical problems, a system can use an optical, spectroscopy, or spectral sensor that measures a range of wavelengths and uses at least one model to detect materials or parameters in the liquid based on the measured wavelengths. The sensor can include at least one polychromatic or monochromatic light source. The spectral sensor can measure how a material interacts with light (e.g., reflects light, absorbs light, scatters light, etc.) across a spectrum of wavelengths. Because the spectral sensor can measure a spectrum of wavelengths, only a single sensor may be needed to detect and measure multiple different materials or parameters.
[0017] The spectrum of wavelengths measured or captured by the spectral sensor can provide a fingerprint of a sample that can be broadband (e.g., multiple wavelengths, a set of wavelengths, a spectrum of wavelengths). Because different materials or products absorb, reflect, or scatter light
differently, a system can use the amount of light absorbed, reflected, or scattered across the wavelengths to identify a material or product, determine a concentration of the material or product, determine whether the material or product meets a specification (e.g., level of mixture, level of emulsification, particular color, particular ingredient concentration, particle size, etc.).
[0018] At least one model or classifier can receive spectral data as an input, and output a product classification, a material classification, an ingredient classification, an ingredient concentration, a material concentration, a COD level, or a BOD level. The model can be designed to identify a material or parameter based on the spectral fingerprint provided by the spectral sensor. The model can directly determine the material or parameter from the spectral data.
[0019] Furthermore, the model can indirectly determine the material or parameter. For example, instead of directly testing for a complex parameter, such as COD, BOD, oil concentration, fat concentration, etc., the system can receive, store, or maintain data in a database that indicates the complex parameter for a particular product and product concentration that the spectral sensor is measuring. For example, a laboratory test can be run on a material or product at a full concentration to determine the complex parameter for the full concentration. The data of the database can be used to build a mapping, model, relationship, or function that indicates complex parameter levels for at least one product at a variety of concentrations by scaling the complex parameter for the full concentration to other concentration levels.
[0020] For example, the system can use the spectral measurements to classify a product and determine a concentration level of the product. The system can use any type of input data, including, but not limited to spectral measurements. The system can utilize existing or 3rd party sensors. For example, the system can classify the product with a first model based on the spectral data, and determine the concentration level of the product via a second model based on the spectral data and the classification. With the classified product and the identified concentration, the system can use the map to determine a corresponding complex parameter level. This complex parameter level can be an estimate of the complex parameter of a fluid being measured by the spectral sensor, the complex parameter determined in real-time or near real-time, e.g., within hours or within minutes or less. This indirect measuring of the complex parameter can provide an efficient and rapid means of understanding the complex parameter of a fluid, especially off a production line where a material or product going through is of a single type or a select few types at a time compared to using grab samples and laboratory testing.
[0021] The system can collect data on production or upstream lines of a production system, and share the collected data or measured materials or parameters with systems, software modules, or sensors that measure downstream materials or parameters (e.g., waste line treatment). The
measurements of materials or parameters from the upstream lines can be used to determine measurements or parameters for downstream lines by modeling the length of time it takes the material to move from the upstream line to the downstream line or by modeling the processes applied to the materials. The waste off the production lines flow can therefore be accurately measured or sensed for proactive treatments.
[0022] Referring to FIG. 1, among others, an example system 100 to determine a material or parameter of a liquid with modeling, such as spectral modeling, is shown. The modeling described in FIG. 1 can be applied to spectral sensing, flow rate sensing, temperature sensing, acid or base sensing, pH sensing, conductivity sensing, impedance spectral sensing, capacitance sensing, or any other type of sensing. The system 100 can include at least one production system 105. The production system 105 can be a system to manufacture or produce a product, such as a food product. The production system 105 can manufacture or produce a food, a drink, or any other substance. The production system 105 can manufacture a condiment (e.g., ketchup, mayonnaise, vegetable oil, olive oil, mustard), a dessert (e.g., ice cream, sherbet, yogurt), a food (e.g., yogurt, cream cheese, soy sauce, powders), a drink (e.g., a soft drink, a cola, wine, beer, liquor, an energy drink, vitamins, coffee, purified water, milk), a chemical, an ingredient, an oil, a pharmaceutical, a cleaning product, a hygiene product (e.g., a shampoo, a toothpaste, a soap, a mouth wash). The product can be a solid, e.g., a pharmaceutical, and the gateway 125 can determine whether the pharmaceutical is original or a counterfeit. The product can be a gas and the gateway 125 can determine an amount of misting of the gas. The product can be a powder. The product can be a liquid, a solid, a gel, a semi-liquid, or any other composition. The production system 105 can receive one or multiple ingredients, mix the ingredients, emulsify the ingredients, cook the ingredients, cool the ingredients, boil the ingredients, or perform a variety of other production steps to produce the product. The production system 105 can include, but is not limited to, mixing equipment, heating equipment, cooling equipment, tanks, reactors, or presses.
[0023] The production system 105 can include at least one line, tank, basin, or fluid holding apparatus 110. The line 110 can be a conduit, pipe, cavity, tank, canal, or other area carrying a liquid, such as the product, ingredients to make the product. The apparatus 110 can be a line which moves liquid, or can by any other apparatus that holds a liquid. The line 110 can be a line carrying liquids into the production system 105 or carrying liquids out of the production system 105. The line 110 can carry waste product out of the production system 105 to be disposed. The product or material of the line 110 can be at least partially mixed or suspended in water or non-water material (e.g., a cleaning product, a sanitizer, a product transfer). A sensor 115, such as a spectral sensor, can be disposed or submerged at least partially in a fluid within the line, tank, or fluid holding apparatus 110. For example, the sensor 115 can be dropped into a tank of the production system 105 and at least partially
submerged within a liquid of the tank. The system 100 can be applied to a non-production system, e.g., a vehicle or apparatus that carries, moves, or transports a product. For example, the system 100 can be implemented for a truck that carries a product such as a tanker truck, a rail car, a transport vessel, a container, a mixing truck, etc. Furthermore, the system 100 can be implemented at a water treatment plant, in a cleaning fdter, etc.
[0024] The system 100 can include at least one sensor 115. The sensor 115 can be an optical or light sensor. The sensor 115 can be a broadband spectral sensor. The sensor 115 can be an optical, spectroscopy, or spectral sensor that measures a range of wavelengths. The sensor 115 can include a light source that produces light which a sensor of the spectral sensor 115 can measure after it interacts with a material. The light source can be a monochromatic light source. The light source can be a polychromatic light source that emits many wavelengths of light to obtain a spectrum of wavelengths. The sensor 115 can measure how a material interacts with light (e.g., reflects light, absorbs light, scatters light, etc.) across a spectrum of wavelengths. The spectrum of wavelengths can include visible, ultraviolet (UV), and infrared (IR) wavelengths. The wavelengths can be 395 nm to 955 nm. The wavelengths can be less than 395 nm. The wavelengths can be greater than 955 nm. The wavelengths can be 200 nm to 1000 nm. The wavelengths can be 1000 nm to 3000 nm or greater. The sensor 115 can include a light source, such as one or multiple light emitting diodes (LEDs) that generate the light that is reflected, absorbed, or scattered by the liquid of the line 110 and measured by the sensor 115. The sensor 115 can be any type of sensor, such as a camera, a flow sensor, an impedance sensor for impedance spectroscopy, a temperature sensor, a pH sensor, a conductivity sensor, a pressure sensor, a genetic sequencing apparatus for rapid nanopore genetic RNA or DNA sequencing, a viscosity sensor, etc. The impedance spectral sensor 115 can have frequency ranges from 1 Hz to 100 Hz, 1 Hz to 1 MHz, 1 Hz to 10 MHz, 100 Hz to 1 MHz, 100 Hz to 10 MHz, 1 MHz to 5 MHz, 1 MHz to 10 MHz, etc. The data received and operated on by the gateway 125 can be process data, e.g., control data of the controller 165 indicating which process of the production system 105 is running, is starting, will be starting, etc. The gateway 125 can combine measurements of multiple different sensors to infer or determine a measurement, e.g., combine measurements of a first and second sensor to infer a condition, such as viscosity.
[0025] The sensor 115, such as a spectral sensor, can generate or take a data measurement 120, such as a spectral measurement, of a fluid in the line 110, and provide the data measurement 120 to a gateway 125. The data measurement 120 can be at least one signal, data, dataset, at least one data frame, or at least one data packet. The data measurement 120 can indicate a level of reflectance, absorbance, or scattering for wavelengths across the spectrum at a particular resolution. For example, the resolution could be every nm, every half nm, every picometer (pm). The sensor 115 can transmit
or communicate the data measurement 120 to the gateway 125 via at least one network, cable, or communication medium.
[0026] The gateway 125 can be an apparatus, device, or system that receives the data measurements 120 from the sensor 115. The gateway 125 can be any computing system, e.g., a desktop computer or server within a factory connected to a factory network. The gateway 125 can be outside a factory or facility or on the cloud (e.g., the server system 170). The computer or server can install software to run components of the gateway 125 or spin up a virtual machine (VM) or container that can run the code or instructions of the gateway 125 in order to run the models of the gateway 125. In some implementations, the gateway 125 is integrated with the sensor 115. For example, the sensor 115 can include a computer, microprocessor, or other system that can run the instructions of the data processing system 130. The gateway 125 can be a system located on-premises within an environment where the production system 105 is located (e.g., within the same building or room, or nearby building or room where the production system 105 is located). The gateway 125 can include at least one data processing system 130. The data processing system 130 can include one or multiple processors that execute instructions stored on one or multiple memory device or storage medium. The data processing system 130 can store and execute at least one direct model 135, at least one indirect model 140, and at least one interface manager 145. The direct model 135, the indirect model 140, and the interface manager 145 can be or include scripts, code, executables, instructions, data structures, data files, modules, circuits, or hardware.
[0027] The gateway 125 may not include the user interface 155 or interface manager 145. The gateway 125 can generate or transmit the control commands 160 with or without displaying information on the user interface 155. Furthermore, the graphical user interface 150 can be a software application run on a computer or mobile device, the graphical user interface 150 can be a software application, a web page, a web application, or other interface. In some implementations, the gateway 125 can transmit text messages, generate application notifications, place phone calls, or transmit emails instead of, or in addition to, displaying the graphical user interface 150 on the user interface 155. In some implementations, the gateway 125 can generate a sound or illuminate a light indicating a condition (e.g., that a wash cycle has completed, that a changeover has completed, etc.). For example, the gateway 125 can generate a notification of what process to perform next, or if a process is complete. For example, if the gateway 125 is deployed in a facility that does not have a controller to send control commands, the gateway 125 can generate a notification for an operator to manually start a process, stop a process, press a button, hit a switch, etc. The models executed by the data processing system 130 can output the control command 160 directly, e.g., a Boolean result, a control setting, a command to start a next process, stop a current process, etc. The models 140 or 135 executed by the data processing system 130 can output data or values 160 that inform a control, e.g.,
quality value of a material, amount of contaminant in wash water, amount of a type of material in the system, contaminant concentration, COD or BOD values, etc. The direct model can be used to determine protein concentration, diatomaceous earth or kieselguhr concentration.
[0028] The data processing system 130 can execute at least one direct model 135. The direct model 135 can receive the data measurements 120 as an input, and output data to the interface manager 145. The direct model 135 can identify or classify a product type, identify or classify a material type, identify a product concentration, identify a material concentration, identify a color of a material, identify a color of a product, identify a level of emulsification, identify a level of mixture, identify an ingredient (e.g., sugar, cream, milk, water), identify an ingredient concentration, identify a molecule in the fluid, identify whether the fluid is pure water, measure the purity of water, detect a state or phase of the production system 105 (e.g., a transition between producing different products, a cleaning cycle, or a startup cycle) based on the data measurement 120. Concentration can be parts per million (PPM), percentage water, or percentage material. For example, the direct model 135 can classify a product being manufactured by the production system 105, and determine a concentration of the product with at least one direct model 135 as the product flows through the line 110. The direct model 135 can indicate a complex parameter, such as BOD or COD.
[0029] The direct model 135 can be a machine learning model, such as a type of neural network, regression, decision tree, ladder logic, threshold comparison. The data processing system 130 can run one or multiple direct models 135 together, in parallel, or sequentially. For example, the data processing system 130 can run a first model that identifies a first material, a second model that identifies a second material, a third model that identifies a third material, in parallel or serially. The direct models 135 can identify one product flowing through the line 110 (e.g., in isolation or in water) or multiple products simultaneously flowing through the line 110. The data processing system 130 can execute models with data from one single sensor 115, or multiple different sensors 115 (e.g., each model can execute with input measurements of a different sensor 115). The multiple sensors 115 can be of the same type or different types or a combination of types such as spectral, temperature, conductivity, flow, pH, impedance, etc. The model 140 or 135 that executes on the sensor data can execute on just spectral sensor data, or sensor data of another type, or a combination of sensor data types. The data processing system 130 can use the data from the sensors to determine a result or output. The data processing system 130 can execute on process data, control data, and/or data a user enters via the user interface 155, etc. The data processing system 130 can compare upstream data of the production system 105 with downstream data of various sensors to determine if a product is within a specification or out of specification.
[0030] For example, multiple sensor data 120 can be used in a model 135 or 140 for cleaning optimization. For example, spectral, temperature, flow, conductivity, process, controls data can be
fed into a model 135 or 140 for determining if a cleaning step is complete or ready to advance forward to a next step of a cleaning process (e.g., from a water cleaning step, to a chemical cleaning step, to another water cleaning step). As another example, multiple sensor data 120 types can be used for startup optimization, where spectral, pressure, flow, process, and controls data can be fed into a model 135 or 140 to determine if a product is ready be used.
[0031] Because the models 135 and the indirect model system 140 can all run on the same data measurements 120, only the sensor 115 may need to be deployed to measure or estimate multiple different materials or parameters of liquid in the line 110. Furthermore, if the production system 105 changes from producing a first product to a second product, the data processing system 130 can execute models 135 for products that the data processing system 130 receives an indication, detects, or determines are produced by the production system 105. The data processing system 130 can execute models 135 to determine when a process such as fermentation is complete. The data processing system 130 can generate a control command 160 indicating that fermentation is complete, and the production system 105 should stop a fermentation process. If the production system 105 sets the fermentation to be a predefined length of time (e.g., based on a timer), the fermentation may run longer or shorter than necessary. These techniques can be applied to processes like blending, mixing, reactions, aging, etc.
[0032] For example, the controller 165 of the production system 105 can run a timer to indicate a set time to run fermentation. However, in the middle or during the set time, the data processing system 130 determines that the fermentation is complete based on the data measurements 120, the data processing system 130 can generate the control command 160 to cause the controller 165 to exit the fermentation process early. This can decrease production time, ensure product quality assurance/quality control (QA/QC), and reduce power or energy needs of the production system 105.
[0033] The models 135 or 140 can detect microbiological presence, or predict microbiological growth in the production system 105. For example, the models 135 or 140 can predict fouling that can be caused by biological growth, or predict the growth or presence of biofilms. The model 135 or 140 can predict microbial growth and identify for microbial contamination. The models 135 or 140 can further detect or predict leaks, filtration issues, or control issues of the production system 105. For example, the models 135 or 140 can be implemented for QC or QA processes, e.g., determine that a batch of a product is being produced correctly. For example, the models 135 or 140 can detect iron phosphate levels of coatings or other materials, such as a spray material, to determine how much iron phosphate is in the material. Similarly, the models 135 or 140 can determine a level or the activity of an active ingredient, e.g., sugar caramelizing, to determine how well heat treated a product is. The models 135 or 140 can, for example, determine the level or quality of non-active ingredients. The models 135 or 140 can predict or identify how well digested, cooked, or blended a material is, e.g.,
how well soybeans are roasted. The models 135 or 140 can infer, predict, or determine concentrations of a material, such as a chemical concentration, an acid concentration, a surfactant concentration, a disinfection concentration, or caustic concentration.
[0034] The direct model 135 can identify a product, material, or molecule within the liquid of the line 110 by analyzing a sub-set of wavelengths of the data measurement 120. For example, different product materials, or molecules may react with some wavelengths of light, and not other wavelengths of light. For example, butterfat, butterfat concentration, dairy fat, or dairy fat concentration, may be more reflective to light in IR ranges, and less reflective to light of other wavelengths. In this regard, a fdter may fdter out or remove wavelengths from the data measurement 120, such that the direct model 135 receives only wavelengths pertinent or important for identifying butterfat or butterfat concentration. In some implementations, non-important wavelengths can be discarded, ignored, or weighted at a low level by the direct model 135.
[0035] The data processing system 130 can execute at least one indirect model 140 or set of models to identify a complex parameter of the liquid in the line 110. The indirect model system 140 may not directly predict or classify the complex parameter (e.g., BOD, COD), but may instead use a mapping between directly predictable parameters and the complex parameter. For example, a mapping can be built based on chemical testing of the complex parameter for a known product at a known concentration level. The indirect model system 140 can execute at least one model to identify a product in the line 110 and the concentration of the product in the line 110. The indirect model system 140 can use the mapping between product type, product concentration, and complex parameter to determine an estimate of the complex parameter. For example, the indirect model system 140 can execute a first model that classifies the product based on the data measurements 120. The indirect model system 140 can execute a second model that identifies a concentration of the product based on the data measurements 120 and the classified product. With the identified product type and product concentration, a relationship, function, or mapping, can estimate a value for the complex parameter. The mapping can scale a known complex parameter level for a particular product at a known concentration level, to other concentration levels for that product.
[0036] The indirect model 140 can be on the same system, processing unit, compute unit, server, network as the direct model 135 or on two separate systems and networks. Outputs from the direct model 135 can be fed in and used by the indirect model 140 and vice versa or they can be independent of each other.
[0037] The data processing system 130 can execute the direct model 135 or the indirect model system 140 as the data measurements 120 are received or as the production system 105 produces a product. In this regard, the delay time between the measurements of the sensor 115 and the output of
the direct model 135 or the indirect model system 140 can be real-time or low enough (e.g., less than ten minutes, less than one minute, less than one second, less than one millisecond, less than half a millisecond) that the output of the direct model 135 is suitable for controlling the production system 105 in real-time. In this regard, determinations of the data processing system 130 can be used to generate control commands 160 for controlling the production system 105. For example, the data processing system 130 can generate a control command 160 to control the production system 105 such that a product, based on determinations with the direct model 135 or the indirect model 140, reaches a predefined color, reaches a particular emulsification level or mixture level, reaches a predefined concentration, reaches a predefined ingredient concentration, or that particular molecule is present in a particular concentration. This control can efficiently operate the production system 105 to keep a product within a particular specification or to meet a criterion, and therefore the product can be consistently produced. Furthermore, this control can avoid waste or use of timers to guess or estimate when products are ready, when product should stop being discarded, etc. The control command 160 can be a command to open or close a valve, open a valve by an amount, change a flow path, close a valve by an amount, run a motor at a particular speed, stop or start a motor, start or stop a mixer, a temperature setpoint, control a pump, start or stop a process.
[0038] The data processing system 130 can receive data and use the data to determine which models 135 to execute. For example, data received from the controller 165, a time received from a clock, data received from the user interface 155, data received from the sensor 115 (e.g., a spectral sensor), or data received from any other sensor, can be used to determine which models 135 to execute, determine which sensors 115, data inputs 120, or types of data the model 135 uses to generate its output, and how to process the data measurements 120. In some implementations, the output of the direct model 135 can be used to select which indirect model 140 to execute. For example, if the direct model 135 detects a particular type of material, an indirect model 140 configured or trained to execute for situations where the material is present in the production system 105 can be selected to execute. For example, the data can indicate that the production system 105 is producing a particular product or is in a particular cycle. For example, a schedule can indicate that at a scheduled time, a changeover occurs or a particular material is produced. The data processing system 130 can cause a direct model 135 specific for detecting the material or determining the concentration of the material to be executed responsive to a current time reaching the scheduled time. In this regard, all models 135 can be executed at the same time or some models 135 can be executed while other models 135 are not executed. For example, during production, a product quality model 135 can be executed. For example, during a flushing process, a flushing optimization model 135 can be run. Furthermore, during startup, a startup optimization model 135 can be run.
[0039] The control command 160 can be generated by the data processing system 130 to initiate a washing cycle. For example, based on the measurement contamination, the data processing system 130 can determine when washing is necessary, predict when washing will be necessary in the future, determine what chemical or chemical concentration is needed to clean, determine how long a washing cycle should last for. The data processing system 130 can transmit the control command 160 to cause the production system 105 to perform washing.
[0040] The production system 105 can include at least one controller 165. The controller 165 can be a programmable logic controller, a microprocessor, a computer, an inverter, a distributed control system (DCS), a programmable logic controller (PLC), a building management system (BMS), a supervisory control and data acquisition (SCAD A) system or any other device that can control actuators of the production system 105 to control the production of the product. For example, the controller 165 can open or close valves based on the control command 160. The controller 165 can start or stop a fan, or control the speed of a fan, based on the control command 160. The controller 165 can control heating devices or cooling systems to meet a temperature, based on the control command 160. The controller 165 can start or stop a mixer by operating a motor, based on the control command 160.
[0041] The data processing system 130 can provide the control commands 160 as inputs into the models 135 or 140. For example, the data processing system 130 can provide an input to the models 135 or 140 that combines data measurements 120 and control commands 160. In this regard, the data processing system 130 can predict the outcomes that result from different control commands 160. For example, the data processing system 130 can vary the values of the control commands 160 input to the models 135 or 140, and predict BOD, COD, microbial growth, efficiency, product yields, material characteristics, etc. based on the environment in the production system 105 that the control commands 160 create or the operations performed by the production system 105 based on the control commands 160. The data processing system 130 can run an optimization algorithm (e.g., such as a linear programming algorithm) to identify control commands 160 that optimize a parameter, e.g., maximize product yields, minimize microbial growth, maximize fermentation, etc.
[0042] The interface manager 145 can generate a user interface or graphical user interface 150 based on the determinations of the direct model 135 or the indirect model 140. The graphical user interface 150 can include graphics, text, plots, charts, numeric values, interactable elements, icons, buttons, switches. The graphical user interface 150 can include values or plots of BOD, COD, product classification, product intensity, ingredient presence, ingredient intensity, or emulsification. The graphical user interface 150 can further include control data, e.g., a status of the production system 105, a timer running on the production system 105, or a setting of the controller 165 of the
production system 105. The interface manager 145 can cause the graphical user interface 150 to be displayed on a user interface 155 (e.g., a display, interface, input device, or screen).
[0043] The system 100 can include at least one server system 170. The server system 170 can be removed or separate from the gateway 125. For example, the server system 170 can be located outside the environment, or away from the production system 105. However, the functionality of the server system 170 can be performed by the gateway 125, and therefore can be performed locally at the environment of the production system 105, e.g., on-premises. The server system 170 can be or include at least one data processing system. The server system 170 can implement at least one model developer 175 or at least one model deployer 180. The model developer 175 or the model deployer 180 can be instructions, code, executables, scripts, hardware circuits, logic circuits. The server system 170 can receive requests to build models 185, and can locally build and deploy the models 185, without or in addition to deploying the models 185 to the gateway 125. The gateway 125 can locally build and deploy the models 185, e.g., the gateway 125 can include the training data 190, the model developer 175, or the model deployer 180.
[0044] The model developer 175 can generate at least one model 185. The model 185 can be deployed as the direct model 135 or the indirect model 140. The model developer 175 can generate the model 185 based on training data 190. The training data 190 can be or include data measurements 120 measured from the sensor 115 or multiple sensors 115 or the same or different type, product indications 195 received from a schedule system 197 (e.g., a scheduling server or system that stores the production schedule of different products in different production systems 105), or lab data 187 received from the lab system 183. The data measurements 120 can be timestamped by the sensor 115 or the gateway 125 and stored as the training data 190. The product indications 195 can store indications of the types of products being produced at different time stamps or the ingredients flowing through the line 110 at different time stamps. In this regard, the model developer 185 can use the timestamps of the data measurements 120 and the time stamps for the product indications 195 to correlate the data measurements 120 with the product indications 195, e.g., determine a set of data measurements 120 that measured a specific product at a specific concentration.
[0045] Furthermore, the training data 190 can include lab data 187. The lab data 187 can be laboratory data indicating product type, product specification, product color, ingredient, ingredient concentration, BOD level, COD level. For example, a technician can take a sample of the fluid in the line 110 at different times, time stamp the samples, and take the fluid to a lab where chemical testing can be done to determine materials, parameters, or complex parameters of the measured fluid. The lab data 187 can indicate the results of the chemical testing, as well as the timestamp when the sample was taken. A system or server of the lab, lab system 183, can transmit the lab data 187 to the server system 170. The model developer 175 can correlate the lab data 187 with the data measurements 120,
and the product indications 195, based on the timestamps. In some examples, an operator can press buttons or otherwise input commands or values to the gateway 125 instead of, or in addition to lab data 187. For example, an operator can input data manually for training the models 135 and 140, or executing the models 135 or 140. For example, the manually entered data can be used to form at least a portion of the training data 190. For example, the manually entered data can be fed into the models 135 or 140 as an input. The gateway 125 can transmit the manually entered data to the server system 170, or alternatively, a client device can receive the manually entered data, and transmit the data to the server system 170.
[0046] The model developer 175 can receive a request from a client device or user device (e.g., via the user interface 155, via a smartphone, via a laptop, via a tablet, etc.) to identify a certain material or parameter of the fluid in the line 110. The request can be received by the server system 170 via at least one communications network. Responsive to receiving the request, the model developer 175 can design, construct, generate, build, or train the model 185 according to the request. The model 185 can be constructed or trained based on the training data 190. For example, based on the training data 190, the model developer 175 can train the direct models 135 or models for the indirect model system 140. The request received from the client device can indicate a target to be estimated. The model developer 175 can build the model to determine the target.
[0047] For example, the model developer 175 can construct, build, or train the model 185 to determine or classify a product flowing through the line 110. For example, the model developer 175 can correlate the product indications 195 with the data measurements 120, and generate a model that predicts product type based on a training dataset of at least one product and corresponding data measurements 120 taken when the at least one product was flowing through the line 110. The model 185 can be generated to identify a single product, or to identify one product from multiple possible products. The model developer 175 can train the model 185 based on the training dataset to determine the product (e.g., output a value indicating product type or product presence) based on data measurements 120 as inputs.
[0048] For example, the model developer 175 can construct, build, or train the model 185 to determine a parameter of the fluid based on the lab data 187 and the data measurement 120. For example, the model developer 175 can generate a training dataset for predicting a parameter (e.g., BOD, COD) measured in the lab data 187. The model developer 175 can construct the training dataset by correlating the timestamps of the lab data 187 with the timestamps of the data measurements 120 to determine data measurements 120 that were taken at a time corresponding to a lab measured parameter. The model developer 175 can train the model 185 based on the training dataset to determine the parameter (e.g., output a value for the parameter) based on data measurements 120 as inputs.
[0049] Furthermore, the model developer 175 can generate a map. The map can be a data structure such as a table, a relationship, a function, an equation. The map can indicate a level of a complex parameter, such as BOD or COD, based on product type and product concentration. For example, the lab data 187 can indicate a complex parameter for the product sample, where the sample has a known product type and a known product concentration. The product type and the product concentration can be included within the lab data 187. The model developer 175 can use the known product type, the known product concentration, and the measured complex parameter, to generate or construct the mapping. The model deployer 180 can deploy, transmit, send, or communicate the mapping to the gateway 125 or the data processing system 130.
[0050] Responsive to the model developer 175 building a new model 185, the model deployer 180 can transmit, send, or communicate the model 185 to the gateway 125 to be deployed and run on the gateway 125. The data processing system 130 can receive the model 185, and deploy the model on the data processing system 130 (e.g., unpack the model, save the model, store the model). Responsive to deploying the model, the data processing system 130 can begin running the new model 185 based on the data measurements 120. In this regard, direct, indirect, and mapping models can be built and deployed to a system, allowing the system to modularly implement models. By allowing for the models to be built and deployed, a variety of different types of models can be developed to achieve a variety of different use cases, all with the same data measurements 120 of the sensor 115 (or the same spectral fingerprint read in real-time from a sensor). For example, for new or different deployments, or as the need for new or different implementations arises, a request can be provided to the server system 170 to have models modularly built and deployed to the gateway 115 to flexibly adapt the system 100. One or multiple modular models can be deployed at once, or over time (e.g., the direct model 135, the indirect model 140, the mapping model). The modular models can be implemented in real-time or near-real time, and read the data measurements 120 of the same sensor 115 differently to achieve different use cases or determine different values or parameters.
[0051] The models 185 can be containerized models, algorithms, software applications, or software modules. The containers can be deployed to run on the server system 170, the gateway 125, or the production system 105. The containers can include all software dependencies to run on a system, such as DOCKER containers, KUBERNETES containers, or any other type of standard software unit packing, such as a packaging including all of its own dependencies. Furthermore, the models 185 can be or be configured to run on virtual machines, in some implementations.
[0052] The gateway 125 can use the indirect model system 140 to determine complex parameters through indirect mapping such as BOD, COD, phosphorus, nitrogen, ammonia, sugars, sugar concentrations, fats, fat concentrations, oils, greases, active ingredients, passive ingredients, proteins, yeast, enzymes, antibodies, active pharmaceutical ingredients (APIs), identification of enzymes,
concentration of an enzyme, enzyme reaction rate or reaction status, antibodies, acids, microbials, viruses, metals, ions, salts, lead, sodium, calcium, or magnesium.
[0053] The gateway 125 can determine aluminum and mentals concentration for washing metal products (e.g., aluminum packaging), material compound, ingredients, chemical characteristics, or features. Aluminum concentration and other particular metals can be detected with the direct model 135 based on capturable wavelengths in the spectral fingerprint. The gateway 125 can determine particle size, particle density, particle amount, enzyme reaction, fermentation, or reaction optimization with the direct model 135. For example, the model 135 can predict or identify the stages of brewing or producing soy sauce, monosodium glutamine (MSG), plastics, etc. Furthermore, once a reaction is complete, a measured spectral fingerprint can change, indicating that the reaction is complete. For example, once concrete or another material has hardened or reached a level of hardening, the spectral fingerprint can change to an identifiable level. The gateway 125 can use a direct model 135 to detect a fingerprint indicating that a reaction or hardening has completed or a rate of a reaction or a rate of hardening. The model 135 or 140 can use viscosity measurements, or other data measurements 120, to determine how effective equipment, parts, or components, such as automotive equipment or computer numerical control (CNC) milled parts, are washed.
[0054] The gateway 125 can determine whether a product, such as a pharmaceutical, is an original or counterfeit product. For example, a pharmaceutical may have a defined spectral fingerprint, and a deviation from the fingerprint can indicate that the product is counterfeit. The gateway 125 can use a direct model 135 to determine whether a product, such as a pharmaceutical, or ingredient is an original product or a counterfeit. The gateway 125 can use the direct model 135 to determine two or three phases, e.g., how much of a material is in a gas phase, a liquid phase, or a particle phase. For example, different spectral fingerprints can be identified by the direct model 135 that identifies the different phases. The gateway 125 can use the direct model 135 to determine whether centrifuging, separating two or more materials, is completed or determine a status or rate of centrifuging. Furthermore, the gateway 125 can use the direct model 135 to determine how homogenous a fluid or product is, e.g., a level of homogeneity. Furthermore, the gateway 125 can use the direct model 135 to determine particle size, density, or viscosity.
[0055] The gateway 125 can use the direct model 135 to determine whether a cleaning cycle has completed. The gateway 125 can determine, based on the direct model 135, a level of soiling, e.g., concentration of aluminum in another material such as an oil or a detection of contamination. The gateway 125 can use the direct model 135 for changeover optimization to detect when a changeover is complete, e.g., changing from producing a first product (e.g., vanilla ice cream) to a second product (e.g., chocolate ice cream) to reduce product loss and production downtime. The gateway 125 can use the direct model 135 to determine a turbidity or haze level. The gateway 125 can use the direct model
135 to determine biomass or cell count. For example, different cell counts may absorb light differently, and therefore, biomass or cell count can be detected through the spectral measurements. Furthermore, the gateway 125 can use the direct model 135 to determine dehydration, water contents, ripening, decay of cells, diseases, allergens.
[0056] The gateway 125 can use the direct model 135 to do quality assurance or quality control. For example, the gateway 125 can use the direct model 135 to detect whether a produced product has quality issues. The direct model 135 can indicate an amount of an active ingredient to add to a product to correct any quality control issues. The direct model 135 can indicate mixture ratios and blend amounts to understand if a material is well blended at the right concentrations. The gateway 125 can send control commands 160 to a controller to alert a user or actively control the amount of ingredient added to the product to correct the quality control issue. The gateway 125 can use the direct model 135 to determine a color, haze, protein level, enzyme, antibody concentration, active yeast, cell count, sugar concentration, protein, or cleaning optimization for a pharmaceutical.
[0057] For example, of the gateway 125 can implement a blend optimization where a measurement of blends of multiple streams is determined. The production system 105 can include a complex valve matrix with multiple input and output streams, e.g., a material from a first holding tank, a material from a second holding tank, a material from a third holding tank, etc. are blended together according to the degree in which valves of the valve matrix are opened or closed. The model 135 or 140 can take data from sensors 120 like spectral and flow rate sensors 120 to determine the blend ratios coming out of the various output streams. The models 135 or 140 can output control decisions using the determined blend ratios (e.g., a blend between a first material, a second material, a third material, etc.) to optimize or cause the blend ratio to be at or move towards a desired level. These techniques can further be applicable in industries such as beer, beverage, detergents, liquid soaps, etc.
[0058] Referring to FIG. 2, among others, the indirect model system 140 to determine a complex parameter from a product classification and a product concentration is shown. The indirect model system 140 can receive the data measurements 120 from the spectral sensor, and provide the data measurements 120 to at least one product model 205. The product model 205 can be a model, such as a machine learning model, such as a type of neural network, a regression, a decision tree, ladder logic, or threshold comparison. The product model 205 can determine a product classification 210 from the data measurements 120, e.g., identify the type of the product (e.g., chocolate ice cream, vanilla ice cream, mayonnaise). The indirect model system 140 can apply one product model 205, or multiple product models 205 to the data measurement 120. A single product model 205 can classify the product from multiple possible product types. A product model 205 can identify the presence of a
single product, e.g., provide a binary output indicating whether a particular product is present in the line 110 or not.
[0059] The indirect model system 140 can include at least one product concentration model 215. The product concentration model 215 can determine, based on the product classification 210 and the data measurements 120, a concentration level 220 of a product. The indirect model system 140 can select one product concentration model 215, from a set of product concentration models 215, for the product in the line 110 based on the product classification 210. For example, if product model 205 indicates that the product is chocolate ice cream, the indirect model system 140 can select a model 215 that indicates the concentration of chocolate ice cream from a set of models including a chocolate ice cream concentration model, a vanilla ice cream concentration model, a strawberry ice cream concentration model. In some implementations, a single model 215 can identify the concentration of multiple different product types.
[0060] The indirect model system 140 can include at least one mapping 225. In some implementations, the indirect model system 140 can be implemented without the mapping 225. The component 225 can be a mapping, model, relationship, or function that indicates levels of a complex parameter 230 for at least one product at a variety of concentrations of the product. For example, based on a product classification 210 and a concentration 220, the mapping 225 can indicate a value or level for the complex parameter 230. The indirect model system 140 can include one mapping 225 for each of multiple different product types. The indirect model system 140 can include one mapping 225 that maps multiple different product types to a complex parameter 230 (or multiple mappings 225 that each map a different product type of a complex parameter 230). The complex parameter 230 can be a parameter that is not immediately or easily measurable without chemical or laboratory testing. For example, the complex parameter 230 can be BOD, COD, fats oils or greases (FOGs), nitrogen, fats, lipids, proteins, active pharmaceutical agents, enzymes, antibodies.
[0061] For example, the lab data 187 can indicate that for a chocolate ice cream product of pure concentration (e.g., 100% chocolate ice cream), the BOD level is 500,000 PPM. The BOD level can also be measured in milligrams per liter (mg/1). The mapping 225 can be generated for a variety of concentrations 220, to scale (e.g., linearly or non-linearly) the BOD level for pure concentration to a BOD level for the concentration 220. For example, if the product concentration model 215 determines that the concentration level 220 for the chocolate ice cream product is half product, half water (e.g., 50% water), then a corresponding BOD estimate for the ice cream product can be determined by the mapping 225.
[0062] Referring to FIG. 3, among others, an example graphical user interface 150 is shown including results of spectral modeling. FIG. 3 can indicate use of the data measurements 120 to
estimate BOD of water in a wash process going to a wastewater site. The graphical user interface 150 can include trends of supply sensors, return sensors, flow rates for a supply sensor, flow rates for a return sensor, or any other type of sensor deployed in the production system 105. For example, the graphical user interface 150 can include a trend of a supply sensor and a return sensor. The graphical user interface 150 can further include estimated BOD levels, e.g., BOD density, BOD volume. The estimates can be estimates for a minute, day, week, month, year. For example, the graphical user interface 150 can indicate a daily average BOD estimate as 0. 12 pounds per gallon (Ibs/gallon). The graphical user interface 150 can indicate a daily estimate of BOD volume as 206 lbs.
[0063] The graphical user interface 150 can further indicate time savings, energy savings, product loss savings, etc. from operating the production system 105 with control commands 160 determined with the data measurements 120, compared to timer or conventional non-data driven control methods. The graphical user interface 150 can indicate a daily time unlocked as sixteen minutes. The graphical user interface 150 can indicate a daily water among saved as 527 gallons. The graphical user interface 150 can indicate a daily amount of product lost as twenty-nine gallons. The savings can indicate drain rinse time savings (e.g., four minutes and twenty-six seconds), rinse recirculation time savings (e.g., one minute and three seconds), water saved during rinses (e.g., fifty- six gallons), water saved during recirculation (e.g., eighty four gallons). The savings can include total time saved, total water save, and total product saved. Furthermore, the graphical user interface 150 can indicate runtime duration (e.g., forty-eight minutes), type of tank of the production system 105 (e.g., Tank 08), and product type being produced by the production system 105 (e.g., chocolate). The graphical user interface 150 can indicate a total time saved as five minutes and twenty-eight seconds. The graphical user interface 150 can indicate a total amount of water saved as 139 gallons. The graphical user interface 150 can indicate a total amount of product lost as six gallons.
[0064] The gateway 125 can execute one direct model 135 to determine a product or product concentration using a spectral measurement 120 of a spectral sensor 115. Using the product identification and concentration, an indirect model 140 can execute using a flow rate of a flow sensor 115, which determines how much of the identified product is flowing through the line 110. In this regard, the direct model 135 can execute on first measurements 120 of a first type of a first sensor 115, while the indirect model 140 can execute on second measurements 120 of a second type of a second sensor 115. The indirect model 140 can output an amount of product loss, an amount of water usage, an amount of energy consumed. This data can be displayed within the graphical user interface 150 by the interface manager 145. The direct model 135 can be deployed locally on a factory floor to determine product type and concentration using the spectral measurements 120, while the indirect model 140 can be deployed off-premises on the server system 170, and execute using the flow measurements 120.
[0065] Referring to FIG. 4, among others, an example method 400 of spectral modeling is shown. At least a portion of the method 400 can be performed by the gateway 125, the data processing system 130, the server system 170, the controller 165, the sensor 115, the lab system 183, and the schedule system 197. The method 400 can include an ACT 405 of receiving a spectral measurement. The method 400 can include an ACT 410 of determining a material or parameter. The method 400 can include an ACT 415 of generating output data.
[0066] At ACT 405, the method 400 can include receiving, by a data processing system 130, a data measurement 120 such as a spectral measurement. The data processing system 130 can receive data from a sensor 115 such as a spectral sensor measuring a fluid in a line 110 of the production system 105. The spectral or other measurements measured by the sensor 115 can indicate reflectance, absorbance, transmission, fluorescence, emission, or scattering of the fluid for a broadband spectrum of light wavelengths. The data processing system 130 can receive data messages, data packets, data frames, or other data from the sensor 115.
[0067] At ACT 410, the method 400 can include determining, by the data processing system 130, a material or parameter. The data processing system 130 can determine a material in the liquid or a parameter of the liquid with the data measurements 120. For example, the data processing system 130 can determine, with the data measurements 120, a product in the line 110, a concentration of the product in the line 110, an ingredient in the line 110, a BOD, a COD. The data processing system 130 can execute the direct model 135 based on the data measurement 120. The data processing system 130 can execute the indirect model system 140 based on the data measurement 120.
[0068] At ACT 415, the method 400 can include generating, by the data processing system 130, output data. The data processing system 130 can generate the output data based on the material or parameter determined at ACT 410. For example, the data processing system 130 can generate the graphical user interface 150 based on the determined material or parameter. For example, the data processing system 130 can generate the control command 160 based on the determinations of the direct model 135 or the indirect model system 140. The gateway 125 can transmit the control command 160 to the controller 165, to operate the production system 105 and decrease production time, increase efficiency, reduce waste product, reduce waste water. The time and resource savings can be included within the graphical user interface 150.
[0069] FIG. 5 depicts an example block diagram of the data processing system 130. The data processing system 130 can include or be used to implement a data processing system or its components (e.g., the gateway 125, the server system 170, the controller 165, the lab system 183, the schedule system 197). The data processing system 130 can include at least one bus 525 or other communication component for communicating information and at least one processor 530 or
processing circuit coupled to the bus 525 for processing information. The data processing system 130 can include one or more processors 530 or processing circuits coupled to the bus 525 for processing information. The data processing system 130 can include at least one main memory 510, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 525 for storing information, and instructions to be executed by the processor 530. The main memory 510 can be used for storing information during execution of instructions by the processor 530. The data processing system 130 can further include at least one read only memory (ROM) 515 or other static storage device coupled to the bus 525 for storing static information and instructions for the processor 530. A storage device 520, such as a solid state device, magnetic disk or optical disk, can be coupled to the bus 525 to persistently store information and instructions.
[0070] The data processing system 130 can be coupled via the bus 525 to a display 155, such as a liquid crystal display, or active matrix display. The display 155 can display information to a user such as an operator, technician, or user of the production system 105. An input device 155, such as a keyboard or voice interface can be coupled to the bus 525 for communicating information and commands to the processor 530. The input device 155 can include a touch screen of the display 155. The input device 155 can include a cursor control, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 530 and for controlling cursor movement on the display 155.
[0071] The processes, systems and methods described herein can be implemented by the data processing system 130 in response to the processor 530 executing an arrangement of instructions contained in main memory 510. Such instructions can be read into main memory 510 from another computer-readable medium, such as the storage device 520. Execution of the arrangement of instructions contained in main memory 510 causes the data processing system 130 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement can be employed to execute the instructions contained in main memory 510. Hard-wired circuitry can be used in place of or in combination with software instructions together with the systems and methods described herein. Systems and methods described herein are not limited to any specific combination of hardware circuitry and software.
[0072] Although an example computing system has been described in FIG. 5, the subject matter including the operations described in this specification can be implemented in other types of digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
[0073] Some of the description herein emphasizes the structural independence of the aspects of the system components or groupings of operations and responsibilities of these system components.
Other groupings that execute similar overall operations are within the scope of the present application. Modules can be implemented in hardware or as computer instructions on a non-transient computer readable storage medium, and modules can be distributed across various hardware or computer based components.
[0074] The systems described above can provide multiple ones of any or each of those components and these components can be provided on either a standalone system or on multiple instantiation in a distributed system. In addition, the systems and methods described above can be provided as one or more computer-readable programs or executable instructions embodied on or in one or more articles of manufacture. The article of manufacture can be cloud storage, a hard disk, a CD-ROM, a flash memory card, a PROM, a RAM, a ROM, or a magnetic tape. In general, the computer-readable programs can be implemented in any programming language, such as LISP, PERL, C, C++, C#, PROLOG, or in any byte code language such as JAVA. The software programs or executable instructions can be stored on or in one or more articles of manufacture as object code.
[0075] Example and non-limiting module implementation elements include sensors providing any value determined herein, sensors providing any value that is a precursor to a value determined herein, datalink or network hardware including communication chips, oscillating crystals, communication links, cables, twisted pair wiring, coaxial wiring, shielded wiring, transmitters, receivers, or transceivers, logic circuits, hard-wired logic circuits, reconfigurable logic circuits in a particular non-transient state configured according to the module specification, any actuator including at least an electrical, hydraulic, or pneumatic actuator, a solenoid, an op-amp, analog control elements (springs, filters, integrators, adders, dividers, gain elements), or digital control elements.
[0076] The subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The subject matter described in this specification can be implemented as one or more computer programs, e.g., one or more circuits of computer program instructions, encoded on one or more computer storage media for execution by, or to control the operation of, data processing apparatuses. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer- readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. While a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can
also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices include cloud storage). The operations described in this specification can be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
[0077] The terms “computing device”, “component” or “data processing apparatus” or the like encompass various apparatuses, devices, and machines for processing data, including by way of example a programmable processor, a computer, a system on a chip, or multiple ones, or combinations of the foregoing. The apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). The apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
[0078] A computer program (also known as a program, software, software application, app, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program can correspond to a file in a file system. A computer program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
[0079] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatuses can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). Devices suitable for storing computer program instructions and data can include non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical
disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
[0080] The subject matter described herein can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described in this specification, or a combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
[0081] While operations are depicted in the drawings in a particular order, such operations are not required to be performed in the particular order shown or in sequential order, and all illustrated operations are not required to be performed. Actions described herein can be performed in a different order.
[0082] Having now described some illustrative implementations, it is apparent that the foregoing is illustrative and not limiting, having been presented by way of example. In particular, although many of the examples presented herein involve specific combinations of method acts or system elements, those acts and those elements may be combined in other ways to accomplish the same objectives. Acts, elements and features discussed in connection with one implementation are not intended to be excluded from a similar role in other implementations or implementations.
[0083] The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including” “comprising” “having” “containing” “involving” “characterized by” “characterized in that” and variations thereof herein, is meant to encompass the items listed thereafter, equivalents thereof, and additional items, as well as alternate implementations consisting of the items listed thereafter exclusively. In one implementation, the systems and methods described herein consist of one, each combination of more than one, or all of the described elements, acts, or components.
[0084] Any references to implementations or elements or acts of the systems and methods herein referred to in the singular may also embrace implementations including a plurality of these elements, and any references in plural to any implementation or element or act herein may also embrace implementations including only a single element. References in the singular or plural form are not intended to limit the presently disclosed systems or methods, their components, acts, or elements to
single or plural configurations. References to any act or element being based on any information, act or element may include implementations where the act or element is based at least in part on any information, act, or element.
[0085] Any implementation disclosed herein may be combined with any other implementation or embodiment, and references to “an implementation,” “some implementations,” “one implementation” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in connection with the implementation may be included in at least one implementation or embodiment. Such terms as used herein are not necessarily all referring to the same implementation. Any implementation may be combined with any other implementation, inclusively or exclusively, in any manner consistent with the aspects and implementations disclosed herein.
[0086] References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms. References to at least one of a conjunctive list of terms may be construed as an inclusive OR to indicate any of a single, more than one, and all of the described terms. For example, a reference to “at least one of ‘A’ and ‘B’” can include only ‘A’, only ‘B’, as well as both ‘A’ and ‘B’. Such references used in conjunction with “comprising” or other open terminology can include additional items.
[0087] Where technical features in the drawings, detailed description or any claim are followed by reference signs, the reference signs have been included to increase the intelligibility of the drawings, detailed description, and claims. Accordingly, neither the reference signs nor their absence have any limiting effect on the scope of any claim elements.
[0088] Modifications of described elements and acts such as variations in sizes, dimensions, structures, shapes and proportions of the various elements, values of parameters, mounting arrangements, use of materials, colors, orientations can occur without materially departing from the teachings and advantages of the subject matter disclosed herein. For example, elements shown as integrally formed can be constructed of multiple parts or elements, the position of elements can be reversed or otherwise varied, and the nature or number of discrete elements or positions can be altered or varied. Other substitutions, modifications, changes and omissions can also be made in the design, operating conditions and arrangement of the disclosed elements and operations without departing from the scope of the present disclosure.
Claims
1. A system, comprising: a data processing system comprising one or more processors, coupled with memory, to: receive a request to determine a material or a parameter of the material; build a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths; and deploy the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
2. The system of claim 1, comprising: the data processing system to: receive a request to determine a second material or second parameter of the second material; build a second model to determine the second material or the second parameter based on the same spectral data of the same spectral sensor; and deploy the second model to the second data processing system, the second model executed by the second data processing system based on the same spectral data to determine the second material or the second parameter of the material.
3. The system of claim 1, comprising: the spectral sensor to measure the interactions of the material with the light across the spectrum of wavelengths; and the second data processing system to: receive the spectral data from the spectral sensor; and execute the model based on the spectral data to determine the material or the parameter of the material.
4. The system of claim 1, wherein: the parameter of the material is at least one of biochemical oxygen demand or chemical oxygen demand.
5. The system of claim 1, comprising: the spectral sensor disposed in a line of a production system; and the second data processing system to: execute the model based on the spectral data to classify a product of the production system in the line.
6. The system of claim 1, comprising: the spectral sensor disposed in a line of a production system; and the second data processing system to: execute the model based on the spectral data to identify a concentration of a product of the production system in the line.
7. The system of claim 1, comprising: the spectral sensor disposed in a line of a production system; and the second data processing system to: execute the model based on the spectral data to identify that a product meets a specification; wherein the specification is at least one of an emulsification level, a concentration of an ingredient, a concentration of a molecule, or color of the product.
8. The system of claim 1, comprising: the second data processing system to: determine a control command based on the material or the parameter of a liquid; and transmit the control command to a controller, the controller to control a production system.
9. The system of claim 1, comprising:
the second data processing system to: execute a first model to classify a product based on the spectral data; execute a second model to identify a concentration of the product based on the spectral data; and map the product and the concentration of the product to a biochemical oxygen demand level.
10. The system of claim 1, comprising: the data processing system to: receive a product schedule that identifies a plurality of different products produced by a production system at a plurality of points in time; receive the spectral data for the plurality of points in time; and construct the model based on the product schedule and the spectral data.
11. The system of claim 1, comprising; the data processing system to: receive lab test data that indicates the material or the parameter of a liquid at a plurality of points in time; receive the spectral data for the plurality of points in time; and construct the model based on the lab test data and the spectral data.
12. The system of claim 1, comprising: the data processing system to: receive lab test data that indicates a biochemical oxygen demand level for a product of an identified concentration; generate a map that maps between a plurality of concentration levels for the product and a plurality of biochemical oxygen demand levels for the product; and transmit the map to the second data processing system.
13. The system of claim 1, comprising: the spectral sensor disposed in an upstream line of a production system, the production system
comprising the upstream line and a downstream line; and the second data processing system to: execute a first model based on the spectral data to determine the material or the parameter of a liquid in the upstream line; and execute a second model to determine the material or the parameter of a liquid in the downstream line, the second model to model a time for the material to flow from the upstream line to the downstream line.
14. A method, comprising: receiving, a data processing system comprising one or more processors, coupled with memory, a request to determine a material or a parameter of the material; building, the data processing system, a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths; and deploying, by the data processing system, the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
15. The method of claim 14, comprising: receiving, by the data processing system, a request to determine a second material or second parameter of the second material; building, by the data processing system, a second model to determine the second material or the second parameter based on the same spectral data of the same spectral sensor; and deploying, by the data processing system, the second model to the second data processing system, the second model executed by the second data processing system based on the same spectral data to determine the second material or the second parameter of the material.
16. The method of claim 14, comprising: receiving, by the data processing system, lab test data that indicates a biochemical oxygen demand level for a product of an identified concentration; generating, by the data processing system, a map that maps between a plurality of concentration
levels for the product and a plurality of biochemical oxygen demand levels for the product; and transmitting, by the data processing system, the map to the second data processing system.
17. The method of claim 14, comprising: executing, by the second data processing system, a first model based on the spectral data to determine the material or the parameter of a liquid in an upstream line of a production system; and executing, by the second data processing system, a second model to determine the material or the parameter of a liquid in a downstream line of the production system, the second model to model a time for the material to flow from the upstream line to the downstream line.
18. One or more storage media storing instructions thereon, that, when executed by one or more processors, cause the one or more processors to perform operations, comprising: receiving a request to determine a material or a parameter of the material; building a model to determine the material or the parameter based on spectral data of a spectral sensor, the spectral data indicating interactions of the material with light across a spectrum of wavelengths; and deploying the model to a second data processing system, the model executed by the second data processing system based on the spectral data to determine the material or the parameter of the material.
19. The one or more storage media of claim 18, the operations comprising: receiving a request to determine a second material or second parameter of the second material; building a second model to determine the second material or the second parameter based on the same spectral data of the same spectral sensor; and deploying the second model to the second data processing system, the second model executed by the second data processing system based on the same spectral data to determine the second material or the second parameter of the material.
20. The one or more storage media of claim 18, comprising; receiving lab test data that indicates the material or the parameter of a liquid at a plurality of points in time; receiving the spectral data for the plurality of points in time; and
constructing the model based on the lab test data and the spectral data.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202363509270P | 2023-06-20 | 2023-06-20 | |
US63/509,270 | 2023-06-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024263647A1 true WO2024263647A1 (en) | 2024-12-26 |
Family
ID=91946487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2024/034628 WO2024263647A1 (en) | 2023-06-20 | 2024-06-19 | Modular models |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024263647A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200072743A1 (en) * | 2018-08-30 | 2020-03-05 | Caterpillar Inc. | System and method for determining fluid origin |
US20220170850A1 (en) * | 2020-11-30 | 2022-06-02 | David Yang Lu | Methods and systems for monitoring fluids |
-
2024
- 2024-06-19 WO PCT/US2024/034628 patent/WO2024263647A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200072743A1 (en) * | 2018-08-30 | 2020-03-05 | Caterpillar Inc. | System and method for determining fluid origin |
US20220170850A1 (en) * | 2020-11-30 | 2022-06-02 | David Yang Lu | Methods and systems for monitoring fluids |
Non-Patent Citations (1)
Title |
---|
PATTANAYAK A S ET AL: "Development of Chemical Oxygen on Demand (COD) Soft Sensor Using Edge Intelligence", IEEE SENSORS JOURNAL, IEEE, USA, vol. 20, no. 24, 16 July 2020 (2020-07-16), pages 14892 - 14902, XP011820916, ISSN: 1530-437X, [retrieved on 20201117], DOI: 10.1109/JSEN.2020.3010134 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190062813A1 (en) | Smart toilet | |
US8645076B2 (en) | Microbial monitoring and prediction | |
AU2012273537B2 (en) | Micro-organism threat detection | |
Posch et al. | Science-based bioprocess design for filamentous fungi | |
Fletcher et al. | Advances in meat spoilage detection: A short focus on rapid methods and technologies | |
Zatsu et al. | Revolutionizing the food industry: The transformative power of artificial intelligence-a review | |
US20080305553A1 (en) | Kinetic determination of peracid and/or peroxide concentrations | |
CN107085117A (en) | Measurement apparatus | |
Malakar et al. | Quantitative risk assessment for hazards that arise from non-proteolytic Clostridium botulinum in minimally processed chilled dairy-based foods | |
IL262203B1 (en) | Method for the preparation of biosynthetic device and their uses in diagnostics | |
FOR et al. | Potential application of risk assessment techniques to microbiological issues related to international trade in food and food products | |
Oshita et al. | Monitoring of ATP and viable cells on meat surface by UV–Vis reflectance spectrum analysis | |
WO2024263647A1 (en) | Modular models | |
McFarlane | Automatic control of food manufacturing processes | |
Santovito et al. | Rapid detection of bacterial load in food samples using disposable respirometric sensor sachets | |
Singh et al. | Substantial enhancement of overall efficiency and effectiveness of the pasteurization and packaging process using artificial intelligence in the food industry | |
Yang | Novel Strategies for Cleaning-in-Place Operations | |
Bech et al. | Changeability of the manufacturing systems in the food industry–A case study | |
WO2011106363A2 (en) | Metabolic rate indicator for cellular populations | |
CN107478269A (en) | Environment cleanliness intelligent indicating system in a kind of new refrigerator | |
Cui et al. | Capability evaluation of real-time inline COD detection technique for dynamic water footprint management in the beverage manufacturing industry | |
Schiraldi | Microbial growth in planktonic conditions | |
EP4113223A1 (en) | Method for optimising a process to produce a biochemical product | |
Jox et al. | A Conceptual Framework for Predictive Digital Dairy Twins: Integrating Explainable AI and Hybrid Modeling | |
US20240052294A1 (en) | Device and method for controlling a microorganism content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24742752 Country of ref document: EP Kind code of ref document: A1 |