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 ToolkitReal 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.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.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.