Multi-object collision detection method and system

Through dynamic grouping and optimized processing time, the problem of low efficiency and accuracy in building collision detection is solved, and efficient collision detection is achieved to ensure construction safety and computing efficiency.

CN117275029BActive Publication Date: 2025-09-02ZHEJIANG ZHIDIAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311209424.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-18
Publication Date
2025-09-02
Estimated Expiration
2043-09-18

AI Technical Summary

Technical Problem

Existing building collision detection methods have problems of accuracy and low efficiency when identifying collision problems in buildings or structures, especially when dealing with large amounts of steel bar distribution drawings, which consumes a lot of manpower and time costs.

Method used

By obtaining structural information and primitive distribution data of architectural design drawings, the processor is used to dynamically adjust the packet information, including determining the first packet and the second packet information, optimizing the estimated processing time of collision detection until the preset conditions are met, and accurate collision detection is performed.

Benefits of technology

Improve the efficiency and accuracy of building collision detection, reduce complexity, and ensure construction safety and computing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117275029B_ABST
    Figure CN117275029B_ABST
Patent Text Reader

Abstract

An embodiment of the present specification provides a multi-object collision detection method, which includes: obtaining drawing structure information of an architectural design drawing, as well as the number of graphic elements and graphic element distribution data of the graphic element objects in the architectural design drawing; determining first grouping information based on the drawing structure information and in combination with the graphic element distribution data; determining an estimated processing time for collision detection based on the first grouping information; in response to the estimated processing time not meeting a preset condition, determining second grouping information based on the first grouping information; re-determining the estimated processing time based on the second grouping information; repeating the first two steps until the estimated processing time meets the preset condition, and performing collision detection on the graphic element objects in each group respectively.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of building collision detection, and in particular to a multi-object collision detection method and system. Background Art

[0002] As urban construction progresses, a range of issues related to the construction industry, such as cost budgeting and construction safety, are gaining increasing attention. Architectural design and construction drawings often use numerous lines of varying lengths to represent the distribution of rebar. Traditional building collision detection methods (such as 3D modeling software and specialized collision detection tools) can lead to accuracy and loss of detail, while also requiring significant time and labor.

[0003] Therefore, a multi-object collision detection method and system are provided to help identify and avoid collision problems in buildings or structures with high computational efficiency, thereby ensuring the safety and accuracy of construction. Summary of the Invention

[0004] One or more embodiments of the present specification provide a multi-object collision detection method, which is executed by a processor and includes: obtaining drawing structure information of an architectural design drawing, and the number of graphic elements and graphic element distribution data of graphic element objects in the architectural design drawing, wherein the drawing structure information includes at least one of structure type, structure distribution information, and structure layering information, the graphic element objects include at least one of steel bar graphics, embedded parts graphics, and prefabricated component graphics, and the graphic element distribution data includes at least two sets of three-dimensional coordinate data and graphic element size data; based on the drawing structure information and in combination with the graphic element distribution data, determining first grouping information, wherein the first grouping information It includes a first grouping number and first graphic element information, wherein the first graphic element information includes the graphic element number and the graphic element distribution data of the graphic element objects in each group; based on the first grouping information, an estimated processing time of collision detection is determined; in response to the estimated processing time not meeting a preset condition, second grouping information is determined based on the first grouping information, wherein the second grouping information includes a second grouping number and second graphic element information; based on the second grouping information, the estimated processing time is re-determined; the first two steps are repeated until the estimated processing time meets the preset condition, and collision detection is performed on the graphic element objects in each group respectively.

[0005] One or more embodiments of this specification provide a multi-object collision detection device, including a processor, wherein the processor is configured to execute any one of the multi-object collision detection methods described in the embodiments of this specification.

[0006] One or more embodiments of this specification provide a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the multi-object collision detection method described in any one of the embodiments of this specification. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] This specification will be further described in the form of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting, and in these embodiments, the same numbers represent the same structures, wherein:

[0008] Figure 1 is an exemplary flow chart of a multi-object collision detection method according to some embodiments of this specification;

[0009] Figure 2 is an exemplary schematic diagram of determining first grouping information according to some embodiments of this specification;

[0010] Figure 3 is an exemplary schematic diagram of determining a degree of completion according to some embodiments of this specification;

[0011] Figure 4 This is an exemplary schematic diagram of determining the number of collision detections and the order of collision detections according to some embodiments of this specification. DETAILED DESCRIPTION

