Food processor, method and non-transitory computer readable storage medium

The food processor dynamically adjusts processing sequences based on detected food properties, ensuring consistent results by using a microprocessor and sensors to adapt to the properties of food ingredients.

CN119138776APending Publication Date: 2024-12-17SHARKNINJA OPERATING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311039190.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-09
Filing Date
2023-08-17
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

Existing blenders fail to adapt to the consistency of food ingredients, resulting in inconsistent food processing results due to the lack of adaptive processing sequences.

Method used

A food processor equipped with sensors and a microprocessor to detect the properties of food ingredients, which uses a controller to adjust the processing sequences.

Benefits of technology

The food processor effectively adjusts the processing sequences by using a controller to adapt to the consistency of food ingredients, which uses a microprocessor to adjust the processing sequences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119138776A_ABST
    Figure CN119138776A_ABST
Patent Text Reader

Abstract

The present disclosure relates to a food processor, a method for processing a food product via a controllable component, and a non-transitory computer-readable storage medium storing instructions. A food processor includes a controllable component coupled to a component of the food processor and configured to process one or more food products for a first time period. A monitoring device is configured to detect a characteristic associated with the processing of the one or more food products during the first time period and output a first series of detection signals within the first time period, the first series of detection signals corresponding to at least one characteristic of the food product being processed. The memory is configured to store a plurality of food vectors in a multi-dimensional feature space, each of the plurality of food vectors being associated with a food type. A controller is configured to control operation of the controllable component based on the detection signal t.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification describes example embodiments related to blenders, and more particularly, includes a food processor, a method for processing food via controllable components, and a non-transitory computer-readable storage medium storing instructions. Background Art

[0002] As used herein, "food processor" is not limited to a specific type of small appliance commonly referred to as a food processor, but a kitchen and / or laboratory appliance for stirring, mixing, crushing, pounding, chopping, grinding, cutting, pulverizing and / or emulsifying food, beverages and other substances, such as during one or more cycles, and may include, but is not limited to, blenders, mixers, juicers, grinders, frothers, micro-purées, other types of devices for processing food, and any suitable combination of the above. A food processor may include a container with a rotating blade powered by a motor. Current blenders may include a microprocessor configured to control the operation of the blender in connection with processing food to produce a blended food, such as a smoothie, ice cream or whipped cream. Existing blenders may include a computer-controlled program or recipe that implements a specific sequence of operations of a motor and a mixing blade specific to a specific food. Disadvantageously, such sequences of operations are typically fixed and do not take into account the different conditions or consistencies of the food ingredients being processed, resulting in variable and inconsistent results in the characteristics of the processed food. Therefore, there is a need for more adaptive processing of food products to ensure more consistent and accurate food product outcome conditions, such as the expected texture of the food product being processed. Summary of the invention

[0003] In various embodiments, the present application addresses deficiencies associated with more accurately and consistently blending food products.

[0004] The present application describes illustrative systems, methods, and devices that enable a blender to detect values ​​of physical properties associated with processing food (e.g., sensed conditions), analyze the values, and determine how to further process the food based on the analyzed values. For example, various blending ingredients (e.g., blending ingredients constituting food) for producing a smoothie can be added to a blender container. The blender can receive input from a user via a user interface to process the ingredients, which input can include executing a predefined processing sequence for the smoothie. Then, a microcontroller can control the execution of the processing, including executing computer program instructions, such as automatically processing the ingredients according to a predefined processing sequence. During the time period of processing the blending ingredients, i.e., mixing the ingredients, the microcontroller can receive a series of motor signals based on motor power consumption sensed by one or more sensors, analyze the motor signals, and adjust the processing of the blending ingredients based on this analysis, such as to achieve the desired and / or expected conditions of the blended ingredients, such as the desired and / or expected texture of the smoothie. The microcontroller can use machine learning (ML) and / or artificial intelligence (AI) techniques to more adaptively and accurately analyze the detected values ​​and control the generation of the desired and / or expected conditions of the blended ingredients. The microprocessor may analyze other electronic signals, such as, but not limited to, the temperature of the mixing container or a current signal associated with a heating element, and adjust the process of blending the ingredients based on one or more of these signals and / or the motor signal.

[0005] In one aspect, a food processor is disclosed. The food processor may include a motor coupled to a drive shaft and configured to rotate the drive shaft. The food processor may further include a blade assembly coupled to the drive shaft. The blade assembly may be configured to process food while being rotated by the drive shaft. The food processor may include other processing components, including one or more heating elements. One or more processing components of the food processor, such as a motor or a heating element, may be controlled by a controller of the food processor and may be referred to herein as controllable components. Although several embodiments are described herein using a motor as an example of a controllable component, it should be understood that the present invention is not limited thereto, and other controllable components may be used in certain embodiments in addition to or as an alternative to the motor.

[0006] The food processor may further include a monitoring device, which is configured to detect the value of one or more physical properties associated with processing food, such as at least one of the current and voltage associated with the operation of the motor, within a first time period, and output a first series of signals representing the value within the first time period. The food processor may include a memory, which is configured to store a plurality of known food vectors in a multidimensional feature space. Each of the plurality of known food vectors may be associated with a food type. The food processor may further include a controller (e.g., a microprocessor) configured to control the operation of the motor. A microprocessor is used herein as an example of a controller to describe several embodiments, but the present invention is not limited thereto. Other types of controllers may be used.

[0007] In some embodiments, a microprocessor of the food processor may receive a first series of motor signals, determine values ​​of one or more predefined features based on the motor signals, and construct a vector of these determined values ​​(i.e., a detection vector), as described in more detail elsewhere herein. The microprocessor may further compare the position of the detection vector with the position of a plurality of known food vectors in the multidimensional feature space, each food vector corresponding to a respective food. The microprocessor may further identify one or more food types represented as detection vectors associated with the food being processed by determining which one or more of the plurality of known food vectors is closest to the detection vector in the multidimensional feature space.

[0008] The microprocessor can then control the execution of one or more actions based on the determination of the closest one or more food vectors. In one embodiment, the microprocessor causes the motor to continue rotating for a second time period based on the identified food. The second time period can be between 0 seconds and 30 seconds. In some embodiments, the second time period is 15 seconds.

[0009] In one embodiment, the first time period is 15 seconds. In some embodiments, the comparison and identification of the food is based on K-NN classification. According to another embodiment, the monitoring device may include at least one of a current sensor and a voltage sensor.

[0010] In one embodiment, the food product types include one of: apple peanut butter, beat-ginger-smoothie, chocolate peanut butter oatmeal, maple almond butter, cinnamon coffee smoothie, citrus smoothie, basic greens smoothie, three greens smoothie, tropical smoothie, any type of smoothie, extract, sauce, ice cream, pudding, nut butter, whipped cream, margarita, pomegranate cashew berry, strawberry banana, strawberry lime, and frozen drink. In some embodiments, each feature is selected from a group including: peaks in a time series pattern and / or a graph of data, dips in a graph of time series data, standard deviations of a graph of sequence data, and steady-state power consumption in a graph of time series data, standard deviations of time series data (which, as described herein, represent characteristic values ​​detected over a time period) or a subset of time series data (i.e., values ​​detected during the subset of the time period); an average value of the time series data or a subset thereof; a value at a particular time point during the time period represented by the time series data; a difference between a value at a first time point and a value at a second time point during the time period represented by the time series data; momentum of data represented by the time series data or a subset thereof; a gradient of a curve representing the time series data or a subset thereof; other features; or any suitable combination of the foregoing.

[0011] In one aspect, a food processor includes a controllable component coupled to one or more components, the controllable component being configured to process one or more food products. The food processor also includes a monitoring device configured to detect at least one characteristic associated with the processing of the one or more food products during a first time period, wherein a first series of detection signals are generated based on the at least one characteristic detected during the first time period. A memory is configured to store a first plurality of food vectors, wherein each food vector defines a value for a plurality of features in a multidimensional feature space, and each of the first plurality of food vectors is associated with a food type. A controller is configured to control the operation of the controllable component. The controller receives the first series of detection signals and calculates a detection vector based on the first series of detection signals. The detection vector defines a feature value for a plurality of features in the multidimensional feature space. The controller identifies one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of one or more of the first plurality of food vectors in the multidimensional feature space, respectively. The controller then determines one or more actions based at least in part on the identified one or more food types, and controls the operation of the controllable component based at least in part on the determined one or more actions.

