Control method and apparatus for cleaning robot, device, and medium

Through the graphical interface and instruction block editor, users can customize the control logic of the cleaning robot, solving the problem of the inability to meet diversified and personalized interactions in the existing technology, and improving the usage scenarios and efficiency of the cleaning robot.

WO2025152911A1PCT designated stage expired Publication Date: 2025-07-24BEIJING ROBOROCK INNOVATION TECH CO LTD

Patent Information

Application Number
PCT/CN2025/072169
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-16
Filing Date
2025-01-14
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

The existing cleaning robot interaction methods cannot meet the diverse and personalized configuration functions of users, and it is difficult to achieve highly flexible user interaction.

Method used

Provides a graphical interface, including an instruction block panel and an instruction editor, where users can formulate target control logic by selecting and combining instruction blocks, and generate target control codes, and clean the robot to execute this code to achieve personalized functions.

Benefits of technology

It enriches the use scenarios of cleaning robots, improves its work efficiency, and realizes users' high-level custom control of cleaning robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025072169_24072025_PF_FP_ABST
    Figure CN2025072169_24072025_PF_FP_ABST
Patent Text Reader

Abstract

A control method and apparatus for a cleaning robot, a device, and a medium, relating to the technical field of robots. The method comprise: providing a graphical interface at a configuration end, wherein the interface comprises an instruction block panel and an instruction editor, and the instruction block panel comprises at least one instruction block (S101); in the instruction editor, receiving one or more target instruction blocks selected from the instruction block panel, and by means of the one or more target instruction blocks, formulating target control logic for controlling a cleaning robot (S102); and controlling the cleaning robot on the basis of the formulated target control logic (S103). By providing the graphical interface at the configuration end, users can formulate target control logic according to their diverse and personalized requirements, so as to meet corresponding target function requirements, such that the usage scenarios of the cleaning robot are enriched, improving the working efficiency of the cleaning robot.
Need to check novelty before this filing date? Find Prior Art

Description

Control method, device, equipment and medium of cleaning robot

