Path planning method and device for cleaning robot, server and cleaning robot

By introducing servers into the cleaning robot system, dynamically planning the path of the cleaning robot, the problem of inflexible path planning in the existing technology is solved, and the operation efficiency of the cleaning robot is improved.

CN115167415BActive Publication Date: 2025-04-25广东美房智高机器人有限公司
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210772458.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-30
Publication Date
2025-04-25
Estimated Expiration
2042-06-30

AI Technical Summary

Technical Problem

The prior art has inflexible problems in the path planning of cleaning robots, which leads to cleaning robots being prone to repeated operations or being unable to move forward when encountering obstacles, affecting work efficiency.

Method used

By introducing a server, it receives an alarm message sent by the cleaning robot, obtains a map of its current location and cleaning area, determines the shortest path and sends it to the cleaning robot, so that it can drive to the target sub-cleaning area according to the shortest path for operation.

Benefits of technology

Dynamically planning the path of the cleaning robot improves the flexibility of path planning, thereby improving the operation efficiency of the cleaning robot and avoiding repeated tasks and inability to move forward.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115167415B_ABST
    Figure CN115167415B_ABST
Patent Text Reader

Abstract

The present application discloses a path planning method and device for a cleaning robot, a server and a cleaning robot. The path planning method includes: receiving an alarm message sent by a cleaning robot; obtaining a map of the current position of the cleaning robot and the current cleaning area, wherein the map records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas; determining the shortest path among multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, wherein the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area currently located by the cleaning robot; sending the shortest path to the cleaning robot so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path. The present application can dynamically plan the path of the cleaning robot, improve the flexibility of the path planning of the cleaning robot, and thus improve the operating efficiency of the cleaning robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot technology, and specifically to a path planning method and device for a cleaning robot, a server, and a cleaning robot. Background Art

[0002] At present, movable robots have been widely used in industries such as industry, agriculture, medical treatment, and services. For example, movable cleaning robots are often used for home or commercial purposes. The cleaning robot may interrupt its cleaning task due to obstacles and other reasons during the execution of its operations. For example, an obstacle is encountered in the current cleaning area and it is necessary to enter the next cleaning area. At this time, if the cleaning robot enters the next pre-set cleaning area according to the pre-set path, it is easy to repeat the operation. For another example, the next pre-set cleaning area may be piled with too much debris or temporarily closed, and the cleaning robot cannot enter the next cleaning area, which may easily lead to a situation where it cannot move forward. Therefore, the existing technology has the problem of inflexibility in the path planning of the cleaning robot, which affects the operating efficiency of the cleaning robot. Summary of the invention

[0003] The purpose of the embodiments of the present application is to provide a path planning method and device for a cleaning robot, a server and a cleaning robot, so as to solve the problem of inflexibility in the path planning of the cleaning robot in the prior art.

[0004] In order to achieve the above-mentioned purpose, the first aspect of the present application provides a path planning method for a cleaning robot, which is applied to a server. The path planning method includes:

[0005] receiving an alarm message sent by the cleaning robot, the alarm message indicating that the cleaning robot encounters a cleaning obstacle;

[0006] Obtain the current position of the cleaning robot and a map of the current cleaning area, where the map records multiple sub-cleaning areas and entrance and exit nodes of the sub-cleaning areas;

[0007] Determine the shortest path among multiple paths for the cleaning robot to reach the entrance and exit nodes of the candidate sub-cleaning area from the current position via the entrance and exit nodes of the sub-cleaning area where the cleaning robot is currently located, where the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area where the cleaning robot is currently located;

[0008] The shortest path is sent to the cleaning robot, so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path.

[0009] In the embodiment of the present application, there is a preset cleaning sequence between the multiple sub-cleaning areas.

[0010] In an embodiment of the present application, the path planning method also includes: obtaining an adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located; and determining whether the adjacent sub-cleaning area is a candidate sub-cleaning area based on the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within a preset time.

[0011] In an embodiment of the present application, the path planning method also includes: determining whether an adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located has a no-entry sign; if the adjacent sub-cleaning area has a no-entry sign, determining that the adjacent sub-cleaning area is not a candidate sub-cleaning area.

[0012] A second aspect of the present application provides a path planning method for a cleaning robot, which is applied to the cleaning robot, the cleaning robot communicates with a server, and the path planning method includes:

[0013] Sending an alarm message to a server, wherein the alarm message indicates that the cleaning robot encounters a cleaning obstacle;

[0014] Receive the shortest path sent by the server, the shortest path being the shortest path among multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the sub-cleaning area where the cleaning robot is currently located, to the entrance and exit nodes of the candidate sub-cleaning area, the candidate sub-cleaning area being a sub-cleaning area to be cleaned adjacent to the sub-cleaning area where the cleaning robot is currently located, the server having a map of the cleaning area where the cleaning robot is currently located, the map recording multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas;

[0015] Drive to the target sub-cleaning area according to the shortest path to perform operations.

[0016] In an embodiment of the present application, the path planning method further includes:

[0017] Obtain location information of entrance and exit nodes of multiple sub-cleaning areas sent by the server;

[0018] When the current position matches the position information of the entrance and exit nodes of any sub-cleaning area, a check-in signal is sent to the server.

