Project

General

Profile

System architecture » History » Version 16

Rafael Bailon-Ruiz, 2020-09-10 13:29

1 4 Rafael Bailon-Ruiz
h1. System architecture
2 1 Rafael Bailon-Ruiz
3 8 Rafael Bailon-Ruiz
CAMS is a software framework for cloud exploration using fleets of UAVs. The system drives a *fleet of UAVs* inside *clouds* acoording to *user's plans* and *collects sensor data*. Afterwards the information is processed by *dedicated atmosphere analysis algorithms* to produce 4D *cloud maps* that are simultaneously *stored in a database* for future use and *shown to operator* through a *graphical user interface*. This graphical user interface also provides operators the means to *manage the fleet of UAVs* .
4 1 Rafael Bailon-Ruiz
5 12 Rafael Bailon-Ruiz
!system_overview.png!
6 1 Rafael Bailon-Ruiz
7
h2. Main features
8
9 11 Rafael Bailon-Ruiz
The goal of this system is to provide an easy to use [[Graphical User Interface]] to perform four main features:
10 1 Rafael Bailon-Ruiz
11
* **Monitor data acquisition :**
12 11 Rafael Bailon-Ruiz
** Predicted 4D cloud maps (3D + time).
13 1 Rafael Bailon-Ruiz
** Various data profiles, including raw data display and vertical atmospheric profiles.
14
%{background:lightgreen}insert images here ?%
15
16
* **Monitor fleet status :**
17
** Current UAV positions on map.
18
** Status updates for each UAVs, including current task, (predicted path ?), flight time, battery voltage and many others.
19
** Dedicated interface for telepilots as a tool to validate generated flight plans (for safety).
20
%{background:lightgreen}insert images here ?%
21
22
* **Generate flight plans :**
23
** Depending on current fleet status and map of cloud, the user will be able to require a UAV to execute a specific flight pattern. The interface aims at providing a user-friendly interface to generate complex flight plans.
24
%{background:lightgreen}insert images here ?%
25
26
* **Simulation :**
27
** Using the simulation capabilities of the Paparazzi framework and MesoNH atmospheric simulation data, the whole system is able to run entirely on simulation. See "here":https://redmine.laas.fr/projects/nephelae/wiki/Simulation for more details.
28
%{background:lightgreen}insert images here ?%
29
30 9 Rafael Bailon-Ruiz
h2. Modes of operation
31 1 Rafael Bailon-Ruiz
32 15 Rafael Bailon-Ruiz
%{background:yellow}TODO: Simpler figures%
33 14 Rafael Bailon-Ruiz
34 12 Rafael Bailon-Ruiz
CAMS designed to work in several modes of operation fulfilling different user use cases:
35 1 Rafael Bailon-Ruiz
36 12 Rafael Bailon-Ruiz
* Pure simulation
37
* Mixed-reality
38 1 Rafael Bailon-Ruiz
* Field deployment
39 12 Rafael Bailon-Ruiz
* Mission replay
40
41
h3. Pure simulation
42 1 Rafael Bailon-Ruiz
43 12 Rafael Bailon-Ruiz
Operation in pure simulated mode uses virtual Paparazzi UAVs flying into synthetic clouds from a MesoNH database.
44 13 Rafael Bailon-Ruiz
45 14 Rafael Bailon-Ruiz
!CAMS_current_state_simu.png!
46 1 Rafael Bailon-Ruiz
47 12 Rafael Bailon-Ruiz
h3. Mixed-reality
48 1 Rafael Bailon-Ruiz
49 16 Rafael Bailon-Ruiz
Mixed-reality simulation exploits real UAVs managed by the Paparazzi framework with simulated cloud sensors. This mode of operation is meant to test the UAV flight patterns without having to fly into a cloud.
50 13 Rafael Bailon-Ruiz
51 14 Rafael Bailon-Ruiz
%{background:lightgreen}(Missing picture)%
52 1 Rafael Bailon-Ruiz
53 12 Rafael Bailon-Ruiz
h3. Field deployment
54 1 Rafael Bailon-Ruiz
55 16 Rafael Bailon-Ruiz
Field operation uses real paparazzi UAVs and actual cloud sensor data.
56 1 Rafael Bailon-Ruiz
57 14 Rafael Bailon-Ruiz
!CAMS_current_state_exp.png!
58 1 Rafael Bailon-Ruiz
59
h3. Mission replay
60 16 Rafael Bailon-Ruiz
61
Stored flight recordings can be used as inputs and be replayed back back CAMS. This mode of operation is useful for post-mission analysis.
62 1 Rafael Bailon-Ruiz
63 14 Rafael Bailon-Ruiz
!CAMS_current_state_replay.png!
64 9 Rafael Bailon-Ruiz
65
66
h2. Main software components
67
68
The software is made of several key sub-systems, most of them programmed in **Python 3.5** (NOT compatible with Python 2):
69
70
* **Graphical user interface :** Web browser interface (HTML, CSS, JavaScript). Made with the "Django framework":https://www.djangoproject.com to link the web-based front-end with the Python back-end. More details "here":https://redmine.laas.fr/projects/nephelae/wiki/Graphical_user_interface.
71
72
* **Paparazzi interface module :** Python interface with Paparazzi system. In charge of communication with UAVs and ground station via the IvyBus. The idea is to abstract the link between Paparazzi and the rest of the LAAS software. More details "here":https://redmine.laas.fr/projects/nephelae-devel/wiki/Paparazzi_framework.
73
74
* **Mapping module :** 
75
** Full dense maps of clouds using sparse data generated by the UAVs, with the help of "Gaussian Process Regression":https://scikit-learn.org/stable/modules/gaussian_process.html (GPR).
76
** Higher level functions to estimate some cloud parameters from a dense map (segmentation, area, border, etc...).
77
** Single map interface, behind which can be a GPR predicted map, or a section of MesoNH data to be used as ground-truth in simulation.
78
79
* **MesoNH interface module :** Provides helper function to read data in a "MesoNH":http://mesonh.aero.obs-mip.fr/mesonh54 atmospheric simulation database. Used to simulate UAV flights in a realistic atmosphere by emulating wind, pressure, liquid water content, and many other variables. Also used to emulate UAV sensor data.
80
81
* **Data server :** Aggregates all data coming down from flying or simulated UAVs (or any other source) into a single server instance. Any module which needs data, like the mapping module or the GUI module must require data from the data server. More details "here":.
82
83
For more information on the codebase see "here":https://redmine.laas.fr/projects/nephelae-devel/wiki.