- European Robotics Forum 2011 Workshop on the Orocos Toolchain
- European Robotics Forum 2012: workshops
- Geometric relations semantics
- KDL wiki
- Kuka LBR user group
- Links of Orocos components
- OCL v1.x wiki
- RTT v1.x wiki
- Documentation suggestions
- Examples and Tutorials
- Frequently asked questions (FAQ)
- RTT Dictionary
- RTT on MS Windows
- The 1st RTT Developers Workshop
- The Road to RTT 2.0
- Goals for RTT 2.0
- Contribute! Which weakness have you detected in RTT?
- Contribute! Suggest a new feature to be included in RTT 2.0.
- Create Reference Application Architectures
- Detailed Roadmap
- Full distribution support
- RTT 2.0.0-beta1
- RTT 2.0.0-beta2
- RTT and OCL Cleanup
- Real time logging
- Redesign of the data flow interface
- Simplified, more robust default activities
- Streamlined Execution Flow API
- Upgrading from RTT 1.x to 2.0
- Using Eclipse and Orocos
- Using Git and Orocos
- Toolchain v2.x
- Wiki for site admins
- iTaSC wiki
Goals for RTT 2.0
Table of Contents
The sections below formulate the major goals which RTT 2.0 wishes to attain.
SimplicityThe Real-Time Toolkit shouldn't be in the way of building complex applications, instead it should help making it easier. We're improving on different fronts to make it more simple to use for both beginners and experienced power users.
API: user orientedThe API is clearly separated in what public (rtt user) and private (rtt internal) APIs are. The number of concepts are reduced and a sane default is chosen where alternatives are possible. Policies allow users to deviate from the default behavior.
Tooling: enhancing the experienceThe RTT is a very extensible library. When users require an extension, they don't need to write much or any additional code. Tools assist in generating helper libraries for adding user types (type plugins) or user interfaces (service plugins) to the RTT. The generated code is readable and understandable and documented. If required, these can be overriden by hand-written code such that tools in development do not block user development.
Component model: components are simpleRTT 2.0 components are simple to understand and explain. In essence they are stateful input/output systems that offer services to supervisors.
The input/output is offered by means of port based communication between data processing algorithms. An input port receives data, an output port sends data. The algorithms in the component define the transformation from input to output.
Service based communication offers operations such as configuration or task execution. A component always specifies if a service is provided or requested. This allows run-time dependency and system state checking, but also automatic connection/disconnection management which is important in distributed environments.
Components are stateful. They don't just start processing data right away. They can validate their preconditions, be queried for their current state and be started and stopped in a controlled manner. Although there is a standard state machine in each component that regulates these transitions, users can extend these without limitations.