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 micronav

Or from source:

```bash
git clone https://github.com/Orion-smith25/micronav.git
cd micronav
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.0.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.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: waynav-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 852cbb562f4a76340cfbc898b2f687bbdcab943a64a2e2c7b556bb8b96fc588a
MD5 26f7eeda95e9560a330b81bfab159aec
BLAKE2b-256 4ceb904764346c95ce9fa81338813c4dab9c3f7c9efec95433cefa76684b23fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for waynav-0.1.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: waynav-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e06b31673814c0b3021653626ded6f3c85071731efd57b59179fde5486bae46d
MD5 05909138ef99748d3d26d70788a54ef0
BLAKE2b-256 451efe5969d321a51ea31125dc7a4afd53254e5cd341c991cd9f7b34359be202

See more details on using hashes here.

Provenance

The following attestation bundles were made for waynav-0.1.0-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