[0019] A third aspect of the present application provides a path planning device for a cleaning robot, comprising:

[0020] a message receiving module, configured to receive an alarm message sent by the cleaning robot, the alarm message indicating that the cleaning robot encounters a cleaning obstacle;

[0021] A map acquisition module is configured to acquire a current position of the cleaning robot and a map of the current cleaning area, wherein the map records a plurality of sub-cleaning areas and entrance and exit nodes of the sub-cleaning areas;

[0022] a path determination module configured to determine the shortest path among a plurality of paths for the cleaning robot to reach the entrance and exit nodes of a candidate sub-cleaning area from a current position via the entrance and exit nodes of the sub-cleaning area currently located, wherein the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area currently located by the cleaning robot;

[0023] The sending module is configured to send the shortest path to the cleaning robot, so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path.

[0024] A fourth aspect of the present application provides a server that communicates with at least one cleaning robot. The server includes a processor configured to execute the above-mentioned path planning method for the cleaning robot.

[0025] A fifth aspect of the present application provides a cleaning robot, which communicates with a server. The cleaning robot includes a processor configured to execute the above-mentioned path planning method of the cleaning robot.

[0026] A sixth aspect of the present application provides a machine-readable storage medium having instructions stored thereon, the instructions being used to enable a machine to execute the above-mentioned path planning method for a cleaning robot.

[0027] Through the above technical solution, a server is introduced, and the server communicates with at least one cleaning robot. The server receives an alarm message sent by the cleaning robot, which indicates that the cleaning robot encounters a cleaning obstacle, and obtains the current position of the cleaning robot and a map of the current cleaning area. The map records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas, thereby determining the shortest path of the multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, and the candidate sub-cleaning area is adjacent to the sub-cleaning area where the cleaning robot is currently located; and then the shortest path is sent to the cleaning robot, so that the cleaning robot can follow the shortest path to the target sub-cleaning area to perform operations. In this way, the present application can dynamically plan the path of the cleaning robot, improve the flexibility of the path planning of the cleaning robot, and thus improve the operating efficiency of the cleaning robot.

[0028] Other features and advantages of the embodiments of the present application will be described in detail in the subsequent specific implementation section. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the following specific implementations, they are used to explain the embodiments of the present application, but do not constitute a limitation on the embodiments of the present application. In the accompanying drawings:

[0030] Figure 1A diagram schematically shows an application environment of a path planning method for a cleaning robot according to an embodiment of the present application;

[0031] Figure 2 A flow chart schematically shows a path planning method for a cleaning robot according to an embodiment of the present application;

[0032] Figure 3 A structural diagram schematically shows a walking path of a cleaning robot according to an embodiment of the present application;

[0033] Figure 4 A structural diagram schematically shows a walking path of a cleaning robot according to another embodiment of the present application;

[0034] Figure 5 A structural diagram schematically shows a walking path of a cleaning robot according to another embodiment of the present application;

[0035] Figure 6 A schematic diagram of a structure of a directed graph of an operation area according to an embodiment of the present application is shown;

[0036] Figure 7 A flow chart schematically shows a path planning method for a cleaning robot according to another embodiment of the present application;

[0037] Figure 8 The structure of a path planning device for a cleaning robot according to an embodiment of the present application is schematically shown. DETAILED DESCRIPTION

[0038] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. It should be understood that the specific implementation methods described herein are only used to illustrate and explain the embodiments of the present application, and are not used to limit the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0039] It should be noted that if the embodiments of the present application involve directional indications (such as up, down, left, right, front, back...), the directional indications are only used to explain the relative position relationship, movement status, etc. between the components under a certain specific posture (as shown in the accompanying drawings). If the specific posture changes, the directional indication will also change accordingly.

[0040] In addition, if there are descriptions involving "first", "second", etc. in the embodiments of the present application, the descriptions of "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or suggesting their relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but they must be based on the ability of ordinary technicians in the field to implement them. When the combination of technical solutions is contradictory or cannot be implemented, it should be deemed that such combination of technical solutions does not exist and is not within the scope of protection required by this application.

[0041] Figure 1 The following schematically shows an application environment diagram of a path planning method for a cleaning robot according to an embodiment of the present application. The path planning method for a cleaning robot provided in an embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the server 101 communicates with at least one cleaning robot 102 respectively. The server 101 can be implemented by an independent server or a server cluster composed of multiple servers. The cleaning robot 102 can be a mobile cleaning robot, including but not limited to a sweeping robot. Figure 1 Taking three cleaning robots 102 as an example, the cleaning robots 102 may include cleaning robot 1, cleaning robot 2, and cleaning robot 3. When a single cleaning robot is working, each cleaning robot needs to establish a map, and the map information includes the working area. The embodiment of the present application introduces a server as a scheduling device, puts the map information on the server, and according to the defined area information format, multiple cleaning robots can work together without affecting each other.

[0042] The cleaning robot may interrupt the cleaning task of the current cleaning area due to obstacles or other reasons during the cleaning process. If the cleaning robot follows the previously preset path to clean the next area, the cleaning path may not be the shortest. Therefore, the embodiment of the present application provides a method for planning the shortest path when the cleaning robot is unable to continue the cleaning task during the cleaning process through communication between the server and the cleaning robot.

