Name | autonav JSON |
Version |
1.0.3
JSON |
| download |
home_page | None |
Summary | Research software for navigating a UAV in indoor environments |
upload_time | 2024-05-18 15:03:03 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
uav
navigation
indoor
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
![example workflow](https://github.com/ricardo-s-santos/AutoNAV/actions/workflows/test.yml/badge.svg)
[![codecov](https://codecov.io/gh/ricardo-s-santos/AutoNAV/graph/badge.svg?token=LCR7KDRK3E)](https://codecov.io/gh/ricardo-s-santos/AutoNAV)
[![docs](https://img.shields.io/badge/docs-click_here-blue.svg)](https://ricardo-s-santos.github.io/AutoNAV/)
[![PyPI](https://img.shields.io/pypi/v/autonav)](https://pypi.org/project/autonav/)
<p align="center">
<img src="https://github.com/ricardo-s-santos/AutoNAV/blob/main/docs/docs/figures/icon.png?raw=true" alt="image" width="200" height="auto">
</p>
A Python package for simulating UAV Navigation in Satellite-Less Environments. The package contains two algorithms the GTRS <a href="https://ieeexplore.ieee.org/document/9456863">[1]</a> and WLS <a href="https://ietresearch.onlinelibrary.wiley.com/doi/full/10.1049/wss2.12041">[2]</a> whose goal is to estimate and navigate a UAV.
## Installation
Install from PyPI:
```sh
pip install --upgrade pip
pip install autonav
```
## First Steps
After installing the package one can import the algorithms and necessary dependencies as follows:
```python
import matplotlib.pyplot as plt
from autonav import gtrs, wls
from autonav.file_handlers import readpathfile
from autonav.plots import plot_trajectories
from numpy import array
```
Afterwards, one can create the necessary values to run the algorithms:
```python
# Area border
b = 200
# Number of anchors
n = 8
# Position of the anchors
a_i = array(
[
[0, 0, 0],
[0, b, 0],
[b / 2, 0, 0],
[b / 2, b, 0],
[0, 0, b / 8],
[0, b, b / 8],
[b / 2, 0, b / 8],
[b / 2, b, b / 8],]
).T
# Number of measurement samples
k = 50
# Maximum velocity allowed to the UAV
v_max = b / 100
# Distance threshold
tau = b / 50
# Smoothing factor
gamma = b / 100
# Initial position of the UAV
initial_uav_position = [10, 10, 5]
# File containing the waypoints
destinations = readpathfile("docs/docs/examples/Path.csv")
# Noise seed
noise_seed = 1
# Noise Distribution
noise_distribution = "normal"
# Noise distribution parameters
mean = 0
std = 1
noise_distribution_parameters = [mean, std]
```
Finally, run the GTRS or WLS algorithm and plot the trajectories:
```python
# Estimate the positions and trajectory using the GTRS algorithm
[estimated_positions, true_trajectory] = gtrs(
a_i,
n,
k,
destinations,
initial_uav_position,
v_max,
tau,
gamma,
noise_seed,
noise_distribution,
noise_distribution_parameters,
)
# Plot the trajectory that the UAV followed
plot_trajectories(destinations, [true_trajectory], a_i, ['GTRS'])
plt.show()
```
<p align="center">
<img src="https://github.com/ricardo-s-santos/AutoNAV/blob/main/docs/docs/figures/trajectories_plot.png?raw=true" alt="image" width="auto" height="auto">
</p>
## References
[1] J. P. Matos-Carvalho, R. Santos, S. Tomic and M. Beko, "GTRS-Based Algorithm for UAV Navigation in Indoor Environments Employing Range Measurements and Odometry," in IEEE Access, vol. 9, pp. 89120-89132, 2021, doi: 10.1109/ACCESS.2021.3089900. https://ieeexplore.ieee.org/document/9456863
[2] R. Santos, J. P. Matos-Carvalho, S. Tomic and M. Beko, "WLS algorithm for UAV navigation in satelliteāless environments," in IET Wireless Sensor Systems, 2022, 12, (3-4), p. 93-102, DOI: 10.1049/wss2.12041
IET Digital Library, https://ietresearch.onlinelibrary.wiley.com/doi/full/10.1049/wss2.12041
## License
[MIT License](LICENSE.txt)
Raw data
{
"_id": null,
"home_page": null,
"name": "autonav",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "UAV, Navigation, Indoor",
"author": null,
"author_email": "\"Ricardo S. Santos\" <p6221@ulusofona.pt>",
"download_url": "https://files.pythonhosted.org/packages/9d/6e/1aa10c77b217b04c9faf4dce93fd531aab0413ee43730ef6f2fccc0b816f/autonav-1.0.3.tar.gz",
"platform": null,
"description": "![example workflow](https://github.com/ricardo-s-santos/AutoNAV/actions/workflows/test.yml/badge.svg)\n[![codecov](https://codecov.io/gh/ricardo-s-santos/AutoNAV/graph/badge.svg?token=LCR7KDRK3E)](https://codecov.io/gh/ricardo-s-santos/AutoNAV)\n[![docs](https://img.shields.io/badge/docs-click_here-blue.svg)](https://ricardo-s-santos.github.io/AutoNAV/)\n[![PyPI](https://img.shields.io/pypi/v/autonav)](https://pypi.org/project/autonav/)\n\n<p align=\"center\">\n <img src=\"https://github.com/ricardo-s-santos/AutoNAV/blob/main/docs/docs/figures/icon.png?raw=true\" alt=\"image\" width=\"200\" height=\"auto\">\n</p>\n\nA Python package for simulating UAV Navigation in Satellite-Less Environments. The package contains two algorithms the GTRS <a href=\"https://ieeexplore.ieee.org/document/9456863\">[1]</a> and WLS <a href=\"https://ietresearch.onlinelibrary.wiley.com/doi/full/10.1049/wss2.12041\">[2]</a> whose goal is to estimate and navigate a UAV.\n\n## Installation\n\nInstall from PyPI:\n\n```sh\npip install --upgrade pip\npip install autonav\n```\n\n## First Steps\n\nAfter installing the package one can import the algorithms and necessary dependencies as follows:\n\n```python\nimport matplotlib.pyplot as plt\n\nfrom autonav import gtrs, wls\nfrom autonav.file_handlers import readpathfile\nfrom autonav.plots import plot_trajectories\nfrom numpy import array\n```\n\nAfterwards, one can create the necessary values to run the algorithms:\n\n```python\n# Area border\nb = 200\n# Number of anchors\nn = 8\n# Position of the anchors\na_i = array(\n [\n [0, 0, 0],\n [0, b, 0],\n [b / 2, 0, 0],\n [b / 2, b, 0],\n [0, 0, b / 8],\n [0, b, b / 8],\n [b / 2, 0, b / 8],\n [b / 2, b, b / 8],]\n ).T\n# Number of measurement samples\nk = 50\n# Maximum velocity allowed to the UAV\nv_max = b / 100\n# Distance threshold\ntau = b / 50\n# Smoothing factor\ngamma = b / 100\n# Initial position of the UAV\ninitial_uav_position = [10, 10, 5]\n# File containing the waypoints\ndestinations = readpathfile(\"docs/docs/examples/Path.csv\")\n# Noise seed\nnoise_seed = 1\n# Noise Distribution\nnoise_distribution = \"normal\"\n# Noise distribution parameters\nmean = 0\nstd = 1\nnoise_distribution_parameters = [mean, std]\n```\n\nFinally, run the GTRS or WLS algorithm and plot the trajectories:\n\n```python\n# Estimate the positions and trajectory using the GTRS algorithm\n[estimated_positions, true_trajectory] = gtrs(\n a_i,\n n,\n k,\n destinations,\n initial_uav_position,\n v_max,\n tau,\n gamma,\n noise_seed,\n noise_distribution,\n noise_distribution_parameters,\n)\n# Plot the trajectory that the UAV followed\nplot_trajectories(destinations, [true_trajectory], a_i, ['GTRS'])\nplt.show()\n```\n\n<p align=\"center\">\n <img src=\"https://github.com/ricardo-s-santos/AutoNAV/blob/main/docs/docs/figures/trajectories_plot.png?raw=true\" alt=\"image\" width=\"auto\" height=\"auto\">\n</p>\n\n## References\n\n[1] J. P. Matos-Carvalho, R. Santos, S. Tomic and M. Beko, \"GTRS-Based Algorithm for UAV Navigation in Indoor Environments Employing Range Measurements and Odometry,\" in IEEE Access, vol. 9, pp. 89120-89132, 2021, doi: 10.1109/ACCESS.2021.3089900. https://ieeexplore.ieee.org/document/9456863\n\n[2] R. Santos, J. P. Matos-Carvalho, S. Tomic and M. Beko, \"WLS algorithm for UAV navigation in satellite\u2010less environments,\" in IET Wireless Sensor Systems, 2022, 12, (3-4), p. 93-102, DOI: 10.1049/wss2.12041\nIET Digital Library, https://ietresearch.onlinelibrary.wiley.com/doi/full/10.1049/wss2.12041\n\n## License\n\n[MIT License](LICENSE.txt)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Research software for navigating a UAV in indoor environments",
"version": "1.0.3",
"project_urls": {
"Bug Reports": "https://github.com/ricardo-s-santos/AutoNAV/issues",
"Documentation": "https://ricardo-s-santos.github.io/AutoNAV/",
"Source": "https://github.com/ricardo-s-santos/AutoNAV"
},
"split_keywords": [
"uav",
" navigation",
" indoor"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d9d58f82ca883165e40875895e7cb3beb971df4998b9fe13491760436317e68b",
"md5": "6961ad101171372f61ffc2ec23d63198",
"sha256": "da4c4db97bdb2c5441ec3a1bfb6d0687cd3b7a6ee46375e2ea39bf4a78cea077"
},
"downloads": -1,
"filename": "autonav-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6961ad101171372f61ffc2ec23d63198",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 14101,
"upload_time": "2024-05-18T15:03:01",
"upload_time_iso_8601": "2024-05-18T15:03:01.453131Z",
"url": "https://files.pythonhosted.org/packages/d9/d5/8f82ca883165e40875895e7cb3beb971df4998b9fe13491760436317e68b/autonav-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9d6e1aa10c77b217b04c9faf4dce93fd531aab0413ee43730ef6f2fccc0b816f",
"md5": "dc59971a54fa6f1f36643d81cb2f3341",
"sha256": "ba385c7dc947a39c29e86087d60e9e16bc9d3ed66f06c8fafd4c177ad9992938"
},
"downloads": -1,
"filename": "autonav-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "dc59971a54fa6f1f36643d81cb2f3341",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 16339,
"upload_time": "2024-05-18T15:03:03",
"upload_time_iso_8601": "2024-05-18T15:03:03.194505Z",
"url": "https://files.pythonhosted.org/packages/9d/6e/1aa10c77b217b04c9faf4dce93fd531aab0413ee43730ef6f2fccc0b816f/autonav-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-18 15:03:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ricardo-s-santos",
"github_project": "AutoNAV",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "autonav"
}