Skip to content

A fork of the https://github.com/alice-st/DARP DARP-Algorithm python project. Will be the base algorithm of my master thesis.

Notifications You must be signed in to change notification settings

0x000eHx/Lake-Bathymetry-Scanning

 
 

Repository files navigation

(Offline) Lake Bathymetry Scanning

This project aims to divide a lake area into several regions, optimize the region size and shape and use path planning to calculate a WGS 84 conform path. This is one step of my universities RoBiMo project to automatically scan the subsurface of a lake by a boat drone. See an example scan in 3D at sketchfab.com!

Motivation & Conditions:

A small boat drone with a bathymetric scanner can only move a certain distance until its battery is empty and needs a refill. Dividing the lake into regions with a defined number of tiles is one step. Rearranging the grid around every drone's start point by the DARP algorithm in used to find an optimal solution considered the distance of every tile inside the lake area.

After finding the optimal regions a path planning algorithm has to find a way with the lowest number of turns and the highest number of the longest possible line segments. This way through every region will be exportable as WGS 84 (EPSG:4326) path for usage in automatic path finding programs.

DARP: Divide Areas Algorithm for Optimal Multi-Robot Coverage Path Planning

This is a fork of the DARP Python Project with its Java source the original DARP Java Project.

Look up the original project for further details, how the algorithm works and all links.

Current Status

This README needs work. Will extend this doc to the current development state soon...

In the meantime: Install the environment via Anaconda (Conda) or Mamba (conda_environment.yaml).

Try using the "start_grid_generation_notebook" Jupyter Notebook and draw regions (as Polygons) inside a area of interest. Start the grid generation and get the Spanning Tree Coverage (STC) Tiles.

If you don't need the notebook start the get_grid.py file and read a lake area from a geojson file (provided in the "dams_single_geojsons" folder).

After that you can use the get_darp_working.py file to calculate all paths for all the grid tile groups.

For displaying the results start the display_results.py script. It opens all calculated steps and the end result as HTML file in your browser.

About

A fork of the https://github.com/alice-st/DARP DARP-Algorithm python project. Will be the base algorithm of my master thesis.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.2%
  • Jupyter Notebook 4.8%