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"

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.13.tar.gz (17.5 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for imt_ring-1.6.13.tar.gz
Algorithm Hash digest
SHA256 641f2b678be1a61ec73bedf9400d135f9e9327533b9d52e1fc60412f3e4ef7f6
MD5 9f01f4d3469d124d962a311a704f0957
BLAKE2b-256 3e7840cd8640d0fd722036a5c76475958fea95679441f25adc3fb85bfee0c746

See more details on using hashes here.

File details

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

File metadata

  • Download URL: imt_ring-1.6.13-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.6

File hashes

Hashes for imt_ring-1.6.13-py3-none-any.whl
Algorithm Hash digest
SHA256 0998a4771c849f0c6a84d58c622c9ccb07d3412a59ce016654fad0fae68eb11a
MD5 a72e380f776963b5ea4d19f54bc76d54
BLAKE2b-256 b1e4012bf3938cf30f38bdd6c7dbef12bba39a2a27511d1f9ad548b76bb223cf

See more details on using hashes here.

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