Multi-rigid-body contact rigidity detection method and device, electronic equipment and program product

By dividing the surface of a multi-rigid-body system into triangular patches and calculating the radius of curvature of the contact area, the problem of low efficiency in multi-rigid-body collision simulation results in the prior art is solved, and efficient determination of contact stiffness and acquisition of simulation results are achieved.

CN121744833APending Publication Date: 2026-03-27SHENZHEN POISSON SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-13
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

The existing technology has low efficiency in obtaining simulation results of multi-rigid-body collision processes, mainly due to the low efficiency in selecting contact stiffness.

Method used

By dividing the surfaces of the first and second rigid bodies into several triangular facets, determining the combination of intersecting triangular facets and the intersection points, and calculating the radius of curvature of the contact area, the contact stiffness is determined.

Benefits of technology

This improves the efficiency of selecting contact stiffness, thereby increasing the efficiency of obtaining simulation results for multi-rigid-body collision processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121744833A_ABST
    Figure CN121744833A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of contact simulation, and provides a multi-rigid-body contact rigidity detection method and device, electronic equipment and a program product. The method comprises the following steps: respectively dividing surfaces corresponding to a first rigid body and a second rigid body into a plurality of triangular patches to obtain a first triangular patch corresponding to the first rigid body and a second triangular patch corresponding to the second rigid body; determining intersected triangular patch combinations and intersection points corresponding to the triangular patch combinations; determining a contact area of the first rigid body and the second rigid body according to each triangular patch combination and each intersection point; and for each contact area, determining the curvature radius corresponding to the contact area according to the triangular patch corresponding to the contact area, and determining the contact rigidity corresponding to the contact area according to the curvature radius corresponding to the contact area. By means of the method, the appropriate contact rigidity can be determined through the electronic equipment, and the efficiency of obtaining the simulation result of the multi-rigid-body collision process is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of contact simulation technology, and in particular relates to a method, device, electronic equipment and program product for detecting the contact stiffness of multiple rigid bodies. Background Technology

[0002] Currently, continuous force models are commonly used to quickly obtain simulation results of multi-rigid-body collision processes. When using continuous force models to obtain simulation results of multi-rigid-body collision processes, the accuracy of the calculated contact forces usually depends on whether the selected contact stiffness is appropriate.

[0003] Currently, users typically need to conduct numerous experiments to obtain a suitable contact stiffness, resulting in low efficiency in selecting contact stiffness and consequently reducing the efficiency of obtaining simulation results for multi-rigid-body collision processes. Summary of the Invention

[0004] In view of this, embodiments of this application provide a method, apparatus, electronic device and program product for detecting the stiffness of multi-rigid-body contact, in order to solve the technical problem of low efficiency in obtaining simulation results of multi-rigid-body collision processes in the prior art.

[0005] In a first aspect, embodiments of this application provide a method for detecting the contact stiffness of multiple rigid bodies, including: The surfaces of the first rigid body and the second rigid body are divided into several triangular facets to obtain the first triangular facet corresponding to the first rigid body and the second triangular facet corresponding to the second rigid body. The surface of the first rigid body is in contact with the surface of the second rigid body. Based on each of the first triangular facets and each of the second triangular facets, intersecting triangular facet combinations and corresponding intersection points are determined; each triangular facet combination includes one first triangular facet and one second triangular facet. The contact area between the first rigid body and the second rigid body is determined based on the combination of each triangular facet and each intersection point. For each contact area, the radius of curvature of the contact area is determined based on the triangular facet corresponding to the contact area, and the contact stiffness of the contact area is determined based on the radius of curvature of the contact area.

[0006] Optionally, determining the intersecting triangle combinations and the intersection points corresponding to the triangle combinations based on each of the first and second triangles includes: For each first triangular facet, candidate triangular facets are determined from each second triangular facet, and several target triangular facets that intersect with the first triangular facet are determined from the candidate triangular facets. The first triangular facet and each target triangular facet are respectively formed into a triangular facet combination, and the intersection point of the first triangular facet and each target triangular facet is respectively determined as the intersection point of the corresponding triangular facet combination.

[0007] Optionally, determining candidate triangular facets from each of the second triangular facets includes: Construct a hierarchical bounding box tree for the second rigid body. The hierarchical bounding box tree includes several leaf bounding boxes, several intermediate bounding boxes, and a root bounding box. Each leaf bounding box encloses a second triangular facet. The intermediate bounding boxes enclose several leaf bounding boxes. The root bounding box encloses the second rigid body. The candidate triangular facet is determined based on the intersection determination results between the first triangular facet and the root bounding box, each of the intermediate bounding boxes, and each of the leaf bounding boxes.