[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on January 16, 2024, with application number 202410063920.1, and invention name “Control method, device, equipment and medium for cleaning robot”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of robotics technology, and in particular to a control method and device, equipment, and medium for a cleaning robot. Background Art

[0003] With the development of computer and embedded technologies, various cleaning robots, such as sweeping robots and mopping robots, have emerged. Currently, users can interact with cleaning robots through apps (application programs) using virtual buttons or voice commands. The cleaning robots can then follow the interactive instructions to autonomously navigate designated areas and perform operations such as cleaning or clearing.

[0004] However, currently only fixed instructions can be sent to cleaning robots, which cannot meet the user's diverse and personalized configuration function requirements. Therefore, this technical problem needs to be solved urgently. Summary of the Invention

[0005] In view of the above problems, the present application is proposed to provide a control method, device, equipment and medium for a cleaning robot that overcomes the above problems or at least partially solves the above problems. The technical solution is as follows:

[0006] In a first aspect, a control method for a cleaning robot is provided, which is applied to a configuration end, and the method includes:

[0007] Providing a graphical interface, the interface including an instruction block panel and an instruction editor, the instruction block panel including at least one instruction block;

[0008] Receiving one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulating target control logic for controlling the cleaning robot through the one or more target instruction blocks;

[0009] The cleaning robot is controlled according to the formulated target control logic.

[0010] In a possible implementation, the instruction block includes at least one level one instruction block.

[0011] In a possible implementation, the first-level instruction block includes at least one second-level instruction block.

[0012] In a possible implementation, receiving, in the instruction editor, one or more target instruction blocks selected from the instruction block panel includes:

[0013] One or more target instruction blocks selected from the primary instruction blocks and / or secondary instruction blocks in the instruction block panel are received in the instruction editor.

[0014] In one possible implementation, at least one of the first-level instruction blocks includes one or more of an artificial intelligence instruction block, a sweeping instruction block, a judgment instruction block, an action instruction block, a function instruction block, a loop and branch instruction block, an event instruction block, and other instruction blocks.

[0015] In one possible implementation, if the first-level instruction block includes an artificial intelligence instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of speech recognition, object recognition, stain recognition, and language recognition wake-up.

[0016] In one possible implementation, if the first-level instruction block includes a cleaning instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of a cleaning position, a cleaning mode, and a suction force.

[0017] In one possible implementation, formulating a target control logic for controlling the cleaning robot through the one or more target instruction blocks includes:

[0018] Obtaining information describing functions to be achieved by controlling the cleaning robot;

[0019] Based on the description information of the function, a target control logic for controlling the cleaning robot is formulated through the one or more target instruction blocks.

[0020] In a second aspect, a control method for a cleaning robot is provided, which is applied to the cleaning robot, and the method comprises:

[0021] Receive a target control code sent from a configuration end; wherein the target control code is generated by the configuration end according to a developed target control logic, the configuration end receives one or more target instruction blocks selected from an instruction block panel in an instruction editor, and develops a target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration end provides a graphical interface, the interface including the instruction block panel and the instruction editor, the instruction block panel including at least one instruction block;

[0022] The target control code is executed to control the cleaning robot.

[0023] In one possible implementation, the cleaning robot includes a code snippet manager and a code executor;

[0024] After receiving the target control code sent from the configuration end, the method further includes:

[0025] The code segment manager stores the target control code;

[0026] Executing the target control code to control the cleaning robot includes:

[0027] The code snippet manager loads the target control code into the code executor;

[0028] The code executor executes the target control code to control the cleaning robot.

[0029] In a possible implementation, the cleaning robot further includes a function server;

[0030] The code executor executes the target control code to control the cleaning robot, including:

[0031] In the process of executing the target control code, the code executor customizes the functional service to the functional server when a functional service is involved, and the functional server subscribes to the event corresponding to the functional service from the Internet of Things (IoT) event bus;

[0032] When the code executor monitors the event corresponding to the functional service, it executes the control code of the event corresponding to the functional service to control the cleaning robot.

[0033] In a possible implementation, the code executor executes the target control code to control the cleaning robot, including:

[0034] The code executor starts a thread to execute the target control code, and during the execution of the target control code, checks the execution status of one or more of the following items of the target control code according to a set duration:

[0035] Whether the thread exists;

[0036] Whether an exception occurs in the control code of the event response;

[0037] Whether the execution time of the target control code exceeds a preset threshold;

[0038] Whether the cleaning robot reports an error;

[0039] Whether a stop command sent from the configuration terminal is received;

[0040] When one or more of the following occurs: the thread does not exist, an exception occurs in the control code of the event response, the execution time of the target control code exceeds a preset threshold, the cleaning robot reports an error, or a stop command is received from the configuration end, the execution of the target control code is stopped.

[0041] In a possible implementation, the code snippet manager loads the target control code into the code executor, including:

[0042] The code snippet manager loads the target control code into the sandboxed code executor;

[0043] The code executor executes the target control code to control the cleaning robot, including:

[0044] The code executor executes the target control code in a sandbox to control the cleaning robot.

[0045] In a third aspect, a control device for a cleaning robot is provided, which is applied to a configuration end, and the device includes:

[0046] A display unit, configured to provide a graphical interface, the interface including an instruction block panel and an instruction editor, the instruction block panel including at least one instruction block;

[0047] a formulation unit, configured to receive one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulate a target control logic for controlling the cleaning robot through the one or more target instruction blocks;

[0048] A control unit is used to control the cleaning robot according to the formulated target control logic.

[0049] In a fourth aspect, a control device for a cleaning robot is provided, which is applied to the cleaning robot, and the device comprises:

[0050] A receiving unit, configured to receive a target control code sent from a configuration end; wherein the target control code is generated by the configuration end according to a developed target control logic, the configuration end receives one or more target instruction blocks selected from an instruction block panel in an instruction editor, and develops a target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration end provides a graphical interface, the interface including the instruction block panel and the instruction editor, the instruction block panel including at least one instruction block;

[0051] An execution unit is used to execute the target control code to control the cleaning robot.

[0052] In a fifth aspect, a configuration end is provided, comprising a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above-described control methods for the cleaning robot.

[0053] In a sixth aspect, a storage medium is provided, wherein the storage medium stores a computer program, wherein the computer program is configured to execute any of the above-mentioned control methods for the cleaning robot when running.

[0054] In a seventh aspect, a cleaning robot is provided, comprising a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above-described control methods for the cleaning robot.

[0055] In an eighth aspect, a storage medium is provided, wherein the storage medium stores a computer program, wherein the computer program is configured to execute any of the above-mentioned control methods for the cleaning robot when running.

[0056] By means of the above-mentioned technical solution, the control method, apparatus, device and medium of the cleaning robot provided in the embodiment of the present application can provide a graphical interface on the configuration end, which includes an instruction block panel and an instruction editor, and the instruction block panel includes at least one instruction block; one or more target instruction blocks selected from the instruction block panel are received in the instruction editor, and a target control logic for controlling the cleaning robot is formulated through the one or more target instruction blocks; and the cleaning robot is controlled according to the formulated target control logic. It can be seen that this embodiment can provide a graphical interface on the configuration end, and users can formulate target control logic according to their own diverse and personalized needs, realize corresponding target function requirements, enrich the use scenarios of the cleaning robot, and improve the working efficiency of the cleaning robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0057] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments of the present application.

[0058] FIG1 is a flowchart showing a control method for a cleaning robot applied to a configuration terminal according to an embodiment of the present application;

[0059] FIG2 shows a flow chart of a control method for a cleaning robot according to an embodiment of the present application;

[0060] FIG3A shows a graphical interface provided by an embodiment of the present application;

[0061] FIG3B shows a schematic diagram of the interaction between the graphical interface and the cleaning robot provided in an embodiment of the present application;

[0062] FIG4 shows a schematic diagram of a graphical interface provided in an embodiment of the present application;

[0063] FIG5 shows another schematic diagram of a graphical interface provided in an embodiment of the present application;

[0064] FIG6 shows another schematic diagram of a graphical interface provided in an embodiment of the present application;

[0065] FIG7 is a schematic diagram showing the control logic corresponding to the first function provided in an embodiment of the present application;

[0066] FIG8 is a schematic diagram showing the control logic corresponding to the second function provided in an embodiment of the present application;

[0067] FIG9 is a schematic diagram showing the control logic corresponding to the third function provided in an embodiment of the present application;

[0068] FIG10 is a schematic diagram showing the control logic corresponding to the fourth function provided in an embodiment of the present application;

[0069] FIG11 is a schematic diagram showing an event corresponding to a subscription function service of a sweeping machine function server provided in an embodiment of the present application;

[0070] FIG12 shows a structural diagram of a control device for a cleaning robot applied to a configuration terminal according to an embodiment of the present application;