[0012] Based on the identified one or more food types, the controller may continue to operate the controllable component for a second time period. The controllable component may include a motor, and operating the motor may include rotating the motor. The controller may identify the food based at least in part on performing a K-NN analysis. The monitoring device may include a current sensor, a voltage sensor, a motor speed sensor, a pressure sensor, and / or a temperature sensor.

[0013] The controller may calculate and / or generate the detection vector by calculating one or more eigenvalues ​​defining the detection vector. A first eigenvalue of the one or more eigenvalues ​​may include a gradient of a curve defined by a first series of detection signals. The controller may detect at least one characteristic associated with processing one or more foods during a first time period by detecting at least one of a current and a voltage associated with the operation of the controllable component during the first time period. The controller may detect at least one characteristic associated with processing the one or more foods by determining the type and / or size of one or more components. The controller may be configured to control the controllable component based at least in part on the type and / or size of one of the components.

[0014] The controller may be configured to identify one or more food types associated with the detection vector by determining which food vector of the first plurality of food vectors is closest to the detection vector in the multidimensional feature space. The controller may be configured to identify one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of two or more food vectors of the first plurality of food vectors in the multidimensional feature space.

[0015] The controller may be configured to control operation of the controllable component based on applying a weighting factor to each of two or more of the first plurality of food vectors, wherein the weighting factor is based on a distance of the food vector from the detection vector, a frequency of determining the food type, and / or a type of container used during food processing. The controller may be configured to classify a first subset of one or more food vectors into a first food category, and control the controllable component based at least in part on determining that a location of the detection vector in the multidimensional feature space is within a first region of the multidimensional feature space associated with the first food category.

[0016] The controller may classify a first subset of one or more food vectors into a first food category based on the detection vector, and control the controllable component based at least in part on determining that the position of the detection vector in the multidimensional feature space is within a first region in the multidimensional feature space associated with the classification of the first food category. The controller may be configured to: classify a second subset of one or more food vectors into a second food category; and control the controllable component based at least in part on determining that the position of the detection vector in the multidimensional feature space is within a second region in the multidimensional feature space associated with the second food category. Each of the features may include a peak value detected in the first series of signals for the at least one characteristic, a drop between values ​​detected in the first series of signals for the at least one characteristic, a standard deviation of values ​​detected in the first series of signals for the at least one characteristic, and / or a value detected in the first series of signals for the at least one characteristic at a particular point in time.

[0017] On the other hand, there is included a method for processing food via a controllable component, the controllable component being configured to process one or more foods, the method comprising: operating the controllable component within a first time period; detecting at least one characteristic associated with the processing of the one or more foods via a monitoring device during the first time period, wherein a first series of detection signals are generated based on the at least one characteristic detected within the first time period; storing a first plurality of food vectors in a memory, each food vector defining values ​​for a plurality of features in a multidimensional feature space, each of the first plurality of food vectors being associated with a food type; calculating a detection vector based on the first series of detection signals, wherein the detection vector defines feature values ​​for a plurality of features in the multidimensional feature space; identifying one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of one or more of the first plurality of food vectors in the multidimensional feature space, respectively; determining one or more actions based at least in part on the identified one or more food types; and controlling the operation of the controllable component based at least in part on the determined one or more actions.

[0018] The method may include continuing to operate the controllable component for a second time period based on the identified one or more food types. The controllable component may include a motor, wherein operating the motor includes rotating the motor. Identifying the food may be based at least in part on performing a K-NN analysis. Identifying the one or more food types associated with the detection vector may include determining which of the first plurality of food vectors is closest to the detection vector in the multidimensional feature space.

[0019] In another aspect, a non-transitory computer-readable storage medium stores instructions including a plurality of food processing instructions associated with a food processing sequence, the plurality of food processing instructions, when executed by a computer, causes the computer to perform a method for processing food using a food processor via a controllable component, the controllable component being configured to process one or more food products, wherein the method comprises: operating the controllable component during a first time period; detecting via a monitoring device at least one characteristic associated with processing of the one or more food products during the first time period, wherein a first series of detection signals are generated based on the at least one characteristic detected during the first time period; storing a first plurality of food vectors in a memory, Wherein each food vector defines values ​​for multiple features in a multidimensional feature space, and each of the first plurality of food vectors is associated with a food type; a detection vector is calculated based on the first series of detection signals, and the detection vector defines feature values ​​for multiple features in the multidimensional feature space; one or more food types associated with the detection vector are identified by determining the position of the detection vector in the multidimensional feature space relative to the position of one or more of the first plurality of food vectors in the multidimensional feature space; one or more actions are determined at least in part based on the identified one or more food types; and the operation of the controllable component is controlled at least in part based on the determined one or more actions.

[0020] Any two or more features described in this specification, including features described in this Summary section, can be combined to form embodiments not specifically described in this specification.

[0021] At least a portion of the systems and processes described in this specification may be configured or controlled by executing instructions stored on one or more non-transitory machine-readable storage media on one or more processing devices. Examples of non-transitory machine-readable storage media include read-only memory, optical drives, memory disk drives, and random access memory. At least a portion of the test systems and processes described in this specification may be configured or controlled using a computing system comprised of one or more processing devices and a memory storing instructions executable by the one or more processing devices to perform various control operations.

[0022] The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 is a perspective view of an example food processor according to some embodiments;

[0024] Figure 2According to some embodiments Figure 1 A block diagram of an example of a system architecture within a food processor;

[0025] Figure 3 is a diagram showing that according to some embodiments Figure 1 A diagram of an example of a process workflow within a food processor;

[0026] Figure 4 is a diagram illustrating an example of a multi-dimensional feature space of a food product according to some embodiments;

[0027] Figure 5 is a diagram illustrating a method for monitoring, analyzing, and executing Figure 1 A flowchart of an example of a process of one or more actions within a food processor;

[0028] Figure 6 is a flow chart illustrating food processing via controllable components configured to process one or more food products according to some embodiments; and

[0029] Figure 7 is a graph illustrating an example detected increased power load trend to confirm that a food being processed is or is not of a particular food classification, according to some embodiments; like reference numerals in different figures indicate like elements. DETAILED DESCRIPTION

[0030] In various embodiments, the present application addresses deficiencies associated with blending one or more food products. The application includes illustrative devices, systems, and methods that enable efficient and reliable sensory characterization of the status of a food processor, such as a blender.

[0031] The present application describes illustrative systems, methods, and devices that enable a blender to sense conditions associated with processing food and determine when the food meets the expected characteristics of the processing results of the food. These example methods, devices, and systems may have advantages in dynamically sensing the cavitation and solidification of blended ingredients in a blending tank in an area away from the blade configuration at the bottom of the blending tank. For example, some embodiments may work by sensing features from the blender within the first 15 seconds and then identifying which data points are closest in distance. Based on which points are closest, the example process may then calculate a weighted average of the time available for program time based on the blending content.

[0032] Figure 1is an example of a blender 100 as a type of food processor. Although the example of a blender is used herein to describe embodiments, it should be understood that the present invention is not limited thereto and is applicable to other types of food processors. In some embodiments, the blender 100 includes a motorized base 104 and a blending container and / or jar 108. When in use, the blending jar or container 108 can be fitted into a recess (not shown) formed in the base 104. The blending jar 108 includes a removable lid 110 that fits into an open top 112 of the blending jar 108. Thus, the blending jar 108 can be filled with one or more food products such as fruit ingredients 106. As described herein, the one or more food products may include and / or refer to any organic substance containing nutrients such as carbohydrates, proteins, and fats that can be ingested by living organisms and metabolized into energy and body tissue. The base 104 includes an electric motor, such as Figure 2 The motor 214 is used to provide rotational power to the blade assembly 102 disposed in the blending jar 108. In some embodiments, the motor is coupled to the drive shaft 116 and is configured to rotate the drive shaft 116. The blade assembly 102 may also be coupled to the drive shaft 116 and may be configured to process ingredients, such as fruit ingredients 106, while being rotated by the drive shaft 116. The blade assembly 102 is a type of blade assembly that may be referred to as a stacked blade. Other types of blade assemblies may be used, such as a more conventional bottom blade assembly (e.g., a high-speed bottom blade (HSBB) blade assembly) that can rotate at a higher speed than a stacked blade assembly.

[0033] The blender 100 may be considered a conventional type of blender having a removable lid 110 at the top end of a blender jar 108 into which ingredients may be added, wherein the blender jar 108 is coupled at its bottom end to a motorized base 104. However, other types of blenders may be used, such as single-serving blenders that have a smaller capacity than conventional blenders and may have a lid or cover including a blade assembly at the end of the blender jar (i.e., a container or cup) through which ingredients are introduced into the blender jar and then the cover is coupled to the blender jar, wherein the blending assembly including the blender jar coupled to the cover including the blade assembly may then be flipped over to couple the cover to a blending base.

