Tutorial on
FMI Co-simulation Based Digital Twin
Overview
Recent advances have allowed for numerous applications of models to the monitoring and optimization of complex systems.
Concepts and trends such as self-adaptive systems, digital twins, and models@runtime, all benefit from a standardized model representation, that facilitates the exchange and simulation of models.
In this tutorial, we will introduce the Functional Mockup Interface (FMI) standard, and multiple tools and techniques to implement common Digital Twin features.
In particular, the following topics will be covered, complemented by a running example:
Modelling and Simulating an Incubator System (running example);
Using a Kalman Filter;
Building Functional Mockup Units with UniFMU;
Formally verifying and executing a co-simulation;
Integrating Unity visualizations with FMI co-simulation;
Collecting real-time data for monitoring applications with RabbitMQFMU.
Demonstration Materials
The demonstration materials are available in two public repositories:
https://github.com/INTO-CPS-Association/fm_dt_tutorial_2021 - Contains the main demo materials.
https://github.com/INTO-CPS-Association/example_digital-twin_incubator/releases/tag/v0.0.4 - Contains the digital twin framework that is used in some of the demos.
Videos
The videos for the sessions can be found here: http://lcs.ios.ac.cn/fm2021/fmi_co_simulation_based_digital_twin/
Organizers
Cláudio Gomes
Casper Thule
Presenters
Christian M. Legaard
Daniella Tola
Hao Feng
Mirgita Frasheri
Simon Thrane Hansen
Frederik P. Madsen
Ken Pierce
Peter Gorm Larsen
Quality Assurance
Michael Sandberg
Santiago Gil Arboleda
Hugo Daniel Macedo
John Fitzgerald
Schedule
Time zone: UTC+1.
09:00 Peter Gorm Larsen
Topic: Introduction
Contents: Motivation and agenda
Digital Twin demos
Incubator videos
09:15 Hao Feng
Topic: Modeling and simulating a basic incubator
Contents: Plant and Controller models
Calibration with pre-recorded real data
Kalman filtering of plant model
10:45-11:00 Break
11:00-12:30 Session 2
11:00 Christian Møldrup Legaard
Topic: Building functional mockup units
Contents: Introduction to FMI and co-sim
Introduction to UniFMU
Building FMU of Kalman Filter + Plant
Building FMU of Controller
12:00 Daniella Tola
Topic: Creating 3D visualizations with Unity
Contents: Packaging them into an FMU
12:30-13:00 Break
13:00-14:30 Session 3
13:00 Simon Thrane Hansen, Frederik Palludan Madsen
Topic: Verifying and running FMI co-simulations
Contents: Introduction to co-simulation algorithms
Interacting with FMUs: MaestroV2
Sources of Error and Need for Contracts
Scenario verification
Scenario Generation
14:30-15:00 Break
15:00-16:30 Session 3
15:00 Mirgita Frasheri
Topic: Monitoring & Fault Injection
Contents: Introduction to the RabbitMQFMU
RabbitMQFMU demo overview and Incubator demo
Introduction to the FI Plugin
Demo overview and FI incubator demo
16:00 Ken Pierce
Topic: Summary and other ongoing efforts