Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

OCbotics: An Organic Computing Approach to

Collaborative Robotic Swarms

Sebastian von Mammen, Sven Tomforde, Jörg Hähner,


Patrick Lehner, Lukas Förschner, Andreas Hiemer, Mirela Nicola, Patrick Blickling
Organic Computing
University of Augsburg
Eichleitner Str. 30
86159 Augsburg, Germany
{sebastian.von.mammen, sven.tomforde, joerg.haehner}@informatik.uni-augsburg.de
{patrick.lehner, lf foerschner, andreas.hiemer}@gmx.de
mirela nikola@yahoo.com, patrick.blickling@hotmail.de

Abstract—In this paper we present an approach to designing complex system design [1]. It provides the theoretical under-
swarms of autonomous, adaptive robots. An observer/controller pinnings to quantitatively capture system attributes such as
framework that has been developed as part of the Organic their autonomy and robustness, or processes of emergence
Computing initiative provides the architectural foundation for based on measures of entropy. It also promotes complex
the individuals’ adaptivity. Relying on an extended Learning system design by means of a universal, observer/controller-
Classifier System (XCS) in combination with adequate simula-
tion techniques, it empowers the individuals to improve their
based architecture for adaptive, self-organising behaviour. With
collaborative performance and to adapt to changing goals and respect to robotics, OC research initially focussed on failure
changing conditions. We elaborate on the conceptual details, and tolerant and robust hardware architectures, mainly applied to
we provide first results addressing different aspects of our multi- multi-legged walking machines. The most prominent example
layered approach. Not only for the sake of generalisability, but is the Organic Robot Control Architecture (ORCA) [2], [3].
also because of its enormous transformative potential, we stage In ORCA, two kinds of behavioural modules are discerned.
our research design in the domain of quad-copter swarms that Basic Control Units (BCUs) implement the core behaviour
organise to collaboratively fulfil spatial tasks such as maintenance of the robot, rendering it fully functional with respect to the
of building facades. Our elaborations detail the architectural range of possible tasks. In addition, Organic Control Units
concept, provide examples of individual self-optimisation as well (OCUs) observe and modify the BCUs’ configuration during
as of the optimisation of collaborative efforts, and we show how
the user can control the swarm at multiple levels of abstraction.
runtime. The separation between a system’s basic and its
We conclude with a summary of our approach and an outlook extended functionality has proven itself numerous times—the
on possible future steps. sympathetic and the parasympathetic division of the human
autonomous nervous system may serve as a famous biological
I. I NTRODUCTION example.
In order to benefit from an ever more complex technical Similarly to ORCA, we follow an OC approach to self-
environment, its behavioural autonomy needs to increase ap- organising robotic systems. In our approach, each agent in a
propriately as well. Only then, it may serve its users without robotic swarm implements a multi-layered observer/controller
requiring overwhelming amounts of attention. At the same (O/C) architecture that allows for local, and in unison, also
time, a technical system is expected to offer appropriate in global optimisation of the swarm agents’ behaviours. The
access for controlling its individual components as well as user interface is explicitly included as one layer which accepts
its global goals. The control of robotic swarms lends itself modifications of the swarm’s and the individual agents’ goals.
well to elucidate this challenge: Ideally, the user would com- We present the details of the multi-layered O/C architecture
municate his goals to the swarm as a whole, without the of a single swarm robot individual and we explain how it
need of micromanaging the individuals’ every parameter and works in organising ensembles (Section II). In Section III, we
interaction. For instance, the user might navigate a flock of give an example of the reactive, self-regulatory capacity of the
flight-enabled robotic units towards a building and make them architecture. Section IV highlights the longer-term evolution
work on facade maintenance, e.g. scrapping off paint, cleaning of collaborative behaviour, and Section V demonstrates the
windows, or trimming greenery. For this to work, a line of workings of the user interfacing layer of the architecture. We
command has to be established that links several levels of the provide links to related works in the respective sections, and
system’s architecture—the user needs to communicate target we conclude with a brief summary and an outlook on future
and task to the swarm and the swarm individuals communicate work.
to coordinate their efforts. In addition, each swarm individual
needs to learn how it can contribute to the newly posed, global II. T HE OC BOTICS A PPROACH
goals, and how it can maximise its contribution.
As mentioned in the introduction, our approach relies on
The field of Organic Computing (OC) aims at translating an architectural setup similar to ORCA. Therefore, we first
well-evolved principles of biological systems to engineering reinforce the link between our approach and ORCA and related
works. Next, we build on these analogues to preceding works
to detail our approach—from the perspective of a generic Layer 3 Monitoring& Goal&Mgmt.&
architecture as well as of its concrete implementation.
Layer&2& Controller&
Offline&learning& User
A. From Single Adaptive Units to Teams Simulator&

