Method, System and Robot for Point Cloud Filtering
By processing the sliding window and gradient map of point clouds in the robot environment, the problem of insufficient robot positioning and map accuracy is solved, and the accuracy of maps and the efficiency of robot navigation is improved.
Patent Information
- Application Number
- CN202210346700.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-31
- Publication Date
- 2025-06-03
- Estimated Expiration
- 2042-03-31
AI Technical Summary
In the prior art, when a robot is positioned and navigated independently in an unknown environment, its positioning is not accurate enough, resulting in the created environment maps that are not accurate enough, affecting subsequent positioning and navigation.
By preprocessing the original point cloud, an initial filtered point cloud is formed, a sliding window is created, a gradient map is created and superimposed, and the final filter point is determined to correct the points in the point cloud.
The edges of the raster map are refined, and the accuracy of the raster map is improved, which is conducive to the robot's subsequent positioning, navigation and path planning, and improves the customer experience.
Smart Images

Figure CN114663616B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the technical field of robotics, and particularly relates to a method for point cloud filtering, a point cloud filtering system, a robot, and a computer-readable storage medium. Background Art
[0002] With the continuous development of artificial intelligence technology, mobile robots are increasingly widely used. In a completely unknown environment, mobile robots often use SLAM (Simultaneous Localization And Mapping) to achieve autonomous positioning and navigation.
[0003] SLAM (Simultaneous Localization and Mapping), also known as simultaneous localization and mapping, is a method in which a robot starts moving from an unknown position in an unknown environment and uses the data collected by its own sensors and the map during the movement for self-localization, realizing the robot's autonomous positioning and navigation. However, due to various reasons, the robot's self-localization is often not accurate enough, resulting in an inaccurate environment map created, which in turn affects the robot's subsequent positioning and navigation. In the prior art, the accuracy of the created environment map is often improved by improving the accuracy of the robot's self-localization.
[0004] The content in the background art section is only the technology known to the inventor and does not necessarily represent the prior art in this field. Summary of the Invention
[0005] In view of one or more deficiencies of the prior art, the present invention provides a method for point cloud filtering, including:
[0006] Preprocessing the original point cloud to form an initial filtered point cloud;
[0007] Creating a sliding window;
[0008] Using the sliding window, traversing and processing at least some of the points in the initial filtered point cloud in the following manner:
[0009] Moving the sliding window so that the reference position of the sliding window aligns with a point in the initial filtered point cloud;
[0010] Establishing a gradient map for the points in the initial filtered point cloud that fall within the sliding window;
[0011] Superimposing the gradient maps to obtain a superimposed gradient map, and taking the projection point corresponding to the maximum value point in the superimposed gradient map as the final filtered point of the point;
[0012] Correcting the point using the final filtered point.
[0013] According to one aspect of the present invention, the step of preprocessing the original point cloud includes: performing downsampling on the original point cloud by using a voxel grid to reduce the number of points.
[0014] According to one aspect of the present invention, the step of creating a sliding window includes: determining the size of the sliding window.
[0015] According to one aspect of the present invention, the size of the sliding window is related to the average distance of the points in the initial filtered point cloud.
[0016] According to one aspect of the present invention, the shape of the sliding window includes any one of a square, a circle, and a triangle.
[0017] According to one aspect of the present invention, the step of establishing a gradient map includes: establishing a gradient map with each point in the sliding window as the center.
[0018] According to one aspect of the present invention, the step of establishing a gradient map includes: calculating the gradient of each point in the sliding window respectively, generating a gradient map based on the calculated gradient, and the number of the gradient maps is equal to the number of the points in the sliding window.
[0019] According to one aspect of the present invention, the step of correcting one point by using the filtered point includes: in the superimposed gradient map, replacing the coordinate of the one point with the coordinate of the final filtered point.
[0020] The present invention also relates to a robot, including:
[0021] A main body having a walking mechanism;
[0022] A sensor disposed on the main body and configured to collect point clouds in the surrounding environment of the robot; and
[0023] A controller coupled to the sensor and the walking mechanism and configured to execute the method as described above.
[0024] The present invention also relates to a point cloud filtering system, including:
[0025] An acquisition unit configured to collect point clouds in the surrounding environment of the robot;
[0026] A filtering unit coupled to the acquisition unit and configured to filter the collected point clouds;
[0027] A processing unit coupled to the acquisition unit and the filtering unit and configured to control the acquisition unit and the filtering unit to execute the method as described above.
[0028] The present invention also relates to a computer-readable storage medium, including computer-executable instructions stored thereon, and the executable instructions, when executed by a processor, implement the method as described above.
[0029] By adopting the technical solution of the present invention, through processing the point cloud in the grid map, the edge of the grid map is refined, the accuracy of the grid map is improved, which is beneficial for the robot to perform positioning, navigation and path planning according to the grid map subsequently, so as to bring better services to customers and thus enhance the customer experience. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The drawings are used to provide further understanding of the present invention, and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention, but do not constitute a limitation to the present invention. In the drawings:
[0031] Figure 1 A schematic diagram showing a grid map with a "coarse edge" generated from a point cloud is shown;
[0032] Figure 2 A schematic diagram showing a method for point cloud filtering according to an embodiment of the present invention is shown;
[0033] Figures 3A - 3D A schematic diagram showing the creation of a sliding window according to an embodiment of the present invention is shown;
[0034] Figure 4A and 4B A schematic diagram showing the alignment of the reference position of a sliding window with a point according to an embodiment of the present invention is shown;
[0035] Figure 5 A schematic diagram showing points falling within a sliding window according to an embodiment of the present invention is shown;
[0036] Figure 6A A schematic diagram showing a gradient map according to an embodiment of the present invention is shown;
[0037] Figure 6B A schematic diagram showing the processing of points using a gradient map according to an embodiment of the present invention is shown;
[0038] Figure 7 A schematic diagram showing an adjusted result according to an embodiment of the present invention is shown;
[0039] Figure 8 A schematic diagram showing the effect after correcting the initial filtered point cloud according to an embodiment of the present invention is shown;
[0040] Figure 9 A schematic diagram showing a robot according to an embodiment of the present invention is shown; and
[0041] Figure 10 The figure shows a schematic diagram of a point cloud filtering system according to an embodiment of the present invention. Detailed implementation manners
[0042] In the following, only some exemplary embodiments are simply described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the present invention. Therefore, the drawings and the description are considered to be exemplary in nature rather than restrictive.
[0043] In the description of the present invention, it should be understood that the orientation or positional relationships indicated by the terms "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", etc. are based on the orientation or positional relationships shown in the drawings. These are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the present invention. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more of the described features. In the description of the present invention, "a plurality" means two or more unless otherwise specifically defined.
[0044] In the description of the present invention, it should be noted that unless otherwise clearly specified and limited, the terms "mounted", "connected", and "coupled" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection, an electrical connection, or a connection that allows mutual communication; it can be directly connected, or indirectly connected through an intermediate medium, and it can be the internal communication of two elements or the interaction relationship between two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0045] In the present invention, unless otherwise clearly specified or limited, the first feature being "on" or "under" the second feature may include direct contact between the first and second features, or may include indirect contact between the first and second features through additional features therebetween. Moreover, the first feature being "above", "over" and "on top of" the second feature includes the first feature being directly above and obliquely above the second feature, or merely indicating that the horizontal height of the first feature is higher than that of the second feature. The first feature being "under", "beneath" and "underneath" the second feature includes the first feature being directly below and obliquely below the second feature, or merely indicating that the horizontal height of the first feature is less than that of the second feature.
[0046] The following disclosure provides many different embodiments or examples for implementing different structures of the present invention. To simplify the disclosure of the present invention, components and settings of specific examples are described below. Of course, they are merely examples and are not intended to limit the present invention. In addition, the present invention may repeat reference numerals and / or reference letters in different examples. Such repetition is for the purpose of simplification and clarity, and does not itself indicate the relationship between the various embodiments and / or settings discussed. In addition, the present invention provides examples of various specific processes and materials, but those of ordinary skill in the art may be aware of the application of other processes and / or the use of other materials.
[0047] The preferred embodiments of the present invention are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are only for the purpose of illustrating and explaining the present invention, and are not used to limit the present invention.
[0048] Figure 1 A schematic diagram showing a "coarse edge" in a grid map generated from point clouds is shown.
[0049] The robot obtains the point cloud of the surrounding environment through a sensor, maps the obtained point cloud from the coordinate system of the sensor to a two-dimensional plane, and stores it in a grid data structure to form a planar grid map. The sensor includes a lidar, a binocular vision sensor, an ultrasonic sensor, etc. The present invention does not limit the specific type of the sensor. Ideally, the point clouds generated by the robot detecting the same target object at different positions should be the same. For example, when the robot detects a wall with a sensor at position (1,1) to obtain point cloud a, and the robot detects the same wall with a sensor at position (2,2) to obtain point cloud b, point cloud a and point cloud b should be the same, that is, point cloud a and point cloud b should be completely coincident. However, in the actual detection process, due to various reasons such as noise in the sensor itself or errors in the fusion of various sensors, the self-positioning of the robot will be inaccurate. Therefore, the point clouds obtained by the robot detecting the same target object at different positions are not the same and not completely coincident, resulting in the appearance of "coarse edges" in the grid map generated from the point cloud. Refer to Figure 1The part circled by the middle rectangular frame affects the accuracy of the grid map.
[0050] The present invention provides a method for processing the "rough edge" point cloud on the basis of a grid map with "rough edges" (hereinafter referred to as grid map F) to make the grid map F more accurate. The following is a specific description.
[0051] Figure 2 FIG. shows a schematic diagram of a point cloud filtering method 10 according to an embodiment of the present invention. The method 10 includes steps S11-S13, and the following is a specific description of each step of the method 10.
[0052] In step S11, the original point cloud is preprocessed to form an initial filtered point cloud.
[0053] First, it should be noted that the original point cloud described in step S11 can be the point cloud initially generated by the robot's sensor, such as Figure 1 all the point clouds shown in FIG., or only the "rough edge" part of the point cloud in the grid map F, refer to Figure 1 the part circled by the middle rectangular frame in FIG. In the case of only processing the "rough edge" part of the point cloud, the steps of preprocessing the original point cloud include straight-through filtering. The "rough edge" point cloud is filtered out through straight-through filtering so that only this part of the "rough edge" point cloud filtered out is processed in the subsequent processing of the point cloud, reducing the calculation amount and accelerating the processing speed. The following is a specific description.
[0054] According to a preferred embodiment of the present invention, the distribution area of the "coarse edge" point cloud in the grid map F is determined by four key coordinates. The four key coordinates include (Xmin, Ymin), (Xmax, Ymax), (Xmax, Ymax), and (Xmin, Ymin). After determining these four key coordinates, the left boundary, right boundary, upper boundary, and lower boundary of the "coarse edge" point cloud in the grid map F can be determined, and thus the distribution area of the "coarse edge" point cloud in the grid map F is determined. Then, a pass-through filter can be used to set filtering conditions to filter the points in the "coarse edge" point cloud. For example, by setting conditions to filter out the points where Xmin ≤ X ≤ Xmax and Ymin ≤ Y ≤ Ymax, the filtered points of the "coarse edge" point cloud can be obtained. It should be understood that the above embodiments are only examples and do not constitute a limitation to the present invention. In actual operation, other methods can also be used to crop the "coarse edge" point cloud. For example, determine the distance d1 between the left and right boundaries of the "coarse edge" point cloud in the grid map F, and the distance d2 between the upper and lower boundaries. Take the rectangular area with d1 as the length and d2 as the width as the area where the "coarse edge" point cloud is located. In addition, the area where the "coarse edge" point cloud is located can also be visually estimated and this part of the area can be intercepted, all of which are within the protection scope of the present invention.
[0055] After filtering out the "coarse edge" point cloud, the overall point cloud obtained is still relatively dense and the number of points is still large. To further reduce the computational amount, speed up the processing speed, and retain the shape characteristics of the "coarse edge" point cloud, downsampling is performed on the "coarse edge" point cloud. Specifically, voxel filtering can be performed using a voxel grid of a preset size. According to a preferred embodiment of the present invention, for example, the "coarse edge" point cloud is divided into small cubes (voxel grids) with a size of 2*2*2. For the points in each small cube (voxel grid), determine their centroids, and approximate the coordinates of the centroids to several points within the small cube (voxel grid), thereby reducing the number of points in the "coarse edge" point cloud and forming an initial filtered point cloud. It should be understood that this embodiment is only an example and does not constitute a limitation to the present invention. The size of the voxel grid can be set according to the actual situation.
[0056] According to an embodiment of the present invention, instead of performing pass-through filtering on the original point cloud, voxel filtering can be performed on the entire original point cloud to reduce the point density and quantity.
[0057] In step S12, a sliding window is created.
[0058] When creating a sliding window, the size of the sliding window can be selected according to the density of the point cloud and the distance between adjacent points. If the size of the sliding window is too small, the number of points within the sliding window may be too small, the overall processing speed may be relatively slow and the effect may not be good; conversely, if the size of the sliding window is too large, the number of points within the sliding window may be too large, the overall processing speed may be relatively fast but the effect may not be good. Both of these situations will affect the accuracy of the subsequent point cloud processing results. Therefore, it is particularly important to select an appropriate size for the sliding window. Next, it will be specifically described how to select an appropriate size for the sliding window.
[0059] Figures 3A - 3D A schematic diagram of creating a sliding window is shown.
[0060] According to a preferred embodiment of the present invention, the size of the sliding window can be determined according to the density of points in the initial filtered point cloud. The density of points in the initial filtered point cloud can be characterized by the average distance between points, and the average distance can be determined by the coordinates of the points in the grid map F. When the average distance between points is greater than or equal to the threshold, it is determined that the points in the initial filtered point cloud are relatively sparse, and a slightly larger sliding window (such as a 10×10 square sliding window, refer to Figure 3B ) can be created; when the average distance between points is less than the threshold, it is determined that the points in the initial filtered point cloud are relatively dense, and a slightly smaller sliding window (such as a 5×5 square sliding window, refer to Figure 3A ) can be created. When determining the average distance between points in the initial filtered point cloud, a point-by-point calculation method can be used, or a method of selecting some points (such as points spaced one or more points apart) for calculation can be used, or points in some regions of the initial filtered point cloud can be selected for calculation. The specific method can be selected according to the actual situation, and all of these are within the protection scope of the present invention.
[0061] The above is to determine the size of the sliding window according to the density of points in the initial filtered point cloud. In addition, the size of the sliding window can also be set according to the overall distribution of points in the initial filtered point cloud. The following will be specifically described.
[0062] According to a preferred embodiment of the present invention, it can be first determined whether the overall distribution of points in the initial filtered point cloud is uniform. When the overall distribution of points in the initial filtered point cloud is relatively uniform, a sliding window with a fixed size can be created, refer to Figure 3C . Conversely, when the overall distribution of points in the initial filtered point cloud is non-uniform, a sliding window with a variable size can be created, refer to Figure 3D . The specific size of the sliding window is set according to the actual situation.
[0063] According to a preferred embodiment of the present invention, the shape of the sliding window can be any one of a square, a rectangle, a circle, and a triangle. The present invention does not limit the specific shape of the sliding window, and it can be selected according to the actual situation. Moreover, for the filtering effect, regardless of the size of the sliding window, it should be ensured that there are at least a preset number (such as 5) of points within one sliding window.
[0064] The above embodiments introduce the specific implementation manners of creating the sliding window. Next, it will be described how to filter the initial filtered point cloud through the sliding window.
[0065] In step S13, by using the sliding window, at least some of the points in the initial filtered point cloud are traversed and processed in the following manner. Step S13 includes four sub-steps S131 - S134, which will be specifically described below.
[0066] In step S131, move the sliding window so that the reference position of the sliding window is aligned with a point in the initial filtered point cloud.
[0067] Figure 4A FIG. shows a schematic diagram of the reference position of the sliding window aligned with a point according to an embodiment of the present invention, where the center of the rectangular sliding window is used as the reference position; FIG. 4B shows a schematic diagram of the reference position of the sliding window aligned with a point according to another embodiment of the present invention, where the lower left corner of the rectangular sliding window is used as the reference position. The reference position can also be any position within the sliding window. The reference position can be any vertex of the rectangular sliding window, can be a position on any side of the rectangle, and can also be any position within the rectangular area. Preferably, the reference position is the center position of the rectangle (i.e., Figure 4A the situation shown). The size of the sliding window is set according to the need, and at least there are a preset number of points within the sliding window.
[0068] Figure 5 FIG. shows a schematic diagram of the points falling within the sliding window according to an embodiment of the present invention. Wherein the one point is a point to be processed in the initial filtered point cloud. Referring to Figure 5 , using the lower left corner of the rectangular sliding window as the reference position (the same as Figure 4B ), point A is the point to be processed, and align the reference position of the sliding window with point A. For example, Figure 5 as shown in the sliding window, there are five points A, B, C, D, and E.
[0069] The above embodiments describe how to align a square sliding window with a point in the initial filtered point cloud. In fact, if the shape of the sliding window is other shapes, the reference position of the sliding window can be adjusted according to requirements.
[0070] According to an embodiment of the present invention, when the sliding window is triangular, the reference position of the triangular sliding window can be at any vertex position of the triangle, can be at any position on the three sides, or can be at any position within the triangular region. Preferably, the centroid position of the triangle is used as the reference position of the triangular sliding window. Align the position where the centroid of the triangle is located with the point to be processed next, and ensure that a certain number of points are within the triangular sliding window.
[0071] According to an embodiment of the present invention, the sliding window can also be a circle with a preset radius (such as 4), and the reference position of the sliding window can be any position within the circular region or on the circumference. Preferably, the center position of the circle is used as the reference position of the sliding window.
[0072] Taking the square sliding window as an example below, continue to illustrate how to use the sliding window for filtering.
[0073] In step S132, a gradient map is established for the points in the initial filtered point cloud that fall within the sliding window. Specifically, calculate the gradient of each point within the sliding window, and generate a gradient map based on the calculated gradient. The number of gradient maps is equal to the number of points within the sliding window.
[0074] Figure 5 Shows a schematic diagram of the points that fall within the sliding window according to an embodiment of the present invention. As Figure 5 shown, there are five points A, B, C, D, and E that fall within the sliding window. A gradient map is established with each point as the center, and the number of gradient maps corresponds to the number of points. That is, the number of gradient maps established is equal to the number of points within the sliding window. For example, if there are five points A, B, C, D, and E within the sliding window, then a gradient map is established with points A, B, C, D, and E as the centers respectively, obtaining five gradient maps. Specifically, how to establish the gradient map will be described below.
[0075] Since the points in the initial filtered point cloud are relatively dense and the coordinate differences in the grid map F are not significant, in order to make the coordinates of the points in the initial filtered point cloud more clearly distinguishable and facilitate subsequent processing, the initial filtered point cloud is rasterized at an appropriate resolution to obtain a grid map H. The resolution of the grid map H is higher than the resolution of the grid map F, and the specific resolution size is set according to the actual situation. Preferably, the resolution of the grid map H is set to a resolution that allows each point to occupy one grid.
[0076] Figure 6A Shows a schematic diagram of a gradient map according to an embodiment of the present invention.
[0077] According to a preferred embodiment of the present invention, as Figure 6A shown, a 5×5 gradient map is established, and each grid has a corresponding value, which can be set as needed. The value corresponding to the center position of the gradient map is the largest. Here, we assume it is set to 10, and the values of the other grids decrease as the distance from the center grid position increases. The whole process can be understood as that because a certain point cloud is corrected, the closer to the point cloud, the greater the influence factor of the higher value of the grid on the gradient map. In the actual operation process, gradient maps of other specifications can be set, such as 3×3, 4×4, and the values corresponding to each grid of the gradient map can also be set to other values, which are specifically set according to the actual situation, and the present invention does not limit it. The assignment of the gradient map is given according to the data processing process, similar to the function of a fixed function, and the value is only for us to easily find the maximum point of the point cloud overlap.
[0078] In step S133, the gradient maps are superimposed to obtain a superimposed gradient map. The projection point corresponding to the maximum value point in the superimposed gradient map is used as the final filtering point of the point.
[0079] In step S134, the point is corrected by using the final filtering point.
[0080] Figure 6B Shows a schematic diagram of processing a point using a gradient map according to an embodiment of the present invention.
[0081] Figure 7 Shows an adjusted schematic diagram according to an embodiment of the present invention. In Figure 7 it, the same as Figure 4B shown, the lower left corner of the rectangular sliding window is used as the reference position, and the lower left corner of the sliding window is aligned with point A(1, 1), and points B, C, D, and E fall into the sliding window.
[0082] When processing point A, gradient maps are respectively established with all the points ABCDE in the sliding window as the center, and the (center) of the gradient map is aligned with point A. At this time, in the gradient map of A, the gradient of point A is 10, the gradient of point B is 1, and the gradient of point C is 4. Refer to Figure 6B .
[0083] Similarly, in the gradient map of B, the gradient of point A is 1, the gradient of point B is 10, and the gradient of point C is 4 (not shown).
[0084] Similarly, in the gradient map of C, at this time, the gradient of point A is 4, the gradient of point B is 4, and the gradient of point C is 10 (not shown).
[0085] Similarly, the gradient map of DE also needs to be superimposed in this way. For simplicity of explanation here, only ABC is taken as an example.
[0086] Superimpose the gradients obtained at the position where point A is located, that is, 10 + 1 + 4 = 15 (not shown).
[0087] Superimpose the gradients obtained at the position where point B is located, that is, 1 + 10 + 4 = 15 (not shown).
[0088] Superimpose the gradients obtained at the position where point C is located, that is, 4 + 4 + 10 = 18 (not shown).
[0089] Similarly, not only the gradients at the positions of points ABC are superimposed, but the gradients at all positions covered by the gradient map are superimposed. The point with the largest median value among the finally superimposed gradient values is taken as the adjusted position and coordinates of A.
[0090] Compare the gradients calculated above, and then take the point with the largest gradient as the adjusted position and coordinates of this point A. For example, if the point with the largest accumulated gradient is A', then adjust point A to point A', and adjust the coordinates of point A to the coordinates of point A'. After adjustment, the original point A can be deleted from the point cloud.
[0091] For example, after comparison (in this example, only the gradient superposition at the positions of points ABC is taken as an example, and other points are not considered for the time being), 15 is equal to 15 and less than 18. Take the maximum value 18, and the corresponding point of the maximum value 18 is point C. Take the projection point of point C in the grid map H as the filtered point of point A. Assign the coordinates of point C in the grid map H to point A, adjust point A to the position of point C to get A', and the original point A can be deleted from the point cloud. In the actual operation process, if there are two maximum values, either one of the maximum values can be taken, and the projection point of any one of the two maximum values in the grid map H is used as the filtered point of the point to be processed. It should be understood that this embodiment is only an example and does not constitute a limitation to the present invention. In the actual operation process, the operation of aligning the gradient map with each point in the sliding window can be processed in parallel. For example, align multiple gradient maps (centers) with each point in the sliding window respectively. There may be partial overlap among multiple gradient maps. Accumulate the corresponding values of the overlapping grid parts, and take the point corresponding to the maximum value as the filtered point of the point to be processed.
[0092] Taking point A as an example above, the method of correcting the coordinates of point A is described. Further, move the sliding window so that the reference position of the sliding window is aligned with the next point to be corrected (such as point B). Similarly, through steps S131 - S134, superimpose the gradient maps of each point in the sliding window, and take the point corresponding to the maximum value point in the superimposed gradient map as the final filtered point of this point.
[0093] Figure 8 Shows the effect diagram after the initial filtered point cloud is corrected according to an embodiment of the present invention. As Figure 8 shown, according to the above method, each point in the initial filtered point cloud is traversed. After the initial point cloud is corrected, the "coarse edge" point cloud becomes thinner. The thinned point cloud is spliced to the original position of the grid map F to obtain a grid map with higher accuracy.
[0094] The present invention also relates to a robot 200.
[0095] Figure 9 Shows a schematic diagram of the robot 200 according to an embodiment of the present invention. Refer to Figure 9 , the robot 200 includes: a main body 201 having a traveling mechanism 2011; a sensor 202 disposed on the main body 201 and configured to collect point clouds in the surrounding environment of the robot; and a controller 203 coupled to the sensor 202 and the traveling mechanism 2011 and configured to execute the point cloud filtering method 10 as described above.
[0096] The present invention also provides a point cloud filtering system 300.
[0097] Figure 10 Shows a schematic diagram of the point cloud filtering system 300 according to an embodiment of the present invention. Refer to Figure 10 , the point cloud filtering system 300 includes: a collection unit 301 configured to collect point clouds in the surrounding environment of the robot; a filtering unit 302 coupled to the collection unit 301 and configured to filter the collected point clouds; and a processing unit 302 coupled to the collection unit 301 and the filtering unit 302 and configured to control the collection unit 301 and the filtering unit 302 to execute the point cloud filtering method 10 as described above.
[0098] The present invention also provides a computer-readable storage medium, including computer-executable instructions stored thereon, and the executable instructions, when executed by a processor, implement the method 10 for point cloud filtering as described above. The computer-readable storage medium includes, but is not limited to, any type of memory, and the present invention does not limit the type of memory. The memory can be non-volatile and / or volatile memory. The non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), resistive random access memory (ReRAM), phase change random access memory (PCRAM), or flash memory. The volatile memory can include random access memory (RAM), registers, or cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct rambus dynamic RAM (DRDRAM), and rambus dynamic RAM (RDRAM), etc.
[0099] Adopting the technical solution of the present invention, by processing the point cloud in the grid map, the edge of the grid map is refined, the accuracy of the grid map is improved, which is beneficial for the robot to perform positioning, navigation, and path planning according to the grid map subsequently, so as to bring better services to customers and thus enhance the customer experience.
[0100] Finally, it should be noted that the above are only the preferred embodiments of the present invention and are not used to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art can still modify the technical solutions described in the foregoing embodiments, or perform equivalent substitution on some of the technical features. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for point cloud filtering, comprising: Preprocessing the original point cloud to form an initial filtered point cloud; Creating a sliding window, including: determining the size of the sliding window according to the density of points in the initial filtered point cloud, and the sliding window includes a preset number of points; Using the sliding window to traverse and process at least some of the points in the initial filtered point cloud in the following manner: Moving the sliding window so that the reference position of the sliding window aligns with a point in the initial filtered point cloud; Establishing a gradient map for the points in the initial filtered point cloud that fall within the sliding window; Superimposing the gradient maps to obtain a superimposed gradient map, and taking the projection point corresponding to the maximum value point in the superimposed gradient map as the final filtered point of the point; Using the final filtered point to correct the point.
2. The method according to claim 1, wherein the step of preprocessing the original point cloud comprises: Performing downsampling on the original point cloud using a voxel grid to reduce the number of points.
3. The method according to claim 1, wherein the size of the sliding window is related to the average distance of points in the initial filtered point cloud.
4. The method according to claim 1, wherein the shape of the sliding window comprises: Any one of a square, a circle, and a triangle.
5. The method according to any one of claims 1-4, wherein the step of establishing the gradient map comprises: Establishing a gradient map centered on each point within the sliding window respectively.
6. The method according to claim 5, wherein the step of establishing the gradient map comprises: Determining the gradient of each point within the sliding window respectively, generating a gradient map based on each gradient, and the number of gradient maps is equal to the number of points within the sliding window.
7. The method according to claim 1, wherein the step of using the final filtered point to correct the point comprises: In the superimposed gradient map, replacing the coordinates of the point with the coordinates of the final filtered point.
8. A robot, comprising: A main body having a walking mechanism; A sensor disposed on the main body and configured to collect point clouds in the environment around the robot; and A controller coupled to the sensor and the walking mechanism and configured to execute the method according to any one of claims 1-7.
9. A point cloud filtering system, comprising: An acquisition unit configured to collect point clouds in the environment around the robot; A filtering unit coupled to the acquisition unit and configured to filter the collected point clouds; A processing unit coupled to the acquisition unit and the filtering unit and configured to control the acquisition unit and the filtering unit to execute the method according to any one of claims 1-7.
10. A computer-readable storage medium, including computer-executable instructions stored thereon, and the executable instructions, when executed by a processor, implement the method according to any one of claims 1-7.
Citation Information
Patent Citations
Point cloud semantic map construction method based on deep learning and laser radar
CN108415032A
Pedestrian detection method and device, electronic equipment and storage medium
CN112001298A