Robot control method, nonvolatile readable storage medium and robot

By walking along the edge of the interface area, it is determined whether it is possible to go to a preset type area lower than the walking interface, which solves the problem that robots are prone to miss step areas in the prior art, and improves the area traversal rate.

CN119427338APending Publication Date: 2025-02-14SHENZHEN SILVER STAR INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310961467.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-31
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

When existing robots face step areas that are shorter than the ground, they are prone to missed the area, resulting in a low area traversal rate.

Method used

By obtaining the point cloud data collected by the robot, determine whether there is a preset type area lower than the walking interface in front of it. If there is and the height difference is greater than the obstacle-overflow height, control the robot to walk along the edge of the interface area to determine whether it can go to this area.

Benefits of technology

On the premise of ensuring safety, the probability of the robot's success in going to a preset type area is increased, thereby increasing the area traversal rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119427338A_ABST
    Figure CN119427338A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of robots, and discloses a robot control method, a nonvolatile readable storage medium and a robot. The method comprises the steps that when the robot walks on a walking interface, point cloud data collected by the robot is obtained, whether a preset type area exists in front of the robot or not is determined according to the point cloud data, and if yes, the robot is started; if yes, when the height difference between the interface area and the preset type area is larger than the obstacle crossing height of the robot, the robot is controlled to walk along the edge of the interface area so as to determine whether the robot can go to the preset type area or not. Although the robot determines that the height difference is larger than the obstacle crossing height, the robot still walks along the edge of the interface area and continues to determine whether the robot can go to the preset type area in a tentative mode, the success probability of going to the preset type area can be improved on the premise that safety is guaranteed, and then the area ergodic rate is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of robots, and in particular to a robot control method, a non-volatile readable storage medium and a robot. Background Art

[0002] When the robot provided by the related technology encounters a step area that is lower than the ground, when the height difference between the step area and the ground is greater than the robot's surmountable obstacle height, the robot usually chooses to avoid the step area, which causes the robot to easily miss the step area, so that the step area cannot be effectively cleaned or the robot cannot explore the composition on the step area. Therefore, the area traversal rate of the robot provided by the related technology is not high. Summary of the invention

[0003] One purpose of an embodiment of the present invention is to provide a robot control method, a non-volatile readable storage medium and a robot to solve the technical problem of low area traversal rate existing in the related technology.

[0004] In a first aspect, an embodiment of the present invention provides a robot control method, comprising:

[0005] When the robot walks on the walking interface, point cloud data collected by the robot is obtained, wherein the point cloud data is data of the laser emitted by the laser module of the robot collection line;

[0006] Determine whether there is a preset type area in front of the robot according to the point cloud data, and the preset type area is lower than the interface area corresponding to the walking interface;

[0007] If so, when the height difference between the interface area and the preset type area is greater than the obstacle surmountable height of the robot, the robot is controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area.

[0008] Optionally, before controlling the robot to walk along the edge of the interface area, the method further includes:

[0009] Detecting whether there is a slope between the interface area and the preset type area;

[0010] If there is a slope, controlling the robot to go to a preset type area via the slope;

[0011] If there is no slope, the robot is controlled to walk along the edge of the interface area.

[0012] Optionally, the point cloud data includes at least one candidate line segment generated by fitting, and the detecting whether there is a slope between the interface area and the preset type area includes:

[0013] Determining whether the candidate line segment meets a slope condition;

[0014] If satisfied, it is determined that there is a slope between the interface area and the preset type area;

[0015] If not satisfied, it is determined that there is no slope between the interface area and the preset type area.

[0016] Optionally, the at least one candidate line segment includes a target line segment that satisfies a cliff condition, and the determining whether the candidate line segment satisfies a slope condition includes:

[0017] Determine whether the candidate line segment is within a preset slope height threshold range and whether the candidate line segment is between a target line segment that meets the cliff condition and the line laser module;

[0018] If both are present, it is determined that the candidate line segment meets the slope condition;

[0019] If not, it is determined that the candidate line segment does not meet the slope condition.

[0020] Optionally, if both are present, before determining that the candidate line segment satisfies the slope condition, determining whether the candidate line segment satisfies the slope condition further includes:

[0021] Calculating the inclination angle between the candidate line segment and a preset reference horizontal plane;

[0022] Determining whether the tilt angle is less than or equal to a preset angle threshold;

[0023] If it is less than or equal to, it is determined that the candidate line segment meets the slope condition;

[0024] If it is greater than, it is determined that the candidate line segment does not meet the slope condition.

[0025] Optionally, determining whether there is a preset type area in front of the robot according to the point cloud data includes:

[0026] Performing clustering processing on the point cloud data to obtain at least one point cloud cluster;

[0027] Performing line segment fitting on at least one of the point cloud clusters according to a preset straight line fitting algorithm to obtain a plurality of line segments;

[0028] Filtering line segments satisfying a noise filtering condition from the plurality of line segments to obtain at least one candidate line segment;

[0029] It is determined whether there is a preset type area in front of the robot according to at least one of the candidate line segments.

[0030] Optionally, filtering the line segments satisfying the noise filtering condition from the plurality of line segments comprises:

[0031] filtering a specified type of line segments from the plurality of line segments, the specified type comprising a curved type; and / or,

[0032] filtering two mirror line segments in a mirror symmetric relationship from the plurality of line segments, wherein the two mirror line segments are two line segments with a preset reference horizontal plane as a symmetry plane; and / or,

[0033] The line segments perpendicular to a preset reference horizontal plane are filtered out from the plurality of line segments.

[0034] Optionally, determining whether there is a preset type area in front of the robot according to at least one of the candidate line segments includes:

[0035] Traversing a target line segment from at least one of the candidate line segments, the target line segment being a candidate line segment that is closest to the line laser module and has not been traversed;

