Control methods for cleaning robots and cleaning robots

By receiving pose change information and historical pose information from the controller, and combining it with visual sensors to identify and locate the light spot, the cleaning robot can determine the location to be cleaned in real time and perform corresponding actions. This solves the problem of cumbersome remote control operation and improves the intuitiveness and convenience of the cleaning robot's operation.

CN122296764APending Publication Date: 2026-06-30SHENZHEN AIBO ROBOT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHENZHEN AIBO ROBOT CO LTD
Filing Date
2026-04-09
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing cleaning robots are cumbersome to operate via remote control, have low positioning accuracy, and are difficult to control in a way that allows users to intuitively control localized cleaning.

Method used

By receiving pose change information and historical pose information from the controller, and combining it with visual sensors to identify and locate the light spot, the robot can determine the position to be cleaned in real time, and control the cleaning robot to perform movement and cleaning actions based on that position.

Benefits of technology

This enables cleaning robots to be guided directly like mops or brooms, significantly improving the intuitiveness and convenience of handling localized cleaning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122296764A_ABST
    Figure CN122296764A_ABST
Patent Text Reader

Abstract

This application discloses a control method for a cleaning robot and a cleaning robot in the field of robotics. The method includes: receiving pose change information sent by a controller; determining the position to be cleaned based on the pose change information and the controller's historical pose information; and performing movement and / or cleaning actions based on the position to be cleaned. This application continuously senses the pose changes of the controller itself and calculates the user's desired cleaning position in real time, enabling the cleaning robot to move precisely following the user's control intentions, much like being directly guided by a mop or broom, significantly improving the intuitiveness and convenience of localized cleaning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and in particular to a control method for a cleaning robot and the cleaning robot itself. Background Technology

[0002] In related technologies, cleaning robots are usually equipped with handheld remote controls. Users can control the robot to move forward, backward, turn left or right by pressing the directional buttons on the remote control, thereby guiding the robot to the area that needs to be cleaned.

[0003] However, button-based remote control is not intuitive for operating cleaning robots. Users need to mentally map the mechanical operation of the buttons to the robot's movement direction, making it difficult to achieve a natural interaction where users can simply point and sweep. In particular, when repeated and meticulous cleaning of specific stains is required, the remote control is cumbersome and has low positioning accuracy, failing to meet the user's need to directly guide the robot's movement like using a mop or broom.

[0004] The above content is only used to help understand the technical solution of this application and does not represent an admission that the above content is prior art. Summary of the Invention

[0005] The main purpose of this application is to provide a control method for a cleaning robot and a cleaning robot in order to solve the technical problems of cumbersome operation of the cleaning robot by remote control and poor cleaning effect.

[0006] To achieve the above objectives, this application provides a control method for a cleaning robot, the method comprising the following steps: Receive pose change information sent by the controller; Based on the pose change information and the historical pose information of the controller, the location to be cleaned is determined; Perform movement and / or cleaning actions based on the location to be cleaned.

[0007] In one embodiment, the step of determining the cleaning location based on the pose change information and the controller's historical pose information includes: The positioning light spot is identified by a visual sensor, and the position of the first target is determined based on the positioning light spot; Based on the pose change information and the historical pose information, the second target position pointed to by the controller is determined; The location to be cleaned is determined based on the first target location and the second target location.

[0008] In one embodiment, the step of identifying a positioning light spot using a visual sensor and determining the location of the first target based on the positioning light spot includes: Visual data is collected using a visual sensor; Extract the visual feature data from the visual data, match the visual feature data with a preset optical pattern, and determine the positioning spot based on the matching result; The location of the first target is determined based on the position information of the positioning spot in the visual data.

[0009] In one embodiment, the step of determining the second target position pointed to by the controller based on the pose change information and the historical pose information includes: Based on the pose change information, the historical pose information is recursively updated to obtain the current pose information of the controller; The pointing vector corresponding to the current pose information is spatially intersected with the current pose information of the cleaning robot to obtain the position coordinates pointed to by the controller.

[0010] In one embodiment, the step of determining the location to be cleaned based on the first target location and the second target location includes: Obtain the positional deviation value between the first target position and the second target position; If the position deviation value is greater than or equal to a preset deviation threshold, a weighted fusion calculation is performed on the first target position and the second target position to obtain the position to be cleaned; If the position deviation value is less than the preset deviation threshold, the first target position or the second target position is selected as the position to be cleaned.

[0011] In one embodiment, the step of performing a movement and / or cleaning action based on the location to be cleaned includes: Obtain the current coordinates of the cleaning robot; Calculate the planar distance and directional deviation between the current position coordinates and the position coordinates of the location to be cleaned; Based on the planar distance and the directional deviation information, linear velocity commands and angular velocity commands are generated; According to the linear velocity command and the angular velocity command, the cleaning robot is driven to move towards the position to be cleaned, so that the cleaning robot performs a cleaning action after moving to the position to be cleaned.

[0012] In one embodiment, after the step of performing the movement and / or cleaning action according to the location to be cleaned, the method further includes: Receive the cleaning end command sent by the controller; According to the cleaning end command, the historical displacement information recorded by the cleaning robot during the cleaning process is obtained, and the displacement information includes the cumulative movement path from the starting position to the current cleaning position; The reset path is determined based on the historical displacement information, and the cleaning robot is driven to move to the starting position based on the reset path.

[0013] In one embodiment, the step of performing a movement and / or cleaning action based on the location to be cleaned further includes: Obtain the area layout information of the area to be cleaned, including the location of obstacles and passable areas; Based on the area layout information, a collision-free movement path is planned from the current position of the cleaning robot to the location to be cleaned.

