The Robotics Service Bus (RSB) is a message-oriented, event-driven middleware aiming at scalable integration of robotics systems in diverse environments. Being fundamentally a bus architecture, RSB structures heterogeneous systems of service providers and consumers using broadcast communication over a hierarchy of logically unified channels instead of a large number of point-to-point connections. Nevertheless RSB comes with a collection of communication patterns and other tools for structuring communication, but does not require a particular functional or decomposition style.
RSB is implemented as a flexible, lightweight toolkit. Based on previous experiences, the design and implementation try to avoid centralization and complicated dependency structures. Instead, functionality is organized in layers with minimal, clearly stated dependencies. The core library merely supplies the abstractions and machinery for building communication systems subject to varying requirements. This core is implemented in multiple programming languages with implementations trying to be in the spirit of the respective language as much as possible. As a result, RSB is not tied to a particular network transport, serialization mechanism or programming language. In addition, much effort is put into systematic testing and continuous integration.
These conceptual and implementation properties hopefully allow RSB to scale across a wider range of diverse functional requirements, heterogeneous hardware platforms and varying reliability and timing requirements than other robotics middlewares. Additionally, RSB's open architecture and project structure and lightweight implementation enable its use with small entry barriers and little framework lock-in.
To obtain the code for all RSB modules, use the following command
git clone --recursive https://code.cor-lab.org/git/rsb.git
Parts of this library have been developed in the context of the European FP7 project HUMAVIPS.
Developer: A. Moringen, A. Nordmann, C. Emmerich, C. Leichsenring, F. Lier, F. Reinhart, J. Wienke, L. Schillingmann, M. Goetting, M. Johannfunke, M. Meier, M. Schöpfer, N. Hafner, N. Köster, P. Lücking, R. Haschke, S. Herbrechtsmeier, S. Rüther, S. Schneider, S. Sharma, T. Korthals
Reporter: A. Tuleu, C. Dreyer, C. Elbrechter, C. Peters, J. Jenkins, J. P. Carbajal, L. Ziegler, P. Holthaus, S. Meyer zu Borgsen
Project Manager: J. Moringen, J. Wienke, S. Wrede
Machine Read Only: r. user
We are starting to phase out support for RSB 0.10
We are starting to phase out support for RSB 0.10 by deactivating the associated Jenkins jobs.
RSB 0.12 has been released
We are happy to announce the release of version 0.12 of the RSB middleware.
We are starting to phase out support for RSB 0.9
We are starting to phase out support for RSB 0.9 by deactivating the associated Jenkins jobs.
RSB 0.11 has been released
We are happy to announce the release of version 0.11 of the RSB middleware.
We are starting to phase out support for RSB 0.7
We are starting to phase out support for RSB 0.7 by deactivating the associated Jenkins jobs.