[0036] If the target line segment meets the cliff condition, it is determined that there is a preset type area in front of the robot.

[0037] Optionally, the control method further includes:

[0038] Determine a first height of a first endpoint of the target line segment relative to a preset reference horizontal plane, and a second height of a second endpoint of the target line segment relative to the preset reference horizontal plane;

[0039] Determining whether the first height and the second height are both greater than a preset cliff threshold;

[0040] If both are greater than, it is determined that the target line segment meets the cliff condition;

[0041] If they are not both greater than, it is determined that the target line segment does not meet the cliff condition.

[0042] In a second aspect, an embodiment of the present invention provides a non-volatile readable storage medium, wherein the non-volatile readable storage medium stores computer executable instructions, and the computer executable instructions are used to enable a robot to execute the above-mentioned robot control method.

[0043] In a third aspect, an embodiment of the present invention provides a robot, comprising:

[0044] at least one processor; and,

[0045] a memory communicatively connected to the at least one processor; wherein,

[0046] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned robot control method.

[0047] In the control method of the robot provided in the embodiment of the present invention, when the robot walks on the walking interface, the point cloud data collected by the robot is obtained, wherein the point cloud data is the data of the laser emitted by the laser module of the robot collection line, and it is determined whether there is a preset type area in front of the robot according to the point cloud data, and the preset type area is lower than the interface area corresponding to the walking interface. If it exists, when the height difference between the interface area and the preset type area is greater than the obstacle surmountable height of the robot, the robot is controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area. Although the robot determines that the height difference is greater than the obstacle surmountable height, the robot still walks along the edge of the interface area to continue to determine whether it can go to the preset type area in a tentative manner, so that the success probability of going to the preset type area can be increased under the premise of ensuring safety, thereby increasing the area traversal rate. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0049] Figure 1 A schematic flow chart of a robot control method provided by an embodiment of the present invention;

[0050] Figure 2 A schematic diagram of the relative positions of the interface area and the preset type area corresponding to the walking interface provided in an embodiment of the present invention;

[0051] Figure 3 A schematic diagram of a state in which a robot provided by an embodiment of the present invention walks along the edge of an interface area to determine whether the robot can go to a preset type of area;

[0052] Figure 4 A schematic diagram of a robot provided in an embodiment of the present invention emitting a series of lasers arranged in a preset emission order to an interface area through a line laser module to obtain a first type of point cloud data;

[0053] Figure 5 A schematic diagram of a first situation in which a robot provided by an embodiment of the present invention emits a series of lasers arranged in a preset emission order to an interface area through a line laser module;

[0054] Figure 6 Based on Figure 5A schematic diagram of the third type of point cloud data obtained in the situation shown;

[0055] Figure 7 A schematic diagram of a second situation in which the robot provided by an embodiment of the present invention emits a series of lasers arranged in a preset emission order to the interface area through a line laser module;

[0056] Figure 8 Based on Figure 7 A schematic diagram of the fourth type of point cloud data obtained in the situation shown;

[0057] Fig. 9 A schematic diagram of obtaining the fifth type of point cloud data by the robot provided in an embodiment of the present invention emitting a series of lasers arranged in a preset emission order to an interface area through a line laser module;

[0058] Fig.10 A schematic diagram of a robot provided in an embodiment of the present invention emitting a series of lasers arranged in a preset emission order to an interface area through a line laser module to obtain a sixth type of point cloud data;

[0059] Fig.11 A schematic diagram of a robot provided in an embodiment of the present invention emitting a series of lasers arranged in a preset emission order to an interface area through a line laser module to obtain a seventh type of point cloud data;

[0060] Fig.12 A schematic diagram of the structure of a robot control device provided by an embodiment of the present invention;

[0061] Fig.13 A schematic diagram of the circuit structure of a robot provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0062] In order to make the purpose, technical scheme and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0063] It should be noted that, if there is no conflict, the various features in the embodiments of the present invention can be combined with each other, all within the scope of protection of the present invention. In addition, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flow chart, in some cases, the steps shown or described can be performed in a different order from the module division in the device or the flow chart. Furthermore, the words "first", "second", "third", etc. used in the present invention do not limit the data and execution order, but only distinguish the same items or similar items with basically the same functions and effects.

[0064] The present invention provides a method for controlling a robot. Figure 1 , the robot control method includes the following steps:

[0065] S11: When the robot walks on the walking interface, the point cloud data collected by the robot at the current position is obtained.

[0066] In this step, the material type of the walking interface includes cement type, wood type, tile type or carpet type, etc. The point cloud data is the data of the laser emitted by the robot acquisition line laser module.

[0067] In some embodiments, the robot includes a camera module, and the camera module and the line laser module are both installed in front of the robot. When the line laser module emits laser light in front of the robot, the camera module captures the environment image in front of the robot, and the robot extracts point cloud data corresponding to the laser light based on the environment image. The camera module includes an infrared camera or an ultraviolet camera.

[0068] In some embodiments, the line laser module includes a laser transmitter and a laser receiver, both of which are installed in front of the robot. When the laser transmitter emits laser in front of the robot, the laser is reflected back to the laser receiver by the obstacle, thereby obtaining point cloud data corresponding to the laser.

[0069] In some embodiments, the laser emitted by the line laser module may be a vertical line laser or a horizontal line laser or a combination of the vertical line laser and the horizontal line laser.

[0070] S12: Determine whether there is a preset type area in front of the robot according to the point cloud data, and the preset type area is lower than the interface area corresponding to the walking interface.

[0071] In this step, see Figure 2 The interface area 21 corresponding to the walking interface has a height difference h with the preset type area 22, wherein the interface area 21 is above the preset type area 22, that is, the preset type area 22 is lower than the interface area 21, and the preset type area 22 and the interface area 21 are stepped.

[0072] S13: If so, when the height difference between the interface area and the preset type area is greater than the robot's surmountable obstacle height, the robot is controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area.