Collabora2on&mechanisms&
Observer& Op2misa2on&
In ORCA, the Organic Control Units change the system
under observation and control (SuOC) based on periodically
issued health signals, i.e. messages from the Basic Control Layer&1& Controller&
Parameter&selec2on&
Units indicating their functional working state. In contrast, our Learning&
approach observes all kinds of available data about the SuOC. Observer& Component&
An according observation model specifies exactly, which input
data, configuration parameters, or internally computed results
of the SuOC are passed on to the observer/controller layer. Layer&0&
ORCA’s restrictive policy of data retrieval matches its fairly System&under&Observa2on&
conservative array of options for changing the system. Few and&Control&
choices, however, drastically limit the system’s configuration
space and thus promote ORCA’s primary design goals of (a)
Fig. 1. Multi-level Observer/Controller Architecture. The System under
unearthing an optimal learning guidelines for adaptation (“the Observation and Control (SuOC) at the bottom is observed and adjusted by the
law of adaptation”), and of (b) protecting acquired knowledge O/C layers above. Their responsibilities are (in this order): reinforcement of
against corruption and maintaining its validity and consistency existing behaviour, innovating new behaviour, and interfacing local behaviour
[4]. with (a) user-set targets and (b) cooperative units’ goals.

The ORCA approach is further limited to single, iso-


lated robots—information exchange with other robots or col- presented in 1975 combined basic rule-based reactive be-
laborative efforts among robotic teams were not envisaged haviour with an evolutionary component to evolve and improve
in the original architecture. Yet, it has been shown that the rule base [10]. With the introduction of accuracy-based
Observer/Controller-driven robots can increase their learning reinforcement of classifiers, LCS research reached an impor-
speed imitating each other [5]. Local communication between tant milestone in 1995 [11] (for an overview of LCS research
robots allows for establishing real teams that collaboratively and ongoing research topics see, for instance, [12]). In the
perform tasks such as the exploration of unknown terrain, and context of safety-critical Organic Computing applications, the
that assign each other subtasks in a fair manner—decentralised, latter extension to LCS, also referred to as XCS, was further
without the need for global control [6], [7]. modified to suit the multi-layer O/C architecture outlined
above. In particular, three modifications were implemented:
B. O/C Architecture (1) The use of continuous value ranges as promoted in [13],
(2) the generalisation of the closest fitting existing rule in
As suggested above, the OCbotics approach is founded layer 1 instead of the generation of a new rule, in case
in a multi-level observer/controller architecture. An according that a given situation is not covered by the existing rule
diagram is presented in Figure 1. It shows four interwoven set (“widening” covering mechanism), and (3) “sandboxed”
architectural levels. Level 0 denotes the system under ob- offline learning in layer 2 to ensure safety and maturity of
servation and control, the base of the architecture located at new rules/behaviours. In addition, one can track the impact of
the bottom of the figure. Immediately above, level 1 retrieves those triggered rules effecting changes identical to the newly
and evaluates data about the SuOC’s performance. Based on generated rule and, thereby, building up trust in new rules
this data, it changes the SuOC’s configuration in order to before they are considered by themselves.
optimise its performance, to adapt it to varying conditions
and needs. In particular, the SuOC’s parameters/behaviours are In the remainder of this paper, we show preliminary
optimised that may result in both good and bad performance examples of the OCbotics approach each of which works at a
values with respect to a predefined goal (introduced by level different level of the presented architecture. In particular, we
3). As a consequence, the best possible configuration set, or show an example of reactive behaviour of a particular system
behaviour, known to level 1 is exhibited by level 0 at any under observation and control (layer 0) and we elaborate on its
given situation. True innovation is realised by level 2, one step integration with layer 1 (Section III). An instance of evolved
above in the multi-level architecture. Here, completely new behaviour (layer 2) in a collaborative swarm robotics setting
behavioural options are generated, simulated and optimised in is presented in Section IV. Its communication across a swarm
a sand-boxed simulation environment. Only if the new model of agents as well as the interface mechanism with the user of
specifications satisfy all safety constraints considered as part the system, i.e. layer 3, is explained in Section V.
of the simulation process, they are eventually fed into level 1.
III. S ELF - ORGANISED A ERIAL ROBOTIC C ONSTRUCTION
C. Modified XCS
Tensile structures play an important role in post-modern
Several studies in Organic Computing have emphasised architecture [14] and they promise to become increasingly im-
the adequacy of Learning Classifier Systems (LCS) as a com- portant still considering their unique versatility and flexibility
prehensive framework to support adaptive observer/controller in combination with advances in technologies in built material
architectures, see for example [8], [9]. Already the first LCS and construction methods [15]. They have also been subject
to Aerial Robotic Construction (ARC) research [16], [17] due
to their light mass, load-carrying ability, and their ability of
connecting large distances. Quadrotors have been identified as
vehicles apt for aerial manipulation mainly due to their robust
flight behaviour and their hovering capability [18]. In [17], pro-
totypic building primitives such as single and multi-round turn
hitches, knob and elbow nots as well the trajectories resulting
from their concatenation have been discussed. Different from
pre-calculating trajectories, we have been working on a self-
organising approach to building tensile structures. We detail
our approach below, followed by elaborations on its OCbotic-
specific features.

