Skip to main content

Python Sensor Fusion

Coverage Status Docker Image CI

Fuse IMU data into a Quaternion pose.

Install

To install the library run: pip install py-imu

Development

  1. Install Poetry
  2. make init to create the virtual environment and install dependencies
  3. make format to format the code and check for errors
  4. make test to run the test suite
  5. make clean to delete the temporary files and directories
  6. poetry publish --build to build and publish to https://pypi.org/project/py-imu

Usage

from py_imu.madgwick import Madgwick
from py_imu.motion import Motion
from py_imu.quaternion import Vector3D

def main():
    """Test the modules in py-imu."""
    madgwick = Madgwick(frequency=100.0, gain=0.033)
    estimator = Motion(
        declination=9.27, latitude=32.253460, altitude=730, magfield=47392.3
    )

    # provide time increment dt based on time expired between each sensor reading
    for data in data_stream:
        gyr = Vector3D(data[0:3])
        acc = Vector3D(data[3:6])
        madgwick.update(gyr=gyr, acc=acc, dt=0.01)
        estimator.update(q=madgwick.q, acc=acc, timestamp=0.01, moving=True)

if __name__ == "__main__":
    main()

Metadata

Release files for py-imu 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-imu 0.1.0
File Size Uploaded
py_imu-0.1.0.tar.gz 15.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-imu 0.1.0
File Interpreter ABI Platform
py_imu-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 32.5 kB

Release files / py_imu-0.1.0.tar.gz

Download URL py_imu-0.1.0.tar.gz
Size 15.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9499bf755b6b3ad964a48b64a2e98c671fc540adfdcf5e22935dc5a8e6af2ef9
BLAKE2b-256 checksum
How to use checksums
82babd12aee591479f2941b3cbcd69e356c1dbd2f42f3afc603ce2b0cd2bb7c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.6 Darwin/25.0.0

Release files / py_imu-0.1.0-py3-none-any.whl

Download URL py_imu-0.1.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
389ce69862543168a3b9b8c79957b5ed114de3b7a1b2eb7a12846a1c7abdaf95
BLAKE2b-256 checksum
How to use checksums
6dd4e4fae9bb4808e42b15209f8353614ff93cb2d71d776dba070960c0a49972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.1.2 CPython/3.13.6 Darwin/25.0.0

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page