[0043] Figure 2 The following schematically shows a flow chart of a path planning method for a cleaning robot according to an embodiment of the present application. Figure 2 As shown, in one embodiment of the present application, a path planning method for a cleaning robot is provided, which is applied to a server. The path planning method may include the following steps.

[0044] Step 201: Receive an alarm message sent by a cleaning robot, where the alarm message indicates that the cleaning robot encounters a cleaning obstacle.

[0045] In an embodiment of the present application, when the cleaning robot is working, unexpected situations may occur, making the cleaning robot unable to move forward. For example, there are too many debris piled in front of the cleaning robot and it cannot move forward, or the front of the cleaning robot is closed and it cannot move forward. At this time, the server is required to dynamically adjust the cleaning robot so that the cleaning robot changes the cleaning or walking path. In an embodiment of the present application, an alarm message refers to a message sent to the server by the cleaning robot indicating that the cleaning robot encounters a cleaning obstacle when the cleaning robot determines that it cannot move forward, so that the server knows that the cleaning robot cannot move forward. In one example, the alarm message may include location information, and the server may determine the current location of the cleaning robot based on the location information. In another example, the alarm message does not include location information. After receiving the alarm message sent by the cleaning robot, the server sends an instruction to obtain the location information to the cleaning robot, and the cleaning robot then feeds back the current location information to the server based on the instruction to obtain the location information. In this way, the server can determine the current location of the cleaning robot while obtaining the alarm message.

[0046] Step 202: Obtain the current position of the cleaning robot and a map of the current cleaning area, where the map records multiple sub-cleaning areas and the entrance and exit nodes of the multiple sub-cleaning areas.

[0047] In the embodiment of the present application, the map is a directed graph of the operation area, and the map may include multiple sub-cleaning areas that do not overlap with each other, and each of the multiple sub-cleaning areas includes an entry node and an exit node, that is, an entry and exit node. The directed graph of the operation area is determined based on the entry node and exit node of any sub-cleaning area, and the entry and exit nodes of the adjacent sub-cleaning areas of any sub-cleaning area.

[0048] In an embodiment of the present application, a directed graph of the operation area is pre-constructed: the operation map of the area to be cleaned is divided into a plurality of non-overlapping sub-cleaning areas; an entry node and an exit node are respectively set in each sub-cleaning area; and the directed graph of the operation area is determined based on the entry node and exit node of any sub-cleaning area among the multiple sub-cleaning areas, as well as the entry and exit nodes of any sub-cleaning area.

[0049] Specifically, the operation map of the area to be cleaned is all the cleaning areas that the cleaning robot needs to operate. In one example, an image acquisition device can be used to capture images of the area to be cleaned, and the operation map of the area to be cleaned can be established based on this. The operation map of the area to be cleaned can also be established through a building planning map.

[0050] In order to improve cleaning efficiency and reduce repeated cleaning, the operation map can be divided into multiple sub-cleaning areas that do not overlap. In one example, the area to be cleaned can be divided into 6 sub-cleaning areas, and each box encloses a sub-cleaning area. The 6 sub-cleaning areas do not overlap with each other, which can reduce repeated operations and improve the operating efficiency of the cleaning robot.

[0051] For each sub-cleaning area, the server may respectively set an entry node and an exit node. Figure 3 The structure diagram schematically shows a walking path of a cleaning robot according to an embodiment of the present application. Figure 4 The structure diagram schematically shows a walking path of a cleaning robot according to another embodiment of the present application. Figure 5 The structure diagram schematically shows a walking path of a cleaning robot according to another embodiment of the present application.

[0052] In the embodiments of the present application, Figures 3 to 5 As shown, the hollow circle may represent an inlet node, and the solid circle may represent an outlet node. Each sub-cleaning area includes an inlet node and an outlet node. Figure 3 The entry node and exit node shown are just a reference point. When the robot is actually working, it will determine whether the cleaning robot enters or exits from the entry node or the exit node based on the current position and dynamically plan the path.

[0053] like Figure 3 As shown in the figure, the cleaning robot is a triangular icon, a is the entry node, and b is the exit node. When the cleaning robot is close to point a, it will enter the area through point a and leave the area from point b. Figure 4 As shown in the figure, when the cleaning robot is close to point b, it will enter the area through point b and leave the area from point a. Figure 5 As shown, the cleaning robot can also enter the area through point a and also leave the area from point a. That is to say, according to the working position of the cleaning robot, the entry and exit of the cleaning robot in the current working area can be dynamically determined, so that the path of the cleaning robot is the shortest.

[0054] For any sub-cleaning area, the entry node and exit node of any sub-cleaning area are connected with the entry node or exit node of its adjacent sub-cleaning area respectively, and a directed graph of the operation area can be obtained. The judgment of connecting with the entry node or exit node of the adjacent sub-cleaning area is based on the distance between the entry node and the exit node of the adjacent sub-cleaning area and any sub-cleaning area, and the node closer to any sub-cleaning area is selected for connection.

