Search

US-12625491-B2 - Method and system for digital plant system model creation and simulation and storage medium

US12625491B2US 12625491 B2US12625491 B2US 12625491B2US-12625491-B2

Abstract

Embodiments of the present disclosure provide a method and system for digital plant system model creation and simulation and a storage medium. The method includes: receiving a digital model created by a user based on a modeling library: in the modeling library, a digital plant system is divided into multiple subsystems, and motion joints in each subsystem are set with at least one option of at least one solution parameter of dynamics, kinematics and articulation; for each motion joint in the digital model, associating a corresponding algorithm engine in a simulation engine with the motion joint according to a solution parameter of the motion joint; the simulation engine comprises a kinematics algorithm engine, a dynamics algorithm engine and an articulation algorithm engine; using the corresponding algorithm engine to solve the motion joint associated with the algorithm engine. The technical scheme in embodiments of the present disclosure can improve the performance, stability and accuracy of the virtual digital plant.

Inventors

  • Hai Feng Xu
  • Julu Cao
  • Karen Shi
  • Na Li

Assignees

  • SIEMENS INDUSTRY SOFTWARE INC.

Dates

Publication Date
20260512
Application Date
20210531

Claims (13)

  1. 1 . A method for digital plant system model creation and simulation, the method comprising: receiving a digital model created by a user based on a modeling library, wherein, in the modeling library, a digital plant system is divided into multiple subsystems, and motion joints in each subsystem of the multiple subsystems are set with at least one option of at least one solution parameter of dynamics, kinematics, and articulation; analyzing the digital model to obtain an analytical model with an execution order, wherein the analyzing of the digital model comprises, for each motion joint in the digital model, associating a corresponding algorithm engine in a simulation engine with the respective motion joint according to a solution parameter of the respective motion joint, and wherein the simulation engine comprises a kinematics algorithm engine, a dynamics algorithm engine, and an articulation algorithm engine; and solving the analytical model according to the execution order of the analytical model and performing a simulation according to a solution result, wherein the solving of the analytical model comprises using the corresponding algorithm engine to solve the respective motion joint associated with the corresponding algorithm engine.
  2. 2 . The method of claim 1 , wherein, in the modeling library, a collision flag option is set for each rigid body configured to collide in each subsystem, wherein the simulation engine further comprises collision logics of collisions between different rigid bodies, wherein the collision logics include kinematics rigid body-dynamics rigid body collision logic, dynamics rigid body-kinematics rigid body collision logic, kinematics rigid body-kinematics rigid body collision logic, and dynamics rigid body-dynamics rigid body collision logic, wherein the analyzing of the digital model further comprises, for each rigid body with a collision flag, according to a solution parameter of a motion joint connected with the rigid body, associating a corresponding collision logic in the simulation engine with the rigid body, and wherein the solving of the analytical model further comprises using the corresponding collision logic to solve the rigid body associated with the corresponding collision logic.
  3. 3 . The method of claim 1 , wherein the analyzing of the digital model further comprises: identifying at least one joint of the motion joins that is connected to a ground; starting from each joint of the at least one joint connected to the ground, searching a joint chain to get information of all joints of the motion joins and all rigid bodies connected with the motion joints; checking a coupler connected to a motion joint; checking a motor which drives a motion joint; checking whether a joint chain is open-loop or closed-loop; adding an actual mass and a moment of inertia to a rigid body connected by a dynamic joint and an articulated joint; setting the actual mass and the moment of inertia of a rigid body connected by a kinematics joint to O; and removing a collision flag of a rigid body connected by a kinematics joint.
  4. 4 . The method of claim 3 , wherein the solving of the analytical model and the performing of the simulation comprises: determining each simulation step according to the execution order of the analytical model; using the corresponding algorithm engine and/or the corresponding collision logic to calculate motion and dynamic parameters of all rigid bodies in each joint chain in each simulation step; and moving, in each simulation step, according to the motion and dynamic parameters, all rigid bodies to a corresponding calculated position, and displaying at least one kind of related information in information of the corresponding calculated position, velocity, acceleration, jerk, force, torque, and collision signal of all rigid bodies.
  5. 5 . The method of claim 4 , wherein the using of the corresponding algorithm engine and/or the corresponding collision logic comprises: determining a first simulation step as current simulation step; using the corresponding algorithm engine to calculate current motion and dynamic parameters of a first rigid body, and taking the first rigid body as a current rigid body; determining whether the current rigid body is a last rigid body in a current joint chain; determining whether the current simulation step is a last simulation step when the current rigid body is the last rigid body, and finishing a calculation when the current simulation step is the last simulation step, or taking a next simulation step as the current simulation step and returning to perform the using of the corresponding algorithm engine to calculate current motion and dynamic parameters of the first rigid body when the current simulation step is not the last simulation step; and taking a next rigid body as the current rigid body when the current rigid body is not the last rigid body, using the corresponding algorithm engine and/or the corresponding collision logic to calculate current motion and dynamic parameters of the current rigid body according to motion and dynamic parameters of a previous rigid body, and then returning to perform the determining whether the current rigid body is the last rigid body in the joint chain.
  6. 6 . The method of claim 1 , wherein the multiple subsystems comprise at least one subsystem of the following subsystems: a conventional joint subsystem comprising a fixed joint, a hinge joint, a sliding joint, a cylindrical joint, a screw joint, a point on curve joint, a ball joint, and a planar joint, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint in the conventional joint subsystem; an open-loop subsystem with one end connected to a ground, which comprises at least one rigid body and at least one joint, and three options of solution parameters of dynamics, kinematics, and articulation are set for each joint of the at least one joint in the open-loop subsystem; a closed-loop subsystem with two ends connected to the ground, which comprises rigid bodies and joints, and three options of solution parameters of dynamics, kinematics, and articulation are set for each joint of the joints in the closed-loop subsystem; a point on a curve joint chain subsystem comprising a master rigid body controlled by 1 to 3 point kinematics joints on the curve and at least one slave rigid body following the motion of the master rigid body, wherein an option of kinematics solution parameter is set for each kinematics joint of the 1 to 3 point kinematics joints on the curve; a coupling transport subsystem, which comprises: comprising a gear, a rack and pinion, a three joint coupler, a pulley and belt, and a mechanical cam, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint in the coupling transport subsystem; a driving subsystem comprising position control, speed control, inverse kinematics control, gesture control, and transport surface, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint in the driving subsystem; a hydraulic and pneumatic subsystem comprising force and/or torque control, hydraulic cylinder, hydraulic valve, pneumatic cylinder, and pneumatic valve, wherein an option of dynamic solution parameter is set for each joint in the hydraulic and pneumatic subsystem; and a dynamics joint subsystem comprising an angular spring joint, linear spring joint, angular limit joint, linear limit joint, breaking constraint, and spring damper, wherein an option of dynamic solution parameter is set for each joint in the dynamics joint subsystem.
  7. 7 . A system for digital plant system model creation and simulation, the system comprising: a modeling library comprising modeling modules of motion joints in multiple subsystems of a digital plant system, wherein a modeling module of each motion joint is set with at least one option of at least one solution parameter of dynamics, kinematics, and articulation; a simulation engine comprising a kinematics algorithm engine, a dynamics algorithm engine, and an articulation algorithm engine; a model analysis module configured to receive a digital model created by a user based on the modeling library, analyze the digital model, and obtain an analytical model with an execution order, wherein the analyzing of the digital model comprises, for each motion joint in the digital model, associating a corresponding algorithm engine in the simulation engine with the respective motion joint according to a solution parameter of the respective motion joint; and a simulation module configured to solve the analytical model according to an execution sequence and perform a simulation according to a solution result, wherein the solving of the analytical model comprises solving each motion joint using the corresponding algorithm engine associated with the respective motion joint.
  8. 8 . The system of claim 7 , wherein the modeling library further comprises modeling modules of rigid bodies in subsystems of the digital plant system, and a modeling module of each rigid body that is configured to collide is set with an option of a collision flag, wherein the simulation engine further comprises collision logics of collisions between different rigid bodies, wherein the collision logics comprise kinematics rigid body-dynamics rigid body collision logic, dynamics rigid body-kinematics rigid body collision logic, kinematics rigid body-kinematics rigid body collision logic, and dynamics rigid body-dynamics rigid body collision logic, wherein the model analysis module is further configured to, for each rigid body with a respective collision flag, associate corresponding collision logic in the simulation engine with the respective rigid body according to a solution parameter of a motion joint connected with the respective rigid body, and wherein the simulation module is further configured to use the corresponding collision logic to solve the respective rigid body associated with the collision logic.
  9. 9 . The system of claim 7 , wherein the model analysis module is further configured to: identify at least one joint of the motion joins that is connected to a ground; starting from each joint of the at least one joint connected to the ground, search a joint chain to get information of all joints of the motion joins and all rigid bodies connected with the motion joints; check a coupler connected to a motion joint; check a motor which drives a motion joint; check whether a joint chain is open-loop or closed-loop; add an actual mass and a moment of inertia to a rigid body connected by dynamic joint and an articulated joint; set the actual mass and the moment of inertia of a rigid body connected by a kinematics joint to O; and remove a collision flag of a rigid body connected by a kinematics joint.
  10. 10 . The system of claim 9 , wherein the simulation module is further configured to: determine each simulation step according to the execution order of the analytical model; use the corresponding algorithm engine and/or the corresponding collision logic to calculate motion and dynamic parameters of all rigid bodies in each joint chain in each simulation step; and move, in each simulation step, according to the motion and dynamic parameters, all rigid bodies to a corresponding calculated position, and display at least one kind of related information in information of the corresponding calculated position, velocity, acceleration, jerk, force, torque, and collision signal of all rigid bodies.
  11. 11 . The system of claim 10 , wherein, when calculating the motion and dynamic parameters of all rigid bodies in each joint chain in each simulation step, the simulation module is configured to: determine a first simulation step as current simulation step; use the corresponding algorithm engine to calculate current motion and dynamic parameters of a first rigid body, and take the first rigid body as a current rigid body; determine whether the current rigid body is a last rigid body in a current joint chain; determine whether the current simulation step is a last simulation step when the current rigid body is the last rigid body, and finish the calculation when the current simulation step is the last simulation step, or take the next simulation step as the current simulation step and return to perform the using of the corresponding algorithm engine to calculate current motion and dynamic parameters of the first rigid body when the current simulation step is not the last simulation step; and take a next rigid body as the current rigid body when the current rigid body is not the last rigid body, and use the corresponding algorithm engine and/or the corresponding collision logic to calculate current motion and dynamic parameters of the current rigid body according to motion and dynamic parameters of a previous rigid body, and then return to perform the determining of whether the current rigid body is the last rigid body in the joint chain.
  12. 12 . The system of claim 7 , wherein the multiple subsystems comprise at least one of the following subsystems: a conventional joint subsystem comprising a fixed joint, a hinge joint, a sliding joint, a cylindrical joint, a screw joint, a point on curve joint, a ball joint and a planar joint, wherein three options of solution parameters of dynamics, kinematics and articulation are set for each joint in the conventional joint subsystem; an open-loop subsystem with one end connected to a ground, which comprises at least one rigid body and at least one joint, wherein three options of solution parameters of dynamics, kinematics and articulation are set for each joint in the open-loop subsystem; a closed-loop subsystem with two ends connected to the ground, which comprises rigid bodies and joints, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint of the joints in the closed-loop subsystem; a point on a curve joint chain subsystem comprising a master rigid body controlled by 1 to 3 point kinematics joints on the curve and at least one slave rigid body following the motion of the master rigid body, wherein an option of kinematics solution parameter is set for each kinematics joint of the 1 to 3 point kinematics joints on the curve; a coupling transport subsystem comprising a gear, a rack and pinion, a three joint coupler, a pulley and belt, and a mechanical cam, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint in the coupling transport subsystem; a driving subsystem comprising position control, speed control, inverse kinematics control, gesture control, and transport surface, wherein three options of solution parameters of dynamics, kinematics, and articulation are set for each joint in the driving subsystem; a hydraulic and pneumatic subsystem comprising force and/or torque control, hydraulic cylinder, hydraulic valve, pneumatic cylinder, and pneumatic valve, wherein an option of dynamic solution parameter is set for each joint in the hydraulic and pneumatic subsystem; and a dynamics joint subsystem comprising angular spring joint, linear spring joint, angular limit joint, linear limit joint, breaking constraint, and spring damper, wherein an option of dynamic solution parameter is set for each joint in the dynamics joint subsystem.
  13. 13 . A system for digital plant system model creation and simulation, the system comprising: at least one memory configured to store a computer program; and at least one processor configured to call the computer program stored in the at least one memory to: receive a digital model created by a user based on a modeling library, wherein, in the modeling library, a digital plant system is divided into multiple subsystems, and motion joints in each subsystem of the multiple subsystems are set with at least one option of at least one solution parameter of dynamics, kinematics, and articulation; analyze the digital model to obtain an analytical model with an execution order, wherein the analyzing of the digital model comprises, for each motion joint in the digital model, associating a corresponding algorithm engine in a simulation engine with the respective motion joint according to a solution parameter of the respective motion joint, and wherein the simulation engine comprises a kinematics algorithm engine, a dynamics algorithm engine, and an articulation algorithm engine; and solve the analytical model according to the execution order of the analytical model and performing a simulation according to a solution result, wherein the solving of the analytical model comprises using the corresponding algorithm engine to solve the respective motion joint associated with the corresponding algorithm engine.