[0012] To more clearly illustrate the technical solutions of the embodiments of this specification, the following briefly describes the drawings required for describing the embodiments. Obviously, the drawings described below are merely examples or embodiments of this specification. Those skilled in the art can apply this specification to other similar scenarios based on these drawings without inventive effort. Unless otherwise apparent from the context or otherwise noted, the same reference numerals in the figures represent the same structure or operation.

[0013] It should be understood that the terms "system," "device," "unit," and / or "module" used herein are a method for distinguishing different components, elements, parts, portions, or assemblies at different levels. However, if other terms can achieve the same purpose, the terms may be replaced by other expressions.

[0014] As used in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not refer to the singular but also include the plural. Generally speaking, the terms "comprises" and "include" only indicate the inclusion of the steps and elements specifically identified, and these steps and elements do not constitute an exclusive list. A method or apparatus may also include other steps or elements.

[0015] Flowcharts are used throughout this specification to illustrate the operations performed by systems according to embodiments of this specification. It should be understood that preceding or following operations do not necessarily need to be performed in exact order. Instead, the steps may be processed in reverse order or simultaneously. Furthermore, other operations may be added to these processes, or one or more operations may be removed from these processes.

[0016] Figure 1 is an exemplary flow chart of a multi-object collision detection method according to some embodiments of this specification. In some embodiments, process 100 may be executed by a processor. Figure 1 As shown, process 100 includes the following steps:

[0017] Step S1: Acquire drawing structure information of an architectural design drawing, and the number of graphic elements and graphic element distribution data of graphic element objects in the architectural design drawing.

[0018] Architectural design drawings refer to drawings used to represent the structural composition of a building.

[0019] Drawing structure information refers to information related to the distribution structure of various graphics within a drawing. In some embodiments, the drawing structure information includes at least one of structure type, structure distribution information, and structure layer information. In some embodiments, the processor can extract regional features based on the architectural design drawing to obtain the drawing structure information.

[0020] Structural type refers to the type of building structure represented by a large number of graphics within the drawing. For example, structural types may include beams, slabs, columns, residential buildings, gymnasiums, etc.

[0021] The structural distribution information may represent the position distribution of the structure within the drawing. For example, the structural distribution information may include the three-dimensional coordinates of the center point or midpoint of the structure.

[0022] Structural layer information can represent the internal structure of the drawing. For example, a 20-story residential building can be divided into floors 1-20.

[0023] A primitive object refers to a graphic within a drawing. In some embodiments, a primitive object includes at least one of a rebar graphic, an embedded component graphic, and a prefabricated component graphic. For example, a primitive object may include a line representing a rebar or a 3D graphic representing an embedded component. In some embodiments, a primitive object may be obtained based on analysis of architectural design drawings.

[0024] The number of graphic elements refers to the number of graphic element objects in the drawing. In some embodiments, the number of graphic elements can be obtained based on the statistics of graphic element objects in the architectural design drawing.

[0025] The graphic element distribution data may represent information about the location of graphic element objects within the drawing. In some embodiments, the graphic element distribution data includes coordinate data and graphic element size data for at least one graphic element object. In some embodiments, the graphic element distribution data may be obtained based on an analysis of graphic element objects in the architectural design drawing.

[0026] 3D coordinate data refers to the coordinates of a primitive object within a drawing. A primitive object can include at least two sets of 3D coordinate data, for example, the 3D coordinate data of the primitive object's two endpoints.

[0027] Element size data refers to the size of the element object inside the drawing, such as the radius of the element object.

[0028] As an example only, the element distribution data includes the information of a certain steel bar element, expressed as [(x1, y1, z1, w1), (x2, y2, z2, w2)], where (x1, y1, z1) and (x2, y2, z2) are the three-dimensional coordinate data of the two endpoints of the steel bar element, and w1 and w2 are the radii of the two endpoints of the steel bar element, that is, the element size data.

[0029] Step S2: Determine first grouping information based on the drawing structure information and the graphic element distribution data.

[0030] The first grouping information refers to the grouping data of several first groups obtained by first grouping a large number of primitive objects in a drawing. For example, the first grouping information includes the number of groups in the first group (hereinafter referred to as the first group number) and the primitive information of each first group (hereinafter referred to as the first primitive information).

[0031] The first primitive information refers to the relevant information of the primitive objects in the first group, and includes the number of primitives and primitive distribution data of each primitive object in the first group.

[0032] The processor can determine the first grouping information in various ways. In some embodiments, the first grouping information can be determined based on prior experience. For example, the number of first groups for a two-story building is empirically determined to be five. For example, the building can be divided into five regions based on the cross-sectional distribution size, and the multiple primitive objects corresponding to each region can be grouped together to obtain five first groups, thereby determining the first grouping information.

