imt-ring 1.6.6__tar.gz → 1.6.8__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. {imt_ring-1.6.6 → imt_ring-1.6.8}/PKG-INFO +1 -6
  2. {imt_ring-1.6.6 → imt_ring-1.6.8}/pyproject.toml +1 -6
  3. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/imt_ring.egg-info/PKG-INFO +1 -6
  4. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/imt_ring.egg-info/requires.txt +0 -5
  5. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/base.py +1 -1
  6. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/sensors.py +2 -2
  7. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/maths.py +1 -1
  8. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/base.py +8 -0
  9. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/__init__.py +0 -1
  10. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/path.py +18 -0
  11. {imt_ring-1.6.6 → imt_ring-1.6.8}/readme.md +0 -0
  12. {imt_ring-1.6.6 → imt_ring-1.6.8}/setup.cfg +0 -0
  13. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  14. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  15. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/imt_ring.egg-info/top_level.txt +0 -0
  16. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/__init__.py +0 -0
  17. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algebra.py +0 -0
  18. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/__init__.py +0 -0
  19. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/_random.py +0 -0
  20. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  21. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  22. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  23. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  24. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/dynamics.py +0 -0
  25. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/__init__.py +0 -0
  26. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/batch.py +0 -0
  27. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/finalize_fns.py +0 -0
  28. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  29. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/pd_control.py +0 -0
  30. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/setup_fns.py +0 -0
  31. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/generator/types.py +0 -0
  32. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/jcalc.py +0 -0
  33. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/algorithms/kinematics.py +0 -0
  34. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/base.py +0 -0
  35. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/__init__.py +0 -0
  36. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/branched.xml +0 -0
  37. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  38. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  39. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  40. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/inv_pendulum.xml +0 -0
  41. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  42. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/spherical_stiff.xml +0 -0
  43. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/symmetric.xml +0 -0
  44. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_all_1.xml +0 -0
  45. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_all_2.xml +0 -0
  46. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  47. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_control.xml +0 -0
  48. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  49. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_free.xml +0 -0
  50. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_kinematics.xml +0 -0
  51. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  52. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  53. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_randomize_position.xml +0 -0
  54. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_sensors.xml +0 -0
  55. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  56. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/examples.py +0 -0
  57. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/test_examples.py +0 -0
  58. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/__init__.py +0 -0
  59. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/abstract.py +0 -0
  60. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/from_xml.py +0 -0
  61. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/test_from_xml.py +0 -0
  62. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/test_to_xml.py +0 -0
  63. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/io/xml/to_xml.py +0 -0
  64. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/__init__.py +0 -0
  65. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/callbacks.py +0 -0
  66. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/ml_utils.py +0 -0
  67. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/optimizer.py +0 -0
  68. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  69. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  70. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/ringnet.py +0 -0
  71. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/rnno_v1.py +0 -0
  72. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/train.py +0 -0
  73. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/ml/training_loop.py +0 -0
  74. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/rendering/__init__.py +0 -0
  75. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/rendering/base_render.py +0 -0
  76. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/rendering/mujoco_render.py +0 -0
  77. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/rendering/vispy_render.py +0 -0
  78. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/rendering/vispy_visuals.py +0 -0
  79. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sim2real/__init__.py +0 -0
  80. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sim2real/sim2real.py +0 -0
  81. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/spatial.py +0 -0
  82. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sys_composer/__init__.py +0 -0
  83. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sys_composer/delete_sys.py +0 -0
  84. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sys_composer/inject_sys.py +0 -0
  85. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/sys_composer/morph_sys.py +0 -0
  86. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/backend.py +0 -0
  87. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/batchsize.py +0 -0
  88. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/colab.py +0 -0
  89. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/hdf5.py +0 -0
  90. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/normalizer.py +0 -0
  91. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/randomize_sys.py +0 -0
  92. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/register_gym_envs/__init__.py +0 -0
  93. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  94. {imt_ring-1.6.6 → imt_ring-1.6.8}/src/ring/utils/utils.py +0 -0
  95. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_algebra.py +0 -0
  96. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_base.py +0 -0
  97. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_custom_joints.py +0 -0
  98. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_dynamics.py +0 -0
  99. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_generator.py +0 -0
  100. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_jcalc.py +0 -0
  101. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_jit.py +0 -0
  102. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_kinematics.py +0 -0
  103. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_maths.py +0 -0
  104. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_ml_utils.py +0 -0
  105. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_motion_artifacts.py +0 -0
  106. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_pd_control.py +0 -0
  107. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_quickstart_example.py +0 -0
  108. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_random.py +0 -0
  109. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_randomize.py +0 -0
  110. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_rcmg.py +0 -0
  111. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_render.py +0 -0
  112. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_sensors.py +0 -0
  113. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_sim2real.py +0 -0
  114. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_sys_composer.py +0 -0
  115. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_train.py +0 -0
  116. {imt_ring-1.6.6 → imt_ring-1.6.8}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.6
