Edge cleaning robot

Through the judgment and adjustment of point cloud data of depth cameras, the problem of insufficient accuracy and high cost of edge cleaning robot wall recognition in the prior art is solved, and high-precision and low-cost edge cleaning effect is achieved.

CN119157424APending Publication Date: 2024-12-20SHENZHEN GUANGJIAN TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411283889.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-13
Publication Date
2024-12-20

AI Technical Summary

Technical Problem

In the existing edge cleaning robot technology, multi-sensor fusion solutions cause wall damage and high cost, while the wall recognition accuracy of path planning solutions is insufficient, resulting in poor cleaning results.

Method used

Use point cloud data of depth cameras to accurately judge the distance and direction of the robot to the wall, and adjust the direction of the robot during the travel process to ensure that the cleaning is close to the wall, and the steps of calibration between the depth camera and the robot and the controller processing Steps to achieve high-precision edge cleaning.

Benefits of technology

It achieves low-cost and high-precision edge cleaning effect, avoids wall damage and direction deviation, and adapts to various wall conditions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119157424A_ABST
    Figure CN119157424A_ABST
Patent Text Reader

Abstract

The invention discloses an edge cleaning robot which is characterized by comprising a body, the depth camera is located at the front end of the body and used for obtaining point cloud in a view field; the moving part is used for driving the robot to move forwards or rotate; and the controller is used for judging whether a first wall surface exists or not according to the point cloud, when the first wall surface exists, enabling the robot to be close to the first wall surface, rotating to be parallel to the first wall surface, starting cleaning, and correcting the advancing direction according to the direction of an adjacent frame. The distance and the direction between the robot and the wall are accurately judged only by using the point cloud of the depth camera, the direction of the sweeping robot is adjusted in the advancing process, it is guaranteed that the sweeping robot is always close to the wall, and a very good edge sweeping effect is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of sweeping robots, and in particular to an edge cleaning robot. Background Art

[0002] Edge cleaning refers to measuring the distance to the wall to obtain the relative posture information between the wall and the robot vacuum cleaner, so as to accurately control the robot vacuum cleaner so that it can clean as close to the wall as possible. The wall is near the intersection of the first wall and the ground. The first wall can generally be considered as a plane and perpendicular to the ground. Edge cleaning of the wall requires a very accurate estimation of the relative posture between the robot vacuum cleaner and the first wall and the ground. The robot must fit the first wall very closely (the edge is within 2 cm of the wall), but it must not rub against the first wall.

[0003] In the prior art, there are mainly two solutions: multi-sensor fusion and path planning. For the multi-sensor fusion solution, solutions such as laser radar and collision sensors are used, and the data of the collision sensor is used to determine whether there is contact with the wall. This solution has the advantages of accurate and reliable data, but it also causes problems such as damage and dirt to the wall, and the cost is relatively high. For the path planning solution, SLAM mapping is used to enable overall recognition of the edge of the wall, and normal cleaning can be performed when approaching the wall. This solution has the advantage of a simple solution, but the recognition accuracy of the wall is insufficient and the precision is poor, resulting in poor cleaning effect.

[0004] The disclosure of the above background technology content is only used to assist in understanding the inventive concept and technical solution of the present invention. It does not necessarily belong to the prior art of this patent application. In the absence of clear evidence that the above content has been disclosed on the filing date of this patent application, the above background technology should not be used to evaluate the novelty and creativity of the present application. Summary of the invention

[0005] To this end, the present invention only uses the point cloud of the depth camera to accurately determine the distance and direction between the robot and the wall, and adjusts the direction of the sweeping robot during movement to ensure that the cleaning distance is always close to the wall, with a very good edge cleaning effect.

[0006] The present invention provides a robot for cleaning edges, characterized in that it comprises:

[0007] ontology;

[0008] A depth camera, located at the front end of the body, for obtaining a point cloud within the field of view;

[0009] Moving parts, used to drive the robot to move forward or rotate;

[0010] The controller is used to determine whether there is a first wall surface according to the point cloud, and when there is a first wall surface, make the robot approach the first wall surface, rotate to be parallel to the first wall surface, start cleaning, and correct the forward direction according to the direction of the adjacent frame.

[0011] Optionally, the edge cleaning robot is characterized in that the step of calibrating the depth camera and the robot comprises:

[0012] Step M1: Control the robot to move to a first position, a second position and a third position in a straight line in sequence, and record point cloud data packets respectively; wherein the distances between the first position, the second position and the third position are known;

[0013] Step M2: Relative pose transformation of the start and end points of the point cloud data packet according to the point cloud computing