Description

This application is a § 371 nationalization of PCT Application Serial No. PCT/CN2021/097441, filed May 31, 2021, designating the United States, which is hereby incorporated by reference in its entirety. FIELD The present disclosure relates to industry technologies, and more particularly, to a method and system for digital plant system model creation and simulation and a computer-readable storage medium. BACKGROUND Digital twin (DT) is an important technology of Industry 4.0, and digital twin supports the creation and simulation of various digital models, from machine station to assembly or manufacture line, to the whole plant. Physics engine provides approximate simulation for physical systems like gravity, collision detection, rigid body dynamics, friction modeling, etc. The simulation may be intended to model real world physics as closely as possible and has been used in computer games dramatically over the last years. Typically, in an industry automation environment, the system may include large number of machineries, devices and controllers, and it has some concerns in performance, stability and accuracy of using the physics engine to simulate such large-scale robotized machine operations, processes of manufacture or the production line flow. There is no a general physics engine that performs best for any given case, each engine has strengths and weaknesses. SUMMARY According to examples of the present disclosure, method and system for digital plant system model creation and simulation and a computer-readable storage medium are provided to improve the performance, stability and accuracy of virtual digital plant. The method for digital plant system model creation and simulation provided by examples of the present disclosure includes: receiving a digital model created by a user based on a modeling library; in the modeling library, a digital plant system is divided into multiple subsystems, and motion joints in each subsystem are set with at least one option of at least one solution parameter of dynamics, kinematics and articulation; analyzing the digital model to obtain an analytical model with an execution order; wherein analyzing the digital model comprises: for each motion joint in the digital model, associating a corresponding algorithm engine in a simulation engine with the motion joint according to a solution parameter of the motion joint; the simulation engine comprises a kinematics algorithm engine, a dynamics algorithm engine and an articulation algorithm engine; solving the analytical model according to the execution order of the analytical model, and performing simulation according to a solution result; wherein solving the analytical model comprises: using the corresponding algorithm engine to solve the motion joint associated with the algorithm engine. In an example, in the modeling library, a collision flag option is set for each rigid body that may collide in each subsystem; the simulation engine further includes collision logics of collisions between different rigid bodies; and the collision logics include: kinematics rigid body-dynamics rigid body collision logic, dynamics rigid body-kinematics rigid body collision logic, kinematics rigid body-kinematics rigid body collision logic, and dynamics rigid body-dynamics rigid body collision logic; wherein analyzing the digital model further comprises: for each rigid body with a collision flag, according to a solution parameter of a motion joint connected with the rigid body, associating a corresponding collision logic in the simulation engine with the rigid body, wherein solving the analytical model further comprises: using the corresponding collision logic to solve the rigid body associated with the collision logic. In an example, wherein analyzing the digital model further includes: checking at least one joint that are connected to the ground; starting from each joint connected to the ground, searching a joint chain to get the information of all joints and all rigid bodies connected with the joints; checking a coupler connected to a joint; checking a motor which drives a joint; checking whether a joint chain is open-loop or closed-loop; adding an actual mass and a moment of inertia to a rigid body connected by dynamic joint and articulated joint; setting the mass and moment of inertia of a rigid body connected by a kinematics joint to 0; removing a collision flag of a rigid body connected by a kinematics joint. In an example, wherein solving the analytical model according to the execution order of the analytical model, and performing simulation according to a solution result includes: determining each simulation step according to the execution order of the analytical model; using corresponding algorithm engine and/or collision logic to calculate motion and dynamic parameters of all rigid bodies in each joint chain in each simulation step; in each simulation step, according to the motion and dynamic parameters, moving all rigid bodies to a corr