- -[[!img ert_linux_snapshot1.png size="300x" align=right alt="Screenshot or ert_linux"]] - -Linux ERT target -for MathWorks' Simulink® -Embedded Coder® allows to compile a model of designed control system -to the C-code and combine it with target specific support functions. -The resulting executable/controller can be run in real-time on the -target Linux system. The running dynamic system can be augmented via -tunable block parameters in the Simulink model and data can be -acquired and visualized with Simulink scopes. -
- -- Linux ERT target uses heavily real-time capabilities - of real-time - variant of the Linux kernel that provides bounded maximal - latencies. The resulting control system supports sampling - frequencies up to 20 kHz.
- -Recent News
- --
-
- - We will present the a paper Usable Simulink Embedded Coder Target for Linux - and RPi motor control demonstartion at 16th Real Time Linux Workshop - taking place on 12 and 13 October 2014 in Dusseldorf Germany. - The Paper - and slides - are available from our publications archive. - -
- - We will present the ert_linux project - at Amper - exhibition from 18th to 21st March 2014 in Brno, Czech Republic. -
- -Linux ERT at Embedded World exhibition â 25 until 27 February 2014 - Visit -DCE CTU -developers and researchers at the OSADL booth (hall 5 booth 276). - -
I/O and communication interface support
- --
-
-
-
Humusoft - MF624 data acquisition card.
- -UIO driver and Simulink - blockset has been developed. The UIO driver is - already included - in the mainline Linux kernel. Simulink blockset is available - from - a separate - repository. -
-- More documentation about the UIO driver can be found - on DCE - HW Wiki page.
-
- -
-
- The Bhanderi's ComediToolbox - suitable for most Linux Comedi driver supported analog and digital - inputs/output cards has been successfuly tested with ert_linux target. The little updated version - with target configuration example is available in lintarget project - download area. -
-
- -
-
- The basic blocks for CAN messages sending and receiption - under Linux are implemented. -
-
-
RT-Capable Platform and Kernel
- --Standard distribution Linux kernel does not guarantee bounded latencies for many operations. -The use of real-time variant of Linux -kernel is required to make system durable. This kernel variants minimizes regions -where switch to the highest priority (i.e. Linux ERT generated) task is blocked by -kernel when servicing system calls for other tasks. -
--Selection of the right version of the kernel is not enough for non-disruptive -operation. Computer system hardware selection is critical as well. The system -has to provide enough computational power for compiled in blocks data evaluation -evaluation and Linux kernel services processing. Other critical disturbance sources -are hardware caused latencies and lags in a program processing by CPU. The source -can be bus systems load by other subsystems (i.e. graphic processor memory access, -peripheral DMA - SSD, SD-card, Flash controller etc.). The other critical source of -latencies in x86 based systems is SMI -processing. The SMI enable and processing is under BIOS and motherboard vendor control -and this problem cannot be resolved by operating system. This means that proper -hardware selection is critical. -
--A long period evaluation data of different combinations of Linux kernel version -runing on many CPU architectures and boards from many vendors is OSADL -Quality Assurance Farm. -According to these track records carefully selected x86 or embedded GNU/Linux system can run -real-time tasks with sampling frequencies up to 20 kHz with no losing sample per months. -
- -Source Code and Download
- --
-
- Lintarget at Source Forge -
- project download area - contains released versions of the Linux target and CANopen based distributed system - -
- Linux ERT source code repository -
- http://rtime.felk.cvut.cz/gitweb/ert_linux.git
-
version updated for real-time and native GNU/Linux host/target system setup -
- - Humusoft MF624 card support blockset -
- http://rtime.felk.cvut.cz/gitweb/mf624-simulink.git
-
initial version of blockset supporting analog and digital input/output, IRC, PWM and PWM measurement for MF624 cards. -
-
Project Background
- --The Linux ERT has been initially developed at DCE of -CTU in order to create a dynamic environment model for hardware -(airplane) in the loop testing of a fly-by-wire system -at AERO Vodochody a.s.. Simulink -has been run on Windows host computer initially and code generated for -GNU/Linux embedded target system was compiled -under MinGW/MSYS -environment and then uploaded to PowerPC -based BOA5200 -computer. The target computer was equipped with two CAN -interfaces. CANopen -blockset based on CANfestival -project was used to control distributed servosystem used to simulate -fly-by-wire system load. Simulink CANopen blockset integrates a -SocketCAN driver configuration and CAN messages -processing support to the generated code and enables the user to develop distributed embedded -control applications with CANopen communication.
- -[[!img LinTarget.JPG size=300x alt="Original code generation workflow"]] -[[!img CANopenExample.JPG size=300x alt="Model including node controlled over CANopen"]] - -Lukáš HamáÄek, âRTW target for Linux with CANopen supportâ, Master Thesis, Prague 2009. (Pdf)
- -Systems Controlled Linux Target for Embedded Coder
- -Some more information about concrete examples of controlled systems/setups: - --
-
- Moving Slide parallel kinematic/robot control -
- The Linux ERT target is used at Adaptive Systems Department (Academy of Sciences - of Czech Republic, UTIA institute) to realize control system for parallel kinematics - control research projects. See respective page for more - information about project. - -
- Raspberry Pi minimal components DC motor servo control -
- Raspberry Pi is low cost - hardware which does not implement any usual motor control peripherals in hardware. - Yet fully preemptive variant of Linux kernel latencies are so low that fast signals - processing in software allows to implement precise DC motor feedback control - for incremental encoder inputs changing up to 15 kHz. - See respective page for more information - about project. - -
- Usable Simulink Embedded Coder Target for Linux -
- Michal Sojka, Pavel Pisa
- 16th Real-Time Linux Workshop, - Düsseldorf, Germany, October 2014. - The paper (PDF) - and slides (PDF) - are available from our - publications archive. -
-
Project Contributors
- --
-
- Michal Sojka -
- sojkam1@fel.cvut.cz ,
- homepage http://rtime.felk.cvut.cz/~sojka/
-
teacher, researcher and developer at DCE CTU. -
- - Pavel PÃÅ¡a -
- pisa@cmp.felk.cvut.cz ,
- homepage http://cmp.felk.cvut.cz/~pisa/
-
teacher, researcher and developer at DCE CTU. -
- - Rostislav Lisový -
- lisovros@fel.cvut.cz
-
former CTU master study programe student, Linux related projects developer at DCE now. -
- - Libor Waszniowski -
- xwasznio@fel.cvut.cz
-
former DCE CTU researcher responsible for the project with AERO Vodochody. -
- - Lukáš HamáÄek -
- - former CTU master student. - -
DCE â Department of Control Engineering â -Czech Technical University in Prague, Faculty of Electrical Engineering
- -Acknowledgment
- -This work was supported by Ministry of Industry and Trade of the Czech Republic under Project -FTâTA3/044 during period of 2006 to 2009 years.
- -