[0071] FIG13 shows a structural diagram of a control device for a cleaning robot provided in an embodiment of the present application. DETAILED DESCRIPTION

[0072] The following describes exemplary embodiments of the present application in more detail with reference to the accompanying drawings. Although exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0073] It should be noted that the terms "first," "second," and the like in the specification and claims of this application and the accompanying drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that such usage is interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the term "including" and its variations are to be interpreted as open-ended terms meaning "including but not limited to."

[0074] In order to solve the above technical problems, an embodiment of the present application provides a control method for a cleaning robot applied to a configuration end. As shown in FIG1 , the control method for a cleaning robot applied to a configuration end may include the following steps S101 to S103:

[0075] Step S101, providing a graphical interface, the interface including an instruction block panel and an instruction editor, the instruction block panel including at least one instruction block;

[0076] Step S102: receiving one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulating target control logic for controlling the cleaning robot through the one or more target instruction blocks;

[0077] Step S103: Control the cleaning robot according to the established target control logic.

[0078] In this step, a target control code may be generated according to the established target control logic, and the target control code may be sent to the cleaning robot so that the target control code is executed to control the cleaning robot.

[0079] This embodiment can provide a graphical interface on the configuration end, and users can formulate target control logic according to their own diverse and personalized needs to achieve corresponding target function requirements, thereby enriching the use scenarios of the cleaning robot and improving the work efficiency of the cleaning robot.

[0080] In this embodiment, the functional points of the cleaning robot and the configurable parameters and modes of each functional point can be specifically sorted out, and these functional points, configurable parameters and modes of each functional point can be encapsulated into programming instructions, which can be intuitively and clearly integrated into a graphical interface, and at least one instruction block can be displayed in the instruction block panel of the interface.

[0081] In one embodiment of the present application, a possible implementation method is provided. The at least one instruction block displayed in the instruction block panel of the interface may include a first-level instruction block, each of which includes a second-level instruction block. For example, the first-level instruction block may be an AI (Artificial Intelligence) instruction block, which includes second-level instruction blocks such as speech recognition, object recognition, stain recognition, and language recognition wake-up.

[0082] Optionally, each secondary instruction block may further include a tertiary instruction block, such as a first camera, a second camera, etc., which is not limited in this embodiment.

[0083] In addition, each third-level instruction block can also include a fourth-level instruction block, and so on. The hierarchy can be set based on programming instructions encapsulated based on function points, configurable parameters of each function point, and modes, etc. This embodiment does not limit this.

[0084] In one embodiment of the present application, a possible implementation is provided. In step S102 above, the instruction editor receives one or more target instruction blocks selected from the instruction block panel. Specifically, the instruction editor may receive one or more target instruction blocks selected from the primary instruction blocks and / or secondary instruction blocks in the instruction block panel. This makes selection more flexible and efficient. The one or more target instruction blocks can be selected from the instruction block panel by clicking, dragging, or double-clicking, and this embodiment does not limit this.

[0085] Optionally, if the instruction block panel includes multi-level instruction blocks, such as first-level instruction blocks, second-level instruction blocks, third-level instruction blocks, etc., one or more target instruction blocks can be selected from these multi-level instruction blocks, which makes the selection more flexible and efficient.

[0086] A possible implementation method is provided in an embodiment of the present application. The various first-level instruction blocks mentioned in this embodiment may include one or more of artificial intelligence instruction blocks, cleaning instruction blocks, judgment instruction blocks, action instruction blocks, function instruction blocks, loop and branch instruction blocks, event instruction blocks, and other instruction blocks. This embodiment does not impose any restrictions on this.

[0087] Optionally, if the first-level instruction block includes an artificial intelligence instruction block, at least one second-level instruction block under the first-level instruction block may include one or more of speech recognition, object recognition, stain recognition, and language recognition wake-up, which is not limited in this embodiment.

[0088] Optionally, if the first-level instruction block includes a cleaning instruction block, at least one second-level instruction block under the first-level instruction block may include one or more of cleaning location, cleaning mode, and suction force, which is not limited in this embodiment. The cleaning location instruction block may also include third-level instruction blocks, such as master bedroom, living room, second bedroom, balcony, and bathroom; the cleaning mode instruction block may also include third-level instruction blocks, such as cleaning only, mopping only, moving only, and sweeping and mopping; and the suction force instruction block may also include third-level instruction blocks, such as strong and normal, which is not limited in this embodiment.

[0089] Optionally, if the primary instruction block includes an event instruction block, the sensor functions of the cleaning robot, such as the infrared sensor, distance sensor, and acceleration sensor, can be defined as event instructions. For example, when the cleaning robot's sensor detects a collision between the cleaning robot and a wall or a virtual wall, a collision event is generated. In this case, the collision event instruction block can be used as a secondary instruction block under the event instruction block. It should be noted that the examples given here are merely illustrative and do not limit this embodiment.

[0090] The embodiment of the present application provides a possible implementation method. In the above step S102, the target control logic for controlling the cleaning robot is formulated through one or more target instruction blocks, which may specifically include the following steps A1 and A2:

[0091] Step A1: Obtain description information of functions to be achieved by controlling the cleaning robot.

[0092] In this step, the function description information is a detailed description of the functions to be achieved by controlling the cleaning robot. For example, the function description information may be that when the robot detects that no one is home, it switches to security mode and triggers an alarm when a stranger enters the house; another example is that the function description information may be that the robot cleans at 8:00 a.m. every weekday and at 9:00 a.m. every weekday, etc. It should be noted that the examples here are only illustrative and do not limit this embodiment.