[0073] In this step, the line laser module of the robot is configured with a laser coordinate system, wherein the origin and coordinate axis orientation of the laser coordinate system can be customized by the designer based on engineering experience. In some embodiments, the origin of the laser coordinate system is the installation position of the line laser module on the robot, the front of the robot is the positive Z axis, the left of the robot is the positive X axis, and the vertical downward direction of the robot is the positive Y axis.

[0074] The robot determines the height difference between the interface area and the preset type area. In some embodiments, the step of determining the height difference between the interface area and the preset type area includes: screening out target line segments that meet the cliff condition based on the point cloud data, the cliff condition is a condition for screening line segments belonging to the preset type area, determining the first y-axis coordinate of the target line segment on the laser coordinate system, subtracting the preset height from the first y-axis coordinate to obtain the height difference between the interface area and the preset type area, the preset height being the distance from the line laser module to the walking interface.

[0075] In some embodiments, the preset type area includes a target line segment that meets the cliff condition, and determining the height difference between the interface area and the preset type area includes: determining the endpoint in the target line segment closest to the line laser module as the target endpoint, and calculating the height difference from the target endpoint to the walking interface.

[0076] The line laser module is configured with a laser coordinate system, and determining the endpoint in the target line segment closest to the line laser module as the target endpoint includes: determining the endpoint in the target line segment closest to the origin of the laser coordinate system as the target endpoint.

[0077] Calculating the height difference from the target endpoint to the walking interface includes: determining the second y-axis coordinate of the target endpoint in the laser coordinate system, and subtracting a preset height from the second y-axis coordinate to obtain the height difference.

[0078] Since the error of the line laser module increases with the increase of the measuring distance, the error of the endpoint closer to the line laser module will be smaller. In this embodiment, the endpoint closest to the line laser module in the target line segment is selected as the target endpoint, and the distance from the target endpoint to the walking interface is taken as the height difference. In this way, the accuracy of the height difference can be calculated, which is helpful to help the robot make a decision on whether to go to the preset type area reliably and safely.

[0079] The obstacle surmountable height is the height that allows the robot to walk from the interface area to the preset type area. The obstacle surmountable height is customized by the designer according to the characteristics of the robot. For example, the obstacle surmountable height is 2.5 cm or 3 cm.

[0080] When the height difference is greater than the obstacle surmountable height, it indicates that it is relatively dangerous for the robot to go to the preset type area, and abnormal events may easily occur, such as the robot falling into the preset type area, thereby damaging the robot's parts, or the robot's chassis getting stuck at the junction of the interface area and the preset type area. Therefore, this embodiment needs to re-search the position where the robot can go to the preset type area. This embodiment controls the robot to walk along the edge of the interface area to determine whether the robot can go to the preset type area.

[0081] Controlling the robot to walk along the edge of the interface area includes: acquiring an environmental image captured by a camera module, determining the edge of the interface area according to the environmental image, and controlling the robot to walk around the edge of the interface area starting from a current position.

[0082] See also Figure 3 , the robot 30 detects that there is a preset type area 22 ahead at the current position 31, but the robot 30 also detects that the height difference between the interface area 21 and the preset type area 22 is greater than the obstacle surmountable height, so the robot 30 continues to walk along the edge 32 of the interface area 21 to determine whether the robot 30 can go to the preset type area 22. Then, the robot 30 detects that the robot 30 can go to the preset type area 22 at the position point 33 of the edge 32, so the robot 30 goes to the preset type area 22 from the position point 33.

[0083] When the height difference is less than the obstacle surmountable height, it indicates that the robot can safely go to the preset type area. In this embodiment, the robot is controlled to go to the preset type area.

[0084] S14: If it does not exist, the robot is controlled to move along the preset path.

[0085] In this step, the preset path is used to indicate the path of the robot, wherein the preset path can be planned by the robot according to the starting point and the target point, or can be sent to the robot by the user. It can be understood that when there is no preset type area in front of the robot, the robot can go to the preset type area when walking according to the preset path.

[0086] In general, although the robot determines that the height difference at its current position is greater than the surmountable obstacle height, the robot still walks along the edge of the interface area to continue to determine in a tentative manner whether it can go to the preset type area. This can increase the probability of successfully going to the preset type area while ensuring safety, thereby increasing the area traversal rate.

[0087] In some application scenarios, when the robot encounters a preset type area during cleaning and detects that the height difference is greater than the surmountable obstacle height, the robot will usually choose to avoid the preset type area, which will result in a low cleaning coverage rate of the robot, missing the preset type area, and reducing the cleaning effect. Based on the method provided in this embodiment, the robot can walk along the edge of the interface area under the above circumstances to determine whether the robot can go to the preset type area, which can increase the success probability of going to the preset type area, and thus can increase the cleaning traversal rate.

[0088] In some application scenarios, when the robot encounters a preset type area during the composition process and detects that the height difference is greater than the surmountable obstacle height, the robot will usually be trapped in the current position and will not go to the preset type area to explore the composition, thus failing to complete the composition operation. Based on the method provided in this embodiment, the robot can walk along the edge of the interface area under the above circumstances to determine whether the robot can go to the preset type area, thereby increasing the success probability of going to the preset type area and further increasing the composition traversal rate.

[0089] In some embodiments, determining whether there is a preset type of area in front of the robot based on point cloud data includes the following steps: clustering the point cloud data to obtain at least one point cloud cluster, performing line segment fitting on at least one point cloud cluster according to a preset straight line fitting algorithm to obtain multiple line segments, filtering line segments that meet noise filtering conditions from the multiple line segments to obtain at least one candidate line segment, and determining whether there is a preset type of area in front of the robot based on the at least one candidate line segment.