[0033] In some embodiments, the processor may determine the first grouping information based on cluster matching. For more information about cluster matching, see Figure 2 and its related descriptions.

[0034] Step S3: determining an estimated processing time for collision detection based on the first grouping information.

[0035] Collision detection refers to the detection of collisions between graphical elements in architectural design drawings. For example, collision detection can determine whether there are any unreasonable intersections between graphical elements. In some embodiments, because graphical elements in different groups are far apart, collision detection is not required. This can be achieved by rationally grouping, thus reducing unnecessary collision checks and, in turn, the number of checks, thereby shortening detection time.

[0036] In some embodiments, the processor may determine whether a collision occurs by calculating the intersection of each pair of line segments within each first group based on the first grouping information. For example, if the calculation result shows that the line segments have an intersection, then a collision exists.

[0037] In some embodiments, the processor may determine the number of collision detections and the order of collision detections for each first group based on the collision detection model. For more information on the collision detection model, the number of collision detections, and the order of collision detections, see Figure 4 and its related contents.

[0038] The estimated processing time refers to the estimated time required to complete the pairwise intersection calculation operation between the line segments of the primitive objects within each first group. In some embodiments, the processor may pre-record and store different estimated processing times corresponding to different numbers of primitives within a group and generate a first preset table. The processor may then determine the collision detection time corresponding to each first group based on the number of first groups and the number of primitives within each first group, by looking up the table, or other means, and thereby determine the estimated processing time.

[0039] In some embodiments, the estimated processing time can be determined based on a processing model. For more information on processing models, see Figure 3 and its related descriptions.

[0040] Step S4: In response to the estimated processing time not satisfying a preset condition, second grouping information is determined based on the first grouping information.

[0041] The preset condition refers to a condition for determining whether to regroup within the first group. In some embodiments, the preset condition may be that the estimated processing time is less than a time threshold. The time threshold may be determined based on historical experience. In some embodiments, the preset condition may be pre-set by the user.

[0042] The second grouping information refers to the grouping data of several second groups obtained by grouping again within each first group. The second grouping information includes the number of second groups (hereinafter referred to as the second group number) and the image element information of the second group (hereinafter referred to as the second image element information). The second group number and the second image element information are similar to the first group number and the first image element information. Figure 1 Related content above.

[0043] In some embodiments, the second grouping information may be determined based on prior experience. In some embodiments, the second grouping information may be determined based on cluster matching. For more information on cluster matching, see Figure 2 and its related descriptions.

[0044] For example, continuing with the previous example, a two-story building is divided into five first groups based on the plane distribution size of the building. The processor can further divide the area of ​​each first group into three sub-areas, and cluster the graphic objects in each sub-area into a second group. In this way, 15 second groups can be obtained, and then the second group information can be determined.

[0045] Step S5: re-determine the estimated processing time based on the second grouping information.

[0046] At this time, the estimated processing time is the time estimated to be spent on completing the calculation operation of the intersection between the line segments of the primitive objects in each second group.

[0047] In some embodiments, the processor may determine the estimated processing time based on the number of second groups and the number of primitives in each second group by querying the first preset table, etc. For details, see the description of determining the estimated processing time based on the first group information in step S3.

[0048] Step S6, repeating steps S4-S5 until the estimated processing time meets the preset conditions, and performing collision detection on the primitive objects in each group respectively.

[0049] In some embodiments, in response to the estimated processing time not meeting the preset condition, the processor further groups each group based on the grouping in the previous step. For example, each second group is further grouped, and so on, until the estimated processing time for the corresponding grouping meets the preset condition.

[0050] Some embodiments of this specification obtain drawing structure information and element distribution data of architectural design drawings to determine better grouping information, which can quickly and accurately determine reasonable collision detection objects, reduce the complexity of collision detection, and improve detection efficiency and accuracy.

[0051] It should be noted that the above description of the relevant processes is for illustration and purpose only and does not limit the scope of application of this specification. For those skilled in the art, various modifications and changes can be made to the processes under the guidance of this specification. However, such modifications and changes are still within the scope of this specification.

[0052] In some embodiments, the processor can determine the number of first groups, as well as the group center and group radius of each first group based on the drawing structure information 211 and combined with the three-dimensional coordinate data; and determine the first group information 240 through cluster matching based on the group center and group radius of each first group.