[0093] Step A2: Based on the function description information, formulate a target control logic for controlling the cleaning robot through one or more target instruction blocks.

[0094] This embodiment can formulate target control logic for controlling the cleaning robot through one or more target instruction blocks based on the function description information, which is more accurate and efficient, enriches the usage scenarios of the cleaning robot, and improves the working efficiency of the cleaning robot.

[0095] Based on the same inventive concept, an embodiment of the present application further provides a control method for a cleaning robot applied to a cleaning robot. As shown in FIG2 , the control method for a cleaning robot applied to a cleaning robot may include the following steps S201 to S202:

[0096] Step S201: receiving a target control code sent from a configuration end; wherein the target control code is generated by the configuration end according to a developed target control logic; the configuration end receives one or more target instruction blocks selected from an instruction block panel in an instruction editor, and develops a target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration end provides a graphical interface, which includes an instruction block panel and an instruction editor, and the instruction block panel includes at least one instruction block;

[0097] Step S202: executing the target control code to control the cleaning robot.

[0098] This embodiment receives the target control code sent from the configuration end. The target control code here is generated by the configuration end according to the established target control logic, so that the high-level instruction program based on user intention is converted into an executable command sequence of the cleaning robot, thereby controlling the cleaning robot, making the use scenarios of the cleaning robot richer, and improving the work efficiency of the cleaning robot.

[0099] An embodiment of the present application provides a possible implementation method. The cleaning robot may include a code snippet manager and a code executor. After receiving the target control code sent from the configuration end in step S201, the code snippet manager may also store the target control code. Thus, step S202 executes the target control code to control the cleaning robot, which may specifically include the following steps B1 and B2:

[0100] Step B1: The code snippet manager loads the target control code into the code executor;

[0101] In step B2, the code executor executes the target control code to control the cleaning robot.

[0102] In this implementation, the code executor executes the target control code, converting the high-level instruction program based on user intention into a command sequence executable by the cleaning robot, thereby controlling the cleaning robot, enriching the usage scenarios of the cleaning robot, and improving the work efficiency of the cleaning robot.

[0103] The embodiment of the present application provides a possible implementation method, in which the cleaning robot may further include a function server; then the code executor in the above step B2 executes the target control code to control the cleaning robot, which may specifically include the following steps B21 and B22:

[0104] In step B21, when executing the target control code, the code executor can customize the function service to the function server when it involves the function service, and the function server subscribes to the event corresponding to the function service from the Internet of Things (IoT) event bus.

[0105] In this step, the Internet of Things (IoT) refers to the connection of any object to the network through information sensing devices and agreed-upon protocols. Objects exchange and communicate information through information transmission media to achieve intelligent identification, positioning, tracking, and monitoring functions. The IoT event bus manages IoT devices (such as smart door locks, smart air conditioners, and smart lighting) and monitors events related to IoT devices.

[0106] Step B22: When the code executor monitors the event corresponding to the functional service, it executes the control code of the event corresponding to the functional service to control the cleaning robot.

[0107] In this embodiment, the code executor connects to the IoT event system, listens in the cleaning robot's graphical program, triggers specific device events, and combines and configures more complex and flexible functions that meet actual needs, such as triggering the cleaning process after the smart door lock is closed.

[0108] The embodiment of the present application provides a possible implementation method. In the above step B2, the code executor executes the target control code to control the cleaning robot, which may specifically include the following steps B23:

[0109] In step B23, the code executor starts a thread to execute the target control code, and during the execution of the target control code, checks the execution status of one or more of the following target control codes according to the set duration:

[0110] Whether the thread exists;

[0111] Whether an exception occurs in the control code of the event response;

[0112] Whether the execution time of the target control code exceeds the preset threshold;

[0113] Whether the cleaning robot reports an error;

[0114] Whether the stop command sent from the configuration end is received;

[0115] When one or more of the following occurs: the thread does not exist, an exception occurs in the event response control code, the execution time of the target control code exceeds the preset threshold, the cleaning robot reports an error, or a stop command is received from the configuration end, the execution of the target control code will be stopped.

[0116] In the process of executing the target control code, this embodiment checks the execution status of the target control code according to the set time period, which can improve the accuracy and efficiency of code execution.

[0117] A possible implementation method is provided in an embodiment of the present application. In the above step B1, the code snippet manager loads the target control code to the code executor, which may specifically be the code snippet manager loading the target control code to the sandboxed code executor; in the above step B2, the code executor executes the target control code to control the cleaning robot, which may specifically be the code executor executing the target control code in the sandbox to control the cleaning robot.

[0118] Since the target control logic formulated by the user and the target control code generated according to the target control logic can also be called user code, there may be some problems (such as dead loops, execution of malicious code, etc.). In this embodiment, the user code is deployed in a safe sandbox for execution, so that the user code can only call limited functions and modules, and the code executor acts as a monitor. When executing the user code, it can actively terminate the executing code; when the code execution times out or an error occurs, the user code is actively terminated to ensure the safe operation of the cleaning robot.

[0119] The above introduces various implementation methods of each link of the embodiments shown in Figures 1 and 2. The control method of the cleaning robot applied to the configuration end and the cleaning robot in the embodiments of the present application will be further explained through specific embodiments.

