Skip to main content

Madgwick filter for IMU data and quaternions.

Project description

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

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

py_imu-0.1.0.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

py_imu-0.1.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_imu-0.1.0.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.6 Darwin/25.0.0

File hashes

Hashes for py_imu-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9499bf755b6b3ad964a48b64a2e98c671fc540adfdcf5e22935dc5a8e6af2ef9
MD5 267cad9a7caf09f202374d915ddfa956
BLAKE2b-256 82babd12aee591479f2941b3cbcd69e356c1dbd2f42f3afc603ce2b0cd2bb7c3

See more details on using hashes here.

File details

Details for the file py_imu-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: py_imu-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.6 Darwin/25.0.0

File hashes

Hashes for py_imu-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 389ce69862543168a3b9b8c79957b5ed114de3b7a1b2eb7a12846a1c7abdaf95
MD5 876bf98e6109396c461429f90a48541a
BLAKE2b-256 6dd4e4fae9bb4808e42b15209f8353614ff93cb2d71d776dba070960c0a49972

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