[0034] Electronic controls, such as Figure 2 The user interface 212 can control power to the motor 214, which in an embodiment can include one or more switches for controlling the motor 214 at various speeds including "off", "low", "medium" and "high". Figure 1 In some embodiments, the electronic controls of the food processor 100 may include a controller and / or a microprocessor, such as Figure 2A controller 202 is provided, wherein the memory stores preprogrammed and / or dynamic routines for controlling the motor 214. The controller 202 may be configured to receive a first series of motor signals, determine a time series pattern of power consumption of the motor 214 over a first time period, identify a plurality of time series pattern features associated with the time series pattern, calculate a detection vector based on the plurality of time series pattern features, compare a position of the detection vector with positions of the plurality of known food vectors in the multidimensional feature space, and / or identify a food (e.g., a nut butter or a smoothie drink) associated with the detection vector by determining which food vector of the plurality of known food vectors is closest to the detection vector in the multidimensional feature space.

[0035] Figure 1 Monitoring devices may also be included, e.g. Figure 2 A sensor 206 as part of the food processor 100 can be configured to detect one or more physical characteristics associated with processing food, for example, to detect at least one of a current and a voltage associated with operation of a motor, i.e., a controllable component, during a first time period, and to output a first series of motor signals, i.e., detection signals, during the first time period. For example, the first series of motor signals can correspond to at least one characteristic of the food being processed. In addition, the food processor 100 can include a memory, such as Figure 2 A memory (RAM) 204 is configured to store a plurality of known food vectors in a multi-dimensional feature space, each of the plurality of known food vectors being associated with a food type. The blade assembly 102 can be inserted into an opening on the bottom end 114 of the blending jar 108 and secured therein. For example, the blade assembly 102 can be secured by internal threads that engage complementary threads around the bottom end 114 of the blending jar 108.

[0036] exist Figure 1 In some embodiments, based on the identified food from the mixed food 106, the controller 202 continues to rotate, i.e., operate the motor, for a second time period. In some embodiments, the second time period is between 0 seconds and 30 seconds. More specifically, the second time period in which the controller 202 continues to rotate the motor for a second time period based on the identified food can be 15 seconds. The first time period in which the controller 202 determines the power consumption time series pattern of the motor 204 can also be 15 seconds. Figure 1 In some embodiments, the comparison and identification of the food products may be based on K-NN classification. The first and / or second time period may have other durations.

[0037] exist Figure 1In some embodiments, the monitoring device 206 includes at least one of a current sensor and a voltage sensor. In some embodiments, the type of food derived from the ingredient 106 includes one of a smoothie, an extract, a sauce, an ice cream, a pudding, a nut butter, a whipped cream, a frozen drink, another type of food, or any suitable combination of the foregoing. It should be noted that the values ​​of one or more physical properties associated with the processing of the food, for example, the values ​​of the physical properties of the food derived from the ingredient 106 and / or the blending tank 108 within the blender 100, can be detected over time and represented as time series data and / or a time series pattern based on the values ​​of the physical properties. In some cases, the values ​​of static physical properties associated with the processing of the food, such as the capacity of the blending tank 108, are also detected, and such values ​​can be used as part of further processing described elsewhere herein.

[0038] In some embodiments, values ​​of multiple features may be generated based on the time series data, and these feature values ​​may be represented as detection vectors. As described in more detail elsewhere herein, such features may include: standard deviation of the time series data (which, as described herein, represents characteristic values ​​detected over a certain time period) or a subset of the time series data (i.e., for values ​​detected during the subset of the time period); mean value of the time series data or its subset; value at a particular time point during the time period represented by the time series data; difference between a value at a first time point and a value at a second time point during the time period represented by the time series data; momentum of the data represented by the time series data or its subset; gradient of a curve representing the time series data or its subset; other features; or any suitable combination of the above.

[0039] In some embodiments, the detected food is initially classified as a type of food based on the time series data, for example, based on one or more feature values ​​determined therefrom; and subsequent processing of the time series data and / or feature values ​​is based on this initial classification, as described in more detail elsewhere herein. For example, the controller 202 may initially classify the food as a nut butter type or a paste type, in which case subsequent processing is performed in a certain manner; whereas if the food is initially classified as a food that is not a nut butter type or a paste type, subsequent processing is performed in a different manner. In some embodiments, the controller 202 classifies a first subset of food vectors into a first food category, and controls the controllable component, such as a motor, based at least in part on determining that the position of the detection vector in the multidimensional feature space is within a first region associated with the first food category in the multidimensional feature space. For example, various types of nut butters may be members of a first subset of food vectors, and therefore have their food vectors in a first region of the multidimensional feature space, while non-nut butter foods and / or frozen drink foods may be members of a second subset of food vectors, and therefore have their food vectors in a second region of the multidimensional feature space. Classification and subsequent processing of detected food products may employ any of a variety of known or later developed techniques, and such techniques may be implemented using one or more known or later developed techniques, for example, using any of a variety of ML and / or neural networks.

[0040] The controller 202 may be further configured to determine one or more food types that are closest to the detected food based on the determined feature values. For example, this determination may include selecting a subset of the multidimensional feature vectors based on the determined capacity of the blending jar 108 (e.g., a data set of 28 ounces or 64 ounces of capacity), and comparing the detection vector with the subset of the multidimensional feature vectors. In some cases, each such feature vector represents a food type and / or is otherwise associated with a food type, such as a margarita, a smoothie type, and / or another food type, and such vectors may be referred to herein as "food vectors". Such comparisons may include determining which one or more food vectors are closest to the detection vector in the multidimensional feature space, such as determining who is the nearest neighbor. Such determination may use any of various known or later developed techniques, such as the K-nearest neighbor algorithm (KNN), and may use one or more known or later developed techniques such as any of various neural networks to implement such techniques. For example, the controller 202 may identify the food type associated with the detection vector as a particular type of beverage, juice, frozen drink, smoothie, spread, milkshake, cream, sauce, soup, frosting, whipped cream topping, other type of food, or any suitable combination of the foregoing.

[0041] The controller 202 may then determine additional controller 202 actions based on determining one or more closest food types, such as adding additional stirring time to the detected food time. For example, additional stirring time may be associated with each food vector, and the additional time for the detected food may be determined by calculating a combination (e.g., a weighted average) of the additional stirring times associated with the determined one or more closest foods. For example, for each of the one or more closest foods, the weight of its additional time may be proportional to the proximity of its food vector to the vector detected in the multidimensional feature. The controller 202 may then control the ongoing action, such as by sending one or more signals to the motor 214 (e.g., via a switch connected to the motor 214), to control stirring to continue for the additional stirring time, or, for example, to stop the motor when the additional stirring time = 0 seconds.

[0042] Figure 2 is a block diagram of an electronic control system 200 for a food processor according to various embodiments of the present disclosure. The control system 200 may represent an electronic control and / or processing system within a device, such as a micro-purée, blender, ice cream maker, immersion blender, stand mixer, or any accessory for such a device. The control system 200 may include a microcontroller, a processor, a system on a chip (SoC), a client device, and / or a physical computing device, and may include hardware and / or virtual processors. In some embodiments, such as Figure 2 As shown in , the control system 200 and its elements each involve physical hardware, and in some embodiments, one, more or all elements can be implemented using an emulator or a virtual machine. Regardless, the electronic control system 200 can be implemented on physical hardware, such as the food processor 100.

[0043] Likewise Figure 2 As shown in , the control system 200 may include a user interface 212, which has, for example, a keyboard, keypad, touch pad or sensor readout (e.g., a biometric scanner) and one or more output devices, such as a display, a speaker for audio, an LED indicator, and / or a light indicator. The control system 200 may also include a communication interface 210, which may include a network communication unit of wired communication components and / or wireless communication components, which may be communicatively coupled to the controller and / or processor 202. The network communication unit may utilize any of a variety of proprietary or standardized network protocols, such as Ethernet, TCP / IP (to name some of the many protocols) to enable communication between the processor 202 and another device, network, or system. The network communication unit may also include one or more transceivers utilizing Ethernet, power line communication (PLC), Wi-Fi, cellular, and / or other communication methods.

