Obstacle classification method, mobile robot and chip

By using linear laser data to determine whether the obstacle is linear and calculate its length, the problem that existing sweeping robots cannot accurately classify obstacles is solved, and the robot's strategic planning ability when avoiding obstacles is improved.

CN119206280APending Publication Date: 2024-12-27AMICRO SEMICONDUCTOR CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202310766623.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-27
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

When existing sweeping robots encounter obstacles, they cannot choose appropriate cleaning paths based on the type of obstacles, and can only judge whether they are getting over the obstacles through simple height information, and cannot be accurately classified.

Method used

By obtaining linear laser data, we can judge whether the obstacle is a linear obstacle, and calculate the length of the obstacle in different ways based on the linearity of the obstacle. We can use point cloud data to fit the ellipse to accurately obtain the length information of the obstacle, and then Make classification.

Benefits of technology

Acquisition of accurate length information of obstacles is achieved, the shortcomings of only using height information in the prior art are improved, and the strategic planning capabilities of robots when avoiding obstacles are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119206280A_ABST
    Figure CN119206280A_ABST
Patent Text Reader

Abstract

The invention provides an obstacle classification method, a mobile robot and a chip, and the method comprises the steps: firstly judging whether an obstacle is a linear obstacle or not through line laser data, and then calculating the length of the obstacle in different modes according to whether the obstacle is linear or not, thereby achieving the classification of the obstacle. By adopting the method, the length information of the obstacle can be accurately obtained, the defect that in the prior art, only line laser data height information can be utilized is overcome, and after the obstacle is classified based on the length information of the obstacle, the robot can plan more obstacle avoidance strategies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent robots, and in particular to an obstacle classification method, a mobile robot and a chip. Background Art

[0002] With the rapid development of science and technology, artificial intelligence continues to pour into people's lives. Among them, intelligent robots have brought great convenience to our lives. For example, sweeping robots can help people clean and save labor costs and time costs. However, when most sweeping robots encounter obstacles, they clean along the edges of obstacles and cannot choose the appropriate cleaning path according to the type of obstacle. Although some sweeping robots can classify obstacles, they can only judge whether to cross obstacles based on simple height information. Therefore, it is necessary to provide a technical solution that can classify obstacles to improve the user experience of sweeping robots. Summary of the invention

[0003] This application provides an obstacle classification method, a mobile robot and a chip. The specific technical solutions are as follows:

[0004] An obstacle classification method, the classification method comprising: step S1, obtaining and processing line laser data of a current frame to obtain point cloud data that meets preset conditions, wherein the point cloud data is used to represent an obstacle; step S2, determining whether the obstacle is a linear obstacle, if so, calculating the length of the obstacle using the point cloud data of two end points of the line laser data, if not, entering step S3; step S3, fitting an ellipse using the point cloud data that meets the preset conditions and calculating the length of the obstacle, and then entering step S4; step S4, classifying based on the length of the obstacle, when the length of the obstacle exceeds a threshold, classifying the obstacle as a large obstacle, otherwise classifying the obstacle as a small obstacle.

[0005] Furthermore, in the step S1, the line laser data of the current frame is obtained and processed to obtain the method of point cloud data that meets the preset conditions, including: step S11, after obtaining the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; step S12, every preset angle, from one end to the other end of the line laser data, taking a point cloud data at each angle, if there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions, if there are multiple point cloud data at an angle, then enter step S13; step S13, compare the distances between the multiple point cloud data and the robot, take the minimum distance value, and at the same time perform mean filtering on the heights of the multiple point cloud data to obtain the average height value, and take the point cloud data with the minimum distance value and the average height value as the only point cloud data at the angle.

[0006] Furthermore, in the step S11, after acquiring the line laser data of the current frame, if point cloud data with a certain height is obtained but the height does not exceed a preset height, the obstacle is classified as a low obstacle.