[0090] Clustering the point cloud data to obtain at least one point cloud cluster includes: clustering the point cloud data according to a preset clustering algorithm to obtain at least one point cloud cluster. The preset clustering algorithm includes a K-means algorithm, a LVQ algorithm, a KNN algorithm, a DBSCAN algorithm, or an AGNES algorithm.

[0091] The laser projected by the line laser module into the distance will cause noise interference in the recognition of the preset type area. Figure 4, the robot 30 emits a series of lasers arranged in a preset emission order to the interface area 21 of the walking interface through the line laser module, wherein some lasers hit the area closer to the robot 30, and other lasers hit the area farther from the robot 30. The point cloud corresponding to the laser hitting the closer area is the point cloud cluster 41, and the point cloud corresponding to the laser hitting the farther area is the point cloud cluster 42. The lasers of the point cloud cluster 41 are arranged in a straight line, and the lasers of the point cloud cluster 42 fluctuate. If it is only judged whether a single laser or several points meet the cliff condition to determine whether there is a preset type area in front, such data will easily lead to misjudgment. In this embodiment, the point cloud data is clustered to obtain the point cloud cluster 41 and the point cloud cluster 42 respectively, and then the point cloud cluster 41 and the point cloud cluster 42 are linearly fitted to determine whether the shape of the line segment in the point cloud cluster is a curved shape. If not, it is filtered, and if so, it is retained. Therefore, in this embodiment, the point cloud data is clustered, which is conducive to helping the subsequent steps to effectively filter out noise data so as to reliably detect the preset type area.

[0092] Candidate line segments are line segments that do not meet the noise filtering conditions.

[0093] In some embodiments, filtering line segments satisfying a noise filtering condition from among the plurality of line segments comprises the following steps: filtering line segments of a specified type from among the plurality of line segments, where the specified type comprises a bending type.

[0094] Filtering the line segments of the specified type from the multiple line segments includes: determining whether the shape of the line segment matches the shape corresponding to the specified type, if so, filtering out the line segment, and if not, retaining the line segment.

[0095] There are multiple lasers when the line laser module hits the preset type area. The shapes of the multiple point clouds corresponding to the multiple lasers are straight lines. Curved line segments cannot represent the preset type area. Therefore, this embodiment can filter the specified type of line segments as noise in advance, which is conducive to the subsequent reliable and efficient attempt to identify the target line segments that meet the cliff conditions.

[0096] In some embodiments, filtering line segments satisfying noise filtering conditions from multiple line segments includes the following steps: filtering two mirror line segments in a mirror-symmetrical relationship from multiple line segments, wherein the two mirror line segments are two line segments with a preset reference horizontal plane as a symmetry plane.

[0097] The preset reference horizontal plane is a horizontal plane corresponding to the walking interface. In some embodiments, the preset reference horizontal plane is a plane obtained by moving the XZ plane of the laser coordinate system along the vertical downward direction by a preset height.

[0098] Filtering two mirror line segments in a mirror symmetric relationship from a plurality of line segments includes: determining two line segments that are symmetrical about a preset reference horizontal plane from a plurality of line segments, the two line segments being two mirror line segments, and deleting the two mirror line segments from the plurality of line segments.

[0099] See also Figure 5 The robot 30 uses a line laser module to emit a series of lasers arranged in a preset emission order to the smooth interface area 21. Since the interface area 21 is relatively smooth, the laser 51 hits the position point 52 of the interface area 21. The position point 52 reflects the laser 51 to the obstacle 53 above the interface area 21. The robot 30 collects point cloud data through the camera module.

[0100] See also Figure 6 , the point cloud data includes point cloud cluster 61, point cloud cluster 62 and point cloud cluster 63, wherein point cloud cluster 61 is a point cloud cluster formed by the camera module directly collecting the laser hitting the interface area 21, point cloud cluster 62 is a point cloud cluster formed by the camera module directly collecting the laser 54 hitting the obstacle 53, and point cloud cluster 63 is a point cloud cluster formed by the camera module collecting the laser 51 reflected by the obstacle 53. Based on the principle of point cloud imaging, the robot 30 will believe that there is an obstacle 54 similar to or the same as the obstacle 53 below the interface area 21, and the line segment corresponding to the obstacle 54 and the line segment corresponding to the obstacle 53 are two line segments with the walking interface as the symmetry plane. However, in fact, there is no obstacle 54 similar to or the same as the obstacle 53 below the interface area 21. Therefore, this embodiment needs to filter the laser of the point cloud cluster 63.

[0101] Even if the robot walks on a smooth interface area, this embodiment helps the robot to more reliably and accurately identify the target line segment used to characterize the preset type area by filtering two mirror line segments in a mirror-symmetrical relationship among multiple line segments, thereby being able to more reliably identify whether the preset type area exists.

[0102] In some embodiments, filtering line segments satisfying noise filtering conditions from among the plurality of line segments comprises the following steps: filtering line segments perpendicular to a preset reference horizontal plane from among the plurality of line segments.

[0103] When the laser emitted by the line laser module is a vertical line laser, the target line segment representing the preset type area is a horizontal line segment or a nearly horizontal line segment, but not a vertical line segment. This embodiment can filter the line segments perpendicular to the preset reference horizontal plane among multiple line segments, which is beneficial for the robot to more reliably and accurately identify the target line segments used to represent the preset type area, thereby more reliably identifying whether a preset type area exists.

[0104] Please also read Figure 7 and Figure 8The robot uses a line laser module to emit a series of lasers arranged in a preset emission order to the smooth interface area. There is a wall in front of the robot, and multiple lasers hitting the wall form a line segment 71, which is perpendicular to the walking interface. Therefore, this embodiment can filter such line segments 71.

[0105] In addition, since the interface area is relatively smooth, the laser 72 hits the position point 73 of the interface area, and the position point 73 reflects the laser 72 on the wall corresponding to the line segment 71. The multiple lasers 72 reflected on the wall will form a line segment 74.

