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:

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-10:45 Session 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