A. Stigmergic Web-weaving
Typically, a spider weaves its web by itself [19], [20]. Com-
plex web constructions, however, may require collaborative
entanglement and tightening of ropes. This can, for instance, be
achieved by synchronised flight through pre-calculated control
points to cross the ARC quad-rotors’ trajectories. Alternatively, (a)
the swarm individuals may coordinate themselves relying on
local stimuli, like social insects do [21], [22]. In this section,
we present a first such locally motivated ARC experiment1 .
Currently, it involves only one quad-rotor that tightens a rope
around a tent pole’s four suspension lines, see Figure 2.
1) Technical Setup: For our lab-experiments, we currently
employ the AR.Drone Parrot 2.0 quad-rotor system. It is
connected to a standard PC via WLAN. The PC retrieves
the sensory data of the quad-rotor and issues the according
navigational instructions. We make use of the quad-rotor’s
VGA camera that has a 90◦ field of vision, built-in image-
processing capabilities such as marker recognition, and the
estimates of its ultrasonic distance sensor. As this sensor and (b)
a downward directed camera are used by the quad-rotor to
Fig. 2. (a) The quad-rotor hovers clock-wise around a pole that is suspended
stabilise its flight, we attached a coil at the top of the vehicle by four lines. It tightens a rope (green, dashed) along the suspension lines.
and unwind the cord through an eye at its back. We interface (b) A schematic side-view extracted from a photograph, highlighting the
with the quad-rotor relying on Nodecoper.js and the node-ar- orientation of the markers pinned to the suspension lines.
drone module [23].
2) Behavioural Definition: The quad-rotor behaves only
based on locally available sensory information. In particular, it
implements the reactive behaviour schematically summarised
in Figure 3: After taking off, it searches for a orange-green-
orange marker, which is one of the designs that the vehicle
is programmed to recognise automatically. It keeps spinning
right until it eventually finds one. If the distance to the marker
is less than a certain threshold (1m worked quite well), it drifts
left. As a consequence, the detected marker moves outside of
its field of view. At this point, the quad-rotor has surpassed
the previous marker and looks for the next one, which is
attached to the next suspension line (also consider Figure 2).
The distance to the next marker along the circumference of
the pole is greater than the given threshold. The quad-rotor
can go straight ahead, if the tag is within the right-hand side
of its view (this condition is labelled ‘tag in area’ in Figure
Fig. 3. Weaving Behaviour of a Self-organising ARC Quad-rotor. It circles
3). Otherwise, it needs to shift a bit to the left. 08.07.2014clock-wise
4,5h around a pole, tightening its thread around suspension lines tagged
• Video ohne
with Faden oriented markers.
directionally
B. Adapting Reactive Behaviour • Verbesserung der Spulenbefestigung (besseres Abwickeln)
• Code refactored
Programmatically, the quad-rotor’s behaviour (Figure 3) is
represented as a set of simple if-then rules. As such, they09.07.2014 can be easily subjected to standard LCS implementations and its
1h
extensions such as XCS (Section II-C). Hereby, those rules
• Video mit Faden
1 Please find an accompanying video at http://youtu.be/tZNeL-n1dDE. with the best prediction accuracy are reinforced to gain the
10.07.2014 1,5
• Besuch von Airbus
• Vorführen der Navigation ohne Faden und mit Faden
2 Related Work

greatest fitness over time, yielding the best possible behaviour.


