The document summarizes a case study modeling a swarm system using the CPSwarm modeling tools. It describes an example where multiple agents try to find emergency exits in a discrete 2D environment. The swarm members were modeled using elements from the CPSwarm modeling library, including sensors to detect nearby points of interest and environment, and actuators to move the member. The model was exported from Modelio to the FREVO optimization tool to generate solutions using evolutionary algorithms and evaluate via simulation. The goal is for all swarm members to exit the environment through the emergency exits.
1. Intermediate Review Meeting (25/10/2017)
Modelling a CPS Swarm
System: A Simple Case
Study in the CPSwarm
H2020 Project
Melanie Schranz1, Alessandra Bagnato2,
Etienne Brosse2 and Wilfried Elmenreich3
1 Lakeside Labs, Klagenfurt, Austria
2 Softeam Research and Development Department,
Paris, France
3 Alpen-Adria-Universität Klagenfurt, Austria
Madeira, Portugal | 22nd Janvier 2018
2. Intermediate Review Meeting (25/10/2017)
Outline
• CPSwarm Project
– Overview
– Project Industrial Application Scenarios
• Modelling a CPS Swarm System: A Simple Case Study
– Initial CPS Modeling Library
– Modelio.org: Development of the first version of CPSwarm Modeling Tool & CPSwarm
Design Environment Language
– Frevo: Optimization Tool
• Future Work
2Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
5. Intermediate Review Meeting (25/10/2017)
High-Level Objective
CPSwarm proposes a new science of system integration and tools to support
engineering of CPS swarms.
CPSwarm tools will ease development and integration of complex herds of
heterogeneous CPS that collaborate based on local policies and that exhibit a collective
behavior capable of solving complex, industrial-driven, real-world problems.
6. Intermediate Review Meeting (25/10/2017)
CPSwarm at a Glance
• CPSwarm is a 36-months Research
and Innovation Action (RIA) funded
under H2020 call ICT-01-2016
• Scope: science of system integration
in the domain of swarms of CPS
• 8 partners (3 Research Institutes, 1
University, 2 Large Enterprises, 3
SMEs) from 6 EU countries
• Around 4.9 M€ total costs (578 PMs ≈ 16 FTE)
12. Intermediate Review Meeting (25/10/2017)
CPS Use Cases: the Robotnik context
• Robotnik is a Service Robotics Manufacturer: mobile bases and manipulators:
• Unmanned Ground Vehicle (UGV)’s - An unmanned ground vehicle (UGV) is a vehicle that
operates while in contact with the ground and without an onboard human presence
• Mobile manipulators
• Omnidirectional mobile platforms
• ROS based robots
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
13. Intermediate Review Meeting (25/10/2017)
• In CPSwarm we consider heterogeneous swarms
of ground robots/rovers and UAVs to conduct
certain missions in the surveillance of critical
infrastructure like industrial or power plants,
search and rescue (SAR) and fire detection.
• The use case exploits different types of robots to
approach an area and support rescuers/guardians
by: mapping the actual state with a 3D map,
finding people, tracking them and checking on
their condition using computer vision, identifying
safe passages for rescuers.
• Smaller robots (rover/UAV) in the swarm are
employed to map the environment and possibly
move inside narrow passages whereas "bigger"
robots could either guide rescuers to people.
Heterogeneous swarms of ground rovers and UAVs
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
14. Intermediate Review Meeting (25/10/2017)
Heterogeneous swarms of ground rovers and UAVs
SURVEILLANCE
Intrusion detection
(detection of unauthorized
persons entering of the
plant area).
Follow and observe actions
of unauthorized persons in
the plant.
01
SEARCH & RESCUE
Generating a situation
overview of the disaster
scene in case of an
industrial plant accident
including real-time images
(vis, IR), toxic and explosive
gas leakage detection.
Finding of human casualties
or persons trapped in the
disaster area.
02
FIRE FIGHTERS
Generating a situation
overview of the disaster
scene.
Aerial or ground unmanned
systems will ensure safer
and more efficient
intervention.
03
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
15. Intermediate Review Meeting (25/10/2017)
Use case: operating SCENARIO
D2
D3
D1
D4
R1
R2
R4 R3
D
R
Aerial drones
Rovers
A single mission planner to define the area of intervention setting the
limits, the path and the observation points.
Drones and rover are synchronized automatically, each device knows
the position of others and communicates with the control center via
4G/LTE/WiFi
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
16. Intermediate Review Meeting (25/10/2017)
Use case: Fire Fighters
• Every year forest fires burn, on average, about
500 000 hectares in Europe.
• Each fire requires the intervention of firefighters,
involving the deployment of aerial and ground
assets which need to be coordinated in high risk
operational areas.
• Currently, the intervention is solely coordinated
by the chain of command, which may expose to
high danger the firemen safety. As the fire
dynamics is depending on external factors (wind
vegetation, artifact), the development of
mathematical models is required.
• The possibility to employ aerial or ground
unmanned assets will ensure safer and more
efficient intervention.
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
18. Intermediate Review Meeting (25/10/2017)
How to model a swarm
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
19. Intermediate Review Meeting (25/10/2017)
Initial Modeling Library for CPS Models
• Overall Idea
• Library with pre-defined models
• Models: reused, changed, added
• Separation into three initial groups (see Figure)
• Swarm Member
• Environment
• Goal
• Mandatory parts for each model
• Unique name
• Description
• Parameters
• Property: type [range]
• Input: type [range]
• Output: type [range]
Swarm
Member
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
20. Intermediate Review Meeting (25/10/2017)
Swarm Member (general def.)
• Describes a single CPS
• Sub-libraries:
• local memory: local status, e.g. the current x/y position, available energy, etc.
• behaviour: collecting data from sensor, performing calculations, sending data to actuators
• physical aspects: sensors and actuators
• security (optional)
• human interaction (optional)
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
21. Intermediate Review Meeting (25/10/2017)
Environment (general def.)
• Describes the environment of the CPS
• Following models are mandatory, further ones can be added:
• 2D/3D Map of the environment
• occupancy grid map, i.e. free space and obstacles
• expressed as a bitmap file
• Size of the environment
• width and height
• expressed in number of grid cells
• Resolution
• expressed in number of grid cells per meter
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
22. Intermediate Review Meeting (25/10/2017)
Goal (general def.)
• Description of the goal
• … in terms of modelling the fitness by
• Incorporating parameters from other models
• Calculation specification right in the model
• Multiple and multi-dimensional fitness values can be modelled
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
24. Intermediate Review Meeting (25/10/2017)
CPSwarm Workbench Case Study settings
• CPSwarm Workbench:
• Modeling Tool - to model swarms of CPSs.
• An optimization tool for further optimization of the models.
• An optimization tool API – to passes configuration files from the modelling tool Modelio to the Optimization tool
In the context of this paper we used Modelio as Modeling tool and Frevo as Optimization tool.
24Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
25. Intermediate Review Meeting (25/10/2017)
Modelio for Software and System Engineering
25
• Available under: Modelio.org
Modeliosoft.com
• Modelio UML editor with more than 20
years’ history
• SysML
• MARTE
• Code generation
• Documentation
• Teamwork
• World Wide Modelling,
• Distribute and share models on the web
Diagram Explorer
tabs
Diagram Palette
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
26. Intermediate Review Meeting (25/10/2017)
CPSwarm Modeling Environnent
26
• Modelio Modeling
Environment Ergonomics
and specific palette for
each diagrams:
• Swarm Member
Architecture Modelling
Elements
• Swarm Architecture
Modelling Elements
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
27. Intermediate Review Meeting (25/10/2017)
• These compositions are made by using Object Management Group Systems Modeling Language
(SysML) and more precisely a Block Definition Diagram (BDD) for the Swarm Architecture and an
Internal Block Definition Diagram (IBD) for the Swarm Member Architecture.
27
Modeling Environment
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
28. Intermediate Review Meeting (25/10/2017)
Modeling Environment
• Modeling Environment CPS swarm template generation: A
CPS swarm model contains several elements sorted into
three domains, three packages - respectively named
“Swarm”, “Environment”, and “Goal” - are created when
using CPS swarm template generation.
• Modeling Environnent CPS swarm predefined diagrams: 5
CPSwarm predefined diagrams and associated modeling
palette with required SysML and UML elements have been
defined and implemented.
28Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
29. Intermediate Review Meeting (25/10/2017)
• Optimization Project Generation:
Once the CPS swarm is modelled, the
next steps is to optimize it by using
the Algorithm Optimization
Environment.
• The Modelling Tool can pass
informations to the Optimization Tool
through the Optimization API. This is
can be done by exporting using the
Optimization Project generation.
• The Export can be done by right
clicking on any CPS Problem, then
selecting CPSwarm > Optimization
Project generation entry to achieve
integration
•
29
Optimization Project Generation integration
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
30. Intermediate Review Meeting (25/10/2017)
Optimization tool API
• The optimization tool API provides all modeling details to the algorithm optimization environment. They
are received by the optimization tool and further interpreted.
• The models that are required for simulation are defined through the modeling process and forwarded to
the optimization simulator through the simulator API. Two files are provided:
• A problem description file as a Java class that implements the problem to be optimized.
• A parameters file complements the problem description as it specifies all model parameters as an XML file, parameters
include configuration, properties, and requirements.
30Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
31. Intermediate Review Meeting (25/10/2017)
Optimization tool FREVO
• FREVO (Framework for Evolutionary Design)
• needs a simulation of the problem
• Interface for sensor/actuator connections to the agents
• Feedback from a simulation run -> fitness value
31
• Open source:
http://frevo.sourceforge.net
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
33. Intermediate Review Meeting (25/10/2017)
Initial CPS Modelling – on the example of the EmergencyExit
Description EmergencyExit example:
In the EmergencyExit example, multiple agents move in a 2D, discrete environment and try to find one
of two emergency exits.
In each discrete time step, an agent senses the neighbouring cells and moves to a free cell.
When an agent reaches an emergency exit, it is removed from the environment. The goal is that all
agents exit the environment.
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
34. Intermediate Review Meeting (25/10/2017)
• In this example a swarm of robots needs to find an
exit in a unmapped environment and leave this room
through the exit as soon as possible.
• A possible scenario matching this problem could be
fire or collapsing buildings.
• In the case study, the problem was first modeled
using Modelio and then exported to FREVO for
optimization.
• FREVO was then used to generate a possible
solution by applying an evolutionary search algorithm
in order to optimize the weights for an ANN.
• In this work solution had been evaluated using
simulation.
34Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
Initial CPS Modelling – on the example of the EmergencyExit
The Design Environment Architecture
35. Intermediate Review Meeting (25/10/2017)
Swarm Member – in the EmergencyExit
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
Models of the library:
• “localState”
• Description:” The local state describes
the current x/y position of the swarm
member”
• Property name: “localState.x”, type: int
• Property name: “localState.y”, type: int
• “ps: POI Sensor”
• Description:” The POI sensor returns a
vector, describing the path to the next
point of interest (POI)”
• Output: Path, type: int[2]
• “rs: Range Sensor”
• Description:” The range sensor returns
the map around the swarm member.”
• Output: NearField, type: int [8]
• “loc: Locomotion”
• Description:” The locomotion actuator is a motor that moves the swarm member to a given x/y coordinate.””
• Input: Position, type: int [2]
• “exb: EmergencyExit behavior”
• Description:” In the EmergencyExit example, multiple swarm members move in a 2D, discrete environment
and try to find one of two emergency exits. In each discrete time step, a swarm member senses the
neighbouring cells and moves to a free cell. When a swarm member reaches an emergency exit, it is
removed from the environment. The goal is that all swarm member exits the environment.”
• Input1: Path, type: int [2] Input2: NearField, type: int [8] Output: Position, type: float [2]
36. Intermediate Review Meeting (25/10/2017)
Environment – in the EmergencyExit
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
Models of the library:
• “map: String”
• Description:” The map
defines a file path to the
bitmap file of the
environment.”
• Property: path, type: string
“C:tempCPSwarmenviron
mentEmergencyExit.png”
• “res: Resolution2D”
• Description:” The resolution
defines the resolution of the
map (number of grid cells
per meter).”
• Property: x, type: int
• Property: y, type: int
• “size: Size2D”
• Description: «The size defines the size of the map (total number of grid cells in height and width).”
• Property: x, type: int
• Property: y, type: int
• “poi: Position2D”
• Description: «The POI defines two points of interest (POI) in the map with their x/y coordinates.”
• Property: poi.x., type: int
• Property: poi.y., type: int
37. Intermediate Review Meeting (25/10/2017)
Goal – in the EmergencyExit
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
The fitness function represents the goal of the specified
CPS swarm. By maximizing this fitness function,
the Algorithm Optimization Environment can provide the best CPS
swarm configuration
38. Intermediate Review Meeting (25/10/2017)
• Simulation Settings of
FREVO
• Simulation of the
EmergencyExit example
with Stage/ROS
38Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
40. Intermediate Review Meeting (25/10/2017)
Swarm Intelligence Models
Process of adopting models found in nature:
o ants, bees, fire flies, fish, etc.
• Characteristics
• Emergent behavior arises from simple
interactions among individuals in a swarm
• Individuals act according to simple and local
behavior
• Organized behavior emerges automatically
• There is no central control
! NO common modeling approach !
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
41. Intermediate Review Meeting (25/10/2017)
Ant Routing - Inspiration
• Foraging behavior of ants
• Single ants are foolish –
whole system exhibits
“intelligent“ behavior
Ant hill,
nest
Food
?
next ant
Obstacle
Madeira, MODELSWARD IndTrack 2018, 22nd January 2018
43. Intermediate Review Meeting (25/10/2017)
CONTACTS
Alessandra Bagnato
Softeam R&D
Alessandra.bagnato@softeam.fr
www.softeam.fr
@alebagnato
Coordinator Partners
This project has received funding from the European Union’s Horizon 2020 research and innovation
programme under grant agreement No 731946.
http://www.cpswarm.eu