Robot carpet identification method based on line laser data, robot and chip

By installing a line laser sensor on the sweeping robot, collecting line laser data and detecting the jump state of the laser point, the problem of difficult carpet identification in the existing technology is solved, fast and accurate carpet identification is achieved, and cleaning efficiency is improved.

CN119326336APending Publication Date: 2025-01-21AMICRO SEMICONDUCTOR CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310899262.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-21
Publication Date
2025-01-21

AI Technical Summary

Technical Problem

The prior art is difficult to effectively identify the carpet, which causes the sweeping robot to be stuck on the edge of the carpet, affecting the cleaning efficiency.

Method used

Through the robot identification method of carpet based on line laser data, the robot installs a line laser sensor, collects a frame of line laser data, filters the laser points of extreme heights, and detects the preset jump state of the laser point to identify the carpet.

Benefits of technology

It achieves rapid and effective carpet identification, reduces computing power and time consumption, improves the accuracy and efficiency of carpet identification, and avoids misidentification of carpets as obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119326336A_ABST
    Figure CN119326336A_ABST
Patent Text Reader

Abstract

The invention discloses a robot carpet identification method based on line laser data, a robot and a chip, a line laser sensor is installed on the robot, the line laser sensor is used for emitting line laser towards the inclined lower portion of the walking direction of the robot, and the line laser sensor is further used for collecting laser points formed by the line laser reflected by the surface of a to-be-measured object; the method for identifying the carpet by the robot comprises the following steps: acquiring a frame of line laser data by the robot through a line laser sensor, and detecting each laser point in the frame of line laser data; and when the robot detects that each laser point presents a preset jumping state on the basis of filtering the laser points with the extreme height, the robot identifies the carpet and determines that the surface of the to-be-detected object comprises the carpet. Therefore, the carpet can be quickly and effectively recognized from the surface of the to-be-detected object with less computing power, the carpet recognition effect is improved, the carpet is prevented from being mistakenly recognized, and then the situation that the robot cannot climb on the carpet after mistakenly recognizing the carpet as an obstacle and only can hide in the carpet is avoided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of line laser technology, and in particular to a method for robot carpet recognition based on line laser data, a robot and a chip. Background Art

[0002] When a sweeping robot encounters a carpet while cleaning, if it does not use appropriate recognition methods and motion planning means, it is very likely to be stuck at the edge of the carpet. Only by using appropriate operation methods and strategies after recognizing the carpet can the sweeping robot clean more smoothly. Therefore, it is particularly important for the sweeping robot to recognize the carpet.

[0003] Currently, sweeping robots use line lasers to identify carpets and analyze the characteristics of line laser point cloud data in different scenarios. Each frame of line laser data includes multiple laser point cloud data, and each laser point cloud data includes three types of data: angle, distance, and height.

[0004] For example, when the robot vacuum cleaner moves on a flat surface, the collected laser point image basically appears as a straight line because the height difference of each laser point is small. When the robot vacuum cleaner moves to a bumpy or uneven surface, the collected laser points may appear to be distributed in low positions on one side and higher positions on the other side.

[0005] When the sweeping robot uses a line laser to scan an obstacle, within the detection range of the line laser, the point cloud height of the area where the obstacle is located will become higher, while other areas will remain unchanged.

[0006] In the scenario where the sweeping robot moves to the carpet, the carpet is uneven due to its fluff and other materials. The line laser hits the carpet. Within the detection range of the line laser, some laser points hit the fluff, and the height of these laser points collected is relatively large. In addition, some points hit the gaps between the fluff, and the height of these laser points is relatively small.

[0007] How to effectively identify points on the carpet by comparing highly correlated information without causing misidentification of the carpet has become a technical problem that needs to be solved urgently. Summary of the invention

[0008] The present application discloses a robot carpet recognition method based on line laser data, a robot and a chip, and the specific technical solutions include: A robot carpet recognition method based on line laser data, wherein a line laser sensor is installed on the robot, the line laser sensor is used to emit a line laser obliquely downward in the walking direction of the robot, and the line laser sensor is also used to collect laser points formed by the reflection of the line laser on the surface of the object to be measured; the robot carpet recognition method comprises: the robot collects a frame of line laser data through the line laser sensor, and then detects each laser point in the frame of line laser data; when the robot detects that each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights, the robot recognizes the carpet and determines that the surface of the object to be measured includes the carpet. Compared with the prior art, the technical solution detects each laser point only through one frame of line laser data on the basis of filtering the laser points with extreme heights and recognizes the carpet when the preset jump state is met, which consumes less computing power and time than the prior art for feature matching and recognition based on multiple frames of images, so that the present embodiment quickly and effectively recognizes the carpet from the surface of the object to be measured (the surface to be detected that can be easily misjudged) with less computing power, improves the effect of carpet recognition, prevents the carpet from being misidentified, and thus avoids the robot from climbing on the carpet after misidentifying the carpet as an obstacle, but only avoiding the carpet.

[0009] Furthermore, the robot extracts each laser point from the one frame of line laser data, and connects each laser point in turn; the preset jump state exists: in the one frame of line laser data, in the connection line of each laser point, descent and rise appear alternately or randomly, and the number of descents and the number of rises are both at least twice; in the one frame of line laser data, in the connection line of each laser point, at least two descents appear first, and then at least one rise appears; in the one frame of line laser data, in the connection line of each laser point, at least two rises appear first, and then at least one descent appears; wherein, the height of the laser point formed by the reflection of the line laser on the fluff of the carpet is higher than the height of the laser point formed by the reflection of the line laser in the gap between the fluff of the carpet, so that each laser point in the one frame of line laser data jumps multiple times, based on which the direction of the connection line of each laser point can be used to judge the preset jump state.

[0010] Furthermore, the robot carpet recognition method specifically includes: the robot collects a frame of line laser data through a line laser sensor, then extracts the height of each laser point in the frame of line laser data, and screens out the laser point with the largest height and the laser point with the smallest height; wherein, the laser points extracted from the frame of line laser data are distributed in the vertical direction of the robot's body axis and are located in front of the robot; then, in the frame of line laser data, the absolute value of the height difference between two adjacent laser points is calculated in turn, and the height difference cumulative value is obtained by accumulating the absolute value of the height difference, so as to quantitatively describe each laser point in the same frame of line laser data. jump state; then control the height difference accumulated value to subtract the height difference between the highest point and the lowest point in the one frame line laser data, and then mark the difference obtained by subtraction as the height difference value to be determined, so as to filter out the laser points with extreme heights on the surface of the object to be measured, wherein the highest point in the one frame line laser data is the laser point with the largest height, and the lowest point in the one frame line laser data is the laser point with the smallest height, both of which indicate that the surface of the object to be measured has laser points with extreme heights; then determine whether the height difference value to be determined is greater than a preset carpet height difference threshold, and if so, determine that the robot recognizes the carpet in front of it, and determine that each laser point presents a preset jump state.

