Obstacle space contact boundary extraction method, device and electronic equipment

By carrying out three-dimensional grid construction and fast Fourier transformation of tool point clouds and artifact point clouds, the problem of high complexity of boundary extraction under high-resolution point clouds is solved, and efficient and accurate contact boundary extraction is achieved.

CN119672256BActive Publication Date: 2025-08-12FAIR INNOVATION (SUZHOU) ROBOTIC SYSTEM CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510185712.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-20
Publication Date
2025-08-12
Estimated Expiration
2045-02-20

AI Technical Summary

Technical Problem

When processing high-resolution point cloud data, the calculation complexity of the method based on Minkowskiss is high, resulting in time-consuming and inaccurate contact boundary extraction.

Method used

By constructing a three-dimensional grid of tool point cloud and artifact point cloud, and using three-dimensional fast Fourier transform to perform frequency domain convolution, dyscalculation spatial point cloud, combining mesh identification and voxel identification screening, boundary extraction is performed.

Benefits of technology

It significantly reduces the complexity of boundary extraction, improves computing efficiency and accuracy of boundary extraction, and is suitable for additive manufacturing and robot path planning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119672256B_ABST
    Figure CN119672256B_ABST
Patent Text Reader

Abstract

The present invention provides a method, device, and electronic device for extracting contact boundaries in an obstacle space. After acquiring a tool point cloud and a workpiece point cloud, a three-dimensional grid is constructed and gridding is performed based on the tool point cloud and the workpiece point cloud, respectively. The three-dimensional grid includes multiple grid cells, each having a grid identifier. A three-dimensional fast Fourier transform is performed based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain a transformation result. The convolution of the transformation results of the tool point cloud and the workpiece point cloud is calculated. The obstacle space point cloud in the obstacle space is determined based on the convolution. The boundary of the obstacle space point cloud is extracted to obtain the contact boundary. This solution significantly reduces processing complexity by gridding the point cloud and using a fast Fourier transform to convert the spatial domain to the frequency domain, rapidly generating an obstacle space point cloud and thus achieving boundary extraction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of three-dimensional point cloud processing, and in particular to a method, device and electronic equipment for extracting contact boundaries of an obstacle space. Background Art

[0002] In additive manufacturing (AM), support materials are primarily used to support overhanging structures, prevent deformation and collapse during the manufacturing process, and improve part quality. However, support material removal has become an integral part of the AM post-processing process. To achieve efficient support structure removal, accurate support structure boundary information must first be extracted.

[0003] Extracting the boundaries of support structures is a key step in subsequent trajectory planning and path design. Currently, widely used boundary extraction techniques include three-dimensional geometric analysis and calculation methods based on configuration space (C-space). Among them, the boundary extraction method based on configuration space uses the Minkowski Sum to map all feasible posture sets of moving objects such as robots and tools into the configuration space, allowing obstacles and motion restrictions to be represented uniformly. However, when the workpiece surface point cloud data is large or the tool shape is complex, the calculation of the three-dimensional Minkowski Sum will significantly increase the computational complexity, making the extraction of contact boundaries extremely time-consuming. Traditional methods based on the Minkowski Sum have too high computational complexity when processing high-resolution point cloud data, and the results contain a large number of redundant points, which makes it impossible to accurately extract contact boundaries. Summary of the Invention

[0004] The purpose of the embodiments of the present invention is to provide a method, device and electronic device for extracting contact boundaries of an obstacle space, so as to reduce the complexity of boundary extraction.

[0005] In a first aspect, the present invention provides a method for extracting contact boundaries of an obstacle space, the method comprising:

[0006] Acquire a tool point cloud and a workpiece point cloud, wherein the workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a supporting material located below the target workpiece;

[0007] Constructing a three-dimensional grid and performing gridding processing based on the tool point cloud and the workpiece point cloud, respectively, wherein the three-dimensional grid includes a plurality of grid cells, each of the grid cells has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid cell;

[0008] Performing a three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain transformation results, and calculating the convolution of the transformation results of the tool point cloud and the workpiece point cloud;

[0009] determining an obstacle space point cloud in the obstacle space according to the convolution;

[0010] Boundary extraction is performed on the obstacle space point cloud to obtain a contact boundary.

[0011] In an optional embodiment, the method further comprises:

[0012] Obtaining a pre-stored model point cloud of the target workpiece and extracting a model boundary of the model point cloud;

[0013] The model boundary and the contact boundary are compared to determine the boundary of the support material.

[0014] In an optional embodiment, the tool point cloud includes tool point clouds of the tool in a plurality of different postures;

[0015] The step of determining an obstacle space point cloud in the obstacle space according to the convolution comprises:

[0016] Obtaining convolutions of tool point clouds corresponding to the tool in various postures, and determining corresponding obstacle space point clouds based on the convolutions;

[0017] The union of the obstacle space point clouds corresponding to the plurality of different postures is determined to obtain the obstacle space point cloud in the obstacle space.

[0018] In an optional embodiment, the step of determining an obstacle space point cloud in the obstacle space according to the convolution includes:

[0019] Performing a three-dimensional inverse fast Fourier transform based on the convolution to obtain restored voxel points;

[0020] An obstacle space point cloud in the obstacle space is determined according to the obtained multiple voxel points.

[0021] In an optional embodiment, each of the voxel points has a corresponding voxel identifier;

[0022] The step of determining an obstacle space point cloud in the obstacle space based on the obtained multiple voxel points includes:

[0023] Filtering out voxel points whose voxel identifiers meet preset requirements from multiple voxel points;

[0024] An obstacle space point cloud in the obstacle space is determined based on the filtered voxel points.

[0025] In an optional embodiment, the step of performing boundary extraction on the obstacle space point cloud to obtain a contact boundary includes:

[0026] Slicing the obstacle space point cloud in sequence in the vertical direction to obtain a plurality of slice point clouds;

[0027] For each of the slice point clouds, projecting each three-dimensional point in the slice point cloud onto a two-dimensional plane to obtain a projection point;

[0028] Perform boundary processing based on the projection points in the two-dimensional plane to determine boundary points;

[0029] The boundary points in the two-dimensional plane corresponding to each of the slice point clouds are restored to the obstacle space to obtain the contact boundary.

[0030] In an optional embodiment, the step of performing boundary processing based on the projection points in the two-dimensional plane to determine the boundary points includes:

[0031] Processing the projection points in the two-dimensional plane to obtain a grid image;

[0032] Performing morphological processing on the raster image to eliminate noise points in the raster image;

[0033] Extracting each connected domain in the raster image and performing smoothing processing on each connected domain;

[0034] Determine boundary points based on the processed raster image.

[0035] In an optional embodiment, the step of constructing a three-dimensional mesh based on the tool point cloud and performing meshing processing includes:

[0036] constructing a three-dimensional grid comprising a plurality of grid cells based on the three-dimensional points in the tool point cloud, wherein each of the three-dimensional points falls into one of the grid cells;

[0037] For each of the grid cells, if a three-dimensional point falls into the grid cell, a grid point is set for the grid cell, and the grid identifier of the grid cell is set to 1; if no three-dimensional point falls into the grid cell, no grid point is set for the grid cell, and the grid identifier of the grid cell is set to 0.

[0038] In a second aspect, the present invention provides an obstacle space contact boundary extraction device, the device comprising:

[0039] An acquisition module, configured to acquire a tool point cloud and a workpiece point cloud, wherein the workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a supporting material located below the target workpiece;

[0040] a processing module, configured to construct a three-dimensional grid and perform gridding processing based on the tool point cloud and the workpiece point cloud, respectively, wherein the three-dimensional grid includes a plurality of grid cells, each of the grid cells has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid cell;

[0041] a calculation module, configured to perform a three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain a transformation result, and calculate a convolution of the transformation results of the tool point cloud and the workpiece point cloud;

[0042] a determination module, configured to determine an obstacle space point cloud in the obstacle space according to the convolution;

[0043] The extraction module is used to extract the boundary of the obstacle space point cloud to obtain the contact boundary.

[0044] In a third aspect, the present invention provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the computer program, the steps of the method described in any one of the aforementioned embodiments are implemented.

[0045] The present invention provides a method, device, and electronic device for extracting contact boundaries in an obstacle space. After acquiring a tool point cloud and a workpiece point cloud, a three-dimensional grid is constructed and gridding is performed based on the tool point cloud and the workpiece point cloud, respectively. The three-dimensional grid includes multiple grid cells, each having a grid identifier. A three-dimensional fast Fourier transform is performed based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain a transformation result. The convolution of the transformation results of the tool point cloud and the workpiece point cloud is calculated. The obstacle space point cloud in the obstacle space is determined based on the convolution. The boundary of the obstacle space point cloud is extracted to obtain the contact boundary. This solution significantly reduces processing complexity by gridding the point cloud and using a fast Fourier transform to convert the spatial domain to the frequency domain, rapidly generating an obstacle space point cloud and thus achieving boundary extraction. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments of the present invention. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0047] Figure 1 A flowchart of a method for extracting contact boundaries of an obstacle space provided by an embodiment of the present invention;

[0048] Figure 2 is a schematic diagram of a target workpiece and a supporting material in an embodiment of the present invention;