[0014] Step M3: Calculate the motion trajectory

[0015] Step M4: According to the formula Get the external parameters of the depth camera and the robot

[0016] Optionally, the edge cleaning robot is characterized in that the processing steps of the controller include:

[0017] Step S1: judging whether there are obstacles and a first wall according to the point cloud acquired by the depth camera;

[0018] Step S2: If the first wall exists, driving the moving component to make the robot approach the first wall, rotating to be parallel to the first wall, and starting cleaning;

[0019] Step S3: Correct the forward direction according to the direction of the adjacent frames.

[0020] Optionally, the edge cleaning robot is characterized in that step S1 comprises:

[0021] Step S11: obtaining a point cloud of a depth camera, and using the external parameters of the depth camera and the robot to transform the point cloud into a robot coordinate system;

[0022] Step S12: traverse all points of the point cloud and mark points in a first area and a second area; wherein the first area is the area directly in front of the robot; and the second area is the area to the side of the robot;

[0023] Step S13: filtering out point clouds outside the first area and the second area;

[0024] Step S14: Screen the second area to obtain a main plane, and calculate the normal vector of the main plane Determine whether it is consistent with the ground normal vector [0,0,1] T Vertical; if vertical, and the highest point of the point cloud of the main plane is greater than the preset height, the main plane is marked as the first wall; otherwise, the main plane is marked as an obstacle.

[0025] Optionally, the edge cleaning robot is characterized in that step S2 comprises:

[0026] Step S21: In the robot coordinate system, according to the first wall normal vector and [1,0,0] T Calculate the angle θ;

[0027] Step S22: rotating the robot by θ so that the front direction in the robot coordinate system is perpendicular to the first wall, and controlling the robot to move straight toward the first wall;

[0028] Step S23: Calculate the average depth of the point cloud in the first area. If the average depth is not greater than a preset depth, control the robot to stop moving forward, rotate 90 degrees on the spot, and start cleaning.

[0029] Optionally, the edge cleaning robot is characterized in that step S3 comprises:

[0030] Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector

[0031] Step S32: Calculation and [1,0,0] T The angle β is taken as an example, and based on the angle β, the angle θ1 that the robot needs to adjust is calculated.

[0032] Optionally, the edge cleaning robot is characterized in that step S3 comprises:

[0033] Step S33: extracting the first wall surface;

[0034] Step S34: Calculate the first wall normal vector

[0035] Step S35: Calculation and [1,0,0] T The angle α is taken as an angle, and based on the angle α, the angle θ2 that the robot needs to adjust is calculated.

[0036] Optionally, the edge cleaning robot is characterized in that step S3 comprises:

[0037] Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector

[0038] Step S32: Calculation and [1,0,0] T and calculating the angle θ1 that the robot needs to adjust according to the angle β;

[0039] Step S33: extracting the first wall surface;

[0040] Step S34: Calculate the first wall normal vector

[0041] Step S35: Calculation and [1,0,0] T and calculating the angle θ2 that the robot needs to adjust according to the angle α;

[0042] Step S36: Output the robot adjustment angle by taking the weighted average of θ1 and θ2

[0043] Optionally, the edge cleaning robot is characterized in that, in step S3, if a second wall is found in the first area, when the robot approaches the second wall, it rotates to be parallel to the second wall and faces away from the first wall to continue cleaning; wherein, the first area is the area directly in front of the robot.

[0044] Optionally, the edge cleaning robot is characterized in that when the point cloud depth on the center line of the depth camera is When , stop moving forward and rotate the robot; wherein h is the preset depth, and γ is the angle between the second wall and the normal of the depth camera.

[0045] Compared with the prior art, the present invention has the following beneficial effects:

[0046] The present invention only uses the point cloud provided by the depth camera and does not require any other equipment to complete high-precision control of the sweeper. It is low-cost, easy to use, and has high precision. It can cooperate with the sweeping robot to perform high-precision edge cleaning on the wall.

[0047] The present invention timely adjusts the traveling direction of the robot during the cleaning process, can prevent direction deviation caused by slipping, etc., and has good adaptability to various situations such as the existence of curved walls. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings in the following descriptions are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without creative work. By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, purposes and advantages of the present invention will become more obvious:

[0049] Figure 1 This is a schematic diagram of the structure of a side cleaning robot according to an embodiment of the present invention;

[0050] Figure 2 This is a flowchart of the steps of calibrating a depth camera and a robot in an embodiment of the present invention;

[0051] Figure 3 is a flow chart of processing steps of a controller in an embodiment of the present invention;

