A Simulation Environment for Efficiently Mixing Signal Blocks and Modelica Components

Total Page:16

File Type:pdf, Size:1020Kb

A Simulation Environment for Efficiently Mixing Signal Blocks and Modelica Components A Simulation Environment for Efficiently Mixing Signal Blocks and Modelica Components Ramine Nikoukhah Masoud Najafi Fady Nassif ALTAIR ENGINEERING, FRANCE, [email protected] Abstract mix both standard Scicos blocks and Modelica compo- nents in the same environment. A similar extension was There exist several specialized tools that provide environ- later introduced in Simulink with the introduction of the ments for the development and simulation of either pure SimscapeTM language (Simscape). Modelica models or pure signal based models. These en- Scicos/Modelica environment based on the Modelicac vironments have each their own advantages and flaws. TM compiler (Furic, 2007) provides a versatile modeling envi- solidThinking Activate has been developed to mix ronment, especially thanks to the Coselica library2. Even these domains and take advantage of both of these ap- though this extension allows Scicos users to use some proaches to system modeling. This paper presents this Modelica components in the construction of their models, mixed Signal-Modelica environment, and in particular the it has many limitations. For example Modelica libraries efforts and challenges faced in its development. cannot be automatically imported and used in Scicos. Keywords: Modelica tool, Signal based tool, FMI Activate is a professional simulation tool developed by Altair Engineering based on the open source academic 1 Introduction simulation software Scicos. As such, it inherits many The Modelica R language1 and tools are successfully used of Scicos features including the close integration with a for modeling physical systems in industrial applications. matrix-based scripting and programming language. In Activate, the HyperMath Language (HML) has replaced This success is primarily due to the ability of Modelica to 3 4 express mathematical equations corresponding to physical Scilab and NSP . And for the Modelica extension, Scicos Modelicac has been replaced with the MapleSimTM com- phenomena in a natural way (Modelica Association; Peter 5 Fritzson). piler developed by Maplesoft in Activate. For modeling complete systems, for example systems Activate and Scicos both use the same mechanism to including controllers, Modelica provides other features integrate Modelica: at compile time, they aggregate Mod- that makes it go beyond a declarative language for ex- elica components and create a Modelica program which pressing equations. Data types other than reals, algorithm is then processed by the Modelica compiler providing sections, Matlab-like matrix operations are introduced to the C code corresponding to the simulating function of a R block replacing these Modelica components in the origi- dispense of the use of other tools, in particular Matlab 6 and Simulink R for handling models with control compo- nal model . The Activate environment however provides nents. Yet, still in many applications, the design process specific features that has allowed taking the Modelica in- requires using Modelica to model the physical plant and tegration beyond what is available today in Scicos. This exporting the model in the Matlab/Simulink environment paper presents this new modeling environment. for controller design. The reason for this is in part the limitations of the Modelica language, which is not well 2 Motivations suited for creating block diagrams, such as the ones used It is widely agreed upon that for many applications Mod- in control applications, for which specialized tools such as elica today does not provide a viable alternative to block- Simulink, Scicos (Campbell et al., 2010), and solidThink- based modeling tools such as Simulink, Scicos and Ac- TM ing Activate have been developed. tivate. The limitations imposed by the language make it In an attempt to provide an environment for modeling difficult to provide the types of blocks that are needed efficiently both blocks and physical components, in 2002 Modelica was introduced in the Scicos environment in the 2http://www.kybdr.de/software. framework of the publicly funded project RNTL (Réseau 3http://www.scilab.org National des Technologies Logicielles) Simpa (Simula- 4https://cermics.enpc.fr/~jpc/nsp-tiddly tion pour le Process et l’Automatique). This Scicos ex- 5http://www.maplesoft.com 6 tension (Najafi et al., 2004, 2005a,b; Nikoukhah, 2006; A noteworthy difference is that in Scicos this simulation function represents a DAE (Differential Algebraic Equations) forcing Scicos to Nikoukhah and Furic, 2009) allowed Scicos users to use a DAE solver, whereas in Activate the simulation function is pro- vided as a model-exchange FMU representing ODEs. This difference 1http://www.modelica.org. however is not relevant to the presentation here. DOI Proceedings of the 12th International Modelica Conference 831 10.3384/ecp17132831 May 15-17, 2017, Prague, Czech Republic A Simulation Environment for Efficiently Mixing Signal Blocks and Modelica Components Figure 1. Different modules in Activate and their interactions. to model control systems. For example creating a sim- implementation of Modelica is considered with Julia7 as ple multiplexer block capable of concatenating a variable User Language. This undertaking is very ambitious in that number of vectors and scalars of different data types is the Underlying Language is also used for defining the dy- complicated in Modelica. Same is true for the summa- namics of blocks and components. The Activate/Modelica tion block and many other basic mathematical operations environment presented here is developed with this consid- (Elmqvist et al., 2016). eration in mind and follows the spirit of Scicos but uses HML as the Underlying Language. It does not go as far as Other limitations come from the lack of a powerful sup- defining dynamics of blocks in HML (except for embed- porting math environment. The computation of model pa- ded code generation purposes (Chancelier and Nikoukhah, rameters, post processing of the simulation results, etc., 2015)); but rather it makes a clear distinction between the require access to math and engineering libraries, which block/model creation and compilation, and runtime sim- could in theory be developed or interfaced in Modelica, ulation. Model creation, evaluation and compilation, and but would require an enormous and lasting effort. In in general anything that can be done before the start and short it would amount to developing alternatives to Mat- after the end of runtime simulation are based strongly on lab, Scilab, HML, or Nsp, including their specialized tool- the User Language. On the other hand the block dynamics boxes in control, signal processing, communication, opti- need not be based on the User Language. The “standard” mization, etc. Some Modelica tools already use other lan- (Signal) Activate blocks have in general their runtime sim- guages, for example Maple and Python, for such support. ulation functions expressed in C, and the equations of Ac- tivate physical components are expressed in Modelica. A reasonable solution to this problem is to base the sim- This approach allows the Activate/Modelica environ- ulation environment on a “User Language”, preferably a ment to take advantage of existing technologies: Acti- matrix-based mathematical language such as Scilab, Mat- vate (synchronous semantics, block libraries, compiler, lab, Nsp, Octave, HML, or even on non-matrix based Simulink import (Weis, 2015) facility) and Modelica (ex- languages such as Python and LUA. The key point is to isting Modelica compilers, in particular the MapleSim give users the ability to interact with the simulation model compiler, and existing Modelica libraries such as MSL). through this language for anything from block/component creation, model construction, parameterization, compila- 3 Activate/Modelica environment fea- tion, code generation and simulation to data collection, post processing, optimization, and more. The Scicos en- tures vironment was developed in this spirit with Scilab as User Activate is not a Modelica tool per se; it cannot be used Language. Matlab is the User Language for Simulink and conveniently to build Modelica libraries. Its objective is to Simscape. propose a unique harmonious environment to allow mix- ing regular Activate blocks and Modelica components in a A very interesting effort in this direction is under- taken in (Elmqvist et al., 2016), where a complete re- 7http://julialang.org. 832 Proceedings of the 12th International Modelica Conference DOI May 15-17, 2017, Prague, Czech Republic 10.3384/ecp17132831 Session 11A: Modelica Tools & GUIs same model. The user interface and behavior of Modelica of the AU in this case are the A, B, C, D matrices, which blocks and regular Activate blocks are designed to be as are computed by the HML function associated with the similar as possible without being too different from user block. interface of other Modelica tools. The Modelica compo- In general an AU is a computational unit providing nents are seen as regular Activate block in this environ- APIs to be used by the simulator. The APIs are C func- ment. tions that are called by the simulator at different stages of the simulation: computation of the output, of the state 3.1 Modularity derivative, of the next discrete state, etc. But the AUs can A key architectural element in Activate is modularity. The also be Modelica components. An AU may also be virtual. diagram in Figure1 shows different modules that consti- The creation of AUs from Activates blocks based on tute Activate. There are three main modules, the graphical a User Language
Recommended publications
  • Basic Scicoslab and Scicos
    Florence University, October 2010 Basic ScicosLab and Scicos ScicosLab/Scicos for dummies like us Simone Mannori – ScicosLab/Scicos developer 1 Florence University, October 2010 Basic ScicosLab and Scicos Digital control systems design and simulation: the Bermuda Triangle for engineers Computer science Control systems Physics Simone Mannori – ScicosLab/Scicos developer 2 Florence University, October 2010 Basic ScicosLab and Scicos What ScicosLab is? An interpreted language (“Scilab Language”, very similar _but_not_equal_ to Matlab) Full support for matrix computation (BLAS, LAPACK, single and multi cores support using ACML now, GPU support in the near future using OpenCL). Basic programming (just like Matlab) GUI development (using TCL/TK and UICONTROL) Linear algebra Polynomial calculation Control systems modelling and design (continuous, discrete and hybrid systems) Robust control toolbox Optimization and simulation (build-in solvers) Signal processing (filters design, etc.) ARMA modelling and simulation Basic statistics Basic identification PVM support TCL/TK and Java support Max-plus algebra toolbox Simone Mannori – ScicosLab/Scicos developer 3 Florence University, October 2010 Basic ScicosLab and Scicos What you can do with ScicosLab? • Interact with the command line • Write a program, one line at time, using the internal or with an external editor • Run the program in an user friendly interpreted environment (easy debug) • Use the rich embedded library. • You can develop your ScicosLab functions using C, Fortran, Java, etc. • Produce nice graphics diagrams. Simone Mannori – ScicosLab/Scicos developer 4 Florence University, October 2010 Basic ScicosLab and Scicos What Scicos is? Scicos is a graphical dynamical system modeller and simulator developed inside the METALAU project at INRIA, Paris Rocquencourt centre.
    [Show full text]
  • RTAI-Lab Tutorial: Scicoslab, Comedi, and Real-Time Control
    RTAI-Lab tutorial: Scicoslab, Comedi, and real-time control Roberto Bucher 1 Simone Mannori Thomas Netter 2 May 24, 2010 Summary RTAI-Lab is a tool chain for real-time software and control system development. This tutorial shows how to install the various components: the RTAI real-time Linux kernel, the Comedi interface for control and measurement hardware, the Scicoslab GUI-based CACSD modeling software and associated RTAI-Lab blocks, and the xrtailab interactive oscilloscope. RTAI-Lab’s Scicos blocks are detailed and examples show how to develop elementary block diagrams, automatically generate real-time executables, and add custom elements. 1Main RTAI-Lab developer, person to contact for technical questions: roberto.bucher at supsi.ch, see page 46 Contents 1 Introduction 4 1.1 RTAI-Lab tool chain . .4 1.2 Commercial software . .4 2 Installation 5 2.1 Requirements . .5 2.1.1 Hardware requirements . .5 2.1.2 Software requirements . .6 2.2 Mesa library . .7 2.3 EFLTK library . .7 2.4 Linux kernel and RTAI patch . .7 2.5 Comedilib . .8 2.6 RTAI (1st pass) . .8 2.7 RTAI tests . .9 2.8 Comedi . .9 2.9 RTAI (2nd pass) . 10 2.10 ScicosLab . 11 2.11 RTAI-Lab add-ons to Scicoslab-4.4 . 11 2.12 User configuration for scicoslab-4.4 . 11 2.13 Load the modules . 11 3 Development with RTAI-Lab 13 3.1 Boot Linux-RTAI . 13 3.2 Start Scicos . 13 3.3 RTAI-Lib palette . 14 3.4 Real-time sinewave: step by step . 16 3.4.1 Create block diagram .
    [Show full text]
  • Máster Universitario En Investigación En Inteligencia Artificial
    Identificador : 4311243 IMPRESO SOLICITUD PARA MODIFICACIÓN DE TÍTULOS OFICIALES 1. DATOS DE LA UNIVERSIDAD, CENTRO Y TÍTULO QUE PRESENTA LA SOLICITUD De conformidad con el Real Decreto 1393/2007, por el que se establece la ordenación de las Enseñanzas Universitarias Oficiales UNIVERSIDAD SOLICITANTE CENTRO CÓDIGO CENTRO Universidad Nacional de Educación a Distancia Escuela Técnica Superior de Ingeniería 28050756 Informática NIVEL DENOMINACIÓN CORTA Máster Investigación en Inteligencia Artificial DENOMINACIÓN ESPECÍFICA Máster Universitario en Investigación en Inteligencia Artificial por la Universidad Nacional de Educación a Distancia RAMA DE CONOCIMIENTO CONJUNTO Ingeniería y Arquitectura No HABILITA PARA EL EJERCICIO DE PROFESIONES NORMA HABILITACIÓN REGULADAS No SOLICITANTE NOMBRE Y APELLIDOS CARGO EMILIO LETÓN MOLINA Coordinador del Máster en Investigación en Inteligencia Artificial Tipo Documento Número Documento NIF REPRESENTANTE LEGAL NOMBRE Y APELLIDOS CARGO ALEJANDRO TIANA FERRER Rector Tipo Documento Número Documento NIF RESPONSABLE DEL TÍTULO NOMBRE Y APELLIDOS CARGO RAFAEL MARTINEZ TOMAS Director de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Nacional de Educación a Distancia Tipo Documento Número Documento NIF 2. DIRECCIÓN A EFECTOS DE NOTIFICACIÓN A los efectos de la práctica de la NOTIFICACIÓN de todos los procedimientos relativos a la presente solicitud, las comunicaciones se dirigirán a la dirección que figure en el presente apartado. DOMICILIO CÓDIGO POSTAL MUNICIPIO TELÉFONO Bravo Murillo, 38 28015 Madrid E-MAIL PROVINCIA FAX Madrid 1 / 66 Verificable en https://sede.educacion.gob.es/cid y Carpeta Ciudadana (https://sede.administracion.gob.es) CSV: 298753191227704287823872 Identificador : 4311243 3. PROTECCIÓN DE DATOS PERSONALES De acuerdo con lo previsto en la Ley Orgánica 5/1999 de 13 de diciembre, de Protección de Datos de Carácter Personal, se informa que los datos solicitados en este impreso son necesarios para la tramitación de la solicitud y podrán ser objeto de tratamiento automatizado.
    [Show full text]
  • A Comparison of Software Engines for Simulation of Closed-Loop Control Systems
    New Jersey Institute of Technology Digital Commons @ NJIT Theses Electronic Theses and Dissertations Spring 5-31-2010 A comparison of software engines for simulation of closed-loop control systems Sanket D. Nikam New Jersey Institute of Technology Follow this and additional works at: https://digitalcommons.njit.edu/theses Part of the Electrical and Electronics Commons Recommended Citation Nikam, Sanket D., "A comparison of software engines for simulation of closed-loop control systems" (2010). Theses. 68. https://digitalcommons.njit.edu/theses/68 This Thesis is brought to you for free and open access by the Electronic Theses and Dissertations at Digital Commons @ NJIT. It has been accepted for inclusion in Theses by an authorized administrator of Digital Commons @ NJIT. For more information, please contact [email protected]. Cprht Wrnn & trtn h prht l f th Untd Stt (tl , Untd Stt Cd vrn th n f phtp r thr rprdtn f prhtd trl. Undr rtn ndtn pfd n th l, lbrr nd rhv r thrzd t frnh phtp r thr rprdtn. On f th pfd ndtn tht th phtp r rprdtn nt t b “d fr n prp thr thn prvt td, hlrhp, r rrh. If , r rt fr, r ltr , phtp r rprdtn fr prp n x f “fr tht r b lbl fr prht nfrnnt, h ntttn rrv th rht t rf t pt pn rdr f, n t jdnt, flfllnt f th rdr ld nvlv vltn f prht l. l t: h thr rtn th prht hl th r Inttt f hnl rrv th rht t dtrbt th th r drttn rntn nt: If d nt h t prnt th p, thn lt “ fr: frt p t: lt p n th prnt dl rn h n tn lbrr h rvd f th prnl nfrtn nd ll ntr fr th pprvl p nd brphl th f th nd drttn n rdr t prtt th dntt f I rdt nd flt.
    [Show full text]
  • A Novel Code Generation Methodology for Block Diagram Modeler And
    A novel code generation methodology for block diagram modeler and simulators Scicos and VSS Jean-Philippe Chancelier∗ Ramine Nikoukhah∗ Universit Paris-Est, Cermics (ENPC) Altair Engineering October 25, 2018 Abstract Block operations during simulation in Scicos and VSS environments can naturally be de- scribed as Nsp functions. But the direct use of Nsp functions for simulation leads to poor performance since the Nsp language is interpreted, not compiled. The methodology presented in this paper is used to develop a tool for generating efficient compilable code, such as C and ADA, for Scicos and VSS models from these block Nsp functions. Operator overloading and partial evaluation are the key elements of this novel approach. This methodology may be used in other simulation environments such as Matlab/Simulink. Contents 1 Introduction 2 2 Simple Example 4 3 Operator overloading and pseudo-code generation 9 3.1 Newdatatypesandoverloading . ....... 10 4 Code generation directives 13 4.1 Creating persistent variables . ........... 13 4.2 Creatingfunctionarguments . ........ 14 arXiv:1510.02789v1 [cs.MS] 8 Oct 2015 4.3 Functionconstant ................................ ..... 14 4.4 Functionexpand .................................. 15 4.5 Functions bvarcopy and bvarempty . ......... 15 5 Application to code generation for Scicos 16 5.1 Codegenerationscript . ....... 16 5.2 Conditionalsubsampling. ........ 17 5.3 Example......................................... 21 6 Conclusion 23 ∗ This code generation tool was developed during a three-years research projects funded within the French FUI 2011 called “Projet P” [6] 1 A C code generated for the extended Kalman filter example 23 1 Introduction In this paper we present a new methodology of code generation for block diagram simulation tools such as Scicos [2], VisSim SIMULATE1 (VSS) and Simulink.
    [Show full text]
  • Scicoslab を活用した直流モータ制御実習プログラムの改良 Improvement
    ScicosLab を活用した直流モータ制御実習プログラムの改良 Improvement of a Laboratory Course for DC Motor Control using ScicosLab ○ 沢口 義人(木更津高専) 岡本 峰基(木更津高専) 大橋 太郎(木更津高専) 鴇田 正俊(木更津高専) Yoshihito SAWAGUCHI, Kisarazu National College of Technology, Kiyomidai-higashi 2-11-1, Kisarazu-shi, Chiba Mineki OKAMOTO, Kisarazu National College of Technology Taro OOHASHI, Kisarazu National College of Technology Masatoshi TOKITA, Kisarazu National College of Technology In system control education, laboratory experiments on real equipments largely contribute to developing practical skills. We have been improving a laboratory course for DC motor control using ScicosLab. ScicosLab is a freeware platform for numerical computation with block diagram modeler/simulator. Using the ScicosLab graphical user interface, students can easily operate a real closed-loop system which consists of a DC motor and its driver, an analog data acquisition device and a personal computer running ScicosLab. This paper describes a brief overview of the laboratory course, improvements for the last semester and results of student questionnaire. Key Words: System control education, Free software, DC motor control, Laboratory course, ScicosLab 1. はじめに 2. ScicosLab の活用 システム制御教育に際しては,モータ等の実機を用いた実 ScicosLab[4] は,工学と科学のための対話的環境を提供す 習が有用である.特に教育初期段階に実機実習を実施するこ る数値計算ソフトウェアである Scilab[3] の派生版である. とより,座学による理論の習得に対する意欲の向上を期待で Scilab が Scilab 5 へのバージョンアップに際して Java 環 きる.このような実機実習では,制御結果の適切な評価のた 境を採用したために安定性と高速性が低下したことに対し, めに制御量や操作量を容易にグラフ化できることが望まし ScicosLab は Scilab 4.1.2 を基に GTK+[6] により GUI を実 い.また,制御則や制御パラメータの容易な変更を実現する
    [Show full text]
  • Simulation and Automatic Code Generation for Real Time Embedded Systems Using Scicoslab/Scicos and Erika/Linux
    Simulation and automatic code generation for real time embedded systems using ScicosLab/Scicos and Erika/Linux I° Italian course - "Red October" Tutors: Simone Mannori - ScicosLab developer (www.scicos.org, www.scicoslab.org) Paolo Gai - Evidence S.r.l. (http://www.evidence.eu.com/) Roberto Bucher - SUPSI Lugano (http://linux3.dti.supsi.ch/~bucher/) Matteo Morelli - RTSS developer (Centro "E. Piaggio", Pisa Univ., http://rtss.sourceforge.net/) Daniele Mazzi - Siena University Location Florence University - Plesso didattico, Viale Morgagni 40, Firenze, ITALY Time 19/20/21 October 2010 Morning: 9:00 – 13:00 / Afternoon :14:00 - 17:00 Web page: http://erika.tuxfamily.org/scilabscicos/scicoslabcourse2010.html Registration Registration is mandatory: https://www.softconf.com/b/scicoslab2010/ Languages - Italian as default spoken languages, English and French on request. Books and documents in English. Target audience - Students, engineers and scientists working with complex simulations and control systems design. 1 Prerequisites - A portable personal computer (Linux/ Windows/ Mac OSx) - A clean USB key for file exchange - Internet access is not required but could be useful Note for Windows users: some exercises require the presence of a C compiler. Under Linux "gcc" is installed as default (check with "gcc -v"). Windows users must install Visual C/C++ Studio Express 2008 (this version is freely downloadable from Microsoft's web site). References - The new Yellow Book: Modeling and Simulation in Scilab/ Scicos With Scicoslab 4.4, Stephen L. Campbell, Jean-Philippe Chancelier, et Ramine Nikoukhah - On line documentation available here: http://www.scicos.org/documentations.html Rationale This three days course is a general purpose introduction to the art of dynamical systems simulation and automatic code generation for real time embedded systems using ScicosLab/Scicos.
    [Show full text]
  • Information Engineering and Computer Science, M.Sc
    Handbook of Modules for the Degree Programme Information Engineering and Computer Science, M.Sc. Faculty of Communication and Environment Version 1.5 27.1.2021 International Management and Psychology, M.Sc. Rhine‐Waal University of Applied Sciences ‐ Faculty of Communication and Environment ‐ 2021 Dokumentenhistorie Version Datum Verantw. Bemerkung 0.1 2013‐12‐13 TH Initialversion 0.2 2013‐12‐16 TH „Weight towards final grade“ angepasst 0.3 2013‐12‐17 TH Module M‐IE_EA.02 und M‐IE_3.01 eingefügt 1.0 2014‐01‐13 TH Version zur Veröffentlichung 1.1 2014‐09‐24 TH Bearbeitungszeit Masterarbeit laut PO angepasst 1.2 2015‐10‐19 SLE Modulbeschreibungen gem. Akkreditierungsauflagen angepasst 1.3 2015‐10‐19 TH deutsche Bezeichnungen ins Curriculum eingeführt redaktionelle Änderungen 1.4 2019‐04‐25 MS Bearbeitung für Reakkreditierungszwecke 1.5 2021‐1‐27 MS Bearbeitung zur Auflagenerfüllung Information Engineering and Computer Science, M.Sc. Rhine‐Waal University of Applied Sciences ‐ Faculty of Communication and Environment ‐ 2021 I Explanation Specification of the types of assessment Assessments are regulated in the “general examination regulations for Bachelor’s and Master’s degree programmes at Rhein-Waal University of Applied Science” (RPO Rahmenprüfungsordnung der Hochschule Rhein-Waal). According to RPO there are two types of assessments: Certificates (according RPO §20) and Examinations (according to RPO §14). The Master’s degree program “Information Engineering and Computer Science” makes only use of graded examinations according to RPO §20. Examinations are also regulated in the examination regulation of the Master’s degree program “Information Engineering and Computer Science” (PO Prüfungsordnung für den Masterstudiengang Information Engineering and Computer Science an der Hochschule Rhein‐Waal) in §§ 10 to 18 in accordance to the RPO.
    [Show full text]
  • Automatic Generation of Controls Code from Models for Real-Time Linux Platforms
    Automatic generation of controls code from models for real-time Linux platforms Bruno Morelli, Riccardo Schiavi, Claudio Scordino, Paolo Gai Evidence Srl Pisa, Italy {b.morelli, r.schiavi, claudio, pj}@evidence.eu.com Marco Di Natale Scuola Superiore Sant’Anna Pisa, Italy [email protected] Abstract We present our experience in the design and realization of a toolset for the extension of the simu- lation and modeling capabilities and the automatic generation of code from ScicosLab models running on embedded Linux and RTAI. ScicosLab — a free system modeler and simulator — has been extended with add-ons for the modeling of hierarchical Finite State Machines (FSMs) and a GUI prototyper based on the Qt graphical libraries. The code generator supports multirate models and maps the model blocks onto multiple periodic threads, with the automatic synthesis of thread scheduling, communication and access to the I/O primitives. We discuss the design challenges and options and the implementation issues encountered during the development of the toolset, including the mapping of functionality onto threads, the problem of semantics preservation in the implementation of communication, the methods used to abstract from the architecture- specific I/O details and the concurrent use of PCI and video peripherals. We show an example of generated code and a set of performance measurements on real hardware with a data acquisition peripheral. 1 Introduction the possibility of adding errors during the manual coding stage. The Model-Based Design (MBD) development methodology is today widely used in several appli- Several commercial products are offered for the cation domains like automotive, aerospace and con- modeling, simulation and verification of systems ac- trols.
    [Show full text]
  • Matlabcompat.Jl: Helping Julia Understand Your Matlab/Octave Code
    MatlabCompat.jl: helping Julia understand Your Matlab/Octave Code Vardan Andriasyan1, Yauhen Yakimovich1, Artur Yakimovich1* Affiliations: 1University of Zurich *correspondence: [email protected], [email protected] Scientific legacy code in MATLAB/Octave not compatible with modernization of research workflows is vastly abundant throughout academic community. Performance of non-vectorized code written in MATLAB/Octave represents a major burden. A new programming language for technical computing Julia, promises to address these issues. Although Julia syntax is similar to MATLAB/Octave, porting code to Julia may be cumbersome for researchers. Here we present MatlabCompat.jl - a library aimed at simplifying the conversion of your MATLAB/Octave code to Julia. We show using a simplistic image analysis use case that MATLAB/Octave code can be easily ported to high performant Julia using MatlabCompat.jl. Motivation and significance Scientific background and the motivation for developing the software MATLAB/Octave is a fourth-generation multi-paradigm numerical programming language. MATLABTM is a computing environment and a proprietary programming language (MathWorks Inc.). Designed initially mostly for matrix manipulations, its current features allow data visualization, algorithms implementation, user interface creation, and interfacing program languages. Introduced in the end of 1980s its syntaxial sibling, GNU Octave, offered an open source alternative to the commercial product of Mathworks Inc. (Eaton, Bateman, and Hauberg 1997). More than a tool for engineers, MATLAB/Octave has 1 become a de facto default tool for developing scientific code, often used to solve problems that are otherwise typical for general purpose programming languages. This lead to an accumulation of prototype-like scientific software solutions unable to scale up to the promise and, thus, limiting the research work.
    [Show full text]
  • Sistema Avanzado De Prototipado Rápido Para Control En
    TESIS DOCTORAL SISTEMA AVANZADO DE PROTOTIPADO RAPIDO´ PARA CONTROL EN EXOESQUELETOS Y DISPOSITIVOS MECATRONICOS´ Autor: Antonio Flores Caballero Director: Mar´ıaDolores Blanco Rojas Codirector: Luis Enrique Moreno Lorente Tutor: Mar´ıaDolores Blanco Rojas DEPARTAMENTO DE INGENIERIA´ DE SISTEMAS Y AUTOMATICA´ Leganes,´ 15 de Diciembre 2014 TESIS DOCTORAL (THESIS) SISTEMA AVANZADO DE PROTOTIPADO RAPIDO´ PARA CONTROL EN EXOESQUELETOS Y DISPOSITIVOS MECATRONICOS´ . Autor (Candidate): Antonio Flores Caballero Director (Adviser): Mar´ıa Dolores Blanco Rojas Codirector (Co-Adviser): Luis Enrique Moreno Lorente Tribunal (Review Committee) Presidente (Chair): Jose Luis Pons Rovira Vocal (Member): Antonio Gimenez´ Fernandez´ Secretario (Secretary): Santiago Garrido Bullon´ Suplente (Substitute): T´ıtulo (Grade): Doctorado en Ingenier´ıa Electrica,´ Electronica´ y Automatica´ Calificacion:´ Leganes,´ 15 de Diciembre de 2014 Esta tesis ha sido financiada por el Ministerio de Ciencia e Innovacion´ del Gobierno de Espana,˜ y esta´ enmarcada dentro de proyecto HYPER CONSOLIDER-INGENIO 2010 (ref. 2010/00154/001). Robotics Lab – Universidad Carlos III de Madrid Abstract One of the most challenging fields of engineering is system control, which was established with the aim of automating complex systems without human in- teraction. Thus, by means of the feedback theory, it is intended to modify the most critical system variables to the obtain the desired behavior. Event most of the ap- plications are linear control-based, there exist some occasions where it becomes necessary to apply other approaches for obtaining reasonable results. During the last years, a new type of elements named intelligent materials have been disco- vered and developed. They yield very interesting properties although they are extremely difficult to control with classical techniques.
    [Show full text]
  • A Nonlinear Model-Based Control Realized with an Open Framework for Educational Purposes
    A Nonlinear Model-Based Control realized with an Open Framework for Educational Purposes Klaus Weichinger BIOE Open Hardware Automation System Developer 3300 Greinsfurth, Austria [email protected] - http://bioe.sourceforge.net Abstract Today, nonlinear model-based control methods are an essential part in different control applications. To provide a complete open framework for educational purposes this contribution extends common open source software (Scilab/Scicos, Maxima and rt-preempt Linux real-time system) with a low-cost do-it- yourself open hardware interface and a web-based monitoring system embedded into Scicos blocks. The simple concept of the open hardware interface called Bioe (Basic Input Output Elements) allows the real-time application to interact with general analog and digital signals as well as to more complex 2 devices (e.g. resistive touch panels, RC servos, I C acceleration sensors). Furthermore, a prototype of a web-based monitoring system using Ajax is treated. It consists of a Http web server embedded into a Scicos block so that existing Scicos code generation packages for rt-preempt Linux can be used without modifications. To demonstrate the applicability and usability of the proposed framework a nonlinear model-based control law for a mechatronic multi-input multi-output system is derived with the concept of input/output linearization and realized with the proposed open framework. 1 Introduction and Xenomai [7], but the comparison of real-time approaches is not the topic of this paper. Rapid Control Prototyping (RCP) is still asso- This contribution picks up two aspects that ciated with cost-intensive hardware and software in- should complete the existing OSS [2, 8, 4, 9] to a cost- vestments.
    [Show full text]