Designing digital twins for industrial production provides students with a comprehensive understanding of the value of digital twin technology in the industrial sector. Digital twins enable organizations to create virtual representations of their physical assets and processes, providing real-time insights into the performance, condition and behavior of these assets. This technology has the potential to improve the efficiency, reliability, and sustainability of industrial processes, and is increasingly being adopted by a range of industries, including manufacturing, energy, and transportation. By taking a course unit on the design of digital twins, students will learn how to create digital twins that accurately reflect the real-world assets and processes they represent. They will also learn how to integrate data from a variety of sources, including sensors, machines, and control systems, to create a real-time, data-rich model of the physical environment. Additionally, students will learn how to use digital twins to analyze and optimize industrial processes, reduce downtime, and make data-driven decisions that drive process improvement and innovation.
This course unit covers 100 hours, from which 14 hours lectures, 28 hours lab work, and 58 hours individual study and work.
Specific Objectives / Learning Outcomes
The specific objectives or learning outcomes of this course unit are:
- Understanding the concept of digital twins in industrial production, including their benefits, challenges, and limitations.
- Developing knowledge and skills in designing and building digital twins for industrial production processes, including data acquisition, model development, and simulation.
- Understanding how to connect the digital twin with the physical production environment, including sensors, networks, and cloud systems.
- Developing knowledge and skills in the application of AI, machine learning, and other advanced technologies in digital twins for industrial production processes.
- Improving understanding of how to evaluate and validate the performance of digital twins in industrial production processes.
- Understanding how to use digital twins to optimize production processes, improve quality, and increase efficiency.
- Developing communication skills to effectively present and discuss digital twin design and implementation in industrial production.
- Enhancing teamwork skills through collaboration with classmates in designing, building, and evaluating digital twins for industrial production processes.
Alignment to Social and Economic Expectations
Unit 1: Introduction to Digital Twins for Industrial Production and Robotics (2 hours)
- A simplistic introduction to digital twin
- Basic definition and explanation of digital twins
- The history of digital twin
- 5-dimension digital twin
- Digital twin architecture
- Applications of digital twins
- Challenges of digital twins
- AI, machine learning and IoT to construct digital twins
- Fusion of big data, cloud and cyber-physical systems
- Security in digital twins
Unit 2: Fundamentals of Digital Twin Design for Industrial Production and Robotics (2 hours)
- Digital models vs. digital shadows vs. digital twins
- Digital twins vs. simulations
- The main steps in digital twin design
- Digital twin modeling and development
- Technology inputs: overview of communication protocols (MQTT, CoAP, DDS, etc.)
- Technology inputs: overview of data storage solutions (MongoDB, InfluxDB, etc.)
Unit 3: Digital Twin Modeling for Industrial Production and Robotics (2 hours)
- Functional modeling for digital twins
- Dynamic modeling of digital twins
- Data-driven modeling of digital twins
- Technology inputs: overview of modeling tools (Autodesk Fusion 360, Autodesk Digital Twin, Dassault Systems Xcos, Ansys Twin Builder, Mimic Simulation, Digital Twin Intelligent Automation Platform, Iotics, NavVis Digital Factory Solution, Visual Components, Gazebo, ScaleOut Digital Twin Builder, etc.)
- Technology inputs: overview of modeling languages and standards (Industry Foundation Classes (IFC), System Modeling Language (SysML), Model-Based Systems Engineering (MBSE), Virtual Reality Modeling Language (VRML), etc.)
- Technology inputs: overview of simulation tools (Ansys, Siemens Simcenter, etc.)
- Technology inputs: overview of simulation languages and standards (Modelica, SDF, etc.)
Unit 4: Digital Twin Analytics for Industrial Production and Robotics (2 hours)
- Digital twin analytics for industrial production and robotics
- Analytics techniques and tools: AI, ML, etc.
- Analytics languages and standards for industrial production and robotics: R, Python, etc.
- Technology inputs: overview of analytics tools (TensorFlow, Scikit-learn, etc.)
Unit 5: Cyber-Physical Fusion in Digital Twin Shop-Floor (2 hours)
- Digital twin shop-floor
- Reference architecture for digital twin shop-floor
- Physical elements fusion
- Models fusion
- Data fusion
- Service fusion
- Technology inputs: Digital twin-driven prognostics and health management of complex industrial units
- Technology inputs: Application of VR and AR in assembly operations based on digital twin
Unit 6: Step-by-Step Design of a 5-Dimension Digital Twin for Smart Products and Equipment (2 hours)
- Digital twin driven conceptual design
- Conceptual design driven digital twin configuration
- Digital twin driven virtual verification
- Digital twin driven design evaluation
- Digital twin driven process design evaluation
- Case studies: digital twin driven factory design, digital twin based CNC machine tool virtual prototype design, digital twin driven lean design for CNC machine tools, digital twin based virtual commissioning for CNC machine tools
- Technology inputs: digital twin in desiging smart products (landing gear, smart bicycle)
Unit 7: Digital Twin Future Trends and Opportunities, Ethics and Safety (2 hours)
- Overview of future trends and opportunities in digital twin for industrial production and robotics
- Identifying new opportunities for digital twin projects
- Understanding the ethical and safety considerations in digital twin for industrial production and robotics
- Best practices for ensuring the security and privacy of data in digital twin projects
- Regulations and standards related to the use of digital twin in industrial environments
- Technology inputs: overview of emerging technologies (5G, edge computing, fog, etc.) and their potential impact on digital twin
- Technology inputs: overview of data security and privacy best practices and regulations
Unit 1: Setting up the Digital Twin Environment (2 hours class work)
Objective: To provide hands-on experience in setting up the necessary hardware and software components required for creating and testing digital twins.
- Install and configure the necessary software, such as modeling tools and simulation platforms, for creating and testing digital twins.
- Familiarize with the communication protocols and data storage solutions used in digital twins.
- Implement a simple test case to demonstrate the functioning of the digital twin environment.
Unit 2: Study a Digital Twin of an Industrial Robot (2 hours class work and 2 hours individual work)
Objective: To study the technologies used to create a digital twin of a robot.
- Introduce the RoboDK environment with Python API.
- Show how to create a digital robot replica for a two-arm UR robot.
- Show how to connect the robot controller to the simulation platform.
- Show how data from the robot are collected in cloud.
- Show a demo of bilateral communication between robot and its digital replica.
Unit 3: Creating a Functional Digital Twin Model (2 hours class work and 3 hours individual work)
Objective: To develop a functional digital twin model, which can be used to represent the real-world objects and processes.
- Develop a functional digital twin model of a simple real-world object, such as a fan, using Xcos modeling tool.
- Familiarize with the functional modeling techniques and methodologies used in digital twin modeling.
- Validate the model by testing it against the real-world data, such as temperature, voltage, and current readings, etc.
Unit 4: Develop a Digital Twin for Conceptualization of a Robotic Cell (2 hours class work and 10 hours individual work)
Objective: To provide hands-on experience in using RobotStudio with RAPID programming language and Smart Components for virtual commisioning.
- Install RobotStudio and create a simple robotic cell.
- Learn how to program with RAPID and study an example.
- Learn how to create Smart Components in RobotStudio and link them to a program.
- Connect to cloud a real ABB robot (ABB RAPID, Python, Siemens PLC, nodeRED etc.) and collect data in cloud from the robot.
Unit 5: Creating a Digital Twin Shop-Floor (2 hours class work and 10 hours individual work)
Objective: To develop a digital twin of a factory shop-floor that can be used to monitor and optimize the factory operations.
- Develop a digital twin of a simple factory shop-floor using a simulation platform (Visual Components, RoboDK or RobotStudio).
- Familiarize with the cyber-physical fusion techniques and methodologies used in digital twin shop-floors.
- Integrate the real-world data from the factory shop-floor into the digital twin, such as machine performance metrics, production outputs, etc.
- Validate the digital twin by comparing the predictions with the real-world data.
Unit 6: Using Python for Creating a Digital Twin (2 hours class work)
Objective: To familiarize students with the use of Python for creating digital twins and modeling dynamic systems, specifically focusing on modeling a transistor as a digital switch.
- Introduction to Python for digital twin modeling: overview of the use of Python for creating digital twins, including its capabilities, benefits, and limitations.
- Modeling a transistor as a digital switch: understanding the basic concepts and behavior of a transistor as a digital switch, including its input/output relationship, on/off states, and switching characteristics.
- Developing the analytical model: understanding the mathematical representation of the transistor’s behavior, including the transfer function, and developing the equations for the input/output relationship.
- Creating the program in Python: using Python to implement the equations developed in the previous step, including the input waveform, the transfer function, and the output waveform.
- Analyzing the results: using Python’s built-in tools, such as plotting and visualization, to analyze the results of the program, including the input/output waveform, the transfer function, and the impact of different parameters on the system behavior.
- Validation and comparison with real-world data: comparing the results obtained from the Python model with real-world data, including measurement and simulation data, to validate the accuracy and robustness of the model.
- Further exploration and application: discussion of further applications and exploration of the transistor model in Python, including more complex systems, more advanced algorithms, and more advanced visualization tools.
Unit 7: Create a Digital Twin for a Li-ion Battery to predict its behaviour with machine learning models (2 hours class work)
Objective: To model and predict batteries behavior and how to include the digital twin in a virtual asset management process.
- Create the battery model.
- Analyze data collected in a csv file.
- Develop the data-driven model.
- Implement the results in a Python code.
- Run the application and analyze results.
Unit 8: Modeling Dynamic Systems using Transfer Functions (2 hours class work and 2 hours individual work)
Objective: To understand how transfer functions can be used to model dynamic systems and to apply this knowledge to a real-world example.
- Introduction to transfer functions, how they are used for digital twins and their representation in the Laplace domain.
- Deriving transfer functions from physical laws and equations.
- Understanding the poles and zeros of transfer functions and their impact on system behavior.
- Study the dynamic model of an electro-hydraulic kinematic axis and understand how the model is used in digital twins.
- Study the dynamic model of an industrial robot and understand how the model is used in digital twins.
- Applying transfer functions to model a real-world example, such as a DC motor.
- Analyzing the step response of the system to understand its transient behavior.
- Implementing the transfer function in a simulation tool to validate the model and perform virtual tests (students can select from MALTLAB Simulink, Python with dedicated libraries (SciPy, NumPy, and SymPy or others), Xcos, Modelica.
Unit 9: Digital Twin for PID Controller Tuning (2 hours class work)
Objective: To understand how to use digital twin techniques to tune a PID controller for a dynamic system.
- Introduction to PID controllers and their applications.
- Understanding the transfer function of a dynamic system and how it can be modeled using a digital twin.
- Create a digital twin of a dynamic system in Python or MATLAB/Simulink.
- Use the digital twin to tune the PID controller for the dynamic system by trial-and-error method.
- Validate the tuning results by comparing the system response with the digital twin predictions.
- Explore different tuning techniques for PID controllers and compare the results with the traditional trial-and-error method.
- Use the optimized PID controller in the real-world dynamic system and compare the results with the digital twin predictions.
Unit 10: Dynamic Digital Twin Modeling (2 hours class work and 4 hours individual work)
Objective: To create a dynamic digital twin model that can capture the behavior and state transitions of the real-world objects.
- Develop a dynamic digital twin model of a simple real-world system, such as a cooling system, using Xcos modeling tool.
- Familiarize with the dynamic modeling techniques and methodologies used in digital twin modeling.
- Validate the model by testing it against the real-world data, such as temperature and power readings, etc.
Unit 11: Data-Driven Digital Twin Modeling (2 hours class work and 3 hours individual work)
Objective: To create a data-driven digital twin model that can be trained and optimized using the real-world data.
- Develop a data-driven digital twin model of a simple real-world system, such as a conveyor system, using a modeling tool.
- Familiarize with the data-driven modeling techniques and methodologies used in digital twin modeling.
- Train the model using the real-world data, such as machine performance metrics, etc.
- Validate the model by comparing the predictions with the real-world data.
Unit 12: Reading and Writing to Cloud Storage (2 hours class work)Objective: To familiarize students with the process of reading and writing data to cloud storage systems, and the tools and services that are commonly used for this purpose.
- Overview of cloud storage and its use cases.
- Understanding of the different cloud storage services, such as Amazon S3, Microsoft Azure Blob Storage, Google Cloud Storage, etc.
- Hands-on experience with one or more cloud storage services, such as Microsoft Azure Blob Storage, to understand the process of uploading and downloading files.
- Understanding of the tools and libraries used for reading and writing data to cloud storage systems, such as the boto3 library in Python.
- Writing a Python program to read and write data to cloud storage, and analyzing the results.
- Discussion on the security and privacy implications of storing data in cloud storage, and best practices for securing data in cloud storage systems.
- Discussion on the pricing models and costs associated with using cloud storage services, and best practices for cost optimization.
Unit 13: Real-World MQTT for Digital Twins (2 hours class work)
Objective: To introduce the students to the MQTT protocol and how it can be used to communicate with digital twins in real-world applications.
- Introduction to MQTT protocol: Overview of MQTT, its features, and how it differs from other protocols.
- Setting up MQTT environment: students will set up an MQTT broker, publisher, and subscriber for communication.
- Publish and Subscribe using MQTT: students will learn to publish data to a topic and subscribe to a topic to receive data.
- MQTT with Digital Twins: sudents will integrate MQTT communication with a digital twin to send real-world data to the twin and receive data from the twin.
- Case Study: students will work on a case study to implement MQTT communication with a real-world digital twin system. They will be provided with a scenario in which a digital twin is being used to monitor and control a physical system. The students will be required to implement the MQTT communication between the digital twin and the physical system.
- Hands-on experience: students will work on hands-on exercises to practice the concepts learned in class.
Unit 14: Predictive Maintenance Using a Digital Twin (2 hours class work and 5 hours individual work)
Objective: To understand the concept of predictive maintenance and its implementation using a digital twin.
- Introduction to predictive maintenance: definition, benefits, and use cases.
- Overview of the digital twin in predictive maintenance: what is a digital twin in predictive maintenance and why it is useful for predictive maintenance.
- Hands-on exercise: develop a simple digital twin for a pump system. Students will learn how to create a digital twin for a pump system, how to collect and process sensor data, how to predict the health of the system and estimate the remaining useful life of the pump, and how to implement predictive maintenance algorithms.
- Hands-on exercise: implement predictive maintenance algorithms in the digital twin. Students will learn how to implement algorithms such as decision trees, random forests, support vector machines, and artificial neural networks.
- Hands-on exercise: validate the predictive maintenance algorithms. Students will learn how to validate the predictive maintenance algorithms using real-world data, how to compare the predictions with the real-world data, and how to evaluate the performance of the algorithms.
To run the activity for this course unit, students will have the possibility to work in our labs with the following technologies:
- Access to UTCloud to experiment digital twins concepts using I-IoT.
- Develop virtual prototypes with Visual Components/Python, RoboDK/Python/Fusion 360, and RobotStudio/Smart Components.
- Work with robotic cells: ABB [RAPID/RobotStudio/Python/nodeRed], Kuka [Python/Siemens/nodeRed], UR [RoboDK/Python], Dobo Magician [Python], and other robotic arms.
- Work with Xcos (Dassault Systems) to model digital twins.
- Use Python programming language and related libraries for digital twins.