Automatic pool cleaning device, control method and computer storage medium

By determining whether the automatic pool cleaning device is stuck and adjusting its posture by rotating it, the problem of underwater cleaning devices getting stuck due to complex terrain has been solved, improving cleaning efficiency and user experience.

WO2026067625A1PCT designated stage Publication Date: 2026-04-02AIPER GLOBAL PTE LTD +1
View PDF 10 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-26
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Underwater cleaning devices are prone to getting stuck due to complex terrain at the bottom of the pool during the cleaning process, which affects cleaning efficiency.

Method used

The system determines whether the automatic cleaning device in the pool is stuck, shuts off the water pump when stuck, rotates to a predetermined angle to adjust its posture, and then moves forward or backward to get out of the predicament, using the direction of water flow to provide thrust to assist in getting out of the predicament.

Benefits of technology

This improves the cleaning efficiency and user experience of the automatic pool cleaning device, ensuring that the device can successfully complete the cleaning task.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025124400_02042026_PF_FP_ABST
    Figure CN2025124400_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A control method (100) for an automatic pool cleaning device. An automatic pool cleaning device comprises a water pump, which is used for guiding a water flow to flow into a water suction port at the bottom of the automatic pool cleaning device and flow out through a drainage port of the automatic pool cleaning device. The control method (100) comprises: controlling the automatic pool cleaning device to travel underwater and execute a cleaning operation (101); and during traveling, determining whether the automatic pool cleaning device is stuck (102); and if the automatic pool cleaning device is stuck, turning off the water pump and rotating the automatic pool cleaning device by a predetermined angle, and controlling the automatic pool cleaning device to move forwards or backwards after rotating by the predetermined angle (103). The control method (100) can control the automatic pool cleaning device to get unstuck as soon as possible when the automatic pool cleaning device is stuck, thereby improving the cleaning efficiency of the automatic pool cleaning device and enhancing user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Automatic pool cleaning device, control method and computer storage medium

[0001] This application claims priority to Chinese Patent Application No. 2024113593225, filed on September 26, 2024, Chinese Patent Application No. 2024113754481, filed on September 29, 2024, Chinese Patent Application No. 2024113827069, filed on September 30, 2024, Chinese Patent Application No. 2024113960648, filed on October 08, 2024, Chinese Patent Application No. 2024224593506, filed on October 11, 2024, Chinese Patent Application No. 2024114270936, filed on October 12, 2024, Chinese Patent Application No. 2024114403355, filed on October 15, 2024, Chinese Patent Application No. 2024225934688, filed on October 27, 2024, Chinese Patent Application No. 2024115242261, filed on October 29, 2024, Chinese Patent Application No. 202411523032X, filed on October 29, 2024, and Chinese Patent Application No. 2024115242505, filed on October 29, 2024, the contents of which are incorporated herein by reference in their entirety as part of this application. TECHNICAL FIELD

[0002] Embodiments of the present application relate to the technical field of cleaning devices, in particular to a control method of an automatic pool cleaning device, an automatic pool cleaning device and a computer storage medium. BACKGROUND

[0003] With the development of computer technology, robot technology has also developed rapidly. The current underwater robot is increasingly widely used in various fields and can assist people in performing work in water, including underwater cleaning work.

[0004] The robot for underwater cleaning, such as an automatic pool cleaning device, may encounter many complex terrains during cleaning of the bottom of the pool. These complex terrains can easily cause the automatic pool cleaning device to be stuck, i.e., the automatic pool cleaning device may be stuck in the complex terrain at the bottom of the pool and difficult to continue cleaning, affecting the cleaning efficiency of the automatic pool cleaning device.

[0005] Therefore, during the cleaning of the bottom of the pool by the automatic pool cleaning device, how to overcome the complex terrain to smoothly clean becomes a technical problem to be solved. SUMMARY

[0006] According to a first aspect of the present application, a control method of an automatic pool cleaning device is provided, the automatic pool cleaning device comprising a water pump configured to guide water flow into a water suction port at a bottom of the automatic pool cleaning device and out of a water discharge port of the automatic pool cleaning device, the control method comprising: controlling the automatic pool cleaning device to walk underwater and perform a cleaning operation; determining whether the automatic pool cleaning device is stuck during the walking, and if the automatic pool cleaning device is stuck, turning off the water pump and rotating the automatic pool cleaning device by a predetermined angle; and controlling the automatic pool cleaning device to move forward or backward after rotating the predetermined angle. BRIEF DESCRIPTION OF DRAWINGS

[0007] FIG. 1 is a flowchart of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0008] FIG. 2 is a schematic diagram of an automatic pool cleaning device according to an embodiment of the present application;

[0009] FIG. 3 is a flowchart of a method for obtaining a watering map according to an embodiment of the present application;

[0010] FIG. 4 is an example of a tracking flowchart of a method for obtaining a watering map according to an embodiment of the present application;

[0011] FIG. 5 is a schematic diagram of a device for obtaining a watering map according to an embodiment of the present application;

[0012] FIG. 6A is a schematic diagram of an automatic pool cleaning device according to an embodiment of the present application;

[0013] FIG. 6B is a schematic diagram of an exhaust hole of an automatic pool cleaning device according to an embodiment of the present application;

[0014] FIG. 7 is a flowchart of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0015] FIG. 8 is a schematic diagram of a physical structure of an automatic pool cleaning device according to an embodiment of the present application;

[0016] FIG. 9 is a schematic diagram of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0017] FIG. 10 is a schematic diagram of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0018] FIG. 11 is a schematic diagram of a computer storage medium according to an embodiment of the present application;

[0019] FIG. 12 is a schematic diagram of a structure of an automatic pool cleaning device and a base station according to an embodiment of the present application;

[0020] FIG. 13 is a flowchart of a backtracking method of an automatic pool cleaning device according to an embodiment of the present application;

[0021] FIG. 14 is a flowchart of a method of controlling movement of a robot according to an embodiment of the present application;

[0022] FIG. 15 is an exemplary diagram of a cleaning path of a robot according to an embodiment of the present application;

[0023] FIG. 16 is an exemplary diagram of a cleaning path of a robot according to an embodiment of the present application;

[0024] FIG. 17 is an exemplary diagram of a cleaning path of a robot according to an embodiment of the present application;

[0025] FIG. 18 is an exemplary diagram of an automatic pool cleaning device according to an embodiment of the present application;

[0026] FIG. 19 is an exemplary diagram of an automatic pool cleaning device according to an embodiment of the present application;

[0027] FIG. 20 is an example of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0028] FIG. 21 is an example of an execution process of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0029] FIG. 22 is an example of an execution process of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0030] FIG. 23 is an example of an execution process of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0031] FIG. 24 is an example of an execution process of a control method of an automatic pool cleaning device according to an embodiment of the present application;

[0032] FIGS. 25A-25B are schematic views of an automatic pool cleaning device according to an embodiment of the present application, wherein FIG. 25A shows an automatic pool cleaning device equipped with a tracked traveling mechanism, and FIG. 25B shows an automatic pool cleaning device equipped with a wheeled traveling mechanism;

[0033] FIGS. 26A-26C are schematic views of an automatic pool cleaning device according to an embodiment of the present application while traveling;

[0034] FIG. 27 is a flowchart of a method of controlling an automatic pool cleaning device according to an embodiment of the present application;

[0035] FIGS. 28A-28D are schematic views of an automatic pool cleaning device according to an embodiment of the present application while turning over by a water spraying mechanism;

[0036] FIG. 29 is an application scenario according to an embodiment of the present application;

[0037] FIG. 30 is a schematic diagram of a pool automatic cleaning device according to an embodiment of the present application, which is equipped with a pool edge contour information acquisition system;

[0038] FIG. 31 is a schematic diagram of data acquisition of the pool automatic cleaning device according to an embodiment of the present application;

[0039] FIG. 32 is a schematic diagram of a structure of the pool automatic cleaning device according to an embodiment of the present application;

[0040] FIG. 33 is a schematic diagram of a cross-sectional structure of the pool automatic cleaning device according to an embodiment of the present application;

[0041] FIG. 34 is a schematic diagram of a structure of the pool automatic cleaning device according to an embodiment of the present application;

[0042] FIG. 35 is a schematic diagram of a cross-sectional structure of the pool automatic cleaning device according to an embodiment of the present application;

[0043] FIG. 36A is a schematic diagram of a cross-sectional structure of the pool automatic cleaning device according to an embodiment of the present application;

[0044] FIG. 36B is a schematic diagram of a cross-sectional structure of the pool automatic cleaning device according to an embodiment of the present application;

[0045] FIG. 37 is a schematic diagram of a structure of the pool automatic cleaning device according to an embodiment of the present application;

[0046] FIG. 38 is a schematic diagram of a structure of the pool automatic cleaning device according to an embodiment of the present application;

[0047] FIG. 39 is a schematic diagram of a structure of the pool automatic cleaning device according to an embodiment of the present application;

[0048] FIG. 40 is a schematic diagram of a side structure of the pool automatic cleaning device according to the embodiment shown in FIG. 39; and

[0049] FIG. 41 is a schematic diagram of a partial cross-section of a second handle portion of the embodiment shown in FIG. 40.

[0050] 1. A device for obtaining an irrigation map; 2. A detector; 3. A tracker; 4. A sensor; 5. A compositor; 300. An automatic pool cleaning device; 301. A memory; 302. A processor; 30. A computer storage medium; 31. A computer program; 51. A base station; 52. A pool wall; 53. A water level line; 7120. A controller; 7140. A spatial attitude sensor; 7160. A power mechanism; 7221. A water jet; 7222. A water jet; 7223. A water flow channel; 7224. A water flow channel; 7225. A water pump; 7226. A water pump; 8110. A housing; 8120. A traveling mechanism; 8130. A cleaning unit; 8140. A drain; 8150. A drain; 8200. A pool bottom; 8210. A protrusion; 8240. A downward-looking sensor; 9200. A pool edge contour information acquisition system: 9201. An image acquisition unit; 9202. A sensor unit; 9203. An angle detection unit; 9204. A main control unit; G, G1, Center of gravity; 111. Bottom surface; 112. Back surface; 113. Top surface; 114. Front surface; 210, 220, 230. Front housing sampling points; 240, 250, 260. Rear housing sampling points; 120. Handle; 121. Handle body; 122. Handle connector; 130. Rear drain; 1102. First handle; 1103. Second handle; 1301. Second handle body; 1302. Arc-shaped upper surface. DETAILED DESCRIPTION

[0051] For the purposes of the present application, the technical solutions and advantages thereof are more clearly described below, and the technical solutions in the present application will be clearly and completely described in conjunction with the drawings in the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.

[0052] The present application provides a control method of an automatic pool cleaning device, the automatic pool cleaning device comprising a water pump for guiding water flow to flow into a water suction port at the bottom of the automatic pool cleaning device and out of a drain of the automatic pool cleaning device.

[0053] It can be understood that the pool automatic cleaning device can move and clean in a pool-shaped building, which can be a pool, a water storage pool, a water storage tank, a water storage tank, etc. The pool automatic cleaning device can be a device such as an automatic cleaning device, a pool cleaning robot, etc. can clean the pool-shaped building. The specific presentation of the pool automatic cleaning device and the pool-shaped building is not limited in the present application, as long as the principle of the present application can be realized. Hereinafter, if not specified, the robot will be described as an example of the pool automatic cleaning device, and the pool will be described as an example of the pool-shaped building.

[0054] When cleaning the bottom of the pool, the robot usually cleans according to the planned cleaning route, for example, reciprocating cleaning between the opposite sides of the pool bottom. The robot can include a water pump, and the robot is also provided with a water suction port and a water discharge port, wherein the water suction port is located at the abdomen or bottom of the robot, and the water discharge port is located at the back or upper part of the robot. During the process of controlling the robot to move forward to clean the bottom of the pool, the water pump is used to guide the water flow into the water suction port of the robot and flow out from the water discharge port of the robot, thereby cleaning the pool.

[0055] The control method 300 of the robot will be described in detail below with reference to the accompanying drawings.

[0056] Figure 1 is a flowchart of the control method 300 of the pool automatic cleaning device provided by the present application. As shown in Figure 1, the control method 300 includes steps 101, 102 and 103. The steps 101 to 103 will be described in detail below.

[0057] In step 101, the pool automatic cleaning device is controlled to walk underwater and perform cleaning work.

[0058] For example, the robot is controlled to walk according to the planned cleaning route on the pool bottom to perform cleaning work, and the cleaning route can be planned according to the shape of the pool bottom. The robot can also be controlled to walk on the pool wall and perform cleaning work.

[0059] When the robot walks according to the planned cleaning route, the walking mode is related to the planned cleaning route. For example, the walking includes straight line walking, and can also include reciprocating and turning back walking (for example, arch-shaped turning back walking). The straight line referred to herein also includes a curve with small curvature. The walking modes shown above are only exemplary, and those skilled in the art can select and set the walking mode of the robot underwater according to the actual situation, as long as the technical principles of the present application can be realized.

[0060] Step 102 is performed during the walking process, in which it is judged whether the pool automatic cleaning device is stuck.

[0061] It can be understood that there can be floor lamps, drains, filters and other obstacles such as staircases arranged on the bottom of the pool and extending to the sidewall of the pool. When the robot moves to the position of the above-mentioned obstacles during the moving cleaning process of the bottom of the pool, it can be stuck due to the obstruction of the obstacles, so that the robot cannot continue to move, causing the cleaning work of the pool to be unable to continue. Therefore, after the robot is stuck, it will seriously affect the cleaning efficiency of the pool. Based on this, during the cleaning process of the robot on the bottom of the pool, it is necessary to judge whether the robot is stuck during the cleaning process, so as to discover that the robot is stuck in time and to escape in time. Among them, there can be many ways to judge whether the robot is stuck, which will be described in the embodiments below.

[0062] When the robot is stuck, there can be two types of situations as follows: (1) the robot stops at the stuck position, in which case the speed of the robot is reduced to 0 or close to 0; (2) the robot reciprocates in the narrow space corresponding to the stuck position, in which case the speed of the robot is also lower than its normal driving speed. The two types of situations described above are only exemplary descriptions of the situations when the robot is stuck, and are not intended to limit the number of situations when the robot is stuck. Those skilled in the art can apply the principles of the present application to various situations when the robot is stuck.

[0063] If the pool automatic cleaning device is stuck, step 103 is entered. In step 103, the water pump is turned off and the pool automatic cleaning device is rotated by a predetermined angle; and the pool automatic cleaning device is controlled to advance or retreat after rotating the predetermined angle.

[0064] In the case that the robot is stuck, the water pump of the robot needs to be closed first. This is because in the process that the water pump sucks water from the water suction port of the robot into the robot and discharges the water from the water discharge port of the robot, the water suction from the water suction port will increase the adsorption force of the water suction port to the bottom of the pool (i.e. the adsorption force of the robot to the bottom of the pool), and the water flow discharged from the water discharge port will provide an action force to the robot, the direction of the action force depends on the orientation of the water discharge port, usually the water discharge direction of the water discharge port is set to upward or obliquely upward, so that the action force can increase the friction force of the robot to the bottom of the pool, reduce the slip of the robot, and improve the fitting force on the bottom of the pool or the wall. However, the combined action of such adsorption force or fitting force will "press" the robot on the surface of the bottom of the pool or the wall of the pool, which is not conducive to the rotation and movement of the robot in the subsequent unsticking. Therefore, after the water pump of the robot is closed, the subsequent unsticking action of the robot can be facilitated, and the success rate of unsticking can be increased. Of course, the closing of the water pump referred to in the present solution also includes the case that the power of the water pump is maintained at a small value, in the case of low-power operation of the water pump, the unsticking action of the robot will not be affected by the above-mentioned action force or adsorption force. Moreover, low-power operation can also ensure that the wheels or tracks of the robot do not deviate from the bottom of the pool or the wall, avoiding the robot from being raised or floating.

[0065] It should be noted that in the present application, "forward", "forward" corresponds to the direction indicated by the head of the robot, and correspondingly, "backward", "backward" refers to the direction indicated by the tail of the robot. For example, the robot travels forward along the existing path, which means that the robot moves in the direction indicated by its head; the robot retreats, which means that the robot moves in the direction indicated by its tail.

[0066] When the robot travels along a straight line or a curve with small curvature, if the robot is stuck and cannot move forward, the robot may also be stuck when it directly retreats at the stuck position. Based on this situation, the robot can be first controlled to rotate by a predetermined angle to adjust the posture of the robot at the stuck position or the relative posture of the robot and the obstacle. Further, after rotating by the predetermined angle, the robot can be controlled to exit the stuck position by advancing or retreating, thereby realizing unsticking, wherein whether to use the advancing mode or the retreating mode for unsticking is related to the current environment in which the robot is stuck, and the embodiments of the present application do not make specific limitations here. In the following, for the convenience of description and to make the specification concise, if there is no additional description, "the posture of the robot at the stuck position" and "the relative posture of the robot and the obstacle" are collectively referred to as "the posture of the robot" or "the posture".

[0067] It can be understood that the specific escape action includes controlling the robot to rotate by the predetermined angle, then controlling the robot to move forward or backward, if the robot is difficult to escape, the direction of movement can be changed, for example, the robot changes from moving forward to moving backward or from moving backward to moving forward, if it still cannot escape, the robot can repeatedly the above escape action in sequence until the robot successfully escapes. If the robot still cannot escape after several escape attempts, the robot can send a prompt to the user to help the robot escape.

[0068] If the predetermined angle of rotation of the robot at the stuck position is set too small, the robot's posture adjustment is small, and the robot may be more difficult to escape. However, due to the size and weight of the robot's body, the robot also needs power consumption to rotate the body, and the larger the rotation angle, the higher the power consumption. Therefore, the size of the predetermined angle of rotation can be set according to the size and weight of the robot's body. For example, if the size of the body is larger, the robot needs to rotate a larger predetermined angle to have a significant posture adjustment.

[0069] For example, the predetermined angle is small, which can facilitate the robot to save power during escape, and the small rotation angle also facilitates the robot to continue cleaning work near the forward path before escape after escape, reducing the area of missed cleaning. In one embodiment, the predetermined angle can be 30 degrees to 90 degrees.

[0070] For example, in some cases, the predetermined angle can also be set to a larger angle, such as 90 degrees or more. By controlling the robot to rotate a larger angle, the robot can move forward without any obstacles in the direction of movement, and then control the robot to move directly forward to escape. If there are still obstacles in the direction of movement of the robot after rotating a larger angle, the robot can be controlled to move backward to escape.

[0071] The above embodiment has the following beneficial effects:

[0072] In the pool automatic cleaning device, the pool automatic cleaning device determines whether it is stuck, and in the case of being stuck, the pool automatic cleaning device is controlled to rotate by a predetermined angle to adjust the posture of the pool automatic cleaning device at the stuck position and / or the relative posture with the obstacle. After the posture adjustment, the pool automatic cleaning device is further controlled to move forward or backward to make the pool automatic cleaning device escape as soon as possible, and then the pool automatic cleaning device can continue to clean, thereby improving the cleaning efficiency of the pool automatic cleaning device and the user experience.

[0073] In one embodiment, during the movement forward or backward, the water pump is turned on and provides forward or backward thrust to the pool automatic cleaning device.

[0074] The water outlet of the robot is located at the tail or upper part of the robot, and the direction of the water flow can be adjusted by adjusting the direction of the water outlet. Based on this, in the process of controlling the robot to move forward or backward, in order to enable the robot to smoothly and quickly escape from the trapped position, the robot can be provided with forward or backward thrust by adjusting the water outlet direction based on the escape mode of the robot, thereby increasing the success rate of the robot escaping. Generally, the thrust of the water jet is greater than the driving force of the track.

[0075] For example, if the robot escapes by moving forward, the direction of the water outlet can be adjusted to spray water to the rear or obliquely upward of the robot, thereby providing the robot with forward thrust, which together with the driving wheel of the robot pushes the robot forward, thereby increasing the success rate of the robot escaping. If the robot escapes by moving backward, the direction of the water outlet can be adjusted to spray water to the front or obliquely upward of the robot, thereby providing the robot with backward thrust, which together with the driving wheel of the robot pushes the robot backward, thereby increasing the success rate of the robot escaping. If the escape is not successful, the direction of travel can be changed and the escape can be tried again.

[0076] It can be understood that the robot has a water outlet adjusting device corresponding to the adjustment of the direction of the water outlet, which can adjust the water outlet direction. Those skilled in the art can selectively set the water outlet adjusting device according to the principles of the present application, and the present application does not make specific limitations. The adjustment includes rotating the water outlet or switching different water outlets.

[0077] For example, the power of the water pump is adjustable, for example, the water pump has two working powers, low power and high power. During the process of moving forward or backward when the robot escapes, after the water pump is turned on, the water pump can be first controlled to run at low power to enable the robot to attempt to escape, and the water pump can first use low power to help the robot escape, which can help the robot save power during the escape process. If the escape is not successful, the water pump is controlled to run at high power, thereby increasing the forward or backward thrust on the robot and increasing the success rate of the robot escaping.

[0078] In one embodiment, the pool cleaning robot further comprises an inertial measurement unit (IMU) configured to measure acceleration of the pool cleaning robot during the walking, and the determining whether the pool cleaning robot is stuck comprises determining whether the acceleration of the pool cleaning robot changes within a first predetermined time period based on the acceleration measured by the inertial measurement unit (IMU), and determining that the pool cleaning robot is stuck if the acceleration of the pool cleaning robot does not change within the first predetermined time period. The acceleration data is acceleration data without abnormal data.

[0079] Exemplarily, the robot further comprises an inertial measurement unit (IMU) configured to measure acceleration of the robot, and the robot is configured to determine whether the robot is stuck based on the acceleration measured by the inertial measurement unit (IMU). The technical principle is explained as follows.

[0080] An acceleration threshold A is preset. If the measured acceleration is less than the preset acceleration threshold A, it is determined that the robot is not stuck, but the uneven pool bottom surface, small stones, branches and the like cause a slight impact on the driving speed of the robot when the robot drives on the pool bottom surface, thereby causing the acceleration of the robot to fluctuate, but these reasons are not enough to cause the robot to be stuck, and thus the robot can still continue the cleaning work. If the measured acceleration is greater than the preset acceleration threshold A, it is determined that the driving speed of the robot is suddenly reduced, and at this time, it cannot be directly determined that the robot is stuck, because the robot may, for example, contact the pool wall and need to be turned back (for example, an arch-shaped turn back), and thus it is still necessary to determine whether the measured acceleration changes within a subsequent period of time (i.e., within the first predetermined time period). If the measured acceleration does not change within the first predetermined time period, it indicates that the robot cannot recover to the normal driving speed after the driving speed is suddenly reduced, or even cannot drive, and thus it is determined that the robot is stuck. If the measured acceleration changes within the first predetermined time period, it indicates that the robot is accelerating (usually corresponding to the robot accelerating to the normal driving speed after the arch-shaped turn back), and it is determined that the robot is not stuck.

[0081] For example, a stuck acceleration threshold B can also be preset, and accordingly, the determining whether the pool cleaning robot is stuck includes: determining whether the acceleration of the pool cleaning robot within a first predetermined time period is greater than the stuck acceleration threshold B based on the acceleration measured by the inertial measurement unit IMU, and if the acceleration of the pool cleaning robot within the first predetermined time period is greater than the stuck acceleration threshold B, it is determined that the pool cleaning robot is not stuck; and if the acceleration of the pool cleaning robot within the first predetermined time period is always less than the stuck acceleration threshold B, it is determined that the pool cleaning robot is stuck.

[0082] As described above, when the robot is stuck, it can perform reciprocating motion at the stuck position, in which case the robot is not in a static state, and each reciprocating motion of the robot will bring about a change in acceleration. Therefore, if the measured acceleration is greater than the predetermined acceleration threshold A at a certain time, it can be determined that the robot has experienced a sudden drop in travel speed, thereby triggering a comparison between the measured acceleration and the stuck acceleration threshold B within the following first predetermined time period. If the acceleration of the robot within the first predetermined time period is greater than the stuck acceleration threshold B, it indicates that the robot has accelerated significantly after experiencing a sudden drop in travel speed, indicating that the robot is not stuck; and if the acceleration of the robot within the first predetermined time period is always less than the stuck acceleration threshold B, it indicates that the robot cannot accelerate reasonably to restore to normal travel speed, thus indicating that the robot is stuck.

[0083] In addition to the two types of situations described above in which the robot is stuck, the robot can also experience a sudden drop in speed due to other situations, for example, when the robot travels to the intersection of the bottom of the pool and the side wall of the pool and needs to stop and turn, a sudden drop in speed can also occur, but in this case the robot will accelerate again soon after the speed drops, so the acceleration of the robot will change within a certain time period. Therefore, to exclude other situations that can cause the robot to experience a sudden drop in speed, the first predetermined time period is set, and when the acceleration of the robot changes within the first predetermined time period (for example, the robot restores to normal travel speed), it indicates that the robot is not stuck, but is experiencing a sudden drop in speed due to other reasons; and if the acceleration of the robot does not change within the first predetermined time period, it indicates that the robot is in a stuck state. Based on the above discussion, the first predetermined time period cannot be too short, as a too short time period can misjudge the situation where the acceleration of the robot does not change within a short time period in a non-stuck state as the robot being stuck; and the first predetermined time period should also not be too long, as a too long time period can result in a failure to determine that the robot is stuck in a timely manner. In an embodiment, the first predetermined time period can be 3 to 10 seconds.

[0084] In one embodiment, the pool cleaning robot further comprises a speed sensor, such as a Hall sensor, a photoelectric sensor, a camera or other sensor capable of detecting speed. The pool cleaning robot further comprises a speed sensor configured to measure the forward speed of the pool cleaning robot during the walking process, and the determining whether the pool cleaning robot is stuck comprises determining whether the forward speed of the pool cleaning robot is always less than a predetermined speed threshold within a second predetermined time period based on the forward speed measured by the speed sensor, and determining that the pool cleaning robot is stuck if the forward speed of the pool cleaning robot is always less than the predetermined speed threshold within the second predetermined time period.

