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
):
- RNN-based Observability Analysis for Magnetometer-Free Sparse Inertial Motion Tracking
- Plug-and-Play Sparse Inertial Motion Tracking With Sim-to-Real Transfer
- RNN-based State and Parameter Estimation for Sparse Magnetometer-free Inertial Motion Tracking
Other useful ressources
Particularly useful is the following publication from Roy Featherstone
Contact
Simon Bachhuber (simon.bachhuber@fau.de)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file imt_ring-1.6.4.tar.gz
.
File metadata
- Download URL: imt_ring-1.6.4.tar.gz
- Upload date:
- Size: 17.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 499858031183fd0b5fc611d33f310dd60e8f0800a458cc6066f5b2fa0aac42ba |
|
MD5 | 384866eb24887d93591f14c273749b93 |
|
BLAKE2b-256 | ee5caf9c7e8fcb423cc3c0f77855d80e38052cd5077e9649115ed80b39a86a33 |
File details
Details for the file imt_ring-1.6.4-py3-none-any.whl
.
File metadata
- Download URL: imt_ring-1.6.4-py3-none-any.whl
- Upload date:
- Size: 17.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17bdf6f5cde5263754191f09d66a3652e838df50307dd17b87608c6667100c7b |
|
MD5 | 04c82ca457abad0bd9ad0320476fd055 |
|
BLAKE2b-256 | a538d485acc7e0db5086dfb3a50b4527bba15913b5466643b93fc687a70bd003 |