of RPI commands, leads to good maintainability of
resulting applications, and real-time constraints can
be satisfied by an appropriate implementation of an
RPI interpreter, ensuring performance and reliability
for the critical system parts.
Traditionally, the communication with external
devices and systems is performed using a fieldbus that
is connected to a port with analog and digital I/Os.
In our approach, the physical I/Os can be mapped to
logical units, e.g. the necessary I/Os to drive a gripper
can be controlled using a single gripper object. This
object encapsulates the properties, i.e. the configura-
tion, as well as the behavior of the tool and can be
used for programing. Besides, complex devices can
be controlled with real-time performance by introduc-
ing specialized RPI modules and corresponding ob-
jects for the Robotics API. Furthermore, instructions
usually incorporate a two-stage error handling. If an
error occurs during the execution of the instruction,
basic error handling causes the robot system to reach
a stable and secure state. Subsequently, an exception
is thrown and a high-level recovery strategy can be ex-
ecuted. Thus, it is possible to guarantee reliable error
handling and to provide high-level error mechanisms
that developers can use.
There are some tasks which require the use of
multiple robots, e.g. mobile manipulation scenarios
or lifting large and heavy workpieces. Traditionally,
each robot has its own controller and must be pro-
grammed individually, using fieldbus communication
or special markers to handle synchronization with the
other robots. Using our approach, it is possible to de-
velop a single program that controls multiple robots.
The robots can be synchronized with real-time perfor-
mance using special operators offered by the Robotics
API. It is even possible to define a logical unit, that
consists of multiple robots, but can be programed as
a single robot (e.g. for load sharing, or for a mobile
manipulator).
5 CONCLUSIONS
This paper presents a new approach for the software
development for industrial robots – an approach that
is rather radical. Its focus does not originate from
mechanical engineering or control theory, but from
software engineering. Furthermore, it is not directly
compatible with current robot controllers and even
requires a new generation of robot control software.
However, it shows a way to overcome the intrinsic
problems and limitations of current programming en-
vironments for industrial robots. The development of
this approach is performed in tight cooperation with
industrial partners: KUKA Roboter GmbH, a special-
ist for robotics internals and Europe’s leading robot
manufacturer, and MRK Systeme GmbH, a system in-
tegrator working with KUKA robot and future user of
our approach. This cooperation and the joint devel-
opment of prototypical systems helped greatly in val-
idating the feasibility and industrial meaningfulness
of our research.
The presented approach promises advantages on
the feature side – as it was designed with extensibility
in mind – but the main benefits can be found coping
with non-functional requirements. Most notably, us-
ability and maintainability benefit from the advances
achieved in the field of software engineering during
the last 15 years, which can directly be applied to the
robotics domain using our approach. Although the
benefits and first results are promising, the approach
must demonstrate its advantages in practice. There-
fore, future work focuses on creating challenging ap-
plication examples on top of our approach. This in-
cludes the development of a reusable graphical robot
programming framework for SMEs and the introduc-
ing of service-oriented architectures for robot-based
automation processes.
REFERENCES
Brugali, D., editor (2007). Software Engineering for Ex-
perimental Robotics. Springer Tracts in Advanced
Robotics. Springer.
Ge, J. G. and Yin, X. G. (2007). An object oriented
robot programming approach in robot served plas-
tic injection molding application. In Robotic Weld-
ing, Intelligence & Automation, volume 362 of Lect.
Notes in Control & Information Sciences, pages 91–
97. Springer.
H
¨
agele, M., Nilsson, K., and Pires, J. N. (2008). Indus-
trial robotics. In Siciliano, B. and Khatib, O., editors,
Springer Handbook of Robotics, chapter 42, pages
963–986. Springer, Berlin, Heidelberg.
Hoffmann, A., Angerer, A., Ortmeier, F., Vistein, M., and
Reif, W. (2009). Hiding real-time: A new approach
for the software development of industrial robots. In
Proc. 2009 IEEE/RSJ Intl. Conf. on Intelligent Robots
and Systems, St. Louis, USA.
Miller, D. J. and Lennox, R. C. (1990). An object-oriented
environment for robot system architectures. In Proc.
1990 IEEE Intl. Conf. on Robotics and Automation,
pages 352–361, Cincinnati, Ohio, USA.
Pires, J. N., Veiga, G., and Ara
´
ujo, R. (2009). Programming
by demonstration in the coworker scenario for SMEs.
Industrial Robot, 36(1):73–83.
ICINCO 2010 - 7th International Conference on Informatics in Control, Automation and Robotics
440