[0049] Figure 3 for Figure 1 Flowchart of the sub-steps included in S12;

[0050] Figure 4A flowchart of a method for determining a support material boundary in a method for extracting a contact boundary of an obstacle space provided by an embodiment of the present invention;

[0051] Figure 5 for Figure 1 Flowchart of the sub-steps included in S14;

[0052] Figure 6 for Figure 5 Flowchart of the sub-steps included in S142;

[0053] Figure 7 for Figure 1 Flowchart of the sub-steps included in S15;

[0054] Figure 8 for Figure 7 Flowchart of the sub-steps included in S153;

[0055] Figure 9 A functional module block diagram of an obstacle space contact boundary extraction device provided by an embodiment of the present invention;

[0056] Figure 10 This is a structural block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0057] The technical solutions in the embodiments of the present invention will be described below with reference to the accompanying drawings in the embodiments of the present invention.

[0058] See also Figure 1 The following is a flowchart of an obstacle space contact boundary extraction method according to an embodiment of the present invention. This obstacle space contact boundary extraction method can be performed by an obstacle space contact boundary extraction device. This obstacle space contact boundary extraction device can be implemented using software and / or hardware and can be configured in an electronic device, such as a computer, a controller, or a processor in a robot. The detailed steps of this obstacle space contact boundary extraction method are described below.

[0059] S11, obtaining tool point cloud and workpiece point cloud.

[0060] The workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a supporting material located below the target workpiece.

[0061] S12, constructing a three-dimensional grid based on the tool point cloud and the workpiece point cloud and performing gridding processing.

[0062] The three-dimensional grid includes a plurality of grid units, each of which has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid unit.

[0063] S13, performing three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain transformation results, and calculating the convolution of the transformation results of the tool point cloud and the workpiece point cloud.

[0064] S14: determining an obstacle space point cloud in the obstacle space according to the convolution.

[0065] S15, performing boundary extraction on the obstacle space point cloud to obtain a contact boundary.

[0066] In this embodiment, tool point clouds and workpiece point clouds in pre-stored CAD model formats or other model formats may be obtained, and the formats of the tool point clouds and workpiece point clouds are converted into a standard three-dimensional point cloud format.

[0067] Among them, refer to Figure 2 The workpiece point cloud includes the point cloud of the target workpiece and the point cloud of the support material located below the target workpiece for supporting the target workpiece. The tool point cloud refers to the point cloud of the tool used to remove the support material in the additive manufacturing post-processing process.

[0068] First, the tool point cloud and workpiece point cloud are subjected to mean downsampling to reduce the number of 3D points in the point cloud, thereby accelerating subsequent algorithm processing.

[0069] On this basis, 3D meshes are constructed for the tool point cloud and the workpiece point cloud respectively. When constructing the 3D mesh, the spatial range of the 3D mesh needs to be sufficient to completely envelop the 3D points of the tool point cloud and the workpiece point cloud.

[0070] For a tool point cloud, each 3D point in the tool point cloud can fall into one of the grid cells in the 3D grid. Each grid cell in the 3D grid may have one or more 3D points falling into it, or none at all. The same is true for a workpiece point cloud.

[0071] Based on the location of the 3D point in each grid cell, a grid identifier can be set for each grid cell. For example, if a 3D point falls into the grid cell, the grid identifier is 1, otherwise the grid identifier is 0. In this way, the location of the 3D point in each grid cell can be represented by the grid identifier of the grid cell.

[0072] Specifically, see Figure 3 In this embodiment, the steps of constructing a three-dimensional mesh based on the tool point cloud and performing meshing processing can be implemented in the following ways:

[0073] S121 , constructing a three-dimensional grid including a plurality of grid cells based on the three-dimensional points in the tool point cloud, wherein each of the three-dimensional points falls into one of the grid cells.

[0074] S122 : For each of the grid cells, if a three-dimensional point falls into the grid cell, set a grid point for the grid cell and set the grid identifier of the grid cell to 1.

[0075] S123: If no three-dimensional point falls into the grid cell, no grid point is set for the grid cell, and the grid identifier of the grid cell is set to 0.

[0076] In this embodiment, the resolution of the three-dimensional grid may be d, where d represents the size of each grid unit. The size of d may be dynamically adjusted according to the accuracy requirement of boundary calculation.

[0077] Project each 3D point in the workpiece point cloud onto a 3D grid, group all 3D points according to the number of the grid cells they are projected to, and form structured grid data. For any 3D point P(x, y, z), the grid cell number to which it belongs can be calculated according to the following projection rules:

[0078]

[0079] Here, i, j, and k represent the grid cell numbers in the x-axis, y-axis, and z-axis directions, respectively; d is the resolution of the three-dimensional grid; and [∙] represents a rounding operation.