[0014] In one embodiment, the step of performing a movement and / or cleaning action based on the location to be cleaned further includes: Based on the control information from the controller, the current cleaning mode of the cleaning robot is determined, including sweeping mode, mopping mode, and / or sweeping and mopping combined mode. Activate the sweeping and / or mopping components corresponding to the cleaning mode; During the process of moving to the location to be cleaned or after arriving at the location to be cleaned, sweeping and / or mopping actions are performed based on the cleaning mode.

[0015] In addition, to achieve the above objectives, this application also provides a cleaning robot, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the control method for the cleaning robot as described above.

[0016] One or more technical solutions proposed in this application have at least the following technical effects: This application determines the cleaning position by receiving pose change information sent by the controller and combining it with the controller's historical pose information. Then, it controls the cleaning robot to perform movement and / or cleaning actions based on the cleaning position. By continuously sensing the pose change of the controller itself, it can calculate the cleaning position desired by the user in real time. This allows the cleaning robot to move precisely following the user's control intention, just like being directly guided by a mop or broom, significantly improving the intuitiveness and convenience of local cleaning. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating the first embodiment of the control method for the cleaning robot of this application; Figure 2 This is a schematic diagram of the structure of the cleaning robot and controller involved in the first embodiment of this application; Figure 3 This is a flowchart illustrating the second embodiment of the control method for the cleaning robot of this application; Figure 4 This is a flowchart illustrating the third embodiment of the control method for the cleaning robot of this application; Figure 5 This is a schematic diagram of the structure of a cleaning robot in the hardware operating environment involved in the embodiments of this application.

[0020] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0021] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.

[0022] To better understand the above technical solutions, the following will provide a detailed explanation of the technical solutions in conjunction with the accompanying drawings and specific implementation methods.

[0023] The main solution of this application embodiment is: receiving pose change information sent by the controller, determining the position to be cleaned based on the pose change information and the historical pose information of the controller, and performing movement and / or cleaning actions based on the position to be cleaned.

[0024] Current cleaning robots typically come with a handheld remote control. Users control the robot to move forward, backward, turn left, or turn right by pressing directional buttons on the remote, guiding it to the area that needs cleaning. However, this button-based remote control method is not intuitive for operating cleaning robots. Users need to mentally map the mechanical operation of the buttons to the robot's movement direction, making it difficult to achieve a natural, point-and-sweep interaction. Furthermore, when repeatedly and meticulously cleaning specific stains, the remote control is cumbersome and has low positioning accuracy, failing to meet the user's need to directly guide the robot like a mop or broom.

[0025] This application determines the cleaning position by receiving pose change information sent by the controller and combining it with the controller's historical pose information. Then, it controls the cleaning robot to perform movement and / or cleaning actions based on the cleaning position. By continuously sensing the pose change of the controller itself, it can calculate the cleaning position desired by the user in real time. This allows the cleaning robot to move precisely following the user's control intention, just like being directly guided by a mop or broom, significantly improving the intuitiveness and convenience of local cleaning.

[0026] To better understand the above technical solutions, exemplary embodiments of this application will be described in more detail below with reference to the accompanying drawings. Although exemplary embodiments of this application are shown in the drawings, it should be understood that this application can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided to enable a more thorough understanding of this application and to fully convey the scope of this application to those skilled in the art.

[0027] It should be noted that the executing entity in this embodiment can be a cleaning robot, or a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, or mobile phone, or an electronic device or control device for a cleaning robot capable of the above functions. This embodiment does not specifically limit the specific implementation. The following uses a cleaning robot as an example to describe this embodiment and the following embodiments.

[0028] Based on this, embodiments of this application provide a control method for a cleaning robot, referring to... Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the control method for the cleaning robot of this application.

[0029] In this embodiment, the control method of the cleaning robot includes steps S10 to S40: Step S10: Receive pose change information sent by the controller; In this embodiment, the cleaning robot is equipped with a corresponding controller. This controller contains an inertial measurement unit (IMU), which can be held by the user. By changing the position and orientation of the controller, the user can control the cleaning robot based on pose changes, enabling the robot to perform cleaning tasks according to the controller's guidance. The cleaning robot can be selected as a sweeping robot or a mopping robot, or other machine equipment with mobility and cleaning functions.

[0030] It should be noted that pose change information refers to the changes in attitude and position generated by the controller during its movement in space, specifically including angular velocity data and linear acceleration data. This information is typically obtained in real time by an IMU installed inside the controller. The IMU contains a three-axis gyroscope and a three-axis accelerometer, used to measure the angular velocity of the controller's rotation around the three coordinate axes and the linear acceleration along the three coordinate axes, respectively. The controller transmits the raw IMU data or the pre-processed changes to the cleaning robot via wireless communication protocols such as Bluetooth or Wi-Fi.

[0031] Specifically, in standby or working mode, the cleaning robot continuously activates its wireless receiving module to listen for data packets from the paired controller. When the user holds and moves the controller, the controller's internal IMU collects the current angular velocity and acceleration values ​​at a fixed sampling frequency, such as once every millisecond. The controller's internal microprocessor filters and performs temperature compensation processing on this raw data to eliminate bias and noise. The processed angular velocity and acceleration values ​​are then packaged into pose change information data frames and sent out via Bluetooth broadcast or point-to-point transmission. Upon receiving this data frame, the cleaning robot's wireless receiving module performs verification and unpacking, extracting the angular velocity change, acceleration change, and timestamp. This data is temporarily stored in memory as the current pose change information. The cleaning robot also performs time-series alignment of each received pose change with the previously received information to ensure that the data used for subsequent calculations is continuous and valid.

[0032] Optionally, the cleaning robot receives angular velocity and acceleration change data from the controller as pose change information, and simultaneously receives the timestamp corresponding to this data from the controller. The timestamp is used for timing synchronization during subsequent integration calculations. Alternatively, the cleaning robot receives displacement and angle increments from the controller after pre-integration processing within the controller. That is, the controller directly calculates the position and attitude changes since the last transmission, and the cleaning robot does not perform integration calculations; it only uses these as the final change values.

