Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Planning to monitor wildfires with a fleet of UAVs

License

NotificationsYou must be signed in to change notification settings

laas/fire-rs-saop

Repository files navigation

FireRS Situation Assessment and Observation Planning (SAOP) is a software for planning, execution and supervision of wildfire monitoring missions with fleets of UAVs.

FireRS SAOP is composed of several python packages:

  • fire_rs.geodata: geographic and environmental data manipulation

  • fire_rs.firemodel: wildfire propagation

  • fire_rs.planning: high-level interface for UAV planning

  • fire_rs.monitoring: high-level functionalities of the wildfire monitoring mission

  • fire_rs.simulation: create and control a synthetic wildfire in the Morse robotic simulator

    Those can be found in thepython directory.

A C++ library (libsaop) implementing:

  • A VNS-based observation planning algorithm for wildfire monitoring.

  • The communication withNeptus andDune software for the operation of unmanned vehicles.

  • A trivial wildfire mapping algorithm.

    The functionality provided bylibsaop is also exposed trough three python interfaces:

    • uav_planning: Core planning algorithm
    • neptus: Communication with Neptus and Dune
    • firemapping: mapping algorithms

And a ROS package (supersaop) for real time execution of SAOP with real or simulated UAVs in a real or synthetic wildfire scenario.

SAOP environment setup

1. On Docker

The easiest way to start with SAOP is using docker.

To build the container:

./docker/run.bash build

The filedocker/Dockerfile contains all the steps to build a SAOP-ready Ubuntu 18.04 image.

To start a shell in the container with the the code repository and the data repository mounted:

./docker/run.bash start

The/docker/run.bash is the recommended way to build and run the SAOP docker container as it sets up some X11 bindings from the host.

2. Local software requirements

(If you are using docker, skip this section and continue withGeographic data)

The core functions of FireRS SAOP require running a GNU/Linux operating system (Ubuntu 18.04 and Fedora 29 tested) with:

  • cmake
  • a C++11 compiler
  • Boost
  • python 3.5
  • Cython
  • OpenCV
  • pybind11
  • gdal
  • windninja
  • The following python packages:
    • affine
    • cv2
    • GDAL
    • joblib
    • matplotlib
    • numpy
    • pandas
    • pybind11
    • pytz
    • scikit-image
    • scipy
    • six

Using Ubuntu, run asroot:

apt install g++ cmake python3 cython3 python3-gdal python3-setuptools\python3-pip python3-affine python3-tz python3-pandas python3-numpy\python3-matplotlib libboost-all-dev libgdal-dev libopencv-shape\python3-opencvpip3 install pybind11 joblib scikit-image scipy

pybind11 is present as a submodule of the current repository. To retrieve it:

git submodule initgit submodule update

3.1 Real time execution requirements

Optionally, for the real time execution:

3. Geographic data

On top of the software requierements, some geographic data are needed in order to propagate a fire in the area of your choice.You should set an environment variableFIRERS_DATA containing the path to a folder with 3 folders inside following this structure:

  • firers_data/
    • dem/
    • landcover/
    • wind/

Some sample files can be found in:https://github.com/laas/fire-rs-data.For using SAOP in other regions you have to acquire the corresponding DEM and lancover maps for the area.(A good source for Europe are the European Digital Elevation Model (EU-DEM) and Corine Land Cover (CLC) 2006)

Additionally, an environment variableWINDNINJA_CLI_PATH should be set to the path where the windninja executable can be found.windninja_sWindninja will be creating files in thewind folder as needed with the local wind for the DEMs in thedem folder.

Building saop

Build Status

Just domake build.

In detail, targets for the Makefile are:

  • build: compile the project (default target)
  • build-debug: compilelibsaop with debugging symbols
  • build-testing: compile includinglibsaop tests with debugging symbols in the build
  • autobuild: recompile the project each time a source file is changed (requires "when-changed")
  • benchmark: Create a random fire scenario and benchmark observation plan search.
  • doc: generatelibsaop python interface html documentation (needssphinx)
  • clean: remove the build folder and python artifacts
  • test-python: run all python unit tests
  • test-cpp: run unittests specific to the C++ module only
  • test-python-cpp: run test interfacing the python and C++ codes.
  • docker: starts a shell in the docker container.
  • docker_build_container: Build/rebuild the docker image.

Additionally, SAOP cmake build can be configured manually with:

mkdir build/cd buildcmake ..make

This process will:

  • build a C++ backend with python bindings
  • build the Cython modules inpython/
  • ensure that the produced artifacts are located in thepython/ source directory so that the python scripts can be invoke in straightforward manner.

License and citations

Copyright (c) 2017-2019, CNRS-LAASAll rights reserved.Redistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met:* Redistributions of source code must retain the above copyright notice, this  list of conditions and the following disclaimer.* Redistributions in binary form must reproduce the above copyright notice,  this list of conditions and the following disclaimer in the documentation  and/or other materials provided with the distribution.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLEFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVERCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USEOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

If you use fire-rs-saop in a scientific publication, we would appreciate citations to:


[8]ページ先頭

©2009-2025 Movatter.jp