In this way, the quad-rotor of the ARC example would learn to
query the proper sensors at the right times to react in the best
possible way, if the behavioural rule set was enriched with ac-
cording alternatives. At the interface of level 0 (the SuOC) and
level 1 (the reinforcement learner), the measure of success can
typically be calculated based on locally available information
such as the distance flown or the number of recognised tags.
For good learning results, the parametrisation of the behaviour
should be realised at a rather high level, focusing on the
selection of queries and operations and only cover small ranges Figure 2.1: Schematic of how the modules in our simulations work together.
Fig. 4. Interwoven Simulation Modules. The Robot Operating System
of variability. Potential benefits of level 1 learning would not integrates various software components to simulate quad-rotor swarms. In
only be optimisation of one particular learning pattern but also particular, we control the robot using a common ROS-based instruction set
behavioural rules that adapt to hardware particularitiesOne
suchofasthesethat
is isthe ardrone_autonomy
understood by both the Gazebomodule [22],
simulation which
software andencapsulates
its quad-rotor the driv
deviating sensory intake or imbalanced motor control.for Parrot’s AR.Drone 2.0 quadrotor and provides a ROS interface
simulation plugin as well as a ROS driver that steers the actual quad-rotorfor remote
hardware.
controlling it. Using exactly the same interface, Huang and Sturm have created
IV. C OLLABORATIVE A ERIAL ROBOTIC M AINTENANCE
Gazebo plugin to simulate the flight behavior of this quadcopter [15]. The identic
At level 2 of the multi-layer O/C architecture, behaviours and thanks to a Gazebo plugin that simulates the quad-rotor’s
set of control commands
behaviour basedandon telemetry reports
the very same allows for
ROS-based in-placeset
instruction switching b
can be created by means of generative model building ap-
tween
proaches such as evolutionary algorithms and be optimised simulation
[30], and
any real
of hardware
the generated once the control
behaviours software
immediately is considered
work in- matu
silico and in-vivo. For the generation of novel behaviours as
enough. Ourwell
for deployment by means of simulations. As a first OCbotics robot
as controller uses this interface
for their evolution, we decidedprovided
to use bytheardrone_autonomy
Evolving
prototype of offline level 2 generation and optimisation, we
communicate
have evolved quad-rotor behaviour for collaborative surface with
Objects the simulator
framework plugin
(EO) or
[31]. a
EO real
is AR.Drone.
an open The interconnecti
framework
maintenance. In this section, we introduce the challenge for evolutionary computation featuring
of theofinvolved modules is illustrated in Figure 2.1. an extensible, object-
optimising collaborative surface maintenance. We detail the oriented architecture, and turnkey implementations of genetic
technical setup we relied on for both simulation and We chose this
optimi- combination
algorithms, because,
particle swarm while giving us
optimisation, anda genetic
sufficiently realistic simul
program-
sation and we describe the behavioural options of eachtion ming.
environment for genetic programming, the interface-compatibility of simulat
swarm
individual. Afterwards, we draw a very rough picture of the 2) Behavioural Definition: Our approach to collaborative
and driver
evolutionary experiments that we have run, and we discuss the will
facademake it easier to
maintenance verify control
is inspired by nestprograms withof physical
construction social robots
the future. insects [21]. Each individual works on a small part of the
interactions between layer 2 and 3 for propagating successfully
bred behaviours that require synchronisation between the in- construction proportional in size to the insects’ physique. Ac-
dividuals in an OCbotics swarm. cordingly, each simulated quad-rotor divides the target surface
in a grid, each cell measuring 2 by 2 metres, its field of
A. Collaborative Facade Maintenance view covering six cells, two rows of three (Figure 5). This
partitioning scheme is a result of the size of the quad-rotor
Consider the facades of large office buildings as examples
itself and its perceived area from a vantage point close to the
of vertical surfaces: They are subject to cleaning [24], [25],
surface. Without loss of generality, a dirtiness value is assigned
trimming greenery [26], and other maintenance tasks. As in
to each cell that indicates whether it needs to be worked on or
the previous example, these tasks might benefit more from
not. The quad-rotor’s internal state, i.e. its remaining battery
collaborative efforts than only in terms of efficiency. For
life, as well as the configuration of dirty and clean cells that
instance, fast growing greenery might require one machine to
reveals itself in front of it trigger specific actions. The quad-
bend, the other one to cut a branch. Equally, during cleaning,
rotor may return to the base station to recharge. It may fly to
several hovering robots might have to join to build up sufficient
one of the cells in its field of view and clean it. Alternatively,
pressure to remove persistent dirt. Of course, the respective
it may move to one of the four neighbouring vantage points
operations might also be split into several procedures per-
to inspect the respective neighbouring batches of cells.
formed by individually optimised machines. In this example,
however, we only consider the most modest objective, namely
collaborative efficiency. B. Evolving Collaborative Behaviour
1) Technical Setup: The technical setup of our level 2 13
Figure 6 captures the behavioural options of a quad-rotor
experiment comprises (a) a simulation environment to calculate in the context of facade maintenance. Any activity is initiated
aviation and robotic mechanics, and (b) a machine learning by the decision-making component, subsequent events guide
environment with a generative model component and an op- the quad-rotor back into the decision-making process. Again,
timisation component. Figure 4 depicts the software modules the behaviours can easily be written as if-then rules which
that we have used in order to simulate collaborative quad- ensures the coherence and simplicity of interfacing across the
copter swarms. The Robot Operating System (ROS) acts as layers of the O/C architecture. Notice that in this model, quad-
a hub for these modules. It provides a high-level software rotors cannot stop working. Instead, the whole simulation is
interface for programming and communicating with different terminated after a given amount of time. During this period of
kinds of robots [27]. Gazebo is a simulation engine that time, the decision-making component determines the success
natively integrates with ROS, offering 3D rendering, robot- of the simulated swarm. We generate an according program
specific functionality and physics calculations [28]. Thanks tree using Genetic Programming [32]. In this paper, we refrain
to a ROS driver for the AR.Drone Parrot quad-rotor [29], from presenting the evolutionary approach in all detail, but
3 Methodology 3 Methodology

3 Methodology

