imt-ring 1.6.2__tar.gz → 1.6.3__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.2 → imt_ring-1.6.3}/PKG-INFO +1 -1
  2. {imt_ring-1.6.2 → imt_ring-1.6.3}/pyproject.toml +1 -1
  3. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/imt_ring.egg-info/PKG-INFO +1 -1
  4. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/base.py +3 -0
  5. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/finalize_fns.py +3 -2
  6. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/sensors.py +16 -6
  7. {imt_ring-1.6.2 → imt_ring-1.6.3}/readme.md +0 -0
  8. {imt_ring-1.6.2 → imt_ring-1.6.3}/setup.cfg +0 -0
  9. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  10. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  11. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/imt_ring.egg-info/requires.txt +0 -0
  12. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/imt_ring.egg-info/top_level.txt +0 -0
  13. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/__init__.py +0 -0
  14. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algebra.py +0 -0
  15. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/__init__.py +0 -0
  16. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/_random.py +0 -0
  17. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  18. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  19. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  20. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  21. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/dynamics.py +0 -0
  22. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/__init__.py +0 -0
  23. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/batch.py +0 -0
  24. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  25. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/pd_control.py +0 -0
  26. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/setup_fns.py +0 -0
  27. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/generator/types.py +0 -0
  28. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/jcalc.py +0 -0
  29. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/algorithms/kinematics.py +0 -0
  30. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/base.py +0 -0
  31. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/__init__.py +0 -0
  32. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/branched.xml +0 -0
  33. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  34. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  35. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  36. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/inv_pendulum.xml +0 -0
  37. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  38. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/spherical_stiff.xml +0 -0
  39. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/symmetric.xml +0 -0
  40. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_all_1.xml +0 -0
  41. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_all_2.xml +0 -0
  42. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  43. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_control.xml +0 -0
  44. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  45. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_free.xml +0 -0
  46. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_kinematics.xml +0 -0
  47. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  48. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  49. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_randomize_position.xml +0 -0
  50. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_sensors.xml +0 -0
  51. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  52. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/examples.py +0 -0
  53. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/test_examples.py +0 -0
  54. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/__init__.py +0 -0
  55. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/abstract.py +0 -0
  56. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/from_xml.py +0 -0
  57. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/test_from_xml.py +0 -0
  58. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/test_to_xml.py +0 -0
  59. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/io/xml/to_xml.py +0 -0
  60. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/maths.py +0 -0
  61. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/__init__.py +0 -0
  62. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/base.py +0 -0
  63. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/callbacks.py +0 -0
  64. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/ml_utils.py +0 -0
  65. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/optimizer.py +0 -0
  66. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  67. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  68. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/ringnet.py +0 -0
  69. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/rnno_v1.py +0 -0
  70. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/train.py +0 -0
  71. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/ml/training_loop.py +0 -0
  72. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/rendering/__init__.py +0 -0
  73. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/rendering/base_render.py +0 -0
  74. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/rendering/mujoco_render.py +0 -0
  75. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/rendering/vispy_render.py +0 -0
  76. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/rendering/vispy_visuals.py +0 -0
  77. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sim2real/__init__.py +0 -0
  78. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sim2real/sim2real.py +0 -0
  79. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/spatial.py +0 -0
  80. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sys_composer/__init__.py +0 -0
  81. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sys_composer/delete_sys.py +0 -0
  82. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sys_composer/inject_sys.py +0 -0
  83. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/sys_composer/morph_sys.py +0 -0
  84. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/__init__.py +0 -0
  85. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/backend.py +0 -0
  86. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/batchsize.py +0 -0
  87. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/colab.py +0 -0
  88. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/hdf5.py +0 -0
  89. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/normalizer.py +0 -0
  90. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/path.py +0 -0
  91. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/randomize_sys.py +0 -0
  92. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/register_gym_envs/__init__.py +0 -0
  93. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  94. {imt_ring-1.6.2 → imt_ring-1.6.3}/src/ring/utils/utils.py +0 -0
  95. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_algebra.py +0 -0
  96. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_base.py +0 -0
  97. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_custom_joints.py +0 -0
  98. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_dynamics.py +0 -0
  99. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_generator.py +0 -0
  100. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_jcalc.py +0 -0
  101. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_jit.py +0 -0
  102. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_kinematics.py +0 -0
  103. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_maths.py +0 -0
  104. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_ml_utils.py +0 -0
  105. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_motion_artifacts.py +0 -0
  106. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_pd_control.py +0 -0
  107. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_quickstart_example.py +0 -0
  108. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_random.py +0 -0
  109. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_randomize.py +0 -0
  110. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_rcmg.py +0 -0
  111. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_render.py +0 -0
  112. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_sensors.py +0 -0
  113. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_sim2real.py +0 -0
  114. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_sys_composer.py +0 -0
  115. {imt_ring-1.6.2 → imt_ring-1.6.3}/tests/test_train.py +0 -0
  116. {imt_ring-1.6.2 → imt_ring-1.6.3}/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.2
