Modeling method and device of contact model between surfaces based on Modelica

Through the Modelica-based modeling method of inter-surface contact model, the problem of lack of effective simulation calculation during complex surface contact is solved, and effective simulation of inter-surface contact force and robot dynamic analysis are improved.

CN114117814BActive Publication Date: 2025-04-25SUZHOU TONGYUAN SOFT CONTROL INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111462524.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-02
Publication Date
2025-04-25
Estimated Expiration
2041-12-02

AI Technical Summary

Technical Problem

The prior art lacks a simple simulation calculation method for calculating the rigid body contact force between curved surfaces when dealing with complex curved surface contact, resulting in limitations in the dynamic analysis and control design of robots in complex contact environments.

Method used

The modeling method of the inter-surface contact model based on Modelica is adopted. By presetting the point-surface contact model, point-line contact model and point-point contact model, contact surface point vector data is processed, contact area is determined, and contact points, contact surface and contact line segment are generated, contact force is calculated, and the surface contact model is established.

Benefits of technology

It realizes effective simulation calculation of contact forces between complex surfaces, improves the robot's dynamic analysis and control design capabilities in complex environments, and saves R&D costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114117814B_ABST
    Figure CN114117814B_ABST
Patent Text Reader

Abstract

The present application discloses a modeling method and model of a contact model between surfaces based on Modelica. The method includes obtaining contact surface point vector data after processing based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, wherein the contact model includes at least two rigid bodies, and the two rigid bodies are in a contact and contacted relationship; determining the contact area therein according to the contact surface point vector data; generating the corresponding contact points, contact surfaces and contact line segments in the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model according to the obtained contact area; calculating the contact force according to the contact points, the contact surfaces and the contact line segments, and obtaining a preset contact model between surfaces through modeling, wherein the preset contact model between surfaces is a surface-to-surface contact model. The present application solves the technical problem that the Modelica model library is insufficient in the contact field.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of rigid body contact model modeling, and in particular to a modeling method and device for a contact model between surfaces based on Modelica. Background Art

[0002] In the robot system, there are characteristics of coupling among multiple fields such as electricity, hydraulics, mechanics, and control.

[0003] When building a robot system, it is necessary to establish a dynamic model of the machine's contact with the external environment.

[0004] When dealing with such problems, simulation methods in related technologies are usually extended based on the sphere-surface contact model, which can realize contact simulation between simple planes. However, when facing complex surface contact, there is no simulation calculation method that can easily calculate the rigid body contact force between surfaces, which brings certain limitations to the dynamic analysis and control design of robots facing complex contact environments.

[0005] With regard to the problem that the Modelica model library in the related technology is insufficient in the contact field, no effective solution has been proposed yet. Summary of the invention

[0006] The main purpose of the present application is to provide a modeling method and device for a contact model between surfaces based on Modelica, so as to solve the problem that the Modelica model library is insufficient in modeling and simulation in the contact field.

[0007] In order to achieve the above objective, according to one aspect of the present application, a modeling method for a contact model between surfaces based on Modelica is provided.

[0008] The modeling method of the surface contact model based on Modelica according to the present application includes: based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, contact surface point vector data is obtained after processing, wherein the contact model includes at least two rigid bodies, and the two rigid bodies are in a contact and contacted relationship; the contact area therein is determined according to the contact surface point vector data; according to the obtained contact area, the corresponding contact points, contact surfaces and contact line segments in the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model are generated; the contact force is calculated according to the contact points, the contact surfaces and the contact line segments, and a preset surface contact model is obtained through modeling, wherein the preset surface contact model is a surface-to-surface contact model.

[0009] Furthermore, the preset point-to-surface contact model, the preset point-line contact model and the preset point-to-point contact model are used to obtain contact surface point vector data after processing, including: determining a set of point vectors corresponding to the contact surface and the contacted surface; dividing the contacted surface into triangular meshes, and each of the triangular meshes is represented by three points in the point set in the contacted surface, wherein the edge line of each triangular face is represented by two of the three points, and each triangular face includes three contact elements of face, edge line and point; obtaining the corresponding point with the minimum distance between each contact point on the corresponding contact surface and the point set on the contacted surface, and extracting all triangular face data, edge line data and point data including the corresponding points.