[0085] In one embodiment, the pool cleaning robot further comprises a wheel speed sensor (e.g. a code disc) configured to measure the linear movement distance or movement time of the pool cleaning robot during the walking process, and the determining whether the pool cleaning robot is stuck comprises determining whether the measured movement distance is greater than a predetermined distance threshold or determining whether the movement time is greater than a predetermined movement time, and determining that the pool cleaning robot is stuck if the measured movement distance is greater than the predetermined distance threshold or the movement time is greater than the predetermined movement time. The predetermined movement time is, for example, the normal time required for the robot to walk linearly from one edge region of the pool to the opposite edge region, and if the measured movement distance continues to increase beyond the predetermined movement time, it indicates that the robot has not actually moved, but only the wheel rotation has generated the code disc reading, and thus it is determined that the robot is stuck; or the movement distance of the robot walking linearly can be directly monitored by the code disc, and if it exceeds the predetermined distance threshold (e.g. the distance from one edge region of the pool to the opposite edge region), it is considered that the robot is stuck. The predetermined distance threshold can be determined based on the maximum distance of the robot walking linearly in the pool.

[0086] In one embodiment, the pool cleaning robot further comprises a distance sensor configured to measure the distance between the pool cleaning robot and a predetermined object during the walking process, and the determining whether the pool cleaning robot is stuck comprises determining whether the distance between the pool cleaning robot and the predetermined object changes within a third predetermined time period based on the distance measured by the distance sensor, and determining that the pool cleaning robot is stuck if the distance between the pool cleaning robot and the predetermined object does not change within the third predetermined time period.

[0087] For example, the robot may include a distance sensor, which can measure the distance between the robot and a predetermined object, and then determine whether the robot is stuck based on the distance between the robot and the predetermined object. The specific technical principle is illustrated below:

[0088] It is understandable that besides the robot being stuck and unable to move, other situations could also cause the robot's movement distance to decrease in a short period of time. For example, when the robot reaches the junction of the bottom and side wall of a pool and needs to stop and turn, it may also experience difficulty moving forward for a short time. Therefore, to eliminate other situations that may cause the robot to have difficulty moving smoothly, a third predetermined time period is set. If the distance between the robot and the predetermined object does not change within the third predetermined time period, it means that the robot has difficulty moving smoothly within the third predetermined time period and is stuck. It should be noted that the above-mentioned lack of change in distance includes situations where the distance change is small or the distance change is within a predetermined threshold range. In one embodiment, the third predetermined time period can be 3 seconds to 10 seconds.

[0089] The predetermined object is a pre-set reference object. The predetermined object can change along the robot's movement path. For example, if the robot's cleaning path at the bottom of a pool involves moving back and forth between two opposite sides of the pool bottom, the predetermined object could be the pool sidewall located in front of the robot (e.g., the left sidewall). After the robot turns back in a bow shape, the predetermined object could be the pool sidewall on the other side (e.g., the right sidewall). It should be noted that the above description of the predetermined object is merely exemplary. Those skilled in the art can selectively set the predetermined object according to the principles of this application, as long as the technical principles of this application are implemented.

[0090] In one embodiment, the distance sensor includes an ultrasonic sensor or an infrared sensor.

[0091] The above describes four implementation methods: (1) determining whether the robot is stuck by the change in acceleration; (2) determining whether the robot is stuck by the forward speed; (3) determining whether the robot is stuck by the movement time or movement distance given by the encoder; and (4) determining whether the robot is stuck by the distance between the robot and the predetermined object.

[0092] Those skilled in the art can understand the various combinations of the above four embodiments based on the principles described above, which will not be elaborated here.

[0093] In one embodiment, after the water pool cleaning device is controlled to move forward or backward for a predetermined distance or for a predetermined time, the control method further comprises: judging again whether the water pool cleaning device is stuck, and if the water pool cleaning device is stuck, controlling the water pool cleaning device to send a prompt message.

[0094] According to a second aspect of the present application, a water pool cleaning device is provided for cleaning a water pool. FIG. 2 is a structural schematic diagram of the water pool cleaning device provided by the present application. As shown in FIG. 2, the water pool cleaning device comprises: a water pump configured to guide water flow to flow into a water suction port at the bottom of the water pool cleaning device and to flow out from a water discharge port of the water pool cleaning device; and a control unit configured to: control the water pool cleaning device to walk underwater and perform a cleaning operation; during the walking process, judge whether the water pool cleaning device is stuck, and if the water pool cleaning device is stuck, the control unit turns off the water pump and controls the water pool cleaning device to rotate by a predetermined angle; and controls the water pool cleaning device to move forward or backward after rotating by the predetermined angle.

[0095] The water pool cleaning device can use the principles of the various embodiments described above to judge whether the water pool cleaning device is stuck and perform an unstuck operation after judging that it is stuck. The technical principles of the judgment and unstuck operation can refer to the descriptions of the various embodiments described above, which will not be described here again.

[0096] According to a third aspect of the present application, a non-transitory computer readable storage medium is also provided, which stores a computer program that is executed by a processor to implement the control method of the water pool cleaning device provided by the various embodiments described above. The water pool cleaning device comprises a water pump configured to guide water flow to flow into a water suction port at the bottom of the water pool cleaning device and to flow out from a water discharge port of the water pool cleaning device. The control method comprises: controlling the water pool cleaning device to walk underwater and perform a cleaning operation; during the walking process, judging whether the water pool cleaning device is stuck, and if the water pool cleaning device is stuck, turning off the water pump and making the water pool cleaning device rotate by a predetermined angle; and controlling the water pool cleaning device to move forward or backward after rotating by the predetermined angle.

[0097] In a fourth aspect, the present application provides a computer program product, which comprises a computer program, the computer program being stored in a non-transitory computer readable storage medium, and the computer program being capable of executing the control method of the pool automatic cleaning device provided by the above method when executed by a processor. The pool automatic cleaning device comprises a water pump configured to guide water flow into a water suction port at the bottom of the pool automatic cleaning device and out of a water discharge port of the pool automatic cleaning device. The control method comprises: controlling the pool automatic cleaning device to walk underwater and perform a cleaning operation; determining whether the pool automatic cleaning device is stuck during the walking process, and if the pool automatic cleaning device is stuck, turning off the water pump and rotating the pool automatic cleaning device by a predetermined angle; and controlling the pool automatic cleaning device to move forward or backward after rotating by the predetermined angle.

[0098] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.

[0099] The present application will be further described in detail below with reference to the accompanying drawings and examples. It can be understood that the specific examples described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, only the parts related to the present application are shown in the drawings, but not all the structures.

[0100] Before discussing the example embodiments in more detail, it should be mentioned that some of the example embodiments are described as processes or methods depicted as flow charts. Although the steps of the processes are depicted in a particular order, many of the steps can be performed concurrently, in parallel, or simultaneously. In addition, the order of the steps can be re-arranged. The processes can be terminated when their operations are completed, but can also have additional steps not included in the figure. The processes can correspond to methods, functions, procedures, subroutines, sub-computer programs, etc.

[0101] Referring to FIGS. 3 and 4, a method for obtaining an irrigation map is applied to an irrigation device, and the method comprises:

[0102] receiving an instruction for generating an irrigation map;

[0103] identifying a preset target and tracking the preset target;

[0104] acquire depth information of the preset target in the tracking process and corresponding deflection angle information;

[0105] generate a watering map of the watering area based on the depth information and the deflection angle information.

[0106] From the above description, the beneficial effects of the present application are that the method and device for acquiring a watering map of the present application identify a preset target, collect depth information and deflection angle information in the tracking process, can determine the position information of the edge of the watering area according to the movement of the preset target around the watering area, thereby more accurately acquiring the watering range of the watering equipment, constructing a watering map, improving the accuracy of the construction of the watering map, enabling the watering work to be more accurately performed, improving the watering efficiency, and saving water resources.

[0107] In an optional embodiment, the step of identifying a preset target and tracking the preset target comprises:

[0108] The preset target is identified by a camera, and when the preset target moves, the watering equipment is controlled to rotate so that the camera keeps identifying the preset target.

[0109] From the above description, the identification of the preset target is performed by a camera, and the preset target is tracked by rotating the watering equipment to keep the camera identifying the preset target.

[0110] In an optional embodiment, the deflection angle information is determined according to the rotation angle of the watering equipment.

[0111] From the above description, the deflection angle information is determined according to the rotation angle of the watering equipment in the tracking process.

[0112] In an optional embodiment, the depth information is acquired by a camera or a distance measuring sensor on the watering equipment.

[0113] From the above description, the distance between the watering equipment and the preset target is measured by a distance measuring sensor.

[0114] In an optional embodiment, the generation of the watering map of the watering area based on the depth information and the deflection angle information comprises judging whether the deflection angle information meets a preset condition, and if not, prompting the user that the map generation fails.

[0115] From the above description, the deflection angle is judged in priority before the watering map is generated, and if the preset condition is not met, the user is directly prompted that the map generation fails, thereby reducing unnecessary calculation.

[0116] In an optional embodiment, the preset condition comprises one rotation of the watering equipment.

[0117] From the above description, it can be seen that if the irrigation equipment is not rotated for one revolution in the water, it is considered that the collection of the irrigation area boundary information is not completed, and the irrigation map cannot be generated.

[0118] In an optional embodiment, the step of identifying the preset target and tracking the preset target comprises prompting a user or adjusting the rotation angle of the irrigation equipment if the preset target is lost.

[0119] From the above description, it can be seen that if the preset target is lost, the rotation angle is adjusted to recapture the preset target for tracking.

[0120] In an optional embodiment, it further comprises inputting the identification information of the preset target to be identified.

[0121] From the above description, it can be seen that the identification information of the preset target to be identified is inputted in advance, so that the identification and tracking of the preset target can be realized.

[0122] In an optional embodiment, the step of identifying the preset target and tracking the preset target comprises identifying the movement direction of the preset target, and rotating the irrigation equipment based on the movement direction.

[0123] From the above description, it can be seen that by identifying the movement direction of the preset target, the irrigation equipment is rotated correspondingly to maintain the tracking of the preset target.

[0124] Please refer to FIG. 5, a device for acquiring an irrigation map, comprising:

[0125] a detector for identifying a preset target;

[0126] a tracker for tracking the preset target;

[0127] a sensor for acquiring the depth information and the corresponding deflection angle information of the preset target in the tracking process;

[0128] a compositor for acquiring the irrigation map of the irrigation area according to the depth information and the deflection angle information.

[0129] From the above description, it can be seen that the present application has the following advantages: the method and device for acquiring an irrigation map of the present application identify a preset target, collect the depth information and the deflection angle information in the tracking process, can determine the position information of the edge of the irrigation area according to the movement of the preset target around the irrigation area, so as to more accurately acquire the irrigation range of the irrigation equipment, construct the irrigation map, improve the precision of the construction of the irrigation map, make the irrigation work more accurately executed, improve the irrigation efficiency, and save water resources.

[0130] The watering map acquisition method and device of the application are suitable for the construction of watering maps of greenery such as flowerbeds and lawns, and are particularly suitable for the construction of watering maps in which fixed-point watering equipment is used for watering within a watering range.

[0131] Please refer to FIGS. 3 and 4, and the first embodiment of the application is as follows:

[0132] A watering map acquisition method applied to a watering device, comprising:

[0133] receiving an instruction to generate a watering map;

[0134] identifying a preset target and tracking the preset target.

[0135] In this embodiment, the preset target is set as a human body. In other equivalent embodiments, the preset target can be set arbitrarily according to actual needs, for example, it can be set as a certain robot, vehicle or unmanned aerial vehicle, etc.

[0136] The step of identifying the preset target and tracking the preset target comprises:

[0137] The preset target is identified by a camera, and when the preset target moves, the watering device is controlled to rotate so that the camera keeps identifying the preset target.

[0138] The step of identifying the preset target and tracking the preset target comprises identifying the movement direction of the preset target, and rotating the watering device based on the movement direction.

[0139] In this embodiment, the identification information of the preset target to be identified is pre-recorded.

[0140] The preset target is identified, comprising:

[0141] An image of the direction in which the preset target is located is collected;

[0142] The preset target in the collected image frame is identified.

[0143] The step of identifying the preset target and tracking the preset target comprises prompting a user or adjusting the rotation angle of the watering device if the preset target is lost.

[0144] In this embodiment, if the preset target is lost, the user is prompted or the rotation angle of the watering device is adjusted to find and capture the preset target again, or the user can be directly reminded that the target is lost.

[0145] That is, referring to FIG. 4, in the embodiment, the preset target is identified by image recognition, image acquisition is performed by the image sensor, and the preset target is identified based on the acquired image frame. In the embodiment, the image sensor adopts an RGB lens, and in other equivalent embodiments, it can be other image sensors. In the embodiment, the AI algorithm is used to complete the image recognition process. As known by those skilled in the art, in other equivalent embodiments, there are other replaceable image recognition algorithms for target identification.

[0146] In the embodiment, on the basis of the image recognition method, an advanced target identification method is designed. Based on the acquired image frame, the preset target is identified, including:

[0147] For subsequent image frames after the initial identification of the preset target, the preset target is identified by the way of intersection over union (IOU) matching.

[0148] If the preset target cannot be identified by the way of IOU matching, the preset target is re-identified by the image algorithm.

[0149] If the preset target still cannot be identified by the image algorithm, the next frame of image is acquired for identification.

[0150] That is, in the embodiment, after the preset target is initially identified by the image algorithm, the preset target can be more quickly identified by the way of IOU matching of adjacent image frames. If the preset target cannot be identified in the current image frame by the way of IOU matching, the preset target is re-identified by the image algorithm. If the preset target still cannot be identified in the current image frame by the image algorithm, it can be considered that the preset target does not exist in the current image frame, and the next frame of image is subjected to target identification to re-identify the preset target.

[0151] If the preset target is lost, the user is prompted or the rotation angle of the irrigation device is adjusted to re-find and capture the preset target, or the user can be directly reminded that the target is lost.

[0152] In the embodiment, the preset target is tracked, including:

[0153] According to the pixel difference signal of the current frame of image containing the preset target and the previous frame of image, rotation calibration is performed, and the irrigation device is controlled to turn.

[0154] In the embodiment, after the preset target is identified by the way of image recognition, the movement of the preset target is captured by the way of pixel difference signal, the position information of the movement is communicated to the motor of the irrigation device, the motor obtains the deflection angle, and then rotates to align the image sensor with the preset target, thereby realizing the tracking of the preset target.

[0155] In addition, in other equivalent embodiments, different recognition methods are used based on different settings of the preset target. For example, for a preset target that is a human body or has a temperature difference with the environment, infrared temperature measurement or thermal imaging can be used for recognition; for a target coated with a special imaging reagent, a specific imaging device is used for image acquisition. In addition, a beacon or a communicable device can be carried on the preset target to identify the preset target through wireless signals. At the same time, tracking and positioning of the preset target can also be achieved.

[0156] Depth information and corresponding deflection angle information of the preset target in the tracking process are obtained.

[0157] The deflection angle information is determined according to a rotation angle of the irrigation device.

[0158] The depth information is obtained by a camera or a distance measuring sensor on the irrigation device.

[0159] That is, in the present embodiment, in the process of tracking the preset target, the image sensor is also aimed at the preset target, and the distance measuring sensor is also aimed at the preset target to record the rotation angle information of the irrigation device, that is, the deflection angle information, and to measure and record the distance information between the preset target and the irrigation device, that is, the depth information. The preset target is positioned at a high frequency, so as to realize high-precision mapping of the irrigation machine. The distance measuring sensor in the present embodiment is based on tof distance measuring technology.

[0160] The generation of the irrigation map of the irrigation area based on the depth information and the deflection angle information includes determining whether the deflection angle information meets a preset condition, and if not, prompting the user that the map generation fails.

[0161] In the present embodiment, before the irrigation map is generated, it is necessary to determine whether the deflection angle information meets a preset condition, and if not, to prompt the user that the map generation fails. This avoids the waste of computing resources caused by the generation and calculation of the irrigation map in the case of unqualified data information.

[0162] Specifically, in the present embodiment, the preset condition includes one rotation of the irrigation device. The generation of the irrigation map of the irrigation area based on the depth information and the deflection angle information includes:

[0163] According to the distance information associated with each of the direction information, the map boundary of the irrigation area in each direction is determined.

[0164] Based on the map boundary in each direction, the irrigation map is obtained.

[0165] In this embodiment, based on the collected direction and distance information, the map boundary of the irrigation area in each direction can be determined, and the irrigation range can be effectively determined according to the map boundary.

[0166] It can be understood by those skilled in the art that in other equivalent embodiments, according to different position information, other ways can also be taken to determine the map boundary of the irrigation area in each direction of the irrigation equipment to construct the irrigation map.

[0167] Please refer to FIG. 5, the second embodiment of the present application is:

[0168] An apparatus 1 for acquiring an irrigation map, comprising:

[0169] A detector 2 for identifying a preset target;

[0170] A tracker 3 for tracking the preset target;

[0171] A sensor 4 for acquiring depth information and corresponding deflection angle information of the preset target in the tracking process;

[0172] A mapper 5 for acquiring an irrigation map of the irrigation area according to the position information.

[0173] Through the detector 2, the tracker 3, the sensor 4 and the mapper 5, the steps in the method for acquiring an irrigation map described in the above first embodiment are realized.

[0174] In summary, the method and apparatus for acquiring an irrigation map provided by the present application identify a preset target, collect depth information and deflection angle information in the tracking process, and can determine position information of the edge of the irrigation area according to the movement of the preset target around the irrigation area, so as to more accurately acquire the irrigation range of the irrigation equipment, construct an irrigation map, improve the accuracy of the construction of the irrigation map, enable the irrigation work to be more accurately performed, improve the irrigation efficiency, and save water resources.

[0175] In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions in the present application will be described clearly and completely below in combination with the drawings in the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.

[0176] The present application provides a control method of an automatic pool cleaning device. The automatic pool cleaning device is a device such as an automatic cleaning device, a pool cleaning robot, etc., which is capable of cleaning a pool-shaped building. The pool-shaped building can be a swimming pool, a water storage pool, etc. Hereinafter, a robot will be taken as an example of the automatic pool cleaning device, and a pool will be taken as an example of the pool-shaped building, unless otherwise specified.

[0177] The automatic pool cleaning device and the control method thereof will be described in detail below with reference to the accompanying drawings. FIG. 6A is a schematic view of an automatic pool cleaning device provided by the present application. FIG. 6B is a schematic view of an air vent of an automatic pool cleaning device provided by the present application.

[0178] As shown in FIG. 6A and FIG. 6B, the robot includes a water pump (not shown), a sensor, and an air vent.

[0179] The air vent is located at the head of the robot (see FIG. 6B), and the robot is initially placed on the water surface of a pool and starts to sink from the water surface due to its own weight. The air vent can be a circular hole, an elliptical hole, a square hole, a strip-shaped hole, etc. The head of the robot points to the advancing direction of the robot, for example, the head of the robot is located at the intersection between the front surface and the top surface of the robot. In other words, the air vent is located on the front surface of the robot, for example, the air vent is located at the intersection between the front surface and the top surface of the robot. The size of the air vent should meet the needs of discharging air bubbles, therefore, the size of the air vent cannot be too small, otherwise, it is not conducive to the discharge of air bubbles, and a too large air vent can easily cause the stability of the robot body to decrease and easily disperse the suction force of the suction port at the bottom surface of the robot. There can be multiple air vents, in other words, multiple air vents can be provided at the head of the robot.

[0180] As shown in FIG. 6B, the position indicated by the arrow in the figure represents the position of the air vent, and FIG. 6B shows multiple air vents of the head of the robot. It should be noted that the number, size and position of the air vent shown in FIG. 6B are only exemplary. The above description of the shape, position, size and number of the air vent is also only exemplary, and those skilled in the art can select and set the air vent according to the principles of the present application, as long as the technical principles of the present application can be achieved. It should also be noted that the number, size and position of the air bubbles shown in FIG. 6A are also exemplary.

[0181] The water pump is driven by an electric motor, and generates negative pressure by rotating the impeller to suck water and impurities in the pool. The water pump is connected to the control system of the robot, which can start, stop, adjust the power of the water pump according to the needs of the cleaning task, user instructions, etc.

[0182] The sensor is, for example, a water outlet sensor, a pressure sensor, an ultrasonic sensor, a laser sensor, etc. The sensor can obtain sensing data and send it to the control system of the robot, and the control system can determine whether the robot has entered the water according to the sensing data. Figure 6A shows the position of the sensor, which is located on the head of the robot or the front surface of the robot. The above description of the type of sensor and the explanation of the position are only exemplary, and the present application does not make specific limitations here, as long as the technical principles of the present application can be realized.

[0183] As shown in Figure 6A, the robot also includes a water suction port and a water discharge port.

[0184] The water suction port is provided at the bottom of the robot, and the water discharge port is located at the back of the robot. When the robot is working, it will suck the water flow carrying garbage from the water suction port, and after filtration, the water will be discharged from the water discharge port. For example, the water suction port can be provided on the bottom surface of the robot, and when the robot cleans the pool bottom, the bottom surface faces the pool bottom.

[0185] The water discharge port can be directed in a predetermined direction, for example, the water discharge port can be directed in a direction opposite to the advancing direction of the robot, so as to provide a forward thrust for the robot while discharging water. The predetermined direction can also have a predetermined angle with the opposite direction of the advancing direction, so as to provide the robot with a pressure to its bottom surface while providing a forward thrust for the robot, which on the one hand helps to keep the robot in close contact with the contact surface when advancing to clean the garbage on the contact surface, and on the other hand can avoid the robot tilting its head when advancing, and also can increase the friction between the driving device (such as driving wheel, track) of the robot and the contact surface (such as pool bottom, pool wall).

[0186] It can be understood that the robot needs to dive to the bottom of the pool when cleaning the pool. The robot has a certain weight. After the robot is initially placed in the water, the robot will start to sink under the action of gravity. After sinking to a certain extent, the water pump is started to make the robot suck water from the water suction port and discharge water from the back. This can filter and clean the water in the pool, and also apply a downward force to the robot to make it sink further. During the sinking of the robot, the gas remaining in the shell, internal structure and the like of the robot needs to be discharged to reduce the buoyancy of the robot and facilitate the sinking of the robot. However, in the case that there are a large number of bubbles in the robot, the large number of bubbles will provide upward buoyancy to the robot, hindering the rapid sinking of the robot, and even the bubbles in the robot will increase the risk of shaking, tilting and overturning of the robot. Therefore, the bubbles in the device need to be quickly and smoothly discharged after the robot enters the water, so that the robot can quickly sink. The control method 200 of the robot provided in the present application can smoothly discharge the internal bubbles when the robot dives, thereby realizing the rapid sinking of the robot.

[0187] It should be noted that when the water pump is working, there are two types of water flow in the robot. One type is the water flow sucked by the water pump through the water suction port and discharged from the water discharge port (hereinafter referred to as "main channel water flow", see FIG. 6A). The other type is the water flow formed outside the main channel water flow due to the negative pressure generated by the suction force of the water pump from the gaps, holes and the like in the robot body to the internal structure, gaps of the robot body. In the following, if not specifically stated, the water flow in the robot and the water flow in the robot body both represent the bypass water flow.

[0188] The control method 200 of the robot will be described in detail below with reference to the accompanying drawings.

[0189] FIG. 7 is a flowchart of the control method of the robot provided in the present application. As shown in FIG. 7, the control method 200 includes steps 201 to 204. Steps 201 to 204 will be described in detail below.

[0190] In step 201, first data is obtained by the sensor.

[0191] The first data is the data collected by the sensor, which can represent the water entry condition of the robot. Exemplarily, the first data can be the pressure value collected by the pressure sensor. After the robot enters the water, the pressure value collected by the sensor increases under the action of water pressure. In the case that the pressure value increases, the robot determines that it has entered the water. It can be understood that according to the types of different sensors introduced above, the types of the first data are also different, as long as the technical principles of the present application can be realized.

[0192] Next, step 202 is entered. In step 202, it is determined whether the predetermined position of the robot is below the water line according to the first data.

[0193] As described above, taking the pressure sensor as an example, after the robot enters the water, the pressure value collected by the sensor becomes larger under the action of water pressure. In the case of a larger pressure value, the robot determines that the predetermined position is below the water line.

[0194] The predetermined position can be the position of the sensor, the center of gravity of the robot, or a position set on the body of the robot according to different water depths. For example, the predetermined position can be at the position of the head of the robot close to the bottom, or near the water suction port. When the predetermined position is below the water line, it is necessary to ensure that the water suction port of the robot is also below the water line. For example, the predetermined position is located in the upper half of the body of the robot.

[0195] One of the purposes of setting the predetermined position is to ensure that the important parts of the robot or most of the body of the robot are already below the water line, so that in the subsequent step of starting the water pump, the stability of the body of the robot during the water pump drainage process can be ensured. The above description of the predetermined position is exemplary, and those skilled in the art can selectively set the predetermined position according to actual needs, as long as the technical principles of the present application can be achieved.

[0196] If the predetermined position is below the water line, steps 203 and 204 are repeated until the robot contacts the bottom of the pool.

[0197] In step 203, the water pump is started and runs for a first predetermined time.

[0198] In step 204, the water pump is turned off and kept off for a second predetermined time, so that at least part of the gas bubbles in the robot are discharged from the exhaust hole.

[0199] For example, when the robot is located below the water line at a predetermined position, the water pump can be started and run for a first predetermined time duration. After the water pump is started, water is sucked from the water suction port of the robot, and the sucked water is filtered by a filtering structure (e.g., a filter basket) in the robot and then discharged from the water discharge port (i.e., main channel water flow). At the same time, the water pump also generates a certain suction effect on the water inside the robot (e.g., water that seeps into the robot body from the gaps, holes, etc. during the sinking of the robot), thereby forming a bypass water flow. The suction effect drives the water to flow, on the one hand, the vibration of the water flow can break larger bubbles in the robot into smaller bubbles, so that the smaller bubbles can be easily discharged from the air vent; on the other hand, it can also reduce the surface adsorption force and viscosity of the bubbles with the internal structure of the robot, preventing the bubbles from being stuck in some positions inside the robot, facilitating the free movement of the bubbles, and facilitating the discharge of the bubbles from the air vent of the robot.