[0011] In summary, the technical solution detects whether each laser point presents a preset jump state according to the relationship between the height difference between the laser point with the highest height and the laser point with the lowest height and the accumulated value of the height difference, so that after the accumulated accumulated value of the height difference offsets the influence of the height difference between the highest point and the lowest point, the accumulated value of the height difference of the remaining laser points except the highest point and the lowest point is represented by the height difference value to be determined, and the accumulated value of the height difference of the remaining laser points except the highest point and the lowest point is quantitatively described on the basis of offsetting the influence of the height difference between the highest point and the lowest point; when the height difference value to be determined is greater than the preset carpet height difference threshold, it can be determined that the remaining laser points except the highest point and the lowest point keep jumping, so as to determine that the robot recognizes the carpet in the surface of the object to be measured. It also prevents the misidentification of the carpet, and only one frame of line laser data is needed as a whole, the amount of laser point height data is small, the computing power requirement is low, the calculation time is short, and the recognition is fast and accurate.

[0012] Furthermore, the method of sequentially calculating the absolute values ​​of the height difference between two adjacent laser points and obtaining the accumulated value of the height difference by accumulating the absolute values ​​of the height difference comprises: step A, among the laser points extracted from a frame of line laser data, recording the laser point closest to one end of the bright section in the vertical direction of the central axis of the body as the starting search point, then traversing an adjacent laser point, and then calculating the absolute value of the height difference between the currently traversed laser point and the starting search point to obtain the accumulated value of the height difference; then executing step B; step B, traversing an adjacent laser point that does not participate in the calculation of the absolute value of the height difference, and then calculating the absolute value of the height difference between the currently traversed laser point and the laser point traversed in step A to represent the surface of the object to be measured. The accumulated height difference of the surface required for each time; then the accumulated height difference value calculated in step A is added to the currently calculated absolute value of the height difference to obtain a new accumulated height difference value, and then the new accumulated height difference value is controlled to be updated to the accumulated height difference value described in step A; then step C is executed; step C, step B is repeated until all laser points extracted from a frame of line laser data are traversed, and the accumulated height difference value described in step A is updated by accumulating the absolute value of the height difference, and then the accumulated height difference value updated for the last time is configured to be used to subtract the height difference between the highest point and the lowest point in the frame of line laser data, so as to detect whether each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights on the surface of the object to be measured.

[0013] Furthermore, the laser points extracted from one frame of line laser data do not include the laser points distributed at the edge of the bright section, so that the laser points distributed at both ends of the bright section in the vertical direction of the central axis of the body do not exist in the laser points extracted from one frame of line laser data, thereby overcoming the error caused by the excessive jump amplitude of the laser points distributed at the edge of the bright section.

[0014] Furthermore, the larger the height difference to be determined is, the more times each laser point in a frame of line laser data jumps in the vertical direction of the central axis of the body; the smaller the height difference to be determined is, the fewer times each laser point in the same frame of line laser data jumps in the vertical direction of the central axis of the body.

[0015] In summary, when the height difference to be determined is greater than the preset carpet height difference threshold, the line connecting each laser point presents multiple rises and multiple falls within one detection width; when the height difference to be determined is less than or equal to the preset carpet height difference threshold, the line connecting each laser point presents at most one rise (the probability of rise is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) and / or at most one fall (the probability of fall is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) within the same detection width. The accuracy of carpet identification by the height of the connecting line of laser points is improved.

[0016] Furthermore, the preset carpet height difference threshold is set between 3.5cm and 4cm; after the line laser is projected onto the surface of the floor, the height difference value to be determined calculated by a frame of line laser data collected by the robot is less than 3.5cm or 3cm; after the line laser is projected onto the surface of the obstacle, the height difference value to be determined calculated by a frame of line laser data collected by the robot is between 2cm and 3cm; wherein the floor and the obstacle are both non-carpet objects. Therefore, the aforementioned height difference value to be determined is used as the accumulated value of the height difference obtained after filtering the laser points with extreme heights on the surface of the object to be detected, and is directly used to identify the carpet, which has a good detection success rate, low calculation cost, and strong real-time performance.

[0017] Further, the robot extracts each laser point from the one frame of line laser data, connects each laser point in turn, and calculates and accumulates the length of the line between two adjacent laser points to obtain the total length of the line between each laser point, and marks the total length as the height connection line length; when the height connection line length calculated by the robot is less than the preset connection line length threshold, if the accumulated value of the height difference calculated by the robot is less than the preset carpet height difference threshold, the robot recognizes the floor, and the robot records the height connection line length calculated by the robot as the surface height connection line length; when the height connection line length calculated by the robot is greater than or equal to the preset connection line length threshold, if the accumulated value of the height difference calculated by the robot is greater than or equal to the preset carpet height difference threshold, the robot recognizes the carpet, and the robot records the height connection line length calculated by the robot as the carpet height connection line length; within a detection width, the surface height connection line length is less than the carpet height connection line length. Thus, the carpet and the floor are distinguished by the height connection line length.

[0018] Even if the floor surface has height rises and falls, it is understood that there is a jump phenomenon, but the number of jumps, the height of the jumps and the probability of the jumps are far lower than the jumps generated on the carpet surface, forming the unique height unevenness feature of the carpet. Through this feature, the floor surface and even low obstacles can be excluded before the carpet is recognized on the surface of the object to be tested.

[0019] A robot includes a processor and a memory; the memory stores a program, the program is loaded and executed by the processor to implement the robot carpet recognition method as described in claim 1; wherein the line laser sensor is mounted on the central axis of the robot body. Compared with the prior art, the robot disclosed in this embodiment detects each laser point through only one frame of line laser data on the basis of filtering laser points with extreme heights and recognizes the carpet when a preset jump state is met, which consumes less computing power and time than the prior art for feature matching and recognition based on multiple frames of images. Therefore, this embodiment uses less computing power to quickly and effectively recognize carpets from the surface of an object to be tested that is easily misjudged, thereby improving the effect of carpet recognition, thereby preventing the robot from climbing on the carpet and only avoiding the carpet after misidentifying the carpet as an obstacle.

[0020] A chip stores a program, and the program is executed by the chip to implement the robot carpet recognition method as described above. The chip can detect whether each laser point presents a preset jump state according to the relationship between the height difference between the laser point with the highest height and the laser point with the lowest height and the height difference cumulative value, so that after the accumulated height difference cumulative value offsets the influence of the height difference between the highest point and the lowest point, the height difference value to be determined represents the accumulated height difference cumulative value of the jump of each laser point except the highest point and the lowest point, and the height difference value to be determined quantitatively describes the jump state of each laser point in the same frame line laser data on the basis of offsetting the influence of the height difference between the highest point and the lowest point; when the height difference value to be determined is greater than the preset carpet height difference threshold, it can be determined that all the laser points except the highest point and the lowest point keep jumping, and it is determined that the robot recognizes the carpet on the surface of the object to be measured, and the chip only needs one frame of line laser data to recognize the carpet on the surface of the object to be measured, the chip needs to process a small amount of laser point height data, the chip has low computing power requirements, short computing time, and fast and accurate recognition. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] Figure 1 An embodiment of the present application discloses a flowchart of a method for robot carpet recognition based on line laser data.

[0022] Figure 2 This is a schematic diagram of a detection scenario in which a robot enters a carpet according to an embodiment of the present application.

[0023] Figure 3 It is a schematic diagram of a carpet height connection line disclosed in an embodiment of the present application.

[0024] Figure 4 It is a schematic diagram of an embodiment of the present application that discloses obstacle height connection lines. Implementation

