|
|
<div id="table-of-contents">
|
|
|
<h2>Table of Contents</h2>
|
|
|
<div id="text-table-of-contents">
|
|
|
|
|
|
# Table of Contents
|
|
|
|
|
|
1. [Some Links](#org51c82e9)
|
|
|
2. [Communication-Control Distributed Simulator (CUSCUS)](#communication-control-distributed-simulator-cuscus)
|
|
|
1. [TL;DR](#tldr)
|
|
|
2. [Standard Introduction](#standard-introduction)
|
|
|
3. [What is it?](#what-is-it)
|
|
|
4. [What does it do?](#what-does-it-do)
|
|
|
1. [Why the term "Distributed"?](#why-the-term-distributed)
|
|
|
5. [How does it work?](#how-does-it-work)
|
|
|
1. [Highlights](#highlights)
|
|
|
6. [Where to find it?](#where-to-find-it)
|
|
|
|
|
|
<a id="org53012de"></a>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<h2>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
Table of Contents
|
|
|
|
|
|
<div class="HTML">
|
|
|
</h2>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<a id="orgfea785f"></a>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<ul>
|
|
|
<li><a href="#communication-control_distributed_simulator_cuscus">1. Communication-Control Distributed Simulator (CUSCUS)</a>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1. Communication-Control Distributed Simulator (CUSCUS)
|
|
|
|
|
|
<div class="HTML">
|
|
|
<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>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.1. TL;DR
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.2. Standard Introduction
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.3. What is it?
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.4. What does it do?
|
|
|
|
|
|
<div class="HTML">
|
|
|
<ul>
|
|
|
<li><a href="#why_the_term_distributed">1.4.1. Why the term "Distributed"?</a></li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.4.1. Why the term "Distributed"?
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
<li><a href="#how_does_it_work">1.5. How does it work?</a>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.5. How does it work?
|
|
|
|
|
|
<div class="HTML">
|
|
|
<ul>
|
|
|
<li><a href="#highlights">1.5.1. Highlights</a></li>
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.5.1. Highlights
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
<li><a href="#where_to_find_it">1.6. Where to find it?</a></li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
<li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
1.6. Where to find it?
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</li>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div class="HTML">
|
|
|
</ul>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
# Communication-Control Distributed Simulator (CUSCUS)<a id="communication-control_distributed_simulator_cuscus" name="communication-control_distributed_simulator_cuscus"></a>
|
|
|
|
|
|
<a id="org51c82e9"></a>
|
|
|
|
|
|
(It is “distributed” for real)
|
|
|
# Some Links
|
|
|
|
|
|
## TL;DR<a id="tldr" name="tldr"></a>
|
|
|
Please reference the Working Plan [file:plan.md](plan.md).
|
|
|
|
|
|
Please Reference the Backup Version [file:~/workspace/UTCGitLaB/CUSCUS.wiki/Home.md.bkp](Home.md.bkp)
|
|
|
|
|
|
|
|
|
<a id="communication-control-distributed-simulator-cuscus"></a>
|
|
|
|
|
|
# Communication-Control Distributed Simulator (CUSCUS)
|
|
|
|
|
|
(It is "distributed" for real)
|
|
|
|
|
|
|
|
|
<a id="tldr"></a>
|
|
|
|
|
|
## TL;DR
|
|
|
|
|
|
([for the meaning of "TL;DR"](http://www.urbandictionary.com/define.php?term=tl%3Bdr))
|
|
|
|
... | ... | @@ -41,11 +205,12 @@ By connecting two well-known-in-literature simulation suites (FL-AIR for |
|
|
UAVs**, and analyze the impact of the radio propagation phenomena and
|
|
|
packet level simulation on the fleet mobility algorithms.
|
|
|
|
|
|
![Cuscus Screenshot](images/cuscus1.png)
|
|
|
![img](wiki/images/cuscus1.png "Cuscus Screenshot")
|
|
|
|
|
|
|
|
|
## Standard Introduction<a id="standard_introduction" name="standard_introduction"></a>
|
|
|
<a id="standard-introduction"></a>
|
|
|
|
|
|
## Standard Introduction
|
|
|
|
|
|
The current merging of networking and control research fields within the
|
|
|
scope of robotic applications is creating fascinating research and
|
... | ... | @@ -54,7 +219,7 @@ development opportunities. |
|
|
However, the tools for a proper and easy management of experiments still
|
|
|
lag behind.
|
|
|
|
|
|
![Corrective Consensus in NS3](images/concorrettivo.gif)
|
|
|
![img](wiki/images/concorrettivo.gif "Corrective Consensus in NS3")
|
|
|
|
|
|
Although different solutions have been proposed to simulate and emulate
|
|
|
control systems and, more specifically, fleets of Unmanned Aerial
|
... | ... | @@ -71,8 +236,10 @@ for fleets of UAVs **are still lacking**…. |
|
|
|
|
|
***UNTIL NOW***
|
|
|
|
|
|
## What is it?<a id="what_is_it" name="what_is_it"></a>
|
|
|
|
|
|
<a id="what-is-it"></a>
|
|
|
|
|
|
## What is it?
|
|
|
|
|
|
We fill such gap in the literature by proposing a **novel simulation
|
|
|
framework** for networked control system, called **CommUnicationS-Control
|
... | ... | @@ -82,8 +249,10 @@ 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>
|
|
|
|
|
|
<a id="what-does-it-do"></a>
|
|
|
|
|
|
## What does it do?
|
|
|
|
|
|
Using FL-AIR, a real-time and fine-grained simulation of the
|
|
|
micro-mobility of each UAV can be achieved, including:
|
... | ... | @@ -94,15 +263,16 @@ micro-mobility of each UAV can be achieved, including: |
|
|
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>
|
|
|
|
|
|
<a id="why-the-term-distributed"></a>
|
|
|
|
|
|
### Why the term "Distributed"?
|
|
|
|
|
|
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**.
|
|
|
deployment, since the same code can also be **plugged in real drones**.
|
|
|
|
|
|
![Cuscus Screenshot 2](images/simulator.jpg)
|
|
|
![img](wiki/images/simulator.jpg "Cuscus Screenshot 2")
|
|
|
|
|
|
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
|
... | ... | @@ -111,7 +281,7 @@ simulate its flight model and control and then socket-out the data to a |
|
|
**This means that it is always possible to connect *a real drone* to the
|
|
|
engine and run it alongside its virtual fellows.**
|
|
|
|
|
|
![FLAIR Structure](images/archi_simu.pdf.png)
|
|
|
![img](wiki/images/archi_simu.pdf.png "FLAIR Structure")
|
|
|
|
|
|
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
|
... | ... | @@ -122,8 +292,10 @@ 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>
|
|
|
|
|
|
<a id="how-does-it-work"></a>
|
|
|
|
|
|
## How does it work?
|
|
|
|
|
|
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…).
|
... | ... | @@ -131,26 +303,31 @@ 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](images/videoscreenshot.png)](https://drive.google.com/open?id=0B-0NRj4-P-qVcUg2YUNlX19jQ0k "CUSCUS VIDEO OPERATION")
|
|
|
[![img](wiki/images/videoscreenshot.png)](https://drive.google.com/open?id=0B-0NRj4-P-qVcUg2YUNlX19jQ0k)
|
|
|
|
|
|
### Highlights<a id="highlights" name="highlights"></a>
|
|
|
|
|
|
<a id="highlights"></a>
|
|
|
|
|
|
### Highlights
|
|
|
|
|
|
- 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**
|
|
|
- **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>
|
|
|
<a id="where-to-find-it"></a>
|
|
|
|
|
|
## Where to find it?
|
|
|
|
|
|
Soon to be available on our svn as fast as our papers get through the
|
|
|
review process :D.
|
... | ... | @@ -159,3 +336,4 @@ Anyway: |
|
|
|
|
|
- it is a scientific project
|
|
|
- it will be problably released with GPLv2 or GPLv3
|
|
|
|