Professional Documents
Culture Documents
A - Flexible - High - and - Low - Level - Multi - Task - Behavior - Framework - For - Multi-Agent - Systems - in - Complex - Environments
A - Flexible - High - and - Low - Level - Multi - Task - Behavior - Framework - For - Multi-Agent - Systems - in - Complex - Environments
A Flexible High and Low Level Multi Task Behavior Framework for Multi-agent
Systems in Complex Environments
Abstract—This paper introduces a framework for behavior and processes offer already information regarding their status
modeling of software agents using the Robot Operating System. and can be represented in the virtual world e.g. as a digital
We developed a framework to simplify behavior design and twin. While each device and process fulfills various purposes
model conventional software agent design principles as known
for example from belief desire intention BDI agents or adaptive and acts according to different standards a common and ven-
agents. We provide a toolbox that is capable of supporting the dor independent understanding for building them is required.
developer with easy to implement methods written in python. Therefore, the reference architecture model for Industry 4.0
Finally we present two brief example applications and evaluations (RAMI4.0) was introduced.
in both simulation and using a social automated transport vehicle
for intralogistical processes.
Keywords-distributed artificial intelligence; social robots;
intelligent agents; multi-agent systems
I. INTRODUCTION
This paper presents an agent behavior modeling framework
by defining i ts r equirements a nd a rchitecture a nd presenting
the need of a new behavior modeling approach. Additionally
the implementation of the architecture as two independent
Robotic Operating System 2 (ROS2) [1] nodes will be de-
scribed and an evaluation of the implementation is presented.
Finally a short outlook on further applications and further
developments is shown.
II. BACKGROUND
A. Industry 4.0 Architecture
Nowadays, throughout all business areas the physical and Fig. 1. Reference architecture model for Industry 4.0 (RAMI4.0) [3]
virtual world melt together (known as Industry 4.0). In such
a socio-technical system humans and cyber-physical systems RAMI4.0 divides the Industry 4.0 space into the three
are collaborating and are connected on a vertical as well as dimensions: layers, life cycle and value stream and hierarchy
horizontal level over company boundaries. [2] Most devices levels (see. Fig. 1). The first dimension, the layer, displays
the different perspectives of a component as well as its
*This research is supported by the Center of Excellence for Logistics and IT
and has been partially funded by the European Union’s Horizon 2020 research functionality and the interference with other components. The
and innovation program under grant agreement No. 688117 (SafeLog). life cycle and value stream dimension deals with the value
69
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on December 04,2023 at 17:59:01 UTC from IEEE Xplore. Restrictions apply.
Map Position action types if needed.
Actions are started and organized by behaviors as shown
in the middle layer of Fig. 3. A behavior may run a single,
multiple or no actions at the same time. It is also possible
Network Interfaces
High Level Behavior to start other behaviors as sub behaviors. For example, this
→ MQTT is useful if one wants to use a decision making routine for
→ Webservice multiple behaviors. Further, it is possible to run multiple
→ DDS sub behaviors at the same time. Analogously to actions,
each new behavior has to extend an abstract class called
Low Level Behavior Behavior. This abstract class manages the life cycle of the
behavior and controls the running actions and sub behaviors
of the behavior. Actions may be aborted by the controlling
behavior. For this, each action has an interrupt flag which
HAL allows the action to stop gracefully and leave the part of
the robot the action was in control of, in a predictable and
Fig. 2. Beehave architecture
safe state for the following actions. The behavior life cycle
is managed by the provided behavior base class. Analogous
to the implementation of actions, the only method that has
to be overwritten to implement a new behavior, is the run
HighLevelBehaviorManager method which normally implements the decision making and
organizes the behavior. The decision making process may
be implemented by hand or can make use of one or several
available * 1 active decision engines like state machines, behavior trees or neural
* networks. Online retraining of neural networks is supported as
*
DecisionEngine Behavior well.
An example of an behavior could be a use case in which a
behavior decides where the robot should move to using a state
machine as decision making engine and inputs, e.g. given by
Yaml Commanded Random
another agent. After making a decision the behavior can use
an action to handle the driving procedure. At the same time a
second action, which is in charge to handle a sound playing
procedure, is started parallely as well.
* Behaviors may be changed at runtime dynamically. For this,
Action behaviors can be registered in the HighLevelBehaviorManager
as top level behaviors. When a top level behavior should be
replaced by a different top level behavior, the running top level
behavior will be canceled gracefully. Once all behaviors and
actions have been shut down, the new top level behavior will
Navigation Lift LaneFollowing be started. This feature allows to satisfy the main requirement
to safely and dynamically switch between high level robotic
behaviors at runtime. This feature can be used e.g. by a swarm
Fig. 3. High Level Behavior manager of a multi agent system to switch to a different swarm
strategy. Another use case may be to switch the robot into a
maintenance mode.
be implemented by an action is the run method, which should The structure of the low level behavior as shown in Fig.
contain the code that is needed to execute the intended task 4 consists of three main blocks. Similar to behaviors in the
e.g. driving to a given position and dealing with the outputs of HighLevelBehaviorManager in the high level behavior the
the navigation system of the robot. Multiple actions are able to LowLevelBehaviorManager is capable to control logics. A
run simultaneously, as long as they are not of the same action logic again, has to be implemented by extending the abstract
type. Locks ensure automatically, that there is not more than Logic class, which provides methods to manage the life cycle
one action actively running, that manages tasks of the same of logics. Similar to behaviors in the high level behavior, it
domain, e.g. lane following and free navigation based on laser is also possible to start sub logics from a logic, which are
sensors can not take place at the same time since both are of executed asynchronously. The purpose of a logic is to manage
the type driving. The locking of actions from execution who the low level decisions and the executions of them, e.g. which
have the same type is managed by the abstract base class of color a LED should have based on decisions made by the high
the action, Action (see Fig. 3). The user may add additional level behavior.
70
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on December 04,2023 at 17:59:01 UTC from IEEE Xplore. Restrictions apply.
The low level behavior manager makes heavy use of the
Blackboard Lowgic Python asyncio library. All logics and HALs are implemented
as asynchronous tasks so that they can be executed by an
asyncio event loop in a single thread. This makes the imple-
available * 1 active mentation of HALs and logics a lot easier. The user may use a
* logic to publish the blackboard periodically via a ROS2 topic
HALManager Logic such that the higher level behaviors and other ROS2 nodes are
able to fetch the current device state. HALs shall update the
blackboard by subscribing to relevant ROS2 topics and may
* implement their actions by calling ROS2 services.
71
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on December 04,2023 at 17:59:01 UTC from IEEE Xplore. Restrictions apply.
IV. C ONCLUSION [3] ZVEI and VDI, “Reference architecture modul industrie 4.0 (rami4.0),”
ZVEI and VDI, Status Report, Jul. 2015.
To conclude, we presented the behavior modeling frame- [4] A. Kamagaew, J. Stenzel, A. Nettstraeter, and M. ten Hompel, “Concept
work beehave for software agents. Simple use cases have of cellular transport systems in facility logistics,” in The 5th Interna-
been given to exemplary describe the usage of the framework tional Conference on Automation, Robotics and Applications, Dec 2011,
pp. 40–45.
components as well as the successful evaluation of some of [5] J. Jost, T. Kirks, P. Gupta, D. Luensch, and J. Stenzel, “A new approach
these use cases. The framework allows a straight forward towards safe human-robot-interaction in highly flexible warehouses,” in
approach of agent design and helps to achieve quick results and IEEE International Conference on Intelligence and Safety for Robotics.
IEEE, 2018.
deploy working technology in decentralized control systems. [6] T. Kirks, J. Jost, T. Uhlott, and M. Jakobs, “Towards complex adap-
Since it is used to implement decentralized robotic behaviors, tive control systems in intralogistics,” in The 21st IEEE International
we think it is only straight forward to have a framework like Conference on Intelligent Transportation Systems. IEEE, 2018.
[7] J. Bohren. (2020-05-18) “smach - ros wiki”. [Online]. Available:
beehave to rely on the software agent design principles. http://wiki.ros.org/smach
[8] (2020-05-15) Jade site - “java agent development framework”. [Online].
V. O UTLOOK Available: https://jade.tilab.com/
After presenting the feasibility of our approach on one [9] R. Agis, S. Gottifredi, and A. Garcia, “An event-driven behavior trees
extension to facilitate non-player multi-agent coordination in video
mobile robot platform we want to implement the framework games,” Expert Systems with Applications, p. 113457, 04 2020.
on different types of robots and further devices with various [10] J. Bohren. (2020-05-18) “smach_viewer - ros wiki”. [Online]. Available:
operating systems. We will discuss internally and with the http://wiki.ros.org/smach_viewer
[11] P. Iñigo Blasco, F. Diaz-del Rio, M. C. Romero-Ternero, D. Cagigas-
community, whether we there is a demand for the framework Muñiz, and S. Vicente-Diaz, “Robotics software frameworks for
to be available for other programming languages as well. multi-agent robotic systems development,” Robot. Auton. Syst.,
Furthermore, we intend to integrate more features e.g. learning vol. 60, no. 6, pp. 803–821, Jun. 2012. [Online]. Available:
http://dx.doi.org/10.1016/j.robot.2012.02.004
into our behaviors by using Keras [16]. Additionally, we want [12] J. Jost, T. Kirks, M. Fiolka, and S. Chapman, “Sociotechnical design of
to evaluate the decentralized approach in more complex real industrial transport vehicle and its interaction with humans in manufac-
world environments with more heterogeneous agents which are turing systems,” in International Conference on Applied Human Factors
and Ergonomics. Springer, 2018, Orlando FL USA, pp. 36–48.
interacting with one another for example to fulfill transport and
production tasks. After testing beehave in these more complex [13] G. Pardo-Castellote, B. Farabaugh, and R. Warren, “An introduction to
dds and data-centric communications,” Real-Time Innovations, 2005.
use cases we plan to further improve our framework based [14] N. Koenig and A. Howard, “Design and use paradigms for gazebo,
on the experiences made in in the above mentioned, more an open-source multi-robot simulator,” in 2004 IEEE/RSJ International
complex, use cases. Conference on Intelligent Robots and Systems (IROS)(IEEE Cat. No.
04CH37566), vol. 3. IEEE, 2004, pp. 2149–2154.
R EFERENCES [15] C. Gomez, J. Oller, and J. Paradells, “Overview and evaluation of
bluetooth low energy: An emerging low-power wireless technology,”
[1] Open Source Robotics Foundation, Inc. (OSRF). (2020-05-18) ROS2 Sensors, vol. 12, no. 9, pp. 11 734–11 753, 2012.
Documentation. [Online]. Available: https://index.ros.org/doc/ros2/ [16] A. Gulli and S. Pal, Deep learning with Keras. Packt Publishing Ltd,
[2] M. ten Hompel, M. Putz, and andreas Nettstraeter, “Whitepaper: Social 2017.
networked industry,” Fraunhofer IML, Tech. Rep., 2016.
72
Authorized licensed use limited to: Corporacion Universitaria de la Costa. Downloaded on December 04,2023 at 17:59:01 UTC from IEEE Xplore. Restrictions apply.