[0025] The technical solutions in the embodiments of the present invention will be described in detail below in conjunction with the drawings in the embodiments of the present invention. To further illustrate the embodiments, the present invention provides drawings. These drawings are part of the disclosure of the present invention, which are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these contents, ordinary technicians in this field should be able to understand other possible implementations and advantages of the present invention.

[0026] In general, unless explicitly defined otherwise, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field. Unless explicitly stated otherwise, all references to "an / an / element, device, component, means, step, etc." are to be interpreted openly as referring to at least one example of the element, device, component, means, step, etc. Unless explicitly stated otherwise, the steps of any method disclosed herein do not have to be performed exactly in the order disclosed.

[0027] This embodiment discloses a robot carpet recognition method based on line laser data. The robot carpet recognition method is performed by a robot. Specifically, the robot involved may be a sweeping robot, and may have any suitable shape, such as a more traditional round body or a triangular body. A line laser sensor is installed on the robot. The line laser sensor is specifically mounted on the front side of the robot's shell. The number of line laser sensors may be one or more, and this embodiment does not limit the number of line laser sensors.

[0028] The line laser sensor includes a line laser transmitter and an infrared camera. The line laser sensor is used to emit a line laser diagonally downward in the walking direction of the robot. In essence, the line laser transmitter emits a line laser diagonally downward in the walking direction of the robot, and can emit a column of infrared lasers, which can be regarded as composed of projected light spots of multiple light beams, so that the surface to be detected in front of the robot is illuminated by the laser beam.

[0029] The emission angle of the line laser can be 15 degrees, 30 degrees, 45 degrees, 60 degrees, etc. to the horizontal direction. This embodiment does not limit the angle obliquely downward from the walking direction or the value of the emission angle of the line laser. The line laser emitter is configured to illuminate a width area larger than the width of the robot, forming a bright section or a light strip on the surface to be detected, where the surface to be detected includes but is not limited to the surface of the object to be detected, or the walking surface where the robot is located.

[0030] The line laser sensor is also used to collect the laser points formed by the reflection of the line laser on the surface of the object to be measured. In essence, the infrared camera collects the image of the laser points formed by the reflection of the line laser on the surface of the object to be measured, covering all or part of the image of the environment illuminated by the line laser; the infrared camera captures and records multiple frames of images per second, preferably 33 frames per second, and each frame of line laser data includes about 130 laser points. Each laser point includes three types of posture data: angle, distance, and height. Data is extracted from these images through the robot's built-in controller, and the data is usually stored in the memory together with the computer program. The optical axis of the infrared camera intersects with the axis where the line laser transmitter is located to form the detection space range of the line laser sensor.

[0031] Indicatively, Figure 2 The circular robot 101 enters the surface of the carpet 103, and the surface fluff of the carpet 103 as a whole presents the words "WELCOME to my home"; the surface of the carpet 103 enters the detection space range of the linear laser sensor of the circular robot 101, and a line laser sensor installed on the central axis of the robot 101 emits a light strip or bright area represented as a line segment 102, which is located on the surface of the carpet 103 and is actually composed of multiple discrete light spots. The extension direction of the line segment 102 is regarded as perpendicular to the walking direction of the robot.

[0032] It should be noted that the carpet described in this embodiment is a broad concept, which can be understood as a floor material or ground medium that is different from hard materials such as wooden floors and tiles. The robot can be a sweeping robot including a cleaning mechanism and a mopping mechanism; the robot walking on the carpet will cause the output power of the roller brush motor or the drive wheel motor to change, or the ground material that is not suitable for the robot to clean in the mopping mode, such as: short-haired carpet, long-haired carpet, plush carpet, etc. The robot involved in this embodiment can use one of the cleaning mechanism or the mopping mechanism or contact the cleaning ground at the same time during the cleaning process to clean the cleaning surface. The mopping mechanism is generally used to clean the floor. The water sprayed by the mopping mechanism during the cleaning process or the water accumulated in the mopping mechanism itself may wet or damage the carpet.

[0033] like Figure 1As shown, the robot carpet recognition method includes: the robot collects a frame of line laser data through a line laser sensor, and then detects each laser point in the frame of line laser data, including detecting the height of each laser point and the connection between two adjacent laser points. Then, when the robot detects that each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights, the robot recognizes the carpet and determines that the surface of the object to be measured includes the carpet, wherein the area covered by the frame of line laser data can be the surface of the object to be measured, which is within the detection space range of the line laser sensor, and the surface of the object to be measured can have a carpet and other surfaces to be detected, or only a carpet exists on the surface of the object to be measured. The laser points with extreme heights include the laser points with the largest height and the laser points with the smallest height in the frame of line laser data. Filtering the laser points with extreme heights is actually to overcome the height difference effect brought by the laser points with the largest height and the laser points with the smallest height in the process of detecting the jump state of the laser points, so as to improve the carpet recognition accuracy.

[0034] In order to use line laser to identify carpets, this embodiment needs to analyze the characteristics of line laser point cloud data in different scenarios. Connect two adjacent laser points. For example, when the frame of line laser data comes from flat ground or plane reflection, the height difference of each laser point is very small, basically a straight line, which is not shown in the figure. If the line segment formed by each laser point appears as a plane with a short left side and a high right side, the frame of line laser data may come from a bump or uneven ground.

[0035] When the robot uses a line laser to scan an obstacle, within the detection range of the line laser, the point cloud height of the obstacle area will become higher, and other areas will remain unchanged, such as Figure 4 As shown, the line connecting the laser points formed by the reflection on the obstacle surface forms a protruding part, specifically a protruding part of a line segment.

[0036] When the robot moves to a carpet, the carpet is uneven due to its fluff and other materials. When the line laser hits the carpet surface, some laser points hit the fluff, so the height of the laser points is high; some laser points hit the gaps between the fluff, so the height of the laser points is low. The heights of two adjacent laser points are connected in sequence to form a Figure 3 The zigzag and uneven connecting line shown in the figure presents the preset jump state. This embodiment identifies the zigzag and uneven connecting line by executing the robot carpet recognition method, and then can make different action configurations according to the scene, including but not limited to climbing onto the carpet, walking along the edge of the carpet, avoiding the carpet and other different operations, to achieve better cleaning effect and cleaning planning.

[0037] In this embodiment, the robot detects that each laser point in the same frame line laser data presents a preset jump state, specifically taking into account: For the characteristics of the laser point connection lines collected in carpet and other scenes, the main differences include the length of the laser point connection line or the height difference between two adjacent laser points in the laser point connection line. Generally, within the detection space range of the same line laser sensor, the connection line of each laser point reflected from the carpet surface is longer than the connection line formed by reflection from the flat ground; while the width irradiated by the line laser is constant, the length of the connection line of each laser point reflected from the carpet surface is greater than the width irradiated by the line laser. The reason is that the uneven characteristics of the carpet cause a height difference between two very close laser points. Therefore, it can be inferred that after all the height differences of adjacent laser points in a frame of line laser data reflected from the carpet surface are accumulated, the accumulated result is particularly large, greater than a certain threshold, so that the carpet can be identified.