[0106] The robot 30 collects point cloud data corresponding to the line segment 71, the line segment 74 and the interface area through the camera module, and can obtain the following: Figure 8 As shown in the point cloud data, point cloud 75 is formed by the laser hitting the interface area, point cloud 76 is the point cloud corresponding to line segment 71, and point cloud 77 is the point cloud corresponding to line segment 74. Based on the point cloud imaging principle, the robot will believe that there are relevant obstacles below the interface area, and the relevant obstacles are represented by point cloud 77. However, in fact, there are no obstacles corresponding to point cloud 77 below the interface area. Therefore, this embodiment, while filtering the line segments perpendicular to the preset reference horizontal plane among multiple line segments, will also filter out the laser formed by such phenomena, so as to avoid subsequent interference in the identification of preset type areas.

[0107] In some embodiments, determining whether there is a preset type area in front of the robot based on at least one candidate line segment includes: traversing a target line segment from at least one candidate line segment, the target line segment being the candidate line segment that is closest to the line laser module and has not been traversed, and judging whether the target line segment satisfies a cliff condition; if the target line segment satisfies the cliff condition, determining that there is a preset type area in front of the robot; if the target line segment does not satisfy the cliff condition, continuing to traverse a new target line segment from at least one candidate line segment in order of distance from near to far.

[0108] The traversal state refers to the state in which the candidate line segment has been judged whether it meets the cliff condition, and the pending traversal state refers to the state in which the candidate line segment has not been judged whether it meets the cliff condition.

[0109] Traversing out a target line segment from at least one candidate line segment includes: traversing out a candidate line segment in a to-be-traversed state from at least one candidate line segment, wherein the candidate line segment in a to-be-traversed state is a reference line segment, and selecting a line segment closest to the origin of the laser coordinate system from among multiple reference line segments as the target line segment.

[0110] Determining whether a target line segment satisfies a cliff condition comprises the following steps: determining a first height of a first endpoint of the target line segment relative to a preset reference horizontal plane, and a second height of a second endpoint of the target line segment relative to a preset reference horizontal plane, and determining whether both the first height and the second height are greater than a preset cliff threshold; if both are greater than, determining that the target line segment satisfies the cliff condition; if not, determining that the target line segment does not satisfy the cliff condition.

[0111] In some embodiments, the preset cliff threshold can be customized by the designer based on engineering experience, for example, the preset cliff threshold is 3 cm. In some embodiments, the preset cliff threshold is equal to the surmountable obstacle height.

[0112] Determining a first height of the first endpoint of the target line segment relative to a preset reference horizontal plane includes: determining a third y-axis coordinate of the first endpoint of the target line segment in the laser coordinate system, and subtracting the preset height from the third y-axis coordinate to obtain the first height.

[0113] Determining a second height of the second endpoint of the target line segment relative to a preset reference horizontal plane includes: determining a fourth y-axis coordinate of the second endpoint of the target line segment in the laser coordinate system, and subtracting the preset height from the fourth y-axis coordinate to obtain the second height.

[0114] When the heights of both endpoints of the target segment are greater than the preset cliff threshold, it means that the target segment meets the cliff condition. For example, the preset cliff threshold is 3 cm, the first height of the first endpoint of the target segment is 3.5 cm, and the second height of the second endpoint is 3.6 cm. Therefore, the target segment meets the cliff condition, and it also further indicates that there is a preset type area in front of the robot.

[0115] When the target line segment does not meet the cliff condition, this embodiment continues to traverse a new target line segment from at least one candidate line segment in order of distance from near to far, and continues to determine whether the new target line segment meets the cliff condition.

[0116] See also Fig. 9 The robot 30 uses a line laser module to emit a series of lasers arranged in a preset emission order to the smooth interface area, and can obtain candidate line segments 91, 92 and 93 according to the point cloud data, wherein candidate line segments 91, 92 and 93 are all in a state to be traversed.

[0117] Since candidate line segment 91 is the line segment closest to the origin of the laser coordinate system among candidate line segment 91 , candidate line segment 92 and candidate line segment 93 , the present embodiment selects candidate line segment 91 as the target line segment to determine whether the cliff condition is satisfied.

[0118] Since candidate line segment 91 does not meet the cliff condition and candidate line segment 91 has been traversed, this embodiment continues to traverse a new target line segment in at least one candidate line segment in order of distance from near to far. Since candidate line segment 92 and candidate line segment 93 are both in an untraversed state, and candidate line segment 92 is the line segment closest to the origin of the laser coordinate system among candidate line segment 92 and candidate line segment 93, this embodiment selects candidate line segment 92 as the target line segment to determine whether the cliff condition is met, and so on.

[0119] This embodiment selects the target line segment according to the distance from near to far to determine whether the cliff condition is met, so that the preset type area closest to the robot can be quickly found, which is conducive to the robot being able to quickly make relevant decisions based on the preset type area.

[0120] As mentioned above, when there is a preset type area in front of the robot, before controlling the robot to walk along the edge of the interface area, the robot control method also includes the following steps: detecting whether there is a slope between the interface area and the preset type area; if there is a slope, controlling the robot to go to the preset type area via the slope; if there is no slope, controlling the robot to walk along the edge of the interface area.

[0121] Although the robot detects that there is a preset type area ahead at the current position, and the height difference between the interface area and the preset type area is greater than the surmountable obstacle height, the robot will not stop moving forward or be trapped at the current position because the height difference is greater than the surmountable obstacle height. The robot can also detect whether there is a slope between the interface area and the preset type area. If there is a slope, the robot uses the slope to go to the preset type area, which can improve the area traversal rate.