[0053] For more information about the drawing structure information 211, the three-dimensional coordinate data, and the number of the first group, see Figure 1 and its related contents.

[0054] In some embodiments, the processor may determine the number of first groups based on prior experience according to the drawing structure information 211. For example, the larger the internal structure space of the drawing, the greater the number of first groups.

[0055] Grouping center 232 refers to the three-dimensional coordinate data used as a reference when grouping primitive objects. Grouping centers are similar to cluster centers in clustering. In some embodiments, the processor can determine grouping center 232 based on prior experience and drawing structure information 211. For example, for a residential building, at least five groups are divided into every two floors, with the five grouping centers located on the floor slab between each two floors, and the grouping radius is less than the height of a single floor.

[0056] Grouping radius 233 refers to a preset distance extending in different directions from grouping center 232. In some embodiments, the processor may determine grouping radius 233 based on prior experience based on drawing structure information 211. In some embodiments, the greater the distance between grouping centers 232, the greater the grouping radius 233.

[0057] In some embodiments, the processor may use the grouping model 220 to determine the number of groups 231, the group center 232 of each group, and the group radius 233. The grouping model 220 may be a machine learning model, such as a Long Short Term Memory Network (LSTM) model, or any combination thereof.

[0058] In some embodiments, the input of the grouping model 220 may include drawing structure information 211 , the number of primitives 212 of primitive objects to be grouped, and primitive distribution data 213 , and the output may include the number of groups 231 , the group center 232 of each group, and the group radius 233 .

[0059] Taking the case where a first group is divided again into several second groups based on the grouping model 220 as an example:

[0060] The input of the grouping model 220 may include drawing structure information 211, the number of graphic elements 212 of the first group and graphic element distribution data 213, and the output may include the number of second groups 231 corresponding to the first group, the group center 232 of each second group and the corresponding group radius 233.

[0061] In some embodiments, the grouping model can be trained using a first training sample with a first label. In some embodiments, the first training sample can include sample drawing structure information, the number of sample primitives to be grouped, and primitive distribution data. The first label can be the number of sample groups, the center of each sample group, and the corresponding sample group radius.

[0062] In some embodiments, the first training sample can be obtained based on historical processing data, and the first label can be the number of group centers, the group center and the group radius of each group in the historical processing data for the drawing structure information when the actual processing time is the shortest to meet the collision detection requirements.

[0063] For example, for a residential building design drawing, after determining the drawing structure information, based on prior experience, for every two floors, 3, 4, 5, or 6 group centers are divided, and a reasonable group radius is set manually. The primitive objects in each group are determined through clustering, and then collision detection is performed on the primitive objects in each group. The actual processing time is calculated or the estimated processing time is predicted through the processing model. The number of groups with the shortest processing time, as well as the corresponding group center and group radius, are used as labels. For more information about the processing model, see Figure 3 and its related descriptions.

[0064] In some embodiments of this specification, different architectural design drawings have different drawing structure information. If collision detection processing is uniformly performed according to the same preset method, there may be problems such as large fluctuations in processing time and low processing efficiency. The processor uses a trained grouping model to reasonably divide the graphic objects within the drawing into different groups based on data such as the drawing structure information, which can ensure the efficiency of collision detection processing to a certain extent.

[0065] In some embodiments, the processor may divide the primitive objects whose distances between the plurality of three-dimensional coordinate data and the three-dimensional coordinate data of the group center are all smaller than the group radius 233 into the group corresponding to the group center 232 .

[0066] For example, the processor first estimates the candidate graphic objects based on the drawing structure information 211, combined with each group center 232 and group radius 233, to reduce the amount of calculation, where the distribution range of the divided candidate graphic objects is slightly larger than the group radius 233; then, the vector distances (Euclidean distance, cosine distance, etc.) between different graphic objects and the group center 232 are calculated respectively, and the graphic objects whose vector distance to a certain group center is less than the group radius 233 are clustered into the first group corresponding to the group center, and then the first group information 240 is determined.

[0067] Candidate primitive objects are those that may be included in the group. Candidate primitive objects at different group centers may overlap. To avoid unnecessary computational overhead, this overlap must be kept to a minimum. For example, the number of overlapping primitive objects must not exceed a preset number. If this number exceeds the preset number, the candidate primitive objects must be re-determined.

[0068] In some embodiments, the processor may further group the first group within a plurality of spheres formed by the group center 232 and the group radius 233 to obtain second group information. For example, within a sphere formed by a group center 232 and a group radius 233 in the first group, a plurality of sphere centers and radii may be determined. Each sphere center is the group center 233 of the second group, and the radius is the group radius corresponding to the group center.

