Title: Discrete-time models for control applications with FMI
Authors: Rüdiger Franke, Sven Erik Mattsson, Martin Otter, Karl Wernersson, Hans Olsson, Lennart Ochel and Torsten Blochwitz
Abstract:The paper proposes an extension of FMI 2.0 for the rigorous treatment of discrete-time models. This includes the introduction of discrete-time states, the declaration of clocks in the model description and an extension of the calling interface for the external activation of clocks by an importing environment. The synchronous discrete-time extension enables for the first time the synchronization of FMUs with the environment and with other FMUs. It specializes the existing generic event mechanism of FMI 2.0 and maps to synchronous features of Modelica. Discrete-time FMUs are needed for the generation of controller code from functional models. This paper outlines different use cases, including a simple PI controller, feed forward control with a nonlinear inverse model and nonlinear model predictive control. The FMI change proposal FCP-001 and the Modelica change proposal MCP-0024 describe the proposed extensions in more detail. Test implementations exist in the simulation tools Dymola and OpenModelica and in the importing optimization solver HQP. The use cases given in this paper served for further refinement of the change proposals and the test implementations.
Links: Full paper
Title: Towards Adjoint and Directional Derivatives in FMI utilizing ADOL-C within OpenModelica
Authors: Willi Braun, Kshitij Kulshreshtha, Rüdiger Franke, Bernhard Bachmann and Andrea Walther
Abstract:Algorithmic differentiation has proven to be an efficient method for evaluating derivative information for implementations of mathematical functions. In the context of the Functional Mockup Interface (FMI) the reverse mode of algorithmic differentiation shows immense promise. FMI is increasingly used for model-based applications, such as parameter estimation or optimal control. The paper motivates the exploitation of algorithmic differentiation and proposes an extension of FMI for the evaluation of adjoint directional derivatives. Attempts to interface algorithmic differentiation libraries with Modelica tools have been made. Instead of generating code for the target language which is instrumented with algorithmic differentiation library API and then compiled, in this new approach the intermediate representation used by the library is generated directly. This avoids compilation of the target language that often takes a large fraction of the overall simulation time. It also avoids model execution in order to create such an internal representation at runtime. The initial results are presented here.
Links: Full paper