Swimming pool cleaning method and device, computer readable storage medium and robot

By searching for parallel walls in the swimming pool and cleaning them in sections, the problem of poor cleaning of irregular-shaped swimming pools is solved, and a comprehensive cleaning effect is achieved to avoid missing sweeping.

CN119148705APending Publication Date: 2024-12-17UBTECH ROBOTICS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411166160.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing swimming pool cleaning methods are poorly applicable to irregular swimming pools and are prone to missed sweeping.

Method used

By controlling the robot to search for two parallel walls in the swimming pool, determine the first and second target areas, and clean them according to the arcuate movement direction respectively to ensure that all areas are fully cleaned.

Benefits of technology

Achieve more comprehensive cleaning in irregularly shaped swimming pools, avoiding scans, and have a wider range of applicability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119148705A_ABST
    Figure CN119148705A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of robots, and particularly relates to a swimming pool cleaning method and device, a computer readable storage medium and a robot. The method comprises the steps that a robot is controlled to search for two parallel wall bodies in a swimming pool to be cleaned; controlling the robot to clean a first target area in the swimming pool; wherein the first target area is an area between the two parallel wall bodies; controlling the robot to detect a second target area in the swimming pool; wherein the second target area is an area except the first target area; and controlling the robot to clean the detected second target area. By means of the swimming pool cleaning device, more comprehensive cleaning can be conducted in swimming pools of various irregular shapes, the situation of missing sweeping is avoided, and the swimming pool cleaning device has wider applicability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of robotics technology, and in particular, relates to a swimming pool cleaning method, device, computer-readable storage medium, and robot. Background Art

[0002] With the continuous development of robot technology, it has been widely used in various fields. Taking swimming pool cleaning as an example, there are relatively mature methods in the prior art to control robots to clean swimming pools. However, the existing swimming pool cleaning methods are generally aimed at swimming pools with regular shapes such as rectangles, but are less applicable to swimming pools with irregular shapes, and are prone to missed cleaning. Summary of the invention

[0003] In view of this, embodiments of the present application provide a swimming pool cleaning method, device, computer-readable storage medium, and robot to solve the problem that existing swimming pool cleaning methods are less applicable to swimming pools with irregular shapes.

[0004] A first aspect of an embodiment of the present application provides a swimming pool cleaning method, which may include:

[0005] Control the robot to search for two parallel walls in the pool to be cleaned;

[0006] Controlling the robot to clean a first target area in the swimming pool; wherein the first target area is an area between the two parallel walls;

[0007] Controlling the robot to detect a second target area in the swimming pool; wherein the second target area is an area other than the first target area;

[0008] The robot is controlled to clean the detected second target area.

[0009] In a specific implementation of the first aspect, controlling the robot to clean the first target area in the swimming pool may include:

[0010] Controlling the robot to clean the first target area in a first arcuate moving direction;

[0011] Accordingly, controlling the robot to clean the detected second target area includes:

[0012] The robot is controlled to clean the second target area in a second arcuate moving direction; wherein the second arcuate moving direction is opposite to the first arcuate moving direction.

[0013] In a specific implementation of the first aspect, controlling the robot to clean the first target area in a first arcuate moving direction may include:

[0014] determining a first distance corresponding to the first target area;

[0015] Calculating a first channel number corresponding to the first target area according to the first distance and a preset channel spacing;

[0016] The robot is controlled to clean the first target area according to the first bow-shaped moving direction and the first channel number.

[0017] In a specific implementation of the first aspect, controlling the robot to clean the detected second target area may include:

[0018] determining a second distance corresponding to the second target area;

[0019] Calculating the number of second channels corresponding to the second target area according to the second distance and a preset channel spacing;

[0020] The robot is controlled to clean the second target area according to the second arcuate moving direction and the second channel number.

[0021] In a specific implementation of the first aspect, the swimming pool cleaning method may further include:

[0022] During the process of the robot switching the channel, controlling the robot to move forward on the first channel until it collides with the wall; wherein the first channel is the channel before switching;

[0023] Controlling the robot to move back a preset adjustment distance;

[0024] Controlling the robot to switch from the first channel to a second channel; wherein the second channel is the channel after switching;

[0025] Controlling the robot to retreat on the second channel until it collides with a wall;