[0055] Figure 6The structure diagram of a directed graph of an operation area according to an embodiment of the present application is schematically shown. Figure 6 As shown, the area to be cleaned can be divided into 6 sub-cleaning areas, and each box encloses a sub-cleaning area. The 6 sub-cleaning areas do not overlap with each other. Figure 6 Taking area 1, area 2, area 4 and area 5 as examples, the distances between the nodes of the directed graph of the working area can be L1, L2, L3, ..., L9 respectively. Taking the cleaning robot in area 1 as an example, when the cleaning robot is in area 1, the adjacent sub-cleaning area can be area 2 or area 4. The entrance node of area 2 is closer to area 1, so for area 1, it is necessary to connect the entrance node of area 2; the entrance node of area 4 is also closer to area 1, so for area 1, it is also necessary to connect the entrance node of area 4. For area 2, the exit node of area 1 is closer to area 2, so for area 2, it is necessary to connect the exit node of area 1. It should be noted that there are connecting arrows between area 1 and area 2 and area 4, indicating that the cleaning robot can directly reach area 2 or area 4 from area 1. There may be an elevator or a patio area between area 1 and area 5, so there is no connecting arrow between area 1 and area 5, indicating that area 1 cannot directly reach area 5. According to the above definition, a directed graph of the working area of ​​the entire area to be cleaned can be constructed, so that the server can dynamically plan the path of the cleaning robot according to the directed graph of the working area to determine the shortest path of the cleaning robot.

[0056] Step 203: determine the shortest path among multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, where the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area currently located by the cleaning robot.

[0057] In the embodiment of the present application, the shortest path can be determined to improve the working efficiency of the cleaning robot. The server can calculate the shortest path for the cleaning robot to reach these areas through graph search or Dijkstra algorithm.

[0058] In one example, the server can first determine at least one candidate sub-cleaning area based on the current position of the cleaning robot and the directed graph of the working area, where the candidate sub-cleaning area is a sub-cleaning area to be cleaned that is adjacent to the sub-cleaning area where the cleaning robot is currently located; then determine multiple paths for the cleaning robot to enter at least one candidate sub-cleaning area based on the directed graph of the working area; finally, determine the shortest path among the multiple paths as the shortest path for the cleaning robot to enter the next working area.

[0059] Specifically, the candidate sub-cleaning area is a sub-cleaning area where no other cleaning robot is working and has not been cleaned. The target sub-cleaning area is an adjacent sub-cleaning area with the shortest path between the candidate sub-cleaning area and the current sub-cleaning area. By first determining the candidate sub-cleaning area, repeated cleaning or collision between the current cleaning robot and other cleaning robots can be avoided. In the case where the cleaning robot cannot move forward in the current sub-cleaning area, the candidate sub-cleaning area is a candidate sub-cleaning area in the adjacent sub-cleaning area of ​​the current sub-cleaning area. The server can use the adjacent sub-cleaning area that has not been cleaned and has no other cleaning robot working as a candidate sub-cleaning area.

[0060] Among them, determining that the sub-cleaning area has not been cleaned and determining that there are no other cleaning robots working in the sub-cleaning area can be determined by obtaining the clock-in signal of each node. Because in the embodiment of the present application, the cleaning robot sends a clock-in signal to the server every time it passes through the entrance and exit node. When the cleaning robot passes through the entrance and exit nodes of the sub-cleaning area only once, it means that there is a cleaning robot working in the sub-cleaning area. When the cleaning robot passes through the entrance and exit nodes of the sub-cleaning area twice, it means that the sub-cleaning area has been cleaned. When there is no clock-in signal from the cleaning robot at the exit node of the sub-cleaning area, that is, the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within the preset time is zero, it proves that the sub-cleaning area has not been cleaned and no other cleaning robots are working, and the adjacent sub-cleaning area is a candidate sub-cleaning area.

[0061] After the candidate sub-cleaning areas are determined, multiple paths for the cleaning robot to enter the candidate sub-cleaning areas can be determined based on the directed graph of the work area. The multiple paths can be multiple paths from the current position of the cleaning robot, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area. Figure 6For example, assume that the triangle is the location of the cleaning robot. The adjacent sub-cleaning area adjacent to area 1 can be area 2 or area 4. Assume that both area 2 and area 4 have not been cleaned and no other cleaning robots are working. Then area 2 and area 4 are both candidate sub-cleaning areas. At this time, the path for the cleaning robot to enter area 2 includes: a first path from the entry node A of area 1 to the entry node D of area 2 (i.e., S0-L1), and a second path from the exit node B of area 1 to the entry node D of area 2 (i.e., S1-L2). At the same time, the path for the cleaning robot to enter area 4 includes: a third path from the entry node A of area 1 to the entry node C of area 4 (i.e., S0-L3), and a fourth path from the exit node B of area 4 to the entry node C of area 4 (i.e., S1-L4). Finally, the shortest path among the first path, the second path, the third path, and the fourth path is determined as the shortest path for the cleaning robot to enter the next operating area. In one example, the current position of the cleaning robot and the coordinates of the entrance and exit nodes can be obtained, and the distance value of each path can be calculated according to the coordinates, so that the path with the smallest distance value can be selected as the shortest path. The embodiment of the present application determines the shortest path according to the directed graph of the working area, and the calculation method is simpler and more efficient.

[0062] Step 204: Send the shortest path to the cleaning robot so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path. The target sub-cleaning area is one of the candidate sub-cleaning areas.