[0044] The control system 200 may include a processing element, such as a controller and / or processor 202, which includes one or more hardware processors, each of which may have a single or multiple processor cores. In one embodiment, the processor 202 includes at least one shared cache that stores data (e.g., computing instructions) utilized by one or more other components of the processor 202. For example, a shared cache may be a local cache of data stored in a memory for faster access by components that make up the processing element of the processor 202. Examples of processors include, but are not limited to, a central processing unit (CPU) and / or a microprocessor. The controller and / or processor 202 may utilize a processor based on, but not limited to, 8051 architecture, 68HCX, 80X86 or other computer architectures. Processor 202 may include, but is not limited to, 8-bit, 12-bit, 16-bit, 32-bit, or 64-bit architectures. Figure 2 Although not shown, the processing elements making up processor 202 may also include one or more other types of hardware processing components, such as a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and / or a digital signal processor (DSP).

[0045] Figure 2 It is also shown that the memory 204 can be coupled to the controller 202 in an operational manner and in a communication manner. The memory 204 can be a non-transitory medium configured to store various types of data. For example, the memory 204 may include one or more storage devices 208, which include non-volatile storage devices and / or volatile memory. Volatile memory such as random access memory (RAM) can be any suitable non-permanent storage device. The non-volatile storage device 208 may include one or more disk drives, optical drives, solid-state drives (SSDs), tape drives, flash memories, read-only memories (ROMs) and / or any other type of memory designed to maintain data for a certain duration after a power-off or shutdown operation. In some configurations, if the allocated RAM is not enough to accommodate all working data, the non-volatile storage device 208 can be used to store overflow data. The non-volatile storage device 208 can also be used to store programs that are loaded into the RAM when such programs are selected for execution. The data storage area and / or storage device 208 can be arranged to store multiple food processing instruction programs associated with multiple food processing sequences, i.e., recipes. Such food processing instruction programs may include instructions for causing the controller and / or processor 202 to: start or stop one or more motors 214 (e.g., Figure 1, a motor 214 in the base 104 of the food processor 100); operating one or more motors 214 for a period of time during a particular food processing sequence; and issuing one or more prompt instructions to the user interface 212, which are output to the user to prohibit a response, action and / or input from the user.

[0046] As will be appreciated by those of ordinary skill in the art, software programs may be developed, coded, and compiled in a variety of computing languages ​​for a variety of software platforms and / or operating systems, and subsequently loaded and executed by processor 202. In one embodiment, the compilation process of a software program may convert program code written in one programming language into another computer language so that the programming code can be executed by processor 202. For example, the compilation process of a software program may generate an executable program that provides coded instructions (e.g., machine code instructions) to processor 202 to implement a specific, non-general purpose, specific computing function.

[0047] After the compilation process, the coded instructions may be loaded into the processor 202 from the storage device 208, from the memory 204, and / or embedded within the processor 202 (e.g., via a cache or onboard ROM) as computer-executable instructions or process steps. The processor 202 may be configured to execute the stored instructions or process steps so that the instructions or process steps are executed to convert the electronic control system 200 into a non-general purpose, specific, specially programmed machine or device. Stored data, such as data stored by the data storage area and / or storage device 208, may be accessed by the processor 202 during execution of the computer-executable instructions or process steps to instruct one or more components within the control system 200 and / or other components or devices external to the system 200.

[0048] The user interface 212 may include a display, a position input device (e.g., a mouse, a touch pad, a touch screen, etc.), a keyboard, a keypad, one or more buttons, or other forms of user input and output devices. The user interface components may be communicatively coupled to the processor 202. When the user interface output device is or includes a display, the display may be implemented in various ways, including by a liquid crystal display (LCD) or a cathode ray tube (CRT) or a light emitting diode (LED) display, such as an OLED display.

[0049] Sensor 206 may include one or more sensors that detect and / or monitor at least one characteristic associated with processing one or more food products by system 100 and / or within or around systems 100 and / or 200—e.g., Figure 1The physical characteristics (i.e., environmental conditions) of the interior or surroundings of the mixing container or tank 108. Characteristics and / or environmental conditions associated with processing one or more food products may include, but are not limited to, rotation, rotation speed and / or movement of a device or component (e.g., a motor), rate of such movement, frequency of such movement, direction of such movement, temperature, pressure, motor current, position of the device or component (e.g., whether a flap or lid is open or closed), and / or presence of the device or component (e.g., whether a lid is attached to, for example, Figure 1 The stirring tank 108). The types of sensors may include, for example, electrical metering chips, current and / or voltage sensors, Hall sensors, inertial measurement units (IMUs), accelerometers, gyroscopes, pressure sensors, temperature sensors, cameras, other types of sensors, or any suitable combination of the foregoing.

[0050] The sensor 206 may also include one or more safety and / or interlock switches that prevent or enable operation of certain components, such as motors, when certain conditions are met (e.g., enabling activation of the motor 214 when the lid 110 is attached to the container 108). A person of ordinary skill in the art will appreciate that the electronic control system 200 may include other components well known in the art, such as Figure 2 Power supplies and / or analog / digital converters not explicitly shown.

[0051] In some embodiments, the control system 200 and / or processor 202 includes a SoC having a number of hardware components, including but not limited to:

[0052] Microcontrollers, microprocessors or digital signal processor (DSP) cores and / or multi-processor SoCs (MPSoCs) having more than one processor core;

[0053] storage areas, including a choice of read-only memory (ROM), random access memory (RAM), electrically erasable programmable read-only memory (EEPROM), and flash memory;

[0054] Timing sources, including oscillators and phase-locked loops;

[0055] Peripherals including counter timers, real-time timers, and power-on reset generators;

[0056] External interfaces, which include industry standards such as Universal Serial Bus (USB), FireWire, Ethernet, Universal Synchronous / Asynchronous Receiver / Transmitter (USART), Serial Peripheral Interface (SPI);

[0057] analog interfaces, including analog-to-digital converters (ADCs) and digital-to-analog converters (DACs); and

[0058] Voltage regulators and power management circuits.

[0059] SoC includes the hardware described above, as well as software that controls microcontrollers, microprocessors and / or DSP cores, peripherals and interfaces. Most SoCs are developed from pre-certified hardware blocks of hardware elements (e.g., called modules or components, which represent IP cores or IP blocks) and software drivers that control their operation. The above list of hardware elements is not exhaustive. SoCs may include protocol stacks that drive industry standard interfaces, such as Universal Serial Bus (USB).

[0060] Once the overall architecture of the SoC has been defined, individual hardware elements can be described in an abstract language called RTL, which represents the register transfer level. RTL is used to define circuit behavior. Hardware elements are connected together in the same RTL language to produce a complete SoC design. In digital circuit design, RTL is a design abstraction that models synchronous digital circuits based on the digital signal (data) flow between hardware registers and the logical operations performed on those signals. RTL abstraction is used to create a high-level representation of the circuit in hardware description languages ​​(HDLs) such as Verilog and VHDL, from which lower-level representations can be derived and actual wiring can be ultimately derived. RTL-level design is a typical practice in modern digital design. Verilog is standardized as the Institute of Electrical and Electronics Engineers (IEEE) 1364 and is an HDL for modeling electronic systems. Verilog is most commonly used for the design and verification of digital circuits at the RTL abstraction level. Verilog can also be used to verify analog circuits and mixed-signal circuits, as well as for designing genetic circuits. In some embodiments, the various components of the control system 200 are implemented on a printed circuit board (PCB).

[0061] Figure 3 It is shown by Figure 1 302. The flowchart 300 is a diagram of an example of a workflow 300 of a process implemented by a controller and / or processor 202 within a food processor 100. The workflow 300 involves processing detected values ​​of physical property values ​​associated with the processing of food, such as the current and voltage of the motor 214, i.e., detection signals, over a certain period of time during the processing of the food, and taking one or more actions as a result of such processing. In some embodiments, the one or more actions include adding processing time and / or adjusting the power supplied to a controllable component such as a motor. The controller 202 may monitor the power consumption of the motor 214; for example, during a stirring cycle, the current and / or voltage are detected via the sensor 206 over an initial period of time (e.g., an initial 15 second period of time), and time series data (e.g., power values) are generated based on these detected values, which can be intuitively represented by the diagram 302. In the diagrams 302, 304, and 306, the horizontal axis represents time, and the vertical axis represents power consumption.