[0026] Control the robot to move forward on the second channel.

[0027] In a specific implementation of the first aspect, the swimming pool cleaning method may further include:

[0028] During the process of controlling the robot to clean the first target area in the swimming pool, if two consecutive collisions occur at the same end of the channel when the robot switches channels, the robot is controlled to move to the other end of the channel, and the step of controlling the robot to detect the second target area in the swimming pool and its subsequent steps are executed.

[0029] In a specific implementation of the first aspect, controlling the robot to search for two parallel walls in the swimming pool to be cleaned may include:

[0030] Determine a first heading angle between the robot and the first wall by controlling the robot to collide with the first wall;

[0031] Determine a second heading angle between the robot and the second wall by controlling the robot to collide with the second wall;

[0032] Calculating a heading angle deviation between the first heading angle and the second heading angle;

[0033] If the heading angle deviation is less than or equal to a preset deviation threshold, the first wall and the second wall are determined as the two parallel walls.

[0034] A second aspect of an embodiment of the present application provides a swimming pool cleaning device, which may include:

[0035] A parallel wall search module is used to control the robot to search for two parallel walls in the swimming pool to be cleaned;

[0036] A first target area cleaning module, used to control the robot to clean a first target area in the swimming pool; wherein the first target area is the area between the two parallel walls;

[0037] A second target area detection module, used to control the robot to detect a second target area in the swimming pool; wherein the second target area is an area other than the first target area;

[0038] The second target area cleaning module is used to control the robot to clean the detected second target area.

[0039] In a specific implementation of the second aspect, the first target area cleaning module may include:

[0040] a first arcuate cleaning unit, used to control the robot to clean the first target area in a first arcuate moving direction;

[0041] Accordingly, the second target area cleaning module may include:

[0042] The second arcuate cleaning unit is used to control the robot to clean the second target area in a second arcuate moving direction; wherein the second arcuate moving direction is opposite to the first arcuate moving direction.

[0043] In a specific implementation of the second aspect, the first bow-shaped cleaning unit can be specifically used to: determine a first distance corresponding to the first target area; calculate a first channel number corresponding to the first target area based on the first distance and a preset channel spacing; and control the robot to clean the first target area according to the first bow-shaped moving direction and the first channel number.

[0044] In a specific implementation of the second aspect, the second bow-shaped cleaning unit can be specifically used to: determine a second distance corresponding to the second target area; calculate a second channel number corresponding to the second target area based on the second distance and a preset channel spacing; and control the robot to clean the second target area according to the second bow-shaped moving direction and the second channel number.

[0045] In a specific implementation of the second aspect, the swimming pool cleaning device may further include:

[0046] A channel switching control module is used to control the robot to advance on a first channel until it collides with a wall during the process of the robot switching channels; wherein the first channel is the channel before switching; control the robot to retreat a preset adjustment distance; control the robot to switch from the first channel to a second channel; wherein the second channel is the channel after switching; control the robot to retreat on the second channel until it collides with a wall; and control the robot to advance on the second channel.

[0047] In a specific implementation of the second aspect, the parallel wall search module may include:

[0048] A first heading angle determining unit, configured to determine a first heading angle between the robot and the first wall by controlling the robot to collide with the first wall;

[0049] A second heading angle determining unit, configured to determine a second heading angle corresponding to the robot and the second wall by controlling the robot to collide with the second wall;

[0050] a heading angle deviation calculation unit, configured to calculate a heading angle deviation between the first heading angle and the second heading angle;

[0051] A parallel wall determination unit is used to determine the first wall and the second wall as the two parallel walls if the heading angle deviation is less than or equal to a preset deviation threshold.

[0052] A third aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned swimming pool cleaning methods are implemented.

[0053] A fourth aspect of an embodiment of the present application provides a robot, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of any one of the above-mentioned swimming pool cleaning methods when executing the computer program.

[0054] A fifth aspect of the embodiments of the present application provides a computer program product. When the computer program product runs on a robot, the robot executes the steps of any one of the above-mentioned swimming pool cleaning methods.

