Control method of a robot cleaner, computer storage medium, and robot cleaner
Patent Information
- Application Number
- CN202510570888.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-30
- Publication Date
- 2026-10-30
AI Technical Summary
[0005]为了解决或者在一定程度上改善现有技术中扫地机的控制方法的目标清洁区域的定位不准确的技术问题,本发明提供一种扫地机的控制方法
Smart Images

Figure CN122997561A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cleaning equipment technology, and more specifically to a control method for a sweeper, a computer storage medium, and a sweeper. Background Technology
[0002] A sweeper is a mechanical device that cleans debris from the floor by sweeping, vacuuming, or mopping. Currently, sweepers on the market typically include a vacuuming component, a mopping component, a motion drive component, a vision recognition module, a communication module that connects to a control terminal, and sensors.
[0003] Currently, there is a type of robotic vacuum cleaner that can perform tasks according to control commands issued by the user. These commands are issued by the user through a control terminal. The control terminal communicates with the robotic vacuum cleaner, enabling it to perform tasks based on the commands. The task can be cleaning an area marked by the user on the floor. During use, the user holds the control terminal, positions its marking sensor against the floor, and then marks the cleaning area. The robotic vacuum cleaner then performs the cleaning task within that area. However, the positioning of the cleaning area in existing robotic vacuum cleaners is inaccurate.
[0004] Therefore, a new technical solution is needed in this field to solve the above problems. Summary of the Invention
[0005] To address or improve to some extent the technical problem of inaccurate target cleaning area positioning in existing sweeper control methods, this invention provides a sweeper control method. The control method includes the following steps: acquiring first acceleration data from a control terminal used for remotely controlling the sweeper and first coordinate data of the sweeper relative to the control terminal; determining corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data; and determining the target cleaning area of the sweeper based on the second coordinate data.
[0006] Those skilled in the art will understand that the control method of the sweeping machine of the present invention first acquires first acceleration data and first coordinate data, and then, based on the first acceleration data, the first coordinate data, and preset correction data, uses the Kalman filter algorithm to determine the corrected second coordinate data, thereby obtaining more accurate second coordinate data. The Kalman filter algorithm is a recursive algorithm. The core idea of the Kalman filter algorithm is to combine predicted data and actual measured data through a model, and comprehensively minimize the covariance of the estimation error, ultimately obtaining a more accurate position indicated by the user through the control terminal. In this invention, the Kalman filter algorithm fuses the first coordinate data and the first acceleration data, resulting in higher positioning accuracy compared to infrared positioning. The Kalman filter algorithm, combined with preset correction data, generates second coordinate data with higher positioning accuracy, thereby obtaining a more accurately positioned target cleaning area.
[0007] In a preferred embodiment of the above-mentioned control method for a sweeping machine, the control method further includes the following steps: determining whether the position information of the sweeping machine has been obtained; when the position information is obtained, determining the first coordinate data of the sweeping machine relative to the control terminal based on the position information.
[0008] By setting up the above parameters and determining the first coordinate data based on the robot vacuum's location information, the calculation range for acquiring the first coordinate data can be narrowed, thus improving calculation efficiency. Furthermore, when the determination result indicates that location information has been acquired, the first coordinate data is determined based on that location information, preventing the program from running idle or interrupting when location information is not acquired, avoiding wasting system storage space and computing resources, thereby improving calculation efficiency.
[0009] In the preferred embodiment of the above-mentioned control method for the sweeping machine, determining the first coordinate data of the sweeping machine relative to the control terminal based on the position information specifically includes the following steps: determining the first sub-position signal of the sweeping machine's first antenna, the second sub-position signal of the sweeping machine's second antenna, and the transmission time of the position information based on the position information; determining the pitch angle and azimuth angle of the sweeping machine relative to the control terminal based on the first sub-position signal and the second sub-position signal; determining the distance between the control terminal and the sweeping machine based on the transmission time and a preset signal transmission speed; and determining the first coordinate data of the sweeping machine relative to the control terminal based on the distance, the pitch angle, and the azimuth angle.
[0010] With the above setup, the elevation and azimuth angles can be obtained from the first and second sub-position signals, respectively, resulting in more accurate calculations compared to a single position signal. The first and second antennas, being different antennas, provide two distinct position signals. Compared to a single antenna, the position signals transmitted by the first and second antennas have more reference dimensions, leading to more accurate elevation, azimuth, and signal transmission time, thus yielding more precise first coordinate data.
[0011] In the preferred embodiment of the above-mentioned control method for the sweeping machine, determining the first coordinate data of the sweeping machine relative to the control terminal based on the distance, the pitch angle, and the azimuth angle specifically includes the following steps: determining the first coordinate data of the sweeping machine relative to the control terminal using a conversion formula based on the distance, the pitch angle, and the azimuth angle, wherein the conversion formula is defined as: x1 is the horizontal coordinate value of the first coordinate data in the horizontal direction, y1 is the vertical coordinate value of the first coordinate data in the horizontal direction, z1 is the vertical coordinate value of the first coordinate data in the vertical direction, r is the distance, γ is the pitch angle, and α is the azimuth angle.
[0012] With the above settings, the value of the first coordinate data obtained by the conversion formula is more accurate, thus obtaining a more accurately located target cleaning area.
[0013] In a preferred embodiment of the above-mentioned control method for a sweeping machine, the control method further includes the following steps: when the position information at the current moment is not obtained, obtaining the third coordinate data of the sweeping machine relative to the control terminal at the previous moment; determining a time interval value based on the current moment and the previous moment; and determining the first coordinate data of the sweeping machine relative to the control terminal at the current moment based on the time interval value, the third coordinate data, and the first acceleration data.
[0014] With the above settings, when location information is unavailable, the third coordinate data from the previous moment is used to confirm the first coordinate data for the current moment. Obtaining the first coordinate data is convenient, improving computational efficiency. Furthermore, the proximity of the previous moment to the current moment ensures the accuracy of the first coordinate data, improving the accuracy of target cleaning area positioning. Additionally, it avoids the loss of first coordinate data due to unavailable location information, thus preventing program interruptions and improving computational efficiency.
[0015] In the preferred embodiment of the above-mentioned control method for the sweeping machine, acquiring first acceleration data of the control terminal used for remotely controlling the sweeping machine and first coordinate data of the sweeping machine relative to the control terminal; determining corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data, specifically includes the following steps: continuously determining whether the first acceleration data and the first coordinate data are acquired based on a preset time interval; when the first acceleration data and the first coordinate data are acquired, determining the corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data.
[0016] With the above settings, the control terminal checks for the availability of first acceleration and first coordinate data at each time interval. This ensures the temporal continuity and real-time accuracy of the first acceleration and first coordinate data, thereby guaranteeing the real-time accuracy of the second coordinate data calculated in each loop. Furthermore, the Kalman filter algorithm is only performed after confirming that the first acceleration and first coordinate data have been acquired, preventing the program from running idle when these data are unavailable and avoiding resource waste.
[0017] In the preferred embodiment of the above-mentioned control method for the sweeping machine, determining the target cleaning area of the sweeping machine based on the second coordinate data specifically includes the following steps: determining the target projection point of the sweeping machine based on the second coordinate data; continuously storing the target projection point in a target projection point set based on the time interval; and determining the target cleaning area of the sweeping machine based on the target projection point set when the first acceleration data and the first coordinate data are not obtained.
[0018] With the above settings, before acquiring the first acceleration data and the first coordinate data, the target projection points calculated in each time interval are stored in the target projection point set, facilitating the calculation of the target clean area and improving computational efficiency. When the first acceleration data and the first coordinate data are not acquired, the loop process of calculating the second coordinate data is paused to avoid the program running continuously without processing, saving system energy. Furthermore, the addition of new data to the target projection point set is stopped, allowing the set of target projection points, which has stopped adding data, to generate a defined target clean area, thus improving the positioning accuracy of the target clean area.
[0019] In the preferred embodiment of the above-mentioned control method for the sweeping machine, determining the target projection point of the sweeping machine based on the second coordinate data specifically includes the following steps: determining the horizontal coordinate value and the vertical coordinate value of the second coordinate data in the horizontal direction based on the second coordinate data; determining the target projection point based on the horizontal coordinate value and the vertical coordinate value of the second coordinate data in the horizontal direction, wherein the second coordinate data is defined as (x2, y2, z2), and the coordinates of the target projection point are defined as (x2, y2, a), where x2 is the horizontal coordinate value of the second coordinate data in the horizontal plane, y2 is the vertical coordinate value of the second coordinate data in the horizontal plane, z2 is the vertical coordinate value of the second coordinate data, and a is any constant value greater than or equal to 0.
[0020] By setting the above steps to take the vertical coordinate value of the second coordinate data as 'a', the calculation of the target projection point becomes more accurate, thereby improving the positioning accuracy of the target clean area. On the other hand, the calculation process is simple and improves the calculation efficiency.
[0021] In the preferred embodiment of the above-mentioned control method for the sweeping machine, determining the target cleaning area of the sweeping machine based on the target projection point set specifically includes the following steps: determining the target projection area based on the target projection point set; determining the target cleaning area based on the target projection area, wherein the target projection area is defined as: x3 is the abscissa of the target projection point, and y3 is the ordinate of the target projection point; the target clean area is defined as follows: x4 is the x-coordinate of any point in the target cleaning area, and y4 is the y-coordinate of any point in the target cleaning area.
[0022] With the above settings, the rectangular target cleaning area determined by the minimum and maximum values of the target projection area on the horizontal axis and the minimum and maximum values on the vertical axis can cover the entire target projection area, ensuring that the entire target projection area can be cleaned and enhancing the cleaning ability of the sweeper.
[0023] In the preferred embodiment of the above-mentioned control method for the sweeping machine, the control method further includes the following steps: determining whether the motion state information of the control terminal has been obtained; when the motion state information is obtained, determining the first acceleration data of the control terminal based on the motion state information.
[0024] With the above settings, once motion state information is confirmed, the first acceleration data is determined based on that information. This avoids the program running aimlessly without motion state information, preventing waste of system storage space and computing resources, and thus improving computational efficiency. Determining the first acceleration data based on motion state information ensures the accuracy of the first acceleration acquisition and narrows the calculation range for acquiring the first coordinate data, further improving computational efficiency.
[0025] In the preferred embodiment of the above-mentioned control method for the sweeping machine, the control method further includes the following steps: when the motion state information at the current moment is not obtained, the second acceleration data of the control terminal at the previous moment is obtained; and the second acceleration data is replaced with the first acceleration data.
[0026] With the above settings, when there is no motion state information at the current moment, the second acceleration from the previous moment is used to replace the first acceleration, narrowing the calculation range of the first acceleration and thus improving calculation efficiency. Furthermore, using the second acceleration data from the previous moment, which is adjacent to the current moment, can improve the accuracy of the first acceleration data, thereby improving the accuracy of the second coordinate data calculation.
[0027] In the preferred embodiment of the above-mentioned control method for the sweeping machine, the control method further includes the following steps: determining a target cleaning path based on the target cleaning area; acquiring road condition image information during the sweeping process of the sweeping machine; and updating the target cleaning path based on the road condition image information and a preset cleaning strategy.
[0028] With the above settings, the sweeper moves according to the target cleaning path, completing the cleaning of the target area during the movement. During cleaning, the target cleaning path is modified based on road condition graphics and cleaning strategies, enabling the sweeper to handle various real-world road conditions, improving its adaptability and thus increasing cleaning efficiency.
[0029] To address or improve to some extent the technical problem of inaccurate positioning of the target cleaning area in existing sweeping machines, the present invention also provides a computer storage medium. The computer storage medium stores a computer program, which, when executed by a program processor, implements the sweeping machine control method described above.
[0030] To address or improve to some extent the technical problem of inaccurate target cleaning area positioning in existing sweeping machines, the present invention also provides a sweeping machine. The sweeping machine includes: a memory; a processor; wherein the memory stores computer execution instructions, and the processor executes the computer execution instructions stored in the memory to implement the control method of the sweeping machine described above.
[0031] Solution 1. A control method for a sweeping machine, characterized in that the control method includes the following steps: acquiring first acceleration data of a control terminal for remotely controlling the sweeping machine and first coordinate data of the sweeping machine relative to the control terminal; determining corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data; and determining the target cleaning area of the sweeping machine based on the second coordinate data.
[0032] Solution 2. The control method for the sweeper according to Solution 1, characterized in that the control method further includes the following steps: determining whether the position information of the sweeper is obtained; when the position information is obtained, determining the first coordinate data of the sweeper relative to the control terminal based on the position information.
[0033] Solution 3. The control method for the sweeping machine according to Solution 2, characterized in that, determining the first coordinate data of the sweeping machine relative to the control terminal based on the position information specifically includes the following steps: determining the first sub-position signal of the sweeping machine's first antenna, the second sub-position signal of the sweeping machine's second antenna, and the transmission time of the position information based on the position information; determining the pitch angle and azimuth angle of the sweeping machine relative to the control terminal based on the first sub-position signal and the second sub-position signal; determining the distance between the control terminal and the sweeping machine based on the transmission time and a preset signal transmission speed; and determining the first coordinate data of the sweeping machine relative to the control terminal based on the distance, the pitch angle, and the azimuth angle.
[0034] Solution 4. The control method for the sweeper according to Solution 3, characterized in that, determining the first coordinate data of the sweeper relative to the control terminal based on the distance, the pitch angle, and the azimuth angle specifically includes the following steps: determining the first coordinate data of the sweeper relative to the control terminal using a conversion formula based on the distance, the pitch angle, and the azimuth angle, wherein the conversion formula is defined as: x1 is the horizontal coordinate value of the first coordinate data in the horizontal direction, y1 is the vertical coordinate value of the first coordinate data in the horizontal direction, z1 is the vertical coordinate value of the first coordinate data in the vertical direction, r is the distance, γ is the pitch angle, and α is the azimuth angle.
[0035] Solution 5. The control method for the sweeper according to Solution 2, characterized in that the control method further includes the following steps: when the position information at the current moment is not obtained, obtaining the third coordinate data of the sweeper relative to the control terminal at the previous moment; determining a time interval value based on the current moment and the previous moment; determining the first coordinate data of the sweeper relative to the control terminal at the current moment based on the time interval value, the third coordinate data and the first acceleration data.
[0036] Solution 6. The control method for the sweeping machine according to Solution 1, characterized in that: acquiring first acceleration data of a control terminal for remotely controlling the sweeping machine and first coordinate data of the sweeping machine relative to the control terminal; determining corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data, specifically including the following steps: continuously determining whether the first acceleration data and the first coordinate data are acquired based on a preset time interval; when the first acceleration data and the first coordinate data are acquired, determining the corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data.
[0037] Solution 7. The control method for the sweeping machine according to Solution 6, characterized in that, determining the target cleaning area of the sweeping machine based on the second coordinate data specifically includes the following steps: determining the target projection point of the sweeping machine based on the second coordinate data; continuously storing the target projection point in a target projection point set based on the time interval; when the first acceleration data and the first coordinate data are not obtained, determining the target cleaning area of the sweeping machine based on the target projection point set.
[0038] Solution 8. The control method for the sweeping machine according to Solution 7, characterized in that, determining the target projection point of the sweeping machine based on the second coordinate data specifically includes the following steps: determining the horizontal coordinate value and the vertical coordinate value of the second coordinate data in the horizontal direction based on the second coordinate data; determining the target projection point based on the horizontal coordinate value and the vertical coordinate value of the second coordinate data in the horizontal direction, wherein the second coordinate data is defined as (x2, y2, z2), and the coordinates of the target projection point are defined as (x2, y2, a), where x2 is the horizontal coordinate value of the second coordinate data in the horizontal plane, y2 is the vertical coordinate value of the second coordinate data in the horizontal plane, z2 is the vertical coordinate value of the second coordinate data, and a is any constant value greater than or equal to 0.
[0039] Solution 9. The control method for the sweeping machine according to Solution 7, characterized in that, determining the target cleaning area of the sweeping machine based on the target projection point set specifically includes the following steps: determining the target projection area based on the target projection point set; determining the target cleaning area based on the target projection area, wherein the target projection area is defined as: x3 is the abscissa of the target projection point, and y3 is the ordinate of the target projection point; the target clean area is defined as follows: x4 is the x-coordinate of any point in the target cleaning area, and y4 is the y-coordinate of any point in the target cleaning area.
[0040] Solution 10. The control method for the sweeper according to Solution 1, characterized in that the control method further includes the following steps: determining whether motion state information of the control terminal is obtained; when the motion state information is obtained, determining the first acceleration data of the control terminal based on the motion state information.
[0041] Solution 11. The control method for the sweeper according to Solution 10, characterized in that the control method further includes the following steps: when the motion state information at the current moment is not obtained, the second acceleration data of the control terminal at the previous moment is obtained; and the second acceleration data is replaced with the first acceleration data.
[0042] Solution 12. The control method for the sweeper according to Solution 1, characterized in that the control method further includes the following steps: determining a target cleaning path based on the target cleaning area; acquiring road condition image information during the sweeper's cleaning process; and updating the target cleaning path based on the road condition image information and a preset cleaning strategy.
[0043] Solution 13. A computer storage medium storing a computer program, characterized in that, when the computer program is executed by a processor, it implements the control method of the sweeping machine as described in any one of Solutions 1 to 12.
[0044] Solution 14. A sweeping machine, characterized in that it comprises: a memory; a processor; wherein the memory stores computer execution instructions, and the processor executes the computer execution instructions stored in the memory to implement the sweeping machine control method as described in any one of Solutions 1 to 12. Attached Figure Description
[0045] The preferred embodiments of the present invention are described below with reference to the accompanying drawings, in which:
[0046] Figure 1 This is a flowchart illustrating the control method of the sweeper of the present invention;
[0047] Figure 2 yes Figure 1 A schematic diagram illustrating the specific process of obtaining the first coordinate data;
[0048] Figure 3 yes Figure 2 The flowchart illustrates the specific process of determining the first coordinate data based on the location information.
[0049] Figure 4 yes Figure 3 A schematic diagram illustrating the specific process of determining the first coordinate data based on distance, pitch angle, and azimuth angle;
[0050] Figure 5 yes Figure 1 A schematic diagram illustrating the specific process for identifying the target cleaning area;
[0051] Figure 6 yes Figure 5 The flowchart illustrates the specific process of determining the target projection point of the sweeping machine based on the second coordinate data.
[0052] Figure 7 yes Figure 5 The diagram illustrates the specific process of determining the target cleaning area of the sweeping machine based on the set of target projection points.
[0053] Figure 8 yes Figure 1 A schematic diagram illustrating the specific process of obtaining the first acceleration data. Detailed Implementation
[0054] Preferred embodiments of the present invention will now be described with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are merely illustrative of the technical principles of the present invention and are not intended to limit the scope of protection of the present invention.
[0055] It should be noted that in the description of this invention, the terms "upper", "lower", "left", "right", "front", "rear", "inner", "outer", etc., which indicate the direction or positional relationship, are based on the direction or positional relationship shown in the drawings. This is only for the convenience of description and is not intended to indicate or imply that the device or element must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, it should not be construed as a limitation of this invention.
[0056] Furthermore, it should be noted that, in the description of this invention, unless otherwise explicitly specified and limited, the terms "installation," "setting," and "connection" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a direct connection, an indirect connection through an intermediate medium, or a connection within two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0057] To address or improve, to some extent, the technical problem of inaccurate target cleaning area positioning in existing sweeper control methods, this invention provides a sweeper control method. This control method includes the following steps: acquiring first acceleration data and first coordinate data of the sweeper relative to the control terminal from a control terminal used for remote control of the sweeper; determining corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data; and determining the target cleaning area of the sweeper based on the second coordinate data.
[0058] In one or more embodiments, the sweeping machine of the present invention (not shown in the figure) includes components such as a housing, a vacuuming component, a wet mopping component, a motion drive component, a vision recognition module, a communication module connected to a control terminal, and a control module. The vacuuming component, wet mopping component, motion drive component, vision recognition module, and communication module are all electrically connected to the control module.
[0059] In one or more embodiments, the interior of the housing forms a generally hollow receiving cavity to provide a suitable mounting area for the vacuuming assembly, wet mopping assembly, motion drive assembly, vision recognition module, communication module, and control module. The housing may be, but is not limited to, cylindrical or rectangular. The housing is provided with an air intake, an air outlet, and an air duct communicating with both the air intake and the air outlet. The air intake is located at the bottom of the housing, close to the ground, allowing dirt and debris from the ground to enter it.
[0060] In one or more embodiments, a dust collection assembly is disposed within an air duct. The dust collection assembly includes a roller brush disposed near the air intake, a dust collection box disposed within the air duct, and a fan disposed within the air duct and near the air outlet. The fan powers the airflow within the air duct, causing air to pass sequentially through the air intake, roller brush, dust collection box, and air outlet, thereby collecting dirt and debris from the floor into the dust collection box.
[0061] In one or more embodiments, the wet mopping assembly includes a mop and a water tank. The mop is located at the bottom of the housing, allowing it to be close to the ground and clean the floor. The water tank supplies water to the mop to wet it and improve cleaning effectiveness. It should be noted that the housing also contains components such as inlet and outlet pipes, which will not be described in detail here.
[0062] In one or more embodiments, the mobile drive assembly includes a drive wheel and a drive motor. The drive wheel is rotatably connected to the bottom of the housing, enabling the housing to move on the ground. The drive motor is disposed inside the housing. The output shaft of the drive motor is fixedly connected to the axle of the drive wheel, enabling the drive wheel to rotate. The connection structure between the drive wheel and the drive motor will not be described in detail here.
[0063] In one or more embodiments, the visual recognition module includes a camera. The camera is disposed on the outer front side of the housing. The camera lens faces the ground in front of the sweeper and is capable of acquiring image information of the ground in front of the sweeper.
[0064] In one or more embodiments, the communication module includes a first antenna, a second antenna, and a signal processing unit. The first antenna is arranged vertically. The second antenna is arranged horizontally. The perpendicular arrangement of the first and second antennas allows for the transmission of pulse signals at two different angles, providing more accurate positioning of the sweeper. The first and second antennas are used to transmit and receive non-sinusoidal narrow pulse signals, enabling high-precision ranging and positioning. The communication technology between the first and second antennas and the antenna of the control terminal employs Ultra Wide Band (UWB) technology. UWB technology is a wireless carrier communication technology that uses non-sinusoidal narrow pulse signals for data transmission. UWB technology enables high-speed data transmission over short distances, thus achieving high-precision positioning and strong anti-interference capabilities. The distance between the transmitting and receiving ends can be calculated using pulse signal time difference measurement (TOA) technology based on the pulse signal transmitted via UWB technology. The distance accuracy can reach the centimeter level. Both the first and second antennas are located outside the housing, enabling more efficient transmission and reception of non-sinusoidal narrow pulse signals. Both the first and second antennas are electrically connected to the signal processing unit. The signal processing unit converts the pulse signals received by the first and second antennas into digital signals. The signal processing unit is electrically connected to the control module and can transmit the digital signals to the control module.
[0065] In one or more embodiments, the control module includes a central control unit, an arithmetic logic unit, registers, and a cache. Registers are used to store information such as instructions, data, and addresses. The cache is used for temporary storage of instructions and data. Both the central control unit and the arithmetic logic unit are electrically connected to the registers. The central control unit is electrically connected to the arithmetic logic unit. The central control unit is used to retrieve instructions from the registers and execute them. The arithmetic logic unit is used to perform all arithmetic operations (such as addition, subtraction, multiplication, and division) and logical operations (such as AND, OR, and NOT). The arithmetic logic unit also performs corresponding arithmetic operations according to the instructions from the central control unit.
[0066] In one or more embodiments, the inertial measurement unit (IMU) of the control terminal includes an accelerometer and a gyroscope. The accelerometer is used to measure the linear acceleration of an object along three axes in three-dimensional space. The gyroscope is used to measure the angular acceleration of the object around the three axes. The inertial measurement unit can provide motion state information of the control terminal.
[0067] Below, in conjunction with Figures 1-8 Specific embodiments of the control method for the sweeper of the present invention are described in detail. It should be noted that the control method for the sweeper of the present invention can be implemented in any of the sweepers in the above embodiments, and can also be used in other suitable sweepers.
[0068] Figure 1 This is a flowchart illustrating the control method of the sweeper of the present invention. See also... Figure 1 In one or more embodiments, when the sweeper is powered on, the control method for the sweeper of the present invention includes the following steps:
[0069] S100: Acquire the first acceleration data of the control terminal used for remote control of the sweeper and the first coordinate data of the sweeper relative to the control terminal.
[0070] S200: Based on the first acceleration data, the first coordinate data, and the preset correction data, the corrected second coordinate data is determined using the Kalman filter algorithm.
[0071] S300: Determine the target cleaning area of the sweeper based on the second coordinate data.
[0072] In this invention, the control terminal can be, but is not limited to, a mobile phone, remote control, mobile computer, or tablet computer. The communication module of the sweeping machine is connected to the antenna of the control terminal to realize the transmission of pulse signals between the sweeping machine and the control terminal, thereby obtaining the first coordinate data of the sweeping machine. The first acceleration data comes from the accelerometer and gyroscope in the control terminal and is a numerical record of the motion state of the control terminal. The first acceleration data includes the linear acceleration data of the control terminal on the three axes in three-dimensional space and the angular acceleration around the three axes. The preset correction data can be, but is not limited to, one or more of the following: observation noise covariance correction data during signal transmission, error correction data caused by multipath effect in signal transmission, accelerometer noise correction data, and gyroscope noise correction data. The preset correction data includes sensor error data and pulse signal transmission error data.
[0073] The Kalman filter algorithm is a recursive algorithm. Its core principle is to combine initial coordinate data with initial acceleration data to predict the control terminal's position at the next moment. Then, it corrects the current position data in real time based on the next moment's position data. Finally, it combines the corrected data to obtain a more accurate current position. In other words, the Kalman filter algorithm fuses initial acceleration data, initial coordinate data, and corrected data, filtering out sensor errors and pulse signal transmission errors. This results in more accurate attitude data and the control terminal's current position, leading to more precise second coordinate data and ultimately a more accurately located target cleaning area. The target cleaning area can be a point, a line, or a surface.
[0074] Figure 2 yes Figure 1 A schematic diagram illustrating the specific process of obtaining the first coordinate data. See also... Figure 2 In one or more embodiments, the control method of the sweeper of the present invention further includes the following steps:
[0075] S010: Determine whether the location information of the sweeper has been obtained.
[0076] S011: When the location information is obtained, determine the first coordinate data of the sweeper relative to the control terminal based on the location information.
[0077] In this invention, the position information is obtained by demodulating a pulse signal. Further computation of the position information yields the first coordinate data, which narrows the computational range for acquiring the first coordinate data and improves computational efficiency. Furthermore, when the determination result indicates that position information has been acquired, the first coordinate data is determined based on the position information, avoiding program idling or interruption when position information is not acquired, thus preventing waste of system storage space and computational resources and further improving computational efficiency.
[0078] Figure 3 yes Figure 2 The flowchart illustrates the specific process of determining the first coordinate data based on location information. (See attached diagram.) Figure 3 In one or more embodiments, S011: Based on the location information, determine the first coordinate data of the sweeping robot relative to the control terminal. This specifically includes the following steps:
[0079] S0111: Based on the location information, determine the transmission time of the first sub-position signal of the first antenna of the sweeping machine, the second sub-position signal of the second antenna of the sweeping machine, and the location information.
[0080] S0112: Determine the pitch angle and azimuth angle of the sweeper relative to the control terminal based on the first sub-position signal and the second sub-position signal.
[0081] S0113: Determine the distance between the control terminal and the sweeping machine based on the transmission time and the preset signal transmission speed.
[0082] S0114: Determine the first coordinate data of the sweeper relative to the control terminal based on the distance, pitch angle, and azimuth angle.
[0083] In this invention, the first antenna is positioned vertically, and the second antenna is positioned horizontally. These two antennas, placed at different locations, can transmit pulses from different spatial positions, allowing the control terminal to receive different first and second sub-position signals. Compared to a signal from a single position, the obtained elevation and azimuth angles are more accurate. Multiplying the signal transmission speed by the signal transmission time allows for an accurate determination of the distance between the control terminal and the sweeping robot. Using distance, elevation angle, and azimuth angle, more accurate first coordinate data can be obtained. It is understood that the first and second antennas, being different antennas, can obtain two different position signals. Compared to a single antenna, the position signals transmitted by the first and second antennas have more reference dimensions, resulting in more accurate elevation, azimuth, and signal transmission time, thus yielding more accurate first coordinate data.
[0084] Figure 4 yes Figure 3 The flowchart illustrates the specific process of determining the first coordinate data based on distance, pitch angle, and azimuth angle. (See attached diagram.) Figure 4 In one or more embodiments, S0114: Determine the first coordinate data of the sweeper relative to the control terminal based on the distance, pitch angle, and azimuth angle. Specifically, this includes the following steps:
[0085] S01141: Based on the distance, pitch angle, and azimuth angle, use the conversion formula to determine the first coordinate data of the sweeper relative to the control terminal.
[0086] The conversion formula is defined as follows: x1 is the horizontal coordinate value of the first coordinate data, y1 is the horizontal coordinate value of the first coordinate data, z1 is the vertical coordinate value of the first coordinate data, r is the distance, γ is the pitch angle, and α is the azimuth angle.
[0087] In this invention, the first coordinate data is represented by the horizontal abscissa, the horizontal ordinate, and the vertical coordinate, accurately representing the position on the three axes in three-dimensional space, thus improving the accuracy of the first coordinate data. The conversion formula improves the calculation accuracy and efficiency of the first coordinate data.
[0088] See also Figure 2 In one or more embodiments, the control method of the present invention further includes the following steps:
[0089] S012: When the current location information is not obtained, obtain the third coordinate data of the sweeper relative to the control terminal at the previous moment.
[0090] S013: Determine the time interval value based on the current time and the previous time.
[0091] S014: Determine the first coordinate data of the sweeper relative to the control terminal at the current moment based on the time interval value, the third coordinate data, and the first acceleration data.
[0092] In this invention, when location information is unavailable, the third coordinate data from the previous moment is used to confirm the first coordinate data at the current moment. Obtaining the first coordinate data is convenient, improving calculation efficiency. Furthermore, the proximity of the previous moment to the current moment ensures the accuracy of the first coordinate data at the current moment, improving the accuracy of target cleaning area positioning. It is understood that even when communication between the robot vacuum and the control terminal is interrupted, and the control terminal cannot obtain the robot vacuum's pulse signal, or the robot vacuum does not send a pulse signal, the control terminal can still continue to obtain and calculate the first coordinate data. This avoids the loss of location information due to a temporary interruption of the pulse signal, thus preventing the calculation program from being interrupted and improving calculation efficiency.
[0093] Figure 5 yes Figure 1 A schematic diagram illustrating the specific process for identifying the target cleaning area. See also... Figure 5 In one or more embodiments, S100: Acquire first acceleration data of the control terminal for remotely controlling the sweeping machine and first coordinate data of the sweeping machine relative to the control terminal. Based on the first acceleration data, the first coordinate data, and preset correction data, determine the corrected second coordinate data using a Kalman filter algorithm, specifically including the following steps:
[0094] S101: Based on a preset time interval, continuously determine whether the first acceleration data and the first coordinate data have been acquired.
[0095] S200: When the first acceleration data and the first coordinate data are obtained, the corrected second coordinate data are determined by using the Kalman filter algorithm based on the first acceleration data, the first coordinate data and the preset correction data.
[0096] In this invention, a first acceleration data point is a value within a time interval. Multiple first acceleration data points are continuous in time. A first coordinate data point is a value within a time interval. Multiple first coordinate data points are continuous in time. The second coordinate data calculated based on the first acceleration data and the first coordinate data is also continuous in time, ensuring the temporal continuity and real-time accuracy of the second coordinate data, thereby improving the positioning accuracy of the target clean area. In each time interval, a check is performed to determine whether the first acceleration data and the first coordinate data have been acquired, avoiding a decrease in the real-time accuracy of the first acceleration data and the first coordinate data due to long waiting times. The check step also allows the program to adapt to various data states (acquired or not acquired), making the system flexible. The check step also prevents the program from running idle or stopping when position information is not acquired, ensuring continuous program operation and thus improving the calculation efficiency of the target clean area.
[0097] See also Figure 5 In one or more embodiments, the control method further includes the following step: S300: Determine the target cleaning area of the sweeper based on the second coordinate data. Specifically, this includes the following steps:
[0098] S301: Determine the target projection point of the sweeper based on the second coordinate data.
[0099] S302: Based on time intervals, continuously store the target projection points into the target projection point set.
[0100] S303: When the first acceleration data and the first coordinate data are not obtained, the target cleaning area of the sweeper is determined according to the target projection point set.
[0101] In this invention, the target projection point set includes target projection points for each time interval. That is, the target projection point set can include one target projection point for one time interval or multiple target projection points for multiple time intervals. Based on the time intervals, target projection points are continuously stored in the target projection point set, making multiple target projection points in the set temporally continuous, thereby improving the accuracy of the sweeper's target cleaning area positioning. Before acquiring the first acceleration data and the first coordinate data, the target projection points calculated in each time interval are stored in the target projection point set, facilitating the calculation of the target cleaning area and improving computational efficiency. When the first acceleration data and the first coordinate data are not acquired, the loop process of calculating the second coordinate data is paused to avoid continuous idle running, saving system energy. Furthermore, the addition of new data to the target projection point set is paused, allowing the next step of generating a defined target cleaning area from the target projection point set with stopped data addition, thus improving the positioning accuracy of the target cleaning area.
[0102] Figure 6 yes Figure 5 The flowchart below illustrates the specific process of determining the target projection point of the sweeping robot based on the second coordinate data. (See attached diagram.) Figure 6 In one or more embodiments, the control method further performs the following steps: S301: Determine the target projection point of the sweeping machine based on the second coordinate data. Specifically, this includes the following steps:
[0103] S3011: Based on the second coordinate data, determine the horizontal coordinate value of the second coordinate data and the vertical coordinate value of the second coordinate data in the horizontal direction.
[0104] S3012: Determine the target projection point based on the horizontal coordinate value of the second coordinate data and the horizontal ordinate value of the second coordinate data.
[0105] The second coordinate data is defined as (x2, y2, z2), and the coordinates of the target projection point are defined as (x2, y2, a). x2 is the horizontal coordinate value of the second coordinate data on the horizontal plane, y2 is the vertical coordinate value of the second coordinate data on the horizontal plane, z2 is the vertical coordinate value of the second coordinate data, and a is any constant value greater than or equal to 0.
[0106] In this invention, the calculation step of taking the vertical coordinate value of the second coordinate data as 'a' converts the three-dimensional spatial coordinates of the point pointed to by the control terminal into two-dimensional planar coordinates on a horizontal plane at a horizontal height of 'a'. This makes the calculation of the target projection point more accurate, thereby improving the positioning accuracy of the target cleaning area. Furthermore, the calculation process is simpler, improving computational efficiency. It is understood that the area actually cleaned by the sweeper is a planar area. Therefore, taking the vertical data of the second coordinate data as a constant value determines the three-dimensional spatial area as a two-dimensional planar area, enabling the sweeper to perform the task of cleaning the plane. It is also understood that the point pointed to by the control terminal (the second coordinate data) and the sweeper are both in the same coordinate system. Regardless of the value of 'a', it has no effect on the values of x2 and y2, nor on the target cleaning area determined by the target projection point, thus improving the calculation accuracy of the target cleaning area.
[0107] Figure 7 yes Figure 5 The diagram below illustrates the specific process of determining the target cleaning area of the sweeping robot based on the set of target projection points. (See also...) Figure 7 In one or more embodiments, the control method further performs the following step: S303: Determine the target cleaning area of the sweeper based on the target projection point set. Specifically, this includes the following steps:
[0108] S3031: Determine the target projection area based on the set of target projection points.
[0109] S3032: Determine the target cleaning area based on the target projection area.
[0110] The target projection area is defined as follows: x3 is the x-coordinate of the target projection point, and y3 is the y-coordinate of the target projection point.
[0111] The target cleaning area is defined as follows: x4 is the x-coordinate of any point in the target clean area, and y4 is the y-coordinate of any point in the target clean area.
[0112] In this invention, the target projection area is a planar region fitted by a set of target projection points. Specific fitting methods can be, but are not limited to, linear regression, orthogonal regression, robust regression, or polynomial fitting. The target projection area can be a point, a line, or a surface. The range between the maximum and minimum values of the abscissa of the target projection points in the set of target projection points is defined as the position of the target cleaning area on the abscissa, and the range between the maximum and minimum values of the ordinate of the target projection points in the set of target projection points is defined as the position of the target cleaning area on the ordinate. This allows for the determination of a rectangular target cleaning area, ensuring coverage of the entire target projection area defined by the user, guaranteeing that the entire target projection area is cleaned, and enhancing the cleaning ability of the robot vacuum cleaner.
[0113] Figure 8 yes Figure 1 A schematic diagram illustrating the specific process of obtaining the first acceleration data. See [link / reference]. Figure 8 In one or more embodiments, the control method of the present invention further includes the following steps:
[0114] S020: Determine whether motion status information of the control terminal has been obtained.
[0115] S021: When motion state information is obtained, determine the first acceleration data of the control terminal based on the motion state information.
[0116] In this invention, motion state information is provided jointly by the accelerometer and gyroscope of the control terminal. The accelerometer is an acceleration sensor used to measure the linear acceleration of the control terminal along the x, y, and z axes. The gyroscope measures the angular acceleration of the control terminal around the x, y, and z axes. The control module decodes the motion state information into first acceleration data for program recognition, calculation, and instruction generation. The first acceleration data includes linear acceleration values along the x, y, and z axes and angular acceleration values around the x, y, and z axes. A determination is made whether the motion state information of the control terminal has been acquired to ensure that the program only performs the first acceleration data calculation step after acquiring the motion state information. This avoids the program running idly without acquiring motion state information, preventing waste of system storage space and computing resources, and thus improving computational efficiency. When it is determined that motion state information has been acquired, the first acceleration data is determined based on the motion state information. Determining the first acceleration data based on the motion state information ensures the accuracy of the first acceleration acquisition and narrows the calculation range for acquiring the first coordinate data, improving computational efficiency.
[0117] See also Figure 8 In one or more embodiments, the control method of the present invention further includes the following steps:
[0118] S022: When the motion state information at the current moment is not obtained, obtain the second acceleration data of the control terminal at the previous moment.
[0119] S023: Replace the second acceleration data with the first acceleration data.
[0120] In this invention, when communication between the accelerometer / gyroscope and the control module is interrupted, or when the accelerometer / gyroscope is damaged, the control module cannot obtain the current motion state information. In this case, the value of the second acceleration data is used to replace the value of the first acceleration data. This ensures that the first acceleration data is involved in the calculation of the target cleaning area in every time interval, avoiding program interruption and thus improving calculation efficiency. The second acceleration data from the previous moment is the closest to the current moment in time, and is closer to the current motion state of the control terminal in time, ensuring the accuracy of the first acceleration data and thus improving the positioning accuracy of the target cleaning area. In addition, using the second acceleration data from the previous moment to replace the first acceleration data is convenient and improves calculation efficiency.
[0121] In one or more embodiments, when the control terminal begins cleaning the designated target area, its antenna receives a first initial signal and a second initial signal transmitted from the two antennas of the sweeper, respectively. Based on the first and second initial signals, the control terminal determines the initial pitch angle γ0 and the initial azimuth angle α0. Based on the initial pitch angle γ0 and the initial azimuth angle α0, it determines the initial coordinate data (x0, y0, z0) of the sweeper relative to the control terminal. At the next moment adjacent to the initial moment, the control terminal acquires initial acceleration data. If the sweeper's position information is not available, the coordinate data of the sweeper relative to the control terminal at the next moment adjacent to the initial moment is determined based on the time interval value, the initial coordinate data (x0, y0, z0), and the initial acceleration data. It is understood that the initial coordinate data (x0, y0, z0) is the first target point in the process of designating the target cleaning area. When acquiring the second target point, and in the event that antenna communication between the sweeper and the control terminal is interrupted, the initial coordinate data can be used for calculation, improving the practical adaptability of the control method.
[0122] See also Figure 1 The control method may include, but is not limited to, S400, S500, and S600 described below. In one or more embodiments, the control method of the present invention further includes the following steps:
[0123] S400: Determine the target cleaning path based on the target cleaning area.
[0124] S500: Acquires road condition image information during the sweeper's cleaning process.
[0125] S600: Updates the target cleaning path based on road condition image information and preset cleaning strategies.
[0126] In this invention, the target cleaning path can be, but is not limited to, a reciprocating zigzag or grid pattern. The road condition image information is a photograph of the ground in front of the sweeper taken by a camera. Obstacle information and dirt information on the road surface are extracted from the photograph. The preset cleaning strategy specifically employs a softening and wetting cleaning method when the image information includes dried stains on the ground, and a gradual dipping cleaning method when the image information includes sticky stains. It is understood that the actual road surface cleaned by the sweeper contains static obstacles, dynamic obstacles, and dirt. Static obstacles are immovable materials. Dynamic obstacles are movable materials. Dirt can be oil, water, dust, paper scraps, etc. The sweeper needs to identify and distinguish these obstacles and dirt, and adopt corresponding cleaning strategies. Static obstacles should be avoided. Dynamic obstacles should be cleaned only at the next moment. Watery dirt should be cleaned with a wet mop. Dust and paper scraps should be cleaned with high suction power. The number of cleaning cycles is set according to the stubbornness of the dirt. These all require modifying the original target cleaning path to enable the sweeper to cope with various road conditions in reality, improve the sweeper's adaptability, and improve cleaning efficiency by performing cleaning work according to the updated target cleaning path.
[0127] To address or improve to some extent the technical problem of inaccurate target cleaning area positioning in existing sweeping machines, this invention also provides a computer storage medium. This computer storage medium stores a computer program, which, when executed by a processor, implements the steps of the sweeping machine control method described in any of the above embodiments. It should be noted that the computer storage medium of this invention can also be executed in other suitable sweeping machines. All of these computer storage media possess the corresponding effects of the sweeping machine control method provided in the embodiments of this invention.
[0128] Specifically, computer storage media can be random access memory (RAM), flash memory, read-only memory (ROM), electrically programmable read-only memory, electrically erasable programmable read-only memory, registers, hard disks, removable disks, compact disc reads-only memory (CD ROM), and any other form of storage media known in the art.
[0129] The technical solution of the present invention has been described above with reference to the preferred embodiments shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of the present invention is obviously not limited to these specific embodiments. Without departing from the principles of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after such changes or substitutions will all fall within the scope of protection of the present invention.
Claims
1. A control method for a sweeping machine, characterized in that, The control method includes the following steps: Acquire first acceleration data of the control terminal used for remotely controlling the sweeper and first coordinate data of the sweeper relative to the control terminal; Based on the first acceleration data, the first coordinate data, and the preset correction data, the corrected second coordinate data is determined using the Kalman filter algorithm; The target cleaning area of the sweeping machine is determined based on the second coordinate data.
2. The control method for a sweeper according to claim 1, characterized in that, The control method further includes the following steps: Determine whether the location information of the sweeper has been obtained; When the location information is obtained, the first coordinate data of the sweeping machine relative to the control terminal is determined based on the location information.
3. The control method for a sweeper according to claim 2, characterized in that, Determining the first coordinate data of the sweeping robot relative to the control terminal based on the location information specifically includes the following steps: Based on the location information, determine the first sub-position signal of the first antenna of the sweeping machine, the second sub-position signal of the second antenna of the sweeping machine, and the transmission time of the location information; Based on the first sub-position signal and the second sub-position signal, the pitch angle and azimuth angle of the sweeping machine relative to the control terminal are determined; The distance between the control terminal and the sweeping machine is determined based on the transmission time and the preset signal transmission speed. The first coordinate data of the sweeping machine relative to the control terminal are determined based on the distance, the pitch angle, and the azimuth angle.
4. The control method for a sweeper according to claim 3, characterized in that, Determining the first coordinate data of the sweeping machine relative to the control terminal based on the distance, the pitch angle, and the azimuth angle specifically includes the following steps: Based on the distance, the pitch angle, and the azimuth angle, the first coordinate data of the sweeping machine relative to the control terminal is determined using a conversion formula. The conversion formula is defined as follows: x1 is the horizontal coordinate value of the first coordinate data in the horizontal direction, y1 is the vertical coordinate value of the first coordinate data in the horizontal direction, z1 is the vertical coordinate value of the first coordinate data in the vertical direction, r is the distance, γ is the pitch angle, and α is the azimuth angle.
5. The control method for a sweeper according to claim 2, characterized in that, The control method further includes the following steps: If the current location information is not obtained, the third coordinate data of the sweeping machine relative to the control terminal at the previous moment is obtained; Determine the time interval value based on the current time and the previous time; Based on the time interval value, the third coordinate data, and the first acceleration data, the first coordinate data of the sweeping machine relative to the control terminal at the current moment is determined.
6. The control method for a sweeper according to claim 1, characterized in that, Acquire first acceleration data of the control terminal used for remotely controlling the sweeper and first coordinate data of the sweeper relative to the control terminal; determine the corrected second coordinate data using a Kalman filter algorithm based on the first acceleration data, the first coordinate data, and preset correction data, specifically including the following steps: Based on a preset time interval, it is continuously determined whether the first acceleration data and the first coordinate data have been acquired; When the first acceleration data and the first coordinate data are obtained, the corrected second coordinate data are determined using the Kalman filter algorithm based on the first acceleration data, the first coordinate data, and the preset correction data.
7. The control method for a sweeper according to claim 6, characterized in that, The target cleaning area of the sweeping robot is determined based on the second coordinate data, specifically including the following steps: The target projection point of the sweeping machine is determined based on the second coordinate data; Based on the time interval, the target projection points are continuously stored in the target projection point set; When the first acceleration data and the first coordinate data are not obtained, the target cleaning area of the sweeping machine is determined according to the target projection point set.
8. The control method for a sweeper according to claim 7, characterized in that, Determining the target projection point of the sweeping robot based on the second coordinate data specifically includes the following steps: Based on the second coordinate data, determine the horizontal coordinate value and the vertical coordinate value of the second coordinate data in the horizontal direction; The target projection point is determined based on the horizontal coordinate value and the horizontal ordinate value of the second coordinate data. Wherein, the second coordinate data is defined as (x2, y2, z2), the coordinates of the target projection point are defined as (x2, y2, a), x2 is the horizontal coordinate value of the second coordinate data on the horizontal plane, y2 is the vertical coordinate value of the second coordinate data on the horizontal plane, z2 is the vertical coordinate value of the second coordinate data, and a is any constant value greater than or equal to 0.
9. A computer storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the control method of the sweeping machine according to any one of claims 1 to 8.
10. A sweeping machine, characterized in that, include: Memory; processor; The memory stores computer execution instructions, and the processor executes the computer execution instructions stored in the memory to implement the control method of the sweeping machine as described in any one of claims 1 to 8.