[0052] Figure 4 A top view of a robot in an embodiment of the present invention;

[0053] Figure 5 A plan view of a robot in an embodiment of the present invention;

[0054] Figure 6 This is a schematic diagram of the positional relationship between a first wall, a second wall and a robot in an embodiment of the present invention;

[0055] Figure 7 This is a flowchart of a step of determining an obstacle and a first wall in an embodiment of the present invention;

[0056] Figure 8 This is a schematic diagram of a first area and a second area in an embodiment of the present invention;

[0057] Fig. 9 A flowchart of the steps for starting cleaning in an embodiment of the present invention;

[0058] Fig.10 This is a flowchart of steps for correcting the forward direction of a robot in an embodiment of the present invention;

[0059] Fig.11 This is another flowchart of steps for correcting the forward direction of the robot in an embodiment of the present invention;

[0060] Fig.12 A flow chart of the steps for correcting the forward direction of a robot in an embodiment of the present invention.

[0061] 1- Depth camera;

[0062] 2- Robot;

[0063] 3- First area;

[0064] 4- Second area;

[0065] 5- Moving parts;

[0066] 6- Controller;

[0067] 7- First wall;

[0068] 8- Second wall; DETAILED DESCRIPTION

[0069] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several variations and improvements may be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

[0070] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein, for example, can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0071] An embodiment of the present invention provides a side cleaning robot, which is intended to solve the problems existing in the prior art.

[0072] The following specific embodiments are used to describe in detail the technical solutions of the present invention and how the technical solutions of the present application solve the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.

[0073] The present invention only uses the point cloud of the depth camera to accurately determine the distance and direction between the robot and the wall, and adjusts the direction of the sweeping robot during movement to ensure that the cleaning distance is always close to the wall, with a very good edge cleaning effect.

[0074] The robots in this manual refer to various robots with edge cleaning functions, such as sweeping robots and cleaning robots.

[0075] Figure 1 FIG. 1 is a schematic diagram of the structure of a robot for cleaning edges according to an embodiment of the present invention. Figure 1 As shown, an edge cleaning robot in an embodiment of the present invention includes:

[0076] Ontology 0.

[0077] Specifically, the body is the main part of the cleaning robot and the basic structure, integrating all necessary hardware and software components, including but not limited to batteries, circuit boards, sensors, motors, etc. As the main frame of the robot, the body carries all other components and provides a foundation for their installation and support. It is usually made of sturdy materials to protect internal components from damage.

[0078] The depth camera 1 is located at the front end of the body and is used to obtain a point cloud within the field of view.

[0079] Specifically, it is located at the front end of the robot body and is usually installed at a certain height and angle so that it can capture environmental information in front and on the sides. The depth camera calculates the distance between the object in the field of view and the camera by emitting and receiving infrared or laser beams, thereby generating a three-dimensional point cloud map. These point cloud data provide the robot with detailed information about the shape, size and position of the environment, and are an important basis for the robot to navigate and identify obstacles.

[0080] The moving component 5 is used to drive the robot to move forward or rotate.

[0081] Specifically, the moving parts are responsible for driving the robot to move forward, backward, rotate, etc., and usually include multiple drive wheels (or tracks), steering motors, and corresponding transmission mechanisms. Under the command of the controller, the robot can be flexibly moved and precisely positioned by adjusting the speed and direction of different drive wheels. In addition, the moving parts also have a certain degree of climbing ability and obstacle crossing ability to meet the needs of different application scenarios.

[0082] The controller 6 is used to determine whether there is a first wall surface according to the point cloud, and when there is a first wall surface, make the robot approach the first wall surface, rotate to be parallel to the first wall surface, start cleaning, and correct the forward direction according to the direction of the adjacent frame.

[0083] Specifically, the controller is the brain of the cleaning robot, responsible for receiving data from sensors such as depth cameras, and processing and analyzing it. Based on the point cloud data provided by the depth camera, the controller can determine whether there is a first wall in front. The first wall is usually a long strip with relatively consistent depth values ​​and clear edges. After identifying the wall, the controller will calculate the best path to get the robot close to the wall. When the robot reaches the predetermined position, the controller will start the cleaning system (such as vacuum motor, brush plate, etc.) and start cleaning along the edge. At the same time, by continuously processing the point cloud data of adjacent frames, the controller can correct the robot's forward direction in real time to ensure the accuracy and continuity of cleaning.