[0033] For example, such as Figure 2 As shown, Figure 2This is a schematic diagram of the cleaning robot and controller involved in this embodiment. The controller is constructed in the form of a virtual mop handle, allowing users to control it naturally, similar to holding a mop. The cleaning robot is equipped with wheels and cleaning components at its bottom, and a vision sensor is located at its top or front end. The controller integrates an inertial measurement unit and a wireless communication module. When the user moves the controller, the cleaning robot receives the controller's pose change information and follows the controller's direction to move and perform cleaning operations. In the attached diagram, the dashed arrow indicates the wireless signal transmission path between the virtual mop handle and the cleaning robot. Simultaneously, the light spot pattern projected from the front end of the controller is recognized by the cleaning robot's vision sensor for precise positioning. The overall structure embodies the design intent of allowing users to flexibly guide the robot vacuum cleaner for localized cleaning without a physical connection, much like using a mop.

[0034] Optionally, the virtual mop handle includes an optical signal transmitter that emits optical signals and maps optical patterns or positioning spots at the point of impact. These positioning spots can guide the cleaning robot to determine the cleaning location or identify obstacles using visual sensors, or they can instruct the user to identify the area to be cleaned as indicated by their current controller, facilitating robot control.

[0035] Step S20: Determine the cleaning location based on the pose change information and the controller's historical pose information; In this embodiment, historical pose information refers to the last recorded or calculated pose of the controller in space, including the controller's three-dimensional position coordinates and rotation angles in three directions: roll, pitch, and yaw. The location to be cleaned refers to the coordinates of the ground point that the user points to using the controller and wants the cleaning robot to move to perform the cleaning task. Determining the location to be cleaned requires combining the controller's current pose information with its pointing direction, considering the cleaning robot's own pose, and calculating the intersection point using spatial geometry.

[0036] Specifically, the cleaning robot internally maintains a controller pose state variable. This variable's initial value can be set to zero or obtained through a specific initialization process before the first received pose change information. Upon receiving the pose change information for the current moment, the cleaning robot reads the previous controller pose stored in memory, i.e., the historical pose information. The cleaning robot integrates the angular velocity data in the pose change information to obtain the change in the controller's attitude angle from the historical pose to the current moment, including the changes in yaw, pitch, and roll angles. Simultaneously, it performs a second integration on the acceleration data to obtain the position change. The attitude angles from the historical pose information are added to the attitude change to obtain the current attitude angle. Finally, the historical position coordinates are added to the position change to obtain the current spatial position coordinates. Thus, the current pose information of the controller is obtained.

[0037] Optionally, the cleaning robot calculates the intersection coordinates of the pointing direction vector with the ground plane, i.e., the Z=0 plane, based on the pointing direction in the current pose information of the controller. This pointing direction is usually defined as the orientation of the top of the controller or the transmitter, which is a fixed unit vector in the controller coordinate system. Combined with the cleaning robot's own current pose information, including the robot's position coordinates and orientation angle in the world coordinate system, the intersection coordinates of the pointing direction vector and the ground plane are the location to be cleaned.

[0038] Optionally, the cleaning robot uses an extended Kalman filter algorithm to fuse pose change information with historical pose information, and introduces data from visual odometry or wheel odometry to help correct integral drift, so as to obtain smoother current pose information, and then calculate the position to be cleaned.

[0039] Alternatively, the cleaning robot can also use a pure inertial recursive method to directly integrate the pose change information to obtain the current pose without introducing any external correction, and then calculate the position to be cleaned, which is suitable for short-term, high-frequency operation scenarios.

[0040] Step S30: Perform movement and / or cleaning actions according to the area to be cleaned.

[0041] In this embodiment, the cleaning robot needs to move from its current position to the location to be cleaned by driving its own walking mechanism. After arriving at the location or during the movement, it activates cleaning components such as side brushes, roller brushes, and fans to perform cleaning operations. The movement actions include path planning and motion control, and the cleaning actions include starting, stopping, or adjusting the cleaning power.

[0042] As an optional implementation, the current position coordinates of the cleaning robot are obtained, the planar distance and directional deviation information between the current position coordinates and the position coordinates of the position to be cleaned are calculated, and linear velocity commands and angular velocity commands are generated based on the planar distance and directional deviation information. Based on the linear velocity commands and angular velocity commands, the cleaning robot is driven to move towards the position to be cleaned, so that the cleaning robot performs cleaning actions after moving to the position to be cleaned.

[0043] For example, the cleaning robot obtains its current position coordinates in the world coordinate system through its own positioning system, such as visual navigation or lidar navigation. The cleaning robot calculates the planar Euclidean distance between its current position coordinates and the coordinates of the location to be cleaned, and simultaneously calculates the angular difference, i.e., the direction deviation, between its current orientation and the direction pointing to the location to be cleaned. Based on the distance, the cleaning robot uses proportional control or model predictive control algorithms to generate linear velocity commands; the greater the distance, the greater the linear velocity, but it cannot exceed the maximum safe speed. Based on the direction deviation, it generates angular velocity commands; the greater the deviation, the greater the rotational angular velocity, causing the robot to gradually align with the target point. The cleaning robot sends the linear velocity and angular velocity commands to the left and right wheel drive motors, causing the robot to move along a smooth curve towards the location to be cleaned. During the movement, the cleaning robot continuously updates its position in real time and repeats the above calculations until the position error is less than a preset threshold, such as five centimeters. Upon reaching the location to be cleaned, the cleaning robot automatically starts the cleaning motors, causing the side brushes to rotate and gather the debris, the roller brush to pat the ground, and the fan to generate negative pressure to suck in the debris. It can then perform fixed-point rotational cleaning or back-and-forth cleaning actions at that location for a preset time, such as three seconds, or until the user sends a stop command via the controller.