3
+ Version: 1.6.8
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -16,16 +16,11 @@ Requires-Dist: jaxopt
16
16
  Requires-Dist: numpy
17
17
  Requires-Dist: flax
18
18
  Requires-Dist: tqdm
19
- Requires-Dist: wget
20
- Requires-Dist: h5py
21
19
  Requires-Dist: imt-tree-utils
22
20
  Requires-Dist: wandb
23
21
  Requires-Dist: optax
24
22
  Requires-Dist: dm-haiku
25
- Requires-Dist: joblib
26
23
  Requires-Dist: pyyaml
27
- Requires-Dist: qmt
28
- Requires-Dist: scipy
29
24
  Provides-Extra: dev
30
25
  Requires-Dist: mkdocs; extra == "dev"
31
26
  Requires-Dist: mkdocs-material; extra == "dev"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "imt-ring"
7
- version = "1.6.6"
7
+ version = "1.6.8"
8
8
  authors = [
9
9
  { name="Simon Bachhuber", email="simon.bachhuber@fau.de" },
10
10
  ]
@@ -23,16 +23,11 @@ dependencies = [
23
23
  "numpy",
24
24
  "flax",
25
25
  "tqdm",
26
- "wget",
27
- "h5py",
28
26
  "imt-tree-utils",
29
27
  "wandb",
30
28
  "optax",
31
29
  "dm-haiku",
32
- "joblib",
33
30
  "pyyaml",
34
- "qmt",
35
- "scipy",
36
31
  ]
37
32
 
38
33
  [project.optional-dependencies]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.6
3
+ Version: 1.6.8
4
4
  Summary: RING: Recurrent Inertial Graph-based Estimator
5
5
  Author-email: Simon Bachhuber <simon.bachhuber@fau.de>
6
6
  Project-URL: Homepage, https://github.com/SimiPixel/ring
@@ -16,16 +16,11 @@ Requires-Dist: jaxopt
16
16
  Requires-Dist: numpy
17
17
  Requires-Dist: flax
18
18
  Requires-Dist: tqdm
19
- Requires-Dist: wget
20
- Requires-Dist: h5py
21
19
  Requires-Dist: imt-tree-utils
22
20
  Requires-Dist: wandb
23
21
  Requires-Dist: optax
24
22
  Requires-Dist: dm-haiku
25
- Requires-Dist: joblib
26
23
  Requires-Dist: pyyaml
27
- Requires-Dist: qmt
28
- Requires-Dist: scipy
29
24
  Provides-Extra: dev
30
25
  Requires-Dist: mkdocs; extra == "dev"
31
26
  Requires-Dist: mkdocs-material; extra == "dev"
@@ -4,16 +4,11 @@ jaxopt
4
4
  numpy
5
5
  flax
6
6
  tqdm
7
- wget
8
- h5py
9
7
  imt-tree-utils
10
8
  wandb
11
9
  optax
12
10
  dm-haiku
13
- joblib
14
11
  pyyaml
15
- qmt
16
- scipy
17
12
 
18
13
  [dev]
19
14
  mkdocs