[0062] The time series power values ​​form a curve 303. Time = 0 refers to when the motor is initially powered on, i.e., current is supplied to the motor. As shown, the power initially surges from 0 watts to over 600 watts. This initial spike is a manifestation of a phenomenon known as "inrush current", also known as "locked rotor current". Inrush current is the excess current experienced in the motor and its conductors during the first few moments after the motor is powered on (switched on). The peak value of this spike, the time required to reach the peak value, and the rate at which the power consumption reaches this peak value and falls back from this peak value may all be affected by the load imposed on the motor by the food. Thus, the peak value of this spike, i.e., the peak value of the entire curve 303, the time required to reach the peak value, and the rate at which the power consumption reaches this peak value and falls back from this peak value, may indicate the type of food being processed. Graph 304 shows a subset of the curve 303 of the time series characteristic values ​​from 0 to 5 seconds. Graph 302 shows a subset of the time series characteristic value curve 303 from about 5 seconds to about 15 seconds, wherein only a subset of the vertical axis is shown, which represents the sub-range of power consumption values ​​shown in graphs 302 and 304 .

[0063] like Figure 3 As shown in Figures 304 and 306 of , the controller 202 can generate characteristic values ​​based on the time series power values ​​shown in the curve 303, including but not limited to: the peak power consumption value ("peak") in the time series power values ​​of Figure 302; the difference ("drop") between the peak and the power consumption at a specific time point (for example, the power consumption appears to have recovered from the spike caused by the initial inrush current); the standard deviation ("standard deviation (Stdev)") of the power consumption in the sub-time period of the time period covered by the time series power value; the power consumption ("wattage") at a specific time (for example, 15 seconds) within the time period represented by the time series power value; the power consumption momentum over the sub-time period of the time period represented by the time series power consumption value (for example, the slope of curve 303); the gradient of the curve of the time series power value in the sub-time period of the time period; and / or other characteristic values.

[0064] The time periods detected, the characteristics whose values ​​are determined, and the specific times and sub-time periods for determining the values ​​of these characteristics may vary and are not limited to those shown and described herein. In some embodiments, these parameters and their values ​​are selected based on testing and empirical data, and the parameters that are optimal for generating characteristic values ​​to distinguish foods can be determined based on these testing and empirical data.

[0065] In some embodiments, the controller 202 and / or the food analyzer 308 may, for example, classify the processed food based on one or more of the feature values ​​determined according to time series data such as time series characteristic values, when one or more food products derived from the food material 106 include nut butter. The food analyzer 308 may be implemented as a software program or function, a hardware function, a firmware function, or a combination thereof. In some embodiments, the controller 202 implements the food analyzer 308 as a computer-implemented program, function, and / or routine. This classification may be performed via one or more neural networks, such as a multi-layer perceptron (MLP) classifier. In some embodiments, this classification may include classifying one or more food products derived from the food material 106 as nut butter or another thicker food type. Determining certain characteristics / features of one or more food products being processed, as shown in Figures 302, 304, and 306, may further include the controller and / or processor 202 first sensing, for example, a food processor container type, size, or other related attributes. This data may provide classification and / or classification information, which may help the controller 202 and / or processor assign one or more actions to adapt to related components. For example, the controller 202 may instruct the motor 214 to operate differently depending on the size of the mixing container 108. For example, these actions and / or operations may include the controller 202 directing more or less current and / or power to the motor 214, directing more or less current and / or power to the heating element, directing a different drive shaft speed, and / or adjusting the amount of time or period of time when the motor rotates.

[0066] like Figure 3 As shown in , calculations of various (e.g., 1, 2, 3, 4, 5 or more) features may be performed based on the detected time series patterns shown in graphs 302, 304, and / or 306 to provide a signal including a set of feature values. This may allow for subsequent performance of a nearest neighbor analysis via, for example, a KNN analysis. Each of these time series pattern conditions / characteristics / features may include a peak in a graph of the pattern, a dip in a graph of the pattern, a standard deviation of a graph of the pattern, and / or a steady-state power consumption in a graph of the pattern, as described in detail above. Likewise, these conditions, characteristics, and / or features that may implement the example process may include one or more of the following: mean and / or average, including the average wattage to be employed over a particular time period; standard, including the standard deviation of the wattage to be employed over a particular time period (shown in graph 306); momentum, including the slope of the wattage to be employed over a particular time period (shown in graph 306); maximum, including the maximum wattage of the recorded data (shown in graph 306); and decline, including the percentage decline from the maximum value to the stable wattage (shown in graph 304). These time periods and definitions of stable wattage may be informed and / or formatted by several scenarios to apply to several scenarios, such as U.S. engineering standards.

[0067] Available through Figure 3 The set of feature values ​​determined by the detected time series data and / or patterns shown in Figures 302, 304, and 306 in the above diagrams may then serve as input to the food type analyzer 308 as one or more detection vectors. In addition, as detailed in Figures 302, 304, and 306, certain characteristics / features of one or more foods processed in the multidimensional feature space may additionally include: the controller and / or processor 202 first determines, for example, one or more food details, such as associated features, vectors, and / or other related attributes. For example, the multidimensional feature space may include, for example, Figure 4 , or higher dimensional parameters as shown in . The feature value / detection vector may provide food type information based on the determination of the closest food type in the multidimensional feature space. For example, the controller 202 and / or the food type analyzer 308 may select one or more data sets of multidimensional feature vectors stored in the memory 204 based on the determined capacity of the mixing tank 108. In other cases, the selected one or more data sets of multidimensional feature vectors stored in the memory 204 may be based on other factors and / or characteristics related to the food processor 100 and / or the mixing tank 108. This data may provide classification and / or classification information, which may help the controller and / or processor 202 assign one or more data sets and / or subsequent actions to adapt to the associated one or more foods in, for example, the mixing container 108.

[0068] like Figure 3As shown in , the controller 202 and / or the food type analyzer 308 may compare the detection vector generated from the time series data with a selected data set of food vectors in the multidimensional feature space. In some cases, each food vector represents and / or is associated with a food type. For example, the controller 202 may instruct the motor 214 to operate in different ways according to information from a predetermined food vector, the information including a data set related to the stirring execution in the stirring container 108. This may include, for example, optimizing the stirring time and / or speed to optimally stir one or more different foods according to the instructions provided by the predetermined food vector. For example, the determination of the Margarita vector may cause the addition of an additional stirring time of an X amount, while the determination of the tropical smoothie vector may cause the addition of an additional stirring time of an Y amount. The food type analyzer 308 may include software, hardware, or a combination, so that one or more routines and / or algorithms may be implemented to analyze the time series data shown in Figures 302, 304, and 305 and detect and / or identify food. The food type analyzer 308 may be implemented as a part of the control system 200 and / or the processor 202. For example, the previously provided detection vectors / eigenvalues ​​from time series data may be represented as variables a, b, c, d, for example as coordinates of each data point, where each row represents a data point. The number of columns may be equal to the number of detection vectors / eigenvalues ​​from the measured time series pattern, and the number of rows may be equal to the number of data points:

[0069]

[0070] In some embodiments, the following array maintains the program time (t i ) (e.g., the time to be added), with the same number of rows as the data array above:

[0071]

[0072] according to Figure 3 Once the food type analyzer 308 of the example workflow 300 analyzes the detection vectors / feature values ​​from the time series pattern and determines what the input to the food type analyzer 308 will be, it may be necessary to scale the data for the accuracy of the food type analyzer 308 and the efficiency of its functionality and / or code. For example, to store the data points, the input may be represented as an int8_t data type to save memory. In some embodiments, in order for a standard scaler to optimally perform machine learning, it may be necessary to scale the data between -128 and 127. This scaling may be done according to the U.S. engineering standard using the following equation:

[0073]

[0074] Where x is the raw detection vector data, μ is the mean of the detection vector data, such as the mean of current or wattage, S is the standard deviation of the detection vector data, and X 缩放 is the scaled detection vector data.

[0075] In some embodiments, scaling to use int8_t may not have a significant impact on the results of the food type analyzer 308; therefore, it may be important to ensure that new data points remain within the target range.

[0076] In addition, Figure 3 , once the example food processor determines an input point after sensing data from a detection vector / feature value of the time series data and / or pattern, it may be necessary to calculate a determination of the distance to the detection vector and each food vector. For example, a KNN analysis may be initiated to provide a determination of one or more positions of one or more nearest neighbors in a multidimensional feature space compared to the position of the detection vector. This may involve multiple distance metrics; for example, based on the initial analysis, the Mikowski distance or the Bray-Curtis distance may be used, as shown below:

[0077] Bray Curtis:

[0078]

[0079] Min:

[0080]

