imt-ring 1.6.0__tar.gz → 1.6.2__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. {imt_ring-1.6.0 → imt_ring-1.6.2}/PKG-INFO +1 -1
  2. {imt_ring-1.6.0 → imt_ring-1.6.2}/pyproject.toml +1 -1
  3. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/imt_ring.egg-info/PKG-INFO +1 -1
  4. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/sensors.py +4 -2
  5. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/maths.py +1 -1
  6. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/rendering/mujoco_render.py +4 -1
  7. imt_ring-1.6.2/src/ring/utils/register_gym_envs/__init__.py +3 -0
  8. imt_ring-1.6.0/src/ring/utils/register_gym_envs/__init__.py +0 -3
  9. {imt_ring-1.6.0 → imt_ring-1.6.2}/readme.md +0 -0
  10. {imt_ring-1.6.0 → imt_ring-1.6.2}/setup.cfg +0 -0
  11. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/imt_ring.egg-info/SOURCES.txt +0 -0
  12. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/imt_ring.egg-info/dependency_links.txt +0 -0
  13. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/imt_ring.egg-info/requires.txt +0 -0
  14. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/imt_ring.egg-info/top_level.txt +0 -0
  15. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/__init__.py +0 -0
  16. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algebra.py +0 -0
  17. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/__init__.py +0 -0
  18. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/_random.py +0 -0
  19. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/custom_joints/__init__.py +0 -0
  20. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
  21. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
  22. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/custom_joints/suntay.py +0 -0
  23. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/dynamics.py +0 -0
  24. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/__init__.py +0 -0
  25. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/base.py +0 -0
  26. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/batch.py +0 -0
  27. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/finalize_fns.py +0 -0
  28. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
  29. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/pd_control.py +0 -0
  30. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/setup_fns.py +0 -0
  31. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/generator/types.py +0 -0
  32. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/jcalc.py +0 -0
  33. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/algorithms/kinematics.py +0 -0
  34. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/base.py +0 -0
  35. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/__init__.py +0 -0
  36. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/branched.xml +0 -0
  37. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
  38. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
  39. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
  40. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/inv_pendulum.xml +0 -0
  41. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
  42. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/spherical_stiff.xml +0 -0
  43. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/symmetric.xml +0 -0
  44. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_all_1.xml +0 -0
  45. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_all_2.xml +0 -0
  46. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
  47. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_control.xml +0 -0
  48. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_double_pendulum.xml +0 -0
  49. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_free.xml +0 -0
  50. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_kinematics.xml +0 -0
  51. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
  52. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
  53. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_randomize_position.xml +0 -0
  54. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_sensors.xml +0 -0
  55. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
  56. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/examples.py +0 -0
  57. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/test_examples.py +0 -0
  58. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/__init__.py +0 -0
  59. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/abstract.py +0 -0
  60. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/from_xml.py +0 -0
  61. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/test_from_xml.py +0 -0
  62. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/test_to_xml.py +0 -0
  63. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/io/xml/to_xml.py +0 -0
  64. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/__init__.py +0 -0
  65. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/base.py +0 -0
  66. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/callbacks.py +0 -0
  67. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/ml_utils.py +0 -0
  68. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/optimizer.py +0 -0
  69. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
  70. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
  71. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/ringnet.py +0 -0
  72. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/rnno_v1.py +0 -0
  73. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/train.py +0 -0
  74. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/ml/training_loop.py +0 -0
  75. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/rendering/__init__.py +0 -0
  76. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/rendering/base_render.py +0 -0
  77. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/rendering/vispy_render.py +0 -0
  78. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/rendering/vispy_visuals.py +0 -0
  79. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sim2real/__init__.py +0 -0
  80. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sim2real/sim2real.py +0 -0
  81. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/spatial.py +0 -0
  82. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sys_composer/__init__.py +0 -0
  83. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sys_composer/delete_sys.py +0 -0
  84. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sys_composer/inject_sys.py +0 -0
  85. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/sys_composer/morph_sys.py +0 -0
  86. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/__init__.py +0 -0
  87. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/backend.py +0 -0
  88. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/batchsize.py +0 -0
  89. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/colab.py +0 -0
  90. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/hdf5.py +0 -0
  91. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/normalizer.py +0 -0
  92. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/path.py +0 -0
  93. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/randomize_sys.py +0 -0
  94. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/register_gym_envs/saddle.py +0 -0
  95. {imt_ring-1.6.0 → imt_ring-1.6.2}/src/ring/utils/utils.py +0 -0
  96. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_algebra.py +0 -0
  97. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_base.py +0 -0
  98. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_custom_joints.py +0 -0
  99. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_dynamics.py +0 -0
  100. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_generator.py +0 -0
  101. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_jcalc.py +0 -0
  102. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_jit.py +0 -0
  103. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_kinematics.py +0 -0
  104. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_maths.py +0 -0
  105. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_ml_utils.py +0 -0
  106. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_motion_artifacts.py +0 -0
  107. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_pd_control.py +0 -0
  108. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_quickstart_example.py +0 -0
  109. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_random.py +0 -0
  110. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_randomize.py +0 -0
  111. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_rcmg.py +0 -0
  112. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_render.py +0 -0
  113. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_sensors.py +0 -0
  114. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_sim2real.py +0 -0
  115. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_sys_composer.py +0 -0
  116. {imt_ring-1.6.0 → imt_ring-1.6.2}/tests/test_train.py +0 -0
  117. {imt_ring-1.6.0 → imt_ring-1.6.2}/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.0