[0055] Compared with the prior art, the embodiments of the present application have the following beneficial effects: the embodiments of the present application control the robot to search for two parallel walls in the swimming pool to be cleaned; control the robot to clean the first target area in the swimming pool; wherein the first target area is the area between the two parallel walls; control the robot to detect a second target area in the swimming pool; wherein the second target area is the area other than the first target area; control the robot to clean the detected second target area. Through the embodiments of the present application, two parallel walls can be searched in the swimming pool to be cleaned, and used as a reference for cleaning the swimming pool. First, the first target area between the two walls is cleaned, and then the second target area is further detected and cleaned. Thus, a more comprehensive cleaning can be performed in various irregularly shaped swimming pools to avoid missed cleanings, and the robot has a wider range of applicability. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0057] Figure 1 This is a flow chart of an embodiment of a swimming pool cleaning method in an embodiment of the present application;

[0058] Figure 2A schematic flow chart for controlling a robot to search for two parallel walls in a swimming pool to be cleaned;

[0059] Figure 3 is a schematic diagram of the first arcuate moving direction;

[0060] Figure 4 is a schematic diagram of the second arcuate moving direction;

[0061] Figure 5 A schematic diagram of a specific application scenario of an embodiment of the present application;

[0062] Figure 6 A schematic diagram of a specific application scenario of a robot performing channel switching;

[0063] Figure 7 A schematic diagram of another specific application scenario of a robot performing channel switching;

[0064] Figure 8 This is a structural diagram of an embodiment of a swimming pool cleaning device in an embodiment of the present application;

[0065] Fig. 9 This is a schematic block diagram of a robot in an embodiment of the present application. DETAILED DESCRIPTION

[0066] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0067] It should be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0068] It should also be understood that the terms used in this application specification are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in this application specification and the appended claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to include plural forms.

[0069] It should be further understood that the term “and / or” used in the specification and appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0070] As used in this specification and the appended claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.

[0071] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0072] With the continuous development of robot technology, it has been widely used in various fields. Taking swimming pool cleaning as an example, there are relatively mature methods in the prior art to control robots to clean swimming pools. However, the existing swimming pool cleaning methods are generally aimed at swimming pools with regular shapes such as rectangles, but are less applicable to swimming pools with irregular shapes, and are prone to missed cleaning.

[0073] In view of this, embodiments of the present application provide a swimming pool cleaning method, device, computer-readable storage medium, and robot to solve the problem that existing swimming pool cleaning methods are less applicable to swimming pools with irregular shapes.

[0074] In an embodiment of the present application, two parallel walls can be searched in the swimming pool to be cleaned, which are used as references for cleaning the swimming pool. First, the first target area between the two walls is cleaned, and then the second target area is further detected and cleaned. In this way, a more comprehensive cleaning can be performed in swimming pools of various irregular shapes to avoid missed cleanings, and the method has a wider applicability.

[0075] The execution subject of the embodiment of the present application may be a robot, including but not limited to various types of robots that can be used for swimming pool cleaning.

[0076] See also Figure 1 , an embodiment of a swimming pool cleaning method in the embodiment of the present application may include:

[0077] Step S101: Control the robot to search for two parallel walls in the swimming pool to be cleaned.

[0078] In a specific implementation of the embodiment of the present application, step S101 may include: Figure 2 The process shown:

[0079] Step S1011: Determine a first heading angle between the robot and the first wall by controlling the robot to collide with the first wall.

[0080] Specifically, the robot can be controlled to move forward in a straight line according to the current heading angle (yaw), and detect whether the robot has a collision. If no collision occurs, the robot continues to be controlled to move forward, and continues to detect whether the robot has a collision. If a collision occurs, the robot continues to be controlled to move forward, and detects whether the robot has climbed a wall.

[0081] If the robot goes up the wall, the robot's posture can be adjusted, and the robot's roll angle (roll) can be adjusted to a preset angle range, so that the bottom of the robot is parallel to the wall. The angle range can be set according to the actual situation. For example, roll∈[-2°,2°] can be set. This embodiment of the present application does not specifically limit this. After adjusting the robot's posture, the robot can be controlled to keep the adjusted posture and go down the wall, and then rotate 180°, and the robot's heading angle at this time is used as the first heading angle.