[0069] In some embodiments, the processor may cluster and match multiple second groups based on the distances (Euclidean distance or cosine distance) of different primitive objects in the first grouping information relative to the respective group centers 232. For example, a primitive object is assigned to a group corresponding to a group center that is closest to the primitive object or has a distance smaller than the group radius.

[0070] In some embodiments, the processor may determine grouping information such as the number of groups, group center, and group radius for each grouping based on the grouping model.

[0071] In some embodiments, different groups do not intersect, and there are gaps between the spheres formed by multiple group centers 232 and group radius 233. If there are primitive objects whose distances from different group centers 232 are all greater than the group radius 233, or primitive objects whose coordinates only partially fall within the group radius 233, these primitive objects need to be divided into a third group. For more information about the third group, see Figure 3 and its related contents.

[0072] In some embodiments of this specification, based on the drawing structure information, the number of groups, group centers and group radius can be determined, and then cluster matching is used to determine the grouping information, so that the graphic objects can be accurately grouped for subsequent collision detection. At the same time, cluster matching can better ensure the accuracy and consistency of the grouping.

[0073] In some embodiments, the processor may determine third grouping information 311 .

[0074] Third grouping information 311 refers to grouping data determined when grouping primitive objects not included in the first and / or second groups. In some embodiments, third grouping information 311 includes associated primitives and the number and distribution of associated primitives. In some embodiments, third grouping information 311 can be determined based on prior experience in combination with the first and / or second grouping information.

[0075] The associated graphic element is a graphic element object that has a collision risk with the graphic element objects in the first grouping information and / or the second grouping information.

[0076] The number of associated primitives and the distribution data of associated primitives are similar to the number of primitives and primitive distribution data. For details, see Figure 1 and its related descriptions.

[0077] In some embodiments, the third group information 311 further includes the number of third groups, and the first group and / or the second group associated with the primitive objects within the third group.

[0078] For example, if a portion of a certain primitive object in the third group can fall into the first group and / or the second group, then the first group and / or the second group is associated with the third group.

[0079] In some embodiments of this specification, the third grouping information also includes the number of third groups, and the first group and / or second group associated with the graphic element objects within the third group, so as to facilitate the association of the associated graphic elements of the third group corresponding to the group when subsequently calculating the collision information, thereby increasing the accuracy of calculating the collision information and reducing the calculation time and cost.

[0080] In some embodiments, the processor may determine whether to determine the primitive object as an associated primitive based on the primitive distribution data 213 of the primitive object.

[0081] In some embodiments, an associated primitive can be a primitive object whose 3D coordinate data is partially or completely within the grouping radius of a particular group. For example, if only a portion of a rebar primitive meets the grouping requirements of a particular group (e.g., its distance from the group center is less than the grouping radius), the rebar primitive object cannot be assigned to that or any other group and must be assigned to a separate third group. This means that the rebar primitive object can be used as an associated primitive.

[0082] In some embodiments of this specification, whether a primitive object is an associated primitive is determined based on primitive distribution data of different primitive objects, which can ensure the reliability and accuracy of the determination result.

[0083] In some embodiments of the present specification, during the aforementioned first grouping and second grouping processes, there may be primitive objects that do not meet the grouping conditions. By reasonably determining the third grouping information, the reliability and comprehensiveness of the grouping information can be guaranteed, omissions can be avoided, and the accuracy of collision detection can be improved.

[0084] In some embodiments, the processor may determine an estimated processing time based on the process model 320 .

[0085] The processing model 320 may be a machine learning model, for example, a recurrent neural network (RNN) model, or any combination thereof.

[0086] In some embodiments, the input of the processing model 320 may include the number of group centers 310 and group radius 233, the number of primitives 212 and primitive distribution data 213 in each group, third group information 311 and preset processing time 312, and the output may be completion degree 330.

[0087] The preset processing time 312 refers to a pre-set processing time. In some embodiments, the processor can establish a first preset table based on historical processing data, and determine the detection time corresponding to each group by looking up the table based on the number of graphics elements 212 in each group, and then determine the preset processing time 312. Figure 1 The corresponding content.

[0088] The completion level 330 refers to the progress of collision detection between primitive objects.

[0089] In some embodiments, the processing model may be trained based on a second training sample with a second label. In some embodiments, the second training sample may include the number of sample grouping centers and grouping radius, the number of primitives within the sample grouping and primitive distribution data, sample third grouping information, and sample preset processing time. The second label may be sample completion.