[0120] Due to the limitations of existing interactive elements, user-robot interaction cannot or is difficult to achieve some highly flexible configuration function requirements. For example, after recognizing that no one is home during the day (for example, from 8 am to 6 pm), the robot can independently complete a deep cleaning function; or after roaming around the room, recognizing pets or specific objects, taking a photo and sending it to the user's email or sending an APP message to the user's account.

[0121] At the same time, with the increase in smart home devices, a linkage mechanism is needed between different smart devices to achieve something like when the smart door lock detects that the user has closed the door and left the room, it can also set the cleaning robot function to security mode.

[0122] To solve the above problems or similar complex and flexible user interaction problems, a highly customizable interaction technology is needed.

[0123] In related technologies, the hardware functions of the cleaning robot are directly provided through an SDK (Software Development Kit), and the hardware functions are called through programming statements to control various behaviors of the cleaning robot.

[0124] However, if the hardware functions of the cleaning robot are directly provided through the SDK, it will be difficult for users to perform customized programming. The main reason is the complexity of embedded system programming, which involves knowledge related to hardware, software, control theory, etc., and each category of knowledge requires a lot of professional training to master. For example, if the user is allowed to directly control the motor of the cleaning robot, there is a high possibility that the motor of the cleaning robot will be damaged during the user's debugging process due to excessive current parameters; and from the underlying detailed API (Application Programming Interface) to the completion of specific customization requirements, a lot of programming and debugging work is required, which is almost impossible for ordinary users to complete such code writing.

[0125] This embodiment provides an interactive method for graphical and programmed operation of a cleaning robot, which can achieve a high degree of customization of the cleaning robot's functions.

[0126] In a specific embodiment, the configuration terminal may be a smart phone, a tablet computer, a personal computer, etc., which is not limited in this embodiment. The cleaning robot may be a sweeping robot, a mopping robot, etc., which is not limited in this embodiment.

[0127] Figure 3A illustrates a graphical interface provided by an embodiment of the present application. Figure 3A provides a graphical interface that includes an instruction block panel and an instruction editor. The instruction block panel includes at least one instruction block, such as an AI instruction, a cleaning instruction, a judgment instruction, an action instruction, a function instruction, a loop and branch instruction, an event instruction, and other instructions. The instruction editor can receive one or more target instruction blocks selected from the instruction block panel and formulate target control logic for controlling the cleaning robot using the one or more target instruction blocks.

[0128] Figure 3B shows a schematic diagram of the interaction between the graphical interface and the cleaning robot provided by an embodiment of the present application. In Figure 3B, the left part is a graphical interface, and the instruction block panel of the interface can provide AI instructions, cleaning instructions, judgment instructions, action instructions, function instructions, loops and branches, event instructions, other instructions, etc. The right part on the left is the instruction editor. The start in the instruction editor -> Clean the master bedroom (set normal suction) -> Clean the living room (set carpet mode) -> Clean the kitchen (set mopping mode) -> Clean the bathroom (set normal suction) -> Return to the pile to charge (set slow charging) -> End of program is the target control logic edited by the user and executed sequentially. Subsequently, the target control code is generated according to the formulated target control logic, and the target control code is sent to the cleaning robot.

[0129] In Figure 3B, the right side shows the cleaning robot's processing logic. Specifically, the configuration end uploads code snippets (i.e., the target control code generated by the configuration end based on the established target control logic) to the cleaning robot; the cleaning robot's instruction code snippet manager (i.e., the code snippet manager) stores and loads the user's code snippets into the cleaning robot's file system; the robot instruction executor (i.e., the code executor) executes the code snippets and subscribes to the robot function server (i.e., the function server) for function service events, monitoring the IoT event bus. The instruction code snippet manager, robot instruction executor, and robot function server are implemented based on the robot operating system.

[0130] Figure 4 shows a schematic diagram of a graphical interface provided by an embodiment of the present application. In the instruction block panel shown in Figure 4, the AI ​​instruction is a first-level instruction block, which also includes second-level instruction blocks, such as voice recognition, object recognition, stain recognition, and language recognition wake-up, etc. Custom programming can be implemented based on these instruction blocks. For example, the control logic edited in the instruction editor shown in Figure 4 is: language recognition wake-up -> voice recognition -> clean the area recognized by the language -> program ends.

[0131] Figure 5 shows another schematic diagram of the graphical interface provided by an embodiment of the present application. In the instruction block panel shown in Figure 5, the cleaning instruction is a first-level instruction block, and the first-level instruction block also includes a second-level instruction block, such as location (master bedroom, living room, second bedroom, balcony, bathroom, etc.), suction (strong, normal, etc.), mode (only cleaning, only dragging, only moving, sweeping and dragging, etc.), and custom programming can be implemented according to these instruction blocks. For example, the control logic edited in the instruction editor shown in Figure 5 is, start -> cleaning the master bedroom (normal suction) -> cleaning the living room (carpet mode) -> cleaning the kitchen (mopping mode) -> cleaning the bathroom (normal suction) -> charging back to the pile (slow charging) -> program ends.

[0132] Figure 6 shows another schematic diagram of a graphical interface provided by an embodiment of the present application. In the command block panel shown in Figure 6, event commands are first-level command blocks, which also include second-level command blocks. For example, when a smart door lock closes the door, other IoT device events, etc., custom programming can be implemented based on these command blocks. For example, the control logic edited in the command editor shown in Figure 6 is: when the smart door lock closes, the whole house cleaning function is called, and the program ends, thereby realizing linkage with the smart door lock.

[0133] FIG7 shows a schematic diagram of the control logic corresponding to the first function provided in an embodiment of the present application, and the whole-house cleaning function combination function shown in FIG7 is defined as a reusable function.