[0063] In an embodiment of the present application, after determining the shortest path, the server can send the shortest path to the cleaning robot. The shortest path includes the location information of the entrance and exit nodes. The cleaning robot also has map information of the cleaning area, which is mainly used for local navigation and not for scheduling between sub-cleaning areas. The cleaning robot receives the shortest path sent by the server and can drive to the target sub-cleaning area according to the shortest path.

[0064] Through the above technical solution, a server is introduced, and the server communicates with at least one cleaning robot. The server receives an alarm message sent by the cleaning robot, which indicates that the cleaning robot encounters a cleaning obstacle, and obtains the current position of the cleaning robot and a map of the current cleaning area. The map records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas, thereby determining the shortest path of the multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, and the candidate sub-cleaning area is adjacent to the sub-cleaning area where the cleaning robot is currently located; and then the shortest path is sent to the cleaning robot, so that the cleaning robot can follow the shortest path to the target sub-cleaning area to perform operations. In this way, the present application can dynamically plan the path of the cleaning robot, improve the flexibility of the path planning of the cleaning robot, and thus improve the operating efficiency of the cleaning robot.

[0065] In the embodiment of the present application, a plurality of sub-cleaning areas may have a preset cleaning sequence.

[0066] Specifically, the server can also specify the cleaning order of the cleaning robot so that there is a preset cleaning order between multiple sub-cleaning areas. The operating area can be divided into areas 1 to 6. In the initial order, the cleaning order can be set to operate in the order of area 1, area 2, area 3, area 6, area 5 and area 4. However, since accidents may occur when the cleaning robot is working, such as too much debris may be piled up in area 6, or area 6 may be closed, the cleaning area needs to be adjusted dynamically. At this time, when the cleaning robot works to area 3, the server finds that area 6 cannot be operated and dynamic calculation is required. At this time, if area 1 and area 2 have been cleaned, the server needs to determine whether the next operating area is changed to area 4 or area 5. Dynamically changing the cleaning order of the cleaning robot during the cleaning process of the cleaning robot improves the operating efficiency of the cleaning robot.

[0067] In an embodiment of the present application, the path planning method may further include:

[0068] Obtain the adjacent sub-cleaning areas of the sub-cleaning area where the cleaning robot is currently located;

[0069] Whether the adjacent sub-cleaning area is a candidate sub-cleaning area is determined according to the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within a preset time.

[0070] Specifically, during the cleaning process, the cleaning robot may be unable to move forward in the current sub-cleaning area. If the cleaning robot is unable to move forward in the current sub-cleaning area, the server needs to plan the cleaning robot to enter a candidate sub-cleaning area. A candidate sub-cleaning area refers to an adjacent sub-cleaning area that has not been cleaned and where no other cleaning robots are working. This can avoid repeated cleaning or collisions between the current cleaning robot and other cleaning robots.

[0071] In an embodiment of the present application, the cleaning robot sends a check-in signal to the server each time it passes through an entrance and exit node. Within the preset time, that is, within the set working time period, when the cleaning robot passes through the entrance and exit nodes of a sub-cleaning area only once, it indicates that a cleaning robot is working in the sub-cleaning area. When the cleaning robot passes through the entrance and exit nodes of a sub-cleaning area twice, it indicates that the sub-cleaning area has been cleaned. When there is no check-in signal from the cleaning robot at any exit node of a sub-cleaning area, it proves that the sub-cleaning area has not been cleaned and no other cleaning robots are working, and it can be determined as a candidate sub-cleaning area.

[0072] In an embodiment of the present application, the path planning method may further include: determining whether an adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located has a no-entry sign; if the adjacent sub-cleaning area has a no-entry sign, determining that the adjacent sub-cleaning area is not a candidate sub-cleaning area.

[0073] Specifically, the adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is located may be filled with too much debris, resulting in the cleaning robot being unable to enter the set adjacent sub-cleaning area, or the adjacent sub-cleaning area of ​​the cleaning robot is closed, resulting in the cleaning robot being unable to enter the set adjacent sub-cleaning area. The server needs to dynamically plan the path of the cleaning robot.

[0074] In one example, the server can determine whether the adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located has a no-entry mark, thereby determining whether the adjacent sub-cleaning area is a candidate sub-cleaning area. In the case where the adjacent sub-cleaning area has a no-entry mark, it is determined that the adjacent sub-cleaning area is not a candidate sub-cleaning area. Among them, the no-entry mark can be a signal fed back by the cleaning robot when it detects the accumulation of debris or some pre-set identification information. In this way, when the cleaning robot cannot enter the set adjacent sub-cleaning area, the server also needs to re-plan the path of the cleaning robot.

[0075] Figure 7 The following schematically shows a flow chart of a path planning method for a cleaning robot according to another embodiment of the present application. Figure 7As shown, in another embodiment of the present application, a path planning method for a cleaning robot is provided, which is applied to the cleaning robot, and the cleaning robot communicates with a server. The path planning method may include the following steps:

[0076] Step 701: Send an alarm message to a server, where the alarm message indicates that the cleaning robot encounters a cleaning obstacle;

[0077] Step 702: Receive the shortest path sent by the server, wherein the shortest path is the shortest path among multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, wherein the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area currently located by the cleaning robot, and the server has a map of the cleaning area currently located by the cleaning robot, wherein the map records multiple sub-cleaning areas and the entrance and exit nodes of the multiple sub-cleaning areas;

