Skip to main content

Universal MultiLateration Localization System with flexible input/output adapters

Project description

MultiLat Localizer

Universal multilateration localization with pluggable input/output adapters for distance measurements and position output.

Features

  • Inputs: Serial (UWB/RTK-DW1000), MQTT, UDP, File; custom adapters via with_input()
  • Outputs: MAVLink, MAVROS (ROS2), UDP, File, Console; multiple outputs at once, custom adapterd via 'with_output()'
  • Calibration: None, Linear, Quadratic, Cubic;
  • GPS: ENU → GPS via pymap3d; frequency throttling; message type (GPS / Position / Both)
  • Config: Python API or YAML config file; CLI: multilat_solver --config config.yaml

Installation

pip install multilat_solver

Optional: pip install multilat_solver[mqtt] (MQTT), multilat_solver[ros2] (ROS2), .[dev] (development).

Run from YAML config

multilat_solver --config config.yaml
multilat_solver --config config.yaml --logs /path/to/logs

Config specifies anchors, origin, input/output adapters, and optional logging.dir / logging.level. Default log directory: ~/.multilat_solver/logs. Example: config_examples/example_cli.yaml. See Quick Start.

Documentation

Adapters

Input Description
Serial Binary protocol (UWB/RTK-DW1000)
MQTT JSON over MQTT [mqtt]
UDP JSON over UDP
File JSON file polling
Output Description
MAVLink ArduPilot/PX4
MAVROS ROS2 topics [ros2]
UDP JSON over UDP
File JSONL file
Console Human or JSON

Examples

  • examples/send_data.py + examples/for_docs.py — UDP distance simulator + localizer (run send_data first, then for_docs); see Quick Start
  • examples/basic_usage.py — Serial in, console/file/MAVLink out
  • examples/multi_output.py — Multiple outputs
  • examples/mavlink_input_with_sim.py — MAVLink distances in + simulator
  • examples/uavcan_input_mavlink_output.py — Custom UAVCAN input → MAVLink out

Development

git clone https://github.com/Innopolis-UAV-Team/multilat_solver
cd multilat_solver
pip install -e ".[dev]"
pytest

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

multilat_solver-2.0.0.tar.gz (55.7 kB view details)

Uploaded Source

Built Distribution

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

multilat_solver-2.0.0-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file multilat_solver-2.0.0.tar.gz.

File metadata

  • Download URL: multilat_solver-2.0.0.tar.gz
  • Upload date:
  • Size: 55.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for multilat_solver-2.0.0.tar.gz
Algorithm Hash digest
SHA256 16bb1b0bb41f0850701658dae1dc6f250f816e72ffa1bfa4500fddf71067c7b8
MD5 ea0aa40ab7b4214830fdc635b9568aff
BLAKE2b-256 fc27fc8fd3ec85961b2697be625fb5c3bab6eb26b8c3098a6df4eafd38691171

See more details on using hashes here.

File details

Details for the file multilat_solver-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for multilat_solver-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22e007e4bd85ca78fa3a740fdfc3bbe356b412eca048874c02485ecb60f58d82
MD5 313cb0afffc49e60a085d867e133b1d2
BLAKE2b-256 61d0169ba538eb21c725f94f0ae73ead6a2814ac3f14886f253fb0fb2b909d63

See more details on using hashes here.

Supported by

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