[[!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. The resulting control system supports sampling frequencies up to 20 kHz.

Page Contents [[!toc]]

Recent News

Native Linux Real-Time and I/O Cards Support

Current version of the Linux ERT target is optimized to use the proper Linux kernel timing mechanism with bounded maximal latencies. Matlab/Simulink running on GNU/Linux desktop system as development system is supported. More information about current version can be found in Michal Sojka's blog post. UIO driver and blockset has been implemented to support Humusoft data acquisition cards (MF624 for now).

UIO driver for the MF624 card is already included in the Linux mainline kernel. More documentation for this driver can be found on DCE HW Wiki page.

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)

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.

DCEDepartment of Control EngineeringCzech 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.