US-12619252-B1 - Method for processing data of 3D point cloud map, controller, and autonomous mobile machine
Abstract
A method for processing data of a three-dimensional (3D) point cloud map, a controller, and an autonomous mobile machine are provided. The method for processing data of a 3D point cloud map includes: performing two-dimensional (2D) processing on point cloud data of the 3D point cloud map to generate 2D point cloud data, at least one boundary of the 3D point cloud map being a straight line; performing straight line extraction processing on the 2D point cloud data to generate straight line data; calculating a rotation angle of the 3D point cloud map based on the straight line data; and rotating the 3D point cloud map based on the rotation angle, to enable at least one boundary of the 3D point cloud map to be parallel to at least one coordinate axis of a world coordinate system.
Inventors
- Shuai JIA
- Fan ZHENG
- Jianhong Xu
Assignees
- VISIONNAV ROBOTICS USA INC.
Dates
- Publication Date
- 20260505
- Application Date
- 20250725
Claims (20)
- 1 . A method for processing data of a three-dimensional (3D) point cloud map, comprising: performing two-dimensional (2D) processing on point cloud data of the 3D point cloud map to generate 2D point cloud data, at least one boundary of the 3D point cloud map being a straight line; performing straight line extraction processing on the 2D point cloud data to generate straight line data; calculating a rotation angle of the 3D point cloud map based on the straight line data; rotating the 3D point cloud map based on the rotation angle, to enable at least one boundary of the 3D point cloud map to be parallel to at least one coordinate axis of a world coordinate system; generating a movement task path based on a rotated 3D point cloud map; and controlling an autonomous mobile machine by transmitting signals through a processor, to cause the autonomous mobile machine to move according to the movement task path.
- 2 . The method for processing data of a 3D point cloud map according to claim 1 , wherein the 2D processing comprises: performing downsampling processing on the point cloud data of the 3D point cloud map to generate sparse point cloud data.
- 3 . The method for processing data of a 3D point cloud map according to claim 2 , wherein the 2D processing further comprises: calculating a normal vector of each piece of point cloud data of the sparse point cloud data.
- 4 . The method for processing data of a 3D point cloud map according to claim 3 , wherein the 2D processing further comprises: determining a magnitude of an angle between each piece of point cloud data and adjacent point cloud data based on the normal vector; and determining whether each piece of point cloud data is a boundary contour point cloud based on the magnitude of the angle, to extract boundary contour point cloud data.
- 5 . The method for processing data of a 3D point cloud map according to claim 4 , wherein the 2D processing further comprises: assigning 0 to a height coordinate value of the boundary contour point cloud data to generate the 2D point cloud data.
- 6 . The method for processing data of a 3D point cloud map according to claim 2 , wherein the downsampling processing comprises voxel filtering.
- 7 . The method for processing data of a 3D point cloud map according to claim 6 , wherein the size of the voxel filtering is in a range of 0.2-0.4 m.
- 8 . The method for processing data of a 3D point cloud map according to claim 1 , wherein the straight line extraction processing comprises: performing radius filtering processing on the 2D point cloud data to generate 2D filtered point cloud data.
- 9 . The method for processing data of a 3D point cloud map according to claim 8 , wherein the radius filtering processing comprises: determining whether a quantity of point clouds comprised in each piece of 2D point cloud data within a filtering radius exceeds a preset threshold.
- 10 . The method for processing data of a 3D point cloud map according to claim 9 , wherein the radius filtering processing further comprises: filtering out point cloud data comprising point clouds of a quantity that does not exceed the preset threshold within the filtering radius, to generate the filtered point cloud data.
- 11 . The method for processing data of a 3D point cloud map according to claim 9 , wherein the filtering radius is 0.05 m.
- 12 . The method for processing data of a 3D point cloud map according to claim 9 , wherein the preset threshold is 15.
- 13 . The method for processing data of a 3D point cloud map according to claim 8 , wherein the straight line extraction processing further comprises: extracting a straight line equation and a corresponding straight line point cloud from the 2D filtered point cloud data, the straight line equation being expressed as: a ( x−x 0 )+ b ( y−y 0 )=0, a and b representing direction vectors of a straight line, and (x0, y0) representing coordinates of any point on the straight line.
- 14 . The method for processing data of a 3D point cloud map according to claim 13 , wherein the straight line extraction processing further comprises: traversing all straight line point clouds in the filtered point cloud data; and selecting a straight line point cloud comprising a largest quantity of point clouds to generate the straight line data.
- 15 . The method for processing data of a 3D point cloud map according to claim 1 , wherein the straight line data indicates a wall position in the point cloud map.
- 16 . The method for processing data of a 3D point cloud map according to claim 1 , wherein the calculating a rotation angle of the point cloud map based on the straight line data comprises: calculating a corresponding straight line normal vector based on the straight line data.
- 17 . The method for processing data of a 3D point cloud map according to claim 16 , wherein the calculating a rotation angle of the point cloud map based on the straight line data further comprises: calculating the rotation angle of the point cloud map based on the straight line normal vector.
- 18 . The method for processing data of a 3D point cloud map according to claim 17 , wherein when the straight line normal vector is (a, b), the rotation angle is arctan (b/a).
- 19 . A controller, comprising a processor configured to execute a program instruction to implement the following steps: performing two-dimensional (2D) processing on point cloud data of a three-dimensional (3D) point cloud map to generate 2D point cloud data, at least one boundary of the 3D point cloud map being a straight line; performing straight line extraction processing on the 2D point cloud data to generate straight line data; calculating a rotation angle of the 3D point cloud map based on the straight line data; rotating the 3D point cloud map based on the rotation angle, to enable at least one boundary of the 3D point cloud map to be parallel to at least one coordinate axis of a world coordinate system; generating a movement task path based on a rotated 3D point cloud map; and controlling an autonomous mobile machine by transmitting signals through the processor, to cause the autonomous mobile machine to move according to the movement task path.
- 20 . An autonomous mobile machine, comprising a processor configured to execute a program to implement the following steps: performing two-dimensional (2D) processing on point cloud data of a three-dimensional (3D) point cloud map to generate 2D point cloud data, at least one boundary of the 3D point cloud map being a straight line; performing straight line extraction processing on the 2D point cloud data to generate straight line data; calculating a rotation angle of the 3D point cloud map based on the straight line data; rotating the 3D point cloud map based on the rotation angle, to enable at least one boundary of the 3D point cloud map to be parallel to at least one coordinate axis of a world coordinate system; generating a movement task path based on a rotated 3D point cloud map; and transmitting signals through the processor, to cause the autonomous mobile machine to move according to the movement task path.
Description
FIELD OF THE INVENTION This disclosure relates to the field of map data processing, and in particular, to a method for processing data of a three-dimensional (3D) point cloud map, a controller, and an autonomous mobile machine. BACKGROUND During establishment of a three-dimensional (3D) point cloud map, an initial pose of an autonomous mobile machine easily affects a shape and a direction of an established map, which causes a wall point cloud to fail to be substantially orthogonal to a world coordinate system in a top view of the 3D point cloud map, thus resulting in relatively poor readability of the 3D point cloud map and hindering direction identification. In addition, a movement task path fails to be orthogonal to the world coordinate system during generation, bringing much inconvenience to construction or operation personnel. Currently, in engineering, a solution of manually rotating a 3D laser point cloud map to be orthogonal to the world coordinate system is adopted. However, this solution has uncontrollable operation precision and a relatively low automation degree. BRIEF DESCRIPTION OF THE DRAWINGS The drawings are intended to provide further understanding of this disclosure, and constitute a part of the specification. The drawings are used together with the following specific implementations for explaining this disclosure, but do not constitute a limitation on this disclosure. In the drawings: FIG. 1A is a schematic block diagram of a controller according to an embodiment of this disclosure. FIG. 1B is a schematic block diagram of an autonomous mobile machine according to an embodiment of this disclosure. FIG. 1C is a schematic diagram of the autonomous mobile machine applied to a warehouse according to an embodiment of this disclosure. FIG. 2 is a method flowchart of a method for processing data of a three-dimensional (3D) point cloud map according to an embodiment of this disclosure. FIG. 3 is a detailed method process of step 11 according to an embodiment of this disclosure. FIG. 4A, FIG. 4B, and FIG. 4C are schematic diagrams of downsampling according to an embodiment of this disclosure. FIG. 5A and FIG. 5B are schematic diagrams with a height coordinate value being assigned as 0 according to an embodiment of this disclosure. FIG. 6 is a detailed method process of step 12 according to an embodiment of this disclosure. FIG. 7 is a detailed method process of step 121 according to an embodiment of this disclosure. FIG. 8A and FIG. 8B are schematic diagrams of radius filtering according to an embodiment of this disclosure. FIG. 9 is a detailed method process of step 13 according to an embodiment of this disclosure. FIG. 10A and FIG. 10B are schematic diagrams of automatically rotating a 3D point cloud map according to an embodiment of this disclosure. DETAILED DESCRIPTION The following disclosure provides a plurality of implementations or examples, which may be used for achieving different features of the disclosure. The following specific examples of assemblies and configurations are used for simplifying the disclosure. It may be conceived that, the descriptions are merely examples and are not intended to limit the disclosure. For example, in the following description, that a first feature is formed on or above a second feature may include some embodiments in which the first feature and the second feature are in direct contact with each other, or may include some embodiments in which an additional assembly is formed between the first feature and the second feature, so that the first feature and the second feature may not be in direct contact with each other. In addition, in the disclosure, assembly symbols and/or labels may be reused in a plurality of embodiments. The reuse is for simplicity and clarity, and does not represent a relationship between different embodiments and/or configurations that are discussed. Furthermore, use of terms spatially relative to each other such as “under”, “below”, “lower than”, “on”, “above” and similar terms thereof may be used for facilitating description of a relationship between an assembly or a feature shown in a figure and another assembly or feature or more assemblies or features. In addition to orientations shown in the figure, the terms spatially relative to each other are further intended to encompass a plurality of different orientations during usage or operation of an apparatus. The device may be placed in another orientation (for example, may be rotated by 90 degrees or located in another orientation), and the terms spatially relative to each other should be explained accordingly. Although numerical value ranges and parameters used for defining a relatively wide range of this disclosure are approximate numerical values, relevant numerical values in specific embodiments are presented herein as accurately as possible. However, any numerical value essentially inevitably includes a standard deviation caused by a test method. Herein, “about” usually means t