A method for building a digital twin model based on a six-degree-of-freedom robot arm

By constructing a six-degree-of-freedom robotic arm digital twin based on machine learning and static models, the problems of high computational resource consumption and low computational efficiency in the interaction between the virtual and real worlds in existing technologies are solved, and real-time visualization and efficient computation of the stress distribution of the robotic arm are realized.

CN117444977BActive Publication Date: 2026-05-12JIANGSU UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JIANGSU UNIV OF TECH
Filing Date
2023-11-29
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing digital twin technology cannot accurately represent the internal workings of a robotic arm in the physical world, and it consumes a lot of computing resources and has low computational efficiency when interacting between the virtual and real worlds.

Method used

A digital twin model of a six-DOF robotic arm is constructed using machine learning combined with a static model, through finite element analysis and the KNN algorithm. Force transmission is expressed using a surrogate model and Jacobian matrix, and visualization is performed using the Unity platform.

Benefits of technology

It enables visualization of the stress distribution of the robotic arm under working conditions, improves computational efficiency, reduces computational resource consumption, and ensures the timeliness of reflecting the stress distribution of the robotic arm in real time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117444977B_ABST
    Figure CN117444977B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on the construction method of digital twin model of six-degree-of-freedom mechanical arm, the transmission of force in the inside of mechanical arm is described, using finite element analysis software carries out finite element analysis to each each spare multiple positions simultaneously extracting result data;The result data of finite element is preprocessed, then each group of data is carried out K near neighbor algorithm, the data set required by machine learning is made;Data fitting is carried out to data set using machine learning to obtain the proxy model of each spare simplified calculation, each proxy model is integrated by statics model, and the AI model of complete mechanical arm is obtained;Through AI model client, the information received can be calculated, and the stress distribution result of the mechanical arm at this time is obtained;Visual mechanical arm UI is built in Unity scene, joint position information can be sent to AI model through UI, and simultaneously receives the operation result of Ai model, and the stress size of the grid point of different regions of mechanical arm is visualized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for constructing a digital twin model based on a six-degree-of-freedom robotic arm. Background Technology

[0002] Digital twin technology is a concept that connects the physical world and virtual objects through data connectivity. Since 2020, research on digital twins has attracted widespread attention from practitioners and researchers. With the development of science and technology, connecting the real and virtual worlds through computer communication technology and mapping complex systems of the physical world into a digital environment has become possible in recent years due to the rapid development of computer and communication technologies.

[0003] Current digital twin technology is still only at the visualization stage. Digital twin models incorporate mathematical and mechanistic models, so they cannot truly represent the internal workings of a robotic arm under physical conditions. Furthermore, using finite element analysis software to perform transient dynamic analysis on a predetermined trajectory requires significant computing power and time, and also lacks interaction with the physical robotic arm entity. Summary of the Invention

[0004] This invention provides a method for constructing a digital twin model of a six-degree-of-freedom robotic arm to address the problems existing in the prior art. Digital twins not only need to solve the problem of interaction between the virtual and real worlds, but also require improved computational efficiency to synchronize them. The digital twin constructed using machine learning can realistically represent the state of the robotic arm in the physical world, while significantly reducing the computational burden on computers, providing a new research approach for the subsequent implementation of digital twin technology.

[0005] The technical solutions adopted in this invention are as follows:

[0006] A method for constructing a digital twin model based on a six-degree-of-freedom robotic arm includes the following steps:

[0007] S1) Draw a three-dimensional model of a six-degree-of-freedom robotic arm, disassemble the six-degree-of-freedom robotic arm into seven sub-components, and import each sub-component into the finite element analysis software;

[0008] S2) Draw and export the mesh of each sub-component and then perform finite element stress analysis. Extract the coordinates of the position nodes from the exported mesh. During the finite element stress analysis, ensure that each sub-component is subjected to finite element stress analysis under 38 sets of forces at different angles. Then export the finite element analysis data of all angle forces of each sub-component. This data includes: the new mesh node coordinates after the sub-component deforms under the force under each set of spatial forces, and the stress value corresponding to each node coordinate.