[0044] In one embodiment, the cleaning robot acquires the area layout information of the area to be cleaned, including the location of obstacles and passable areas, and plans a collision-free movement path from the current position of the cleaning robot to the area to be cleaned based on the area layout information.

[0045] Specifically, since cleaning robots typically operate in fixed locations, such as homes or offices, they store an environmental map of the area to be cleaned, allowing them to obtain environmental layout information. This map is stored in a grid format, with each grid marked as occupied, free, or unknown. Occupied grids correspond to obstacle locations, while free grids constitute passable areas. The robot reads its current position coordinates and the coordinates of the area to be cleaned, and then runs a path search algorithm, such as the A* algorithm or Dijkstra's algorithm, within the free grid area. The algorithm starts at the current position and ends at the cleaning location, searching the grid map for a path consisting of consecutive adjacent free grids. This path has the minimum total movement cost and does not cross any occupied grids. To ensure safe movement, the robot also applies an expansion layer around obstacles, reserving additional safety distances. After the search is complete, the robot obtains a series of waypoints. When performing movement, the robot sequentially tracks these waypoints and adjusts its linear and angular velocities in real time within each control cycle based on the deviation between the current pose and the next waypoint, thus achieving smooth and collision-free movement. If the environment changes and new obstacles appear during movement, the robot will trigger local replanning and re-execute.

[0046] Optionally, before the cleaning robot generates movement instructions based on the location to be cleaned, the robot activates its navigation module. The navigation module acquires depth data or laser point cloud data of the current frame from LiDAR or a vision sensor, and combines this with the robot's own odometry information to update the environmental map in real time using a Simultaneous Localization and Mapping (SLAM) algorithm.

[0047] As an alternative implementation, since cleaning robots typically perform cleaning tasks on flat ground, they can also construct a coordinate system based on their own position as the zero point, thereby determining the movement path without needing to obtain their current position. The cleaning robot establishes a local relative coordinate system based on its position and orientation at startup, marking the current position as the origin (0, 0) and the current orientation as the 0-degree reference direction. Then, based on the angular velocity data from the continuously received controller pose change information, the yaw angle change is integrated over time to obtain the horizontal rotation angle θ of the controller relative to the initial reference direction. This θ is the angle between the desired movement direction and the robot's initial orientation. Simultaneously, the pitch angle change is integrated over time, or the controller linear acceleration data is integrated twice to obtain the movement distance d generated by the controller along this direction in the horizontal plane. The cleaning robot combines the angle θ and the distance d into a relative movement vector in polar coordinates, and then converts it into displacement components in Cartesian coordinates: Δx = d·cosθ, Δy = d·sinθ. This determines the endpoint coordinates of the movement path starting from the origin as Δx and Δy. The cleaning robot moves along the path, constantly comparing its current position with the coordinates of the destination. When the position error is less than a preset threshold, it stops moving and performs the cleaning action.

[0048] Alternatively, the controller can also be controlled via buttons. For example, users can switch the controller's control mode and choose to control the cleaning robot via optical pattern guidance, posture guidance, or button guidance.

[0049] Optionally, to prevent confusion in the cleaning robot's commands due to user hand-held controller shaking, the cleaning robot also has a preset pose change threshold. After receiving pose change information, the pose change information is compared with the pose change threshold. If the pose change information is greater than the pose change threshold, it is judged as a false command, and the corresponding movement action is not executed.

[0050] Optionally, the cleaning robot receives pose change information sent by the controller at multiple consecutive moments, determines multiple cleaning positions accordingly, records the multiple cleaning positions in chronological order to form a guide trajectory, receives reciprocating cleaning instructions sent by the controller, and controls the cleaning robot to move backward along the guide trajectory from the current cleaning position to the starting position, and then moves forward along the guide trajectory to the end position, repeating the above reciprocating movement process while performing cleaning actions.

[0051] Optionally, the cleaning robot can also determine the current cleaning mode based on the control information from the controller. This cleaning mode includes sweeping, mopping, and / or a combined sweeping and mopping mode. The cleaning robot will activate the sweeping and / or mopping components corresponding to the cleaning mode, performing sweeping and / or mopping actions based on the cleaning mode while moving to or after reaching the cleaning location. The sweeping components may include side brushes, roller brushes, and / or dust collection fans to gather debris and suck it into the dustbin. The mopping components may include a mop holder, mop, and / or a water supply device for wet mopping. In the combined sweeping and mopping mode, the cleaning robot simultaneously activates both the sweeping and mopping components to achieve simultaneous sweeping and mopping of the designated area. Users can preset the cleaning mode via the controller or application. The cleaning robot automatically switches the corresponding cleaning components as it follows the user's direction, simulating the effects of a traditional mop, broom, or a combination of both.

[0052] This application embodiment receives pose change information sent by the controller and combines it with the controller's historical pose information to determine the position to be cleaned. Then, based on the position to be cleaned, it controls the cleaning robot to perform movement and / or cleaning actions. By continuously sensing the pose changes of the controller itself, it can calculate the cleaning position desired by the user in real time, so that the cleaning robot can move accurately following the user's control intention, just like being directly guided by a mop or broom. This significantly improves the intuitiveness and convenience of local cleaning.

[0053] Based on the same inventive concept, this application also provides a second embodiment, referring to... Figure 3 , Figure 3 This is a flowchart illustrating the second embodiment of the control method for the cleaning robot of this application.