[0010] Furthermore, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained through modeling, including: obtaining the relative position vector and relative velocity vector of the contact point in the contact surface and the contacted element in the contact area of ​​the contacted surface; calculating the contact force generated when the contact point in the contact surface contacts the contacted element according to the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model, wherein the contact force includes at least: contact normal force and contact friction force, and the contact normal force includes contact elastic force related to contact stiffness and contact damping force related to contact damping.

[0011] Furthermore, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained through modeling, which also includes: calculating the contact friction force generated during contact based on the contact normal force and the relative velocity vector; and synthesizing the contact forces generated by all the contact points in the contact surface and the corresponding contacted elements onto the origin of the center of mass coordinate system corresponding to the contact surface and the contacted surface.

[0012] Furthermore, determining the contact area based on the contact surface point vector data includes: determining within which triangle normal areas of the contacted surface the contact points in the contact surface are located, and determining based on preset projection rules whether the projection points of multiple contact points in the contact surface on the edge line are on the edge line or on an extension line of the edge line.

[0013] Furthermore, the preset point-to-surface contact model, the preset point-line contact model and the corresponding contact points, contact surfaces and contact line segments in the preset point-to-point contact model are generated based on the obtained contact area, including: taking the contact points in the contact surface and the triangular surface where the contact surface projection is located as the contact points and contact surfaces in the point-to-surface contact model respectively; taking the contact points in the contact surface and the edge lines where the contact surface projection is located as the contact points and contact line segments in the point-to-line contact model respectively; taking the contact points in the contact surface and the points corresponding to the triangular surface where the contact surface projection is located as the contact points in the point-to-point contact model respectively.

[0014] Furthermore, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained by modeling, which also includes: the torque at the origin of the centroid coordinate system of the contact surface is calculated by the cross product of the position vector of each point on the contact surface relative to the centroid and the contact force received by each point; and / or, the torque at the origin of the centroid coordinate system of the contacted surface is calculated by the cross product of the position vector of each point on the contact surface to the centroid coordinate system of the contacted surface and the reaction force of the contact force received by each point on the contact surface; the contact normal force and contact friction force in the contact model are calculated using a penalty function algorithm and a Coulomb friction force algorithm, respectively, wherein the contact friction force calculation method is used to switch the friction coefficient between dynamic friction and static friction according to the different relative sliding speeds of the two contact surfaces.

[0015] In order to achieve the above objective, according to another aspect of the present application, a modeling model of a contact model between surfaces based on Modelica is provided.

[0016] The modeling model of the surface-to-surface contact model based on Modelica according to the present application includes: a vector data processing module, which is used to obtain contact surface point vector data after processing based on a preset point-to-surface contact model, a preset point-line contact model and a preset point-to-point contact model; an area determination module, which is used to determine the contact area therein according to the contact surface point vector data; a basic contact model reference module, which is used to generate the corresponding contact points, contact surfaces and contact line segments in the preset point-to-surface contact model, the preset point-line contact model and the preset point-to-point contact model according to the obtained contact area; a contact force synthesis module, which is used to calculate the contact force according to the contact point, the contact surface and the contact line segment, and obtain the preset surface-to-surface contact model through modeling.

[0017] In order to achieve the above objective, according to another aspect of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the method when running.

[0018] In order to achieve the above objective, according to another aspect of the present application, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the described method.

[0019] In the embodiment of the present application, the modeling method and device of the contact model between surfaces based on Modelica adopt a method based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, and obtain contact surface point vector data after processing and determine the contact area therein according to the contact surface point vector data. By generating the corresponding contact points, contact surfaces and contact line segments in the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model according to the obtained contact area, the contact force is calculated according to the contact points, the contact surfaces and the contact line segments, and the purpose of obtaining the preset contact model between surfaces through modeling is achieved, thereby achieving the technical effect of saving a lot of R&D costs for the gait planning and design of the robot's multi-domain system and the system control design work, and thus solving the technical problem of the insufficiency of the Modelica model library in the contact field. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The drawings constituting a part of this application are used to provide a further understanding of this application, so that other features, purposes and advantages of this application become more obvious. The schematic embodiment drawings and their descriptions of this application are used to explain this application and do not constitute an improper limitation on this application. In the drawings:

[0021] Figure 1 is a schematic diagram of the hardware structure of a modeling method of a contact model between surfaces based on Modelica according to an embodiment of the present application;

