Control method and device of D-type floor sweeping robot and floor sweeping robot

By extracting the contour lines of the obstacles and adjusting the angular velocity, the movement of the D-type sweeping robot is solved, and the leakage and collision problems during side cleaning are achieved, achieving a smaller side distance and more efficient cleaning effect.

CN120458437APending Publication Date: 2025-08-12HANGZHOU EZVIZ SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510828673.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-19
Publication Date
2025-08-12

AI Technical Summary

Technical Problem

The D-type sweeping robot has a problem of missing sweeping when cleaning the edges, mainly because of its limited detection ability of surrounding obstacles, especially the detection blind spots on the right side, which leads to too large a distance between the obstacles, which makes it easy to collide and leak sweeping.

Method used

By extracting the contour lines of the obstacles, the movement of the sweeping robot is controlled by the first control method and the second control method, so that the difference between the sensor detection distance and the edge distance is maintained within the allowable error range, and the movement of the robot is adjusted by angular velocity to ensure that the distance between the edge of the machine and the obstacle profile is approaching a smaller second edge distance when cleaning the edge.

Benefits of technology

It effectively reduces the occurrence of scan leakage during the side cleaning of D-type sweeping robots, reduces the probability of collision, and improves the effect of cleaning along the side.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120458437A_ABST
    Figure CN120458437A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a control method and device of a D-type sweeping robot and the sweeping robot, and relates to the technical field of intelligent robots. The method comprises the steps that the contour line of an obstacle located on the designated side of the D-type sweeping robot is extracted to serve as a target contour line; when the target contour line belongs to a straight line type, controlling the D-type sweeping robot to move according to a first control mode; in response to the condition that the motion state of the D-type sweeping robot meets the state stability condition, recognizing that the contour line of an obstacle located on the designated side meets the contour line stability condition, and reducing the first edge distance to obtain a second edge distance; and according to a second control mode, the D-type sweeping robot is controlled to move, so that the difference between the nearest distance and the second edge distance in the moving process is kept within a second allowable error range. On the basis, by applying the scheme provided by the embodiment of the invention, the phenomenon of missing sweeping during edge sweeping of the D-type sweeping robot can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent robot technology, and in particular to a control method and device for a D-type sweeping robot and the sweeping robot. Background Art

[0002] The D-type sweeping robot is a sweeping robot with a rectangular front half and a semicircular back half. Figure 1 Figure 1 is a schematic diagram of a D-type sweeping robot. Figure 1 As shown, the D-type sweeping robot is equipped with an RGB camera 105 on the top, a line laser sensor 101 in front, and a PSD (Position Sensitive Detector) / TOF (Time of Flight) sensor 104 on the right. The left side, front side, and right side of the D-type sweeping robot are respectively equipped with a striker 106, a striker 102, and a striker 103.

[0003] Among them, the RGB camera 105 of the D-type sweeping robot is used for visual positioning and cannot detect obstacles around the D-type sweeping robot; the PSD / TOF sensor 104 can only detect obstacles on the rays emitted from the emission point; the line laser sensor 101 can detect obstacles within a fan-shaped plane. Figure 1 As shown, 107 is the line laser detection range that the line laser sensor can detect, and the detection range that the line laser sensor can detect can only cover the range of its right side collision plate. Therefore, for obstacles beyond the range of its right side collision plate, the line laser sensor 101 cannot effectively detect them, so the D-type sweeping robot has a detection blind spot for the area beyond the range of its right side collision plate.

[0004] As can be seen above, D-type robot vacuums have limited ability to detect obstacles and blind spots. To reduce collisions, existing technologies set a larger distance between the robot and obstacles when cleaning along edges. However, this approach can lead to missed areas. Therefore, how to reduce the number of missed areas when cleaning along edges with D-type robots has become a pressing technical issue. Summary of the Invention

[0005] The purpose of the embodiments of the present application is to provide a control method, device, and robot vacuum to reduce the number of missed sweeps when the robot vacuums along the edge. The specific technical solution is as follows:

[0006] In a first aspect, the present application provides a control method for a D-type sweeping robot, comprising:

[0007] Extracting the contour line of the obstacle located on a designated side of the D-type sweeping robot as the target contour line; the designated side is the side where the sensor is located;

[0008] When the target contour line is a straight line, controlling the D-type sweeping robot to move according to a first control mode so that a difference between a detection distance obtained by the sensor and the first edge distance during movement remains within a first allowable error range; the first control mode comprising: determining, at each moment, an angular velocity at that moment based on the first edge distance and the detection distance at that moment; and controlling the D-type sweeping robot to move according to the determined angular velocity, and periodically extracting a contour line of an obstacle located on a designated side.

[0009] In response to the motion state of the D-type sweeping robot meeting the state stability condition, and based on the periodically extracted contour lines, identifying that the contour line of the obstacle located on the specified side meets the contour line stability condition, reducing the first edge distance to obtain a second edge distance;

[0010] According to the second control mode, the D-type sweeping robot is controlled to move so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range;

[0011] The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line.

[0012] In a second aspect, the present application provides a control device for a D-type sweeping robot, the device comprising:

[0013] An extraction module is used to extract the outline of the obstacle located on a designated side of the D-type sweeping robot as a target outline; the designated side is the side where the sensor is provided;

[0014] a first control module configured to control the D-type sweeping robot to move according to a first control mode when the target contour line is a straight line, so that a difference between a detection distance detected by the sensor and the first edge distance during movement remains within a first allowable error range; the first control mode comprising: determining an angular velocity at each moment based on the first edge distance and the detection distance at that moment; and controlling the D-type sweeping robot to move according to the determined angular velocity, and periodically extracting a contour line of an obstacle located on a designated side;

[0015] an adjustment module, configured to, in response to the motion state of the D-type sweeping robot meeting a state stability condition and, based on the periodically extracted contour lines, identifying that a contour line of an obstacle located on a specified side meets a contour line stability condition, reduce the first edge distance to obtain a second edge distance;

[0016] a second control module, configured to control the movement of the D-type sweeping robot according to a second control mode, so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range;

[0017] The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line.

[0018] In a third aspect, the present application provides a D-type sweeping robot, comprising:

[0019] Memory for storing computer programs;

[0020] The processor is configured to implement any of the above-mentioned control methods for the D-type sweeping robot when executing the program stored in the memory.

[0021] In a fourth aspect, the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the control method of any of the above-mentioned D-type sweeping robots is implemented.

[0022] An embodiment of the present application further provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute any of the above-described control methods for the D-type sweeping robot.

[0023] Beneficial effects of the embodiments of the present application:

[0024] In the solution of the present application, after determining that the contour line of the obstacle located on the designated side of the D-type sweeping robot is of the straight line type, the D-type sweeping robot is controlled to move according to a first control mode so that the difference between the detection distance detected by the sensor and the first edge distance during the movement is maintained within a first allowable error range. In the process of controlling the movement of the D-type sweeping robot according to the first control mode, if the movement state of the D-type sweeping robot meets the state stability condition, and based on the periodically extracted contour line, it is identified that the contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour line stability condition for the straight line type, the first edge distance is adjusted to a smaller value to obtain a second edge distance. Then, the D-type sweeping robot is controlled to move according to a second control mode so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range. In the present application, the closest distance is the minimum distance between the edge of the body on the designated side and the current contour line. The second control method of the present application can control the minimum distance between the edge of the D-type sweeping robot body and the current contour line to be maintained near a second edge distance that is smaller than the first edge distance, so that the D-type sweeping robot can perform edge cleaning according to the second edge distance. It can be seen that the solution of the present application, through the first control method and the second control method, can control the edge distance of the D-type sweeping robot to approach the relatively small second edge distance, thereby effectively reducing the occurrence of missed sweeps during edge cleaning.

[0025] Of course, it is not necessary to achieve all the advantages described above at the same time when implementing any product or method of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can also be obtained based on these drawings.

[0027] Figure 1 This is a structural diagram of a D-type sweeping robot;

[0028] Figure 2 A schematic flow chart of a control method for a first D-type sweeping robot provided in an embodiment of the present application;

[0029] Figure 3 for Figure 1 Schematic diagram of the peripheral points and non-peripheral points corresponding to the D-type sweeping robot;

[0030] Figure 4 for Figure 1Schematic diagram of the outline corresponding to the D-type sweeping robot;

[0031] Figure 5 for Figure 1 Schematic diagram of the closest distance between the D-type sweeping robot and the contour line;

[0032] Figure 6 A flow chart of a control method for a second D-type sweeping robot provided in an embodiment of the present application;

