Swimming pool robot control method, swimming pool robot, equipment and storage medium
Through the sensor system detecting obstacle information and performing target avoidance actions, the swimming pool robot realizes efficient and safe mapping in the layered swimming pool, solving the problems of low accuracy and insufficient security in the existing technology, and extending the usage time.
Patent Information
- Application Number
- CN202510309845.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-07-18
AI Technical Summary
The existing pool robots have low accuracy and low efficiency in swimming pools with layered characteristics, making it difficult to effectively avoid obstacles, resulting in insufficient safety and usage time.
The sensor system is used to detect obstacle information, and through the target avoidance action, ensure that the swimming pool robot and obstacles are within a safe distance range, and plan the plan one by one, and set different distance ranges according to the type of obstacle to adapt to different scenarios.
It improves the accuracy and efficiency of map construction, reduces the risk of falling, extends the use time of the robot, and enhances safety and ability to adapt to complex water environments.
Smart Images

Figure CN120335435A_ABST
Abstract
Description
Technical Field
[0001] This application relates to, but is not limited to, the field of robotics, and in particular, to a control method for a pool robot, a pool robot, a device, and a storage medium. Background Art
[0002] In the related art, a pool robot is an autonomous device that can autonomously perform operations (such as cleaning, etc.) in various pools. Before the pool robot performs operations in the pool, it needs to first map the pool. However, currently, when the pool robot maps a pool with layered features (such as cliffs, faults, slopes, etc.), there are problems such as low accuracy and low mapping efficiency. Summary of the Invention
[0003] Embodiments of this application provide a control method for a pool robot, a pool robot, a device, a storage medium, and a program product to solve the problem that the pool robot in the related art cannot accurately and efficiently map a pool with layered features.
[0004] The technical solution of the embodiments of this application is implemented as follows:
[0005] Embodiments of this application provide a control method for a pool robot. The pool robot includes a sensor system for detecting obstacle information around the pool robot. The method includes:
[0006] During the process of mapping the first target plane of the pool by the pool robot, when the pool robot is in the first scenario, control the pool robot to perform a target avoidance action so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle;
[0007] Wherein, there are at least two planes with different depths in the pool, the first target plane is one of the at least two planes with different depths, the first obstacle includes a first type of obstacle and / or a second type of obstacle, the distance ranges corresponding to the first type of obstacle and the second type of obstacle are different, and the first scenario indicates that the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first obstacle.
[0008] In the embodiments of the present application, first, by separately mapping each plane of the swimming pool, not only the independence and accuracy of mapping for each plane are ensured, but also efficient mapping of a swimming pool with hierarchical features is achieved, thereby improving the efficiency and coverage of subsequent operations. Secondly, during the process of mapping any one plane, by detecting the surrounding obstacle information through the sensor system, information such as the type of the first obstacle and the distance between the first obstacle and the pool robot can be more accurately determined according to the obstacle information, so that it can be accurately recognized whether the pool robot is in a specific first scenario. Finally, when the pool robot is in a specific first scenario, by performing a specific target avoidance action to ensure that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle, not only the accuracy and effectiveness of mapping are ensured, but also since the pool robot can accurately identify the first obstacle and the distance between the pool robot and the first obstacle is maintained within a safe distance, the possibility of the pool robot falling at hierarchical locations such as cliffs, faults, and slopes is reduced, thereby improving the safety and service life of the pool robot. In addition, the distance ranges corresponding to the first type of obstacle and the second type of obstacle are different, and the obstacle avoidance distances are specifically set for different types of obstacles. The pool robot can not only adapt to different obstacle scenarios, save energy, prevent collisions, and prevent falls, but also map as close to the edge of the obstacle as possible, so as to more accurately obtain the contour edge of the area to be mapped and improve the mapping accuracy.
[0009] In some embodiments, the first type of obstacle is a cliff-like obstacle, the minimum value of the distance range corresponding to the cliff-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the cliff-like obstacle is not greater than 50 cm.
[0010] In the embodiments of the present application, by setting the distance range corresponding to the cliff-like obstacle to be 0 - 50 cm, on the one hand, this distance range can be used as a buffer parameter to allow the pool robot to dynamically correct the movement path and reduce the risk of falling caused by sensor delay, water flow disturbance, or slipping. On the other hand, by setting reasonable minimum and maximum values to balance the safety and efficiency of the pool robot, it is especially suitable for complex dynamic water environments.
[0011] In some embodiments, the second type of obstacle is a wall-like obstacle, the minimum value of the distance range corresponding to the wall-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the wall-like obstacle is not greater than 10 cm.
[0012] In the embodiments of the present application, by setting the distance range corresponding to wall-like obstacles to be 0 to 10 centimeters, on the one hand, this distance range can be used as a buffer parameter to limit the contact between the robot and wall-like obstacles, reducing the probability of wear of the hardware of the pool robot. On the other hand, by setting reasonable minimum and maximum values, the safety and efficiency of the pool robot are taken into account, especially adapted to complex dynamic water environments.
[0013] In some embodiments, the control method further includes: sequentially taking one of the at least two planes with different depths as the first target plane in the order from shallow to deep to complete the mapping of each plane.
[0014] In the embodiments of the present application, by sequentially completing the mapping of each plane in the order from shallow to deep, and using features such as cliffs, faults, and slopes identified in the shallow plane to improve the map of the deep plane, the map sharing of different planes is realized, thereby improving the accuracy and integrity of the mapping.
[0015] In some embodiments, the control method further includes: when the obstacle information detected by the sensor system indicates that the first obstacle is the first type of obstacle and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first type of obstacle, and / or, when the obstacle information detected by the sensor system indicates that the first obstacle is the second type of obstacle and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the second type of obstacle, determining that the pool robot is in the first scenario.
[0016] In the embodiments of the present application, comprehensively determining whether the pool robot is in a specific first scenario according to the type of the first obstacle and the distance between the pool robot and the first obstacle can improve the accuracy of identifying the first scenario, thereby improving the mapping efficiency while enhancing the safety of the movement of the pool robot.
[0017] In some embodiments, controlling the pool robot to perform a target avoidance action includes: adjusting the pool robot to a target angle so that the pool robot performs the target avoidance action; wherein, the target angle is determined based on the distance between the pool robot and the first obstacle and the distance range corresponding to the first obstacle.
[0018] In the embodiments of the present application, by performing a turning action to make the distance from the first obstacle within the corresponding distance range, not only the mapping range is ensured, but also the possibility of the pool robot falling at stratified places such as cliffs, faults, and slopes is reduced.
[0019] In some embodiments, the target avoidance action further includes a backward movement. Adjusting the pool robot to the target angle includes: controlling the pool robot to perform the backward movement so that no part of the pool robot touches the first obstacle; and adjusting the pool robot to the target angle.
[0020] In the embodiments of the present application, by controlling the pool robot to move backward until no part of the pool robot touches the first obstacle, the possibility of the pool robot colliding with wall-like obstacles or falling at the layered area during subsequent turning is reduced, ensuring the normal execution of the subsequent turning action, thereby improving the safety of the pool robot and extending the service life of the pool robot.
[0021] In some embodiments, after the pool robot completes mapping on the first target plane, the control method further includes: controlling the pool robot to perform a first target action so that the pool robot reaches the next first target plane along a first type of obstacle in the first target plane; wherein the depth of the next first target plane is different from the depth of the first target plane.
[0022] In the embodiments of the present application, by performing a specific first target action to enable the pool robot to reach the next first target plane along a certain first type of obstacle in the first target plane, flexible switching between different planes is achieved, optimizing the movement trajectory of the pool robot while ensuring the integrity of mapping.
[0023] In some embodiments, when the first obstacle is the first type of obstacle, the control method further includes: controlling the pool robot to perform a second target action when the pool robot is in a second scenario; wherein the second scenario indicates that the distance between the pool robot and the first obstacle is greater than the maximum value of the distance range corresponding to the first type of obstacle and less than a first distance threshold.
[0024] In the embodiments of the present application, when the pool robot is in a specific second scenario, by performing a specific second target action to ensure that the distance from the first obstacle is always kept within a safe distance, early perception of obstacles is achieved, reducing the possibility of the pool robot falling at layered areas such as cliffs, faults, and slopes. Thus, while improving the safety and service life of the pool robot, the complete execution of the mapping task is ensured, further enhancing the coverage rate of the pool robot in a multi-plane scenario.
[0025] In some embodiments, the control method further includes: when the pool robot is operating on the second target plane in the swimming pool, when the pool robot is in a third scene, controlling the pool robot to perform a third target action so that the distance between the pool robot and a second obstacle is not less than a distance threshold corresponding to the second obstacle; wherein the second obstacle includes first-category obstacles and / or second-category obstacles, the distance threshold corresponding to the first-category obstacles is different from the distance threshold corresponding to the second-category obstacles, and the third scene characterizes that the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second obstacle.
[0026] In the implementation mode of the present application, firstly, by operating on each plane of the swimming pool separately, not only the independence and accuracy of the operation on each plane are ensured, but also the efficiency and coverage of the operation are improved while the operation effect is improved; secondly, in the process of operating on any plane, the surrounding obstacle information is detected by the sensor system, and the type of the second obstacle, the distance between the second obstacle and the swimming pool robot and other information can be more accurately determined according to the obstacle information, so that it can be accurately identified whether the swimming pool robot is in a specific second scene; finally, when the swimming pool robot is in a specific second scene, a specific third target action is performed to ensure that the distance between the swimming pool robot and the second obstacle is not less than the distance threshold corresponding to the second obstacle, which not only ensures the accuracy of the operation, but also because the swimming pool robot can accurately identify the second obstacle and the distance between the second obstacle is kept within a safe distance, the possibility of the swimming pool robot falling at cliffs, faults, slopes and other layered areas is reduced, thereby improving the safety and service life of the swimming pool robot. In addition, the distance threshold corresponding to the first type of obstacles is different from that corresponding to the second type of obstacles. The obstacle avoidance distance is set specifically for different types of obstacles. The swimming pool robot can adapt to different obstacle scenes, save energy, avoid collisions, and prevent falls, while working as close to the edge of the obstacle as possible, thereby improving the coverage of the operation.
[0027] In some embodiments, the control method also includes: determining that the swimming pool robot is in the third scene when the obstacle information detected by the sensor system indicates that the second obstacle is the first type of obstacle and the distance between the swimming pool robot and the second obstacle is less than the distance threshold corresponding to the first type of obstacle, and / or the obstacle information detected by the sensor system indicates that the second obstacle is the second type of obstacle and the distance between the swimming pool robot and the second obstacle is less than the distance threshold corresponding to the second type of obstacle.
[0028] In the embodiments of the present application, by comprehensively determining whether the pool robot is in a specific third scenario based on the type of the second obstacle and the distance from the second obstacle, the accuracy of identifying the third scenario can be improved, thereby improving the safety of the movement of the pool robot while enhancing the operation efficiency.
[0029] In some embodiments, the third target action includes a backward movement and a turning movement; controlling the pool robot to perform the third target action includes: controlling the pool robot to perform the backward movement so that any part of the pool robot does not contact the second obstacle; controlling the pool robot to perform the turning movement.
[0030] In the embodiments of the present application, on the one hand, by controlling the pool robot to move backward until any part of the pool robot does not contact the second obstacle, the normal execution of the subsequent turning movement is ensured; on the other hand, by performing the turning movement so that the distance from the second obstacle is not less than the corresponding distance threshold, not only the operation range is ensured, but also the possibility of the pool robot colliding with wall-like obstacles or falling at the stratified area is reduced, thereby enhancing the safety of the pool robot and extending the service life of the pool robot.
[0031] In some embodiments, after the pool robot completes the operation on the second target plane, the control method further includes: controlling the pool robot to perform a fourth target action so that the pool robot reaches the next second target plane along a first type of obstacle in the second target plane; wherein, the depth of the next second target plane is different from the depth of the second target plane.
[0032] In the embodiments of the present application, by performing a specific fourth target action so that the pool robot can reach the next second target plane along a certain first type of obstacle in the second target plane, flexible switching between different planes is achieved, which not only optimizes the movement trajectory, but also expands the operation range while ensuring the integrity of the operation.
[0033] In some embodiments, the sensor system includes at least one of the following: a first sensor system located in front of the pool robot, a second sensor system located on the side of the pool robot, and a third sensor system located behind the pool robot. The obstacle information around the pool robot is determined based on the detection information collected by the target sensor system, where: the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The detection information collected by the first sensor system is used to indicate the forward distance between the front of the pool robot and the obstacle, the detection information collected by the second sensor system is used to indicate the lateral distance between the side of the pool robot and the obstacle, and the detection information collected by the third sensor system is used to indicate the backward distance between the rear of the pool robot and the obstacle.
[0034] In the embodiments of the present application, by using various sensor systems located on the surface of the fuselage to focus on detecting the surrounding obstacle information, it is possible to more accurately determine the type of surrounding obstacles, the distance between the obstacles and the pool robot, etc. based on the detection information. This not only broadens the mapping range but also enables accurate identification of whether the robot is in a specific scenario, thereby improving the safety of the pool robot while ensuring the accuracy and effectiveness of mapping.
[0035] In some embodiments, the sensor system includes a three-dimensional sensor for collecting the target point cloud of the target object. The distance between the pool robot and the obstacle is determined based on the target point cloud of the target object, and the target object includes the ground on the plane where the pool robot is located.
[0036] In the embodiments of the present application, by using the point cloud of the ground to determine the distance between the pool robot and the obstacle, it is possible to quickly identify sudden changes in the terrain ahead. Compared with distance sensors, since the point cloud information can more directly reflect the continuity of the terrain and is less affected by environmental factors such as water quality and light, the possibility of misjudgment is greatly reduced, thereby improving the applicability of the pool robot in complex pools (for example, pools containing multiple planes).
[0037] In some embodiments, the distance between the pool robot and the obstacle is determined based on the effective point cloud number of the target point cloud, the point cloud width of the target point cloud, and / or the area of the target point cloud.
[0038] In the embodiment of the present application, the distance between the pool robot and the obstacle is comprehensively determined by the number, width, and / or area of the point cloud on the ground, so as to more precisely quantify the terrain mutation characteristics, achieve the purpose of more quickly and accurately locating whether the ground disappears, improve the detection accuracy and reliability, and at the same time improve the adaptability of the pool robot to different cliff depths and edge morphologies.
[0039] The embodiment of the present application provides a control method for a pool robot. The pool robot includes a sensor system for detecting obstacle information around the pool robot. The control method includes:
[0040] After the pool robot completes a target task on the third target plane in the pool, control the pool robot to perform a fifth target action so that the pool robot reaches the next third target plane along a first type of obstacle in the third target plane;
[0041] Wherein, there are at least two planes with different depths in the pool, the third target plane is one of the at least two planes with different depths, and the depth of the next third target plane is different from the depth of the third target plane.
[0042] In the embodiment of the present application, after the pool robot completes target tasks such as mapping and operation on the third target plane, by performing a specific fifth target action, the pool robot can reach the next third target plane along a certain first type of obstacle in the third target plane, realizing flexible switching between different planes, not only optimizing the motion trajectory, but also ensuring the integrity and accuracy of the execution of the target task.
[0043] In some embodiments, the fifth target action includes a first action and a second action. Controlling the pool robot to perform the fifth target action so that the pool robot reaches the next third target plane along a first type of obstacle in the third target plane includes: controlling the pool robot to perform the first action so that the pool robot approaches the first type of obstacle in the third target plane; controlling the pool robot to perform the second action so that the pool robot reaches the next third target plane along the first type of obstacle.
[0044] In the embodiment of the present application, on the one hand, by performing a specific first action, the pool robot approaches the first type of obstacle to ensure the accurate execution of subsequent actions; on the other hand, by performing a specific second action, the pool robot reaches the next third target plane along the first type of obstacle, realizing flexible switching between different planes, not only optimizing the motion trajectory, but also ensuring the integrity and accuracy of the execution of the target task.
[0045] In some embodiments, the sensor system includes at least one of the following: a first sensor system located in front of the pool robot, a second sensor system located on the side of the pool robot, and a third sensor system located behind the pool robot. The obstacle information around the pool robot is determined based on the detection information collected by the target sensor system, where: the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The detection information collected by the first sensor system is used to indicate the forward distance between the front of the pool robot and the obstacle, the detection information collected by the second sensor system is used to indicate the lateral distance between the side of the pool robot and the obstacle, and the detection information collected by the third sensor system is used to indicate the backward distance between the rear of the pool robot and the obstacle.
[0046] In the embodiments of the present application, by using various sensor systems located on the surface of the fuselage to focus on detecting the surrounding obstacle information, the type of surrounding obstacles, the distance between the obstacles and the pool robot, etc. can be determined more accurately based on the detection information. This not only broadens the mapping range but also enables accurate identification of whether the robot is in a specific scenario, thereby improving the safety of the pool robot while ensuring the accuracy and effectiveness of mapping.
[0047] In some embodiments, the sensor system includes a three-dimensional sensor for collecting the target point cloud of the target object. The distance between the pool robot and the obstacle is determined based on the target point cloud of the target object, and the target object includes the ground on the plane where the pool robot is located.
[0048] In the embodiments of the present application, by using the point cloud of the ground to determine the distance between the pool robot and the obstacle, sudden changes in the terrain ahead can be quickly identified. Compared with distance sensors, since the point cloud information can more directly reflect the continuity of the terrain and is less affected by environmental factors such as water quality and light, the possibility of misjudgment is greatly reduced, thereby improving the applicability of the pool robot in complex pools (for example, pools containing multiple planes).
[0049] In some embodiments, the distance between the pool robot and the obstacle is determined based on the number of valid point clouds of the target point cloud, the point cloud width of the target point cloud, and / or the area of the target point cloud.
[0050] In the embodiments of the present application, the distance between the pool robot and the obstacle is comprehensively determined by the number, width, and / or area of the point cloud on the ground, so as to more precisely quantify the terrain mutation characteristics, achieving the purpose of more quickly and accurately locating whether the ground disappears. While improving the detection accuracy and reliability, the adaptability of the pool robot to different cliff depths and edge shapes is also enhanced.
[0051] The embodiments of the present application provide a control method for a pool robot. The pool robot includes a sensor system for detecting obstacle information around the pool robot. The control method includes:
[0052] During the movement of the pool robot on the fourth target plane in the pool, when the pool robot is in the fourth scenario, control the pool robot to perform a sixth target action to make the distance between the pool robot and the third obstacle greater than the second distance threshold;
[0053] Wherein, there are at least two planes with different depths in the pool, the fourth target plane is the shallower one among the at least two planes with different depths, the fourth scenario indicates that the distance between the pool robot and the third obstacle is not greater than the second distance threshold, and the third obstacle is a cliff-like obstacle.
[0054] In the embodiments of the present application, on the one hand, during the movement on any plane, by detecting the obstacle information around through the sensor system, information such as the type of the third obstacle and the distance between the third obstacle and the pool robot can be more accurately determined according to the obstacle information, so as to accurately identify whether the pool robot is in a specific fourth scenario; on the other hand, when the pool robot is in a specific fourth scenario, by performing a specific sixth target action to ensure that the distance between the pool robot and the cliff-like obstacle remains within a safe distance, the possibility of the pool robot falling at stratifications such as cliffs, faults, and slopes is reduced, thereby improving the safety and service life of the pool robot.
[0055] In some embodiments, the control method further includes: when the first distance is less than the previous first distance and the first distance is not greater than the second distance threshold, determine that the pool robot is in the fourth scenario; wherein, the first distance is the distance between the pool robot and the third obstacle.
[0056] In the embodiments of the present application, by comprehensively determining the distance between the pool robot and cliff-like obstacles twice, before and after, it is determined whether the pool robot is in a specific fourth scenario, achieving dynamic trend perception and cross-verification of multiple measurement data, reducing misjudgment caused by single measurement errors, improving the accuracy of the fourth scenario recognition, and thus enhancing the safety of the pool robot's movement.
[0057] In some embodiments, the control method further includes: when the pool robot is in a fifth scenario, controlling the pool robot to perform a seventh target action; wherein, the fifth scenario indicates that the distance between the pool robot and the third obstacle is greater than the second distance threshold and not greater than the third distance threshold.
[0058] In the embodiments of the present application, when the pool robot is in a specific fifth scenario, by performing a specific seventh target action to ensure that the distance from cliff-like obstacles is always within a safe distance, early perception of cliff-like obstacles is achieved, reducing the possibility of the pool robot falling at stratifications such as cliffs, faults, and slopes, thereby enhancing the safety and service life of the pool robot, and further improving the coverage rate of the pool robot in multi-plane scenarios.
[0059] In some embodiments, the control method further includes: when the second distance is less than the previous second distance, the second distance is not greater than the third distance threshold, and the second distance is greater than the second distance threshold, it is determined that the pool robot is in the fifth scenario; wherein, the second distance is the distance between the pool robot and the third obstacle.
[0060] In the embodiments of the present application, by comprehensively determining whether the pool robot is in a specific fifth scenario based on the distance between the pool robot and cliff-like obstacles twice, before and after, and whether the distance between the pool robot and cliff-like obstacles is between the second distance threshold and the third distance threshold, dynamic trend perception and cross-verification of multiple measurement data are achieved, reducing misjudgment caused by single measurement errors, improving the accuracy of the fifth scenario recognition, and thus enhancing the safety of the pool robot's movement.
[0061] In some embodiments, the sixth target action includes at least one of the following: a backward movement, a forward movement, and a turning movement; controlling the pool robot to perform the sixth target action includes: when the third obstacle is in front of the pool robot, controlling the pool robot to perform the backward movement and / or the turning movement; when the third obstacle is on the side of the pool robot, controlling the pool robot to perform the turning movement; when the third obstacle is behind the pool robot, controlling the pool robot to perform the forward movement and / or the turning movement.
[0062] In an embodiment of the present application, by controlling the pool robot to perform backward, forward, and / or turning actions to ensure that the distance between the pool robot and cliff-like obstacles remains within a safe distance, not only the movement range is widened, but also the possibility of the pool robot falling at the stratified area is reduced, thereby improving the safety of the pool robot and extending its service life.
[0063] In some embodiments, the sensor system includes at least one of the following: a first sensor system located in front of the pool robot, a second sensor system located on the side of the pool robot, and a third sensor system located behind the pool robot. The obstacle information around the pool robot is determined based on the detection information collected by the target sensor system, where: the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The detection information collected by the first sensor system is used to indicate the forward distance between the front of the pool robot and the obstacle, the detection information collected by the second sensor system is used to indicate the lateral distance between the side of the pool robot and the obstacle, and the detection information collected by the third sensor system is used to indicate the backward distance between the rear of the pool robot and the obstacle.
[0064] In an embodiment of the present application, by using various sensor systems located on the surface of the fuselage to focus on detecting the surrounding obstacle information, it is possible to more accurately determine the type of surrounding obstacles, the distance between the obstacles and the pool robot, etc. based on the detection information. This not only widens the mapping range but also enables accurate identification of whether the robot is in a specific scenario, thereby improving the safety of the pool robot while ensuring the accuracy and effectiveness of mapping.
[0065] In some embodiments, the sensor system includes a three-dimensional sensor for collecting the target point cloud of the target object, and the distance between the pool robot and the obstacle is determined based on the target point cloud of the target object, where the target object includes the ground on the plane where the pool robot is located.
[0066] In an embodiment of the present application, by using the point cloud of the ground to determine the distance between the pool robot and the obstacle, sudden changes in the terrain ahead can be quickly identified. Compared with distance sensors, since point cloud information can more directly reflect the continuity of the terrain and is less affected by environmental factors such as water quality and light, the possibility of misjudgment is greatly reduced, thereby improving the applicability of the pool robot in complex pools (for example, pools containing multiple planes).
[0067] In some embodiments, the distance between the pool robot and the obstacle is determined based on the number of valid point clouds of the target point cloud, the point cloud width of the target point cloud, and / or the area of the target point cloud.
[0068] In the embodiments of the present application, the distance between the pool robot and the obstacle is comprehensively determined by the number, width, and / or area of the point cloud on the ground, so as to more precisely quantify the terrain mutation characteristics, achieve the purpose of faster and more accurate positioning of whether the ground disappears, and improve the adaptability of the pool robot to different cliff depths and edge morphologies while enhancing the detection accuracy and reliability.
[0069] An embodiment of the present application provides a pool robot, including a sensor system and a controller. The sensor system is used to detect obstacle information around the pool robot, and the controller is used to execute any one of the above control methods.
[0070] An embodiment of the present application provides an electronic device, including a processor and a memory. The memory stores a computer program that can run on the processor, and when the processor executes the computer program, any one of the above methods is implemented.
[0071] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, any one of the above methods is implemented.
[0072] An embodiment of the present application provides a computer program product. The computer program product includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, any one of the above methods is implemented.
[0073] It should be understood that the above general description and subsequent detailed description are only exemplary and explanatory, and do not limit the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0074] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification. These drawings illustrate embodiments consistent with the present application and, together with the specification, are used to explain the technical solutions of the present application.
[0075] Figure 1A FIG. 1 is a schematic diagram of the composition structure of a pool robot provided by an embodiment of the present application;
[0076] Figure 1B FIG. 2 is a schematic diagram of the composition structure of a pool robot provided by an embodiment of the present application; Figure 2 ;
[0077] Figure 2 FIG. 3 is a schematic diagram of the implementation process of a control method of a pool robot provided by an embodiment of the present application;
[0078] Figure 3 Schematic diagram of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 2 ;
[0079] Figure 4 Schematic diagram of a pool robot performing edge mapping on each plane of a pool provided by an embodiment of the present application;
[0080] Figure 5 Schematic diagram of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 3 ;
[0081] Figure 6 Schematic diagram of a pool robot performing cleaning on each plane of a pool provided by an embodiment of the present application;
[0082] Figure 7 Schematic diagram of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 4 ;
[0083] Figure 8 Schematic diagram of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 5 ;
[0084] Figure 9 Schematic diagram of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 6 ;
[0085] Figure 10 Schematic diagram of the hardware entity of an electronic device provided by an embodiment of the present application. Detailed implementation manners
[0086] In order to make the objectives, technical solutions, and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be construed as limitations on the present application. All other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the scope of protection of the present application.
[0087] In the following description, reference is made to "some embodiments", which describe a subset of all possible embodiments. However, it can be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments, and can be combined with each other without conflict.
[0088] In the following description, the terms "first", "second", and "third" are only used to distinguish similar objects and do not represent a specific order for the objects. Understandably, "first", "second", and "third" can be interchanged with a specific order or sequence when allowed, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein.
[0089] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0090] The method provided by the embodiments of this application can be executed by an electronic device. The electronic device can be various types of terminals such as a laptop computer, a tablet computer, a desktop computer, a set-top box, a mobile device (for example, a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable game device), a pool robot, etc., or can also be implemented as a server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.
[0091] Next, the technical solutions in the embodiments of this application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of this application.
[0092] Figure 1A FIG. 1 is a schematic diagram of the composition structure of a pool robot provided by an embodiment of this application. As Figure 1A shown, the pool robot 10 includes a fuselage 11 and a sensor system 12, and the sensor system 12 is located on the fuselage 11.
[0093] Here, a pool robot is an autonomous device that can move autonomously in water (for example, on the water surface, underwater, etc.) and complete corresponding operations autonomously without external human information input and control. In some embodiments, the operations of the pool robot in water can include but are not limited to cleaning, inspection, environmental monitoring, etc. When implementing, those skilled in the art can set the operations of the pool robot according to actual needs, and the embodiments of this application do not make limitations.
[0094] The shape of the body of the pool robot can be any suitable shape, for example, circular, square, etc. In some embodiments, a part of the body is circular and another part is square. The material of the body can be any suitable material, for example, metal, etc. In implementation, the embodiments of the present application do not limit the shape, material, etc. of the body.
[0095] The sensor system is used to detect obstacle information around the pool robot. Among them, the obstacle information can include, but is not limited to, the contour of the obstacle, the size of the obstacle, the distance between the pool robot and the obstacle, the orientation between the pool robot and the obstacle, the type of the obstacle, etc.
[0096] The obstacle can be any suitable obstacle. In some embodiments, the obstacle can include, but is not limited to, the first type of obstacle, the second type of obstacle, the third type of obstacle, etc. Among them, the first type of obstacle refers to an obstacle with a layered feature, for example, a cliff, a fault, a slope, etc. The second type of obstacle refers to wall-type obstacles such as walls and pool walls. The shape of the wall-type obstacle can be any suitable shape such as circular, arc-shaped, square, L-shaped, etc. The embodiments of the present application do not limit the shape of the wall-type obstacle. The third type of obstacle refers to other obstacles except the first type of obstacle and the second type of obstacle, for example, stick-like obstacles such as branches and sticks. The obstacle can be located at least in one of the front, rear, side, etc. of the pool robot. The distance between the pool robot and the obstacle can include, but is not limited to, the distance between the pool robot and the front obstacle, the distance between the pool robot and the side obstacle, the distance between the pool robot and the rear obstacle, etc.
[0097] The sensor system can include any suitable sensor capable of realizing this function. For example, a distance sensor, a vision sensor, an acceleration sensor, an angle sensor, an infrared sensor, an ultrasonic sensor, a depth sensor, a structured light sensor, etc. The depth sensor can include, but is not limited to, a matrix TOF (Time of Flight) sensor, a 3D lidar, a binocular camera, etc. In implementation, the sensor system can include at least one sensor of at least one type.
[0098] In some embodiments, the sensor system includes at least one of the following: a first sensor system located in front of the pool robot, a second sensor system located on the side of the pool robot, and a third sensor system located behind the pool robot. The obstacle information around the pool robot is determined by the detection information collected by the target sensor system, and the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The detection information collected by the first sensor system is used to indicate the forward distance between the front of the pool robot and the obstacle, the detection information collected by the second sensor system is used to indicate the lateral distance between the side of the pool robot and the obstacle, and the detection information collected by the third sensor system is used to indicate the backward distance between the rear of the pool robot and the obstacle.
[0099] Here, the sensor systems and sensor types included in the first sensor system, the second sensor system, and the third sensor system may be the same or different.
[0100] The target sensor system includes at least one sensor of at least one type. For example, a distance sensor, a vision sensor, an infrared sensor, a laser sensor, an ultrasonic sensor, a depth sensor, a structured light sensor, etc. In some embodiments, when at least two sensors are included in the target sensor system, the types of these at least two sensors may be the same or different.
[0101] The first detection information collected by the first sensor system is mainly used to indicate obstacle information in front of the pool robot. For example, the first detection information is used to indicate the distance between the front of the pool robot and the obstacle, the type of the obstacle, etc., to ensure that the pool robot can avoid obstacles when moving on water and / or underwater. For example, the first sensor system includes at least one depth sensor, which is used to detect the first point cloud information of the obstacle in front of the pool robot. Through the first point cloud information, the distance between the pool robot and the front obstacle, the type of the front obstacle, the contour of the front obstacle, etc. can be determined. For another example, the first sensor system includes at least one ultrasonic sensor and at least one vision sensor. For still another example, the first sensor system includes at least one ultrasonic sensor and at least one depth sensor. The depth sensor projects a light source onto various objects in front of the pool robot (such as the ground, the pool wall, other objects, etc.). According to the comparison between the point cloud information of each object and the height of the pool robot (i.e., the reference height, the height of the ground where the pool robot is located), the type of each object is determined. If the point cloud information of the object indicates that the height of the object is higher than the height threshold compared to the reference height, then the object is considered a wall-like obstacle; if the point cloud information of the object indicates that the height of the object is not higher than the reference height and the point cloud gradually disappears, then the object is considered a cliff-like obstacle; the distance between the pool robot and each object is determined according to the point cloud information of each object. The height threshold can be any appropriate value, such as 3 cm, 5 cm, etc. In implementation, the embodiments of the present application do not limit the number of sensors in the first sensor system and the layout of each sensor on the front end face of the pool robot. In some implementation manners, when at least one sensor in the first sensor system is disposed near the front corner of the fuselage, the first detection information collected by the first sensor system can also be used to indicate obstacle information on the side of the pool robot.
[0102] The second detection information collected by the second sensor system is mainly used to indicate obstacle information on the side of the pool robot. For example, the second detection information is used to indicate the distance between the side of the pool robot and an obstacle, the type of the obstacle, etc. The second sensor system can be located on the left side, right side, left and right sides of the fuselage. During implementation, the left side and the right side of the fuselage are divided based on the forward direction of the pool robot as the reference direction. For example, the second sensor system includes at least one depth sensor. The depth sensor is used to detect the second point cloud information of the side obstacles of the pool robot. Through this second point cloud information, the distance between the pool robot and the side obstacles, the contour of the side obstacles, the type of the side obstacles, etc. can be determined. Another example is that the second sensor system includes at least one ultrasonic sensor and at least one depth sensor. The depth sensor projects a light source onto various objects (such as the ground, the pool wall, other objects, etc.) on the side of the pool robot. By comparing the point cloud information of each object with a reference height to determine the type of each object. If the point cloud information of an object indicates that the height of the object is higher than the height threshold compared to the reference height, then the object is considered an obstacle of the wall type; if the point cloud information of an object indicates that the height of the object is not higher than the reference height and the point cloud gradually disappears, then the object is considered an obstacle of the cliff type; the distance between the pool robot and each object is determined based on the point cloud information of each object. In some embodiments, the second sensor system can include two depth sensors, respectively located on both sides of the fuselage. In this way, by setting depth sensors on both the left and right sides, when the pool robot is mapping or operating close to obstacles on the left side and / or the right side, the type of the obstacle and the distance to the obstacle can be accurately judged, expanding the usage scenarios of the pool robot, improving the comprehensiveness of edge operations, and enhancing the safety of the pool robot. During implementation, the embodiments of the present application do not limit the number of sensors in the second sensor system and the layout of each sensor on the side of the pool robot. Through the second sensor system, the perception ability of the pool robot at the edge or during turning can be enhanced, avoiding collisions with side obstacles and eliminating operation dead corners, so as to improve the edge operation efficiency. In some embodiments, when at least one sensor in the second sensor system is arranged near the front end or the rear end of the side of the fuselage, the detection information collected by the second sensor system can also be used to indicate obstacle information in front of or behind the pool robot.
[0103] The third detection information collected by the third sensor system is mainly used to indicate the obstacle information behind the pool robot. For example, the third detection information is used to indicate the distance between the rear of the pool robot and the obstacle, the type of the obstacle, etc., to ensure that the pool robot can avoid obstacles when moving on water and / or underwater. For example, the third sensor system includes at least one depth sensor, which is used to detect the third point cloud information of the obstacle behind the pool robot. Through the third point cloud information, the distance between the pool robot and the rear obstacle, the type of the rear obstacle, the contour of the rear obstacle, etc. can be determined. For another example, the third sensor system includes at least one ultrasonic sensor and at least one vision sensor. For still another example, the third sensor system includes at least one ultrasonic sensor and at least one depth sensor. The depth sensor projects a light source onto various objects (such as the ground, the pool wall, other objects, etc.) on the side of the pool robot. By comparing the point cloud information of each object with a reference height to determine the type of each object. If the point cloud information of the object indicates that the height of the object is higher than the height threshold compared to the reference height, then the object is considered a wall-like obstacle; if the point cloud information of the object indicates that the height of the object is not higher than the reference height and the point cloud gradually disappears, then the object is considered a cliff-like obstacle; the distance between the pool robot and each object is determined according to the point cloud information of each object. In implementation, the embodiments of the present application do not limit the number of sensors in the third sensor system and the layout of each sensor on the rear end face of the pool robot. In some implementation manners, when at least one sensor in the third sensor system is disposed near the rear corner of the fuselage, the third detection information collected by the third sensor system can also be used to indicate the obstacle information on the side of the pool robot.
[0104] For example, when there is an obstacle on the side of the pool robot, then, the detection information collected by the target sensor system can be used to indicate the obstacle on the side and the distance from the obstacle on the side. The target sensor system may include the second sensor system. In some implementation manners, when the sensors of the first sensor system are located at the front corner and / or the sensors of the third sensor system are located at the rear corner, the target sensor system may also include, but is not limited to, the first sensor system, the third sensor system, etc.
[0105] For another example, in the case where there are obstacles both in front of and on the side of the pool robot, the detection information collected by the target sensor system can be used to indicate the obstacles in front, the distances to the obstacles in front, the obstacles on the side, and the distances to the obstacles on the side. The target sensor system may include a first sensor system + a second sensor system. In some embodiments, when the sensors of the first sensor system are located at the front corners, the sensors of the second sensor system are located at the front ends of the sides, and the sensors of the third sensor system are located at the rear corners, the target sensor system may also include, but is not limited to, the first sensor system, the second sensor system, the first sensor system + the third sensor system, etc.
[0106] For yet another example, in the case where there is an obstacle behind the pool robot, the detection information collected by the target sensor system can be used to indicate the obstacle behind and the distance to the obstacle behind. The target sensor system may include a third sensor system. In some embodiments, when the sensors of the second sensor system are located at the rear ends of the sides, the target sensor system may also include the second sensor system, etc.
[0107] In the embodiments of the present application, by means of the respective sensor systems located on the surface of the fuselage, which focus on detecting the surrounding obstacle information, it is possible to more accurately determine the type of surrounding obstacles, the distance between the obstacles and the pool robot, etc. based on the detection information. This not only broadens the mapping range but also enables accurate identification of whether the robot is in a specific scenario, thereby improving the safety of the pool robot while ensuring the accuracy and effectiveness of mapping.
[0108] In some embodiments, the sensor system includes a three-dimensional sensor for collecting the target point cloud of the target object, and the distance between the pool robot and the obstacle is determined based on the target point cloud of the target object, where the target object includes the ground of the plane where the pool robot is located.
[0109] Here, the three-dimensional sensor may include, but is not limited to, a structured light sensor, a depth sensor, etc. The number of three-dimensional sensors may be at least one.
[0110] A point cloud refers to a set of points representing the surface characteristics of an object, that is, a point cloud is a data set composed of a large number of discrete points, and each point represents a sampling point on the surface of the object. In implementation, the target point cloud on the ground can be used to determine whether there are cliff-like obstacles around the pool robot and the distance to the cliff-like obstacles. For example, the target point cloud on the ground in front of the pool robot can be used to determine whether there is a cliff-like obstacle in front of the pool robot and the distance to the cliff-like obstacle in front. Another example is to use the target point cloud on the ground on the side of the pool robot to determine whether there is a cliff-like obstacle on the side of the pool robot and the distance to the cliff-like obstacle on the side. Still another example is to use the target point cloud on the ground behind the pool robot to determine whether there is a cliff-like obstacle behind the pool robot and the distance to the cliff-like obstacle behind.
[0111] The method for determining the distance between the pool robot and the obstacle can be any suitable method. In some embodiments, the distance between the pool robot and the obstacle is determined based on the number of valid points in the target point cloud, the width of the point cloud, and / or the area of the target point cloud.
[0112] Here, the number of valid points in the target point cloud refers to the size of the point data set in the target point cloud. In implementation, the method for determining the distance between the pool robot and the obstacle based on the number of valid points can be any suitable method. For example, according to the correspondence between each number of valid points and each distance, the distance matching the number of valid points can be obtained. Another example is that the distance matching the number of valid points can be obtained according to the conversion formula between the number of valid points and the distance. Still another example is that any suitable neural network model can be used to calculate the distance based on the number of valid points. This neural network model has the function of calculating the distance based on the number of valid points.
[0113] The width of the point cloud of the target point cloud represents the width of the ground surface collected. In some embodiments, it can be the lateral span of the coverage area after projecting the target point cloud onto a two-dimensional plane (for example, XOY). In implementation, the method for determining the distance between the pool robot and the obstacle based on the width of the point cloud can be any suitable method. For example, according to the correspondence between each width of the point cloud and each distance, the distance matching the width of the point cloud can be obtained. Another example is that the distance matching the width of the point cloud can be obtained according to the conversion formula between the width of the point cloud and the distance. Still another example is that any suitable neural network model can be used to calculate the distance based on the width of the point cloud. This neural network model has the function of calculating the distance based on the width of the point cloud.
[0114] The area of the target point cloud represents the area of the ground surface being collected. In some embodiments, after projecting the target point cloud onto a two-dimensional plane (e.g., XOY), it can be determined based on the lateral span and longitudinal span of its covered area. When implementing, the determination method for determining the distance between the pool robot and the obstacle according to this area can be any suitable method. For example, according to the correspondence relationship between each area and each distance, the distance matching this area can be obtained. Another example is that the distance matching this area can be obtained according to the conversion formula between the area and the distance. Still another example is that any suitable neural network model can be used to calculate this distance based on this area. This neural network model has the function of calculating the distance based on the area.
[0115] In the embodiments of the present application, the distance between the pool robot and the obstacle is comprehensively determined by the number, width, and / or area of the point cloud on the ground, so as to more finely quantify the terrain mutation characteristics, achieving the purpose of faster and more accurate positioning of whether the ground disappears. While improving the detection accuracy and reliability, it also improves the adaptability of the pool robot to different cliff depths and edge morphologies.
[0116] In some embodiments, it is possible to determine whether there are wall-like obstacles around the pool robot and the distance to the wall-like obstacles through the point cloud information of each object collected by a depth sensor or a structured light sensor. For example, if the point cloud information of the object in front indicates that the height of the object is higher than the height threshold compared to the reference height, it is considered that there is a wall-like obstacle in front of the pool robot.
[0117] In the embodiments of the present application, the distance between the pool robot and the obstacle is determined through the point cloud on the ground, which can quickly identify the mutation of the terrain ahead. Compared with a distance sensor, since the point cloud information can more directly reflect the continuity of the terrain and is less affected by environmental factors such as water quality and light, the possibility of misjudgment is greatly reduced, thereby improving the applicability of the pool robot in a complex pool (e.g., containing multiple planes).
[0118] Due to the performance differences of different sensors in water, the attenuation, refraction, scattering, etc. of light caused by the changes in the underwater medium, there are errors in the point clouds collected by the sensors. In some embodiments, since the refractive indices of different media are different, when light enters each different medium, the path of the light will change. Then, in order to improve the accuracy of the point clouds collected by the sensors, a multi-medium refraction model can be established based on the propagation path of light in the underwater environment first, and then the underwater camera can be calibrated according to the multi-medium refraction model and a special calibration object (for example, a calibration board), so as to overcome the distortion or deviation of the underwater light to obtain accurate point clouds, and further enable the pool robot to clearly see or accurately identify the surrounding obstacles and the distances to the obstacles. During implementation, the initial internal and external parameters of the underwater camera can be determined by taking pictures of the calibration board from multiple angles first, and then the initial internal and external parameters of the underwater camera can be iteratively optimized multiple times using the multi-medium refraction model to complete the high-precision calibration of the underwater camera in a multi-medium environment, effectively solving the imaging distortion caused by the refraction effect and meeting the detection requirements of underwater obstacles.
[0119] In some embodiments, the sensor system may include a fourth sensor system located in the fuselage. The fourth sensor system is mainly used to detect the posture (for example, tilt angle, rotation angle, etc.), motion information (for example, acceleration, speed), etc. of the pool robot. The information detected by the fourth sensor system can be used to determine whether the pool robot is in contact with an obstacle. The fourth sensor system may include any suitable sensor capable of implementing this function. For example, an acceleration sensor, an angle sensor, an ultrasonic sensor, etc. In some embodiments, the third sensor system may include an inertial measurement unit (IMU, Inertial Measurement Unit). An IMU is a device that measures the three-axis attitude angle (or angular rate) and acceleration of an object. Generally, an IMU includes three single-axis accelerometers and three single-axis gyroscopes. The accelerometers detect the acceleration signals of the object on the three independent axes of the carrier coordinate system, while the gyroscopes detect the angular velocity signals of the carrier relative to the navigation coordinate system, measure the angular velocity and acceleration of the object in three-dimensional space, and calculate the attitude of the object based on this. During implementation, the IMU can be located at any suitable position such as the center of gravity or the center of the pool robot. In this way, through the fourth sensor system, not only can it ensure that the pool robot maintains balance in water to ensure the smooth operation of the pool robot and reduce the risk of flipping, but it can also provide navigation information to facilitate the planning of the overall operation path.
[0120] Figure 1B Schematic diagram of the composition structure of a pool robot provided by an embodiment of the present application Figure 2 , such as Figure 1BAs shown, the pool robot includes a fuselage 11 and a sensor system. The sensor system includes a first sensor system 121, a second sensor system 122, and a third sensor system 123. Among them, the first sensor system 121 is arranged in front of the fuselage 11, the second sensor system 122 is arranged on the side of the fuselage 11, and the third sensor system 123 is arranged behind the fuselage 11.
[0121] In some embodiments, the pool robot further includes a working component. The working component can be any suitable component capable of performing work. For example, during the cleaning operation of the pool robot, the working component is mainly used to perform the cleaning task. Then, the working component can be a cleaning roller, a cleaning brush, a cleaning tray, etc. The shape of the working component can be any suitable shape. In implementation, the embodiments of the present application do not limit the shape, material, etc. of the working component.
[0122] The number of the working components can be at least one. In some embodiments, the working component includes a forward working component located in front of the fuselage and / or a backward working component located behind the fuselage. The forward working component and the backward working component can be the same or different. For example, the working component includes a forward working component. Another example is that during the cleaning operation, the working component includes a forward working component and a backward working component, and both the forward working component and the backward working component are cleaning rollers, or the forward working component is a cleaning roller and the backward working component is a cleaning brush.
[0123] In some embodiments, the number of the working components can be set according to the application scenario of the pool robot. For example, when the pool robot is a surface robot, the working component can include a forward working component; when the pool robot is an underwater robot or an all-in-one machine, the working component can include a forward working component and a backward working component. A surface robot refers to a robot that performs operations on the water surface. An underwater robot refers to a robot that performs operations on the pool bottom or the pool wall. An all-in-one machine refers to a robot that can perform operations both on the water surface and underwater.
[0124] In some embodiments, the pool robot further includes a controller, and the controller is used to execute any one of the control methods of the pool robot provided by the present application. Among them, the controller can be any suitable component capable of realizing the control function. For example, MCU (Microcontroller Unit), CPU (Central Processing Unit), DSP (Digital Signal Processor), single-chip microcomputer, etc.
[0125] In some embodiments, the pool robot further includes a power system, which may include a propeller. The propeller is used to enable the pool robot to perform actions such as moving forward, backward, and turning. In some embodiments, the propeller may include a left propeller and a right propeller. During implementation, by controlling the simultaneous forward and reverse rotation of the left propeller and the right propeller, the pool robot can perform forward or backward actions; by controlling the rotation speed of the left propeller to be different from that of the right propeller, the pool robot can perform left or right turning actions.
[0126] In some embodiments, the power system may further include a track. The track enables the pool robot to move stably on the bottom of the pool (e.g., tile joints, slopes, steps, etc.) or on the pool wall, avoiding jamming or slipping problems caused by uneven pool bottoms. It is suitable for handling curved pool walls and corner areas. At the same time, compared with wheels, the track disperses the body weight by increasing the contact area, reducing frictional damage to the pool bottom coating, and enhancing the grip on the smooth tile surface. During implementation, the track is used to enable the pool robot to perform actions such as moving forward, backward, and turning. In some embodiments, the track may include a left track and a right track. During implementation, by controlling the simultaneous forward and reverse rotation of the left track and the right track, the pool robot can perform forward or backward actions; by controlling the rotation speed of the left track to be different from that of the right track, the pool robot can perform left or right turning actions.
[0127] Figure 2 FIG. 1 is a schematic flow chart of the implementation of a control method for a pool robot provided by an embodiment of the present application. As Figure 2 shown, the control method includes step S21, where:
[0128] Step S21: During the process of mapping the first target plane in the pool by the pool robot, when the pool robot is in the first scenario, control the pool robot to perform a target avoidance action so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle; where there are at least two planes with different depths in the pool, the first target plane is one of the at least two planes with different depths, the first obstacle includes a first type of obstacle and / or a second type of obstacle, the distance ranges corresponding to the first type of obstacle and the second type of obstacle are different, and the first scenario indicates that the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first obstacle.
[0129] Here, due to stratification features such as faults, cliffs, slopes, and pits in the pool, the pool is divided into at least two planes. For example, the pool includes a deep beach and at least one shallow beach. For another example, the pool includes a pool bottom and a tanning platform. For still another example, the pool includes a pool bottom and a pit in the pool bottom.
[0130] Each plane has a depth, which can be the depth relative to a reference object, and the reference object can include but is not limited to the water surface, the pool surface, the pool bottom, etc. In some embodiments, at least two of the at least two planes of the pool have different depths. For another example, the pool includes a pool bottom A and a plane B. If the reference object is the water surface or the pool surface, at this time, the depth of the pool bottom A can be greater than the depth of the plane B (for example, a tanning platform), and the depth of the pool bottom A can also be less than the depth of the plane B (for example, a pool within a pool). For another example, the pool includes a pool bottom A, a plane B, and a plane C. The depths of the plane B and the plane C can be the same or different, and the depth of the pool bottom A is different from the depths of both the plane B and the plane C. For example, if the reference object is the water surface or the pool surface, at this time, the depth of the pool bottom A is greater than the depth of the plane B, and the depth of the plane B is greater than the depth of the plane C.
[0131] In some embodiments, the pool robot can map within the plane according to a mapping method. Among them, the mapping method can be any suitable method, for example, mapping along the edge, mapping to the edge, mapping by other methods, etc. Mapping along the edge means moving around the edge of the plane for mapping. Mapping to the edge can mean moving back and forth between the non-edge and the edge of the plane for mapping. Other mapping means mapping by other methods other than mapping along the edge and mapping to the edge. During implementation, the pool robot can map according to the mapping method laterally, forwardly, or backwardly.
[0132] In some embodiments, the mapping methods corresponding to different planes can be the same or different. During implementation, the corresponding relationship between each plane and various mapping methods can be established in advance, and according to this corresponding relationship, the mapping method corresponding to each plane can be obtained.
[0133] The obstacle information can include but is not limited to the contour, size, type, etc. of the obstacle, the distance and orientation between the pool robot and the obstacle, etc.
[0134] The first obstacle can be any suitable obstacle. In some embodiments, the first obstacle can include at least one of, but is not limited to, a first type of obstacle, a second type of obstacle, etc. The first type of obstacle refers to an obstacle with a layered feature, for example, a cliff, a fault, a slope, etc., and the second type of obstacle refers to a wall, a pool wall, etc. which are wall-like obstacles. For example, the first obstacle includes a wall-like obstacle in front of the pool robot. For another example, the first obstacle includes a second type of obstacle in front of the pool robot and a second type of obstacle on the side of the pool robot. For still another example, the first obstacle includes a second type of obstacle in front of the pool robot and a wall-like obstacle on the side of the pool robot.
[0135] The distance range corresponding to the first obstacle can be any suitable distance range that can characterize that the distance between the pool robot and the first obstacle is very close and safe. For example, 0.1 centimeter (cm) to 10 cm, 0 cm to 10 cm, 0 cm to 50 cm, 0.2 cm to 50 cm, 1 cm to 50 cm, etc. Safety means that the pool robot will not collide with the wall-like obstacle and will not fall at the stratified area.
[0136] Different obstacles can correspond to different distance ranges. In some embodiments, the distance range corresponding to the second type of obstacle can be smaller than the distance range corresponding to the first type of obstacle. For example, the maximum value of the distance range corresponding to the second type of obstacle is smaller than the maximum value of the distance range corresponding to the first type of obstacle. For example, the distance range corresponding to the second type of obstacle can be 0 cm to 10 cm, and the distance range corresponding to the first type of obstacle can be 0 cm to 50 cm. In some embodiments, the corresponding relationship between various types of obstacles and various distance ranges can be established in advance. According to this corresponding relationship, the distance range corresponding to each type of obstacle can be obtained. In some embodiments, the distance ranges corresponding to various types of obstacles can be set according to the sensitivity, accuracy, etc. of the sensors in the pool robot, and the embodiments of the present application do not limit this.
[0137] In some embodiments, the first type of obstacle is a cliff-like obstacle, and the minimum value of the distance range corresponding to the cliff-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the cliff-like obstacle is not greater than 50 cm. In this way, by setting the distance range corresponding to the cliff-like obstacle to 0 to 50 cm, on the one hand, this distance range can be used as a buffer parameter to allow the pool robot to dynamically correct the movement path and reduce the risk of falling caused by sensor delay, water flow disturbance, or slipping. On the other hand, by setting reasonable minimum and maximum values to balance the safety and efficiency of the pool robot, it is especially suitable for complex dynamic water environments.
[0138] In some embodiments, the second type of obstacle is a wall-like obstacle, and the minimum value of the distance range corresponding to the wall-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the wall-like obstacle is not greater than 10 cm. In this way, by setting the distance range corresponding to the wall-like obstacle to 0 to 10 cm, on the one hand, this distance range can be used as a buffer parameter to limit the contact between the robot and the wall-like obstacle and reduce the probability of wear of the hardware of the pool robot. On the other hand, by setting reasonable minimum and maximum values to balance the safety and efficiency of the pool robot, it is especially suitable for complex dynamic water environments.
[0139] In some embodiments, at least one piece of obstacle information obtained within a first duration can be used to determine whether the pool robot is in a first scenario, thereby reducing the misjudgment rate. The first duration can include, but is not limited to, any suitable duration such as 10 milliseconds (ms), 30 ms, etc. The determination method of the first scenario can be any suitable method. For example, if most of the obstacle information in the at least one piece of obstacle information indicates that the pool robot is in the first scenario, it is determined that the pool robot faces the first scenario.
[0140] During implementation, when the pool robot is stationary, turning, moving forward, moving backward, etc., the surrounding obstacle information can be obtained through the sensor system. For example, when the pool robot is in a stationary state (such as when it is powered on, docked, etc.), the surrounding obstacle information can be obtained through the sensor system, and whether the pool robot is in the first scenario can be detected based on the obstacle information.
[0141] In some embodiments, it can be determined whether the pool robot is in the first scenario based on the detection information collected by the target sensor system, and the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The target detection information is mainly used to indicate the obstacle information around the pool robot. For example, the target detection information is used to indicate the distance between the pool robot and the first obstacle, the type of the first obstacle, etc. For example, when the target detection information indicates that the first obstacle is a first type of obstacle and the distance between the pool robot and the first obstacle is not within the threshold range corresponding to the first type of obstacle, it is determined that the pool robot is in the first scenario. Also, for example, when the target detection information indicates that the first obstacle is a second type of obstacle and the distance between the pool robot and the first obstacle is not within the threshold range corresponding to the second type of obstacle, it is determined that the pool robot is in the first scenario.
[0142] The acquisition method of the target detection information can be any suitable method. For example, the target sensor system can obtain the target detection information in a timed, real-time, instruction-based, etc. manner. For example, when the target sensor system receives a collection instruction, it collects the target detection information. Also, for example, the target sensor system collects the target detection information according to a set collection duration.
[0143] In some embodiments, when the target detection information indicates that the pool robot is approaching the first obstacle, the movement speed of the pool robot can be reduced to continue moving, so as to reduce the possibility of the pool robot falling at the first type of obstacle or the force generated by the second type of obstacle on the pool robot when the pool robot collides with the second type of obstacle, thereby improving the safety and service life of the pool robot.
[0144] The target avoidance action can be any suitable action to avoid the first obstacle. For example, at least one of a forward movement, a backward movement, a turning movement, etc. The target distance of the movement and / or the angle of the movement can be determined according to the first difference and / or the second difference. The first difference refers to the difference between the distance between the pool robot and the first obstacle and the maximum value of the distance threshold corresponding to the first obstacle. The second difference refers to the difference between the distance between the pool robot and the first obstacle and the minimum value of the distance threshold corresponding to the first obstacle. The determination method of the target distance can include, but is not limited to, the first difference, the weighting of the first difference, the second difference, the weighting of the second difference, other values between the first difference and the second difference, etc. In implementation, after the pool robot moves the target distance, the distance between the pool robot and the first obstacle should be not less than the minimum value of the distance range corresponding to the first obstacle and not greater than the maximum value of the distance range corresponding to the first obstacle. The angle of the movement can be determined according to the target distance.
[0145] For example, when the pool robot performs edge mapping through its head, if the distance between the pool robot and the first obstacle is greater than the maximum value of the distance threshold corresponding to the first obstacle, at this time, the forward movement can be used as the target avoidance action, and the target distance of the forward movement can be determined according to the first difference and / or the second difference.
[0146] Also, for example, when the pool robot performs edge mapping through its side, if the distance between the pool robot and the first obstacle is greater than the maximum value of the distance threshold corresponding to the first obstacle, at this time, the turning movement can be used as the target avoidance action, and the turning angle can be determined according to the first difference and / or the second difference. In some implementation manners, when the pool robot is relatively close to the first obstacle, such that the pool robot cannot normally perform the turning movement, then, before performing the turning movement, the target avoidance action can further include a backward movement. During the process of the pool robot performing the backward movement, the distance from the first obstacle is obtained in real time. When it is determined that no part of the pool robot will contact the first obstacle (that is, it can ensure the normal execution of the turning movement), the pool robot is controlled not to move backward anymore. In implementation, the backward distance of the pool robot should be small enough.
[0147] Still, for example, when the pool robot performs edge mapping through its back, if the distance between the pool robot and the first obstacle is greater than the maximum value of the distance threshold corresponding to the first obstacle, at this time, the backward movement can be used as the target avoidance action, and the target distance of the backward movement can be determined according to the first difference and / or the second difference.
[0148] In some embodiments, when the power system of the pool robot includes left and right propellers, the rotation directions of the left and right propellers when the pool robot performs a forward movement are different from those when it performs a backward movement. For example, usually, when the pool robot performs a forward movement, both propellers rotate forward; when the pool robot needs to move backward, the two propellers can be controlled to rotate in reverse to achieve the backward movement of the pool robot; when moving forward or backward, the rotational speeds of the two propellers are basically the same. When the pool robot needs to turn left, the rotational speed of the left propeller can be reduced and / or the rotational speed of the right propeller can be increased to make the rotational speed of the left propeller lower than that of the right propeller, thereby achieving a left turn of the pool robot; when the pool robot needs to turn right, the rotational speed of the left propeller can be increased and / or the rotational speed of the right propeller can be reduced to make the rotational speed of the left propeller higher than that of the right propeller, thereby achieving a right turn of the pool robot.
[0149] In some embodiments, when the power system of the pool robot includes left and right tracks, the rotation directions of the left and right tracks when the pool robot performs a forward movement are different from those when it performs a backward movement. For example, usually, when the pool robot performs a forward movement, both the left and right tracks rotate forward. When the pool robot needs to move backward, the left and right tracks can be controlled to rotate in reverse to achieve the backward movement of the pool robot. Under normal circumstances, the rotational speeds of the left and right tracks are basically the same. When the pool robot needs to turn left, the rotational speed of the left track can be reduced and / or the rotational speed of the right track can be increased to make the rotational speed of the left track lower than that of the right track, thereby achieving a left turn of the pool robot; when the pool robot needs to turn right, the rotational speed of the left track can be increased and / or the rotational speed of the right track can be reduced to make the rotational speed of the left track higher than that of the right track, thereby achieving a right turn of the pool robot.
[0150] In some embodiments, during the entire process of map building, the distance between the pool robot and an obstacle should be not less than the minimum value of the distance range corresponding to the obstacle.
[0151] In some embodiments, the pool robot needs to build maps in each plane separately. The order of mapping each plane can be any suitable order, for example, from shallow to deep, from deep to shallow, etc. In some embodiments, if the depths of at least two planes are the same, the order of mapping the at least two planes can be determined in a random, custom, or other manner. In some embodiments, after the pool robot completes mapping on a certain plane, it can enter the next plane by floating up or sinking until the last plane to complete the mapping of all planes. During implementation, if the depth of the next plane is greater than the current plane, it can enter the next plane by actively falling, climbing down along the layer, or other sinking methods; if the depth of the next plane is less than the current plane, it can enter the next plane by floating up along the layer, or other floating methods.
[0152] In the embodiments of the present application, firstly, by mapping each plane of the swimming pool separately, not only the independence and accuracy of the mapping of each plane are ensured, but also the efficient mapping of the swimming pool with layered characteristics is realized, thereby improving the efficiency and coverage of subsequent operations; secondly, in the process of mapping any plane, the surrounding obstacle information is detected by the sensor system, and the type of the first obstacle, the distance between the first obstacle and the swimming pool robot and other information can be more accurately determined according to the obstacle information, thereby accurately identifying whether the swimming pool robot is in a specific first scene; finally, when the swimming pool robot is in a specific first scene, by performing a specific target avoidance action to ensure that the distance between the swimming pool robot and the first obstacle is within the distance range corresponding to the first obstacle, not only the accuracy and effectiveness of the mapping are ensured, but also because the swimming pool robot can accurately identify the first obstacle and the distance between it and the first obstacle is kept within a safe distance, the possibility of the swimming pool robot falling at layered locations such as cliffs, faults, and slopes is reduced, thereby improving the safety and use time of the swimming pool robot. In addition, the distance range corresponding to the first type of obstacles is different from that corresponding to the second type of obstacles. The obstacle avoidance distance is set specifically for different types of obstacles. The swimming pool robot can adapt to different obstacle scenes, save energy, avoid collisions, and prevent falls, while building maps as close to the edge of the obstacle as possible, thereby more accurately obtaining the contour edge of the area to be mapped and improving the accuracy of mapping.
[0153] In some embodiments, the control method further includes step S22, wherein:
[0154] Step S22: In order from shallow to deep, one of at least two planes at different depths is used as the first target plane to complete the mapping of each plane.
[0155] Here, since the similarity between wall-like obstacles and cliff-like obstacles is relatively high in the deepest plane (for example, the plane corresponding to the bottom of the pool or the bottom pit of the pool), the pool robot may not be able to accurately determine whether the obstacle is a wall-like obstacle or a cliff-like obstacle. Therefore, during the entire mapping process, mapping can be performed in the order from shallow to deep. Then, when mapping in the deepest plane, if it is impossible to accurately determine whether the obstacle is a wall-like obstacle or a cliff-like obstacle, it can be further determined based on the mapping results of other planes, thereby improving the accuracy of mapping in the deepest plane. During implementation, the mapping process for each plane is similar, and reference can be made to the specific implementation manner of step S21 described above.
[0156] In the embodiment of the present application, mapping of each plane is completed in sequence from shallow to deep, so as to utilize features such as cliffs, faults, and slopes identified in the shallow plane to improve the map of the deep plane, realizing map sharing among different planes, thereby improving the accuracy and integrity of mapping.
[0157] In some embodiments, the "controlling the pool robot to perform a target avoidance action" in step S21 includes step S211, where:
[0158] Step S211: Adjust the pool robot to a target angle so that the pool robot performs a target avoidance action; where the target angle is determined based on the distance between the pool robot and the first obstacle and the distance range corresponding to the first obstacle.
[0159] Here, the target distance can be determined first based on the distance between the pool robot and the first obstacle and the distance range corresponding to the first obstacle, and then the target angle can be determined according to the target distance. The determination method of the target distance can include but is not limited to the first difference, the weighted value of the first difference, the second difference, the weighted value of the second difference, any value between the first difference and the second difference, etc. The first difference refers to the difference between the distance between the pool robot and the first obstacle and the maximum value of the distance threshold corresponding to the first obstacle, and the second difference refers to the difference between the distance between the pool robot and the first obstacle and the minimum value of the distance threshold corresponding to the first obstacle.
[0160] The target avoidance action may include a turning action. The turning action can be any suitable turning action, such as turning left, turning right, etc. The process of the pool robot performing the turning action may include, but is not limited to, the pool robot performing the turning action while the fuselage does not turn, the pool robot performing the turning action and at least part of the fuselage has turned, etc. In implementation, by performing the turning action, the current angle of the pool robot is adjusted to the target angle so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle. In some embodiments, during the process of the pool robot performing the turning action, the angular velocity meter of the IMU can be used to calculate the turning angle of the pool robot in real time until the turning angle is the target angle to complete the target avoidance action.
[0161] In some embodiments, the target angle can be adjusted by issuing an adjustment instruction containing the target angle so that the pool robot adjusts its angle according to the adjustment instruction.
[0162] In the embodiments of the present application, by performing the turning action so that the distance from the first obstacle is within the corresponding distance range, not only the mapping range is ensured, but also the possibility of the pool robot falling at stratifications such as cliffs, faults, slopes, etc. is reduced.
[0163] In some embodiments, the target avoidance action further includes a backward movement. The "adjusting the pool robot to the target angle" in step S211 includes step S2111 and step S2112, where:
[0164] Step S2111, control the pool robot to perform a backward movement so that any part of the pool robot does not touch the first obstacle.
[0165] Here, since the pool robot is relatively close to the first obstacle, the pool robot cannot normally perform the turning action. At this time, the backward movement can be performed first to ensure the normal execution of the subsequent turning action. The process of the pool robot performing the backward movement may include, but is not limited to, the pool robot performing the backward movement while the fuselage does not move backward, the pool robot performing the backward movement and at least part of the fuselage has moved backward, etc.
[0166] The purpose of the pool robot performing a backward movement is to avoid hitting the first obstacle when performing subsequent turning. At this time, the backward distance of the pool robot cannot be too much or too little, as long as it does not hit the first obstacle during turning. This backward distance can be a set distance or a distance determined in real time. For example, the backward distance can be 10 cm, 11 cm, 9.5 cm, etc. In some embodiments, during the backward movement of the pool robot, the distance to the target obstacle is obtained in real time. When it is determined that no part of the pool robot will contact the target obstacle, the pool robot is controlled to stop moving backward to ensure that the backward distance of the pool robot is small enough.
[0167] In some embodiments, if a preset backward distance is to be retreated, the target backward duration can be determined according to the speed of the pool robot and the preset distance. When the duration of the backward movement is the target backward duration, the pool robot is controlled to stop moving backward.
[0168] Step S2112: Adjust the pool robot to the target angle.
[0169] Here, the pool robot is adjusted to the target angle by performing a turning action. In some embodiments, the number of executions of this turning action can be at least once. By performing at least once this turning action, the angle of the pool robot is adjusted to the target angle to achieve precise angle adjustment.
[0170] In the embodiment of the present application, by controlling the pool robot to move backward until no part of the pool robot contacts the first obstacle, the possibility of the pool robot colliding with a wall-like obstacle or falling at a layered area during subsequent turning is reduced, ensuring the normal execution of the subsequent turning action, thereby improving the safety of the pool robot and extending the service life of the pool robot.
[0171] In some embodiments, the control method further includes step S231, wherein:
[0172] Step S231: When the obstacle information detected by the sensor system indicates that the first obstacle is a first type of obstacle and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first type of obstacle, and / or, when the obstacle information detected by the sensor system indicates that the first obstacle is a second type of obstacle and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the second type of obstacle, it is determined that the pool robot is in the first scenario.
[0173] Here, the first obstacle can be located in front of, on the side of, and / or behind the pool robot. During implementation, the type of the first obstacle can be judged first. If the first obstacle is a wall-like obstacle, it is judged whether the distance to the wall-like obstacle is within the distance range corresponding to the wall-like obstacle. If so, it is determined that the pool robot is not in the first scenario; otherwise, it is determined that the pool robot is in the first scenario. If the first obstacle is a cliff-like obstacle, it is judged whether the distance to the cliff-like obstacle is within the distance range corresponding to the cliff-like obstacle. If so, it is determined that the pool robot is not in the first scenario; otherwise, it is determined that the pool robot is in the first scenario.
[0174] For example, in the case where there is a wall-like obstacle in front of the pool robot, it is necessary to judge whether the forward distance between the pool robot and the wall-like obstacle in front is within the distance range corresponding to the wall-like obstacle. If the forward distance is not within the distance range corresponding to the wall-like obstacle, it is determined that the pool robot is in the first scenario.
[0175] For another example, in the case where there is a cliff-like obstacle on the side of the pool robot, it is necessary to judge whether the lateral distance between the pool robot and the cliff-like obstacle on the side is within the distance range corresponding to the cliff-like obstacle. If the lateral distance is not within the distance range corresponding to the cliff-like obstacle, it is determined that the pool robot is in the first scenario.
[0176] For still another example, in the case where there is a cliff-like obstacle in front of the pool robot and a wall-like obstacle on the side, it is necessary to judge whether the forward distance to the cliff-like obstacle in front is within the distance range corresponding to the cliff-like obstacle and whether the lateral distance to the wall-like obstacle on the side is within the distance range corresponding to the wall-like obstacle. If the forward distance is not within the distance range corresponding to the cliff-like obstacle and / or the lateral distance is not within the distance range corresponding to the wall-like obstacle, it is determined that the pool robot is in the first scenario.
[0177] In the embodiment of the present application, comprehensively determining whether the pool robot is in a specific first scenario according to the type of the first obstacle and the distance between the pool robot and the first obstacle can improve the accuracy of identifying the first scenario, thereby improving the mapping efficiency while enhancing the safety of the movement of the pool robot.
[0178] In some embodiments, when the first obstacle is a first type of obstacle, the control method further includes step S24, where:
[0179] Step S24: When the pool robot is in the second scenario, control the pool robot to perform a second target action; wherein, the second scenario indicates that the distance between the pool robot and the first obstacle is greater than the maximum value of the distance range corresponding to the first type of obstacle and less than the first distance threshold.
[0180] Here, the first distance threshold can be any suitable value that can represent a certain distance between the pool robot and the first type of obstacle. For example, 55 cm, 60 cm, etc. The second target action can be any suitable action that can reduce the possibility of the pool robot falling at the cliff-like obstacle. For example, decelerating, etc. In implementation, when there is a cliff-like obstacle around the pool robot and the distance between the pool robot and the cliff-like obstacle is greater than the maximum value of the distance range corresponding to the cliff-like obstacle and less than the first distance threshold, that is, it is predicted that the ground is about to disappear. At this time, it is determined that the pool robot is in the second scenario, and then the second target action can be executed to prevent the pool robot from falling at the cliff obstacle.
[0181] For example, when the obstacle information detected by the sensor system indicates that there is a cliff-like obstacle ahead and the distance between the pool robot and the cliff-like obstacle ahead is between the maximum value of the distance range corresponding to the first type of obstacle and the first distance threshold, that is, it is predicted that the ground ahead is about to disappear. At this time, the running speed of the pool robot can be reduced.
[0182] In the embodiment of the present application, when the pool robot is in a specific second scenario, by performing a specific second target action to ensure that the distance from the first obstacle is always kept within a safe distance, the early perception of the obstacle is realized, and the possibility of the pool robot falling at the stratifications such as cliffs, faults, slopes, etc. is reduced. Thus, while improving the safety and service life of the pool robot, the complete execution of the mapping task is ensured, and the coverage rate of the pool robot in the multi-plane scenario is further improved.
[0183] In some embodiments, after the pool robot completes mapping on the first target plane, the control method further includes step S25, wherein:
[0184] Step S25: Control the pool robot to perform a first target action so that the pool robot reaches the next first target plane along the first type of obstacle in the first target plane; wherein, the depth of the next first target plane is different from the depth of the first target plane.
[0185] Here, the first target action can be any suitable action that enables the pool robot to move from the first target plane to the next first target plane. In some embodiments, the first target action includes a first action and a second action. Among them, the first action can be any suitable action that enables the pool robot to approach a first type of obstacle in the first target plane. For example, the first action can include at least one of forward movement, backward movement, turning movement, etc. The second action can be any suitable action that enables the pool robot to reach the next first target plane along the first type of obstacle. For example, the second action can include at least one of floating upward, dropping, wall climbing, etc. In some embodiments, the second action can be determined according to the depth of the next first target plane and the depth of the first target plane.
[0186] For example, when the depth of the next first target plane is greater than the depth of the first target plane, the pool robot can enter the next first target plane through actions such as active dropping and climbing down along the stratified area. For instance, first adsorb to the cliff by moving forward or backward, and then climb down the cliff until entering the next first target plane.
[0187] Again, for example, when the depth of the next first target plane is less than the depth of the first target plane, the pool robot can enter the next first target plane through actions such as climbing up along the stratified area and floating upward. For instance, first adsorb to the slope by moving forward or backward, and then climb up the slope until entering the next first target plane.
[0188] Still, for example, when the depth of the next first target plane is equal to the depth of the first target plane, the pool robot can enter the next first target plane through any suitable actions such as floating, sinking first and then floating upward, or floating upward first and then sinking.
[0189] The first type of obstacle can be any one of the first type of obstacles in the first target plane. In implementation, if there is only one first type of obstacle in the first target plane, this first type of obstacle is regarded as the first type of obstacle; if there are at least two first type of obstacles in the first target plane, the first type of obstacle can be determined according to randomness, customization, distance, etc. For example, randomly select a certain first type of obstacle among at least two first type of obstacles as the first type of obstacle. Again, for example, determine the distances between the pool robot and each first type of obstacle, and regard the first type of obstacle with the smallest distance as the first type of obstacle.
[0190] In the embodiments of the present application, by executing specific first target actions, the pool robot can reach the next first target plane along a certain first type of obstacle in the first target plane, realizing flexible switching between different planes, optimizing the movement trajectory of the pool robot while ensuring the integrity of mapping.
[0191] In some embodiments, the control method further includes step S26, where:
[0192] Step S26, during the process of the pool robot operating on the second target plane in the pool, when the pool robot is in the third scenario, control the pool robot to perform a third target action so that the distance between the pool robot and the second obstacle is not less than the distance threshold corresponding to the second obstacle; where the second obstacle includes a first type of obstacle and / or a second type of obstacle, the distance thresholds corresponding to the first type of obstacle and the second type of obstacle are different, and the third scenario indicates that the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second obstacle.
[0193] Here, the second target plane can be any one of at least two planes with different depths. The second target plane can be the same as or different from the first target plane. The pool robot can operate according to the map of the second target plane along a globally covered planned path or a random path.
[0194] The second obstacle can be any suitable obstacle, and the second obstacle can be the same as or different from the first obstacle. In some embodiments, the second obstacle may include, but is not limited to, at least one of a first type of obstacle, a second type of obstacle, etc. For example, the second obstacle includes a wall-like obstacle in front of the pool robot. Another example is that the second obstacle includes a cliff-like obstacle in front of the pool robot and a wall-like obstacle on the side of the pool robot.
[0195] The distance threshold corresponding to the second obstacle can be any suitable distance that can indicate that the distance between the pool robot and the second obstacle is very close and safe, such as 0 cm, 0.5 cm, 1 cm, etc. Safety means that the pool robot will not collide with the wall obstacle and will not fall at the stratified area. Different second obstacles correspond to different distance thresholds. In some embodiments, the distance threshold corresponding to the second type of obstacle can be less than the distance threshold corresponding to the first type of obstacle. For example, the distance threshold corresponding to the second type of obstacle can be 0 cm, and the distance threshold corresponding to the first type of obstacle can be 1 cm. In some embodiments, a corresponding relationship between various types of obstacles and each distance threshold can be established in advance, and according to this corresponding relationship, the distance threshold corresponding to each type of obstacle can be obtained. In some embodiments, the distance threshold can be set according to the sensitivity, accuracy, etc. of the sensors in the pool robot, and the embodiments of the present application do not limit this.
[0196] In some embodiments, it is possible to determine whether the pool robot is in a third scenario based on at least one obstacle information obtained within a second duration, thereby reducing the misjudgment rate. The second duration may include, but is not limited to, any suitable duration such as 10 ms, 30 ms, etc. The determination method of the second scenario can be any suitable method. For example, if most of the obstacle information in the at least one obstacle information indicates that the pool robot is in the third scenario, it is determined that the pool robot faces the third scenario.
[0197] In some embodiments, it is possible to determine whether the pool robot is in a third scenario based on the detection information collected by the target sensor system, which includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The target detection information is mainly used to indicate the obstacle information around the pool robot. For example, the target detection information is used to indicate the distance between the pool robot and the second obstacle, the type of the second obstacle, etc. For instance, when the target detection information indicates that the second obstacle is a first type of obstacle and the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the first type of obstacle, it is determined that the pool robot is in the third scenario.
[0198] The acquisition method of the target detection information can be any suitable method. For example, the target sensor system can obtain the target detection information in a timed, real-time, instruction-based, etc. manner. For instance, when the target sensor system receives a collection instruction, it collects the target detection information. Another example is that the target sensor system collects the target detection information according to a set collection duration.
[0199] In some embodiments, when the target detection information indicates that the pool robot is approaching the second obstacle, the movement speed of the pool robot can be reduced to continue moving, so as to reduce the possibility of the pool robot falling at the first type of obstacle or the force generated by the second obstacle on the pool robot when the pool robot collides with the second type of obstacle, thereby improving the safety and service life of the pool robot.
[0200] In some embodiments, when the target detection information indicates that there is a wall - type obstacle around the pool robot and the pool robot is very close to the wall - type obstacle, due to the structural limitations of the sensor itself, the sensor may not be able to further sense the distance between the pool robot and the wall - type obstacle. At this time, the distance between the pool robot and the wall - type obstacle can be further determined by the fourth detection information collected by the fourth sensor system. The fourth detection information may include, but is not limited to, the current acceleration, the current angular velocity, the current tilt angle, etc. This fourth detection information is used to indicate the current motion state of the pool robot, and the current motion state may include, but is not limited to, an abnormal motion state, a normal motion state, etc. The abnormal motion state indicates that the pool robot is in contact with the wall - type obstacle. For example, when the accelerometer of the IMU records the existence of a force, it can be determined that the current motion state of the pool robot is an abnormal motion state. Another example is that when the angular velocity in the Z - axis direction of the IMU changes (i.e., the pool robot tilts), it indicates that the pool robot's action is abnormal. At this time, it can be determined that the current motion state of the pool robot is an abnormal motion state.
[0201] The third target action can be any suitable action that can make the distance between the pool robot and the second obstacle not less than the distance threshold corresponding to the second obstacle. For example, at least one of a forward movement, a backward movement, a turning movement, etc.
[0202] In some embodiments, the pool robot needs to operate in each plane separately. The order of operation in each plane can be any suitable order, for example, from shallow to deep, from deep to shallow, etc. In some embodiments, if the depths of at least two planes are the same, the order of operation for these at least two planes can be determined randomly, custom - defined, etc. In some embodiments, when the pool robot finishes operating in a certain plane, it can enter the next plane until the last plane by floating up or sinking to complete the operation of all planes. In implementation, if the depth of the next plane is greater than the current plane, it can enter the next plane by sinking methods such as active dropping, climbing down along the stratification; if the depth of the next plane is less than the current plane, it can enter the next plane by floating up methods such as climbing up along the stratification, floating up.
[0203] In the implementation mode of the present application, firstly, by operating on each plane of the swimming pool separately, not only the independence and accuracy of the operation on each plane are ensured, but also the efficiency and coverage of the operation are improved while the operation effect is improved; secondly, in the process of operating on any plane, the surrounding obstacle information is detected by the sensor system, and the type of the second obstacle, the distance between the second obstacle and the swimming pool robot and other information can be more accurately determined according to the obstacle information, so that it can be accurately identified whether the swimming pool robot is in a specific second scene; finally, when the swimming pool robot is in a specific second scene, a specific third target action is performed to ensure that the distance between the swimming pool robot and the second obstacle is not less than the distance threshold corresponding to the second obstacle, which not only ensures the accuracy of the operation, but also because the swimming pool robot can accurately identify the second obstacle and the distance between the second obstacle is kept within a safe distance, the possibility of the swimming pool robot falling at cliffs, faults, slopes and other layered areas is reduced, thereby improving the safety and service life of the swimming pool robot. In addition, the distance threshold corresponding to the first type of obstacles is different from that corresponding to the second type of obstacles. The obstacle avoidance distance is set specifically for different types of obstacles. The swimming pool robot can adapt to different obstacle scenes, save energy, avoid collisions, and prevent falls, while working as close to the edge of the obstacle as possible, thereby improving the coverage of the operation.
[0204] In some embodiments, the third target action includes a backward action and a turning action, and the "controlling the swimming pool robot to perform the third target action" in step S26 includes steps S261 and S262, wherein:
[0205] Step S261: Control the swimming pool robot to perform a backward movement so that no part of the swimming pool robot contacts the second obstacle.
[0206] Here, the purpose of the swimming pool robot performing the backward movement is to avoid hitting the second obstacle when performing the subsequent turn. At this time, the swimming pool robot cannot retreat too much or too little, as long as it does not hit the second obstacle when turning. The retreat distance can be a set distance or a distance determined in real time. For example, the retreat distance can be 10 cm, 11 cm, 9.5 cm, etc.
[0207] In some embodiments, during the backward movement of the pool robot, the distance to the target obstacle is acquired in real time. When it is determined that no part of the pool robot will contact the second obstacle, the pool robot is controlled to stop backward movement to ensure that the backward distance of the pool robot is small enough to reduce the possibility of repeated operations.
[0208] In some embodiments, if the pool robot retreats a preset distance, the target retreat duration can be determined based on the speed of the pool robot and the preset distance. When the duration of the retreat action is the target retreat duration, the pool robot is controlled to stop retreating.
[0209] Step S262: Control the pool robot to perform a turning action.
[0210] Here, the turning action can be any suitable turning action, such as turning left, turning right, etc. In implementation, by performing this turning action, the distance between the pool robot and the second obstacle is made not less than the distance threshold corresponding to the second obstacle. In some embodiments, during the process of the pool robot performing the turning action, the angular velocity meter of the IMU is used to calculate the turning angle of the pool robot in real time until the turning angle is consistent with the turning angle required by the turning action.
[0211] In the embodiments of the present application, on the one hand, by controlling the pool robot to retreat until no part of the pool robot touches the second obstacle, the normal execution of subsequent turning actions is ensured; on the other hand, by performing the turning action to make the distance from the second obstacle not less than the corresponding distance threshold, not only the operation range is ensured, but also the possibility of the pool robot colliding with wall-like obstacles or falling at the layered part is reduced, thereby improving the safety of the pool robot and extending the service life of the pool robot.
[0212] In some embodiments, the control method further includes step S27, where:
[0213] Step S27: Determine that the pool robot is in the third scenario when the obstacle information detected by the sensor system indicates that the second obstacle is a first type of obstacle and the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the first type of obstacle, and / or, the obstacle information detected by the sensor system indicates that the second obstacle is a second type of obstacle and the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second type of obstacle.
[0214] Here, the second obstacle can be located in front of, beside, and / or behind the pool robot. In implementation, the type of the second obstacle can be judged first. If the second obstacle is a wall-like obstacle, it is judged whether the distance from the second obstacle is less than the distance threshold corresponding to the wall-like obstacle. If so, it is determined that the pool robot is in the third scenario; otherwise, it is determined that the pool robot is not in the third scenario. If the second obstacle is a cliff-like obstacle, it is judged whether the distance from the cliff-like obstacle is less than the distance threshold corresponding to the cliff-like obstacle. If so, it is determined that the pool robot is in the third scenario; otherwise, it is determined that the pool robot is not in the third scenario.
[0215] For example, when there is an obstacle of the wall type in front of the pool robot, it is necessary to determine whether the forward distance between the pool robot and the wall-type obstacle in front is less than the distance threshold corresponding to the wall-type obstacle. If the forward distance is less than the distance threshold corresponding to the wall-type obstacle, it is determined that the pool robot is in the third scenario.
[0216] For another example, when there is an obstacle of the cliff type in front of the pool robot and an obstacle of the wall type on the side, it is necessary to determine whether the forward distance between the pool robot and the cliff-type obstacle in front is less than the distance threshold corresponding to the cliff-type obstacle and whether the lateral distance between the pool robot and the wall-type obstacle on the side is less than the distance threshold corresponding to the wall-type obstacle. If the forward distance is less than the distance threshold corresponding to the cliff-type obstacle and / or the lateral distance is less than the distance threshold corresponding to the wall-type obstacle, it is determined that the pool robot is in the third scenario.
[0217] In the embodiment of the present application, by comprehensively determining whether the pool robot is in a specific third scenario according to the type of the second obstacle and the distance from the second obstacle, the accuracy of identifying the third scenario can be improved, thereby improving the operation efficiency while enhancing the safety of the movement of the pool robot.
[0218] In some embodiments, after the pool robot completes the operation on the second target plane, the control method further includes step S281, where:
[0219] Step S281, controlling the pool robot to perform a fourth target action so that the pool robot reaches the next second target plane along a first type of obstacle in the second target plane; wherein, the depth of the next second target plane is different from the depth of the second target plane.
[0220] Here, the first type of obstacle can be any first type of obstacle in the second target plane. The fourth target action can be any appropriate action that enables the pool robot to move from the second target plane to the next second target plane. The way the pool robot enters the next second target plane from the second target plane is similar to the way it enters the next first target plane from the first target plane. When implementing, reference can be made to the specific implementation manner of step S25 described above.
[0221] In the embodiment of the present application, by performing a specific fourth target action to enable the pool robot to reach the next second target plane along a certain first type of obstacle in the second target plane, flexible switching between different planes is realized, which not only optimizes the movement trajectory but also expands the operation range while ensuring the integrity of the operation.
[0222] The following takes the example of building a map along the side edge, the pool including a shallow area and a deep area, the first sensor system including a first depth sensor located in front of the fuselage, and the second sensor system including a second depth sensor located on the side of the fuselage to illustrate the control method provided by the embodiments of the present application.
[0223] Figure 3 Schematic of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 2 , such as Figure 3 shown, the control method includes steps S301 to S309, where:
[0224] Step S301, control the pool robot to enter the shallow area and use the shallow area as the first target plane;
[0225] Step S302, obtain obstacle information (corresponding to the first obstacle) around the pool robot through the first depth sensor and the second depth sensor;
[0226] Step S303, if the obstacle information indicates that there is a first obstacle on the side and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first obstacle, then adjust the angle of the pool robot to the target angle so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle;
[0227] Here, the first obstacle may include, but is not limited to, a cliff (corresponding to the aforementioned first type of obstacle), a pool wall (corresponding to the aforementioned second type of obstacle), etc. In implementation, the point cloud of the ground on the side can be obtained through the second depth sensor to determine whether there is a cliff on the side. For example, if the point cloud of the ground gradually disappears, it indicates that there is a cliff on the side of the pool robot; if the point cloud of the ground does not disappear, it indicates that there is no cliff on the side of the pool robot. The gradual disappearance of the point cloud of the ground may include, but is not limited to, at least one of a decrease in the number of points in the point cloud of the ground, a decrease in the area of the point cloud of the ground, and a decrease in the width / height of the point cloud of the ground.
[0228] If there is a cliff on the side, the lateral distance from the cliff on the side needs to be maintained within the distance range corresponding to the cliff to prevent the pool robot from falling off the cliff. If there is a pool wall on the side, the lateral distance from the pool wall on the side needs to be maintained within the distance range corresponding to the pool wall to prevent the pool robot from colliding with the pool wall. In implementation, the difference between the actual lateral distance between the pool robot and the pool wall / cliff and the distance range corresponding to the pool wall / cliff is used to dynamically adjust the distance between the pool robot and the pool wall / cliff on the side during the edge building process to ensure the effectiveness and accuracy of the edge building map.
[0229] Step S304: If the obstacle information indicates that there is a first obstacle ahead and the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first obstacle, then adjust the angle of the pool robot to the target angle so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle;
[0230] Here, the point cloud of the ground ahead can be obtained through the first depth sensor to determine whether there is a cliff ahead. For example, if the point cloud of the ground disappears, it indicates that there is a cliff ahead of the pool robot; if the point cloud of the ground does not disappear, it indicates that there is no cliff ahead of the pool robot.
[0231] If there is a cliff ahead, the forward distance from the cliff ahead needs to be kept within the distance range corresponding to the cliff to prevent the pool robot from falling off the cliff. If there is a pool wall ahead, the forward distance from the pool wall ahead needs to be kept within the distance range corresponding to the pool wall to prevent the pool robot from colliding with the pool wall. In implementation, the difference between the actual forward distance between the pool robot and the pool wall / cliff and the distance range corresponding to the pool wall / cliff is used to dynamically adjust the distance between the pool robot and the pool wall / cliff ahead during the edge following process to ensure the effectiveness and accuracy of edge following mapping.
[0232] In some embodiments, when the distance between the pool robot and the first obstacle is less than the minimum value of the distance range corresponding to the first obstacle, the pool robot can first perform a backward movement and then adjust the angle of the pool robot to the target angle so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle; when the distance between the pool robot and the first obstacle is greater than the maximum value of the distance range corresponding to the first obstacle, the pool robot can first perform a forward movement and then adjust the angle of the pool robot to the target angle so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle.
[0233] Step S305: If the obstacle information indicates that there is no obstacle on the side or no obstacle ahead or there is a first obstacle on the side and the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle or there is a first obstacle ahead and the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle, then continue edge following mapping;
[0234] Step S306: Determine whether the edge following mapping of the first target plane is completed. If so, enter Step S307; if not, enter Step S302;
[0235] Step S307: Determine whether the first target plane is a deep beach area. If so, enter Step S309; if not, enter Step S308;
[0236] Step S308: Take the deep-beach area as the first target plane, control the pool robot to enter the deep-beach area, and proceed to step S302;
[0237] Step S309: End.
[0238] Figure 4 It is a schematic diagram of a pool robot provided by an embodiment of the present application for edge mapping on each plane of the pool. As Figure 4 shown, the pool includes a shallow-beach area 41 and a deep-beach area 42. The shallow-beach area 51 and the deep-beach area 42 are separated by a cliff 43, where:
[0239] The pool robot first performs edge mapping in the shallow-beach area 41. During the process of edge mapping along the shallow-beach area 41, the distances between the pool robot and each pool wall 411 of the shallow-beach area 41 and the cliff 43 are all maintained within the corresponding threshold ranges to ensure the integrity, accuracy, and coverage rate of the edge path 412 formed in the shallow-beach area 41;
[0240] After completing the edge mapping in the shallow-beach area 41, it first actively travels to the cliff 43, climbs down along the cliff 43, and enters the deep-beach area 42;
[0241] The pool robot performs edge mapping in the deep-beach area 42. During the process of edge mapping along the deep-beach area 42, the distances between the pool robot and each pool wall 421 of the deep-beach area 42 and the cliff 43 are all maintained within the corresponding threshold ranges to ensure the integrity, accuracy, and coverage rate of the edge path 422 formed in the deep-beach area 42. Moreover, after completing the mapping in the shallow-beach area 41, climbing down along the cliff 43 and entering the deep-beach area 42 can identify the boundary between the shallow-beach area and the deep-beach area, thereby enabling more accurate mapping.
[0242] The following takes the pool robot performing cleaning, the pool including a shallow-beach area and a deep-beach area, the first sensor system including a first depth sensor located in front of the fuselage, and the second sensor system including a second depth sensor located on the side of the fuselage as an example to illustrate the control method provided by the embodiment of the present application.
[0243] Figure 5 It is a schematic implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 3 , as Figure 5 shown, the control method includes steps S500 to S509, where:
[0244] Step S500: Take the shallow-beach area or the deep-beach area as the second target plane;
[0245] Step S501: Control the pool robot to enter the second target plane, obtain the map of the second target plane, and perform cleaning according to the global coverage path.
[0246] Here, when the second target plane is the first cleaning plane, the pool robot can be directly placed on the second target plane. If the second target plane is other cleaning planes, when the previous second target plane is cleaned, the pool robot can reach the stratification (such as a cliff, slope, etc.) by performing the fourth target action and then reach the second target plane along the stratification. For example, if the depth of the previous second target plane is less than the depth of the second target plane, the position of the stratification relative to the pool robot can be detected by the first depth sensor and / or the second depth sensor, and the pool robot can be controlled to actively drive to the stratification and then fall onto the second target plane by active dropping, or perform backward or forward actions at the stratification to adsorb onto the stratification and then climb down along the stratification to the second target plane.
[0247] Step S502: Obtain the obstacle information (corresponding to the second obstacle) around the pool robot through the first depth sensor and the second depth sensor.
[0248] Step S503: If the obstacle information indicates that there is a second obstacle on the side and the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second obstacle, control the pool robot to perform a turning action so that the distance between the pool robot and the second obstacle is not less than the distance threshold corresponding to the second obstacle.
[0249] Here, the second obstacle can include but is not limited to cliffs, pool walls, etc. In implementation, the point cloud of the ground on the side can be obtained through the second depth sensor to determine whether there is a cliff on the side. For example, if the point cloud of the ground gradually disappears, it indicates that there is a cliff on the side of the pool robot; if the point cloud of the ground does not disappear, it indicates that there is no cliff on the side of the pool robot.
[0250] If the side is a cliff, the lateral distance from the side cliff should be no less than the distance threshold corresponding to the cliff to prevent the pool robot from falling off the cliff. If the side is a pool wall, the lateral distance from the side pool wall should be no less than the distance threshold corresponding to the pool wall to prevent the pool robot from colliding with the pool wall. During implementation, based on the difference between the actual lateral distance between the pool robot and the pool wall / cliff and the distance threshold corresponding to the pool wall / cliff, the distance between the pool robot and the side pool wall / cliff during the cleaning process is dynamically adjusted to ensure cleaning efficiency and coverage. Whether during map building or operation, the pool robot needs to get as close as possible to the cliff or the edge of the pool wall to obtain a more accurate contour during map building and increase the operation coverage during operation. Therefore, after the pool robot executes the corresponding target action, it is necessary to ensure that the pool robot is as close as possible to the obstacle and within the corresponding safety distance, so as to achieve the accuracy of map building, high coverage of operation, and safety.
[0251] Step S504: If the obstacle information indicates that there is a second obstacle ahead and the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second obstacle, control the pool robot to first execute a backward action and then a turning action, so that the distance between the pool robot and the second obstacle is no less than the distance threshold corresponding to the second obstacle;
[0252] Here, the point cloud of the ground ahead can be obtained through the first depth sensor to determine whether there is a cliff ahead. For example, if the point cloud of the ground disappears, it indicates that there is a cliff ahead of the pool robot; if the point cloud of the ground does not disappear, it indicates that there is no cliff ahead of the pool robot.
[0253] If the front is a cliff, the forward distance from the front cliff should be no less than the distance threshold corresponding to the cliff to prevent the pool robot from falling off the cliff. If the front is a pool wall, the forward distance from the front pool wall should be no less than the distance threshold corresponding to the pool wall to prevent the pool robot from colliding with the pool wall. During implementation, based on the difference between the actual forward distance between the pool robot and the pool wall / cliff and the distance threshold corresponding to the pool wall / cliff, the distance between the pool robot and the front pool wall / cliff during the cleaning process is dynamically adjusted to ensure cleaning efficiency and coverage.
[0254] Step S505: If the obstacle information indicates that there is no obstacle on the side, or there is no obstacle ahead, or there is a second obstacle on the side and the distance between the pool robot and the second obstacle is no less than the distance threshold corresponding to the second obstacle, or there is a first obstacle ahead and the distance between the pool robot and the second obstacle is no less than the distance threshold corresponding to the second obstacle, continue cleaning;
[0255] Step S506: Determine whether the cleaning of the second target plane is completed. If so, proceed to step S507; if not, proceed to step S502;
[0256] Step S507: Determine whether this second target plane is the last plane. If so, proceed to step S509; if not, proceed to step S508;
[0257] Step S508: Take the next plane as the second target plane and proceed to step S501;
[0258] Step S509: End.
[0259] Figure 6 It is a schematic diagram of a pool robot provided by an embodiment of the present application for cleaning on each plane of the pool. As Figure 6 shown, the pool includes a tanning platform 61 and a deep beach area 62. The tanning platform 61 and the deep beach area 62 are separated by a steep slope 63, where:
[0260] After the pool robot enters the tanning platform 61, it establishes a bow-shaped cleaning path 611 according to the map of the tanning platform 61. During the process of cleaning along the bow-shaped cleaning path 611, the distance between the pool robot and each pool wall 612 of the tanning platform 61 and the steep slope 63 is not less than the corresponding distance threshold, and the pool robot needs to be as close as possible to each pool wall 612 and the steep slope 63 to ensure the cleaning efficiency and coverage rate in the tanning platform 61;
[0261] After completing the cleaning in the tanning platform 61, it first actively travels to the steep slope 63 and adsorbs to the steep slope 63 through backward or forward movements, and then crawls down along the steep slope 63 into the deep beach area 62;
[0262] After the pool robot enters the deep beach area 62, it establishes a bow-shaped cleaning path 621 according to the map of the deep beach area 62. During the process of cleaning along the bow-shaped cleaning path 621, the distance between the pool robot and each pool wall 622 of the deep beach area 62 and the steep slope 63 is not less than the corresponding threshold value to ensure the cleaning efficiency and coverage rate in the deep beach area 62.
[0263] In some embodiments, when the pool robot operates along the bow-shaped path, the distance between two adjacent long sides in the bow-shaped path is less than the axial width of the operating component.
[0264] Here, the axial direction refers to the distance that an object extends along its length or thickness direction, that is, the direction parallel to the central axis. For example, when the working component is a cylinder, the axial direction refers to the direction of its central axis. Then, the axial width of the working component refers to the length of the cylinder. In some embodiments, the difference between the distance between two adjacent long sides and the axial width of the working component should be within the first threshold range to balance missed operations and repeated operations. The first threshold range can be any suitable range, such as 9 cm to 12 cm, 10 cm to 15 cm, etc. In implementation, the first threshold range can be set according to the sensitivity, accuracy, etc. of the sensors in the pool robot, and the embodiments of the present application do not limit this.
[0265] In the embodiments of the present application, by setting the distance between two adjacent long sides of the bow-shaped path to be less than the axial width of the working component, it is ensured that adjacent working areas overlap, reducing the possibility of missed operations caused by path deviation and achieving full coverage of the working area.
[0266] Figure 7 Schematic of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 4 , such as Figure 7 shown, the control method includes step S71, where:
[0267] Step S71, after the pool robot completes the target task on the third target plane in the pool, control the pool robot to perform the fifth target action so that the pool robot reaches the next third target plane along the first type of obstacle in the third target plane; where there are at least two planes with different depths in the pool, the third target plane is one of the at least two planes with different depths, and the depth of the next third target plane is different from the depth of the third target plane.
[0268] Here, the third target plane can be any one of the at least two planes with different depths. The third target plane can be the same as or different from the first target plane and the second target plane.
[0269] The target task can be any suitable task, such as a mapping task, an operation task, etc.
[0270] The first type of obstacle can be any one of the first type of obstacles in the third target plane.
[0271] The fifth target action can be any suitable action that can enable the pool robot to move from the third target plane to the next third target plane. The way the pool robot enters the next third target plane from the third target plane is similar to the way it enters the next first target plane from the first target plane. In implementation, reference can be made to the specific implementation manner of the foregoing step S25.
[0272] In the embodiment of the present application, after the pool robot finishes target tasks such as mapping and operation on the third target plane, by performing a specific fifth target action, the pool robot can reach the next third target plane along a certain type-I obstacle in the third target plane, realizing flexible switching between different planes, not only optimizing the motion trajectory, but also ensuring the integrity and accuracy of the execution of the target tasks.
[0273] In some embodiments, the fifth target action includes a first action and a second action. The step of "controlling the pool robot to perform the fifth target action so that the pool robot reaches the next third target plane along the type-I obstacle in the third target plane" in step S71 includes step S711 and step S712, where:
[0274] Step S711, control the pool robot to perform the first action so that the pool robot approaches the type-I obstacle in the third target plane.
[0275] Here, the first action can be any suitable action that can make the pool robot approach the type-I obstacle. For example, the first action may include, but is not limited to, at least one of a forward movement, a backward movement, a turning movement, etc.
[0276] The type-I obstacle may be located in front of, on the side of, and / or behind the pool robot. In some embodiments, the first action can be determined according to the target type-I obstacle and the orientation of the pool robot, so that after the pool robot performs the first action, the pool robot approaches the target type-I obstacle. In implementation, if there is only one type-I obstacle in the third target plane, this type-I obstacle is used as the target type-I obstacle; if there are at least two type-I obstacles in the third target plane, the target type-I obstacle can be determined randomly, customarily, by distance, etc. For example, randomly select a certain type-I obstacle among at least two type-I obstacles as the target type-I obstacle. Or, for example, determine the distances between the pool robot and each type-I obstacle, and use the type-I obstacle with the smallest distance as the target type-I obstacle.
[0277] Step S712, control the pool robot to perform the second action so that the pool robot reaches the next third target plane along the type-I obstacle.
[0278] Here, the second action can be any suitable action that can make the pool robot reach the next third target plane. For example, a floating action, a dropping action, a wall-climbing action, etc. In some embodiments, the second action can be determined according to the depth of the next third target plane and the depth of the third target plane.
[0279] For example, when the depth of the next third target plane is greater than that of the third target plane, actions such as actively dropping or climbing down along the layering can be used to enter the next third target plane. For instance, first adsorb to the cliff by moving forward or backward, and then climb down along the cliff until entering the next third target plane.
[0280] Also for example, when the depth of the next third target plane is less than that of the third target plane, actions such as climbing up along the layering or floating up can be used to enter the next third target plane. For instance, first adsorb to the slope by moving forward or backward, and then climb up along the slope until entering the next third target plane.
[0281] Still for example, when the depth of the next third target plane is equal to that of the third target plane, any suitable actions such as floating, sinking first and then floating up, or floating up first and then sinking can be used to enter the next third target plane.
[0282] In the embodiments of the present application, on the one hand, by performing a specific first action to make the pool robot approach the first type of obstacle, the accurate execution of subsequent actions is ensured; on the other hand, by performing a specific second action to make the pool robot reach the next third target plane along the first type of obstacle, flexible switching between different planes is achieved, which not only optimizes the movement trajectory but also ensures the integrity and accuracy of the execution of the target task.
[0283] In the prior art, for a pool with layering features (such as cliffs, faults, slopes, etc.), the pool robot cannot detect the cliff feature, or can only detect the underlying layering platform through a downward-looking sensor after the fuselage exceeds the cliff edge, and will inevitably fall due to reasons such as slipping and difficult braking in the underwater scenario. Therefore, it is very necessary to predict the cliff feature, that is, to recognize the cliff feature when the fuselage is close to but has not reached the cliff position.
[0284] Figure 8 Schematic of the implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 5 , as Figure 8 shown, the control method includes step S81, where:
[0285] Step S81: During the movement of the pool robot on the fourth target plane in the pool, when the pool robot is in the fourth scenario, control the pool robot to perform a sixth target action so that the distance between the pool robot and the third obstacle is greater than the second distance threshold. Among them, there are at least two planes with different depths in the pool, the fourth target plane is the shallower one of the at least two planes with different depths, the fourth scenario indicates that the distance between the pool robot and the third obstacle is not greater than the second distance threshold, and the third obstacle is a cliff-like obstacle.
[0286] Here, the fourth target plane can be any one of the at least two planes with different depths. The fourth target plane may be the same as or different from the first target plane, the second target plane, and the third target plane.
[0287] The third obstacle can be any suitable obstacle, and the third obstacle may be the same as or different from the first obstacle and the second obstacle. The third obstacle may be located in front of, on the side of, and / or behind the pool robot.
[0288] The second distance threshold can be any suitable distance that can indicate that the distance between the pool robot and the cliff-like obstacle is very close and safe, for example, 0 cm, 0.5 cm, 1 cm, etc. Safety means that the pool robot will not fall at the stratified place. In some embodiments, the second distance threshold can be set according to the sensitivity, accuracy, etc. of the sensors in the pool robot, and the embodiments of the present application do not limit this.
[0289] In some embodiments, it is possible to determine whether the pool robot is in the fourth scenario based on at least one obstacle information obtained within the third time period, thereby reducing the misjudgment rate. The third time period may include but is not limited to any suitable time period such as 10 ms, 30 ms, etc. The determination method of the fourth scenario can be any suitable method. For example, if most of the obstacle information in the at least one obstacle information indicates that the pool robot is in the fourth scenario, it is determined that the pool robot faces the fourth scenario.
[0290] In some embodiments, it is possible to determine whether the pool robot is in the fourth scenario based on the detection information collected by the target sensor system, and the target sensor system includes at least one of the following: the first sensor system, the second sensor system, and the third sensor system. The target detection information is mainly used to indicate the obstacle information around the pool robot. For example, the target detection information is used to indicate the distance between the pool robot and the third obstacle, the type of the third obstacle, etc. For example, when the target detection information indicates that the third obstacle is a cliff-like obstacle and the distance between the pool robot and the third obstacle is less than the second distance threshold, it is determined that the pool robot is in the fourth scenario.
[0291] The manner of obtaining the target detection information can be any suitable manner. For example, the target sensor system can obtain the target detection information in a timed, real-time, command-based, or other manner. For instance, when the target sensor system receives a collection command, it collects the target detection information. As another example, the target sensor system collects the target detection information according to a set collection duration.
[0292] In some embodiments, when the target detection information indicates that the pool robot is approaching a cliff-like obstacle, the movement speed of the pool robot can be reduced to continue moving, so as to reduce the possibility of the pool robot falling at the cliff-like obstacle, thereby improving the safety and service life of the pool robot.
[0293] The sixth target action can be any suitable action that can keep the distance between the pool robot and the third obstacle not less than the second distance threshold. For example, at least one of a forward movement, a backward movement, a turning movement, etc. In some embodiments, the sixth target action can be determined according to the position of the third obstacle. During implementation, different positions can correspond to the same or different sixth target actions. In some embodiments, the relationship between each position and each action can be established in advance, and according to this corresponding relationship, the action matching the position can be obtained.
[0294] In the embodiments of the present application, on the one hand, during the movement on any plane, by detecting the surrounding obstacle information through the sensor system, information such as the type of the third obstacle and the distance between the third obstacle and the pool robot can be determined more accurately according to the obstacle information, so as to accurately identify whether the pool robot is in a specific fourth scenario; on the other hand, when the pool robot is in a specific fourth scenario, by performing a specific sixth target action to ensure that the distance between the pool robot and the cliff-like obstacle is kept within a safe distance, the possibility of the pool robot falling at the stratification such as cliffs, faults, slopes, etc. is reduced, thereby improving the safety and service life of the pool robot.
[0295] In some embodiments, the sixth target action includes at least one of the following: a backward movement, a forward movement, a turning movement; the "controlling the pool robot to perform the sixth target action" in step S81 includes steps S811 to S813, where:
[0296] Step S811, when the third obstacle is in front of the pool robot, control the pool robot to perform a backward movement and / or a turning movement.
[0297] Here, when a cliff-like obstacle is in front of the pool robot, the pool robot can move away from the cliff-like obstacle by performing a turning action, a backward action, or a backward action + turning action. For example, the pool robot rotates a certain angle in place to move away from the cliff-like obstacle.
[0298] Step S812: When the third obstacle is on the side of the pool robot, control the pool robot to perform a turning action.
[0299] Here, when a cliff-like obstacle is on the side of the pool robot, the pool robot can move away from the cliff-like obstacle by performing a turning action.
[0300] Step S813: When the third obstacle is behind the pool robot, control the pool robot to perform a forward action and / or a turning action.
[0301] Here, when a cliff-like obstacle is behind the pool robot, the pool robot can move away from the cliff-like obstacle by performing a turning action, a forward action, or a forward action + turning action.
[0302] In the embodiment of the present application, by controlling the pool robot to perform backward actions, forward actions, and / or turning actions to ensure that the distance between the pool robot and the cliff-like obstacle is always maintained within a safe distance, not only is the movement range widened, but also the possibility of the pool robot falling at the stratified area is reduced, thereby improving the safety of the pool robot and extending the service life of the pool robot.
[0303] In some embodiments, the control method further includes step S82, where:
[0304] Step S82: When the first distance is less than the previous first distance and the first distance is not greater than the second distance threshold, determine that the pool robot is in the fourth scenario; where the first distance is the distance between the pool robot and the third obstacle.
[0305] Here, the first distance can be the distance between the pool robot and the third obstacle at the current moment. The first distance can be determined according to the point cloud corresponding to the current frame, and the point cloud corresponding to the current frame can be the current target point cloud of the ground in the fourth target plane. In implementation, the first distance can be determined according to the number of valid point clouds of the current target point cloud of the ground, the point cloud width of the current target point cloud, and / or the area of the current target point cloud. The first distance can include, but is not limited to, the forward distance between the pool robot and the cliff-like obstacle in front, the lateral distance between the pool robot and the cliff-like obstacle on the side, the backward distance between the pool robot and the cliff-like obstacle behind, etc.
[0306] The previous first distance may include, but is not limited to, the front-forward distance from a front cliff-like obstacle, the front-lateral distance from a lateral cliff-like obstacle, the front-backward distance from a rear cliff-like obstacle, etc. The previous first distance may be determined based on at least one historical first distance. The historical first distance refers to a first distance before the first distance, and the historical first distance is determined based on the point cloud corresponding to the historical frame before the current frame. The point cloud corresponding to the historical frame may be the historical target point cloud of the ground in the fourth target plane. In implementation, the determination method of the historical first distance is the same as that of the first distance. The determination method of the previous first distance may be any suitable method, for example, the mean value between multiple historical first distances. Another example is the median value between multiple historical first distances, etc.
[0307] In some embodiments, when there is a cliff-like obstacle in front of the pool robot, if the forward distance is less than the front-forward distance and the forward distance is not greater than the second distance threshold, it is determined that the pool robot is in the fourth scenario; when there is a cliff-like obstacle on the side of the pool robot, if the lateral distance is less than the front-lateral distance and the lateral distance is not greater than the second distance threshold, it is determined that the pool robot is in the fourth scenario; when there is a cliff-like obstacle behind the pool robot, if the backward distance is less than the front-backward distance and the backward distance is not greater than the second distance threshold, it is determined that the pool robot is in the fourth scenario.
[0308] In some embodiments, all the point clouds collected within a period of time T may be stored. When the time span of the stored point clouds is greater than T, the oldest point cloud is deleted. In implementation, all the collected point clouds may be stored through a queue, a table, etc. In some embodiments, the target point clouds of the ground in front of, on the side of, and behind the pool robot may be stored separately through different queues.
[0309] In some embodiments, the previous first distance and the first distance may be determined based on multiple target point clouds within a sliding window. For example, the first distance is determined based on the first target point cloud, and the previous first distance is determined based on at least some of the other target point clouds among the multiple target point clouds excluding the first target point cloud. The first target point cloud refers to the target point cloud with the latest time. For example, the previous first distance is determined based on all the other target point clouds. Another example is that the previous first distance is determined based on some of the other target point clouds, and the some target point clouds may be at least one target point cloud close to the first target point cloud.
[0310] In the embodiments of the present application, by comprehensively determining the distance between the pool robot and the cliff-like obstacle twice before and after, it is determined whether the pool robot is in a specific fourth scenario, realizing dynamic trend perception and cross-verification of multiple measurement data, reducing misjudgment caused by single measurement error, improving the accuracy of the fourth scenario recognition, and thus improving the safety of the pool robot's movement.
[0311] In some embodiments, the control method further includes step S831, where:
[0312] Step S831: When the pool robot is in the fifth scenario, control the pool robot to perform the seventh target action; wherein, the fifth scenario represents that the distance between the pool robot and the third obstacle is greater than the second distance threshold and not greater than the third distance threshold.
[0313] Here, the third distance threshold can be any suitable value that can represent a certain distance between the pool robot and the first type of obstacle. For example, 55 cm, 60 cm, etc. The seventh target action can be any suitable action that can reduce the possibility of the pool robot falling at the cliff-like obstacle. For example, decelerating, etc. In implementation, when there is a cliff-like obstacle around the pool robot and the distance between the pool robot and the cliff-like obstacle is greater than the second distance threshold and less than the third distance threshold, that is, it is predicted that the ground is about to disappear. At this time, it can be determined that the pool robot is in the fifth scenario, and then the seventh target action can be executed to prevent the pool robot from falling at the cliff obstacle.
[0314] For example, when the obstacle information detected by the sensor system indicates that there is a cliff-like obstacle ahead and the distance between the pool robot and the cliff-like obstacle ahead is between the second distance threshold and the third distance threshold, that is, it is predicted that the ground ahead is about to disappear. At this time, it is determined that the pool robot is in the fifth scenario, and then the running speed of the pool robot can be reduced.
[0315] In the embodiments of the present application, when the pool robot is in a specific fifth scenario, by performing a specific seventh target action to ensure that the distance from the cliff-like obstacle is always within a safe distance, early perception of the cliff-like obstacle is realized, the possibility of the pool robot falling at the cliff, fault, slope and other layered areas is reduced, thereby improving the safety and service life of the pool robot, and further improving the coverage rate of the pool robot in the multi-plane scenario.
[0316] In some embodiments, the control method further includes step S830, where:
[0317] Step S830: When the second distance is less than the previous second distance, the second distance is not greater than the third distance threshold, and the second distance is greater than the second distance threshold, it is determined that the pool robot is in the fifth scenario; wherein, the second distance is the distance between the pool robot and the third obstacle.
[0318] Here, the second distance can be the distance between the pool robot and the third obstacle at the current moment. The second distance can include, but is not limited to, the forward distance between the pool robot and a cliff-like obstacle in front, the lateral distance between the pool robot and a cliff-like obstacle on the side, the backward distance between the pool robot and a cliff-like obstacle at the rear, etc. The determination method of the second distance is similar to that of the first distance. In implementation, reference can be made to the specific implementation manner of step S82 described above.
[0319] The previous second distance can include, but is not limited to, the forward-forward distance between the pool robot and a cliff-like obstacle in front, the forward-lateral distance between the pool robot and a cliff-like obstacle on the side, the forward-backward distance between the pool robot and a cliff-like obstacle at the rear, etc. The previous second distance can be determined based on at least one historical second distance. The determination method of the previous second distance is similar to that of the previous first distance. In implementation, reference can be made to the specific implementation manner of step S82 described above.
[0320] In some implementation manners, when there is a cliff-like obstacle in front of the pool robot, if the forward distance is less than the previous forward distance and the forward distance is between the second distance threshold and the third distance threshold, it is determined that the pool robot is in the fifth scenario; when there is a cliff-like obstacle on the side of the pool robot, if the lateral distance is less than the previous lateral distance and the lateral distance is between the second distance threshold and the third distance threshold, it is determined that the pool robot is in the fifth scenario; when there is a cliff-like obstacle at the rear of the pool robot, if the backward distance is less than the previous backward distance and the backward distance is between the second distance threshold and the third distance threshold, it is determined that the pool robot is in the fifth scenario.
[0321] In the implementation manner of the present application, by comprehensively determining whether the pool robot is in a specific fifth scenario based on the distances between the pool robot and the cliff-like obstacle in the front and back and whether the distances between the pool robot and the cliff-like obstacle are between the second distance threshold and the third distance threshold, dynamic trend perception and cross-verification of multiple measurement data are realized, misjudgment caused by single measurement error is reduced, the recognition accuracy of the fifth scenario can be improved, and thus the safety of the pool robot movement can be improved.
[0322] Taking the first sensor system including a first structured light sensor located in front of the fuselage and the second sensor system including a second structured light sensor located on the side of the fuselage as an example, the control method provided by the embodiments of the present application will be described below.
[0323] Figure 9Schematic implementation process of a control method for a pool robot provided by an embodiment of the present application Figure 6 , as Figure 9 shown, the control method includes steps S901 to S904, where:
[0324] Step S901: During the process of the pool robot moving forward in front of the fourth target plane in the pool, collect the target point cloud of the front ground through the first structured light sensor and collect the target point cloud of the side ground through the second structured light sensor;
[0325] Here, underwater three-dimensional information of the ground is collected through the structured light sensors in the front and / or side. If the infrared light source hits the ground or wall, the infrared camera can capture the contour information of the ground or wall; if the infrared light source hits the cliff, since there is no reflection of the light source, the feedback information obtained by the infrared camera is empty. Therefore, when the ground point cloud obtained by the front and / or side structured light sensors gradually disappears, it indicates that the pool robot is gradually approaching the cliff.
[0326] Step S902: Store the target point cloud of the front ground into the first point cloud queue and store the target point cloud of the side ground into the second point cloud queue;
[0327] Here, the point cloud queue (including the first point cloud queue and the second point cloud queue) can store the point cloud within a period of time T. When the time span of the stored target point cloud is greater than T, the oldest target point cloud is deleted from the point cloud queue.
[0328] Step S903: When it is determined that the pool robot is in the fifth scenario in the first point cloud queue and / or the second point cloud queue, control the pool robot to perform the seventh target action;
[0329] Here, it can be determined whether the pool robot is in the fifth scenario according to the X11 frame target point cloud in the first sliding window corresponding to the first point cloud queue and / or the X21 frame target point cloud in the second sliding window corresponding to the second point cloud queue.
[0330] For example, when the prediction of the disappearance of the front ground is enabled and / or the prediction of the disappearance of the side ground is enabled, it is determined that the pool robot is in the fifth scenario. The prediction of the disappearance of the front ground being enabled means that the width corresponding to the X11 frame target point cloud is less than the first width threshold and the number corresponding to the X11 frame target point cloud is less than the first number threshold (i.e., the forward distance is less than the previous forward distance and the forward distance is between the second distance threshold and the third distance threshold). The prediction of the disappearance of the side ground being enabled means that the width corresponding to the X21 frame target point cloud is less than the first width threshold and the number corresponding to the X21 frame target point cloud is less than the first number threshold (i.e., the lateral distance is less than the previous lateral distance and the lateral distance is between the second distance threshold and the third distance threshold).
[0331] The X11 frame target point cloud can be at least part of the target point cloud within the first sliding window, and the first sliding window includes several latest frames of target point cloud in the first point cloud queue. The X21 frame target point cloud can be at least part of the target point cloud within the second sliding window, and the second sliding window includes several latest frames of target point cloud in the second point cloud queue.
[0332] The width corresponding to N frames (including X11 frame, X21 frame, X12 frame and X22 frame) of target point cloud can be the median, mean, etc. of the point cloud widths of N frames of target point cloud. The quantity corresponding to N frames of target point cloud refers to the quantity of the second target point cloud in N frames of target point cloud. In implementation, when the effective point cloud quantity of a certain frame of target point cloud exceeds the standard quantity, then this frame of target point cloud is considered as a second target point cloud. The first width threshold can be any suitable width. The first quantity threshold can be any suitable quantity.
[0333] Step S904: The pool robot continues to move forward. When it is determined in the first point cloud queue and / or the second point cloud queue that the pool robot is in the fourth scenario, control the pool robot to perform the sixth target action to move away from the cliffs in the front and / or on the side.
[0334] Here, continue to update the first sliding window and the second sliding window. It can be determined whether the pool robot is in the fourth scenario according to the X12 frame target point cloud in the first sliding window and / or the X22 frame target point cloud in the second sliding window. For example, when the ground in the front disappears and / or the ground on the side disappears, it is determined that the pool robot is in the fourth scenario.
[0335] The disappearance of the ground in the front means that: the width corresponding to the X12 frame target point cloud is less than the width corresponding to the X11 frame target point cloud, the quantity corresponding to the X12 frame target point cloud is less than the quantity corresponding to the X11 frame target point cloud, the width corresponding to the X12 frame target point cloud is less than the second width threshold and the quantity corresponding to the X12 frame target point cloud is less than the second quantity threshold (i.e., the forward distance is less than the previous forward distance and the forward distance is less than the second distance threshold). The X12 frame target point cloud can be at least part of the target point cloud within the first sliding window, and the first sliding window includes several latest frames of target point cloud in the first point cloud queue. The second width threshold can be any suitable width, and the second width threshold can be less than the first width threshold. The second quantity threshold can be any suitable quantity, and the second quantity threshold can be less than the first quantity threshold.
[0336] Lateral ground disappearance means that: the width of the target point cloud corresponding to the X22 frame is less than the width of the target point cloud corresponding to the X21 frame, the number of the target point cloud corresponding to the X22 frame is less than the number of the target point cloud corresponding to the X21 frame, the width of the target point cloud corresponding to the X22 frame is less than the second width threshold, and the number of the target point cloud corresponding to the X22 frame is less than the second number threshold (i.e., the lateral distance is less than the previous lateral distance and the lateral distance is less than the second distance threshold). The target point cloud of the X22 frame may be at least part of the target point cloud within the second sliding window, and the second sliding window includes several frames of the latest target point clouds in the second point cloud queue.
[0337] When the pool robot detects a cliff ahead, it retreats and / or rotates a certain angle to move away from the cliff position; when the pool robot detects a cliff on the side, it rotates a certain angle in place to move away from the cliff position, ultimately achieving the effect of preventing falling.
[0338] It should be noted that in the embodiments of the present application, if the above method is implemented in the form of software function modules and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that makes contributions to the related technologies, can be embodied in the form of a software product. The software product is stored in a storage medium and includes several instructions for causing an electronic device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in the embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), magnetic disks, or optical discs that can store program codes. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.
[0339] The embodiments of the present application provide a pool robot, including a sensor system and a controller. The sensor system is used to detect obstacle information around the pool robot, and the controller is used to execute any one of the control methods of the above-mentioned pool robot.
[0340] The embodiments of the present application provide an electronic device, including a memory and a processor. The memory stores a computer program that can run on the processor, and when the processor executes the computer program, the above method is implemented.
[0341] The embodiments of the present application provide a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the above method is implemented. The computer-readable storage medium can be transient or non-transient.
[0342] An embodiment of the present application provides a computer program product. The computer program product includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, some or all of the steps in the above method are implemented. The computer program product can be specifically implemented in a manner of hardware, software, or a combination thereof. In an alternative embodiment, the computer program product is specifically embodied as a computer storage medium. In another alternative embodiment, the computer program product is specifically embodied as a software product, such as a Software Development Kit (SDK), etc.
[0343] It should be noted that Figure 10 is a schematic diagram of the hardware entity of an electronic device provided by an embodiment of the present application. As Figure 10 shown, the hardware entity of the electronic device 100 includes: a processor 101, a communication interface 102, and a memory 103, where:
[0344] The processor 101 generally controls the overall operation of the electronic device 100.
[0345] The communication interface 102 can enable the electronic device to communicate with other terminals or servers through a network.
[0346] The memory 103 is configured to store instructions and applications executable by the processor 101, and can also cache data to be processed or already processed by the processor 101 and each module in the electronic device 100 (for example, image data, audio data, voice communication data, and video communication data), and can be implemented by a flash memory (FLASH) or a random access memory (Random Access Memory, RAM). Data transmission can be performed between the processor 101, the communication interface 102, and the memory 103 through a bus 104.
[0347] It should be pointed out here that: the descriptions of the above storage medium and device embodiments are similar to the descriptions of the above method embodiments and have beneficial effects similar to those of the method embodiments. For the technical details not disclosed in the storage medium and device embodiments of the present application, please refer to the descriptions of the method embodiments of the present application for understanding.
[0348] It should be understood that the "one embodiment" or "an embodiment" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, the "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the magnitudes of the serial numbers of the above processes do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The serial numbers of the embodiments of the present application above are only for description and do not represent the advantages or disadvantages of the embodiments.
[0349] It should be noted that in this text, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article or device. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the existence of additional identical elements in the process, method, article or device comprising the element.
[0350] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling or communication connection between the components shown or discussed with each other can be through some interfaces. The indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0351] The units described as separate components above may or may not be physically separated, and the components shown as units may or may not be physical units; they can be located in one place or distributed to multiple network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, the functional units in the embodiments of the present application can all be integrated in one processing unit, or each unit can be separately a unit, or two or more units can be integrated in one unit; the above integrated units can be implemented in the form of hardware, or in the form of hardware plus software functional units.
[0352] Those of ordinary skill in the art can understand that all or part of the steps to implement the above method embodiments can be completed by hardware related to program instructions. The foregoing program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps including the above method embodiments; and the foregoing storage medium includes: various media such as removable storage devices, read-only memory (ROM), magnetic disks, or optical discs that can store program codes.
[0353] Alternatively, if the above integrated units of the present application are implemented in the form of software function modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence or the part that contributes to the related technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions to enable an electronic device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in the various embodiments of the present application. And the foregoing storage medium includes: various media such as removable storage devices, ROM, magnetic disks, or optical discs that can store program codes.
[0354] The above are only the implementation manners of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application.
Claims
1. A control method for a pool robot, characterized in that, The pool robot includes a sensor system for detecting obstacle information around the pool robot. The control method includes: During the process of mapping the first target plane of the pool robot in the pool, when the pool robot is in the first scenario, control the pool robot to perform a target avoidance action so that the distance between the pool robot and the first obstacle is within the distance range corresponding to the first obstacle. Among them, there are at least two planes with different depths in the pool. The first target plane is one of the at least two planes with different depths. The first obstacle includes a first type of obstacle and / or a second type of obstacle. The distance ranges corresponding to the first type of obstacle and the second type of obstacle are different. The first scenario indicates that the distance between the pool robot and the first obstacle is not within the distance range corresponding to the first obstacle.
2. The control method according to claim 1, wherein The first type of obstacle is a cliff-like obstacle. The minimum value of the distance range corresponding to the cliff-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the cliff-like obstacle is not greater than 50 cm.
3. The control method according to claim 1, wherein The second type of obstacle is a wall-like obstacle. The minimum value of the distance range corresponding to the wall-like obstacle is greater than 0 cm, and the maximum value of the distance range corresponding to the wall-like obstacle is not greater than 10 cm.
4. The control method according to any one of claims 1 to 3, characterized in that, The control method further includes: During the process of the pool robot performing operations on the second target plane in the pool, when the pool robot is in the third scenario, control the pool robot to perform a third target action so that the distance between the pool robot and the second obstacle is not less than the distance threshold corresponding to the second obstacle. Among them, the second obstacle includes a first type of obstacle and / or a second type of obstacle. The distance thresholds corresponding to the first type of obstacle and the second type of obstacle are different. The third scenario indicates that the distance between the pool robot and the second obstacle is less than the distance threshold corresponding to the second obstacle.
5. A control method for a pool robot, characterized in that, The pool robot includes a sensor system for detecting obstacle information around the pool robot. The control method includes: After the pool robot completes the target task on the third target plane in the pool, control the pool robot to perform a fifth target action so that the pool robot reaches the next third target plane along the first type of obstacle in the third target plane. Among them, there are at least two planes with different depths in the pool. The third target plane is one of the at least two planes with different depths. The depth of the next third target plane is different from the depth of the third target plane.
6. A control method for a pool robot, characterized in that, The pool robot includes a sensor system for detecting obstacle information around the pool robot. The control method includes: During the process of the pool robot moving on the fourth target plane in the pool, when the pool robot is in the fourth scenario, control the pool robot to perform a sixth target action so that the distance between the pool robot and the third obstacle is greater than the second distance threshold; Among them, there are at least two planes with different depths in the pool, the fourth target plane is the shallower one among the at least two planes with different depths, the fourth scenario indicates that the distance between the pool robot and the third obstacle is not greater than the second distance threshold, and the third obstacle is a cliff-like obstacle.
7. A pool robot, characterized in that, It includes a sensor system and a controller, and the sensor system is used to detect obstacle information around the pool robot, where: The controller is configured to execute the control method according to any one of claims 1 to 6.
8. An electronic device, comprising a processor and a memory, the memory storing a computer program that can run on the processor, characterized in that, When the processor executes the computer program, it implements the control method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, A computer program is stored thereon, and when the computer program is executed by a processor, it implements the control method according to any one of claims 1 to 6.
10. A computer program product, characterized in that, The computer program product includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements the control method according to any one of claims 1 to 6.