[0084] Figure 2 The following is a flowchart of the steps of calibrating a depth camera and a robot in an embodiment of the present invention. In the calibration process of the robot and the depth camera, the main purpose is to determine the precise position and posture (i.e., external parameters) of the depth camera relative to the robot body so that the robot can accurately understand and use the data provided by the depth camera. Figure 2 As shown, in an embodiment of the present invention, a step of calibrating a depth camera and a robot includes:

[0085] Step M1: Control the robot to move to a first position, a second position and a third position in a straight line in sequence, and record point cloud data packets respectively.

[0086] In this step, the distances between the first position, the second position and the third position are known. In this step, the robot needs to move along a precise straight line in a known and relatively simple environment (such as an empty room or corridor). This straight line is pre-set. This is done to obtain point cloud data from different perspectives, thereby providing sufficient information to calculate the relative pose transformation of the starting and ending points of the point cloud data packet. During the movement, the robot needs to start from the origin and stop at three different positions (the first position, the second position and the third position), and record the point cloud data packet captured by the depth camera at this time. During implementation, more than 3 positions can also be used for calibration. When the number of positions is more than 3, the calibration data can be more prepared. For example, draw a straight line with a length of 4m on the ground and mark it at 1m, 2m, 3m, and 4m. Put the robot head (camera installation position) at the starting position of the straight line, control the robot to move forward 1m, 2m, 3m, and 4m along the straight line respectively, and record the point cloud data packet respectively. If any section fails to move strictly along the straight line, the point cloud data packet of that section needs to be re-recorded.

[0087] Step M2: Relative pose transformation of the start and end points of the point cloud data packet according to the point cloud computing

[0088] In this step, i is the number of positions in step M1. For each point cloud data packet, it is necessary to identify the feature points or regions corresponding to the start and end points of the line. This can be achieved by analyzing the shape, density or depth value of the point cloud. Using feature matching or point cloud registration technology, calculate the relative pose transformation (including translation and rotation) between the start and end points from the origin to the first data packet, the first data packet to the second data packet, and from the second data packet to the third data packet.

[0089] Step M3: Calculate the motion trajectory

[0090] In this step, since the robot moves strictly in a straight line and the distance it moves is known, we can directly determine that the angle of relative rotation between the robot's moving directions is zero. is the unit matrix, You can and Combination

[0091] Step M4: According to the formula Get the external parameters of the depth camera and the robot

[0092] In this step, the known robot movement distance and the calculated relative pose transformation are used to solve the external parameters between the depth camera and the robot. (indicates the transformation from the camera coordinate system to the robot coordinate system) and the relationship between the camera and robot motion trajectory is:

[0093]

[0094] By performing algebraic optimization to solve the above equation, we can get the external parameters between the camera and the robot: The external parameters of the robot center and the robot edge can be obtained through the structural information. The external parameters usually include a rotation matrix and a translation vector, which describe the relative position and posture between the depth camera coordinate system and the robot body coordinate system. The specific method of solving the external parameters may involve optimization algorithms, such as the least squares method or the iterative closest point (ICP) algorithm, to minimize the difference between the actual moving distance and the moving distance calculated based on the point cloud data.

[0095] Figure 3 FIG. 1 is a flowchart of the processing steps of a controller in an embodiment of the present invention. Figure 3 As shown, a processing step of a controller in an embodiment of the present invention includes:

[0096] Step S1: Determine whether there are obstacles and a first wall according to the point cloud acquired by the depth camera.

[0097] In this step, the depth camera measures the distance from the camera to each point in the environment by emitting and receiving infrared light or laser beams, and generates three-dimensional point cloud data. These point cloud data reflect the shape and depth information of the robot's surrounding environment. By comparing the features of different point clouds (such as depth value, texture, etc.), it is possible to identify which areas are obstacles and which areas are the first wall. The first wall is usually a long strip with relatively consistent depth values ​​and clear edges. Figure 4 As shown in the figure, the depth camera is located at the front of the robot. The depth camera coordinate system is different from the robot coordinate system. The relative position of the depth camera and the robot is fixed and rotates with the robot. Figure 5 As shown, the depth camera and the robot center can be located at different horizontal planes. The depth camera coordinate system and the robot coordinate system need to be converted.

[0098] Step S2: If there is a first wall, the robot is moved close to the first wall, rotated to be parallel to the first wall, and starts cleaning.

[0099] In this step, the depth camera is located on one side of the robot. Once the first wall is identified, the robot needs to calculate a path to safely approach the first wall. This usually involves avoiding collisions with any known obstacles and choosing a path that allows the robot to smoothly approach the first wall. The robot makes fine adjustments to achieve the best cleaning position. When the robot successfully approaches the first wall and is parallel to it, the cleaning mode is activated and cleaning is performed along the first wall.

