A framework for signal processing and real-time control. Port to Beagleboard / bone


Posted by Angel on 2014-01-02T14:21:44-05:00

This project is about bringing the real-time framework OpenRTDynamics to the Beagleboard. It enables data acquisition and processing (filters, state machines, data analysis) as well as remote monitoring / control capabilities via a TCP/IP Interface. Applications include: Robot control, sensor measurement applications along with automatic data analysis or everything that is based on regularly sampled data.

OpenRTDynamics (ORTD) is a framework for the implementation of advanced real-time control systems that use signal/block-based schematics (like Simulink or Scicos/Xcos) extended by several features like state machines and online-exchangeable sub-simulations. Besides, this framework properly handles multiple threads, their communication, allows to synchronise control systems to external events (e.g. variable timers or incoming network packages) and provides many other nice features. Because of a high-level schematic-description language — in form of provided Scilab commands — only a minimal implementation-effort (no error-prone C-programming) is required.

Additionally to standard approaches, ORTD features the ability to implement state machines represented by multiple, switching subsystems (each subsystem corresponds to one state). Since, subsystems can also run in the context of separated threads (with or without synchronisation to another one), e.g. high- and low frequency parts can be divided or computationally intensive tasks can run in the background. Because of a remote control interface and the ability to include Scilab-Code as computational functions (S-function like), ORTD is also ideally suited for laboratory automation. The ability to replace sub-schematics with new implementations and parameters during runtime removes the effort of restarting the main real-time program when new algorithms are (automatically) designed.

Quick Installation on the target system

A) Make sure you have the gnu compilers, perl and make on your target system (should be the case)

B) Download the default package from named; XXX stands for the current revision number.

C) Transfer this file to your BB and place it into a folder in which you would like to install the framework. A subdirectory will be created within this folder.

D) From inside the chosen folder run: $ sh; The source code will be automatically extracted and compiled.

E) Follow the given instructions

Please note: To start development of schematics you want to install the framework on a host computer system.


An example on how to access the GPIO hardware interface is now available. Have a look at the README-file, section “INSTALLATION ON BEAGLEBONE” or into the folder examples/beaglebone.

A web-interface to a control system:


Video Demonstration

Comments are not currently available for this post.