-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
194 additions
and
121 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
on: [push] | ||
|
||
jobs: | ||
paper: | ||
runs-on: ubuntu-latest | ||
name: Paper Draft | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
- name: Build draft PDF | ||
uses: openjournals/openjournals-draft-action@master | ||
with: | ||
journal: joss | ||
# This should be the path to the paper within your repo. | ||
paper-path: paper/paper.md | ||
- name: Upload | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: paper | ||
# This is the output path where Pandoc will write the compiled | ||
# PDF. Note, this should be the same directory as the input | ||
# paper.md | ||
path: paper/paper.pdf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
@INPROCEEDINGS{Hammer:2017, | ||
author={Hammer, Jonathan and Murray, Alexander R. and Lowman, Alexa}, | ||
booktitle={2017 IEEE/AIAA 36th Digital Avionics Systems Conference (DASC)}, | ||
title={Safety analysis paradigm for UAS: Development and use of a common architecture and fault tree model}, | ||
year={2017}, | ||
pages={1-10}, | ||
doi={10.1109/DASC.2017.8102039} | ||
} | ||
@INPROCEEDINGS{Cour-Harbo:2020, | ||
author={la Cour-Harbo, Anders}, | ||
booktitle={2020 International Conference on Unmanned Aircraft Systems (ICUAS)}, | ||
title={Ground impact probability distribution for small unmanned aircraft in ballistic descent}, | ||
year={2020}, | ||
pages={1442-1451}, | ||
doi={10.1109/ICUAS48674.2020.9213990} | ||
} | ||
|
||
@INPROCEDINGS{Ancel:2017, | ||
author = {Ersin Ancel and Francisco M. Capristan and John V. Foster and Ryan C. Condotta}, | ||
title = {Real-time Risk Assessment Framework for Unmanned Aircraft System (UAS) Traffic Management (UTM)}, | ||
booktitle = {17th AIAA Aviation Technology, Integration, and Operations Conference}, | ||
year = {2017}, | ||
doi = {10.2514/6.2017-3273}, | ||
URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2017-3273}, | ||
eprint = {https://arc.aiaa.org/doi/pdf/10.2514/6.2017-3273} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
--- | ||
title: "SEEDPOD Ground Risk: A Python application and library for Uncrewed Aerial Systems ground risk analysis and risk-aware path finding" | ||
tags: | ||
- python | ||
- "uncrewed aerial systems" | ||
- "unmanned aerial systems" | ||
- "aviation safety" | ||
- risk | ||
- "ground risk" | ||
authors: | ||
- name: Aliaksei Pilko | ||
orcid: 0000-0003-0023-0300 | ||
affiliation: 1 | ||
- name: Zachary Tait | ||
orcid: 0000-0002-5016-6821 | ||
affiliation: 1 | ||
affiliations: | ||
- name: Faculty of Engineering and the Environment, University of Southampton | ||
index: 1 | ||
date: 28/11/2021 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
The proliferation of Uncrewed Aerial Systems (UAS) for a wide range of use-cases, from logistics to urban air mobility, | ||
is increasing. A common theme in the majority of use-cases is the operation in and around urban areas, where a critical | ||
failure of one or more onboard systems can result in the UAS departing controlled flight and posing a hazard to, amongst | ||
other parties not considered here, third parties located on the ground in the vicinity of the UAS. | ||
|
||
There are established methods of probabilistically modelling onboard failures, such as failure tree | ||
analysis [@Hammer:2017], to arrive at an overall probability of the UAS departing controlled flight. This can be | ||
combined with impact probability density modelling [@Cour-Harbo:2020] to assign probabilities to impact a given cell. | ||
Once cell probabilities are assigned, a population model determines the probability of striking a person within each | ||
cell. Impact fatality models [@Ancel:2017] are further used to transform this to probabilities of causing a fatality in | ||
each cell. | ||
|
||
A full UAS ground risk map is generated by summing all probabilities for a Loss of Control (LoC) occurring at a | ||
specified altitude for each cell. This represents the probability of causing harm or a fatality (depending on the summed | ||
probabilities) if the aircraft were to fail at that location. | ||
|
||
The general equation is $$P_{\mathrm{harm}}(x,y) = P_{\mathrm{LoC}} P_{\mathrm{strike|LoC}}(x,y) P_ | ||
{\mathrm{harm|strike}}(x,y)$$ where $x,y$ are grid indices referring to the location of LoC, $P_{\mathrm{harm}}$ is the | ||
probability of causing harm, $P_{\mathrm{LoC}}$ is the probability of the aircraft entering a LoC state; this can be | ||
found using aforementioned methods, $P_{\mathrm{strike|LoC}}$ is the probability of striking a person given the LoC has | ||
occurred, $P_{\mathrm{harm|strike}}$ is the probability of the strike causing a given harm, usually a fatality. | ||
|
||
Each probability component is driven by a different set of models, however the overall procedure is identical in that | ||
every cell in the risk map must be iterated over and a LoC modeled at that location, then the resultant single point | ||
risk map summed to represent the overall probability for that LoC location. It is this element of the process that can | ||
be parallelised without synchronisation between threads/processes. | ||
|
||
# Statement of Need | ||
|
||
SEEDPOD Ground Risk is a Python application and package that enables the generation of risk maps by implementing fast | ||
GPU-accelerated routines for the risk calculation as well as being, to the authors best knowledge, the first open-source | ||
probabilistic ground risk assessment tool. Numba is used for all calculation acceleration and enable the fallback to | ||
JIT-compiled CPU code where a compatible NVIDIA GPU is not detected. A common set of scientific and geospatial Python | ||
packages are used, such as NumPy, SciPy, Pandas, and GeoPandas. | ||
|
||
The software is intended to allow for further development and testing of different constituent models as part of a | ||
holistic ground risk assessment process. This enables the exploration of individual model effects on the final ground | ||
risk map without the reimplementation of the remainder of the process and with the benefit of the code optimisation | ||
already performed. | ||
|
||
The use of the Python programming language allows for rapid prototyping due to the interpreted nature of the language as | ||
opposed to a compiled language. This, however results in lower computational performance compared to an equivalent C++ | ||
implementation. | ||
|
||
A basic user interface is implemented to allow for non-expert users to utilise the tool and promote the safer flight of | ||
UAS. This is packaged in an installer that ensures all dependencies are installed with the package. The user interface | ||
exposes much the same functionality as the API in a no-code environment. | ||
|
||
# Acknowledgements | ||
|
||
This work is funded by the Engineering and Physical Sciences Research Council as part of the E-Drone project under grant | ||
number EP/V002619/1. The authors would like to thank András Sóbester, James Scanlan, and Mario Ferraro for their guidance | ||
and advice on theoretical aspects of the work. | ||
|
||
# References |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.