Cleaning strategy determination method and related apparatus
Patent Information
- Application Number
- CN202610916103.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-23
- Publication Date
- 2026-09-15
Smart Images

Figure CN122758013A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of pool robot technology, and in particular to a method and apparatus for determining cleaning strategies. Background Technology
[0002] In automated pool cleaning, to achieve automatic cleaning of the pool bottom, walls, and edge areas, it is usually necessary to control the cleaning robot to move along a planned path and drive the brush, water pump, and filtration mechanism to complete the washing, suction, and filtration of dirt in the pool.
[0003] In related technologies, pool robots typically use a preset equidistant bow-shaped path to traverse the pool and perform cleaning tasks according to a fixed brush rotation speed, water pump power, and travel speed. Therefore, they use basically the same cleaning method for different areas of the pool.
[0004] However, the dirt in the pool is usually unevenly distributed and changes with the frequency of use, the surrounding environment and the season. Fixed paths and fixed cleaning parameters can easily lead to repeated cleaning of low-soil areas and insufficient cleaning of high-soil areas, which in turn affects the cleaning efficiency and energy utilization of the pool robot. Summary of the Invention
[0005] In view of the above problems, this application provides a cleaning strategy determination method and related apparatus to adaptively generate differentiated cleaning strategies based on the type and distribution of dirt in different areas of the swimming pool, thereby improving cleaning efficiency and energy utilization. The specific solution is as follows:
[0006] This application provides a cleaning strategy determination method applied to a pool robot, the pool robot including a cleaning mechanism; the method includes:
[0007] During the process of the pool robot moving along the cleaning path in the pool and driving the cleaning mechanism to perform cleaning, the position data of the pool robot and the workload data of the cleaning mechanism are acquired.
[0008] Based on the location data, the pool area corresponding to the pool robot at different times is determined;
[0009] Feature extraction is performed on the workload data corresponding to each of the pool areas to determine the type of dirt corresponding to the pool area;
[0010] The pool dirt distribution information is obtained by associating the dirt type with the corresponding pool area;
[0011] Based on the pool dirt distribution information, the cleaning path parameters and cleaning agency working parameters corresponding to different pool areas are determined respectively, and a target cleaning strategy is generated.
[0012] The pool robot is controlled to perform cleaning tasks according to the target cleaning strategy.
[0013] A second aspect of this application provides a cleaning strategy determination device for use in a swimming pool robot, the swimming pool robot including a cleaning mechanism; the device includes:
[0014] The data acquisition module is used to acquire the position data of the pool robot and the workload data of the cleaning mechanism during the process of the pool robot moving along the cleaning path in the pool and driving the cleaning mechanism to clean.
[0015] The area determination module is used to determine the pool area corresponding to the pool robot at different times based on the location data.
[0016] The dirt identification module is used to extract features from the workload data corresponding to each of the pool areas to determine the type of dirt corresponding to the pool area.
[0017] The association module is used to associate the type of dirt with the corresponding pool area to obtain pool dirt distribution information;
[0018] The strategy generation module is used to determine the cleaning path parameters and cleaning agency working parameters corresponding to different pool areas based on the pool dirt distribution information, and generate target cleaning strategies.
[0019] The execution control module is used to control the pool robot to perform cleaning tasks according to the target cleaning strategy.
[0020] A third aspect of this application provides a computer program product including computer-readable instructions that, when executed on an electronic device, cause the electronic device to implement the cleaning strategy determination method of the first aspect or any implementation thereof.
[0021] A fourth aspect of this application provides an electronic device, including at least one processor and a memory connected to the processor, wherein:
[0022] The memory is used to store computer programs;
[0023] The processor is used to execute the computer program to enable the electronic device to implement the cleaning strategy determination method of the first aspect or any implementation thereof.
[0024] The fifth aspect of this application provides a computer storage medium carrying one or more computer programs that, when executed by an electronic device, enable the electronic device to perform a cleaning strategy determination method according to the first aspect or any implementation thereof.
[0025] By employing the aforementioned technical solution, this application simultaneously acquires the position data of the pool robot and the workload data of the cleaning mechanism during the pool robot's cleaning task, and determines the corresponding pool area at different times based on the position data. Since the workload data exhibits different changing characteristics when the cleaning mechanism comes into contact with, scrubs, or sucks up different types of dirt, feature extraction of the workload data corresponding to each pool area can determine the type of dirt in each area. By associating the dirt type with the corresponding pool area, pool dirt distribution information reflecting the spatial distribution of dirt within the pool can be obtained. Based on this, cleaning path parameters and cleaning mechanism working parameters matching the actual dirt situation of each pool area are determined according to the dirt type. Therefore, compared to using fixed cleaning paths and fixed cleaning mechanism working parameters, unnecessary repeated cleaning of less dirty areas can be reduced, and the thoroughness of cleaning in areas with concentrated dirt or specific types of dirt can be improved. This enhances the cleaning efficiency of the pool robot and the rationality of cleaning resource allocation, and helps reduce energy consumption caused by ineffective movement and ineffective operation of the cleaning mechanism, thereby improving the energy utilization rate of the pool robot. Attached Figure Description
[0026] Figure 1 This is a schematic flowchart of a cleaning strategy determination method provided in an embodiment of this application;
[0027] Figure 2 This is a schematic diagram of a cleaning strategy determination device provided in an embodiment of this application;
[0028] Figure 3 This is a schematic diagram of a swimming pool robot provided in an embodiment of this application. Detailed Implementation
[0029] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is only for explaining specific embodiments and is not intended to limit the application. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0030] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0031] To address the aforementioned problems, this application provides a method for determining a cleaning strategy. The method for determining a cleaning strategy according to this application will be described in detail below with reference to the accompanying drawings.
[0032] Reference Figure 1 , Figure 1 A flowchart illustrating a cleaning strategy determination method provided in this application embodiment is shown below. Figure 1 As shown in the figure, an embodiment of this application provides a cleaning strategy determination method, which is applied to a pool robot, the pool robot including a cleaning mechanism; the method may include steps 101 to 106, which are described in detail below.
[0033] 101. During the process of the pool robot moving along the cleaning path in the pool and driving the cleaning mechanism to clean, the position data of the pool robot and the workload data of the cleaning mechanism are acquired.
[0034] The cleaning path refers to the movement route taken by the pool robot when performing the current cleaning task. The cleaning path can be a pre-planned path or a path generated or adjusted by the pool robot during the cleaning process based on its current operating status. Location data characterizes the spatial position of the pool robot within the pool and can be continuously acquired according to a preset sampling period, thus forming a location data sequence corresponding to the cleaning process. The preset sampling period refers to the time interval between two adjacent location data acquisitions. The specific value of the preset sampling period can be determined based on the pool robot's moving speed, the accuracy of pool area division, and data processing capabilities. The cleaning mechanism is used to perform at least one cleaning action among contact, scrubbing, suction, collection, or filtration on contaminants in the pool. Workload data refers to data that reflects the load borne by the cleaning mechanism or the state of its output cleaning action during cleaning operations. This workload data changes with the interaction state between the cleaning mechanism and the contaminants. Location data and workload data can be collected or recorded based on a unified time reference.
[0035] 102. Based on location data, determine the pool area corresponding to the pool robot at different times.
[0036] In this embodiment, a regional division result representing the internal space of the pool can be established in advance or during the cleaning process, dividing the cleanable space inside the pool into multiple pool areas. For any location data in the location data sequence, the pool area corresponding to the location data can be determined based on the inclusion, overlap, or distance relationship between the spatial location represented by the location data and the spatial range of each pool area. Since each location data has a corresponding acquisition time, after determining the pool area to which each location data belongs, the pool area corresponding to the pool robot at different times can be determined. When the location data is located at the boundary of two adjacent pool areas, the corresponding pool area can be determined according to a preset area assignment rule. The preset area assignment rule can be to assign the boundary location to a pre-specified side area, to the area closer to the center of the area, or to determine the area assignment based on the movement direction of the pool robot at that time.
[0037] 103. Extract features from the workload data corresponding to each pool area to determine the type of dirt in each pool area.
[0038] Specifically, based on the correspondence between location data and pool areas, and the respective collection times of location data and workload data, the workload data collected during the period when the pool robot is in the same pool area can be determined as the workload data corresponding to that pool area. If the pool robot passes through the same pool area multiple times, the workload data collected during each pass can be retained separately, or the workload data collected during multiple passes can be merged according to a preset data merging rule. The data merging rule refers to the processing rules used to organize multiple sets of workload data belonging to the same pool area. Specifically, it can include splicing according to chronological order, grouping according to the number of collections, calculating statistical values, or removing outlier data.
[0039] In this embodiment, feature extraction refers to obtaining characteristic data from workload data that can characterize the load status and change patterns of the cleaning mechanism. The characteristic data can reflect the magnitude, duration, trend, fluctuation degree, or temporal pattern of the workload. Different types of dirt can correspond to different combinations of load characteristics or different ranges of characteristic data values.
[0040] 104. Associate the type of dirt with the corresponding pool area to obtain pool dirt distribution information.
[0041] In this embodiment, the pool area can be used as a spatial index to write the determined dirt type into the corresponding pool area's area record, thereby establishing a correlation between the pool area and the dirt type. The pool dirt distribution information includes at least the pool area and the corresponding dirt type, and may also include the time the dirt type was determined and the time the corresponding workload data was collected. When the same pool area corresponds to one type of dirt, a one-to-one correlation can be established; when the same pool area corresponds to multiple types of dirt, a one-to-many correlation can be established, and each dirt type is recorded separately. For pool areas where the dirt type has not yet been identified, they can be marked as undetermined type areas or left blank.
[0042] 105. Based on the pool dirt distribution information, determine the cleaning path parameters and cleaning agency working parameters for different pool areas, and generate the target cleaning strategy.
[0043] The cleaning path parameters define the movement route, movement mode, or cleaning coverage method of the pool robot within a given pool area. The cleaning mechanism operating parameters define the operating status of the cleaning mechanism when performing cleaning operations within a given pool area. For any pool area in the pool dirt distribution information, the dirt type corresponding to that area can be read, and the corresponding cleaning path parameters and operating parameters can be determined based on a preset correspondence between dirt type and cleaning path parameters. For pool areas with multiple dirt types, a parameter combination compatible with multiple dirt types can be determined based on the parameter requirements for each dirt type, or parameters corresponding to one dirt type can be selected according to a preset priority. When generating a target cleaning strategy, the cleaning paths for different pool areas can be connected according to the spatial connection between them, allowing the pool robot to move from one pool area to another. Switching times for the operating parameters of the cleaning mechanism corresponding to different pool areas can also be set, ensuring that the pool robot operates according to the operating parameters of the cleaning mechanism corresponding to that pool area after entering it. Therefore, the targeted cleaning strategy enables different pool areas to adopt cleaning path parameters and cleaning mechanism operating parameters that match their type of dirt, forming a cleaning control scheme that can be executed by the pool robot.
[0044] 106. Control the pool robot to perform cleaning tasks according to the target cleaning strategy.
[0045] In this embodiment, the target cleaning strategy can be sent to the motion control unit and the cleaning mechanism control unit of the pool robot. The motion control unit controls the movement of the pool robot according to the cleaning path parameters corresponding to different pool areas in the target cleaning strategy, and the cleaning mechanism control unit controls the operation of the cleaning mechanism according to the cleaning mechanism operating parameters corresponding to different pool areas in the target cleaning strategy. When the pool robot moves from one pool area to another, it can determine whether the pool robot has reached the area boundary or entered the target pool area based on the currently acquired position data. After determining that the pool robot has entered the corresponding pool area, the cleaning path parameters and cleaning mechanism operating parameters corresponding to that pool area are invoked. During the cleaning task execution, the position data of the pool robot can be continuously acquired to determine whether the pool robot moves according to the path corresponding to the target cleaning strategy, and the operating status of the cleaning mechanism can be continuously acquired to determine whether the cleaning mechanism operates according to the corresponding cleaning mechanism operating parameters. When the pool robot completes the cleaning operations of each pool area defined by the target cleaning strategy, or meets the preset task completion conditions, the current cleaning task can be determined to be completed. The preset task termination condition refers to the condition used to determine whether the current cleaning task has ended. Specifically, it can be determined based on the completion status of the pool area to be cleaned in the target cleaning strategy, the remaining operating capacity of the pool robot, or the allowed execution time of the cleaning task. By executing the cleaning task according to the target cleaning strategy, the cleaning path and the operating status of the cleaning mechanism can be adjusted according to the type of dirt in the pool area, thereby achieving differentiated cleaning for different pool areas.
[0046] In one possible implementation, the pool robot includes an inertial measurement unit and wheel speed encoders mounted on the drive wheels. During the process of the pool robot moving along a cleaning path within the pool and driving the cleaning mechanism for cleaning, position data of the pool robot is acquired, including: acquiring attitude data collected by the inertial measurement unit and wheel speed data collected by the wheel speed encoders; determining the displacement increment and steering increment of the pool robot based on the wheel speed data, and correcting the steering increment using the attitude data to obtain the movement trajectory of the pool robot; and using the trajectory position as position data.
[0047] The swimming pool robot provided in this application embodiment can be configured with a multi-dimensional sensor group. The sensors related to position data acquisition include at least an inertial measurement unit (IMU) and wheel speed encoders mounted on the axles of the two drive wheels. The IMU can be a six-axis or nine-axis IMU, and outputs three-axis acceleration data (ax, ay, az) and three-axis angular velocity data (ωx, ωy, ωz) at a sampling frequency of not less than 100Hz. The wheel speed encoders have a resolution of not less than 360 pulses per revolution, used to detect the rotational state of the corresponding drive wheels. The above sampling frequency and resolution are exemplary parameters; in practical applications, the accuracy can be adjusted according to the swimming pool robot's moving speed, drive wheel size, and position.
[0048] When acquiring position data for the pool robot, attitude data collected by the inertial measurement unit (IMU) and wheel speed data collected by the wheel speed encoders can be obtained. Specifically, Kalman filtering can be applied to the three-axis acceleration and angular velocity data to reduce interference from random noise, bias error, and underwater vibrations of the robot. The pitch, roll, and yaw angles of the pool robot can then be determined based on the filtered data. Wheel speed data can be determined based on the number of pulses output by the left and right wheel speed encoders within a preset sampling period, including the speed of the left drive wheel, the speed of the right drive wheel, and the speed difference between the two drive wheels. Attitude data and wheel speed data can be recorded based on a unified time reference to establish a temporal correspondence between them.
[0049] Then, the displacement and steering increments of the pool robot can be determined based on the wheel speed data. Specifically, the distance traveled by the left and right drive wheels between adjacent position update times can be determined based on the drive wheel circumference, wheel speed encoder resolution, and number of encoded pulses. The displacement increment is determined based on the average distance traveled by the left and right drive wheels, and the steering increment is determined using a dead reckoning (DR) algorithm based on the difference in distance traveled by the left and right drive wheels and the wheelbase between the two drive wheels. Since the drive wheels may slip when moving on the pool bottom or pool wall, the steering increment determined solely based on wheel speed data may contain errors. Therefore, the steering increment can be corrected based on the yaw angle change or angular velocity integral result output by the inertial measurement unit.
[0050] The estimated position of the pool robot is recursively updated based on the corrected steering and displacement increments. For example, the estimated position at the t-th position update time is represented as (x t y t θ t ), where x t and y t θ represents the position coordinates of the pool robot in the pool coordinate system. tThis indicates the robot's orientation; based on the current displacement increment and the corrected steering increment, the estimated position (x) at the next position update time can be determined. t+1 y t+1 θ t+1 By continuously updating the estimated position at each moment in chronological order, the movement trajectory of the pool robot can be obtained, and the position coordinates of each trajectory point in the movement trajectory can be used as position data.
[0051] By integrating the detection results of the inertial measurement unit and the wheel speed encoder, the displacement changes of the pool robot can be continuously determined using wheel speed data, and the steering error in the dead reckoning process can be corrected using attitude data. This reduces the impact of drive wheel slippage and encoding errors on the position determination results, and obtains a time-continuous movement trajectory.
[0052] In one possible implementation, the pool robot further includes an inertial measurement unit, wheel speed encoders mounted on the drive wheels, and a collision detection component. Based on position data, the pool robot is used to determine the corresponding pool area at different times, including: during the pool robot's movement along a cleaning path within the pool, when the collision detection component detects contact between the pool robot and the pool wall, obtaining the first trajectory position corresponding to the contact from the position data, and determining the first robot orientation corresponding to the contact based on attitude data collected by the inertial measurement unit, thus identifying the first trajectory position as a candidate boundary point; controlling the pool robot to turn after contact with the pool wall, and determining the change in the pool robot's heading angle based on attitude data collected by the inertial measurement unit and / or wheel speed data collected by the wheel speed encoders corresponding to different drive wheels; when the... When the change in azimuth angle exceeds a preset turning threshold, and the collision detection component detects the pool robot contacting the pool wall again within a preset time, the second trajectory position corresponding to the second contact is obtained from the position data, and the second robot orientation corresponding to the second contact is determined based on the attitude data collected by the inertial measurement unit. When the angle between the first robot orientation and the second robot orientation reaches a preset corner point threshold, candidate corner points are determined based on the first trajectory position and the second trajectory position. The boundary contour of the pool is determined based on multiple candidate boundary points, and the boundary contour is corrected based on the candidate corner points to obtain a pool map. The pool map is divided into multiple map units, and the pool area corresponding to the pool robot at different times is determined based on the spatial range of each map unit and the position data of the pool robot at different times.
[0053] In this embodiment, the initial entry point of the pool robot into the water can be used as the origin to establish a two-dimensional plane coordinate system. Taking a 10-meter-long and 5-meter-wide pool undergoing six consecutive cleaning tasks as an example, during the initialization phase corresponding to the first to third cleaning tasks, the pool robot can use an equidistant bow-shaped path to perform the cleaning task. For example, the spacing between adjacent bow-shaped paths can be set to 0.3 meters, and the set of trajectory points {(x)} can be continuously obtained through dead reckoning. i y i The set of trajectory points is used as the initial data for the pool map.
[0054] When the collision detection component detects contact between the pool robot and the pool wall, it obtains the first trajectory position corresponding to the moment of contact from the position data, and determines the first robot orientation based on the attitude data collected by the inertial measurement unit, thus identifying the first trajectory position as a candidate boundary point. After contacting the pool wall, the pool robot performs a turn, and determines the heading angle change based on the yaw angle change collected by the inertial measurement unit and / or the wheel speed difference corresponding to different drive wheels. A preset turning threshold is used to determine whether the pool robot has undergone a significant change in direction; for example, it can be set to 80°. The preset time refers to the time window used to detect subsequent contact after the first contact, and can be determined based on the robot's body size and turning speed.
[0055] When the change in heading angle exceeds a preset turning threshold, and the collision detection component detects the pool robot contacting the pool wall again within a preset time, the second trajectory position is obtained from the position data, and the second robot orientation is determined based on the attitude data. When the angle between the first robot orientation and the second robot orientation reaches a preset corner point threshold, candidate corner points are determined based on the first trajectory position and the second trajectory position. The preset corner point threshold is used to distinguish between ordinary pool wall contact and corner turning events. For example, if two consecutive direction changes exceed 80°, the corresponding position can be identified as a corner anchor point. For example, when the robot travels to coordinates (1.0, 1.5), the front collision switch is triggered and the water flow rate decreases by 30%, this position can be identified as a candidate corner point near the southwest corner.
[0056] The pool's boundary contour is determined based on multiple candidate boundary points, and corrected using candidate corner points to obtain a pool map. After the first three cleaning cycles, the candidate boundary points and corner points collected multiple times can be fused to form an initial two-dimensional contour map, for example, ensuring the boundary error is less than 0.2 meters. Starting from the fourth cleaning cycle, newly collected candidate boundary points and corner points are registered with the historical pool map, and fused using the Iterative ClosestPoint (ICP) algorithm. Specifically, the ICP algorithm repeatedly determines the corresponding points between two point sets, calculates the translation and rotation parameters that reduce the distance between corresponding points, and transforms the current point set accordingly until a preset convergence condition is met, thereby reducing the positional deviation between different cleaning tasks. Areas that the robot cannot pass through, such as stairs and pillars, can be marked as obstacle areas. In the fifth cleaning cycle, the dirty areas in the pool map can be further subdivided based on the position data, workload data, and dirt identification results obtained during the fourth cleaning cycle. For example, if, based on historical dirt scores and dirt growth rates, it is determined that there are differences within the pool area corresponding to the first type of particulate dirt in the southwest corner, with the dirt accumulation rate within 0.5 meters of the immediate vicinity of the steps being greater than that of the area further inside, then the southwest corner area can be divided into a first sub-area adjacent to the steps and a second sub-area farther from the steps. For the first sub-area, the cleaning path spacing can be reduced, the movement speed decreased, and the number of repeated cleaning cycles set to 3 to perform a round-trip heavy cleaning; for the second sub-area, conventional cleaning path parameters and cleaning mechanism operating parameters can be used. Thus, while maintaining sufficient cleaning of the dirty areas, it is possible to avoid continuously applying high-intensity cleaning parameters to the entire southwest corner area. In the sixth cleaning cycle, the workload characteristics and image recognition results obtained from this cleaning cycle can be used to determine whether the distribution of dirt types within the pool has changed. For example, in autumn when leaf fall increases, if the inertial measurement unit does not detect significant shaking of the pool robot, but the brush motor current frequently experiences short spikes reaching 2.0 times the rated current and lasting approximately 0.2 seconds, and the underwater camera's image recognition model repeatedly outputs leaf identification results, it can be determined that the pool area and frequency of blocky solid dirt types have significantly increased, indicating a structural change in dirt type distribution. After determining this structural change, the pool dirt distribution information and the cleaning priorities for different dirt types can be updated. For example, the cleaning priority for the first type of particulate dirt can be reduced, while the cleaning priority for blocky solid dirt types can be increased. Considering that fallen leaves tend to accumulate towards the pool edge under water flow, edge-cleaning paths along the pool wall can be prioritized. Simultaneously, the water pump motor can be adjusted to an intermittent high-power operation mode, alternating between high-power suction and low-power operation at preset time intervals to reduce the probability of continuous leaf inhalation causing filter blockage.In addition, cleaning cycle adjustment information can be generated based on the frequency of fallen leaves and the rate of dirt growth, and prompts can be sent to user terminals via communication devices, such as suggesting that the cleaning cycle be adjusted from once every 3 days to once every 2 days.
[0057] After obtaining the pool map through the first to third cleaning cycles, the pool map is divided into multiple map units. Based on the spatial range of each map unit and the position data of the pool robot at different times, the corresponding pool area at each time is determined. For example, the area near the southwest corner steps corresponds to an area with an x-coordinate of 0–1.5 meters and a y-coordinate of 0–2.0 meters. Through this method, the default equidistant zigzag path improves the completeness of spatial traversal during the initialization phase, candidate boundary points and candidate corner points correct dead reckoning errors, and the iterative nearest-point algorithm enables continuous fusion of historical maps and newly collected data, thereby improving the stability of the pool map and the accuracy of regional positioning.
[0058] In one possible implementation, the cleaning mechanism includes a brushing mechanism and a suction mechanism. The brushing mechanism includes a brush motor, and the suction mechanism includes a water pump motor. The workload data includes brush motor current data and water pump motor current data. Feature extraction is performed on the workload data corresponding to each pool area to determine the type of dirt in the pool area. This includes: extracting at least two load features from the brush motor current data and water pump motor current data, including current amplitude, current duration, and current change rate; determining a dirt score for each pool area based on the degree of deviation of the load features from the reference load features of the corresponding motor; and determining the type of dirt in each pool area based on the dirt score.
[0059] In this embodiment, Hall effect current sensors can be installed in the brush motor drive circuit and the water pump motor drive circuit, respectively, with a sampling frequency of not less than 1kHz, to collect the load current of the corresponding motors. During the cleaning process, the resistance generated by the brush contacting the dirt will cause changes in the brush motor current, and changes in dirt suction and water resistance will cause changes in the water pump motor current. Therefore, these two types of current data can reflect the actual workload of the cleaning mechanism in the corresponding pool area. The collected current data can be correlated with the position data of the pool robot according to the collection time, and the current data collected while the robot is in the same pool area can be used as the workload data corresponding to that pool area.
[0060] For the brush motor current data and water pump motor current data corresponding to each pool area, at least two load characteristics can be extracted from current amplitude, current duration, and current change rate. The current amplitude can include peak value, mean, and variance to characterize the load size and fluctuation level; the current duration characterizes the time the current remains above a reference current or a preset current threshold; and the current change rate characterizes the degree of current change per unit time. Furthermore, the current waveform duration can also be extracted to represent the time it takes for a specific current change to occur and return to the normal range.
[0061] After obtaining the load characteristics, the dirt score for each pool area can be determined based on the degree of deviation of the load characteristics from the baseline load characteristics of the corresponding motor. The baseline load characteristics refer to the load characteristics of the corresponding motor under a preset normal cleaning state, and can be determined based on current data collected from areas without significant dirt. The degree of deviation can be determined based on the difference, ratio, or normalized distance between the current load characteristics and the baseline load characteristics. For the motor current characteristics obtained in the t-th iteration, the dirt score can be determined according to... Update the dirt and grime rating for the corresponding pool area, where, This indicates the current dirtiness score. This represents the historical dirtiness score of the pool area, where α represents the historical weighting coefficient. This represents the dirt scoring function determined based on the current motor current characteristic value. The historical weight coefficient α can range from 0.3 to 0.7 and can be adjusted according to the time interval between adjacent cleaning tasks; the historical score weight is increased when the cleaning interval is short and decreased when the cleaning interval is long.
[0062] In one possible implementation, a dirt scoring function is based on the characteristics of the motor current. The dirt score can be determined based on the degree of deviation of the current motor current load characteristics from the corresponding reference load characteristics. Taking the mean current, peak current, current variance, current duration, and current change rate as load characteristics as examples, the normalized deviation corresponding to each load characteristic can be calculated separately, and the normalized deviations can be weighted and summed to obtain the dirt score result corresponding to the current motor current.
[0063] Specifically, the dirt scoring function It can be represented as: ;in, This represents the normalized deviation from the mean current. This represents the normalized deviation corresponding to the peak current. This represents the normalized deviation corresponding to the current variance. This represents the normalized deviation corresponding to the duration of the current. This represents the normalized deviation corresponding to the rate of change of current. , , , , These represent the weighting coefficients corresponding to each load characteristic. Each weighting coefficient is greater than or equal to 0, and the sum of all weighting coefficients is 1. , , , , The current characteristic values are calculated from the current mean, peak, variance, duration, and rate of change, as well as their corresponding baseline and reference values. Specifically, the current mean, peak, variance, duration, and rate of change (collectively referred to as current characteristic values) are first extracted from the brush motor current data or water pump motor current data. Then, these current characteristic values are compared with their corresponding baseline mean, peak, variance, duration, and rate of change (collectively referred to as baseline characteristic values). These baseline characteristic values can be normal load characteristics pre-collected under conditions of no significant contamination, identical motor operating parameters, and identical robot movement. Simultaneously, a reference characteristic value is set for each load characteristic to represent the value at which the characteristic reaches a higher load state. The reference characteristic value can be determined based on experimental calibration results, historical cleaning data, or the motor's allowable load range. The processor calculates the normalized deviation based on the degree of deviation of the current characteristic value relative to the corresponding baseline characteristic value, and the proportion of this deviation relative to the range between the corresponding baseline and reference values. The normalized deviation is typically limited to between 0 and 1. When the current characteristic value is not greater than the reference characteristic value, the normalized deviation can be set to 0, indicating that the current load has not deviated significantly from the normal state; when the current characteristic value reaches or exceeds the reference characteristic value, the normalized deviation can be set to 1, indicating that the current load has reached the preset high load state; when the current characteristic value is between the reference characteristic value and the reference characteristic value, the value between 0 and 1 is determined according to its position.
[0064] The dirt score results are input into a preset feature classifier, or the dirt score and corresponding load features are matched with the score intervals and feature conditions corresponding to different dirt types to determine the dirt type corresponding to each pool area. This method utilizes high-frequency, high-precision current data to reflect the actual interaction between the cleaning mechanism and the dirt, and reduces the impact of occasional current fluctuations on the identification results through weighted fusion of current detection results and historical scores.
[0065] In one possible implementation, the cleaning mechanism includes a brushing mechanism with a brush motor and a suction mechanism with a water pump motor. The workload data includes brush motor current data and water pump motor current data. Feature extraction is performed on the workload data corresponding to each pool area to determine the type of dirt corresponding to the pool area. This includes: for the brush motor current data, determining, in chronological order, a first moment when the brush motor current increases from no more than a first reference current to more than a first current threshold, and a second moment when the current decreases from more than the first current threshold to no more than the sum of the deviations between the first reference current and a preset current. When the time interval between the first moment and the second moment is no more than a first preset duration, and the brush motor current remains no more than the sum of the deviations between the first reference current and the preset current for a third preset duration after the second moment, the type of dirt in the pool area corresponding to the first moment is determined to be blocky solid dirt. When the brush motor current remains more than a second current threshold for a continuous second preset duration, and the water pump motor current remains more than a third current threshold for a continuous second preset duration, the pool area traversed by the pool robot during the second preset duration is determined to be a first particulate dirt type.
[0066] It is understandable that the brush motor current reflects the mechanical resistance encountered when the brush comes into contact with dirt, while the pump motor current reflects the load formed when dirt is sucked up and water flows through the suction mechanism. Solid debris such as leaves typically cause a short-term surge in the brush motor current, while particulate debris such as silt typically causes a sustained increase in both the brush motor and pump motor currents. Therefore, the type of dirt in the corresponding pool area can be determined based on the amplitude, duration, and variation of these two types of current data.
[0067] Regarding the brush motor current data, the first moment when the brush motor current increases from no more than a first reference current to more than a first current threshold, and the second moment when the current decreases from more than the first current threshold to no more than the sum of the first reference current and the preset current deviation, can be determined sequentially. The first reference current refers to the normal current of the brush motor when it is not subject to significant dirt resistance under the current rotational speed and robot movement state. The preset current deviation is used to limit the allowable fluctuation range of the normal current. The first current threshold is higher than the normal fluctuation range and is used to identify significant short-term load impacts. For example, when the robot encounters solid floating objects such as leaves, the peak current of the brush motor can exceed 150% of the rated current, lasting for approximately 0.1 to 0.5 seconds.
[0068] When the time interval between the first moment and the second moment is not greater than the first preset duration, and the brush motor current remains not greater than the sum of the deviations between the first reference current and the preset current for a third preset duration after the second moment, the type of dirt in the pool area corresponding to the first moment is determined to be blocky solid dirt. The first preset duration is used to limit the duration of the impact load and can be set to 0.1 to 0.5 seconds; the third preset duration is used to confirm that the current has returned to the normal range after the impact. For example, when the brush motor current rises to 2.0 times the rated current within 200 milliseconds, and then quickly falls back and remains stable, it can be determined that the robot has encountered large solid floating objects such as leaves, and the type of blocky solid dirt is recorded in the corresponding pool area.
[0069] When the brush motor current is continuously greater than a second current threshold for a second preset duration, and the water pump motor current is continuously greater than a third current threshold for the same second preset duration, the pool area traversed by the pool robot during that period is identified as the first particulate dirt type. The second preset duration is used to distinguish between short-term impacts and continuous loads, and can be set to more than 2 seconds, such as 3 seconds. The second and third current thresholds are used to determine whether the brush motor and water pump motor are continuously under high load. When the robot encounters mud or fine particulate deposits, the current of both types of motors typically rises to 120% to 200% of the rated current and lasts for more than 2 seconds. For example, when the brush motor current remains at more than 1.3 times the rated current for more than 3 consecutive seconds, and the water pump motor current rises synchronously, the corresponding pool area can be identified as the first particulate dirt type.
[0070] By using the above methods, blocky solid debris can be identified by utilizing the short-term impact and drop characteristics of the brush motor current, and particulate debris can be identified by utilizing the continuous increase characteristics of the brush motor current and the water pump motor current, thereby reducing misjudgments caused by instantaneous collisions or water flow fluctuations.
[0071] In one possible implementation, the cleaning mechanism includes a brushing mechanism with a brush motor, a suction mechanism with a water pump motor, and a filtration mechanism. The workload data includes brush motor current data and water pump motor current data. The pool robot also includes an optical water quality sensor, and pressure detection components are installed on the inlet and outlet sides of the filtration mechanism. Feature extraction is performed on the workload data corresponding to each pool area to determine the type of dirt in that area. This includes acquiring the water turbidity collected by the optical water quality sensor and determining the type of dirt based on the pressure difference between the inlet and outlet sides of the filtration mechanism. Determine the pressure difference of the filtration mechanism; based on the water pump motor current data, filtration mechanism pressure difference data, and water turbidity data collected continuously within a preset detection period, determine the average value of the water pump motor current, the pressure difference increment of the filtration mechanism within the preset detection period, and the average value of the water turbidity; when the average value of the water pump motor current is greater than the preset water pump current threshold, the pressure difference increment is greater than the preset pressure difference increment threshold, and the average value of the water turbidity is greater than the preset turbidity threshold, the type of dirt corresponding to the pool area traversed by the pool robot within the preset detection period is determined as the second particulate dirt type.
[0072] In this embodiment, the pump motor current is used to reflect the resistance encountered by the water flow through the suction mechanism and the filtration mechanism; when algae, algae debris or other fine particulate matter are sucked in and adhere to the filtration mechanism, the filtration resistance increases, and the pump motor current usually continues to rise.
[0073] In this embodiment, the optical water quality sensor can employ an LED light source and a photodetector to determine the turbidity of the water by detecting the scattering intensity of light of a specific wavelength in the water, measured in NTU. The pressure difference of the filtration mechanism is determined based on the difference between the inlet and outlet pressures. This pressure difference characterizes the resistance formed when water flows through the filtration mechanism; a larger pressure difference generally indicates that the filtration mechanism traps more contaminants or has a higher degree of blockage.
[0074] Based on continuous, preset detection time data collected from the pump motor current, filter mechanism differential pressure, and water turbidity, the average value of the pump motor current, the differential pressure increment of the filter mechanism, and the average value of the water turbidity are determined. The preset detection time can be determined based on the time required for water to reach the filter mechanism from the suction port. The differential pressure increment is the difference between the differential pressure at the end of the preset detection time and the differential pressure at the beginning. Furthermore, the peak value, variance, and waveform duration of the pump motor current can be extracted to help determine whether it is under continuous high load.
[0075] When the average value of the water pump motor current exceeds a preset water pump current threshold, the pressure difference increment exceeds a preset pressure difference increment threshold, and the average value of the water turbidity exceeds a preset turbidity threshold, the type of dirt corresponding to the pool area traversed by the pool robot within the preset detection time is determined as the second particulate dirt type. For example, the preset turbidity threshold can be set to 10 NTU; when all three conditions are met simultaneously, it can be considered that algae, algal debris, or other fine particulate dirt may exist in the corresponding area.
[0076] After identifying the type of the second particulate contaminant, a warning message can be sent to the user terminal stating, "Possible algae growth detected; water quality check recommended." Optionally, the pool robot can also be equipped with an underwater camera with a resolution of at least 720P and utilize an embedded convolutional neural network model to classify underwater images, outputting algae type labels such as green algae, blue algae, or diatoms to assist in verifying the identification results. This embodiment of the application, by jointly analyzing the pump motor current, the pressure difference of the filtration mechanism, and the turbidity of the water, can reduce misjudgments caused by a single sensor being affected by water flow disturbances or instantaneous contaminants.
[0077] In one possible implementation, based on the pool dirt distribution information, cleaning path parameters and cleaning agency working parameters for different pool areas are determined to generate a target cleaning strategy. This includes: for each cleaning task, storing the dirt score of each pool area in association with the corresponding collection time to obtain the pool dirt distribution information corresponding to that cleaning task; based on the pool dirt distribution information corresponding to at least two cleaning tasks, determining the number of times dirt occurs in each pool area and the change in dirt score between two adjacent cleaning tasks; determining the dirt occurrence frequency of each pool area based on the ratio of the number of times dirt occurs in each pool area to the number of tasks in at least two cleaning tasks, and determining the dirt growth rate of each pool area based on the ratio of the change in dirt score to the time interval between two adjacent cleaning tasks; and setting a target cleaning strategy based on the dirt occurrence frequency being greater than a preset frequency. The pool area with a certain rate threshold is identified as a soiling-prone area. Based on the soiling frequency and soiling growth rate of each pool area, cleaning path parameters and cleaning mechanism operating parameters are determined for each pool area, and a target cleaning strategy is generated based on these parameters. The cleaning path parameters include at least one of cleaning path spacing, number of repeated cleaning cycles, cleaning path overlap rate, and moving speed. The cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power. The cleaning path spacing for soiling-prone areas is less than that for other pool areas, and / or the number of repeated cleaning cycles for soiling-prone areas is greater than that for other pool areas, and / or the moving speed for soiling-prone areas is less than that for other pool areas.
[0078] In this embodiment, the two-dimensional map of the swimming pool is divided into M×N grid cells, each corresponding to a swimming pool area. For example, the grid size can be 20cm×20cm. For each grid cell, the following are associated and stored: dirt score, dirt type, most recent update time, historical dirt frequency, and contamination rate. The dirt score can be represented by a value from 0 to 100. The most recent update time records the data update time of this grid cell. The historical dirt frequency records the number of times the area was identified as dirty. The contamination rate represents the rate at which the dirt score increases over time, and the unit can be scores / day. When the pool robot passes through coordinates (x, y), it maps these coordinates to the corresponding grid cell and writes the currently detected dirt score and collection time into that grid cell, thus obtaining the pool dirt distribution information corresponding to this cleaning task.
[0079] Based on the pool dirt distribution information corresponding to at least two cleaning tasks, the dirt status of the same pool area in different cleaning tasks is compared. When the dirt score of a pool area is greater than a preset score threshold, or the dirt type corresponding to that area does not belong to a preset clean type, the dirt occurrence count is increased by one. For two adjacent cleaning tasks, the difference between the dirt score corresponding to the later cleaning task and the dirt score corresponding to the earlier cleaning task is determined as the dirt score change.
[0080] The frequency of dirt occurrence is determined by the ratio of the number of times dirt appeared in each pool area to the number of cleaning tasks included in the statistics. For example, if an area meets the dirt detection criteria 8 out of 10 cleaning tasks, its dirt occurrence frequency is 0.8. The dirt growth rate is determined by the ratio of the change in dirt score between two adjacent cleaning tasks to the time interval. For example, if the dirt score of an area increases from 40 to 60 in 5 days, the dirt growth rate is 4 scores / day. For multiple sets of adjacent cleaning tasks, the dirt growth rate of each set can be averaged or weighted averaged to reduce the error of a single detection.
[0081] Pool areas where the frequency of dirt accumulation exceeds a preset frequency threshold are identified as easily soiled areas. The preset frequency threshold can be pre-set or determined based on the ranking of dirt accumulation frequencies for each area. For example, the top 20% of grid cells with the highest historical dirt accumulation frequencies can be identified as easily soiled areas.
[0082] Then, based on the frequency of dirt occurrence and the rate of dirt growth in each pool area, corresponding cleaning path parameters and cleaning mechanism operating parameters are determined. Cleaning path parameters may include at least one of the following: cleaning path spacing, number of repeated cleaning cycles, cleaning path overlap rate, and movement speed. Cleaning mechanism operating parameters may include at least one of the following: brush motor speed and water pump motor power. For areas prone to dirt accumulation, the cleaning path spacing can be reduced, the number of repeated cleaning cycles increased, the cleaning path overlap rate increased, or the movement speed reduced; for other pool areas, a relatively larger cleaning path spacing, fewer repeated cleaning cycles, or a higher movement speed can be used. Subsequently, a target cleaning strategy is generated based on each pool area and its corresponding parameters.
[0083] Based on data from multiple cleaning tasks, a pool fingerprint model can be created. This model can include a set of easily soiled areas, the distribution of soil type in each area, the distribution of soil growth rate in each area, and a recommended overall cleaning cycle value for the pool. The set of easily soiled areas can be composed of the top 20% of grids based on historical soiling frequency. The soil growth rate distribution can be used to predict the expected soiling state before the next cleaning. The recommended cleaning cycle value can be determined based on the soil growth rate of each area and a preset soiling score cap.
[0084] By using the above methods, the long-term dirt patterns of different pool areas can be obtained from the results of a single dirt detection. This allows the target cleaning strategy to configure more appropriate cleaning parameters for areas prone to dirt and reduce unnecessary repeated cleaning of other areas, thereby improving the cleaning efficiency and energy utilization of the pool robot.
[0085] In one possible implementation, the cleaning path parameters include at least one of cleaning path spacing, number of repeated cleaning cycles, and moving speed; the cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power; based on the pool dirt distribution information, the cleaning path parameters and cleaning mechanism operating parameters corresponding to different pool areas are determined respectively, including: for pool areas corresponding to blocky solid dirt types, the cleaning path spacing is determined as a first cleaning path spacing, the number of repeated cleaning cycles is determined as a first repeated cleaning cycle, the moving speed is determined as a first moving speed, and the brush motor speed and water pump motor power are respectively determined as a first brush motor speed and a first water pump motor power; for pool areas corresponding to a first particulate dirt type, the cleaning path spacing is determined as a second cleaning path spacing, the number of repeated cleaning cycles is determined as a second repeated cleaning cycle, the moving speed is determined as a second moving speed, and the brush motor speed and water pump motor power are respectively determined as a second brush motor speed and a second water pump motor power.
[0086] Specifically, for pool areas corresponding to blocky solid dirt, the locations of blocky solid dirt are usually relatively dispersed. Therefore, the cleaning path can be planned according to the distribution of the pool area corresponding to this type. The cleaning path spacing, the number of repeated cleanings, and the moving speed are respectively determined as the first cleaning path spacing, the first number of repeated cleanings, and the first moving speed. The brush motor speed and the water pump motor power are respectively determined as the first brush motor speed and the first water pump motor power.
[0087] For the pool area corresponding to the first type of particulate dirt, the cleaning path spacing, the number of cleaning repetitions, and the moving speed are respectively defined as the second cleaning path spacing, the second number of cleaning repetitions, and the second moving speed. The brush motor speed and the water pump motor power are respectively defined as the second brush motor speed and the second water pump motor power. Particulate dirt is typically distributed within a certain area, wherein the second cleaning path spacing is smaller than the first cleaning path spacing, and / or the second number of cleaning repetitions is greater than the first number of cleaning repetitions, and / or the second moving speed is less than the first moving speed, and / or the first water pump motor power is different from the second water pump motor power.
[0088] In one example, a reinforcement learning framework can be used to determine the above parameters. The state space includes a gridded representation of the pool's dirt distribution information and the current position of the pool robot, while the action space includes the next cleaning target grid, the brush motor speed, and the water pump motor power. The reward function can be expressed as... ;in, Indicates cleaning coverage. Indicates energy consumption. Indicates the time required for cleaning. The data represents the amount of waste collected. w1, w2, w3, and w4 are configurable weight coefficients, which can be configured based on the importance of cleaning coverage, energy consumption, cleaning time, and the amount of waste collected. After each cleaning cycle, the cleaning data can be added to the experience replay buffer and incrementally trained to update the policy network parameters.
[0089] Using the example of a 10-meter long and 5-meter wide swimming pool undergoing six consecutive cleaning tasks, taking the fourth cleaning as an example, for the pool area corresponding to the first type of particulate dirt with coordinates ranging from 0 to 1.5 meters and 0 to 2.0 meters in the southwest corner, the original 0.3-meter cleaning path spacing can be adjusted to 0.15 meters, and an overlapping bow-shaped path can be adopted. For the central pool area, excluding the areas corresponding to the blocky solid dirt type and the first type of particulate dirt, the cleaning path spacing can be increased to 0.6 meters. For the pool edge area, a path can be generated along the pool wall. The brush motor speed and water pump motor power for the pool area corresponding to the first type of particulate dirt can both be set to 100% of their rated values, while the brush motor speed and water pump motor power for the central pool area can be set to 60% and 50% of their rated values, respectively. After implementing this target cleaning strategy, the total cleaning time can be reduced from 120 minutes to 105 minutes, a reduction of approximately 12%.
[0090] By using the above methods, the cleaning path parameters and cleaning mechanism operating parameters corresponding to different types of dirt can be matched with actual cleaning needs, increasing the effective coverage of granular dirt areas and reducing ineffective movement and energy consumption in other pool areas, thereby improving cleaning efficiency and energy utilization.
[0091] In one possible implementation, the method of this application embodiment further includes: during the process of the pool robot performing a cleaning task according to the target cleaning strategy, acquiring the actual movement trajectory of the pool robot, the workload data of the cleaning mechanism, and the energy consumption data of the pool robot; determining the path execution index based on the degree of overlap between the actual movement trajectory and the target cleaning path corresponding to the target cleaning strategy; determining the dirt removal index based on the change in workload data corresponding to each pool area before and after the execution of the cleaning task; determining the cleaning strategy execution cost based on the energy consumption data and the execution time of the cleaning task; determining the strategy evaluation result corresponding to the target cleaning strategy based on the path execution index, the dirt removal index, and the strategy execution cost; when the strategy evaluation result meets the preset strategy retention conditions, using the target cleaning strategy as a candidate strategy before the next cleaning task execution; when the strategy evaluation result does not meet the preset strategy retention conditions, stopping the use of the target cleaning strategy.
[0092] In one possible implementation, the target cleaning path and cleaning mechanism operating parameters corresponding to the target cleaning strategy can be deployed to the control system of the pool robot via over-the-air (OTA) download, and the pool robot can then be controlled to perform cleaning tasks. During execution, the actual movement trajectory, workload data of the cleaning mechanism, and energy consumption data are acquired. The actual movement trajectory can be determined based on detection data from the inertial measurement unit, wheel speed encoder, and collision detection components; the workload data may include brush motor current, water pump motor current, and filter mechanism pressure difference; and the energy consumption data may include battery voltage and total circuit current.
[0093] The two-dimensional map of the swimming pool can then be divided into multiple grids, let N be the total number of grids to be cleaned. total Based on the actual movement trajectory and the effective cleaning width W of the pool robot, the actual number of grids N covered is determined. cleaned Clean coverage is expressed as C = N cleaned / N total ×100%. Then, based on the changes in workload data for each pool area before and after the cleaning task, determine the dirt removal index. Record the pressure difference P of the filter mechanism at the start of cleaning. start and the pressure difference P at the end end And ΔP = P end -P start This serves as the equivalent value for the amount of waste collected in this instance. According to V... eff =ΔP / T active Determine the effective dirt collection rate, where T active This refers to the duration the brush motor is in operation. (V) eff The larger the value, the more dirt is collected per unit of effective cleaning time. For areas prone to dirt accumulation, the area cleanliness decay ratio can be determined based on the average brush motor current when the robot enters and leaves the area, and verified by combining this with the difference in water turbidity before and after cleaning.
[0094] Based on energy consumption data and the execution time of cleaning tasks, the cost of implementing the cleaning strategy is determined. The total energy consumption of a single cleaning cycle can be expressed as E. total =∫(V bat ×I total )dt, where V bat I is the battery voltage. total This is the total loop current. Alternatively, it can be calculated as EER = ΔP / E. total Determine the energy efficiency ratio (EER) to represent the amount of waste collected per unit of energy consumption. A higher EER indicates higher energy utilization efficiency without compromising cleaning effectiveness.
[0095] The strategy evaluation result is determined based on the path execution indicators, dirt removal indicators, and the cost of implementing the cleaning strategy. For example, the score can be calculated as Score = α × (C new / C old ) + β × (V eff(new) / V eff(old) ) + γ × (EER) new / EER old ), where α, β, and γ are weighting coefficients, which can be taken as 0.3, 0.5, and 0.2 respectively, to prioritize cleaning effectiveness. C new V eff(new) and EER new These represent the metrics corresponding to the target cleaning strategy, C. old V eff(old) and EER old These represent the metrics corresponding to the original cleaning strategy.
[0096] When the score is greater than 1.05, the target cleaning strategy is determined to have a positive optimization effect and can be used as a candidate strategy before the next cleaning task. The pool fingerprint model is updated using the cleaning data from this task. When 0.95 ≤ Score ≤ 1.05, the target cleaning strategy is determined to be basically the same as the original cleaning strategy and can be retained as a candidate strategy for further data collection and verification. When the score is less than 0.95, the target cleaning strategy is determined to have degraded and should be discontinued. The original cleaning strategy should be used in subsequent cleaning tasks.
[0097] The above describes a cleaning strategy determination method provided by the embodiments of this application. The following describes the apparatus for performing the above cleaning strategy determination method.
[0098] Please see Figure 2 , Figure 2 This is a schematic diagram of a cleaning strategy determination device provided in an embodiment of this application. Figure 2 As shown, the cleaning strategy determination device is applied to a pool robot, which includes a cleaning mechanism; the device includes:
[0099] The data acquisition module is used to acquire the position data of the pool robot and the workload data of the cleaning mechanism as the pool robot moves along the cleaning path in the pool and drives the cleaning mechanism to clean.
[0100] The area determination module is used to determine the pool area corresponding to the pool robot at different times based on the location data.
[0101] The dirt identification module is used to extract features from the workload data corresponding to each pool area to determine the type of dirt in the pool area.
[0102] The association module is used to associate the type of dirt with the corresponding pool area to obtain pool dirt distribution information;
[0103] The strategy generation module is used to determine the cleaning path parameters and cleaning agency working parameters for different pool areas based on the pool dirt distribution information, and generate the target cleaning strategy.
[0104] The execution control module is used to control the pool robot to perform cleaning tasks according to the target cleaning strategy.
[0105] In one possible implementation, the pool robot includes an inertial measurement unit and a wheel speed encoder mounted on the drive wheel; a data acquisition module is used to: acquire attitude data collected by the inertial measurement unit and wheel speed data collected by the wheel speed encoder; determine the displacement increment and steering increment of the pool robot based on the wheel speed data, and correct the steering increment using the attitude data to obtain the movement trajectory of the pool robot; and use the trajectory position in the movement trajectory as position data.
[0106] In one possible implementation, the pool robot further includes an inertial measurement unit, wheel speed encoders mounted on the drive wheels, and a collision detection component; a region determination module is used to: during the movement of the pool robot along the cleaning path within the pool, when the collision detection component detects that the pool robot has contacted the pool wall, obtain the first trajectory position corresponding to the contact from the position data, and determine the first robot orientation corresponding to the contact based on the attitude data collected by the inertial measurement unit, and determine the first trajectory position as a candidate boundary point; control the pool robot to turn after contacting the pool wall, and determine the change in the pool robot's heading angle based on the attitude data collected by the inertial measurement unit and / or the wheel speed data collected by the wheel speed encoders corresponding to different drive wheels; when the change in heading angle is greater than a preset turning angle, the module determines the direction of the robot's ... When the collision detection component detects the pool robot contacting the pool wall again within a preset time, it obtains the second trajectory position corresponding to the second contact from the position data, and determines the second robot orientation corresponding to the second contact based on the attitude data collected by the inertial measurement unit. When the angle between the first robot orientation and the second robot orientation reaches a preset corner point threshold, candidate corner points are determined based on the first trajectory position and the second trajectory position. The boundary contour of the pool is determined based on multiple candidate boundary points, and the boundary contour is corrected based on the candidate corner points to obtain a pool map. The pool map is divided into multiple map units, and the pool area corresponding to the pool robot at different times is determined based on the spatial range of each map unit and the position data of the pool robot at different times.
[0107] In one possible implementation, the cleaning mechanism includes a brushing mechanism and a vacuuming mechanism, and the workload data includes brush motor current data and water pump motor current data; a dirt identification module is used to: extract at least two load characteristics from the brush motor current data, current amplitude, current duration, and current change rate from the brush motor current data and water pump motor current data; determine a dirt score for each pool area based on the degree of deviation of the load characteristics from the reference load characteristics of the corresponding motor; and determine the dirt type of each pool area based on the dirt score.
[0108] In one possible implementation, the cleaning mechanism includes a brushing mechanism with a brush motor and a suction mechanism with a water pump motor. The workload data includes brush motor current data and water pump motor current data. A dirt identification module is used to: for the brush motor current data, determine, in chronological order, a first moment when the brush motor current increases from no more than a first reference current to more than a first current threshold, and a second moment when the brush motor current decreases from more than the first current threshold to no more than the sum of the deviations between the first reference current and a preset current; when the time interval between the first moment and the second moment is no more than a first preset duration, and the brush motor current remains no more than the sum of the deviations between the first reference current and the preset current for a third preset duration after the second moment, determine the dirt type of the pool area corresponding to the first moment as blocky solid dirt; when the brush motor current remains more than a second current threshold for a continuous second preset duration, and the water pump motor current remains more than a third current threshold for a continuous second preset duration, determine the pool area traversed by the pool robot during the second preset duration as a first particulate dirt type.
[0109] In one possible implementation, the cleaning mechanism includes a brushing mechanism with a brush motor, a suction mechanism with a water pump motor, and a filtration mechanism. The workload data includes brush motor current data and water pump motor current data. The pool robot also includes an optical water quality sensor, and pressure detection components are respectively provided on the inlet and outlet sides of the filtration mechanism. A dirt identification module is used to: acquire the water turbidity collected by the optical water quality sensor, and determine the pressure difference of the filtration mechanism based on the pressure difference between the inlet and outlet sides of the filtration mechanism; based on the water pump motor current data, filtration mechanism pressure difference data, and water turbidity data collected continuously within a preset detection period, determine the average value of the water pump motor current, the pressure difference increment of the filtration mechanism within the preset detection period, and the average value of the water turbidity; when the average value of the water pump motor current is greater than a preset water pump current threshold, the pressure difference increment is greater than a preset pressure difference increment threshold, and the average value of the water turbidity is greater than a preset turbidity threshold, the dirt type corresponding to the pool area traversed by the pool robot within the preset detection period is determined as a second particulate dirt type.
[0110] In one possible implementation, the strategy generation module is used to: for each cleaning task, associate and store the dirt score of each pool area with the corresponding collection time to obtain the pool dirt distribution information corresponding to the cleaning task; based on the pool dirt distribution information corresponding to at least two cleaning tasks, determine the number of times dirt occurs in each pool area and the change in dirt score between two adjacent cleaning tasks; based on the ratio of the number of times dirt occurs in each pool area to the number of tasks in at least two cleaning tasks, determine the dirt occurrence frequency of each pool area, and based on the ratio of the change in dirt score to the time interval between two adjacent cleaning tasks, determine the dirt growth rate of each pool area; identify pool areas with a dirt occurrence frequency greater than a preset frequency threshold as easily dirtied areas; and based on the pool dirt distribution information corresponding to at least two cleaning tasks, determine the dirt growth rate of each pool area; identify pool areas with a dirt occurrence frequency greater than a preset frequency threshold as easily dirtied areas; and further determine the dirt growth rate of each pool area based on the dirt distribution information of each pool area. The frequency of dirt occurrence and the rate of dirt growth in the pool area are used to determine the cleaning path parameters and cleaning mechanism operating parameters for different pool areas, and a target cleaning strategy is generated based on these parameters. The cleaning path parameters include at least one of cleaning path spacing, number of repeated cleaning cycles, cleaning path overlap rate, and movement speed. The cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power. The cleaning path spacing for easily soiled areas is smaller than that for other pool areas, and / or the number of repeated cleaning cycles for easily soiled areas is greater than that for other pool areas, and / or the movement speed for easily soiled areas is lower than that for other pool areas.
[0111] In one possible implementation, the cleaning path parameters include at least one of cleaning path spacing, number of repeated cleaning cycles, and moving speed; the cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power; the strategy generation module is used to: for the pool area corresponding to the blocky solid dirt type, determine the cleaning path spacing as a first cleaning path spacing, the number of repeated cleaning cycles as a first repeated cleaning cycle, the moving speed as a first moving speed, and determine the brush motor speed and water pump motor power as a first brush motor speed and a first water pump motor power, respectively; for the pool area corresponding to the first particulate dirt type, determine the cleaning path spacing as a second cleaning path spacing, the number of repeated cleaning cycles as a second repeated cleaning cycle, the moving speed as a second moving speed, and determine the brush motor speed and water pump motor power as a second brush motor speed and a second water pump motor power, respectively; wherein, the second cleaning path spacing is less than the first cleaning path spacing, and / or the second repeated cleaning cycle is greater than the first repeated cleaning cycle, and / or the second moving speed is less than the first moving speed, and / or the first water pump motor power is different from the second water pump motor power.
[0112] In one possible implementation, the device further includes a strategy evaluation module, used to: acquire the actual movement trajectory of the pool robot, the workload data of the cleaning mechanism, and the energy consumption data of the pool robot during the process of the pool robot performing a cleaning task according to the target cleaning strategy; determine the path execution index based on the degree of overlap between the actual movement trajectory and the target cleaning path corresponding to the target cleaning strategy; determine the dirt removal index based on the change in workload data corresponding to each pool area before and after the execution of the cleaning task; determine the cleaning strategy execution cost based on the energy consumption data and the execution time of the cleaning task; determine the strategy evaluation result corresponding to the target cleaning strategy based on the path execution index, the dirt removal index, and the strategy execution cost; when the strategy evaluation result meets the preset strategy retention conditions, use the target cleaning strategy as a candidate strategy before the next cleaning task execution; when the strategy evaluation result does not meet the preset strategy retention conditions, stop using the target cleaning strategy.
[0113] This application also provides a swimming pool robot. (See reference...) Figure 3 As shown, Figure 3 A schematic diagram of a pool robot suitable for implementing the cleaning strategy determination method of the embodiments of this application is shown. This structure is only an example and should not constitute a limitation on the function and structural scope of the pool robot.
[0114] like Figure 3 As shown, the pool robot may include a robot body, a moving mechanism, a cleaning mechanism, a position detection device, a processing device 301, a read-only memory (ROM) 302, a random access memory (RAM) 303, a bus 304, an input / output interface (I / O interface) 305, a storage device 308, and a communication device 309. The moving mechanism is used to drive the pool robot to move along a cleaning path within the pool; the cleaning mechanism is used to clean the pool and output workload data; the position detection device is used to acquire the position data of the pool robot, and may include at least one of an inertial measurement unit, a wheel speed encoder, and a collision detection component.
[0115] The processing device 301 can perform data processing and control operations based on a computer program stored in the read-only memory 302 or a computer program loaded from the storage device 308 into the random access memory 303. The processing device 301, read-only memory 302, random access memory 303, and input / output interface 305 can be connected via a bus 304. The input / output interface 305 can connect to a motor load current sensor, a pressure detection component, an optical water quality sensor, and the drive circuits of the moving mechanism and cleaning mechanism. The storage device 308 can store pool maps, location data, workload data, pool dirt distribution information, and target cleaning strategies. The communication device 309 is used for communication with a user terminal or a remote server.
[0116] The memory stores a computer program. When at least one processor executes the computer program, it enables the pool robot to acquire position data and workload data, determine the type of dirt corresponding to different pool areas, generate pool dirt distribution information, and generate and execute a target cleaning strategy based on the pool dirt distribution information. Depending on actual needs, the aforementioned devices can be set up separately or integrated into the same controller or hardware module.
[0117] This application also provides a computer program product including computer-readable instructions, which, when executed on an electronic device, cause the electronic device to implement any of the cleaning strategy determination methods provided in this application.
[0118] This application also provides a computer-readable storage medium carrying one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any of the cleaning strategy determination methods provided in this application.
[0119] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the accompanying drawings of the device embodiments provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0120] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods of the various embodiments of this application.
[0121] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0122] A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A method for determining a cleaning strategy, characterized in that, Applied to a pool robot, the pool robot including a cleaning mechanism; the method includes: During the process of the pool robot moving along the cleaning path in the pool and driving the cleaning mechanism to perform cleaning, the position data of the pool robot and the workload data of the cleaning mechanism are acquired. Based on the location data, the pool area corresponding to the pool robot at different times is determined; Feature extraction is performed on the workload data corresponding to each of the pool areas to determine the type of dirt corresponding to the pool area; The pool dirt distribution information is obtained by associating the dirt type with the corresponding pool area; Based on the pool dirt distribution information, the cleaning path parameters and cleaning agency working parameters corresponding to different pool areas are determined respectively, and a target cleaning strategy is generated. The pool robot is controlled to perform cleaning tasks according to the target cleaning strategy.
2. The method according to claim 1, characterized in that, The pool robot includes an inertial measurement unit and a wheel speed encoder mounted on the drive wheels; during the process of the pool robot moving along the cleaning path within the pool and driving the cleaning mechanism to perform cleaning, acquiring the position data of the pool robot includes: Acquire attitude data collected by the inertial measurement unit and wheel speed data collected by the wheel speed encoder; The displacement increment and steering increment of the pool robot are determined based on the wheel speed data, and the steering increment is corrected using the attitude data to obtain the movement trajectory of the pool robot. The trajectory position in the movement trajectory is used as the location data.
3. The method according to claim 1, characterized in that, The pool robot also includes an inertial measurement unit, a wheel speed encoder mounted on the drive wheels, and a collision detection component; determining the pool area corresponding to the pool robot at different times based on the position data includes: During the process of the pool robot moving along the cleaning path in the pool, when the collision detection component detects that the pool robot is in contact with the pool wall, it obtains the first trajectory position corresponding to the contact from the position data, and determines the first robot orientation corresponding to the contact based on the attitude data collected by the inertial measurement unit, and determines the first trajectory position as a candidate boundary point. The swimming pool robot is controlled to turn after contacting the pool wall, and the change in heading angle of the swimming pool robot is determined based on the attitude data collected by the inertial measurement unit and / or the wheel speed data collected by the wheel speed encoders corresponding to different drive wheels. When the change in heading angle is greater than a preset turning threshold, and the collision detection component detects that the pool robot is in contact with the pool wall again within a preset time, the second trajectory position corresponding to the second contact is obtained from the position data, and the second robot orientation corresponding to the second contact is determined according to the attitude data collected by the inertial measurement unit. When the angle between the orientation of the first robot and the orientation of the second robot reaches a preset corner threshold, candidate corners are determined based on the positions of the first trajectory and the second trajectory. The boundary contour of the pool is determined based on multiple candidate boundary points, and the boundary contour is corrected based on the candidate corner points to obtain a pool map. The pool map is divided into multiple map units, and the pool area corresponding to the pool robot at different times is determined based on the spatial range of each map unit and the location data of the pool robot at different times.
4. The method according to claim 1, characterized in that, The cleaning mechanism includes a brushing mechanism and a vacuuming mechanism; the workload data includes brush motor current data and water pump motor current data; the feature extraction of the workload data corresponding to each of the pool areas to determine the type of dirt corresponding to the pool area includes: Extract at least two load characteristics from the current amplitude, current duration, and current change rate from the brush motor current data and the water pump motor current data; The dirt score of each pool area is determined based on the degree of deviation of the load characteristics from the reference load characteristics of the corresponding motor. The type of dirt in each of the pool areas is determined based on the dirt score.
5. The method according to claim 1, characterized in that, The cleaning mechanism includes a brushing mechanism with a brush motor and a suction mechanism with a water pump motor. The workload data includes brush motor current data and water pump motor current data. The step of extracting features from the workload data corresponding to each of the pool areas to determine the type of dirt corresponding to the pool area includes: Based on the brush motor current data, the first moment when the brush motor current increases from no more than the first reference current to more than the first current threshold and the second moment when the current decreases from more than the first current threshold to no more than the sum of the deviations between the first reference current and the preset current are determined in chronological order. When the time interval between the first moment and the second moment is not greater than the first preset duration, and the brush motor current is not greater than the sum of the deviations between the first reference current and the preset current for a third preset duration after the second moment, the type of dirt in the pool area corresponding to the first moment is determined to be blocky solid dirt. When the current of the brush motor is continuously greater than the second current threshold for a second preset duration, and the current of the water pump motor is continuously greater than the third current threshold for a second preset duration, the pool area traversed by the pool robot during the second preset duration is determined as the first type of particulate dirt.
6. The method according to claim 1, characterized in that, The cleaning mechanism includes a brushing mechanism with a brush motor, a suction mechanism with a water pump motor, and a filtration mechanism. The workload data includes brush motor current data and water pump motor current data. The pool robot also includes an optical water quality sensor, and pressure detection components are respectively installed on the inlet and outlet sides of the filtration mechanism. The step of extracting features from the workload data corresponding to each pool area to determine the type of dirt corresponding to that pool area includes: The turbidity of the water body collected by the optical water quality sensor is obtained, and the pressure difference of the filtration mechanism is determined based on the difference between the inlet pressure and the outlet pressure of the filtration mechanism. Based on the water pump motor current data, filter mechanism pressure difference data and water turbidity data collected continuously within a preset detection period, the average value of the water pump motor current, the pressure difference increment of the filter mechanism within the preset detection period, and the average value of the water turbidity are determined. When the average value of the water pump motor current is greater than the preset water pump current threshold, the pressure difference increment is greater than the preset pressure difference increment threshold, and the average value of the water turbidity is greater than the preset turbidity threshold, the type of dirt corresponding to the pool area traversed by the pool robot within the preset detection time is determined as the second particulate dirt type.
7. The method according to claim 4, characterized in that, The step of determining cleaning path parameters and cleaning agency operating parameters for different pool areas based on the pool dirt distribution information, and generating a target cleaning strategy, includes: For each cleaning task, the dirt score of each pool area is associated with the corresponding collection time and stored to obtain the pool dirt distribution information corresponding to that cleaning task. Based on the pool dirt distribution information corresponding to at least two cleaning tasks, determine the number of times dirt occurred in each of the pool areas and the amount of change in dirt score between two adjacent cleaning tasks. The frequency of dirt occurrence in each of the pool areas is determined based on the ratio of the number of times dirt occurs in each of the pool areas to the number of tasks in the at least two cleaning tasks. The rate of dirt growth in each of the pool areas is determined based on the ratio of the change in dirt score to the time interval between two adjacent cleaning tasks. The swimming pool area where the frequency of dirt occurrence is greater than a preset frequency threshold is identified as an area prone to dirt. Based on the frequency of dirt occurrence and the rate of dirt growth in each of the pool areas, the cleaning path parameters and cleaning mechanism operating parameters corresponding to different pool areas are determined respectively, and the target cleaning strategy is generated based on the cleaning path parameters and the cleaning mechanism operating parameters. The cleaning path parameters include at least one of cleaning path spacing, number of repeated cleaning cycles, cleaning path overlap rate, and moving speed; the cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power; the cleaning path spacing corresponding to the easily soiled area is less than the cleaning path spacing corresponding to other pool areas, and / or the number of repeated cleaning cycles corresponding to the easily soiled area is greater than the number of repeated cleaning cycles corresponding to other pool areas, and / or the moving speed corresponding to the easily soiled area is less than the moving speed corresponding to other pool areas.
8. The method according to claim 5, characterized in that, The cleaning path parameters include at least one of cleaning path spacing, number of cleaning repetitions, and movement speed; the cleaning mechanism operating parameters include at least one of brush motor speed and water pump motor power; the step of determining the cleaning path parameters and cleaning mechanism operating parameters corresponding to different pool areas based on the pool dirt distribution information includes: For the pool area corresponding to the blocky solid dirt type, the cleaning path spacing is determined as the first cleaning path spacing, the number of repeated cleanings is determined as the first number of repeated cleanings, the moving speed is determined as the first moving speed, and the brush motor speed and the water pump motor power are respectively determined as the first brush motor speed and the first water pump motor power. For the pool area corresponding to the first type of particulate dirt, the cleaning path spacing is determined as the second cleaning path spacing, the number of repeated cleanings is determined as the second number of repeated cleanings, the moving speed is determined as the second moving speed, and the brush motor speed and the water pump motor power are respectively determined as the second brush motor speed and the second water pump motor power. Wherein, the second cleaning path spacing is less than the first cleaning path spacing, and / or the second number of repeated cleanings is greater than the first number of repeated cleanings, and / or the second moving speed is less than the first moving speed, and / or the power of the first water pump motor is different from the power of the second water pump motor.
9. The method according to any one of claims 1 to 8, characterized in that, The method further includes: During the process of the pool robot performing cleaning tasks according to the target cleaning strategy, the actual movement trajectory of the pool robot, the workload data of the cleaning mechanism, and the energy consumption data of the pool robot are acquired. The path execution indicators are determined based on the degree of overlap between the actual movement trajectory and the target cleaning path corresponding to the target cleaning strategy. The dirt removal index is determined based on the change in workload data for each of the pool areas before and after the cleaning task is performed. The cost of implementing the cleaning strategy is determined based on the energy consumption data and the execution time of the cleaning task. Based on the path execution indicators, the dirt removal indicators, and the strategy execution cost, determine the strategy evaluation result corresponding to the target cleaning strategy; When the strategy evaluation result meets the preset strategy retention conditions, the target cleaning strategy will be used as a candidate strategy before the next cleaning task is executed. When the strategy evaluation result does not meet the preset strategy retention conditions, the target cleaning strategy is stopped.
10. A swimming pool robot, characterized in that, include: The robot itself; A mobile mechanism, disposed on the robot body, is used to drive the pool robot to move along a cleaning path within the pool; A cleaning mechanism, installed on the robot body, is used to clean the pool and output the workload data of the cleaning mechanism. A position detection device is used to acquire the position data of the pool robot; At least one processor, and a memory connected to said at least one processor; The memory stores a computer program, and the at least one processor executes the computer program to cause the pool robot to perform the cleaning strategy determination method as described in any one of claims 1 to 9.