[0080] That is, for a 3D point P(x, y, z), if the 3D point falls into a grid cell, the grid cell will have a grid point, and the grid identifier of the grid cell is 1. The position of each grid point can be located at the common intersection of adjacent 3D grids.

[0081] In addition, the gridding processing method for the tool point cloud is consistent with the gridding processing method for the workpiece point cloud described above, and will not be described in detail here.

[0082] In this way, for the workpiece point cloud A and the tool point cloud B, after the two point clouds are meshed, three-dimensional voxel data can be obtained respectively. and , the three-dimensional voxel data includes multiple voxel values, each voxel value is the grid identifier of the grid unit, that is, 1 or 0.

[0083] On this basis, three-dimensional fast Fourier transform is performed based on the grid identification of the tool point cloud and the workpiece point cloud to obtain their representation in the frequency domain, which can be characterized as follows:

[0084]

[0085]

[0086] in, represents the three-dimensional fast Fourier transform, 、 Represents 3D voxel data and The data size and shape of the transformed results after three-dimensional fast Fourier transform are respectively 、 Similarly, each element represents the amplitude and phase of each frequency component in the form of a complex number.

[0087] After converting the workpiece point cloud and tool point cloud into representations in the frequency domain, the representations of the two in the frequency domain are convolved. The calculation method is to convert and Performing point-by-point multiplication, the resulting convolution can be characterized as follows:

[0088]

[0089] in, is the approximate representation of Minkowski sum in the frequency domain, and its data shape and size are similar to and Similarly, each element contains frequency domain information, consisting of amplitude and phase.

[0090] Based on the obtained convolution results, the degree of overlap between the workpiece point cloud and the tool point cloud at all possible positions in three-dimensional space can be determined. This represents the shape of the obstacle space between the workpiece and the support material when the tool approaches the workpiece, and this shape is composed of point clouds, that is, the obstacle space point cloud.

[0091] If a tool is subsequently needed to remove support material, the boundary of the obstacle space point cloud must be determined to facilitate tool path planning. Therefore, boundary extraction is performed on the obstacle space point cloud to obtain a contact boundary. This contact boundary serves as the basis for subsequent tool path planning.

[0092] The obstacle space point cloud determined by the above method is actually the point cloud outside the whole composed of the target workpiece and the support material. In the additive manufacturing post-processing, only the support material needs to be removed. Therefore, please refer to Figure 4 The obstacle space contact boundary extraction method provided in this embodiment may further include the following steps:

[0093] S21 , obtaining a pre-stored model point cloud of the target workpiece, and extracting a model boundary of the model point cloud.

[0094] S22 , comparing the model boundary and the contact boundary to determine the boundary of the support material.

[0095] A point cloud model of the target workpiece is stored in a database. Based on the positional information of each 3D point in the point cloud model, the model boundary of the point cloud is determined. The model boundary is compared with the contact boundary determined above. The portion of the contact boundary that overlaps with the model boundary is the boundary of the target workpiece, while the remaining boundary portion is the boundary of the support material.

[0096] In this way, the working path of the tool is planned based on the determined boundary of the support material to achieve the removal of the support material.

[0097] When determining the obstacle space point cloud in the obstacle space based on the convolution of the tool point cloud and the workpiece point cloud, the convolution of the tool point cloud and the workpiece point cloud is frequency domain information, which can be represented as amplitude and phase. Therefore, it is necessary to restore the frequency domain information to the information of the point in the three-dimensional space. Figure 5 In this embodiment, it can be implemented in the following ways:

[0098] S141, performing a three-dimensional inverse fast Fourier transform based on the convolution to obtain restored voxel points.

[0099] S142 : Determine an obstacle space point cloud in the obstacle space according to the obtained multiple voxel points.

[0100] In this embodiment, the convolution is subjected to a three-dimensional inverse fast Fourier transform, and the approximate voxel point cloud in the obstacle space can be expressed as :

[0101]

[0102] in, represents the three-dimensional inverse fast Fourier transform, Actually and The convolution result represents the spatial relationship between two point sets, and its physical meaning is and The degree of overlap of all possible positions in three-dimensional space is used to construct the Minkowski sum. That is, based on the obtained It can be determined and The degree of overlap of all possible positions in three-dimensional space, that is, the state of all possible contact positions of the tool point cloud and the workpiece point cloud, is composed of the obstacle space point cloud.

[0103] As can be seen from the above, each grid cell in a 3D grid may or may not have a 3D point falling into it. The falling situation of the 3D point can be represented by the grid identifier. In the approximate voxel point cloud in the obstacle space obtained above, there may also be some points where no voxel points exist. Based on this, please refer to Figure 6In this embodiment, the step of determining the obstacle space point cloud in the obstacle space based on the obtained multiple voxel points can be implemented in the following manner:

[0104] S1421 , screening out voxel points whose voxel identifiers meet preset requirements from among the multiple voxel points.

[0105] S1422: Determine an obstacle space point cloud in the obstacle space based on the filtered voxel points.

[0106] In this embodiment, the voxel identifier is similar to the grid identifier described above and is used to indicate whether a corresponding voxel point is a real 3D point. The preset requirement can be set based on the setting of the grid identifier described above. For example, a grid identifier of 1 indicates that a 3D point falls within the corresponding grid cell, while a grid identifier of 0 indicates that no 3D point falls within the corresponding grid cell. Accordingly, the preset requirement can be that the voxel identifier is greater than 0.

[0107] Based on this, voxel points with voxel identification greater than 0 can be screened out to form the obstacle space point cloud in the obstacle space, which is represented as follows:

[0108]

[0109] in, express voxel identification.

[0110] The obstacle space point cloud should be a point cloud formed around the workpiece point cloud when the tool approaches the workpiece point cloud in multiple different postures. Therefore, in this embodiment, the tool point cloud obtained above includes tool point clouds in multiple different postures. When determining the obstacle space point cloud in the obstacle space, the above can be achieved by the following methods:

[0111] The convolution of the tool point cloud corresponding to the tool in each different posture is obtained, the corresponding obstacle space point cloud is determined based on the convolution, and the union of the obstacle space point clouds corresponding to the multiple different postures is determined to obtain the obstacle space point cloud in the obstacle space.

[0112] In this embodiment, the obstacle space point cloud determined by the tool point cloud at different positions is obtained in the above manner, and the obtained multiple obstacle space point clouds are combined to obtain the final obstacle space point cloud.

[0113] On this basis, see Figure 7 , perform boundary extraction on the obstacle space point cloud to determine the contact boundary. In this embodiment, this step can be implemented by the following methods:

[0114] S151 , slicing the obstacle space point cloud in sequence in the vertical direction to obtain a plurality of sliced point clouds.

[0115] S152 : For each of the slice point clouds, project each three-dimensional point in the slice point cloud onto a two-dimensional plane to obtain a projection point.

[0116] S153: Perform boundary processing based on the projection points in the two-dimensional plane to determine boundary points.

[0117] S154: Restoring the boundary points in the two-dimensional plane corresponding to each of the slice point clouds to the obstacle space to obtain a contact boundary.

[0118] In this embodiment, the obstacle space point cloud is sliced in the vertical direction according to a set fixed height interval h, so as to divide multiple three-dimensional points in the obstacle space point cloud into multiple slice point clouds, and then each slice point cloud is processed separately.

[0119] When slicing the obstacle space point cloud, it can be characterized as follows:

[0120]

[0121] Where k is the slice number, Represents a slice point cloud within a height range, h represents the height interval, and the default value is 1.

[0122] For each slice point cloud, the slice point cloud is mapped from 3D space (i.e., obstacle space) to a 2D plane. Each 3D point in the slice point cloud is mapped as a projection point on the 2D plane. Boundaries are extracted on the 2D plane and then restored to 3D space to determine the boundary of the slice point cloud in 3D space. By combining the boundaries of multiple slice point clouds in 3D space, the boundary of the obstacle space point cloud in 3D space, i.e., the contact boundary, can be obtained.

[0123] See also Figure 8 In this embodiment, when performing boundary extraction based on projection points in a two-dimensional plane to determine boundary points, it can be achieved in the following ways:

[0124] S1531: Process the projection points in the two-dimensional plane to obtain a grid image.

[0125] S1532: Perform morphological processing on the raster image to eliminate noise points in the raster image.

[0126] S1533: Extract each connected domain in the raster image, and perform smoothing processing on each connected domain.

[0127] S1534, determining boundary points based on the processed raster image.

[0128] In this embodiment, the projected points mapped onto the two-dimensional plane are processed as an image, and the projected points in the two-dimensional plane are processed to obtain a raster image. For example, a raster image can be initialized, and each projected point in the two-dimensional plane is traversed. The projected points are converted into a grid coordinate system, and then corresponding grid positions are marked, for example, with a mark of 1 indicating that a point exists at the corresponding grid position. In this way, a raster image in the grid coordinate system is obtained.

[0129] To eliminate noise points in a point cloud, morphological processing can be performed on the raster image. Morphological processing includes erosion, dilation, and opening and closing operations. Erosion can be used to shrink foreground objects (where projected points are located) in the raster image, while dilation can be used to enlarge them. Through erosion and dilation, small objects can be removed and the boundaries of larger objects can be smoothed.