[0054] In this embodiment, the control method for the cleaning robot further includes steps S11 to S13: Step S11: Identify the positioning light spot using a visual sensor, and determine the position of the first target based on the positioning light spot; In this embodiment, the vision sensor refers to an optical imaging device installed on the cleaning robot, typically a monocular or binocular camera, capable of capturing visible or infrared light images of the environment. The positioning spot refers to a specific pattern or point of light projected onto the ground by a light emitter on the controller. This spot can be a dot, a crosshair, a grid, or a structured light pattern with coded information. The cleaning robot uses image processing algorithms to detect and locate the pixel coordinates of this spot in the image coordinate system from the acquired images. Then, combining the camera's intrinsic and extrinsic parameters, it converts these pixel coordinates into position coordinates in the ground physical coordinate system, i.e., the first target position. This first target position is the ground position coordinates obtained by the robot through analysis by the vision sensor, guided by the controller based on the positioning spot.

[0055] In one embodiment, the cleaning robot collects visual data through a visual sensor, extracts visual feature data from the visual data, matches the visual feature data with a preset optical pattern, determines a positioning spot based on the matching result, and determines a first target position based on the position information of the positioning spot in the visual data.

[0056] Specifically, before or simultaneously with receiving pose change information from the controller, the cleaning robot continuously activates its vision sensor to acquire image data of the ground area at a fixed frame rate, such as 30 frames per second. The acquired raw images are first preprocessed, including noise reduction, white balance adjustment, and exposure compensation, to improve the contrast between the light spots and the background. The cleaning robot's built-in image processing module then executes a light spot detection algorithm on each frame. If the light spot is a single color, such as a red laser point, the algorithm extracts the red region through color thresholding and then calculates the centroid of the region as the center of the light spot. If the light spot has a specific geometric shape or a coded pattern, the algorithm uses template matching or feature point detection methods such as SIFT or ORB to match local features in the image with pre-stored reference patterns. After a successful match, the precise position of the light spot in the image is obtained. After obtaining the image coordinates of the light spot, the cleaning robot calls a pre-calibrated camera model, which includes the focal length, principal point coordinates, distortion coefficients, and the installation angle and height of the camera relative to the cleaning robot's body coordinate system. Through inverse perspective transformation, the image coordinates are mapped to physical coordinates on the ground plane, which are the first target positions. The cleaning robot can perform temporal filtering, such as Kalman filtering, on the first target position in multiple consecutive frames to eliminate jitter noise from single-frame detection.

[0057] In one example, the visual sensor is an infrared camera, and the positioning spot is an infrared structured light pattern, which consists of multiple parallel lines or random dots. The cleaning robot uses a structured light decoding algorithm to directly calculate the three-dimensional coordinates of the ground in the area where the spot is projected from the deformation of the pattern, without the need for additional inverse perspective transformation, thus obtaining a more accurate first target location.

[0058] In another example, the visual sensor is a wide-angle fisheye camera, and the positioning spot is a visible light crosshair. The cleaning robot first corrects the distortion of the fisheye image, then uses Hough transform to detect the two straight lines of the crosshair, takes the intersection point as the center of the spot, and finally maps the corrected pixel coordinates to ground coordinates using a lookup table.

[0059] For example, such as Figure 2 As shown, the controller configured as a virtual mop handle has an optical signal transmitter at its bottom, which emits optical signals such as infrared rays and maps these optical signals onto the ground as an optical pattern.

[0060] Step S22: Determine the position of the second target pointed to by the controller based on the pose change information and historical pose information; In this embodiment, the controller pointing refers to the direction determined by the controller's attitude in space, typically the direction of the top of the controller or the optical axis of the light emitter. The second target position refers to the ground position coordinates calculated by recursively obtaining the controller's spatial pose based solely on its own inertial measurement unit (IMU) data, combined with the intersection of the controller pointing direction and the ground plane. This process does not rely on visual information.

[0061] Optionally, the cleaning robot recursively updates the historical pose information based on the pose change information to obtain the current pose information of the controller. The pointing vector corresponding to the current pose information is then spatially intersected with the current pose information of the cleaning robot to obtain the position coordinates pointed to by the controller.

[0062] For example, the cleaning robot maintains the latest pose state of the controller in memory, including position coordinates and attitude angles. Upon receiving new pose change information, the cleaning robot first reads the previously saved historical pose information. The pose change information includes angular velocity data and acceleration data. The cleaning robot integrates the three-axis angular velocity data to obtain the change in attitude angle from the historical moment to the current moment, calculates the changes in roll angle, pitch angle, and yaw angle respectively, and adds them to the historical attitude angles to obtain the current attitude angle. The three-axis acceleration data is integrated once to obtain the velocity change, and twice to obtain the position change, which is added to the historical position coordinates to obtain the current spatial position coordinates. It should be noted that acceleration integration will produce drift, but the relative changes over a short period of time are sufficiently accurate. After obtaining the current pose of the controller, the cleaning robot determines the controller's pointing vector. This pointing vector is fixed and known in the controller's body coordinate system, for example, along the positive Y-axis direction of the controller. The cleaning robot rotates this pointing vector from the controller's body coordinate system to the world coordinate system, with the rotation matrix consisting of the current attitude angles. After obtaining the pointing vector in the world coordinate system, the cleaning robot knows the starting point of this vector, which is the current position coordinate of the controller. It needs to calculate the intersection point of this ray with the ground plane, i.e., the Z=0 plane. Let the controller position be Pc, the pointing vector be V, and the ground equation be Z=0. Then the parameter t satisfies Pc_z + t*V_z = 0, solving for t = -Pc_z / V_z. The intersection point coordinates, i.e., the second target position, are then Pc + t*V. If V_z is zero or close to zero, meaning the controller is pointing horizontally, it cannot intersect the ground. In this case, a preset distant point can be chosen, or the previous target position can be maintained.

[0063] Alternatively, the cleaning robot does not directly use the position change obtained by acceleration integration, but only uses the attitude change obtained by angular velocity integration. It also combines the ultrasonic sensor or laser rangefinder on the controller to measure the height of the controller from the ground, and uses geometric relationships to calculate the position of the second target, thereby improving the accuracy in the vertical direction.