[0082] If the robot continues to move forward for more than the preset first time period after the collision and still does not reach the wall, the robot can be controlled to rotate 180°, and the heading angle of the robot at this time is used as the first heading angle. The specific value of the first time period can be set according to actual conditions, for example, it can be set to 3 seconds or other values, and the embodiments of the present application do not specifically limit this.

[0083] Step S1012: Determine a second heading angle between the robot and the second wall by controlling the robot to collide with the second wall.

[0084] Specifically, the robot can be controlled to move forward in a straight line according to the first heading angle, and whether the robot collides or not can be detected. If no collision occurs, the robot can continue to be controlled to move forward, and whether the robot collides or not can be detected. If a collision occurs, the robot can continue to be controlled to move forward for a preset second duration, and then the heading angle of the robot at this time can be used as the second heading angle. Among them, the specific value of the second duration can be set according to the actual situation, for example, it can be set to 0.5 seconds (i.e., 500 milliseconds) or other values, and the embodiments of the present application do not specifically limit this.

[0085] Step S1013: Calculate the heading angle deviation between the first heading angle and the second heading angle.

[0086] In a specific implementation of the embodiment of the present application, the absolute value of the difference between the first heading angle and the second heading angle may be used as the heading angle deviation.

[0087] Step S1014: determine whether the heading angle deviation is less than or equal to a preset deviation threshold.

[0088] That is, determine whether the following formula is established: fabs(α-β)≤DeltaWallAngle, wherein α is the first heading angle, β is the second heading angle, fabs is the absolute value function, DeltaWallAngle is the deviation threshold, and the specific value of the deviation threshold can be set according to actual conditions. For example, it can be set to a value between 0° and 15°, that is, DeltaWallAngle∈[0°,15°]. The embodiment of the present application does not make specific limitations on this.

[0089] If the above formula is not true, that is, the heading angle deviation is greater than the deviation threshold, it means that the robot has not found two parallel walls in this round of search. At this time, it can return to execute step S1011 and its subsequent steps, that is, continue the next round of search process. If the number of search rounds exceeds the preset round number threshold and still no parallel walls are found, no more search is performed. Among them, the specific value of the round number threshold can be set according to the actual situation. For example, it can be set to 5 or other values, and the embodiment of the present application does not make specific limitations on this.

[0090] If the above formula is established, that is, the heading angle deviation is less than or equal to the deviation threshold, it means that the robot has searched for two parallel walls, and step S1015 can be executed at this time.

[0091] Step S1015: determine the first wall and the second wall as two parallel walls.

[0092] In the embodiment of the present application, the two parallel walls searched by the robot can be used as reference objects for swimming pool cleaning to perform a subsequent swimming pool cleaning process.

[0093] Step S102: Control the robot to clean the first target area in the swimming pool.

[0094] The first target area is the area between two parallel walls.

[0095] In a specific implementation of the embodiment of the present application, the robot can be controlled to clean the first target area in a first arcuate moving direction. The first arcuate moving direction can be as follows: Figure 3 The direction of arcuate movement is shown from top to bottom.

[0096] Specifically, a first distance corresponding to the first target area can be determined. For example, the distance between two parallel walls can be determined based on the robot's odometer and used as the first distance. Alternatively, the first distance can be measured by a distance measuring sensor, wherein the distance measuring sensor may include but is not limited to an ultrasonic-based distance measuring sensor or other types of distance measuring sensors, which are not specifically limited in the embodiments of the present application. Then, the number of channels corresponding to the first target area, i.e., the first channel number, can be calculated based on the first distance and the preset channel spacing, as shown in the following formula: N1=L1 / TranDistance, wherein N1 is the first channel number, L1 is the first distance, and TranDistance is the channel spacing. Its specific value can be set according to the actual situation. For example, it can be set to 1 fuselage length, which is not specifically limited in the embodiments of the present application.

[0097] After determining the first channel number, the robot may be controlled to clean the first target area according to the first arcuate moving direction and the first channel number.

[0098] Step S103: Control the robot to detect a second target area in the swimming pool.

[0099] The second target area is an area other than the first target area, that is, an area that was not cleaned in step S102 and needs to be further cleaned. After completing the cleaning of the first target area, the robot can be controlled to rotate so that it faces the direction from the second wall to the first wall, and the detection of the second target area begins. The robot is controlled to move forward in a straight line, and the distance the robot moves forward is recorded by the odometer until a collision occurs, thereby completing the detection of the second target area.

