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