approach to cognition. We argue that, in order to de-
velop applications also suitable for industrial automa-
tion, a framework for intelligent robotics and senso-
rimotor integration has to be designed keeping this
scope in mind. Furhtermore, additional requirements
like robustness and repeatability, generic interfacing,
user-friendlyness and graphical interaction have to be
taken into account with high priority. Still, we are im-
pressed by the incredible performance of biological
cognitive systems and, although we do not propose a
cognitive architecture, try to integrate certain aspects
where we find them useful and appropriate.
The principle theory considering blackboard ar-
chitectures is based on the assumption, that a com-
mon database of knowledge, the “blackboard”, is
filled with such by a group of experts (Erman et al.,
1980). The goal is to solve a problem using con-
tributions of multiple specialists. We adopt the ba-
sic ideas of this concept in the implementation of the
information storage of the proposed framework (see
Section 3.3). Nevertheless, a drawback with tradi-
tional blackboard systems is the single expert, i.e., a
processing thread, that is activated by a control unit
(Corkill, 2003). There is no strategy for concurrent
data access in parallel scenarios. Futhermore, there
is no space for training an expert over time, e.g., ap-
plying machine learning techniques, or even exchang-
ing a contributor with another one in an evolutionary
fashion. We deal with these shortcomings within the
proposed framework and present our approach in Sec-
tion 3.2 and 3.3.
Finally, a multi-agent system (MAS) is a system
composed of a group of agents. According to a com-
mon definition by Wooldridge (Wooldridge, 2009) an
agent is a software entity being autonomous, acting
without intervention from other agents or a human;
social, interacting and communicating with other
agents; reactive, perceiving the environment and act-
ing on changes concerning the agent’s task; and
proactive, taking the initiative to reach a goal. Most
existing implementations (e.g., JADE (Bellifemine
et al., 2003)) use a communication paradigm based on
FIPA’s agent communication language (FIPA, 2002),
which is designed to exchange text messages, not
complex data items. Thus we instead implement
the blackboard paradigm which is capable of main-
tenance of complex items. Still, we acknowledge the
above definition and the fact, that agents may concur-
rently work on a task and run in parallel. The process-
ing units of our framework are hence implemented ac-
cording to these MAS paradigms.
2.2 Related Systems
The following paragraphs discuss some of the most
widespread robotics frameworks with respect to ap-
plicability for vision-based limp object handling and
automation in the target scenario.
Orca
1
adopts a component-based software en-
gineering approach without applying any additional
architectural constraints. The framework is open-
source, but uses the commercial Internet Communica-
tions Engine (ICE)
2
for (distributed) communication
and definition of programming language independent
interfaces. ICE provides a Java-based graphical user
interaction/control instance, but capabilities to incre-
mentally compose applications by connecting the ex-
ecutable nodes at runtime is very limited. One may
start/stop nodes, but the communication is established
using a publish/subscribe mechanism implicitly by
implementing the corresponding interfaces. So while
providing facilities for efficient distribution of tasks
on multiple computers, Orca lacks the required flex-
ibility when trying to automate tasks without time-
consuming reprogramming (runtime reconfiguration).
The Robot Operating System
3
(ROS) is another
open-source software framework striving to provide a
(robot-)platform independent operating system. The
framework uses peer-to-peer technology to connect
multiple executables (nodes) at runtime in a pub-
lish/subscribe way. A master module is instantiated
for the required node-lookup. An interesting fea-
ture of ROS is the logging and playback functional-
ity (Quigley et al., 2009) allowing for replication of
recorded data-streams for later usage, e.g., in a simu-
lation environment. Still, the framework lacks a facil-
ity to record an application configuration in order to
conveniently replicate an application setup for a spe-
cific task, e.g., load a pick- and place task descrip-
tion and execute it on various robotic setups. Mi-
crosoft’s Robotics Studio
4
, released in 2007, is a
Microsoft Windows specific .NET-based software li-
brary for robotic software applications. The fram-
work utilizes the Coordination and Concurrency Run-
time (CCR) and the Decentralized Software Services
Protocol (DSSP) for message processing and passing.
It includes a simulation environment and, most no-
tably, a convenient facility to develop applications in
a user-friendly graphical way. Still, it is closed source,
and in addition to that, “not an ideal platform for real-
time systems” (Jackson, 2007), since there is no guar-
antee, that a service is not interrupted.
1
http://orca-robotics.sourceforge.net
2
http://www.zeroc.com
3
http://ros.sourceforge.net
4
http://www.microsoft.com/Robotics
ICINCO 2010 - 7th International Conference on Informatics in Control, Automation and Robotics
290