[0100] Step S3: During the cleaning process, the robot's forward direction is corrected according to the directions of adjacent frames.

[0101] In this step, real-time monitoring is performed: during the cleaning process, the depth camera continuously captures point cloud data of the environment and generates continuous frames. Each frame of data contains the status information of the robot's surrounding environment at the current moment. By comparing the data changes between adjacent frames, the robot can detect whether its forward direction has shifted (for example, due to uneven ground or minor collisions). By analyzing the continuous frame data obtained by the depth camera, the position and direction changes of the robot relative to the first wall can be calculated, and then the robot's motion trajectory can be adjusted so that it always remains parallel to the first wall.

[0102] In some embodiments, in step S3, if a second wall is found in the first area, when the robot approaches the second wall, it rotates to be parallel to the second wall and faces away from the first wall to continue cleaning; wherein the first area is the area directly in front of the robot. For a schematic diagram of the first area, see Figure 8 As shown. Figure 6 As shown in the figure, when the second wall appears in the first area, and the first wall also exists in the second area, it means that the robot has reached the corner. After getting close to the second wall, the robot needs to be rotated again so that it is parallel to the second wall and faces away from the first wall. After the direction adjustment is completed, continue cleaning. At this time, the second wall is in the second area, and the forward direction is corrected according to the direction of the adjacent frames during the cleaning process.

[0103] In some embodiments, when the point cloud depth on the center line of the depth camera is When , the robot stops moving forward and rotates; where h is the preset depth, and γ is the angle between the second wall and the normal line of the depth camera. The first wall and the second wall can be perpendicular or non-perpendicular. Figure 6 As shown, when the first wall and the second wall are not perpendicular, the robot cannot be directly rotated 90 degrees, but it is necessary to determine the angle between the robot and the second wall to determine the rotation angle. The vertical distance between the robot and the second wall is made equal to the preset depth, so that the distance between the robot and the wall is kept within a certain range to prevent collision, and at the same time, the ground is cleaned as much as possible to ensure the cleaning effect.

[0104] Figure 7 FIG. 1 is a flowchart of a step of determining an obstacle and a first wall in an embodiment of the present invention. Figure 7 As shown, in an embodiment of the present invention, a step of determining an obstacle and a first wall surface includes:

[0105] Step S11: Acquire the point cloud of the depth camera, and transform the point cloud into the robot coordinate system using the external parameters of the depth camera and the robot.

[0106] In this step, the point cloud of each frame of the depth camera is obtained and transferred to the robot coordinate system using the camera and robot external parameters. The point cloud data captured by the depth camera is initially represented in the camera's own coordinate system. In order to integrate with other sensor data and control systems of the robot, the point cloud data needs to be converted to the robot's coordinate system. Using the external parameters (external parameters) between the depth camera and the robot, the point cloud is converted from the camera coordinate system to the robot coordinate system. All subsequent operations will be performed based on the robot coordinate system.

[0107] Step S12: traverse all points of the point cloud and mark the points in the first area and the second area.

[0108] In this step, the first area is the area directly in front of the robot and does not include the ground; the second area is the area to the side of the robot. Figure 8 As shown, the first area is the area in front of the robot and close to the robot, and its depth range does not exceed 20cm. The second area is the area on the side of the robot, including the left and right sides of the robot. Traverse the converted point cloud data and mark the first area (the area in front of the depth camera) and the second area (the area on the side of the depth camera). The division of these two areas is crucial for identifying objects in front of and on the side of the robot.

[0109] Step S13: filtering out the point clouds outside the first area and the second area.

[0110] In this step, after identifying the points in the first and second regions, the point cloud data outside these two regions can be filtered out. The point cloud information of the ground is also removed in this step. This helps to reduce the amount of data for subsequent processing and focus on the areas related to obstacle and first wall detection.

[0111] Step S14: Screen the second area to obtain a main plane, and calculate the normal vector of the main plane Determine whether it is consistent with the ground normal vector [0,0,1] T Vertical; if vertical, and the highest point of the point cloud of the main plane is greater than the preset height, the main plane is marked as the first wall; otherwise, the main plane is marked as an obstacle.