[0008] Optionally, determining the candidate triangular facet based on the intersection determination results between the first triangular facet and the root bounding box, each of the intermediate bounding boxes, and each of the leaf bounding boxes includes: If the first triangular facet does not intersect with the root bounding box, then it is determined that the candidate triangular facet does not exist. If the first triangular facet intersects with the root bounding box and with the target intermediate bounding box in each of the intermediate bounding boxes, then the second triangular facet enclosed by each of the leaf bounding boxes included in the target intermediate bounding box is determined as the candidate triangular facet.

[0009] Optionally, determining a plurality of target triangular facets intersecting with the first triangular facet from the candidate triangular facets includes: For each candidate triangular facet, the vertex coordinates of the candidate triangular facet are determined as candidate points, and the unit normal vector on the first triangular facet is determined. For each candidate point, the normal distance of the candidate point on the unit normal vector is determined, and the normal projection point of the candidate point on the first triangular facet is determined. If the normal distance is less than or equal to a preset distance threshold, and the normal projection point is on the first triangular facet corresponding to the candidate triangular facet, then the candidate triangular facet is determined as the target triangular facet.

[0010] Optionally, determining the radius of curvature of the contact area based on the triangular facet corresponding to the contact area includes: Determine the coordinates of the center point of each triangular facet corresponding to the contact area and the facet normal vector; Based on the coordinates of the center point of each triangular facet, the geometric center point of the contact area is determined, and a local coordinate system is established with the geometric center point as the origin. Based on the coordinates of the center point of the facet and the normal vector of the facet, determine the position deviation vector and normal vector deviation vector of each triangular facet in the local coordinate system; Based on the position deviation vector and the normal vector deviation vector, a covariance matrix is ​​constructed, and the eigenvalues ​​corresponding to the covariance matrix are determined. The radius of curvature corresponding to the contact region is determined based on the eigenvalues ​​corresponding to the covariance matrix.

[0011] Optionally, determining the contact stiffness corresponding to the contact area based on the radius of curvature corresponding to the contact area includes: Obtain the material parameters corresponding to the first rigid body and the second rigid body respectively; The contact stiffness corresponding to the contact area is determined based on the material parameters and the radius of curvature corresponding to the contact area.

[0012] Secondly, embodiments of this application provide a multi-rigid-body contact stiffness detection device, comprising: A dividing unit is used to divide the surfaces corresponding to the first rigid body and the second rigid body into several triangular facets, so as to obtain the first triangular facet corresponding to the first rigid body and the second triangular facet corresponding to the second rigid body, wherein the surface of the first rigid body is in contact with the surface of the second rigid body. The first determining unit is configured to determine intersecting triangle facet combinations and intersection points corresponding to the triangle facet combinations based on each of the first triangle facets and each of the second triangle facets; each triangle facet combination includes one first triangle facet and one second triangle facet. The second determining unit is used to determine the contact area between the first rigid body and the second rigid body based on each of the triangular facet combinations and each of the intersection points; The third determining unit is used to determine the radius of curvature of each contact area based on the triangular facet corresponding to the contact area, and to determine the contact stiffness of the contact area based on the radius of curvature of the contact area.

[0013] Thirdly, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the multi-rigid-body contact stiffness detection method as described in any of the first aspects above.

[0014] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the multi-rigid-body contact stiffness detection method as described in any of the first aspects above.

[0015] Fifthly, embodiments of this application provide a computer program product that, when run on a control device, causes the control device to perform the steps of the multi-rigid-body contact stiffness detection method as described in any of the first aspects above.

[0016] The multi-rigid-body contact stiffness detection method, apparatus, electronic device, and program product provided in this application have the following beneficial effects: In the multi-rigid-body contact stiffness detection method provided in this application embodiment, the surfaces corresponding to the first rigid body and the second rigid body are first divided into several triangular facets, resulting in first triangular facets corresponding to the first rigid body and second triangular facets corresponding to the second rigid body. The surfaces of the first and second rigid bodies are in contact. Then, based on each first and second triangular facet, intersecting triangular facet combinations and their corresponding intersection points are determined. Each triangular facet combination includes one first triangular facet and one second triangular facet. Then, based on each triangular facet combination and its intersection points, the contact area between the first and second rigid bodies is determined. Finally, for each contact area, based on the triangular facet corresponding to that contact area, the radius of curvature is determined, and based on the radius of curvature, the contact stiffness is determined. This method allows electronic devices to automatically determine suitable contact stiffness, improving the efficiency of selecting contact stiffness and thus improving the efficiency of obtaining simulation results of multi-rigid-body collision processes. Attached Figure Description

