Sie sind hier:



Automatic integration of Modelica models with generalized EKF observer modules for the DO-MPC control platform

Lehrstuhl: Chair of Process Dynamics and Operations (DYN)

Betreuer: Alexandru Tatulea-Codrean, Jochen Steimel,

Beginn ab: October 19th, 2015

Maximale Anzahl der Teilnehmer: 8

Beschreibung: The work of this project group will consist of interfacing complex Modelica models with the real time DO-MPC platform, which is an internally developed software platform for easy Model Predictive Control (MPC) implementations. JModelica.org is a platform which allows developing object oriented models of complex systems and exporting these models for use with other tools. The model of a process is at the center of any MPC implementation. The model itself is complemented by an estimator, an optimizer and a simulator part, each one of these using the model information in what makes up the classical model based control structure. In most cases, the model is hard-coded and embedded within the different optimization problem. With DO-MPC, however, we aim for a generalized problem template, independent of the particular model and problem specifications. The focus of the project group will therefore be to extend the existing modeling capabilities of the platform with the ability of importing and using Modelica models. For this the models needs to be designed in an object oriented fashion inModelica and then exported to an XML format. The DO-MPC platform is based on the CasADi framework for optimization and control, which is able (among many other) to import XML formats and create specific model structures out of them. Having the model imported into DO-MPC, one can then proceed to developing optimizers, observers or simulators based on the model information. The project will therefore include both modeling and software developing work, whilst requiring basic model based control and estimation knowledge. The work with DO-MPC will be done on a Linux distribution and the solutions developed will have to follow Linux programming paradigms. OBJECTIVE: The goal of this project is to expand the existing modeling options available in the DO-MPC platform with an additional JModelica plugin. Figure 0.1 shows the schematics of the DO-MPC implementation and the connection with the simulated process. The developed model is used by the estimator, the optimizer and the simulator and appropriate information transfer will have to be implemented for each of the three modules. While generalized optimizer and simulator modules are readily available for use, an estimator module based on an Extended Kalman Filter will be implemented as part of the task. In order to prove the functionality of the approach, tests will be performed on an industrial relevant benchmark problem (the Tennessee-Eastman process). TASK DISTRIBUTION: The following can be regarded as general guidelines for what to expect in this group project. The work will be divided in two big parts, with a team of students working on each of the subtasks. In the beginning of the work period, all members will work together on doing research and familiarizing with JModelica and DO-MPC, as well as on implementing a simple dummy example. Once this is completed, the task distribution will follow the main topics: 1. Modeling of a large process using JModelica • Research and understanding of the Tennessee-Eastman process andmodel. • Object oriented implementation of the model. • Simulation experiments with the implementedmodel. • Exporting the model and support for integration with Team 2. 2. Model integration in DO-MPC. EKF implementation • Studying and understanding the implementation of the DO-MPC platform. • Developing a way to use information extracted from the Modelica model within the platformmodules. • Research and understanding of the EKF algorithm. • Implementation of a generalized EKF observermodule, based on aModelica processmodel. • Integration with the model provided by Team1 and experimental runs. REQUIREMENTS: Since this project seminar offers interesting tasks from different fields, we are looking for self-dependent team players whose interests and skills lie in one or more of these areas. All participants should possess basic programming skills in at least one language (e.g. Matlab, Java, C#, C++, or other object-oriented languages) and basic experience in modeling or working with modeling tools (e.g. Matlab, Modelica). At least 2 participants of the group should possess programming skills in C/C++ programming. Python programming skills are a plus. REGULATIONS: The project seminar is worth 12 credit points, which equals a workload of 360 h per student (including 90 h for final and weekly presentations, and for all documentation including the final written report). Participation in all regular (weekly) meetings with the supervisors is obligatory. All participants have to document and present their work regularly. The project seminar will not be graded, but we will exclude students from the project who do not participate actively. We recommend (but do not require) that the project group finishes before the beginning of the exam period after the summer semester 2015. To achieve this, we are willing to start this project seminar on October 19th.