[0100] Step S104: controlling the robot to clean the detected second target area.

[0101] In a specific implementation of the embodiment of the present application, the robot can be controlled to clean the second target area in the second arcuate moving direction. The second arcuate moving direction can be as follows: Figure 4 The direction of the arcuate movement from top to bottom shown is opposite to the direction of the first arcuate movement.

[0102] Specifically, the second distance corresponding to the second target area can be determined. For example, the distance traveled by the robot in the process of detecting the second target area can be determined based on the robot's odometer, and the distance can be used as the second distance. Alternatively, the second distance can also be measured by a distance measuring sensor. Then, the number of channels corresponding to the second target area, that is, the second channel number, can be calculated based on the second distance and the preset channel spacing, as shown in the following formula: N2 = L2 / TranDistance, where N2 is the second channel number and L2 is the second distance.

[0103] After determining the second channel number, the robot may be controlled to clean the second target area according to the second arcuate moving direction and the second channel number.

[0104] As an example, Figure 5 A schematic diagram of a specific application scenario is shown. As shown in the figure, the robot first searches for two parallel walls (i.e., the first wall and the second wall) in the swimming pool to be cleaned, and then cleans the first target area between the first wall and the second wall according to the first arched moving direction (moving from point A to point B), and then detects the second target area that needs further cleaning (moving from point B to point C), and cleans the detected second target area according to the second arched moving direction (moving from point C to point D).

[0105] Considering that the robot may switch channels at the curved wall, the actual channel spacing may be smaller than the preset channel spacing, thereby affecting the cleaning efficiency of the robot and may also cause missed cleaning. Figure 6 As shown, during the process of the robot switching the channel, the robot can be controlled to advance on the first channel until it collides with the wall, wherein the first channel is the channel before switching. Then, the robot can be controlled to retreat a preset adjustment distance (moving from position 1 to position 2), wherein the specific value of the adjustment distance can be set according to the actual situation, for example, it can be set to 0.5 to 1 fuselage length, and the embodiment of the present application does not specifically limit this. Then, the robot can be controlled to switch from the first channel to the second channel (moving from position 2 to position 3), wherein the second channel is the channel after switching. After switching to the second channel, the robot can be controlled to retreat on the second channel until it collides with the wall (moving from position 3 to position 4), and then the robot can be controlled to advance on the second channel.

[0106] The above-mentioned channel switching method can be applied not only to the application scenario of the curved wall, but also to various other application scenarios. Figure 5 In the application scenario shown in the figure, the robot's moving trajectory is as follows Figure 7 shown.

[0107] In a specific implementation of the embodiment of the present application, after searching for two parallel walls, the robot can perform the subsequent swimming pool cleaning process according to the following steps:

[0108] (1) Determine the first channel number and use it as the current target channel number.

[0109] (2) Control the robot to rotate 90° clockwise so that the robot's walking direction is parallel to the wall, and reset the robot's heading angle to 0°, that is, yaw = 0°.

[0110] (3) Set the current heading angle of the robot as TargetAngel, and control the robot to maintain the current heading angle and move forward in a straight line, that is, TargetAngel = yaw.

[0111] (4) Detect whether the robot collides during movement. If no collision occurs, return to step (3), that is, continue to control the robot to maintain the current heading angle and move forward in a straight line; if a collision occurs, control the robot to retreat a preset adjustment distance.

[0112] (5) Determine whether the current direction is the first arcuate movement direction. If it is the first arcuate movement direction, control the robot's heading angle to rotate to 90°, that is, yaw = 90°; if it is not the first arcuate movement direction, control the robot's heading angle to rotate to -90°, that is, yaw = -90°.

[0113] (6) Determine whether the number of cleaned channels is greater than the current target number of channels. If the number of cleaned channels is greater than the current target number of channels, execute step (7); if the number of cleaned channels is less than or equal to the current target number of channels, jump to step (9).

[0114] (7) Determine whether the robot has entered the supplementary scanning mode.