[0130] In addition, the opening operation is an operation of first etching and then dilating, which can achieve the effects of the etching and dilating processes mentioned above, and at the same time keep the overall shape and approximate size unchanged.

[0131] Closing is an operation that performs dilation followed by erosion, and can be used to fill small holes in foreground objects in a raster image, connecting disconnected adjacent parts while maintaining the state and approximate size of the object.

[0132] Furthermore, the raster image is subjected to boundary smoothing. Specifically, a connected domain analysis is performed on the raster image to identify and mark all connected domains. For each connected domain, boundary pixels are extracted. A boundary pixel is a pixel whose neighboring pixels belong to a different connected domain or to the background. The extracted boundaries are then smoothed using methods such as median filtering or Gaussian filtering.

[0133] In this way, through the above method, the noise points in the point cloud can be filtered out and the boundaries of the point cloud can be smoothed to make the boundaries more complete.

[0134] Optionally, in addition to the above-mentioned boundary extraction method, a convex hull operation or an alpha shape algorithm may also be used to implement two-dimensional boundary extraction, which is not described in detail in this embodiment.

[0135] On this basis, the boundary points of the raster image after the above processing can be extracted. The boundary points extracted from the two-dimensional plane are restored to the obstacle space. Specifically, the boundary points can be restored from the two-dimensional space based on the height z of the boundary points in the original obstacle space. Restore to obstacle space , which can be characterized as follows:

[0136]

[0137] Each slice point cloud is processed in the same way as above. Finally, the boundaries of all slice point clouds are Connect them in order of height to obtain the contact boundaries in the complete obstacle space.

[0138] The obstacle space contact boundary extraction method provided in this embodiment discretizes the input 3D point cloud through grid division, effectively compressing the point cloud data size and thereby improving computational efficiency. The grid size can be adjusted based on demand, achieving a flexible balance between computational accuracy and efficiency, making it suitable for different application scenarios.

[0139] On this basis, point cloud voxelization and fast Fourier transform are used to realize convolution calculation in the frequency domain, and the obstacle space point cloud is optimized by switching between the frequency domain and the spatial domain and combining with threshold processing.

[0140] In addition, by slicing the obstacle space point cloud, each slice point cloud is layered projected and rasterized, and the boundary is refined by combining image morphological processing and connected domain analysis to finally extract a complete and accurate contact boundary.

[0141] The solution provided in this embodiment achieves efficient extraction of three-dimensional contact boundaries in complex point cloud scenarios. Compared to traditional methods, this method offers significant advantages in computational efficiency, robustness, and boundary accuracy, and can be widely applied in fields such as additive manufacturing, robotic path planning, and collision detection.

[0142] Based on the same inventive concept, please refer to Figure 9 , an embodiment of the present invention further provides a functional module diagram of an obstacle space contact boundary extraction device. This embodiment can divide the functional modules of the obstacle space contact boundary extraction device according to the above-mentioned method embodiment. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiment of the present invention is schematic and is only a logical functional division. There may be other division methods in actual implementation.

[0143] For example, when each functional module is divided into corresponding functional modules, Figure 9 The illustrated obstacle space contact boundary extraction device is merely a schematic diagram of the device. The obstacle space contact boundary extraction device may include an acquisition module, a processing module, a calculation module, a determination module, and an extraction module. The functions of each functional module of the obstacle space contact boundary extraction device are described in detail below.

[0144] An acquisition module, configured to acquire a tool point cloud and a workpiece point cloud, wherein the workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a supporting material located below the target workpiece;

[0145] a processing module, configured to construct a three-dimensional grid and perform gridding processing based on the tool point cloud and the workpiece point cloud, respectively, wherein the three-dimensional grid includes a plurality of grid cells, each of the grid cells has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid cell;

[0146] a calculation module, configured to perform a three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain a transformation result, and calculate a convolution of the transformation results of the tool point cloud and the workpiece point cloud;

[0147] a determination module, configured to determine an obstacle space point cloud in the obstacle space according to the convolution;

[0148] The extraction module is used to extract the boundary of the obstacle space point cloud to obtain the contact boundary.

[0149] It can be understood that the above-mentioned acquisition module, processing module, calculation module, determination module and extraction module can be used to execute the above-mentioned S11 to S15. For the detailed implementation methods of the acquisition module, processing module, calculation module, determination module and extraction module, please refer to the relevant contents of the above-mentioned S11 to S15.

[0150] In a possible implementation, the extraction module may also be used to:

[0151] Obtaining a pre-stored model point cloud of the target workpiece and extracting a model boundary of the model point cloud;

[0152] The model boundary and the contact boundary are compared to determine the boundary of the support material.

