|
|
<div id="table-of-contents">
|
|
|
<h2>Table of Contents</h2>
|
|
|
<div id="text-table-of-contents">
|
|
|
<ul>
|
|
|
<li><a href="#communication-control_distributed_simulator_cuscus">1. Communication-Control Distributed Simulator (CUSCUS)</a>
|
|
|
<ul>
|
|
|
<li><a href="#tldr">1.1. TL;DR</a></li>
|
|
|
<li><a href="#standard_introduction">1.2. Standard Introduction</a></li>
|
|
|
<li><a href="#what_is_it">1.3. What is it?</a></li>
|
|
|
<li><a href="#what_does_it_do">1.4. What does it do?</a>
|
|
|
<ul>
|
|
|
<li><a href="#why_the_term_distributed">1.4.1. Why the term "Distributed"?</a></li>
|
|
|
</ul>
|
|
|
</li>
|
|
|
<li><a href="#how_does_it_work">1.5. How does it work?</a>
|
|
|
<ul>
|
|
|
<li><a href="#highlights">1.5.1. Highlights</a></li>
|
|
|
</ul>
|
|
|
</li>
|
|
|
<li><a href="#where_to_find_it">1.6. Where to find it?</a></li>
|
|
|
</ul>
|
|
|
</li>
|
|
|
</ul>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
# Communication-Control Distributed Simulator (CUSCUS)<a id="communication-control_distributed_simulator_cuscus" name="communication-control_distributed_simulator_cuscus"></a>
|
|
|
|
|
|
|
|
|
(It is “distributed” for real)
|
|
|
|
|
|
## TL;DR<a id="tldr" name="tldr"></a>
|
|
|
|
|
|
|
|
|
([for the meaning of "TL;DR"](http://www.urbandictionary.com/define.php?term=tl%3Bdr))
|
|
|
|
|
|
By connecting two well-known-in-literature simulation suites (FL-AIR for
|
|
|
**CONTROL** and NS-3 for **NETWORKING**), we are able to perform real-time
|
|
|
**accurate simulations of the wireless communication among fleets of
|
|
|
UAVs**, and analyze the impact of the radio propagation phenomena and
|
|
|
packet level simulation on the fleet mobility algorithms.
|
|
|
|
|
|
![Cuscus Screenshot](wiki/images/cuscus1.png)
|
|
|
|
|
|
Test-One
|
|
|
|
|
|
|
|
|
## Standard Introduction<a id="standard_introduction" name="standard_introduction"></a>
|
|
|
|
|
|
|
|
|
The current merging of networking and control research fields within the
|
|
|
scope of robotic applications is creating fascinating research and
|
|
|
development opportunities.
|
|
|
|
|
|
However, the tools for a proper and easy management of experiments still
|
|
|
lag behind.
|
|
|
|
|
|
![Corrective Consensus in NS3](wiki/images/concorrettivo.gif)
|
|
|
|
|
|
Although different solutions have been proposed to simulate and emulate
|
|
|
control systems and, more specifically, fleets of Unmanned Aerial
|
|
|
Vehicles (UAV), still they **do not include an efficient and detailed
|
|
|
network-side simulation**, which is usually available only on dedicated
|
|
|
software.
|
|
|
|
|
|
On the other hand, current advancements in network simulations suites
|
|
|
often **do not present the possibility to include an accurate description
|
|
|
of controlled systems**.
|
|
|
|
|
|
In the middle 2010s, **integrated solutions** of networking and control
|
|
|
for fleets of UAVs **are still lacking**….
|
|
|
|
|
|
***UNTIL NOW***
|
|
|
|
|
|
## What is it?<a id="what_is_it" name="what_is_it"></a>
|
|
|
|
|
|
|
|
|
We fill such gap in the literature by proposing a **novel simulation
|
|
|
framework** for networked control system, called **CommUnicationS-Control
|
|
|
distribUted Simulator (CUSCUS)**. Differently from the state of the art,
|
|
|
CUSCUS allows simulating both the *UAV networking and flight control*,
|
|
|
via the integration of two existing tools: the **Framework Libre AIR**
|
|
|
[(FL-AIR)](https://uav.hds.utc.fr/software-flair/) simulator and the
|
|
|
mainstream network simulator [NS-3](https://www.nsnam.org/) .
|
|
|
|
|
|
## What does it do?<a id="what_does_it_do" name="what_does_it_do"></a>
|
|
|
|
|
|
|
|
|
Using FL-AIR, a real-time and fine-grained simulation of the
|
|
|
micro-mobility of each UAV can be achieved, including:
|
|
|
|
|
|
1. the modeling of virtual **sensors/actuators**,
|
|
|
2. the modeling of the **aerial networking** a packet-level
|
|
|
3. the modeling of **formation** control algorithms
|
|
|
4. the modeling of **flight** control algorithms
|
|
|
5. the PID regulations and the drone stability.
|
|
|
|
|
|
### Why the term "Distributed"?<a id="why_the_term_distributed" name="why_the_term_distributed"></a>
|
|
|
|
|
|
|
|
|
Levaraging the FLAIR part, it is possible to create UAV applications and
|
|
|
test them on a simulated control environment before the actual
|
|
|
deployment, since the same code can also be **plugged in real
|
|
|
drones**.
|
|
|
|
|
|
![Cuscus Screenshot 2](wiki/images/simulator.jpg)
|
|
|
|
|
|
In CUSCUS (and FLAIR), each virtual drone application is responsible to
|
|
|
simulate its flight model and control and then socket-out the data to a
|
|
|
*rendering/control room* engine.
|
|
|
|
|
|
**This means that it is always possible to connect *a real drone* to the
|
|
|
engine and run it alongside its virtual fellows.**
|
|
|
|
|
|
![FLAIR Structure](wiki/images/archi_simu.pdf.png)
|
|
|
|
|
|
To make the simulation even more realistic and make a step towards the
|
|
|
usage of fleets of UAVs in Smart city scenarios, we just finished
|
|
|
implementating a **Scenario Module** in both FL-AIR and NS-3.
|
|
|
|
|
|
Through the Scenario Module, it is possible to model realistic 3D
|
|
|
environments, importing the scenario maps directly from OpenStreetMaps
|
|
|
and taking into account the location of buildings and the street
|
|
|
topology.
|
|
|
|
|
|
## How does it work?<a id="how_does_it_work" name="how_does_it_work"></a>
|
|
|
|
|
|
|
|
|
We have some papers in review, so it is better to keep that for
|
|
|
ourselves (for the moment, then it will be public domain, maybe…).
|
|
|
|
|
|
In the meantime, here's a
|
|
|
**[neat video](https://drive.google.com/open?id=0B-0NRj4-P-qVcUg2YUNlX19jQ0k)** of it:
|
|
|
|
|
|
[![neat video](wiki/images/videoscreenshot.png)](https://drive.google.com/open?id=0B-0NRj4-P-qVcUg2YUNlX19jQ0k "CUSCUS VIDEO OPERATION")
|
|
|
|
|
|
### Highlights<a id="highlights" name="highlights"></a>
|
|
|
|
|
|
|
|
|
- Leader-following scenario
|
|
|
- Formation Maintenance
|
|
|
- **WITH SIMULATED BUILDINGS!!!**
|
|
|
- **TAKEN DIRECTLY FROM OPENSTREETMAPS**
|
|
|
- **WITH BUILDING COLLISION AVOIDANCE**
|
|
|
- Done using the virtual sensors
|
|
|
- The leader has a set of pre-defined way-points
|
|
|
- The followers use a Particle Swarm Optimization-based (*PSO*)
|
|
|
algorithm to keep formation
|
|
|
- The algorithm needs message exchange to work
|
|
|
- **All the networking is *simulated at packet level* through NS3 in realtime**
|
|
|
|
|
|
|
|
|
## Where to find it?<a id="where_to_find_it" name="where_to_find_it"></a>
|
|
|
|
|
|
|
|
|
Soon to be available on our svn as fast as our papers get through the
|
|
|
review process :D.
|
|
|
|
|
|
Anyway:
|
|
|
|
|
|
- it is a scientific project
|
|
|
- it will be problably released with GPLv2 or GPLv3 |