[0200] The first predetermined time duration can be set according to the size, weight, sinking speed, etc. of the robot. For example, the larger the size of the robot, the more bubbles are left in the robot body during sinking, so the water pump needs to be turned on for a longer time in step 203 to help break more large bubbles. However, the longer the first predetermined time duration of the water pump, the longer the distance of the bubbles moving along the bypass water flow, and the closer the bubbles to the water discharge port. When the bubbles move to the vicinity of the main channel water flow or the water discharge port, the bubbles are likely to be blocked by the main channel water flow and / or the internal structure and components of the robot, making it difficult for the bubbles to be discharged from the water discharge port along the main channel water flow. Therefore, the closer the bubbles to the water discharge port, the farther the bubbles from the air vent, and the more difficult it is for the bubbles to be discharged smoothly from the air vent. In summary, the first predetermined time duration of the water pump cannot be too long, otherwise the bubbles will be too far from the air vent; if the first predetermined time duration is too short, the suction effect of the water pump on the bubbles will be small and it will be difficult to break large bubbles. The first predetermined time duration can be selected and set according to actual conditions. In an embodiment, the first predetermined time duration is 3-5 seconds.

[0201] After the bubbles in the robot are subjected to the suction effect in step 203, step 204 is performed, in which the water pump is turned off and kept for a second predetermined time duration to stop the suction effect of the water pump on the water flow inside the robot, thereby stopping the suction of the bubbles. Therefore, the bubbles (or at least part of the bubbles in the body) can move to a position such as the upper part, front part, head part, etc. of the robot body under the action of buoyancy, and can be discharged smoothly from the air vent when the bubbles reach the air vent.

[0202] If the water pump is always working during the sinking process of the robot, the main channel water flow is always flowing, and the bypass water flow is also always flowing under the action of the negative pressure generated by the water pump, and the air bubbles are driven to move along with the bypass water flow. As described above, when the air bubbles move close to the main channel water flow or close to the drain, the air bubbles are likely to be difficult to flow out of the drain along the main channel water flow due to the obstruction of the main channel water flow and / or the obstruction of the internal structure and components of the robot, causing the air bubbles to keep rotating in the bypass water flow. Therefore, it is necessary to turn off the water pump in time to stop the flow of the bypass water flow, so that the air bubbles are driven to move out of the exhaust hole by the action of the buoyancy. Therefore, during the sinking process of the robot, the water pump needs to be switched between opening and closing, that is, the water pump is opened for a period of time and then closed for a period of time, so that the air bubbles are broken and driven to move out of the exhaust hole by the action of the buoyancy.

[0203] The second predetermined time length can be set according to the size, weight, complexity of the internal structure of the robot, the speed of sinking in water and other parameters. For example, the larger the size of the robot, the more complex the internal structure of the robot, the longer the distance of the air bubbles moving to the exhaust hole by the action of the buoyancy, and the more time consumed, so the water pump needs to be kept closed for a longer period of time in step 204, so that more air bubbles can be smoothly moved to the exhaust hole and discharged. The second predetermined time length can be selected and set according to the actual situation.

[0204] It can be understood that if the second predetermined time length is too short, it is not enough to make the small and free-moving air bubbles smoothly discharged from the exhaust hole; if the second predetermined time length is too long, the small and free-moving air bubbles have already been discharged, and other large air bubbles that are difficult to discharge from the exhaust hole and air bubbles adhered to the internal components of the robot are still difficult to discharge no matter how long the time is, thereby increasing the time required for the robot to discharge. Therefore, the second predetermined time length is too short or too long, which will affect the discharge efficiency of the pool cleaning. For example, the second predetermined time length is set to 5-10 seconds.

[0205] Further, by repeatedly performing steps 203 and 204, the process of repeatedly sucking and breaking the air bubbles in the robot into small air bubbles, and driving the air bubbles to move to the exhaust hole by the action of the buoyancy, can quickly discharge the air bubbles in the robot.

[0206] The above embodiment has the following beneficial effects:

[0207] After the robot enters the water, the suction force generated by turning on the water pump can break the large bubbles into small bubbles by means of water flow, and reduce the adhesion between the bubbles and the surface of the internal structure of the robot, thereby increasing the flowability of the bubbles in the robot, and by turning off the water pump, the bubbles can be smoothly discharged from the exhaust hole of the robot by means of buoyancy. Therefore, without adding more exhaust holes to the robot, the bubbles in the robot can be quickly discharged by repeatedly turning on and turning off the water pump, and thus the robot can quickly sink to the bottom of the pool.

[0208] In one embodiment, the water pump is turned off when the robot contacts the pool bottom.

[0209] For example, in the case that the robot contacts the pool bottom, the robot has sunk to the bottom of the pool, at this time the water pump is turned off, so that the bubbles in the robot continue to be discharged from the exhaust hole, so that the robot can subsequently perform the decontamination operation on the pool bottom.

[0210] Based on the description of the above embodiments, it can be understood that the water pump is repeatedly started and turned off, and therefore, it can be understood that when the robot contacts the pool bottom, if the water pump is turned on, the water pump needs to be turned off, and if the water pump is turned off, the water pump can be kept turned off.

[0211] In one embodiment, the robot further comprises a driving device, and the control method further comprises: after the robot contacts the pool bottom, starting the driving device and running for a third predetermined time length, so that at least part of the bubbles in the robot are discharged from the exhaust hole.

[0212] For example, the robot can further comprise a driving device, and the robot can move under the action of the driving device. The driving device can be a driving wheel, a track, etc., as long as it can realize the principles of the present application. After the robot contacts the pool bottom, the driving device can be started and run for a third predetermined time length. In the case that the robot moves after the driving device is started, based on the body shaking generated during the movement of the robot, at least part of the bubbles (for example, the bubbles not discharged during the sinking process) in the robot can be further discharged from the exhaust hole, thereby further reducing the buoyancy of the robot and increasing the friction between the robot and the pool bottom, so as to facilitate the subsequent smooth movement of the robot on the pool bottom.

[0213] The third predetermined time length can be set according to the size, weight, complexity of the internal structure of the robot, etc. For example, the larger the size of the robot, the more complex the internal structure of the robot, the more bubbles not discharged during the sinking process of the robot, and therefore the robot needs to move on the pool bottom for a longer time, so that more residual bubbles can be smoothly moved to the exhaust hole and discharged.

[0214] In one embodiment, the control method 200 further comprises: after the driving device runs for the third predetermined time length, starting the water pump.

[0215] It can be understood that after the driving device is started to run for the third predetermined time length, the bubbles in the robot have been sufficiently discharged to the outside of the robot through the exhaust hole, and at this time, the water pump can be started to perform the cleaning operation on the pool through suction, filtration and discharge.

[0216] In one embodiment, when the driving device is running, the head of the robot is tilted up.

[0217] It can be understood that since the robot will be subjected to a certain buoyancy in the water, when the robot is in contact with the pool bottom, the gravity of the robot is equal to the buoyancy received, or the gravity of the robot is slightly greater than the buoyancy received, and in this case, the friction between the driving device of the robot and the pool bottom is small, and when the driving device is started to run, the driving device pushes the robot to move in the direction of the head of the robot, and the robot is subjected to a horizontal pushing force on the pool bottom, and the pushing force and the buoyancy jointly form an upward inclined force, thereby driving the head of the robot to tilt up. At this time, the water pump is in a closed state, and the bypass water flow is stopped. Since the exhaust hole is arranged at the head of the robot, when the head of the robot is tilted up, the bubbles are moved to the exhaust hole under the action of the buoyancy, which is beneficial to the smooth discharge of the residual bubbles in the robot.

[0218] In one embodiment, the robot further comprises a counterweight, and the counterweight is arranged at the tail of the robot, so that during the process that the robot sinks from the water surface to the pool bottom, the head of the robot is higher than the tail.

[0219] For example, in order to enable the robot to further quickly dive in the pool, a counterweight can also be arranged on the robot, and the counterweight can be arranged at the tail of the robot, so that during the process that the robot sinks from the water surface of the pool to the pool bottom, the head of the robot can be higher than the tail (i.e., the robot sinks in an inclined posture), and the bubbles in the robot are more beneficial to moving to the exhaust hole under the action of the buoyancy by tilting up the head of the robot, thereby facilitating the discharge from the exhaust hole of the head of the robot.

[0220] In one embodiment, the number of exhaust holes is multiple.

[0221] For example, the number of exhaust holes arranged at the head of the robot can be multiple, and the specific number can be determined according to needs and / or the size of the robot, which is not specifically limited in the embodiments of the present application.

[0222] According to a second aspect of the present application, a non-transitory computer-readable storage medium having stored thereon a computer program is also provided, the computer program, when executed by a processor, implements the control method of the robot provided by the above embodiments, the robot comprising a water pump, a sensor, and an air vent, the air vent being located at a head of the robot, the robot being initially placed on a water surface of a pool and sinking from the water surface under its own weight, the method comprising: obtaining first data by the sensor; determining whether a predetermined position of the robot is below a water line according to the first data, and if the predetermined position is below the water line, repeating the following two steps until the robot contacts a pool bottom of the pool: starting the water pump and running for a first predetermined time duration; and turning off the water pump and keeping the water pump off for a second predetermined time duration, so that at least part of air bubbles in the robot are discharged from the air vent.

[0223] According to a third aspect of the present application, a robot is provided, and FIG. 8 shows a schematic diagram of an entity structure of a robot, as shown in FIG. 8, the robot can comprise a memory 301 and a processor 302. The processor 302 can invoke computer program instructions in the memory 301 to execute the control method of the robot, the robot comprising a water pump, a sensor, and an air vent, the air vent being located at a head of the robot, the robot being initially placed on a water surface of a pool and sinking from the water surface under its own weight, the method comprising: obtaining first data by the sensor; determining whether a predetermined position of the robot is below a water line according to the first data, and if the predetermined position is below the water line, repeating the following two steps until the robot contacts a pool bottom of the pool: starting the water pump and running for a first predetermined time duration; and turning off the water pump and keeping the water pump off for a second predetermined time duration, so that at least part of air bubbles in the robot are discharged from the air vent.

[0224] In addition, the computer program instructions in the memory 301 described above can be implemented in the form of a software functional unit and sold or used as an independent product, which can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0225] In a fourth aspect, the present application also provides a computer program product comprising a computer program, which can be stored on a non-transitory computer-readable storage medium, and which, when executed by a processor, enables a computer to perform the control method of the robot provided by any of the above methods, the robot comprising a water pump, a sensor, and an air vent located at a head of the robot, the robot being initially placed on a water surface of a pool and sinking from the water surface due to gravity, the method comprising: obtaining first data by the sensor; determining whether a predetermined position of the robot is below a water line according to the first data, and if the predetermined position is below the water line, repeating the following two steps until the robot contacts a pool bottom of the pool: starting the water pump and running for a first predetermined time duration; and turning off the water pump and keeping the water pump off for a second predetermined time duration, so that at least part of air bubbles in the robot are discharged from the air vent.

[0226] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.

[0227] With the popularity of swimming, more and more pools now need to be compatible with different height groups such as adults and children, so many pools are usually set to different depths. However, in pools of different depths, the pool bottoms are not on the same plane, i.e., there is one or more platforms on the pool bottom (for example, a 2-meter water depth platform and a 1-meter water depth platform), which makes the pool automatic cleaning device need to clean different platforms and cross the platforms multiple times when cleaning the pool.

[0228] For example, there is a step between the 2-meter water depth platform and the 1-meter water depth platform. If the pool automatic cleaning device cleans in the traditional "arch" shape, it needs to cross the platforms multiple times (for example, from the 2-meter water depth platform to the 1-meter water depth platform, and from the 1-meter water depth platform to the 2-meter water depth platform, and so on) if the cleaning route is perpendicular to the step, which seriously consumes energy, and even causes the robot to fall from the platform or the side wall and turn over or be damaged when crossing the platforms, affecting the cleaning efficiency. The step between different platforms can also hinder the robot from advancing, and even force the robot to stop, so that the robot cannot clean the area above the step, affecting the cleaning efficiency.

[0229] Therefore, the control method of the pool automatic cleaning device is provided for cleaning a pool, the pool including a platform, the control method comprising: obtaining contour information of the pool and platform information of the platform, and determining a moving path of the pool automatic cleaning device in the pool according to the contour information and the platform information. Thus, the number of times that the pool automatic cleaning device crosses the platform when cleaning the pool is reduced, which can reduce the energy consumption of the pool automatic cleaning device, reduce the damage risk of the pool automatic cleaning device, and improve the pool cleaning efficiency.

[0230] The control method of the pool automatic cleaning device according to the present application will be described in detail below with reference to the accompanying drawings.

[0231] First, the control method 10 of the pool automatic cleaning device according to the present application will be described in detail with reference to FIG. 9. FIG. 9 is a schematic diagram of the control method 10 of the pool automatic cleaning device according to the first embodiment of the present application. The control method 10 comprises the following steps S11 to S13. The steps S11 to S13 will be described in detail below.

[0232] In step S11, the contour information of the pool is obtained.

[0233] As described above, the bottom surface of the pool has different depths, in other words, the bottom surface of the pool is not on the same plane (for example, a platform with a water depth of 2 meters and a platform with a water depth of 1 meter), and a step or a height difference like a step is formed at the junction of different platforms. In the pool, there can be one or more such platforms, and multiple platforms are arranged like a step to transition between depths, which can make swimmers aware of the safety when transitioning between depths and avoid drowning.

[0234] The contour information may, for example, include one or more of the size, position, shape of the contour of the pool. For example, if the pool is square, the contour information may include one or more of the position, length, height, etc. of the four sides of the pool; if the pool is circular, the contour information may include one or more of the position, circumference, height, etc. of the circumference of the pool. The above-mentioned parameters contained in the contour information are only exemplary and are not intended to limit the types of parameters contained in the contour information as long as the technical principles of the present application can be achieved.

[0235] For example, the pool automatic cleaning device can obtain a picture or a video of the pool, and perform a first processing on the picture or the video to obtain the contour information of the pool.

[0236] For example, the user can first take a picture of the pool using an image capturing device (e.g. a mobile phone), and then send the taken picture from the mobile phone to the pool automatic cleaning device. The pool automatic cleaning device can convert the taken picture of the pool into a gray scale image, and further recognize the contour information of the pool from the gray scale image using a contour recognition algorithm (e.g. an edge detection algorithm of sobel operator).

[0237] For another example, the user can first take a video of the pool using a mobile phone, and then send the video from the mobile phone to the pool automatic cleaning device. The pool automatic cleaning device can perform object detection on each frame of the taken video, and stitch the detected objects (pools) to obtain the contour information of the pool. Further, in order to reduce the amount of calculation, the pool automatic cleaning device can also perform object detection on every several frames of the taken video, and further stitch the detected objects to obtain the contour information of the pool.

[0238] In another embodiment of the present application, if the pool is large and a single image is not enough to clearly show the contour of the pool, the user can take multiple pictures, and then send the multiple pictures to the pool automatic cleaning device. The pool automatic cleaning device can perform stitching processing on the multiple pictures, and further recognize the stitched pictures based on a contour recognition algorithm to obtain the contour information of the pool. It can be understood that, in order to make the stitched pictures represent the complete contour of the pool, the user can take pictures from different angles, or can use a drone or the like to take pictures from above the pool.

[0239] It can be understood that the above describes that the user takes pictures / videos, and then the pool automatic cleaning device recognizes the pictures / videos to obtain the contour information of the pool, but the manner of obtaining the contour information is not limited thereto. For example, the user can take pictures / videos using a mobile phone, and then the mobile phone recognizes the taken pictures / videos to obtain the contour information of the pool, and then sends the contour information from the mobile phone to the pool automatic cleaning device, so that the pool automatic cleaning device obtains the contour information of the pool.

[0240] Next, step S12 is entered. In step S12, platform information of the platform is acquired.

[0241] For example, the picture or the video includes a platform identifier set by the user in advance. Specifically, as described above, after taking the picture or the video, the user can further identify the platform in the picture or the video.

[0242] For example, in the picture / video, the platform can be identified by color. In the presence of multiple platforms, different colors can be used to identify different platforms. The platform can also be identified by highlighting color.

[0243] For another example, in the picture / video, the platform can be identified by arrow, and the outline of the platform can be identified by straight line, curve, circle, etc.

[0244] For example, after the pool automatic cleaning device obtains the picture or video of the pool, the picture or video can be subjected to a second processing to identify the platform and obtain the platform information of the platform. The second processing can be a method capable of identifying the picture / video, such as convolutional neural network, region convolutional neural network, image segmentation algorithm, feature point matching, etc. The above-mentioned identification algorithm for picture / video is only exemplary and is not intended to limit the picture / video identification method used in the present application, as long as the technical principles of the present application can be achieved.

[0245] In another embodiment, after the user obtains the picture or video, the user does not need to identify the platform in the picture or video, but directly sends the picture or video to the pool automatic cleaning device. The pool automatic cleaning device identifies the platform from the picture or video by using image recognition algorithm (such as target detection algorithm, contour detection algorithm, etc.) and obtains the platform information of the platform.

[0246] In yet another embodiment, a laser sensor can also be provided on the pool automatic cleaning device to detect the contour information and platform information of the pool. In order to improve the detection accuracy, the pool automatic cleaning device can be placed in the pool when the pool is not filled with water, and the laser sensor can be used for ranging to detect the contour information of the pool. Then the pool automatic cleaning device is moved and the contour information is detected again. The contour information obtained by multiple detections is spliced to obtain the contour information and the platform information.

[0247] Further, the user can also directly store the contour information and / or the platform information of the pool in the memory of the pool automatic cleaning device or in the cloud server in advance. For example, the user can manually measure and directly store the measured contour information and / or the platform information in the memory of the pool automatic cleaning device or in the cloud server in advance. Specifically, the user can download the APP for controlling the pool automatic cleaning device on the mobile phone. The APP provides an information input portal, and the user directly inputs whether there is a deep and shallow pool in his home, and provides the platform information and the contour information of the pool.

[0248] The platform information may, for example, include one or more of the number, size, shape, position, height of the platform. The above-mentioned parameters included in the platform information are merely exemplary and are not intended to limit the types of parameters included in the platform information as long as the technical principles of the present application can be implemented.

[0249] Next, step S13 is entered. In step S13, a movement path of the pool automatic cleaning device in the pool is determined according to the contour information and the platform information.

[0250] As described above, after the contour information and the platform information of the pool are determined, a movement path of the pool automatic cleaning device in the pool is determined based on the contour information and the platform information. For example, the cleaning path of the pool can be set to be perpendicular to the step adjacent to the two platforms, so that the pool automatic cleaning device turns around when it reaches the step position, without crossing the platforms, thereby reducing energy consumption and improving cleaning efficiency. After cleaning of one platform is completed, the pool automatic cleaning device can cross the step and clean the other platform. Alternatively, the cleaning path of the pool can be set to be parallel to the step adjacent to the two platforms, so that the pool automatic cleaning device crosses the step to clean the other platform after cleaning of one platform is completed, thereby avoiding stopping the pool automatic cleaning device due to the presence of the platforms.

[0251] Next, the control method 20 of the pool automatic cleaning device according to the present application will be described with reference to FIG. 10. FIG. 10 is a schematic diagram of a control method of a pool automatic cleaning device according to a second embodiment of the present application. The control method 20 includes steps S21 to S25. The steps S21 to S25 will be described in detail below.

[0252] In step S21, an image of the pool is acquired.

[0253] For example, the image of the pool can be acquired by photographing the pool using a terminal device (such as a mobile phone) or the like. Alternatively, a video of the pool can be acquired by photographing the pool using a terminal device, and part of the frame images can be extracted from the acquired video. In another embodiment, the image of the pool can also be acquired by photographing the pool from above using a drone. The above-mentioned methods of acquiring the image of the pool are merely exemplary, and a person skilled in the art can select the method of acquiring the image of the pool according to actual needs as long as the technical principles of the present application can be implemented.

[0254] Next, step S22 is entered. In step S22, the user identifies the platforms displayed in the image and obtains identification information.

[0255] For example, the user can identify the platform with a color. In a scenario where there are multiple platforms, different colors can be used to identify different platforms. The platform can also be identified with a highlight color. The user can also identify the location of the platform with an arrow, and can identify the outline of the platform with a straight line, a curved line, a circle, etc. The terminal device accepts the user's identification of the platform and obtains the identification information.

[0256] Next, step S23 is entered. In step S23, the image and the identification information are sent to the pool automatic cleaning device.

[0257] The terminal device and the pool automatic cleaning device have a communication connection, for example, the terminal device and the pool automatic cleaning device can be connected through Bluetooth, and can also be connected through a wireless communication network such as WiFi, 4G, 5G. The connection mode between the terminal device and the pool automatic cleaning device is not limited in the present application.

[0258] The user uses the terminal device to send the captured image and the identification information of the platform to the pool automatic cleaning device. It can be understood that the identification information of the platform can be sent to the pool automatic cleaning device as a same data packet together with the image data, or the identification information of the platform can be sent to the pool automatic cleaning device as a data packet independent of the image data. The sending mode of the identification information is not limited in the present application, as long as the technical principles of the present application can be realized.

[0259] Next, step S24 is entered. In step S24, the image and the identification information are processed by the pool automatic cleaning device to obtain the contour information of the pool and the platform information of the platform.

[0260] The pool automatic cleaning device processes the image and the identification information using an image recognition algorithm to obtain the contour information of the pool and the platform information of the platform. The contour information and the platform information are obtained by image recognition, which has been described in the control method 10 above and will not be repeated here.

[0261] Next, step S25 is entered. In step S25, the movement route of the pool automatic cleaning device in the pool is determined according to the contour information and the platform information.

[0262] The above has described how to determine the movement route of the pool automatic cleaning device according to the contour information and the platform information in combination with the drawings and the control method 10, which will not be repeated here.

[0263] The computer storage medium of the present application is described below with reference to FIG. 11. FIG. 11 is a schematic diagram of a computer storage medium according to an embodiment of the present application. The computer storage medium 30 stores a computer program 31 executable by a computer device, which, when executed on the computer device, causes the computer device to perform the steps of the control method of the automatic pool cleaning device described above.

[0264] The computer program 31 described above comprises program instructions, which, when executed by a computer device, cause the computer device to perform the steps of the control method of the automatic pool cleaning device described above.

[0265] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, or a computer program product. Therefore, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage media, etc.) having computer-usable program code contained therein.

[0266] The robot of the present application is described below with reference to FIG. 8. FIG. 8 is a schematic diagram of a robot according to an embodiment of the present application. The robot 300 comprises at least one processor 302, and a memory 301 connected to the at least one processor 302, and the specific connection medium between the processor 302 and the memory 301 is not limited in the embodiments of the present application. For example, the processor 302 and the memory 301 are connected through a bus, which can be divided into an address bus, a data bus, a control bus, etc.

[0267] In the embodiments of the present application, the memory 301 stores computer program instructions executable by the at least one processor 302, and the at least one processor 302 can perform the steps of the control method of the automatic pool cleaning device described above by executing the instructions stored in the memory 301.

[0268] The processor 302 is the control center of a computer device, for example, a robot, and can connect various parts of the robot through various interfaces and lines, and implement the control of the automatic pool cleaning device by running or executing the instructions stored in the memory 301 and calling the data stored in the memory 301. Optionally, the processor 302 can include one or more processing units, and the processor 302 can integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the modem processor described above can also not be integrated into the processor 302.

[0269] In some embodiments, the processor 302 and the memory 301 can be implemented on the same chip, and in some embodiments, they can also be implemented on separate chips respectively.

[0270] The processor 302 can be a general processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as execution completed by a hardware processor, or executed by a combination of hardware and software modules in the processor.