[0038] However, the above embodiment is only applicable to distinguishing the floor plane from the carpet, because the accumulated height difference of adjacent laser points in a frame of line laser data reflected from the floor plane is particularly small, and is significantly smaller than that of the carpet surface. Figure 4 It can be seen from the obstacle height connecting line (the zigzag line) that the obstacle will also increase the height of the laser points of some line laser data, and the line laser will rise and fall with the change of the outline of the obstacle, and the height difference formed by a single rise and fall is relatively large, which leads to a larger cumulative value of the height difference; specifically, if the type of the object is identified by accumulating the height difference between two adjacent laser points within the detection range of the line laser, the point cloud height of the obstacle area is relatively different from the point cloud height of the ground part, and the accumulated height difference between the two adjacent laser points formed by the carpet reflection is also relatively large, even equal to the accumulated height difference of the obstacle. Therefore, in the process of simply using the accumulated result of the height difference between two adjacent laser points for carpet recognition, the accumulated height difference values ​​accumulated by the carpet surface and the obstacle surface will cause the accumulated height difference value to become larger, so that there is no particularly obvious distinction between the obstacle and the carpet, including the inability to effectively distinguish the points of the obstacle and the points on the carpet. Therefore, in the prior art, by comparing the height-related information, the points on the carpet cannot be effectively identified, which reduces the effect of carpet recognition and causes carpet misrecognition.

[0039] Therefore, in order to improve the recognition accuracy of carpets, this embodiment identifies carpets and non-carpets by detecting whether each laser point in a frame of line laser data presents a preset jump state, and the premise may be to filter laser points with extreme heights; in this embodiment, the preset jump state of each laser point specifically requires analyzing the height information of its laser point, including processing the height difference between two adjacent laser points and the accumulated result thereof, including filtering processing and corresponding threshold judgment, and obtaining corresponding height flatness information to improve the recognition accuracy of carpets. In some embodiments, when the robot detects that each laser point presents a preset jump state, the robot identifies the carpet, specifically, if a bright section detected in a captured frame of image is composed of straight and multiple irregularly rising and falling lines, it is determined that each laser point in the currently collected frame of line laser data presents a preset jump state, the surface to be detected is determined to include a carpet, and the robot can identify the carpet on the surface of the object to be detected.

[0040] Compared with the prior art, this embodiment detects each laser point only through one frame of line laser data on the basis of filtering laser points with extreme heights and identifies the carpet when the preset jump state is met. This consumes less computing power and time than the prior art that performs feature matching and identification based on multiple frames of images. Therefore, this embodiment uses less computing power to quickly and effectively identify the carpet from the surface of the object to be detected (the surface to be detected that can be easily misjudged), improves the effect of carpet identification, prevents misidentification of the carpet, and further prevents the robot from climbing up the carpet and hiding from the carpet after misidentifying the carpet as an obstacle.

[0041] It should be noted that the contour information of the object to be measured collected by the line laser sensor includes but is not limited to the shape and position of the connecting line of each laser point, and each laser point is the result of the positioning of the line laser reflected light on the surface of the object to be measured. Optionally, the robot connects the pixel coordinates of the reflected light to obtain the contour information of the object to be measured.

[0042] In some embodiments, when there are no obstacles or carpets in the walking direction of the robot, the connecting line of the laser points collected by the line laser sensor should be flat and smooth; when there are obstacles or carpets in the walking direction of the robot, the contour information also includes the number of bumps and unevenness, and the number of bumps and unevenness of the connecting line of laser points formed by the reflection of the obstacle and the carpet is different. Based on this, the robot can determine whether there are obstacles or carpets in the walking direction by the frequency of contour bumps and unevenness. In this embodiment, the contour concave-convex frequency is represented by the number of rises and falls of the line connecting the laser points. The number of rises of the line connecting the laser points represents the number of times the line connecting two adjacent laser points rises, and the number of falls of the line connecting the laser points represents the number of times the line connecting two adjacent laser points falls. Every rise or fall will cause the cumulative value of the absolute value of the height difference between the two adjacent laser points to increase, that is, the height difference of the surface of the object to be measured is accumulated. Therefore, in this embodiment, the cumulative value of the height difference is used to describe the number of rises or falls of the line connecting two adjacent laser points to distinguish between obstacles and carpets. In particular, on the basis of overcoming the influence of laser points with extreme heights, the cumulative value of the height difference is used for threshold judgment, so that when it is less than a certain threshold, the contour indicated by the contour information is determined to be the obstacle contour, and when it is greater than a certain threshold, the contour indicated by the contour information is determined to be the carpet contour.

[0043] In some embodiments, the robot extracts each laser point from the one frame line laser data, and connects each laser point in turn, so that the formed connection line is continuous and uninterrupted, passing through laser points at different heights.

[0044] In a work scene without carpeting, in the one frame of line laser data, the number of laser points at different heights that the connecting line passes through may be very small. For example, when the line laser is projected onto the surface of an obstacle at a certain height, the direction of the connecting line of multiple laser points formed by reflection may be smoothly changed from low to high (a laser point with a smaller height jumps to a laser point with a larger height), or slowly changed from high to low (a laser point with a larger height jumps to a laser point with a smaller height). In a work scene with carpeting, in the one frame of line laser data, the connecting line passes through multiple laser points at different heights, and the height of the laser point keeps changing rapidly, that is, there are multiple rises and multiple falls, so that it jumps through different heights, where the number of rises and falls is greater than the corresponding number of changes of the connecting line of each laser point in the work scene without carpeting.

[0045] Then the preset jump state exists: In the frame of line laser data, the line connecting each laser point has a falling and rising alternately appearing, and the number of alternating appearances is at least twice. Schematically, as shown in FIG. Figure 3 As shown by four sequentially connected broken line segments framed by the dotted frame P1.

[0046] In the frame of line laser data, there are at least two rises and at least one fall in the line connecting each laser point, which can be presented as at least two rises first and then at least one fall. Schematically, as shown in FIG. Figure 3 As shown by three sequentially connected broken line segments framed by the dotted frame P2.

[0047] In the frame of line laser data, there are at least two drops and at least one rise in the line connecting the laser points, which can be presented as at least two drops first and then at least one rise. Schematically, as shown in FIG. Figure 3 As shown by three sequentially connected broken line segments framed by the dotted frame P3.

[0048] When the connection line of each laser point rises and falls multiple times within a detection width, it can be determined that each laser point is in a preset jump state. Based on this, the direction of the connection line of each laser point can be used to determine the preset jump state.

[0049] In the frame of line laser data, if in the line connecting each laser point, there is at most one drop and at most one rise within the same detection width, it is determined that the frequency of rise or drop is relatively low, and it can be judged that each laser point does not present the preset jump state. The robot can identify non-carpet objects from the surface of the object to be measured. Non-carpet objects include obstacles, and there is no specific restriction on the height of the obstacle.

[0050] When the height difference to be determined is less than or equal to the preset carpet height difference threshold, the line connecting each laser point presents at most one rise (the probability of rise is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) and / or at most one fall (the probability of fall is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) within the same detection width.

[0051] The carpet flatness characteristic (carpet edge characteristic) can be understood as the height of the laser point formed by the reflection of the line laser on the carpet pile is higher than the height of the laser point formed by the reflection of the line laser in the gap between the carpet pile, so that each laser point in the frame of line laser data has multiple jumps. The decline and rise are generally determined based on the line connecting two adjacent laser points, and the slope of the line connecting the two laser points can be used to distinguish the values.

