Skip to main content

micronav

Lightweight autonomous navigation library — anywhere Python runs.

Python License Platform


Overview

micronav is a minimalist Python library for autonomous navigation tasks:

  • Waypoint navigation with Haversine distance and bearing
  • PID controller for heading and speed
  • Geofencing — virtual boundary enforcement
  • Zero dependencies — only Python standard library
  • Runs anywhere — laptop, Raspberry Pi, Docker, Android/Termux

Installation

pip install waynav

Or from source:

```bash
git clone https://github.com/Orion-smith25/waynav.git
cd waynav
pip install -e .

Quick Start

from micronav import WaypointNavigator, PIDController, Geofence

waypoints = [
    {"lat": -6.175, "lon": 106.827},
    {"lat": -6.125, "lon": 106.655},
]

nav = WaypointNavigator(waypoints)
current = {"lat": -6.175, "lon": 106.827}

print(f"Distance: {nav.distance_to(current):.1f}m")
print(f"Bearing: {nav.bearing_to(current):.1f}deg")

pid = PIDController(kp=1.0, ki=0.1, kd=0.05)
correction = pid.update(target=90.0, current=45.0)
print(f"PID correction: {correction:.1f}")

fence = Geofence(center_lat=-6.175, center_lon=106.827, radius=500)
print(f"Inside geofence: {fence.is_inside(current)}")

Docker

docker build -t micronav .
docker run -it micronav python3 examples/basic_navigation.py

Modules

Module Description waypoint Waypoint management, Haversine distance, bearing pid PID controller for heading and speed geofence Circular geofence boundary enforcement utils Coordinate conversion, angle normalization


Platform Support

Platform Status Linux (x86_64) Full macOS Full Windows Full Raspberry Pi Full Termux (Android) Full Docker Full


Related Projects

· open-nav-core · maritime-vessel-design


License

MIT License — see LICENSE


Maintained by the Maritime Autonomy Lab.

Download files

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

Source Distribution

waynav-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

waynav-0.1.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file waynav-0.1.1.tar.gz.

File metadata

  • Download URL: waynav-0.1.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for waynav-0.1.1.tar.gz
Algorithm Hash digest
SHA256 233acee18988bc63b8f97d429aa18b8240e4300662aa7d50a68b295cf0eb5b7e
MD5 d2164d204b8ac53a141625a4ba817912
BLAKE2b-256 553925f52c0e2b1d11a08d44dc8fd6a6f8e614d9cb4b366d061eab979906a536

See more details on using hashes here.

Provenance

The following attestation bundles were made for waynav-0.1.1.tar.gz:

Publisher: publish.yml on Orion-smith25/micronav

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file waynav-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: waynav-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for waynav-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8f3997998798393ac86e1e89f6f04ff48786002580d3c391c3b3c6e8754305d
MD5 c944c7df4456f22038453d5f97bd41d4
BLAKE2b-256 af8956e05d7690498b21e56a910e8c981c5bf630f9e80ea35b25d3309570b09e

See more details on using hashes here.

Provenance

The following attestation bundles were made for waynav-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Orion-smith25/micronav

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page