Harmonized interfaces

This activity is a cross-sectional work package starting from the observations that (i) complex robot control systems will be built from many components, coming from many different sources, and (ii) it will be impossible (at least in the short to medium term) to impose one single standard with which these components should be made available.
BRICS will develop guide-lines, document them, and provide suggestions to the community about how to implement them in concrete projects that BRICS is going to cooperate with.
The following scientific and technical key issues will be addressed:
- Multiple levels of APIs
- The Application Programming Interfaces API has to have a semantic interface: the meaning of the functionality, the objects and the results have to be described in a form that is computer-readable. An added advantage of putting effort in a clear semantic description is that also the human developers will make less mistakes when selecting or using externally developed components.
- The same functionality can be implemented in various ways, for example with algorithms that optimize different aspects (time, complexity, quality of service, ...), so APIs should be abstract and allow for different "solvers". (The information about which solver is provided/needed is to be documented via the semantic interface.)
- The same functionality will be used on various computing hardware and in multiprogramming language software.
- Appropriate decoupling
System developers will only want to reuse each other's components if these components are small enough to completely understand in a short period of time, and if the functionality they offer is to a large extent just what the developer is looking for. This calls for developing components in rather small granularity, which is something that most current software projects are not doing at all: they provide too much functions in the same library, and most often with only one single application in mind. - Integration in MDE ecosystems
None of the existing software systems in robotics (academic as well as commercial) is ready to be part of a large-scale MDE system such as Eclipse. This activity will help the community to realise this challenge.
Technical approach:
- Harmonisation of hardware platform interfaces
The goal is to provide interfaces to robotics hardware that are completely vendor independent, and that have appropriate levels of abstraction and granularity to serve all application needs in the robotics community. - Harmonisation of middleware interfaces
Middleware is all about "glue code" to interconnect hardware and/or algorithmic functionalities. However, all existing middleware projects in robotics have made the error to couple too many things into too large libraries. - Harmonisation of algorithm interfaces
All real functionality of software systems is encoded in algorithms of some sort. BRICS will work together with the community to provide this functionality in a form that is harmonized over the different individual projects, and that is ready to be integrated in IDEs such as Eclipse. - Integration of harmonisation guidelines in Tool chain
While Eclipse has already quite some documentation and processes to help developers to create reusable software components, the state of the art is still below what BRICS hopes to achieve. Hence, the project will contribute its efforts in this domain to the Eclipse ecosystem, via code and documentation contributions, but also by presentations at relevant MDE conferences.
Results:
- H. Bruyninckx. Harmonised interfaces and full integration of harmonisation guidelines in tool chain. BRICS Deliverable D8.2, April 2012.
- M. Klotzbücher, R. Smits, H. Bruyninckx and J. De Schutter. Reusable Hybrid Force-Velocity controlled Motion Specifications with executable Domain Specific Languages. In Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS '11), September 2011, San Francisco, CA, USA.
- H. Bruyninckx. Robotics software framework harmonization by means of component composability benchmarks. "The manifolds of four". BRICS Deliverable D8.1, September 2010.
- M. Klotzbücher, P. Soetens and H. Bruyninckx. OROCOS RTT-Lua: an Execution Environment for building Real-time Robotic Domain Specific Languages. In Proc. of the Internation Workshop on Dynamic Languages (DYROS '10), November 2010, Darmstadt, Germany.
- R. Bischoff, T. Guhl, E. Prassler, W. Nowak, G. Kraetzschmar, H. Bruyninckx, P. Soetens, M. Haegele, A. Pott, P. Breedveld, J. Broenink, D. Brugali and N. Tomatis. BRICS − Best practice in robotics. In Proc. of the IFR International Symposium on Robotics (ISR 2010), June 2010, Munich, Germany.
- G. Schreiber, A. Stemmer, R. Bischoff. The Fast Research Interface for the KUKA Lightweight Robot. In Proc. of the IEEE ICRA 2010 Workshop on ICRA 2010 Workshop on Innovative Robot Control Architectures for Demanding (Research) Applications − How to Modify and Enhance Commercial Controllers. Anchorage, May 2010, p. 15-21.