[0081] Where j = 1, m = number of iterations, x j = the first coordinate value of the vector point of object A, y j = the first coordinate value of the vector point of object B, p = the order between the two points (by integer value), d BC = Bray-Curtis distance, and d M = Minkowski distance. For Bray-Curtis, which measures the distance between point A and point B, its value is between 0 and 1 if all coordinates are positive. However, if both objects are at 0 coordinate, such as (0,0), then the Bray-Curtis distance is not defined. It can be normalized by dividing the absolute difference by the sum. For p ≥ 1, the Minkowski distance is a metric that arises from the Minkowski inequality. When p < 1, the distance between (0,0) and (1,1) is 2 1 / p >2, but the point (0,1) is at distance 1 from both of them. Since this violates the triangle inequality, it is not a metric for p < 1. However, we can obtain a metric for these values ​​by simply dropping the exponent 1 / p. The resulting metric is also the F-norm.

[0082] according to Figure 3 In an example embodiment of the present invention, once the k nearest neighbors are determined, the program and / or routine of the food type analyzer 308 determines its output as an action. For each of the determined one or more nearest food types, as previously described, a determination of additional time for blending may be specified. This additional time may be specified in the feature vector for the food type based on the stored multi-dimensional feature vector data. As mentioned, each data point may have a time associated with it, thereby requiring a determination of the time at which the data point will be output based on, for example, combining a weighted average of each additional time to produce a total time to be added to the blending process. For example, in Figure 3 This includes a weighted average determination 310 of the additional 8 seconds of time to be added to the stirring process. As with the distance measurement, several different weighting functions may be used, for example:

[0083]

[0084] Where d = the distance between two objects / vector points, z = the number of distance calculations between two corresponding objects / vector points, and w = the weight.

[0085] At this point, the output of the food type analyzer 308 is returned and represented in the easternmost portion of the diagram 302 of the workflow 300, shown as "Time Added".

[0086] In some embodiments, a specific sensor chip can sample, detect and / or monitor the power by sampling the voltage on the terminals / leads of the motor. A controller, such as Figure 2 The controller and / or processor 202, and / or the food type analyzer 308, may thereby obtain this sampled voltage value from the sensor (2) 206, such as a sensor chip, analyze the data, and take action based on this analysis by sending a control signal and / or signaling to the TRIAC switch that controls the power input of the blender motor 214. Based on the control signal and / or signaling from the processor 202 and / or the food type analyzer 308, the output signal of the TRIAC switch (or another type of switch or control mechanism) may stop, start, increase or decrease the motor speed. That is, the analysis described herein may also include identifying one or more recipes associated with a single or aggregated food within the blending container 108, and when the closest one or more recipes are identified, adding blending time according to the determined one or more closest recipes, such as Figure 3 As shown in control step 310.

[0087] Figure 4 An illustrative multidimensional feature space 400 is shown, which contains representations such as those given by Figure 3The food vectors determined by the food type analyzer 308 are vector points, such as vector points 410, 412, 426, and 428. Specifically, for illustrative purposes, the feature space 400 is a two-dimensional feature space, where the horizontal axis 430 represents the value of the first feature and the vertical axis 432 represents the value of the second feature. In some embodiments, some vector points in the feature space 400 represent the values ​​of the first feature and the second feature. Figure 3 The workflow 300 may include detection vectors determined via the controller 202 and / or the food type analyzer 308. For example, the feature space 400 may include detection vectors 402, 404, 406, and 408, which are represented as points in the feature space 400.

[0088] Can be used with Figure 3 A nearest neighbor analysis similar to or different from the KNN analysis discussed in the description of the present invention may be performed based on one or more foods (e.g., two types of smoothies) that are closest to the currently detected food. In some embodiments, the controller 202 classifies the first subset of food vectors into a first food category, such as nut butter, and controls a controllable component, such as the motor 214, based at least in part on determining that the position of the detection vector, such as the detection vector point 408, is within a first region 416 associated with the first food category, such as nut butter, in the multidimensional feature space 400. For example, various types of nut butters may be members of the first subset of food vectors and therefore have their food vectors, such as the vector point 428, in the first region 416 of the multidimensional feature space 400, while non-nut butter foods may be members of the second subset of food vectors and therefore have their food vectors (e.g., the vector points 410, 426, and 412) in the second region 418 of the multidimensional feature space 400. The first region 416 and the second region 418 may be separated by a boundary 414. In some embodiments, the multidimensional feature space 400 may include three or more regions associated with three or more food categories.

[0089] Figure 44 shows a two-dimensional spatial relationship between a food vector and a detection vector. For example, detection vector 402 is spaced apart from food vector 410 by distance 420, spaced apart from food vector 426 by distance 422, and spaced apart from food vector 428 by distance 424. For example, if food vector 410 is associated with a margarita drink, detection vector 402 may be identified as a vector associated with a margarita drink based on distance 420 being the shortest distance, i.e., based on food vector 410 being the closest food vector to detection vector 402. However, in some embodiments, controller 202 and / or analyzer 308 may use distances from detection vector 402 to multiple food vectors to identify a food associated with detection vector 402. Controller 202 may identify a food associated with detection vector 402 based on two closest food vectors, based on three closest food vectors, or more food vectors. In cases where two distances are similar, such as distances 422 and 424 , controller 202 may additionally or alternatively consider third distance 420 to identify a food product associated with a detection vector, such as detection vector 402 .

[0090] In some embodiments, the controller 202 identifies one or more food types associated with the detection vector by determining the position of the detection vector, such as the detection vector 402, in the multidimensional feature space 400, respectively, relative to the position of some or all food vectors (e.g., food vectors 410, 412, 426, and 428) in the multidimensional feature space 400. The controller 202 may determine one or more actions based at least in part on the identified one or more food types. The controller 202 may control the operation of a controllable component, such as the motor 214, based at least in part on the determined one or more actions. In some embodiments, the controller 202 determines one or more actions based at least in part on the region in which the detection vector is located in the feature space 400, such as region 416 or region 418. For example, the detection vector 406 is located in region 416 that may be associated with a nut butter food group or subset, while the detection vector 402 is located in region 418 that may be associated with a non-nut butter and / or beverage food group or subset. Controller 202 may control the operation of a controllable component, such as motor 214, based at least in part on the determined one or more actions associated with the food group or subset.

[0091] In one embodiment, a microcontroller and / or microprocessor, such as controller and / or processor 202, receives a series of signals from motor 214 from one or more sensors, such as sensor 206. Processor 202 determines a time series pattern of power consumption of motor 214 over a first time period via food type analyzer 308. Processor 202 identifies a plurality of time series pattern features associated with the time series pattern and then calculates a detection vector, such as detection vector 402, based on the plurality of time series pattern features. Depending on the basic feature values ​​of the time series that produced detection vector 402, an initial classification of food types, such as nut butter in region 416 or beverages in region 418, may include MLP classifications that result in KNN or non-KNN analysis. These classification events may be aggregated over time to more effectively and efficiently inform additional classifications. Controller 202 and / or food type analyzer 308 compares the position of detection vector 402 in multidimensional feature space 400 with the positions of some or all of the plurality of food vectors. The controller 202 and / or the food type analyzer 308 identifies the food associated with the detection vector 402 by determining which of the plurality of food vectors is closest to the detection vector 402 in the multidimensional feature space 400, such as the food vector 410 at a distance 420 from the detection vector 402. If the food vector 410 is associated with a smoothie, the controller 202 and / or the food type analyzer 308 determines that the food being processed is a smoothie. The controller 202 may then determine how long the motor 214 and the mixing blade should rotate, such as a second time period. In one embodiment, the controller 202 determines the second time period based on one or more of the closest food vectors, such as the food vectors 410, 412, 424, and / or 426. In some embodiments, the controller 202 determines the second time period based on a combined weighted average of additional time dependent upon one or more determinations associated with each food vector (e.g., food vectors 410, 412, 426, and 428) used to identify the detection vector until the motor 214 is stopped to achieve a more accurate and / or consistent smoothie.

[0092] In another case, the controller 202 and / or the food type analyzer 308 receives a series of motor 214 signals from one or more sensors, such as sensor 206. The controller 202 determines a power consumption time series pattern and / or data set of the motor 214 over a first time period via the food type analyzer 308. The controller 202 identifies a plurality of time series pattern features associated with the time series pattern, and then calculates a detection vector, such as detection vector 404, based on the plurality of time series pattern features. In some embodiments, calculating the detection vector includes determining a time series pattern from the detected signal, wherein the time series pattern includes a gradient of a power curve, such as curve 303. The controller 202 and / or the food type analyzer 308 compares the position of the detection vector 404 with the positions of a plurality of known food vectors in the multidimensional feature space 400. By determining which of the first plurality of food vectors is closest to the detection vector 404 in the multidimensional feature space 400, the controller 202 and / or the food type analyzer 308 identifies the food type associated with the detection vector 404. In this case, the closest known food vector is vector 412. If the food vector 412 is known to be associated with whipped cream, the controller 202 and / or the food type analyzer 308 determines that the food being processed is whipped cream. The processor 202 can then determine how long the motor 214 and the mixing blade should rotate, such as a second time period, until the motor 214 stops to achieve more accurate and / or consistent whipped cream.