[0122] In some embodiments, if there is no slope, after controlling the robot to walk along the edge of the interface area, this embodiment controls the robot to continue to determine the height difference between the interface area and the preset type area. If the height difference is less than or equal to the obstacle surmountable height, it is detected whether there is a slope between the interface area and the preset type area. If there is a slope, the robot is controlled to go to the preset type area via the slope. If there is no slope, the robot continues to be controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area. If the height difference is greater than the obstacle surmountable height, the robot is controlled to go to the preset type area.

[0123] In some embodiments, if there is no slope, after controlling the robot to walk along the edge of the interface area, this embodiment controls the robot to continue to detect whether there is a slope between the interface area and the preset type area. If there is a slope, the robot is controlled to go to the preset type area via the slope. If there is no slope, the robot continues to be controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area.

[0124] In some embodiments, if there is a slope, before going to the preset type area, the robot control method also includes: determining the area of ​​the preset type area, and controlling whether the robot needs to go to the preset type area via the slope based on the area of ​​the preset type area and the preset area threshold.

[0125] Determining the area of ​​the preset type area includes: screening out target line segments that meet cliff conditions based on point cloud data, where the cliff conditions are conditions for screening line segments belonging to the preset type area, and estimating the area of ​​the preset type area based on the target line segments and the height difference.

[0126] According to the area of ​​the preset type area and the preset area threshold, controlling the robot to go to the preset type area via the slope includes: determining whether the area of ​​the preset type area is smaller than the preset area threshold; if so, controlling the robot not to go to the preset type area; if not, controlling the robot to go to the preset type area via the slope.

[0127] Although there is a slope between the interface area and the preset type area, the area of ​​the preset type area is small. Even if the robot reaches the preset type area through the slope, the robot is likely to be stuck in the preset type area. Therefore, this embodiment further combines the area of ​​the preset type area and the preset area threshold to comprehensively control whether the robot goes to the preset type area through the slope, which is beneficial to improving the success rate of the robot being able to smoothly go to the preset type area through the slope to perform related operations.

[0128] In some embodiments, the point cloud data includes at least one candidate line segment generated by fitting. In this embodiment, a straight line fitting algorithm can be used to perform straight line fitting on the point cloud data to obtain at least one candidate line segment. Detecting whether there is a slope between the interface area and the preset type area includes the following steps: determining whether the candidate line segment meets the slope condition. If so, it is determined that there is a slope between the interface area and the preset type area. If not, it is determined that there is no slope between the interface area and the preset type area. Among them, the slope condition is used to screen out line segments that meet the slope characteristics. When the candidate line segment meets the slope condition, it means that the candidate line segment is formed by a laser corresponding to the slope.

[0129] In some embodiments, at least one candidate line segment includes a target line segment that satisfies the cliff condition, and determining whether the candidate line segment satisfies the slope condition includes the following steps: determining whether the candidate line segment is within a preset slope height threshold range and whether the candidate line segment is between the target line segment that satisfies the cliff condition and the line laser module; if both are present, determining that the candidate line segment satisfies the slope condition; if not, determining that the candidate line segment does not satisfy the slope condition.

[0130] The slope height threshold is customized by the designer based on engineering experience, for example, the slope height threshold is [-3cm, 0). Determining whether the candidate line segment is within the preset slope height threshold range includes: determining a third height of the third endpoint of the candidate line segment relative to a preset reference horizontal plane, and a fourth height of the fourth endpoint of the candidate line segment relative to the preset reference horizontal plane, and determining whether the third height and the fourth height are both within the preset slope height threshold range.

[0131] Determining whether the candidate line segment is between the target line segment that meets the cliff condition and the line laser module includes: determining the endpoint closest to the origin of the laser coordinate system in the target line segment that meets the cliff condition as the reference endpoint, and determining whether the candidate line segment is between the reference endpoint and the origin of the laser coordinate system.

[0132] Determining whether the candidate line segment is between the reference endpoint and the origin of the laser coordinate system includes: determining whether the z-axis coordinates of the two endpoints of the candidate line segment are both smaller than the z-axis coordinate of the reference endpoint, and whether the y-axis coordinates are both smaller than the y-axis coordinate of the reference endpoint.

[0133] See also Fig.10 , the robot 30 uses the line laser module to emit a series of lasers arranged in a preset emission order to the smooth interface area, and the candidate line segment 101, the candidate line segment 102 and the candidate line segment 103 can be obtained according to the point cloud data, wherein the candidate line segment 101 is the target line segment that meets the cliff condition. Although the candidate line segment 102 is within the preset slope height threshold range, the candidate line segment 102 is not between the candidate line segment 101 and the line laser module of the robot 30, therefore, this embodiment considers that the candidate line segment 102 does not meet the slope condition.

[0134] See also Fig.11, the robot 30 uses a line laser module to emit a series of lasers arranged in a preset emission order to the smooth interface area, and can obtain candidate line segments 101, 102, 103, and 104 according to the point cloud data, wherein candidate line segment 101 is a target line segment that meets the cliff condition. Candidate line segment 104 is within the preset slope height threshold range and is between candidate line segment 101 and the line laser module of the robot 30. Therefore, this embodiment considers that candidate line segment 104 meets the slope condition. The robot 30 can go to the preset type area corresponding to candidate line segment 101 through the slope corresponding to candidate line segment 104.

[0135] In some embodiments, if the candidate line segment is within a preset slope height threshold range and the candidate line segment is between the target line segment that meets the cliff condition and the line laser module, then: before determining that the candidate line segment meets the slope condition, determining whether the candidate line segment meets the slope condition also includes the following steps: calculating the inclination angle between the candidate line segment and a preset reference horizontal plane, determining whether the inclination angle is less than or equal to a preset angle threshold, if less than or equal to, determining that the candidate line segment meets the slope condition, if greater than, determining that the candidate line segment does not meet the slope condition. Among them, the preset angle threshold can be customized by the designer based on engineering experience, such as the preset angle threshold is 15 degrees or 30 degrees.