[0022] Figure 2 is a flow chart of a method for modeling a contact model between surfaces based on Modelica according to an embodiment of the present application;

[0023] Figure 3 is a schematic diagram of a modeling model structure of a surface contact model based on Modelica according to an embodiment of the present application;

[0024] Figure 4 It is a schematic flow chart of a method for modeling a contact model between surfaces based on Modelica according to an embodiment of the present application;

[0025] Figure 5 It is a schematic diagram of an algorithm or functional relationship of a modeling method of a contact model between surfaces based on Modelica according to an embodiment of the present application. DETAILED DESCRIPTION

[0026] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described here. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0028] In the present application, the terms "upper", "lower", "left", "right", "front", "back", "top", "bottom", "inner", "outer", "middle", "vertical", "horizontal", "lateral", "longitudinal" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the drawings. These terms are mainly used to better describe the present application and its embodiments, and are not used to limit the indicated devices, elements or components to have a specific orientation, or to be constructed and operated in a specific orientation.

[0029] In addition, some of the above terms may be used to express other meanings in addition to indicating orientation or positional relationship. For example, the term "on" may also be used to express a certain dependency or connection relationship in some cases. For those of ordinary skill in the art, the specific meanings of these terms in this application can be understood according to specific circumstances.

[0030] In addition, the terms "installed", "set", "provided with", "connected", "connected", and "socketed" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral structure; it can be a mechanical connection, or an electrical connection; it can be a direct connection, or an indirect connection through an intermediate medium, or it can be an internal connection between two devices, elements, or components. For those of ordinary skill in the art, the specific meanings of the above terms in this application can be understood according to specific circumstances.

[0031] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0032] like Figure 2 As shown, the modeling method of the surface contact model based on Modelica includes the following steps S201 to S204:

[0033] Step S201, based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, contact surface point vector data is obtained after processing, wherein the contact model includes at least two rigid bodies, and the two rigid bodies are in a contacting and contacted relationship;

[0034] Step S202, determining a contact area therein according to the contact surface point vector data;

[0035] Step S203, generating the preset point-surface contact model, the preset point-line contact model, and the corresponding contact points, contact surfaces, and contact line segments in the preset point-point contact model according to the obtained contact area;

[0036] Step S204, calculating the contact force according to the contact point, the contact surface and the contact line segment, and obtaining a preset surface-to-surface contact model by modeling, wherein the preset surface-to-surface contact model is a surface-to-surface contact model.

[0037] From the above description, it can be seen that the present application achieves the following technical effects:

[0038] The modeling method of the surface contact model based on Modelica adopts a method based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, obtains contact surface point vector data after processing and determines the contact area therein according to the contact surface point vector data, and generates the corresponding contact points, contact surfaces and contact line segments in the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model according to the obtained contact area, thereby achieving the purpose of calculating the contact force according to the contact points, the contact surfaces and the contact line segments, and obtaining the preset surface contact model through modeling, thereby achieving the technical effect of saving a lot of R&D costs for the gait planning and design of the robot multi-domain system and the system control design work, and further solving the technical problem of the insufficiency of the Modelica model library in the contact field.

[0039] In the above step S201 , contact surface point vector data is obtained after processing based on the preset point-to-surface contact model, the preset point-to-line contact model and the preset point-to-point contact model.

[0040] In a specific implementation, the contact model includes at least two rigid bodies, and the two rigid bodies are in a contacting and contacted relationship.

[0041] In a preferred embodiment, the preset point-to-surface contact model, the preset point-line contact model and the preset point-to-point contact model are used to obtain contact surface point vector data after processing, including: determining a set of point vectors corresponding to the contact surface and the contacted surface; dividing the contacted surface into triangular meshes, and each of the triangular meshes is represented by three points in the point set in the contacted surface, wherein the edge lines of each triangular surface are represented by at least two of the three points, and each triangular surface includes three contact elements of a surface, an edge line and a point; obtaining corresponding points with the minimum distance between each contact point on the corresponding contact surface and the point set on the contacted surface, and extracting all triangular surface data, edge line data and point data including the corresponding points.

[0042] In the above step S202, the contact area is determined according to the contact surface point vector data.

