Software architecture » History » Version 2
Rafael Bailon-Ruiz, 2021-01-14 15:55
1 | 1 | Rafael Bailon-Ruiz | h1. Software architecture |
---|---|---|---|
2 | |||
3 | {{toc}} |
||
4 | |||
5 | h2. Main software components |
||
6 | |||
7 | The software is made of several key sub-systems, most of them programmed in **Python 3.5** (NOT compatible with Python 2): |
||
8 | |||
9 | * **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. |
||
10 | |||
11 | 2 | Rafael Bailon-Ruiz | * The graphical user interface backend is based on an "HTTP and WebSockets API":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_gui/revisions/master/entry/web/nephelae_gui/urls.py |
12 | |||
13 | 1 | Rafael Bailon-Ruiz | * **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. |
14 | |||
15 | * **Mapping module :** |
||
16 | ** 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). |
||
17 | ** Higher level functions to estimate some cloud parameters from a dense map (segmentation, area, border, etc...). |
||
18 | ** 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. |
||
19 | |||
20 | * **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. |
||
21 | |||
22 | * **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":. |
||
23 | |||
24 | For more information on the codebase see "here":https://redmine.laas.fr/projects/nephelae-devel/wiki. |