[0112] In this step, in the second region, a plane fitting algorithm (such as RANSAC, Hough transform, etc.) is used to identify the main plane. These algorithms can estimate the parameters of the best fitting plane from a set of points. The normal vector of the main plane is calculated, which indicates the direction of the plane. Since the normal vector of the ground is known to be [0,0,1] T, compare whether the normal vector of the main plane is perpendicular to the ground normal vector. This can be achieved by calculating the dot product between the two normal vectors and checking whether it is close to zero. If the main plane is perpendicular to the ground and the highest point of the point cloud of the plane (i.e. the maximum value of the z coordinate) is greater than the preset height (to exclude the ground itself or objects very close to the ground), the main plane is marked as the first wall. If the above conditions are not met, the main plane is marked as an obstacle because it may be an object or structure that is not perpendicular to the ground. The preset height needs to be set according to the measurement range and application scenario of the depth camera to distinguish obstacles from the first wall. When the obstacle is relatively low, the preset height can be set lower. When the obstacle is relatively high, the preset height can be set higher. The preset height can be set to 1m, 1.1m, 1.2m, 1.3m, 1.4m, 1.5m, 1.6m, 1.7m, 1.8m, 1.9m, 2m or any other unlisted values.

[0113] Through this step, the robot can distinguish between obstacles and the first wall, and thus make corresponding action adjustments during the cleaning process, such as avoiding obstacles, cleaning close to and along the first wall, etc.

[0114] Fig. 9 FIG. 1 is a flow chart of steps for starting cleaning in an embodiment of the present invention. Fig. 9 As shown, a step of starting cleaning in an embodiment of the present invention includes:

[0115] Step S21: In the robot coordinate system, according to the first wall normal vector and [1,0,0] T Calculate the angle θ.

[0116] In this step, the first wall normal vector obtained in step S1 is used to match the robot's front direction [1,0,0] T Calculate the angle θ. The normal vector represents the direction of the first wall and is a three-dimensional vector in the robot coordinate system. The front direction of the robot coordinate system is [1,0,0] T Points to the direction directly in front of the robot. The angle θ represents the deviation between the current orientation of the robot and the first wall.

[0117] Step S22: Rotate the robot by θ so that the front direction in the robot coordinate system is perpendicular to the first wall, and control the robot to move straight toward the first wall.

[0118] In this step, according to the angle calculated in step S21, we can determine the angle and direction that the robot needs to rotate so that its front direction is perpendicular to the first wall. Use the robot's steering mechanism (such as wheel differential, steering motor, etc.) to achieve rotation. During the rotation process, it is necessary to continue to use the point cloud data obtained by the depth camera to calculate the angle θ to ensure the accuracy of the rotation. When the front direction of the robot is perpendicular to the first wall, control the robot to start moving in a straight line. During the forward process, the robot should continue to monitor its direction and position to ensure that it does not deviate from the first wall.

[0119] Step S23: Calculate the average depth of the point cloud in the first area. If the average depth is not greater than a preset depth, control the robot to stop moving forward, rotate 90 degrees on the spot, and start cleaning.

[0120] In this step, the first area is the area directly in front of the robot, which contains the point cloud data of the space between the robot and the first wall. Traverse the point cloud in the first area and calculate the average value of the depth of all points. This average value reflects the average distance between the robot and the first wall. It should be noted that since the first area is limited by the depth range, when the first wall is far away from the robot, there is no data of the first wall in the first area, and at this time, there is no point cloud data. When the first wall is close to the robot, point clouds begin to appear in the first area, and the average depth of the point clouds in the first area can be calculated. When the average depth reaches the preset depth value, the robot stops moving forward and rotates 90° in place. At this time, the distance between the robot and the first wall is less than or equal to the preset depth. The preset depth is a threshold set according to the actual application scenario, which represents the safe distance or the expected cleaning distance between the robot and the first wall. The preset depth can be 2mm, 3mm, 4mm, 5mm, 5mm or any other unlisted values. Once the robot position and posture are adjusted in place, the cleaning module can be started to start cleaning along the wall.

[0121] Fig.10 This is a flowchart of a step of correcting the robot's forward direction in an embodiment of the present invention. Always keep vertical and move forward strictly in a straight line, and the cleaning can be completed smoothly along the edge. However, since the robot may slip at some point in the actual cleaning process, it may not be able to move forward strictly in a straight line during the process, that is, it cannot be guaranteed that the robot is facing [1,0,0] T and the first wall normal vector At this time, the robot's forward direction needs to be corrected. Fig.10 As shown, in an embodiment of the present invention, a step of correcting the forward direction of the robot includes:

[0122] Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector

[0123] In this step, the current frame (i.e., the most recently captured) point cloud and the previous frame point cloud are used as input. Point cloud registration is a technique for aligning two or more point cloud datasets, usually used to estimate their relative position or pose. A point cloud registration algorithm (such as iterative closest point ICP, NDT, etc.) is applied to find the best alignment between the two point clouds. The result of the registration is a relative displacement vector It represents the direction of the robot's movement in three-dimensional space from the previous frame to the current frame.

