| Forschung |
|
Software framework RoboFrame tailored for heterogeneous teams of autonomous robots
Besides algorithms for the different subtasks of a robotic system, their embedding in the complete system is crucial.
An appropriate architecture has to take care of many tasks transparently.
Also, the development of new algorithms can be supported actively.
As a response to the requirements, the framework RoboFrame has been developed using C++ and modern object oriented design techniques.
On top of RoboFrame, various modules for the different tasks (image processing, localization, motion and behavior control) were implemented.
The framework provides transparent communication mechanisms for data exchange and interaction for modules running in one thread of execution, different threads on the same CPU or even running on different CPUs.
It has been spend much effort in developing an easily adjustable abstraction layer to provide platform independent access to thread synchronization mechanisms and file- and network access.
Currently, the operating systems Linux (x86 and MIPS architecture), BSD Unix, Windows 2000, Windows XP and the realtime OS Windows CE are supported.
To exchange data between the modules, two mechanisms are implemented:
Large data structured can be shared on one machine using a blackboard architecture and mutual exclusion mechanisms.
For smaller data structures, the preferred way of data exchange is using a message based system.
The messages are transmitted by the framework transparently between the modules.
If the modules exchanging messages reside within the same thread, the framework allocates the data exchange buffers in a way which avoids the cost for copying messages thus improving performance.
This mechanism enables to exchange even very large messages without any overhead, as long as the modules run in the same thread.
Messages and shared-memory data are identified by unique keys and are timestamped.
For communication between multiple robots both network protocols TCP (reliable, connection oriented) and UDP (unreliable, connectionless) can be used.
For debugging, monitoring and testing of an application, RoboFrame contains classes to assemble a graphical user interface (GUI).
A GUI can be connected to multiple robots using a special debugging interface over a reliable TCP connection.
Any message available in the application can be requested by the GUI and visualized by user defined dialogs.
All graphical user interfaces contain a tool for recording messages to log files.
This allows to record special situations and investigate them offline or in a simulation.
Also the direct comparison of different modules is possible since both modules can be supported with the same data.
To ensure the correctness of the core features of RoboFrame, a set of test cases has been implemented.
This has been done using the common tool for regression tests CppUnit.
For each of the main components, multiple tests provide nearly complete coverage.
Publications
-
S. Petters, D. Thomas, O. von Stryk
RoboFrame - A Modular Software Framework for Lightweight Autonomous Robots
In: Proc. Workshop on Measures and Procedures for the Evaluation of Robot Architectures and Middleware of the 2007 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, Oct. 29, 2007
PDF file (674 kB) | BibTeX
@INPROCEEDINGS{2007:IROS-WS-Architectures-PettersThomasvonStryk,
author = {S. Petters and D. Thomas and O. von Stryk}, title = {RoboFrame - A Modular Software Framework for Lightweight Autonomous Robots}, year = {2007}, month = {Oct. 29}, address = {San Diego, CA, USA}, booktitle = {Proc. Workshop on Measures and Procedures for the Evaluation of Robot Architectures and Middleware of the 2007 IEEE/RSJ Int. Conf. on Intelligent Robots and Systems}, url = {http://wiki.robot-standards.org/index.php/IROS_2007_WS}, }
-
M. Friedmann, J. Kiener, S. Petters, D. Thomas, O. von Stryk
Reusable architecture and tools for teams of lightweight heterogeneous robots
In: Proc. 1st IFAC Workshop on Multivehicle Systems, pp. 51-56, October 2-3, 2006
PDF file (349 kB) | BibTeX
@INPROCEEDINGS{2006:IFAC-MVS-Friedmann-etal,
author = {M. Friedmann and J. Kiener and S. Petters and D. Thomas and O. von Stryk }, title = {Reusable architecture and tools for teams of lightweight heterogeneous robots}, year = {2006}, pages = {51-56}, month = {October 2-3}, address = {Salvador, Brazil}, booktitle = {Proc. 1st IFAC Workshop on Multivehicle Systems}, }
-
M. Friedmann, J. Kiener, S. Petters, D. Thomas, O. von Stryk
Modular software architecture for teams of cooperating, heterogeneous robots
In: Proc. IEEE International Conference on Robotics and Biomimetics (ROBIO), pp. 613-618, December 17-20, 2006
PDF file (508 kB) | BibTeX
@INPROCEEDINGS{2006:ROBIO-Friedmannetal,
author = {M. Friedmann and J. Kiener and S. Petters and D. Thomas and O. von Stryk}, title = {Modular software architecture for teams of cooperating, heterogeneous robots}, year = {2006}, pages = {613-618}, month = {December 17-20}, address = {Kunming, China}, booktitle = {Proc. IEEE International Conference on Robotics and Biomimetics (ROBIO)}, }
Availability and Contact
RoboFrame is available in source code for non-commercial research and educational usage.
It is maintained by Sebastian Petters and Dirk Thomas.
|