[0093] In some embodiments, an additional series of motor signals corresponding to the processed food may be detected to more accurately identify and / or confirm the type of food being processed. For example, after the controller 202 classifies the type and / or first subset of the food vector as nut butter, one or more sensors, such as sensor 206, may continue to sense an additional time period, such as 15 seconds, and provide an additional series of motor 214 signals to the controller 202 and / or food type analyzer 308. Based on analyzing this additional series of motor signals, the controller 202 may operate the motor 214 to rotate the mixing blade of the blade assembly 102 for an additional time period. These additional series of motor 214 signals may include power consumption and / or motor current trends over multiple increments or time periods (e.g., multiple 100ms time periods) output from the sensor 206 and analyzed by the controller 202 and / or food type analyzer 308. Based on its analysis, the controller 202 and / or food type analyzer 308 may determine and / or confirm the identity and / or classification of the food, and thereby determine that additional processing of the food is necessary. This determination may be based on whether the power consumption of the motor 214 detected every 100 ms is trending in an increasing or decreasing direction, or is greater than or equal to a threshold rate of increase or decrease, or is greater than or equal to a threshold increase from a minimum recorded value.

[0094] Figure 7A diagram 700 is shown, which shows a detected increasing trend of the power load detected by, for example, sensor 206 relative to motor 214, which controller 202 can analyze to confirm whether the food being processed is a specific food classification, such as a nut butter type. Such additional sensing of motor power and / or current reduces the possibility of misclassification of food types such as nut butter. When the power consumption and / or current trend of motor 214 over a certain period of time is no longer greater than or equal to a set threshold, controller 202 and / or food type analyzer 308 can determine that processing of the food is no longer required.

[0095] In some cases, Figure 4 , when the controller 202 detects at least one characteristic associated with the processing of one or more food products, such as food products derived from the ingredients 106, the controller 202 also determines the type and / or size of one or more components, such as the blending jar 108. In this way, the controller 202 can more efficiently or easily identify food products based on the understanding that certain types of food products are most often or only processed using certain types of components and / or containers. In some embodiments, the controller 202 is configured to classify one or more food products, such as food products in the nut butter area 416, based on a detection vector, such as the detection vector 406 or 408, and by detecting the type of jar 108 used to create the food product associated with the detection vector 406 or 408. In some embodiments, the controller 202 may be configured to control the motor 214 based on only the type and / or size of one component, such as the blending jar 108, based on the recognition that certain types of food products use certain types of components and / or containers when being processed.

[0096] In some embodiments, the controller 202 is configured to identify one or more food types, such as a nut butter type associated with the detection vector 408 and a frozen drink type associated with the detection vector 402, based on applying a weighting factor to some or all food vectors in the feature space 400, such as food vectors 410 and 412. In some embodiments, the weighting factor is based on at least one of the following: the distance of the food vector from the detection vector within the multidimensional feature space 400, the food type associated with the food vector, the frequency of determining the food type, and the container type used during food processing. For example, the weighting factor can be measured and / or assigned on a scale of 0.0-1.0 or any other reasonable weighted scaling metric, which can be used to adjust the value of one or more features of the food vector and / or move the position of the food vector in the multidimensional feature space 400 to enable the controller 202 to identify the food type. In some embodiments, each food vector can be associated with a known type of food, such as the food vector 410 that can be associated with a margarita drink. In addition, some or all food vectors can be used by the controller 202 to identify the food associated with the detection vector. As previously described, the first plurality of food vectors may be based on retrieving data associated with one or more food products (e.g., food vectors 410, 426, and 428, which may be used to identify a food product associated with a particular detection vector (e.g., detection vector 402) as being associated with a margarita drink based on one or more components) in order to determine stirring conditions, such as a period of time during which stirring is performed by operating motor 214, a speed of motor 214 during a particular period of time, a temperature of the food product at a particular time and / or period of time, a pressure in a stirring and / or mixing chamber such as pitcher 108, and the like. Each food vector may define values ​​for a plurality of features.

[0097] Figure 5 is used to monitor, analyze and execute Figure 1 Flowchart of an example process 500 of one or more actions within a food processor of the present invention. Process 500 may include processing one or more food products, involving rotating one or more components via a motor (step 502). For example, this may include rotating a traction shaft coupled to a blade assembly via a motor. The motor, drive shaft, and blade assembly may be similar to Figure 1, such as motor 214, drive shaft 116, and blade assembly 102, respectively. Process 500 may also include processing one or more food products, such as food products derived from food material 106, in a blending container and / or tank 108 while blade assembly 102 is rotated by drive shaft 116 (step 504). Process 500 may further include detecting at least one characteristic associated with processing of the one or more food products during a first time period (step 506). A first series of detection signals may be generated based on the at least one characteristic detected during the first time period. For example, the first series of detection signals may include at least one of a current and a voltage associated with operation of motor 214 during the first time period via sensor 208. Process 500 may also include storing a first plurality of food vectors in a memory, such as Figure 4 410, 412, 426, and 428 of the first plurality of food vectors (step 508). Each food vector may define values ​​of a plurality of features in a multidimensional feature space, such as feature space 400. Thus, each of the first plurality of food vectors, such as food vectors 410 and 420, may be associated with a food type. For example, food vector 410 may be associated with a margarita drink, while food vector 412 may be associated with whipped cream. A first series of motor signals corresponding to at least one characteristic of a food may be processed to generate a detection vector, such as detection vector 402. A plurality of known food vectors (e.g., 410, 412, 426, and 428) may then be stored in the memory 204 and storage device 208 of the system 200 (step 508). The controller 202 may classify the first subset of food vectors into a first food category (e.g., nut butter or beverage) and control a controllable component, such as the motor 214, based on determining that the position of a detection vector, such as the detection vector 402, is within a region 418 associated with a particular food subset, group, and / or category, such as food and beverage, in the multi-dimensional feature space 400. Any of steps 502 to 510 may be performed by, for example, Figure 2 The controller 202 may be executed by a microcontroller and / or a microprocessor.

[0098] Figure 6 A process 600 is shown for identifying a food type and controlling the operation of a controllable component based on an identification of a particular food during processing of the food. The process 600 includes the controller 202 operating the controllable component during a first time period (step 602). The controllable component may include a motor, such as the motor 214, arranged to rotate the drive shaft 102 and the blade assembly 116 to mix the food 106. The controllable component may include a heater or heating element arranged in or near the tank 108 to heat the food being processed. The controllable component may include a pump and / or a valve arranged to adjust the pressure in the tank 108 while the food is being processed. The controllable component may include any device or component configured to affect the physical properties of the food during processing.

[0099] Process 600 also includes detecting at least one characteristic associated with processing of one or more foods via a monitoring device, such as sensor 206, during a first time period, wherein a first series of detection signals are generated based on the at least one characteristic detected during the first time period (step 604). Process 600 includes storing a plurality of food vectors (e.g., food vectors 410, 412, 426, and 428) in a memory, such as memory 204 and / or data storage device 208, wherein each food vector defines values ​​of a plurality of features in multidimensional feature space 400, such that each of the plurality of food vectors is associated with a food type (step 606). Then, a detection vector, such as detection vector 402, is calculated by controller 202 and / or food analyzer 308 based on the series of detection signals, wherein the detection vector defines feature values ​​of a plurality of features in multidimensional feature space 400 (step 608). Controller 202 and / or food analyzer 308 identifies one or more food types associated with a detection vector, such as detection vector 402, by determining the position of the detection vector in the multidimensional feature space relative to the position of one or more of the plurality of food vectors (e.g., food vectors 410, 426, and 428) in multidimensional feature space 400, respectively. (Step 610) For example, food vector 410 may be associated with a margarita drink. Food vector 426 may be associated with another frozen drink type, and food vector 428 may be associated with peanut butter.