[0136] When the slope is too steep, even if the robot reaches the preset type area via the slope, it is not easy for the robot to climb up to the interface area via the slope. This embodiment re-determines the inclination angle between the candidate line segment and the preset reference horizontal plane, and reliably determines whether the candidate line segment meets the slope condition based on the inclination angle and the preset angle threshold, which can help the robot find a relatively optimal slope, which is conducive to the robot being able to freely enter and exit the preset type area via the slope.

[0137] It should be noted that, in each of the above-mentioned embodiments, there is not necessarily a certain order between the above-mentioned steps. A person skilled in the art can understand, based on the description of the embodiments of the present invention, that in different embodiments, the above-mentioned steps may have different execution orders, that is, they may be executed in parallel, may be executed interchangeably, and so on.

[0138] As another aspect of the present invention, the present invention provides a control device for a robot, wherein the control device for the robot may be a software module, wherein the software module includes a plurality of instructions stored in a memory, and a processor may access the memory, call the instructions for execution, so as to complete the control method for the robot described in each of the above embodiments.

[0139] In some embodiments, the control device of the robot can also be constructed by hardware devices, for example, the control device of the robot can be constructed by one or more chips, and the chips can work in coordination with each other to complete the control methods of the robot described in the above embodiments. For another example, the control device of the robot can also be constructed by various logic devices, such as a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine) or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of these components.

[0140] See also Fig.12 The robot control device 120 includes a data acquisition module 121, a cliff judgment module 122 and a machine control module 123.

[0141] The data acquisition module 121 is used to acquire the point cloud data collected by the robot at the current position when the robot walks on the walking interface. The cliff judgment module 122 is used to determine whether there is a preset type area in front of the robot based on the point cloud data, and the preset type area is lower than the interface area corresponding to the walking interface. The machine control module 123 is used to control the robot to walk along the edge of the interface area if it exists, when the height difference between the interface area and the preset type area is greater than the robot's surmountable obstacle height, to determine whether the robot can go to the preset type area.

[0142] Although the robot determines that the height difference at its current position is greater than the surmountable obstacle height, the robot still walks along the edge of the interface area to continue to determine in a tentative manner whether it can go to the preset type area. This can increase the probability of successfully going to the preset type area while ensuring safety, thereby increasing the area traversal rate.

[0143] In some embodiments, please refer to Fig.12 The robot control device 120 also includes a slope judgment module 124, which is used to detect whether there is a slope between the interface area and the preset type area. If there is a slope, the robot is controlled to go to the preset type area through the slope. If there is no slope, the robot is controlled to walk along the edge of the interface area.

[0144] In some embodiments, if there is a slope, please continue to refer to the Fig.12 The robot control device 120 also includes an area calculation module 125, which is used to determine the area of ​​a preset type of area, and control whether the robot goes to the preset type of area through the slope according to the area of ​​the preset type of area and a preset area threshold.

[0145] In some embodiments, the point cloud data includes at least one candidate line segment generated by fitting, and the slope judgment module 124 is specifically used to: determine whether the candidate line segment meets the slope condition, if so, determine that there is a slope between the interface area and the preset type area, if not, determine that there is no slope between the interface area and the preset type area.

[0146] In some embodiments, at least one candidate line segment includes a target line segment that satisfies the cliff condition, and the slope judgment module 124 is further specifically used to determine whether the candidate line segment is within a preset slope height threshold range and whether the candidate line segment is between the target line segment that satisfies the cliff condition and the line laser module; if both are present, it is determined that the candidate line segment satisfies the slope condition; if not, it is determined that the candidate line segment does not satisfy the slope condition.

[0147] In some embodiments, if both are true, before determining that the candidate line segment meets the slope condition, the slope judgment module 124 is further specifically used to: calculate the inclination angle between the candidate line segment and a preset reference horizontal plane, and determine whether the inclination angle is less than or equal to a preset angle threshold; if so, determining that the candidate line segment meets the slope condition; if so, determining that the candidate line segment does not meet the slope condition.

[0148] In some embodiments, the cliff judgment module 122 is specifically used to: perform clustering processing on the point cloud data to obtain at least one point cloud cluster, perform line segment fitting on the at least one point cloud cluster according to a preset straight line fitting algorithm to obtain multiple line segments, filter the line segments that meet the noise filtering conditions among the multiple line segments to obtain at least one candidate line segment, and determine whether there is a preset type of area in front of the robot based on the at least one candidate line segment.

[0149] In some embodiments, the cliff judgment module 122 is further specifically used to: filter a specified type of line segments from a plurality of line segments, the specified type including a curved type; and / or, filter two mirror line segments in a mirror-symmetrical relationship from a plurality of line segments, wherein the two mirror line segments are two line segments with a preset reference horizontal plane as a symmetry plane; and / or, filter line segments perpendicular to a preset reference horizontal plane from a plurality of line segments.

[0150] In some embodiments, the cliff judgment module 122 is also specifically used to: traverse a target line segment from at least one candidate line segment, the target line segment being the candidate line segment that is closest to the line laser module and has not been traversed, and if the target line segment meets the cliff condition, it is determined that there is a preset type area in front of the robot.

[0151] In some embodiments, please refer to Fig.12The robot control device 120 also includes a cliff determination module 126, which is used to: determine a first height of a first endpoint of the target line segment relative to a preset reference horizontal plane, and a second height of a second endpoint of the target line segment relative to a preset reference horizontal plane, and determine whether the first height and the second height are both greater than a preset cliff threshold. If both are greater, it is determined that the target line segment meets the cliff condition; if not, it is determined that the target line segment does not meet the cliff condition.

[0152] It should be noted that the control device of the robot can execute the control method of the robot provided in the embodiment of the present invention, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in the embodiment of the control device of the robot, please refer to the control method of the robot provided in the embodiment of the present invention.

