Skip to main content

Madgwick filter for IMU data and quaternions.

Project description

Python Sensor Fusion

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.0.1.tar.gz (14.0 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.0.1-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_imu-0.0.1.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0

File hashes

Hashes for py_imu-0.0.1.tar.gz
Algorithm Hash digest
SHA256 ed7f5a4ba8c46b28d139bcbaccbc66bea33530ffafdd32af71ba4105a7c1a106
MD5 764f2700712bfb7b69ac9307918f0f0c
BLAKE2b-256 5cdee339d7eb5486cd5cacdcfecd2cc77e27adfc0e99b74c64c2ed554de69189

See more details on using hashes here.

File details

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

File metadata

  • Download URL: py_imu-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.3 Darwin/24.4.0

File hashes

Hashes for py_imu-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f75024e09860156a7cedd959eed4913c325904576616225f6113e0a83aa2a6bb
MD5 76797a9e02fe1e63a4ed310dd97818d0
BLAKE2b-256 b28aa9d7494f34e89b9cddb2b76d90449e6c0930d6353ae6bfabf30889894cf5

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