[0134] Figure 8 shows a schematic diagram of the control logic corresponding to the second function provided in an embodiment of the present application. This function is that when the sweeper finds that no one is at home, it switches to security mode and triggers an alarm when a stranger enters the house. The edited control logic is that when the smart door lock is monitored to close the door -> the sweeper moves to the vicinity of the door -> switches to security mode. Among them, security mode means that when the AI ​​module recognizes a stranger, the camera switches to video recording mode and recognizes the recognized face. If a stranger is recognized, an alarm message is pushed to the APP.

[0135] Figure 9 shows a schematic diagram of the control logic for the third function provided in an embodiment of the present application, which is to clean the house at 8:00 AM every morning on weekdays and 9:00 AM on weekdays. The edited control logic is: 8:00 AM every morning -> determine whether it is a weekday -> if not, wait 1 hour and then call the whole house cleaning function; if so, call the whole house cleaning function.

[0136] Figure 10 shows a schematic diagram of the control logic corresponding to the fourth function provided in an embodiment of the present application, which is a robot vacuum roaming around the room. When a pet is found, the robot vacuum's location is pushed to the app. The edited control logic is: Start -> Switch the robot vacuum to room roaming mode -> Set the AI ​​recognition module to pet recognition mode -> When a pet is recognized -> Push the robot vacuum's coordinates in the SLAM (Simultaneous Localization And Mapping) map to the app -> End.

[0137] Figure 11 shows a schematic diagram of the sweeping machine function server subscribing to the corresponding events of the function service provided by the embodiment of the present application. In Figure 11, the cleaning robot is a sweeping machine, and the user-defined code snippet of the configuration end is uploaded to the code snippet executor (i.e., the code executor). The code snippet executor executes each instruction one by one. When it comes to the function service, the function service is customized to the sweeping machine function server, and the function server subscribes to the event corresponding to the function service to the IOT event bus, that is, publishes sweeping machine related events. The IOT event bus monitors the device events of the IOT device, and sends the IOT device event to the code snippet executor's monitoring IOT event, and sends it to the search event response code snippet. The code snippet executor finds the corresponding code snippet and continues to execute to control the sweeping machine.

[0138] The main functions of the code snippet manager are to store and load user code snippets to the sweeper file system.

[0139] Based on the code generation capabilities of Blockly (a graphical programming framework), the following Python (a programming language) code snippet is generated based on the user code snippet. The details of the sweeper's functions have been encapsulated as callable Python functions.

[0140] The code executor is a fixed Python code that loads the Python code snippet and then starts a dedicated thread to execute the main function in the code module. The code executor then checks the execution status of the user code every tens of milliseconds:

[0141] 1) Whether the user code thread exists;

[0142] 2) Whether an exception occurs in the Python code of the event response;

[0143] 3) Whether the user code execution exceeds the preset threshold;

[0144] 4) Whether the sweeper function module reports an error;

[0145] 5) Whether the stop command sent by the APP is received.

[0146] When any error occurs, the execution of the user program is stopped and the sweeper is switched to a user-interactive state, that is, the user can interact with the configuration end and adjust the target instruction block through the graphical interface of the configuration end.

[0147] This embodiment can be used to enhance the customizability of the sweeping robot. Users can develop a more convenient, efficient, and intelligent way of using the cleaning robot based on their own needs.

[0148] It should be noted that the order of execution of the steps in the above embodiments does not necessarily imply a specific order of execution. The order of execution of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. In practical applications, all possible implementation methods described above can be combined in any manner to form possible embodiments of the present application, and will not be described in detail here.

[0149] Based on the control methods of the cleaning robot provided in the above embodiments and based on the same inventive concept, an embodiment of the present application also provides a control device for a cleaning robot.

[0150] Figure 12 is a structural diagram of a control device for a cleaning robot applied to a configuration terminal according to an embodiment of the present application. As shown in Figure 12 , the control device for a cleaning robot applied to a configuration terminal may specifically include a display unit 1201 , a setting unit 1202 , and a control unit 1203 .

[0151] A display unit 1201 is configured to provide a graphical interface, wherein the interface includes an instruction block panel and an instruction editor, wherein the instruction block panel includes at least one instruction block;

[0152] A formulation unit 1202 is configured to receive one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulate a target control logic for controlling the cleaning robot through the one or more target instruction blocks;

[0153] The control unit 1203 is used to control the cleaning robot according to the established target control logic.

[0154] An embodiment of the present application provides a possible implementation manner, in which the control unit 1203 is further configured to:

[0155] A target control code is generated according to the formulated target control logic, and the target control code is sent to the cleaning robot so that the target control code is executed to control the cleaning robot.

[0156] A possible implementation method is provided in an embodiment of the present application, where the instruction block includes at least one first-level instruction block.

[0157] A possible implementation method is provided in an embodiment of the present application, where the first-level instruction block includes at least one second-level instruction block.

[0158] A possible implementation method is provided in an embodiment of the present application, wherein the formulating unit 1202 is further configured to:

[0159] One or more target instruction blocks selected from the primary instruction blocks and / or secondary instruction blocks in the instruction block panel are received in the instruction editor.

[0160] A possible implementation method is provided in an embodiment of the present application, wherein at least one of the first-level instruction blocks includes one or more of an artificial intelligence instruction block, a sweeping instruction block, a judgment instruction block, an action instruction block, a function instruction block, a loop and branch instruction block, an event instruction block, and other instruction blocks.

