Manufacturing industry factory digital twin software system based on rosnodejs and PolygonJS fusion
By integrating rosnodejs and PolygonJS, the integration difficulty and compatibility problems in the development and application of factory digital twin systems are solved, efficient and stable factory management and production process optimization are achieved, and the overall performance and reliability of the system are improved.
Patent Information
- Application Number
- CN202411830897.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-12
AI Technical Summary
The existing technology has complex integration difficulties, poor compatibility, unstable data transmission and poor functional synergy in the development and application of factory digital twin systems, which is difficult to meet the manufacturing industry's demand for efficient, stable and reliable digital twin technologies.
By integrating rosnodejs and PolygonJS, a fusion module is designed to realize the interface for data interaction and function calls, combined with PolygonJS's 3D modeling and simulation engine, a high-precision factory 3D model is built, and through the interaction between rosnodejs and the ROS system, intelligent scheduling and real-time data processing of the logistics system is realized.
It realizes a powerful, easy-to-integrate and deploy factory digital twin system, improves the efficiency of factory management, ensures production fluency, and reduces system maintenance and deployment costs.
Smart Images

Figure CN119761006A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of intelligent management of manufacturing industry and software system development, and in particular to a digital twin software system for a manufacturing factory based on the integration of rosnodejs and PolygonJS. Background Art
[0002] In the rapid development of modern manufacturing, improving production efficiency, optimizing logistics processes and reducing costs have become key factors for enterprises to continue to compete and develop. With the continuous advancement of information technology, digital twin technology, as an emerging technical means, has gradually shown great potential in factory optimization management. By creating a virtual mirror of the physical factory, digital twin technology enables enterprises to comprehensively plan, simulate and optimize factory layout, equipment operation, logistics routes, etc. in a virtual environment, thereby effectively improving production efficiency and reducing operating costs.
[0003] However, although digital twin technology has many advantages in theory, it still faces many technical challenges and limitations in the actual development and application of factory digital twin systems.
[0004] First, the existing technology has obvious deficiencies in building complex 3D factory models and conducting sophisticated simulations. For example, orosnodejs, as a technical framework with unique advantages in robot system interaction and communication, performs well in robot control, but lacks an intuitive visual interface and the ability to accurately model the factory's physical environment. This makes it difficult for companies to obtain accurate and comprehensive simulation results when using orosnodejs for preliminary planning and simulation verification of the overall factory layout, equipment movement, and logistics routes, thus affecting the application effect of digital twin technology.
[0005] On the other hand, although oPolygonJS has significant advantages in creating realistic 3D scenes and performing visual simulation operations, and can provide enterprises with an intuitive and vivid factory simulation environment, it has shortcomings in deep interaction with actual robot systems and real-time data communication. In the actual production process, oPolygonJS is difficult to efficiently interact with mobile robots in real-time topics and services, resulting in the inability to achieve accurate scheduling and dynamic optimization of the logistics system. This limitation has severely restricted the application of oPolygonJS in digital twin technology.
[0006] In addition, when trying to integrate different systems for factory digital twins, existing technologies also face problems such as difficult integration, poor compatibility, unstable data transmission, and poor functional synergy. Due to differences in the architecture and interfaces of different systems, the integration process is complicated and costly, and the development cycle is extended. At the same time, it is often difficult to ensure the stability and reliability of the integrated system, and it is prone to problems such as data loss and transmission delays, which seriously affects the actual application effect of digital twin technology.
[0007] In summary, the existing technologies have many limitations in the development and application of factory digital twin systems, and it is difficult to meet the urgent needs of the manufacturing industry for efficient, stable and reliable digital twin technology. Therefore, a new technical solution is urgently needed to solve the above problems and promote the widespread application and development of digital twin technology in modern manufacturing. Summary of the invention
[0008] In order to overcome the limitations of the prior art, the purpose of the present invention is to provide a digital twin software system for a manufacturing factory based on the integration of rosnodejs and PolygonJS. The system combines the advantages of rosnodejs in robot system interaction and communication with the capabilities of PolygonJS in 3D modeling and visualization to achieve a powerful, easy-to-integrate and deploy factory digital twin system.
[0009] The present invention achieves the above-mentioned purpose through the following technical solutions:
[0010] A digital twin software system for manufacturing factories based on the integration of rosnodejs and PolygonJS, including:
[0011] A fusion module, which designs and implements a new class of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS, which inherits the key properties and methods of the two classes and optimizes the interfaces of data interaction and function calls; wherein the new class is used in a node object to simultaneously process the communication mechanism of the ROS system and perform specific operations of PolygonJS;
[0012] A data interaction mechanism is established in the fusion module to realize data transmission and interaction between the fusion module and other modules, so as to ensure that the data in the ROS system is transmitted to the 3D scene of PolygonJS for visualization and analysis, and at the same time, the data simulated and monitored in PolygonJS is fed back to the ROS system to control and schedule the actual production equipment and mobile robots;
[0013] The early simulation function module uses the fusion module and the modeling function of PolygonJS to build a high-precision 3D model of the factory, and through the fusion module and the ability to obtain equipment and robot motion data in the ROS system, combined with the simulation engine of PolygonJS, simulates the movement of equipment, the operation process of the production line, the planning of logistics routes, and the movement trajectory of mobile robots;
[0014] The actual production interaction function module of ROS2 is integrated, and data interaction between the system and the mobile robot is realized through the fusion module, and command information is sent to the mobile robot. According to the previous simulation analysis results and real-time data in the actual production process, the function of the fusion module is used to realize intelligent scheduling of the logistics system.
[0015] According to a manufacturing factory digital twin software system based on the fusion of rosnodejs and PolygonJS provided by the present invention, the fusion module also includes the following custom methods:
[0016] The start method is used to start the Node instance of rosnodejs;
[0017] The stop method is used to stop the Node instance of rosnodejs;
[0018] The publish method is used to publish messages to the specified ROS topic.
[0019] According to the present invention, a digital twin software system for a manufacturing factory based on the integration of rosnodejs and PolygonJS also includes:
[0020] Web-side components are used to achieve real-time data synchronization and cross-platform access through Web technology.
[0021] According to a manufacturing factory digital twin software system based on the integration of rosnodejs and PolygonJS provided by the present invention, the data interaction mechanism also performs data caching, synchronization and verification:
[0022] Receive equipment operation data from various sensors in chemical production plants;
[0023] Using the data cache mechanism, the received data is quickly stored in a temporary cache to reduce data access latency;
[0024] Implement data synchronization algorithms to ensure consistency and real-time performance between cached data and the system's main database;
[0025] Apply data verification algorithms to verify the data in the cache in real time, eliminate erroneous or abnormal data, and ensure data quality.
[0026] According to a manufacturing plant digital twin software system based on the integration of rosnodejs and PolygonJS provided by the present invention, the PolygonJS technology is used to convert the verified data into a visual chart in real time, and intuitively display the operating status of the equipment in the chemical production plant;
[0027] Through the interactive interface between rosnodejs and ROS system, control instructions are generated and sent to related equipment and robots according to the real-time status of the equipment and production requirements;
[0028] When processing large amounts of concurrent data, computing resources are dynamically allocated based on the priority and urgency of the data; critical data is identified and prioritized, and load balancing is achieved through intelligent algorithms.
[0029] According to a manufacturing factory digital twin software system based on the integration of rosnodejs and PolygonJS provided by the present invention, the Web-side components are deployed on the server side. When the system needs to add new functions, fix vulnerabilities or optimize performance, it is only necessary to add corresponding functions, test and optimize on the server side; wherein, all update operations are completed on the server side, and there is no need to deploy or update each client device in the factory separately;
[0030] Access the system's web interface through a standard web browser; when the server has completed the update, the system automatically detects and prompts the user to refresh the browser page; the user can immediately use the latest version of the system by refreshing the page.
[0031] According to a manufacturing factory digital twin software system based on the fusion of rosnodejs and PolygonJS provided by the present invention, the fusion module design includes:
[0032] Create a new class named GraphicalROSNode, which inherits from the CoreGraphNode class. It aims to combine the basic capabilities of graphical nodes and integrate the properties and methods of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS. In the definition of the GraphicalROSNode class, it is clearly specified that it inherits from the Node class and the CoreGraphNode class, and obtains all the public properties and methods of these two parent classes.
[0033] In the GraphicalROSNode class, all properties and methods of the Node class and the CoreGraphNode class are accessed and called through the inheritance mechanism; for properties and methods that need special processing or rewriting, custom implementations are provided in the GraphicalROSNode class;
[0034] According to the system requirements, the properties and methods of the Node class and the CoreGraphNode class are integrated;
[0035] According to the above design, write the code of the GraphicalROSNode class. In the code, use the interfaces and functions provided by the Node class and the CoreGraphNode class to implement the specific functions of the fusion class.
[0036] During the test, verify the inheritance and integration of the fusion class with the properties and methods of the Node class and CoreGraphNode class.
[0037] According to a manufacturing factory digital twin software system based on the integration of rosnodejs and PolygonJS provided by the present invention, in the constructor of the GraphicalROSNode class, the constructor of the parent class CoreGraphNode is first called, and the initial graphical attributes are passed in;
[0038] In the constructor, create a corresponding rosnodejs Node instance and save it as an attribute this.rosNode of the GraphicalROSNode class, and ensure that the correct association is established between this.rosNode and the GraphicalROSNode instance;
[0039] Define the start method in the GraphicalROSNode class, which calls the start method of this.rosNode internally to start the corresponding rosnodejs node; define the stop method, which calls the stop method of this.rosNode internally to stop the corresponding rosnodejs node; define the publish method, which accepts at least one parameter to specify the ROS topic to be published, and optionally accepts the message content as a parameter; inside the publish method, call the relevant methods of this.rosNode to construct and publish a message according to the specified ROS topic and message content.
[0040] According to a manufacturing plant digital twin software system based on the integration of rosnodejs and PolygonJS provided by the present invention, in the GraphicalROSNode class, a base class or interface for building a 3D model in PolygonJS is inherited to ensure the use of the 3D modeling, rendering and interaction functions provided by PolygonJS;
[0041] In the GraphicalROSNode class, add methods and properties for managing the specific properties and behaviors of the factory 3D model;
[0042] Use the 3D modeling tool or API of PolygonJS to build a factory 3D model in the instance of the fusion class, and adjust the model parameters to make the 3D model visually close to the actual factory environment;
[0043] In the GraphicalROSNode class, set physical parameters for each component of the factory 3D model for subsequent simulation calculations to ensure that the model's behavior in the virtual environment complies with physical laws;
[0044] Animate dynamic elements in your factory 3D model through keyframe animation, path animation, or physics-driven dynamic simulation.
[0045] According to the present invention, a manufacturing factory digital twin software system based on the integration of rosnodejs and PolygonJS communicates with the ROS system, subscribes to the data topics of actual equipment and robots, parses the received data, and extracts the status information, location information, motion trajectory, etc. of the equipment and robots;
[0046] Initialize the factory 3D model based on the actual data obtained through the ROS system, map the status, position, motion trajectory and other information of the actual equipment and robots to the corresponding components of the 3D model, and set the initial state of the model to keep it consistent with the actual factory environment;
[0047] After initialization is completed, the simulation is started. According to the actual data continuously obtained by the ROS system, the status and animation effects of the factory 3D model are updated in real time, and a user interaction interface is provided.
[0048] It can be seen that compared with the prior art, the system provided by the present invention has the following beneficial effects:
[0049] (1) Technology fusion innovation: This invention breaks the technical barriers between rosnodejs and PolygonJS and achieves synergy between the two. Through fusion technology, the system can simultaneously utilize the advantages of rosnodejs in robot system interaction and communication and the capabilities of PolygonJS in 3D modeling and visualization, providing a new solution for digital twins of manufacturing factories.
[0050] (2) Functional integration innovation: The present invention integrates the full process functions from early 3D modeling and simulation to actual production interaction and logistics scheduling, forming a one-stop solution, which greatly improves the efficiency of factory management.
[0051] (3) Performance optimization and innovation: By optimizing the data interaction mechanism and adopting advanced data caching, synchronization and verification algorithms, the present invention achieves accurate data transmission and efficient processing, ensuring smooth production.
[0052] (4) Advantages of Web client operation: The present invention is developed based on the Web, and has the characteristics of convenient cross-platform accessibility, real-time data synchronization and updating, and easy deployment and maintenance.
[0053] (5) Graphical programming advantages: The present invention introduces a graphical programming method, which lowers the programming threshold, promotes multi-field collaboration, improves development efficiency, and makes the logical structure of the system more intuitive, easy to understand and maintain.
[0054] The present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 It is a principle schematic diagram of an embodiment of a digital twin software system for a manufacturing factory based on the fusion of rosnodejs and PolygonJS of the present invention.
[0056] Figure 2 It is a schematic diagram of the principle of docking a forklift AGV with two roller conveyor lines in an embodiment of the digital twin software system for a manufacturing factory based on the integration of rosnodejs and PolygonJS of the present invention. DETAILED DESCRIPTION
[0057] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0058] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0059] See also Figure 1 This embodiment provides a manufacturing factory digital twin software system based on the integration of rosnodejs and PolygonJS, including:
[0060] A fusion module is designed and implemented as a new class of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS. The new class inherits the key properties and methods of the two classes and optimizes the interfaces for data interaction and function calls. The new class is used in a node object to simultaneously handle the communication mechanism of the ROS system and perform specific operations of PolygonJS.
[0061] A data interaction mechanism is established in the fusion module to realize data transmission and interaction between the fusion module and other modules. This is used to ensure that the data in the ROS system is transmitted to the 3D scene of PolygonJS for visualization and analysis. At the same time, the simulated and monitored data in PolygonJS is fed back to the ROS system to control and schedule the actual production equipment and mobile robots.
[0062] The early simulation function module uses the fusion module and the modeling function of PolygonJS to build a high-precision 3D model of the factory. It also uses the fusion module and the ROS system's ability to obtain equipment and robot motion data, combined with the PolygonJS simulation engine, to simulate equipment movements, production line operation processes, logistics route planning, and mobile robot motion trajectories.
[0063] The actual production interaction function module of ROS2 is integrated, and the data interaction between the system and the mobile robot is realized through the fusion module, and command information is sent to the mobile robot. According to the previous simulation analysis results and the real-time data in the actual production process, the function of the fusion module is used to realize the intelligent scheduling of the logistics system.
[0064] In this embodiment, the fusion module also includes the following custom methods:
[0065] The start method is used to start the Node instance of rosnodejs.
[0066] The stop method is used to stop the Node instance of rosnodejs.
[0067] The publish method is used to publish messages to the specified ROS topic.
[0068] In this embodiment, the system further includes:
[0069] Web-side components are used to achieve real-time data synchronization and cross-platform access through Web technology.
[0070] In this embodiment, the data interaction mechanism also performs data caching, synchronization and verification:
[0071] Receive equipment operation data from various sensors in chemical production plants;
[0072] Using the data cache mechanism, the received data is quickly stored in a temporary cache to reduce data access latency;
[0073] Implement data synchronization algorithms to ensure consistency and real-time performance between cached data and the system's main database;
[0074] Apply data verification algorithms to verify the data in the cache in real time, eliminate erroneous or abnormal data, and ensure data quality.
[0075] In this embodiment, the PolygonJS technology is used to convert the verified data into a visual chart in real time, which intuitively displays the operating status of the equipment in the chemical production plant; through the interactive interface between rosnodejs and the ROS system, control instructions are generated and sent to related equipment and robots according to the real-time status and production needs of the equipment. Among them, when processing a large amount of concurrent data, computing resources are dynamically allocated according to the priority and urgency of the data; key data are identified and processed preferentially, and load balancing is achieved through intelligent algorithms.
[0076] In this embodiment, the Web-side components are deployed on the server side. When the system needs to add new functions, fix vulnerabilities or optimize performance, it is only necessary to add corresponding functions, test and optimize on the server side. Among them, all update operations are completed on the server side, and there is no need to deploy or update each client device in the factory separately. The system's Web-side interface is accessed through a standard Web browser. When the server side completes the update, the system automatically detects and prompts the user to refresh the browser page. The user can immediately use the latest version of the system by refreshing the page.
[0077] In this embodiment, the fusion module design includes:
[0078] Create a new class named GraphicalROSNode, which inherits from the CoreGraphNode class. It aims to combine the basic capabilities of graphical nodes (from CoreGraphNode) and integrate the properties and methods of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS. In the definition of the GraphicalROSNode class, it is clearly specified that it inherits from the Node class and the CoreGraphNode class, and obtains all the public properties and methods of these two parent classes.
[0079] In the GraphicalROSNode class, all properties and methods of the Node class and the CoreGraphNode class are accessed and called through the inheritance mechanism; for properties and methods that need special processing or rewriting, custom implementations are provided in the GraphicalROSNode class.
[0080] According to the system requirements, the properties and methods of the Node class and the CoreGraphNode class are integrated; according to the above design, the code of the GraphicalROSNode class is written. In the code, the interfaces and functions provided by the Node class and the CoreGraphNode class are used to implement the specific functions of the integrated class; during the test process, the inheritance and integration of the properties and methods of the Node class and the CoreGraphNode class by the integrated class is verified.
[0081] In the constructor of the GraphicalROSNode class, first call the constructor of the parent class CoreGraphNode and pass in the initial graphical attributes (such as labels, colors, positions, etc. The attributes here are just examples and should be determined according to the actual requirements of CoreGraphNode); in the constructor, create a corresponding rosnodejs Node instance and save it as an attribute this.rosNode of the GraphicalROSNode class, and ensure that the correct association is established between this.rosNode and the GraphicalROSNode instance;
[0082] Define the start method in the GraphicalROSNode class, which calls the start method of this.rosNode internally to start the corresponding rosnodejs node; define the stop method, which calls the stop method of this.rosNode internally to stop the corresponding rosnodejs node; define the publish method, which accepts at least one parameter to specify the ROS topic to be published, and optionally accepts the message content as a parameter; inside the publish method, call the relevant methods of this.rosNode to construct and publish messages according to the specified ROS topic and message content. It can be seen that this embodiment defines several convenient operation methods, such as the start and stop methods, which simply call the start and stop methods corresponding to the Node instance of rosnodejs, and the publish method, which is used to publish messages to the specified ROS topic. Of course, the real scene needs to correctly construct and process messages according to the specific ROS message type.
[0083] In the GraphicalROSNode class, inherit the base class or interface used to build 3D models in PolygonJS to ensure the use of the 3D modeling, rendering, and interaction functions provided by PolygonJS. In the GraphicalROSNode class, add methods and properties for managing the specific properties and behaviors of the factory 3D model. Use the 3D modeling tools or API of PolygonJS to build the factory 3D model in the instance of the fusion class, and adjust the model parameters to make the 3D model visually close to the actual factory environment.
[0084] In the GraphicalROSNode class, set physical parameters for each component of the factory 3D model for subsequent simulation calculations to ensure that the model's behavior in the virtual environment conforms to the laws of physics; add animation effects to the dynamic elements in the factory 3D model through keyframe animation, path animation, or dynamic simulation driven by a physics engine.
[0085] In this embodiment, the communication with the ROS system is carried out, the data topics of the actual device and the robot are subscribed, the received data is parsed, and the status information, location information, motion trajectory, etc. of the device and the robot are extracted;
[0086] Initialize the factory 3D model based on the actual data obtained through the ROS system, map the status, position, motion trajectory and other information of the actual equipment and robots to the corresponding components of the 3D model, and set the initial state of the model to keep it consistent with the actual factory environment;
[0087] After initialization is completed, the simulation is started. According to the actual data continuously obtained by the ROS system, the status and animation effects of the factory 3D model are updated in real time, and a user interaction interface is provided.
[0088] For example, this embodiment takes the asynchronous function part as an example part:
[0089] First, initialize the rosnodejs node, which is a basic prerequisite for using rosnodejs.
[0090] Then create an instance of GraphicalROSNode and pass in the node name
[0091] And rosnodejs's Node initialization related options (such as namespace, etc.).
[0092] Then the graphical ROS node is started, and a simple message publishing operation is performed, publishing a message of type std_msgs / String to the topic / test_topic (again, this is just an example, and the message type and content should be adjusted according to actual business needs). More graphical interactions and complex ROS node operation logic can be added later.
[0093] In actual applications, it is necessary to accurately call the parent class constructor according to the real API of the CoreGraphNode class in PolygonJS and use graphics-related functions (such as adding nodes to the graphics scene, processing interactive events such as node movement and scaling, etc.).
[0094] For the rosnodejs part, message publishing, subscription, and interaction with different ROS message types and services should be written and improved in detail according to the actual requirements of the ROS system, such as correctly handling message callbacks, service request responses, and other operations.
[0095] Develop data interaction interfaces and communication protocols to realize data transmission and interaction between fusion classes and other modules. Referring to the above code, because the graphical programming node is integrated into the ros node, it automatically inherits the topic publishing, subscription and other methods of the ros node, inherits the ROS communication function, and realizes data interaction and communication functions.
[0096] In actual applications, the development environment construction includes the following:
[0097] Install and configure necessary development tools and software environments, including ROS-related components, PolygonJS development libraries, programming language runtime environments (such as Node.js), etc. Ensure compatibility and normal communication between various software.
[0098] Establish the project development directory structure and set the relevant configuration files and parameters. For example, a forklift AGV is connected to two roller conveyor lines. One of the positions is that the forklift AGV loads a pallet from one conveyor line and moves to another position to put the pallet on the other conveyor line. You only need to draw the following through the graphical programming interface: Figure 2 The process and corresponding parameters shown are sufficient.
[0099] Write the code of the fusion class according to the design plan, realize the inheritance and integration of the properties and methods of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS, and conduct sufficient testing and debugging to ensure the normal function of the fusion class.
[0100] Use the functions of the fusion class and PolygonJS to build a factory 3D model, set the physical parameters and animation effects of the model. Obtain the data of actual equipment and robots through the ROS system to initialize the simulation. For example, factory buildings, automatic doors, elevators and various equipment can be encapsulated as fusion classes. The attribute methods of the fusion class can be defined and encapsulated as child nodes of PolygonJS. Then, by adding physical object nodes such as these devices, setting coordinates (positions in the factory scene), size settings, action parameter settings, and according to the actual process flow and information flow requirements, graphical programming methods can be used in the physical nodes to configure the publishing and subscription of different topics and services, so as to achieve rapid construction of 3D models.
[0101] Write simulation algorithms and analysis programs to realize simulation and analysis functions for production, logistics, and robot motion. Integrate ROS2 related functions to realize real-time interaction and scheduling with mobile robots.
[0102] Conduct comprehensive system testing, including functional testing, performance testing, compatibility testing, etc. Simulate different production scenarios and robot operation conditions to verify the accuracy and stability of the system.
[0103] Optimize and adjust based on the test results, fix any problems found, and improve system performance and reliability.
[0104] In the previous independent systems, rosnodejs focused on robot system communication and interaction. For example, when rosnodejs was used alone to control robot motion in traditional factories, although a single robot could accurately move along a predetermined trajectory and basic communication scheduling could be performed in a multi-robot collaborative scenario, its visualization effect was poor and it was impossible to intuitively present the overall layout of the factory and the relationship between the equipment. PolygonJS performs well in building exquisite 3D models and can create realistic factory environment models, but lacks the ability to interact deeply with the actual robot system. When the two are merged, taking an automobile manufacturing plant as an example, in the early planning of new car model production, the fused system can simultaneously use rosnodejs to obtain accurate robot motion parameters and PolygonJS to build high-precision 3D models of factory workshops, production equipment and robots. Engineers can intuitively see the operation of the robot in the workshop, and easily adjust the robot's motion path and action according to actual needs, without switching between two different systems and performing complex data conversion, which greatly improves the efficiency and accuracy of early planning. It can be seen that the present invention breaks the technical barriers between rosnodejs and PolygonJS and achieves synergy between the two. Through the fusion of technologies, the system is able to simultaneously leverage the advantages of rosnodejs in robot system interaction and communication and the capabilities of PolygonJS in 3D modeling and visualization, providing a new solution for digital twins of manufacturing factories.
[0105] Traditional factory digital twin systems often have scattered functions. For example, some systems can only perform simple 3D model display and cannot simulate and analyze the production process; and some systems that focus on logistics scheduling cannot be combined with the actual operating status of the robot. The present invention integrates the full process functions from early 3D modeling, simulation to actual production interaction and logistics scheduling, forming a one-stop solution, which greatly improves the efficiency of factory management. In an electronic product manufacturing factory, from the early stage of factory construction, the 3D modeling function of the system can be used to build a factory building and production line model, and the rationality of the production line design can be verified in advance through the simulation function, such as whether the equipment layout will cause congestion in the material transportation route, whether the production rhythm is coordinated, and other issues. In the actual production stage, the system can obtain the position and status information of the mobile robot in real time, dynamically adjust the robot's path planning according to the production task, and optimize the task allocation of the logistics system to ensure that the materials are supplied to the production line in a timely and accurate manner, realizing seamless connection from virtual design to actual production, and avoiding the problems of information islands and poor functional connection caused by the use of multiple independent systems.
[0106] In an unfused system, there are many bottlenecks in data transmission and processing. For example, when using independent simulation systems and robot control systems in traditional factories, a large amount of data generated by the simulation system is often delayed and lost when transmitted to the robot control system. This causes the actual operation of the robot to be inconsistent with the simulation. For example, in a logistics handling scenario, the robot may collide or delay material handling due to delays in the received path information. The fused system of the present invention optimizes the data interaction mechanism and adopts advanced data caching, synchronization and verification algorithms. In a chemical production plant, the equipment operation data collected by the sensor can be quickly and accurately transmitted to the fusion system. The system uses the visualization function of PolygonJS to display the equipment status in real time, and transmits the control instructions to the relevant equipment and robots in time through the interaction ability of rosnodejs and ROS system. At the same time, when processing a large amount of concurrent data, the system can intelligently allocate computing resources and give priority to key data, such as data related to safety warnings and production bottlenecks, to ensure the efficient and stable operation of the entire production process and reduce the probability of production stagnation and failures caused by data problems.
[0107] In traditional PC-side software applications, if it is a digital twin software for a manufacturing plant developed based on a specific operating system, such as conventional PC-side software that is only adapted to the Windows system, when the factory managers or technicians are using devices with different operating systems (such as Linux or macOS), they cannot smoothly access and operate the software. The system of the present invention based on the Web side can be accessed through a browser. As long as the device is connected to the network and has a browser, whether it is a desktop computer in the factory office, an engineer's notebook, or a handheld mobile device, you can log in to the system at any time to view the real-time status of the factory, perform parameter adjustments, and other operations. For example, when the factory is carrying out emergency repairs on equipment, even if the technician is not in front of the office computer in the factory, he can use a mobile phone to quickly access the system through the Web side, view the 3D model and related data of the equipment, and guide the on-site maintenance personnel to operate.
[0108] Conventional PC-side software often relies on manual updates or synchronization at fixed time intervals for data updates. In the factory production process, this may cause information lag. For example, in the conventional PC-side factory monitoring software, the operating data of the equipment may be updated every half an hour. However, in the Web-side system of the present invention, with the advantages of modern Web technology, such as real-time communication protocols such as WebSocket, it is possible to achieve instant synchronization of data. When the sensors on the production line detect changes in equipment parameters or changes in the position of the mobile robot, the Web-side interface can be updated and displayed instantly, and managers can make decisions at the first time. For example, in logistics management, once the mobile robot encounters an obstacle and changes its route, the Web-side can immediately display the new route information, and the dispatcher can immediately adjust the subsequent logistics tasks to ensure the smoothness of the entire production logistics process.
[0109] For conventional PC-side software, when it is deployed within the factory, it is necessary to perform complex operations such as installing the program and configuring the environment on each device. Moreover, when the software is updated or a vulnerability is fixed, it is also necessary to update each device one by one, which not only takes a lot of time and manpower, but may also cause installation or update failures due to differences in some devices. The Web-side system of the present invention only needs to be deployed and updated on the server side, and factory employees can use the latest version by accessing it through a browser. For example, when the system adds a simulation function for a new type of equipment, it only needs to complete the function addition and testing on the server side, and all authorized users in the factory can immediately use the new function by refreshing the browser page, which greatly reduces the deployment and maintenance costs and improves the availability of the system.
[0110] Under the traditional conventional code programming method, the development of digital twin software for manufacturing factories requires professional programmers to have deep programming knowledge, including mastering multiple programming languages (such as C++, Python, etc.), data structures and algorithms, etc. This makes it difficult for people in non-programming professional fields, such as process engineers and logistics planners in factories, to participate in the development and optimization of software. The application of graphical programming in the system of the present invention, taking the construction of a factory logistics simulation model as an example, logistics planners can easily build the basic framework of logistics simulation by dragging and dropping graphic modules representing different functions (such as modules representing material transportation equipment, path node modules, etc.), without writing complex code. This greatly reduces the programming threshold, promotes collaboration between people in different professional fields, and can more quickly adjust and optimize system functions according to actual production needs.
[0111] When using conventional code programming for function development, the entire process from writing code, compiling, debugging to finally realizing the function often takes a lot of time. For example, when adding a new device action simulation function, the programmer may need to write hundreds of lines of code, and may encounter various syntax errors, logical errors and other problems during the debugging process. However, through graphical programming, in the system of the present invention, only the corresponding device action module needs to be selected from the graphic module library, the relevant parameters are set and connected to the system to complete the function addition. This enables developers to quickly iterate system functions. For example, in the process of optimizing the factory production line, different equipment combinations and production process simulation solutions can be quickly tried, and the connection and parameter settings of the graphical module can be adjusted in time according to the simulation results, so as to quickly find the optimal production solution, greatly shortening the product development cycle.
[0112] In conventional code programming, especially for complex algorithms and business logic, the readability of the code is poor. For the personnel who take over the maintenance later, it is an arduous task to understand the code logic and perform troubleshooting. Graphical programming displays the logical structure of the system with intuitive graphic modules and connection relationships. In the factory digital twin software of the present invention, when viewing the interaction logic of the equipment on the production line, the connection order and data flow between the various equipment modules can be clearly seen through the graphical interface. When the system fails, the maintenance personnel can quickly locate the module or connection line where the problem is located and perform targeted repairs. For example, when there is a problem with the path planning logic of the mobile robot, the graphical display can quickly determine whether the path calculation module or the connection with the environmental perception module is abnormal, which greatly improves the maintainability of the system.
[0113] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0114] The above-mentioned embodiments are only preferred embodiments of the present invention and cannot be used to limit the scope of protection of the present invention. Any non-substantial changes and substitutions made by technicians in this field on the basis of the present invention shall fall within the scope of protection required by the present invention.
Claims
1. A digital twin software system for manufacturing factories based on the integration of rosnodejs and PolygonJS, characterized in that: include: A fusion module, which designs and implements a new class of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS, which inherits the key properties and methods of the two classes and optimizes the interfaces of data interaction and function calls; wherein the new class is used in a node object to simultaneously process the communication mechanism of the ROS system and perform specific operations of PolygonJS; A data interaction mechanism is established in the fusion module to realize data transmission and interaction between the fusion module and other modules, so as to ensure that the data in the ROS system is transmitted to the 3D scene of PolygonJS for visualization and analysis, and at the same time, the data simulated and monitored in PolygonJS is fed back to the ROS system to control and schedule the actual production equipment and mobile robots; The early simulation function module uses the fusion module and the modeling function of PolygonJS to build a high-precision 3D model of the factory, and through the fusion module and the ability to obtain equipment and robot motion data in the ROS system, combined with the simulation engine of PolygonJS, simulates the movement of equipment, the operation process of the production line, the planning of logistics routes, and the movement trajectory of mobile robots; The actual production interaction function module of ROS2 is integrated, and data interaction between the system and the mobile robot is realized through the fusion module, and command information is sent to the mobile robot. According to the previous simulation analysis results and real-time data in the actual production process, the function of the fusion module is used to realize intelligent scheduling of the logistics system.
2. The system according to claim 1, characterized in that: The fusion module also includes the following custom methods: The start method is used to start the Node instance of rosnodejs; The stop method is used to stop the Node instance of rosnodejs; The publish method is used to publish messages to the specified ROS topic.
3. The system according to claim 1, characterized in that Also includes: Web-side components are used to achieve real-time data synchronization and cross-platform access through Web technology.
4. The system according to claim 1, characterized in that The data interaction mechanism also performs data caching, synchronization and verification: Receive equipment operation data from various sensors in chemical production plants; Using the data cache mechanism, the received data is quickly stored in a temporary cache to reduce data access latency; Implement data synchronization algorithms to ensure consistency and real-time performance between cached data and the system's main database; Apply data verification algorithms to verify the data in the cache in real time, eliminate erroneous or abnormal data, and ensure data quality.
5. The system according to claim 4, characterized in that: Using PolygonJS technology, the verified data is converted into visual charts in real time to intuitively display the operating status of equipment in chemical production plants; Through the interactive interface between rosnodejs and ROS system, control instructions are generated and sent to related equipment and robots according to the real-time status of the equipment and production requirements; When processing large amounts of concurrent data, computing resources are dynamically allocated based on the priority and urgency of the data; critical data is identified and prioritized, and load balancing is achieved through intelligent algorithms.
6. The system according to claim 2, characterized in that: Deploy the Web components on the server side. When the system needs to add new features, fix vulnerabilities, or optimize performance, it only needs to add corresponding functions, test, and optimize on the server side. All update operations are completed on the server side, and there is no need to deploy or update each client device in the factory separately. Access the system's web interface through a standard web browser; when the server has completed the update, the system automatically detects and prompts the user to refresh the browser page; the user can immediately use the latest version of the system by refreshing the page.
7. The system according to any one of claims 1 to 6, characterized in that: The fusion module design includes: Create a new class named GraphicalROSNode, which inherits from the CoreGraphNode class. It aims to combine the basic capabilities of graphical nodes and integrate the properties and methods of the Node class of rosnodejs and the CoreGraphNode class of PolygonJS. In the definition of the GraphicalROSNode class, it is clearly specified that it inherits from the Node class and the CoreGraphNode class, and obtains all the public properties and methods of these two parent classes. In the GraphicalROSNode class, all properties and methods of the Node class and the CoreGraphNode class are accessed and called through the inheritance mechanism; for properties and methods that need special processing or rewriting, custom implementations are provided in the GraphicalROSNode class; According to the system requirements, the properties and methods of the Node class and the CoreGraphNode class are integrated; According to the above design, write the code of the GraphicalROSNode class. In the code, use the interfaces and functions provided by the Node class and the CoreGraphNode class to implement the specific functions of the fusion class. During the test, verify the inheritance and integration of the fusion class with the properties and methods of the Node class and CoreGraphNode class.
8. The system according to claim 7, characterized in that: In the constructor of the GraphicalROSNode class, first call the constructor of the parent class CoreGraphNode and pass in the initial graphical attributes; In the constructor, create a corresponding rosnodejs Node instance and save it as an attribute this.rosNode of the GraphicalROSNode class, and ensure that the correct association is established between this.rosNode and the GraphicalROSNode instance; Define the start method in the GraphicalROSNode class, which calls the start method of this.rosNode internally to start the corresponding rosnodejs node; define the stop method, which calls the stop method of this.rosNode internally to stop the corresponding rosnodejs node; Define a publish method that accepts at least one parameter to specify the ROS topic to be published, and optionally accepts the message content as a parameter; inside the publish method, call the relevant methods of this.rosNode to construct and publish a message based on the specified ROS topic and message content.
9. The system according to claim 8, characterized in that: In the GraphicalROSNode class, inherit from the base class or interface used to build 3D models in PolygonJS to ensure that the 3D modeling, rendering, and interaction functions provided by PolygonJS are utilized; In the GraphicalROSNode class, add methods and properties for managing the specific properties and behaviors of the factory 3D model; Use the 3D modeling tool or API of PolygonJS to build a factory 3D model in the instance of the fusion class, and adjust the model parameters to make the 3D model visually close to the actual factory environment; In the GraphicalROSNode class, set physical parameters for each component of the factory 3D model for subsequent simulation calculations to ensure that the model's behavior in the virtual environment complies with physical laws; Animate dynamic elements in your factory 3D model through keyframe animation, path animation, or physics-driven dynamic simulation.
10. The system according to claim 9, characterized in that: Communicate with the ROS system, subscribe to data topics of actual devices and robots, parse the received data, and extract the status information, location information, motion trajectory, etc. of the devices and robots; Initialize the factory 3D model based on the actual data obtained through the ROS system, map the status, position, motion trajectory and other information of the actual equipment and robots to the corresponding components of the 3D model, and set the initial state of the model to keep it consistent with the actual factory environment; After initialization is completed, the simulation is started. According to the actual data continuously obtained by the ROS system, the status and animation effects of the factory 3D model are updated in real time, and a user interaction interface is provided.
Citation Information
Patent Citations
Vehicle information display system, method and device and storage medium
CN111614766A
Scheduling simulation method and system of AGV logistics system
CN115793496A
Extrusion production system model integration and fusion method based on digital twin drive
CN116187005A
Underground coal mine multi-robot virtual-real fusion cooperative sensing, decision-making and control method
CN116619360A
Quasi-digital twinning method, system and equipment for mobile robot operation scene and medium
CN116629106A