[0052] In some embodiments, the carpet flatness characteristic is that the carpet is jagged and generally includes pieces of fiber material extending vertically upward from the carpet to a few centimeters above the upper side of the carpet. When a line laser hits the carpet, the light segment generated by the light reflected by the carpet will be broken into multiple small, substantially vertical line segments, each vertical line segment has a corresponding laser spot, and the higher the height of the vertical line segment, the thicker the carpet.

[0053] In some embodiments, the robot can count the number of protrusions in the line connecting each laser point in the frame of line laser data; when the number of protrusions is greater than a number threshold, it is determined that the contour indicated by the contour information is a carpet contour; when the number of protrusions is less than or equal to the number threshold, it is determined that the contour indicated by the contour information is an obstacle contour.

[0054] When the height is used to describe the trend of the connection line of each laser point, the present embodiment accumulates the height difference of the surface of the object to be measured every time it rises or falls. The number of rises or falls of the connection line of two adjacent laser points can be represented by the accumulated value of the height difference. The number of rises and the number of falls are collectively referred to as the number of jumps. When the height difference between two adjacent laser points is not large, the greater the number of jumps, the greater the accumulated value of the height difference. Based on this, the carpet can be identified. Of course, the height difference between the laser point with the highest height and the laser point with the lowest height has the greatest impact on it and needs to be offset to avoid misidentification of the carpet.

[0055] As an embodiment, the robot carpet recognition method specifically includes: The robot collects a frame of line laser data through a line laser sensor, then extracts the height of each laser point in the frame of line laser data, and screens out the laser point with the largest height and the laser point with the smallest height, so that the height difference between the laser point with the largest height and the laser point with the smallest height can be determined in advance; wherein, the various laser points extracted from the frame of line laser data are distributed along the vertical direction of the robot's body central axis and are located in front of the robot; it can be understood that the various laser points extracted from a frame of line laser data are separated on both sides of the robot's body central axis.

[0056] Then, in the frame line laser data, the absolute values ​​of the height difference between two adjacent laser points are calculated in turn, and the height difference cumulative value is obtained by accumulating the absolute values ​​of the height difference to quantitatively describe the jump state of each laser point in the same frame line laser data, including describing the number of rises or falls of the line connecting the two adjacent laser points; therefore, the height difference cumulative value can also represent the height flatness of the line connecting each laser point in the frame line laser data.

[0057] In this embodiment, in the same frame line laser data, the order of each laser point or the distance between the laser points determines multiple adjacent point clouds of a laser point. A continuous bending line is formed based on a laser point and its multiple adjacent point clouds. The accumulated value of the height difference can be calculated according to the height of the laser point as the smoothness of the line connecting the multiple laser points.

[0058] Then, the height difference accumulated value is controlled to subtract the height difference between the highest point and the lowest point in the frame line laser data, and the difference obtained by the subtraction is marked as the height difference value to be determined, so as to filter out the laser points with extreme heights on the surface of the object to be measured (which can be understood as filtering out points with large fluctuations), so that the height difference value to be determined quantitatively describes the jump state of each laser point in the same frame line laser data on the basis of offsetting the influence of the height difference between the highest point and the lowest point; wherein the highest point in the frame line laser data is the laser point with the highest height, and the lowest point in the frame line laser data is the laser point with the smallest height, both of which indicate that there are laser points with extreme heights on the surface of the object to be measured.

[0059] Then, it is determined whether the height difference to be determined is greater than a preset carpet height difference threshold. If so, it is determined that the robot has identified a carpet in front of it, and each laser point is in a preset jump state. Otherwise, the robot determines that there is an obstacle on the surface of the object to be measured. Therefore, it is detected whether each laser point is in a preset jump state according to the size relationship between the height difference between the laser point with the largest height and the laser point with the smallest height and the accumulated value of the height difference.

[0060] In some embodiments, when the height difference value to be determined is greater than a preset carpet height difference threshold, it indicates that each laser point detected on the basis of filtering the laser points with extreme heights is in a preset jump state, which can be understood as confirming that each laser point in a frame of line laser data keeps jumping, so that the accumulated height difference cumulative value, after offsetting the influence of the height difference between the highest point and the lowest point, is represented by the height difference value to be determined. The accumulated height difference accumulated by the jumps of the remaining laser points except the highest point and the lowest point, since it can be understood that the remaining laser points except the highest point and the lowest point keep jumping, including the line between two adjacent laser points showing random rise and fall, the number of rises and the number of falls accumulate a sufficiently large height difference cumulative value or a height difference value to be determined, so the height difference value to be determined is greater than the preset carpet height difference threshold, thereby determining that the robot recognizes the carpet on the surface of the object to be measured.

[0061] In some embodiments, when the height difference value to be determined is less than or equal to a preset carpet height difference threshold, it indicates that each laser point detected on the basis of filtering the laser points with extreme heights is not in a preset jump state. It can be understood that in one frame of line laser data, the remaining laser points except the highest point and the lowest point do not jump all the time, so that the accumulated height difference cumulative value, after offsetting the influence of the height difference between the highest point and the lowest point, is represented by the height difference value to be determined. The accumulated height difference accumulated by the jumps of the remaining laser points except the highest point and the lowest point is the height difference value to be determined. Since it can be understood that the remaining laser points except the highest point and the lowest point do not jump all the time or just continuously become higher or lower, and the monotonous change amplitude is relatively small, within the same detection width, the jump frequency is also less than the jump frequency correspondingly generated when the height difference value to be determined is greater than the preset carpet height difference threshold. In this embodiment, the number of jumps accumulates a relatively small height difference value to be determined, so that the height difference value to be determined is less than or equal to the preset carpet height difference threshold, thereby determining that the robot recognizes an obstacle or a flat ground on the surface of the object to be measured.

[0062] In summary, this embodiment detects whether each laser point presents a preset jump state according to the relationship between the height difference between the laser point with the highest height and the laser point with the lowest height and the height difference cumulative value, so that after the accumulated height difference cumulative value offsets the influence of the height difference between the highest point and the lowest point, the height difference value to be determined represents the accumulated height difference cumulative value of the jump of each laser point except the highest point and the lowest point. Then, the height difference value to be determined quantitatively describes the jump state of each laser point in the same frame line laser data on the basis of offsetting the influence of the height difference between the highest point and the lowest point; when the height difference value to be determined is greater than the preset carpet height difference threshold, it can be determined that all the laser points except the highest point and the lowest point keep jumping, so as to determine that the robot recognizes the carpet in the surface of the object to be measured. To prevent the misidentification of the carpet, only one frame of line laser data is needed as a whole, the amount of laser point height data is small, the computing power requirement is low, the calculation time is short, and the recognition is fast and accurate.

[0063] Specifically, the method of sequentially calculating the absolute values ​​of the height difference between two adjacent laser points and obtaining the accumulated value of the height difference by accumulating the absolute values ​​of the height difference includes: Step A: Among the laser points extracted from the one frame of line laser data, the laser point closest to the end of the bright section in the vertical direction of the central axis of the body is recorded as the starting search point. Preferably, it can be understood that in the bright section, the laser point farthest from one side of the central axis of the body is recorded as the starting search point. The laser point farthest from the central axis of the body can also be the laser point closest to the end of the bright section in the vertical direction of the central axis of the body. Then traverse a laser point adjacent to the position, and then calculate the absolute value of the height difference between the currently traversed laser point and the starting search point to obtain the accumulated value of the height difference; then execute step B.