[0078] Step 703: Drive to the target sub-cleaning area according to the shortest path to perform the operation.

[0079] In an embodiment of the present application, when the cleaning robot is working, unexpected situations may occur, making the cleaning robot unable to move forward. For example, there are too many debris piled in front of the cleaning robot and it cannot move forward, or the front of the cleaning robot is closed and it cannot move forward. At this time, the cleaning robot can send an alarm message to the server so that the server can dynamically adjust the cleaning robot and change the cleaning or walking path. In an embodiment of the present application, the alarm message refers to a message sent by the cleaning robot to the server indicating that the cleaning robot encounters a cleaning obstacle when it is determined that it cannot move forward, so that the server knows that the cleaning robot cannot move forward. In one example, the alarm message may include location information, and the server may determine the current location of the cleaning robot based on the location information. In another example, the alarm message does not include location information. After receiving the alarm message sent by the cleaning robot, the server sends an instruction to obtain the location information to the cleaning robot, and the cleaning robot then feeds back the current location information to the server based on the instruction to obtain the location information. In this way, the server can determine the current location of the cleaning robot while obtaining the alarm message.

[0080] The server obtains the current position of the cleaning robot and the map of the current cleaning area based on the alarm message. The map records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas. Then determine the shortest path among the multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area. After determining the shortest path, the server can send the shortest path to the cleaning robot. Among them, the shortest path includes the location information of the entrance and exit nodes. The cleaning robot also has map information of the cleaning area, which is mainly used for local navigation and not for scheduling between sub-cleaning areas. After receiving the shortest path sent by the server, the cleaning robot can drive to the target sub-cleaning area according to the shortest path.

[0081] Through the above technical solution, a server is introduced, and the cleaning robot communicates with the server. When the cleaning robot cannot move forward, the cleaning robot sends an alarm message to the server, and the alarm message indicates that the cleaning robot encounters a cleaning obstacle. According to the alarm message, the server obtains the current position of the cleaning robot and a map of the current cleaning area. The map records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas, thereby determining the shortest path of the multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area. The candidate sub-cleaning area is adjacent to the sub-cleaning area where the cleaning robot is currently located; and then the shortest path is sent to the cleaning robot, so that the cleaning robot can drive to the target sub-cleaning area according to the shortest path to perform operations. In this way, the embodiment of the present application can dynamically plan the path of the cleaning robot, improve the flexibility of the path planning of the cleaning robot, and thus improve the operating efficiency of the cleaning robot.

[0082] In an embodiment of the present application, the path planning method may further include:

[0083] Obtain location information of entrance and exit nodes of multiple sub-cleaning areas sent by the server;

[0084] When the current position matches the position information of the entrance and exit nodes of any sub-cleaning area, a check-in signal is sent to the server.

[0085] Specifically, the cleaning robot sends a punch-in signal to the server every time it passes through an entrance and exit node. Therefore, the cleaning robot can obtain the location information of the entrance and exit nodes of multiple sub-cleaning areas through the server, such as coordinate information. When the current position of the cleaning robot matches the position of the entrance and exit node, the cleaning robot sends a punch-in signal to the server. So that the server can determine whether the sub-cleaning area is a candidate sub-cleaning area through the punch-in signal. For example, when the cleaning robot passes through the entrance and exit nodes of the sub-cleaning area only once, it means that there is a cleaning robot working in the sub-cleaning area; when the cleaning robot passes through the entrance and exit nodes of the sub-cleaning area twice, it means that the sub-cleaning area has been cleaned; when there is no punch-in signal of the cleaning robot at the exit node of the sub-cleaning area, it proves that the sub-cleaning area has not been cleaned and no other cleaning robots are working. By sending a punch-in signal to the server, the server can record the information of the cleaning robot entering and leaving the sub-cleaning area.

[0086] Figure 8 The structure diagram of a path planning device of a cleaning robot according to an embodiment of the present application is schematically shown. Figure 8 As shown, an embodiment of the present application provides a path planning device for a cleaning robot, which may include:

[0087] The message receiving module 801 is configured to receive an alarm message sent by the cleaning robot, where the alarm message indicates that the cleaning robot encounters a cleaning obstacle;

[0088] A map acquisition module 802 is configured to acquire a current position of the cleaning robot and a map of the current cleaning area, where the map records a plurality of sub-cleaning areas and entrance and exit nodes of the sub-cleaning areas;

[0089] The path determination module 803 is configured to determine the shortest path among multiple paths of the cleaning robot from the current position, via the entrance and exit nodes of the sub-cleaning area where the cleaning robot is currently located, to the entrance and exit nodes of the candidate sub-cleaning area, where the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area where the cleaning robot is currently located;

[0090] The sending module 804 is configured to send the shortest path to the cleaning robot, so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path.