[0017] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0018] Figure 1 A flowchart illustrating the implementation of the multi-rigid-body contact stiffness detection method provided in this application embodiment; Figure 2 This is a schematic diagram of the structure of a multi-rigid-body contact stiffness detection device provided in an embodiment of this application; Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0019] It should be noted that the terminology used in the embodiments of this application is only for explaining specific embodiments of this application and is not intended to limit this application. In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more, "at least one" or "one or more" means one, two or more. The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature.

[0020] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0021] The execution subject of the multi-rigid-body contact stiffness detection method provided in this application embodiment can be an electronic device. For example, the electronic device may include, but is not limited to, desktop computers, laptops, mobile phones, and tablet computers.

[0022] The multi-rigid-body contact stiffness detection method provided in this application can be applied to any scenario where it is necessary to determine the contact stiffness corresponding to the contact area between multiple rigid bodies. For example, when a user needs to obtain simulation results of a multi-rigid-body collision process using a continuous force model, they can execute the various steps of the multi-rigid-body contact stiffness detection method provided in this application through an electronic device. This allows for the rapid determination of the contact stiffness corresponding to the contact area between the multiple rigid bodies, and subsequently, the simulation results of the multi-rigid-body collision process can be obtained using a continuous force model based on the contact stiffness corresponding to the contact area between the multiple rigid bodies.

[0023] Please see Figure 1 , Figure 1The flowchart below shows the implementation of the multi-rigid-body contact stiffness detection method provided in this application embodiment. The multi-rigid-body contact stiffness detection method provided in this application embodiment may include S101~S104, which are described in detail below: In S101, the surfaces corresponding to the first rigid body and the second rigid body are divided into several triangular facets to obtain the first triangular facet corresponding to the first rigid body and the second triangular facet corresponding to the second rigid body. The surface of the first rigid body is in contact with the surface of the second rigid body.

[0024] In practical applications, the surface morphology of the first and second rigid bodies may be complex and irregular (such as the irregular contours of mechanical parts, the deformable surfaces of flexible structures, etc.), and directly performing contact detection on continuous curved surfaces presents problems of high computational complexity and difficulty in boundary description. Therefore, the surfaces of the first and second rigid bodies can be divided into several triangular facets to simplify the calculation process.

[0025] In this embodiment of the application, after the surface of the first rigid body comes into contact with the surface of the second rigid body, the electronic device can divide the surface corresponding to the first rigid body into several triangular facets to obtain the first triangular facet corresponding to the first rigid body, and can divide the surface corresponding to the second rigid body into several triangular facets to obtain the second triangular facet corresponding to the second rigid body.

[0026] For example, an electronic device can input the surfaces of a first rigid body and a second rigid body into a pre-trained triangular facet partitioning model, instructing the model to output a first triangular facet corresponding to the first rigid body and a second triangular facet corresponding to the second rigid body. The triangular facet partitioning model can be trained using geometric modeling tools or triangulation algorithms.

[0027] In S102, based on each first triangular facet and each second triangular facet, intersecting triangular facet combinations and corresponding intersection points are determined; each triangular facet combination includes one first triangular facet and one second triangular facet.

[0028] In this embodiment of the application, after obtaining each first triangular facet and each second triangular facet, the electronic device can determine the intersecting triangular facet combinations and the intersection points corresponding to the triangular facet combinations based on each first triangular facet and each second triangular facet in the following manner: For each first triangular facet, candidate triangular facets are determined from each second triangular facet, and several target triangular facets that intersect with the first triangular facet are determined from the candidate triangular facets. The first triangular facet and each target triangular facet are respectively formed into a triangular facet combination, and the intersection point of the first triangular facet and each target triangular facet is respectively determined as the intersection point of the corresponding triangular facet combination.

[0029] In this process, a coarse detection method can be used to determine candidate triangular facets from each second triangular facet, and then a fine detection method can be used to determine several target triangular facets that intersect with the first triangular facet from the candidate triangular facets.

[0030] In one possible implementation, the electronic device can determine candidate triangular facets from the various second triangular facets through steps a to b, as detailed below: In step a, a hierarchical bounding box tree of the second rigid body is constructed. The hierarchical bounding box tree includes several leaf bounding boxes, several intermediate bounding boxes, and a root bounding box. Each leaf bounding box wraps a second triangular facet, the intermediate bounding boxes wrap several leaf bounding boxes, and the root bounding box wraps the second rigid body.

[0031] In this implementation, the minimum bounding rectangle corresponding to each second triangular facet can be defined as a leaf bounding box, and based on this, each leaf bounding box exactly encloses one second triangular facet; and the minimum bounding rectangle corresponding to several leaf bounding boxes can be defined as an intermediate bounding box, and based on this, each intermediate bounding box exactly encloses several leaf bounding boxes; and the minimum bounding rectangle corresponding to the second rigid body can be defined as a root bounding box, and based on this, the root bounding box exactly encloses the second rigid body.