[0271] The memory 301 as a non-volatile computer readable storage medium can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 301 can include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card type memory, random access memory (RAM), static random access memory (SRAM), programmable read only memory (PROM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. The memory 301 is any other medium capable of carrying or storing desired program code in the form of instructions or data structures and capable of being accessed by a computer device, but is not limited to this. The memory 301 in the embodiments of the present application can also be a circuit or any other device capable of realizing the storage function, used for storing program instructions and / or data.

[0272] In one case, the current pool cleaning robot industry is generally divided into water surface charging and wall hanging charging, and under the condition of no positioning, the relative position sensing between the pool cleaning robot and the base station is the key difficulty in various charging schemes, which generally indirectly senses the direction, angle or distance of the robot relative to the base station through identification signals or communication signals.

[0273] However, research has found that many schemes have strict requirements for underwater sensors, and underwater communication is limited by factors such as water depth, range size, and frequency, making it difficult to accurately identify.

[0274] To this end, unlike the above-mentioned traditional pool automatic cleaning device charging means, the application designs a new pool automatic cleaning device back station method to be applied to a pool automatic cleaning device back station system. The pool automatic cleaning device back station system specifically includes a pool automatic cleaning device and a base station. The pool automatic cleaning device can be specifically selected as a pool cleaning robot. The base station can be specifically an underwater charging base station that can be fixed on the pool wall and specifically used for charging the pool cleaning robot, and at least part of it is set below the water level of the pool to facilitate the identification of the underwater pool cleaning robot.

[0275] It should be noted that in actual installation, in order to facilitate disassembly, the base station can be fixed on one side of the pool wall, and the pool automatic cleaning device often needs to move from the pool bottom to the wall during the underwater cleaning process. Walk up and down and clean the pool wall.

[0276] Regardless of the shape and contour of the pool, when the pool automatic cleaning device walks up and down the wall to clean the pool wall, the pool automatic cleaning device can obtain detection information at least part of the time during the movement on the wall. That is, the pool automatic cleaning device will move to the same pool wall as the base station within a certain period of time, thereby limiting the dimensions of the equipment and the base station, and obtaining detection information between the pool automatic cleaning device and the base station.

[0277] Since the pool automatic cleaning device and the base station are on the same reference plane, it is not necessary to set too many sensor devices, and only one detection sensor needs to be set on the pool automatic cleaning device or the base station. The detection sensor can be used for detection to obtain detection information between the equipment and the base station. At this time, the processor can be used to determine whether the equipment meets the back station condition according to the obtained detection information, so as to control the pool automatic cleaning device to plan a path and return to the base station for charging when it is determined that the back station condition is met.

[0278] Specifically, in the method described in the application, the pool automatic cleaning device plans a path based on the detection information. For example, when the cleaning device needs to return to the base station, the current position of the cleaning device and the distance between the cleaning device and the base station are obtained, so as to plan a back station path to the base station. The cleaning device returns to the base station according to the back station path. According to the actual scene needs, the back station path of the cleaning device can only pass through the wall, or can pass through the wall and the pool bottom to return to the base station.

[0279] As can be seen from FIGS. 12 and 13, in the present application, the pool automatic cleaning device back station system specifically implements the following pool automatic cleaning device back station method to charge: controlling the pool automatic cleaning device to move on the pool wall; acquiring detection information, which at least includes distance information between the device and the base station; and when the pool automatic cleaning device meets the back station condition, controlling the pool automatic cleaning device to return to the base station based on the above detection information.

[0280] In the present application, since the pool automatic cleaning device and the base station are on the same pool wall, the detection sensor arranged on the pool automatic cleaning device or the base station only needs to detect the distance information between the pool automatic cleaning device and the base station in one dimension, and it does not need to detect objects in a wide space area, so that the detection range of the detection sensor is narrow, the power consumption is low, and the work content is simple, and it can obtain higher detection accuracy to obtain more accurate detection information.

[0281] As can be seen, the present application can set a detection sensor on the pool automatic cleaning device or the base station in a low-cost manner to detect the distance information between the device and the base station in a single dimension by using the detection sensor, so as to realize the relative positioning of the pool automatic cleaning device and the base station, and facilitate the subsequent charging of the pool automatic cleaning device. At the same time, the present application has low dependence on electronic components, which can effectively reduce the power consumption of the pool automatic cleaning device during positioning, reduce production costs, and improve the endurance of the pool automatic cleaning device.

[0282] Correspondingly, in the present application, when the detection sensor is actually selected, the detection sensor can include at least one of the following: an ultrasonic sensor, a laser radar, an infrared sensor, or an image sensor.

[0283] In the present application, ultrasonic sensors, laser radars (LIDAR), infrared sensors, and image sensors are four common detection sensors, each of which has a unique working principle and application field.

[0284] Ultrasonic sensor: measures distance by emitting sound waves above the human hearing range and listening to the reflected sound waves; the working principle of the ultrasonic sensor is: based on time-of-flight (TOF) measurement, that is, measuring the time from the emission of an ultrasonic pulse to the reflection of the pulse by an object, and indirectly measuring the distance according to the transmission speed of the ultrasonic wave.

[0285] Laser radar (LIDAR): LIDAR technology determines the distance of an object by emitting laser pulses and measuring the time it takes for these pulses to reflect back. Laser radar can provide high-precision three-dimensional spatial data and is widely used in autonomous vehicles and walking robots.

[0286] Infrared sensor: Infrared sensors are divided into active and passive types; among them, active infrared sensors contain transmitters and receivers, which work by emitting infrared radiation and detecting the reflected radiation; while passive infrared sensors only contain detectors, which are used to detect the infrared radiation emitted by the object itself.

[0287] Image sensor: Image sensors are widely used to capture visual images and convert them into electrical signals, and they can detect a wide range of light spectrum from visible light to short-wave infrared (SWIR). Image sensor technologies include hyperspectral imaging, event-based vision, wavefront imaging, quantum image sensors, and miniature spectrometers, etc.

[0288] Each sensor has its specific application scenarios and advantages, and in the pool automatic cleaning device back station method, users can choose appropriate detection sensors according to actual use requirements and environmental conditions.

[0289] In addition, when installing the above detection sensors, the detection sensors can also be specifically arranged on one side of the base station or one side of the pool automatic cleaning device according to actual application requirements, which can be configured to detect the distance between the base station and the pool automatic cleaning device at a certain time. In addition, it should be noted that in actual application, the processor in the pool automatic cleaning device back station system must also determine whether the pool automatic cleaning device meets the back station condition, and after meeting the back station condition, it can control the pool automatic cleaning device to return to the base station. Among them, in this application, the back station condition at least includes one of the following: receiving a back station instruction sent from the user terminal or the power of the pool automatic cleaning device being lower than a preset threshold or the pool automatic cleaning device completing the current task.

[0290] Once the above processor determines that the pool automatic cleaning device meets the back station condition, the processor needs to perform path planning according to the distance information between the pool automatic cleaning device and the base station detected by the above detection sensor, so as to facilitate the pool automatic cleaning device to return to charging.

[0291] As shown in FIG. 12, in the present embodiment, the pool automatic cleaning device can specifically adopt the above steps S1-S7 to walk, that is, in the above steps S1 and S2, the pool automatic cleaning device can walk along the pool wall from the bottom of the pool to the top, and at this time, the pool automatic cleaning device and the base station are on the same pool wall, and the detection sensor can obtain detection information between the base station and the pool automatic cleaning device; when the processor determines that the pool automatic cleaning device meets the above back station condition based on the above detection information, the processor controls the pool automatic cleaning device to execute the subsequent steps S3-S7, so that the pool automatic cleaning device moves from the pool wall to the bottom of the pool again, and controls the pool automatic cleaning device to walk along the wall to complete the above step S5 until it moves to the bottom of the base station; at this time, the pool automatic cleaning device executes the steps S6 and S7 to walk along the wall to return to the base station, thereby realizing back charging.

[0292] Specifically, in one case, when the power of the device is lower than the preset threshold, the base station executes S3-S7 back station after detecting the pool automatic cleaning device, and at this time, the path of S5 is longer; in another case, when the power of the underwater device is sufficient after the base station detects the pool automatic cleaning device, the cleaning task can be continued to be completed, and then S3-S7 back station is executed after the device completes the current task, and at this time, the path of S5 is shorter. In addition, as long as the pool automatic cleaning device is within the detection range of the base station, after receiving the back station instruction sent from the user terminal, the pool automatic cleaning device executes S3-S7 back station.

[0293] Preferably, the path of S3 is to walk vertically along the wall to the bottom of the pool, the path of S4 is to walk away from the wall in a direction perpendicular to the wall for a distance, the path of S5 is for the pool automatic cleaning device to walk along the wall on the pool bottom for a first distance, the path of S6 is to walk close to the wall in a direction perpendicular to the wall for a distance and then prepare to walk on the wall, and the path of S7 is to walk along the wall to return to the base station.

[0294] It should be emphasized that step S5 indicates the path of the pool automatic cleaning device walking along the wall on the pool bottom, and the length of the path is determined based on the distance information between the pool automatic cleaning device and the base station, for example, when the pool automatic cleaning device executes S3, the distance information between the pool automatic cleaning device at the current position and the base station is D1, and then the length of the path of S5 is determined based on D1, for example, in one case, the length of the path of S5 is equal to the sum of D1 and half of the width of the base station. In addition, the path of S5 can also select other forms of paths, which will not be described here.

[0295] It should be pointed out that, referring to FIG. 12, in actual application, the pool automatic cleaning device can periodically move to the same pool wall as the base station, and the pool automatic cleaning device moves up and down on the pool wall periodically to identify the pool automatic cleaning device in the process of periodic movement.

[0296] In summary, the back station method of the pool automatic cleaning device in the present application greatly enhances the back charging capability of underwater equipment, enabling it to simply, quickly and reliably obtain detection information between the pool automatic cleaning device and the base station in the underwater environment of the pool, providing important technical support and protection for the subsequent back charging of the pool automatic cleaning device, which has good popularization prospects and application value.

[0297] When the robot cleans the pool, it usually cleans the pool bottom surface of the pool-shaped building first, and after the pool bottom surface is cleaned, it performs a wall climbing action and climbs to the side wall of the pool-shaped building to sequentially clean the side wall surface in a reciprocating manner until the side wall surface is cleaned. However, during the reciprocating cleaning of the side wall surface by the robot, the obstacles on the side wall surface will block the cleaning path of the robot, and even cause the robot to be stuck by the obstacles, thereby affecting the cleaning efficiency of the robot. Therefore, when the robot cleans the side wall surface, it needs to perform an obstacle avoidance operation. The method 6300 for controlling the movement of the robot can realize the obstacle avoidance operation. In the following, if there is no additional description, the terms "pool bottom surface", "bottom surface of the pool", and "bottom surface of the pool bottom" have the same meaning, all of which represent the bottom surface of the pool.

[0298] The method 6300 includes: controlling the robot to move on the side wall surface in a first direction; detecting whether there is an obstacle in the first direction, wherein if there is an obstacle in the first direction, controlling the robot to move in a second direction by a first distance to a first position, wherein the projection length of the first distance in a direction perpendicular to the bottom surface is greater than the projection length of the obstacle in the direction perpendicular to the bottom surface; and sequentially repeating the following steps until the robot reaches a second position: controlling the robot to move in a third direction and detecting whether there is the obstacle in the third direction, wherein if there is the obstacle in the third direction, controlling the robot to move in the direction perpendicular to the bottom surface by a first predetermined distance, wherein the projection length of the distance between the second position and the first position in a horizontal direction is greater than the projection length of the obstacle in the horizontal direction.

[0299] The method 6300 for controlling the movement of the robot will be described in detail below with reference to the accompanying drawings. FIG. 14 is a flowchart of the method 6300 for controlling the movement of the robot according to an embodiment of the present application. FIG. 15 is an example schematic diagram of a cleaning path of the robot according to an embodiment of the present application. As shown in FIG. 14, the method 6300 includes steps 6101 to 6108. The steps 6101 to 6108 will be described in detail below.

[0300] At step 6101, the robot is controlled to move along a first direction on the sidewall surface.

[0301] As shown in FIG. 15, when the robot is controlled to clean the sidewall surface of the pool-shaped building, the robot can be first controlled to move along a first direction on the sidewall surface. The first direction can be a horizontal direction, or an oblique upward direction or an oblique downward direction. For example, the first direction can be a horizontal direction from left to right on the sidewall surface, or a horizontal direction from right to left. The first direction shown in FIG. 15 is a horizontal direction from right to left. It should be understood that the moving direction from right to left shown in FIG. 15 is only exemplary and is not intended to limit the first direction in which the robot moves on the sidewall surface. The first direction can be a direction selected or set according to the actual situation when the robot moves on the sidewall surface, as long as the principles of the present application can be implemented.

[0302] Next, step 6102 is entered. At step 6102, it is detected whether there is an obstacle in the first direction.

[0303] For example, during the process of controlling the robot to move along the first direction on the sidewall surface, the robot can detect whether there is an obstacle in the first direction. For example, the robot can use a laser detector, an ultrasonic detector, a phased array ultrasonic detector, a distance detector, etc. to detect the obstacle, which is not specifically limited in the present embodiment.

[0304] If there is an obstacle in the first direction, step 6103 is entered. At step 6103, the robot is controlled to move a first distance in a second direction to a first position, wherein a projection length of the first distance in a direction perpendicular to the bottom surface is greater than a projection length of the obstacle in the direction perpendicular to the bottom surface.

[0305] For example, in the case where it is detected that there is an obstacle in the first direction, it indicates that it is difficult for the robot to continue cleaning along the first direction, and therefore the robot is controlled to move a first distance in a second direction. The second direction and / or the first distance can be pre-set, or can be determined based on the obstacle detection result. For example, the second direction and / or the first distance can be determined based on the size of the detected obstacle, which is not specifically limited in the present embodiment.

[0306] For example, in the case that there is an obstacle in the first direction (e.g. horizontal direction) that makes it difficult for the robot to move, in order to avoid the obstacle, the second direction can be a direction on the sidewall surface towards the bottom surface of the pool (i.e. the bottom surface of the pool bottom), e.g. the second direction can be a direction perpendicular to the bottom surface of the pool bottom, or a direction oblique to the bottom surface of the pool bottom. It can be appreciated that in order for the robot to be able to bypass the obstacle, the projection length of the first distance in the direction perpendicular to the bottom surface of the pool needs to be greater than the projection length of the detected obstacle in the direction perpendicular to the bottom surface of the pool.

[0307] It can be appreciated that in the case that the second direction is a direction perpendicular to the bottom surface of the pool bottom, the robot can be controlled to quickly bypass the obstacle in the vertical direction with a short moving path. It should be noted that the terms "vertical direction", "vertically downwards", "perpendicular to the pool bottom" refer to a direction along the sidewall surface that is perpendicular to the bottom surface of the pool bottom, and the term "horizontal direction" refers to a direction along the sidewall surface that is parallel to the bottom surface of the pool bottom, if not otherwise specified in the present application.

[0308] For example, during the movement of the robot in the second direction, the robot can detect the obstacle by the detector described above at predetermined time intervals or in real time, wherein the robot keeps moving in the second direction until the obstacle is no longer detected as long as the obstacle is detected. Thus, the position where the robot stops in the second direction is the first position, and the distance that the robot moves in the second direction is the first distance.

[0309] Thus, by moving in the second direction for the first distance, the robot can achieve the effect of "bypassing" the obstacle in the direction perpendicular to the bottom surface of the pool, e.g. the robot moves in the direction perpendicular to the pool bottom along the sidewall surface for a distance, so that in the direction perpendicular to the pool bottom, the robot is at a position closer to the pool bottom than the end of the obstacle.

[0310] Next, the following steps 6104 and 6105 are repeated in turn until the robot reaches a second position.

[0311] In step 6104, the robot is controlled to move forward in a third direction and detect whether there is the obstacle in the third direction. If there is the obstacle in the third direction, step 6105 is entered. In step 6105, the robot is controlled to move backward in the direction perpendicular to the bottom surface for a first predetermined distance.

[0312] The projection length of the distance between the second position and the first position in the horizontal direction is greater than the projection length of the obstacle in the horizontal direction.

[0313] For example, in the case that the robot is controlled to move a first distance in a second direction to a first position, the robot has "passed" the obstacle in the vertical direction, at this time, the robot is controlled to move in a third direction from the first position and continue to detect whether there is an obstacle in the third direction by means of the detector described above during the movement. In the case that there is an obstacle in the third direction, the robot can be further controlled to retreat a first predetermined distance in a direction perpendicular to the bottom surface, so that the robot is pulled away from the obstacle, and then advances in the third direction again and detects whether there is an obstacle in the third direction (it should be noted that the third direction at this time and the third direction from which the robot departs at the first position are both parallel or substantially parallel, but the moving paths of the two are not overlapped).

[0314] For example, the third direction and the horizontal direction can have an included angle of between 30 degrees and 60 degrees. The third direction and the horizontal direction can have an included angle, which can be between 30 degrees and 60 degrees, and the specific size of the included angle can be pre-set or determined according to the obstacle information (such as the size and position of the obstacle, etc.). Through the setting of the included angle, the robot can be better controlled to avoid the obstacle.

[0315] The first predetermined distance can be, for example, the length of 1-2 body lengths of the robot. The first predetermined distance is to pull the robot away from the obstacle, so as to facilitate the robot to try to avoid the obstacle again in the third direction. Therefore, the first predetermined distance can be selected and set according to the actual situation (such as the size and position of the obstacle, etc.), as long as the technical principles of the present application can be realized. It should be noted that the "first predetermined distance" herein and the "first distance" in the movement of the robot in the second direction have different meanings. The former is the distance by which the robot is pulled away from the obstacle when the robot avoids the obstacle in the horizontal direction, and the latter is the distance by which the robot travels when the robot avoids the obstacle in the direction perpendicular to the bottom surface of the pool bottom.

[0316] Through the repeated steps 6104 and 6105, the robot finally reaches the second position. From the horizontal dimension, the robot actually reaches the second position in a "step-by-step trial" manner of the obstacle by means of a walking path such as an N-shaped or similar N-shaped path. Since the projection length of the distance between the second position and the first position in the horizontal direction is greater than the projection length of the obstacle in the horizontal direction, the robot can "pass" the obstacle in the horizontal direction, and then the robot can "pass" the obstacle in the direction perpendicular to the bottom surface of the pool bottom and in the horizontal direction, so as to achieve obstacle avoidance.

[0317] The above embodiment has the following beneficial effects:

[0318] The obstacle detection is performed in the process of controlling the robot to move in the first direction, and the moving direction of the robot is adjusted through the obstacle detection result, so that the robot can reasonably avoid obstacles in the process of moving and cleaning the surface of the pool side wall, and the robot is prevented from being blocked and trapped by the obstacles, the missed cleaning and repeated cleaning of the robot in the cleaning process are reduced, and the cleaning efficiency of the robot is improved.

[0319] In another embodiment, if the obstacle exists in the third direction, the robot is controlled to move according to a preset path until the robot reaches the second position at step 6105, wherein the projection length of the distance between the second position and the first position in the horizontal direction is greater than the projection length of the obstacle in the horizontal direction. The preset path can be a path set in advance. The preset path can be the N-shaped path described above, or can be a Z-shaped path, an S-shaped path, a curved path, a right-angle turning path, etc., as long as the robot can avoid obstacles in the horizontal direction.

[0320] One or more of the second direction, the first distance, the first position, the third direction, the first predetermined distance, and the second position can be set in advance. Since the structure of the pool can be known in advance, and the position, size, shape, and other parameters of the obstacles on the surface of the side wall are usually unchanged, the information of the obstacles (such as the projection length of the obstacles in the vertical direction and the projection length in the horizontal direction, etc.) obtained in advance or stored in advance can be used to plan a more reasonable moving direction, moving distance, stopping position, etc. for the robot, so that the robot can smoothly bypass the obstacles.

[0321] For example, the robot can record the obstacle information (such as the position, size, shape, projection length in the direction perpendicular to the bottom surface of the pool bottom, projection length in the horizontal direction, etc.) of the pool in the previous cleaning operation, and then optimize one or more of the second direction, the first distance, the first position, the third direction, the first predetermined distance, and the second position when the robot needs to avoid the obstacle in the subsequent cleaning process of the surface of the side wall, so as to shorten the path length of the robot in the process of avoiding obstacles.

[0322] For example, the robot can use a sensor such as a phased array ultrasonic sensor to range and map the obstacle during the travel along the second direction, so as to obtain obstacle information (e.g. size, orientation, etc.), and then determine a third direction according to the obtained obstacle information after the robot reaches the first position, wherein there is no obstruction of the obstacle in the determined third direction, in other words, the robot can directly bypass the obstacle without changing the travel direction again for obstacle avoidance in the subsequent travel along the determined third direction.

[0323] Therefore, the path planning for obstacle avoidance based on the obstacle information can determine a reasonable obstacle avoidance direction and / or obstacle avoidance distance, and thus the robot can bypass the obstacle in a shorter moving path and more efficiently, so as to reduce the missed cleaning during the robot cleaning process and improve the cleaning efficiency of the robot.

[0324] Next, step 6106 is entered. In step 6106, the robot is controlled to move from the second position to the water surface along a fourth direction.

[0325] When the robot reaches the second position, the robot has bypassed the obstacle in the vertical direction and the horizontal direction, and thus the obstacle avoidance is achieved, and at this time, the robot can be controlled to move to the water surface along the fourth direction so as to perform the subsequent cleaning of the side wall surface. The moving distance of the robot in the fourth direction can be determined according to the cleaning process and / or cleaning path of the side wall, for example, the robot can be controlled to move to the next uncleaned path in the arch-shaped reciprocating cleaning path, or the robot can be controlled to move to the water line to clean the water line.

[0326] The fourth direction can be a direction perpendicular to the horizontal plane along the side wall surface, or can be an obliquely upward direction along the side wall surface, as long as the technical principles of the present application can be implemented.

[0327] Other steps of the method 6300 of the present application will be described below with reference to FIG. 16. FIG. 16 is an example schematic diagram of a robot cleaning path according to another embodiment of the present application.

[0328] If it is detected in the above-mentioned step 6104 that there is no obstacle in the third direction, in step 6107, the robot is controlled to move to a third position along the third direction. The distance between the third position and the first position has a projection length in the horizontal direction greater than the projection length of the obstacle in the horizontal direction. Therefore, the robot can bypass the obstacle in the horizontal direction, and thus the robot can bypass the obstacle in the direction perpendicular to the bottom surface of the pool bottom and in the horizontal direction, so as to achieve obstacle avoidance.

[0329] The meaning of the third direction and the method for determining the third direction have been described above and will not be repeated here.

[0330] The third position can be preset. Since the structure of the swimming pool can be known in advance, and the position, size, shape and other parameters of the obstacles on the side wall surface are generally unchanged, a more reasonable third position can be preset based on the information of the obstacles, so as to ensure that the robot has completed obstacle avoidance when reaching the third position.

[0331] The third position can also be obtained by the robot using sensors such as phased array ultrasonic sensors to measure the distance and draw the obstacles during the movement of the robot in the second direction and / or the third direction, so as to obtain the obstacle information (such as size and orientation, etc.), and then determine the third direction and the predetermined distance of movement according to the obtained obstacle information after the robot reaches the first position, so that the robot reaches the third position after moving in the third direction determined by the robot for the predetermined distance.

[0332] For example, the third position can partially overlap with the second position described above. Due to the size of the robot body, the second position reached by the robot after the N-shaped obstacle avoidance in the third direction described above can partially overlap with the third position reached directly in the third direction without obstacles.

[0333] Next, step 6108 is entered. In step 6108, the robot is controlled to move from the third position to the water surface in a fourth direction.

[0334] When the robot is controlled to move in the third direction to the third position, the robot has bypassed the obstacles in the vertical direction and the horizontal direction, and the obstacle avoidance is achieved. At this time, the robot can be controlled to move in the fourth direction to the water surface, so that the robot performs the subsequent cleaning work of the side wall surface. The movement distance of the robot in the fourth direction can be determined according to the cleaning process and / or the cleaning path of the side wall, for example, the robot can be controlled to move to the next uncleaned path in the arch-shaped reciprocating cleaning path, or the robot can be controlled to move to the water line and clean the water line.

[0335] As described above, the first position is located on the side wall surface. In one embodiment, when the robot is controlled to move in the second direction to the first position by the first distance in step 6103, the robot is in contact with the bottom surface at the first position.

[0336] Fig. 17 is an example schematic diagram of a robot cleaning path according to an embodiment of the present application. As shown in Fig. 17, in the case that an obstacle is detected during the control of the robot to move in the first direction, the robot can be directly controlled to move in the second direction to a position on the sidewall surface of the pool where the bottom surface is contacted, and the robot is in contact with the bottom surface at the position.

[0337] In the above embodiment, by controlling the robot to directly move in the second direction to a position on the sidewall surface of the pool where the bottom surface is contacted, the robot can be ensured to pass around the obstacle in the vertical direction as much as possible. And the continuous detection of the robot to the obstacle during the movement in the second direction is avoided, so that the power of the robot can be saved.

[0338] For example, after the robot is controlled to move in the second direction to the first position and the robot is in contact with the bottom surface at step 6103, and before the robot is controlled to move in the third direction at step 6104, the method further comprises: controlling the robot to move in a direction perpendicular to the bottom surface to the water surface by a second predetermined distance.

[0339] It can be understood that, as shown in Fig. 17, in the case that the robot is controlled to directly move in the second direction to a position on the sidewall surface of the pool where the bottom surface is contacted at step 6103, the robot has touched the bottom surface, and part of the structure of the robot (such as the side surface of the robot, the sensor, the driving wheel, etc.) will be against the bottom surface of the pool, which makes it difficult to control the robot to adjust the posture, and it can be difficult to smoothly control the robot to adjust to move in the third direction, and the contact between part of the structure of the robot and the bottom surface of the pool can increase the risk of wear and even damage of the robot. Therefore, before the robot is controlled to move in the third direction, the robot is first controlled to move in the vertical direction to the water surface by a second predetermined distance, so that the robot can not be hindered by the bottom surface of the pool during the subsequent turning to the third direction, wherein the second predetermined distance is pre-set, and the setting of the second predetermined distance can be related to the size of the robot, for example, the second predetermined distance can be one fourth of the length of the body of the robot or one third of the length of the body of the robot. As shown in Fig. 17, before the robot is controlled to move in the third direction, the robot can be first controlled to move to the position of the dashed line in the figure.

[0340] In the above embodiment, by controlling the robot to move in the direction perpendicular to the bottom surface to the water surface by a second predetermined distance, the robot can be smoothly controlled to adjust to move in the third direction, and the damage to the robot caused by the collision and friction of the robot with the bottom surface of the pool can be reduced.

[0341] According to another aspect of the present application, there is also provided a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the method of controlling movement of a robot for cleaning within a pool-shaped building having a bottom surface and a sidewall surface, the method comprising: controlling the robot to move in a first direction along the sidewall surface; detecting whether an obstacle exists in the first direction, wherein, if an obstacle exists in the first direction, controlling the robot to move in a second direction for a first distance to a first position, wherein a projection length of the first distance in a direction perpendicular to the bottom surface is greater than a projection length of the obstacle in the direction perpendicular to the bottom surface; and sequentially repeating the following steps until the robot reaches a second position: controlling the robot to move in a third direction and detecting whether the obstacle exists in the third direction, wherein, if the obstacle exists in the third direction, controlling the robot to move in the direction perpendicular to the bottom surface for a first predetermined distance, wherein a projection length of a distance between the second position and the first position in a horizontal direction is greater than a projection length of the obstacle in the horizontal direction.

[0342] According to another aspect of the present application, there is provided a robot, an example of a physical structure of a robot is shown in FIG. 8, as shown in FIG. 8, the robot can comprise: a memory 301 and a processor 302. The processor 302 can invoke computer program instructions in the memory 301 to execute a method of controlling movement of a robot for cleaning within a pool-shaped building having a bottom surface and a sidewall surface, the method comprising: controlling the robot to move in a first direction along the sidewall surface; controlling the robot to detect whether an obstacle exists in the first direction, wherein, if an obstacle exists in the first direction, controlling the robot to move in a second direction for a first distance to a first position, wherein a projection length of the first distance in a direction perpendicular to the bottom surface is greater than a projection length of the obstacle in the direction perpendicular to the bottom surface; and controlling the robot to sequentially repeat the following steps until the robot reaches a second position: controlling the robot to move in a third direction and detecting whether the obstacle exists in the third direction, wherein, if the obstacle exists in the third direction, controlling the robot to move in the direction perpendicular to the bottom surface for a first predetermined distance, wherein a projection length of a distance between the second position and the first position in a horizontal direction is greater than a projection length of the obstacle in the horizontal direction.

[0343] In a fifth aspect, the present application also provides a computer program product, which comprises a computer program, the computer program being stored in a non-transitory computer-readable storage medium, and the computer program being capable of controlling the robot to move according to the method provided by any of the above methods when executed by a processor, the robot being configured to clean a pool-shaped building, the pool-shaped building having a bottom surface and a sidewall surface, the method comprising: controlling the robot to move along a first direction on the sidewall surface; detecting whether there is an obstacle in the first direction, wherein if there is an obstacle in the first direction, controlling the robot to move along a second direction by a first distance to a first position, wherein a projection length of the first distance in a direction perpendicular to the bottom surface is greater than a projection length of the obstacle in the direction perpendicular to the bottom surface; and repeating the following steps in sequence until the robot reaches a second position: controlling the robot to move forward along a third direction and detecting whether there is the obstacle in the third direction, wherein if there is the obstacle in the third direction, controlling the robot to move backward along the direction perpendicular to the bottom surface by a first predetermined distance, wherein a projection length of a distance between the second position and the first position in a horizontal direction is greater than a projection length of the obstacle in the horizontal direction.

[0344] The pool automatic cleaning device 300 can be configured to move on the water surface. When the pool automatic cleaning device moves on the water surface, the stability and controllability of the device when moving on the water surface are poor due to, for example, the buoyancy, viscous force, dynamic pressure, water surface fluctuation, and the like of the water. For example, when the device rotates on the water surface, the situation of over-rotation is prone to occur.

[0345] In one or more embodiments of the present disclosure, a pool automatic cleaning device capable of moving on the water surface and performing cleaning work is provided, and a method for controlling the device to move and / or rotate on the water surface is provided. Under the control of the method, the device can rotate to a target angle or a target orientation more stably on the water surface, for example, at least partially alleviating or avoiding over-rotation on the water surface.

[0346] FIG. 18 shows an example of a pool automatic cleaning device 300 (hereinafter, also referred to simply as “device 300”) according to an embodiment of the present disclosure.

[0347] In different embodiments, the device 300 can be configured to be located on the water surface by any suitable means. For example, a component such as an air bag that can provide buoyancy to the device 300 can be configured in the device 300, and the device 300 can also be designed to have a structure and / or shape, such as a flat shape, that is conducive to floating on the water surface.

[0348] For example, as shown in FIG. 18, the apparatus 300 can further include a controller 7120, a spatial attitude sensor 7140, and a power mechanism 7160.

[0349] The controller 7120 can be configured to implement one or more operations or processes required for the operation of the apparatus 300, and / or implement one or more controls of one or more components of the apparatus 300, e.g., according to one or more program instructions (not shown in FIG. 18) stored in a memory (not shown in FIG. 18) of the apparatus 300.

[0350] In different embodiments, the controller 7120 can include a central processing unit (CPU), a graphics processing unit (GPU), or other types or forms of processing circuitry or chips having data processing and / or instruction execution capabilities, such as a field-programmable gate array (FPGA). For example, in the case where the apparatus 300 is configured to support processing based on a deep learning model or an artificial intelligence processing model, such as a convolutional neural network, the controller 7120 can further include a circuitry dedicated to acceleration of certain operations, such as convolution operations, such as a multiply-accumulate array, or can further include a circuitry or chip more suitable for operations and processes in a deep learning model or an artificial intelligence processing model, such as a tensor processing unit (TPU) or a brain processing unit (BPU).

[0351] The spatial attitude sensor 7140 can include a component that can obtain (e.g., sense) information about a current deflection angle or a current orientation of the apparatus 300, such as an inertial measurement unit (IMU).

[0352] The power mechanism 7160 can be configured to operate according to instructions or signals from the controller 7120, so as to provide a pushing force to the apparatus 300 that enables the apparatus 300 to move on the water surface. In different embodiments, the manner in which the apparatus 300 moves on the water surface can include, but is not limited to, one or more of advancing, retreating, rotating, and transversing. Accordingly, the power mechanism 7160 can be configured to be capable of operating in different modes according to the desired manner of movement, so as to provide a pushing force of a desired size and / or direction to the apparatus 300 that enables the apparatus 300 to move on the water surface.

[0353] In one embodiment, as shown in FIG. 19, the power mechanism 7160 can be configured to or include a water jet mechanism. For example, the water jet mechanism can include at least one water jet port, such as the water jet ports 7221 and 7222 in FIG. 19, a water flow channel in communication with each water jet port, such as the water flow channel 7223 in communication with the water jet port 7221 and the water flow channel 7224 in communication with the water jet port 7222 in FIG. 19, and at least one water pump disposed on the water flow channel, such as the water pump 7225 for controlling water flow in the water flow channel 7223 and the water pump 7226 for controlling water flow in the water flow channel 7224 in FIG. 19.

[0354] In the example of FIG. 19, the water jet ports 7221 and 7222 can be symmetrically configured on the left and right sides of the body of the device 300 with respect to the dashed line AB in FIG. 19, where the dashed line AB is a straight line passing through the center of mass, the front and the back of the device 300 in the symmetry plane of the device 300 and parallel to the design axis of the device 300. In other examples, the water jet ports 7221 and 7222 can also be configured at any other suitable locations on the body of the device 300 in other ways.

[0355] For example, at least a portion of the water entering the device 300 from the water pool can be sprayed out to the outside of the left back of the device 300 through the water flow channel 7223 and the water jet port 7221 under the drive of the water pump 7225, thereby generating a pushing force Fl to the left back of the device 300. At the same time, or independently, at least a portion of the water entering the device 300 from the water pool can be sprayed out to the outside of the right back of the device 300 through the water flow channel 7224 and the water jet port 7222 under the drive of the water pump 7226, thereby generating a pushing force F2 to the right back of the device 300.

[0356] Thus, the magnitude and / or direction of the pushing force (i.e., the resultant of Fl and F2) that moves the device 300 on the water surface can be controlled by controlling the difference between the flow rate (or flow speed) of the water sprayed from the water jet port 7221 and the flow rate (or flow speed) of the water sprayed from the water jet port 7222, or by controlling the difference between the water jet force Fl from the water jet port 7221 and the water jet force F2 from the water jet port 7222.

[0357] For example, in a case where the flow rate (or flow velocity) of water sprayed from the water spout 7221 is greater than the flow rate (or flow velocity) of water sprayed from the water spout 7222 or Fl is greater than F2 (for example, the difference between the scalar value of Fl and the scalar value of F2 is greater than 0), the device 300 can be caused to rotate clockwise on the water surface by the resultant force of Fl and F2, and the greater the flow rate (or flow velocity) of water sprayed from the water spout 7221 relative to the flow rate (or flow velocity) of water sprayed from the water spout 7222 or the greater the difference between Fl and F2, the greater the speed at which the device 300 rotates clockwise on the water surface. In this case, for example, the water spout 7222 can be closed or suspended so that the flow rate (or flow velocity) of water sprayed from the water spout 7222 is 0, and further so that F2 is 0.

[0358] For example, in a case where the flow rate (or flow velocity) of water sprayed from the water spout 7221 is less than the flow rate (or flow velocity) of water sprayed from the water spout 7222 or Fl is less than F2 (for example, the difference between the scalar value of Fl and the scalar value of F2 is less than 0), the device 300 can be caused to rotate counterclockwise on the water surface by the resultant force of Fl and F2, and the smaller the flow rate (or flow velocity) of water sprayed from the water spout 7221 relative to the flow rate (or flow velocity) of water sprayed from the water spout 7222 or the smaller the difference between Fl and F2, the greater the speed at which the device 300 rotates counterclockwise on the water surface. In this case, for example, the water spout 7221 can be closed or suspended so that the flow rate (or flow velocity) of water sprayed from the water spout 7221 is 0, and further so that Fl is 0.

[0359] For example, in a case where the flow rate (or flow velocity) of water sprayed from the water spout 7221 is equal to or substantially equal to the flow rate (or flow velocity) of water sprayed from the water spout 7222 or Fl is equal to or substantially equal to F2 (for example, the difference between the scalar value of Fl and the scalar value of F2 is equal to or substantially equal to 0), the device 300 can be caused to move forward on the water surface by the resultant force of Fl and F2, and the greater the flow rate (or flow velocity) of water sprayed from the water spouts 7221 and 7222 or the greater the values of Fl and F2, the greater the speed at which the device 300 moves forward on the water surface.

[0360] The power mechanism 7160 or the water spouting mechanism of the power mechanism 7160 can not be limited to the example of FIG. 19.

[0361] In further embodiments, on the basis of, or instead of, the water jets 7221 and 7222, the power mechanism 7160 or the water jet mechanism of the power mechanism 7160 can comprise one or more water jets similar to the water jets 7221 and 7222. Such one or more water jets can be symmetrically configured on the left and right sides of the body of the device 300 with respect to the dashed line AB in FIG. 19, or can be configured in any other suitable manner (e.g., non-axisymmetrically or asymmetrically) at any one or more suitable positions of the device 300, where each water jet can be configured to face in a different direction, for example, or can be configured to be changeable in orientation. In this way, the magnitude and / or direction of the resultant of the water jet forces from these water jets can be controlled by controlling the flow rates (or flow speeds) of the water ejected from these water jets, thereby enabling the device 300 to rotate at a desired speed and / or direction.

[0362] In further embodiments, the water jets and the water pumps can be in a one-to-one number relationship in the example of FIG. 19, such that each water jet is equipped with an independent water pump, or can be in a many-to-one number relationship, such that multiple water jets can share the same water pump.

[0363] In further embodiments, on the basis of, or instead of, the water jets, the power mechanism 7160 or the water jet mechanism of the power mechanism 7160 can further comprise rotating impellers configured on the left and right sides of the device, and motors and corresponding transmission mechanisms for driving the rotating impellers to rotate in a specified direction and / or speed simultaneously or separately. In this way, the device 300 can be controlled to rotate at a desired speed and / or direction by controlling the rotational speeds and / or rotational directions of the rotating impellers on the left and right sides.

[0364] FIG. 20 shows an example of a method 300 for controlling the device 300 according to embodiments of the present disclosure. The method 300 can be performed by the controller 7120 of the device 300, for example, so that the device 300 can rotate more stably to a target angle or a target orientation on the water surface.

[0365] As shown in FIG. 20, the method 300 can comprise: a step 7310 of controlling the device 300 to move on the water surface; a step 7320 of obtaining a target deflection angle T of the device 300 on the water surface; and a step 7330 of controlling the turning of the device 300 on the water surface based on the target deflection angle T determined in the step 7320.

[0366] For the step 7310 of the method 300, any suitable method can be employed in different embodiments.

[0367] During the movement of the device 300 on the water surface, the controller 7120 can receive information about the distance between the device 300 and the surrounding obstacle (e.g., the front obstacle) from at least one distance sensor (e.g., at least one ultrasonic sensor or at least one image sensor) of the device 300, and in the case where the distance between the device 300 and the surrounding obstacle satisfies a predetermined threshold condition, for example, in response to detecting that the distance between the device 300 and the surrounding obstacle reaches a predetermined range, determine that rotation is needed and start to perform step 7320.

[0368] In step 7320, the expected rotation direction and the value of the angle θ through which the device 300 needs to be rotated in the expected rotation direction can be determined by any suitable method.

[0369] For example, the controller 7120 can calculate the expected rotation direction and the value of θ according to one or more data and / or information such as the current movement rule of the device 300 (e.g., the current movement direction), the sensing information about the relative positional relationship between the device 300 and the surrounding obstacle (e.g., the distance between the device 300 and the obstacle, etc.) from at least one distance sensor (e.g., at least one ultrasonic sensor or at least one image sensor) of the device 300, and the obstacle information (e.g., the shape of the obstacle, etc.) about the surrounding obstacle of the device 300 calculated or determined based on the sensing information from at least one distance sensor of the device 300, etc.

[0370] On this basis, or alternatively, the controller 7120 can also determine the expected rotation direction and the value of θ according to the instruction from the control end of the device 300.

[0371] Then, in step 7320, the target deflection angle can be determined according to the current deflection angle C of the device 300 sensed by the spatial posture sensor 7140 at the time of performing step 7320, the direction in which the device 300 is expected to rotate, and the angle θ through which the device 300 is expected to rotate.

[0372] For example, if the device 300 is expected to be rotated clockwise by θ degrees, the target deflection angle can be set as T = C - θ, and if the device 300 is expected to be rotated counterclockwise by θ degrees as shown in FIG. 21, the target deflection angle can be set as T = C + θ, where the current deflection angle C of the device 300 can be determined according to the real-time sensing data from the spatial posture sensor 7140 of the device 300 at the time of performing step 7320.

[0373] In some embodiments, the calculated target deflection angle T can be further processed according to the actual value range of the target deflection angle T, so that the value of the processed target deflection angle T falls within a predetermined angle range, facilitating subsequent processing and judgment. For example, if T > π, T can be updated as T = T - 2π, and if T < -π, T can be updated as T = T + 2π, so that the value of the processed target deflection angle T is within the angle range [-π, π].

[0374] Then, the controller 7120 can perform step 7330 of controlling the power mechanism 7160 to work based on the target deflection angle determined in step 7320, so as to control the turning of the device 300 on the water surface.

[0375] In step 7330, for example, the controller 7120 can determine the current deflection angle C of the device 300 in the turning process in real time from the sensing data of the spatial attitude sensor 7140, and can control the current size and / or current direction of the pushing force provided by the pushing mechanism 7160 in the turning process according to the difference α = T - C between the current deflection angle of the device 300 in the turning process and the target deflection angle T determined in step 7320.

[0376] In one embodiment, the controller 7120 can determine the current direction of the pushing force provided by the pushing mechanism 7160 in the turning process according to the positive and negative of α. For example, in step 7330, in the case of α > 0 as shown in FIG. 22, the controller 7120 can control the power mechanism 7160 to provide a pushing force capable of rotating the device 300 counterclockwise, and in the case of α < 0 as shown in FIG. 23, the controller 7120 can control the power mechanism 7160 to provide a pushing force capable of rotating the device 300 clockwise.

[0377] During the process of controlling the device 300 to rotate on the water surface through step 7330, due to inertia generated when the device 300 rotates on the water surface, after the device 300 rotates in the counterclockwise direction (as shown in FIG. 22) or the clockwise direction (as shown in FIG. 23) to the target deflection angle T, the device 300 can continue to rotate in the previous counterclockwise direction or clockwise direction and exceed the target deflection angle T. Therefore, in step 7330, the controller 7120 can adjust the rotation direction of the device 300 on the water surface in real time according to the positive and negative of α. For example, during the process of controlling the device 300 to rotate on the water surface, the controller 7120 can adjust the pushing force that rotates the device 300 in response to the positive and negative change of α, so as to change the rotation direction of the device 300. Thus, for example, excessive rotation can be slowed down.

[0378] For example, for the device 300 having the exemplary structure shown in FIG. 19, in the case of a > 0, the water pump 7226 can be made to work while the water pump 7225 is suspended, or the water pumps 7225 and 7226 are controlled to work in such a way that the power of the water pump 7226 is greater than the power of the water pump 7225, so as to enable the device 300 to rotate in the counterclockwise direction; in the case of a < 0, the water pump 7225 can be made to work while the water pump 7226 is suspended, or the water pumps 7225 and 7226 are controlled to work in such a way that the power of the water pump 7225 is greater than the power of the water pump 7226, so as to enable the device 300 to rotate in the clockwise direction.

[0379] For example, depending on the current deflection angle C, the target deflection angle T, and the manner and range of values of a are set, in another embodiment, in the case of a > 0, the water pump 7225 can be made to work while the water pump 7226 is suspended, or the water pumps 7225 and 7226 are controlled to work in such a way that the power of the water pump 7225 is greater than the power of the water pump 7226, so as to enable the device 300 to rotate in the clockwise direction; in the case of a < 0, the water pump 7226 can be made to work while the water pump 7225 is suspended, or the water pumps 7225 and 7226 are controlled to work in such a way that the power of the water pump 7226 is greater than the power of the water pump 7225, so as to enable the device 300 to rotate in the counterclockwise direction.

[0380] In addition, in step 7330, the controller 7120 can also determine the current magnitude of the pushing force provided by the pushing mechanism 7160 during the steering process according to the value |a| of the difference a. For example, the current magnitude of the pushing force during the steering process can be positively correlated or proportional to |a|.

[0381] For example, for the device 300 having the exemplary structure shown in FIG. 19, the power P of the water pump 7225 or 7226 that works, or the power difference Pd of the water pumps 7225 and 7226 can be determined according to |a|. For example, P or Pd can be determined according to at least one of the maximum power value Pmax of the water pump 7225 and / or 7226, |a|, and the value |0| of 0 determined in step 7320.

[0382] In one embodiment, P or Pd can be determined according to min(Pmax, Pmax * |a| / |0|), where min() is a minimum function.

[0383] In another embodiment, an interval such as [0, |0|] can be divided into at least two sub-intervals, and P or Pd can be determined according to which sub-interval |a| is in.

[0384] For example, [0, |0|] can be divided into sub-intervals [0, f) and [f, |0|], where f can have a range of values including but not limited to [30°, 45°], for example. Accordingly, P or Pd can be determined in real time as Pmax * |a| / |0| when |a| is in the sub-interval [f, |0|], or fixedly set to a certain larger value such as Pmax, Pmax * f / |0|, etc., so as to enable the device 300 to rotate to the target deflection angle T as soon as possible in the case that the deviation of the current deflection angle C from the target deflection angle T is large. P or Pd can be determined in real time as Pmax * |a| / |0| when |a| is in the sub-interval [0, f], or fixedly set to a certain smaller value, so as to enable the device 300 to rotate to the target deflection angle T more smoothly in the case that the deviation of the current deflection angle C from the target deflection angle T is small.

[0385] For example, [0, |0|] can be divided into sub-intervals [0, f1), [f1, f2) and [f2, |0|], and accordingly, P or Pd can be determined in real time as Pmax * |a| / |0| when |a| is in the sub-interval [f2, |0|], or fixedly set to a certain value such as Pmax, Pmax * f2 / |0|, etc.; P or Pd can be determined in real time as Pmax * |a| / |0| when |a| is in the sub-interval [f1, f2), or fixedly set to a certain value such as Pmax / 2, Pmax * f1 / |0|, etc.; P or Pd can be determined in real time as Pmax * |a| / |0| when |a| is in the sub-interval [0, f1), or fixedly set to a certain smaller value.

[0386] Thus, for the device 300 in the example of FIG. 19, the current magnitude and / or current direction of the pushing force (the resultant of F1 and F2) provided by the pushing mechanism 7160 during the turning process can be controlled by controlling the water jet force F1 from the water jet port 7221 and the water jet force F2 from the right water jet port 7222.

[0387] In the method 300, the current magnitude and / or current direction of the pushing force during the turning process is controlled in real time according to the difference a between the current deflection angle C and the target deflection angle T, so that the current deflection angle C is closer to the target deflection angle T, the pushing force is relatively smaller, thereby enabling the device 300 to rotate to the target angle or target orientation more smoothly on the water surface and alleviating or avoiding over-rotation.

[0388] In an actual pool, it can be difficult to control the device 300 to rotate to the extent that the current deflection angle C is exactly equal to the target deflection angle T, for example, due to fluctuations in the water surface, etc. Therefore, in the method 300, or in step 7330, the controller 7120 can determine whether the device 300 completes the turning according to whether the difference a = T - C between the current deflection angle C and the target deflection angle T always satisfies a predetermined threshold condition within a predetermined time period L (e.g., 0.5 seconds or 1 second).

[0389] For example, as shown in FIG. 24, an angle range such as [σ1, σ2] can be predetermined, where the values of σ1 and σ2 can be the same or different. For example, the value range of σ1 can include but is not limited to [-5, -3], and the value range of σ2 can include but is not limited to [3, 5]. Then, the controller 7120 can start a timer in response to detecting that a falls within the angle range [σ1, σ2]. For example, in the case where a again exceeds the angle range [σ1, σ2] before the timer expires, the controller 7120 can continue to perform step 7330 and stop the timer. If a is always within the angle range [σ1, σ2] until the timer expires, the controller 7120 can determine that the device 300 completes the turning.

[0390] FIG. 25A schematically shows an outer shape of a pool automatic cleaning device 300A according to an embodiment of the present disclosure. The pool automatic cleaning device 300A can perform cleaning operations on the bottom, the walls, the water, and the water surface of a pool (e.g., a swimming pool) as needed, for example, to clean garbage in the water, on the bottom and the walls of the pool, etc. As shown in FIG. 25A, the pool automatic cleaning device 300 can include a housing 8110, a traveling mechanism 8120, a cleaning unit 8130, etc. As an example, the pool automatic cleaning device 300 can further include a buoyancy adjusting unit (not shown) such that the pool automatic cleaning device can adjust its depth in the water as needed, for example, to float on the water surface, to dive into the water, to sink to the bottom of the pool, so as to perform cleaning operations on the water surface, in the water, or on the bottom of the pool. As an example, a control compartment, a power compartment, and a filter compartment (not shown) can be provided in the housing 300, where a control circuit such as a microprocessor, a digital signal processor (DSP), a microcontroller, etc. can be installed in the control compartment, a driving mechanism such as a water pump, a driving motor, etc. can be provided in the power compartment, and a filter unit can be provided in the filter compartment to filter and purify water entering the inside of the filter compartment through a water inlet, to remove impurities therefrom, and to discharge the cleaned water out of the pool automatic cleaning device through a water outlet. As an example, the traveling mechanism 8120 of the pool automatic cleaning device 300A shown in FIG. 25A is a track-type traveling mechanism, while the traveling mechanism 8120 of the pool automatic cleaning device 300B shown in FIG. 25B is a wheel-type traveling mechanism.

[0391] Although FIGS. 25A-25B illustrate the overall appearance of the pool cleaning robot according to the embodiments of the present disclosure. It should be understood that this is merely illustrative and does not constitute any limitation of the principles of the present disclosure.

[0392] The present disclosure proposes that when the pool cleaning robot encounters a protruding obstacle such as a wall lamp during the pool wall climbing process, it is possible to fall from the pool wall to the pool bottom. If the travel mechanism of the pool cleaning robot such as the track is upward after falling, the pool cleaning robot cannot recover to the normal working state, resulting in low cleaning efficiency or failure to perform normal pool cleaning. Therefore, it is necessary to solve the problem of the pool cleaning robot failing to work normally after overturning.

[0393] For example, when the pool cleaning robot is performing cleaning work, for example, when the pool cleaning robot is traveling on the pool wall to perform cleaning work on the pool wall, since there is a certain angle between the pool wall and the pool bottom, if the pitch angle of the pool cleaning robot increases when it climbs from the pool bottom to the pool wall, the travel mechanism at the bottom of the pool cleaning robot may lose contact with the pool wall, resulting in reduced adhesion of the travel mechanism of the pool cleaning robot, thereby causing the pool cleaning robot to overturn.

[0394] In addition, if there are protrusions on the surface of the pool wall, such as a protruding platform or a protruding wall lamp on the surface of the pool wall, there is a risk of failing to overcome the obstacle when cleaning the surface of the protrusion and / or passing over the protrusion, resulting in the pool cleaning robot overturning. For example, as shown in FIG. 26A, the pool cleaning robot 300 travels along the pool bottom 8200 according to the travel route of the cleaning work, and climbs along the surface of the protrusion 8210 of the pool wall in the direction indicated by the arrow, so as to perform cleaning work on the surface of the protrusion 8210 and / or the surface of the pool wall 52; as shown in FIG. 26B, during the climbing process of the pool cleaning robot along the surface of the protrusion 8210 of the pool wall, since the pitch angle of the pool cleaning robot increases, the travel mechanism of the pool cleaning robot may lose contact with the surface of the protrusion 8210 of the pool wall, resulting in the adhesion of the travel mechanism of the pool cleaning robot to the surface of the protrusion 8210 as part of the pool wall disappearing, so that the pool cleaning robot overturns during the climbing process, for example, in the direction indicated by the dashed line in FIG. 26B; as shown in FIG. 26C, when the pool cleaning robot completely overturns, it is upside down on the pool bottom, i.e., the top of the pool cleaning robot 300 is in contact with the pool bottom 8200, while the travel mechanism at the bottom of the pool cleaning robot is suspended, so that the pool cleaning robot 300 cannot travel, resulting in failure to escape.

[0395] According to an embodiment of the present disclosure, a method for controlling a pool cleaning robot is provided, which can automatically control the pool cleaning robot to flip over when the pool cleaning robot overturns, without manual intervention, thereby realizing autonomous escape of the pool cleaning robot.

[0396] FIG. 27 shows a schematic flow of a method for controlling a pool cleaning robot according to an embodiment of the present disclosure. As shown in FIG. 27, the above method can include: S8310, controlling the pool cleaning robot to travel on a pool wall; S8320, determining whether at least a part of a traveling mechanism of the pool cleaning robot is separated from the pool wall during traveling; and S8330, if it is determined that at least a part of the traveling mechanism is separated from the pool wall, controlling the pool cleaning robot to flip over to make the at least a part re-contact the pool wall.

[0397] According to an embodiment of the present disclosure, the pool cleaning robot can be equipped with a sensor such as an IMU (Inertial Measurement Unit) to obtain a measurement value about the pose of the pool cleaning robot. For example, the IMU can include a (three-axis) gyroscope and a (three-axis) accelerometer, wherein the (three-axis) accelerometer can detect acceleration signals of the pool cleaning robot in X, Y and Z three-axis directions in three-dimensional space, and the (three-axis) gyroscope can detect angular velocity signals of the pool cleaning robot with respect to each axis of a reference coordinate system in three-dimensional space; based on the detected angular velocity and / or acceleration signals of the pool cleaning robot in three-dimensional space, information about the pose of the pool cleaning robot in three-dimensional space can be calculated, for example, pose information such as pitch angle and roll angle of the pool cleaning robot can be calculated.

[0398] In addition, according to an embodiment of the present disclosure, the pool cleaning robot can be equipped with a downward-looking sensor, such as a ranging sensor which can be arranged at the bottom of the pool cleaning robot to detect a ranging value of the pool cleaning robot in the bottom direction, i.e., to obtain a distance value of the bottom of the pool cleaning robot from a front object in the ranging direction. As an example, a ranging sensor such as an ultrasonic sensor, an infrared sensor, a TOF (Time of Flight) sensor, etc. can be used.

[0399] It should be understood that the number of ranging sensors equipped by the pool cleaning robot can be one or more, and the type and installation position thereof can be adjusted according to the actual working requirements of the pool cleaning robot, which is not limited herein.

[0400] According to embodiments of the present disclosure, whether at least a part of the traveling mechanism of the pool cleaning robot is detached from the pool wall during traveling can be determined based on at least one of the following: based on the pitch angle information of the pool cleaning robot, information of at least one ranging sensor at the bottom of the pool cleaning robot, or acceleration information of the pool cleaning robot.

[0401] For example, as mentioned above, during the traveling of the pool cleaning robot, the pool cleaning robot can obtain information about the pitch angle of the pool cleaning robot by solving the angular velocity and / or acceleration signals of the pool cleaning robot in three-dimensional space detected by the IMU.

[0402] As an example, as shown in FIG. 26A, when the pool cleaning robot 300 travels forward along the dashed arrow on the pool bottom 8200, if the plane where the pool bottom is located is, for example, horizontal, the pitch angle obtained by the IMU can be 0 degrees (depending on the setting of the IMU, the pitch angle obtained when traveling forward can also be 180 degrees).

[0403] As an example, when the pool cleaning robot 300 travels to the position of the protrusion 8210 of the pool wall, it will climb along the surface of the protrusion 8210, and the pitch angle obtained thereby gradually increases, for example, from 0 degrees; as the pitch angle increases, the front end of the traveling mechanism (for example, a tracked traveling mechanism) at the bottom of the pool cleaning robot 300 will gradually detach from the surface of the protrusion 8210, so that the adhesion of the traveling mechanism to the surface of the protrusion 8210 decreases, which can cause the pool cleaning robot 300 to overturn; when the bottom of the pool cleaning robot 300 is perpendicular to the plane where the pool bottom is located, the pitch angle obtained is, for example, 90 degrees; and when the pool cleaning robot 300 is completely overturned, that is, when its bottom is parallel to the plane where the pool bottom is located, the pitch angle obtained is, for example, 180 degrees.

[0404] Therefore, according to the change of the pitch angle of the pool cleaning robot 300, it can be determined whether at least a part of the traveling mechanism of the pool cleaning robot is detached from the pool wall during traveling, so as to determine whether the pool cleaning robot overturns. For example, as mentioned above, when the pool cleaning robot travels on the pool bottom surface which is a horizontal plane, the detected pitch angle is, for example, 0 degrees; and when the pool cleaning robot travels on the pool wall at a vertical angle to the plane where the pool bottom is located, the detected pitch angle is, for example, 90 degrees; if the detected pitch angle is greater than 90 degrees, it means that at least a part of the traveling mechanism of the pool cleaning robot is detached from the pool wall, which can cause the pool cleaning robot to overturn; and when the detected pitch angle is 180 degrees, it means that the traveling mechanism of the pool cleaning robot is completely detached from the pool wall, and the pool cleaning robot is completely overturned, with its bottom on the pool bottom.

[0405] Further, as an example, when the pool cleaning robot 300 is moving forward along the pool bottom 8200 as shown in FIG. 26A, if the plane where the pool bottom is located is, for example, horizontal, the detected value of the acceleration in the z-axis direction of the body coordinate system (for example, taking the direction perpendicular to the horizontal plane where the bottom of the pool cleaning robot 300 is located and towards the plane where the bottom is located as the positive direction of the z-axis) obtained, for example, by the IMU, can be the acceleration a1 generated in the z-axis direction by the resultant force of the gravity and the buoyancy acting on the pool cleaning robot, for example, 0 < a1 < 9.8 m / s 2 ; when the bottom of the pool cleaning robot 300 is perpendicular to the plane where the pool bottom is located, the detected value of the acceleration in the z-axis direction obtained, for example, by the IMU, can be 0 m / s 2 ; and when the pool cleaning robot is completely overturned and upside down on the pool bottom as shown in FIG. 26C, the detected value of the acceleration in the z-axis direction obtained, for example, by the IMU, can be the acceleration a2 generated in the z-axis direction by the resultant force of the gravity and the buoyancy acting on the pool cleaning robot, for example, a2 = -a1.

[0406] Thus, according to the acceleration information of the pool cleaning robot 300 in a predetermined direction (for example, the z-axis direction), it can be determined whether at least a part of the travel mechanism of the pool cleaning robot has come off the pool wall during travel, and thus whether the pool cleaning robot has been overturned. For example, as described above, when the pool cleaning robot is traveling on the pool bottom surface which is a horizontal plane, the detected value of the acceleration in the z-axis direction can be, for example, the acceleration generated in the z-axis direction by the resultant force of the gravity and the buoyancy acting on the pool cleaning robot, for example, a1; when the pool cleaning robot is traveling on the pool wall at a vertical angle to the plane where the pool bottom is located, the detected value of the acceleration in the z-axis direction can be, for example, 0 m / s 2 ; and if the detected value of the acceleration in the z-axis direction is, for example, less than 0 m / s 2 , it means that at least a part of the travel mechanism of the pool cleaning robot has come off the pool wall, and it is possible that the pool cleaning robot will be overturned. And when the detected value of the acceleration in the z-axis direction is, for example, -a1, it means that the travel mechanism of the pool cleaning robot has completely come off the pool wall, and the pool cleaning robot has been completely overturned, with its bottom upside down on the pool bottom.

[0407] It should be noted that although in the above examples, the component of the acceleration in the z-axis direction is taken as an example of the acceleration information detected in a predetermined direction to describe the principles of the present disclosure, for those skilled in the art, the component of the acceleration in the x or y axis direction can also be taken as the acceleration information detected in a predetermined direction without departing from the principles of the present disclosure.

[0408] Further, as an example, a downward-looking sensor, such as 8240 shown in FIGS. 26A-26C, equipped by the pool cleaning robot 300, can detect the distance value in the direction of the bottom of the pool cleaning robot. For example, when the pool cleaning robot 300 travels forward along the pool bottom 8200 as shown in FIG. 26A in the direction indicated by the dashed arrow, the distance value in the direction of the bottom of the pool cleaning robot detected by the downward-looking sensor is relatively small, for example, less than 5 cm; when the pool cleaning robot 300 travels onto a pool wall at an angle to the plane of the pool bottom, for example, the surface of a protrusion 8210 on the pool wall, or the surface of the pool wall 52, if the travel mechanism of the pool cleaning robot remains in contact with the pool wall surface, the distance value in the direction of the bottom of the pool cleaning robot detected by the downward-looking sensor is relatively small, for example, less than 10 cm; while when part of the travel mechanism of the pool cleaning robot is out of contact with the pool wall surface, the distance value in the direction of the bottom of the pool cleaning robot detected by the downward-looking sensor increases, for example, greater than 20 cm; while when the detected distance value in the direction of the bottom of the pool cleaning robot is large, or no distance value is detected, as shown in FIG. 26C, it means that the travel mechanism of the pool cleaning robot is completely out of contact with the pool wall, and the pool cleaning robot has completely overturned, with its bottom down on the pool bottom.

[0409] Thus, according to embodiments of the present disclosure, based on the change in the distance value of the distance sensor, for example, the change from small to large, or based on the comparison of the distance value with a predetermined threshold, it can be determined whether at least part of the travel mechanism of the pool cleaning robot is out of contact with the pool wall, and further determine whether the pool cleaning robot has overturned.

[0410] As an example, according to embodiments of the present disclosure, upon determining that at least part of the travel mechanism of the pool cleaning robot is out of contact with the pool wall, the pool cleaning robot is controlled to flip over to re-contact the pool wall with the at least part.

[0411] According to embodiments of the present disclosure, the pool cleaning robot can be equipped with at least one water spraying mechanism for controlling the pool cleaning robot to flip over. As an example, the water spraying mechanism can include components such as a water pump, an impeller, etc.

[0412] As shown in FIG. 25A, a drain 8140 is symmetrically arranged on the rear side of the housing 8110 of the pool cleaning robot 300A with respect to the longitudinal axis of the body of the pool cleaning robot, and a drain 8150 is symmetrically arranged on the top of the housing 8110 with respect to the longitudinal axis of the body of the pool cleaning robot; if necessary, a drain (not shown in FIG. 25A) can also be symmetrically arranged on the front side of the housing 8110 of the pool cleaning robot 300A.

[0413] As shown in FIG. 25B, the drain 8150 is disposed on the top of the housing 8110 of the pool cleaning robot 300B symmetrically about the longitudinal axis of the body of the pool cleaning robot; similar to the pool cleaning robot 300A shown in FIG. 25A, the pool cleaning robot 300B shown in FIG. 25B can also be provided with corresponding drains on the rear side, front side, etc. of the housing 8110 thereof.

[0414] It should be noted that the position, shape and / or number of the above-mentioned drains 8140-8150 provided on the housing 8110 of the pool cleaning robot 300A and / or 300B can be adjusted according to the actual operational requirements of the pool cleaning robot, which is not limited herein.

[0415] For example, as shown in FIGS. 25A-25B, when the water jet mechanism sprays water flow from the drain 8140 provided on the rear side of the housing 8110, the pool cleaning robot 300A / 300B can generate a forward thrust parallel to the longitudinal axis of the body of the pool cleaning robot, pushing the pool cleaning robot 300A / 300B to move forward; when the water jet mechanism sprays water flow from the drain provided on the front side of the housing 8110, the pool cleaning robot 300A / 300B can generate a backward thrust parallel to the longitudinal axis of the body of the pool cleaning robot, pushing the pool cleaning robot 300A / 300B to move backward; when the water jet mechanism sprays water flow from the drain 8150 provided on the top of the housing 8110, the pool cleaning robot 300A / 300B can generate a downward thrust perpendicular to the bottom plane of the body of the pool cleaning robot, thereby applying a pressure to the pool cleaning robot 300A / 300B towards its bottom; such pressure can serve as the power for the pool cleaning robot 300 to dive in water, or as the pressure applied to the pool cleaning robot 300A / 300B towards its bottom when moving on the pool wall, so as to improve the adhesion of the pool cleaning robot 300A / 300B to the pool wall and maintain the stability of the body of the pool cleaning robot in a vertical state.

[0416] As shown in FIGS. 25A-25B, the above-mentioned drains 8140-8150 can be mesh-shaped or grid-shaped as needed. As an example, a detachable grid plate, such as a detachable water outlet grid or a flow guide plate, can also be provided on any one of the drains 8140-8150.

[0417] In addition, according to embodiments of the present disclosure, in a case where it is determined that at least a part of the moving mechanism of the pool cleaning robot has detached from the pool wall, the pool cleaning robot can be controlled to flip over by the water jet mechanism to re-contact the pool wall by at least a part of the moving mechanism that has detached from the pool wall.

[0418] As an example, the water pool cleaning robot can be controlled to flip over by controlling the water flow rate or on / off of the water spraying mechanism.

[0419] For example, as shown in FIG. 28A, in a case where it is determined that at least a portion of the traveling mechanism of the water pool cleaning robot has disengaged from the pool wall, the water spraying mechanism can be controlled to increase the water flow rate (as shown by the solid arrow in FIG. 28A) along the drain 8150 provided on the top of the housing of the water pool cleaning robot as shown in FIGS. 25A-25B, for example, by increasing the operating power and / or rotational speed of the water pump corresponding to the drain to provide a greater water flow rate, thereby generating a greater thrust / overturning torque, to control the water pool cleaning robot to flip over in the direction of the dashed arrow in FIG. 28A, such that the portion of the traveling mechanism of the water pool cleaning robot that has disengaged from the pool wall surface re-contacts the pool wall; thereby, by controlling the water spraying mechanism to increase the water flow rate, the water pool cleaning robot can be controlled to flip over (e.g., front-to-back flip over) and prevent the water pool cleaning robot from overturning during travel.

[0420] As an example, during the process of controlling the water pool cleaning robot to flip over, at least one of the following can be detected in real time to determine whether the portion of the traveling mechanism of the water pool cleaning robot that has disengaged from the pool wall has re-contacted the pool wall: the pitch angle information of the water pool cleaning robot, the information of at least one ranging sensor on the bottom of the water pool cleaning robot, or the acceleration information of the water pool cleaning robot.

[0421] For example, as described above, when the detected pitch angle of the water pool cleaning robot gradually decreases, it means that the water pool cleaning robot is flipping over; as an example, in a case where the pool wall is perpendicular to the plane on which the pool bottom lies, when the pitch angle of the water pool cleaning robot decreases to not more than 90 degrees, it means that the traveling mechanism on the bottom of the water pool cleaning robot remains in contact with the pool wall, i.e., the portion of the traveling mechanism that has disengaged from the pool wall re-contacts the pool wall, such that the potential risk of the water pool cleaning robot overturning is eliminated. When the pool wall surface on which the water pool cleaning robot travels is perpendicular to the pool bottom, the detected pitch angle of the water pool cleaning robot can be 90 degrees when the traveling mechanism thereof is in abutment with the pool wall.

[0422] As another example, based on the change amount of the ranging value of the ranging sensor (e.g., the downward-looking sensor) of the water pool cleaning robot, for example, the process of the ranging value changing from large to small can be judged as the water pool cleaning robot being flipped over, and when the detected ranging value is not more than a predetermined threshold value, it can be determined that the portion of the traveling mechanism of the water pool cleaning robot that has disengaged from the pool wall has re-contacted the pool wall, thereby eliminating the potential risk of the water pool cleaning robot overturning.

[0423] As yet another example, based on the acceleration information of the pool cleaning robot in a predetermined direction (e.g., the z-axis direction), it can be determined whether the part of the travel mechanism of the pool cleaning robot that has been detached from the pool wall re-contacts the pool wall, thereby eliminating the potential risk of the pool cleaning robot capsizing. As an example, in the case where the pool wall is perpendicular to the plane where the pool bottom lies, when the acceleration information of the pool cleaning robot in the predetermined direction, e.g., the component of the acceleration in the z-axis direction generated by the resultant force of the gravity and the buoyancy acting on the pool cleaning robot, gradually increases from less than 0 m / s2to more than 0 m / s2, it is determined that the pool cleaning robot is inverting, and when the detected acceleration in the z-axis direction is zero, it can be determined that the part of the travel mechanism of the pool cleaning robot that has been detached from the pool wall has re-contacted the pool wall that is perpendicular to the plane where the pool bottom lies, thereby eliminating the potential risk of the pool cleaning robot capsizing. 2 As yet another example, based on the acceleration information of the pool cleaning robot in a predetermined direction (e.g., the z-axis direction), it can be determined whether the part of the travel mechanism of the pool cleaning robot that has been detached from the pool wall re-contacts the pool wall, thereby eliminating the potential risk of the pool cleaning robot capsizing. As an example, in the case where the pool wall is perpendicular to the plane where the pool bottom lies, when the acceleration information of the pool cleaning robot in the predetermined direction, e.g., the component of the acceleration in the z-axis direction generated by the resultant force of the gravity and the buoyancy acting on the pool cleaning robot, gradually increases from less than 0 m / s2to more than 0 m / s2, it is determined that the pool cleaning robot is inverting, and when the detected acceleration in the z-axis direction is zero, it can be determined that the part of the travel mechanism of the pool cleaning robot that has been detached from the pool wall has re-contacted the pool wall that is perpendicular to the plane where the pool bottom lies, thereby eliminating the potential risk of the pool cleaning robot capsizing.

[0424] As another example, if the pool cleaning robot has capsized, i.e., in the situation shown in FIG. 28B, the water spraying mechanism can be controlled to increase the water spraying flow rate through the drain port 8150 provided on the top of the housing of the pool cleaning robot shown in FIGS. 25A-25B (as shown by the solid arrows in FIGS. 28B-28C), e.g., by increasing the operating power and / or the rotational speed of the water pump corresponding to the drain port to provide a greater water spraying flow rate, thereby generating a greater thrust / roll torque, to control the pool cleaning robot to perform forward and backward inversion in the direction of the dashed arrows shown in FIGS. 28B-28C.

[0425] In this process, as described above, during the control of the pool cleaning robot to invert, at least one of the following can be detected in real time to determine whether the pool cleaning robot has inverted in place, i.e., whether the travel mechanism of the pool cleaning robot has re-contacted the pool bottom surface to escape from the pool wall, thereby being able to travel along the pool bottom surface: the pitch angle information of the pool cleaning robot, the roll angle information of the pool cleaning robot, the information of at least one ranging sensor on the bottom of the pool cleaning robot, or the acceleration information of the pool cleaning robot.

[0426] As an example, the information of the pitch angle of the pool cleaning robot can be used to determine whether the pool cleaning robot has inverted in place, e.g., when the pool cleaning robot performs forward and backward inversion, the detected pitch angle can change, e.g., from 180 degrees to -90 degrees, and when the forward and backward inversion is completed and the travel mechanism of the pool cleaning robot re-contacts the pool bottom surface and the bottom of the pool cleaning robot is parallel to the plane where the pool bottom lies, the detected pitch angle is 0 degrees. Thus, according to the change in the detected pitch angle, it can be determined whether the pool cleaning robot has escaped from the pool wall.

[0427] Similarly, whether the pool cleaning robot is flipped to the right position can also be determined based on the information of the ranging value detected by the downward looking sensor of the pool cleaning robot. For example, when the pool cleaning robot is in the situation shown in FIG. 28B, the ranging value can not be detected by the downward looking sensor at the bottom of the pool cleaning robot because the pool cleaning robot is upside down on the pool bottom and no object is detected in the downward looking direction; when the water flow of the water discharge port 8150 provided on the top of the housing of the pool cleaning robot shown in FIGS. 25A-25B is increased (as shown by the solid arrows in FIGS. 28B-28C) by, for example, increasing the operating power and / or the rotation speed of the water pump corresponding to the water discharge port to provide a greater water flow, thereby generating a greater thrust / turning torque, to control the pool cleaning robot to flip back and forth in the direction of the dashed arrows shown in FIGS. 28B-28C, the ranging value can be detected in the downward looking direction when the bottom of the pool cleaning robot approaches the pool bottom, and the ranging value gradually decreases as the pool cleaning robot is flipped, and the detected ranging value is, for example, less than 5 cm when the pool cleaning robot is flipped to the right position, i.e., the traveling mechanism of the pool cleaning robot is in contact with the pool bottom surface again and the bottom of the pool cleaning robot is parallel to the plane of the pool bottom. Thus, whether the pool cleaning robot is stuck can be determined according to the change of the detected ranging value.

[0428] Similarly, whether the pool cleaning robot is flipped to the right position can also be determined based on the information of the ranging value detected by the downward looking sensor of the pool cleaning robot. For example, when the pool cleaning robot is in the situation shown in FIG. 28B, the ranging value can not be detected by the downward looking sensor at the bottom of the pool cleaning robot because the pool cleaning robot is upside down on the pool bottom and no object is detected in the downward looking direction; when the water flow of the water discharge port 8150 provided on the top of the housing of the pool cleaning robot shown in FIGS. 25A-25B is increased (as shown by the solid arrows in FIGS. 28B-28C) by, for example, increasing the operating power and / or the rotation speed of the water pump corresponding to the water discharge port to provide a greater water flow, thereby generating a greater thrust / turning torque, to control the pool cleaning robot to flip back and forth in the direction of the dashed arrows shown in FIGS. 28B-28C, the ranging value can be detected in the downward looking direction when the bottom of the pool cleaning robot approaches the pool bottom, and the ranging value gradually decreases as the pool cleaning robot is flipped, and the detected ranging value is, for example, less than 5 cm when the pool cleaning robot is flipped to the right position, i.e., the traveling mechanism of the pool cleaning robot is in contact with the pool bottom surface again and the bottom of the pool cleaning robot is parallel to the plane of the pool bottom. Thus, whether the pool cleaning robot is stuck can be determined according to the change of the detected ranging value.

[0429] As an example, when it is determined that the pool cleaning robot has been disentangled, i.e., the pool cleaning robot has been flipped into place, the water spraying mechanism can be controlled to stop the pool cleaning robot from flipping. For example, the water spraying flow rate of the water spraying mechanism is reduced or the water spraying of the water spraying mechanism is stopped.

[0430] In the above example, when the pool cleaning robot is controlled to flip, the water spraying mechanism sprays water from two water outlets 8150 arranged on the top of the pool cleaning robot as shown in FIGS. 25A-25B, so that the front-to-back flipping of the pool cleaning robot can be achieved.

[0431] As another example, the left-to-right flipping of the pool cleaning robot can also be achieved by controlling the water spraying mechanism. For example, when the pool cleaning robot travels on the pool wall surface, when there are protrusions of different heights on the pool wall surface, the traveling mechanisms on the two sides of the bottom of the pool cleaning robot can be on planes of different heights, i.e., the body of the pool cleaning robot is tilted to the left or right side, and during the travel of the pool cleaning robot, the risk of tilting to the left / right side can occur. In this case, the IMU can be used to obtain the pose of the pool cleaning robot, and then obtain the roll angle of the pool cleaning robot. As an example, the risk of tilting to the left / right side of the pool cleaning robot can be determined based on the obtained roll angle of the pool cleaning robot. For example, when the pool cleaning robot is in a balanced state on the left and right sides, the roll angle is, for example, 0 degrees (or 180 degrees, depending on the setting of the positive direction of the y-axis of the body coordinate system) or a small angle (e.g., less than 15 degrees), in which case the traveling mechanisms of the pool cleaning robot can maintain adhesion to the pool wall. When the pool cleaning robot tilts to the left / right, the obtained roll angle increases, and when, for example, the value of the obtained roll angle is greater than a predetermined threshold, it can be determined that the risk of tilting to the left / right side of the pool cleaning robot increases, so that the water spraying mechanism can be adjusted so that the water spraying flow rates of the two water outlets 8150 arranged on the top of the shell of the pool cleaning robot as shown in FIGS. 25A-25B are different from each other. As an example, the water spraying mechanism can include two water pumps corresponding to the two water outlets 8150, respectively, and the power and / or rotational speed of the two water pumps can be controlled to be different, so that the water spraying flow rates of the two water outlets 8150 are different; or one water pump can be turned on and the other water pump can be turned off, i.e., a single-pump working mode is enabled, so that water is sprayed only from one water outlet. In this way, the thrusts provided by the two water outlets can be different from each other, so that the left-to-right flipping of the pool cleaning robot can be achieved, and the risk of tilting to the left / right side of the pool cleaning robot can be prevented.

[0432] As another example, if the pool cleaning robot has already capsized, i.e., in the situation shown in FIG. 28D, the water spraying mechanism can be caused to spray water at different flow rates through the two drain ports 8150 provided on the top of the housing of the pool cleaning robot shown in FIGS. 25A-25B. As an example, the water spraying mechanism can include two water pumps corresponding to the two drain ports 8150, respectively, and the power and / or rotational speed of the two water pumps can be controlled to be different, so that the water spraying flow rates of the two drain ports 8150 are different; or one of the water pumps can be turned on and the other water pump is turned off, i.e., a single-pump working mode is enabled, so that water is sprayed only from one of the drain ports. In this way, the thrust provided by the two drain ports can be caused to be different from each other, so that the pool cleaning robot is caused to roll over left and right.

[0433] During this process, as described above, the IMU can also be used to obtain the pose of the pool cleaning robot, and thus the roll angle of the pool cleaning robot, during the control of the pool cleaning robot to roll over left and right. As an example, the roll angle of the pool cleaning robot obtained can be used to determine whether the pool cleaning robot has rolled over in place. For example, it can be determined whether the travel mechanism of the pool cleaning robot has re-contacted the pool bottom surface to escape from the stuck state, so that it can travel along the pool bottom surface. For example, when the pool cleaning robot rolls over left and right from the fully capsized situation shown in FIG. 28B, the detected roll angle can change from 180 degrees (for example, when the pool cleaning robot is in the fully capsized state, the detected roll angle is 180 degrees) to 90 degrees (or -90 degrees, the values of the roll angles of the left and right roll-over are opposite), and when the roll-over left and right is completed and the travel mechanism of the pool cleaning robot re-contacts the pool bottom surface and the bottom of the pool cleaning robot is parallel to the plane of the pool bottom, the detected roll angle is 0 degrees. Thus, according to the change of the detected roll angle, it can be determined whether the pool cleaning robot has escaped from the stuck state.

[0434] According to embodiments of the present disclosure, in the above method of controlling the pool cleaning robot, the control of the pool cleaning robot to roll over includes at least one of the following: control of the pool cleaning robot to roll over front and back, control of the pool cleaning robot to roll over left and right.

[0435] For example, in the above method, the pool cleaning robot includes at least one water spraying mechanism for controlling the pool cleaning robot to roll over.

[0436] For example, in the above method, the pool cleaning robot is controlled to roll over by controlling the water flow rate or on / off of the water spraying mechanism.

[0437] According to an embodiment of the present disclosure, the method can further include, when it is determined that at least a part of the traveling mechanism of the pool cleaning robot recontacts the pool wall, stopping the pool cleaning robot from turning over by controlling the water spraying mechanism.

[0438] According to another aspect of the present disclosure, a pool cleaning robot is also provided. The pool cleaning robot can include a memory storing processor-executable instructions; and at least one processor, when executing the processor-executable instructions stored in the memory, causing the pool cleaning robot to implement the method described above.

[0439] According to the above embodiments of the present disclosure, by acquiring at least one of the pitch angle information, the ranging value information in the bottom direction, and the acceleration information of the pool cleaning robot during traveling, it can be determined in advance whether the pool cleaning robot is at risk of overturning, and in the case where the pool cleaning robot is at risk of overturning, the risk of overturning can be eliminated by controlling the pool cleaning robot to turn over by the water spraying mechanism.

[0440] In addition, according to the above embodiments of the present disclosure, the above control of the action of the pool cleaning robot to recontact the pool wall can ensure that at least a part of the pool cleaning robot recontacts the position where it was when it was separated from the pool wall or the vicinity of the position as much as possible; on the contrary, if the action of determining whether the separation occurs is delayed, the preset threshold is set too large, or the separation action is too fast to control the pool cleaning robot to turn over by the water spraying mechanism, the pool cleaning robot will fall, causing the pool cleaning robot to slide to a far position, increasing the difficulty of returning to the original position by turning over.

[0441] In addition, according to the embodiments of the present disclosure, in the case where the pool cleaning robot is unable to escape after overturning, the pool cleaning robot can be controlled to turn over forward and backward and / or left and right by the water spraying mechanism to achieve autonomous escape without manual intervention, improving the user experience.

[0442] Thus, several aspects of the present disclosure are presented with reference to various apparatus and methods. These apparatus and methods are illustrated by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as “elements”). These elements can be implemented with electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends on the particular application and design constraints imposed on the overall system.

