autonav


Nameautonav JSON
Version 1.0.2 PyPI version JSON
download
home_page
SummaryResearch software for navigating a UAV in indoor environments
upload_time2024-03-12 18:23:19
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
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
# Noise standard deviation
sigma = 1
# 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")
```

Finally, run the GTRS or WLS algorithm and plot the trajectories:

```python
# Estimate the trajectory using the GTRS algorithm
[estimated_trajectory, true_trajectory] = gtrs(a_i, n, k, sigma, destinations, initial_uav_position, v_max, tau, gamma)
# Plot the estimated trajectory
plot_trajectories(destinations, [estimated_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": "",
    "name": "autonav",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "UAV,Navigation,Indoor",
    "author": "",
    "author_email": "\"Ricardo S. Santos\" <p6221@ulusofona.pt>",
    "download_url": "https://files.pythonhosted.org/packages/cd/97/bd723d247ba67b646b5334f24f3332952a513b96ba2aa940201281a01c3b/autonav-1.0.2.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# Noise standard deviation\nsigma = 1\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```\n\nFinally, run the GTRS or WLS algorithm and plot the trajectories:\n\n```python\n# Estimate the trajectory using the GTRS algorithm\n[estimated_trajectory, true_trajectory] = gtrs(a_i, n, k, sigma, destinations, initial_uav_position, v_max, tau, gamma)\n# Plot the estimated trajectory\nplot_trajectories(destinations, [estimated_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.2",
    "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": "92277343fe42a9d49cd467ea8c5e0354bec5d1f8e828820006e0d008f9b5d91a",
                "md5": "cba1a9feb1db92c1e9deb09dd5948b2a",
                "sha256": "5c1a71efb6eb56309a14e60bfa94207fbacb03371b8c44beaa16dff61bd19c80"
            },
            "downloads": -1,
            "filename": "autonav-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cba1a9feb1db92c1e9deb09dd5948b2a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 13302,
            "upload_time": "2024-03-12T18:23:18",
            "upload_time_iso_8601": "2024-03-12T18:23:18.756687Z",
            "url": "https://files.pythonhosted.org/packages/92/27/7343fe42a9d49cd467ea8c5e0354bec5d1f8e828820006e0d008f9b5d91a/autonav-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd97bd723d247ba67b646b5334f24f3332952a513b96ba2aa940201281a01c3b",
                "md5": "07415e4950ca6a74e76cf64bd95c8763",
                "sha256": "cb9085f8fecac3fba978d689b5428736bd3b15aacce729c6a899bc5fb6861053"
            },
            "downloads": -1,
            "filename": "autonav-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "07415e4950ca6a74e76cf64bd95c8763",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 15706,
            "upload_time": "2024-03-12T18:23:19",
            "upload_time_iso_8601": "2024-03-12T18:23:19.861520Z",
            "url": "https://files.pythonhosted.org/packages/cd/97/bd723d247ba67b646b5334f24f3332952a513b96ba2aa940201281a01c3b/autonav-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-12 18:23:19",
    "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"
}
        
Elapsed time: 0.20357s