[0043] like Figure 1 As shown, specifically, it is necessary to determine the point cloud data in rigid body 1 and the contacted surface area in rigid body 2: determine according to the centroid method which triangles in the contacted surface of rigid body 2 the contact points in the contact surface of rigid body 1 are in the normal area, and determine according to the projection rule whether the projection point of the contact point in the contact surface of rigid body 1 on the triangle edge line of rigid body 2 is on the triangle edge line of rigid body 2 or on the extension line of the triangle edge line of rigid body 2.

[0044] In a specific implementation, the centroid method is used to determine which triangle normal regions of the contacted surfaces contain the contact points in the contact surface, and the projection rule is used to determine whether the projection point of the contact point in the contact surface on the edge line is on the edge line or on the extension line of the edge line.

[0045] In the above step S203, the preset point-surface contact model, the preset point-line contact model, and the corresponding contact points, contact surfaces, and contact line segments in the preset point-point contact model are generated according to the obtained contact area.

[0046] In a specific embodiment, the preset point-to-surface contact model, the preset point-line contact model and the corresponding contact points, contact surfaces and contact line segments in the preset point-to-point contact model are generated based on the obtained contact area, including: using the contact points in the contact surface and the triangular surface where the contact surface projection is located as the contact points and contact surfaces in the point-to-surface contact model respectively; using the contact points in the contact surface and the edge lines where the contact surface projection is located as the contact points and contact line segments in the point-to-line contact model respectively; using the contact points in the contact surface and the points corresponding to the triangular surface where the contact surface projection is located as the contact points in the point-to-point contact model respectively.

[0047] In the above step S204, the contact force is calculated according to the contact point, the contact surface and the contact line segment, and a preset surface-to-surface contact model is obtained by modeling. It can be understood that the preset surface-to-surface contact model is a surface-to-surface contact model.

[0048] In specific implementation, contact force calculation and synthesis refers to obtaining the relative position vectors and relative velocity vectors of the contact points in the contact surface within the contact area of ​​the contacted surface and the contacted element; calculating the contact force generated when the contact points in the contact surface contact the contacted element according to the point-to-surface contact model, the point-line contact model, and the point-to-point contact model, the contact force including the contact normal force and the contact friction force, the contact normal force including the contact elastic force related to the contact stiffness and the contact damping force related to the contact damping; calculating the contact friction force generated during contact according to the generated contact normal force and the relative velocity vector; and synthesizing the contact forces generated by all the contact points in the contact surface and the corresponding contacted elements to the origin of the centroid coordinate system corresponding to the contact surface and the contacted surface.

[0049] In some embodiments, the moment acting on the origin of the centroid coordinate system of the contact surface is calculated by the cross product of the position vector of each point on the contact surface relative to the centroid and the contact force received by each point.

[0050] In some embodiments, the torque acting on the origin of the centroid coordinate system of the contacted surface is calculated by the cross product of the position vector of each point on the contact surface to the centroid coordinate system of the contacted surface and the reaction force of the contact force received by each point on the contact surface.

[0051] In some embodiments, the contact normal force and the contact friction force calculation methods in the contact model adopt a penalty function algorithm and a Coulomb friction algorithm respectively.

[0052] In some embodiments, the contact friction force calculation method is based on the different relative sliding speeds of the two contact surfaces, and the friction coefficient switches between dynamic friction and static friction.

[0053] In a specific embodiment, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained by modeling, including: obtaining the relative position vector and relative velocity vector of the contact point in the contact surface and the contacted element in the contact area of ​​the contacted surface; calculating the contact force generated when the contact point in the contact surface contacts the contacted element according to the preset point-surface contact model, the preset point-line contact model, and the preset point-point contact model, wherein the contact force includes at least: contact normal force and contact friction force, and the contact normal force includes contact elastic force related to contact stiffness and contact damping force related to contact damping.

[0054] In a preferred embodiment, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained through modeling, which also includes: calculating the contact friction force generated during contact based on the contact normal force and the relative velocity vector; and synthesizing the contact forces generated by all the contact points in the contact surface and the corresponding contacted elements to the origin of the center of mass coordinate system corresponding to the contact surface and the contacted surface.