[0443] For example, a component, any part of a component, or any combination of components can be implemented as a "processing system" including one or more processors. One or more processors in the processing system can execute software. Software should be interpreted broadly as meaning instructions, instruction sets, code, code segments, program code, programs, subroutines, software components, applications, software applications, software packages, routines, subroutines, objects, executable programs, threads of execution, procedures, functions, etc., regardless of whether it is called software, firmware, middleware, microcode, hardware description languages, or something else.

[0444] Therefore, in one or more example embodiments, the described functionality can be implemented in hardware, software, or any combination thereof. If implemented in software, these functions can be stored or encoded as one or more instructions or code on a computer-readable medium. A computer-readable medium includes a computer storage medium. The storage medium can be any available medium accessible to a computer. By way of example and not limitation, such a computer-readable medium can include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of computer-readable media of the types described above, or any other medium that can be used to store computer-executable code in the form of computer-accessible instructions or data structures.

[0445] It should be understood that the specific order or hierarchy of blocks in the disclosed process / flowchart is illustrative of the exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of blocks in the process / flowchart can be rearranged. Furthermore, some blocks can be combined or omitted. The appended method claims present elements of various blocks in a sample order and are not intended to limit one to the specific order or hierarchy presented.

[0446] Currently, in the field of edge contour information acquisition, ultrasonic sensors are often relied upon in many situations. These sensors capture and analyze the physical characteristics of the target site by emitting ultrasonic waves and receiving their reflected signals, thereby forming corresponding edge contour information. In the case of irregularly shaped pool environments, edge contour information needs to be obtained in conjunction with IMU data from the machine. However, due to the inherent nature of IMUs, their data contains errors such as bias and noise, making it impossible to accurately obtain the edge contour information of the pool.

[0447] Therefore, this disclosure provides a method for acquiring edge contour information of a pool, which can accurately obtain the edge contour information of the pool by combining angle data obtained from image data with edge data in the case of irregularly shaped pools. First, the application scenarios according to the embodiments of this disclosure are summarized with reference to FIG29. As shown in FIG29:

[0448] In the present disclosure, the pool can be of any shape, whether regular geometric shapes, or irregular shapes with radii as shown in FIG. 29, are within the scope covered by the present disclosure. The pool can contain at least one of irregular shapes, obstacles, slopes, arc-shaped structures, etc. The specific form and structure of the pool are not limited herein.

[0449] Specifically, the present disclosure provides a pool edge contour information acquisition system. Please refer to FIG. 30, which is a schematic diagram of a pool automatic cleaning device provided by an embodiment of the present disclosure, which is equipped with a pool edge contour information acquisition system. The pool edge contour information acquisition system 9200 equipped by the pool automatic cleaning device includes an image acquisition unit 9201, a sensor unit 9202, an angle detection unit 9203, and a main control unit 9204.

[0450] The image acquisition unit 9201 is configured to acquire image data of the pool in which the pool automatic cleaning device is located during the movement of the pool automatic cleaning device.

[0451] The sensor unit 9202 is configured to acquire edge data of the pool during the movement of the pool automatic cleaning device.