[0153] In one possible implementation, the tool point cloud includes tool point clouds of the tool in multiple different postures; the above-mentioned determination module may be used to:

[0154] Obtaining convolutions of tool point clouds corresponding to the tool in various postures, and determining corresponding obstacle space point clouds based on the convolutions;

[0155] The union of the obstacle space point clouds corresponding to the plurality of different postures is determined to obtain the obstacle space point cloud in the obstacle space.

[0156] In a possible implementation, the above-mentioned determination module may be used to:

[0157] Performing a three-dimensional inverse fast Fourier transform based on the convolution to obtain restored voxel points;

[0158] An obstacle space point cloud in the obstacle space is determined according to the obtained multiple voxel points.

[0159] In a possible implementation, each voxel point has a corresponding voxel identifier;

[0160] The above determination module can be specifically used for:

[0161] Filtering out voxel points whose voxel identifiers meet preset requirements from multiple voxel points;

[0162] An obstacle space point cloud in the obstacle space is determined based on the filtered voxel points.

[0163] In one possible implementation, the extraction module may be used to:

[0164] Slicing the obstacle space point cloud in sequence in the vertical direction to obtain a plurality of slice point clouds;

[0165] For each of the slice point clouds, projecting each three-dimensional point in the slice point cloud onto a two-dimensional plane to obtain a projection point;

[0166] Perform boundary processing based on the projection points in the two-dimensional plane to determine boundary points;

[0167] The boundary points in the two-dimensional plane corresponding to each of the slice point clouds are restored to the obstacle space to obtain the contact boundary.

[0168] In one possible implementation, the extraction module may be used to:

[0169] Processing the projection points in the two-dimensional plane to obtain a grid image;

[0170] Performing morphological processing on the raster image to eliminate noise points in the raster image;

[0171] Extracting each connected domain in the raster image and performing smoothing processing on each connected domain;

[0172] Determine boundary points based on the processed raster image.

[0173] In a possible implementation, the processing module may be used to:

[0174] constructing a three-dimensional grid comprising a plurality of grid cells based on the three-dimensional points in the tool point cloud, wherein each of the three-dimensional points falls into one of the grid cells;

[0175] For each of the grid cells, if a three-dimensional point falls into the grid cell, a grid point is set for the grid cell, and the grid identifier of the grid cell is set to 1; if no three-dimensional point falls into the grid cell, no grid point is set for the grid cell, and the grid identifier of the grid cell is set to 0.

[0176] See also Figure 10 , is a block diagram of the structure of an electronic device provided in an embodiment of the present invention. This electronic device can be a computer device that communicates with a robot, or a controller or processor within the robot. The electronic device includes a memory, a processor, and a communication module. The memory, processor, and communication module are electrically connected to each other, directly or indirectly, to enable data transmission or exchange. For example, these components can be electrically connected via one or more communication buses or signal lines.

[0177] Memory is used to store computer programs or data. Memory can include, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EEPROM).

[0178] The processor is used to read / write data or programs stored in the memory and execute the obstacle space contact boundary extraction method provided by any embodiment of the present invention.

[0179] The communication module is used to establish a communication connection between the electronic device and other communication terminals through the network, and is used to send and receive data through the network.

[0180] It should be understood that Figure 10 The structure shown is only a schematic diagram of the structure of the electronic device. The electronic device may also include Figure 10 More or fewer components than shown, or with Figure 10 Different configurations shown.

[0181] Furthermore, an embodiment of the present invention also provides a computer-readable storage medium, which stores machine-executable instructions. When the machine-executable instructions are executed, the obstacle space contact boundary extraction method provided in the above embodiment is implemented.

[0182] Specifically, the computer-readable storage medium can be a general-purpose storage medium, such as a removable disk or hard disk. When the computer program on the computer-readable storage medium is executed, the above-described obstacle space contact boundary extraction method can be executed. The processes involved in executing the computer-readable storage medium and its executable instructions can be found in the description of the aforementioned method embodiments and will not be further elaborated here.

[0183] In the embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed may be through some communication interface, the indirect coupling or communication connection of the device or unit may be electrical, mechanical or other forms.

[0184] In addition, the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0185] Furthermore, the functional modules in the various embodiments of the present invention may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0186] It should be noted that if a function is implemented as a software module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the portion that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0187] In this document, relational terms such as first and second, etc. are used merely to distinguish one entity or operation from another entity or operation, but do not necessarily require or imply any actual relationship or order between these entities or operations.

[0188] The foregoing description is merely an embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Those skilled in the art will readily appreciate that the present invention is susceptible to various modifications and variations. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the present invention.

Claims