[0032] In step b, candidate triangular faces are determined based on the intersection determination results between the first triangular facet and the root bounding box, each intermediate bounding box, and each leaf bounding box.

[0033] In this implementation, after constructing the hierarchical bounding box tree of the second rigid body, the intersection determination results between the first triangular facet and the root bounding box, each intermediate bounding box and each leaf bounding box can be determined, and candidate triangular faces can be determined based on the intersection determination results between the first triangular facet and the root bounding box, each intermediate bounding box and each leaf bounding box.

[0034] Specifically, if the first triangular facet does not intersect with the root bounding box, then it is determined that there are no candidate triangular facests; if the first triangular facet intersects with the root bounding box and also intersects with the target intermediate bounding box in each intermediate bounding box, then the second triangular facets wrapped by each leaf bounding box included in the target intermediate bounding box are determined as candidate triangular facets.

[0035] For example, the hierarchical bounding box tree of the second rigid body may include 9 leaf bounding boxes (this is just an example; in actual applications, the number of leaf bounding boxes is usually much greater than 9): leaf bounding box 1, leaf bounding box 2, leaf bounding box 3, leaf bounding box 4, leaf bounding box 5, leaf bounding box 6, leaf bounding box 7, leaf bounding box 8, and leaf bounding box 9. It also includes 3 intermediate bounding boxes: intermediate bounding box 1, intermediate bounding box 2, and intermediate bounding box 3. Intermediate bounding box 1 encloses leaf bounding boxes 1, 2, and 3; intermediate bounding box 2 encloses leaf bounding boxes 4, 5, and 6; and intermediate bounding box 3 encloses leaf bounding boxes 7, 8, and 9. The root bounding box encloses each intermediate bounding box.

[0036] For the above example, if the first triangular facet does not intersect with the root bounding box, it is determined that there is no candidate triangular facet. If the first triangular facet intersects with the root bounding box and with the target intermediate bounding box in each intermediate bounding box, such as intersecting with intermediate bounding box 1, the electronic device can determine the second triangular facets wrapped by leaf bounding boxes 1, 2, and 3 included in intermediate bounding box 1 as candidate triangular facets. Or, for example, if it intersects with intermediate bounding boxes 2 and 3, the electronic device can determine the second triangular facets wrapped by leaf bounding boxes 4, 5, and 6 included in intermediate bounding box 2 as candidate triangular facets, and the second triangular facets wrapped by leaf bounding boxes 7, 8, and 9 included in intermediate bounding box 3 as candidate triangular facets.

[0037] The advantage of using coarse detection to identify candidate triangular faces from each second triangular facet is that it can quickly eliminate second triangular faces that cannot intersect with the first triangular facet, significantly reducing the computational load of subsequent fine detection and further improving efficiency.

[0038] After determining the candidate triangular facets, the electronic device can identify several target triangular facets that intersect with the first triangular facet from the candidate triangular facets in the following way: For each candidate triangular facet, the vertex coordinates of the candidate triangular facet are determined as candidate points, and the unit normal vector on the first triangular facet is determined. For each candidate point, the normal distance of the candidate point on the unit normal vector is determined, and the normal projection point of the candidate point on the first triangular facet is determined. If the normal distance is less than or equal to a preset distance threshold, and the normal projection point is on the first triangular facet corresponding to the candidate triangular facet, then the candidate triangular facet is determined as the target triangular facet.

[0039] The unit normal vector on the first triangular facet can be determined in the following way: First, calculate two edge vectors based on the coordinates of the three vertices of the first triangular facet. Then, calculate the original normal vector of the first triangular facet using the cross product of the two edge vectors. Finally, normalize the original normal vector of the first triangular facet to obtain the unit normal vector of the first triangular facet.

[0040] The normal distance of the candidate point on the unit normal vector can be determined in the following way: Take any vertex on the first triangular facet, construct a first vector based on the arbitrary vertex and the candidate point, and determine the projection length of the first vector onto the unit normal vector on the first triangular facet as the normal distance of the candidate point on the unit normal vector.

[0041] The normal projection point of the candidate point onto the first triangular facet corresponding to the candidate triangular facet can be determined in the following way: The normal projection point of the candidate point on the first triangular facet corresponding to the candidate triangular facet can be determined based on the vertex coordinates of the candidate point and the distance the candidate point moves in the opposite direction of the normal vector.

[0042] In practical applications, the preset distance threshold can be set according to actual needs. For example, the preset distance threshold can be a very small positive number, such as 10 to the power of -6.