[0115] In order to mark whether the robot has entered the fill-in mode, a fill-in flag (recorded as EnterExpandcleanFlag) can be set in advance. When the fill-in flag is true (True), it means that the fill-in mode has been entered, that is, the robot is cleaning the second target area. When the fill-in flag is false (False), it means that the fill-in mode has not been entered, that is, the robot is cleaning the first target area. The initial value of the fill-in flag is False.

[0116] If the robot has currently entered the replenishment mode, that is, EnterExpandcleanFlag==True, it means that the cleaning of the swimming pool has been completed and the cleaning process ends; if the robot has not currently entered the replenishment mode, that is, EnterExpandcleanFlag==False, then execute step (8).

[0117] (8) Control the robot to move forward in a straight line until a collision occurs, thereby completing the detection of the second target area; determine the corresponding second channel number and use it as the current target channel number; change the robot's moving direction from the first arcuate moving direction to the second arcuate moving direction; change the sweep flag to True, that is, EnterExpandcleanFlag = True. Then, jump to step (15)

[0118] (9) Control the robot's straight-line forward distance.

[0119] (10) Detect whether the robot collides during movement.

[0120] In the process of controlling the robot to clean the first target area in the swimming pool, if two consecutive collisions occur at the same end of the channel when the robot switches channels, the robot can be controlled to move to the other end of the channel, and then the robot can be controlled to detect the second target area in the swimming pool, and then controlled to clean the detected second target area.

[0121] In order to facilitate recording of collision situations when the robot switches lanes, a first counter (referred to as BumpCount) and a second counter (referred to as BumpSingleCount) may be preset, and the initial values ​​of both counters are 0.

[0122] If no collision occurs, the first counter and the second counter are updated in the following manner: if the first counter is greater than 0, the first counter is reduced by one count unit, that is, BumpCount --, if the first counter is 0, it remains unchanged; if the second counter is greater than 0, the second counter is reduced by one count unit, that is, BumpSingleCount --, if the second counter is 0, it remains unchanged. After completing the update of the first counter and the second counter, jump to step (15).

[0123] If a collision occurs, the first counter and the second counter are updated respectively in the following manner: the first counter is increased by one counting unit, namely BumpCount++; the second counter is increased by two counting units, namely BumpSingleCount+=2. After the update of the first counter and the second counter is completed, step (11) is executed.

[0124] (11) Determine whether the first counter is greater than or equal to 2. If so, it means that the cleaning of the swimming pool has been completed and the cleaning process ends; if not, execute step (12).

[0125] (12) Determine whether the second counter is greater than or equal to 3. If so, it means that when the robot switches lanes, two consecutive collisions occur at the same end of the lane, and execute step (13); if not, jump to step (15).

[0126] (13) Determine whether the robot has entered the supplementary scanning mode.

[0127] If the robot has currently entered the replenishment mode, that is, EnterExpandcleanFlag==True, it means that the cleaning of the swimming pool has been completed and the cleaning process ends; if the robot has not currently entered the replenishment mode, that is, EnterExpandcleanFlag==False, then execute step (14).

[0128] (14) Control the robot to move to the other end of the channel; control the robot to rotate so that its direction is consistent with the first bow movement direction. Then, jump to step (8).

[0129] (15) Determine whether the current heading angle TargetAngle is 0°. If so, control the robot's heading angle to rotate to 180°, that is, yaw = 180°; if not, control the robot's heading angle to rotate to 0°, that is, yaw = 0°. After the rotation is completed, control the robot to retreat until it collides with the wall. Then, jump to step (3).

[0130] In summary, the embodiment of the present application controls the robot to search for two parallel walls in the swimming pool to be cleaned; controls the robot to clean the first target area in the swimming pool; wherein the first target area is the area between the two parallel walls; controls the robot to detect the second target area in the swimming pool; wherein the second target area is the area other than the first target area; controls the robot to clean the detected second target area. Through the embodiment of the present application, two parallel walls can be searched in the swimming pool to be cleaned, and used as a reference for cleaning the swimming pool. First, the first target area between the two walls is cleaned, and then the second target area is further detected and cleaned. Therefore, a more comprehensive cleaning can be performed in various irregularly shaped swimming pools to avoid missed cleaning, and the robot has a wider applicability.

[0131] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0132] Corresponding to the swimming pool cleaning method described in the above embodiment, Figure 8 A structural diagram of an embodiment of a swimming pool cleaning device provided in an embodiment of the present application is shown.