[0064] Optionally, the cleaning robot uses a quaternion-based pose update algorithm instead of Euler angle integration to avoid gimbal lock problems, and uses pre-integration technology to process multi-pose change information in batches to reduce single integration error, and calculates the position of the second target after obtaining a more stable current pose.

[0065] Step S23: Determine the location to be cleaned based on the first target location and the second target location.

[0066] In this embodiment, to avoid positioning drift caused by gyroscope or vision sensor after long-term use and to ensure the accuracy and stability of cleaning, the cleaning robot can comprehensively consider the first target position and the second target position to determine the actual position to be cleaned.

[0067] Specifically, the cleaning robot will obtain the positional deviation value between the first target position and the second target position. If the positional deviation value is greater than or equal to a preset deviation threshold, the first target position and the second target position will be weighted and fused to obtain the position to be cleaned. If the positional deviation value is less than the preset deviation threshold, the first target position or the second target position will be selected as the position to be cleaned.

[0068] In one optional implementation, if the position deviation value is greater than or equal to a preset deviation threshold, the robot can use a weighted summation method to calculate the position to be cleaned.

[0069] Specifically, confidence weights are calculated for the first and second target positions respectively. The confidence weight for the first target position is determined by the visual detection quality, specifically calculated in real time based on parameters such as the contrast between the light spot and the background, the size of the light spot area, and the reciprocal of the inter-frame consistency variance of the detection results, with a value ranging from zero to one. The confidence weight for the second target position is determined by the drift estimation of the inertial recursion, specifically calculated based on the accumulated time or integral displacement since the last effective visual correction. The shorter the accumulated time, the higher the weight; if the accumulated time exceeds a preset threshold, such as five seconds, the weight gradually decreases. After normalizing the two weights, the cleaning robot performs a weighted summation of the coordinates of the first and second target positions to obtain the position to be cleaned. At the same time, the cleaning robot also uses the weighted fusion result to perform zero-speed correction or drift reset on the recursion process of the second target position. That is, when the confidence of the first target position is higher than the high threshold, the current fusion result is used as the new starting point for the inertial recursion, thereby suppressing subsequent integral drift. Example: In the current frame, the visual detection contrast is high. The weight of the first target position is 0.9, and the weight of the second target position, which has a smaller integral drift, is 0.1. The weighted fusion yields cleaning positions of 0.51 meters and 0.61 meters, which are very close to the first target positions of 0.5 meters and 0.6 meters. When the user quickly moves the controller to a dark area, the visual contrast decreases. The weight of the first target position drops to 0.3, and the weight of the second target position increases to 0.7. At this point, the cleaning position relies more on the inertial recursive result.

[0070] In another implementation, the robot can select the first target position obtained by the visual sensor or the second target position obtained by the posture change information as the cleaning position based on a preset priority.

[0071] For example, the cleaning robot first determines whether the vision sensor has successfully identified the positioning spot and calculated a valid first target position. This determination is based on factors such as whether the vision sensor outputs valid coordinate values ​​in the most recent frame, whether the spot detection confidence level is higher than a preset high threshold (e.g., greater than 80%), and whether the detection results across multiple consecutive frames are stable. If the first target position is valid and the confidence level meets the requirements, the cleaning robot directly determines the first target position as the cleaning location, completely ignoring the current second target position. This is because when vision is valid, the spot position directly reflects the user's intention and there is no cumulative error, while the second target position may have drifted. If the first target position is invalid, for example, if the user points the controller under the sofa, strong light shines directly on the ground making the spot invisible, or the vision sensor is obstructed by dust, the cleaning robot then uses the second target position as the cleaning location to ensure that control can continue.

[0072] Optionally, the cleaning robot can also recalibrate its position analysis by expanding the scope or improving the accuracy of visual analysis to avoid positioning drift. When the deviation between the first target position and the second target position exceeds a preset deviation threshold, the cleaning robot does not directly fuse or switch positions. Instead, it actively expands the region of interest of the visual sensor to search for preset markers in the environment within a larger field of view. These markers include, but are not limited to, feature patterns on the controller, markings on the base station, or QR codes on the ground. If a preset marker is found, the cleaning robot uses the known absolute coordinates of the marker and pre-stored environmental information to jointly calibrate the current first and second target positions and recalculate the position to be cleaned. If no marker is found, the cleaning robot temporarily improves the accuracy of its visual analysis, for example, by enabling a super-resolution algorithm or increasing the image acquisition frame rate, to achieve sub-pixel-level precise positioning of the positioning spot, and uses the optimized first target position as the position to be cleaned. This method, through active calibration rather than passive fusion, fundamentally reduces the system deviation between the two types of position information.

[0073] Optionally, the cleaning robot receives current attitude angle information sent by the controller, which includes at least the yaw angle, obtains the current orientation angle of the cleaning robot, generates a steering control command based on the angular deviation between the yaw angle and the current orientation angle, drives the cleaning robot to rotate according to the steering control command, so that the forward direction of the cleaning robot is consistent with the pointing direction of the controller, and moves towards the position to be cleaned while maintaining the consistent direction.

[0074] Optionally, the cleaning robot also simulates the physical control experience of a traditional mop handle. A traditional mop handle and mop head have a rigid connection; when the user pushes or pulls the handle, the mop head follows the direction of movement and its speed is roughly synchronized with the handle's movement. This solution establishes a rigid mapping relationship between the controller's movement speed and the cleaning robot's following speed, making the cleaning robot appear as if connected by an invisible rigid rod, following the controller's movement and direction in real time and synchronously. Users do not need to learn any button mappings to obtain the natural feeling of "pushing the robot."