[0064] Step B, traverse a laser point adjacent to the position that does not participate in the calculation of the absolute value of the height difference, then calculate the absolute value of the height difference between the currently traversed laser point and the laser point traversed in step A, then add the accumulated value of the height difference calculated in step A to the currently calculated absolute value of the height difference to obtain a new accumulated value of the height difference, and then control the new accumulated value of the height difference to be updated to the accumulated value of the height difference described in step A; then execute step C.

[0065] Step C, repeating step B until all laser points extracted from a frame of line laser data are traversed, and the height difference cumulative value described in step A is updated by accumulating the absolute value of the height difference, and then the height difference cumulative value updated for the last time is configured to be used to subtract the height difference between the highest point and the lowest point in the frame of line laser data to detect whether each laser point presents a preset jump state. In this embodiment, the line laser is projected on the surface of the object to be measured to form a bright section extending in the vertical direction along the central axis of the body, and the laser points formed by the reflection of the bright section constitute the frame of line laser data. In the frame of line laser data, the height of each laser point is the height of the laser point from the ground.

[0066] Assume that four laser points A1, B1, C1, and D1 are extracted from a frame of line laser data. The four laser points A1, B1, C1, and D1 are distributed in sequence along the vertical direction of the robot's body axis, and the traversed heights are hA1, hB1, hC1, and hD1, respectively, where laser point A1 is the starting search point; the four laser points A1, B1, C1, and D1 are arranged in sequence, and the two adjacent laser points can be taken to calculate the absolute value of the height difference between the currently traversed laser point and the laser point traversed in step A. The calculation method of the accumulated value of the height difference of the four laser points A1, B1, C1, and D1 is abs(hA1-hB1)+abs(hB1-hC1)+abs(hC1-hD1), and the calculation result is equal to the accumulated value of the height difference. abs(hA1-hB1), abs(hB1-hC1), and abs(hC1-hD1) are the absolute values ​​of the height difference between two pairs of adjacent laser points.

[0067] Schematically, if hA1>hB1>hC1>hD1, then abs(hA1-hB1)+abs(hB1-hC1)+abs(hC1-hD1) is equal to hA1-hD1, and it is also determined that the height difference between the highest point and the lowest point is equal to hA1-hD1; then the height difference accumulated value minus the height difference between the highest point and the lowest point is controlled to be equal to the height difference value to be determined, that is, the value 0. After the accumulated height difference accumulated value offsets the influence of the height difference between the highest point and the lowest point, the calculated height difference value to be determined is equal to the value 0, which is less than the preset carpet height difference threshold, indicating that the line connecting the four laser points A1, B1, C1, and D1 is relatively smooth, and the carpet is not recognized.

[0068] Schematically, if hA1>hB1 <hc1>hD1, then abs(hA1-hB1)+abs(hB1-hC1)+abs(hC1-hD1) is equal to hA1+2hC1-2hB1-hD1, and it is also determined that the height difference between the highest point and the lowest point is equal to hC1-hB1; then the height difference accumulated value minus the height difference between the highest point and the lowest point is controlled to be equal to the height difference value to be determined, that is, hA1+hC1-hB1-hD1, which is greater than the preset carpet height difference threshold, indicating that the connection line of the four laser points A1, B1, C1, and D1 is tortuous and uneven, and the jump state is maintained between the two adjacent laser points from the laser point A1 to the laser point D1, and the jump speed is faster than the laser point jump speed in the case of hA1>hB1>hC1>hD1, then the carpet is identified.

[0069] Preferably, the laser points extracted from one frame of line laser data do not include the laser points distributed at the edge of the bright section, so that the laser points distributed at both ends of the bright section in the vertical direction of the central axis of the body do not exist in the laser points extracted from one frame of line laser data, thereby overcoming the error caused by the excessive jump amplitude of the laser points distributed at the edge of the bright section.

[0070] In the aforementioned embodiment, the larger the height difference to be determined is, the more times each laser point in the same frame line laser data jumps in the vertical direction of the central axis of the body, so that the line connecting each laser point shows multiple rises and falls, but not necessarily multiple consecutive rises or falls. More often, the rises and falls occur randomly, and the jump frequency of the laser points is relatively large.

[0071] The smaller the height difference to be judged is, the fewer times each laser point in the same frame line laser data jumps in the vertical direction of the central axis of the body, so that the line connecting each laser point rises at least once, or falls at least once, or extends in a straight line in a single direction, wherein the rising and falling speeds are relatively small, that is, the jumping speed of the laser point is relatively slow.

[0072] The jump number is the sum of the rising and falling times of the connecting line of each laser point in the same frame line laser data, or the jump number is the sum of the convex and concave times of the connecting line of each laser point in the same frame line laser data. The descent and the rise can be combined and connected into two trajectory forms of convexity and concaveness in the connecting line of each laser point, and the height change trend of the connecting line of each laser point in the same detection width corresponds to the line segment trend form.

[0073] Combination Figure 3 and Figure 4 It can be seen that although the two lines connected by the laser points in a frame of line laser data also rise and fall in different detection scenes, the line connecting the laser points formed by the line laser in the scene of detecting obstacles will have one rise and one fall; while the line connecting the laser points formed by the line laser in the scene of detecting carpets is constantly rising and falling, that is, there are multiple rises and multiple falls, and the laser points have multiple height jumps. In this way, the height difference value to be determined can be compared with the preset carpet height difference threshold to distinguish obstacles and carpets on the surface of the object to be detected where the height jump occurs.

[0074] In summary, when the height difference to be determined is greater than the preset carpet height difference threshold, the line connecting each laser point presents multiple rises and multiple falls within one detection width; when the height difference to be determined is less than or equal to the preset carpet height difference threshold, the line connecting each laser point presents at most one rise (the probability of rise is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) and / or at most one fall (the probability of fall is less than the corresponding probability when the height difference to be determined is greater than the preset carpet height difference threshold) within the same detection width. The accuracy of carpet identification by the height of the connecting line of laser points is improved.

[0075] Preferably, the preset carpet height difference threshold is set between 3.5cm and 4cm; after the line laser is projected onto the surface of the floor, the height difference value to be determined calculated by a frame of line laser data collected by the robot is less than 3.5cm or 3cm; after the line laser is projected onto the surface of the obstacle, the height difference value to be determined calculated by a frame of line laser data collected by the robot is between 2cm and 3cm; wherein the floor and the obstacle are both non-carpet objects. The aforementioned height difference value to be determined is used as the accumulated value of the height difference obtained after filtering the laser points with extreme heights on the surface of the object to be detected, and is directly used to identify the carpet, with a good detection success rate, low calculation cost, and strong real-time performance.

[0076] In the case where the corresponding calculated height difference to be determined is greater than the preset carpet height difference threshold, the larger the height difference to be determined, the larger the length of the carpet pile projected by the line laser. In the case where the corresponding calculated height difference to be determined is less than or equal to the preset carpet height difference threshold, the smaller the height difference to be determined, the smaller the length of the carpet pile projected by the line laser. On this basis, short-haired carpets (the corresponding height difference to be determined is between 3 and 4 cm), long-haired carpets (the corresponding height difference to be determined is between 4 and 5 cm), plush mats (the corresponding height difference to be determined is between 5 and 6 cm), and thick carpets (the corresponding height difference to be determined is between 6 and 7 cm) can be specifically divided according to the height difference to be determined.