[0043] If the normal distance is less than or equal to a preset distance threshold, and the normal projection point is on the first triangular facet, then the candidate triangular facet is determined to be the target triangular facet because: If the normal distance is greater than the preset distance threshold, the candidate point can be considered to be outside the first triangular facet. If the normal distance is less than or equal to the preset distance threshold and the normal projection point is on the first triangular facet, the candidate point can be determined to be inside the first triangular facet. Therefore, if the candidate triangular facet corresponding to the candidate point intersects with the first triangular facet, the candidate triangular facet can be determined to be the target triangular facet.

[0044] After the target triangular facet corresponding to the first triangular facet, the first triangular facet and each target triangular facet can be used to form a triangular facet combination, and the intersection point of the first triangular facet and each target triangular facet can be determined as the intersection point of the corresponding triangular facet combination.

[0045] Furthermore, the method described above can be applied to other first triangular facets to obtain the target triangular facets corresponding to each first triangular facet, and to obtain combinations of triangular facets.

[0046] For example, the first rigid body includes a first triangular facet 1, a first triangular facet 2, and a first triangular facet 3 (this is just an example; in actual applications, a rigid body includes far more than 3 triangular facets), and the second rigid body includes a second triangular facet 1, a second triangular facet 2, and a second triangular facet 3 (this is just an example; in actual applications, a rigid body includes far more than 3 triangular facets). The target triangular facets corresponding to the first triangular facet 1 are the second triangular facet 2 and the second triangular facet 3, the target triangular facets corresponding to the first triangular facet 2 are the second triangular facet 1, and the target triangular facets corresponding to the first triangular facet 3 are the second triangular facet 1 and the second triangular facet 3. The following combinations of triangular facets can be obtained: Triangular facet combination 1 (including first triangular facet 1 and second triangular facet 2), Triangular facet combination 2 (including first triangular facet 1 and second triangular facet 3), Triangular facet combination 3 (including first triangular facet 2 and second triangular facet 1), Triangular facet combination 4 (including first triangular facet 3 and second triangular facet 1), and Triangular facet combination 5 (including first triangular facet 3 and second triangular facet 3).

[0047] In S103, the contact area between the first rigid body and the second rigid body is determined based on the combination of each triangular facet and each intersection point.

[0048] In the embodiments of this application, after determining each triangular facet combination and each intersection point, the contact area of ​​the first rigid body and the second rigid body can be determined based on each triangular facet combination and each intersection point.

[0049] It should be noted that if both the first rigid body and the second rigid body are convex, then there is one contact area between the first rigid body and the second rigid body; if at least one of the first rigid body and the second rigid body is concave, then there are multiple contact areas between the first rigid body and the second rigid body.

[0050] In practical applications, the specific method for determining the contact area between the first rigid body and the second rigid body based on the combination of each triangular facet and each intersection point can be set according to actual needs, and is not limited here.

[0051] In S104, for each contact area, the radius of curvature of the contact area is determined according to the triangular facet corresponding to the contact area, and the contact stiffness of the contact area is determined according to the radius of curvature of the contact area.

[0052] In this embodiment of the application, after determining the contact area between the first rigid body and the second rigid body, the electronic device can determine the radius of curvature of each contact area based on the triangular facet corresponding to that contact area in the following manner: First, the electronic device can determine the coordinates of the center point and the normal vector of each triangular facet corresponding to the contact area. The coordinates of the center point of each triangular facet can be determined by averaging the coordinates of its three vertices. The normal vector of each triangular facet can be a unit vector perpendicular to the facet, specifically calculated by the cross product of any two sides of the facet.

[0053] Second, the electronic device can determine the geometric center point of the contact area based on the coordinates of the center point of each triangular facet, and establish a local coordinate system with the geometric center point as the origin. Specifically, the electronic device can determine the coordinates of the geometric center point of the contact area by averaging the coordinates of the center points of each triangular facet. When establishing the local coordinate system, the average normal vector of the geometric center point of the contact area is usually used as the Z-axis, and the local coordinate system is established perpendicular to the contact plane.

[0054] Third, the electronic device can determine the position deviation vector and normal vector deviation vector of each triangular facet in the local coordinate system based on the coordinates of the facet center point and the facet normal vector. The position deviation vector is the deviation between the coordinates of the center point of each facet and the coordinates of the origin of the local coordinate system, and the normal vector deviation vector is the deviation between the facet normal vector of each facet and the average normal vector of the local coordinate system.

[0055] Fourth, electronic devices can construct a covariance matrix based on the position deviation vector and the normal deviation vector, and determine the corresponding eigenvalues ​​of the covariance matrix. The eigenvalues ​​of the covariance matrix directly reflect the "difference in curvature" of a local region in different directions. For example, the curvature of a sphere is the same in two orthogonal directions, so the two eigenvalues ​​of the covariance matrix are equal; the axial curvature of a cylinder is 0, so the corresponding eigenvalue is 0. Specifically, electronic devices can perform eigenvalue decomposition on the covariance matrix to obtain two principal eigenvalues ​​(corresponding to the two principal curvature directions of the local surface, i.e., the directions with the most pronounced and gentlest curvature).