@@ -322,7 +322,7 @@ def _build_mconfig_batched_generator(
322
322
  if add_y_relpose:
323
323
  pipe.append(finalize_fns.RelPose(sys_noimu))
324
324
  if add_y_rootincl:
325
- pipe.append(finalize_fns.RootIncl(sys_noimu))
325
+ pipe.append(finalize_fns.RootIncl(sys_noimu, **add_y_rootincl_kwargs))
326
326
  if use_link_number_in_Xy:
327
327
  pipe.append(finalize_fns.Names2Indices(sys_noimu))
328
328
 
@@ -130,8 +130,8 @@ def magnetometer(rot: jax.Array, magvec: jax.Array) -> jax.Array:
130
130
  # - acc: m/s/s
131
131
  # - gyr: rad/s
132
132
  # - mag: a.u.
133
- NOISE_LEVELS = {"acc": 0.03, "gyr": jnp.deg2rad(0.5), "mag": 0.01}
134
- BIAS_LEVELS = {"acc": 0.1, "gyr": jnp.deg2rad(0.5), "mag": 0.0}
133
+ NOISE_LEVELS = {"acc": 0.048, "gyr": jnp.deg2rad(0.7), "mag": 0.01}
134
+ BIAS_LEVELS = {"acc": 0.5, "gyr": jnp.deg2rad(3.6), "mag": 0.0}
135
135
 
136
136
 
137
137
  def add_noise_bias(
@@ -312,7 +312,7 @@ def quat_project(q: jax.Array, k: jax.Array) -> tuple[jax.Array, jax.Array]:
312
312
  k (jax.Array): Primary axis direction.
313
313
 
314
314
  Returns:
315
- tuple[jax.Array, jax.Array]: Primary quaternion, residual quaternion
315
+ tuple(jax.Array, jax.Array): Primary quaternion, residual quaternion
316
316
  """
317
317
  phi_pri = 2 * jnp.arctan2(q[1:] @ k, q[0])
318
318
  # NOTE: CONVENTION
@@ -77,6 +77,10 @@ class AbstractFilter(ABC):
77
77
  def search_attr(self, attr: str):
78
78
  return getattr(self, attr)
79
79
 
80
+ @property
81
+ def unwrapped_deep(self):
82
+ return self
83
+
80
84
 
81
85
  class AbstractFilterUnbatched(AbstractFilter):
82
86
  @abstractmethod
@@ -136,6 +140,10 @@ class AbstractFilterWrapper(AbstractFilter):
136
140
  def name(self):
137
141
  return self.unwrapped.name + " ->\n" + super().name
138
142
 
143
+ @property
144
+ def unwrapped_deep(self) -> AbstractFilter:
145
+ return self.unwrapped.unwrapped_deep
146
+
139
147
 
140
148
  class LPF_FilterWrapper(AbstractFilterWrapper):
141
149
  def __init__(
@@ -1,4 +1,3 @@
1
- from . import hdf5
2
1
  from . import randomize_sys
3
2
  from .batchsize import batchsize_thresholds
4
3
  from .batchsize import distribute_batchsize
@@ -12,6 +12,24 @@ def parse_path(
12
12
  mkdir: bool = True,
13
13
  require_is_file: bool = False,
14
14
  ) -> str:
15
+ """Utility for performing actions on a path
16
+
17
+ Args:
18
+ path (str): The (root) path to file or folder
19
+ extension (Optional[str], optional): The file extension. Defaults to None.
20
+ file_exists_ok (bool, optional): If false, will error if file already exists.
21
+ Defaults to True.
22
+ mkdir (bool, optional): Will create all subdirs in the process.
23
+ Defaults to True.
24
+ require_is_file (bool, optional): if true, will error if file does not
25
+ already exist. Defaults to False.
26
+
27
+ Raises:
28
+ Exception: _description_
29
+
30
+ Returns:
31
+ str: The home-expanded path to folder or file
32
+ """
15
33
  path = Path(os.path.expanduser(path))
16
34
 
17
35
  for p in join_paths:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes