Open RObot COntrol Software (Orocos) framework applies software patterns in C++ to achieve real-time execution of software components and provides an infrastructure to quickly integrate them in a real-time operating system such as RTAI or RTLinux, although it can be tested on normal Linux systems.
The Orocos project started as a Free Software project for robotics, but it has outgrown its robotics-dependent roots. Hence, "Orocos" now consists of two decoupled but integrated sub-projects:
Open Realtime Control Services.
This is a hard realtime Software Framework for all possible machine control applications, fully independent of the project's original robotics focus. It is designed to run safely parallel user defined tasks, on both vanilla Linux 2.6 and hard realtime RTAI. Extensive graphical configuration support is available.
Available features: hardware abstraction, operating system abstraction, event handling, hierarchical and parallel state machines, realtime "PLC" scripting, command parsing, online property configuration, multiple time- and event-triggered threads, advanced data protection for synchronous/asynchronous data flow, strongly typed data flow, (on-line) configuration support, ...
Integration between RTAI and TAO and ACE is also part of the ongoing work towards a hard realtime distributed control infastructure based on CORBA.
Open Robot Control Software.
A set of class libraries and an application framework offering generic functionality for machine tools and robots: cascaded control loops and control components, motion generation and interpolation; kinematics and dynamics; robot-specific control algorithms; estimation and identification; etc.
The following families of applications have working implementations available: force-controlled 6R manipulator arm and Cartesian XYZ machine tools. We would welcome developers to start mobile robot and humanoid robot application(s). In those efforts, much of the material of the above-mentioned applications can be reused. In addition, detailed support is available through the Developers' mailing list. So, each new application requires moderate programming effort. (Not taking into account system-dependent modules such as device drivers, or kinematic routines.)
Open RObot COntrol Software is designed to appeal to roboticists. See the Orocos project homepage for an automated download script.
- This release fixes bugs in the event-based data ports and build settings when building with CORBA/TAO support.
- An extra parameter for setting a timeout on CORBA method invocations has been added to the ORB init code.