The Orocos Real-Time Toolkit

The Orocos Real-Time Toolkit (RTT) provides a C++ framework, or "runtime", targeting the implementation of (realtime and non-realtime) control systems.
It is sometimes refered to as the 'Open Real-Time Control Services'.

The RTT v2.0 is now an integral part of the Orocos Toolchain. This page contains the information for RTT 1.x users

Real Time Toolkit

The Real-Time Toolkit (RTT) library allows application designers to
build highly configurable and interactive component-based real-time
control applications.

You might use it to:
  • Control devices ranging from sensors to complete robots
  • Capture and plot the data flows between components
  • Tune your algorithms at run-time
  • Write your controller as a hierarchical state machine
  • Configure components and the application from XML files
  • Interact with your devices directly from a GUI or command prompt
  • Extend it with your own data types
  • Extend your legacy control applications with all the above
  • Run it on standard operating systems as well as dedicated real-time systems

The Real-Time toolkit allows components to run on (real-time) operating systems and offers real-time scripting capabilities, the component communication and distribution API and XML configuration.

Real-Time Toolkit Application Stack: An Orocos component is built upon the Real-Time Toolkit (RTT) library.

Each compononent is built using the "TaskContext" primitive: an active object which offers threadsafe and efficient ports for (lock-free) data exchange.

Orocos TaskContext: Data flows through ports and is manipulated by algorithms in the component.

It can react to events, process commands, or execute Finite State Machines in hard real-time. It can be configured on-line through a property interface (set/get values) and XML files.

Besides the "runtime", the project offers abstract interfaces to common hardware such as encoders, AD/DA conversion, etc., as well as (links to) a number of relevant hardware device drivers.

See the Orocos Components Library for ready-to use components.

See the left-side menu to browse the API, documentation (manuals) or download the RTT.