An underwater cleaning robot escape method
By monitoring and analyzing the location and trajectory of underwater cleaning robots in real time, an intelligent escape strategy was adopted to solve the problem of robots getting stuck in complex environments, thereby improving cleaning efficiency and coverage and reducing human intervention.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-08
- Publication Date
- 2026-04-14
AI Technical Summary
Existing underwater cleaning robots are prone to getting stuck in a state of continuous ineffective movement in complex environments, resulting in low cleaning coverage, low efficiency, and the need for human intervention. There is a lack of effective solutions for autonomous escape from difficult situations.
By monitoring the robot's position and historical trajectory in real time, calculating the overlap of movement trajectories, determining whether it is trapped, and adopting preset escape strategies such as continuous path changing, water flow sensing, and straight-line travel to the side wall, the robot can autonomously get out of the trapped state.
It improves the cleaning coverage and efficiency of underwater cleaning robots, reduces human intervention, and enhances their ability to autonomously escape from complex environments.
Smart Images

Figure CN120540293B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of swimming pool cleaning equipment technology, and in particular to a method for an underwater cleaning robot to escape from a difficult situation. Background Technology
[0002] With socio-economic development and rising living standards, swimming pools have become increasingly popular as a recreational facility. To reduce the labor intensity of manual cleaning and improve efficiency, underwater cleaning robots have been widely used in pool maintenance. Existing underwater cleaning robots, especially those designed for diverse shapes in home or commercial pools, often employ movement control methods based on stochastic decision-making or pseudo-stochastic algorithms. The advantage of this approach is that it eliminates the need for pre-built precise pool maps and complex path planning, making it relatively simple to implement. The robot moves and cleans the pool bottom or walls through simple forward movement, turning, collision detection, and obstacle avoidance logic, aiming to cover the entire pool area through sufficiently long periods of random movement.
[0003] However, random movement control faces significant challenges in practical applications, especially in the presence of complex environmental factors or specific pool structures. First, the water flow in a pool is not completely still or uniform; circulation pumps, filtration systems, and even user activity generate unpredictable and dynamically changing water currents. These currents exert a considerable impact on lightweight underwater cleaning robots, interfering with their intended random movement trajectories. In some cases, specific water flow patterns may cause the robot's random movement to be "locked" into a localized area, such as repeatedly moving back and forth along a straight line or continuously spinning in eddies created by the water flow, resulting in repetitive walking trajectories.
[0004] Secondly, swimming pools come in diverse geometries, not just simple rectangles. For L-shaped, irregularly shaped pools, or those with sharp corners, steps, or narrow passages, robots employing random movement methods often encounter difficulties in these complex structures. For example, a robot might repeatedly collide and turn in a corner area, struggling to successfully navigate around it and enter the area behind; or it might get blocked while trying to enter a narrow passage, repeatedly attempting to navigate it. This combination of physical limitations and random movement can also cause the robot to continuously repeat a certain trajectory within a localized area, failing to effectively explore and clean other areas.
[0005] The aforementioned persistent, repetitive trajectories or localized entrapment caused by water flow interference or environmental limitations bring about a variety of problems:
[0006] 1. Low cleaning coverage: The robot is stuck 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: Robots waste a lot of time on ineffective and repetitive cleaning of the same area, reducing the effective cleaning area per unit time.
[0008] 3. High demand for manual intervention: When the robot is clearly stuck in a continuous ineffective movement, users usually need to manually remove it from the predicament, interrupting the automated cleaning process and affecting the user experience.
[0009] Current research on underwater robot navigation and control largely focuses on mapping, path planning, or precise tracking. However, effective solutions are lacking for cleaning robots employing non-planning control methods such as random walking, which are prone to "trapping" in complex environments due to trajectory characteristics. Specifically, there is a lack of solutions for how to intelligently detect and autonomously resolve such problems. In most cases, robots rely on simple obstacle avoidance logic (such as random turning after a collision), which is insufficient to solve the problem of continuous trajectory repetition caused by water flow or complex geometry, often requiring human intervention to escape the predicament.
[0010] Therefore, there is an urgent need for an underwater cleaning robot escape method that can intelligently identify whether the robot is trapped in a continuous ineffective motion state and can autonomously take measures to get out of the state, thereby overcoming the shortcomings of existing technologies such as random walking cleaning robots being easily trapped, low cleaning efficiency and coverage, and the need for 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 an underwater cleaning robot escape method, which enables the control system to identify whether the robot is trapped in a continuous ineffective motion state and to take measures to get out of the state autonomously, thereby overcoming the technical defects of the prior art that the randomly walking cleaning robot is easy to get trapped, has low cleaning efficiency and coverage, and requires human intervention.
[0012] This invention discloses a method for an underwater cleaning robot to escape from entrapment, comprising the following steps: S1, continuously acquiring the robot's real-time location information; S2, updating the robot's historical walking trajectory data in real time based on the robot's real-time location information; 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 continuously meets a preset entrapment judgment condition; S5, if the robot's motion trajectory overlap continuously meets the preset entrapment judgment condition, determining that the robot is in an entrapment state; S6, if the robot is determined to be in an entrapment state, initiating a preset entrapment process; S7, under the entrapment process, controlling the robot to perform entrapment movements according to a preset entrapment strategy; S8, the system determines whether the robot has completed entrapment; S9, if the robot has completed entrapment, terminating the entrapment process and switching the robot's motion control mode back to the normal cleaning task mode.
[0013] It is understood that in step S1, the robot can periodically or continuously measure its precise position in a preset reference coordinate system using its onboard positioning system (e.g., sonar positioning, IMU, pressure sensors, or a combination thereof). This positional information is a key data source for determining the robot's motion state and trajectory. This step is a prerequisite for all subsequent trajectory analysis and stuck-out determination.
[0014] After the real-time location information obtained in step S1 is used to construct the robot's motion history trajectory data, in step S2, the newly acquired location 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 repeatability or concentration of its recent motion trajectories. Specific calculation methods may include, for example, comparing the spatial proximity of recent trajectory points with non-recent historical trajectory points, or analyzing the concentration of area dwell time / visit frequency. The goal of this step is to obtain a numerical value that objectively reflects whether the robot is continuously and repeatedly moving within the same area or along the same path.
[0016] Step S4 determines whether the high overlap state calculated in step S3 has been maintained for a certain period of time or whether a sufficient distance has been traveled at a high degree of overlap. This avoids being mistakenly identified as trapped due to brief, normal repetitive movements (e.g., short back-and-forth movements while cleaning a small area). Preset trapping criteria typically include an overlap threshold (e.g., higher than 80%) and a duration threshold (e.g., duration exceeding 30 seconds or cumulative movement exceeding 10 meters). Only when the high overlap state is not accidental but persistent can it be considered abnormal. This determination is a prerequisite for proceeding to step S5.
[0017] When the judgment result of step S4 is true, that is, when the system confirms that the robot has been moving in a highly repetitive or confined area for an extended period of time, step S5 makes a trapped judgment. This judgment is based on data-driven intelligent recognition, rather than relying on external perception or human intervention. It is a critical decision point in the transition from routine motion monitoring to abnormal state confirmation. This judgment result directly determines whether the next step is to continue the routine task or initiate the escape procedure.
[0018] Step S6 is the trigger step for shifting from passive monitoring to active intervention. Once step S5 determines that the robot is trapped, step S6 immediately activates a process specifically for handling trapped situations. This typically means interrupting the robot's current routine motion control commands (e.g., stopping the random walking algorithm) and switching to a preset "getting out of trouble mode." Initiating the get-out-of-trouble process is the signal to execute specific get-out-of-trouble actions.
[0019] In the escape mode, step S7 executes specific escape actions. Based on the preset strategy selection logic (e.g., fixed sequence, selection based on the type of obstacle) in the escape process initiated in step S6, the robot adopts a specific movement pattern aimed at breaking the original repetitive trajectory or overcoming physical limitations. This helps the robot leave the current ineffective area or location.
[0020] During the escape maneuver in step S7, step S8 continuously monitors the robot's current motion state or position to assess the success of the escape attempt. The criteria for successful escape are related to the executed strategy (e.g., whether the robot reached the sidewall, moved a sufficient distance along the wall, or moved significantly away from the trapped area and no longer met the high overlap condition). This step determines the outcome of the escape attempt and is the basis for deciding the next course of action (resuming the normal task or handling escape failure).
[0021] If step S8 determines that the escape was successful, step S9 ends the current escape process, stops executing the escape strategy, and returns control of the robot to the control module for regular cleaning tasks (e.g., resumes random walking). This means that the robot has successfully escaped the predicament and can continue to effectively perform its main cleaning tasks.
[0022] According to a method for an underwater cleaning robot to escape from a tangled situation, when performing step S3, firstly, a set of recent trajectory points within a recent period is extracted from the robot's historical walking trajectory data. Then, it is determined whether each trajectory point in the set of recent trajectory points falls within a preset spatial radius of any trajectory point in a non-recent trajectory data segment. Then, the proportion of recent trajectory points falling within the preset spatial radius is calculated, and the overlap of the robot's motion trajectory is determined by this proportion.
[0023] The above method first extracts the robot's recent trajectory point set. From the robot's stored historical walking trajectory data, a set of trajectory points representing the robot's recent movement trajectory is extracted and defined as a "recent trajectory segment." For example, the most recent N location points or location points within the most recent T minutes can be selected as recent trajectory points. Next, the spatial proximity between recent points and historical points is 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 the historical trajectory that is not a recent trajectory segment. Here, "non-recent trajectory segment" refers to the portion of the historical trajectory excluding recent trajectory segments, representing the robot's earlier movement path. The preset spatial radius (e.g., 0.3 meters to 0.8 meters) is used to define the degree of "proximity" or "overlap" between two trajectory points in space, while also allowing for a certain positioning error. Then, a proportion value is calculated, counting the number of recent trajectory points falling within the preset spatial radius and calculating the proportion of these points to the total number of recent trajectory points in the entire recent trajectory point set. Finally, the overlap is determined based on the proportion value, and the calculated proportion value is used as the robot's movement trajectory overlap. A higher ratio indicates a greater spatial repetition between recent and earlier historical trajectories, and a higher degree of overlap in the movement trajectories. This step involves extracting and comparing "recent trajectory segments" with "non-recent historical trajectory segments" and setting a "preset spatial radius." This method effectively isolates the robot's normal forward exploration movement (i.e., recent trajectories in new areas) from repetitive wandering or spinning movements when stuck (i.e., recent trajectories spatially highly coincide with earlier historical trajectories). By calculating the proportion of recent points falling within the preset spatial radius, an intuitive and quantifiable indicator is provided to measure this degree of spatial repetition. The ratio directly reflects the degree of coincidence between the robot's recent movement trajectory and previously traversed paths, thus enabling a more accurate quantification of whether the robot is trapped in a continuously repetitive trajectory. Furthermore, the introduction of a "preset spatial radius," rather than strictly requiring perfect point consistency, takes into account the inherent errors of underwater robot positioning systems and slight jitter or drift during actual movement. Even if the robot doesn't repeatedly move along the exact same microscopic path, as long as its trajectory highly overlaps with historical trajectories macroscopically (i.e., within a set spatial radius), this method can still correctly identify such repetitive states, avoiding missed detections due to minor deviations and improving the reliability of trapped state detection. Finally, historical trajectories are categorized as "recent" and "non-recent," and it's determined whether recent points fall within the range of non-recent points, preventing misjudgments of the robot normally traversing the same area twice or multiple times as trapped. Only when the robot has continuously lingered in a certain area recently, causing a high proportion of spatial overlap between recent and earlier non-recent trajectories, will the overlap significantly increase—a typical manifestation of a "trapped" state. Therefore, this calculation method can effectively distinguish true trapped states.
[0024] According to a method for an underwater cleaning robot to escape from a tangled situation, when performing step S4, it is determined whether the time during which the overlap of the robot's movement trajectory 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 when the overlap of its movement trajectory is higher than the preset overlap threshold exceeds a preset duration threshold.
[0025] The above method involves two aspects. First, it determines whether the robot's trajectory overlap remains above a preset overlap threshold (e.g., 70% or 80%) for a duration exceeding a preset duration threshold (e.g., 20 or 30 seconds). This means that if the robot's trajectory overlap remains at a high level for an extended period, it is considered trapped, even if it may still be moving slowly. Second, it determines whether the robot's cumulative distance traveled during the period when the trajectory overlap is above the preset overlap threshold exceeds a preset duration threshold (e.g., 5 or 10 meters). 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 a robot repeatedly moves back and forth along a short line segment. The system can monitor both conditions simultaneously, and if either condition is met, it determines that the trajectory overlap continuously meets the preset trapped condition. This method combines temporal and spatial (travel distance) dimensions to determine the persistence of high-overlap states, resulting in the following technical effects: Effect 1: Filtering instantaneous high overlap. During the normal random movement of underwater cleaning robots, situations with high local trajectory overlap may occasionally occur at a certain moment or for a very short period (e.g., brief pauses, minor adjustments after encountering small obstacles). Judging solely based on instantaneous high overlap is prone to misjudgment. By introducing a "duration threshold" and a "duration distance threshold," this method requires that the high-overlap state must be maintained for a period of time or that a certain distance of invalid movement has been made within the high-overlap area before triggering a trapped state determination. This effectively filters out instantaneous trajectory fluctuations or brief repetitions in non-trapped states, improving the accuracy of trapped state determination. Effect 2: Comprehensive coverage of different forms of trapped states. Robot trapped states can manifest in various forms: for example, spinning in a confined area (high overlap, low travel distance, long duration), or repeatedly moving back and forth along short line segments (high overlap, relatively high cumulative travel distance, long duration). Simply judging by duration or cumulative distance alone may not fully cover these situations. This method employs an "OR" relationship, simultaneously monitoring both dimensions to ensure that any form of continuous, highly overlapping motion leading to ineffective cleaning can be effectively identified, thus improving the comprehensiveness of trapped robot detection. Thirdly, it optimizes the timeliness of trapped robot responses. By setting reasonable thresholds, the escape process can be triggered promptly when the robot's ineffective motion reaches a certain level, preventing it from remaining trapped for extended periods and wasting time and power. For example, a duration threshold is suitable for situations where the robot remains stationary for extended periods or spins around in a small area, while a duration distance threshold can capture situations where the robot moves rapidly back and forth along short line segments. This dual standard helps identify problems earlier in different trapped scenarios, ensuring a timely escape response.
[0026] According to a method for an underwater cleaning robot to escape from a treacherous situation, in step S7, the preset escape strategy includes: controlling the robot to travel along a preset continuous lane-changing path, and monitoring whether the robot is obstructed by an obstacle during the travel along the preset continuous lane-changing path; if the robot is obstructed by an obstacle, the system actively reduces the amplitude of the preset continuous lane-changing path, and controls the robot to continue traveling in the opposite direction of the obstruction along the reduced continuous lane-changing path.
[0027] The above method is a pre-defined escape strategy, which can be understood as moving along a pre-defined continuous change-of-direction path. It controls the robot to move not in a conventional, random, or straight-line manner, but along a pre-set path sequence containing continuous directional changes. This path can be a series of broken lines (such as W-shapes, Z-shapes, L-shapes, S-shapes) or a series of curves. "Continuous change-of-direction" aims to forcibly change the robot's original direction of movement, breaking it from a potentially trapped straight-line repetitive or small-range spinning pattern. Secondly, it includes an obstacle monitoring scheme. During the robot's execution of this continuous change-of-direction path, the system continuously monitors whether the robot is obstructed by the pool sidewalls or other obstacles. This monitoring can also be achieved by using distance sensors (such as forward or lateral ultrasonic / sonar sensors) to detect the proximity to obstacles. This also includes path adjustment after obstruction. If the robot is detected to be obstructed by an obstacle (e.g., too close to a side wall, or the actual trajectory deviates significantly from the commanded path and the speed decreases), the system actively triggers an adjustment to the current continuous lane-changing path. The adjustment methods include reducing the amplitude, i.e., reducing the spatial amplitude of the preset continuous lane-changing path, such as shortening the length of the line segments forming the broken line or reducing the turning angle, making the adjusted path more compact and easier to execute within a limited space. It also includes a reverse walking strategy, i.e., controlling the robot to move in the opposite direction of the obstruction, continuing along the reduced amplitude continuous lane-changing path. For example, if the robot attempts to execute a Z-shaped path in a certain direction and hits a wall, the system may instruct it to execute a smaller Z-shaped path in the opposite direction of the original obstruction. In summary, this method effectively breaks repetitive motion patterns. When a robot gets stuck in a repetitive trajectory of straight-line back-and-forth movement or small-range spinning, simple straight-line leaps or random turns may not be enough to help it escape, especially in situations where it is trapped by water flow or locally complex shapes. Employing pre-defined, continuously changing paths with significant directional variations (such as W-shapes and Z-shapes) can forcibly alter the robot's motion vector, causing it to detach from its original ineffective movement trajectory, effectively breaking repetitive patterns and increasing the likelihood of successful escape. Furthermore, it enhances the adaptability of strategy execution. Underwater environments may contain unknown obstacles or locally complex terrain, which may hinder the robot's attempt to execute the pre-defined path. This method incorporates obstacle monitoring during path execution and proactively adjusts the path execution method (reducing the amplitude, reversing movement) upon detecting an obstacle. This real-time feedback and adjustment mechanism makes the escape strategy more flexible and adaptable, preventing failure due to simple collisions or obstructions and improving the stability of successful escape. It can also optimize escape capabilities in confined spaces, where trapped areas are often relatively limited (e.g., pool corners, near obstacles, or areas caused by strong currents). If the initial path change amplitude is too large, the robot may quickly hit the wall again.When obstructed, the robot actively "reduces the range" and tries in the "opposite direction," allowing it to make fine adjustments to its movements within a smaller space and attempt to escape from the current obstruction point from different angles or directions, thus improving the efficiency and success rate of escaping from narrow or complex spaces.
[0028] According to a method for an underwater cleaning robot to escape from a treacherous situation, in step S7, the preset escape strategy includes: controlling the robot to pause walking and allowing the robot to drift with the water flow; the system continues to collect the robot's position information during the robot's drift and determines the direction of water flow interference by analyzing the changes in the robot's trajectory; after determining the direction of water flow interference, the robot is restarted and controlled to continue walking in a direction perpendicular to the direction of water flow interference.
[0029] The above method is another pre-defined escape strategy. First, it pauses active propulsion and allows the robot to drift, temporarily halting its movement and allowing it to drift freely under the influence of the pool's water flow. Then, it collects the robot's position and analyzes the water flow direction. During the robot's drift, the system continuously collects the robot's real-time position information (similar to step S1). By analyzing the changes in the robot's position over this period (i.e., the drift trajectory), the system can determine the main direction of the water flow's influence on the robot, thus identifying the "interference direction of the water flow." For example, the displacement vector from the start to the end of the drift can be calculated, or the drift path can be fitted to estimate the water flow direction. After determining the water flow interference direction, 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 water flow perception, is particularly effective for situations where the robot is trapped due to water flow. It can identify the root cause of water flow interference; the non-directional water flow in the pool is one of the important reasons why robots get trapped (e.g., repeatedly walking back and forth in a straight line). Traditional escape strategies might simply attempt to break through or change direction, but without awareness of the water flow direction, the breakthrough direction may still be ineffective due to the strong interference of the water flow. This method, by allowing the robot to drift with the water flow, is an effective means of passively sensing the actual direction of the water flow, thus identifying the fundamental external interference factor (water flow) causing the entrapment. It can also specifically counteract or bypass the influence of the water flow. Once the direction of the water flow interference is determined, controlling the robot to travel perpendicular to that direction means the robot will leave the area currently dominated by the water flow with maximum efficiency (maximum velocity relative to the vertical direction). This is more effective than simply randomly turning or moving against the current in escaping the "force field" or "trap" created by the water flow, thus avoiding continued ineffective wandering within the water flow area. This improves the efficiency and success rate of escape. By specifically addressing water flow interference, this strategy helps the robot escape with fewer attempts and in less time, avoiding prolonged and ineffective resistance in areas with strong water flow. This improves the efficiency and success rate of escape, thereby enhancing the robot's overall cleaning efficiency. This method is applicable to various forms of entrapment caused by water flow. Whether it is straight back and forth caused by water flow or spinning in a small area, as long as water flow is the main source of interference, it can effectively help the robot escape by sensing the direction of water flow and breaking through vertically.
[0030] According to a method for an underwater cleaning robot to escape from a tangled situation, 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 pool, and using a distance sensor to monitor the distance between the robot and the side wall of the pool.
[0031] The above method is also a pre-defined escape strategy, controlling the robot to move in a straight line in a preset direction (e.g., the current heading or a randomly selected direction). Simultaneously, a distance sensor (e.g., an ultrasonic sensor or forward-facing sonar) at the front of the robot continuously monitors the distance between the robot and the pool wall. This strategy aims to guide the robot to move in a straight line towards a specific target (the pool wall) until it reaches it. Compared to complex path-changing or environmental perception strategies, moving in a straight line towards the wall is a relatively simple and straightforward escape logic. It only requires controlling the robot to maintain straight-line movement and using the distance sensor for simple target detection (the wall), making it technically less difficult to implement. Whether spinning in a small area or moving in a straight line, moving in a straight line towards the pool wall can usually help the robot escape its original confined area. The wall, as the boundary of the pool, is a clear and reliable reference target during the escape process. Changing the original direction of movement by hitting (or approaching) the wall can effectively break the repetitive pattern. Most underwater cleaning robots are equipped with distance sensors for obstacle avoidance. This strategy can be implemented directly using this existing hardware without the need for additional special sensors. In summary, this method provides a basic and effective escape strategy. Through simple and direct linear motion and sidewall detection, it helps the robot quickly escape from various types of trapped states and provides a clear boundary reference for further escape or cleaning tasks, demonstrating high practicality.
[0032] According to a method for an underwater cleaning robot to escape from a tangled situation, 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 pool, and then continuing to control the robot to move along the side wall of the pool.
[0033] This method is also a pre-defined escape strategy, comprising two phases: Phase one involves moving in a straight line to the pool sidewall, controlling the robot to move in a straight line in a preset direction until a distance sensor detects that it has reached the pool sidewall (e.g., the distance to the sidewall is less than a preset threshold). Phase two involves moving along the pool sidewall. After confirming that the robot has reached the sidewall, it does not stop moving but further controls the robot to move along the pool sidewall. This wall-walking can be to the left or right, with the goal of using the sidewall as a guide to bypass the stuck point or enter a new area. This method can help the robot overcome local corner or bend traps. Robots often get stuck in the corners of the pool or near certain bends, manifesting as bumping back and forth or spinning in a small area. Simply rushing in a straight line may result in hitting the same corner or the opposite wall again. This strategy first ensures that the robot contacts the pool boundary by moving in a straight line to the sidewall. Then, by walking along the wall, the robot can systematically move along the boundary, bypassing corners or bends that are difficult to cross directly, thus effectively solving the local stuck problem caused by the shape of the pool or fixed corners. Furthermore, it can help guide robots into new cleaning areas. Walking along the pool sidewall is an effective global navigation strategy, especially at the boundaries of unknown or complex environments. Robots trapped in a local area can explore the pool boundary by walking along the wall, largely ensuring they can leave the original trapped area and enter the rest of the pool for cleaning, significantly improving cleaning coverage. This method combines the advantages of simplicity and complexity, namely the simplicity of straight-line rushing and the effectiveness of wall-walking in boundary navigation, forming a two-stage, more robust escape mechanism that can better cope with various complex trapped scenarios than a single strategy.
[0034] According to a method for an underwater cleaning robot to escape from a stuck situation, when the robot is controlled to move along the side wall of a swimming pool, a lateral distance sensor is used to maintain a preset distance between the robot and the pool side wall. That is, when the robot moves along the pool side wall, it maintains a preset distance (e.g., 0.1 meters to 0.3 meters) between the robot and the side wall using a lateral distance sensor (e.g., an ultrasonic sensor or 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 it can move closely to the side wall while avoiding scratching or getting stuck.
[0035] According to a method for an underwater cleaning robot to escape from a treacherous situation, the method further includes a step of monitoring the robot's battery level in parallel: if the robot's battery level is lower than a preset low battery threshold, the system interrupts the currently executing cleaning task, controls the robot to switch to a return-to-initial-deployment-position mode, and guides the robot back to the preset initial deployment position.
[0036] The above method is a parallel execution step, namely, monitoring the robot's battery level. This monitoring process is independent of the main trouble detection and escape procedures. If the robot's battery level is detected to be below a preset low battery threshold (e.g., 10% or 15%), the system will execute a high-level instruction: interrupting any currently executing task (whether it's a routine cleaning task, an ongoing escape strategy, or even the navigation process to the starting point itself, unless already in progress), controlling the robot to switch to a return-to-initial-deployment-position mode, and guiding the robot to autonomously return to the pre-recorded initial deployment position, ensuring the robot's safety and recoverability. It should be noted that this method has high priority; the low battery return logic interrupts any currently executing task, whether it's random walking, executing complex escape strategies, or any other working mode. The low battery state has the highest priority, ensuring that the robot can prioritize the return operation when the battery is critically low, ensuring the safe and reliable operation of the underwater cleaning robot, and preventing task failure and recovery difficulties due to battery depletion.
[0037] However, in reality, in the swimming pool environment where underwater cleaning robots perform cleaning tasks, water flow is not always uniform or linear, but often accompanied by complex local hydrodynamic phenomena. Among them, vortices are a typical local rotating water flow structure that can significantly interfere with the movement of underwater robots and cause them to become trapped. According to the principles of fluid mechanics and the characteristics of swimming pool structure, vortices mainly form in the following typical locations in the swimming pool environment: Location 1: Pool corners. The four corners of the pool are areas where vortices are prone to occur. Due to the obstruction and guiding effect of the pool walls on the water flow, the water flow changes direction at these locations, easily forming swirling or turbulent flow, thus generating vortices. Especially when the pool is being water-changed or water is being added, the water flow changes at the corners become more complex, and the vortex phenomenon may be more obvious. Location 2: Near the inlet and outlet. The high-speed jet at the inlet produces velocity shear and mixing with the surrounding still or slow-moving water, and the suction effect of the outlet causes the surrounding water flow to converge and become turbulent. The shape, size, and flow velocity of the inlet and outlet all affect the intensity and location of eddies, and these two areas are common sources of eddies. Location three: Around obstacles. Fixed or semi-fixed obstacles in the pool, such as ladders, handrails, and underwater lights, can interfere with the normal flow of water. When water flows around these obstacles, it creates wakes, low-pressure areas, and separation flows behind them, causing the water to swirl and form eddies. The shape and size of the obstacles will affect the characteristics of the resulting eddies. Location four: Areas where different water flows converge. In pools with multiple water sources or flows in different directions, eddy structures are easily generated in areas where the water flows converge or interact due to momentum exchange and increased turbulence.
[0038] If a robot, while performing a cleaning task using random walking or other modes, enters the aforementioned eddy-prone area, its movement trajectory is easily disturbed by the local rotating water flow. It may be drawn into the vicinity of the eddy center, exhibiting continuous, repetitive circular, near-circular, or spiral movements, thus becoming trapped and affecting cleaning efficiency and coverage. To solve this problem, the present invention also includes the following method:
[0039] According to a method for escaping an underwater cleaning robot according to the present invention, when performing 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 a vortex by observing whether the set of trapped trajectory points in the historical walking trajectory data is distributed in a circular / near-circular / spiral shape; if the system determines that the robot is trapped in a vortex, the following escape strategy is executed in step S7: control the robot to rotate slowly and use the force of the vortex acting on the non-center position of the robot's side to form an increased torque, drive the robot to accelerate rotation and generate a continuous rotation trend, and use the formed continuous rotation trend to help the robot get out of the vortex area.
[0040] In the above method, after the system determines that the robot is trapped in step S5 (i.e., the trajectory overlap continues to meet the preset conditions), it does not immediately activate any preset escape strategy. Instead, it adds an analysis step on the characteristics of the current trapped trajectory. The core of this analysis is to examine the spatial distribution of the trajectory points in the robot's historical walking trajectory data during the trapped period. The system uses a specific algorithm to observe and determine whether these trapped trajectory points exhibit typical geometric distribution characteristics of loops, near-loops, or spirals. Such loop, near-loop, or spiral trajectory patterns are very common in underwater environments, especially when the robot is captured by strong local rotating currents (i.e., eddies). The robot will involuntarily be drawn into the vicinity of the eddy center and continuously rotate or hover around a certain point or area. By identifying this specific trajectory feature, the system can distinguish between simple local obstruction (such as being stuck in a corner or going back and forth in a narrow area) and being trapped by dynamic eddies.
[0041] Then, a conditional strategy selection logic is defined: only when the trajectory analysis results determine that the robot is indeed trapped in a vortex will the system execute a specific escape strategy designed to deal with the vortex in subsequent step S7. It is important to explain that this conditional selection is crucial. Different causes of entrapment require different solutions. For example, being stuck in a corner might require moving along a wall or turning backward, while being swept into a narrow area by a strong current might require breaking out in a straight line. If trapped in a vortex, attempting to rush forward in a straight line or making a simple turn may be inefficient or even worsen the entrapment.
[0042] Once the system determines that the robot is trapped in an eddy current, it formulates a specific escape strategy, which is as follows:
[0043] (1) Controlling the robot to slowly rotate. This is the initial action of the strategy. The robot rotates around its own vertical axis. This rotation can generally be achieved by controlling the speed difference between the walking motors on both sides of the robot. For example, the left walking motor can be stopped while the right walking motor continues to run. Alternatively, the speeds of the left and right motors can be made different. This makes it easy to make the robot rotate in the pool. The "slow" rotation here is not arbitrary or without technical purpose, but is designed to optimize the subsequent interaction with the eddy. The reason is that through active rotation, the sides of the robot body will continuously face the impact of the external water flow at different angles. Choosing a "slow" speed may be to avoid the robot being immediately pushed out of the eddy by the centrifugal force generated by rapid rotation, but to better "feel" and "utilize" the tangential velocity component of the eddy.
[0044] (2) Utilizing the force of eddies acting on the non-central part of the robot's side to generate increased torque. This is the key to the escape strategy. When the robot body (which has a certain size and shape, rather than being a point) rotates in a vortex field with a rotating flow velocity, the tangential velocity of the vortex will generate a lateral force on the side of the robot body. These forces are often not exactly acting on the robot's rotation center. Since there is a radial distance between the point of application and the rotation center, according to the definition of torque (force multiplied by lever arm), these forces will generate a torque that drives the robot to rotate. The reason is that by controlling the robot's own slow rotation, its side can be made to face the tangential velocity of the vortex at a more favorable angle, which helps to make the direction of the torque generated by the vortex consistent with the robot's current rotation direction, thus accelerating the robot's rotation. This torque from the external flow field that enhances the robot's own rotation is called "increased torque". This is a clever mechanism of "borrowing" energy from the external environment.
[0045] (3) Driving the robot to accelerate rotation and generate a continuous rotation trend. Thanks to the aforementioned effect of "increasing torque," the robot's own rotation speed will increase, forming a continuous and potentially increasingly faster rotation state, i.e., a "continuous rotation trend." The reason is that the robot's rotation is no longer solely the result of its own motor drive, but rather the combined force of its own drive and the external eddy current drive. Under favorable conditions, the energy provided by the eddy current may even be far greater than the energy the robot itself uses for its own rotation, leading to a significant increase in rotation speed.
[0046] (4) Utilizing the continuous rotational tendency to help the robot escape the vortex region. That is, using this rapid, dynamic, continuous rotational motion formed by "borrowing force" to break free from the vortex's hold. The reason is that the rapid rotational motion 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-velocity region of the vortex core. This way of escaping is equivalent to throwing the robot out of the vortex by gradually accelerating its rotation.
[0047] Understandably, compared to methods that blindly apply general strategies without distinguishing the cause of the entrapment, the above method can more accurately understand the nature of the entrapment, laying the foundation for selecting the most effective escape plan and improving the robot's ability to autonomously cope with entrapment in complex environments and its level of intelligence. Furthermore, this strategy cleverly "borrows" the energy of external eddies, rather than relying solely on the robot's own propulsion to counteract the powerful eddies. This is a unique, counterintuitive (not directly confronting but utilizing) approach to escape entrapment. Thanks to the external gain torque, the robot can more easily achieve higher rotational speeds, thereby more effectively generating dynamic effects that help escape the eddies. Therefore, this strategy has a higher success rate and efficiency in resolving eddy-induced entrapment compared to simply attempting a straight-line breakthrough or a high-power turn in place. Compared to strategies that attempt to directly "increase propulsion to break through" or "rapidly hard-turn" to counteract eddies through high-power output, this method utilizes external environmental energy, significantly reducing the burden on the robot's own propulsion system. This helps reduce the robot's power consumption during extrication and extends the endurance of a single mission; at the same time, it reduces the need for the propulsion system to work under high load for extended periods, which helps reduce wear on mechanical parts and extend the robot's service life.
[0048] The underwater cleaning robot escape method of the present invention can achieve the following technical effects:
[0049] By continuously acquiring the robot's real-time location information and analyzing its motion trajectory data, the repeatability of the robot's movements, i.e., trajectory spatial overlap, can be calculated and quantified. Then, using this key feature of trajectory spatial overlap, combined with the duration for which it continuously exceeds a preset threshold, the system can intelligently and accurately identify whether the robot is "trapped" by continuously performing ineffective repetitive movements or spinning in a localized area, effectively avoiding misjudgments. Once a robot is confirmed to be trapped, the method can autonomously initiate and execute a preset escape strategy, breaking the robot's original repetitive movement pattern and enabling it to effectively escape the trapped area. Finally, the success of the escape strategy is assessed, and the escape process is terminated promptly upon successful escape, resuming normal cleaning tasks. This autonomous trap detection, accurate judgment, and proactive escape capability based on its own trajectory analysis eliminates the need for external sensing or human intervention to resolve stuck or ineffective movements in underwater cleaning robots. This significantly improves the robot's actual cleaning efficiency and coverage, greatly reduces the need for user intervention, and significantly enhances the robot system's autonomy, stability, and user experience. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in this invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0051] Figure 1 This is a schematic diagram of the underwater robot escape method according to Embodiment 1 of the present invention;
[0052] Figure 2 This is a schematic diagram of the underwater robot escape method according to Embodiment 2 of the present invention;
[0053] Figure 3 This is a schematic diagram of the underwater robot escape method according to Embodiment 3 of the present invention;
[0054] Figure 4 This is a schematic diagram of the underwater robot escape method according to Embodiment 4 of the present invention;
[0055] Figure 5 This is a schematic diagram of the underwater robot escape method according to Embodiment 5 of the present invention. Detailed Implementation
[0056] The underwater cleaning robot escape method of the present invention will now be described in detail with reference to this application. The embodiments disclosed in this specification are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.
[0057] This invention provides a method for underwater cleaning robots to escape from difficult situations, addressing the problem of underwater cleaning robots becoming trapped due to complex environments or water flow interference while performing cleaning tasks. The method utilizes an underwater cleaning robot, which typically possesses the hardware required for underwater cleaning tasks, including, but not limited to: a positioning system (such as a sonar positioning module, inertial measurement unit (IMU), depth sensor, or a combination thereof, for acquiring robot position, attitude, and other information), 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, and vision sensors). This method, as part of the robot's control system, can operate in parallel or periodically during the robot's regular cleaning task modes (such as random walking, area coverage, etc.).
[0058] The specific methods for underwater cleaning robots to escape from difficult situations include the following examples:
[0059] Example 1: As Figure 1 As shown, this embodiment assumes that the robot repeatedly moves for a long time in the corner area of an L-shaped swimming pool, making it difficult to cross 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 a regular 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 is the basis for subsequent trajectory analysis.
[0061] S2. Based on the robot's real-time position information, update the robot's historical walking trajectory data 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 effectively utilize storage resources and focus on recent motion states, the aforementioned historical trajectory data set is typically updated and maintained with a fixed capacity (e.g., storing the most recent 1000 trajectory points) or a fixed time window (e.g., storing trajectory data from the most recent 3 minutes). Newly added trajectory points are arranged in chronological order.
[0062] S3. Analyze the robot's historical walking trajectory data and calculate the overlap of the robot's motion trajectories. The processor analyzes the historical trajectory data stored in step S2 and calculates the degree of trajectory overlap. Specifically, the system first extracts a set of trajectory points from the historical trajectory data within a recent period (e.g., the last 30 seconds) 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 (e.g., 0.4 meters) of any trajectory point in the historical trajectory that is not in the recent trajectory segment. Finally, the system counts the number of recent trajectory points falling within the preset spatial radius and calculates the percentage of this number to the total number of recent trajectory points. This percentage is the robot's motion trajectory overlap. For example, if the recent trajectory segment has 150 points, and 120 of them fall within the 0.4-meter radius of the historical trajectory, then the overlap is 120 / 150 = 80%.
[0063] S4. Determine whether the robot's trajectory overlap consistently meets the preset trapped condition; the system monitors the trajectory overlap value calculated in step S3. The preset trapped condition is that the trajectory overlap consistently exceeds a preset overlap threshold (e.g., 75%) and meets the preset persistence condition. The persistence condition can be set as follows: the trajectory overlap consistently exceeds 75% for a period exceeding a preset duration threshold (e.g., 45 seconds); or, the robot's cumulative distance moved during the period when the trajectory overlap is higher than 75% exceeds a preset duration distance threshold (e.g., 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 spins around the L-shaped corner for a long time, the overlap consistently exceeds 75%, and this state lasts for 50 seconds, meeting the preset duration threshold.
[0064] S5. If the overlap of the robot's motion trajectory continuously meets the preset trapped condition, the robot is determined to be trapped. When the judgment result of step S4 is true, that is, when the robot is in a continuous high overlap motion state for a long 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 has fallen into a predicament.
[0065] S6. If the robot is determined to be trapped, the preset escape procedure is initiated. Once the robot is determined to be trapped, the system immediately interrupts the current regular cleaning task control mode (e.g., stops the random walking algorithm) and switches the robot's control mode to "escape mode". At the same time, the preset escape procedure is initiated to prepare to execute a specific escape strategy.
[0066] S7. During the escape procedure, the robot is controlled to perform escape movements according to a preset escape strategy; the escape strategy is "moving in a straight line to the pool sidewall and then moving along the pool sidewall". First, the system controls the robot to move in a straight line at a preset speed (e.g., 0.3 m / s) in a preset direction (e.g., facing the robot's current heading or away from the center of the trapped area). During this process, the robot continuously monitors the distance to the obstacle (pool sidewall) using its forward distance sensor (e.g., an ultrasonic sensor). When the detected forward distance is less than a preset wall-to-wall distance threshold (e.g., 0.4 m), it is considered that the robot has reached the sidewall.
[0067] Next, the system controls the robot to stop its straight-line movement and switch to "wall-walking" control mode. The robot uses a lateral distance sensor to maintain a preset distance (e.g., 0.25 meters) from the pool wall and moves along the wall at a preset speed (e.g., 0.2 meters per second). The direction of movement (clockwise or counterclockwise) can be preset or selected based on specific circumstances. Stable wall-walking is achieved through the lateral sensor. This step, by first breaking through in a straight line and then navigating along a known boundary, helps the robot escape repetitive, small-scale movements in structured environments (such as pool corners) and enter new areas.
[0068] S8. The system determines whether the robot has successfully escaped the obstacle. During the execution of the escape strategy in step S7, the system continuously monitors whether the escape is successful. For the "moving in a straight line to the side wall and then walking along the wall" strategy, the criteria for determining whether the escape is successful may include: detecting that the robot has successfully reached the side wall by moving in a straight line (the distance in front is less than a threshold), and that the robot has moved along the side wall for more than a preset escape distance threshold (e.g., 10 meters); or, the robot's movement along the wall for more than a preset escape time threshold (e.g., 60 seconds). In addition, the system can also monitor the robot's real-time trajectory in parallel to determine whether it has left the original trapped area and whether the trajectory overlap (S3) has significantly decreased, no longer meeting the trapped condition (S4). If any escape completion condition is met, the robot is considered to have escaped the obstacle. In this embodiment, it is assumed that the robot has successfully escaped the obstacle after moving 12 meters along the wall.
[0069] S9. If the robot is determined to have successfully escaped the obstacle, the escape process is terminated, and the robot's motion control mode is switched back to the regular cleaning task mode. Once the escape is successful, the system stops the current escape motion control commands, such as stopping wall-walking. Then, the robot's control mode is switched from "Escape Mode" back to "Regular Cleaning Task Mode," such as resuming random walking and continuing to perform the pool cleaning task. Furthermore, after switching back to the regular mode, a preset "post-escape cooldown period" (e.g., 30 seconds) can be set for the system. During the cooldown period, the system temporarily disables or adjusts (e.g., increases the threshold) the sensitivity of the obstacle determination step in step S4. For example, obstacle detection can be paused, or a higher overlap or a longer duration can be required before triggering the next obstacle determination. Simultaneously, state variables such as the timer and distance counter used for the S4 determination are reset. This step aims to allow the robot to smoothly return to the main task flow; the cooldown period prevents the robot from being mistakenly identified as trapped again immediately after escaping due to brief motion adjustments, enhancing system robustness and user experience.
[0070] Through the above steps, the underwater cleaning robot in this embodiment is intelligently identified and autonomously freed from its trapped state in the L-shaped corner area. The robot successfully enters the area on the other side of the corner to carry out cleaning, thereby improving the overall cleaning coverage.
[0071] Furthermore, in parallel with the aforementioned escape process, the system continuously monitors the robot's battery level. If the robot's battery level falls below a preset low-battery threshold (e.g., 15%), the system will immediately interrupt any currently performing tasks (including routine cleaning or ongoing escape attempts) and control the robot to switch to "return to initial deployment location mode," autonomously navigating back to the preset starting point. This function primarily ensures the robot's safe return before its battery is depleted, facilitating user retrieval and charging. While not the core function of this escape method, it serves as a safety guarantee for the robot system.
[0072] Example 2
[0073] This embodiment mainly illustrates the application of the underwater cleaning robot extrication method in another trapped scenario, such as... Figure 2 As shown, for example, a robot in a rectangular swimming pool may repeatedly move back and forth in a straight line due to localized, non-directional water flow disturbances. Specifically:
[0074] The method steps S1-S6 in this embodiment are similar to those in Embodiment 1, used to acquire the trajectory, calculate the overlap, determine the persistence, and ultimately determine that the robot is trapped, triggering the escape process. However, in this embodiment, the robot's trajectory overlaps repeatedly on a single line due to water flow interference, with the overlap consistently exceeding a preset threshold. Furthermore, the cumulative distance moved in this state exceeds a preset persistence distance threshold (e.g., a cumulative movement of 9 meters, exceeding the 8-meter threshold), thus it is determined to be trapped. The difference lies in the addition of the following steps:
[0075] S7. During the escape process, the robot is controlled to perform escape movements according to a preset escape strategy; the escape strategy is to "control the robot to move in a straight line along a preset direction to the pool sidewall". The system selects a direction away from the center of the current high overlap area (e.g., the current direction of the robot's movement) as the preset direction, and controls the robot to move in a straight line along this direction at a preset speed (e.g., 0.4 m / s). During this process, the robot continuously monitors the distance to the pool sidewall using its forward distance sensor.
[0076] S8. The system determines whether the robot has successfully escaped the obstacle. During the execution of the obstacle-escaping strategy in step S7, the system determines whether the escape was successful. For the "straight-line movement to the side wall" strategy, the criterion for determining that the escape is successful is that the robot successfully detects the pool side wall in front of it, that is, the distance detected by the forward distance sensor is less than the preset wall distance threshold (e.g., 0.3 meters).
[0077] S9. If it is determined that the robot has successfully escaped the obstacle, 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 (side wall detected), the system stops the current straight-line movement, switches the control mode back to the normal cleaning task mode, and enters a preset post-escape cooling period. During this period, the obstacle detection is temporarily adjusted or disabled. The timer and distance counter are reset.
[0078] Through the above steps, the underwater cleaning robot in this embodiment is intelligently identified and autonomously freed from its trapped state of reciprocating motion in a straight line affected by water flow. The robot successfully leaves the area affected by water flow by breaking through in a straight line and resumes effective cleaning operations.
[0079] Example 3
[0080] This embodiment mainly describes a novel escape strategy for underwater cleaning robots. The execution process of steps S1-S6 is similar to that of Embodiment 1, used to acquire the trajectory, calculate the overlap, determine the persistence, and ultimately determine that the robot is trapped, triggering the escape process. It is assumed that the robot is trapped due to a complex local environment formed by water flow or dense obstacles, manifesting as a complex, repetitive trajectory within a small area. The difference lies in the addition of the following steps:
[0081] S7. During the escape process, the robot is controlled to perform escape movements according to a preset escape strategy, specifically, the escape strategy of "controlling the robot to move along a preset continuous change-of-direction 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 directional changes, such as a combination of W-shaped or S-shaped trajectories containing several abrupt changes in direction (see...). Figure 3 (As shown). The robot begins executing the continuous lane-changing path at a preset speed (e.g., 0.2 m / s) and preset path parameters (e.g., line segment length, turning angle).
[0082] During this process of moving along a preset, continuously changing path, the system simultaneously monitors whether the robot is obstructed by obstacles. The monitoring mechanism may include:
[0083] (1) Use forward or lateral distance sensors (such as ultrasonic sensors or vision sensors) to detect whether the distance to the pool sidewall, bottom, or other obstacles is less than a preset safe distance threshold (e.g., 0.3 meters). If the distance is too close, it indicates that the robot may be about to collide or has been obstructed by the environment.
[0084] (2) Monitor the robot's motion execution feedback: For example, continuously acquire motor drive current, the deviation between the robot's actual speed and the commanded speed, and the deviation between the robot's actual position and the commanded path. If the motor current continues to increase, the robot's actual speed is significantly lower than the commanded speed, or the robot's actual trajectory deviates significantly from the commanded trajectory and the movement appears sluggish, these can all be considered signs of being hindered by obstacles.
[0085] If the system detects that the robot is obstructed by an obstacle, it proactively adjusts the execution mode of the preset continuous lane-changing path. The adjustment mode includes:
[0086] The system controls the robot to continue moving in the opposite direction of the obstruction, following a series of reduced-amplitude changes of path. For example, if the robot is moving forward and executing a W-shaped path to the right, its right side is close to an obstacle. The system can control the robot to move left (relative to the original direction of travel or the obstruction direction) and execute a W-shaped path sequence with reduced amplitude (e.g., the length of the path segments is halved or the turning angle is reduced). By reversing the direction and reducing the amplitude, the system attempts to find a way out in a smaller space or away from the obstacle.
[0087] Alternatively, the robot can be controlled to reverse the current path segment, briefly retreat, then retry the original path or switch to another strategy. The robot then continues to execute the adjusted path sequence until it escapes the predicament.
[0088] S8. The system determines whether the robot has successfully escaped the obstacle. During the execution of the escape strategy based on continuous lane-changing path in step S7, the system continuously monitors whether the escape is successful. The conditions for determining whether the escape is successful may include: Condition 1: Successfully executing the adjusted continuous lane-changing path sequence (e.g., completing a preset number of lane-changing patterns). Condition 2: By analyzing the robot's trajectory in real time (referring to the method in step S3), it is determined that the robot's current position is significantly far from the center of the original trapped area (e.g., the straight-line distance between the current position and the position when the escape was triggered exceeds a preset escape distance threshold, such as 3 meters), and the overlap of the robot's current trajectory has significantly decreased, no longer meeting the trapped condition in step S4. If either escape condition is met, the robot is considered to have escaped the obstacle.
[0089] S9. If it is determined that the robot has successfully escaped the obstacle, the escape process is stopped, and the robot's motion control mode is switched back to the normal cleaning task mode.
[0090] The method described in this embodiment enables the underwater cleaning robot to be intelligently identified when it is trapped in a complex local environment. By executing flexible and adaptable paths and making adaptive adjustments, it can effectively get out of trouble and resume normal cleaning operations.
[0091] Example 4
[0092] The method steps S1-S6 of this embodiment are similar to those of Embodiment 1 or Embodiment 2, used to obtain the robot's real-time position information, update historical trajectory data, analyze the trajectory to calculate the overlap, determine whether the overlap continuously meets the preset trapped judgment condition, and finally determine that the robot is trapped, triggering the preset escape process. Assume that the robot, affected by water flow in a certain area of a swimming pool, continuously drifts within a small range or repeatedly moves along the direction of the water flow, resulting in high trajectory overlap and being judged as trapped. The difference lies in the addition of the following steps:
[0093] S7. During the escape process, the robot is controlled to perform escape movements according to a preset escape strategy. This step employs a "water flow sensing-based escape strategy." When the system determines that the robot is trapped and enters escape mode, the processor controls the robot to temporarily stop active propulsion control commands. At this time, the robot's thrusters stop working or only maintain posture stability, allowing the robot to drift freely with the water flow in the pool.
[0094] During the robot's drift with the water flow for a preset duration (e.g., 15 seconds) or drift distance (e.g., 2 meters), the system continues to periodically acquire the robot's real-time position information and updates and stores the robot's historical trajectory based on this information. This trajectory data during the drift reflects the effect 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. Analysis methods may include:
[0095] (1) Calculate the displacement vector between the position at the start of the drift and the position at the end of the 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) Perform statistical analysis or curve fitting (e.g., linear regression) on the set of trajectory points during the drift to determine the overall trend direction of the trajectory points, thereby estimating 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 travel in a direction approximately perpendicular to the direction of the water flow interference (e.g., an angle between 70 and 110 degrees, the optimal angle can be selected based on the specific water flow model or empirical values, such as 90 degrees). The robot travels along this direction perpendicular to the water flow at a preset speed (e.g., 0.3 m / s) for a preset distance (e.g., 4 meters) or for a preset time (e.g., 20 seconds). The purpose of choosing a perpendicular direction is to quickly leave the current dominant water flow area and enter an area where the water flow has less influence.
[0098] S8. The system determines whether the robot has successfully escaped the obstacle; during the execution of the water flow-sensing-based escape strategy in step S7, the system continuously monitors whether the escape was successful. Criteria for determining successful escape may include:
[0099] (1) Successfully completed directional travel perpendicular to the water flow direction (e.g., traveled a preset distance or time).
[0100] (2) By analyzing the robot's trajectory in real time (refer to the method in step S3), it is determined that the robot's current position has moved significantly 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 overlap of the robot's current trajectory has decreased significantly, no longer meeting the trapped determination condition in step S4. If any escape completion condition is met, the robot is considered to have escaped.
[0101] S9. If it is determined that the robot has successfully escaped the obstacle, 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" (e.g., resumes random walking, area coverage, etc.), and enters the preset post-escape cooldown period (e.g., 40 seconds).
[0102] Using the method in this embodiment, the underwater cleaning robot can be intelligently identified as being trapped due to water flow interference. By sensing the water flow and taking targeted movement directions, it can effectively get out of trouble and resume normal cleaning operations.
[0103] Example 5
[0104] The execution process of steps S1 to S5 and step S9 in this embodiment is similar to that in embodiment 1. The difference is that after determining that the robot is trapped in step S5, this embodiment does not immediately activate the general escape strategy, but further performs the following steps to identify the type of trapping and take targeted strategies:
[0105] Step S6: Determine if the robot is trapped and analyze the characteristics of the trapped trajectory to identify the eddy current trapped state: After determining that the robot is trapped in step S5, the system enters the trapped type analysis stage. The processor first analyzes the robot's historical walking trajectory data segment that led to the trapped determination, especially the set of trajectory points collected during periods when the overlap of the motion trajectories is consistently higher than a preset threshold. This analysis aims to identify whether the trapped trajectory exhibits typical geometric or kinematic characteristics influenced by local rotating water flow (eddy current).
[0106] The typical eddy current effects mentioned above include, but are not limited to:
[0107] a) Spatial Concentration Analysis: Analyze the spatial distribution range of the trapped trajectory points. If the trajectory points are highly concentrated in a relatively small two-dimensional or three-dimensional region, for example, if the bounding box area or volume of the trajectory point set is less than a preset spatial threshold (e.g., bottom diameter less than 1 meter, height less than 0.5 meters), it indicates that the robot's range of motion is severely restricted, which is consistent with the characteristic of eddies attracting objects to the core region.
[0108] b) Motion Pattern Analysis: Analyze the change pattern of the motion direction of the trapped trajectory points over time. If the continuous change in the motion direction between trajectory points exhibits a clear cyclic, near-circular, or spiral pattern, for example, if the cumulative angle change of the robot's forward direction is close to or exceeds 360 degrees within a preset time window (e.g., the most recent 10 seconds), it indicates the presence of circular motion. Another example is if the displacement vectors between continuous trajectory points tend to be perpendicular to a certain center point (e.g., the centroid of the trajectory point set), and the velocity magnitude is relatively stable. Yet another example is if least-squares circle fitting or spiral fitting is performed on the trajectory segment; if the fitting residual is less than a preset threshold and the parameters of the fitted circle or spiral (such as radius and pitch) are within a reasonable range, it indicates that the trajectory conforms to a rotational or spiral pattern.
[0109] These characteristics suggest that the robot is not simply moving back and forth in a straight line or colliding with corners, but is being pulled by some kind of rotational force field.
[0110] The system performs quantitative analysis and judgment on one or more of the above-mentioned typical characteristics. If the analysis results show that the robot's trapped trajectory has typical eddy current influence characteristics (e.g., high spatial concentration and cyclic / spiral motion pattern), the system determines that the robot is currently trapped in an eddy current.
[0111] If the analysis results do not exhibit the typical eddy current characteristics (e.g., the trajectory is characterized by straight back-and-forth movement, repeated collisions with sidewalls, or obstruction in narrow channels), the system can select and execute other types of escape strategies based on a preset escape strategy priority sequence (e.g., moving towards the sidewall or walking along the wall as described in Embodiment 1 or Embodiment 2, or continuously changing course as described in Embodiment 3). This embodiment only executes subsequent step S7 for cases determined to be trapped by eddies.
[0112] Step S7: If it is determined that the robot is trapped in an eddy, then execute an eddy escape strategy based on rotation-induced acceleration. When step S6 determines that the robot is indeed trapped in an eddy, the system immediately activates an escape strategy specifically designed for eddy environments. This strategy does not attempt to forcibly break through the eddy using its own propulsion, but cleverly utilizes the energy of the eddy itself to assist in escape. Figure 5 As shown, the specific execution process is as follows:
[0113] a) Initiating Slow Self-Rotation: The system controls the robot to begin rotating around its own vertical axis (or approximately its vertical axis). This self-rotation can generally be achieved by controlling the speed difference between the walking motors on both sides of the robot. For example, the left walking motor can be stopped while the right walking motor continues to run, or the motors on the left and right sides can have different speeds. This makes it easy to achieve self-rotation of the robot in a swimming pool. The angular velocity of self-rotation is set within a preset slow range (e.g., 0.1 to 0.5 radians / second). This slow rotation speed is designed to allow the robot to continuously and gradually align its sized body side with the direction of the external vortex flow in a controlled manner, creating favorable conditions for subsequent interaction with the vortex force.
[0114] b) Utilizing eddies to generate increased torque: During the robot's slow self-rotation, the system utilizes the fluid force of eddies acting on a non-central position on the robot's side. Because the robot has a certain physical size and shape, and the velocity distribution within the eddies has a tangential component, when the rotating water flow of the eddies impacts an asymmetrical position on the robot's side (i.e., there is a radial distance between the point of application and the robot's current rotation center, forming a lever arm, i.e., utilizing the lever principle), the water flow generates a lateral force on the robot, thus creating a torque about the robot's rotation center. The key to this escape strategy lies in optimizing the relative angle and point of application between the robot's side and the tangential velocity of the eddies by controlling the robot's slow self-rotation. This ensures that the direction of the torque generated by the eddies aligns with the robot's own rotation direction, thereby accelerating the robot's rotation. This torque, provided by the external eddies and enhancing the robot's own rotation, is the "increased torque."
[0115] c) Inducing accelerated rotation and generating a continuous trend: Thanks to the "increased torque" effect of the eddy current, the robot's own rotational speed is enhanced, potentially exceeding the speed achievable solely by its own motor drive. This drives the robot to accelerate its rotation and generate a continuous, possibly accelerating, rotational trend. In this case, the robot's rotational motion is the result of the combined force of its own drive and the external eddy current drive.
[0116] d) Utilizing rotational tendency to aid escape: The system controls the robot to maintain this rapid, dynamic, and continuous rotational state created by external "force," and uses the resulting centrifugal force, or changes in the dynamic interaction between the robot body and the eddy field, to help the robot move outward from the core region of the eddy. The continuous rapid rotation alters the effective drag distribution of the robot body in the water flow, generating a velocity component perpendicular to the line connecting the eddy center and the robot. This causes the robot to no longer be stably "locked" near the eddy center, but rather tends to move along a constantly changing tangential direction or an outward spiral path, gradually escaping the influence of the high-velocity eddy. Simply put, this escape method is equivalent to throwing the robot out of the eddy through its gradually accelerating rotation (see reference). Figure 5 (Diagram).
[0117] The robot maintains the rotation-induced acceleration-based escape motion until the system determines that it has successfully escaped (step S8).
[0118] Step S8: The system determines whether the robot has successfully escaped the eddy. During the execution of the rotation-induced acceleration-based escape strategy in step S7, the system continuously monitors the robot's state and trajectory characteristics to determine whether it has successfully escaped the eddy. The criteria for determining successful escape may include any one or a combination of the following conditions:
[0119] a) Rotational state monitoring: Monitor the robot's rotational angular velocity. If the robot's rotational angular velocity no longer shows a significant acceleration trend, or if its angular velocity drops to near or below the preset angular velocity threshold when starting slow rotation, it may indicate that the robot has moved out of the strong vortex core region that can provide additional rotational torque.
[0120] b) Track Feature Change Monitoring: Continuously analyze the robot's current real-time trajectory features (refer to the analysis method in step S6). If the trajectory no longer exhibits a typical cyclic or spiral pattern, and the overlap of the motion trajectory (calculated in step S3) decreases significantly, no longer meeting the trapped determination condition in step S4 (e.g., overlap is below a preset overlap threshold), it indicates that the robot has broken free from the motion mode bound by eddies.
[0121] c) Position Change Monitoring: Monitor whether there is a significant displacement of the robot's current position relative to its position when the escape was triggered (i.e., before executing step S6). If the straight-line distance between the robot's current position and its position when 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 or a combination of the above conditions are met, the system determines that the robot has successfully escaped its predicament.
[0123] Step S8 provides a multi-dimensional and reliable mechanism for determining successful escape by combining monitoring of rotational state, trajectory pattern changes, and positional offset. In particular, monitoring changes in rotational state and trajectory characteristics directly reflects whether the robot has escaped the dynamic influence of the eddies. This ensures that the escape process terminates promptly after the robot has indeed escaped the predicament, 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 pool environment, and adopt an innovative strategy of using vortex energy to assist its own rotation to get out of trouble, thereby efficiently and energy-savingly getting out of trouble, thereby improving the robot's autonomy, cleaning efficiency and coverage, and reducing the 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, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for an underwater cleaning robot to escape from a stuck situation, characterized in that, Includes the following steps: S1. Continuously acquire the real-time position information of the robot; S2. Based on the robot's real-time position information, update the robot's historical walking trajectory data in real time; S3. Analyze the robot's historical walking trajectory data and calculate the overlap of the robot's motion trajectories; S4. Determine whether the overlap of the robot's motion trajectory continuously meets the preset trapped judgment condition; S5. If the overlap of the robot's motion trajectory continues to meet the preset trapped judgment condition, then the robot is determined to be trapped. S6. If it is determined that the robot is trapped, the preset escape process is initiated. When executing step S6, the system first analyzes the historical walking trajectory data of the robot in the trapped state. By observing whether the set of trapped trajectory points in the historical walking trajectory data is distributed in a circular / near-circular / spiral shape, it is determined whether the robot is trapped in the eddy. S7. During the escape process, the robot is controlled to perform escape movements according to a preset escape strategy. Specifically, if it is determined in step S6 that the robot is trapped in an eddy current, then in step S7, the following specific escape strategy utilizing the energy of the eddy current to assist in escape is executed: (a) By controlling the walking motors on both sides of the robot to form a speed difference, the robot slowly rotates around its own vertical axis to utilize the tangential velocity component of the eddy current. (b) During the slow rotation of the robot, a lateral force generated by the tangential velocity of the vortex and acting on the non-central position of the side of the robot is used to form an increased torque that is consistent with the current rotation direction of the robot. (c) By utilizing the increased torque, the rotational speed of the robot is increased, forming a trend of continuous acceleration of rotation; (d) By taking advantage of the trend of continuous acceleration and rotation, the dynamic interaction between the robot and the vortex field is changed, so that the robot moves along an outward spiral path or tangential direction, thereby escaping the vortex region; S8. The system determines whether the robot has successfully escaped its predicament. S9. If it is determined that the robot has successfully escaped the obstacle, the escape process is stopped, and the robot's motion control mode is switched back to the normal cleaning task mode.
2. The underwater cleaning robot escape method according to claim 1, characterized in that, When performing step S3, firstly, extract the set of recent trajectory points within a recent period from the robot's historical walking trajectory data. Then, determine whether each trajectory point in the set of recent trajectory points falls within the preset spatial radius of any trajectory point in the non-recent trajectory data segment. Then, calculate the proportion of recent trajectory points falling within the preset spatial radius and use this proportion to determine the overlap of the robot's motion trajectory.
3. The underwater cleaning robot extrication method according to claim 1, characterized in that, When performing step S4, it is determined whether the time during which the overlap of the robot's motion trajectory is continuously higher than the preset overlap threshold exceeds the preset duration threshold. or, Determine whether the cumulative distance moved by the robot during a period when the overlap of its motion trajectory is higher than a preset overlap threshold exceeds a preset continuous distance threshold.
4. The underwater cleaning robot escape method according to claim 1, characterized in that, In step S7, the preset escape strategy includes: Control the robot to move along a preset continuous lane-changing path, and monitor whether the robot is obstructed by obstacles during the process of moving along the preset continuous lane-changing path; If the system detects that the robot is obstructed by an obstacle, it will actively reduce the amplitude of the preset continuous lane-changing path and control the robot to continue walking in the opposite direction of the obstruction along the reduced continuous lane-changing path.
5. The underwater cleaning robot extrication method according to claim 1, characterized in that, In step S7, the preset escape strategy includes: Control the robot to stop walking and allow it to drift with the water flow; The system continuously collects the robot's position information during robot drift and determines the direction of water flow interference by analyzing changes in the robot's trajectory; After determining the direction of the water flow interference, restart the robot and control it to continue moving in a direction perpendicular to the direction of the water flow interference.
6. The underwater cleaning robot extrication method 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 in a preset direction to the side wall of the pool, and the distance sensor is used to monitor the distance between the robot and the side wall of the pool.
7. The underwater cleaning robot escape method 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 the preset direction to the side wall of the pool, continue to control the robot to move along the side wall of the pool.
8. The underwater cleaning robot escape method according to claim 7, characterized in that, When controlling the robot to move along the side wall of the pool, a lateral distance sensor is used to maintain a preset distance between the robot and the side wall of the pool.
9. The method for escaping an underwater cleaning robot according to claim 1, characterized in that, It also includes a step of monitoring the robot's battery level in parallel: if the robot's battery level is lower than a preset low battery threshold, the system interrupts the currently executing cleaning task, controls the robot to switch to the return to the initial placement position mode, and guides the robot back to the preset initial placement position.
Citation Information
Patent Citations
Obstacle-crossing and detrapping method of cleaning robot, cleaning robot and storage medium
CN115357016A
Accurate flow velocity measurement method and system based on unmanned ship
CN117871888A