[0055] In a preferred embodiment, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained by modeling, which also includes: the torque at the origin of the centroid coordinate system of the contact surface is calculated by the cross product of the position vector of each point on the contact surface relative to the centroid and the contact force received by each point; and / or, the torque at the origin of the centroid coordinate system of the contacted surface is calculated by the cross product of the position vector of each point on the contact surface to the centroid coordinate system of the contacted surface and the reaction force of the contact force received by each point on the contact surface; the contact normal force and contact friction force in the contact model are calculated using a penalty function algorithm and a Coulomb friction algorithm, respectively, wherein the contact friction force calculation method is used to switch the friction coefficient between dynamic friction and static friction according to the different relative sliding speeds of the two contact surfaces.

[0056] In specific implementation, the contact force generated when the contact point in the contact surface contacts the contacted element is calculated according to the point-to-surface contact model, the point-to-line contact model, and the point-to-point contact model. The contact force includes the contact normal force and the contact friction force. The contact normal force includes the contact elastic force related to the contact stiffness and the contact damping force related to the contact damping. The contact friction force generated when contacting is calculated according to the generated contact normal force and the relative velocity vector. The contact forces generated by all the contact points in the contact surface and the corresponding contacted elements are synthesized to the origin of the centroid coordinate system corresponding to the contact surface and the contacted surface. The torque acting on the origin of the centroid coordinate system of the contact surface is calculated by the cross product of the position vector of each point on the contact surface relative to the centroid and the contact force received by each point. The torque acting on the origin of the centroid coordinate system of the contacted surface is calculated by the cross product of the position vector of each point on the contact surface to the centroid coordinate system of the contacted surface and the reaction force of the contact force received by each point on the contact surface. The contact normal force and the contact friction force calculation methods in the contact model adopt a penalty function algorithm and a Coulomb friction algorithm respectively.

[0057] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0058] According to an embodiment of the present application, a modeling model of a surface contact model based on Modelica for implementing the above method is also provided, such as Figure 3 As shown, the device comprises:

[0059] The vector data processing module 301 is used to obtain contact surface point vector data after processing based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model;

[0060] An area determination module 302 is used to determine a contact area therein according to the contact surface point vector data;

[0061] A basic contact model reference module 303 is used to generate the preset point-surface contact model, the preset point-line contact model and the corresponding contact points, contact surfaces and contact line segments in the preset point-point contact model according to the obtained contact area;

[0062] The contact force synthesis module 304 is used to calculate the contact force according to the contact point, the contact surface and the contact line segment, and obtain a preset contact model between curved surfaces through modeling.

[0063] The vector data processing module 301 (which may also be a vector data processing algorithm or function) in the embodiment of the present application is based on a preset point-to-surface contact model, a preset point-to-line contact model, and a preset point-to-point contact model, and obtains contact surface point vector data after processing.

[0064] In a specific implementation, the contact model includes at least two rigid bodies, and the two rigid bodies are in a contacting and contacted relationship.

[0065] In a preferred embodiment, the preset point-to-surface contact model, the preset point-line contact model and the preset point-to-point contact model are used to obtain contact surface point vector data after processing, including: determining a set of point vectors corresponding to the contact surface and the contacted surface; dividing the contacted surface into triangular meshes, and each of the triangular meshes is represented by three points in the point set in the contacted surface, wherein the edge lines of each triangular surface are represented by at least two of the three points, and each triangular surface includes three contact elements of a surface, an edge line and a point; obtaining corresponding points with the minimum distance between each contact point on the corresponding contact surface and the point set on the contacted surface, and extracting all triangular surface data, edge line data and point data including the corresponding points.

[0066] The area determination module 302 (which may also be an area determination algorithm or function correspondingly) in the embodiment of the present application determines the contact area therein according to the contact surface point vector data.

[0067] like Figure 1As shown, specifically, it is necessary to determine the point cloud data in rigid body 1 and the contacted surface area in rigid body 2: determine according to the centroid method which triangles in the contacted surface of rigid body 2 the contact points in the contact surface of rigid body 1 are in the normal area, and determine according to the projection rule whether the projection point of the contact point in the contact surface of rigid body 1 on the triangle edge line of rigid body 2 is on the triangle edge line of rigid body 2 or on the extension line of the triangle edge line of rigid body 2.

[0068] In a specific implementation, the centroid method is used to determine which triangle normal regions of the contacted surfaces contain the contact points in the contact surface, and the projection rule is used to determine whether the projection point of the contact point in the contact surface on the edge line is on the edge line or on the extension line of the edge line.