[0091] In an embodiment of the present application, when the cleaning robot is working, an unexpected situation may occur, making the cleaning robot unable to move forward. For example, there are too many debris piled in front of the cleaning robot and it cannot move forward, or the front of the cleaning robot is closed and cannot move forward. The message receiving module 801 receives the alarm message sent by the cleaning robot, and the server needs to dynamically adjust the cleaning robot according to the alarm message so that the cleaning robot changes the cleaning or walking path. In an embodiment of the present application, the alarm message refers to the message sent by the cleaning robot to the server indicating that the cleaning robot encounters a cleaning obstacle when it is determined that it cannot move forward, so that the server knows that the cleaning robot cannot move forward. In one example, the alarm message may include location information, and the server may determine the current location of the cleaning robot based on the location information. In another example, the alarm message does not include location information. After receiving the alarm message sent by the cleaning robot, the server sends an instruction to obtain the location information to the cleaning robot, and the cleaning robot then feeds back the current location information to the server based on the instruction to obtain the location information. In this way, the server can determine the current location of the cleaning robot while obtaining the alarm message.

[0092] In an embodiment of the present application, the map is a directed graph of the operating area, and the map may include multiple sub-cleaning areas that do not overlap each other, and each of the multiple sub-cleaning areas may include an entry node and an exit node, i.e., an entry and exit node. The directed graph of the operating area is determined based on the entry node and exit node of any sub-cleaning area, and the entry and exit nodes of adjacent sub-cleaning areas of any sub-cleaning area. The map acquisition module 802 acquires the current position of the cleaning robot and the map of the current cleaning area, so as to dynamically plan the path of the cleaning robot to determine the shortest path of the cleaning robot.

[0093] In an embodiment of the present application, the shortest path can be the shortest path to improve the working efficiency of the cleaning robot. The path determination module 803 can calculate the shortest path for the cleaning robot to reach these areas through graph search or Dijkstra algorithm. In one example, the server can first determine at least one candidate sub-cleaning area based on the current position of the cleaning robot and the directed graph of the working area; then determine multiple paths for the cleaning robot to enter at least one candidate sub-cleaning area based on the directed graph of the working area; finally, determine the shortest path among the multiple paths as the shortest path for the cleaning robot to enter the next working area. The embodiment of the present application determines the shortest path based on the directed graph of the working area, and the calculation method is simpler and more efficient.

[0094] After the server determines the shortest path, the sending module 804 can send the shortest path to the cleaning robot. The shortest path includes the location information of the entrance and exit nodes. The cleaning robot also has map information of the cleaning area, which is mainly used for local navigation and not for scheduling between sub-cleaning areas. The cleaning robot receives the shortest path sent by the server and can drive to the target sub-cleaning area according to the shortest path.

[0095] Through the above technical solution, a server is introduced, and the server communicates with at least one cleaning robot. The message receiving module 801 receives an alarm message sent by the cleaning robot, which indicates that the cleaning robot encounters a cleaning obstacle. The map acquisition module 802 obtains the current position of the cleaning robot and a map of the current cleaning area, which records multiple sub-cleaning areas and the entrance and exit nodes of the sub-cleaning areas; the path determination module 803 determines the shortest path among multiple paths of the cleaning robot from the current position, through the entrance and exit nodes of the current sub-cleaning area, to the entrance and exit nodes of the candidate sub-cleaning area, and the candidate sub-cleaning area is adjacent to the sub-cleaning area where the cleaning robot is currently located; and the shortest path is sent to the cleaning robot through the sending module 804, so that the cleaning robot can drive to the target sub-cleaning area according to the shortest path to perform operations. In this way, the present application can dynamically plan the path of the cleaning robot, improve the flexibility of the path planning of the cleaning robot, and thus improve the operating efficiency of the cleaning robot.

[0096] An embodiment of the present application also provides a server, which communicates with at least one cleaning robot. The server includes a processor configured to execute the above-mentioned path planning method of the cleaning robot.

[0097] An embodiment of the present application also provides a cleaning robot, which communicates with a server. The cleaning robot includes a processor configured to execute the above-mentioned path planning method of the cleaning robot.

[0098] An embodiment of the present application also provides a machine-readable storage medium, on which instructions are stored, and the instructions are used to enable a machine to execute the above-mentioned path planning method for the cleaning robot.

[0099] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0100] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0101] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0102] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0103] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0104] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0105] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0106] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0107] The above are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A path planning method for a cleaning robot, applied to a server, characterized in that: The server communicates with at least one cleaning robot, and the path planning method includes: receiving an alarm message sent by the cleaning robot, wherein the alarm message indicates that the cleaning robot encounters a cleaning obstacle; Acquire a current position of the cleaning robot and a map of the current cleaning area, wherein the map records a plurality of sub-cleaning areas and entrance and exit nodes of the plurality of sub-cleaning areas; Determine the shortest path among multiple paths for the cleaning robot to reach the entrance and exit nodes of a candidate sub-cleaning area from the current position via the entrance and exit nodes of the sub-cleaning area where the cleaning robot is currently located, wherein the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area where the cleaning robot is currently located; Sending the shortest path to the cleaning robot so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path; Wherein, the path planning method further includes: Acquire the adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located; Determine whether the adjacent sub-cleaning area is a candidate sub-cleaning area according to the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within a preset time, wherein the candidate sub-cleaning area is a sub-cleaning area in which no other cleaning robot is working and has not been cleaned; The map is a directed graph of the operation area of ​​the cleaning robot, the directed graph of the operation area is pre-constructed, and the steps of constructing the directed graph of the operation area include: Dividing the work map of the area to be cleaned into multiple non-overlapping sub-cleaning areas; An entry node and an exit node are respectively set in each sub-cleaning area; The operation area directed graph is determined according to the entry node and the exit node of any sub-cleaning area among the multiple sub-cleaning areas, and the entry and exit nodes of any sub-cleaning area.