[0007] Furthermore, in step S2, the method for determining whether the obstacle is a linear obstacle includes: step S21, calculating a regression equation by a linear regression equation formula based on point cloud data that meets preset conditions; step S22, calculating a residual based on the regression equation, if the residual is less than a threshold value, the obstacle is a linear obstacle, otherwise it is a nonlinear obstacle.

[0008] Furthermore, in step S2, the method for calculating the length of the obstacle using the point cloud data at the two endpoints of the line laser data includes: step S23, projecting the point cloud data at the two endpoints of the line laser data onto the regression equation respectively to obtain two projection points; step S24, calculating the distance between the two projection points based on the two-point distance formula to obtain the length of the obstacle.

[0009] Furthermore, in step S3, the method of fitting an ellipse using the point cloud data that meets the preset conditions and calculating the length of the obstacle includes: step S31, fitting an ellipse by the least squares method, wherein the general formula of the ellipse equation is Ax 2 +Axy+By 2 +Cx+Dy+E=0; Step S32, set the partial derivatives of each parameter to zero, and obtain the following equations:

[0010]

[0011] Wherein, N is the number of point cloud data that meets the preset conditions, and N is greater than or equal to 5; Step S33, solve the above equations to obtain the values ​​of A, B, C, D and E, and then calculate the semi-major axis a of the ellipse, Among them, twice the semi-major axis of the ellipse is the length of the obstacle.

[0012] A mobile robot is used to implement the obstacle classification method. The mobile robot comprises a line laser module, and the line laser module is used to obtain point cloud data.

[0013] Furthermore, the line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the line laser module is a horizontal straight line slanting downward.

[0014] Furthermore, the model of the line laser module is ALF02-S, which includes a straight line laser and a camera.

[0015] A chip stores computer program code, and the obstacle classification method is implemented when the computer program code is executed.

[0016] The obstacle classification method described in the present application first determines whether an obstacle is a linear obstacle through line laser data, and then calculates the length of the obstacle in different ways according to whether the obstacle is linear or not, thereby achieving obstacle classification. The method can accurately obtain the length information of the obstacle, improving the disadvantage of the prior art that only the height information of the line laser data can be used, and after classifying the obstacles based on the length information of the obstacles, the robot can plan more obstacle avoidance strategies. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A flowchart of an obstacle classification method according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0018] In the following description, specific details such as specific system structures, technologies, etc. are provided for the purpose of illustration rather than limitation, so as to provide a thorough understanding of the embodiments of the present application. However, it should be clear to those skilled in the art that the present application may also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to prevent unnecessary details from obstructing the description of the present application.

[0019] It should be understood that when used in this application, the term "comprising" indicates the presence of the described features, integral bodies, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integral bodies, steps, operations, elements, components and / or their collections. It should also be understood that the term "and / or" used in this application refers to any combination of one or more of the associated listed items and all possible combinations, and includes these combinations.

[0020] As used in this application, the term "if" can be interpreted as "when" or "uponce" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" can be interpreted as meaning "uponce it is determined" or "in response to determining" or "uponce [described condition or event] is detected" or "in response to detecting [described condition or event]", depending on the context.

[0021] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance. The reference to "one embodiment" or "some embodiments" described in the specification of the present application means that one or more embodiments of the present application include specific features, structures or characteristics described in conjunction with the embodiment. Therefore, the statements "in one embodiment", "in some embodiments", "in some other embodiments", "in some other embodiments", etc. that appear in the differences in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "including", "comprising", "having" and their variations all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0022] With the rapid development of science and technology, artificial intelligence continues to pour into people's lives. Among them, intelligent robots have brought great convenience to our lives. For example, sweeping robots can help people clean and save labor costs and time costs. However, when most sweeping robots encounter obstacles, they clean along the edges of obstacles and cannot choose the appropriate cleaning path according to the type of obstacle. Although some sweeping robots can classify obstacles, they can only judge whether to cross obstacles based on simple height information. Therefore, it is necessary to provide a technical solution that can classify obstacles to improve the user experience of sweeping robots.