3
+ Version: 1.6.2
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.0"
7
+ version = "1.6.2"
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.0
3
+ Version: 1.6.2
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
@@ -341,7 +341,8 @@ def root_incl(
341
341
  def f(_, __, name: str, parent: int):
342
342
  if parent != -1:
343
343
  return
344
- y[name] = maths.quat_project(rots[l_map[name]], jnp.array([0.0, 0, 1]))[1]
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)
345
346
 
346
347
  sys.scan(f, "ll", sys.link_names, sys.link_parents)
347
348
 
@@ -360,7 +361,8 @@ def root_full(
360
361
  def f(_, __, name: str, parent: int):
361
362
  if parent != -1:
362
363
  return
363
- y[name] = rots[l_map[name]]
364
+ q_eps_to_i = rots[l_map[name]]
365
+ y[name] = maths.quat_inv(q_eps_to_i)
364
366
 
365
367
  sys.scan(f, "ll", sys.link_names, sys.link_parents)
366
368
 
@@ -119,7 +119,7 @@ def quat_inv(q: jnp.ndarray) -> jnp.ndarray:
119
119
 
120
120
  @partial(jnp.vectorize, signature="(3),(4)->(3)")
121
121
  def rotate(vector: jnp.ndarray, quat: jnp.ndarray):
122
- """Rotates a vector `vector` by a *unit* quaternion `quat`."""
122
+ """Rotates a vector `vector` by a *unit* quaternion `quat`. q x vec x q^*"""
123
123
  qvec = jnp.array([0, *vector])
124
124
  return rotate_quat(qvec, quat)[1:4]
125
125
 
@@ -157,13 +157,16 @@ def _array_to_str(arr: Sequence[float]) -> str:
157
157
  return "".join(["{:.4f} ".format(np.round(value, 4)) for value in arr])[:-1]
158
158
 
159
159
 
160
+ _default_lights = {-1: '<light pos="0 0 4" dir="0 0 -1"/>'}
161
+
162
+
160
163
  class MujocoScene:
161
164
  def __init__(
162
165
  self,
163
166
  height: int = 240,
164
167
  width: int = 320,
165
168
  add_cameras: dict[int, str | Sequence[str]] = {},
166
- add_lights: dict[int, str | Sequence[str]] = {},
169
+ add_lights: dict[int, str | Sequence[str]] = _default_lights,
167
170
  show_stars: bool = True,
168
171
  show_floor: bool = True,
169
172
  debug: bool = False,
@@ -0,0 +1,3 @@
1
+ import gymnasium as gym
2
+
3
+ gym.register("Saddle-v0", "ring.utils.register_gym_envs.saddle:Env")
@@ -1,3 +0,0 @@
1
- import gymnasium as gym
2
-
3
- gym.register("Saddle-v0", "src.ring.utils.register_gym_envs.saddle:Env")
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