1. A method for extracting contact boundaries of an obstacle space, characterized in that: The method comprises: Acquire a tool point cloud and a workpiece point cloud, wherein the workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a support material located below the target workpiece, and the tool point cloud is a point cloud of a tool used to remove the support material in an additive manufacturing post-processing process; Constructing a three-dimensional grid and performing gridding processing based on the tool point cloud and the workpiece point cloud, respectively, wherein the three-dimensional grid includes a plurality of grid cells, each of the grid cells has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid cell; Performing a three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain transformation results, and calculating the convolution of the transformation results of the tool point cloud and the workpiece point cloud; determining an obstacle space point cloud in the obstacle space according to the convolution; Performing boundary extraction on the obstacle space point cloud to obtain a contact boundary; The steps of constructing a three-dimensional mesh based on the tool point cloud and performing meshing processing include: Constructing a three-dimensional grid including a plurality of grid cells based on the three-dimensional points in the tool point cloud, wherein each of the three-dimensional points falls into one of the grid cells; for each of the grid cells, if a three-dimensional point falls into the grid cell, setting a grid point for the grid cell and setting a grid identifier of the grid cell to 1; if no three-dimensional point falls into the grid cell, not setting a grid point for the grid cell and setting the grid identifier of the grid cell to 0; The step of determining an obstacle space point cloud in the obstacle space according to the convolution comprises: Performing a three-dimensional inverse fast Fourier transform based on the convolution to obtain restored voxel points; determining an obstacle space point cloud in the obstacle space based on the obtained multiple voxel points, wherein each of the voxel points has a corresponding voxel identifier, screening out voxel points whose voxel identifiers meet preset requirements from the multiple voxel points, and determining the obstacle space point cloud in the obstacle space based on the screened voxel points; The step of extracting the boundary of the obstacle space point cloud to obtain the contact boundary includes: The obstacle space point cloud is sliced in sequence in the vertical direction to obtain multiple slice point clouds; for each slice point cloud, each three-dimensional point in the slice point cloud is projected onto a two-dimensional plane to obtain a projection point; boundary processing is performed based on the projection points in the two-dimensional plane to determine the boundary points; the boundary points in the two-dimensional plane corresponding to each slice point cloud are restored to the obstacle space to obtain a contact boundary.

2. The obstacle space contact boundary extraction method according to claim 1, characterized in that: The method further comprises: Obtaining a pre-stored model point cloud of the target workpiece and extracting a model boundary of the model point cloud; The model boundary and the contact boundary are compared to determine the boundary of the support material.

3. The obstacle space contact boundary extraction method according to claim 1, characterized in that: The tool point cloud includes tool point clouds of the tool in multiple different positions; The step of determining an obstacle space point cloud in the obstacle space according to the convolution comprises: Obtaining convolutions of tool point clouds corresponding to the tool in various postures, and determining corresponding obstacle space point clouds based on the convolutions; The union of the obstacle space point clouds corresponding to the plurality of different postures is determined to obtain the obstacle space point cloud in the obstacle space.

4. The obstacle space contact boundary extraction method according to claim 1, characterized in that: The step of performing boundary processing based on the projection points in the two-dimensional plane to determine the boundary points includes: Processing the projection points in the two-dimensional plane to obtain a grid image; Performing morphological processing on the raster image to eliminate noise points in the raster image; Extracting each connected domain in the raster image and performing smoothing processing on each connected domain; Determine boundary points based on the processed raster image.

5. An obstacle space contact boundary extraction device, characterized in that: The device is used to implement the obstacle space contact boundary extraction method according to any one of claims 1 to 4, comprising: An acquisition module, configured to acquire a tool point cloud and a workpiece point cloud, wherein the workpiece point cloud includes a point cloud of a target workpiece and a point cloud of a supporting material located below the target workpiece; a processing module, configured to construct a three-dimensional grid and perform gridding processing based on the tool point cloud and the workpiece point cloud, respectively, wherein the three-dimensional grid includes a plurality of grid cells, each of the grid cells has a grid identifier, and the grid identifier indicates whether a three-dimensional point falls into the corresponding grid cell; a calculation module, configured to perform a three-dimensional fast Fourier transform based on the grid identifiers of the tool point cloud and the workpiece point cloud to obtain a transformation result, and calculate a convolution of the transformation results of the tool point cloud and the workpiece point cloud; a determination module, configured to determine an obstacle space point cloud in the obstacle space according to the convolution; The extraction module is used to extract the boundary of the obstacle space point cloud to obtain the contact boundary.

6. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 4 are implemented.

Citation Information

Patent Citations

  • Slice and supporting point acquisition method of complex anisotropic body parameterized model

    CN109571961A

  • Support detection method and device and storage medium

    CN112102313A