[0133] In this embodiment, a swimming pool cleaning device may include:

[0134] A parallel wall search module 801 is used to control the robot to search for two parallel walls in the swimming pool to be cleaned;

[0135] A first target area cleaning module 802 is used to control the robot to clean a first target area in the swimming pool; wherein the first target area is the area between the two parallel walls;

[0136] A second target area detection module 803, used to control the robot to detect a second target area in the swimming pool; wherein the second target area is an area other than the first target area;

[0137] The second target area cleaning module 804 is used to control the robot to clean the detected second target area.

[0138] In a specific implementation of the embodiment of the present application, the first target area cleaning module may include:

[0139] a first arcuate cleaning unit, used to control the robot to clean the first target area in a first arcuate moving direction;

[0140] Accordingly, the second target area cleaning module may include:

[0141] The second arcuate cleaning unit is used to control the robot to clean the second target area in a second arcuate moving direction; wherein the second arcuate moving direction is opposite to the first arcuate moving direction.

[0142] In a specific implementation of an embodiment of the present application, the first bow-shaped cleaning unit can be specifically used to: determine a first distance corresponding to the first target area; calculate a first channel number corresponding to the first target area based on the first distance and a preset channel spacing; and control the robot to clean the first target area according to the first bow-shaped moving direction and the first channel number.

[0143] In a specific implementation of an embodiment of the present application, the second bow-shaped cleaning unit can be specifically used to: determine a second distance corresponding to the second target area; calculate a second channel number corresponding to the second target area based on the second distance and a preset channel spacing; and control the robot to clean the second target area according to the second bow-shaped moving direction and the second channel number.

[0144] In a specific implementation of the embodiment of the present application, the swimming pool cleaning device may further include:

[0145] A channel switching control module is used to control the robot to advance on a first channel until it collides with a wall during the process of the robot switching channels; wherein the first channel is the channel before switching; control the robot to retreat a preset adjustment distance; control the robot to switch from the first channel to a second channel; wherein the second channel is the channel after switching; control the robot to retreat on the second channel until it collides with a wall; and control the robot to advance on the second channel.

[0146] In a specific implementation of the embodiment of the present application, the parallel wall search module may include:

[0147] A first heading angle determining unit, configured to determine a first heading angle between the robot and the first wall by controlling the robot to collide with the first wall;

[0148] A second heading angle determining unit, configured to determine a second heading angle corresponding to the robot and the second wall by controlling the robot to collide with the second wall;

[0149] a heading angle deviation calculation unit, configured to calculate a heading angle deviation between the first heading angle and the second heading angle;

[0150] A parallel wall determination unit is used to determine the first wall and the second wall as the two parallel walls if the heading angle deviation is less than or equal to a preset deviation threshold.

[0151] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, modules and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0152] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0153] Fig. 9 A schematic block diagram of a robot provided in an embodiment of the present application is shown. For ease of explanation, only the parts related to the embodiment of the present application are shown.

[0154] like Fig. 9As shown, the robot 9 of this embodiment includes: a processor 90, a memory 91, and a computer program 92 stored in the memory 91 and executable on the processor 90. When the processor 90 executes the computer program 92, the steps in the above-mentioned swimming pool cleaning method embodiments are implemented, for example Figure 1 Alternatively, when the processor 90 executes the computer program 92, the functions of each module / unit in the above-mentioned device embodiments are realized, for example Figure 8 The functions of modules 801 to 804 are shown.

[0155] Exemplarily, the computer program 92 may be divided into one or more modules / units, which are stored in the memory 91 and executed by the processor 90 to complete the present application. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program 92 in the robot 9.

[0156] Those skilled in the art will understand that Fig. 9 It is only an example of the robot 9 and does not constitute a limitation of the robot 9. The robot 9 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the robot 9 may also include input and output devices, network access devices, buses, etc.

[0157] The processor 90 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc.

[0158] The memory 91 may be an internal storage unit of the robot 9, such as a hard disk or memory of the robot 9. The memory 91 may also be an external storage device of the robot 9, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the robot 9. Further, the memory 91 may also include both an internal storage unit of the robot 9 and an external storage device. The memory 91 is used to store the computer program and other programs and data required by the robot 9. The memory 91 may also be used to temporarily store data that has been output or is to be output.