[0069] The basic contact model reference module 303 (which may also be a point-line contact, point-surface contact, and point-point contact algorithm or function, respectively) in the embodiment of the present application generates the preset point-surface contact model, the preset point-line contact model, and the corresponding contact points, contact surfaces, and contact line segments in the preset point-point contact model based on the obtained contact area.

[0070] In a specific embodiment, the preset point-to-surface contact model, the preset point-line contact model and the corresponding contact points, contact surfaces and contact line segments in the preset point-to-point contact model are generated based on the obtained contact area, including: using the contact points in the contact surface and the triangular surface where the contact surface projection is located as the contact points and contact surfaces in the point-to-surface contact model respectively; using the contact points in the contact surface and the edge lines where the contact surface projection is located as the contact points and contact line segments in the point-to-line contact model respectively; using the contact points in the contact surface and the points corresponding to the triangular surface where the contact surface projection is located as the contact points in the point-to-point contact model respectively.

[0071] The contact force synthesis module 304 (correspondingly, it may also be a contact force or friction force algorithm or function) of the embodiment of the present application calculates the contact force according to the contact point, the contact surface and the contact line segment, and obtains a preset surface-to-surface contact model through modeling. It can be understood that the preset surface-to-surface contact model is a surface-to-surface contact model.

[0072] In a specific embodiment, the contact force is calculated based on the contact point, the contact surface and the contact line segment, and a preset contact model between surfaces is obtained by modeling, including: obtaining the relative position vector and relative velocity vector of the contact point in the contact surface and the contacted element in the contact area of ​​the contacted surface; calculating the contact force generated when the contact point in the contact surface contacts the contacted element according to the preset point-surface contact model, the preset point-line contact model, and the preset point-point contact model, wherein the contact force includes at least: contact normal force and contact friction force, and the contact normal force includes contact elastic force related to contact stiffness and contact damping force related to contact damping.

[0073] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.

[0074] In order to better understand the modeling method flow of the above-mentioned contact model between surfaces based on Modelica, the above-mentioned technical solution is explained below in combination with a preferred embodiment, but it is not used to limit the technical solution of the embodiment of the present invention.

[0075] The modeling method of the contact model between surfaces based on Modelica in the embodiment of the present application includes the following steps: 1) contact surface point vector data processing; 2) contact area determination; 3) basic contact model reference; 4) contact force calculation synthesis. The present application uses the multi-domain, non-causal and object-oriented nature of the Modelica language for secondary development, and obtains a contact model between surfaces that can faithfully reflect the contact characteristics between complex rigid bodies, and can be substituted into the robot contact dynamics system for multi-domain coupling analysis and design, providing excellent analysis tools and analysis methods for the robot system design.

[0076] like Figure 4 as well as Figure 5 FIG. 1 is a schematic diagram of a modeling method of a surface contact model based on Modelica in an embodiment of the present application, which specifically includes the following steps:

[0077] Step S401, calculating the point closest to each point and the base surface point cloud data.

[0078] Step S402, extracting the triangular mesh data containing the point.

[0079] Step S403: contact area determination.

[0080] Step S404, storing the triangular surface mesh data of the composite contact determination condition.

[0081] Step S405 , calculating the contact force based on the point-surface contact model, the point-line contact model and the point-point contact model.

[0082] Step S406, triangular mesh division, and then proceed to step S402.

[0083] like Figure 1 As shown, the contact surface point vector data of rigid body 1 and rigid body 2 are determined and processed: the contacted surface in rigid body 2 is divided into triangular meshes, each triangular mesh can be described by three points in the point set in the contacted surface in rigid body 2, and the edge line of each triangular face can be described by two points out of the three points. Each triangular face contains three contact elements: face, edge line and point. Obtain the point corresponding to the minimum distance between each contact point on the contact surface of rigid body 1 and the point set on the contacted surface of rigid body 2 at the corresponding moment, and extract all triangular face data, edge line data and point data containing the corresponding point.

[0084] Determine the point cloud data in rigid body 1 and the contacted surface area in rigid body 2: determine the contact points in the contact surface in rigid body 1 in the normal area of ​​the triangular faces in the contacted surface in rigid body 2 according to the centroid method, and determine whether the projection point of the contact point in the contact surface in rigid body 1 on the triangular face edge in rigid body 2 is on the triangular face edge in rigid body 2 or on the extension line of the triangular face edge in rigid body 2 according to the projection rule.

