Skip to main content

Research software for navigating a UAV in indoor environments

Project description

example workflow codecov docs PyPI

image

A Python package for simulating UAV Navigation in Satellite-Less Environments. The package contains two algorithms the GTRS [1] and WLS [2] whose goal is to estimate and navigate a UAV.

Installation

Install from PyPI:

pip install --upgrade pip
pip install autonav

First Steps

After installing the package one can import the algorithms and necessary dependencies as follows:

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:

# 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:

# 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()

image

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autonav-1.0.3.tar.gz (16.3 kB view details)

Uploaded Source

Built Distribution

autonav-1.0.3-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file autonav-1.0.3.tar.gz.

File metadata

  • Download URL: autonav-1.0.3.tar.gz
  • Upload date:
  • Size: 16.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for autonav-1.0.3.tar.gz
Algorithm Hash digest
SHA256 ba385c7dc947a39c29e86087d60e9e16bc9d3ed66f06c8fafd4c177ad9992938
MD5 dc59971a54fa6f1f36643d81cb2f3341
BLAKE2b-256 9d6e1aa10c77b217b04c9faf4dce93fd531aab0413ee43730ef6f2fccc0b816f

See more details on using hashes here.

File details

Details for the file autonav-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: autonav-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for autonav-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 da4c4db97bdb2c5441ec3a1bfb6d0687cd3b7a6ee46375e2ea39bf4a78cea077
MD5 6961ad101171372f61ffc2ec23d63198
BLAKE2b-256 d9d58f82ca883165e40875895e7cb3beb971df4998b9fe13491760436317e68b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page