[0077] As an embodiment, the robot extracts each laser point from a frame of line laser data, connects each laser point in turn, and calculates and accumulates the length of the line between two adjacent laser points. The length is accumulated in a direction perpendicular to the central axis of the body according to the distance between the coordinates of two adjacent laser points to obtain the total length of the line connecting each laser point, and the total length is marked as the height connection line length.

[0078] When the height connection line length calculated by the robot is less than the preset connection line length threshold, if the accumulated value of the height difference calculated by the robot is less than the preset carpet height difference threshold, the robot recognizes the floor, confirms that the line laser is emitted to the floor surface and is recognized by the robot, and the robot records the height connection line length calculated by it as the ground surface height connection line length.

[0079] When the height connection line length calculated by the robot is greater than or equal to the preset connection line length threshold, if the height difference value to be determined calculated by the robot is greater than or equal to the preset carpet height difference threshold, the robot recognizes the carpet, confirms that the line laser is emitted to the carpet surface and is recognized by the robot, and the robot records the height connection line length calculated by it as the carpet height connection line length.

[0080] When the height connection line length calculated by the robot is greater than or equal to the preset connection line length threshold, if the height difference value to be determined calculated by the robot is less than the preset carpet height difference threshold, it is determined that the line laser is projected onto the surface of the obstacle, but the height connection line length calculated by the robot is not necessarily less than the preset connection line length threshold. At this time, the height connection line length calculated by a frame of line laser data collected by the robot is recorded as the obstacle height connection line length.

[0081] Within a detection width, the length of the ground surface height connection line is less than the length of the carpet height connection line, and the ground surface height connection line is less than the length of the obstacle height connection line. Specifically, for a frame of line laser data collected within the same detection width, the distribution range of each extracted laser point is within the detection space range of the same line laser sensor. When observed from the vertical direction of the central axis of the body, the span of each laser point along the vertical direction of the central axis of the body does not exceed the detection width. Based on this, the obstacle height connection line length and the carpet height connection line length calculated within the detection space range of the same line laser sensor are both greater than the ground surface height connection line length.

[0082] Regarding the use of the height connection line length to distinguish between carpets and floors, the premise is to use a frame of line laser data collected within the detection space range formed by the same line laser sensor; the line laser forms a bright segment with a fixed detection width on the surface of the object to be measured. The bright segment is the projection area of ​​the light strip extending in the vertical direction along the central axis of the body formed by the line laser projected on the surface of the object to be measured. The detection width is the size occupied by the bright segment in the vertical direction of the central axis of the body, that is, it represents the width irradiated by the line laser.

[0083] After the line laser sensor emits a line laser to the carpet surface, Figure 3 As shown, in the frame of line laser data collected by the robot, the connecting line of each laser point distributed within the same detection width is recorded as a carpet height connecting line, and the total length of each line segment forming the carpet height connecting line is equal to the length of the carpet height connecting line. Since the carpet surface is uneven, the length of the carpet height connecting line is relatively long, and there is a height difference between two relatively close laser points.

[0084] After the line laser sensor emits the line laser to the floor surface, in the frame of line laser data collected by the robot, the line connecting each laser point distributed within the same detection width is recorded as the ground surface height connection line, and the total length of each line segment connecting the ground surface height connection line is equal to the length of the ground surface height connection line. Since the floor surface is flat and smooth, the length of the ground surface height connection line is much smaller than the length of the carpet height connection line, and there is almost no height difference between any two laser points. In this way, the carpet and the floor can be distinguished by the length of the height connection line.

[0085] Furthermore, after the line laser is projected onto the surface of the floor, the height connection line length calculated by a frame of line laser data collected by the robot is recorded as the surface height connection line length, and the calculated height difference cumulative value is the surface height difference cumulative value; after the line laser is projected onto the surface of the carpet, the height connection line length calculated by a frame of line laser data collected by the robot is recorded as the carpet height connection line length, and the calculated height difference cumulative value is the carpet height difference cumulative value; after the line laser sensor emits the line laser to the surface of the obstacle, such as Figure 4 As shown, in the one frame of line laser data collected by the robot, the connecting line of each laser point distributed within the same detection width is recorded as the obstacle height connecting line, the height connecting line length calculated by the one frame of line laser data collected by the robot is recorded as the obstacle height connecting line length, and the calculated height difference cumulative value is the obstacle height difference cumulative value. Among them, the surface height difference cumulative value is less than the obstacle height difference cumulative value, and the carpet height difference cumulative value is greater than the surface height difference cumulative value. In this way, the carpet and the floor are distinguished by using the height difference cumulative value.

[0086] It can be seen from this that even if the floor surface has height increases and decreases, which is understood as a jump phenomenon, the number of jumps, the height of the jumps and the probability of the jumps are far lower than the jumps generated on the carpet surface, forming a unique height unevenness feature of the carpet. Through this feature, the floor surface and even low obstacles can be excluded before the carpet is recognized on the surface of the object to be tested.

[0087] The present application also discloses a robot. The robot includes a processor and a memory; the memory stores a program, which is loaded and executed by the processor to implement the robot carpet recognition method disclosed in the above embodiment; wherein, the line laser sensor is mounted on the central axis of the robot body, the detection direction of the line laser sensor points to the front of the robot, and the line laser emitted by the line laser sensor forms a bright section on the surface of the object to be detected in front of the robot. The robot collects a frame of line laser data from the bright section by executing the robot carpet recognition method disclosed in the above embodiment, and detects each laser point in the frame of line laser data, and extracts each laser point from the frame of line laser data. The distribution is vertical to the central axis of the robot body; when the robot detects that each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights, the robot recognizes the carpet. The robot is preferably an autonomous cleaning device, such as a sweeping robot, and the sweeping robot can improve the cleaning effect by executing the robot carpet recognition method disclosed in the above embodiment.

[0088] The memory may include one or more computer-readable storage media, which may be non-transitory. The memory may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory is used to store at least one instruction, which is used to be executed by the processor to implement the robot carpet recognition method provided in the method embodiment of the present application.

[0089] Compared with the prior art, the robot disclosed in this embodiment detects each laser point through only one frame of line laser data on the basis of filtering laser points with extreme heights and identifies the carpet when the preset jump state is met. This consumes less computing power and time than the prior art that performs feature matching and identification based on multiple frames of images. Therefore, this embodiment uses less computing power to quickly and effectively identify the carpet from the surface of the object to be tested that is easily misjudged, thereby improving the effect of carpet identification, and thus preventing the robot from climbing up the carpet and only avoiding the carpet after misidentifying the carpet as an obstacle.