[0090] In some embodiments, the second training sample can be obtained based on historical processing data, and the second label can be based on the historical data in the second training sample that is identical or similar to the sample data. A completion degree of 100% or above is recorded as 1, and a completion degree of less than 100% is recorded as 0. For example, before the model is established, the second training sample and the second label are determined based on a large amount of historical actual collision detection data and / or simulated collision detection data. For another example, for residential buildings, public buildings, industrial buildings, etc., classification statistics are performed separately, and the same or similar sample data are divided into a category as different sample data. The corresponding completion status is used as the second label for this type of sample data.

[0091] The estimated processing time refers to the estimated calculation time for collision detection. In some embodiments, the processor may use the preset processing time with a completion degree of the model output greater than or equal to 100% and the minimum time as the estimated processing time.

[0092] In some embodiments of this specification, by using a trained processing model to analyze relevant group data, a relatively accurate estimated processing time can be quickly determined, and then it can be known in advance whether the aforementioned group processing meets the requirements, thereby improving collision detection efficiency.

[0093] Figure 4 This is an exemplary schematic diagram of determining the number of collision detections and the order of collision detections according to some embodiments of this specification.

[0094] In some embodiments, the processor can determine the risk graphics elements 412 of the graphics element objects 411 in each group, and the risk graphics elements 412 include other graphics element objects 411 in each group that have a risk of collision with the graphics element object 411; based on the graphics element objects 411 in each group, a risk graph structure 410 is established in combination with the risk graphics elements 412; based on the risk graph structure 410, the number of collision detections 431 and the collision detection order 432 of the graphics element objects 411 in each group are determined.

[0095] A risk element 412 for a graphics object refers to a graphics object 411 that has a collision risk with the graphics object. Proximity exists between graphics objects, for example, adjacent rebar graphics have a collision risk. In some embodiments, risk elements 412 include other graphics objects 411 within each group that have a collision risk with the graphics object 411. In some embodiments, risk elements 412 can be determined based on prior experience. For example, rebar graphics at the intersection of a column and a beam-slab are mutually considered risk elements 412.

[0096] In some embodiments, the risk primitives 412 also include primitive objects 411 in each group that have a collision risk with the associated primitives. Figure 3 and its related descriptions.

[0097] For example, if a certain primitive object in the second group has a collision risk with a primitive object in the third group, then the primitive object is a risk primitive.

[0098] In some embodiments of this specification, for associated graphics elements in the third group, there is still a risk of collision with other graphics element objects in the first group and the second group. By considering the associations in the third group as nodes for establishing a graph structure, the accuracy of collision detection can be improved.

[0099] The processor may determine whether two graphic objects are mutually risky graphic objects based on the distance corresponding to at least one of the three-dimensional coordinate distances of the two graphic objects. For example, if the relative distances of the coordinate values ​​of the three dimensions of the x, y, and z coordinates of two graphic objects are all less than a distance threshold, the two graphic objects are considered to be mutually risky graphic objects.

[0100] The distance threshold is a threshold used to identify risk primitives 412. In some embodiments, the distance threshold can be determined based on prior knowledge. In some embodiments, the distance threshold is negatively correlated with primitive size data. For example, a larger cross-sectional radius of a primitive object results in a smaller distance threshold being used when identifying a risk primitive for that primitive object.

[0101] In some embodiments of the present specification, risk primitives are determined by the distance of three-dimensional coordinate data x, y, and z, which can quickly and accurately determine primitives with collision risks in space, thereby improving the accuracy of collision detection.

[0102] In some embodiments, the processor may process the primitive objects 411 and risk primitives 412 in each group based on the collision detection model 420 to determine the number of collision detections 431 and the order of collision detections 432 for the primitive objects 411 in each group. The collision detection model 420 is a machine learning model, such as a deep neural network model.

[0103] In some embodiments, the processor can establish a risk graph structure 410 corresponding to a group based on the graphic element objects 411 in a group and the risk graphic element 412. The collision detection model 420 can process the risk graph structure 410 to determine the number of collision detections 431 and the collision detection order 432 of the graphic element objects 411 in each group.

[0104] The number of collision detections 431 refers to the number of times that a node performs a pairwise collision test. In some embodiments, the number of collision detections 431 is the number of edges in the risk graph structure 410 .

[0105] Collision detection order 432 refers to the order in which corresponding nodes are subjected to collision testing. In some embodiments, collision detection data 432 is the detection ranking in the edge attributes of risk graph structure 410. In some embodiments, the detection ranking can be obtained by outputting updates from collision detection model 420.