[0100] In one embodiment, the controller 202 may determine that the detection vector 402 is associated with a margarita drink based on the food vector 410 being closest to the detection vector 402. The controller 202 may identify the food type associated with the detection vector 402 based on the position of the detection vector 402 relative to one or more known food vectors in the feature space 400. The controller 202 and / or the food analyzer 308 may then determine one or more actions (step 612) based at least in part on the identified one or more food types. The controller 202 may control the operation of controllable components such as the motor 214 based at least in part on the determined one or more actions. For example, the one or more actions may include the controller 202 continuing to operate the controllable components within a second time period based on the identified one or more food types. The controller 202 and / or the analyzer 308 may identify the food based at least in part on performing a K-NN analysis. The controller 202 may determine how long the motor 214 and one or more components such as a mixing blade should rotate, such as a second time period, until the motor 214 stops to achieve a more accurate and / or consistent smoothie.

[0101] In some embodiments, the second time period is between 0 seconds and 30 seconds. In some embodiments, the second time period is 15 seconds. In some embodiments, the first time period is 15 seconds. In addition, the identified food may be based at least in part on K-NN classification. In addition, calculating the detection vector may include determining a time series pattern from the detection signal, wherein the time series pattern includes the gradient of the power curve. In some embodiments, the food type identified by processes 500 and 600 includes one of the following: apple peanut butter smoothie, ginger slap smoothie, chocolate peanut butter oatmeal, maple almond butter, cinnamon coffee smoothie, citrus smoothie, basic green fruit smoothie, three green fruit smoothie, tropical smoothie, any type of smoothie, extract, sauce, ice cream, pudding, nut butter, whipped cream, margarita, pomegranate cashew berry, strawberry banana, strawberry lime and frozen drink.

[0102] Elements of a computer include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. In general, a computer will also include one or more machine-readable storage media, such as a mass storage device for storing data, such as a magnetic disk, magneto-optical disk, or optical disk, or operatively coupled to receive data from or transfer data to the one or more machine-readable storage media, or both. Non-transitory machine-readable storage media suitable for embodying computer program instructions and data include all forms of non-volatile storage areas, including, for example, semiconductor storage area devices, such as EPROM (erasable programmable read-only memory), EEPROM (electrically erasable programmable read-only memory), and flash storage area devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROMs (compact disks-read only memory) and DVD-ROMs (digital versatile disk-read-only memory).

[0103] The elements of the different embodiments described can be combined to form other embodiments not specifically described herein. Elements can be omitted from the previously described system without adversely affecting its operation or the operation of the entire system in general. In addition, various individual elements can be combined into one or more individual elements to perform the functions described in this specification.

[0104] Other embodiments not specifically described in this specification are also within the scope of the following claims.

Claims

1. A food processor, comprising: a controllable component coupled to the one or more components, the controllable component configured to process the one or more food products; a monitoring device configured to detect at least one characteristic associated with said processing of said one or more food products during a first time period, wherein a first series of detection signals is generated based on said at least one characteristic detected during said first time period; a memory configured to store a first plurality of food vectors, each food vector defining values ​​for a plurality of features in a multi-dimensional feature space, each of the first plurality of food vectors being associated with a food type; and a controller configured to control the operation of the controllable component, the controller further configured to: receiving the first series of detection signals; calculating a detection vector based on the first series of detection signals, the detection vector defining feature values ​​for a plurality of features in the multi-dimensional feature space; identifying one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of one or more of the first plurality of food vectors in the multidimensional feature space, respectively; determining one or more actions based at least in part on the identified one or more food types; as well as Operation of the controllable component is controlled based at least in part on the determined one or more actions. 2 . The food processor of claim 1 , wherein the controller continues to operate the controllable component for a second time period based on the identified one or more food types. 3 . The food processor of claim 1 , wherein the controllable component comprises a motor, and operating the motor comprises rotating the motor. The food processor of claim 1 , wherein the identification of the food product comprises performing a K-NN analysis.

5. The food processor of claim 1, wherein the monitoring device comprises at least one of a current sensor, a voltage sensor, a motor speed sensor, a pressure sensor, and a temperature sensor.

6. The food processor of claim 1 , wherein calculating a detection vector comprises calculating one or more eigenvalues ​​defining the detection vector, and A first characteristic value among the one or more characteristic values ​​is a gradient of a curve defined by the first series of detection signals.

7. The food processor of claim 1 , wherein detecting the at least one characteristic associated with the processing of the one or more food products during a first time period comprises detecting at least one of a current and a voltage associated with operation of the controllable component during the first time period.

8. The food processor of claim 1 , wherein detecting at least one characteristic associated with the processing of the one or more food products comprises determining a type and / or size of the one or more components, and Wherein the controller is configured to control the controllable component based at least in part on the type and / or size of one of the components.

9. The food processor of claim 1 , wherein the controller is further configured to identify the one or more food types associated with the detection vector by determining which food vector of the first plurality of food vectors is closest to the detection vector in the multidimensional feature space.

10. The food processor of claim 1 , wherein the controller is further configured to identify the one or more food types associated with the detection vector by determining the position of the detection vector in the multidimensional feature space relative to the positions of two or more of the first plurality of food vectors in the multidimensional feature space.

11. The food processor of claim 10, wherein the controller is configured to control the operation based on applying a weighting factor to each of the two or more of the first plurality of food vectors, the weighting factor being based on at least one of a distance of the food vector from the detection vector, a frequency of determining a food type, and / or a type of container used during food processing.

12. The food processor of claim 1, wherein the controller is further configured to: categorizing a first subset of the one or more food vectors into a first food category; and The controllable component is controlled based at least in part on determining that the position of the detection vector in the multi-dimensional feature space is within a first region of the multi-dimensional feature space associated with the first food category.

13. The food processor of claim 12, wherein the controller is further configured to: classifying a second subset of the one or more food vectors into a second food category; and The controllable component is controlled based at least in part on determining that the position of the detection vector in the multi-dimensional feature space is within a second region of the multi-dimensional feature space associated with the second food category.

14. The food product of claim 1, wherein each of the characteristics is selected from a group comprising: a peak value detected in the first series of signals for the at least one characteristic, a drop between values ​​detected in the first series of signals for the at least one characteristic, a standard deviation of values ​​detected in the first series of signals for the at least one characteristic, and / or values ​​detected in the first series of signals for the at least one characteristic at a specific point in time.

15. A method for processing a food product via a controllable component, the controllable component being configured to process one or more food products, the method comprising: operating the controllable component during a first time period; detecting, via a monitoring device, at least one characteristic associated with said processing of said one or more food products during said first time period, wherein a first series of detection signals are generated based on said at least one characteristic detected during said first time period; storing in a memory a first plurality of food vectors, each food vector defining values ​​for a plurality of features in a multi-dimensional feature space, each of the first plurality of food vectors being associated with a food type; calculating a detection vector based on the first series of detection signals, the detection vector defining feature values ​​for a plurality of features in the multi-dimensional feature space; identifying one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of one or more of the first plurality of food vectors in the multidimensional feature space, respectively; determining one or more actions based at least in part on the identified one or more food types; as well as Operation of the controllable component is controlled based at least in part on the determined one or more actions.

16. The method of claim 15, comprising continuing to operate the controllable component for a second time period based on the identified one or more food types.

17. The method of claim 15, wherein the controllable component comprises a motor, and operating the motor comprises rotating the motor. The method of claim 15 , wherein the identifying of the food product comprises performing a K-NN analysis.

19. The method of claim 15, comprising identifying the one or more food types associated with the detection vector by determining which food vector of the first plurality of food vectors is closest to the detection vector in the multi-dimensional feature space.

20. A non-transitory computer-readable storage medium storing instructions, the instructions comprising a plurality of food processing instructions associated with a food processing sequence, the plurality of food processing instructions, when executed by a computer, causing the computer to perform a method for processing a food product using a food processor via a controllable component, the controllable component being configured to process one or more food products, the method comprising: operating the controllable component during a first time period; detecting, via a monitoring device, at least one characteristic associated with said processing of said one or more food products during said first time period, wherein a first series of detection signals are generated based on said at least one characteristic detected during said first time period; storing in a memory a first plurality of food vectors, each food vector defining values ​​for a plurality of features in a multi-dimensional feature space, each of the first plurality of food vectors being associated with a food type; calculating a detection vector based on the first series of detection signals, the detection vector defining feature values ​​for a plurality of features in the multi-dimensional feature space; identifying one or more food types associated with the detection vector by determining a position of the detection vector in the multidimensional feature space relative to a position of one or more of the first plurality of food vectors in the multidimensional feature space, respectively; determining one or more actions based at least in part on the identified one or more food types; as well as Operation of the controllable component is controlled based at least in part on the determined one or more actions.