OROCOS designs and implements software for robot control, under Open Source license. The goal is to make a library of modular software components that are flexibly useable for all kinds of robotic systems. The major goals are: independence of computer and robot platforms, broad scope (not just industrial robots, but all kinds of mechatronic devices), bottom-up development (implementation of the basic control layers, on top of which larger systems will be built later on).
The Open Source nature of the project must allow to reach a critical mass of co-designers and implementors that are not sponsored by the project itself.
The technological objectives are:
- to produce a functional basis for general robot control software,
- which is released under an open source software license, i.e., the (L)GPL (GNU (Lesser) General Public License);
- which is computer platform independent (i.e., runs on most hardware, or is portable to any appropriate hardware with modest effort);
- which is robot independent (i.e., has software modules that can be adapted (with modest effort) for all known robot hardware, manipulators as well as mobile robots);
- which is modular and distributable (e.g., using the CORBA standard for distributed components);
- which obeys international standards;
- which integrates with, and reuses the open source software code of, relevant complementary projects (e.g., for 3D visualisation, numerical methods, networking, etc.).
Note that the goal of the OROCOS project is just to produce a functional basis, and not a full-blown robot software system!
The project contains three major components:
Core component and interoperability identification;
design and implementation of components;
The specific modules that will make up the presented bottom-up implementation approach are:
- Real-time servo control: To detect, classify, design and implement the software patterns needed in the hard real-time motion control kernel of a robot controller.
- Sensor device drivers: To design generic templates for robot sensor device drivers, and to implement drivers for the most commonly used sensors.
- Sensor processing libraries: To design and implement libraries with advanced sensor processing functionality for the most commonly used sensors.
- Robot kinematics and dynamics: To design and implement libraries for robot kinematics and dynamics, with an eye on extensions to general-purpose multi-body dynamics simulators.
- Component brokers: To design and implement the robotics-oriented component services that are not yet available in existing open source CORBA implementations; in particular, light-weight, small-scale and real-time brokerage services are needed, for use in tightly coupled distributed robot systems.
For each of the selected component modules, the first deliverable consists of a long-term design specification, followed by the implementation of the basic layers in the module. These specifications will be available between month 6 and month 12 depending on layers of the software.
The expected result (at month 24) is to have a library from which different robotic systems can be assembled; these systems will still be relatively simple at the end of the project, but the designs should be scalable to much more complex systems.
Funding SchemeACM - Preparatory, accompanying and support measures
75794 Paris Cedex 16
100 44 Stockholm