[0106] In some embodiments, a node of the risk graph structure 410 may correspond to a primitive object 411 within each group. In some embodiments, the node also includes a primitive associated with a third group corresponding to the group. For example, the primitive associated with the third group corresponding to the group may be a primitive object whose half of its coordinates fall within a sphere of the group, with the group center as the sphere center and the group radius as the radius.

[0107] Node attributes can reflect the relevant characteristics of the corresponding primitive object. For example, node attributes include: the number of risk primitives surrounding the primitive object corresponding to the node, etc.

[0108] The number of surrounding risk graphs refers to the number of risk graphs corresponding to the graph object, which can be understood as the number of edges derived from the node.

[0109] In some embodiments, an edge may be used to connect nodes corresponding to two graph primitive objects that are risk graph primitives.

[0110] Edge attributes may reflect relevant features of the corresponding risk graph element 412. For example, edge attributes include: the minimum distance between two nodes and detection ranking.

[0111] The minimum distance refers to the minimum distance calculated based on multiple three-dimensional coordinate data of two primitive objects 411. For example, the minimum value of the distances between the two primitive objects based on the x, y, and z coordinates.

[0112] The detection order refers to the order in which the collision detection is performed on the primitive objects at different positions. In some embodiments, the detection order of each edge before the collision detection model 420 outputs is 0.

[0113] In some embodiments, the collision detection model 420 may be a graph neural network (GNN) model. The collision detection model 420 may take as input the risk structure graph 410 for the corresponding group, and may output the number of collision detections 431 and the order of collision detections 432 for the primitive objects 411 within the corresponding group. The model outputs the number of collision detections 431 and the order of collision detections 432 for the primitive objects 411 based on the nodes of the risk structure graph 410.

[0114] In some embodiments, the collision detection model can be trained based on a third training sample with a third label. In some embodiments, the third training sample can be a historical risk structure graph determined based on historical processing data. The nodes and their attributes, and the edges and their attributes of the historical risk structure graph are similar to those of the risk structure graph. The labels can be the historical collision detection counts and historical collision detection order of each primitive object determined based on the historical processing data.

[0115] Some embodiments of this specification establish a graph structure based on the aforementioned grouping information and perform collision detection on graphic objects in different groups respectively. Compared with traditional pairwise collision detection, this improves the efficiency of collision detection to a certain extent and saves time costs.

[0116] An embodiment of this specification also provides a multi-object collision detection device, which includes at least one storage medium and at least one processor, wherein the at least one storage medium is used to store computer instructions; and the at least one processor is used to execute computer instructions to implement any multi-object collision detection method described in any of the embodiments of this specification.

[0117] The embodiments of this specification also provide a computer-readable storage medium, which stores computer instructions. When the computer instructions are executed by a computer, the multi-object collision detection method described in any one of the embodiments of this specification is implemented.

[0118] While the basic concepts have been described above, it will be apparent to those skilled in the art that the detailed disclosure is merely illustrative and does not limit this specification. Although not explicitly stated herein, various modifications, improvements, and revisions to this specification may be made by those skilled in the art. Such modifications, improvements, and revisions are suggested in this specification and remain within the spirit and scope of the exemplary embodiments of this specification.

[0119] This specification also uses specific terms to describe the embodiments of this specification. For example, "one embodiment," "an embodiment," and / or "some embodiments" refer to a feature, structure, or characteristic associated with at least one embodiment of this specification. Therefore, it should be emphasized and noted that references to "one embodiment," "an embodiment," or "an alternative embodiment" two or more times in different locations in this specification do not necessarily refer to the same embodiment. Furthermore, certain features, structures, or characteristics of one or more embodiments of this specification may be appropriately combined.

[0120] In addition, unless expressly stated in the claims, the order of the processing elements and sequences, the use of alphanumeric characters, or the use of other names described in this specification are not intended to limit the order of the processes and methods of this specification. Although the above disclosure discusses some of the invention embodiments currently considered useful through various examples, it should be understood that such details are for illustrative purposes only, and the appended claims are not limited to the disclosed embodiments. On the contrary, the claims are intended to cover all modifications and equivalent combinations that are consistent with the spirit and scope of the embodiments of this specification. For example, although the system components described above can be implemented by hardware devices, they can also be implemented only by software solutions, such as installing the described system on an existing server or mobile device.