[0056] Fifth, the electronic device can determine the radius of curvature of the contact area based on the eigenvalues ​​corresponding to the covariance matrix. Specifically, the electronic device can determine the principal curvature by the square root of the eigenvalues ​​corresponding to the covariance matrix, and determine the radius of curvature of the contact area by the reciprocal of the principal curvature.

[0057] Once the radius of curvature of the contact area is determined, the electronic device can determine the contact stiffness of the contact area based on the radius of curvature in the following way: First, the electronic device can obtain the material parameters corresponding to the first rigid body and the second rigid body respectively.

[0058] Then, the electronic device can determine the contact stiffness of the contact area based on the material parameters and the radius of curvature of the contact area. Specifically, the electronic device can determine the contact stiffness of the contact area using classical Hertzian theory, based on the material parameters of the first and second rigid bodies and the radius of curvature of the contact area.

[0059] It should be noted that the electronic device can determine the contact stiffness corresponding to each contact area of ​​the first rigid body and the second rigid body in the following way, and can quickly obtain the simulation results of the collision process of the first rigid body and the second rigid body by using a continuous force model based on the contact stiffness corresponding to each contact area of ​​the first rigid body and the second rigid body.

[0060] As can be seen from the above, in the multi-rigid-body contact stiffness detection method provided in this application embodiment, the surfaces corresponding to the first rigid body and the second rigid body are first divided into several triangular facets, resulting in the first triangular facet corresponding to the first rigid body and the second triangular facet corresponding to the second rigid body. The surface of the first rigid body is in contact with the surface of the second rigid body. Then, based on each first triangular facet and each second triangular facet, the intersecting triangular facet combinations and the intersection points corresponding to the triangular facet combinations are determined. Each triangular facet combination includes one first triangular facet and one second triangular facet. Then, based on each triangular facet combination and each intersection point, the contact area of ​​the first rigid body and the second rigid body is determined. Finally, for each contact area, based on the triangular facet corresponding to the contact area, the radius of curvature of the contact area is determined, and based on the radius of curvature of the contact area, the contact stiffness of the contact area is determined. Through this method, the electronic device can automatically determine a suitable contact stiffness, improving the efficiency of selecting contact stiffness, and thus improving the efficiency of obtaining simulation results of multi-rigid-body collision processes.

[0061] Based on the multi-rigid-body contact stiffness detection method provided in the above embodiments, this application further provides a multi-rigid-body contact stiffness detection device for implementing the above method embodiments. Please refer to... Figure 2 , Figure 2 This is a schematic diagram of a multi-rigid-body contact stiffness detection device provided in an embodiment of this application. Figure 2 As shown, the multi-rigid-body contact stiffness detection device 20 may include: a division unit 21, a first determination unit 22, a second determination unit 23, and a third determination unit 24. Wherein: The dividing unit 21 is used to divide the surfaces corresponding to the first rigid body and the second rigid body into several triangular facets, so as to obtain the first triangular facet corresponding to the first rigid body and the second triangular facet corresponding to the second rigid body, and the surface of the first rigid body is in contact with the surface of the second rigid body.

[0062] The first determining unit 22 is used to determine the intersecting triangle facet combinations and the intersection points corresponding to the triangle facet combinations based on each first triangle facet and each second triangle facet; each triangle facet combination includes a first triangle facet and a second triangle facet.

[0063] The second determining unit 23 is used to determine the contact area between the first rigid body and the second rigid body based on the combination of each triangular facet and each intersection point.

[0064] The third determining unit 24 is used to determine the radius of curvature of each contact area based on the triangular facet corresponding to the contact area, and to determine the contact stiffness of the contact area based on the radius of curvature of the contact area.

[0065] Optionally, the first determining unit 22 is specifically used for: For each first triangular facet, candidate triangular facets are determined from each second triangular facet, and several target triangular facets that intersect with the first triangular facet are determined from the candidate triangular facets. The first triangular facet and each target triangular facet are respectively formed into a triangular facet combination, and the intersection point of the first triangular facet and each target triangular facet is respectively determined as the intersection point of the corresponding triangular facet combination.

[0066] Optionally, the first determining unit 22 is specifically used for: Construct a hierarchical bounding box tree for the second rigid body. The hierarchical bounding box tree includes several leaf bounding boxes, several intermediate bounding boxes, and a root bounding box. Each leaf bounding box wraps a second triangular facet, the intermediate bounding boxes wrap several leaf bounding boxes, and the root bounding box wraps the second rigid body. Candidate triangular faces are determined based on the intersection results between the first triangular facet and the root bounding box, each intermediate bounding box, and each leaf bounding box.