[0124] Step S32: Calculation and [1,0,0] T The angle β is taken as an example, and based on the angle β, the angle θ1 that the robot needs to adjust is calculated.

[0125] In this step, the angle β represents the deviation between the robot's current moving direction and the target direction. Based on the angle β, we can calculate the angle that the robot needs to adjust. If β is greater than a certain threshold (indicating that the deviation is too large), the robot needs to adjust its orientation or moving direction to reduce the deviation. The adjusted angle can be β itself (if the robot needs to face the target direction completely), or a smaller value (if only fine-tuning is required). The robot adjusts the orientation or direction through its steering mechanism (such as wheel differential, steering motor, etc.) to ensure that the robot can continue to clean along the first wall without deviating from the predetermined path.

[0126] After the direction correction is completed, the robot is controlled to move forward until the next frame of point cloud comes in, and the above steps are repeated to keep the robot in a straight line cleaning state along the wall. When the first wall in the second area cannot be extracted, it means that this section of the wall has been completed, and the cleaning along the edge ends at this time.

[0127] Fig.11 This is another flowchart of steps for correcting the forward direction of the robot in an embodiment of the present invention;

[0128] Step S33: extract the first wall surface.

[0129] In this step, the first wall surface needs to be extracted from the point cloud data of the current frame. This usually involves segmenting and classifying the point cloud to identify the point set belonging to the first wall surface. Segmentation and classification methods include clustering algorithms based on distance or features (such as flatness, normal vector consistency), or machine learning-based methods (such as using a trained classifier). Once the first wall surface is successfully extracted, we can represent it as one or more point cloud clusters, each cluster representing a first wall surface.

[0130] Step S34: Calculate the first wall normal vector

[0131] In this step, for each extracted first wall point cloud cluster, we need to calculate its normal vector. The normal vector is a three-dimensional vector that is perpendicular to the first wall and points to the outside of the first wall. The calculation of the normal vector can be achieved by plane fitting the first wall point cloud. Plane fitting algorithms (such as RANSAC, Hough transform, or principal component analysis PCA) can be used to estimate the best fitting plane of the first wall and calculate the normal vector from the plane.

[0132] Step S35: Calculation and [1,0,0] T The angle α is taken as an angle, and based on the angle α, the angle θ2 that the robot needs to adjust is calculated.

[0133] In this step, the robot should face the direction parallel to the first wall. The angle α is and [1,0,0] T It represents the deviation between the robot's current orientation and the normal vector direction of the first wall. According to the angle α, the angle that the robot needs to adjust can be calculated so that its forward direction remains parallel to the first wall.

[0134] After the direction correction is completed, the robot is controlled to move forward until the next frame of point cloud comes in, and the above steps are repeated to keep the robot in a straight line cleaning state along the wall. When the first wall in the second area cannot be extracted, it means that this section of the wall has been completed, and the cleaning along the edge ends at this time.

[0135] Fig.12 A flowchart of the steps for correcting the robot's forward direction in an embodiment of the present invention. Fig.12 As shown, in an embodiment of the present invention, a step of correcting the forward direction of the robot includes:

[0136] Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector

[0137] Step S32: Calculation and [1,0,0] T and calculating the angle θ1 that the robot needs to adjust according to the angle β;

[0138] Step S33: extracting the first wall surface;

[0139] Step S34: Calculate the first wall normal vector

[0140] Step S35: Calculation and [1,0,0] T The angle α is taken as an angle, and based on the angle α, the angle θ2 that the robot needs to adjust is calculated.

[0141] The above steps are the same as those in other embodiments and will not be repeated in this embodiment.

[0142] Step S36: Output the robot adjustment angle by taking the weighted average of θ1 and θ2

[0143] In this step, θ1 and θ2 are weighted averaged to obtain a comprehensive adjustment angle. The adjustment angle calculated by the current calculation is weighted averaged with the adjustment angle obtained in the previous step to optimize the overall steering response of the robot. The final output adjustment angle is determined based on the relationship between the current frame and the first wall and the robot's historical adjustment situation, aiming to achieve a smoother and more accurate path correction.

[0144] After the direction correction is completed, the robot is controlled to move forward until the next frame of point cloud comes in, and the above steps are repeated to keep the robot in a straight line cleaning state along the wall. When the first wall in the second area cannot be extracted, it means that this section of the wall has been completed, and the cleaning along the edge ends at this time.

