Underwater cleaning robot detrapping method
By monitoring and analyzing the location and trajectory of underwater cleaning robots in real time, identifying and independently implementing escape strategies, the problem of robots being trapped in complex environments is solved, cleaning efficiency and coverage are improved, and manual intervention is reduced.
Patent Information
- Application Number
- CN202510588821.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-08
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2045-05-08
AI Technical Summary
Existing underwater cleaning robots are prone to falling into a state of continuous ineffective movement in complex environments, resulting in low cleaning coverage, low efficiency and manual intervention, and lack of effective solutions to escape difficulties.
By monitoring the position and historical trajectory of the robot in real time, identifying the overlap of motion trajectories, determining whether they are trapped, and using preset escape strategies such as continuous line change paths, water flow sensing, straight line travel to the side wall, etc., to get rid of the trapped state independently.
It improves the cleaning coverage and efficiency of underwater cleaning robots, reduces manual intervention, and enhances the ability to escape independently in complex environments.
Smart Images

Figure CN120540293A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of swimming pool cleaning equipment, and in particular to a method for escaping an underwater cleaning robot. Background Art
[0002] With the development of social economy and the improvement of people's demand for quality of life, swimming pools are becoming increasingly popular as a leisure and entertainment facility. In order to reduce the labor intensity of manual cleaning and improve cleaning efficiency, underwater cleaning robots have been widely used in swimming pool maintenance. Underwater cleaning robots in the existing technology, especially when facing home or commercial swimming pools of various shapes, often adopt a walking control method based on random decision-making or pseudo-random algorithms. The advantage of this type of method is that it does not require the pre-construction of an accurate pool map or complex path planning, and is relatively simple to implement. The robot moves and cleans the bottom or wall of the swimming pool through simple forward movement, steering, collision detection and obstacle avoidance logic, hoping to cover the entire swimming pool area through random movement for a long enough time.
[0003] However, the random walk control method faces significant challenges in practical applications, especially when there are complex environmental factors or specific pool structures. First, the water flow in the swimming pool is not completely static or uniform. The circulation pump, filtration system and even the user's activities will generate non-directional and dynamically changing water flow. These water flows will have a non-negligible impact force on the lightweight underwater cleaning robot, interfering with its predetermined random motion trajectory. In some cases, a specific water flow pattern may cause the robot's random motion to be "locked" in a local area, such as repeatedly moving back and forth along a straight line, or continuously spinning in the vortex formed by the water flow, forming a repetitive walking trajectory.
[0004] Secondly, the geometric shapes of swimming pools are diverse and not all are simple rectangles. For L-shaped, irregularly shaped swimming pools or those with obvious corners, stairs, or narrow passages, robots that use random walking methods are prone to encounter difficulties in these complex structures. For example, the robot may repeatedly collide and turn in the corner area, making it difficult to smoothly "go around" the corner to enter the area behind it; or it may be blocked when trying to enter a narrow passage and try again and again. The combination of these physical limitations and random motion will also cause the robot to continuously repeat a certain trajectory in a local area, making it unable to effectively explore and clean other areas.
[0005] The above-mentioned repeated trajectories or local trapped states caused by water flow interference or environmental restrictions have brought about many problems:
[0006] 1. Low cleaning coverage: The robot is trapped in a local area for a long time and cannot reach other parts of the pool, resulting in a large number of areas not being effectively cleaned.
[0007] 2. Low cleaning efficiency: The robot wastes a lot of time on ineffective and repeated cleaning of the same area, reducing the effective cleaning area per unit time.
[0008] 3. High demand for manual intervention: When the robot is obviously stuck in continuous ineffective movement, users usually need to manually move it out of the predicament, interrupting the automated cleaning process and affecting the user experience.
[0009] Existing research on underwater robot navigation and control has largely focused on mapping, path planning, or precise tracking. However, effective solutions remain lacking for cleaning robots that employ unplanned control methods like random walks, often experiencing "trapped" situations in complex environments, as reflected by their trajectory characteristics. Specifically, effective solutions exist for intelligently detecting and autonomously resolving these issues. In many cases, robots rely solely on simple obstacle avoidance logic (such as random steering after a collision), which is insufficient to address persistent trajectory repetition caused by water flow or complex geometry, often requiring human intervention to escape.
[0010] Therefore, there is an urgent need for a method for underwater cleaning robots to escape from trouble, which can intelligently identify whether the robot is trapped in a state of continuous and invalid motion, and can autonomously take measures to escape from this state, thereby overcoming the shortcomings of random walking cleaning robots in the existing technology that are easy to be trapped, have low cleaning efficiency and coverage, and require human intervention. Summary of the Invention
[0011] In order to solve the problems existing in the prior art as much as possible, the present invention provides a method for an underwater cleaning robot to escape from an obstacle, which enables the control system to identify whether the robot is trapped in a state of continuous and invalid motion, and can autonomously take measures to escape from the state, thereby overcoming the technical defects of the prior art that random walking cleaning robots are easily trapped, have low cleaning efficiency and coverage, and require manual intervention.
[0012] The present invention provides an underwater cleaning robot escape method, comprising the following steps: S1, continuously acquiring the real-time position information of the robot; S2, updating the robot's historical walking trajectory data in real time based on the robot's real-time position information; S3, analyzing the robot's historical walking trajectory data, and calculating the robot's motion trajectory overlap; S4, judging whether the robot's motion trajectory overlap continuously meets a preset trapped judgment condition; S5, judging that the robot is in a trapped state if the robot's motion trajectory overlap continuously meets the preset trapped judgment condition; S6, starting a preset escape process if the robot is judged to be in a trapped state; S7, in the escape process, controlling the robot to execute an escape motion according to a preset escape strategy; S8, the system judging whether the robot has completed the escape; S9, terminating the escape process if the robot is judged to have completed the escape, and switching the robot's motion control mode back to a conventional cleaning task mode.
[0013] It is understood that in step S1, the robot can periodically or continuously measure its precise position within a pre-set reference coordinate system using its onboard positioning system (e.g., sonar positioning, IMU, pressure sensor, or a combination thereof). This position information is a key source of data for determining the robot's motion state and trajectory. This step is the prerequisite for all subsequent trajectory analysis and entrapment determination.
[0014] After the real-time position information obtained in step S1 is used to construct the robot's motion history trajectory data, in step S2, the newly obtained position data points are added to a storage structure (such as a list or buffer) to form a trajectory data chain arranged in chronological order.
[0015] In step S3, the robot processes the historical trajectory data from step S2 to quantify the spatial repetitiveness or concentration of its recent trajectory. Specific calculation methods include, for example, comparing the spatial proximity of recent trajectory points with those from less recent historical trajectory points, or analyzing the concentration of dwell time or visit frequency in an area. The goal of this step is to derive a numerical value that objectively reflects whether the robot is consistently and repeatedly traversing the same area or path.
[0016] Step S4 determines whether the high overlap state calculated in step S3 has been maintained for a certain period of time or has moved a sufficiently long distance at a higher degree of overlap. This avoids being mistakenly judged as being trapped due to short, normal repetitive movements (for example, briefly moving back and forth when cleaning a small area). The preset trapped judgment conditions usually include an overlap threshold (for example, higher than 80%) and a persistence threshold (for example, a duration of more than 30 seconds or a cumulative moving distance of more than 10 meters). Only when the high overlap state is not accidental but persists can it be considered an abnormality. This judgment result is a prerequisite for entering step S5.
[0017] If the judgment in step S4 holds true, meaning the system confirms that the robot has been moving within a highly repetitive or confined area for an extended period, step S5 determines that the robot is trapped. This judgment is based on data-driven intelligent recognition, rather than relying on external perception or manual intervention. It is the key decision point in the transition from routine motion monitoring to abnormal state confirmation. This judgment directly determines whether to continue the normal task or initiate the escape process.
[0018] Step S6 is the trigger step for transitioning from passive monitoring to active intervention. Once step S5 determines that the robot is trapped, step S6 immediately activates a process specifically designed to handle the situation. This typically means interrupting the robot's current routine motion control instructions (for example, stopping the random walk algorithm) and switching to a preset "escape mode." Initiating the escape process signals the execution of specific escape actions.
[0019] In escape mode, step S7 executes specific escape actions. Based on the strategy selection logic (e.g., fixed sequence, based on the type of trapped state) pre-set in the escape process initiated in step S6, the robot adopts a specific movement pattern designed to break the original repetitive trajectory or break free from physical constraints, helping the robot to leave the current invalid area or position.
[0020] During the escape movement process of step S7, step S8 continuously monitors the robot's current motion state or position to evaluate whether the escape attempt was successful. The judgment criteria for the escape completion are related to the strategy implemented (for example, whether the robot has reached the side wall, whether it has moved a sufficient distance along the wall, or whether the position is significantly away from the trapped area and no longer meets the high overlap condition). This step is used to determine the result of the escape attempt and is the basis for deciding the next action (resuming the normal task or handling the escape failure).
[0021] If step S8 determines that the robot has successfully escaped, step S9 ends the current escape process, stops executing the escape strategy, and returns control of the robot to the control module for the regular cleaning task (for example, resuming random walking). This means that the robot has successfully escaped and can continue to effectively perform its main cleaning task.
[0022] According to a method for escaping an underwater cleaning robot according to the present invention, when executing step S3, a set of recent trajectory points within a recent period of time is first extracted from the robot's historical walking trajectory data, and then it is determined whether each trajectory point in the recent trajectory point set falls within a preset spatial radius range of any trajectory point in the non-recent trajectory data segment, and then the proportion of the recent trajectory points that fall within the preset spatial radius range is calculated, and the degree of overlap of the robot's motion trajectory is determined based on the proportion value.
[0023] In the above method, the robot's recent trajectory points are first extracted. From the robot's stored historical walking trajectory data, a set of trajectory points representing the robot's recent motion trajectory is extracted and defined as a "recent trajectory segment." For example, the most recent N locations or locations within the last T minutes can be selected as recent trajectory points. The spatial proximity between recent points and historical points is then determined. For each trajectory point in the recent trajectory segment, the system checks whether the point falls within a preset spatial radius around any trajectory point in a non-recent trajectory segment in the historical trajectory. A "non-recent trajectory segment" here refers to the portion of the historical trajectory excluding the recent trajectory segment, representing the robot's earlier motion path. A preset spatial radius (e.g., 0.3 to 0.8 meters) is used to define the degree of spatial "proximity" or "overlap" between two trajectory points, while also allowing for a certain amount of positioning error. A ratio is then calculated, counting the number of recent trajectory points that fall within the preset spatial radius and calculating the proportion of these points to the total number of recent trajectory points. Finally, the ratio is used to determine the degree of overlap, and the calculated ratio is used as the robot's trajectory overlap. The higher the ratio value, the higher the spatial repeatability of the recent trajectory and the earlier historical trajectory, and the higher the degree of overlap of the motion trajectory. This step extracts "recent trajectory segments" and "non-recent historical trajectory segments" for comparison, and sets a "preset spatial radius". This method can effectively isolate the robot's normal forward exploration movement (i.e., the recent trajectory is in a new area) from the repeated wandering or spinning movement when trapped (i.e., the recent trajectory is highly consistent with the earlier historical trajectory in space). By calculating the proportion of recent points that fall within the preset spatial radius, an intuitive and quantifiable indicator is provided to measure the degree of spatial repetition. The ratio value directly reflects the degree of consistency between the robot's recent motion trajectory and the path it has traveled before, thereby more accurately quantifying whether the robot is trapped in a continuously repetitive trajectory. In addition, the introduction of the "preset spatial radius" rather than the strict requirement for complete point consistency takes into account the inherent errors of the underwater robot positioning system and the slight jitter or drift in actual movement. Even if the robot doesn't repeat its motion along the exact same microscopic path, as long as its trajectory highly overlaps with its historical trajectory at a macroscopic level (i.e., within a set spatial radius), this method can still correctly identify this repetitive state, avoiding missed detections due to minor deviations and improving the reliability of trapped state detection. Finally, the historical trajectory is divided into "recent" and "non-recent" points, and a determination is made as to whether the recent point falls within the range of non-recent points. This prevents the robot from being mistakenly identified as trapped due to normal passage through the same area twice or multiple times. The overlap increases significantly only when the robot has recently and continuously wandered within a certain area, resulting in a high degree of spatial overlap between the recent trajectory and the earlier non-recent trajectory. This is a typical manifestation of a "trapped" state. Therefore, this calculation method can effectively identify true trapped states.
[0024] According to a method for an underwater cleaning robot to escape from an obstacle, when executing step S4, it is determined whether the time during which the robot's motion trajectory overlap is continuously higher than a preset overlap threshold exceeds a preset duration threshold; or, it is determined whether the cumulative distance moved by the robot during the period during which the motion trajectory overlap is higher than the preset overlap threshold exceeds a preset duration distance threshold.
[0025] In the above method, on the one hand, a duration-based method determines whether the robot's trajectory overlap remains above a preset overlap threshold (e.g., 70% or 80%) for a period exceeding a preset duration threshold (e.g., 20 seconds or 30 seconds). This means that if the robot's trajectory overlap remains at a high level for a long period of time, even if it may still be moving slowly, it is considered trapped. On the other hand, a cumulative distance-based method determines whether the robot's cumulative movement distance exceeds a preset duration threshold (e.g., 5 meters or 10 meters) during the period when the trajectory overlap remains above the preset overlap threshold. This means that even if the trajectory overlap is high but the duration is short, if the robot has repeatedly moved a considerable distance within this high overlap area or trajectory segment, it is considered trapped. This condition is particularly applicable when the robot moves repeatedly back and forth along a short line segment. The system can monitor both conditions simultaneously, and as long as either condition is met, it is determined that the trajectory overlap continues to meet the preset trapped determination condition. This method combines the temporal and spatial (movement distance) dimensions to determine the persistence of high-overlap states, resulting in the following technical benefits: First, it filters out transient high overlap. During the normal random walk of an underwater cleaning robot, a high degree of local trajectory overlap may occasionally occur at a certain moment or within a very short period of time (for example, a brief pause or a fine-tuning after encountering a small obstacle). Relying solely on transient high overlap can easily lead to misjudgments. By introducing a "duration threshold" and a "persistence distance threshold," this method requires that the high-overlap state must persist for a certain period of time or a certain distance of invalid movement within the high-overlap region before triggering a trapped state. This effectively filters out transient trajectory fluctuations or brief repetitions in non-trapped states, improving the accuracy of trapped state determination. Second, it comprehensively covers different forms of trapped states. Trapped robots can manifest in various forms, for example, spinning in a confined area (high overlap, low movement distance, long duration) or repeatedly moving back and forth along a short line segment (high overlap, high cumulative movement distance, long duration). Simply judging duration or cumulative distance alone may not fully cover these situations. This method uses an "or" relationship to monitor these two dimensions simultaneously, ensuring that no matter what form of continuous high-overlapping motion that leads to invalid cleaning, it can be effectively identified, thereby improving the comprehensiveness of trapped detection. Effect three: Optimize the timeliness of trapped response. By setting a reasonable threshold, the escape process can be triggered in time when the robot's invalid motion reaches a certain level, avoiding it from being trapped for a long time, wasting time and power. For example, the duration threshold is suitable for situations where the robot stagnates for a long time or spins in a small range, while the continuous distance threshold can capture situations where the robot moves back and forth quickly along a short line segment. This dual standard helps to identify problems earlier in different trapped scenarios and ensure the timeliness of the escape response.
[0026] According to a method for an underwater cleaning robot to escape from an obstacle, in step S7, the preset escape strategy includes: controlling the robot to move along a preset continuously changing line path, and monitoring whether the robot is obstructed by an obstacle during the movement along the preset continuously changing line path; if it is detected that the robot is obstructed by an obstacle, the system actively reduces the amplitude of the preset continuously changing line path, and controls the robot to continue walking in the opposite direction of the obstruction along the continuously changing line path with the reduced amplitude.
[0027] The above method is a preset escape strategy, which can be understood as moving along a preset continuously changing line path, controlling the robot not to move in a conventional random or straight line manner, but to move along a pre-set path sequence that includes continuous direction changes. This path can be a broken line sequence (such as W-shaped, Z-shaped, L-shaped, S-shaped) or a curve sequence. "Continuous line change" is intended to force the robot to change its original direction of movement and break the straight-line reciprocating or small-scale rotation mode that it may fall into. Secondly, it also includes an obstacle monitoring scheme. During the robot's execution of the continuously changing line path, the system continuously monitors whether the robot is obstructed by the side wall of the swimming pool or other obstacles. This monitoring can also be achieved by detecting the proximity to the obstacle through a distance sensor (such as a forward or side ultrasonic / sonar sensor). It also includes adjusting the path after being blocked. If the robot is detected to be blocked by an obstacle (for example, too close to a side wall, or the actual motion trajectory deviates too much from the command path and the speed decreases), the system will actively trigger an adjustment to the current continuously variable path. The adjustment method includes reducing the amplitude, that is, reducing the amplitude of the preset continuously variable path in space, such as shortening the length of the line segments that make up the broken line or reducing the angle amplitude strategy, so that the adjusted path is more compact and easier to execute within the limited space. It also includes a reverse walking strategy, that is, controlling the robot to move in the opposite direction of the obstruction and continue walking along the continuously variable path with a reduced amplitude. For example, if the robot is trying to execute a Z-shaped path in a certain direction and hits a wall, the system may let it execute a Z-shaped path with a smaller amplitude in the direction opposite to the original obstruction. In summary, this method effectively breaks the repetitive motion pattern. When the robot is trapped in a repetitive trajectory of straight reciprocating or small-scale rotation, simple straight-line advances or random turns may not be enough to help it escape, especially in situations caused by water flow or local complex shapes. Using a preset, continuous change-of-direction path (such as a W-shaped or Z-shaped path) with significant directional changes can force the robot's motion vector to change, deviating from the original ineffective motion trajectory, effectively breaking the repetitive pattern and increasing the possibility of successful escape. It can also enhance the adaptability of strategy execution. Underwater environments may contain unknown obstacles or locally complex terrain, and the robot may encounter obstacles when attempting to execute the preset change-of-direction path. This method adds obstacle monitoring while executing the path and can actively adjust the path execution method (reducing the amplitude, walking in the opposite direction) when an obstacle is detected. This real-time feedback and adjustment mechanism makes the escape strategy more flexible and adaptable, avoiding the failure of the escape strategy due to simple collisions or obstructions, and improving the stability of successful escape. It can also optimize the ability to escape in confined spaces. The trapped area is often a relatively confined space (for example, the corner of a swimming pool, next to an obstacle, or in a local area caused by strong water flow). If the amplitude of the change-of-direction path attempted on the first attempt is too large, it may quickly hit the wall again.After encountering an obstruction, the robot will actively "reduce the amplitude" and try "in the opposite direction", allowing it to make fine movement adjustments in a smaller space and try to escape from the current obstruction point from different angles or directions, thereby improving the efficiency and success rate of escaping in narrow or complex spaces.
[0028] According to a method for an underwater cleaning robot to escape from an obstacle, in step S7, the preset escape strategy includes: controlling the robot to stop walking and allowing the robot to drift with the water flow; the system keeps collecting the robot's position information during the robot's drift and determines the interference direction of the water flow by analyzing the changes in the robot's trajectory; after determining the interference direction of the water flow, restarting the robot and controlling the robot to continue walking in a direction perpendicular to the interference direction of the water flow.
[0029] The above method is another pre-defined escape strategy. It first suspends active propulsion and drifting, temporarily stopping the robot's movement and allowing it to drift freely under the influence of the pool's water flow. Next, the robot's position is collected and the water flow direction is analyzed. While the robot drifts with the water flow, the system continues to continuously collect the robot's real-time position information (similar to step S1). By analyzing the changes in the robot's position during this period (i.e., the drift trajectory), the system can determine the primary direction of the water flow on the robot and thereby determine the "direction of the water flow interference." For example, the system can calculate the displacement vector from the start point to the end point of the drift, or fit the drift path to estimate the water flow direction. After determining the direction of the water flow interference, the system restarts the robot's propulsion system and controls the robot to move in a direction perpendicular to the water flow interference direction, ensuring that the robot can escape the area dominated by the original water flow with a larger component force. This method, based on a water flow-sensing escape strategy, is particularly effective in identifying the root cause of water flow interference in cases of entrapment caused by water flow. Undirected water flow in swimming pools is one of the main causes of robot entrapment (for example, repeatedly walking back and forth in a straight line). Traditional escape strategies may simply attempt to break through or turn, but if there is no perception of the direction of the water flow, the breakthrough direction may still be strongly interfered with by the water flow and become ineffective. The technical solution of this method is an effective means of passively sensing the actual direction of the water flow by allowing the robot to drift with the water flow, thereby being able to identify the fundamental external interference factor (water flow) that causes the trap. It can also achieve targeted offset or bypass of the influence of the water flow. Once the interference direction of the water flow is determined, the robot is controlled to move in a direction perpendicular to that direction, which means that the robot will quickly leave the area currently dominated by the water flow with the greatest efficiency (the component speed relative to the vertical direction is the largest). This is more effective than simply turning randomly or moving against the current to escape the "force field" or "trap" formed by the water flow, thereby avoiding continued ineffective wandering in the water flow area. This improves the efficiency and success rate of escape. By specifically responding to water flow interference, this strategy can help the robot escape with fewer attempts and shorter time, avoiding the long-term consumption of energy and ineffective confrontation in the strong water flow area. This improves the efficiency and success rate of escape, thereby improving the overall cleaning efficiency of the robot. This method is applicable to various forms of entrapment caused by water flow, whether it is a straight-line round trip caused by water flow or a circle in a small area. As long as the water flow is the main source of interference, the robot can effectively escape by sensing the direction of the water flow and breaking through vertically.
[0030] According to a method for escaping an underwater cleaning robot according to the present invention, in step S7, the preset escape strategy includes: controlling the robot to move in a straight line in a preset direction to the side wall of the swimming pool, and using a distance sensor to monitor the distance between the robot and the side wall of the swimming pool.
[0031] The above method is also a pre-defined escape strategy. It controls the robot to move in a straight line in a predetermined direction (e.g., its current heading or a randomly selected direction). Simultaneously, a distance sensor (e.g., ultrasonic sensor or forward-facing sonar) located in front of the robot continuously monitors the distance between the robot and the pool wall. This strategy aims to keep the robot moving in a straight line toward a specific target (the pool wall) until it reaches it. Compared to complex path-changing or environmental perception strategies, moving in a straight line toward the wall is a relatively simple escape strategy. It requires only controlling the robot to maintain linear motion and using distance sensors for simple target detection (the wall), making it technically relatively easy to implement. Whether circling a small area or moving back and forth in a straight line, moving in a straight line toward the pool wall generally helps the robot escape from its original confined area. As the boundary of the pool, the wall serves as a clear and reliable reference point during the escape process. Changing the original movement direction by colliding with (or approaching) the wall effectively breaks repetitive patterns. Most underwater cleaning robots are equipped with distance sensors for obstacle avoidance. This strategy can be implemented directly using existing hardware, without the need for additional specialized sensors. In summary, this method provides a basic and effective escape strategy. Through simple and direct linear motion and detection of side walls, it helps the robot quickly escape from various types of trapped states and provides a clear boundary reference for further escape or cleaning tasks, which is highly practical.
[0032] According to a method for escaping an underwater cleaning robot according to the present invention, in step S7, the preset escape strategy includes: controlling the robot to move in a straight line in a preset direction to the side wall of the swimming pool, and then continuing to control the robot to move along the side wall of the swimming pool.
[0033] This method is also a pre-defined escape strategy, consisting of two phases. The first phase involves direct movement toward the pool wall. This involves controlling the robot to move in a predetermined direction until a distance sensor detects that the robot has reached the pool wall (e.g., the distance to the wall is less than a predetermined threshold). The second phase involves moving along the pool wall. Once the robot has reached the wall, it continues to move in the direction of the wall, without stopping. This wall-movement can be left or right, with the goal of using the wall as a guide to bypass a trapped point or enter a new area. This method can help robots overcome local corner or corner entrapment. Robots often become trapped in or near corners of a pool, manifesting as ramming back and forth or spinning in a small area. A simple straight-line approach could result in a collision with the same corner or the opposite wall. This strategy first ensures that the robot contacts the pool boundary by moving in a straight line toward the wall. Then, by wall-moving, the robot can systematically move along the boundary, bypassing corners or corners that are difficult to traverse directly, effectively resolving the problem of local entrapment caused by the pool's shape or fixed corners. It can also help guide the robot into new cleaning areas. Walking along the side walls of the pool is an effective global navigation strategy, especially at the boundaries of unknown or complex environments. A robot trapped in a local area can explore along the boundary of the pool by walking along the wall, largely ensuring that it can leave the original trapped area and enter the rest of the pool for cleaning, significantly improving the cleaning coverage rate. This method combines the advantages of simplicity and complexity, that is, it combines the simplicity of linear advances with the effectiveness of walking along the wall in boundary navigation, forming a two-stage, more powerful escape mechanism that can better cope with a variety of complex trapped scenarios than a single strategy.
[0034] According to a method for escaping an underwater cleaning robot, the robot is controlled to move along the sidewall of a swimming pool, and a lateral distance sensor is used to maintain a preset distance between the robot and the sidewall. That is, when the robot moves along the sidewall of the swimming pool, it maintains a preset distance (e.g., 0.1 to 0.3 meters) between the robot and the sidewall by using a lateral distance sensor (e.g., an ultrasonic sensor or a laser sensor mounted on the side of the robot). The control system adjusts the robot's heading and / or lateral thrust based on the distance value measured by the lateral distance sensor, so that the robot can move closely against the sidewall while avoiding scratching or getting stuck.
[0035] According to the present invention, a method for escaping an underwater cleaning robot also includes a step of monitoring the battery power of the robot in parallel: if the battery power of the robot is lower than a preset low power threshold, the system interrupts the currently executing cleaning task, controls the robot to switch to the return to starting placement mode, and navigates the robot back to the preset starting placement position.
[0036] The above method involves a parallel step, monitoring the robot's battery level. This monitoring process is independent of the main entrapment detection and escape process. If the robot's battery level is detected to be below a preset low-battery threshold (e.g., 10% or 15%), the system executes a high-level instruction: it interrupts any currently executing task (whether it's a routine cleaning task, an ongoing escape strategy, or even the navigation process itself, unless it's already returning to the starting point) and controls the robot to switch to a return-to-start deployment mode, guiding the robot to autonomously return to the pre-recorded starting deployment location, ensuring the robot's safety and recoverability. It should be noted that this method has a high priority, meaning that the low-battery return logic interrupts any currently executing task, whether it's a random walk, executing a complex escape strategy, or any other operating mode. The low-battery state has the highest priority, ensuring that the robot can prioritize the return operation when the battery is critical. This ensures the safe and reliable operation of the underwater cleaning robot and prevents mission failure and recovery difficulties caused by battery exhaustion.
[0037] However, in reality, in swimming pools, where underwater cleaning robots perform their cleaning tasks, water flow is not always uniform or linear, but is often accompanied by complex localized hydrodynamic phenomena. Vortices, a typical localized rotating water flow structure, can significantly interfere with the motion of underwater robots and even cause them to become trapped. Based on the principles of fluid mechanics and the structural characteristics of swimming pools, vortices typically form in the following locations: Location 1: Corners. The four corners of a swimming pool are prone to vortex formation. Because the pool walls obstruct and guide the water flow, the water changes direction at these locations, easily forming swirls or turbulence, which in turn generates vortices. Especially when the pool is changing water or receiving water injection, the water flow in corners becomes more complex, and vortex phenomena can be more pronounced. Location 2: Near the inlet and outlet. The high-speed jet at the inlet creates shear and mixing with the surrounding still or slow-moving water. The suction effect of the outlet causes the surrounding water flow to converge there, creating turbulence. Factors such as the shape, size and water flow speed of the inlet and outlet all affect the intensity and location of the vortex. These two areas are common sources of eddy currents. Position three, around obstacles. Fixed or semi-fixed obstacles in the swimming pool, such as ladders, handrails, underwater lights, etc., will interfere with the normal flow of water. When the water flows around these obstacles, wakes, low-pressure areas and separated flows will be formed behind them, causing the water to swirl and form vortices. The vortex characteristics generated will vary depending on the shape and size of the obstacles. Position four, the area where different water flows converge. In a swimming pool with multiple water sources or water flows in different directions, the areas where the various water flows converge or interact are prone to vortex structures due to momentum exchange and increased turbulence.
[0038] If a robot enters an area prone to vortexes while performing a cleaning task using a random walk or other mode, its motion trajectory is easily disturbed by the local rotating water flow, and it may be drawn into the vicinity of the vortex center, exhibiting continuous and repetitive circular, near-circular, or spiral motion, thereby becoming trapped and affecting cleaning efficiency and coverage. To address this issue, the present invention also includes the following methods:
[0039] According to a method for escaping an underwater cleaning robot according to the present invention, when executing step S6, the system first analyzes the historical walking trajectory data of the robot in a trapped state, and determines whether the robot is trapped in an eddy current by observing whether the set of trapped trajectory points in the historical walking trajectory data is distributed in a ring / near-ring / spiral shape; if the system determines that the robot is trapped in an eddy current, the following escape strategy is executed in step S7: the robot is controlled to rotate slowly and the force of the eddy current acting on the non-center position of the side of the robot is used to form an increased torque, driving the robot to accelerate the rotation and generate a continuous rotation trend, and the formed continuous rotation trend is used to help the robot escape from the eddy current area.
[0040] In the above method, after the system determines that the robot is in a trapped state according to step S5 (i.e., the trajectory overlap continues to meet the preset conditions), it does not immediately activate any preset escape strategy, but instead adds a step of analyzing the characteristics of the current trapped trajectory. The core of this analysis is to check the spatial distribution of the trajectory point set in the historical walking trajectory data of the robot during the period of being trapped. The system observes and determines whether these trapped trajectory points show typical geometric distribution characteristics of annular, near-annular or spiral shapes through a specific algorithm. This annular, near-annular or spiral trajectory pattern is a very common movement pattern in underwater environments, especially when the robot is caught by a strong local rotating water flow (i.e., vortex). The robot will be involuntarily drawn into the vicinity of the vortex center and continue to rotate or circle around a certain point or area. By identifying this specific trajectory feature, the system can distinguish whether it is a simple local obstruction (such as being stuck in a corner, moving back and forth in a narrow area) or being trapped in a dynamic vortex.
[0041] Then, a conditional strategy selection logic is defined: only when the above trajectory analysis results determine that the robot is indeed trapped in an eddy current, will the system execute a special escape strategy designed to deal with the eddy current in the subsequent step S7. It should be explained that this conditional selection is crucial. Different causes of being trapped require different solutions. For example, being stuck in a corner may require moving along the wall or turning back, while being swept into a narrow area by a strong current may require a straight-line breakout. If trapped in an eddy current, trying to rush forward in a straight line or simply turn may be inefficient and may even aggravate the situation.
[0042] When the system determines that the robot is trapped in an eddy current, it formulates a specific escape strategy, specifically:
[0043] (1) Control the robot to rotate slowly. This is the starting action of the strategy. The robot rotates around its own vertical axis. This rotation can generally be achieved by controlling the speed difference of the walking motors on both sides of the robot. For example, the walking motor on the left side is stopped and the walking motor on the right side is controlled to continue running. The motor speeds on the left and right sides can also be made different. In this way, the robot can easily rotate in the swimming pool. The "slow" rotation here is not random or without technical purpose, but is intended to optimize the subsequent interaction with the vortex. The reason is: through active rotation, the side of the robot body will continue to face the impact of external water flow at different angles. The choice of "slow" speed may be to avoid the robot being immediately pushed out of the vortex by the centrifugal force generated by rapid rotation, but to better "feel" and "utilize" the tangential flow velocity component of the vortex.
[0044] (2) Use the force of the eddy current acting on the non-center position of the robot's side to form an increased torque. This is the key to the escape strategy. When the robot body (which has a certain size and shape, not a point) rotates in an eddy field with a rotating flow rate, the tangential flow rate of the eddy current will generate a lateral force on the side of the robot body. However, these forces often do not act exactly on the robot's rotation center. Since there is a radial distance between the point of action and the rotation center, according to the definition of torque (force multiplied by the lever arm), these forces will generate a torque that drives the robot itself to rotate. The reason is: by controlling the robot's own slow rotation, the side can be made to face the tangential flow rate of the eddy current at a more favorable angle, which helps to make the direction of the torque generated by the eddy current consistent with the current rotation direction of the robot, thereby accelerating the rotation of the robot. This torque from the external flow field that enhances the robot's own rotation is the "increased torque". This is a mechanism that cleverly "borrows" energy from the external environment.
[0045] (3) Drive the robot to accelerate its rotation and generate a continuous rotation trend. Thanks to the above-mentioned "torque increase", the robot's own rotation speed will increase, forming a continuous and possibly increasingly faster rotation state, namely the "continuous rotation trend". The reason is: the robot's rotation is no longer just the result of its own motor drive, but the combined force of its own drive and external eddy current drive. Under favorable conditions, the energy provided by the eddy current may even be far greater than the energy used by the robot itself for rotation, resulting in a significant increase in rotation speed.
[0046] (4) The robot is helped to escape from the vortex area by taking advantage of the continuous rotation trend formed. In other words, the robot is helped to escape from the vortex by taking advantage of the rapid, dynamic continuous rotation formed by "borrowing force". The reason is that the rapid rotation changes the dynamic interaction between the robot and the vortex field. The continuous rotation can generate a velocity component in the direction perpendicular to the line connecting the vortex center and the robot, so that the robot is no longer stably "locked" near the vortex center, but tends to move along the tangential direction or an outward spiral path, thereby gradually leaving the high flow velocity area of the vortex core. This way of escaping is equivalent to throwing the robot out of the vortex by gradually accelerating its rotation.
[0047] It's understandable that, compared to methods that blindly apply generic strategies without distinguishing the cause of entrapment, this approach more accurately understands the nature of the entrapment, laying the foundation for selecting the most effective escape plan, and improving the robot's ability and intelligence to autonomously navigate complex environments. Furthermore, this strategy cleverly "borrows" the energy of external vortexes, rather than relying solely on the robot's own propulsion to counter the powerful vortexes. This represents a unique and counterintuitive escape strategy (not directly combating but exploiting them). Thanks to the external gain torque, the robot can more easily reach higher rotational speeds, thereby more effectively generating dynamic effects that aid in escaping the vortexes. Therefore, this strategy has a higher success rate and efficiency in resolving entrapment caused by vortexes than simply attempting a straight-line breakout or high-power steering in place. Compared to strategies that attempt to counter vortexes by directly increasing propulsion power or performing rapid, hard turns with high power output, this approach leverages external environmental energy, significantly reducing the burden on the robot's own propulsion system. This helps reduce the robot's power consumption during the escape process and extends the endurance of a single mission; at the same time, it reduces the need for the propulsion system to work for a long time under high load, helps reduce wear on mechanical components and extends the service life of the robot.
[0048] The present invention provides a method for escaping an underwater cleaning robot, which can achieve the following technical effects:
[0049] By continuously acquiring the robot's real-time position information and analyzing its motion trajectory data, the repeatability of the robot's motion, namely the spatial overlap of its trajectory, can be calculated and quantified. This key characteristic, combined with the duration of its spatial overlap exceeding a preset threshold, allows for intelligent and accurate identification of whether the robot is stuck, characterized by persistent, ineffective, repetitive motion or spinning in a localized area, effectively avoiding misjudgments. Once the robot is confirmed to be stuck, the method autonomously initiates and executes a pre-set escape strategy, breaking the robot's repetitive motion pattern and effectively escaping the trapped area. Finally, the success of the escape strategy is determined, and if successful, the escape process is promptly terminated to resume normal cleaning operations. This autonomous entrapment detection, precise determination, and proactive escape capability based on trajectory analysis eliminates the need for external sensing or manual intervention to resolve stuck or ineffective motion issues. This significantly improves the robot's actual cleaning efficiency and coverage, significantly reduces the need for manual intervention, and significantly enhances the robot's autonomy, stability, and user experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] In order to more clearly illustrate the technical solutions of the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art.
[0051] Figure 1 This is a schematic diagram of a method for escaping an underwater robot according to a first embodiment of the present invention;
[0052] Figure 2 This is a schematic diagram of a method for escaping an underwater robot according to a second embodiment of the present invention;
[0053] Figure 3 This is a schematic diagram of a method for escaping an underwater robot according to a third embodiment of the present invention;
[0054] Figure 4 Schematic diagram of a method for escaping an underwater robot according to a fourth embodiment of the present invention;
[0055] Figure 5 Schematic diagram of the underwater robot escape method according to the fifth embodiment of the present invention. DETAILED DESCRIPTION
[0056] The following will describe in detail the underwater cleaning robot escape method of the present invention in conjunction with the present application. The embodiments disclosed in this specification are only used to illustrate the present invention, and are not used to limit the scope of protection of the present invention.
[0057] The present invention provides an underwater cleaning robot escape method, which is used to solve the problem of underwater cleaning robots being trapped due to complex environments or water flow interference when performing cleaning tasks. The implementation subject of this method is an underwater cleaning robot, which usually has the hardware required to perform underwater cleaning tasks, such as but not limited to: a positioning system (such as a sonar positioning module, an inertial measurement unit IMU, a depth sensor or a combination thereof, for obtaining information such as the robot's position and posture), a processor (for running control algorithms and processing data), a storage unit (for storing historical trajectory data, etc.), a motion control system (including actuators such as thrusters and steering mechanisms), and optional environmental perception sensors (such as ultrasonic sensors, distance sensors, visual sensors, etc.). As part of the robot control system, this method can be run in parallel or periodically while the robot is in a conventional cleaning task mode (such as random walking, area coverage, etc.).
[0058] The specific method for escaping an underwater cleaning robot includes the following embodiments:
[0059] Example 1: Figure 1 As shown, this embodiment assumes that the robot moves repeatedly for a long time in the corner area of an L-shaped swimming pool and has difficulty crossing the corner. The specific steps are as follows:
[0060] S1. The system continuously acquires the robot's real-time position information. When the robot is in normal cleaning task mode, its positioning system continuously measures the robot's real-time position coordinates in a preset reference coordinate system at a preset sampling frequency (e.g., 5Hz), including planar position (x, y) and optional depth (z). Each position data point is associated with a timestamp. This real-time position information serves as the basis for subsequent trajectory analysis.
[0061] S2. Based on the robot's real-time position information, the robot's historical walking trajectory data is updated in real time. The processor receives the timestamped real-time position data obtained in step S1 and adds it to a historical trajectory data set maintained in the robot's local storage unit. To efficiently utilize storage resources and focus on recent motion status, the above historical trajectory data set is usually updated and maintained with a fixed capacity (for example, storing the last 1,000 trajectory points) or a fixed time window (for example, storing the last 3 minutes of trajectory data). The newly added trajectory points are arranged in chronological order.
[0062] S3. Analyze the robot's historical walking trajectory data and calculate the degree of overlap of the robot's motion trajectory; the processor analyzes the historical trajectory data stored in step S2 and calculates the degree of overlap of the trajectories. Specifically, the system first extracts a set of trajectory points within a recent period of time (for example, the last 30 seconds) from the above-mentioned historical trajectory data to form a "recent trajectory segment". Then, for each trajectory point in the recent trajectory segment, the system checks whether it falls within a preset spatial radius (for example, 0.4 meters) of any trajectory point in the non-recent trajectory segment in the historical trajectory. Finally, count the number of recent trajectory points that fall within the preset spatial radius, and calculate the proportion (percentage) of this number to the total number of recent trajectory points. This proportion is used as the degree of overlap of the robot's motion trajectory. For example, if the recent trajectory segment has 150 points, of which 120 points fall within a radius of 0.4 meters of the historical trajectory, the degree of overlap is 120 / 150=80%.
[0063] S4. Determine whether the robot's motion trajectory overlap continues to meet the preset trapped judgment condition; the system monitors the trajectory overlap value calculated in step S3. The preset trapped judgment condition is that the trajectory overlap is continuously higher than the preset overlap threshold (for example, 75%) and meets the preset persistence condition. The persistence condition can be set as: the trajectory overlap is continuously higher than 75% for a time that exceeds a preset duration threshold (for example, 45 seconds); or, the robot's cumulative movement distance during the period when the trajectory overlap is higher than 75% exceeds the preset persistence distance threshold (for example, 8 meters). The system maintains a timer and a cumulative movement distance counter, which starts or continues counting when the overlap is higher than the threshold, and resets when it is lower than the threshold. In this embodiment, it is assumed that the robot has been spinning in an L-shaped corner for a long time, the overlap is continuously higher than 75%, and this state lasts for 50 seconds, which meets the preset duration threshold.
[0064] S5: If the robot's motion trajectory overlap continuously meets the preset trapped condition, the robot is determined to be trapped. If the judgment result of step S4 is met, that is, the robot maintains a high degree of overlap for a long period of time, the system logic determines that the robot is currently trapped. This step aims to make an intelligent judgment on the robot's operating status based on data analysis and confirm that the robot is trapped.
[0065] S6. If the robot is determined to be trapped, the pre-set escape procedure is initiated. Once the robot is determined to be trapped, the system immediately interrupts the current normal cleaning task control mode (for example, stopping the random walk algorithm) and switches the robot's control mode to "escape mode." Simultaneously, the pre-set escape procedure is initiated, preparing to execute a specific escape strategy.
[0066] S7. In the escape process, the robot is controlled to perform the escape movement according to the preset escape strategy; the escape strategy of "moving in a straight line to the side wall of the swimming pool and then moving along the side wall of the swimming pool" is adopted. First, the system controls the robot to move in a straight line at a preset speed (for example, 0.3 meters per second) along a preset direction (for example, facing the current heading of the robot or away from the center of the trapped area). During this process, the robot uses its forward distance sensor (such as an ultrasonic sensor) to continuously monitor the distance to the obstacle in front (the side wall of the swimming pool). When it is detected that the front distance is less than the preset wall distance threshold (for example, 0.4 meters), the robot is considered to have reached the side wall.
[0067] Next, the system controls the robot to stop linear motion and switch to the "wall walking" control mode. The robot uses the lateral distance sensor to maintain a preset distance from the side wall of the swimming pool (for example, 0.25 meters) and moves along the side wall at a preset speed (for example, 0.2 meters per second). The direction of movement (clockwise or counterclockwise) can be preset or selected according to the specific situation. And stable wall movement is achieved through the lateral sensor. This step can help the robot get rid of small-scale repetitive movements in structured environments (such as the corners of the swimming pool) and enter new areas by first breaking through in a straight line and then navigating along the known boundary.
[0068] S8. The system determines whether the robot has completed the escape; during the execution of the escape strategy of step S7, the system continuously monitors whether the escape is successful. For the strategy of "moving in a straight line to the side wall and then walking along the wall", the criteria for judging the completion of the escape may include: detecting that the robot has successfully reached the side wall in a straight line (the distance in front is less than the threshold), and that the robot has moved along the side wall for more than the preset escape distance threshold along the wall (for example, 10 meters); or, the time the robot moves along the wall exceeds the preset escape time threshold along the wall (for example, 60 seconds). In addition, the system can also monitor the real-time trajectory of the robot in parallel to determine whether it has left the original trapped area, and the trajectory overlap (S3) has dropped significantly, and no longer meets the trapped judgment condition (S4). If any of the escape completion conditions is met, the robot is considered to have escaped. In this embodiment, it is assumed that the robot is judged to have escaped successfully after moving 12 meters along the wall.
[0069] S9. If it is determined that the robot has successfully escaped, the escape process is terminated and the robot's motion control mode is switched back to the normal cleaning task mode. Once the escape is determined to be successful, the system stops the current escape motion control instructions, such as stopping walking along the wall. Then, the robot's control mode is switched from "escape mode" back to "normal cleaning task mode", for example, resuming random walking and continuing to perform the pool cleaning task. In addition, after switching back to normal mode, the system can be set to enter a preset "post-escape cooling-off period" (for example, 30 seconds). During the cooling-off period, the system temporarily blocks or adjusts (for example, by raising the threshold) the sensitivity of the entrapment determination step in step S4. For example, the entrapment detection can be suspended, or a higher overlap or longer duration can be required to trigger the next entrapment determination. At the same time, state variables such as the timer and distance meter used for the S4 judgment will be reset. This step is intended to allow the robot to smoothly return to the main task process; the setting of the cooling-off period avoids the robot being mistakenly judged as trapped again due to a brief motion adjustment just after escaping, thereby enhancing the robustness of the system and user experience.
[0070] Through the above steps, the trapped state of the underwater cleaning robot in the L-shaped corner area in this embodiment is intelligently identified and autonomously released, and the robot successfully enters the area on the other side of the corner for cleaning, thereby improving the overall cleaning coverage rate.
[0071] Furthermore, in parallel with the aforementioned escape process, the system continuously monitors the robot's battery level. If the robot's battery level drops below a preset low-battery threshold (e.g., 15%), the system immediately interrupts any ongoing tasks (including routine cleaning or ongoing escape attempts) and switches the robot to "Return to Start Position Mode," autonomously navigating back to the preset starting point. This function primarily ensures the robot's safe return before depletion, making it easier for the user to retrieve and recharge it. While not a key feature of this escape method, it exists in parallel as a safety feature for the robot system.
[0072] Example 2
[0073] This embodiment mainly describes the application of the underwater cleaning robot escape method in another trapped scenario, such as Figure 2 As shown in the figure, for example, a robot is in a rectangular swimming pool and is repeatedly moving back and forth in a straight line due to the interference of local non-directional water flow. The details are as follows:
[0074] The method steps S1-S6 of this embodiment are similar to those of Example 1, which are used to obtain the trajectory, calculate the overlap, determine the persistence, and ultimately determine that the robot is in a trapped state, triggering the escape process. In this embodiment, the robot's trajectory is highly overlapped and reciprocating on a line due to water flow interference, and the overlap is continuously higher than the preset threshold. In addition, the cumulative distance moved in this state exceeds the preset continuous distance threshold (for example, the cumulative movement of 9 meters exceeds the 8-meter threshold), and the robot is determined to be trapped. The difference is that it also includes the following steps:
[0075] S7. During the escape process, the robot is controlled to execute an escape motion according to a preset escape strategy. The escape strategy is to control the robot to move in a straight line in a preset direction toward the pool wall. The system selects a direction away from the center of the current high overlap area (e.g., the robot's current forward direction) as the preset direction and controls the robot to move in a straight line in that direction at a preset speed (e.g., 0.4 m / s). During this process, the robot continuously monitors the distance to the pool wall using its forward distance sensor.
[0076] S8. The system determines whether the robot has successfully escaped. During the execution of the escape strategy in step S7, the system determines whether the escape was successful. For the "straight to sidewall" strategy, the criterion for determining whether the robot has escaped is that the robot has successfully detected the pool sidewall in front of it, that is, the distance detected by the forward distance sensor is less than a preset wall distance threshold (e.g., 0.3 meters).
[0077] If the robot is determined to have successfully escaped, the escape process is terminated and the robot's motion control mode is switched back to normal cleaning mode. Once the escape is determined to be successful (sidewall detection), the system stops the current linear motion, switches the control mode back to normal cleaning mode, and enters a pre-set post-escape cooldown period, during which the entrapment determination is temporarily adjusted or disabled. The timer and distance meter are reset.
[0078] Through the above steps, the trapped state of the underwater cleaning robot in this embodiment, which is reciprocating in a straight line affected by the water flow, is intelligently identified and autonomously released. The robot successfully leaves the water flow affected area by breaking through in a straight line and resumes effective cleaning operations.
[0079] Example 3
[0080] This embodiment mainly describes a new escape strategy for an underwater cleaning robot. The execution process of steps S1-S6 is similar to that of Example 1, which is used to obtain the trajectory, calculate the overlap, determine the continuity, and finally determine that the robot is trapped, triggering the escape process. Assume that the robot is trapped in a complex local environment formed by water flow or tight obstacles, which manifests as a complex repetitive trajectory within a small area. The difference is that it also includes the following steps:
[0081] S7. In the escape process, the robot is controlled to execute the escape motion according to the preset escape strategy, specifically, the escape strategy of "controlling the robot to move along a preset continuously changing path". When the system determines that the robot is trapped and enters the escape mode, the processor selects and controls the robot to execute a pre-set path sequence containing continuous direction changes, such as a W-shaped or S-shaped trajectory combination containing several sharp changes in direction (refer to Figure 3 The robot starts to execute the continuously variable line path at a preset speed (eg, 0.2 m / s) and preset path parameters (eg, line segment length, turning angle).
[0082] During the process of following the preset continuous line change path, the system simultaneously monitors whether the robot is blocked by obstacles. The monitoring mechanism may include:
[0083] (1) Use forward or side distance sensors (such as ultrasonic sensors or visual sensors) to detect whether the distance to the pool wall, bottom, or other obstacles is less than a preset safety distance threshold (e.g., 0.3 meters). A distance that is too close indicates that the robot may be about to collide or has been obstructed by the environment.
[0084] (2) Monitoring the robot's motion execution feedback: For example, continuously obtaining the motor drive current, the deviation between the robot's actual speed and the command speed, the deviation between the robot's actual position and the command path, etc. If the motor current continues to increase, the robot's actual speed is significantly lower than the command speed, or the robot's actual trajectory deviates significantly from the command trajectory and the movement appears to be lagging, these can be regarded as signs of being obstructed by an obstacle.
[0085] If the robot is detected to be blocked by an obstacle, the system will proactively adjust the execution mode of the preset continuous line change path. The adjustment mode includes:
[0086] The robot is controlled to continue walking in the opposite direction of the obstruction, following a continuously changing path with reduced amplitude. For example, if the robot approaches an obstacle on the right side while executing a W-shaped path to the right, the system can control the robot to execute a W-shaped path sequence with reduced amplitude (for example, the length of the line segments making up the path is halved or the amplitude of the turning angle is reduced) to the left (relative to the original forward direction or the obstruction direction). By reversing direction and reducing amplitude, the robot attempts to find relief in a smaller space or in a direction away from the obstacle.
[0087] Alternatively, the robot can simply reverse the current path segment and, after a brief step back, retry the original path or switch to a different strategy. The robot then continues executing the adjusted path sequence until it is free.
[0088] S8. The system determines whether the robot has completed the escape; during the execution of the escape strategy based on the continuous line changing path in step S7, the system continuously monitors whether the escape is successful. The conditions for judging whether the escape is complete may include: Condition 1. Successfully executing the adjusted continuous line changing path sequence (for example, completing a preset number of line changing modes). Condition 2. By analyzing the robot's trajectory in real time (refer to the method of step S3), it is determined that the robot's current position is significantly away from the center of the original trapped area (for example, the straight-line distance between the current position and the position when the escape is triggered exceeds the preset escape distance threshold, such as 3 meters), and the robot's current trajectory overlap has decreased significantly, and the trapped judgment condition of step S4 is no longer met. If any of the escape completion conditions is met, the robot is considered to have escaped.
[0089] S9. If it is determined that the robot has completed the escape, the escape process is terminated and the robot's motion control mode is switched back to the normal cleaning task mode.
[0090] Through the method of this embodiment, the trapped state of the underwater cleaning robot in a complex local environment can be intelligently identified, and by executing flexible and changeable paths and adaptive adjustments, it can effectively escape from the predicament and resume normal cleaning operations.
[0091] Example 4
[0092] The method steps S1-S6 of this embodiment are similar to those of Example 1 or Example 2, and are used to obtain the robot's real-time position information, update historical trajectory data, analyze the trajectory to calculate the degree of overlap, determine whether the degree of overlap continues to meet the preset trapped judgment conditions, and ultimately determine that the robot is trapped, triggering the preset escape process. Suppose the robot is in a certain area of the swimming pool and is affected by the water flow, showing continuous drifting within a small range or repeated movement along the direction of the water flow, resulting in high trajectory overlap and being determined to be trapped. The difference is that it also includes the following steps:
[0093] S7. During the escape process, the robot is controlled to execute escape motion according to a preset escape strategy. This step utilizes a "water flow sensing-based escape strategy." When the system determines the robot is trapped and enters escape mode, the processor controls the robot to temporarily halt active propulsion control commands. At this point, the robot's propellers cease operation or simply maintain a stable posture, allowing the robot to drift freely with the current in the pool.
[0094] While the robot drifts with the water for a preset duration (e.g., 15 seconds) or distance (e.g., 2 meters), the system continues to periodically acquire the robot's real-time position information and, based on this information, updates and stores the robot's historical trajectory in real time. This trajectory data during the drift period reflects the effects of the water flow on the robot. After the drift phase is complete, the system processor analyzes the historical trajectory data collected during this drift period. The analysis method may include:
[0095] (1) Calculate the displacement vector between the position at the start of drift and the position at the end of drift. The direction of this vector can be used as an estimate of the main interference direction of the water flow on the robot.
[0096] (2) Performing statistical analysis or curve fitting (e.g., linear regression) on the set of trajectory points during the drift period to determine the overall trend direction of the trajectory points and thereby estimate the direction of the water flow.
[0097] like Figure 4 As shown, after determining the direction of the water flow interference, the system processor restarts the robot's propulsion system and controls the robot to move in a direction roughly perpendicular to the direction of the water flow interference (for example, an angle between 70 and 110 degrees, and the optimal angle, such as 90 degrees, can be selected based on the specific water flow model or empirical values). The robot travels a preset distance (for example, 4 meters) or a preset time (for example, 20 seconds) along this direction perpendicular to the water flow at a preset speed (for example, 0.3 meters per second). The purpose of selecting the perpendicular direction is to quickly escape from the dominant area of the current water flow and enter an area with less influence from the water flow.
[0098] S8, the system determines whether the robot has successfully escaped; during the execution of the escape strategy based on water flow perception in step S7, the system continuously monitors whether the escape is successful. The criteria for determining whether the escape is successful may include:
[0099] (1) Successfully complete directional travel perpendicular to the water flow direction (e.g., travel a preset distance or time).
[0100] (2) By analyzing the robot's trajectory in real time (refer to the method of step S3), it is determined that the robot's current position has significantly moved away from the center of the original trapped area (for example, the straight-line distance exceeds the preset escape distance threshold, such as 3 meters), and the robot's current trajectory overlap has significantly decreased, no longer meeting the trapped determination condition of step S4. If any of the escape completion conditions are met, the robot is considered to have escaped.
[0101] S9. If the robot is judged to have successfully escaped, the escape process is terminated and the robot's motion control mode is switched back to the normal cleaning task mode. Once the escape is determined to be successful, the system immediately stops the current directional movement, switches the control mode from "escape mode" back to "normal cleaning task mode" (for example, resuming random walking, area coverage, etc.), and enters a preset post-escape cooling period (for example, 40 seconds).
[0102] Through the method of this embodiment, the trapped state of the underwater cleaning robot due to water flow interference can be intelligently identified, and by sensing the water flow and taking targeted movement directions, it can effectively get out of the predicament and resume normal cleaning operations.
[0103] Example 5
[0104] The execution process of steps S1 to S5 and step S9 of this embodiment is similar to that of embodiment 1. The difference is that after completing step S5 to determine that the robot is in a trapped state, this embodiment does not immediately initiate a general escape strategy, but further performs the following steps to identify the trapped type and adopt a targeted strategy:
[0105] Step S6: Determine Trapped and Analyze Trajectory Characteristics to Identify Eddy Current Trapped Conditions: After determining the robot is trapped in step S5, the system enters the trapping type analysis phase. The processor first analyzes the robot's historical trajectory data segments that led to the trapped determination, specifically the set of trajectory points collected during periods where the overlap of motion trajectories consistently exceeded a preset threshold. This analysis aims to identify whether the trapped trajectory exhibits typical geometric or kinematic characteristics influenced by localized rotating water currents (eddies).
[0106] The above typical eddy current impact characteristics include but are not limited to:
[0107] a) Spatial Concentration Analysis: Analyze the spatial distribution of the trapped trajectory points. If the trajectory points are highly concentrated within a relatively small two-dimensional or three-dimensional region, for example, if the area or volume of the bounding box of the trajectory point set is less than a preset spatial threshold (e.g., a bottom diameter less than 1 meter, a height less than 0.5 meters), this indicates that the robot's range of motion is severely restricted, consistent with the characteristic of vortexes that attract objects to the core area.
[0108] b) Motion pattern analysis: Analyze the change pattern of the motion direction of the trapped trajectory points over time. If the change in the continuous motion direction between the trajectory points shows an obvious cyclic, near-cyclic or spiral pattern, for example: within a preset time window (for example, the last 10 seconds), the cumulative angle change of the robot's forward direction is close to or exceeds 360 degrees, indicating the presence of circular motion. For example: the displacement vectors between consecutive trajectory points tend to be vertical relative to a certain center point (for example, the center of mass of the trajectory point set), and the speed is relatively stable. For example: the trajectory segment is fitted with a least squares circle or a spiral line. If the fitting residual is less than the preset threshold and the parameters of the fitted circle or spiral line (such as radius, pitch) are within a reasonable range, it indicates that the trajectory conforms to the rotation or spiral pattern.
[0109] These features suggest that the robot isn't simply moving back and forth in a straight line or bumping into corners, but is being pulled by some kind of rotational force field.
[0110] The system quantitatively analyzes and determines one or more of these typical characteristics. If the analysis indicates that the robot's trajectory exhibits typical vortex-affected characteristics (e.g., high spatial concentration and a cyclic / spiral motion pattern), the system determines that the robot is currently trapped in an vortex.
[0111] If the analysis results do not have the typical eddy current impact characteristics (for example, the trajectory is straight and reciprocating, repeatedly hits the sidewall, is blocked in a narrow passage, etc.), the system can select to execute other types of escape strategies according to the preset escape strategy priority sequence (for example, walking towards the sidewall, walking along the wall as described in Example 1 or Example 2, or continuously changing the path as described in Example 3). This embodiment only executes the subsequent step S7 for the case determined to be trapped in the eddy current.
[0112] Step S7: If it is determined that the robot is trapped in an eddy current, the eddy current escape motion strategy based on rotation-induced acceleration is executed. When the step S6 determines that the robot is indeed trapped in an eddy current, the system immediately starts an escape strategy designed specifically for the eddy current environment. This strategy does not attempt to directly rely on its own propulsion force to forcibly break through the eddy current, but cleverly uses the energy of the eddy current itself to assist in escape. Figure 5 The specific execution process is as follows:
[0113] a) Start slow self-rotation: The system controls the robot to start rotating around its own vertical axis (or approximately vertical axis). This self-rotation action can generally be achieved by controlling the speed difference of the travel motors on both sides of the robot, such as controlling the travel motor on the left to stop and the travel motor on the right to continue running. It is also possible to make the speeds of the motors on the left and right sides different, so that the robot can easily rotate in the swimming pool. The angular velocity of the self-rotation is set within a preset slow range (for example, 0.1 to 0.5 radians / second). This slow rotation speed is intended to enable the robot to continuously and gradually face the flow direction of the external vortex in a controlled manner with the side of its body of a certain size, thereby creating favorable conditions for subsequent interaction with the vortex force.
[0114] b) Utilizing vortexes to generate amplifying torque: During the robot's slow self-rotation, the system utilizes the fluid force exerted by the vortexes on the robot's side at non-center locations. Because the robot has a specific physical size and shape, and the velocity distribution within the vortexes has a tangential component, when the vortex's rotating water flow impacts an asymmetric location on the robot's side (i.e., a radial distance between the point of action and the robot's current center of rotation, forming a lever arm, i.e., utilizing the lever principle), the water flow exerts a lateral force on the robot, thereby generating a torque about the robot's center of rotation. The key to this method's escape strategy lies in controlling the robot's slow self-rotation to optimize the relative angle and point of action between the robot's side and the tangential velocity of the vortexes, so that the direction of the torque generated by the vortexes aligns with the robot's own rotation, thereby accelerating the robot's rotation. This torque, provided by the external vortexes and enhancing the robot's own rotation, is referred to as the "amplifying torque."
[0115] c) Inducing accelerated rotation and generating a continuous trend: Thanks to the "torque boost" generated by the eddy currents, the robot's own rotational speed is enhanced, potentially exceeding the speed achievable by its own motor drive alone. This accelerates the robot's rotation and generates a continuous, potentially accelerating rotational trend. At this point, the robot's rotational motion is the result of the combined forces of its own drive and the external eddy currents.
[0116] d) Use the rotation trend to help escape: The system controls the robot to maintain this rapid, dynamic continuous rotation state formed by external "borrowing force", and uses the centrifugal force generated thereby, or changes the dynamic interaction between the robot body and the eddy field, to help the robot move outward from the eddy core area. The continuous rapid rotation causes the effective resistance distribution of the robot body in the water flow to change, generating a velocity component in the direction perpendicular to the eddy center-robot connection, driving the robot no longer to be stably "locked" near the eddy center, but tends to move along a constantly changing tangential direction or an outward spiral path, gradually escaping from the influence range of the high-speed eddy. It can be simply understood that this way of escaping is equivalent to throwing the robot out of the eddy by gradually accelerating its rotation (reference Figure 5 Schematic diagram of ).
[0117] The robot maintains the escape motion based on the rotation-induced acceleration until the system determines that the robot has escaped successfully (step S8).
[0118] Step S8: The system determines whether the robot has successfully escaped. During the execution of the escape strategy based on rotation-induced acceleration in step S7, the system continuously monitors the robot's status and trajectory characteristics to determine whether it has successfully escaped the vortex. The criteria for determining whether the escape is complete may include any one or a combination of the following conditions:
[0119] a) Rotational state monitoring: Monitor the robot's angular velocity. If the robot's angular velocity no longer shows a clear acceleration trend, or if its angular velocity drops close to or below the preset angular velocity threshold for initiating slow rotation, this may indicate that the robot has moved out of the core area of strong eddy currents that can provide additional rotational torque.
[0120] b) Track feature change monitoring: Continuously analyze the current real-time track features of the robot (refer to the analysis method in step S6). If the track no longer shows a typical circular or spiral pattern, and the track overlap (calculated in step S3) decreases significantly, and no longer meets the trapped judgment condition in step S4 (for example, the overlap is lower than the preset overlap threshold), it indicates that the robot has escaped the motion mode bound by the eddy current.
[0121] c) Position change monitoring: Monitors whether the robot's current position has significantly shifted relative to its position at the time the escape was triggered (i.e., before executing step S6). If the straight-line distance between the robot's current position and the position at the time the escape was triggered exceeds a preset escape distance threshold (e.g., 3 meters), it indicates that the robot has moved to a new area, away from the original trapped point.
[0122] When any one or a combination of the above conditions is met, the system determines that the robot has successfully escaped.
[0123] Step S8 combines monitoring of rotational state, trajectory pattern changes, and positional offsets to provide a multi-dimensional, reliable mechanism for determining successful escape. In particular, monitoring of changes in rotational state and trajectory characteristics directly reflects whether the robot has escaped the dynamic influence of the eddy current. This ensures that the escape process is terminated promptly after the robot has truly escaped, avoiding unnecessary energy consumption and time waste.
[0124] Through the method of this embodiment, the underwater cleaning robot can intelligently identify whether it is trapped in a vortex in a swimming pool environment, and adopt an innovative escape strategy that uses vortex energy to assist its own rotation, thereby getting out of the predicament efficiently and energy-saving, thereby improving the robot's autonomy, cleaning efficiency and coverage, and reducing dependence on human intervention.
[0125] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims
1. A method for escaping an underwater cleaning robot, characterized in that: The following steps are involved: S1. Continuously obtain real-time position information of the robot; S2. Based on the real-time location information of the robot, update the robot's historical walking trajectory data in real time; S3, analyzing the robot's historical walking trajectory data and calculating the robot's motion trajectory overlap; S4, determining whether the robot's motion trajectory overlap continues to meet the preset trapped judgment condition; S5. If the overlap of the robot's motion trajectories continues to meet the preset trapped judgment condition, the robot is determined to be in a trapped state; S6. If it is determined that the robot is in a trapped state, a preset escape process is initiated; S7, in the escape process, controlling the robot to execute the escape movement according to the preset escape strategy; S8, the system determines whether the robot has escaped from the trap; S9. If it is determined that the robot has completed the escape, the escape process is terminated and the robot's motion control mode is switched back to the normal cleaning task mode.
2. The method for escaping an underwater cleaning robot according to claim 2, characterized in that: When executing step S3, first extract the set of recent trajectory points within a recent period of time from the robot's historical walking trajectory data, then determine whether each trajectory point in the recent trajectory point set falls within the preset spatial radius range of any trajectory point in the non-recent trajectory data segment, and then calculate the proportion of recent trajectory points that fall within the preset spatial radius range, and use this proportion value to determine the overlap of the robot's motion trajectory.
3. The underwater cleaning robot escape method according to claim 1, characterized in that: When executing step S4, it is determined whether the time during which the robot's motion trajectory overlap is continuously higher than a preset overlap threshold value exceeds a preset duration threshold value; or, Determine whether the cumulative distance moved by the robot during the period when the overlap of the motion trajectories is higher than the preset overlap threshold exceeds the preset continuous distance threshold.
4. The method for escaping an underwater cleaning robot according to claim 1, characterized in that: In step S7, the preset escape strategy includes: Control the robot to move along a preset continuously changing path, and monitor whether the robot is blocked by obstacles during the process of moving along the preset continuously changing path; If the system detects that the robot is obstructed by an obstacle, it will actively reduce the amplitude of the preset continuous line change path and control the robot to continue walking in the opposite direction of the obstruction along the continuously changing line path with the reduced amplitude.
5. The method for escaping an underwater cleaning robot according to claim 1, characterized in that: In step S7, the preset escape strategy includes: Control the robot to pause walking and allow it to drift with the water flow; The system keeps collecting the robot's position information during its drift and determines the interference direction of the water flow by analyzing the robot's trajectory changes; After determining the interference direction of the water flow, restart the robot and control the robot to continue walking in a direction perpendicular to the interference direction of the water flow.
6. The method for escaping an underwater cleaning robot according to claim 1, characterized in that: In step S7, the preset escape strategy includes: The robot is controlled to move in a straight line to the side wall of the swimming pool in a preset direction, and the distance sensor is used to monitor the distance between the robot and the side wall of the swimming pool.
7. The method for escaping an underwater cleaning robot according to claim 1, characterized in that: In step S7, the preset escape strategy includes: After controlling the robot to move in a straight line in a preset direction to the side wall of the swimming pool, continue to control the robot to move along the side wall of the swimming pool.
8. The method for escaping an underwater cleaning robot according to claim 7, characterized in that: When controlling the robot to move along the side wall of the pool, the lateral distance sensor is used to maintain a preset distance between the robot and the side wall of the pool.
9. The underwater cleaning robot escape method according to claim 1, characterized in that: When executing step S6, the system first analyzes the historical walking trajectory data of the robot in the trapped state, and determines whether the robot is trapped in the vortex by observing whether the set of trapped trajectory points in the historical walking trajectory data is distributed in a ring / near-ring / spiral shape; If the system determines that the robot is trapped in the vortex, the following escape strategy is executed in step S7: The robot is controlled to rotate slowly and the force of the eddy current acting on the non-center position of the robot's side is used to form an increased torque, driving the robot to accelerate rotation and generate a continuous rotation trend. The continuous rotation trend formed helps the robot to escape from the eddy current area.
10. The underwater cleaning robot escape method according to claim 1, characterized in that: It also includes the step of monitoring the battery power of the robot in parallel: if the battery power of the robot is lower than the preset low power threshold, the system interrupts the currently executing cleaning task, controls the robot to switch to the return to the starting position mode, and navigates the robot back to the preset starting position.
Citation Information
Patent Citations
Obstacle-crossing and detrapping method of cleaning robot, cleaning robot and storage medium
CN115357016A
Underwater submerging robot and control method and control device thereof
CN117234092A
Accurate flow velocity measurement method and system based on unmanned ship
CN117871888A
Underwater operation robot, control method and control system thereof and storage medium
CN119512171A
Underwater robot control method, underwater robot, electronic equipment and storage medium
CN119847168A
Cited By
Cleaning mode switching method and device for multifunctional swimming pool cleaning robot
CN120928842A
Cleaning mode switching method and device of pool multifunctional cleaning robot
CN120928842B