[0161] A possible implementation method is provided in an embodiment of the present application. If the first-level instruction block includes an artificial intelligence instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of speech recognition, object recognition, stain recognition, and language recognition wake-up.

[0162] A possible implementation method is provided in an embodiment of the present application. If the first-level instruction block includes a cleaning instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of a cleaning position, a cleaning mode, and a suction force.

[0163] A possible implementation method is provided in an embodiment of the present application, wherein the formulating unit 1202 is further configured to:

[0164] Obtaining information describing functions to be achieved by controlling the cleaning robot;

[0165] Based on the description information of the function, a target control logic for controlling the cleaning robot is formulated through the one or more target instruction blocks.

[0166] FIG13 is a structural diagram of a control device for a cleaning robot provided by an embodiment of the present application. As shown in FIG13 , the control device for a cleaning robot may specifically include a receiving unit 1301 and an executing unit 1302 .

[0167] The receiving unit 1301 is configured to receive a target control code sent from a configuration terminal; wherein the target control code is generated by the configuration terminal according to a developed target control logic, the configuration terminal receives one or more target instruction blocks selected from an instruction block panel in an instruction editor, and develops a target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration terminal provides a graphical interface, which includes the instruction block panel and the instruction editor, and the instruction block panel includes at least one instruction block;

[0168] The execution unit 1302 is configured to execute the target control code to control the cleaning robot.

[0169] An embodiment of the present application provides a possible implementation method, in which the execution unit 1302 of the cleaning robot may include a code snippet manager and a code executor;

[0170] The code segment manager stores the target control code;

[0171] The code snippet manager loads the target control code into the code executor;

[0172] The code executor executes the target control code to control the cleaning robot.

[0173] The embodiment of the present application provides a possible implementation method, in which the execution unit 1302 of the cleaning robot further includes a function server;

[0174] In the process of executing the target control code, the code executor customizes the functional service to the functional server when a functional service is involved, and the functional server subscribes to the event corresponding to the functional service from the Internet of Things (IoT) event bus;

[0175] When the code executor monitors the event corresponding to the functional service, it executes the control code of the event corresponding to the functional service to control the cleaning robot.

[0176] In an embodiment of the present application, a possible implementation is provided, wherein the code executor starts a thread to execute the target control code, and during the execution of the target control code, checks the execution status of one or more of the following target control codes according to a set duration:

[0177] Whether the thread exists;

[0178] Whether an exception occurs in the control code of the event response;

[0179] Whether the execution time of the target control code exceeds a preset threshold;

[0180] Whether the cleaning robot reports an error;

[0181] Whether a stop command sent from the configuration terminal is received;

[0182] When one or more of the following occurs: the thread does not exist, an exception occurs in the control code of the event response, the execution time of the target control code exceeds a preset threshold, the cleaning robot reports an error, or a stop command is received from the configuration end, the execution of the target control code is stopped.

[0183] An embodiment of the present application provides a possible implementation method, wherein the code snippet manager loads the target control code into the sandboxed code executor;

[0184] The code executor executes the target control code to control the cleaning robot, including:

[0185] The code executor executes the target control code in a sandbox to control the cleaning robot.

[0186] Based on the same inventive concept, an embodiment of the present application also provides a configuration end, including a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute any one of the above embodiments of the control method of the cleaning robot applied to the configuration end.

[0187] Based on the same inventive concept, an embodiment of the present application further provides a storage medium storing a computer program, wherein the computer program is configured to execute the control method of the cleaning robot applied to the configuration end of any one of the above embodiments when running.

[0188] Based on the same inventive concept, an embodiment of the present application also provides a cleaning robot, including a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the control method of the cleaning robot applied to the cleaning robot of any one of the above embodiments.

[0189] Based on the same inventive concept, an embodiment of the present application further provides a storage medium storing a computer program, wherein the computer program is configured to execute the control method for a cleaning robot applied to a cleaning robot of any of the above embodiments when running.

[0190] Those skilled in the art will clearly understand that the specific working processes of the systems, devices, and modules described above can refer to the corresponding processes in the aforementioned method embodiments, and for the sake of brevity, they will not be further described here.

[0191] Those skilled in the art will appreciate that the technical solution of the present application, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes a number of program instructions for causing an electronic device (e.g., a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application when the program instructions are executed. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0192] Alternatively, all or part of the steps of implementing the aforementioned method embodiments may be accomplished by hardware related to program instructions (such as electronic devices such as personal computers, servers, or network devices), and the program instructions may be stored in a computer-readable storage medium. When the program instructions are executed by a processor of an electronic device, the electronic device executes all or part of the steps of the methods described in the various embodiments of the present application.

[0193] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that, within the spirit and principles of the present application, they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not deviate from the protection scope of the present application.

Claims

1. A control method for a cleaning robot, applied to a configuration terminal, wherein, The method includes: Providing a graphical interface, which includes an instruction block panel and an instruction editor on the interface, and the instruction block panel includes at least one instruction block; Receiving one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulating a target control logic for controlling the cleaning robot through the one or more target instruction blocks; Controlling the cleaning robot according to the formulated target control logic.

2. The method according to claim 1, wherein The instruction block includes at least one first-level instruction block.

3. The method according to claim 2, wherein, At least one second-level instruction block is included under the first-level instruction block.