[0067] Optionally, the first determining unit 22 is specifically used for: If the first triangular facet does not intersect with the root bounding box, then it is determined that there are no candidate triangular facests. If the first triangular facet intersects with the root bounding box and with the target intermediate bounding box in each intermediate bounding box, then the second triangular facet enclosed by each leaf bounding box included in the target intermediate bounding box is determined as a candidate triangular facet.

[0068] Optionally, the first determining unit 22 is specifically used for: For each candidate triangular facet, the vertex coordinates of the candidate triangular facet are determined as candidate points, and the unit normal vector on the first triangular facet is determined. For each candidate point, the normal distance of the candidate point on the unit normal vector is determined, and the normal projection point of the candidate point on the first triangular facet is determined. If the normal distance is less than or equal to a preset distance threshold, and the normal projection point is on the first triangular facet corresponding to the candidate triangular facet, then the candidate triangular facet is determined as the target triangular facet.

[0069] Optionally, the third determining unit 24 is specifically used for: Determine the coordinates of the center point and the normal vector of each triangular facet corresponding to the contact area; Based on the coordinates of the center point of each triangular facet, determine the geometric center point of the contact area, and establish a local coordinate system with the geometric center point as the origin; Based on the coordinates of the center point of the facet and the facet normal vector, determine the position deviation vector and normal vector deviation vector of each triangular facet in the local coordinate system; Based on the position deviation vector and the normal deviation vector, construct the covariance matrix and determine the corresponding eigenvalues ​​of the covariance matrix; The radius of curvature of the contact area is determined based on the eigenvalues ​​corresponding to the covariance matrix.

[0070] Optionally, the third determining unit 24 is specifically used for: Obtain the material parameters corresponding to the first rigid body and the second rigid body respectively; The contact stiffness of the contact area is determined based on the material parameters and the radius of curvature of the contact area.

[0071] It should be noted that the information interaction and execution process between the above-mentioned units are based on the same concept as the method embodiments of this application. Their specific functions and technical effects can be referred to the method embodiments section, and will not be repeated here.

[0072] Please see Figure 3 , Figure 3 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 3 As shown, the electronic device 3 provided in this embodiment may include: a processor 30, a memory 31, and a computer program 32 stored in the memory 31 and executable on the processor 30, such as a program corresponding to a multi-rigid-body contact stiffness detection method. When the processor 30 executes the computer program 32, it implements the steps described above in the embodiment of the multi-rigid-body contact stiffness detection method, for example... Figure 1 S101~S104 are shown. Alternatively, when processor 30 executes computer program 32, it implements the functions of each module / unit in the above-described embodiment of the multi-rigid-body contact stiffness detection device, for example... Figure 2 The functions of units 21-24 shown.

[0073] For example, computer program 32 can be divided into one or more modules / units, one or more of which are stored in memory 31 and executed by processor 30 to complete this application. One or more modules / units can be a series of computer program instruction segments capable of performing specific functions, which describe the execution process of computer program 32 in electronic device 3. For example, computer program 32 can be divided into partitioning unit 21, first determining unit 22, second determining unit 23, and third determining unit 24. For the specific functions of each unit, please refer to... Figure 2 The relevant descriptions in the corresponding embodiments are not repeated here.

[0074] Those skilled in the art will understand that Figure 3 This is merely an example of electronic device 3 and does not constitute a limitation on electronic device 3. It may include more or fewer components than shown, or combine certain components, or use different components.

[0075] The processor 30 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0076] The memory 31 can be an internal storage unit of the electronic device 3, such as a hard disk or RAM. The memory 31 can also be an external storage device of the electronic device 3, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, or flash card. Furthermore, the memory 31 can include both internal and external storage units of the electronic device 3. The memory 31 is used to store computer programs and other programs and data required by the electronic device. The memory 31 can also be used to temporarily store data that has been output or will be output.

[0077] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units is merely an example. In practical applications, the functions described above can be assigned to different functional units as needed, that is, the internal structure of the multi-rigid-body contact stiffness detection device can be divided into different functional units to complete all or part of the functions described above. The functional units in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0078] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can implement the steps in the various method embodiments described above.

[0079] This application provides a computer program product that, when run on a terminal device, enables the terminal device to implement the steps described in the various method embodiments above.

[0080] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, refer to the relevant descriptions of other embodiments.

