IROS2010 Workshop

The workshop will be held on the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS010) in Taipei, Taiwan, October 22, 2010.


Best Practice on Robot Control Architectures for Service Robots


This half-day workshop will analyze recurring patterns in robot control and robot software architectures, in order to gain a better understanding of both common practice and "good" practice in robot software. We wish to increase understanding of what constitutes a good (in terms of quality attributes) robot control architecture and to identify, analyse and formalise recurring architectural patterns. We also wish to identify and develop methods for qualitative comparisons of architectural designs. The workshop targets both researchers and practitioners in service robotics, who work on robot control architectures and complete service robot implementations.

Motivation and objectives

Software patterns became a powerful tool for analysing and accelerating the design of software. They are now used throughout the software engineering field, with specialised patterns existing in many domains, such as real time systems. Robotics is an area that has seen little formal use of patterns, even though informally one can see the use of recurring patterns of control throughout modern robot software and architectures.

This workshop aims to begin discussion on identifying common patterns in robotics, through presentations by and discussion amongst the participants. Part of this will involve identifying common and, possibly, "good" practice in robot software architectures. From this common practice will arise the regularly-used patterns of behaviour and control. Discussion will also concern categorising patterns, in terms of what they solve (control patterns for robot control, structural patterns for robot organisation, e.g. a multi-robot pattern). We also hope to categorise patterns on applicability: in which domains of robotics are certain patterns applicable? At the end of the workshop we hope to have an initial set of pattern categories, and of patterns that can be applied in the design of robot systems.

List of topics

We aim to have presentations and discussion on the following topics:

Intended audience

Robotics professionals and researchers from all areas of robotics who have experienced recurring patterns of control in their work, as well as researchers in robot software architectures and model-driven development for robotics.


13:40 - 14:10   Geoffrey Biggs, AIST, Japan:
Patterns in Robot Software Development
14:20 - 15:10   Ingo Luetkebohle, University of Bielefeld, Germany:
Cutting it sideways: Best practices for the separation of concerns in robot control architectures
15:20 - 15:40   Coffee break
15:40 - 16:10   Radu Bogdan Rusu, WillowGarage, USA:
PCL (Point Cloud Library) - lessons learned in 3D perception
16:20 - 17:10   Noriaki Ando, AIST, Japan:
OpenRT Platform: Robot Software Development Platform with toolchain and RT-Middleware
17:20 - 18:00   Open discussion



Geoffrey Biggs (AIST, Japan):
Patterns in Robot Software Development

Software patterns are a powerful tool for analysing and accelerating the design of software. Specialised patterns exist in many domains. Although robotics has not yet seen much wide-spread formal use of patterns, one can see recurring patterns of control throughout modern robot software. This talk will investigate the use of patterns, both formal and informal, in the structure of robot software architectures. It will aim to enumerate some simple but commonly-occurring patterns. It will also consider in which domains of robotics patterns may be found, and the categories that patterns may be divided into, such as control structure, perception and interaction.

Ingo Luetkebohle (University of Bielefeld, Germany):
Cutting it sideways: Best practices for the separation of concerns in robot control architectures

For modern robot control architectures, both control aspects such as predictability, safety and performance as well as software engineering concerns such as simplicity, evolvability and re-usability have to be addressed. However, there is not one best design to achieve them all { instead, the best solution can be very domain dependent. Due to the inter-relations between these aspects, it can be dificult to re-use existing best practices for novel designs, often leading to complete reimplementation, where a partial one would have been preferable. In this work, we look at four over-arching design areas which are known to inuence the separation of these concerns: a) the coupling of services to the executive, b) evolving data-structures, c) observable communication, and d) component wiring mechanisms. By comparing difierent software frameworks (e.g., XCF, Yarp, and ROS), we describe the currently used breadth of solutions in these areas and compare their respective advantages and disadvantages, both analytically and based on case-studies. A particular emphasis will be placed on the requirements of social human-robot-interaction and its interaction with successful task achievement.

Radu Bogdan Rusu (WillowGarage, USA):
PCL (Point Cloud Library) - lessons learned in 3D perception

In this talk I will address some of the problems and solutions that we found while dealing with large scale nD (n >= 3) point cloud datasets in perception. Our architecture is created on top of the ROS (Robot Operating System) API and draws from the lessons learned during the design of its predecessors, including the OpenCV library. PCL (short for Point Cloud Library) represents a comprehensive modern library that incorporates a multitude of 3D processing algorithms, including: filtering, feature estimation, surface reconstruction, model fitting, segmentation, registration, etc.

Noriaki Ando (AIST, Japan):
OpenRT Platform: Robot Software Development Platform with toolchain and RT-Middleware

We have studied RT-Middleware: OpenRTM-aist which is a component based software development middleware for robotic systems. It is now a standard specification in OMG, and OPRoS, GOSTAI-RTC, OROCOS are similar kind of component framework. As a software development platform, OpenRTM-aist has already two tools RTCBuilder (RtTemplate) and RTSystemEditor (RtcLink). And we already have OpenHRP dynamics simulator as a robot simulation environment. In order to make a tools chain for robot software development including them, now we are developing some tools to add on the Eclipse development environment. This talk gives an outline of OpenRT Platform which consists of software development tool chain on Eclipse and RT-Middleware: OpenRTM-aist. Systematic software development with tool chain, which supports a specification based development, will be necessary for safety certified service robot software. Our activities for safety-certified software development tool chains are also introduced.