4. The method according to claim 2 or 3, wherein Receiving one or more target instruction blocks selected from the instruction block panel in the instruction editor includes: Receiving one or more target instruction blocks selected from the first-level instruction blocks and / or second-level instruction blocks of the instruction block panel in the instruction editor.

5. The method according to any one of claims 2 to 4, wherein At least one of the first-level instruction blocks includes one or more of an artificial intelligence instruction block, a cleaning instruction block, a judgment instruction block, an action instruction block, a function instruction block, a loop and branch instruction block, an event instruction block, and other instruction blocks.

6. The method according to claim 5, wherein If the first-level instruction block includes an artificial intelligence instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of speech recognition, object recognition, stain recognition, and language recognition wake-up.

7. The method according to claim 5, wherein, If the first-level instruction block includes a cleaning instruction block, at least one second-level instruction block under the first-level instruction block includes one or more of a cleaning position, a cleaning mode, and a suction force.

8. The method according to any one of claims 1 to 7, wherein Formulating a target control logic for controlling the cleaning robot through the one or more target instruction blocks includes: Obtaining description information of the function to be achieved for controlling the cleaning robot; Based on the description information of the function, formulating a target control logic for controlling the cleaning robot through the one or more target instruction blocks.

9. A control method for a cleaning robot, applied to the cleaning robot, wherein, The method includes: Receiving a target control code sent from a configuration terminal; wherein, the target control code is generated by the configuration terminal according to the formulated target control logic, the configuration terminal receives one or more target instruction blocks selected from the instruction block panel in the instruction editor, and formulates a target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration terminal provides a graphical interface, which includes the instruction block panel and the instruction editor on the interface, and the instruction block panel includes at least one instruction block; Executing the target control code to control the cleaning robot.

10. The method according to claim 9, wherein, The cleaning robot includes a code segment manager and a code executor; After receiving the target control code sent from the configuration terminal, the method further includes: The code segment manager stores the target control code; Executing the target control code to control the cleaning robot includes: The code segment manager loads the target control code to the code executor; The code executor executes the target control code to control the cleaning robot.

11. The method according to claim 10, wherein, The cleaning robot further includes a function server; The code executor executes the target control code to control the cleaning robot, including: During the execution of the target control code by the code executor, when a function service is involved, the function service is customized from the function server, and the function server subscribes to the event corresponding to the function service on the Internet of Things (IoT) event bus; When the code executor monitors the event corresponding to the function service, it executes the control code of the event corresponding to the function service to control the cleaning robot.

12. The method according to claim 11, wherein, The code executor executes the target control code to control the cleaning robot, including: The code executor starts a thread to execute the target control code, and during the execution of the target control code, it checks the execution status of the target control code of one or more of the following at a set time interval: Whether the thread exists; Whether an exception occurs in the control code of the event response; Whether the execution duration of the target control code exceeds a preset threshold; Whether the cleaning robot has an error report; Whether a stop command sent from the configuration end is received; When one or more of the following occur: the thread does not exist, an exception occurs in the control code of the event response, the execution duration of the target control code exceeds the preset threshold, the cleaning robot has an error report, or a stop command sent from the configuration end is received, the execution of the target control code is stopped.

13. The method according to claim 10, wherein, The code snippet manager loads the target control code into the code executor, including: The code snippet manager loads the target control code into the sandboxed code executor; The code executor executes the target control code to control the cleaning robot, including: The code executor executes the target control code in the sandbox to control the cleaning robot.

14. A control device for a cleaning robot, applied to a configuration terminal, wherein, The device includes: A display unit for providing a graphical interface, which includes an instruction block panel and an instruction editor on the interface, and the instruction block panel includes at least one instruction block; A formulation unit for receiving one or more target instruction blocks selected from the instruction block panel in the instruction editor and formulating a target control logic for controlling the cleaning robot through the one or more target instruction blocks; A control unit for controlling the cleaning robot according to the formulated target control logic.

15. A control device for a cleaning robot, applied to the cleaning robot, wherein, The device includes: A receiving unit for receiving the target control code sent from the configuration end; wherein the target control code is generated by the configuration end according to the formulated target control logic. The configuration end receives one or more target instruction blocks selected from the instruction block panel in the instruction editor and formulates the target control logic for controlling the cleaning robot through the one or more target instruction blocks; the configuration end provides a graphical interface, which includes the instruction block panel and the instruction editor on the interface, and the instruction block panel includes at least one instruction block; An execution unit for executing the target control code to control the cleaning robot.

16. A configuration terminal, wherein, It includes a processor and a memory. Among them, a computer program is stored in the memory, and the processor is configured to run the computer program to execute the control method of the cleaning robot according to any one of claims 1 to 8.

17. A storage medium, wherein, A computer program is stored in the storage medium, wherein the computer program is configured to execute the control method of the cleaning robot according to any one of claims 1 to 13 when running.

18. A cleaning robot, wherein, It includes a processor and a memory. Among them, a computer program is stored in the memory, and the processor is configured to run the computer program to execute the control method of the cleaning robot according to any one of claims 9 to 13.

Citation Information

Patent Citations

  • Smart phone based remote control system and method of automatic ground cleaning robot

    CN104199449A

  • Ground cleaning robot system and control method thereof

    CN104407610A

  • Graphical programming system for collaborative robot

    CN111580806A

  • Graphical robot programming interaction system and method thereof

    CN112698823A

  • Method and system for interaction between user and cleaning robot, and control terminal

    CN116407008A

Cited By

  • Cleaning equipment control method, data processing method and cleaning equipment

    CN120742899A