Skip to main content

RING: Recurrent Inertial Graph-based Estimator

Project description

Recurrent Inertial Graph-based Estimator (RING)

Installation

Supports Python=3.10/3.11/3.12 (tested).

Install with pip using

pip install imt-ring

Typically, this will install jax as cpu-only version. Afterwards, gpu-enabled version can be installed with

pip install --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Documentation

Available here.

Quickstart Example

import ring
import numpy as np

T  : int       = 30        # sequence length     [s]
Ts : float     = 0.01      # sampling interval   [s]
B  : int       = 1         # batch size
lam: list[int] = [0, 1, 2] # parent array
N  : int       = len(lam)  # number of bodies
T_i: int       = int(T/Ts) # number of timesteps

X              = np.zeros((B, T_i, N, 9))
# where X is structured as follows:
# X[..., :3]   = acc
# X[..., 3:6]  = gyr
# X[..., 6:9]  = jointaxis

# let's assume we have an IMU on each outer segment of the
# three-segment kinematic chain
X[..., 0, :3]  = acc_segment1
X[..., 2, :3]  = acc_segment3
X[..., 0, 3:6] = gyr_segment1
X[..., 2, 3:6] = gyr_segment3

ringnet = ring.RING(lam, Ts)
yhat, _ = ringnet.apply(X)
# yhat: unit quaternions, shape = (B, T_i, N, 4)

Known fixes

Offscreen rendering with Mujoco

mujoco.FatalError: an OpenGL platform library has not been loaded into this process, this most likely means that a valid OpenGL context has not been created before mjr_makeContext was called

Solution:

import os
os.environ["MUJOCO_GL"] = "egl"

Windows-related: ImportError: DLL load failed while importing ...

ImportError: DLL load failed while importing _multiarray_umath: Das angegebene Modul wurde nicht gefunden.

Solution:

  1. pip uninstall -y jax jaxlib
  2. conda install -c conda-forge jax

Publications

The following publications utilize this software library, and refer to it as the Random Chain Motion Generator (RCMG) (more specifically the function ring.RCMG):

Other useful ressources

Particularly useful is the following publication from Roy Featherstone

Contact

Simon Bachhuber (simon.bachhuber@fau.de)

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

imt_ring-1.6.21.tar.gz (17.5 MB view details)

Uploaded Source

Built Distribution

imt_ring-1.6.21-py3-none-any.whl (17.5 MB view details)

Uploaded Python 3

File details

Details for the file imt_ring-1.6.21.tar.gz.

File metadata

  • Download URL: imt_ring-1.6.21.tar.gz
  • Upload date:
  • Size: 17.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for imt_ring-1.6.21.tar.gz
Algorithm Hash digest
SHA256 ae5ac0e940d896851f0b65d687e015e0101493ecc153f6a802702cdeb8e32d43
MD5 b2fb50b19386d19fc2571657de77ff78
BLAKE2b-256 6929cadc651d1887402f332d9d9807b0939ec8d6bb15c2e0928c66a019b195fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for imt_ring-1.6.21.tar.gz:

Publisher: publish-to-pypi.yml on simon-bachhuber/ring

Attestations:

File details

Details for the file imt_ring-1.6.21-py3-none-any.whl.

File metadata

  • Download URL: imt_ring-1.6.21-py3-none-any.whl
  • Upload date:
  • Size: 17.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for imt_ring-1.6.21-py3-none-any.whl
Algorithm Hash digest
SHA256 56a70ff3852717262dfcbca24a58e54117d3fb3f18aa730fae743a2ee9018556
MD5 f518a5831c6c0c40759a780d845d8eae
BLAKE2b-256 c72c81299961314e8d4c0776b00ec1e082216dc5e237c1b1de947e59062371cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for imt_ring-1.6.21-py3-none-any.whl:

Publisher: publish-to-pypi.yml on simon-bachhuber/ring

Attestations:

Supported by

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