[0085] like Figure 1 As shown, the basic contact model references: The contact points in the contact surface of rigid body 1 and the triangular surface of rigid body 2 where its projection is located are used as contact points and contact surfaces in the point-to-surface contact model. The contact points in the contact surface of rigid body 1 and the edges of rigid body 2 where its projection is located are used as contact points and contact line segments in the point-to-line contact model. The contact points in the contact surface of rigid body 1 and the points corresponding to the triangular surface of rigid body 2 where its projection is located are used as contact points in the point-to-point contact model.

[0086] Contact force calculation synthesis: obtain the relative position vector and relative velocity vector of the contact points in the contact surface of rigid body 1 and the contacted elements in rigid body 2 within the contact area of ​​the contacted surface of rigid body 2.

[0087] The contact force generated when the contact point in the contact surface of rigid body 1 contacts the contacted element in rigid body 2 is calculated according to the point-to-surface contact model, the point-to-line contact model and the point-to-point contact model. The contact force includes the contact normal force and the contact friction force. The contact normal force includes the contact elastic force related to the contact stiffness and the contact damping force related to the contact damping.

[0088] The contact friction force generated during contact is calculated based on the generated contact normal force and relative velocity vector, and the contact forces generated by all contact points in the contact surface of rigid body 1 and the corresponding contacted elements in rigid body 2 are synthesized to the origin of the center of mass coordinate system corresponding to the contact surface in rigid body 1 and the contacted surface in rigid body 2.

[0089] The moment acting on the origin of the centroid coordinate system of the contact surface in the rigid body 1 is calculated by the cross product of the position vector of each point on the contact surface in the rigid body 1 relative to the centroid and the contact force received by each point.

[0090] The moment acting on the origin of the centroid coordinate system of the contacted surface in rigid body 2 is calculated by the cross product of the position vector from each point on the contact surface in rigid body 1 to the centroid coordinate system of the contacted surface and the reaction force of the contact force received by each point on the contact surface in rigid body 1.

[0091] The contact normal force in the contact model and the contact friction force calculation method respectively adopt a penalty function algorithm and a Coulomb friction algorithm.

[0092] The contact friction force calculation method is based on the different relative sliding speeds of the contact surfaces of the two rigid bodies, and the friction coefficient switches between dynamic friction and static friction.

[0093] The contact normal force can be expressed in general form as:

[0094] F=Kδ n +C(δ)V(t);

[0095] in:

[0096] F—normal contact force, in N;

[0097] K—contact stiffness, in N / mm;

[0098] n—Force index, which is used to calculate the contribution of the material stiffness term in the instantaneous normal force;

[0099] δ—penetration depth between objects, a time-dependent variable in mm;

[0100] C(δ) is the cubic function of contact damping with respect to penetration depth, in N·s / m;

[0101] V(t)—The normal relative velocity of the contacting objects as a function of time, in m / s.

[0102] The contact friction force calculation method is based on the different relative sliding speeds of the two contact surfaces, and the friction coefficient switches between dynamic friction and static friction, which can be expressed as:

[0103] f=F*u(V);

[0104] Wherein, f represents the contact friction force generated, and u(V) represents the friction coefficient related to the relative speed.

[0105] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A modeling method for a surface contact model based on Modelica, characterized in that: include: Based on a preset point-surface contact model, a preset point-line contact model and a preset point-point contact model, contact surface point vector data are obtained after processing, wherein the point vector data are all point vectors calculated in a rigid body centroid coordinate system, wherein the contact model includes at least two rigid bodies, and the two rigid bodies are in a contact and contacted relationship; Determine the contact area therein according to the contact surface point vector data; Generate the preset point-surface contact model, the preset point-line contact model, and the corresponding contact points, contact surfaces, and contact line segments in the preset point-point contact model according to the obtained contact area; Calculating the contact force according to the contact point, the contact surface and the contact line segment, and obtaining a preset surface-to-surface contact model by modeling, wherein the preset surface-to-surface contact model is a surface-to-surface contact model; The contact surface point vector data obtained after processing based on the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model include: Determine the point vector set corresponding to the contact surface and the contacted surface; Divide the contacted surface into triangular meshes, and each of the triangular meshes is described by three points in the point set in the contacted surface, wherein the edge line of each triangular face is described by two points in the three points, and each triangular face includes three contact elements of a face, an edge line and a point; Obtain the corresponding point with the minimum distance between each contact point on the contact surface and the point set on the contacted surface, and extract all triangular surface data, edge line data and point data including the corresponding point.