[0153] See also Fig.13 , Fig.13 Schematic diagram of a circuit structure of a robot provided by an embodiment of the present invention. Fig.13 As shown, the robot 130 includes one or more processors 131 and a memory 132. Fig.13 A processor 131 is taken as an example.

[0154] The processor 131 and the memory 132 may be connected via a bus or other means. Fig.13 The example of connecting through bus is taken in the following.

[0155] The memory 132 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the robot control method in the embodiment of the present invention. The processor 131 executes various functional applications and data processing of the robot control device by running the non-volatile software programs, instructions and modules stored in the memory 132, that is, realizes the robot control method provided by the above method embodiment and the functions of each module or unit of the above device embodiment.

[0156] The memory 132 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 132 may optionally include a memory remotely arranged relative to the processor 131, and these remote memories may be connected to the processor 131 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0157] The program instructions / modules are stored in the memory 132 , and when executed by the one or more processors 131 , the robot control method in any of the above method embodiments is executed.

[0158] An embodiment of the present invention further provides a non-volatile computer storage medium, wherein the computer storage medium stores computer executable instructions, and the computer executable instructions are executed by one or more processors, such as Fig.13 A processor 131 in the embodiment may enable the one or more processors to execute the robot control method in any of the above method embodiments.

[0159] An embodiment of the present invention also provides a computer program product, which includes a computer program stored on a non-volatile computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a robot, the robot executes any one of the robot control methods described.

[0160] The above described device or equipment embodiments are merely illustrative, wherein the unit modules described as separate components may or may not be physically separated, and the components displayed as module units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network module units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.

[0161] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. Under the concept of the present invention, the technical features in the above embodiments or different embodiments may also be combined, the steps may be implemented in any order, and there are many other changes in different aspects of the present invention as described above, which are not provided in detail for the sake of simplicity. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they may still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A robot control method, characterized in that: include: When the robot walks on the walking interface, point cloud data collected by the robot is obtained, wherein the point cloud data is data of the laser emitted by the laser module of the robot collection line; Determine whether there is a preset type area in front of the robot according to the point cloud data, and the preset type area is lower than the interface area corresponding to the walking interface; If so, when the height difference between the interface area and the preset type area is greater than the obstacle surmountable height of the robot, the robot is controlled to walk along the edge of the interface area to determine whether the robot can go to the preset type area.

2. The control method according to claim 1, characterized in that: Before controlling the robot to walk along the edge of the interface area, the method further includes: Detecting whether there is a slope between the interface area and the preset type area; If there is a slope, controlling the robot to go to a preset type area via the slope; If there is no slope, the robot is controlled to walk along the edge of the interface area.

3. The control method according to claim 2, characterized in that: The point cloud data includes at least one candidate line segment generated by fitting, and the detecting whether there is a slope between the interface area and the preset type area includes: Determining whether the candidate line segment meets a slope condition; If satisfied, it is determined that there is a slope between the interface area and the preset type area; If not satisfied, it is determined that there is no slope between the interface area and the preset type area.

4. The control method according to claim 3, characterized in that: The at least one candidate line segment includes a target line segment that satisfies a cliff condition, and the determining whether the candidate line segment satisfies a slope condition includes: Determine whether the candidate line segment is within a preset slope height threshold range and whether the candidate line segment is between a target line segment that meets the cliff condition and the line laser module; If both are present, it is determined that the candidate line segment meets the slope condition; If not, it is determined that the candidate line segment does not meet the slope condition.

5. The control method according to claim 4, characterized in that: If both are present, before determining that the candidate line segment satisfies the slope condition, determining whether the candidate line segment satisfies the slope condition further includes: Calculating the inclination angle between the candidate line segment and a preset reference horizontal plane; Determining whether the tilt angle is less than or equal to a preset angle threshold; If it is less than or equal to, it is determined that the candidate line segment meets the slope condition; If it is greater than, it is determined that the candidate line segment does not meet the slope condition.

6. The control method according to any one of claims 1 to 5, characterized in that: Determining whether there is a preset type area in front of the robot according to the point cloud data includes: Performing clustering processing on the point cloud data to obtain at least one point cloud cluster; Performing line segment fitting on at least one of the point cloud clusters according to a preset straight line fitting algorithm to obtain a plurality of line segments; Filtering line segments satisfying a noise filtering condition from the plurality of line segments to obtain at least one candidate line segment; It is determined whether there is a preset type area in front of the robot according to at least one of the candidate line segments.

7. The control method according to claim 6, characterized in that: The filtering of line segments satisfying the noise filtering condition from the plurality of line segments comprises: filtering a specified type of line segments from the plurality of line segments, the specified type comprising a curved type; and / or, filtering two mirror line segments in a mirror symmetric relationship from the plurality of line segments, wherein the two mirror line segments are two line segments with a preset reference horizontal plane as a symmetry plane; and / or, The line segments perpendicular to a preset reference horizontal plane are filtered out from the plurality of line segments.

8. The control method according to claim 6, characterized in that: Determining whether there is a preset type area in front of the robot according to at least one of the candidate line segments comprises: Traversing a target line segment from at least one of the candidate line segments, the target line segment being a candidate line segment that is closest to the line laser module and has not been traversed; If the target line segment meets the cliff condition, it is determined that there is a preset type area in front of the robot.

9. The control method according to claim 8, characterized in that: Also includes: Determine a first height of a first endpoint of the target line segment relative to a preset reference horizontal plane, and a second height of a second endpoint of the target line segment relative to the preset reference horizontal plane; Determining whether the first height and the second height are both greater than a preset cliff threshold; If both are greater than, it is determined that the target line segment meets the cliff condition; If they are not both greater than, it is determined that the target line segment does not meet the cliff condition.

10. A non-volatile readable storage medium, characterized in that: The non-volatile readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable the robot to execute the robot control method according to any one of claims 1 to 9.

11. A robot, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the robot control method according to any one of claims 1 to 9.