[0033] Figure 7 A schematic structural diagram of a control device for a D-type sweeping robot provided in an embodiment of the present application;

[0034] Figure 8 This is a schematic structural diagram of a D-type sweeping robot provided in an embodiment of the present application. DETAILED DESCRIPTION

[0035] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field based on this application are within the scope of protection of this application.

[0036] In the technical solution of this application, the operations involved in acquiring, storing, using, processing, transmitting, providing and disclosing environmental information are all carried out with the user's authorization.

[0037] In order to facilitate understanding of the control method of a D-type sweeping robot provided in the embodiment of the present application, before specifically describing the solution provided in the embodiment of the present application, first, Figure 1 Taking the structural schematic diagram of a D-type sweeping robot shown in FIG. 1 as an example, the D-type sweeping robot is briefly described.

[0038] like Figure 1As shown, the front half of the D-type sweeping robot is a rectangular structure, and the back half is a semicircular structure. The length and width of the rectangular structure of the front half are L1 and L2 respectively, and the radius of the semicircular structure of the back half is R. The length of the rectangle perpendicular to the front half and the direction from the semicircular structure to the rectangular structure are used as the orientation of the D-type sweeping robot, and the direction indicated by the orientation is used as the front of the D-type sweeping robot. An RGB camera 105 is installed on the top of the D-type sweeping robot, a line laser sensor 101 is configured in front, and a PSD (Position Sensitive Detector, position sensitive device) / TOF (Time of flight, time of flight) sensor 104 is installed on the right. In addition, a collision plate 106, a collision plate 102 and a collision plate 103 are respectively installed on the left, front and right sides of the D-type sweeping robot, and a side brush for cleaning the ground is installed in the upper right corner of the rectangular structure.

[0039] Among them, the RGB camera 105 is used for visual positioning, which cannot detect obstacles around the D-type sweeping robot. The line laser sensor 101 and the PSD / TOF sensor 104 are used to detect obstacles within a close range around the D-type sweeping robot. The line laser sensor 101 can detect the distance of obstacles within a fan-shaped plane 107, while the PSD / TOF sensor 104 can detect the distance of obstacles in the camera image emitted by the emission point. In addition, due to Figure 1 The left side of the D-type sweeping robot is not equipped with a detection sensor, so the regulations Figure 1 The Medium D robot vacuum only cleans the right edge.

[0040] During the operation of the D-type sweeping robot, the line laser sensor and PSD / TOF sensor can fill the detected environmental data into the obstacle map in real time to complete the creation of the obstacle map.

[0041] Figure 1 The RGB camera equipped with the medium-sized D-type sweeping robot is only used for visual positioning and cannot detect obstacles around the sweeper. The line laser sensor and PSD / TOF sensor can only detect obstacles within a short distance. Figure 1 The ability of a medium-sized robot vacuum cleaner to detect obstacles in the surrounding environment is very limited. The difference between a line laser sensor and a PSD / TOF sensor is that a line laser sensor can detect the distance of obstacles within a fan-shaped plane, while a PSD / TOF sensor can only detect the distance of obstacles on the ray emitted from the emission point. Figure 1 The line laser sensor installed on the front of the Medium D-type sweeping robot can only cover the right side of the robot. Therefore, the sensor cannot effectively detect obstacles that are beyond the range of the right impact plate, resulting in a certain blind spot in this area.

[0042] Figure 1 The detection sensor resources of the D-type robot vacuum are relatively limited, with only sensors with weaker detection capabilities installed on the front and right sides. Because the outer contour of the D-type robot vacuum is much larger than that of a circular robot vacuum at the same radius R, the right impact plate and the right side of the front impact plate are more likely to collide or scratch side obstacles during extreme edge cleaning. In complex environments, this may further affect the D-type robot's obstacle avoidance performance and edge cleaning effect, resulting in missed areas.

[0043] In order to reduce the occurrence of missed areas when a D-type sweeping robot cleans along the edges, an embodiment of the present application provides a control method for a D-type sweeping robot.

[0044] The method can be applied to various application scenarios involving controlling a D-type sweeping robot to perform edge cleaning, such as a D-type sweeping robot performing edge cleaning of the floors of each room in a home setting, or a D-type sweeping robot performing edge cleaning of the floors of each office area in an office setting. Furthermore, the method can be executed by the D-type sweeping robot itself equipped with a data processing module, or by other electronic devices capable of communicating with and controlling the D-type sweeping robot, such as a smart mobile device such as a mobile phone or tablet computer equipped with a control client for the D-type sweeping robot in a smart home setting.

[0045] Based on this, the embodiments of the present application do not specifically limit the application scenarios and execution entities of the method.

[0046] A control method for a D-type sweeping robot provided in an embodiment of the present application may include the following steps:

[0047] Extracting the contour line of the obstacle located on a designated side of the D-type sweeping robot as the target contour line; the designated side is the side where the sensor is located;

[0048] When the target contour line is a straight line type, the D-type sweeping robot is controlled to move according to a first control mode so that the difference between the detection distance detected by the sensor and the first edge distance during the movement is maintained within a first allowable error range; the first control mode includes: determining, for each moment, the angular velocity at that moment based on the first edge distance and the detection distance at that moment; and controlling the D-type sweeping robot to move according to the determined angular velocity, and periodically extracting the contour line of the obstacle located on the specified side; in response to the movement state of the D-type sweeping robot meeting the state stability condition, and based on the periodically extracted contour line, identifying that the contour line of the obstacle located on the specified side meets the contour line stability condition, reducing the first edge distance to obtain a second edge distance;

[0049] According to the second control mode, the D-type sweeping robot is controlled to move so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range;

[0050] The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line. In the solution of the present application, after determining that the contour line of the obstacle located on the designated side of the D-type sweeping robot is of the straight line type, the D-type sweeping robot is controlled to move according to a first control mode so that the difference between the detection distance detected by the sensor and the first edge distance during the movement is maintained within a first allowable error range. In the process of controlling the movement of the D-type sweeping robot according to the first control mode, if the movement state of the D-type sweeping robot meets the state stability condition, and based on the periodically extracted contour line, it is identified that the contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour line stability condition for the straight line type, the first edge distance is adjusted to a smaller value to obtain a second edge distance. Then, the D-type sweeping robot is controlled to move according to a second control mode so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range. In the present application, the closest distance is the minimum distance between the edge of the body on the designated side and the current contour line. The second control method of the present application can control the minimum distance between the edge of the D-type sweeping robot body and the current contour line to be maintained near a second edge distance that is smaller than the first edge distance, so that the D-type sweeping robot can perform edge cleaning according to the second edge distance. It can be seen that the solution of the present application, through the first control method and the second control method, can control the edge distance of the D-type sweeping robot to approach the relatively small second edge distance, thereby effectively reducing the occurrence of missed sweeps during edge cleaning.

[0051] Below, in conjunction with the accompanying drawings, a control method for a D-type sweeping robot provided in an embodiment of the present application is described in detail.

[0052] Figure 2 This is a flow chart of a control method for a D-type sweeping robot provided in an embodiment of the present application, as shown in FIG. Figure 2 As shown, the control method may include the following steps S201-S204.

[0053] S201 , extracting a contour line of an obstacle located on a designated side of the D-type sweeping robot as a target contour line; the designated side is a side where a sensor is provided.

[0054] Since a sensor is provided on one side of the D-type sweeping robot, when performing edge cleaning, the side of the D-type sweeping robot on which the sensor is provided is regarded as the side close to the obstacle.

[0055] During the operation of the D-type robot vacuum, an obstacle map of the scene the robot is currently in can be created based on the environmental data detected by the installed line laser sensor and PSD / TOF sensor. Using this obstacle map, the outlines of obstacles located on a specific side of the robot vacuum can be extracted.

[0056] The sensor provided on the designated side may be the PSD / TOF sensor.

[0057] Optionally, a method for extracting the outline of an obstacle located on a specified side of the D-type sweeping robot includes:

[0058] Extracting peripheral points on a designated side of the D-type sweeping robot from the obstacle map; wherein the peripheral points are coordinate points of obstacles closest to the center point on each ray starting from the center point of the D-type sweeping robot;

[0059] Determine the peripheral point closest to the D-type sweeping robot among the peripheral points as the reference point;

[0060] Based on the reference point, and in accordance with a specified expansion strategy, an expansion point is selected from each of the surrounding points to obtain a plurality of expansion points;

[0061] Fitting the reference point and each obtained extension point to obtain a contour line of the obstacle located on a specified side of the D-type sweeping robot;

[0062] The specified expansion strategy includes:

[0063] Taking the reference point as the current point;

[0064] For either side of the current point, adjacent and unexpanded surrounding points of the current point on that side are determined as expansion points, and the determined expansion points are used as the new current point. The process returns to the step of determining adjacent and unexpanded surrounding points of the current point on that side on either side as expansion points, and continues until the distance between the current point and the adjacent surrounding points on that side is greater than a first threshold, at which point expansion of that side is stopped. In response to the sum of the distances between the adjacent expansion points being greater than a second threshold, the expansion process ends.

[0065] For each current point except the reference point, the current point is obtained by expanding the previous current point. Therefore, on either side of the current point, the adjacent point can be a peripheral point that has not been expanded, or a peripheral point that has been expanded, that is, the previous current point corresponding to the current point. The peripheral points that have been expanded do not need to be expanded again. Therefore, this application can only expand the adjacent and unexpanded peripheral points on that side of the current point.

[0066] It is understood that the farther the obstacle is from the D-type sweeping robot, the lower the D-type sweeping robot's recognition accuracy. If the distance between the current point and the adjacent peripheral points on that side is greater than the first threshold, it indicates that the obstacle is missing, or due to the sensor's recognition accuracy, the identified peripheral points are inaccurate. In this case, expansion can be stopped. Since the solution of the present application can periodically extract contour lines, a contour line is only used for one extraction cycle. Therefore, the length of the extracted contour line can be the length of the contour line that can support the movement of the sweeping robot within one extraction cycle. The second threshold is the length of the contour line that can support the movement of the sweeping robot within one extraction cycle. The sum of the distances between adjacent extension points can be understood as the total length of the extension points extended to both sides, which is equivalent to the length of the contour line fitted by each extension point. Therefore, if the sum of the distances between adjacent extension points is greater than the second threshold, the contour line fitted by each extension point can be used within one extraction cycle, and the expansion process can be terminated.

[0067] In the obstacle map, the center of the D-type sweeping robot is used as the starting point of the ray, and a ray is emitted at a certain angle to detect the peripheral points of the D-type sweeping robot. The coordinate point of the obstacle closest to the center point on each ray is the peripheral point.

[0068] The reference point and the obtained extension points are fitted to obtain the contour line of the obstacle located on the specified side of the D-type sweeping robot. Specifically, the reference point and the obtained extension points are used to perform least squares method to obtain the expression of the contour line, thereby determining the contour line.

[0069] like Figure 3 As shown in the figure, the black dots on the right side of the D-type sweeping robot are the peripheral points, and the white dots are the non-peripheral points. Figure 3 The obstacle outline in .

[0070] like Figure 4 As shown in FIG, the black solid line on the right side of the D-type sweeping robot is a detected partial obstacle contour line, that is, an extracted contour line. Figure 4 The dotted line on the right side of the D-type sweeping robot is the obstacle outline.

[0071] Figure 3 and Figure 4 The D-type sweeping robot is Figure 1 The structure of the D-type sweeping robot will not be described in detail here.

[0072] S202. When the target contour line is of a straight line type, the D-type sweeping robot is controlled to move according to a first control method so that the difference between the detection distance detected by the sensor and the first edge distance during the movement is maintained within a first allowable error range; the first control method includes: for each moment, based on the first edge distance and the detection distance at that moment, determining the angular velocity at that moment; and, according to the determined angular velocity, controlling the movement of the D-type sweeping robot, and periodically extracting the contour line of the obstacle located on the specified side.

[0073] The first edge distance is a pre-set safety distance that ensures that the D-type robot does not collide. Different D-type sweeping robots may have different corresponding first edge distances due to their different sizes. The same D-type sweeping robot may also have different corresponding first edge distances in different cleaning environments. This application does not limit the specific value of the first edge distance.

[0074] The detection distance detected by the sensor is: the distance detected by the sensor to the obstacle located on a specified side of the D-type sweeping robot.

[0075] At each moment, the angular velocity at that moment is determined based on the first edge distance and the detection distance at that moment; and the movement of the D-type sweeping robot is controlled according to the determined angular velocity, so as to control the difference between the D-type sweeping robot and the first edge distance to remain within a first allowable error range. It is understood that when the D-type sweeping robot rotates, the distance between the body and the target contour line may change, and the angular velocity can be used to control the rotation direction and size of the sweeping robot so that the distance between the body of the D-type sweeping robot and the target contour line approaches the first edge distance, that is, the difference between the distance between the body of the D-type sweeping robot and the target contour line and the first edge distance remains within the first allowable error range.

[0076] When controlling a D-type robot vacuum cleaner in the first control mode, the edge distance of the D-type robot vacuum cleaner, i.e., the distance between the body of the D-type robot vacuum cleaner and a contour line, may refer to a detection distance obtained by a sensor. In the first control mode, the first edge distance is a predetermined safety distance that ensures the D-type robot avoids collisions when the detection distance obtained by the sensor is used as the edge distance. Thus, collisions can be effectively reduced when cleaning along edges in accordance with the first control mode.

[0077] It should be noted that the solution of the present application can only be used to control the D-type sweeping robot to move according to the calculated angular velocity when cleaning along the edge, so as to control the edge distance between the D-type sweeping robot and the contour line, and the speed at which the sweeping robot moves along the target contour line is not limited in this application.

[0078] The angular velocity at each moment determined in this application can be used to control the difference between the detection distance obtained by the sensor of the D-type sweeping robot and the first edge distance to remain within a first allowable error range between that moment and the next moment, and the time interval between two adjacent moments can be pre-set, which is not limited in this application. For example, different time intervals can be set for different D-type sweeping robots and in different cleaning environments.

[0079] Since the detection range of the D-type robot vacuum is limited, the target contour line extracted is only the partial contour line corresponding to the area to be cleaned. Therefore, in order to continuously clean along the edge, the robot vacuum can periodically extract the contour line of the obstacle located on the designated side of the D-type robot vacuum to obtain the latest target contour line.

[0080] A D-type sweeping robot moving along a non-straight target contour is more likely to collide than if it moves along a straight target contour. Therefore, when the target contour is not a straight line, the present application can control the movement of the D-type sweeping robot based on a third edge distance, so that the difference between the detection distance detected by the sensor and the third edge distance during movement remains within a third allowable error range; wherein the third edge distance is greater than the first edge distance.

[0081] Therefore, when the target contour line is not a straight line type, the solution of the present application controls the edge distance of the D-type sweeping robot to approach a third edge distance with a larger value, which can effectively reduce the collision of the D-type sweeping robot when cleaning along the edge.

[0082] S203: In response to the motion state of the D-type sweeping robot meeting the state stability condition, and based on the periodically extracted contour lines, identifying that the contour line of the obstacle located on the designated side meets the contour line stability condition, reducing the first edge distance to obtain a second edge distance;

[0083] The contour line of the obstacle meets the contour line stability condition, specifically, the contour line stability condition for a straight line type. When the motion state of the D-type sweeping robot meets the state stability condition, and the contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour line stability condition for a straight line type, it indicates that the motion state of the D-type sweeping robot is stable, and the contour line of the obstacle located on the designated side of the D-type sweeping robot is stable as a straight line. At this time, the probability of the D-type sweeping robot colliding is low, and the first edge distance can be reduced to obtain a second edge distance, so that the movement of the D-type sweeping robot can be subsequently controlled based on the second edge distance according to the second control method.

[0084] S204, controlling the D-type sweeping robot to move according to a second control mode so that a difference between the detection distance detected by the sensor and the second edge distance during the movement remains within a second allowable error range;

[0085] The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line.

[0086] During the process of controlling the movement of the D-type sweeping robot according to the second control mode, the angular velocity is determined at each moment based on the second edge distance and the closest distance at that moment. Using the calculated angular velocity, the difference between the closest distance and the second edge distance can be controlled to remain within a second allowable error range. In the second control mode, the closest distance is used as the edge distance of the D-type sweeping robot. The closest distance is the minimum distance between the edge of the body on the designated side and the current contour line. It should be understood that the detection distance detected by the sensor of the D-type sweeping robot is the distance between the detection sensor and the contour line, and is not necessarily the minimum distance between the D-type sweeping robot and the current contour line. In some cases, the minimum distance between the D-type sweeping robot and the current contour line is smaller than the detection distance currently detected by the sensor. The closest distance can more accurately represent the distance between the D-type sweeping robot and the contour line. Therefore, in the second control mode, using the closest distance as the edge distance of the D-type sweeping robot can more accurately control the distance between the D-type sweeping robot and the contour line.