[0075] Specifically, the cleaning robot acquires the real-time movement speed vector of the controller, which includes the horizontal movement speed and the rate of change of direction. Based on the movement speed vector, a following speed vector of the cleaning robot is generated according to a preset rigid mapping relationship, so that the movement speed of the cleaning robot in the horizontal plane is proportional to the horizontal movement speed of the controller, and the movement direction is consistent with the pointing direction of the controller. The yaw angle change rate of the controller is acquired, and the rotational angular velocity of the cleaning robot is generated based on the yaw angle change rate, so that the forward direction of the cleaning robot tracks the yaw angle change of the controller in real time.

[0076] Optionally, when the user holds the controller still in a stained area, this solution automatically switches the robot to a reciprocating oscillating cleaning mode, simulating the back-and-forth mopping motion of a human hand. This allows for repeated wiping of stubborn stains, overcoming the limitations of existing robotic vacuum cleaners that can only rotate in place or pass through once during spot cleaning, significantly improving local cleaning effectiveness and user experience. When the controller's horizontal movement speed is zero and the duration exceeds a preset time threshold, the cleaning robot performs a reciprocating oscillating cleaning motion at the current cleaning location. This reciprocating oscillating cleaning motion includes moving back and forth along the direction the controller last pointed, with the amplitude and frequency of the back-and-forth movement simulating the operation mode of a handheld mop handle performing localized reciprocating mopping.

[0077] Since the system described in Embodiment 2 of this application is a system used to implement the method of Embodiment 1 of this application, those skilled in the art can understand the specific structure and variations of the system based on the method described in Embodiment 1 of this application, and therefore will not be described again here. All systems used in the method of Embodiment 1 of this application fall within the scope of protection of this application.

[0078] Based on the same inventive concept, this application also provides a third embodiment, referring to... Figure 4 , Figure 4 This is a flowchart illustrating the third embodiment of the control method for the cleaning robot of this application.

[0079] In this embodiment, the control method for the cleaning robot further includes steps S41-S43: Step S41: Receive the cleaning end command sent by the controller; Step S42: According to the cleaning end command, obtain the historical displacement information recorded by the cleaning robot during the cleaning process. The displacement information includes the cumulative movement path from the starting position to the current cleaning position. Step S43: Determine the reset path based on the historical displacement information, and drive the cleaning robot to move to the starting position based on the reset path.

[0080] In this embodiment, after completing the movement and cleaning actions at the designated cleaning location, the cleaning robot further responds to the cleaning end command issued by the user through the controller. The cleaning end command is a command signal sent wirelessly to the robot by the controller after the user presses the "End" or "Return to Charge" button on the controller, indicating that the user wishes to terminate the current local cleaning task. Historical displacement information refers to a series of relative displacement increments recorded and stored in real time by the cleaning robot as it moves following the controller's direction from its starting position at the beginning of the task. These increments accumulate to form a complete movement trajectory from the starting point to the current stopping position. The reset path is a reverse path of equal length but opposite direction to the accumulated movement path, allowing the robot to return to the starting point along the original path.

[0081] Specifically, the cleaning robot continuously maintains a displacement record buffer during each movement and / or cleaning action based on the location to be cleaned. Each time the robot moves a step, such as after receiving a control command cycle or moving one centimeter, its internal odometry or visual odometry module calculates the displacement vector from the previous position to the current position, including distance and orientation angle, and pushes this displacement vector into a first-in-first-out queue in chronological order. This queue is initially empty, with the starting position being the position where the robot left the base station or when the user manually started the task. As the robot continuously moves to multiple locations to be cleaned following the controller's direction, the queue accumulates complete movement path information. When the cleaning robot receives a cleaning end command from the controller via its wireless receiver module, it immediately pauses its current movement and cleaning actions. The robot reads all stored displacement vectors from the displacement record queue, retrieving them one by one in reverse order from nearest to farthest. For each reverse displacement vector, the robot rotates its orientation angle by 180 degrees and drives the left and right wheel motors to move according to the distance of that reverse vector, passing through each intermediate point on the original path in sequence, and finally returning to the starting position. During the reset process, the robot can choose not to activate the cleaning components to conserve power. After reaching the starting position, the robot clears the displacement recording queue and enters standby or automatically returns to the base station.

[0082] Optionally, the invisible mop handle can activate the machine to start sweeping or mopping. After activation, the machine leaves the base station to perform cleaning operations.

[0083] Since the system described in Embodiment 3 of this application is a system used to implement the method of Embodiment 1 of this application, those skilled in the art can understand the specific structure and variations of the system based on the method described in Embodiment 1 of this application, and therefore will not be described again here. All systems used in the method of Embodiment 1 of this application fall within the scope of protection of this application.

[0084] This application provides a cleaning robot, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, which are executed by the at least one processor to enable the at least one processor to perform the control method of the cleaning robot in the first embodiment described above.

[0085] The following is for reference. Figure 5 The diagram illustrates a structural schematic suitable for implementing the cleaning robot of the embodiments of this application. The cleaning robot in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The cleaning robot shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments of this application.

[0086] like Figure 5The cleaning robot may include a processing unit 1001 (e.g., a core processor, graphics processor, etc.) that can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage device 1003 into a random access memory (RAM) 1004. The RAM 1004 also stores various programs and data required for the operation of the cleaning robot. The processing unit 1001, the ROM 1002, and the RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touchscreen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, magnetic tape, hard disk, etc.; and communication devices 1009. The communication device 1009 allows the cleaning robot to communicate wirelessly or wiredly with other devices to exchange data. While the figure shows a cleaning robot with various systems, it should be understood that implementing or having all of the systems shown is not required. More or fewer systems may be implemented alternatively.

[0087] Specifically, according to the embodiments disclosed in this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments disclosed in this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods described in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from storage device 1003, or installed from read-only memory 1002. When the computer program is executed by processing device 1001, it performs the functions defined in the methods of the embodiments disclosed in this application.

