structure on the different levels can be used and com-
bined independently, motivated by technical as well
as political constraints.
The different options for structuring have been ex-
plained based on a case study of cooperating mobile
manipulators and various robot frameworks, and eval-
uated in simulation and real world on a setup with two
KUKA youBots. In the example applications, differ-
ent ways to distribute the software on different lev-
els have been shown, and the advantages and draw-
backs for the given scenario have been shown. Over-
all, it became clear that there is not a single optimal
way of structuring and distributing the software. The
taxonomy presented in this work will hopefully be a
starting point that can help developers in designing
and discussing their software architecture. Based on
non-functional requirements to the developed solu-
tion (like reactiveness, synchronization quality, data
privacy, trust, ...), the choice of the appropriate distri-
bution scheme and framework(s) for implementation
should become easier.
As next steps, we plan to implement the men-
tioned other ways of distribution and to evaluate the
gains for the given scenario. This especially includes
the use of a mixed world model, as well as ways to
share a world model between multiple applications or
to synchronize relevant structural changes.
REFERENCES
Angerer, A., Hoffmann, A., Schierl, A., Vistein, M., and
Reif, W. (2013). Robotics API: Object-Oriented Soft-
ware Development for Industrial Robots. J. of Soft-
ware Engineering for Robotics, 4(1):1–22.
Bischoff, R., Huggenberger, U., and Prassler, E. (2011).
KUKA youBot - a mobile manipulator for research
and education. In Robotics and Automation (ICRA),
2011 IEEE International Conference on, pages 1–4.
Blumenthal, S., Bruyninckx, H., Nowak, W., and Prassler,
E. (2013). A scene graph based shared 3D world
model for robotic applications. In Proc. 2013 IEEE
Intl. Conf. on Robot. & Autom., Karlsruhe, Germany,
pages 453–460.
Bohren, J. and Cousins, S. (2010). The SMACH high-level
executive. IEEE Robotics & Automation Magazine,
17(4):18–20.
Bonasso, R. P., Kortenkamp, D., Miller, D. P., and Slack,
M. (1995). Experiences with an architecture for intel-
ligent, reactive agents. J. of Experimental and Theo-
retical Artificial Intelligence, 9:237–256.
Brugali, D. and Shakhimardanov, A. (2010). Component-
based robotic engineering (Part II). IEEE Robot. &
Autom. Mag., 20(1).
Bruyninckx, H. (2001). Open robot control software: the
OROCOS project. In Proc. 2001 IEEE Intl. Conf. on
Robot. & Autom., pages 2523–2528, Seoul, Korea.
Cao, Y. U., Fukunaga, A. S., and Kahng, A. B. (1997).
Cooperative mobile robotics: Antecedents and direc-
tions. Autonomous Robots, 4:7–27.
Dudek, G., Jenkin, M. R. M., Milios, E., and Wilkes, D.
(1996). A taxonomy for multi-agent robotics. Au-
tonomous Robots, 3:375–397.
Farinelli, A., Iocchi, L., and Nardi, D. (2004). Multi-
robot systems: a classification focused on coordina-
tion. Systems, Man, and Cybernetics, Part B: Cyber-
netics, IEEE Transactions on, 34(5):2015–2028.
Hammer, T. and Bauml, B. (2013). The highly performant
and realtime deterministic communication layer of the
aRDx software framework. In 16th Intl. Conf. on Ad-
vanced Robotics (ICAR), 2013, pages 1–8.
Hoffmann, A., Angerer, A., Schierl, A., Vistein, M., and
Reif, W. (2014). Service-oriented robotics manufac-
turing by reasoning about the scene graph of a robotics
cell. In ISR/Robotik 2014; 41st International Sympo-
sium on Robotics; Proceedings of, pages 1–8.
Klotzb
¨
ucher, M., Biggs, G., and Bruyninckx, H. (2013).
Pure coordination using the coordinator–configurator
pattern. CoRR, abs/1303.0066.
Klotzbucher, M. and Bruyninckx, H. (2012). Coordinating
robotic tasks and systems with rFSM statecharts. J. of
Software Engineering for Robotics, 3, no 1:28–56.
Mataric, M. J. (1993). Designing emergent behaviors: From
local interactions to collective intelligence. In Meyer,
J.-A., Roitblat, H. L., and Wilson, S. W., editors, Proc.
2nd Intl. Conf. on Simulation of Adaptive Behavior,
pages 432–441.
Quigley, M., Conley, K., Gerkey, B. P., Faust, J., Foote, T.,
Leibs, J., Wheeler, R., and Ng, A. Y. (2009). ROS: an
open-source Robot Operating System. In ICRA Work-
shop on Open Source Software.
Schierl, A., Angerer, A., Hoffmann, A., Vistein, M., and
Reif, W. (2012). Using Java for real-time critical in-
dustrial robot programming. In Wksh. on Softw. Devel-
opm. & Integr. in Robotics. IEEE Intl. Conf. on Robot.
& Autom., St. Paul, USA.
Schierl, A., Hoffmann, A., Angerer, A., Vistein, M., and
Reif, W. (2013). Towards realtime robot reactions:
Patterns for modular device driver interfaces. In Wksh.
on Softw. Developm. & Integr. in Robotics. IEEE Intl.
Conf. on Robot. & Autom., Karlsruhe, Germany.
Schneider, T. (2012). Distributed Networks Using ROS
- Cross-Network Middleware Communication Using
IPv6. Master’s thesis, Lehrstuhl f
¨
ur Medientechnik,
Technische Universit
¨
at M
¨
unchen.
Vistein, M., Angerer, A., Hoffmann, A., Schierl, A., and
Reif, W. (2010). Interfacing industrial robots using
realtime primitives. In Proc. 2010 IEEE Intl. Conf. on
Autom. and Logistics, Hong Kong, China, pages 468–
473. IEEE.
ATaxonomyofDistributionforCooperativeMobileManipulators
83