[0452] The angle detection unit 9203 is configured to detect the turning angle of the pool automatic cleaning device during the movement.

[0453] The main control unit 9204 is configured to obtain the contour information of the edge of the pool based on the image data and the edge data when the turning angle satisfies a first predetermined condition.

[0454] In the present disclosure, the pool automatic cleaning device can be understood as a system or device with moving ability, which can move autonomously in the pool and perform tasks such as pool cleaning and water quality detection. The present application does not have special limitations on the specific technology and specific device form adopted by the pool automatic cleaning device.

[0455] In the present disclosure, the pool edge contour acquisition system equipped by the pool automatic cleaning device includes an image acquisition unit. The image acquisition unit can be at least one of a camera (monocular or binocular), an image acquisition device, etc. The present disclosure does not have specific limitations on the number of image acquisition units, which can be one in FIG. 30 as an example. The specific deployment position of the image acquisition unit in the pool automatic cleaning device is not limited herein. The image acquisition unit of the present disclosure can be responsible for acquiring image data during the movement of the pool automatic cleaning device.

[0456] In the present disclosure, the pool edge profile acquisition system carried by the pool automatic cleaning device further comprises a sensor unit. The sensor unit can include but is not limited to at least one of the following: ultrasonic sensor, infrared sensor, laser sensor, contact sensor, etc. The present disclosure does not have specific limitations on the specific technology and specific device form of the sensor, and this is not an exhaustive list. The present disclosure does not have specific limitations on the number of sensor units, which can be two as shown in FIG. 30. The sensor unit can be responsible for collecting edge data during the movement of the pool automatic cleaning device.

[0457] In the present disclosure, the pool edge profile acquisition system carried by the pool automatic cleaning device further comprises an angle detection unit. The angle detection unit can be understood as a unit specially used for detecting the turning angle of the pool automatic cleaning device. The angle detection unit of the present disclosure includes but is not limited to at least one of the following: inertial measurement unit (IMU), gyroscope, accelerometer, magnetometer, angle sensor. It should be noted that one or more of the above angle detection units can be used alone or in combination, and can be flexibly selected according to actual needs, which is not limited here. It should be noted that the angle detection unit of the present disclosure can exist independently (such as the angle detection unit in FIG. 30 existing independently), or can be integrated in other components.

[0458] In the present disclosure, the pool edge profile acquisition system carried by the pool automatic cleaning device further comprises a main control unit. The main control unit can be understood as one of the core components in the pool edge profile acquisition system, responsible for processing and coordinating various functions in the system. The main function of the main control unit is to determine whether the turning angle meets the first predetermined condition, and when the turning angle meets the first predetermined condition, to combine the image data and the edge data to obtain accurate pool edge profile information. The first predetermined condition can be set according to the actual application scenario, and the first predetermined condition of the present disclosure can be that the turning angle of the pool automatic cleaning device is greater than or equal to a first threshold value. The first threshold value (such as 10 degrees, 30 degrees, etc., not exhaustive) can be determined by customizing the device settings or actual parameter requirements, which is not limited here.

[0459] In this way, the main control unit can detect the turning angle in scenarios that may have angle errors, such as special environments such as irregular-shaped pools. Once it is found that the turning angle meets the first predetermined condition, it means that there may be a problem of inaccurate angle data at this time, and at this time, accurate image data and edge data can be combined to obtain accurate pool edge profile information.

[0460] In summary, the technical solution provided by the present disclosure can obtain the contour information of the pool edge by combining the angle data obtained from the image data with the edge data during the mapping process of the special-shaped pool.

[0461] As described above, the various units of the pool edge contour information acquisition system carried by the pool automatic cleaning device are described. The following will specifically explain how the main control unit accurately obtains the pool edge contour information.

[0462] Before explaining how to accurately obtain the pool edge contour information, the meanings of image data and edge data will be explained.

[0463] In the present disclosure, the image data can be understood as including pool boundary information, which includes but is not limited to at least one of the following: boundary angle information, boundary distance information, and boundary height information. In the present disclosure, a pre-trained deep learning model can be used to process the image data to obtain the pool boundary information of the present disclosure. The boundary angle information in the pool boundary information is directly related to the accuracy of the built map.

[0464] In the present disclosure, the edge data can be understood as describing the distance information between the pool automatic cleaning device and different boundaries in the pool. Specifically, the edge data of the present disclosure includes but is not limited to at least one of the following: distance information collected by an ultrasonic sensor, point cloud data collected by a laser radar, and distance information collected by a direct time-of-flight (Dtof) sensor. These edge data can accurately determine the distance information of the pool boundary relative to the pool automatic cleaning device, providing a solid foundation for determining the pool edge contour information.

[0465] The following will specifically explain how the main control unit uses the image data, edge data, and steering angle to obtain accurate pool edge contour information.

[0466] In an embodiment of the present disclosure, the main control unit can directly combine the boundary angle information of the image data with the edge data to obtain accurate contour information of the pool edge. In other words, the boundary angle information provided by the image data is directly used to process the edge data, such as fusion mapping, to obtain the contour information of the pool edge. In this case, the angle information detected by the angle detector is not directly used to participate in the acquisition of the contour information, which can reduce the dependence on the angle detection unit. Directly using accurate image data and edge data can simplify the complexity of the system. At the same time, for special-shaped pools with unclear angles, the accuracy of the edge contour information is improved.

[0467] In another embodiment of the present disclosure, the main control unit can also correct the steering angle detected by the angle detection unit using the boundary angle information of the image data; and obtain the edge profile information of the pool edge based on the corrected steering angle and the edge data. In short, after obtaining the boundary angle information, the main control unit can further correct the steering angle. And based on the corrected steering angle and the edge data, the edge profile information is obtained. In this way, the existing mechanism of obtaining the edge profile information using the steering angle and the edge data is not changed, but the correction of the steering angle using the boundary angle information of the image data is added. By combining the corrected steering angle and the edge data, accurate pool edge profile information is obtained. In this way, the image data is fully utilized to correct the steering angle, which can more accurately reflect the actual angle change of the pool edge. Compared with the method of relying only on the steering angle and the edge data, after adding the correction of the image data, the influence of at least one factor such as sensor accuracy, environmental interference, etc. is significantly reduced, and the accuracy of obtaining the edge profile information is improved.

[0468] In summary, the main control unit can select any one of the above two methods to obtain accurate pool edge profile information.

[0469] The present disclosure also specifically provides a method for the main control unit to correct the steering angle using the edge angle information of the image data, as follows:

[0470] In one embodiment of the present disclosure, the main control unit can correct the steering angle using the angle information. In other words, the steering angle (i.e. the data collected by the angle detection unit used in this scheme) can be directly corrected using the edge angle information. The steering angle of the robot can be corrected to be closer to the angle of the real scene (such as a special-shaped pool), thereby improving the accuracy of the final pool edge profile information.

[0471] In another embodiment of the present disclosure, the main control unit can correct the angle detection unit using the angle information. In other words, the angle detection unit can be corrected using the edge angle data of the image data, so that the steering angle detected by the angle detection unit is more accurate, and the angle detection unit can maintain high precision and stability during subsequent use (such as being able to recognize the angle of a special-shaped pool).

[0472] Both methods can improve the positioning accuracy and direction accuracy of the pool automatic cleaning device during movement. One or both methods can be selected to correct the steering angle according to the needs of specific application scenarios.

[0473] The following, specifically set forth how the main control unit utilizes the edge angle information of the image data to correct the steering angle or angle detection unit, at this time, the further correction method can have many. The present disclosure exemplary provides the following feasible implementation, specifically including:

[0474] obtaining the difference between the angle information and the steering angle;

[0475] obtaining the quotient between the difference and the number of sampling points, obtaining the deviation value between the angle information and the steering angle;

[0476] correcting the steering angle or angle detection unit using the deviation value.

[0477] Specifically, the main control unit can obtain the difference between the angle information and the steering angle, and then determine the quotient between the difference and the number of sampling points to obtain the deviation value. This deviation value can reflect the degree of deviation between the angle information and the steering angle. According to the deviation value, the steering angle is adjusted to make the steering angle closer to the angle information. Alternatively, the parameters or calibration values of the angle detection unit are adjusted according to the deviation value to improve the accuracy of angle detection.

[0478] In this way, according to the above method, the steering angle or the angle detection unit can be completely corrected using the angle information.

[0479] When the turning is completed, the main control unit can also accurately determine the edge profile information of the pool. At this time, the method of determining the edge profile information of the pool can also include: based on the angle detection unit and the sensor unit, obtaining the profile information of the pool edge after the pool automatic cleaning device completes the turning.

[0480] Specifically, it can be detected whether the pool automatic cleaning device has completed the turning action. After the turning is completed, the main control unit can directly obtain the latest pool edge profile information based on the steering angle determined by the angle detection unit and the edge data collected by the sensor unit. In other words, the data detected by the angle detection unit and the edge data are directly processed (for example, fused mapping) to obtain the profile information of the pool edge. In this way, the edge profile information can be updated in time after the turning is completed, which can save resources and achieve more convenience.

[0481] The following, specifically explains the working mode and working direction of the image acquisition unit and the sensor unit in the actual application process.

[0482] The working mode of the image acquisition unit of the present disclosure can be continuous working, or selective working (i.e. turned on when needed, turned off or hibernated when stable, etc.).

[0483] In an embodiment of the present disclosure, the image acquisition unit can work continuously. For example, the camera of the pool cleaning device is always on in the pool to acquire image data. In this way, continuous work can avoid start-up delay, so that the robot can respond to environmental changes more quickly. At the same time, in the main control unit, there is no need to write complex logic to determine when to turn on or turn off the image acquisition unit, which simplifies the design and implementation of the control system. Moreover, in this implementation, the image acquisition unit can also be used for the implementation of other functions. For example, in the scenario where the image acquisition unit continuously acquires images and is used to detect the environment in the pool, the data acquired by the image acquisition unit at this time can be reused to acquire the contour information of the pool edge.

[0484] In another embodiment of the present disclosure, the image acquisition unit can also be selectively turned on or turned off based on the control of the main control unit. For example, when the pool cleaning device detects that the angle meets the requirements, the image acquisition unit is turned on. For another example, when the pool cleaning device detects that the turning is completed, the image acquisition unit is controlled to be turned off or put into a dormant state. In this way, when image data is not needed to be acquired, the image acquisition unit is turned off or put into a dormant state, which can save energy, reduce data processing burden, and improve processing efficiency.

[0485] The preferred implementation of the acquisition direction of the image acquisition unit of the present disclosure is that the image acquisition direction of the image acquisition unit (i.e., the angle of view of the lens) is consistent with the movement direction of the front of the pool cleaning device. In this way, when the pool cleaning device moves in the pool, the image acquisition unit can easily capture the environmental image in front of the movement track of the pool cleaning device in real time, which provides basic data for subsequent image analysis. At the same time, the deployment position of the image acquisition unit on the pool cleaning device is not specifically limited and can be flexibly adjusted.

[0486] The preferred implementation of the acquisition direction of the sensor unit of the present disclosure is that in the actual application process, the sensor unit deployed on the pool cleaning device includes at least two sensors. Each sensor can have a different sensing direction. The direction of the first sensor can be consistent with the movement direction of the forward movement of the pool cleaning device. It can measure the distance between the pool cleaning device and the front boundary in real time. The direction of the second sensor can be the boundary that the pool cleaning device is currently closer to. The specific deployment position of the sensor unit in the pool cleaning device is not limited herein. In this way, by deploying multiple sensors with complementary sensing directions, the pool cleaning device can perceive the surrounding environment in all directions, which can reduce errors and make the pool cleaning device more accurately locate its position and direction, thereby providing rich basic data for subsequent acquisition of the contour information of the pool boundary.

[0487] The present disclosure also provides a pool edge contour information acquisition method, which comprises:

[0488] The contour information of the pool edge is obtained based on the image data collected by the pool automatic cleaning device and the edge data of the pool in the special-shaped pool area.

[0489] In an exemplary embodiment, the image acquisition unit is controlled to collect image data of a pool in which the pool automatic cleaning device is located; the sensor unit is controlled to collect edge data of the pool in which the pool automatic cleaning device is located; the angle detection unit is controlled to detect the turning angle of the pool automatic cleaning device; and when the turning angle meets a first predetermined condition, the contour information of the pool edge is obtained based on the image data and the edge data.

[0490] In an exemplary embodiment, the contour information of the pool edge is obtained based on the image data and the edge data, including: correcting the turning angle using the boundary angle information; and obtaining the contour information of the pool edge based on the corrected turning angle and the edge data.

[0491] In an exemplary embodiment, the contour information of the pool edge is obtained based on the image data and the edge data, including: correcting the turning angle using the boundary angle information; and obtaining the contour information of the pool edge based on the corrected turning angle and the edge data.

[0492] In an exemplary embodiment, the boundary information is obtained by processing the image data using a pre-trained deep learning model.

[0493] In an exemplary embodiment, when the rotation angle of the pool automatic cleaning device meets the first predetermined condition, the angle data is corrected using the angle information; or the angle detection unit is corrected using the angle information.

[0494] In an exemplary embodiment, the first predetermined condition includes that the rotation angle of the pool automatic cleaning device is greater than or equal to a first threshold value of the threshold value.

[0495] In an exemplary embodiment, after the pool automatic cleaning device completes the turning, the contour information of the pool edge is obtained based on the angle detection unit and the sensor unit.

[0496] In an exemplary embodiment, the edge data of the pool includes at least one of the following: distance information collected by an ultrasonic sensor, point cloud data collected by a laser radar, and distance information collected by a direct time of flight (Dtof) sensor.

[0497] In an exemplary embodiment, the image acquisition unit is continuously working; or the main control unit is further configured to: when the turning angle meets the first predetermined condition, start the image acquisition unit; and when the pool automatic cleaning device completes the turning, control the image acquisition unit to be turned off or hibernate.

[0498] In an example embodiment, the angle detection unit comprises at least one of: an inertial measurement unit (IMU), a gyroscope, an accelerometer, a magnetometer, an angle sensor.

[0499] The present disclosure also provides a pool automatic cleaning device, which can be equipped with the pool edge contour information acquisition system as described above. The specific pool edge contour information acquisition system can refer to the above, and will not be described here.

[0500] For example, FIG. 31 is a schematic diagram of data acquisition of the pool automatic cleaning device provided by the embodiment of the present disclosure. As shown in FIG. 31:

[0501] The pool automatic cleaning device is equipped with a camera (i.e., the image acquisition unit of the present disclosure), a sensor (i.e., the sensor unit of the present disclosure), an IMU detection unit (i.e., the angle detection unit of the present disclosure), and a processor (i.e., the main control unit of the present disclosure).

[0502] When the pool automatic cleaning device moves in a special-shaped pool, the IMU detects whether the machine rotates (i.e., encounters a corner of a special-shaped pool edge). When the rotation angle is greater than a certain value (such as 10 degrees, 30 degrees, etc., not exhaustive), the angle information in the image data can be directly combined with the ultrasonic data to obtain the pool edge contour information, thereby achieving compensation of the camera data to the ultrasonic data. Of course, the angle information in the image data can also be used to correct the data detected by the IMU to obtain corrected angle information combined with the ultrasonic data to obtain the pool edge contour information. At the same time, the latest and accurate pool edge contour information can also be provided for subsequent turning completion. When the turning is completed, the IMU detected data and the ultrasonic data can be combined to determine the pool edge contour information. In this way, for any special-shaped pool, the pool automatic cleaning device can accurately obtain the pool edge contour information.

[0503] The present disclosure provides a pool edge contour information acquisition system, method and pool automatic cleaning device. The pool edge contour information acquisition system comprises an image acquisition unit, a sensor unit, an angle detection unit and a main control unit. The image acquisition unit is mainly used to acquire image data of a pool where the pool automatic cleaning device is located during the movement of the pool automatic cleaning device. The sensor unit is mainly used to acquire edge data of the pool during the movement of the pool automatic cleaning device. The angle detection unit is mainly used to detect the turning angle of the pool automatic cleaning device during the movement. The main control unit is mainly used to acquire the contour information of the pool edge based on the image data and the edge data when the turning angle meets the first predetermined condition. In summary, the present disclosure acquires the image data, sensor data and edge data of the pool automatic cleaning device during the movement of the pool automatic cleaning device in the target site. Once the turning angle of the pool automatic cleaning device meets the preset condition, the contour information of the pool edge can be accurately obtained by using the image data and the edge data. In summary, the present disclosure acquires the image data and the edge data of the pool automatic cleaning device during the movement. Once the turning angle of the pool automatic cleaning device meets the preset condition, the contour information of the pool edge can be accurately obtained by using the image data and the edge data. In this way, the technical solution provided by the present disclosure can obtain the angle data by using the image data during the mapping of the special-shaped pool, and accurately obtain the contour information of the pool edge in combination with the edge data.

[0504] Those skilled in the art can appreciate that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented in electronic hardware or a combination of computer software and electronic hardware. Whether the functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present disclosure.

[0505] The present application provides a pool automatic cleaning device, which comprises a shell, a handle arranged at the front of the shell, and a rear drainage port arranged at the rear of the shell. The distance between the projections of the handle and the rear drainage port on the side surface of the pool automatic cleaning device is greater than or equal to a first predetermined distance. When an external force acts on the handle to lift the pool automatic cleaning device upward, the relative position relationship between the handle and the rear drainage port is arranged, so that the water accumulated in the machine can be conveniently and smoothly drained, the effect of accelerating drainage is realized, the pool cleaning efficiency is improved, and the user experience is improved.

[0506] The pool automatic cleaning device of the present application will be described in detail below with reference to the accompanying drawings.

[0507] As shown in FIG. 32, the present application provides a pool automatic cleaning device 300. Specifically, the pool automatic cleaning device 300 comprises a shell 8110, a handle 120, and a rear drainage port 130.

[0508] The pool automatic cleaning device 300 may, for example, be a robot for moving cleaning in a pool-shaped building, which may, for example, be a pool, a water storage pool, a water storage tank, a water storage tank, etc. In the following, the pool-shaped building is described by taking the pool as an example, and the pool automatic cleaning device is described by taking the robot as an example, unless otherwise specifically described.

[0509] The shell 8110 may, for example, be the shell of the robot, which can play the roles of support, stability, protection, isolation, aesthetics, etc. The robot can travel in the direction of the arrow shown in FIG. 32, and accordingly, the end of the robot corresponding to the direction of travel is the front of the shell, and the end corresponding to the opposite direction of travel is the rear of the shell.

[0510] For example, the shell 8110 can be made of one or more of plastic, high-molecular organic material, metal, so that the shell has excellent compression resistance, bending resistance and torsion resistance, provides support for the mechanical structure, circuit board and precision components inside the device, withstands water pressure from all directions, and ensures that the internal components can operate stably under various working conditions. Spraying, electroplating and other technologies can be used, and the edges can be rounded to make the surface of the shell 8110 shiny, beautiful and durable.

[0511] As shown in FIG. 32, the handle 120 is arranged at the front of the shell, for the user to hold or move the robot 300 when holding or holding the robot 300.

[0512] For example, the handle 120 can be made of lightweight materials and connected to the shell 8110 by more ways such as riveting, welding, bolt connection, etc. For example, the cross section of the handle is in the shape of a cylinder, a strip, etc. for the user to hold. The above description of the handle is exemplary and is not intended to limit the scope of the handle. Those skilled in the art can select the handle as long as it can realize the technical principles of the present application. The position and structure of the handle 120 will be described in detail below in conjunction with specific embodiments.

[0513] As shown in FIG. 32, the rear drainage port 130 is arranged at the rear of the shell, and when the robot 300 is taken out of the water surface, the rear drainage port 130 can timely drain the water in the robot 300.

[0514] For example, the rear drainage port 130 is composed of a plurality of grid openings of the same size arranged with a gap, the size of the gap is related to the drainage efficiency, and the size of the gap can be selected and set on the basis of ensuring stability. The drainage port is connected with the internal pipeline and other components of the machine to cooperate with drainage. The above description of the drainage port is exemplary and is not intended to limit the scope of the drainage port. Those skilled in the art can select the drainage port as long as the technical principles of the present application can be realized. The position of the rear drainage port 130 will be described in detail below in combination with specific embodiments.

[0515] As shown in FIGS. 32 and 33, the distance between the projections of the handle 120 and the rear drainage port 130 on the side of the robot 300 is a projection distance, and the projection distance is greater than or equal to a first predetermined distance, which will be described below in combination with specific embodiments and drawings.

[0516] It should be understood that in the drawings, in order to facilitate the illustrative showing of the design principles of the present application, the projection of the handle 120 on the side of the robot 300 is drawn as a line segment, and the projection of the rear drainage port 130 on the side of the robot 300 is drawn as a curve. However, the projection of the handle 120 on the side of the robot 300 is not limited to a line segment, and the projection varies with the shape and structure of the handle 120. Similarly, the projection of the rear drainage port 130 on the side of the robot 300 is not limited to a curve, and the projection varies with the shape and structure of the rear drainage port 130.

[0517] For example, as shown in FIG. 33, the distance between the projections of the handle 120 and the rear drain 130 on the side of the robot, i.e. the projection distance, can be the average of the distances between the two end points of the projection of the handle 120 and the two end points of the projection of the rear drain 130, or the distance between the midpoints of the projections of the handle 120 and the rear drain 130. The projection distance is greater than or equal to the first predetermined distance, so as to increase the distance between the handle and the drain. Since the rear drain 130 is arranged at the rear of the housing 8110, when the user lifts the robot 300, the handle 120 usually rotates about the rear of the housing 8110 (approximately corresponding to the position of the rear drain 130). Accordingly, according to the moment formula, the greater the projection distance between the handle 120 and the rear drain 130, the greater the force arm between the handle 120 and the rear drain 130, so that when the user needs to lift the robot for drainage, the user only needs to exert a smaller force on the handle to make the robot rotate about the rear of the housing 8110, so as to be adjusted from a horizontal posture to a near-vertical posture, achieving the effect of accelerating drainage. The above description of calculating the projection distance is exemplary and is not intended to limit the calculation method. Those skilled in the art can select the calculation method as long as the technical principles of the present application can be achieved. In practice, the more lines between the projections, the closer the calculated projection distance to the true value.

[0518] To illustrate the first predetermined distance, the concept of sampling points is introduced here. The sampling points are points distributed on predetermined positions on the surface of the housing 8110.

[0519] For example, two sampling points are prearranged, one at the front of the housing 8110 and the other at the rear of the housing 8110. The first predetermined distance is the distance between the projection points of the two sampling points on the side of the robot, or the projection length of the line connecting the two sampling points on the side of the robot 300.

[0520] For example, the number of sampling points can be greater than 2 (e.g. greater than an even number of 2), which can be divided into two groups, the sampling points at the front of the housing 8110 as the first group and the sampling points at the rear of the housing 8110 as the second group. The first predetermined distance is equal to the arithmetic mean, variance or median of the projection length of the lines connecting the sampling points in the two groups in a predetermined manner on the side of the automatic pool cleaning device, or equal to the distance between the projection points of the sampling points in the two groups on the side of the robot in a predetermined manner.