[0009] S3) The coordinate data exported from each sub-component is deduplicated to obtain the node index of the non-repeating node and the mesh. The finite element equivalent stress result under each set of forces is used as a reference. The stress value of each node position in the non-repeating mesh under this set of forces is predicted by using the KNN algorithm to obtain the coordinate data with nodal stress. The coordinate data with nodal stress is used as the training set. This process is repeated to obtain the training set of all sub-components.

[0010] S4) Using RBF interpolation in the scipy library, the data in the training set of all sub-components of the robotic arm are correlated with the magnitude and direction of the force input during the finite element analysis. The training set of each sub-component is fitted to obtain the stress numerical relationship between the continuous force direction change input and the mesh coordinates of each sub-component, and the surrogate model of each sub-component is obtained.

[0011] S5) Establish a static model to express the force transmission of each sub-component. Use the Jacobian matrix to describe the magnitude and direction of the force applied by the end effector to the next level sub-component in each posture. Add the magnitude of the current sub-component's gravity to the magnitude of the force to the next level, and recursively obtain the force situation of the entire robotic arm.

[0012] S6) Associate the static model and the proxy model to form an AI model. In the static model, obtain the magnitude and direction of the force on each sub-component. Set the magnitude and direction of the force on each sub-component as the input of the proxy model. Through the calculation of the proxy model, the stress value of the position node of the entire robotic arm can be obtained.

[0013] S7) Build the robotic arm model in Unity, import the non-repeating nodes and mesh node indices corresponding to each sub-part into Unity, draw each part using non-repeating mesh nodes and mesh node indices, and assemble them.

[0014] S8) Use a slider to record the motion posture of each sub-component and send the motion state of each sub-component of the robotic arm model to the AI ​​model. The AI ​​model will calculate and process the received information to obtain the data results and return the results to Unity. Unity will map the result range to the color range and color each sub-component.

[0015] Furthermore, in step S2), finite element analysis is performed on each sub-component using the finite element analysis software Ansys, with an external force of 50N added at each different angle.

[0016] Furthermore, in step S3), the coordinate data and force data of each sub-component are deduplicated using Python, and the node index is extracted.

[0017] Further, in step S3), the coordinate data of the nodes with duplicate positions removed and the stress result data derived from the finite element method are used as references. The stress value of each position point of the node without duplicate positions is predicted by the KNN algorithm to obtain the stress value of each position point of the node without duplicate positions under this force.

[0018] Furthermore, the 3D model of the six-degree-of-freedom robotic arm is divided into seven parts: base, first joint, upper arm, lower arm, second joint, third joint, and end effector.

[0019] Further, in step S5), specifically:

[0020] Each of the seven components is likened to a link, and the Jacobian matrix is ​​used to connect the static forces acting on the links. The specific implementation is as follows:

[0021] Establish a link coordinate system. Set the sum of the static force and static moment applied to link i to zero. Then:

[0022] i f i - i f i+1 =0 (1)

[0023] i n i - i n i+1 - i P i+1 × i f i+1 =0 (2)

[0024] Starting from the end effector, we discuss the relationship between the force and torque of the end effector, calculate the relationship between the force and torque of each link, and perform calculations from the end effector to the base. We then organize formulas (1) and (2) to iterate from the higher-order link to the lower-order link. The results are as follows:

[0025] i f i = i f i+1 (3)

[0026] i n i = i n i+1 + i P i+1 × i f i+1 (4)

[0027] To determine the forces and moments as defined in the link's own coordinate system, a transformation using the rotation matrix of coordinate system {i+1} relative to coordinate system {i} yields the expression for the static "transfer" between the links:

[0028]

[0029]

[0030] The formula derivation is as follows: Applying formulas (5) and (6), starting from the end effector, the force and torque transmission of the end effector to the third joint are calculated first:

[0031]

[0032]

[0033] The transmission of force and torque from the third joint to the second joint:

[0034]

[0035]

[0036] The transmission of force and torque on the forearm through the second joint:

[0037]

[0038]

[0039] The transmission of force and torque from the forearm to the upper arm:

[0040]

[0041]

[0042] Transmission of force and torque from the upper arm to the first joint:

[0043]

[0044]

[0045] The transmission of force and torque from the first joint to the base:

[0046]

[0047]

[0048] The present invention has the following beneficial effects:

[0049] 1) Through a visual user interface, the stress distribution of the robotic arm in various regions under working conditions can be directly observed.

[0050] 2) An AI model combining machine learning and static model was introduced, which greatly improved the computational efficiency and enabled the robotic arm to reflect the stress distribution of the robotic arm in real time.

[0051] 3) The static model expresses the transmission relationship of force and torque between the various transmission arms in the robotic arm series, which greatly reduces the amount of computation compared to the traditional data model, thus ensuring the timeliness of the AI ​​model. Attached Figure Description

[0052] Figure 1 This is a flowchart of the present invention.

[0053] Figure 2 This is a schematic diagram showing a six-degree-of-freedom robotic arm divided into seven sub-components.

[0054] Figure 3 To draw the mesh diagram of each component in Ansys.

[0055] Figures 4 to 6 This diagram illustrates the prediction of stress values ​​at each location point of a non-repeating node.

[0056] Figure 7 This is a model diagram of a robotic arm.

[0057] Figure 8 This is a diagram of a robotic arm running in Unity. Detailed Implementation

[0058] The invention will now be further described with reference to the accompanying drawings.

[0059] like Figure 1 and Figure 2 The present invention discloses a method for constructing a digital twin model based on a six-degree-of-freedom robotic arm, comprising the following steps:

[0060] S1) Draw the 3D model and import it into the finite element analysis software.

[0061] Draw a 3D model of a six-degree-of-freedom robotic arm. The six-degree-of-freedom robotic arm is then divided into seven sub-parts based on the motors: base 1, first joint 2, upper arm 3, lower arm 4, second joint 5, third joint 6, and end effector 7.

[0062] Import each sub-component into the finite element analysis software separately;

[0063] In Ansys, model processing is performed to suppress and remove chamfers, screws, nameplates, and other imperfections to simplify the mesh. Material properties are defined, and relevant materials are consulted. The body of the shut-down robotic arm is generally made of 60-series aluminum alloy. The meshes of each component are drawn in Ansys as follows. Figure 3 As shown.

[0064] S2) Perform finite element analysis on the imported model, and extract the mesh and finite element analysis results.

[0065] The force direction of the robotic arm was changed and finite element analysis was performed, while data was extracted. The influence of force on the material varies depending on the direction of force application, and obtaining more accurate fitting results using deep learning requires more reasonable sampling points for the finite element force locations. Therefore, for each part, a sampling point was set at 30°. A fixed external force (50N added at each different angle) was applied to the contact surface, with the contact surface with the next part serving as a fixed support. Finite element analysis was performed, and 38 sets of finite element data were collected for each part. The equivalent stress results, including position coordinates and nodal stresses, were exported, as follows:

[0066] The mesh of each sub-component is drawn and exported for finite element stress analysis. The coordinates of the position nodes are extracted from the exported mesh. During the finite element stress analysis, each sub-component is subjected to finite element stress analysis under 38 sets of forces at different angles. Then, the finite element analysis data of all angle forces of each sub-component is exported. This data includes: the new mesh node coordinates after the sub-component deforms under the force under each set of spatial forces, and the stress value corresponding to each node coordinate.

[0067] S3) Grid data processing, dataset creation, and proxy model creation