[0121] Similarly, it should be noted that, in order to simplify the presentation of this specification and thus facilitate understanding of one or more embodiments of the invention, the foregoing descriptions of the embodiments of this specification sometimes combine multiple features into a single embodiment, figure, or description thereof. However, this disclosure method does not imply that the subject matter of this specification requires more features than those recited in the claims. In fact, an embodiment may have fewer features than all of the features of a single disclosed embodiment.

[0122] In some embodiments, numbers are used to describe the quantity of components and attributes. It should be understood that such numbers used in the description of the embodiments are modified by the modifiers "about", "approximately" or "substantially" in some examples. Unless otherwise stated, "about", "approximately" or "substantially" indicate that the numbers are allowed to vary by ±20%. Accordingly, in some embodiments, the numerical parameters used in the description and claims are approximate values, which may change according to the required characteristics of individual embodiments. In some embodiments, the numerical parameters should take into account the specified significant digits and adopt the general method of retaining digits. Although the numerical domains and parameters used to confirm the breadth of their range in some embodiments of this specification are approximate values, in specific embodiments, the settings of such numerical values ​​are as accurate as possible within the feasible range.

[0123] Each patent, patent application, patent application publication, and other materials, such as articles, books, specifications, publications, and documents, cited in this specification is hereby incorporated by reference in its entirety. This includes application history documents that are inconsistent with or conflict with the content of this specification, as well as documents (currently or subsequently attached to this specification) that limit the broadest scope of the claims of this specification. It should be noted that if the descriptions, definitions, and / or terminology used in the accompanying materials are inconsistent or conflicting with the content of this specification, the descriptions, definitions, and / or terminology used in this specification will control.

[0124] Finally, it should be understood that the embodiments described in this specification are intended only to illustrate the principles of the embodiments of this specification. Other variations may also fall within the scope of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly described and illustrated in this specification.

Claims

1. A multi-object collision detection method, characterized in that: The method is executed by a processor and includes the following steps: S1. Obtaining drawing structure information of an architectural design drawing, as well as the number of graphic elements and graphic element distribution data of graphic element objects in the architectural design drawing, wherein the drawing structure information includes at least one of structure type, structure distribution information, and structure layering information; the graphic element objects include at least one of a steel bar graphic, an embedded part graphic, and a prefabricated component graphic; and the graphic element distribution data includes at least two sets of three-dimensional coordinate data and graphic element size data; S2. Determine first grouping information based on the drawing structure information and the primitive distribution data, where the first grouping information includes a first group quantity and first primitive information, where the first primitive information includes the primitive quantity and primitive distribution data of the primitive objects in each group; S3. Determine an estimated processing time for collision detection based on the first grouping information; S4. In response to the estimated processing time not meeting a preset condition, determining second grouping information based on the first grouping information, where the second grouping information includes a second group quantity and second graphic element information; S5. Re-determine the estimated processing time based on the second grouping information; S6. Repeat steps S4-S5 until the estimated processing time meets the preset condition, and perform collision detection on the primitive objects in each group respectively.

2. The method according to claim 1, characterized in that The determining of the first grouping information based on the drawing structure information and in combination with the graphic element distribution data includes: Based on the drawing structure information and in combination with the three-dimensional coordinate data, determining the number of the first groups, and the group center and group radius of each first group; The first group information is determined through cluster matching based on the group center and the group radius of each first group.

3. The method according to claim 1, characterized in that The method further comprises: Determine third grouping information, the third grouping information including associated primitives and the number of associated primitives and associated primitive distribution data of the associated primitives, the associated primitives being the primitive objects that have a collision risk with the primitive objects in the first grouping information and / or the second grouping information.

4. The method according to claim 1, wherein The performing collision detection on the primitive objects in each group respectively includes: Determine risk primitives for the primitive objects in each group, where the risk primitives include other primitive objects in each group that have a collision risk with the primitive object; A risk graph structure is established based on the graphic primitive objects in each group and in combination with the risk graphic primitives; and based on the risk graph structure, the number of collision detections and the order of collision detections for the graphic primitive objects in each group are determined.

5. The method according to claim 4, characterized in that Also includes: The risk primitives also include the primitive objects in each group that have a collision risk with the associated primitives.

6. A multi-object collision detection device, comprising a processor, characterized in that: The processor is configured to execute the multi-object collision detection method according to any one of claims 1 to 5.

7. A computer-readable storage medium, characterized in that The storage medium stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the multi-object collision detection method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • BIM (Building Information Model) examination method and device, equipment and storage medium

    CN113987666A

  • Continuous collision detection method for articulated robot

    CN115179326A