Skip to content
Unmanned Aerial Vehicle R based Mission Planner
Python JavaScript R CSS HTML
Branch: master
Clone or download
Latest commit 6194934 Sep 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R first cleanup for cran check Sep 3, 2019
inst minimize js Mar 4, 2018
man first cleanup for cran check Sep 3, 2019
vignettes cran 0.5.3 Jan 12, 2018
.Rbuildignore fix examples and gdal issues Jul 8, 2017
.gitignore vignette Jul 7, 2017
.travis.yml add netcdf to travis Oct 27, 2018
DESCRIPTION rc 0.5-5 Sep 3, 2019
LICENSE 0.5 cran version Aug 28, 2017
NAMESPACE first cleanup for cran check Sep 3, 2019
NEWS
NEWS.md update version number and NEWS Oct 27, 2018
README.md Update README.md Nov 19, 2018
uavRmp.Rproj

README.md

Project Status: Active – The project has reached a stable, usable state and is being actively developed. Travis-CI Build Status CRAN version License

Unmanned Aerial Vehicle R Tools

The uavR tools consist of two packages:

  • mission planning uavRmp (CRAN)
  • remote sensing toolbox uavRst (CRAN)

Unmanned Aerial Vehicle R based Mission Planning - uavRmp

The uavRmp package is designed for uav autonomous mission planning. In the first place it is a simple and open source planning tool for monitoring flights of low budget drones based on R. It provide an easy workflow for planning autonomous surveys including battery-dependent task splitting, save departures, and approaches of each monitoring chunks. It belongs to the uavR package family that provides more functionality for the pre- and post-processing as well as the analysis of the derived data.

Supported UAV platforms

Up to now the uavRmp package has been dedicated to low budget rtf-UAVs (ready-to-fly) as the DJI Phantom series and Pixhawk based platforms as the 3DR Solo. However the future support will focus the Pixhawk based UAVs.

The majority of the open UAV community is using the PixHawk autopilot unit and for planning probably the MissionPlanner ground station software. Both are well documented and provide APIs (Application program interface) and easy to use GUIs (graphical user interface). Nevertheless it is has only a poor planning support for terrain following autonomous flights and no support for battery-dependent task splitting and save departures and approaches (MissionPlanner). Other ground station software solutions like the powerful UgCS is supporting custom DEM/DSM (in the commercial Pro license) but are still lacking an adequate capability for dealing with highly complex surfaces combined with low above surface flight altitudes and also does not provide task splitting according to the battery capacity.

The uavRmd bridges this gap and generates MAVLINK format compliant mission files that can be uploaded to the Pixhawk controller using an integrated function or externally by any Ground Control Station software.

Mission planning

The core planning tool makeFP (make flight plan) creates either intermediate flight control files for the dji phantom x UAVs or ready to upload control files for the 3DR Solo. The dji control files are designed for using with the proprietary Litchi flight control app exchange format, while the 3DR Solo files are using the MAVLINK common message format, that is used by the PixHawk flight controller family.

The family

The package family will consist of 2 parts:

  • flight planning uavRmp
  • remote sensing tools uavRst

The easiest way to obtain a fairly good runtime enviroment is to setup Linux as a dual boot system or in a VB. If interested in setting up a clean Xubuntu or Mint Linux you can use the postinstall script for installing most of the stuff. For using some of the the Solo related functions you need to install the dronekit python libs in addition.

A full list of necessary libraries and binaries beyond R will soon be provided.

To install from github you need to have installed the devtools package.

devtools::install_github("gisma/uavRmp", ref = "master")

If you want to install the develop branch use:

devtools::install_github("gisma/uavRmp", ref = "develop", dependencies = TRUE)
You can’t perform that action at this time.