With these simplifications in place we can focus on the actual problem of interest:
producing effective and efficient global swarm behavior – that is, working the whole
surface given homogeneous local work loads, and assuming the need for transport-
ing centrally maintained resources – with a simple decision function relying only
on local knowledge. Figure 3.5: High-level state diagram of an agent. Edge labels describe the conditions
triggeringofstate
Fig. 6. Options transitions.
Activity EllipticalMaintaining
of a Facade outlines denote longer-termAgent.
Quad-rotor states,
while the square
Any activity—working onoutline
one ofmarks a momentary
the cells ahead, state
flyingof to
decision making.
the base station
to recharge, or moving to a neighbouring vantage point—is initiated by the
3.1.4 Scenario Start Configuration decision component which considers the agent’s battery state and the surface
in our case by the simulation environment. In our experiments, once a stopping
configuration in its field of view.
criterion is met, the simulation is simply terminated. In a more realistic scenario,
(a) The view of a robot. The gray translucentAt the shows
pyramid beginning
the field ofofview
a simulation, each program or facility might send an overriding radio signal causing the
of the a controlling
Fig. ARU on the bottom right. The six green, labeled task cells are considered visible
Grid for Surface Maintenance. The quad-rotor divides the building ARUs to return to their base stations and shut off, for example. Alternatively, the
cell represent
is assigned a random dirtiness
5. Cell
to the robot from its position, while the red ones are not.
facade in a grid of cells. The individual cells the immediate target agents might be deployed in a perpetual work scenario that depends on sustained
areas to work on. Their states of cleanliness value,
also normalized
provide the local socues
thatforthe
work
average
efforts, such as surface cleaning or lawn mowing.
decision-making, i.e. for approaching an individual cell or to moving to another
vantage point. dirtiness value of all cells is 0.5. All
The centerpiece of the model and the main subject of investigation in our ex-
ARUs taking part in the simulation perimentsare(Chapter 4) is the decision function fAg . The content of this decision
we want to convey its basic mechanisms placed somewhere
and how it ties on the
into square de-
function is developed using genetic programming, the details of which are explained
the OCbotics approach. The generated scribed by theprogram
decision two halves may ofin the
the following
task sections.
conditionally deploy the operations outlined in Figure 6, and
surface as illustrated in Figure 3.4. The
introduce references or primitive values as their parameters.
The resultant behaviour trees areARUs are spread
considered apart to prevent
the individuals un-
3.3 Evolution
necessary
in an evolutionary optimisation cycle, collisions
and thus when they take off
their fitnesses
(penalty, a.o., for remaining amount of dirt) are calculated This section explains the details of the evolution mechanism used in this thesis.
in according simulation runs, andand
theyapproach
serve as the task surface.
an important It shortly repeats the general idea of genetic programming and then goes into
criterion for selecting ancestors for subsequent generations of the specifics of our Figure
Each robot’s starting location also model. We Placement
3.4:first areaterms
clarify some for robots.
used in the remainder of
individuals (deterministic tournaments). Fig. 7. Simulated Environment for Collaborative Surface Maintenance
the section
serves its base station to which Evaluation. and present the genetic representation
it must Two flat surfaces are presented to the quad-rotorof our individuals. Then we
swarms as target
(b) A part of the vantage point grid. The green spheres are the vantage points, the
We ran experiments featuring two or four quad-rotors, or explain
area the general
which needs layout
to be of the
cleaned. evolution
The base cycle and
stations the
of details
the swarm of the selection
individuals
“aerial
points,robotic units”
the respective view(ARUs),
return to recharge its battery, and
red arrows illustrate neighbor relations between them. For two exemplary vantage
included. in parallel for 900 to andare
working
frusta are also
all ARUs
evaluation
randomly in one
mechanisms
placed simulation
in use.
in the rectangular use between
The section
area instances
is concluded
of the
by a minute discussion
the surfaces.
1500 simulated seconds. Their individualsame controller, thus producing
base stations
Figure 3.2: Cell slots in a robot’s view and vantage point grid.
were of theagenetic
homogeneous agent in
variation operators population.
place. More details
distributed randomly in rectangularabout the concrete
area sharing two sidesinitial
withconfigurations are presented out in the context of the
the target surfaces as seen in Figure 7. Population sizes varied process, offline. At the same time, collaborative behaviour
experiments
from 30 to 100 individuals, the generational in was
cycle Chapter 4.
repeated needs to be communicated, if it is required to be performed by
between 10 to 50 times—depending16 on the work load of an 23
all individuals of a swarm in order to function in a coordinated
individual simulation which was mainly determined by the way. The observation of Layer 2 by Layer 3 has to detect such
3.2 that
Agent Representation
number of interacting agents and the simulated time. One of impending necessary changes and broadcast it to all the other
the best individuals in an experiment started from a set members of the swarm. Similar to an auction in multi-agent
of previously evolved specimen worked as follows: Having systems [33], the best broadcast solution, i.e. decision program
arrived at a random cell of the target surface, work through
single rows of vantage points from In right
this section wethe
to left. If discuss
borderthe logical representation
and fitness usedbe
value, would forimplemented.
the robotic actors
As aninextension,
any population-based simulation and optimisation approaches
our model.
of the target surface is reached, return We describe
to the base how our
station and agents
could perceive their
be distributed environment
among the OCbotics conceptually,
individuals and their
approach the target area again. It how
turnsthey can react to it and how
out that this behaviour and when
evolution they change
be concerted their
across the state.
whole swarm (for distributed
proved significantly faster than two decision programs we population-based optimisation see, for instance, [34] and [35]).
manually designed before running the evolutionary process: Especially in situations with imbalanced computational loads
One of them stochastically selecting dirty cells and considering across the swarm, following a smart distributed optimisation
the remainder of the battery before taking action (low batteries strategy could yield an important advantage.
are also penalised by the fitness calculation), the other one 20
letting the quad-rotor follow the dirt gradient exhibited in the
perceived 3 by 2 cell matrix.
V. U SER - GUIDED S YSTEM B EHAVIOUR
C. Sandboxed by Layer 2, Letterboxed by Level 3
In our last example, we demonstrate an early prototype of
Level 2 is capable of generating and evolving collaborative the user interfacing component of layer 3 of the multi-layered
behaviour such as the one described above. Initially, the novel O/C architecture that drives the OCbotics approach. As hinted
behaviour does not have any impact on the system under at in Figure 1, layer 3 mediates the user’s goals vertically
observation and control. One may say the innovation process to all system layers below and horizontally to all OCbotics
is encapsulated in a sandbox and runs completely separated individuals of the system.
Fig. 9. Simulated Immersive Swarm Control. One of the authors is immersed
into an OCbotics simulation. She navigates through movement of her head
and using a continuous joystick of the two motion-controllers. The pair of
controllers empowers her to (literally) draw new spatial relations between the
Fig. 8. OCbotics Swarm Modelled in Unity3D. The Unity3D environment al- simulated objects, e.g. to set new targets for subsets of the swarm.
lows us to integrate complex simulation models and immersive user interaction
hardware such as motion-based input controllers and head-mounted displays.
2) Behavioural Control: Our user interface prototype im-
merses the user into a virtual reality shared with the OCbotics
A. Immersive Swarm Control swarm. In the long run, the simulated swarm is meant to make
way for a real one, and the virtual reality for an augmented
The preceding examples of web-weaving quad-rotors in reality. Already, the user can observe the whole swarm or
Section III and collaborative surface maintenance swarms in a subset tracking it with a virtual camera that follows in a
Section IV implement spatial operations. To some extent, both distance and which aims at the centre of the set of selected
culminate in the tandem of local cues and resultant trajectories. individuals. The user can exercise control on any subset of
As a consequence, defining spatial targets for arbitrary subsets the swarm, hence he may direct flocks of individuals or single
of a swarm deems to be an adequate task generalisation for individuals at a time. The interface provides all kinds of state
a first prototype of a level 3 user interface. A “human-in-the- information about the selected individuals, such as (averaged
loop” system design forces one to clearly define the level of and variance of) remaining battery life, current target, current
influence a user may exercise versus the level of autonomy the trajectory, and currently perceived neighbours. The user may
system may keep [36]. Therefore, we elaborate on the different switch between individuals and greater subsets of the swarm by
levels of access implemented by our prototype right after we simply selecting them. Next, he may change the target of flight
outline its technical foundation. or even individual control points along the way. Of course, he
may also change the parameters of the selected individuals
1) Technical Setup: Focussing on interactivity, we decided such as their urge for alignment. In our prototype, the user is
to utilise the turnkey infrastructure of one of the comprehensive immersed into the scene of the simulated swarm (see Figure 9)
game and simulation engines. In particular, we decided to so he can easily trace its activity, understand its relationship to
use Unity [37] as it provides a very shallow learning curve the current target and to obstacles, and to rectify it, whenever
(compared to its competitors) while still providing a powerful necessary.
coding infrastructure that allows to write custom plugins in
C# and which offers a wide range of third-party plugins in B. Semi-automated Control between Exploration and Ex-
a dedicated asset store. Aiming at the implementation of a ploitation
high-level interface, we tapped into these resources as much
as possible and bought, for instance, commercial code bases The presented simulated prototype for immersive swarm
for simulating flocking behaviours [38] and automated path control shows how high-level goals such as setting a new
finding in three-dimensional environments [39]. We further target of the swarm can be communicated in an intuitive way.
built on Unity demos and plugins that support current hardware Differentiated selection of swarm individuals as well as setting
solutions such as the Oculus Rift head-mounted display [40] local attributes, such as local targets or local waypoints, are
and the Razer Hydra motion controller [41]. In combination, simple yet clear examples of moving from abstract, high-
these hardware solutions allow us to emulate an augmented level goal descriptions (target/swarm) to specific low-level
reality scenario for controlling an OCbotics swarm. Figure commands (trajectory waypoints/individual). For a swarm and
8 shows the model of an OCbotics swarm being setup in and individual to reach the specified targets or waypoints,
Unity3D. The light green circles depict waypoints computed complex calculations have to be performed. In the given
by the path finding algorithm, the dual-view perspective at the example, the need to avoid obstacles and to find optimal paths
bottom-left corner of the screen indicates the current view of as well as the coordination among swarm individuals on their
the attached head-mounted display. The bottom-right window way are outsourced to third-party plugins [39], [38]. In the
displays the library of components used for modelling the general case, also considering other tasks communicated on
scene, the list at the right-hand side of the screen shows the layer 3, the necessary behaviours could evolve in sandboxed
components that already constitute the scene. simulations (layer 2) and be optimised based on local perfor-
mance feedback (layer 1). [10] J. H. Holland, Adaptation in natural and artificial systems: An intro-
ductory analysis with applications to biology, control, and artificial
intelligence. U Michigan Press, 1975.
VI. C ONCLUSION
[11] S. W. Wilson, “Classifier fitness based on accuracy,” Evolutionary
In this paper we have introduced OCbotics as a compre- Computation, vol. 3, no. 2, pp. 149–175, 1995.
hensive approach to designing swarm-based, self-organising [12] R. J. Urbanowicz and J. H. Moore, “Learning classifier systems:
robotic systems. OCbotics is driven by a multi-layered ob- a complete introduction, review, and roadmap,” Journal of Artificial
Evolution and Applications, vol. 2009, p. 1, 2009.
server/controller architecture that allows to optimise and adapt
[13] S. Wilson, “Get Real! XCS with Continuous-Valued Inputs,” in Learn-
an adaptable system. Adaptation is required in order to main- ing Classifier Systems, ser. Lecture Notes in Computer Science, P. Lanzi,
tain or increase the performance exhibited by the system under W. Stolzmann, and S. Wilson, Eds. Springer Berlin / Heidelberg, 2000,
observation and control—either by optimising or extending ex- vol. 1813, pp. 209–219.
isting behaviours, or by innovating, i.e. generating, simulating, [14] W. Lewis, Tension Structures: Form and Behaviour. Thomas Telford,
and optimising novel behaviours. The performance, in turn, 2003.
is measured in terms of user-defined goals which may also [15] H.-J. Schock, Soft shells: design and technology of tensile architecture.
change over time. We have presented three different projects Birkhäuser, 1997.
that operate at different levels of the discussed architecture: [16] J. Willmann, F. Augugliaro, T. Cadalbert, R. D’Andrea, F. Gramazio,
and M. Kohler, “Aerial robotic construction towards a new field of
Web-weaving quad-rotors with an emphasis on optimised local architectural research,” International journal of architectural computing,
reactive behaviour, evolution of collaborative behaviour to vol. 10, no. 3, pp. 439–460, 2012.
efficiently work on surfaces, and an immersive user-interface [17] F. Augugliaro, A. Mirjan, F. Gramazio, M. Kohler, and R. D’Andrea,
for setting and changing user-defined goals. While the three “Building tensile structures with flying machines,” in Intelligent Robots
examples slightly vary regarding their applications, they are and Systems (IROS), 2013 IEEE/RSJ International Conference on.
connected through the common themes of self-organisation, IEEE, 2013, pp. 3487–3492.
rule-based behaviour, and adaptation, and of course, the O/C [18] R. Mahony, V. Kumar, and P. Corke, “Multirotor aerial vehicles:
architecture to host them all. With the pieces of the puzzle Modeling, estimation, and control of quadrotor,” Robotics & Automation
Magazine, IEEE, vol. 19, no. 3, pp. 20–32, 2012.
at hand, the next obvious step is to put them into place, to
[19] K. von Frisch, Animal Architecture. Harcout Brace Jovanovich, New
forge the software components into one (if heterogeneous) York, 1974.
code base, to connect the layers of the architecture, to develop [20] M. Hansell, Animal architecture. Oxford University Press, 2005.
a repertoire of recombinable goal definitions, and to transfer [21] E. Bonabeau, M. Dorigo, and G. Theraulaz, Swarm Intelligence: From
the partially still virtual implementations of all levels onto an Natural to Artificial Systems, ser. Santa Fe Institute Studies in the
actual OCbotics infrastructure. Sciences of Complexity. New York: Oxford University Press, 1999.
[22] S. Camazine, J.-L. Deneubourg, N. R. Franks, J. Sneyd, G. Theraulaz,
R EFERENCES and E. Bonabeau, Self-Organization in Biological Systems, ser. Prince-
ton Studies in Complexity. Princeton: Princeton University Press, 2003.
[1] C. Müller-Schloer, H. Schmeck, and T. Ungerer, Eds., Organic Comput- [23] B. Childers, “Hacking the parrot ar drone,” Linux Journal, vol. 2014,
ing - A Paradigm Shift for Complex Systems, ser. Autonomic Systems. no. 241, p. 1, 2014.
Birkhäuser Verlag, 2011.
[24] T. Bohme, U. Schmucker, N. Elkmann, and M. Sack, “Service robots
[2] W. Brockmann, E. Maehle, and F. Mösch, “Organic fault-tolerant con- for facade cleaning,” in Industrial Electronics Society, 1998. IECON’98.
trol architecture for robotic applications,” in IARP/IEEE-RAS/EURON Proceedings of the 24th Annual Conference of the IEEE, vol. 2. IEEE,
Workshop on Dependable Robots in Human Environments, 2005. 1998, pp. 1204–1207.
[3] F. Mösch, M. Litza, A. E. S. Auf, E. Maehle, K.-E. Großpietsch, and [25] N. Elkmann, T. Felsch, M. Sack, J. Saenz, and J. Hortig, “Innovative
W. Brockmann, “Orca - towards an organic robotic control architecture,” service robot systems for facade cleaning of difficult-to-access areas,”
in Proc. of First International Workshop on Self-Organizing Systems, in Intelligent Robots and Systems, 2002. IEEE/RSJ International Con-
IWSOS/EuroNGI, 2006, pp. 251–253. ference on, vol. 1. IEEE, 2002, pp. 756–762.
[4] W. Brockmann, N. Rosemann, and E. Maehle, “A Framework for Con- [26] G. Pérez, L. Rincón, A. Vila, J. M. González, and L. F. Cabeza, “Green
trolled Self-optimisation in Modular System Architectures,” in Organic vertical systems for buildings as passive systems for energy savings,”
Computing - A Paradigm Shift for Complex Systems. Birkhäuser Verlag, Applied energy, vol. 88, no. 12, pp. 4854–4859, 2011.
2011, pp. 281 – 294.
[27] M. Quigley, K. Conley, B. Gerkey, J. Faust, T. Foote, J. Leibs,
[5] A. Jungmann, B. Kleinjohann, and W. Richert, “Increasing learning R. Wheeler, and A. Y. Ng, “Ros: an open-source robot operating
speed by imitation in multi-robot societies,” in Organic Computing - system,” in ICRA workshop on open source software, vol. 3, no. 3.2,
A Paradigm Shift for Complex Systems. Birkhäuser Verlag, 2011, pp. 2009, p. 5.
295–307.
[28] N. Koenig and A. Howard, “Design and use paradigms for gazebo, an
[6] B. Kempkes and F. Meyer auf der Heide, “Local, self-organizing open-source multi-robot simulator,” in Intelligent Robots and Systems,
strategies for robotic formation problems,” in ALGOSENSORS, ser. 2004.(IROS 2004). Proceedings. 2004 IEEE/RSJ International Confer-
Lecture Notes in Computer Science, vol. 7111. Springer, 2011, pp. ence on, vol. 3. IEEE, 2004, pp. 2149–2154.
4–12.
[29] M. Hamer, J. Engel, S. Parekh, R. Brindle, and K. Bogert, “ardrone
[7] P. Brandes, B. Degener, B. Kempkes, and F. Meyer auf der Heide, autonomy: a ros driver for parrot ar-drone quadrocopter,” Published
“Energy-efficient strategies for building short chains of mobile robots online https://github.com/AutonomyLab/ardrone autonomy, July 2014.
locally,” in SIROCCO ’11: Proc. of the 18th International Colloquium
on Structural Information and Communication Complexity, 2011, pp. [30] H. Huang and J. Sturm, “tum simulator,” Published online http://wiki.
138–149. ros.org/tum simulator, July 2014.
[8] U. M. Richter, “Controlled self-organisation using learning classifier [31] M. Keijzer, J. J. Merelo, G. Romero, and M. Schoenauer, “Evolving ob-
systems,” Ph.D. dissertation, Universität Karlsruhe (TH), Fakultät für jects: A general purpose evolutionary computation library,” in Artificial
Wirtschaftswissenschaften, Karlsruhe, DE, July 2009. Evolution. Springer, 2002, pp. 231–242.
[9] S. Tomforde, H. Prothmann, J. Branke, J. Hähner, M. Mnif, C. Müller- [32] R. Poli, W. B. Langdon, N. F. McPhee, and J. R. Koza, A field guide
Schloer, U. Richter, and H. Schmeck, “Observation and Control of to genetic programming. Lulu. com, 2008.
Organic Systems,” in Organic Computing - A Paradigm Shift for [33] M. J. Wooldridge, An Introduction to MultiAgent Systems, 2nd ed. West
Complex Systems. Birkhäuser Verlag, 2011, pp. 325 – 338. Sussex, UK: John Wiley and Sons Ltd, 2009.
[34] V. Sarpe, A. Esmaeili, I. Yazdanbod, T. Kubik, M. Richter, and C. Jacob, [38] Different Methods, “Swarm agent,” Published online http://u3d.as/
“Parametric evolution of a bacterial signalling system formalized by content/different-methods/swarm-agent/608, July 2014.
membrane computing,” in CEC 2010, IEEE Congress on Evolutionary [39] Allebi Games, “Easy path finding system,” Published online http://u3d.
Computation. Barcelona, Spain: IEEE Press, 2010, pp. 1–8. as/content/allebi/easy-path-finding-system/4a7, July 2014.
[35] C. Jacob, V. Sarpe, C. Gingras, and R. Feyt, “Swarm-based simulations [40] Oculus VR, Inc., “Oculus rift: Next gen virtual reality,” Published online
for immunobiology,” Information Processing and Biological Systems, http://www.oculusvr.com/rift/, July 2014.
pp. 29–64, 2011.
[41] Razer Inc., “Razer hydra portal 2 bundle,” Published online http://www.
[36] S. Narayanan and L. Rothrock, Human-in-the-loop Simulations: Meth- razerzone.com/de-de/gaming-controllers/razer-hydra-portal-2-bundle/,
ods and Practice. Springer, 2011. July 2014.
[37] Unity Technologies, “Unity - game engine,” Published online http://
unity3d.com/, July 2014.

You might also like