[0088] The cleaning robot provided in this application, employing the control method of the cleaning robot in the above embodiments, can solve the technical problems of cumbersome operation and poor cleaning effect of cleaning robots via remote control. Compared with the prior art, the beneficial effects of the cleaning robot provided in this application are the same as those of the control method of the cleaning robot provided in the above embodiments, and other technical features of this cleaning robot are the same as those disclosed in the previous embodiment method, and will not be repeated here.

[0089] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any suitable manner in one or more embodiments or examples.

[0090] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0091] This application provides a computer-readable storage medium having computer-readable program instructions (i.e., a computer program) stored thereon, the computer-readable program instructions being used to execute the control method of the cleaning robot in the above embodiments.

[0092] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, system, or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, radio frequency (RF), etc., or any suitable combination thereof.

[0093] The aforementioned computer-readable storage medium may be included in the cleaning robot; or it may exist independently and not be assembled into the cleaning robot.

[0094] The aforementioned computer-readable storage medium carries one or more programs that, when executed by the cleaning robot, cause the cleaning robot to: receive pose change information sent by the controller, determine the position to be cleaned based on the pose change information and the controller's historical pose information, and perform movement and / or cleaning actions based on the position to be cleaned.

[0095] Computer program code for performing the operations of this application can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0096] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0097] The modules described in the embodiments of this application can be implemented in software or hardware. The names of the modules do not necessarily limit the functionality of the unit itself.

[0098] The readable storage medium provided in this application is a computer-readable storage medium that stores computer-readable program instructions (i.e., computer programs) for executing the control method of the cleaning robot described above. This solves the technical problems of cumbersome operation and poor cleaning effect of cleaning robots via remote control. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in this application are the same as those of the control method of the cleaning robot provided in the above embodiments, and will not be repeated here.

[0099] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. A control method for a cleaning robot, characterized in that, The method includes the following steps: Receive pose change information sent by the controller; Based on the pose change information and the historical pose information of the controller, the location to be cleaned is determined; Perform movement and / or cleaning actions based on the location to be cleaned.

2. The control method for the cleaning robot as described in claim 1, characterized in that, The step of determining the cleaning location based on the pose change information and the controller's historical pose information includes: The positioning light spot is identified by a visual sensor, and the position of the first target is determined based on the positioning light spot; Based on the pose change information and the historical pose information, the second target position pointed to by the controller is determined; The location to be cleaned is determined based on the first target location and the second target location.

3. The control method for the cleaning robot as described in claim 2, characterized in that, The step of identifying a positioning light spot using a visual sensor and determining the position of the first target based on the positioning light spot includes: Visual data is collected using a visual sensor; The visual feature data of the visual data is extracted and matched with a preset optical pattern. The positioning spot is determined based on the matching result. The location of the first target is determined based on the position information of the positioning spot in the visual data.

4. The control method for the cleaning robot as described in claim 2, characterized in that, The step of determining the second target position pointed to by the controller based on the pose change information and the historical pose information includes: Based on the pose change information, the historical pose information is recursively updated to obtain the current pose information of the controller; The pointing vector corresponding to the current pose information is spatially intersected with the current pose information of the cleaning robot to obtain the position coordinates pointed to by the controller.

5. The control method for the cleaning robot as described in claim 2, characterized in that, The step of determining the location to be cleaned based on the first target location and the second target location includes: Obtain the positional deviation value between the first target position and the second target position; If the position deviation value is greater than or equal to a preset deviation threshold, a weighted fusion calculation is performed on the first target position and the second target position to obtain the position to be cleaned; If the position deviation value is less than the preset deviation threshold, the first target position or the second target position is selected as the position to be cleaned.

6. The control method for the cleaning robot as described in claim 1, characterized in that, The step of performing movement and / or cleaning actions based on the location to be cleaned includes: Obtain the current coordinates of the cleaning robot; Calculate the planar distance and directional deviation between the current position coordinates and the position coordinates of the location to be cleaned; Based on the planar distance and the directional deviation information, linear velocity commands and angular velocity commands are generated; According to the linear velocity command and the angular velocity command, the cleaning robot is driven to move towards the position to be cleaned, so that the cleaning robot performs a cleaning action after moving to the position to be cleaned.

7. The control method for the cleaning robot as described in claim 1, characterized in that, After the step of performing movement and / or cleaning actions based on the location to be cleaned, the method further includes: Receive the cleaning end command sent by the controller; According to the cleaning end command, the historical displacement information recorded by the cleaning robot during the cleaning process is obtained, and the displacement information includes the cumulative movement path from the starting position to the current cleaning position; The reset path is determined based on the historical displacement information, and the cleaning robot is driven to move to the starting position based on the reset path.

8. The control method for the cleaning robot as described in claim 1, characterized in that, The step of performing movement and / or cleaning actions based on the location to be cleaned further includes: Obtain the area layout information of the area to be cleaned, including the location of obstacles and passable areas; Based on the area layout information, a collision-free movement path is planned from the current position of the cleaning robot to the location to be cleaned.

9. The control method for the cleaning robot as described in claim 1, characterized in that, The step of performing movement and / or cleaning actions based on the location to be cleaned further includes: Based on the control information from the controller, the current cleaning mode of the cleaning robot is determined, including sweeping mode, mopping mode, and / or sweeping and mopping combined mode. Activate the sweeping and / or mopping components corresponding to the cleaning mode; During the process of moving to the location to be cleaned or after arriving at the location to be cleaned, sweeping and / or mopping actions are performed based on the cleaning mode.

10. A cleaning robot, characterized in that, The cleaning robot includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, the computer program being configured to implement the steps of the control method for the cleaning robot as described in any one of claims 1 to 9.