Skip to main content

Turbo-CKF: High-performance Cubature Kalman Filter

Project description

turbo-ckf

turbo-ckf is a Rust-backed Cubature Kalman Filter package for high-throughput prediction/update loops. Implemented here purely as an experiment after reading the paper.

What This Package Optimizes

  • Fast prediction with built-in linear models:
    • predict_standard_model(...)
    • predict_standard_model_ckf(...)
    • predict_linear_model(F)
    • predict_linear_model_ckf(F)
  • Fast AHRS update path:
    • update_paper_ahrs(...)

predict(...) and update(...) also run through Rust, but callback cost in Python can dominate if your models are heavy.

Callback Contract

Custom fx and hx must be vectorized:

  • Input shape is (2 * dim_x, dim_x).
  • fx output shape must be (2 * dim_x, dim_x).
  • hx output shape must be (2 * dim_x, dim_z).

If you pass pointwise callbacks, TurboCKF raises immediately.

Install (Local Dev)

From turbo-ckf/:

bash turbo_ckf/setup_env.sh

Usage

from turbo_ckf import TurboCKF

kf = TurboCKF(dim_x=2, dim_z=1, dt=0.1, hx=hx_vectorized, fx=fx_vectorized)
kf.predict_standard_model("constant_velocity")
kf.update(z)

AHRS path:

kf.predict_linear_model(Fk)
kf.update_paper_ahrs(z6, sigma_acc2=1e-2, sigma_mag2=1e-2)

Research Basis

  • This repo is an implementation of the KCKF AHRS equations described in:
  • Credit for the method belongs to the paper authors.

License

Dual-licensed under either:

  • MIT (LICENSE-MIT)
  • Apache-2.0 (LICENSE-APACHE)

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

turbo_ckf-0.1.1.tar.gz (29.9 kB view details)

Uploaded Source

Built Distributions

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

turbo_ckf-0.1.1-cp39-abi3-win_amd64.whl (247.1 kB view details)

Uploaded CPython 3.9+Windows x86-64

turbo_ckf-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.3 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

turbo_ckf-0.1.1-cp39-abi3-macosx_11_0_arm64.whl (335.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file turbo_ckf-0.1.1.tar.gz.

File metadata

  • Download URL: turbo_ckf-0.1.1.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turbo_ckf-0.1.1.tar.gz
Algorithm Hash digest
SHA256 941c462e8eaf15c61a78db752f7003e6766bcbee8a0b560e17fe44d15aa35f62
MD5 b627c12bf134201f163b958268f74f1c
BLAKE2b-256 81d910f36c3c785a4a5ed732eae84b2d0704cbf1cc5977e5b7d750f9a0344b46

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_ckf-0.1.1.tar.gz:

Publisher: release.yml on mokhld/turbo-ckf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turbo_ckf-0.1.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: turbo_ckf-0.1.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 247.1 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for turbo_ckf-0.1.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f557d4d2c7b14066fa54d0ba9ccc76a0d4c4c80dc5a24540948f224ada93a37d
MD5 b670ee62b5fa6df7469255ee12a84dae
BLAKE2b-256 cb47f4e640489f9324179f0b9be60fa96b1533b993fccaa0d056b146a16c3bc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_ckf-0.1.1-cp39-abi3-win_amd64.whl:

Publisher: release.yml on mokhld/turbo-ckf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turbo_ckf-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for turbo_ckf-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52e8a976cbcdafbbdd3712bb8a8f0f19f5e7e3f731851aa898e546658850619a
MD5 25192f4817078e510f9cd3c60a56af33
BLAKE2b-256 0c449fa553c32174c31a78ae6f9c6079db00a4bf21dd78d34afade0b4a4b8489

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_ckf-0.1.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on mokhld/turbo-ckf

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file turbo_ckf-0.1.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for turbo_ckf-0.1.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ead648bd14d7ddb73a1cc444a2bcd98df0643aca83f1e82aa9ad9d13b0fccab
MD5 a48a8dfc15f8306dc50b0081a964c08e
BLAKE2b-256 7ae1a4ac0d58332e938c68b7b45c4930bb69f64c18517b5d6a68ddb7fd88d5a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for turbo_ckf-0.1.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on mokhld/turbo-ckf

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 Pingdom Monitoring Sentry Error logging StatusPage Status page