Cooking robot control system and cooking robot
Through the hierarchical architecture design of the cooking robot control system, the problems of long development cycle and high cost are solved, and the system is easy to expand and efficiently developed to meet personalized needs.
Patent Information
- Application Number
- CN202510643497.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-19
- Publication Date
- 2025-08-19
AI Technical Summary
In the prior art, the development cycle of the cooking robot control system is long, low efficiency and high cost, making it difficult to meet the personalized needs of different customers.
The hierarchical architecture design of the logical master control layer, display management layer and business execution layer is adopted. The robot control class calls the recipe management class and equipment control class through first-level member variables to realize the analysis and equipment control of the recipe matrix, and supports recipe editing and dynamic adjustment.
It realizes the easy expansion, easy transplantation, high development efficiency and low cost of the cooking robot control system, and meets the personalized needs of different customers.
Smart Images

Figure CN120508012A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of cooking robot control, and in particular to a cooking robot control system and a cooking robot. Background Art
[0002] To meet the diverse needs of different customers, companies typically offer different cooking robots. Developing a separate control system for each customer's requirements, as is currently the case, results in long development cycles, low efficiency, and high costs. Summary of the Invention
[0003] In view of this, the embodiments of the present application provide a cooking robot control system and a cooking robot, which can effectively solve the problems of long development cycle, low efficiency and high cost of cooking robot control systems in the prior art.
[0004] In a first aspect, an embodiment of the present application provides a cooking robot control system, the system comprising: a logic main control layer, a display management layer, and a business execution layer; the logic main control layer comprises a robot control class; the display management layer comprises a recipe management class; the business execution layer comprises multiple device control classes;
[0005] The recipe management class and each of the device control classes are each a first-level member variable of the robot control class. When executing a cooking task, the robot control class calls a cooking function in the recipe management class through the corresponding first-level member variable based on the received target recipe identifier. Furthermore, the cooking function is used to match the target recipe in the obtained recipe information table based on the recipe identifier, parse it to obtain a recipe matrix, and sequentially send each row vector in the recipe matrix to the business execution layer.
[0006] At the business execution layer, the robot control class matches the corresponding first-level member variables according to the control parameters corresponding to each device component contained in the row vector, and uses the control parameters as parameters to call the device setting function of the corresponding device control class through the matched first-level member variables to drive the corresponding device component to perform cooking actions.
[0007] In some embodiments, the display management layer further includes a recipe description class and a step display class; the recipe description class is associated with the step display class; the recipe description class serves as one of the secondary member variables of the recipe management class; the attributes of the recipe description class include a recipe matrix;
[0008] Before executing the cooking task, the robot control class calls the recipe matrix of the recipe description class in the second-level member variable through the recipe management class in the first-level member variable, and displays each row vector in the recipe matrix in the recipe matrix editing area through the step display function in the step display class, so that the user can modify each cooking step.
[0009] In some embodiments, each row vector of the recipe matrix includes a cooking action field and a measurement parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component;
[0010] The display management layer also includes a parameter value filling class;
[0011] The step display function is specifically used to use the row vector and row number obtained by parsing as attributes, and use the attributes as parameters to call the parameter filling function in the parameter value filling class; furthermore, the parameter filling function fills the control parameters corresponding to each field in the display unit with the same row number in the recipe matrix editing area according to the row number of the row vector.
[0012] In some embodiments, the display management layer further includes a gear switching class;
[0013] During the execution of the parameter filling function, the gear switching function in the gear switching class is called, and then the gear switching function is used to obtain the corresponding gear control parameter value list according to the target cooking action, and receive the gear selected from the gear control parameter value list for the target control parameter to be modified.
[0014] In some embodiments, the plurality of equipment control categories include at least two of a heating equipment control category, a liquid material adding equipment control category, a stirring equipment control category, and a rotary pot equipment control category;
[0015] Each row vector of the recipe matrix includes a cooking action field and a metering parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component;
[0016] The robot control class specifically matches the corresponding device control class through a reflection method according to the field identifiers corresponding to the various control parameters included in the row vector to obtain a target device control class, and uses the control parameters as parameters and calls the device setting function of the target device control class corresponding to the first-level member variable to control the corresponding device to perform a cooking action or maintain a corresponding cooking action.
[0017] In some embodiments, the display management layer further includes a recipe optimization class; the control parameter includes a cooking time field corresponding to the cooking time in each step;
[0018] The robot control class is associated with the recipe optimization class as one of its first-level member variables;
[0019] During the cooking task, the robot control class calls the recipe optimization function in the recipe optimization class through the corresponding first-level member variable. Then, the recipe optimization function is used to count the cooking countdown time of the current step and update the parameter value corresponding to the cooking time field in the row vector corresponding to the current step according to the cooking countdown time.
[0020] The recipe management class also includes a save function, and the robot control class calls the save function of the recipe management class through the corresponding first-level member variable to save the updated recipe matrix back to the corresponding target recipe.
[0021] In some embodiments, the recipe management class further includes a recipe export function and a recipe import function; the recipe management class uses a table file with the same number of rows and columns as the recipe matrix to store the recipes; the recipe export function and the recipe import function are mapped to corresponding operation instruction trigger areas in the recipe display interface;
[0022] Among them, the recipe export function is used to respond to the corresponding operation instructions and export the corresponding table file; the recipe import function is used to respond to the corresponding operation instructions and import the table file outside the system into the recipe storage area.
[0023] In some embodiments, the recipe management class is also used to generate a recipe information table based on each recipe, and an operation class is provided for users to add, delete, modify and query the recipe matrix corresponding to each recipe. Each operation class is mapped with a corresponding operation instruction trigger area in the recipe matrix editing area.
[0024] In some embodiments, when the cooking robot adds a new target device component, before executing the cooking task, the method further includes:
[0025] Receiving, through a gear configuration interface, a gear configured to correspond to a cooking action of the target device component and an actual control value of the gear, so as to generate a gear control parameter value list;
[0026] Add the device control class corresponding to the target device component and associate it with the robot control class;
[0027] In response to a recipe editing command, displaying the target recipe via a recipe matrix editing area;
[0028] In response to the command to add a cooking step, a row vector is added to the corresponding row number in the recipe matrix, and the display content of the recipe matrix editing area is updated.
[0029] In a second aspect, an embodiment of the present application provides a cooking robot, which includes a cooking robot control system provided in the first aspect of the present application, and a cooking robot body controlled by the cooking robot control system.
[0030] The embodiments of the present application have the following beneficial effects:
[0031] The system of the present application includes: a logic main control layer, a display management layer and a business execution layer; the logic main control layer includes a robot control class; the display management layer includes a recipe management class; the business execution layer includes multiple device control classes; wherein the recipe management class and each device control class are respectively used as one of the first-level member variables of the robot control class; when executing a cooking task, the robot control class calls the cooking function in the recipe management class through the corresponding first-level member variable according to the received target recipe identifier; furthermore, the cooking function is used to match the target recipe in the obtained recipe information table according to the recipe identifier and parse to obtain a recipe matrix, and send each row vector in the recipe matrix to the business execution layer one by one; in the business execution layer, the robot control class matches the corresponding first-level member variable according to the control parameters corresponding to each device component contained in the row vector, and uses the control parameters as parameters to call the device setting function of the corresponding device control class through the matched first-level member variable to drive the corresponding device component to perform the cooking action. The architecture design composed of the various classes of the present application is easy to expand, easy to transplant, and has high development efficiency and low cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.
[0033] Figure 1 A first UML class diagram of the cooking robot control system according to an embodiment of the present application is shown;
[0034] Figure 2 A second UML class structure diagram of the cooking robot control system according to an embodiment of the present application is shown;
[0035] Figure 3 The third UML structural block diagram of the cooking robot control system according to the embodiment of the present application is shown;
[0036] Figure 4 A fourth UML class structure diagram of the cooking robot control system according to an embodiment of the present application is shown;
[0037] Figure 5 A schematic diagram of a recipe display interface of a cooking robot control system according to an embodiment of the present application is shown;
[0038] Figure 6 The fifth UML class structure diagram of the cooking robot control system according to the embodiment of the present application is shown. DETAILED DESCRIPTION
[0039] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments.
[0040] The components of the embodiments of the present application generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed application, but rather merely represents selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative effort are within the scope of protection of the present application.
[0041] Hereinafter, the terms "including", "having" and their cognates used in various embodiments of the present application are intended only to indicate specific features, numbers, steps, operations, elements, components or combinations of the aforementioned items, and should not be understood as excluding the existence of one or more other features, numbers, steps, operations, elements, components or combinations of the aforementioned items or adding the possibility of one or more features, numbers, steps, operations, elements, components or combinations of the aforementioned items. In addition, the terms "first", "second", "third" and the like are only used to distinguish descriptions and should not be understood as indicating or implying relative importance.
[0042] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meaning as in the context of the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning unless clearly defined in the various embodiments of the present application.
[0043] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments may be combined with each other.
[0044] The present application also provides a cooking robot. Exemplarily, the cooking robot includes a cooking robot control system provided by the present application, and a cooking robot body controlled by the cooking robot control system.
[0045] The cooking robot itself includes: a display device, a heating device, a liquid adding device, a stirring device, a pot rotating device, etc. For example, the heating device is an induction cooker, the liquid adding device is the component for adding liquid, the stirring device is the stirring claw, and the pot rotating device is the component for rotating the pot.
[0046] The cooking robot control system is used to perform cooking actions corresponding to each cooking step by controlling the heating equipment, liquid addition equipment, stirring equipment, and pan rotation equipment. The cooking robot control system is also used to display each cooking step in the form of a cooking step list in the recipe and accept modifications to each cooking step in the recipe.
[0047] The cooking robot control system is described below with reference to some specific embodiments. Figure 1 As shown, the cooking robot control system includes: a logic main control layer, a display management layer and a business execution layer; the logic main control layer includes a robot control class (RobotController); the display management layer includes a recipe management class (RecipeManager); and the business execution layer includes multiple device control classes.
[0048] The robot control class is associated with each device control class and recipe management class through member variables. In other words, the recipe management class and the device control class are each one of the first-level member variables of the robot control class.
[0049] When executing a cooking task, the robot control class calls the cooking function in the recipe management class through the corresponding first-level member variable based on the received target recipe identifier; furthermore, the cooking function is used to match the target recipe in the obtained recipe information table based on the recipe identifier and parse it to obtain the recipe matrix, and then send each row vector in the recipe matrix to the business execution layer one by one.
[0050] Recipe identifiers include recipe codes and recipe names. The recipe management class stores and manages recipes based on these codes and names. For example, the recipe code or name can be used as the name of the stored recipe file. The robot control class retrieves the recipe based on the recipe code or name and calls a packaged class function to deliver the cooking information corresponding to each row vector in the recipe matrix.
[0051] Furthermore, each row vector of the recipe matrix includes a cooking action field and a metering parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component. For example, each row vector of the recipe matrix includes a cooking step number, a cooking action, a plurality of control parameters, etc. Cooking actions include adjusting firepower, adding oil, adding ingredients, etc. The control parameters include at least two cooking actions of firepower control parameters, pot steering control parameters, pot speed control parameters, stirring time control parameters, and pot mouth position control parameters. Exemplarily, the target recipe is a file in a preset format, such as an Excel spreadsheet file. The recipes stored in Excel spreadsheets are shown in Table 1.
[0052] Table 1 Recipes in Excel format
[0053]
[0054] Exemplarily, the recipe matrix includes, but is not limited to, storage in a multidimensional array. The recipe management class reads the file corresponding to the target recipe. A row in the multidimensional array corresponds to a cooking step. The cooking information is stored row by row in an Excel spreadsheet, following the order of the cooking steps. The robot control class uses the parsing function within the recipe management class to read the cooking information row by row from the Excel spreadsheet and issue cooking instructions based on each cooking step. For example, each cooking step is encapsulated into a message and issued via the Modbus RTU protocol, controlling the cooking robot to execute the cooking action according to each cooking step.
[0055] The recipe management class generates a recipe information table based on each recipe's recipe ID. This table manages the recipe information for each dish, making it easier to find recipes. For example, it stores data such as the cooking steps, cooking actions, and cooking time for each recipe. The recipe information table is shown in Table 2.
[0056] Table 2 Recipe information table
[0057]
[0058] At the business execution layer, the robot control class matches the corresponding first-level member variables based on the control parameters for each device component contained in the row vector. It then uses the control parameters as arguments to call the corresponding device control class's device setup function through the matching first-level member variables, driving the corresponding device component to perform the cooking action. The business execution layer is located in the device control center. The robot control class is the control core of the cooking robot, responsible for controlling the operation of the device components.
[0059] The logical control layer serves as the core control layer in the middle, coordinating interactions between the upper and lower layers. It obtains user operation information by calling functions in the display management layer and, based on this information, calls functions in the business execution layer to drive the hardware devices to complete the cooking task.
[0060] Display management layer: This layer focuses on user interface display and interaction, providing an intuitive operating experience. For example, functions such as recipe management and recipe editing are concentrated in this layer, allowing users to easily view and operate recipe information.
[0061] The business execution layer is responsible for specific hardware component control functions, such as pan rotation, stirring, and heat adjustment. This division of labor allows each layer to focus on its core functions, reducing the risk of errors caused by a mix of functions. Clear division of responsibilities improves system stability.
[0062] In summary, this application divides the system functions into a logical main control layer, a display management layer, and a business execution layer. Each layer focuses on specific functional responsibilities, avoiding coupling between functional modules and enhancing the maintainability and scalability of the system. For example, when a function needs to be modified or optimized, it is only necessary to adjust the code of the corresponding layer without affecting other parts. For example, if the user interface display function needs to be improved, it is only necessary to modify the relevant code of the display management layer without changing the logical main control layer or the business execution layer. If new functions are to be added (such as adding new cooking modes or hardware devices), it is only necessary to expand in the corresponding layer. For example, to add a new hardware device (such as a steaming module), it is only necessary to add the corresponding function to the business execution layer and call it by the logical main control layer.
[0063] In one embodiment, Figure 2 As shown, the display management layer also includes a recipe description class (Recipe) and a step display class (Liststep); the recipe description class is associated with the step display class; the recipe description class is one of the secondary member variables of the recipe management class; the attributes of the recipe description class include a recipe matrix.
[0064] Before executing the cooking task, the robot control class calls the recipe matrix of the recipe description class in the second-level member variable through the recipe management class in the first-level member variable, and displays each row vector in the recipe matrix in the recipe matrix editing area through the step display function in the step display class, so that the user can modify each cooking step.
[0065] If the recipe matrix is stored in a multidimensional array, each cooking step corresponds to a row subarray. In the multidimensional array, the cooking step information is stored in the subarray corresponding to the row number according to the step number. Each cooking step corresponds to the information contained in each row vector of the recipe matrix.
[0066] The recipe description class is used to describe the cooking steps for a dish. For example, the attributes of the recipe description class include a list of cooking steps and a recipe identifier (recipe name or recipe code). A row vector in the recipe matrix represents an entry in the cooking step list, with one entry corresponding to one cooking step.
[0067] The step display class is used to describe the cooking steps of a dish and display the data in the form of a list.
[0068] Before executing a cooking task, the robot control class uses the recipe management class, a primary member variable, to call the cooking step list in the recipe description class, a secondary member variable. The information in the subarrays corresponding to each row of the multidimensional array is then displayed in the interface using the step display function in the step display class, allowing the user to modify each cooking step. In this application, the cooking steps stored in the multidimensional array are displayed in a table on the recipe display interface, where one row of data in the multidimensional array corresponds to one cooking step, and each control parameter is displayed in a row of the table in a pre-set order.
[0069] When editing a recipe, the steps that need to be edited are relatively cumbersome. For example, when you need to add ingredients, you need to first edit a section of the ingredients parameters, then edit a section of the firepower parameters, and finally edit a section of the time parameters. This undoubtedly increases the operator's workload and complicates the cooking steps. The present application can complete the editing of the above-mentioned control parameters in one instruction, that is, one instruction contains all the modifiable control parameters. In the cooking action of adding seasoning, you only need to modify the firepower control parameters and the cooking time parameters at the same time in one instruction. The present application displays the cooking step list in an interface table corresponding to the number of rows and columns of the multidimensional array according to each cooking step. Each row corresponds to a cooking step, and each cooking step includes a cooking action and corresponding control parameters, as well as control parameters corresponding to other equipment, for easy modification.
[0070] Further, if Figure 3 The display management layer also includes a parameter value filling class (Actionstep). The parameter value filling class is used to encapsulate the action function, which can specify the cooking action and automatically fill in the default control parameters (the default control parameters are stored in the recipe file) to facilitate the writing of recipe steps by calling this function.
[0071] The step display function is specifically used to use the row vector and row number obtained by parsing as attributes, and use the attributes as parameters to call the parameter filling function in the parameter value filling class; then, the parameter filling function fills the control parameters corresponding to each field in the display unit with the same row number in the recipe matrix editing area according to the row number of the row vector.
[0072] Exemplarily, if the recipe matrix is stored in a multidimensional array, the step display function is specifically used to take the cooking actions and each control parameter in the control parameter combination stored in each row of the parsed sub-array, and obtain the row number of the sub-array in the multidimensional array as an attribute, and use the attribute as a parameter to call the parameter filling function in the parameter value filling class; then, the parameter filling function fills in the cooking action and each control parameter in the corresponding control parameter combination in the row with the same row number in the recipe display interface table according to the row number of the sub-array.
[0073] Further, if Figure 3 As shown, the display management layer also includes a gear switch class (Gearswitch).
[0074] During the execution of the parameter filling function, the gear switching function in the gear switching class is called. Then, the gear switching function is used to obtain the corresponding gear control parameter value list according to the target cooking action, and receive the gear selected from the gear control parameter value list for the target control parameter to be modified.
[0075] The gear switching class also contains an encapsulated gear switching function to facilitate the switching of gears during use. For example, before executing the cooking task, first configure the number of gears for the cooking action, use different gear identifiers to represent different gears, obtain a gear list, associate the corresponding actual control quantity with each gear identifier, and obtain a control quantity gear mapping relationship. For example, set the firepower to low heat, high heat, etc., use "1" as the gear identifier for the low heat gear, use "2" to represent the gear identifier for the medium heat, the power of the low heat is 1000W, associate 1000W with the firepower gear identifier "1", the power of the high heat is 2000W, associate 2000W with the firepower gear identifier "2".
[0076] The gear switching function is used to provide the user with a gear identification list, receive the gear identification selected by the user in the gear identification list, and save the gear identification (store it back into a multidimensional array) in combination with the steps.
[0077] Different cooking actions correspond to different gears; each cooking action corresponds to a gear list, for example, the gear list is named using the keyword of the cooking action to distinguish it. It can be understood that the control amount gear mapping relationship is also named and stored using the keyword of the cooking action.
[0078] During the cooking process, the device control class matches the corresponding gear control parameter value list according to the keyword of the cooking action, obtains the actual control amount according to the gear identifier, and passes the actual control amount as a parameter to the corresponding device control class to drive the execution of the corresponding cooking action.
[0079] Further, if Figure 4As shown, the recipe management class also includes a recipe export function and a recipe import function; the recipe management class uses a table file with the same number of rows and columns as the recipe matrix to store recipes; the recipe export function and the recipe import function are mapped to corresponding operation instruction trigger areas in the recipe display interface;
[0080] Among them, the recipe export function is used to respond to the corresponding operation instructions and export the corresponding table file; the recipe import function is used to respond to the corresponding operation instructions and import the table file outside the system into the recipe storage area.
[0081] For example, the recipe management class uses an Excel spreadsheet to store recipes in the same order as the multidimensional array; the recipe export function and the recipe import function are mapped to corresponding operation instruction trigger areas in the recipe display interface;
[0082] Among them, the recipe export function is used to respond to the corresponding operation instructions and export the corresponding Excel table; the recipe import function is used to respond to the corresponding operation instructions and import the Excel table outside the system into the recipe storage area.
[0083] Furthermore, the recipe management class is also used to generate a recipe information table based on each recipe, and is provided with an operation class for users to add, delete, modify, and query the recipe matrix corresponding to each recipe. Each operation class is mapped to a corresponding operation instruction trigger area in the recipe matrix editing area. In other words, this application can display the cooking steps of a recipe and receive modifications to each cooking step, such as Figure 5 As shown, you can select the control parameter to be modified in the target cooking step in the recipe editing interface (the same as the recipe display interface), respond to the user clicking on the control parameter area, display the various gears corresponding to the control parameter according to the control parameter value list, and receive the target gear selected by the user.
[0084] In one embodiment, Figure 4 As shown, the display management layer also includes a recipe optimization class (Optimizecooking); the control parameter combination includes the cooking time of each step.
[0085] The robot control class is associated with the recipe optimization class as one of its first-level member variables; during the execution of the cooking task, the robot control class calls the recipe optimization function in the recipe optimization class through the corresponding first-level member variable, and then the recipe optimization function is used to count the cooking countdown duration of the current step, and update the parameter value corresponding to the cooking duration field in the corresponding row vector of the current step according to the cooking countdown duration; the recipe optimization function is specifically used to start timing in response to receiving the start instruction of the current step, end timing in response to the end instruction of the current step, and obtain the actual cooking time according to the timing duration.
[0086] The recipe management class also includes a save function. The robot control class calls the save function of the recipe management class through the corresponding first-level member variable to save the updated recipe matrix back to the corresponding target recipe.
[0087] It's difficult for users to accurately create a recipe for a dish. For example, users need to perfectly control the heat to ensure the dish's flavor. However, when editing a recipe, it's difficult to accurately specify the cooking time required for the current step in the recipe, down to the second. In the prior art, the cooking time for each step cannot be modified during the cooking process; it must be manually recorded and then returned to modify the cooking time after the cooking is complete. During the cooking process, a cooking time that is too short or too long for the current step can affect the taste of the dish. Therefore, the present application allows for a longer cooking time to be set in the recipe. The user can click the "Next" button to complete the recipe for the dish, eliminating the need to separately record the cooking time for the current step. The "Change Time" button can be used to adjust the cooking time for each cooking step. Specifically, clicking "Next" on the interface starts timing the execution of the target cooking step. Clicking "Next" again stops timing the target cooking step, resulting in the actual cooking time, which is then recorded for the corresponding target cooking step.
[0088] In one embodiment, Figure 6 As shown, the multiple equipment control classes include at least two of a heating equipment control class (HeatingModule), a liquid material adding equipment control class (LiquidmaterialModule), a stirring equipment control class (MiXingModule) and a rotary pot equipment control class (RotarypotModule).
[0089] Each row vector of the recipe matrix includes a cooking action field and a measurement parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component;
[0090] The robot control class specifically matches the corresponding device control class through the reflection method according to the field identifiers corresponding to the various control parameters included in the row vector, obtains the target device control class, takes the control parameters as parameters and calls the device setting function of the corresponding target device control class in the first-level member variable to control the corresponding device to perform cooking actions or maintain corresponding cooking actions.
[0091] The robot control class specifically matches each control parameter used in the target step through the reflection method to obtain a corresponding device control class, obtains multiple target device control classes, takes each control parameter value as a parameter and calls the device setting function of the corresponding target device control class in the first-level member variable.
[0092] Furthermore, each device control class includes, in addition to the device setup function, a device startup function, a device shutdown function, and a device status acquisition function. It can be understood that the device setup function is used to set the actual control value of the device, the device startup function is used to control the startup of the corresponding device, the device shutdown function is used to control the shutdown of the corresponding device to stop working, and the device status acquisition function is used to obtain the current control value of the corresponding device. Specifically, the cooking robot of this application includes heating equipment, liquid material adding equipment, stirring equipment, and pot turning equipment.
[0093] like Figure 6 As shown, the heating device control class includes a heating device firepower setting function, a firepower device start function, a firepower device shutdown function, and a function for obtaining the current temperature value. By calling the heating device firepower setting function corresponding to the heating device, the control parameters for controlling the firepower are assigned to the corresponding heating device firepower setting function. For example, the instance corresponding to the heating module control class is used as a member variable in the robot control class. In the robot control class, the firepower setting function under the heating module control class is called through the member variable, and the corresponding measurement (control parameter) is used as the parameter of the firepower setting function. The function of the firepower setting function is executed to realize the firepower adjustment function.
[0094] The liquid dosing device control class includes functions for setting the liquid dosing device's liquid volume, starting the liquid dosing device, shutting down the liquid dosing device, and obtaining the current liquid measurement. By calling the liquid dosing device's corresponding liquid dosing device liquid volume setting function, the control parameters for controlling the liquid dosing are assigned to the corresponding liquid dosing device liquid volume setting function.
[0095] The mixing equipment control class includes the mixing equipment speed setting function, the mixing speed start function and the mixing equipment shutdown function.
[0096] The rotary pot equipment control class includes the rotary pot equipment speed setting function, the rotary pot equipment start function and the rotary pot equipment shut down function.
[0097] like Figure 5 As shown, the gears of the fire control parameters include ignition, low heat, medium-low heat, medium heat, medium-high heat and high heat. For example, the liquid material adding module control class is used to control the addition of water, oil, and thickening. Click the corresponding button, and this application will automatically calculate and display the corresponding added weight. The stirring module control class is used to control the forward and reverse rotation of the stir-frying parts such as the stirring claws, which is divided into five gears. The pot turning module control class is used to control the position of the rotating pot, including the low position, seasoning position, pot washing position, dish serving position, etc.
[0098] For example, instances of the heating module control class, the liquid addition module control class, the stirring module control class, and the rotating pot module control class are each used as a member variable in the robot control class. Within the robot control class, functions within these control classes are called through these member variables to implement the corresponding functionality. Specifically, the corresponding control class is obtained by reflecting the string based on the action identifier. For example, if the action identifier is "heating," then the HeatingModule control class is obtained by reflecting the string "heating."
[0099] In order to quickly expand the functions of the cooking robot, especially when the cooking robot adds a new device component (target device component). In the case of adding a new target device component to the cooking robot, before executing the cooking task, the present application also includes: 1) receiving the gear and the actual control amount of the gear included in the cooking action corresponding to the target device component through the gear configuration interface, generating a gear control parameter value list according to the gear and the actual control amount of the gear, and naming the gear control parameter value list according to the cooking action corresponding to the target device component, so that the subsequent gear switching function can read the gear number and the device control function can read the actual control amount;
[0100] 2) Add the device control class corresponding to the target device component and associate it with the robot control class. Add the device control class corresponding to the target device component and associate it with the robot control class as a member function of the robot control class, so that the robot control class can call the device control class corresponding to the target device component; add the device startup function, device shutdown function, and device status acquisition function;
[0101] 3) In response to a recipe editing command, the target recipe is displayed through the recipe matrix editing area.
[0102] Add a cooking action for the target device component to the recipe. In response to a recipe edit command, the robot control class uses the recipe management class, a primary member variable, to call the recipe matrix (cooking step list) in the recipe description class, a secondary member variable. Each row vector in the recipe matrix is displayed in the recipe matrix editing area using the step display function in the step display class, allowing the user to modify each cooking step. Exemplarily, the recipe matrix is represented by a cooking step list.
[0103] 4) The step display function is specifically used to use the row vector and row number obtained by parsing as attributes, and use the attributes as parameters to call the parameter filling function in the parameter value filling class; then, the parameter filling function fills the control parameters corresponding to each field in the display unit with the same row number in the recipe matrix editing area according to the row number of the row vector.
[0104] Exemplarily, if the recipe matrix adopts multidimensional data storage, the step display function is specifically used to take the cooking actions stored in each row of the sub-array obtained by parsing and each control parameter in the control parameter combination, and obtain the row number of the sub-array in the multidimensional array as an attribute, and call the parameter filling function in the parameter value filling class with the attribute as a parameter; the parameter filling function fills in the cooking action and each control parameter in the corresponding control parameter combination in the row with the same row number in the recipe display interface table according to the row number of the sub-array.
[0105] 5) During the execution of the parameter filling function, the gear switching function in the gear switching class is called; the gear switching function is used to obtain the corresponding gear control parameter value list according to the target cooking action, and receive the gear selected from the gear control parameter value list for the target control parameter to be modified; in the step corresponding to each cooking action, the control parameter combination includes not only the control parameters corresponding to the cooking action itself, but also the control parameters corresponding to the cooking action of other devices.
[0106] 6) In response to the recipe save command received through the recipe editing interface, the robot control class calls the save function of the recipe management class in the first-level member variable to save the steps corresponding to the added cooking action back to the corresponding target recipe.
[0107] This application is easy to expand. When the cooking robot adds new control devices (components) and new cooking actions, it is necessary to add the corresponding device control class, write the corresponding device setting function, device startup function, device shutdown function and device status acquisition function, and then associate the recipe management class with the newly added device control class, trigger the recipe to be displayed on the recipe editing interface, add the cooking action of the device, configure the various control parameters and the control parameters of other devices corresponding to the step.
[0108] The idea behind this application is to divide the system into three layers (the logical main control layer, the display management layer, and the business execution layer), including a logical main control layer in the middle, which includes the robot main control class, responsible for calling and managing the function classes of other layers. For example, the upper display management layer includes various functions for recipe management, as well as the recipe operation information displayed on the interface; while the lower business execution layer includes various functional functions, which are used to call functional functions based on the selected recipe information when the user chooses to cook, and then drive the associated hardware device components, such as turning the pot, stirring, adjusting the heat, etc.
[0109] This application uses a layered architecture design to achieve a clear division of labor among the logical control layer, display management layer, and business execution layer, with the following core advantages:
[0110] Modular design: Improve the maintainability and scalability of the system.
[0111] Clarify the division of responsibilities: enhance the stability and reliability of the system.
[0112] Flexible user interaction: Provides diverse operation modes to meet different user needs.
[0113] Dynamic adjustment capability: adapt to complex cooking scenarios and ensure cooking quality.
[0114] Reduce development costs: Reduce development and debugging workload through layered testing and code reuse.
[0115] The present application also provides a terminal device. Exemplarily, the terminal device includes a processor and a memory, wherein the memory stores a computer program, and the processor runs the computer program to enable the terminal device to execute various types of functions in the above-mentioned cooking robot control system.
[0116] Among them, the processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including a central processing unit (CPU), a graphics processing unit (GPU) and a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or at least one of other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., which can implement or execute the disclosed methods, steps and logic block diagrams in the embodiments of the present application.
[0117] The memory may be, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), etc. The memory is used to store a computer program, and the processor may execute the computer program accordingly after receiving an execution instruction.
[0118] The present application also provides a computer-readable storage medium for storing the computer program used in the terminal device. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0119] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and structure diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in an alternative implementation, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the structure diagram and / or flowchart, and the combination of boxes in the structure diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.
[0120] In addition, the functional modules or units in the various embodiments of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0121] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a smart phone, personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.
[0122] The above is only a specific implementation method of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with this technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be covered by the scope of protection of the present application.
Claims
1. A cooking robot control system, characterized in that: The system includes: a logic main control layer, a display management layer and a business execution layer; the logic main control layer includes a robot control class; the display management layer includes a recipe management class; the business execution layer includes multiple device control classes; The recipe management class and each of the device control classes are each a first-level member variable of the robot control class. When executing a cooking task, the robot control class calls a cooking function in the recipe management class through the corresponding first-level member variable based on the received target recipe identifier. Furthermore, the cooking function is used to match the target recipe in the obtained recipe information table based on the recipe identifier, parse it to obtain a recipe matrix, and sequentially send each row vector in the recipe matrix to the business execution layer. At the business execution layer, the robot control class matches the corresponding first-level member variables according to the control parameters corresponding to each device component contained in the row vector, and uses the control parameters as parameters to call the device setting function of the corresponding device control class through the matched first-level member variables to drive the corresponding device component to perform cooking actions.
2. The cooking robot control system according to claim 1, characterized in that: The display management layer further includes a recipe description class and a step display class; the recipe description class is associated with the step display class; the recipe description class serves as one of the secondary member variables of the recipe management class; the attributes of the recipe description class include a recipe matrix; Before executing the cooking task, the robot control class calls the recipe matrix of the recipe description class in the second-level member variable through the recipe management class in the first-level member variable, and displays each row vector in the recipe matrix in the recipe matrix editing area through the step display function in the step display class, so that the user can modify each cooking step.
3. The cooking robot control system according to claim 2, characterized in that: Each row vector of the recipe matrix includes a cooking action field and a metering parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component; The display management layer also includes a parameter value filling class; The step display function is specifically used to use the row vector and row number obtained by parsing as attributes, and use the attributes as parameters to call the parameter filling function in the parameter value filling class; furthermore, the parameter filling function fills the control parameters corresponding to each field in the display unit with the same row number in the recipe matrix editing area according to the row number of the row vector.
4. The cooking robot control system according to claim 3, characterized in that: The display management layer also includes a gear switching class; During the execution of the parameter filling function, the gear switching function in the gear switching class is called, and then the gear switching function is used to obtain the corresponding gear control parameter value list according to the target cooking action, and receive the gear selected from the gear control parameter value list for the target control parameter to be modified.
5. The cooking robot control system according to claim 1, characterized in that: The multiple equipment control categories include at least two of a heating equipment control category, a liquid material adding equipment control category, a stirring equipment control category, and a rotary pot equipment control category; Each row vector of the recipe matrix includes a cooking action field and a metering parameter field corresponding to the target device component, and control parameters corresponding to the control parameter field corresponding to each other device component; The robot control class specifically matches the corresponding device control class through a reflection method according to the field identifiers corresponding to the various control parameters included in the row vector to obtain a target device control class, and uses the control parameters as parameters and calls the device setting function of the target device control class corresponding to the first-level member variable to control the corresponding device to perform a cooking action or maintain a corresponding cooking action.
6. The cooking robot control system according to claim 1, characterized in that: The display management layer also includes a recipe optimization class; the control parameters include a cooking time field corresponding to the cooking time in each step; The robot control class is associated with the recipe optimization class as one of its first-level member variables; During the cooking task, the robot control class calls the recipe optimization function in the recipe optimization class through the corresponding first-level member variable. Then, the recipe optimization function is used to count the cooking countdown time of the current step and update the parameter value corresponding to the cooking time field in the row vector corresponding to the current step according to the cooking countdown time. The recipe management class also includes a save function, and the robot control class calls the save function of the recipe management class through the corresponding first-level member variable to save the updated recipe matrix back to the corresponding target recipe.
7. The cooking robot control system according to claim 2 or 3, characterized in that: The recipe management class also includes a recipe export function and a recipe import function; the recipe management class uses a table file with the same number of rows and columns as the recipe matrix to store the recipes; the recipe export function and the recipe import function are mapped to corresponding operation instruction trigger areas in the recipe display interface; Among them, the recipe export function is used to respond to the corresponding operation instructions and export the corresponding table file; the recipe import function is used to respond to the corresponding operation instructions and import the table file outside the system into the recipe storage area.
8. The cooking robot control system according to any one of claims 1 to 6, characterized in that: The recipe management class is also used to generate a recipe information table based on each recipe, and is provided with an operation class for users to add, delete, modify and query the recipe matrix corresponding to each recipe. Each operation class is mapped with a corresponding operation instruction trigger area in the recipe matrix editing area.
9. The cooking robot control system according to claim 4, characterized in that: In the case where a new target device component is added to the cooking robot, before executing the cooking task, the process further includes: Receiving, through a gear configuration interface, a gear configured to correspond to a cooking action of the target device component and an actual control value of the gear, so as to generate a gear control parameter value list; Add the device control class corresponding to the target device component and associate it with the robot control class; In response to a recipe editing command, displaying the target recipe via a recipe matrix editing area; In response to the command to add a cooking step, a row vector is added to the corresponding row number in the recipe matrix, and the display content of the recipe matrix editing area is updated.
10. A cooking robot, characterized in that: The cooking robot includes the cooking robot control system according to any one of claims 1 to 9, and a cooking robot body controlled by the cooking robot control system.