[0159] The technicians in the relevant field can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example for illustration. In practical applications, the above-mentioned function allocation can be completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiment can be integrated in a processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of the functional units and modules are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of this application. The specific working process of the units and modules in the above-mentioned system can refer to the corresponding process in the aforementioned method embodiment, which will not be repeated here.

[0160] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0161] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0162] In the embodiments provided in the present application, it should be understood that the disclosed devices / robots and methods can be implemented in other ways. For example, the device / robot embodiments described above are merely schematic. For example, the division of the modules or units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0163] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0164] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0165] If the integrated module / unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable storage medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable storage medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable storage media do not include electric carrier signals and telecommunication signals.

[0166] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. A swimming pool cleaning method, characterized in that: include: Control the robot to search for two parallel walls in the pool to be cleaned; Controlling the robot to clean a first target area in the swimming pool; wherein the first target area is an area between the two parallel walls; Controlling the robot to detect a second target area in the swimming pool; wherein the second target area is an area other than the first target area; The robot is controlled to clean the detected second target area.

2. The swimming pool cleaning method according to claim 1, characterized in that: The controlling the robot to clean the first target area in the swimming pool includes: Controlling the robot to clean the first target area in a first arcuate moving direction; Accordingly, controlling the robot to clean the detected second target area includes: The robot is controlled to clean the second target area in a second arcuate moving direction; wherein the second arcuate moving direction is opposite to the first arcuate moving direction.

3. The swimming pool cleaning method according to claim 2, characterized in that: The controlling the robot to clean the first target area according to the first arcuate moving direction includes: determining a first distance corresponding to the first target area; Calculating a first channel number corresponding to the first target area according to the first distance and a preset channel spacing; The robot is controlled to clean the first target area according to the first bow-shaped moving direction and the first channel number.

4. The swimming pool cleaning method according to claim 2, characterized in that: The controlling the robot to clean the detected second target area includes: determining a second distance corresponding to the second target area; Calculating the number of second channels corresponding to the second target area according to the second distance and a preset channel spacing; The robot is controlled to clean the second target area according to the second arcuate moving direction and the second channel number.

5. The swimming pool cleaning method according to claim 2, characterized in that: Also includes: During the process of the robot switching the channel, controlling the robot to move forward on the first channel until it collides with the wall; wherein the first channel is the channel before switching; Controlling the robot to move back a preset adjustment distance; Controlling the robot to switch from the first channel to a second channel; wherein the second channel is the channel after switching; Controlling the robot to retreat on the second channel until it collides with a wall; Control the robot to move forward on the second channel.

6. The swimming pool cleaning method according to claim 1, characterized in that: Also includes: During the process of controlling the robot to clean the first target area in the swimming pool, if two consecutive collisions occur at the same end of the channel when the robot switches channels, the robot is controlled to move to the other end of the channel, and the step of controlling the robot to detect the second target area in the swimming pool and its subsequent steps are executed.

7. The swimming pool cleaning method according to any one of claims 1 to 6, characterized in that: The controlling robot searches for two parallel walls in the swimming pool to be cleaned, including: Determine a first heading angle between the robot and the first wall by controlling the robot to collide with the first wall; Determine a second heading angle between the robot and the second wall by controlling the robot to collide with the second wall; Calculating a heading angle deviation between the first heading angle and the second heading angle; If the heading angle deviation is less than or equal to a preset deviation threshold, the first wall and the second wall are determined as the two parallel walls.

8. A swimming pool cleaning device, characterized in that: include: A parallel wall search module is used to control the robot to search for two parallel walls in the swimming pool to be cleaned; A first target area cleaning module, used to control the robot to clean a first target area in the swimming pool; wherein the first target area is the area between the two parallel walls; A second target area detection module, used to control the robot to detect a second target area in the swimming pool; wherein the second target area is an area other than the first target area; The second target area cleaning module is used to control the robot to clean the detected second target area.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the swimming pool cleaning method according to any one of claims 1 to 7 are implemented.

10. A robot comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the steps of the swimming pool cleaning method according to any one of claims 1 to 7 are implemented.