[0068] Using Python, the coordinate and force data of each sub-component are deduplicated, and node indices are extracted. The finite element equivalent stress results under each set of forces are used as a reference. The KNN algorithm is then used to predict the stress value at each node position in the non-repeating mesh under this set of forces, resulting in coordinate data with nodal stresses. This coordinate data with nodal stresses is then used as the training set, and this process is repeated to obtain the training set for all sub-components.

[0069] Using the coordinate data of nodes with duplicates removed and the stress results derived from the finite element method as references, the KNN algorithm is used to predict the stress value at each location of the node without duplicates, thus obtaining the stress value at each location of the node without duplicates under this force. Figure 4 , Figure 5 and Figure 6 ,

[0070] like Figure 4The left image shows a non-repeating mesh obtained by exporting and deduplicating the mesh generated by the finite element software. Since no stress is added to the non-repeating mesh, the mesh nodes do not shift, and there are no stress values ​​on the nodes. Figure 4 The right figure shows the equivalent stress result obtained under the action of force F1. At this time, the mesh is offset and stress is generated on each node.

[0071] Figure 5 Using the finite element equivalent stress results under F1 as a reference, the KNN algorithm is used to interpolate the stress values ​​at each location of the non-repeating nodes. For example, to determine the equivalent stress at a point in the diagram, the K points whose spatial location is closest to the location shown in the diagram are selected from the entire finite element equivalent stress results. These K points are weighted by the spatial distance between the reference point and the target point, and by the equivalent stress magnitude of the reference point itself. The resulting K reference points are then used to weigh the values ​​to obtain the equivalent stress magnitude of the target point in the non-repeating node region.

[0072] Figure 6 By performing KNN interpolation on each node at a non-repeating node position, the equivalent stress value of the non-repeating node at each node position under the action of F1 is obtained. The 38 sets of finite element equivalent stress results correspond to 38 force conditions from F1 to F38. Using this method, 38 non-repeating mesh interpolation results under 38 forces are obtained and used to form a training set.

[0073] Using RBF interpolation from the SciPy library, the data in the training set of all sub-components of the robotic arm are correlated with the magnitude and direction of the force input during the finite element analysis. The training set of each sub-component is fitted to obtain the stress numerical relationship between the continuous force direction change input and the mesh coordinates of each sub-component, and a surrogate model of each sub-component is obtained.

[0074] S4) Static Model Construction

[0075] A static model is established to express the force transmission of each sub-component. The magnitude and direction of the force applied by the end effector to the next level sub-component in each posture are described by the Jacobian matrix. The magnitude of the force to the next level is added to the magnitude of the current sub-component's gravity, and the force situation of the entire robotic arm is obtained by recursion.

[0076] robotic arm model, such as Figure 7 The diagram shows a 6-DOF robotic arm with a chain-like structure. Each of the seven components is represented as a link, and the Jacobian matrix is ​​used to connect the static forces acting on the links. The specific implementation is as follows:

[0077] Establish a link coordinate system. Set the sum of the static force and static moment applied to link i to zero. Then:

[0078] i fi - i f i+1 =0(1)

[0079] i n i - i n i+1 - i P i+1 × i f i+1 =0(2)

[0080] Starting from the end effector, we discuss the relationship between the force and torque of the end effector, calculate the relationship between the force and torque of each link, and perform calculations from the end effector to the base. We then organize formulas (1) and (2) to iterate from the higher-order link to the lower-order link. The results are as follows:

[0081] i f i = i f i+1 (3)

[0082] i n i = i n i+1 + i P i+1 × i f i+1 (4)

[0083] To determine the forces and moments as defined in the link's own coordinate system, a transformation using the rotation matrix of coordinate system {i+1} relative to coordinate system {i} yields the expression for the static "transfer" between the links:

[0084]

[0085]

[0086] The formula derivation is as follows: Applying formulas (5) and (6), starting from the end effector, the force and torque transmission of the end effector to the third joint are calculated first:

[0087]

[0088]

[0089] The transmission of force and torque from the third joint to the second joint:

[0090]

[0091]

[0092] The transmission of force and torque on the forearm through the second joint:

[0093]

[0094]

[0095] The transmission of force and torque from the forearm to the upper arm:

[0096]

[0097]

[0098] Transmission of force and torque from the upper arm to the first joint:

[0099]

[0100]

[0101] The transmission of force and torque from the first joint to the base:

[0102]

[0103]

[0104] S5) Unity Visualization Platform Setup

[0105] The static model and the surrogate model are linked to form an AI model. The magnitude and direction of the force on each sub-component are obtained in the static model. The magnitude and direction of the force on each sub-component are set as the input of the surrogate model. The stress value of the position node of the entire robotic arm can be obtained through the calculation of the surrogate model.

[0106] In Unity, build the robotic arm model, inheriting the position of each part from an empty object while removing the original Mesh Filter. Import the unique nodes and mesh node indices corresponding to each sub-part into Unity, draw each part using unique mesh nodes and mesh node indices, and assemble them. To control material color changes, define the material as a combination of Sprites-Default and Default-Diffuse. Finally, define the motion rotation axis and use sliders to define the motion of each part. The robotic arm at runtime looks like... Figure 8 .

[0107] S6) Communication

[0108] In Unity, a port is used to send the position status notification sockets of each component during the mechanical movement of the robotic arm. By specifying the server's IP address and port number, a function is called at startup to establish a connection, creating a Socket instance and establishing a connection with the specified server. A server-side application is created using Python to listen on the port. When a signal is received, it processes the signal, extracting the relevant information—the current motion state of each component—and then adds the static model transformation results and a proxy model to calculate the stress magnitude of each mesh node. This calculation result is then returned to the client.

[0109] S7) Visualization of stress results

[0110] The slider is used to record the motion posture of each sub-component and send the motion state of each sub-component of the robotic arm model to the AI ​​model. The AI ​​model calculates and processes the received information to obtain the data results and returns the results to Unity. Unity maps the result range to the color range, colors each sub-component, and visualizes the colored results.

[0111] The above description is only a preferred embodiment of the present invention. It should be noted that those skilled in the art can make several improvements without departing from the principle of the present invention, and these improvements should also be considered within the scope of protection of the present invention.

Claims

1. A method for constructing a digital twin model based on a six-degree-of-freedom robotic arm, characterized in that: Includes the following steps: S1) Draw a three-dimensional model of a six-degree-of-freedom robotic arm, disassemble the six-degree-of-freedom robotic arm into seven sub-components, and import each sub-component into the finite element analysis software; S2) The coordinates of the position nodes of each sub-component are exported by finite element software, as well as the new mesh node coordinates and stress values ​​corresponding to each node coordinate after the sub-component deforms under the action of forces at different angles in each group. S3) The coordinate data exported from each sub-component is deduplicated to obtain the node index of the non-repeating node and the mesh. The finite element equivalent stress result under each set of forces is used as a reference. The stress value of each node position in the non-repeating mesh under this set of forces is predicted by using the KNN algorithm to obtain the coordinate data with nodal stress. The coordinate data with nodal stress is used as the training set. The process is repeated to obtain the training set of all sub-components. S4) Using RBF interpolation in the scipy library, the data in the training set of all sub-components of the robotic arm are correlated with the magnitude and direction of the force input during the finite element analysis. The training set of each sub-component is fitted to obtain the stress numerical relationship between the continuous force direction change input and the mesh coordinates of each sub-component, and the surrogate model of each sub-component is obtained. S5) Establish a static model to express the force transmission of each sub-component, and then recursively deduce the force situation of the entire robotic arm. S6) Associate the static model and the proxy model to form an AI model. In the static model, obtain the magnitude and direction of the force on each sub-component. Set the magnitude and direction of the force on each sub-component as the input of the proxy model. Calculate the stress value of the position node of the entire robotic arm through the proxy model. S7) Build the robotic arm model in Unity, import the non-repeating nodes and mesh node indices corresponding to each sub-part into Unity, draw each part using non-repeating mesh nodes and mesh node indices, and assemble them. S8) Record the motion posture of each sub-component and send the motion state of each sub-component of the robotic arm model to the AI ​​model. The AI ​​model will calculate and process the received information to obtain the data results and return the results to Unity. Unity will map the result range to the color range and color each sub-component.

2. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 1, characterized in that: In step S2), finite element analysis is performed on each sub-component using the finite element analysis software Ansys, with an external force of 50N added at each different angle.

3. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 1, characterized in that: In step S2), the mesh of each sub-component is drawn and exported for finite element stress analysis. The coordinates of the position nodes are extracted from the exported mesh. During the finite element stress analysis, each sub-component is subjected to finite element stress analysis under several sets of forces at different angles. Then, the finite element analysis data of all angular forces for each sub-component is exported. This data includes: the new mesh node coordinates after the sub-component deforms under the force when subjected to each set of spatial forces, and the stress value corresponding to each node coordinate.

4. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 1, characterized in that: In step S3), the coordinate data and force data of each sub-component are deduplicated using Python, and the node index is extracted.

5. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 1, characterized in that: In step S3), the coordinate data of the nodes with duplicate positions removed and the stress result data derived from the finite element method are used as references. The stress value of each position point of the node without duplicate positions is predicted by the KNN algorithm to obtain the stress value of each position point of the node without duplicate positions under this force.

6. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 1, characterized in that: The three-dimensional model of the six-degree-of-freedom robotic arm is divided into seven parts: base (1), first joint (2), upper arm (3), lower arm (4), second joint (5), third joint (6), and end effector (7).

7. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 6, characterized in that: In step S5), a static model is established to express the force transmission of each sub-component. The magnitude and direction of the force applied by the end effector to the next level sub-component in each posture are described by the Jacobian matrix. The magnitude of the force to the next level is added to the magnitude of the current sub-component's gravity, and the force situation of the entire robotic arm is obtained by recursion.

8. The method for constructing a digital twin model based on a six-degree-of-freedom robotic arm as described in claim 7, characterized in that: Step S5) specifically refers to: Each of the seven components is likened to a link, and the Jacobian matrix is ​​used to connect the static forces acting on the links. The specific implementation is as follows: Establish a link coordinate system. Set the sum of the static force and static moment applied to link i to zero. Then: (1), (2), Starting from the end effector, we discuss the relationship between the force and torque of the end effector, calculate the relationship between the force and torque of each link, and perform calculations from the end effector to the base. We then organize formulas (1) and (2) to iterate from the higher-order link to the lower-order link. The results are as follows: (3), (4), To determine the forces and moments as defined in the link's own coordinate system, a transformation using the rotation matrix of coordinate system {i+1} relative to coordinate system {i} yields the expression for the static "transfer" between the links: (5), (6), The formula derivation is as follows: Applying formulas (5) and (6), starting from the end effector, the force and torque transmission of the end effector to the third joint are calculated first: (7), (8), The transmission of force and torque from the third joint to the second joint: (9), (10), The transmission of force and torque on the forearm via the second joint: (11), (12), The transmission of force and torque from the forearm to the upper arm: (13), (14), Transmission of force and torque from the upper arm to the first joint: (15), (16), The transmission of force and torque from the first joint to the base: (17), (18); in: and Let be the static force acting on link i and i+1 in the link coordinate system i; and Let be the static moment acting on link i and i+1 in the link coordinate system i; Let {i+1} be the position vector of coordinate system {i} relative to coordinate system {i}; Let {i+1} be the rotation matrix relative to coordinate system {i}. , It is a unit direction vector; , The component of force; , , , , , , , , as well as Here, c is a simplified form of the trigonometric function for the joint angle, where c is cos and s is sin. , , , , and Let be the length of each link.