[0023] In order to solve the above technical problems, the present application provides an obstacle classification method, which first determines whether an obstacle is a linear obstacle through line laser data, and then calculates the length of the obstacle in different ways according to whether the obstacle is linear or not, so as to achieve obstacle classification. By adopting the method, the length information of the obstacle can be accurately obtained, which improves the disadvantage of the prior art that only the height information of the line laser data can be used, and after classifying the obstacles based on the length information of the obstacles, the robot can plan more obstacle avoidance strategies.

[0024] like Figure 1 As shown, the classification method includes:

[0025] Step S1, obtaining and processing the line laser data of the current frame to obtain point cloud data that meets preset conditions, wherein the point cloud data is used to represent obstacles;

[0026] Step S2, determining whether the obstacle is a linear obstacle, if so, calculating the length of the obstacle using the point cloud data at the two end points of the line laser data, if not, proceeding to step S3;

[0027] Step S3, fitting an ellipse using the point cloud data that meets the preset conditions and calculating the length of the obstacle, and then proceeding to step S4;

[0028] Step S4, classifying based on the length of the obstacle, when the length of the obstacle exceeds a threshold, classifying the obstacle as a large obstacle, otherwise classifying the obstacle as a small obstacle.

[0029] It should be noted that the line laser data is generated by the line laser module, the module frame rate is 33 frames per second, the robot working speed is generally 300mm / s, and each frame is about 1cm apart. The line laser module emits an infrared laser through the laser transmitter and scans the target object, and then the receiver receives the reflected light and calculates the three-dimensional coordinate information of the target object based on the calibrated relative position between the receiver and the laser transmitter. It can obtain information such as height, distance and angle, thereby completing the precise positioning of the target object.

[0030] As one of the implementation modes, in the step S1, the method of obtaining the line laser data of the current frame and processing it to obtain the point cloud data that meets the preset conditions includes: step S11, after obtaining the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; step S12, taking a point cloud data at each angle from one end to the other end of the line laser data at every preset angle, if there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions, if there are multiple point cloud data at an angle, then enter step S13; step S13, compare the distance between multiple point cloud data and the robot, take the minimum distance value, and perform mean filtering on the height of multiple point cloud data to obtain the average height value, and take the point cloud data with the minimum distance value and the average height value as the only point cloud data at the angle. Among them, it is known that the line laser module hits a straight line on the obstacle, and the straight line has two endpoints, and the point cloud data is selected from one end to the other end of the straight line. Preferably, a point cloud data is selected every 1 degree on the straight line to facilitate subsequent calculations.

[0031] As one implementation, in step S11, after obtaining the line laser data of the current frame, if point cloud data with a certain height is obtained but the height does not exceed the preset height, the obstacle is classified as a low obstacle. Preferably, the preset height is 1.5 cm, and the robot can directly cross obstacles below 1.5 cm, so there is no need to calculate the length of low obstacles.

[0032] As one implementation mode, in step S2, the method for determining whether the obstacle is a linear obstacle includes: step S21, based on the point cloud data that meets the preset conditions, the regression equation is calculated by the linear regression equation formula; step S22, the residual is calculated based on the regression equation, if the residual is less than the threshold, the obstacle is a linear obstacle, otherwise it is a nonlinear obstacle. In step S21, it is first assumed that the obstacle is a linear obstacle, and then the linear regression equation is fitted to obtain y^=bx^+a, where y^ is the y estimate, x^ is the x estimate, a is the intercept, and b is the regression coefficient. In step S22, the assumption is verified by the residual, the horizontal coordinate xi value of the point cloud data that meets the preset conditions is substituted into the regression equation, the corresponding yi^ value is obtained, and the residual e=(yi-yi^)2 is calculated. If the residual e is less than the threshold, it indicates that the point cloud data that meets the preset conditions meets the linear regression equation, and the obstacle is a linear obstacle, and if the residual e is greater than the threshold, it indicates that the point cloud data that meets the preset conditions does not meet the linear regression equation, and the obstacle is not a linear obstacle. The method described in the embodiment of the present application determines whether an obstacle is linear or not, which can improve the accuracy of subsequent obstacle length calculation.

[0033] Based on the above embodiment, in step S2, the method for calculating the length of the obstacle using the point cloud data at the two endpoints of the line laser data includes: step S23, projecting the point cloud data at the two endpoints of the line laser data onto the regression equation respectively to obtain two projection points; step S24, calculating the distance between the two projection points based on the two-point distance formula to obtain the length of the obstacle. When the obstacle is a linear obstacle, the horizontal coordinates of the two endpoints of the obstacle are substituted into the regression equation to obtain two projection points, and the distance between the two projection points is used to represent the length of the obstacle. Compared with the method of directly calculating the length of the obstacle using the original point cloud data, the method described in the embodiment of the present application is more accurate and the result is closer to the actual length of the obstacle.

[0034] As one implementation method, in step S3, the method of fitting an ellipse using point cloud data that meets preset conditions and calculating the length of the obstacle includes: step S31, fitting an ellipse by the least squares method, wherein the general formula of the ellipse equation is Ax 2 +Axy+By 2 +Cx+Dy+E=0; Step S32, set the partial derivatives of each parameter to zero, and obtain the following equations:

[0035]

[0036] Wherein, N is the number of point cloud data that meets the preset conditions, and N is greater than or equal to 5; Step S33, solve the above equations to obtain the values ​​of A, B, C, D and E, and then calculate the semi-major axis a of the ellipse, The length of the obstacle is twice the semi-major axis of the ellipse. When the obstacle is not a linear obstacle, in order to obtain a more accurate obstacle length, an ellipse is fitted on the plane, and finally the length of the obstacle is represented by the major axis.

[0037] The present application also provides a mobile robot, the mobile robot is used to implement the obstacle classification method, the mobile robot includes a line laser module, and the line laser module is used to obtain point cloud data. The mobile robot described in the present application first determines whether the obstacle is a linear obstacle through the line laser data, and then calculates the length of the obstacle in different ways according to whether the obstacle is linear or not, so as to achieve obstacle classification. The mobile robot can accurately obtain the length information of the obstacle, which improves the disadvantage of the prior art that only the height information of the line laser data can be used, and after classifying the obstacles based on the length information of the obstacles, the mobile robot can plan more obstacle avoidance strategies.

[0038] As one of the implementation modes, the line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the line laser module is a horizontal straight line slanting downward.

[0039] As one implementation method, the line laser module is ALF02-S, which includes a straight line laser and a camera, has high precision and good effect. The camera is a camera specially used to receive infrared laser.

[0040] The present application also provides a chip, the chip stores a computer program code, and the obstacle classification method described above is executed when the computer program code is executed. The chip is set in the above-mentioned mobile robot, so that the mobile robot can accurately obtain the length information of the obstacle, which improves the disadvantage of the prior art that only the height information of the line laser data can be used, and after classifying the obstacles based on the length information of the obstacles, the mobile robot can plan more obstacle avoidance strategies.

[0041] It will be understood by those skilled in the art that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the references to memory, storage, database or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory ROM, programmable memory PROM, electrically programmable memory DPROM, electrically erasable programmable memory DDPROM or flash memory. Volatile memory may include random access memory RAM or external cache memory.

[0042] The technical features of the above embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0043] The above embodiments only express several embodiments of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the patent application. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application.

Claims

1. An obstacle classification method, characterized in that: The classification method includes: Step S1, obtaining and processing the line laser data of the current frame to obtain point cloud data that meets preset conditions, wherein the point cloud data is used to represent obstacles; Step S2, determining whether the obstacle is a linear obstacle, if so, calculating the length of the obstacle using the point cloud data at the two end points of the line laser data, if not, proceeding to step S3; Step S3, fitting an ellipse using the point cloud data that meets the preset conditions and calculating the length of the obstacle, and then proceeding to step S4; Step S4, classifying based on the length of the obstacle, when the length of the obstacle exceeds a threshold, classifying the obstacle as a large obstacle, otherwise classifying the obstacle as a small obstacle.

2. The obstacle classification method according to claim 1, characterized in that: In step S1, the method of acquiring and processing the line laser data of the current frame to obtain point cloud data that meets the preset conditions includes: Step S11, after acquiring the line laser data of the current frame, retaining the point cloud data whose height exceeds the preset height; Step S12, every preset angle, from one end to the other end of the line laser data, take a point cloud data at each angle. If there is only one point cloud data at an angle, then the point cloud data is the point cloud data that meets the preset conditions. If there are multiple point cloud data at one angle, go to step S13; Step S13, compare the distances between multiple point cloud data and the robot, take the minimum distance value, and perform mean filtering on the heights of multiple point cloud data to obtain the average height value. The point cloud data with the minimum distance value and the average height value is used as the only point cloud data at this angle.

3. The obstacle classification method according to claim 2, characterized in that: In the step S11, after acquiring the line laser data of the current frame, if point cloud data with a certain height is obtained but the height does not exceed the preset height, the obstacle is classified as a low obstacle.

4. The obstacle classification method according to claim 2, characterized in that: In step S2, the method for determining whether the obstacle is a linear obstacle includes: Step S21, calculating the regression equation by a linear regression equation formula based on the point cloud data that meets the preset conditions; Step S22, calculating the residual based on the regression equation, if the residual is less than the threshold, the obstacle is a linear obstacle, otherwise it is a nonlinear obstacle.

5. The obstacle classification method according to claim 4, characterized in that: In step S2, the method of calculating the length of the obstacle using the point cloud data at the two end points of the line laser data includes: Step S23, projecting the point cloud data of the two end points of the line laser data onto the regression equation respectively to obtain two projection points; Step S24, based on the two-point distance formula, calculate the distance between the two projection points to obtain the length of the obstacle.

6. The obstacle classification method according to claim 4, characterized in that: In step S3, the method of fitting an ellipse using point cloud data that meets preset conditions and calculating the length of the obstacle includes: Step S31, fitting an ellipse by the least square method, wherein the general formula of the ellipse equation is Ax 2 +Axy+By 2 +Cx+Dy+E=0; Step S32, set the partial derivatives of each parameter to zero, and obtain the following equations: Wherein, N is the number of point cloud data that meets the preset conditions, and N is greater than or equal to 5; Step S33, solving the above equations to obtain the values ​​of A, B, C, D and E, and then calculating the semi-major axis a of the ellipse. Among them, twice the semi-major axis of the ellipse is the length of the obstacle.

7. A mobile robot, characterized in that: The mobile robot is used to implement the obstacle classification method described in any one of claims 1 to 6, and the mobile robot includes a line laser module, and the line laser module is used to obtain point cloud data.

8. A mobile robot according to claim 7, characterized in that: The line laser module is arranged at the front end of the mobile robot, and the line laser emitted by the line laser module is a horizontal straight line slanting downward.

9. A mobile robot according to claim 8, characterized in that: The model of the line laser module is ALF02-S, which includes a straight line laser and a camera.

10. A chip storing computer program code, characterized in that: When the computer program code is executed, the obstacle classification method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Dynamic obstacle tracking method based on sparse laser radar data

    CN111337941A

  • Unmanned aerial vehicle obstacle avoidance method and unmanned aerial vehicle

    CN112526530A

  • Method for detecting and positioning regular object

    CN112819883A

  • Obstacle detection method, driving equipment and storage medium

    CN113296116A

  • Real-time obstacle avoidance planning method based on A star algorithm

    CN113701780A