[0521] For example, as shown in FIG. 32 and FIG. 34, the sampling points are divided into two groups, and the predetermined number is 3, so there are six sampling points in total. The front part of the shell 8110 is distributed with the shell front sampling points 210, 220, 230, and the rear part of the shell is distributed with the shell rear sampling points 240, 250, 260.

[0522] The predetermined manner of connection can be a "one-to-many" connection between the front and rear two groups of sampling points. For example, the first predetermined distance is equal to the arithmetic mean of the projection lengths of the following nine connection lines on the side of the robot: (210, 240), (210, 250), (210, 260), (220, 240), (220, 250), (220, 260), (230, 240), (230, 250), (230, 260). Measure the distance L1 between the front sampling point 210 and the rear sampling point 240, measure the distance L2 between the front sampling point 210 and the rear sampling point 250, and measure the distance L3 between the front sampling point 210 and the rear sampling point 260; measure the distance L4 between the front sampling point 220 and the rear sampling point 240, measure the distance L5 between the front sampling point 220 and the rear sampling point 250, and measure the distance L6 between the front sampling point 220 and the rear sampling point 260; measure the distance L7 between the front sampling point 230 and the rear sampling point 240, measure the distance L8 between the front sampling point 230 and the rear sampling point 250, and measure the distance L9 between the front sampling point 230 and the rear sampling point 260; calculate the arithmetic mean of the above sampling distances L1, L2, L3, L4, L5, L6, L7, L8, L9, and the obtained value is the first predetermined distance.

[0523] The predetermined manner of connection can be a "one-to-one" connection between the front and rear two groups of sampling points. For example, the first predetermined distance is equal to the arithmetic mean of the projection lengths of the following three connection lines on the side of the robot: (210, 260), (220, 250), (230, 240). Specifically, measure the distance S1 between the front sampling point 210 and the rear sampling point 260, measure the distance S2 between the front sampling point 220 and the rear sampling point 250, and measure the distance S3 between the front sampling point 230 and the rear sampling point 240; calculate the arithmetic mean of the above sampling distances S1, S2, S3, and the obtained value is the first predetermined distance.

[0524] The above description of the average of the sampling distances is exemplary, and those skilled in the art can set the sampling points according to the specific parameters (such as shape, size, weight distribution, etc.) of the robot, as long as the technical principles of the present application can be realized.

[0525] It can be understood that the more the number of sampling points and the more extensive the sampling point distribution position, the better the drainage efficiency of the robot 300 when being lifted by the user when the first predetermined distance calculated in this way is greater than or equal to the first predetermined distance between the handle 120 and the rear drainage port 130.

[0526] As shown in FIG. 32 and FIG. 35, when an external force acts on the handle to lift the robot 300 upward, a straight line connected between the projections (or the center points of the projections) of the handle 120 and the rear drainage port 130 on the side surface of the pool automatic cleaning device forms an angle a with the horizontal plane. For example, the angle a is greater than 80 degrees and less than or equal to 90 degrees.

[0527] For example, the straight line connected between the center points of the projections of the handle 120 and the rear drainage port 130 on the side surface of the robot 300 is perpendicular to the horizontal line, that is, the angle between the straight line and the horizontal plane is 90 degrees. At this time, the relative position between the handle and the drainage port is just perpendicular or substantially perpendicular to the horizontal plane, and at this time, the water flow can be discharged downward through the drainage port with a relatively short path and a relatively fast speed. Considering the variability and uncertainty in actual operation, it is usually not possible to guarantee the occurrence of this ideal situation, and within the angle interval of 80 degrees to 90 degrees, the drainage efficiency and operation convenience can be considered.

[0528] As shown in FIG. 36A, when an external force (the direction shown by the arrow in FIG. 36A) acts on the handle to lift the pool automatic cleaning device 300 upward, the center of gravity of the handle 120, the rear drainage port 130, and the robot 300 form projections on the side surface of the robot, respectively. Due to the complexity of the internal structure layout of the robot 300, the diversity of the properties of the materials used, and the variation of the amount of water remaining in the robot 300, the position of the center of gravity of the robot 300 can change during the process of the robot 300 being lifted out of the water and draining through the rear drainage port 130, so the center of gravity may be offset in actual application. As shown in FIG. 36A and FIG. 36B, this offset can be that the center of gravity of the robot 300 is offset toward the bottom surface 111 of the robot 300, for example, the center of gravity position (center of gravity G1) shown in FIG. 36B is closer to the bottom surface 111 of the robot 300 than the center of gravity position (center of gravity G) shown in FIG. 36A.

[0529] For example, the projections of the handle 120, the rear drain 130, and the center of gravity of the robot 8110 on the side of the robot are located on the same straight line. As shown in FIG. 36A, on the side of the robot 300, the center point of the projection of the handle 120 on the side of the robot 300, the center point of the projection of the rear drain 130 on the side of the robot 300, and the center of gravity G of the robot 300 are located on the same straight line. At this time, the relative position relationship between the handle and the drain is just perpendicular to the horizontal plane, and at this time, the water flow can be discharged through the drain with a relatively short path and a relatively fast speed.

[0530] In another embodiment, the projection of the center of gravity of the robot 300 on the side of the robot is located near the line connecting the projection of the handle 120 on the side of the robot and the projection of the rear drain 130 on the side of the robot, in other words, the projection of the handle 120 on the side of the robot and the projection of the rear drain 130 on the side of the robot are connected, and the projection of the center of gravity of the robot on the side of the robot is located near the line. As shown in FIG. 36B, the center of gravity G1 of the robot 300 is offset relative to the center of gravity G shown in FIG. 36A, but due to the action of gravity, the line (dashed line L1 in FIG. 36B) connecting the projection of the handle 120 on the side of the robot 300 and the projection of the center of gravity G1 on the side of the robot 300 is perpendicular to the horizontal plane. Alternatively, the line connecting the center point of the projection of the handle 120 on the side of the robot 300 and the projection of the center of gravity G1 of the robot 300 on the side of the robot 300 is perpendicular to the horizontal plane. In this embodiment, the center of gravity G1 is located to the left of the line (dashed line L2 in FIG. 36B) connecting the projection of the handle 120 on the side of the robot 300 and the projection of the rear drain 130 on the side of the robot 300, and the vertical distance between the projection point of the center of gravity G1 and the line is less than or equal to a predetermined length. For example, the predetermined length is 10 mm. More for example, the predetermined length is 5 mm.

[0531] As shown in FIGS. 32 and 37, the housing 8110 includes a bottom surface 111 and a rear surface 112, the bottom surface is located at the bottom of the housing, and the rear surface is located at the rear of the housing. The intersection between the bottom surface 111 and the rear surface 112 is a first intersection. The distance between the rear drain 130 and the first intersection is less than or equal to a second predetermined distance.

[0532] In an example, the second predetermined distance can be one quarter of the height / length of the body. The rear water outlet 130 can be located above the first intersection, for example on the rear surface 112, and the distance between the rear water outlet 130 and the first intersection is less than or equal to the second predetermined distance; the rear water outlet 130 can also be located below the first intersection, for example on the bottom surface 111, and the distance between the rear water outlet 130 and the first intersection is less than or equal to the second predetermined distance. The second predetermined distance can be, for example, one quarter of the height / length of the body. The size of the second predetermined distance can be adaptively selected according to the size, shape, weight distribution, center of gravity position, etc. of the robot 300, as long as the principles of the present application can be implemented.

[0533] As shown in FIG. 32 and FIG. 38, the shell 8110 includes a top surface 113 at the top of the shell and a front surface 114 at the front of the shell, and the intersection between the top surface 113 and the front surface 114 is a second intersection.

[0534] In an example, the handle 120 is arranged at the second intersection.

[0535] In another embodiment, the handle 120 can be located above the second intersection, for example on the top surface 113, and the distance between the handle 120 and the second intersection is less than or equal to a third predetermined distance. In yet another embodiment, the handle 120 can also be located below the second intersection, for example on the front surface 114, and the distance between the handle 120 and the second intersection is less than or equal to the third predetermined distance. The third predetermined distance can be, for example, one quarter of the height / length of the body. The size of the third predetermined distance can be adaptively selected according to the size, shape, weight distribution, center of gravity position, etc. of the robot 300, as long as the principles of the present application can be implemented.

[0536] As shown in FIG. 32 and FIG. 38, the handle 120 includes a main body 121 and a connecting piece 122. The main body 121 is parallel to the front surface 114, and the connecting piece 122 is connected to the main body 121 and the front surface 114 at both ends.

[0537] For example, the material, shape, size, etc. of the main body 121 can be selected by those skilled in the art to improve the user's holding experience. For example, the main body 121 can be made of lightweight materials to reduce the weight and volume of the handle and achieve the effect of reducing the overall weight of the robot; for example, the cross section of the handle is in the shape of a cylinder, a long strip, etc. which is easy for the user to hold, and facilitates the user to move and lift the robot by the handle; for example, the surface of the handle can be treated with anti-slip treatment, which can ensure that the user holds firmly even in a wet environment.

[0538] For example, the material of the connecting member 122, the connection method, etc. can be selected by those skilled in the art. For example, the connecting member 122 can be made of plastic, high molecular organic material or metal (alone or in combination) as the material, giving it high strength characteristics; the connecting member 122 can be made of one or more of plastic, high molecular organic material, metal, so that the connecting member has excellent strength capacity; the connecting member 122 can be connected to the main body 121 and the front surface 114 in various forms, such as riveting, welding and bolt connection, etc. to achieve stable connection.

[0539] In summary, according to the automatic pool cleaning device provided by the present application, when an external force acts on the handle to lift the automatic pool cleaning device upward, the position relationship and layout design of the handle and the drain outlet can conveniently drain the water accumulated in the machine, achieve the effect of accelerating drainage, and improve the drainage efficiency of the automatic pool cleaning device compared with the traditional design, thereby improving the overall cleaning efficiency of the pool. With the increasing maturity of the future market, it is reasonable to believe that the present application will bring more convenient and efficient pool cleaning experience to more families and professional users.

[0540] The automatic pool cleaning device of the present application will be described in detail below in conjunction with FIGS. 39 and 40. FIG. 39 is a structural schematic diagram of an automatic pool cleaning device according to an embodiment of the present application. FIG. 40 is a side structural schematic diagram of the automatic pool cleaning device according to the embodiment shown in FIG. 39.

[0541] As shown in FIG. 39, the automatic pool cleaning device includes a housing 8110, a first handle 1102 and a second handle 1103. The first handle 1102 is arranged at the front of the housing 8110, wherein a first gripping gap exists between the first handle 1102 and the housing 8110. The second handle 1103 is arranged at the rear of the housing 8110, wherein a second gripping gap exists between the second handle 1103 and the housing 8110. The size of the second gripping gap is smaller than the size of the first gripping gap or the shape of the first handle 1102 is different from the shape of the second handle 1103.

[0542] It can be understood that the automatic pool cleaning device can be a device such as an automatic cleaning robot. The automatic pool cleaning device can move and clean in a pool-shaped building. The pool-shaped building can be, for example, a swimming pool, a pool, a water storage pool, a water storage tank, a water storage tank, etc. The automatic pool cleaning device can clean the pool on the water surface, in the water, underwater, and use negative pressure collection and filtration to clean impurities in the water. In the following, if not specified, the pool will be taken as an example to explain the pool-shaped building, and the robot will be taken as an example to explain the automatic pool cleaning device.

[0543] After the robot finishes the work in the water, the user needs to lift it out of the water on the shore in order to clean and store it. For example, the user can use a hook to hook the first handle 1102 of the robot to make it close to the shore, and then lift the robot out of the water. It can be understood that the hook can include a main body and a hook. The main body of the hook is convenient for the user to hold, and the hook of the hook is used to hook the first handle 1102 of the robot.

[0544] The robot in the present application can be lifted out of the water by the user using both hands, and the robot can be carried by the user using both hands. By lifting and carrying the robot with both hands, on the one hand, the weight of the robot can be distributed to both hands, making it easier for users with less strength (such as female users or younger users) to lift the robot out of the water, and on the other hand, the user can avoid the robot from dirtying or wetting the clothes while carrying the robot. When the user lifts the robot, one hand holds the first handle 1102 through the first holding gap, and the other hand holds or picks the second handle 1103 through the second holding gap, which can facilitate the user to lift and carry the robot and improve the user experience.

[0545] In an embodiment of the present application, a drain port is further provided on the robot. The drain port can be provided at the bottom surface of the tail of the shell 8110, or at the intersection between the bottom surface and the rear surface of the shell 8110, or on the rear surface of the shell 8110. Therefore, the drain port can also be referred to as a "tail drain port". The above description of the position of the drain port is only exemplary and is not intended to limit the selection of the position of the drain port. Those skilled in the art can select the position of the drain port according to actual needs, as long as the residual water inside the robot can be smoothly drained when the robot is lifted out of the water.

[0546] When the user lifts the robot by the first handle 1102, since the first handle 1102 is located at the front of the shell, the robot is lifted with the head upward or generally upward, and accordingly, since the drain port is at the tail of the shell 8110, the position of the drain port is at a lower position or the lowest position of the entire body of the robot, thereby facilitating the drainage of the residual water inside the robot. If the user does not use the first handle 1102 but uses the second handle 1103 to lift the robot, when the robot is lifted out of the water, the position of the drain port will be higher than the position of the head of the robot, and the water inside the robot cannot be drained in time and remains inside the robot. Therefore, it can be understood that when the user lifts the robot out of the water, the user can first hold the first handle 1102 with one hand and lift the robot out of the water, and keep it for a period of time, so that the residual water inside the robot is drained from the tail drain port, and then the second handle 1103 is held or picked up with the other hand, so that the robot is carried by both hands.

[0547] The first gripping gap and the second gripping gap can accommodate a user's finger. A user's finger (one finger or multiple fingers) can pass through the first gripping gap from outside of the first handle 1102 inward and then grip the first handle 1102 by the finger, and the first gripping gap accommodates the user's finger during the user's gripping of the first handle 1102. A user's finger (one finger or multiple fingers) can pass through the second gripping gap from outside of the second handle 1103 inward and then grip or pick the second handle 1103 by the finger, and the second gripping gap accommodates the user's finger during the user's gripping or picking of the second handle 1103.

[0548] The size of the second gripping gap is smaller than the size of the first gripping gap or the shape of the first handle 1102 is different from the shape of the second handle 1103. In view of the setting of the tail drainage port described above, the user needs to first lift the robot out of the water surface by the first handle 1102. Therefore, by setting the size of the second gripping gap to be smaller than the size of the first gripping gap, the user can be guided to select the first handle 1102 instead of the second handle 1103 when lifting the robot by the hook. For example, when the user lifts the robot by the hook, due to the size of the hook in relation to the sizes of the first gripping gap and the second gripping gap, the hook can only smoothly pass through the first gripping gap to hook the first handle 1102, but cannot smoothly pass through the second gripping gap to hook the second handle 1103.

[0549] In an embodiment of the present application, the size D1 of the first gripping gap is greater than the size D2 of the second gripping gap (as shown in FIG. 40). Visually, the user is more likely to notice the first handle 1102, and therefore when the user needs to lift the robot out of the water surface (for example, when the user lifts the robot out of the water surface by the hook), the user will tend to or be more likely to select the first handle 1102.

[0550] For example, the size D2 of the second gripping gap is smaller than the size of the hook and the size D1 of the first gripping gap is greater than the size of the hook. As described above, when the user lifts the robot, the hook hooks the robot from the water pool to the area close to the shore, and when the user hooks the robot by the hook, the hook is more likely to hook the first handle 1102 and less likely to hook the second handle 1103.

[0551] Similar to the principle described above, the shape of the first handle 1102 is different from the shape of the second handle 1103. The shape of the first handle 1102 can be, for example, a columnar body with a circular or approximately circular cross section, so as to facilitate the hook to hook the first handle. The second handle 1103 can be, for example, oval, oblate or inward L-shaped in cross section, so as to make it difficult for the hook to hook the second handle, and thus when the user fails to hook the second handle with the hook, the user will turn to use the first handle. The above description of the shapes of the first handle and the second handle is only exemplary and is not intended to limit the shape selection of the two handles. Those skilled in the art can select and set the shapes of the two handles according to the technical concept of the present application, as long as the technical principle of the present application can be realized.

[0552] In an embodiment of the present application, the top of the first handle 1102 is higher than the top of the second handle 1103. The top of the first handle 1102 is set to be higher than the top of the second handle 1103, which helps the user to identify the first handle 1102 and select the first handle 1102 to lift the robot out of the water. Moreover, the top of the first handle 1102 is higher than the top of the second handle 1103, and when the user uses the hook to probe and lift the robot from the water to the water, the hook is more likely to touch the first handle 1102 of the robot first, thereby facilitating the user to more conveniently lift the robot out of the water through the first handle 1102.

[0553] In an embodiment of the present application, the second gripping gap is formed with a portion that blocks the fingers from passing through the second handle 1103. The second gripping gap has a portion that blocks the fingers from passing through, so that when the user's fingers hold or pick the second handle 1103, the corresponding fingers cannot pass through the gripping gap completely (i.e., cannot pass through the second gripping gap completely) as when the first handle 1102 is used. The portion that blocks the fingers from passing through the second handle 1103 can prevent the user from first selecting to use the second handle 1103 when lifting the robot out of the water. When the user's fingers cannot pass through the second gripping gap, the user will realize that the handle at this position is not the first handle, and thus the user will turn to use the first handle. Therefore, when the user lifts the robot with both hands, it is easier to put the main force point / force point on the first handle 1102 and the auxiliary force point / auxiliary force point on the second handle 1103. Correspondingly, the first handle 1102 is at a higher position of the entire robot, and the tail drain is at a lower position of the entire robot, so it is easier to drain the remaining water.

[0554] The second gripping gap comprises one or more sub-gaps. The sub-gaps can divide the second gripping gap into a plurality of sub- accommodating spaces, each of which can accommodate one or more fingers. Thus, the sub-gaps can facilitate better contact of the user's fingers (one or more fingers) with the second handle 1103 and increase the tightness of the fingers with the second handle 1103 when the second handle 1103 is gripped, preventing the second handle from falling off the user's hand.

[0555] The second handle 1103 is connected to the top surface or the rear side surface of the rear part of the housing 8110. The second handle 1103 and the housing can be integrally formed or connected to the housing by other means (e.g., snap connection, bolt connection). The second handle 1103 is arranged on the top surface or the rear side surface of the rear part of the housing, which facilitates the user's fingers to smoothly grip or hook the second handle 1103 and facilitates the user to cooperate with the other hand holding the first handle 1102 when using the second handle 1103 with one hand, increasing the operability and flexibility when lifting and carrying the robot.

[0556] As shown in FIG. 41, the second handle 1103 comprises a second handle body 1301, which comprises an arc-shaped upper surface 1302. The arc-shaped upper surface 1302 can guide the water flow.

[0557] The second handle body 1301 as a whole presents a tail wing shape or a car-like tail wing structure, so as to increase the downward pressure of the water flow on the housing when the water flow flows through the upper part of the housing when the robot advances in the water, ensuring the adhesion of the robot to the surface to be cleaned, and helping to prevent the robot from slipping, lifting on the body, and tilting on the tail, etc. when moving on the surface to be cleaned (e.g., the bottom of the pool).

[0558] When the robot advances, the water flow passes through the arc-shaped upper surface 1302 and the second gripping gap, respectively. In an embodiment of the present application, the upper surface 1302 is concave arc-shaped (i.e., the upper surface is concave), and the water flow is guided to be offset above the robot when passing through the arc-shaped upper surface 1302. When the water flow is offset upward, it will give the housing 8110 a downward force due to the principle of reaction force, thereby increasing the downward pressure of the robot and preventing the robot from slipping or tilting when moving on the surface to be cleaned. It can be understood that "advancing" refers to the direction in which the head of the robot points.

[0559] For example, the second gripping gap can allow water flow therethrough. The second gripping gap is shaped to match the shape of the arc-shaped upper surface 1302, such that the second handle body 1301 exhibits a shape that facilitates faster water flow through the second gripping gap, thereby causing the water flow to have a greater speed when flowing through the second gripping gap than when flowing through the surface (e.g., the arc-shaped upper surface 1302) of the second handle body 1301. Accordingly, as the robot advances, the upper and lower surfaces of the second handle body 1301 generate a downward pressure difference in accordance with Bernoulli's principle due to the greater speed of water flow through the second gripping gap than through the arc-shaped upper surface 1302, further increasing the downward pressure of the robot against the surface to be cleaned, thereby facilitating the robot to travel on the surface to be cleaned and complete the cleaning task, and preventing the robot from tilting on its side or lifting its tail, etc.

[0560] In an embodiment of the present application, the top of the housing further comprises a sensor (e.g., a water inlet sensor, a pressure sensor, an ultrasonic sensor, a distance sensor, etc.), and the first handle 1102 and the second handle 1103 do not block the sensor. On the one hand, the first handle 1102 and the second handle 1103 do not affect the data acquisition of the sensor, and on the other hand, they can also avoid the user from touching the sensor with fingers when lifting, causing the sensor to be contaminated and malfunction.

[0561] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, different embodiments or examples described in the present specification and the features of different embodiments or examples can be combined and combined by those skilled in the art without contradiction.

[0562] In addition, the terms "first", "second" are only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise specifically limited.

[0563] The above merely illustrates the embodiments of the present application, but the protection scope of the present application is not limited thereto, any person skilled in the art can easily think of various changes or replacements within the technical scope of the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. A method for controlling an automatic pool cleaner, the automatic pool cleaner comprising a water pump for guiding a water flow into a water suction port at a bottom of the automatic pool cleaner and out of a water discharge port of the automatic pool cleaner, the method comprising: controlling the automatic pool cleaner to walk and perform a cleaning operation under water; during the walking, determining whether the automatic pool cleaner is stuck, if the automatic pool cleaner is stuck, turning off the water pump and rotating the automatic pool cleaner by a predetermined angle; and controlling the automatic pool cleaner to move forward or backward after the rotating by the predetermined angle. during the moving forward or backward, turning on the water pump and causing the water pump to provide a forward or backward thrust to the automatic pool cleaner.

2. The control method according to claim 1, wherein the walking comprises a straight walking.

3. The control method according to claim 1 or 2, wherein the automatic pool cleaner further comprises an inertial measurement unit (IMU), and during the walking, the IMU is configured to measure an acceleration of the automatic pool cleaner, wherein 4. The control method according to claim 1, wherein the determining whether the automatic pool cleaner is stuck comprises determining, based on the acceleration measured by the IMU, whether the acceleration of the automatic pool cleaner changes within a first predetermined time duration, and if the acceleration of the automatic pool cleaner does not change within the first predetermined time duration, determining that the automatic pool cleaner is stuck. the automatic pool cleaner further comprises a speed sensor, and during the walking, the speed sensor is configured to measure a forward speed of the automatic pool cleaner, wherein 5. The control method according to claim 1, wherein the determining whether the automatic pool cleaner is stuck comprises determining, based on the forward speed measured by the speed sensor, whether the forward speed of the automatic pool cleaner is always less than a predetermined speed threshold within a second predetermined time duration, and if the forward speed of the automatic pool cleaner is always less than the predetermined speed threshold within the second predetermined time duration, determining that the automatic pool cleaner is stuck. the automatic pool cleaner further comprises a wheel speed sensor, and during the walking, the wheel speed sensor is configured to measure a straight moving distance or a moving time duration of the automatic pool cleaner, wherein 6. The control method according to claim 1, wherein the determining whether the automatic pool cleaner is stuck comprises determining whether the measured moving distance is greater than a predetermined distance threshold or the moving time duration is greater than a predetermined moving time duration, and if the measured moving distance is greater than the predetermined distance threshold or the moving time duration is greater than the predetermined moving time duration, determining that the automatic pool cleaner is stuck. the automatic pool cleaner further comprises a distance sensor, and during the walking, the distance sensor is configured to measure a distance between the automatic pool cleaner and a predetermined object, wherein 7. The control method according to claim 1, wherein the determining whether the automatic pool cleaner is stuck comprises determining whether the measured distance is greater than a predetermined distance threshold, and if the measured distance is greater than the predetermined distance threshold, determining that the automatic pool cleaner is stuck. The judging whether the pool cleaning robot is stuck includes: judging whether the distance between the pool cleaning robot and the predetermined object changes within a third predetermined time based on the distance measured by the distance sensor, and if the distance between the pool cleaning robot and the predetermined object does not change within the third predetermined time, it is judged that the pool cleaning robot is stuck.

8. The control method according to claim 7, wherein The distance sensor includes an ultrasonic sensor or an infrared sensor.

9. The control method according to claim 4, wherein The first predetermined time is 3-10 seconds.

10. The control method according to any one of claims 1 to 9, wherein The predetermined angle is 30-90 degrees.

11. The control method according to claim 1, wherein After the controlling the pool cleaning robot to move forward or backward, the control method further includes: judging again whether the pool cleaning robot is stuck, and if the pool cleaning robot is stuck, controlling the pool cleaning robot to issue a prompt information or to adjust the moving direction to the opposite direction and then try to get unstuck.

12. A pool cleaning robot for cleaning a pool, the pool cleaning robot comprising: a water pump for guiding water flow into a water suction port at the bottom of the pool cleaning robot and out of a water discharge port of the pool cleaning robot; and a control unit configured to: control the pool cleaning robot to walk underwater and perform cleaning work; during the walking, judge whether the pool cleaning robot is stuck, and if the pool cleaning robot is stuck, the control unit turns off the water pump and controls the pool cleaning robot to rotate a predetermined angle; and controls the pool cleaning robot to move forward or backward after rotating the predetermined angle.

13. A computer storage medium, the storage medium storing a computer program, the computer program being executed by a processor to implement the method of any one of claims 1-11. ​

Citation Information

Patent Citations

  • Swimming pool bottom hydro power pushed automatic cleaner

    CN101666168A

  • Self-moving device escaping method and self-moving device

    CN110192814A

  • Robot cleaner for avoiding stuck situation through artificial intelligence and method of operating the same

    CN112401747A

  • Control method of cleaning robot

    CN114587208A

  • Method and device for detecting clamping position and getting out of trap of water surface robot

    CN114594771A