[0081] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0082] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A multi-rigid-body contact stiffness detection method, characterized by, The method comprises the following steps: dividing the surfaces of the first rigid body and the second rigid body into a plurality of triangular facets respectively, to obtain first triangular facets corresponding to the first rigid body and second triangular facets corresponding to the second rigid body, the surface of the first rigid body being in contact with the surface of the second rigid body; determining intersecting triangular facet combinations and intersection points corresponding to the triangular facet combinations according to each first triangular facet and each second triangular facet, each triangular facet combination comprising one first triangular facet and one second triangular facet; determining the contact area of the first rigid body and the second rigid body according to each triangular facet combination and each intersection point; for each contact area, determining the radius of curvature corresponding to the contact area according to the triangular facets corresponding to the contact area, and determining the contact stiffness corresponding to the contact area according to the radius of curvature corresponding to the contact area.

2. The method of claim 1, wherein, The method comprises the following steps: for each first triangular facet, determining candidate triangular facets from each second triangular facet, and determining a plurality of target triangular facets intersecting with the first triangular facet from the candidate triangular facets, and forming a triangular facet combination by the first triangular facet and each target triangular facet, and determining the intersection point of the first triangular facet and each target triangular facet as the intersection point of the corresponding triangular facet combination.

3. The method of claim 2, wherein, The method comprises the following steps: constructing a hierarchical bounding box tree of the second rigid body, the hierarchical bounding box tree comprising a plurality of leaf bounding boxes, a plurality of intermediate bounding boxes, and a root bounding box, each leaf bounding box wrapping one second triangular facet, each intermediate bounding box wrapping a plurality of leaf bounding boxes, and the root bounding box wrapping the second rigid body; determining the candidate triangular facets according to the intersection determination results between the first triangular facet and the root bounding box, each intermediate bounding box, and each leaf bounding box.

4. The method of claim 3, wherein, The method comprises the following steps: if the first triangular facet does not intersect with the root bounding box, it is determined that there is no candidate triangular facet; if the first triangular facet intersects with the root bounding box and intersects with a target intermediate bounding box among the intermediate bounding boxes, the second triangular facets wrapped by each leaf bounding box included in the target intermediate bounding box are determined as the candidate triangular facets.

5. The method of claim 2, wherein, The method comprises the following steps: For each of the candidate triangular facets, the vertex coordinates of the candidate triangular facet are determined as candidate points, and a unit normal vector on the first triangular facet is determined, for each of the candidate points, a normal distance of the candidate point on the unit normal vector is determined, and a normal projection point of the candidate point on the first triangular facet is determined, if the normal distance is less than or equal to a preset distance threshold, and the normal projection point is on the first triangular facet corresponding to the candidate triangular facet, the candidate triangular facet is determined as the target triangular facet.

6. The method of claim 1, wherein, The curvature radius corresponding to the contact area is determined according to the triangular facet corresponding to the contact area, including: determining the facet center point coordinates and the facet normal vector corresponding to each of the triangular facets corresponding to the contact area; determining the geometric center point of the contact area according to the facet center point coordinates corresponding to each of the triangular facets, and establishing a local coordinate system with the geometric center point as the origin; determining the position deviation vector and the normal vector deviation vector of each of the triangular facets in the local coordinate system according to the facet center point coordinates and the facet normal vector; constructing a covariance matrix according to the position deviation vector and the normal vector deviation vector, and determining the eigenvalue corresponding to the covariance matrix; determining the curvature radius corresponding to the contact area according to the eigenvalue corresponding to the covariance matrix.

7. The method according to any one of claims 1 to 6, characterized in that, The contact stiffness corresponding to the contact area is determined according to the curvature radius corresponding to the contact area, including: obtaining the material parameters corresponding to the first rigid body and the second rigid body respectively; determining the contact stiffness corresponding to the contact area according to the material parameters and the curvature radius corresponding to the contact area.

8. A multi-rigid-body contact stiffness detection device, characterized by, including: a division unit, configured to divide the surface of the first rigid body and the surface of the second rigid body into a plurality of triangular facets respectively, to obtain the first triangular facets corresponding to the first rigid body and the second triangular facets corresponding to the second rigid body, and the surface of the first rigid body is in contact with the surface of the second rigid body; a first determination unit, configured to determine the intersecting triangular facet combinations and the intersection points corresponding to the triangular facet combinations according to each of the first triangular facets and each of the second triangular facets; each of the triangular facet combinations includes one of the first triangular facets and one of the second triangular facets; a second determination unit, configured to determine the contact area of the first rigid body and the second rigid body according to each of the triangular facet combinations and each of the intersection points; a third determination unit, configured to determine the curvature radius corresponding to the contact area according to the triangular facet corresponding to the contact area for each of the contact areas, and determine the contact stiffness corresponding to the contact area according to the curvature radius corresponding to the contact area.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, The processor executes the computer program to realize each step in the multi-rigid body contact stiffness detection method of any one of claims 1 to 7.

10. A computer program product, characterised in that, The computer program product is executed by the processor to realize each step in the multi-rigid body contact stiffness detection method of any one of claims 1 to 7.