[0145] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the embodiments can be referred to each other. The above description of the disclosed embodiments enables professionals and technicians in this field to implement or use the present invention. Various modifications to these embodiments will be obvious to professionals and technicians in this field, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown in this article, but will comply with the widest range consistent with the principles and novel features disclosed herein.

[0146] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art may make various modifications or variations within the scope of the claims, which do not affect the essence of the present invention.

Claims

1. A robot for cleaning edges. It is characterized in that include: ontology; A depth camera, located at the front end of the body, for obtaining a point cloud within the field of view; Moving parts, used to drive the robot to move forward or rotate; The controller is used to determine whether there is a first wall surface according to the point cloud, and when there is a first wall surface, make the robot approach the first wall surface, rotate to be parallel to the first wall surface, start cleaning, and correct the forward direction according to the direction of the adjacent frame.

2. A side cleaning robot according to claim 1, It is characterized in that The step of calibrating the depth camera and the robot comprises: Step M1: Control the robot to move to a first position, a second position and a third position in a straight line in sequence, and record point cloud data packets respectively; wherein the distances between the first position, the second position and the third position are known; Step M2: Relative pose transformation of the start and end points of the point cloud data packet according to the point cloud computing Step M3: Calculate the motion trajectory Step M4: According to the formula Get the external parameters of the depth camera and the robot 3. The edge cleaning robot according to claim 1, It is characterized in that The processing steps of the controller include: Step S1: judging whether there are obstacles and a first wall according to the point cloud acquired by the depth camera; Step S2: If the first wall exists, driving the moving component to make the robot approach the first wall, rotating to be parallel to the first wall, and starting cleaning; Step S3: Correct the forward direction according to the direction of the adjacent frames.

4. The edge cleaning robot according to claim 3, It is characterized in that Step S1 includes: Step S11: obtaining a point cloud of a depth camera, and using the external parameters of the depth camera and the robot to transform the point cloud into a robot coordinate system; Step S12: traverse all points of the point cloud and mark points in a first area and a second area; wherein the first area is the area directly in front of the robot; and the second area is the area to the side of the robot; Step S13: filtering out point clouds outside the first area and the second area; Step S14: Screen the second area to obtain a main plane, and calculate the normal vector of the main plane Determine whether it is consistent with the ground normal vector [0,0,1] T Vertical; if vertical, and the highest point of the point cloud of the main plane is greater than the preset height, the main plane is marked as the first wall; otherwise, the main plane is marked as an obstacle.

5. The edge cleaning robot according to claim 3, It is characterized in that Step S2 includes: Step S21: In the robot coordinate system, according to the first wall normal vector and [1,0,0] T Calculate the angle θ; Step S22: rotating the robot by θ so that the front direction in the robot coordinate system is perpendicular to the first wall, and controlling the robot to move straight toward the first wall; Step S23: Calculate the average depth of the point cloud in the first area. If the average depth is not greater than a preset depth, control the robot to stop moving forward, rotate 90 degrees on the spot, and start cleaning.

6. The edge cleaning robot according to claim 3, It is characterized in that Step S3 includes: Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector Step S32: Calculation and [1,0,0] T The angle β of the robot is calculated according to the angle β. 1 .

7. The edge cleaning robot according to claim 3, It is characterized in that Step S3 includes: Step S33: extracting the first wall surface; Step S34: Calculate the first wall normal vector Step S35: Calculation and [1,0,0] T The angle α of the robot is calculated according to the angle α. 2 .

8. The edge cleaning robot according to claim 3, It is characterized in that Step S3 includes: Step S31: align the point cloud of the current frame with the point cloud of the previous frame to obtain the relative displacement vector Step S32: Calculation and [1,0,0] T The angle β of the robot is calculated according to the angle β. 1 ; Step S33: extracting the first wall surface; Step S34: Calculate the first wall normal vector Step S35: Calculation and [1,0,0] T The angle α of the robot is calculated according to the angle α. 2 ; Step S36: By θ 1 With θ 2 The weighted average of the output robot adjustment angle 9. The edge cleaning robot according to claim 3, It is characterized in that In step S3, if a second wall is found in the first area, when the robot approaches the second wall, it rotates to be parallel to the second wall and faces away from the first wall to continue cleaning; wherein the first area is the area directly in front of the robot.

10. The edge cleaning robot according to claim 9, It is characterized in that When the point cloud depth on the center line of the depth camera is When , stop moving forward and rotate the robot; wherein h is the preset depth, and γ is the angle between the second wall and the normal of the depth camera.