Software architecture

Main software components

The software is made of several key sub-systems, most of them programmed in Python 3.5 (NOT compatible with Python 2):

  • Graphical user interface : Web browser interface (HTML, CSS, JavaScript). Made with the Django framework to link the web-based front-end with the Python back-end. More details here.
  • 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.
  • Mapping module :
    • Full dense maps of clouds using sparse data generated by the UAVs, with the help of Gaussian Process Regression (GPR).
    • Higher level functions to estimate some cloud parameters from a dense map (segmentation, area, border, etc...).
    • 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.
  • MesoNH interface module : Provides helper function to read data in a MesoNH 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.
  • 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":.

For more information on the codebase see here.

Updated by Rafael Bailon-Ruiz over 2 years ago · 2 revisions