2. The method according to claim 1, characterized in that The plurality of sub-cleaning areas have a preset cleaning sequence.

3. The method according to claim 1, characterized in that The path planning method further includes: Determine whether a sub-cleaning area adjacent to the sub-cleaning area currently located by the cleaning robot has a no-entry mark; In the case where the adjacent sub-cleaning region has a no-entry mark, it is determined that the adjacent sub-cleaning region is not a candidate sub-cleaning region.

4. A path planning method for a cleaning robot, applied to the cleaning robot, characterized in that: The cleaning robot communicates with a server, and the path planning method includes: Sending an alarm message to the server, wherein the alarm message indicates that the cleaning robot encounters a cleaning obstacle; Receive the shortest path sent by the server, the shortest path being the shortest path among multiple paths of the cleaning robot from the current position, via the entrance and exit nodes of the sub-cleaning area where the cleaning robot is currently located, to the entrance and exit nodes of the candidate sub-cleaning area, the candidate sub-cleaning area being a sub-cleaning area to be cleaned adjacent to the sub-cleaning area where the cleaning robot is currently located, the server having a map of the cleaning area where the cleaning robot is currently located, the map recording multiple sub-cleaning areas and the entrance and exit nodes of the multiple sub-cleaning areas; Driving to the target sub-cleaning area according to the shortest path to perform operations; Wherein, the path planning method further includes: Acquire the adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located; Determine whether the adjacent sub-cleaning area is a candidate sub-cleaning area according to the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within a preset time, wherein the candidate sub-cleaning area is a sub-cleaning area in which no other cleaning robot is working and has not been cleaned; The map is a directed graph of the operation area of ​​the cleaning robot, the directed graph of the operation area is pre-constructed, and the steps of constructing the directed graph of the operation area include: Dividing the work map of the area to be cleaned into multiple non-overlapping sub-cleaning areas; An entry node and an exit node are respectively set in each sub-cleaning area; The operation area directed graph is determined according to the entry node and the exit node of any sub-cleaning area among the multiple sub-cleaning areas, and the entry and exit nodes of any sub-cleaning area.

5. The path planning method according to claim 4, characterized in that: The path planning method further includes: Acquire location information of entrance and exit nodes of multiple sub-cleaning areas sent by the server; When the current position matches the position information of the entrance and exit nodes of any sub-cleaning area, a check-in signal is sent to the server.

6. A path planning device for a cleaning robot, characterized in that: include: a message receiving module, configured to receive an alarm message sent by the cleaning robot, wherein the alarm message indicates that the cleaning robot encounters a cleaning obstacle; A map acquisition module is configured to acquire a current position of the cleaning robot and a map of a current cleaning area, wherein the map records a plurality of sub-cleaning areas and entrance and exit nodes of the sub-cleaning areas; a path determination module configured to determine the shortest path among a plurality of paths for the cleaning robot to reach an entrance and exit node of a candidate sub-cleaning area from a current position via an entrance and exit node of a sub-cleaning area currently located, wherein the candidate sub-cleaning area is a sub-cleaning area to be cleaned adjacent to the sub-cleaning area currently located by the cleaning robot; a sending module, configured to send the shortest path to the cleaning robot, so that the cleaning robot can drive to the target sub-cleaning area to perform operations according to the shortest path; Wherein, the path planning method further includes: Acquire the adjacent sub-cleaning area of ​​the sub-cleaning area where the cleaning robot is currently located; Determine whether the adjacent sub-cleaning area is a candidate sub-cleaning area according to the number of times all cleaning robots enter the entrance and exit nodes of the adjacent sub-cleaning area within a preset time, wherein the candidate sub-cleaning area is a sub-cleaning area in which no other cleaning robot is working and has not been cleaned; The map is a directed graph of the operation area of ​​the cleaning robot, the directed graph of the operation area is pre-constructed, and the steps of constructing the directed graph of the operation area include: Dividing the work map of the area to be cleaned into multiple non-overlapping sub-cleaning areas; An entry node and an exit node are respectively set in each sub-cleaning area; The operation area directed graph is determined according to the entry node and the exit node of any sub-cleaning area among the multiple sub-cleaning areas, and the entry and exit nodes of any sub-cleaning area.

7. A server, characterized in that: The server communicates with at least one cleaning robot, and the server includes a processor configured to execute the path planning method for the cleaning robot according to any one of claims 1 to 3.

8. A cleaning robot, characterized in that: The cleaning robot communicates with a server, and the cleaning robot includes a processor configured to execute the path planning method of the cleaning robot according to claim 4 or 5.

9. A machine-readable storage medium, characterized in that: The machine-readable storage medium stores instructions for enabling a machine to execute the path planning method for a cleaning robot according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Control method, device and system for cooperative work of floor-mopping robots

    CN109965781A

  • Full-coverage path planning method of cleaning robot

    CN110456789A

  • Robot cleaning method, robot and storage medium

    CN114343490A