[0090] The present application also discloses a chip, in which a program is stored. The program is executed by the chip to implement the robot carpet recognition method disclosed in the above-mentioned embodiment. For each laser point in a frame of line laser data disclosed in the above embodiment, the chip can detect whether each laser point presents a preset jump state according to the relationship between the height difference between the laser point with the highest height and the laser point with the lowest height and the height difference cumulative value, so that after the accumulated height difference cumulative value offsets the influence of the height difference between the highest point and the lowest point, the height difference value to be determined represents the accumulated height difference cumulative value of the jumps of the remaining laser points except the highest point and the lowest point. Then, the height difference value to be determined quantitatively describes the jump state of each laser point in the same frame of line laser data on the basis of offsetting the influence of the height difference between the highest point and the lowest point; when the height difference value to be determined is greater than the preset carpet height difference threshold, it can be determined that the remaining laser points except the highest point and the lowest point keep jumping, and it is determined that the robot recognizes the carpet in the surface of the object to be measured. The chip only needs one frame of line laser data to recognize the carpet in the surface of the object to be measured, the amount of laser point height data that the chip needs to process is small, the chip computing power requirement is low, the calculation time is short, and the recognition is fast and accurate.

[0091] The chip may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The chip may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The chip may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the chip may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content that needs to be displayed on the display screen. In some embodiments, the chip may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0092] The above is a detailed introduction to an embodiment of the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A robot carpet recognition method based on line laser data, characterized in that: A line laser sensor is installed on the robot, and is used to emit a line laser obliquely downward in the walking direction of the robot. The line laser sensor is also used to collect laser points formed by the reflection of the line laser on the surface of the object to be measured; The robot carpet recognition method comprises: The robot collects a frame of line laser data through a line laser sensor, and then detects each laser point in the frame of line laser data; When the robot detects that each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights, the robot recognizes the carpet and determines that the surface of the object to be measured includes the carpet.

2. The robot carpet recognition method according to claim 1, characterized in that: The robot extracts each laser point from the one frame of line laser data and sequentially connects each laser point; The preset jump state exists: In the one frame of line laser data, in the line connecting each laser point, the descent and the rise appear alternately or randomly, and the number of descents and the number of rises are both at least twice; In the one frame of line laser data, at least two drops and at least one rise occur in the line connecting the laser points; In the one frame of line laser data, at least two rises and at least one fall occur in the line connecting the laser points; The height of the laser spot formed by the reflection of the line laser on the pile of the carpet is higher than the height of the laser spot formed by the reflection of the line laser in the gap between the pile of the carpet.

3. The robot carpet recognition method according to claim 1, characterized in that: The robot carpet recognition method specifically includes: The robot collects a frame of line laser data through a line laser sensor, extracts the height of each laser point in the frame of line laser data, and selects the laser point with the largest height and the laser point with the smallest height; wherein each laser point extracted from the frame of line laser data is distributed in the vertical direction of the robot's body central axis and is located in front of the robot; Then, in the frame line laser data, the absolute values ​​of the height differences between two adjacent laser points are calculated in sequence, and the height difference cumulative value is obtained by accumulating the absolute values ​​of the height differences to quantitatively describe the jump states of each laser point in the same frame line laser data; Then, the height difference between the highest point and the lowest point in the one frame line laser data is controlled to be subtracted from the height difference of the height difference accumulated value, and the difference obtained by the subtraction is marked as the height difference value to be determined, so as to filter out the laser points with extreme heights on the surface of the object to be measured, wherein the highest point in the one frame line laser data is the laser point with the highest height, and the lowest point in the one frame line laser data is the laser point with the lowest height, both of which indicate that there are laser points with extreme heights on the surface of the object to be measured; Then, it is determined whether the height difference to be determined is greater than a preset carpet height difference threshold. If so, it is determined that the robot has identified a carpet in front of it, and it is determined that each laser point presents a preset jump state.

4. The method for robot carpet recognition according to claim 3, characterized in that: The method of sequentially calculating the absolute values ​​of the height difference between two adjacent laser points and obtaining the accumulated value of the height difference by accumulating the absolute values ​​of the height difference comprises: Step A, among the laser points extracted from a frame of line laser data, the laser point closest to one end of the bright section in the vertical direction of the central axis of the body is recorded as the starting search point, and then a laser point adjacent to the position is traversed, and then the absolute value of the height difference between the currently traversed laser point and the starting search point is calculated to obtain the accumulated value of the height difference; then step B is executed; Step B, traverse a laser point adjacent to the position that is not involved in the calculation of the absolute value of the height difference, and then calculate the absolute value of the height difference between the currently traversed laser point and the laser point traversed in step A to represent the height difference required to be accumulated each time on the surface of the object to be measured; then add the height difference accumulated value calculated in step A to the currently calculated absolute value of the height difference to obtain a new height difference accumulated value, and then control the new height difference accumulated value to be updated to the height difference accumulated value described in step A; then execute step C; Step C, repeating step B until all laser points extracted from a frame of line laser data are traversed, and the height difference accumulated value described in step A is updated by accumulating and calculating the absolute value of the height difference, and then the height difference accumulated value updated for the last time is configured to be used to subtract the height difference between the highest point and the lowest point in the frame of line laser data, so as to detect whether each laser point presents a preset jump state on the basis of filtering the laser points with extreme heights on the surface of the object to be measured; The line laser is projected onto the surface of the object to be measured to form a bright section extending in a direction perpendicular to the central axis of the body, and the laser points formed by the reflection of the bright section constitute the one frame of line laser data.

5. The robot carpet recognition method according to claim 4, characterized in that: Each laser point extracted from one frame of line laser data is a laser point distributed at an edge excluding the bright section.

6. The robot carpet recognition method according to claim 3, characterized in that: The larger the height difference to be determined is, the more times each laser point in a frame of line laser data jumps in the vertical direction of the central axis of the aircraft body; The smaller the height difference to be determined is, the smaller the number of jumps of each laser point in the same frame line laser data in the vertical direction of the central axis of the body is.

7. The method for robot carpet recognition according to claim 6, characterized in that: The preset carpet height difference threshold is set between 3.5 cm and 4 cm; After the line laser is projected onto the surface of the floor, the height difference value to be determined calculated by a frame of line laser data collected by the robot is less than 3.5 cm or 3 cm; After the line laser is projected onto the surface of the obstacle, the height difference to be determined calculated by a frame of line laser data collected by the robot is between 2 cm and 3 cm; Among them, floors and obstacles are both non-carpet objects.

8. The robot carpet recognition method according to claim 6, characterized in that: The robot extracts each laser point from the one frame of line laser data, connects each laser point in turn, calculates and accumulates the length of the line between two adjacent laser points, obtains the total length of the line between each laser point, and marks the total length as the height connection line length; When the height connection line length calculated by the robot is less than the preset connection line length threshold, if the accumulated height difference value calculated by the robot is less than the preset carpet height difference threshold, the robot recognizes the floor, and the robot records the height connection line length calculated by the robot as the ground surface height connection line length; When the height connection line length calculated by the robot is greater than or equal to the preset connection line length threshold, if the height difference value to be determined calculated by the robot is greater than or equal to the preset carpet height difference threshold, the robot recognizes the carpet, and the robot records the height connection line length calculated by the robot as the carpet height connection line length.

9. A robot, characterized in that: The method comprises a processor and a memory; the memory stores a program, and the program is loaded and executed by the processor to implement the robot carpet recognition method according to any one of claims 1 to 8; Among them, the line laser sensor is installed on the central axis of the robot body.

10. A chip, characterized in that: The chip stores a program, and the program is executed by the chip to implement the robot carpet recognition method according to any one of claims 1 to 8.