2. The method according to claim 1, characterized in that The contact force is calculated according to the contact point, the contact surface and the contact line segment, and a preset contact model between curved surfaces is obtained by modeling, including: Obtaining a relative position vector and a relative velocity vector of a contact point in the contact surface and the contacted element in a contact region of the contacted surface; The contact force generated when the contact point in the contact surface contacts the contacted element is calculated according to the preset point-surface contact model, the preset point-line contact model, and the preset point-point contact model, wherein the contact force includes at least: contact normal force and contact friction force, and the contact normal force includes contact elastic force related to contact stiffness and contact damping force related to contact damping.

3. The method according to claim 2, characterized in that The contact force is calculated according to the contact point, the contact surface and the contact line segment, and a preset contact model between curved surfaces is obtained by modeling, and further includes: Calculating the contact friction force generated during contact according to the contact normal force and the relative velocity vector; The contact forces generated by all the contact points in the contact surface and the contacted elements are synthesized to the origin of the centroid coordinate system corresponding to the contact surface and the contacted surface.

4. The method according to claim 3, characterized in that The step of determining the contact area therein according to the contact surface point vector data comprises: Determine which triangle normal regions of the contacted surfaces contain the contact points in the contact surface, and determine, based on a preset projection rule, whether the projection points of the multiple contact points in the contact surface on the edge line are on the edge line or on an extension line of the edge line.

5. The method according to claim 1, characterized in that The step of generating the preset point-surface contact model, the preset point-line contact model, and the corresponding contact points, contact surfaces, and contact line segments in the preset point-point contact model according to the obtained contact area includes: The contact point in the contact surface and the triangular surface where the contact surface projection is located are used as the contact point and the contact surface in the point-to-surface contact model respectively; The contact point in the contact surface and the edge line where the projection of the contact surface is located are used as the contact point and the contact line segment in the point-line contact model respectively; The contact points in the contact surface and the points corresponding to the triangular surface where the projection of the contact surface is located are respectively used as contact points in the point-to-point contact model.

6. The method according to claim 2, characterized in that The contact force is calculated according to the contact point, the contact surface and the contact line segment, and a preset contact model between curved surfaces is obtained by modeling, and further includes: The moment at the origin of the centroid coordinate system of the contact surface is calculated by cross-producting the position vector of each point on the contact surface relative to the centroid and the contact force received by each point; And / or, the moment at the origin of the centroid coordinate system of the contacted surface is calculated by the cross product of the position vector from each point on the contact surface to the centroid coordinate system of the contacted surface and the reaction force of the contact force on each point on the contact surface; The contact normal force and contact friction force in the contact model are calculated using a penalty function algorithm and a Coulomb friction algorithm, respectively. The contact friction force calculation method is used to switch the friction coefficient between dynamic friction and static friction according to the different relative sliding speeds of the two contact surfaces.

7. A modeling model for a surface contact model based on Modelica, characterized in that: include: A vector data processing module, for obtaining contact surface point vector data after processing based on a preset point-surface contact model, a preset point-line contact model, and a preset point-point contact model; An area determination module, used for determining a contact area therein according to the contact surface point vector data; A basic contact model reference module, used to generate the preset point-surface contact model, the preset point-line contact model and the corresponding contact points, contact surfaces and contact line segments in the preset point-point contact model according to the obtained contact area; A contact force synthesis module, used for calculating the contact force according to the contact point, the contact surface and the contact line segment, and obtaining a preset contact model between the surfaces through modeling; The contact surface point vector data obtained after processing based on the preset point-surface contact model, the preset point-line contact model and the preset point-point contact model include: Determine the point vector set corresponding to the contact surface and the contacted surface; Divide the contacted surface into triangular meshes, and each of the triangular meshes is described by three points in the point set in the contacted surface, wherein the edge line of each triangular face is described by two points in the three points, and each triangular face includes three contact elements of a face, an edge line and a point; Obtain the corresponding point with the minimum distance between each contact point on the contact surface and the point set on the contacted surface, and extract all triangular surface data, edge line data and point data including the corresponding point.

8. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 6 when executed.

9. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 6.