3
+ Version: 1.6.3
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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "imt-ring"
7
- version = "1.6.2"
7
+ version = "1.6.3"
8
8
  authors = [
9
9
  { name="Simon Bachhuber", email="simon.bachhuber@fau.de" },
10
10
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: imt-ring
3
- Version: 1.6.2
3
+ Version: 1.6.3
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
@@ -30,6 +30,7 @@ class RCMG:
30
30
  add_X_jointaxes_kwargs: dict = dict(),
31
31
  add_y_relpose: bool = False,
32
32
  add_y_rootincl: bool = False,
33
+ add_y_rootincl_kwargs: dict = dict(),
33
34
  sys_ml: Optional[base.System] = None,
34
35
  randomize_positions: bool = False,
35
36
  randomize_motion_artifacts: bool = False,
@@ -67,6 +68,7 @@ class RCMG:
67
68
  add_X_jointaxes_kwargs=add_X_jointaxes_kwargs,
68
69
  add_y_relpose=add_y_relpose,
69
70
  add_y_rootincl=add_y_rootincl,
71
+ add_y_rootincl_kwargs=add_y_rootincl_kwargs,
70
72
  sys_ml=sys_ml,
71
73
  randomize_positions=randomize_positions,
72
74
  randomize_motion_artifacts=randomize_motion_artifacts,
@@ -232,6 +234,7 @@ def _build_mconfig_batched_generator(
232
234
  add_X_jointaxes_kwargs: dict,
233
235
  add_y_relpose: bool,
234
236
  add_y_rootincl: bool,
237
+ add_y_rootincl_kwargs: dict,
235
238
  sys_ml: base.System,
236
239
  randomize_positions: bool,
237
240
  randomize_motion_artifacts: bool,
@@ -77,12 +77,13 @@ class RelPose:
77
77
 
78
78
 
79
79
  class RootIncl:
80
- def __init__(self, sys: base.System):
80
+ def __init__(self, sys: base.System, **kwargs):
81
81
  self.sys = sys
82
+ self.kwargs = kwargs
82
83
 
83
84
  def __call__(self, Xy, extras):
84
85
  (X, y), (key, q, x, sys_x) = Xy, extras
85
- y_root_incl = sensors.root_incl(self.sys, x, sys_x)
86
+ y_root_incl = sensors.root_incl(self.sys, x, sys_x, **self.kwargs)
86
87
  y = utils.dict_union(y, y_root_incl)
87
88
  return (X, y), (key, q, x, sys_x)
88
89
 
@@ -330,7 +330,10 @@ def rel_pose(
330
330
 
331
331
 
332
332
  def root_incl(
333
- sys: base.System, x: base.Transform, sys_x: base.System
333
+ sys: base.System,
334
+ x: base.Transform,
335
+ sys_x: base.System,
336
+ child_to_parent: bool = False,
334
337
  ) -> dict[str, jax.Array]:
335
338
  # (time, nlinks, 4) -> (nlinks, time, 4)
336
339
  rots = x.rot.transpose((1, 0, 2))
@@ -341,8 +344,10 @@ def root_incl(
341
344
  def f(_, __, name: str, parent: int):
342
345
  if parent != -1:
343
346
  return
344
- q_eps_to_i = maths.quat_project(rots[l_map[name]], jnp.array([0.0, 0, 1]))[1]
345
- y[name] = maths.quat_inv(q_eps_to_i)
347
+ q_i = maths.quat_project(rots[l_map[name]], jnp.array([0.0, 0, 1]))[1]
348
+ if child_to_parent:
349
+ q_i = maths.quat_inv(q_i)
350
+ y[name] = q_i
346
351
 
347
352
  sys.scan(f, "ll", sys.link_names, sys.link_parents)
348
353
 
@@ -350,7 +355,10 @@ def root_incl(
350
355
 
351
356
 
352
357
  def root_full(
353
- sys: base.System, x: base.Transform, sys_x: base.System
358
+ sys: base.System,
359
+ x: base.Transform,
360
+ sys_x: base.System,
361
+ child_to_parent: bool = False,
354
362
  ) -> dict[str, jax.Array]:
355
363
  # (time, nlinks, 4) -> (nlinks, time, 4)
356
364
  rots = x.rot.transpose((1, 0, 2))
@@ -361,8 +369,10 @@ def root_full(
361
369
  def f(_, __, name: str, parent: int):
362
370
  if parent != -1:
363
371
  return
364
- q_eps_to_i = rots[l_map[name]]
365
- y[name] = maths.quat_inv(q_eps_to_i)
372
+ q_i = rots[l_map[name]]
373
+ if child_to_parent:
374
+ q_i = maths.quat_inv(q_i)
375
+ y[name] = q_i
366
376
 
367
377
  sys.scan(f, "ll", sys.link_names, sys.link_parents)
368
378
 
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
File without changes
File without changes