[0087] Furthermore, because the second edge distance is smaller than the first edge distance, when controlling the D-type sweeping robot to perform edge cleaning according to the second edge distance, if the detection distance detected by the sensor is still used as the edge distance, the D-type sweeping robot may be prone to collisions due to the fact that in some cases the minimum distance between the D-type sweeping robot and the current contour line is smaller than the detection distance currently detected by the sensor. Therefore, in the second control mode, when controlling the movement of the D-type sweeping robot, the present application uses the minimum distance as the edge distance of the D-type sweeping robot, which can effectively reduce the probability of collisions.

[0088] The present application determines the angular velocity at each moment, which can be used to control the difference between the detection distance obtained by the sensor of the D-type sweeping robot and the second edge distance between the moment and the next moment to remain within the second allowable error range, and the time interval between two adjacent moments can be pre-set, and the present application does not limit this. For example, different time intervals can be set for different D-type sweeping robots and in different cleaning environments.

[0089] Optionally, the method further includes:

[0090] In the process of controlling the movement of the D-type sweeping robot according to the second control method, if the difference between the detection distance detected by the sensor and the second edge distance is greater than the first target difference value, the step of extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot is returned to as the target contour line.

[0091] Returning to the step of extracting the outline of the obstacle on the specified side of the D-shaped robot vacuum as the target outline, a new round of obstacle outline extraction begins. The target edge distance can be increased to the first edge distance for edge cleaning. The target edge distance is the desired distance between the D-shaped robot vacuum and the obstacle outline.

[0092] If the difference between the detected distance and the second edge distance detected by the sensor is greater than the first target difference, it can be indicated that the detection value of the sweeping robot far exceeds the second edge distance. This may be caused by the current contour line not being the same straight line as the contour line corresponding to the second stage. At this point, the second control mode can be terminated and the process can be returned to extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot as the target contour line. Subsequently, the corresponding control steps can be executed based on whether the extracted target contour line is a straight line.

[0093] Furthermore, the method may also include: in the process of controlling the movement of the D-type sweeping robot according to the first control mode, if the difference between the detection distance detected by the sensor and the second edge distance is greater than the second target difference value, then returning to the step of extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot as the target contour line.

[0094] The principle of this step is the same as the principle of the above-mentioned step of extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot as the target contour line when the difference between the detection distance detected by the sensor and the second edge distance is greater than the first target difference value during the process of controlling the movement of the D-type sweeping robot according to the second control mode. Detailed description is omitted here. The first target difference value and the second target difference value can be set according to the specific use scenario. The first target difference value and the second target difference value can be the same or different, and this application does not impose any restrictions on this.

[0095] In the solution of the present application, after determining that the contour line of the obstacle located on the designated side of the D-type sweeping robot is of the straight line type, the D-type sweeping robot is controlled to move according to a first control mode so that the difference between the detection distance detected by the sensor and the first edge distance during the movement is maintained within a first allowable error range. In the process of controlling the movement of the D-type sweeping robot according to the first control mode, if the movement state of the D-type sweeping robot meets the state stability condition, and based on the periodically extracted contour line, it is identified that the contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour line stability condition for the straight line type, the first edge distance is adjusted to a smaller value to obtain a second edge distance. Then, the D-type sweeping robot is controlled to move according to a second control mode so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range. In the present application, the closest distance is the minimum distance between the edge of the body on the designated side and the current contour line. The second control method of the present application can control the minimum distance between the edge of the D-type sweeping robot body and the current contour line to be maintained near a second edge distance that is smaller than the first edge distance, so that the D-type sweeping robot can perform edge cleaning according to the second edge distance. It can be seen that the solution of the present application, through the first control method and the second control method, can control the edge distance of the D-type sweeping robot to approach the relatively small second edge distance, thereby effectively reducing the occurrence of missed sweeps during edge cleaning.

[0096] In addition, after the motion state of the D-type sweeping robot is stabilized and the contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour line stability condition for the straight line type, the present application uses a second control method to control the D-type sweeping robot to use the second edge distance as the target edge distance for edge cleaning, which can effectively reduce the collision of the D-type sweeping robot. The angular velocity for controlling the edge distance of the D-type sweeping robot is determined using the closest distance, so that the determined angular velocity can be used to control the closest distance of the D-type sweeping robot to approach the second edge distance, that is, the closest distance is used as the edge distance of the D-type sweeping robot, so that the collision of the D-type sweeping robot can be more effectively reduced. It can be seen that the solution of the present application can effectively reduce the collision of the D-type sweeping robot on the basis of effectively reducing the occurrence of missed sweeps.

[0097] Optionally, a method for determining whether the motion state of the D-type sweeping robot meets the state stability condition includes:

[0098] Determining whether a time period during which a difference between a detection distance obtained by the sensor and the first edge distance remains within a first allowable error range reaches a predetermined time period;

[0099] If yes, it is determined that the motion state of the D-type sweeping robot meets the state stability condition; otherwise, it is determined that the motion state of the D-type sweeping robot does not meet the state stability condition.

[0100] During the process of controlling the movement of the sweeping robot according to the first control mode, the sensor may continuously perform detection, and use the detection distance obtained to determine whether the movement state of the D-type sweeping robot meets the state stability condition.

[0101] The predetermined time length can be set according to the scenario and the model of the D-type sweeping robot. This application does not limit the size of the predetermined time length.

[0102] A method for identifying, based on the periodically extracted contour lines, whether the contour line of an obstacle located on a specified side of the D-type sweeping robot meets a straight line type contour line stability condition includes:

[0103] Determine whether the slope changes of n contour lines are all no greater than a first threshold, and whether the goodness of fit of the n contour lines is all greater than a second threshold; wherein the n contour lines are contour lines extracted n times consecutively from periodically extracted contour lines, the n consecutive times including the most recent time; the slope change of each contour line is the change in the slope of the contour line relative to the slope of the contour line extracted the previous time corresponding to the contour line;

[0104] If so, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which meets the contour line stability condition for the straight line type; otherwise, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which does not meet the contour line stability condition for the straight line type.

[0105] The specific value of n can be set according to the actual scenario, and this application does not impose any restrictions on this. The change in the slope of any contour line can be the change in the slope of the contour line relative to the slope of the last extracted contour line corresponding to the contour line. If the slope change is not greater than the first threshold, it can be said that the two contour lines belong to the same straight line. The goodness of fit is used to evaluate the degree of fit of the straight line. The closer its value is to 1, the closer the obstacle contour line connected by the extension points is to a straight line.

[0106] The calculation formula for goodness of fit is as follows;

[0107]

[0108] Among them, R 2 Indicates the goodness of fit of the contour line, which can range from [0,1]; RSS is the residual sum of squares, and TSS is the total sum of squares. where y i is the value of the ordinate of the reference point and the midpoint i of each extension point used when extracting the contour line. is the value of the ordinate corresponding to the abscissa of point i on the obstacle contour line, is the average value of the vertical coordinates of the reference point and each extension point.

[0109] If it is determined that the motion state of the D-type sweeping robot does not meet the state stability condition, or if the identified contour line of the obstacle located on the designated side of the D-type sweeping robot does not meet the contour stability condition for a straight line type, then the D-type sweeping robot continues to be controlled according to the first control mode. If it is determined that the motion state of the D-type sweeping robot meets the state stability condition, and if the identified contour line of the obstacle located on the designated side of the D-type sweeping robot meets the contour stability condition for a straight line type, then S103 is executed.

[0110] The solution of this embodiment can effectively determine whether the motion state of the D-type sweeping robot meets the state stability condition, and whether the contour line of the obstacle located on the specified side of the D-type sweeping robot meets the contour line stability condition for the straight line type.

[0111] Optionally, determining the angular velocity at the moment based on the first edge distance and the detection distance at the moment includes:

[0112] Calculating the angular velocity at the moment based on the first edge distance, the detection distance detected by the sensor at the moment, the slope of the current contour line, the angle between the movement direction of the D-type sweeping robot and the current contour line at the moment, the detection distance detected by the sensor at the previous moment, the slope of the contour line corresponding to the previous moment, and the angle between the movement direction of the D-type sweeping robot at the previous moment and the contour line corresponding to the previous moment;

[0113] The current contour line is the most recently extracted contour line of the obstacle located on the designated side of the D-type sweeping robot, and the contour line corresponding to the previous moment is the designated contour line among the extracted contour lines.

[0114] The time difference between two adjacent moments may be fixed. Therefore, the time difference between the extraction time of the designated contour line and the current contour line may be fixed, that is, the time difference between two adjacent moments.

[0115] Specifically, the angular velocity can be calculated using the following formula:

[0116] W t =P t +I t +D t .

[0117] W t is the angular velocity, when W t When it is >0, it means the sweeper rotates counterclockwise, otherwise it means the sweeper rotates clockwise.

[0118] P t For proportional control, I t For integral control, D t For differential control.

[0119] P t The calculation method is:

[0120] P t =P d,t +P θ,t ;

[0121] P d,t =K pd ·(ξ1-χ t );

[0122] P θ,t =K pθ ·(θ t -φ t ).

[0123] I t The calculation method is:

[0124] I t=I d,t +I θ,t ;

[0125] I d,t =K Id ·(ξ1-χ t +ξ1-χ t-1 );

[0126] I θ,t =K Iθ ·(θ t -φ t +θ t-1 -φ t-1 ).

[0127] D t The calculation method is:

[0128] D t =D d.t +D θ.t ;

[0129] D d.t =K Dd ·(O d,t -O d,t-1 );

[0130] D θ.t =K Dθ ·(P θ,t -P θ,t-1 ).

[0131] Wherein, t refers to the current moment, and in this embodiment, the current moment is the moment when the D-type sweeping robot is controlled to move in accordance with the first control mode, ξ1 is the first edge distance, χ t is the detection distance obtained by the sensor at the time t, θ t is the angle between the moving direction of the D-type sweeping robot and the current contour line at this moment, φ t is the slope of the current contour line, χ t-1 is the detection distance obtained by the sensor at the previous moment, θ t-1 is the angle between the movement direction of the D-type sweeping robot at the previous moment and the corresponding contour line at the previous moment, φ t-1 is the slope of the contour line corresponding to the previous moment; K pd , K pθ , K Id , K Iθ , K Dd and K DθPID (Proportional, Integral, and Derivative) coefficients are predetermined and, in this application, can be uniformly dimensioned to the dimension of angular velocity. The angle between the movement direction of the D-type sweeping robot and the current contour line can be determined using the obstacle map or a line laser sensor. This application does not limit the method for determining the angle between the movement direction of the D-type sweeping robot and the current contour line.

[0132] Optionally, determining the angular velocity at the moment based on the second edge distance and the closest distance at the moment includes:

[0133] Calculate the angular velocity at this moment using the second edge distance, the closest distance at this moment, the slope of the target contour line, the angle between the movement direction of the D-type sweeping robot and the current contour line, the closest distance at the previous moment, and the angle between the movement direction of the D-type sweeping robot at the previous moment and the contour line corresponding to the previous moment;

[0134] The contour line is the contour line of the obstacle located on the specified side of the D-type sweeping robot obtained by the most recent extraction; the slope of the target contour line is the slope of the contour line when the motion state of the D-type sweeping robot meets the state stability condition and the contour line of the obstacle located on the specified side of the D-type sweeping robot meets the contour line stability condition for the straight line type.

[0135] Specifically, the angular velocity can be calculated using the following formula:

[0136] W t =P t +I t +D t .

[0137] W t is the angular velocity, when W t When it is >0, it means the sweeper rotates counterclockwise, otherwise it means the sweeper rotates clockwise.

[0138] P t For proportional control, I t For integral control, D t For differential control.

[0139] P t The calculation method is:

[0140] P t =P d,t +P θ,t ;

[0141] P d,t =K pd·(ξ2-c t );

[0142] P θ,t =K pθ ·(θ t -φ).

[0143] I t The calculation method is:

[0144] I t =I d,t +I θ,t ;

[0145] I d,t =K Id ·(ξ2-c t +ξ2-c t-1 );

[0146] I θ,t =K Iθ ·(θ t -φ+θ t-1 -φ).

[0147] D t The calculation method is:

[0148] D d.t =K Dd ·(P d,t -P d,t-1 );

[0149] D θ.t =K Dθ ·(P θ,t -P θ,t-1 );

[0150] D t =D d.t +D θ.t .

[0151] Wherein, t refers to the current moment, and in this embodiment, the current moment is the moment when the D-type sweeping robot is controlled to move in accordance with the second control mode, ξ2 is the second edge distance, c t is the shortest distance at that moment, θ t is the angle between the moving direction of the D-type sweeping robot and the current contour line at this moment, φ is the slope of the target contour line, c t-1 is the closest distance at the previous moment, θ t-1 It is the angle between the movement direction of the D-type sweeping robot at the previous moment and the corresponding contour line at the previous moment.

[0152] Optionally, the method for calculating the shortest distance at any moment includes:

[0153] Based on the detection distance obtained by the sensor at that moment, a first auxiliary distance between a first auxiliary point of the D-type sweeping robot and a current contour line, and a second auxiliary distance between a second auxiliary point of the D-type sweeping robot and the current contour line are calculated; wherein the current contour line is a contour line of an obstacle located on a designated side of the D-type sweeping robot obtained by the most recent extraction; the first auxiliary point is an intersection point of a front side baffle of the D-type sweeping robot and the designated side baffle, and the second auxiliary point is an intersection point of the designated side baffle of the D-type sweeping robot and the semicircular structure;

[0154] The distance with the smaller value between the first auxiliary distance and the second auxiliary distance is used as the closest distance at that moment.

[0155] The closest distance is the closest vertical distance between the outer contour of the D-shaped sweeping robot body and the current contour line.

[0156] like Figure 5 As shown, C t The distance represented is the shortest distance of the D-type sensor at the current moment. Figure 5 The D-type sweeping robot is Figure 1 The structure of the D-type sweeping robot is not described in detail here. Figure 5 The middle dotted line is the outline of the obstacle.

[0157] Next, a specific method for calculating the first auxiliary distance and the second auxiliary distance is introduced.

[0158] The distance between the first auxiliary point and the sensor, and the distance between the second auxiliary point and the sensor, may be predetermined. In this embodiment, the angle between the D-type sweeping robot and the contour line may be the angle when the straight line corresponding to the movement direction of the D-type sweeping robot intersects the contour line. The position of the sensor is recorded as point A, the position of any one of the first auxiliary point and the second auxiliary point is recorded as point B, the distance between point A and the contour line is recorded as distance 1, the distance between point A and the contour line is recorded as distance 2, the distance between point A and point B is distance 3, the angle between the D-type sweeping robot and the contour line is θ, then the calculation method of distance 2 can be: distance 1-distance 3×sinθ.

[0159] This embodiment only provides a method for calculating the first auxiliary distance and the second auxiliary distance. This application does not limit the method for calculating the first auxiliary distance and the second auxiliary distance. Any method for calculating the first auxiliary distance and the second auxiliary distance can be applied to the solution of this application.

[0160] Below, a control method of a D-type sweeping robot of the present application is introduced using a specific embodiment.

[0161] Figure 6 This is a flow chart of a control method for a D-type sweeping robot provided in this application. Figure 6 As shown, the method includes:

[0162] S601: Generate an obstacle map.

[0163] In this embodiment, the D-type sweeping robot is Figure 1 For a corresponding D-type sweeping robot, the designated side of the D-type sweeping robot is the right side.

[0164] During the D-type robot vacuum's motion, the execution entity can collect obstacle distance data detected by the robot's onboard detection sensors. This data is dynamically populated into an obstacle map, forming a real-time updated environment model. Specifically, the sensors can be line laser sensors and PSD / TOF detection sensors, and the obstacle map can be generated based on the data detected by the line laser sensors and PSD / TOF detection sensors.

[0165] S602: Extract obstacle contours.

[0166] When the D-type sweeping robot is performing edge cleaning, the execution entity can extract the obstacle contour line on its right side from the obstacle map.

[0167] The method for extracting obstacle contours is as follows.

[0168] Step 1. Extract obstacle data for the peripheral points on the right side of the D-type robot vacuum cleaner based on the obstacle map. Peripheral points refer to the coordinates of the obstacles closest to the center point of the D-type robot vacuum cleaner.

[0169] Step 2. Get the closest point. The closest point refers to the point closest to the center point of the D-type sweeping robot among the surrounding points extracted in the previous step.

[0170] Step 3. Expand both sides based on the closest point. When expanding both sides, the distance between the next expansion point and the previous expansion point on that side is less than threshold 1. If the distance between each expansion point on both sides and the previous expansion point on that side is greater than threshold 1 or the total length of the expansion on both sides exceeds threshold 2, then the expansion ends.

[0171] Step 4. Use the least squares method to perform straight line fitting on the extension points.

[0172] S603, controlling the D-type sweeping robot to be parallel to the contour line direction.

[0173] The D-type sweeping robot is controlled to rotate and other actions so that the direction of the D-type sweeping robot remains approximately parallel to the extracted obstacle contour line.

[0174] S604: extract the contour line again and calculate the goodness of fit.

[0175] After the D-type sweeping robot completes its rotation alignment, the obstacle contour line on the right side of the D-type sweeping robot is extracted again. This is because during the rotation of the D-type sweeping robot, its detection sensor may collect more obstacle contour data.

[0176] The goodness of fit can be calculated while performing the linear fitting on the extension points using the least square method.

[0177] Goodness of fit is used to evaluate the degree of fit of a straight line. The closer its value is to 1, the closer the obstacle contour line formed by the extended points is to a straight line. The calculation formula is as follows;

[0178]

[0179] Among them, R 2 Indicates the goodness of fit, which can range from [0,1]. RSS is the residual sum of squares of the straight line fit, and TSS is the total sum of squares.

[0180] S602 - S604 correspond to the method of extracting the outline of the obstacle located on the designated side of the D-type sweeping robot in the above embodiment.

[0181] S605: Determine whether the goodness of fit exceeds a threshold.

[0182] After the obstacle contour is extracted, the goodness of fit is used to determine whether the right obstacle contour is a straight line. If the goodness of fit exceeds a threshold, the contour can be considered to be essentially a straight line. Otherwise, it is a curve or does not yet meet the straight line characteristics. The threshold can be set according to the actual situation, for example, it can be set to 0.95.

[0183] If it exceeds, execute S607; otherwise, execute S606.

[0184] S605 corresponds to the method of identifying whether the contour line of the obstacle located on the designated side of the D-type cleaning robot meets the straight line type contour line stability condition based on the periodically extracted contour lines in the above embodiment.

[0185] S606, cleaning along the edge with a relatively large distance along the edge.

[0186] When the obstacle's outline is curved or temporarily lacks straight-line characteristics, a relatively large and reasonable target edge distance is set to control the D-type sweeper's side sensor detection value to remain roughly within a certain range of this distance during edge cleaning. Because the obstacle distance measured by the D-type sweeper's side sensor is the distance from the emission point to the obstacle's outer contour, this distance is generally greater than the actual closest distance between the D-type sweeper body and the obstacle. Therefore, by properly setting the target edge cleaning distance, not only can the D-type sweeper maintain a relatively safe distance range during edge cleaning, but it can also effectively reduce the frequency of collisions with obstacles, thereby improving cleaning efficiency and safety.

[0187] S606 corresponds to controlling the movement of the D-type sweeping robot based on the third edge distance when the target contour line is not a straight line type.

[0188] S607, set the medium edge distance.

[0189] When the obstacle contour is a straight line, the D-type sweeper's extreme edge cleaning function is activated. This function allows the sweeper to clean along the edge of a straight obstacle with higher precision, thereby optimizing the cleaning effect while reducing the risk of collision with obstacles. Due to its D-shaped structural design, when the D-type sweeping robot performs edge cleaning, it is subject to interference such as unstable motion control, sensor noise, and calculation errors in extracting contours through obstacle maps. The right side impact plate of the D-type sweeping robot and the right top corner of its front impact plate are very likely to collide or scratch with the obstacle contour along which it is moving, thereby reducing the smoothness of movement and cleaning efficiency of edge cleaning. Among them, the medium edge distance is the first edge distance mentioned above.

[0190] S608, first stage PID controller control.

[0191] In the first stage of PID control, the initial target edge distance is set to a relatively medium value. The PID controller is used to control the D-type sweeping robot during the edge cleaning process, and the detection value of its side sensor approaches its target edge distance.

[0192] The PID controller controls the angular velocity and direction of the D-type sweeping robot. The PID controller mainly consists of three parts: proportional (P) control, integral (I) control, and differential (D) control.

[0193] The control of the ratio (P) of the D-type sweeping robot's motion along the edge is divided into the ratio of the distance difference between the D-type sweeping robot and the target along the edge (P d ) control and the ratio of the angle difference between the movement direction of the D-type sweeping robot and the direction of the obstacle contour line (P θ ) control. The ratio P at time t t The calculation formula is as follows:

[0194] P d,t =K pd ·(ξ1-χ t );

[0195] P θ,t =K pθ ·(θ t -φ t );

[0196] P t =P d,t +P θ,t ;

[0197] Among them, t refers to the current time, χ t is the detection distance obtained by the sensor at the time t, θ t is the angle between the moving direction of the D-type sweeping robot and the current contour line at this moment, φ t is the slope of the current contour line, X t-1 K is the detection distance obtained by the sensor at the previous moment, pd and K pθ is the PID coefficient, which is predetermined.

[0198] The integral (I) control of the D-type sweeping robot along the edge is divided into the integral (I d ) control and the integral of the angle difference between the movement direction of the D-type sweeping robot and the direction of the obstacle contour line (I θ ) control. In the PID algorithm proposed in this application, the calculation formula of the integral (I) is simplified, and only the error at the previous moment is accumulated. The integral I at time t t The calculation formula is as follows.

[0199] I d,t =K Id ·(ξ1-χ t +ξ1-χ t-1 );

[0200] I θ,t =K Iθ ·(θ t -φ t +θ t-1 -φ t-1 );

[0201] I t =I d,t +I θ,t ;

[0202] Among them, K Id and K Iθis the PID coefficient, which is predetermined.

[0203] The differential (D) control of the D-type sweeping robot along the edge is divided into the differential (D) of the distance difference between the D-type sweeping robot and the target along the edge. d ) control and the differential of the angle difference between the moving direction of the D-type sweeping robot and the direction of the obstacle contour line (D θ ) control. The differential D at time t t The calculation formula is as follows.

[0204] D d.t =K Dd ·(P d,t -P d,t-1 );

[0205] D θ.t =K Dθ ·(P θ,t -P θ,t-1 );

[0206] D t =D d.t +D θ.t ;

[0207] Among them, K Dd and K Dθ is the PID coefficient, which is predetermined.

[0208] Combining the above formulas, the formula for calculating the angular velocity of the D-type sweeping robot at time t is as follows.

[0209] W t =P t +I t +D t ;

[0210] Among them, W t is the angular velocity, when W t When >0, it means the sweeping robot rotates counterclockwise, otherwise it means the sweeping robot rotates clockwise, otherwise it means the D-type sweeping robot rotates clockwise.

[0211] S607-S608 correspond to the above-mentioned S202.

[0212] S609, continue to collect side sensor data.

[0213] S610, continuously extracting contour lines and calculating goodness of fit.

[0214] During the first phase, the D-type sweeping robot continuously collects detection data from its side sensors. A straight line fit is performed at regular intervals, and its fitting equation and goodness of fit are recorded. When the detection values of the D-type sweeping robot's side sensors stabilize within a certain range of the target edge distance ξ1, a backtracking search is performed for the straight line fitting equation and goodness of fit for the previous n frames (generally greater than 5 frames). When the slope of the fitted straight line for the current n frames does not change by more than a threshold of 4, and the goodness of fit is greater than a threshold of 5 (higher than a threshold of 3), the side obstacle contour equation is considered to be essentially stable, and the D-type sweeping robot has reached a stable motion state. At this point, the D-type sweeping robot is ready to enter the second phase of extreme edge cleaning.

[0215] S611, judging whether the first stage has converged and whether the contour line quality is stable.

[0216] If yes, execute S612; otherwise, continue to execute S608.

[0217] S612, reduce the target edge distance.

[0218] S609-S612 correspond to the above-mentioned S203. The target edgewise distance is the above-mentioned second edgewise distance.

[0219] S613, second stage PID controller control.

[0220] In the second stage, the D-type sweeping robot begins to perform extreme edge cleaning. Since the D-type sweeping robot obtained the correct slope of the edge wall line / obstacle contour line in the first stage and the movement is stable, the slope of the obstacle contour line is no longer updated in the second stage. The target edge distance is reduced to ξ2 (ξ2<ξ1), and the PID controller is still used to control the angular velocity and direction of the D-type sweeping robot. At this stage, continuing to use the detection value of the side sensor cannot truly reflect the distance between the fuselage and the obstacle contour. Instead, it will interfere with the PID controller of the D-type sweeping robot and cause a collision accident. Therefore, this application uses the closest distance c between the fuselage and the obstacle contour line equation. t Replace χ t .

[0221] The proportion P at the current time t t The calculation formula is as follows.

[0222] P d,t =K pd ·(ξ2-c t );

[0223] P θ,t =K pθ ·(θ t -φ);

[0224] Pt =P d,t +P θ,t .

[0225] Among them, c t Represents the shortest distance between the fuselage and the obstacle contour equation at time t, θ t represents the movement direction of the D-type sweeping robot at time t, and φ represents the stable slope of the obstacle contour line.

[0226] The integral I at the current time t t The calculation formula is as follows.

[0227] I d,t =K Id ·(ξ2-c t +ξ2-c t-1 );

[0228] I θ,t =K Iθ ·(θ t -φ+θ t-1 -φ);

[0229] I t =I d,t +I θ,t .

[0230] Among them, c t-1 is the closest distance at the previous moment, θ t-1 The movement direction of the D-type sweeping robot at the previous moment.

[0231] The differential D at the current time t t The calculation formula is as follows.

[0232] D d.t =K Dd ·(P d,t -P d,t-1 );

[0233] D θ.t =K Dθ ·(P θ,t -P θ,t-1 );

[0234] D t =D d.t +D θ.t ;

[0235] The angular velocity formula of the D-type sweeping robot at time t is as follows.

[0236] W t =P t +I t +D t .

[0237] S613 corresponds to the above-mentioned S204.

[0238] This embodiment employs a step-wise reduction of the target edge distance to reduce the effects of control instability. It continuously collects data from the side sensors to obtain a more accurate and stable obstacle contour. When using a PID controller to control the D-type robot vacuum for edge cleaning, the closest distance between the robot and the obstacle contour equation replaces the side sensor detection value. Consequently, this embodiment enables the ultimate edge cleaning capability of a D-type robot vacuum even with limited sensor resources, significantly reducing missed cleanings and collisions during edge cleaning, and achieving stable, smooth, and efficient edge cleaning.

[0239] Corresponding to the control method of a D-type sweeping robot provided in the above embodiment of the present application, the embodiment of the present application also provides a control device for a D-type sweeping robot, such as Figure 7 As shown, the device includes:

[0240] The extraction module 701 is used to extract the outline of the obstacle located on a designated side of the D-type sweeping robot as a target outline; the designated side is the side where the sensor is installed;

[0241] A first control module 702 is configured to control the movement of the D-type sweeping robot according to a first control mode when the target contour line is a straight line, so that the difference between the detection distance detected by the sensor and the first edge distance during movement remains within a first allowable error range. The first control mode includes: determining an angular velocity at each moment based on the first edge distance and the detection distance at that moment; and controlling the movement of the D-type sweeping robot according to the determined angular velocity, and periodically extracting the contour line of the obstacle located on a specified side.

[0242] an adjusting module 703 for, in response to the motion state of the D-type sweeping robot meeting the state stability condition and identifying, based on the periodically extracted contour lines, that the contour line of the obstacle located on the designated side meets the contour line stability condition, reducing the first edge distance to obtain a second edge distance;

[0243] The second control module 704 is configured to control the movement of the D-type sweeping robot in accordance with a second control mode, so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range;

[0244] The second control method includes: for each moment, based on the second edge distance and the minimum distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the minimum distance is: the minimum distance between the edge of the body and the current contour line. Optionally, the method for determining whether the movement state of the D-type sweeping robot meets the state stability condition includes:

[0245] Determining whether a time period during which a difference between a detection distance obtained by the sensor and the first edge distance remains within a first allowable error range reaches a predetermined time period;

[0246] If yes, it is determined that the motion state of the D-type sweeping robot meets the state stability condition; otherwise, it is determined that the motion state of the D-type sweeping robot does not meet the state stability condition;

[0247] A method for identifying, based on the periodically extracted contour lines, whether the contour line of an obstacle located on a specified side of the D-type sweeping robot meets a straight line type contour line stability condition includes:

[0248] Determine whether the slope changes of n contour lines are all no greater than a first threshold, and whether the goodness of fit of the n contour lines is all greater than a second threshold; wherein the n contour lines are contour lines extracted n times consecutively from periodically extracted contour lines, the n consecutive times including the most recent time; the slope change of each contour line is the change in the slope of the contour line relative to the slope of the contour line extracted the previous time corresponding to the contour line;

[0249] If so, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which meets the contour line stability condition for the straight line type; otherwise, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which does not meet the contour line stability condition for the straight line type.

[0250] Optionally, the first control module includes:

[0251] a first calculation unit, configured to calculate the angular velocity at a moment based on the first edge distance, the detection distance detected by the sensor at a moment, the slope of the current contour line, the angle between the movement direction of the D-type sweeping robot and the current contour line at a moment, the detection distance detected by the sensor at a previous moment, the slope of the contour line corresponding to the previous moment, and the angle between the movement direction of the D-type sweeping robot at a previous moment and the contour line corresponding to the previous moment;

[0252] The current contour line is the most recently extracted contour line of the obstacle located on the designated side of the D-type sweeping robot, and the contour line corresponding to the previous moment is the designated contour line among the extracted contour lines.

[0253] Optionally, the second control module includes:

[0254] a second calculation unit, configured to calculate the angular velocity at a given moment by using the second edge distance, the closest distance at the given moment, the slope of the target contour line, the angle between the movement direction of the D-type sweeping robot and the current contour line, the closest distance at a previous moment, and the angle between the movement direction of the D-type sweeping robot at a previous moment and the contour line corresponding to the previous moment;

[0255] Among them, the contour line is the contour line of the obstacle located on the specified side of the D-type sweeping robot obtained by the most recent extraction; the slope of the target contour line is the slope of the contour line when the motion state of the D-type sweeping robot meets the state stability condition and the contour line of the obstacle located on the specified side of the D-type sweeping robot meets the contour line stability condition for the straight line type.

[0256] Optionally, the device further includes:

[0257] The third control module is used to control the movement of the D-type sweeping robot based on the third edge distance after extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot as the target contour line when the target contour line is not a straight line type, so that the difference between the detection distance detected by the sensor and the third edge distance during the movement is kept within a third allowable error range; wherein, the third edge distance is greater than the first edge distance.

[0258] Optionally, the method for calculating the shortest distance at any moment includes:

[0259] Based on the detection distance obtained by the sensor at that moment, a first auxiliary distance between a first auxiliary point of the D-type sweeping robot and a current contour line, and a second auxiliary distance between a second auxiliary point of the D-type sweeping robot and the current contour line are calculated; wherein the current contour line is a contour line of an obstacle located on a designated side of the D-type sweeping robot obtained by the most recent extraction; the first auxiliary point is an intersection point of a front side baffle of the D-type sweeping robot and the designated side baffle, and the second auxiliary point is an intersection point of the designated side baffle of the D-type sweeping robot and the semicircular structure;

[0260] The distance with the smaller value between the first auxiliary distance and the second auxiliary distance is used as the closest distance at that moment.

[0261] Optionally, a method for extracting the outline of an obstacle located on a specified side of the D-type sweeping robot includes:

[0262] Extracting peripheral points on a designated side of the D-type sweeping robot from the obstacle map; wherein the peripheral points are coordinate points of obstacles closest to the center point on each ray starting from the center point of the D-type sweeping robot;

[0263] Determine the peripheral point closest to the D-type sweeping robot among the peripheral points as the reference point;

[0264] Based on the reference point, and in accordance with a specified expansion strategy, an expansion point is selected from each of the surrounding points to obtain a plurality of expansion points;

[0265] Fitting the reference point and each obtained extension point to obtain a contour line of the obstacle located on a specified side of the D-type sweeping robot;

[0266] The specified expansion strategy includes:

[0267] Taking the reference point as the current point;

[0268] For either side of the current point, adjacent and unexpanded surrounding points of the current point on that side are determined as expansion points, and the determined expansion points are used as the new current point. The process returns to the step of determining adjacent and unexpanded surrounding points of the current point on that side on either side as expansion points, until the distance between the current point and the adjacent surrounding points on that side is greater than a first threshold, then stopping the expansion of that side; and terminating the expansion process in response to the sum of the distances between the adjacent expansion points being greater than a second threshold.

[0269] Optionally, the device further includes:

[0270] The fourth control module is used to return to the step of extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot as the target contour line if the difference between the detection distance detected by the sensor and the second edge distance is greater than the first target difference value during the process of controlling the movement of the D-type sweeping robot according to the second control method.

[0271] The present application also provides a D-type sweeping robot. Figure 8 Shown, including:

[0272] Memory 801, used for storing computer programs;

[0273] The processor 802 is configured to implement any of the above-mentioned control methods for the D-type sweeping robot when executing the program stored in the memory 801 .

[0274] In addition, the above-mentioned D-type sweeping robot may further include a communication bus and / or a communication interface, and the processor 802, the communication interface, and the memory 801 communicate with each other via the communication bus.

[0275] The communication bus mentioned in the electronic device mentioned above may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is used in the figure, but this does not mean that there is only one bus or only one type of bus.

[0276] The communication interface is used for communication between the above electronic device and other devices.

[0277] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.

[0278] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0279] In another embodiment provided in the present application, a computer-readable storage medium is further provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of the control method of any of the above-mentioned D-type sweeping robots are implemented.

[0280] In another embodiment provided by the present application, a computer program product including instructions is further provided, which, when executed on a computer, enables the computer to execute any of the above-mentioned control methods for the D-type sweeping robot.

[0281] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrations. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a solid-state drive (SSD).

[0282] It should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply the existence of any such actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or device comprising the element.

[0283] Each embodiment in this specification is described in a related manner. The same or similar parts between the embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments.

[0284] The above description is only a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the scope of protection of the present application.

Claims

1. A control method for a D-type sweeping robot, characterized in that: include: Extracting the contour line of the obstacle located on a designated side of the D-type sweeping robot as the target contour line; the designated side is the side where the sensor is located; When the target contour line is a straight line, controlling the D-type sweeping robot to move according to a first control mode so that a difference between a detection distance detected by the sensor and a first edge distance during the movement is maintained within a first allowable error range; The first control method includes: determining, at each moment, an angular velocity at that moment based on the first edge distance and the detection distance at that moment; and controlling the D-type sweeping robot to move according to the determined angular velocity, and periodically extracting a contour line of an obstacle located on a specified side; In response to the motion state of the D-type sweeping robot meeting the state stability condition, and based on the periodically extracted contour lines, identifying that the contour line of the obstacle located on the specified side meets the contour line stability condition, reducing the first edge distance to obtain a second edge distance; According to the second control mode, the D-type sweeping robot is controlled to move so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range; The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line.

2. The method according to claim 1, characterized in that The method for determining whether the motion state of the D-type sweeping robot meets the state stability condition includes: Determining whether a time period during which a difference between a detection distance obtained by the sensor and the first edge distance remains within a first allowable error range reaches a predetermined time period; If yes, it is determined that the motion state of the D-type sweeping robot meets the state stability condition; otherwise, it is determined that the motion state of the D-type sweeping robot does not meet the state stability condition; A method for identifying, based on the periodically extracted contour lines, whether the contour line of an obstacle located on a specified side of the D-type sweeping robot meets a straight line type contour line stability condition includes: Determine whether the slope changes of n contour lines are all no greater than a first threshold, and whether the goodness of fit of the n contour lines is all greater than a second threshold; wherein the n contour lines are contour lines extracted n times consecutively from periodically extracted contour lines, the n consecutive times including the most recent time; the slope change of each contour line is the change in the slope of the contour line relative to the slope of the contour line extracted the previous time corresponding to the contour line; If so, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which meets the contour line stability condition for the straight line type; otherwise, the contour line of the obstacle located on the specified side of the D-type sweeping robot is identified, which does not meet the contour line stability condition for the straight line type.

3. The method according to claim 1, characterized in that The determining the angular velocity at the moment based on the first edge distance and the detection distance at the moment includes: Calculating the angular velocity at the moment based on the first edge distance, the detection distance detected by the sensor at the moment, the slope of the current contour line, the angle between the movement direction of the D-type sweeping robot at the moment and the current contour line, the detection distance detected by the sensor at the previous moment, the slope of the contour line corresponding to the previous moment, and the angle between the movement direction of the D-type sweeping robot at the previous moment and the contour line corresponding to the previous moment; The current contour line is the most recently extracted contour line of the obstacle located on the designated side of the D-type sweeping robot, and the contour line corresponding to the previous moment is the designated contour line among the extracted contour lines.

4. The method according to claim 1, wherein The determining the angular velocity at the moment based on the second edge distance and the closest distance at the moment includes: Calculate the angular velocity at this moment using the second edge distance, the closest distance at this moment, the slope of the target contour line, the angle between the movement direction of the D-type sweeping robot and the current contour line, the closest distance at the previous moment, and the angle between the movement direction of the D-type sweeping robot at the previous moment and the contour line corresponding to the previous moment; The contour line is the contour line of the obstacle located on the specified side of the D-type sweeping robot obtained by the most recent extraction; the slope of the target contour line is the slope of the contour line when the motion state of the D-type sweeping robot meets the state stability condition and the contour line of the obstacle located on the specified side of the D-type sweeping robot meets the contour line stability condition for the straight line type.

5. The method according to any one of claims 1 to 3, characterized in that After extracting the contour line of the obstacle located on the designated side of the D-type sweeping robot as the target contour line, the method further includes: When the target contour line is not a straight line type, the movement of the D-type sweeping robot is controlled based on the third edge distance so that the difference between the detection distance detected by the sensor and the third edge distance during the movement is kept within a third allowable error range; wherein, the third edge distance is greater than the first edge distance.

6. The method according to any one of claims 1 to 3, characterized in that The calculation method of the shortest distance at any moment includes: Based on the detection distance obtained by the sensor at that moment, a first auxiliary distance between a first auxiliary point of the D-type sweeping robot and a current contour line, and a second auxiliary distance between a second auxiliary point of the D-type sweeping robot and the current contour line are calculated; wherein the current contour line is a contour line of an obstacle located on a designated side of the D-type sweeping robot obtained by the most recent extraction; the first auxiliary point is an intersection point of a front side baffle of the D-type sweeping robot and the designated side baffle, and the second auxiliary point is an intersection point of the designated side baffle of the D-type sweeping robot and the semicircular structure; The distance with the smaller value between the first auxiliary distance and the second auxiliary distance is used as the closest distance at that moment.

7. The method according to any one of claims 1 to 4, characterized in that Methods for extracting the outline of an obstacle located on a specified side of the D-type sweeping robot include: Extracting peripheral points on a designated side of the D-type sweeping robot from the obstacle map; wherein the peripheral points are coordinate points of obstacles closest to the center point on each ray starting from the center point of the D-type sweeping robot; Determine the peripheral point closest to the D-type sweeping robot among the peripheral points as the reference point; Based on the reference point, and in accordance with a specified expansion strategy, an expansion point is selected from each of the surrounding points to obtain a plurality of expansion points; Fitting the reference point and each obtained extension point to obtain a contour line of the obstacle located on a specified side of the D-type sweeping robot; The specified expansion strategy includes: Taking the reference point as the current point; For any side of the current point, determine the adjacent and unexpanded surrounding points of the current point on that side as expansion points, use the determined expansion points as the new current point, and return to the step of determining the adjacent and unexpanded surrounding points of the current point on that side as expansion points for any side of the current point until the distance between the current point and the adjacent surrounding points on that side is greater than a first threshold, then stopping the expansion of that side; and In response to the sum of the distances between adjacent extension points being greater than a second threshold, the extension process ends.

8. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: In the process of controlling the movement of the D-type sweeping robot according to the second control method, if the difference between the detection distance detected by the sensor and the second edge distance is greater than the first target difference value, the step of extracting the contour line of the obstacle located on the specified side of the D-type sweeping robot is returned to as the target contour line.

9. A control device for a D-type sweeping robot, characterized in that: The device comprises: An extraction module is used to extract the outline of the obstacle located on a designated side of the D-type sweeping robot as a target outline; the designated side is the side where the sensor is provided; a first control module configured to control the D-type sweeping robot to move according to a first control mode when the target contour line is a straight line, so that a difference between a detection distance detected by the sensor and the first edge distance during movement remains within a first allowable error range; the first control mode comprising: determining an angular velocity at each moment based on the first edge distance and the detection distance at that moment; and controlling the D-type sweeping robot to move according to the determined angular velocity, and periodically extracting a contour line of an obstacle located on a designated side; an adjustment module, configured to, in response to the motion state of the D-type sweeping robot meeting a state stability condition and, based on the periodically extracted contour lines, identifying that a contour line of an obstacle located on a specified side meets a contour line stability condition, reduce the first edge distance to obtain a second edge distance; a second control module, configured to control the movement of the D-type sweeping robot according to a second control mode, so that the difference between the closest distance and the second edge distance during the movement is maintained within a second allowable error range; The second control method includes: for each moment, based on the second edge distance and the closest distance at that moment, determining the angular velocity at that moment; controlling the movement of the D-type sweeping robot according to the determined angular velocity; the closest distance is: the minimum distance between the edge of the fuselage and the current contour line.

10. A D-type sweeping robot, characterized in that: include: Memory for storing computer programs; A processor, configured to implement the method according to any one of claims 1 to 8 when executing a program stored in a memory.

11. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.