jaxsim 0.5.1.dev56__tar.gz → 0.5.1.dev60__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/PKG-INFO +1 -1
  2. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/_version.py +2 -2
  3. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/com.py +8 -0
  4. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/common.py +17 -1
  5. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/contact.py +9 -0
  6. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/data.py +16 -0
  7. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/frame.py +7 -0
  8. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/joint.py +4 -0
  9. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/model.py +19 -0
  10. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/ode.py +3 -0
  11. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/references.py +3 -2
  12. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim.egg-info/PKG-INFO +1 -1
  13. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.devcontainer/Dockerfile +0 -0
  14. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.devcontainer/devcontainer.json +0 -0
  15. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.gitattributes +0 -0
  16. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.github/CODEOWNERS +0 -0
  17. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.github/dependabot.yml +0 -0
  18. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.github/workflows/ci_cd.yml +0 -0
  19. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.github/workflows/pixi.yml +0 -0
  20. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.github/workflows/read_the_docs.yml +0 -0
  21. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.gitignore +0 -0
  22. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.pre-commit-config.yaml +0 -0
  23. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/.readthedocs.yaml +0 -0
  24. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/CONTRIBUTING.md +0 -0
  25. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/LICENSE +0 -0
  26. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/README.md +0 -0
  27. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/Makefile +0 -0
  28. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/conf.py +0 -0
  29. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/examples.rst +0 -0
  30. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/guide/install.rst +0 -0
  31. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/index.rst +0 -0
  32. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/make.bat +0 -0
  33. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/api.rst +0 -0
  34. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/integrators.rst +0 -0
  35. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/math.rst +0 -0
  36. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/mujoco.rst +0 -0
  37. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/parsers.rst +0 -0
  38. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/rbda.rst +0 -0
  39. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/typing.rst +0 -0
  40. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/docs/modules/utils.rst +0 -0
  41. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/environment.yml +0 -0
  42. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/.gitattributes +0 -0
  43. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/.gitignore +0 -0
  44. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/README.md +0 -0
  45. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/assets/build_cartpole_urdf.py +0 -0
  46. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/assets/cartpole.urdf +0 -0
  47. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  48. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  49. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  50. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/pixi.lock +0 -0
  51. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/pyproject.toml +0 -0
  52. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/setup.cfg +0 -0
  53. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/setup.py +0 -0
  54. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/__init__.py +0 -0
  55. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/__init__.py +0 -0
  56. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  57. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/link.py +0 -0
  58. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/api/ode_data.py +0 -0
  59. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/exceptions.py +0 -0
  60. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/integrators/__init__.py +0 -0
  61. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/integrators/common.py +0 -0
  62. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/integrators/fixed_step.py +0 -0
  63. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/integrators/variable_step.py +0 -0
  64. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/logging.py +0 -0
  65. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/__init__.py +0 -0
  66. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/adjoint.py +0 -0
  67. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/cross.py +0 -0
  68. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/inertia.py +0 -0
  69. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/joint_model.py +0 -0
  70. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/quaternion.py +0 -0
  71. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/rotation.py +0 -0
  72. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/skew.py +0 -0
  73. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/math/transform.py +0 -0
  74. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/__init__.py +0 -0
  75. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/__main__.py +0 -0
  76. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/loaders.py +0 -0
  77. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/model.py +0 -0
  78. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/utils.py +0 -0
  79. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/mujoco/visualizer.py +0 -0
  80. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/__init__.py +0 -0
  81. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  82. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  83. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  84. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/descriptions/link.py +0 -0
  85. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/descriptions/model.py +0 -0
  86. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  87. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/rod/__init__.py +0 -0
  88. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/rod/meshes.py +0 -0
  89. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/rod/parser.py +0 -0
  90. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/parsers/rod/utils.py +0 -0
  91. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/__init__.py +0 -0
  92. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/aba.py +0 -0
  93. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/collidable_points.py +0 -0
  94. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  95. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/common.py +0 -0
  96. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  97. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  98. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/soft.py +0 -0
  99. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  100. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/crba.py +0 -0
  101. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  102. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/jacobian.py +0 -0
  103. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/rnea.py +0 -0
  104. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/rbda/utils.py +0 -0
  105. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/terrain/__init__.py +0 -0
  106. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/terrain/terrain.py +0 -0
  107. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/typing.py +0 -0
  108. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/utils/__init__.py +0 -0
  109. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  110. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/utils/tracing.py +0 -0
  111. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim/utils/wrappers.py +0 -0
  112. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  113. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  114. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim.egg-info/requires.txt +0 -0
  115. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/src/jaxsim.egg-info/top_level.txt +0 -0
  116. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/__init__.py +0 -0
  117. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/conftest.py +0 -0
  118. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_com.py +0 -0
  119. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_contact.py +0 -0
  120. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_data.py +0 -0
  121. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_frame.py +0 -0
  122. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_joint.py +0 -0
  123. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_link.py +0 -0
  124. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_api_model.py +0 -0
  125. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_automatic_differentiation.py +0 -0
  126. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_benchmark.py +0 -0
  127. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_contact.py +0 -0
  128. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_exceptions.py +0 -0
  129. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_meshes.py +0 -0
  130. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_pytree.py +0 -0
  131. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/test_simulations.py +0 -0
  132. {jaxsim-0.5.1.dev56 → jaxsim-0.5.1.dev60}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev56
3
+ Version: 0.5.1.dev60
4
4
  Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
5
5
  Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
6
6
  Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '0.5.1.dev56'
16
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev56')
15
+ __version__ = version = '0.5.1.dev60'
16
+ __version_tuple__ = version_tuple = (0, 5, 1, 'dev60')
@@ -8,6 +8,7 @@ import jaxsim.typing as jtp
8
8
  from .common import VelRepr
9
9
 
10
10
 
11
+ @js.common.named_scope
11
12
  @jax.jit
12
13
  def com_position(
13
14
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -44,6 +45,7 @@ def com_position(
44
45
  return (W_H_B @ B_p̃_CoM)[0:3].astype(float)
45
46
 
46
47
 
48
+ @js.common.named_scope
47
49
  @jax.jit
48
50
  def com_linear_velocity(
49
51
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -74,6 +76,7 @@ def com_linear_velocity(
74
76
  return G_vl_WG
75
77
 
76
78
 
79
+ @js.common.named_scope
77
80
  @jax.jit
78
81
  def centroidal_momentum(
79
82
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -101,6 +104,7 @@ def centroidal_momentum(
101
104
  return G_J @ ν
102
105
 
103
106
 
107
+ @js.common.named_scope
104
108
  @jax.jit
105
109
  def centroidal_momentum_jacobian(
106
110
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -149,6 +153,7 @@ def centroidal_momentum_jacobian(
149
153
  return G_Xf_B @ B_Jh
150
154
 
151
155
 
156
+ @js.common.named_scope
152
157
  @jax.jit
153
158
  def locked_centroidal_spatial_inertia(
154
159
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -186,6 +191,7 @@ def locked_centroidal_spatial_inertia(
186
191
  return G_Xf_B @ B_Mbb_B @ B_Xv_G
187
192
 
188
193
 
194
+ @js.common.named_scope
189
195
  @jax.jit
190
196
  def average_centroidal_velocity(
191
197
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -213,6 +219,7 @@ def average_centroidal_velocity(
213
219
  return G_J @ ν
214
220
 
215
221
 
222
+ @js.common.named_scope
216
223
  @jax.jit
217
224
  def average_centroidal_velocity_jacobian(
218
225
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -239,6 +246,7 @@ def average_centroidal_velocity_jacobian(
239
246
  return jnp.linalg.inv(G_Mbb) @ G_J
240
247
 
241
248
 
249
+ @js.common.named_scope
242
250
  @jax.jit
243
251
  def bias_acceleration(
244
252
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -3,7 +3,8 @@ import contextlib
3
3
  import dataclasses
4
4
  import enum
5
5
  import functools
6
- from collections.abc import Iterator
6
+ from collections.abc import Callable, Iterator
7
+ from typing import ParamSpec, TypeVar
7
8
 
8
9
  import jax
9
10
  import jax.numpy as jnp
@@ -20,6 +21,21 @@ except ImportError:
20
21
  from typing_extensions import Self
21
22
 
22
23
 
24
+ _P = ParamSpec("_P")
25
+ _R = TypeVar("_R")
26
+
27
+
28
+ def named_scope(fn, name: str | None = None) -> Callable[_P, _R]:
29
+ """Applies a JAX named scope to a function for improved profiling and clarity."""
30
+
31
+ @functools.wraps(fn)
32
+ def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> _R:
33
+ with jax.named_scope(name or fn.__name__):
34
+ return fn(*args, **kwargs)
35
+
36
+ return wrapper
37
+
38
+
23
39
  @enum.unique
24
40
  class VelRepr(enum.IntEnum):
25
41
  """
@@ -16,6 +16,7 @@ from jaxsim.rbda import contacts
16
16
  from .common import VelRepr
17
17
 
18
18
 
19
+ @js.common.named_scope
19
20
  @jax.jit
20
21
  def collidable_point_kinematics(
21
22
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -52,6 +53,7 @@ def collidable_point_kinematics(
52
53
  return W_p_Ci, W_ṗ_Ci
53
54
 
54
55
 
56
+ @js.common.named_scope
55
57
  @jax.jit
56
58
  def collidable_point_positions(
57
59
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -72,6 +74,7 @@ def collidable_point_positions(
72
74
  return W_p_Ci
73
75
 
74
76
 
77
+ @js.common.named_scope
75
78
  @jax.jit
76
79
  def collidable_point_velocities(
77
80
  model: js.model.JaxSimModel, data: js.data.JaxSimModelData
@@ -92,6 +95,7 @@ def collidable_point_velocities(
92
95
  return W_ṗ_Ci
93
96
 
94
97
 
98
+ @js.common.named_scope
95
99
  @jax.jit
96
100
  def collidable_point_forces(
97
101
  model: js.model.JaxSimModel,
@@ -129,6 +133,7 @@ def collidable_point_forces(
129
133
  return f_Ci
130
134
 
131
135
 
136
+ @js.common.named_scope
132
137
  @jax.jit
133
138
  def collidable_point_dynamics(
134
139
  model: js.model.JaxSimModel,
@@ -227,6 +232,7 @@ def collidable_point_dynamics(
227
232
  return f_Ci, aux_data
228
233
 
229
234
 
235
+ @js.common.named_scope
230
236
  @functools.partial(jax.jit, static_argnames=["link_names"])
231
237
  def in_contact(
232
238
  model: js.model.JaxSimModel,
@@ -424,6 +430,7 @@ def estimate_good_contact_parameters(
424
430
  return parameters
425
431
 
426
432
 
433
+ @js.common.named_scope
427
434
  @jax.jit
428
435
  def transforms(model: js.model.JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Array:
429
436
  r"""
@@ -469,6 +476,7 @@ def transforms(model: js.model.JaxSimModel, data: js.data.JaxSimModelData) -> jt
469
476
  return jax.vmap(lambda W_H_Li, L_H_Ci: W_H_Li @ L_H_Ci)(W_H_L, L_H_C)
470
477
 
471
478
 
479
+ @js.common.named_scope
472
480
  @functools.partial(jax.jit, static_argnames=["output_vel_repr"])
473
481
  def jacobian(
474
482
  model: js.model.JaxSimModel,
@@ -561,6 +569,7 @@ def jacobian(
561
569
  return O_J_WC
562
570
 
563
571
 
572
+ @js.common.named_scope
564
573
  @functools.partial(jax.jit, static_argnames=["output_vel_repr"])
565
574
  def jacobian_derivative(
566
575
  model: js.model.JaxSimModel,
@@ -253,6 +253,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
253
253
 
254
254
  return -self.gravity[2]
255
255
 
256
+ @js.common.named_scope
256
257
  @functools.partial(jax.jit, static_argnames=["joint_names"])
257
258
  def joint_positions(
258
259
  self,
@@ -300,6 +301,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
300
301
 
301
302
  return self.state.physics_model.joint_positions[joint_idxs]
302
303
 
304
+ @js.common.named_scope
303
305
  @functools.partial(jax.jit, static_argnames=["joint_names"])
304
306
  def joint_velocities(
305
307
  self,
@@ -347,6 +349,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
347
349
 
348
350
  return self.state.physics_model.joint_velocities[joint_idxs]
349
351
 
352
+ @js.common.named_scope
350
353
  @jax.jit
351
354
  def base_position(self) -> jtp.Vector:
352
355
  """
@@ -358,6 +361,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
358
361
 
359
362
  return self.state.physics_model.base_position.squeeze()
360
363
 
364
+ @js.common.named_scope
361
365
  @functools.partial(jax.jit, static_argnames=["dcm"])
362
366
  def base_orientation(self, dcm: jtp.BoolLike = False) -> jtp.Vector | jtp.Matrix:
363
367
  """
@@ -386,6 +390,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
386
390
  float
387
391
  )
388
392
 
393
+ @js.common.named_scope
389
394
  @jax.jit
390
395
  def base_transform(self) -> jtp.Matrix:
391
396
  """
@@ -405,6 +410,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
405
410
  ]
406
411
  )
407
412
 
413
+ @js.common.named_scope
408
414
  @jax.jit
409
415
  def base_velocity(self) -> jtp.Vector:
410
416
  """
@@ -434,6 +440,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
434
440
  .astype(float)
435
441
  )
436
442
 
443
+ @js.common.named_scope
437
444
  @jax.jit
438
445
  def generalized_position(self) -> tuple[jtp.Matrix, jtp.Vector]:
439
446
  r"""
@@ -446,6 +453,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
446
453
 
447
454
  return self.base_transform(), self.joint_positions()
448
455
 
456
+ @js.common.named_scope
449
457
  @jax.jit
450
458
  def generalized_velocity(self) -> jtp.Vector:
451
459
  r"""
@@ -466,6 +474,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
466
474
  # Store quantities
467
475
  # ================
468
476
 
477
+ @js.common.named_scope
469
478
  @functools.partial(jax.jit, static_argnames=["joint_names"])
470
479
  def reset_joint_positions(
471
480
  self,
@@ -514,6 +523,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
514
523
  s=self.state.physics_model.joint_positions.at[joint_idxs].set(positions)
515
524
  )
516
525
 
526
+ @js.common.named_scope
517
527
  @functools.partial(jax.jit, static_argnames=["joint_names"])
518
528
  def reset_joint_velocities(
519
529
  self,
@@ -562,6 +572,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
562
572
  ṡ=self.state.physics_model.joint_velocities.at[joint_idxs].set(velocities)
563
573
  )
564
574
 
575
+ @js.common.named_scope
565
576
  @jax.jit
566
577
  def reset_base_position(self, base_position: jtp.VectorLike) -> Self:
567
578
  """
@@ -585,6 +596,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
585
596
  ),
586
597
  )
587
598
 
599
+ @js.common.named_scope
588
600
  @jax.jit
589
601
  def reset_base_quaternion(self, base_quaternion: jtp.VectorLike) -> Self:
590
602
  """
@@ -612,6 +624,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
612
624
  ),
613
625
  )
614
626
 
627
+ @js.common.named_scope
615
628
  @jax.jit
616
629
  def reset_base_pose(self, base_pose: jtp.MatrixLike) -> Self:
617
630
  """
@@ -634,6 +647,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
634
647
  base_quaternion=W_Q_B
635
648
  )
636
649
 
650
+ @js.common.named_scope
637
651
  @functools.partial(jax.jit, static_argnames=["velocity_representation"])
638
652
  def reset_base_linear_velocity(
639
653
  self,
@@ -665,6 +679,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
665
679
  velocity_representation=velocity_representation,
666
680
  )
667
681
 
682
+ @js.common.named_scope
668
683
  @functools.partial(jax.jit, static_argnames=["velocity_representation"])
669
684
  def reset_base_angular_velocity(
670
685
  self,
@@ -696,6 +711,7 @@ class JaxSimModelData(common.ModelDataWithVelocityRepresentation):
696
711
  velocity_representation=velocity_representation,
697
712
  )
698
713
 
714
+ @js.common.named_scope
699
715
  @functools.partial(jax.jit, static_argnames=["velocity_representation"])
700
716
  def reset_base_velocity(
701
717
  self,
@@ -16,6 +16,7 @@ from .common import VelRepr
16
16
  # =======================
17
17
 
18
18
 
19
+ @js.common.named_scope
19
20
  @jax.jit
20
21
  def idx_of_parent_link(
21
22
  model: js.model.JaxSimModel, *, frame_index: jtp.IntLike
@@ -45,6 +46,7 @@ def idx_of_parent_link(
45
46
  ]
46
47
 
47
48
 
49
+ @js.common.named_scope
48
50
  @functools.partial(jax.jit, static_argnames="frame_name")
49
51
  def name_to_idx(model: js.model.JaxSimModel, *, frame_name: str) -> jtp.Int:
50
52
  """
@@ -97,6 +99,7 @@ def idx_to_name(model: js.model.JaxSimModel, *, frame_index: jtp.IntLike) -> str
97
99
  ]
98
100
 
99
101
 
102
+ @js.common.named_scope
100
103
  @functools.partial(jax.jit, static_argnames=["frame_names"])
101
104
  def names_to_idxs(
102
105
  model: js.model.JaxSimModel, *, frame_names: Sequence[str]
@@ -139,6 +142,7 @@ def idxs_to_names(
139
142
  # ==========
140
143
 
141
144
 
145
+ @js.common.named_scope
142
146
  @jax.jit
143
147
  def transform(
144
148
  model: js.model.JaxSimModel,
@@ -180,6 +184,7 @@ def transform(
180
184
  return W_H_L @ L_H_F
181
185
 
182
186
 
187
+ @js.common.named_scope
183
188
  @functools.partial(jax.jit, static_argnames=["output_vel_repr"])
184
189
  def velocity(
185
190
  model: js.model.JaxSimModel,
@@ -230,6 +235,7 @@ def velocity(
230
235
  return O_J_WF_I @ I_ν
231
236
 
232
237
 
238
+ @js.common.named_scope
233
239
  @functools.partial(jax.jit, static_argnames=["output_vel_repr"])
234
240
  def jacobian(
235
241
  model: js.model.JaxSimModel,
@@ -309,6 +315,7 @@ def jacobian(
309
315
  return O_J_WL_I
310
316
 
311
317
 
318
+ @js.common.named_scope
312
319
  @functools.partial(jax.jit, static_argnames=["output_vel_repr"])
313
320
  def jacobian_derivative(
314
321
  model: js.model.JaxSimModel,
@@ -13,6 +13,7 @@ from jaxsim import exceptions
13
13
  # =======================
14
14
 
15
15
 
16
+ @js.common.named_scope
16
17
  @functools.partial(jax.jit, static_argnames="joint_name")
17
18
  def name_to_idx(model: js.model.JaxSimModel, *, joint_name: str) -> jtp.Int:
18
19
  """
@@ -61,6 +62,7 @@ def idx_to_name(model: js.model.JaxSimModel, *, joint_index: jtp.IntLike) -> str
61
62
  return model.kin_dyn_parameters.joint_model.joint_names[joint_index + 1]
62
63
 
63
64
 
65
+ @js.common.named_scope
64
66
  @functools.partial(jax.jit, static_argnames="joint_names")
65
67
  def names_to_idxs(
66
68
  model: js.model.JaxSimModel, *, joint_names: Sequence[str]
@@ -141,6 +143,7 @@ def position_limit(
141
143
  return s_min.astype(float), s_max.astype(float)
142
144
 
143
145
 
146
+ @js.common.named_scope
144
147
  @functools.partial(jax.jit, static_argnames=["joint_names"])
145
148
  def position_limits(
146
149
  model: js.model.JaxSimModel, *, joint_names: Sequence[str] | None = None
@@ -176,6 +179,7 @@ def position_limits(
176
179
  # ======================
177
180
 
178
181
 
182
+ @js.common.named_scope
179
183
  @functools.partial(jax.jit, static_argnames=["joint_names"])
180
184
  def random_joint_positions(
181
185
  model: js.model.JaxSimModel,
@@ -491,6 +491,7 @@ def reduce(
491
491
  # ===================
492
492
 
493
493
 
494
+ @js.common.named_scope
494
495
  @jax.jit
495
496
  def total_mass(model: JaxSimModel) -> jtp.Float:
496
497
  """
@@ -506,6 +507,7 @@ def total_mass(model: JaxSimModel) -> jtp.Float:
506
507
  return model.kin_dyn_parameters.link_parameters.mass.sum().astype(float)
507
508
 
508
509
 
510
+ @js.common.named_scope
509
511
  @jax.jit
510
512
  def link_spatial_inertia_matrices(model: JaxSimModel) -> jtp.Array:
511
513
  """
@@ -528,6 +530,7 @@ def link_spatial_inertia_matrices(model: JaxSimModel) -> jtp.Array:
528
530
  # ==============================
529
531
 
530
532
 
533
+ @js.common.named_scope
531
534
  @jax.jit
532
535
  def forward_kinematics(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Array:
533
536
  """
@@ -915,6 +918,7 @@ def forward_dynamics(
915
918
  )
916
919
 
917
920
 
921
+ @js.common.named_scope
918
922
  @jax.jit
919
923
  def forward_dynamics_aba(
920
924
  model: JaxSimModel,
@@ -1059,6 +1063,7 @@ def forward_dynamics_aba(
1059
1063
  return C_v̇_WB.astype(float), s̈.astype(float)
1060
1064
 
1061
1065
 
1066
+ @js.common.named_scope
1062
1067
  @jax.jit
1063
1068
  def forward_dynamics_crb(
1064
1069
  model: JaxSimModel,
@@ -1150,6 +1155,7 @@ def forward_dynamics_crb(
1150
1155
  return v̇_WB, s̈
1151
1156
 
1152
1157
 
1158
+ @js.common.named_scope
1153
1159
  @jax.jit
1154
1160
  def free_floating_mass_matrix(
1155
1161
  model: JaxSimModel, data: js.data.JaxSimModelData
@@ -1195,6 +1201,7 @@ def free_floating_mass_matrix(
1195
1201
  raise ValueError(data.velocity_representation)
1196
1202
 
1197
1203
 
1204
+ @js.common.named_scope
1198
1205
  @jax.jit
1199
1206
  def free_floating_coriolis_matrix(
1200
1207
  model: JaxSimModel, data: js.data.JaxSimModelData
@@ -1311,6 +1318,7 @@ def free_floating_coriolis_matrix(
1311
1318
  raise ValueError(data.velocity_representation)
1312
1319
 
1313
1320
 
1321
+ @js.common.named_scope
1314
1322
  @jax.jit
1315
1323
  def inverse_dynamics(
1316
1324
  model: JaxSimModel,
@@ -1466,6 +1474,7 @@ def inverse_dynamics(
1466
1474
  return f_B.astype(float), τ.astype(float)
1467
1475
 
1468
1476
 
1477
+ @js.common.named_scope
1469
1478
  @jax.jit
1470
1479
  def free_floating_gravity_forces(
1471
1480
  model: JaxSimModel, data: js.data.JaxSimModelData
@@ -1515,6 +1524,7 @@ def free_floating_gravity_forces(
1515
1524
  ).astype(float)
1516
1525
 
1517
1526
 
1527
+ @js.common.named_scope
1518
1528
  @jax.jit
1519
1529
  def free_floating_bias_forces(
1520
1530
  model: JaxSimModel, data: js.data.JaxSimModelData
@@ -1584,6 +1594,7 @@ def free_floating_bias_forces(
1584
1594
  # ==========================
1585
1595
 
1586
1596
 
1597
+ @js.common.named_scope
1587
1598
  @jax.jit
1588
1599
  def locked_spatial_inertia(
1589
1600
  model: JaxSimModel, data: js.data.JaxSimModelData
@@ -1602,6 +1613,7 @@ def locked_spatial_inertia(
1602
1613
  return total_momentum_jacobian(model=model, data=data)[:, 0:6]
1603
1614
 
1604
1615
 
1616
+ @js.common.named_scope
1605
1617
  @jax.jit
1606
1618
  def total_momentum(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Vector:
1607
1619
  """
@@ -1690,6 +1702,7 @@ def total_momentum_jacobian(
1690
1702
  raise ValueError(output_vel_repr)
1691
1703
 
1692
1704
 
1705
+ @js.common.named_scope
1693
1706
  @jax.jit
1694
1707
  def average_velocity(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Vector:
1695
1708
  """
@@ -1778,6 +1791,7 @@ def average_velocity_jacobian(
1778
1791
  # ========================
1779
1792
 
1780
1793
 
1794
+ @js.common.named_scope
1781
1795
  @jax.jit
1782
1796
  def link_bias_accelerations(
1783
1797
  model: JaxSimModel,
@@ -1987,6 +2001,7 @@ def link_bias_accelerations(
1987
2001
  return O_v̇_WL
1988
2002
 
1989
2003
 
2004
+ @js.common.named_scope
1990
2005
  @jax.jit
1991
2006
  def link_contact_forces(
1992
2007
  model: js.model.JaxSimModel,
@@ -2062,6 +2077,7 @@ def link_contact_forces(
2062
2077
  # ======
2063
2078
 
2064
2079
 
2080
+ @js.common.named_scope
2065
2081
  @jax.jit
2066
2082
  def mechanical_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Float:
2067
2083
  """
@@ -2081,6 +2097,7 @@ def mechanical_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.
2081
2097
  return (K + U).astype(float)
2082
2098
 
2083
2099
 
2100
+ @js.common.named_scope
2084
2101
  @jax.jit
2085
2102
  def kinetic_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Float:
2086
2103
  """
@@ -2102,6 +2119,7 @@ def kinetic_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Flo
2102
2119
  return K.squeeze().astype(float)
2103
2120
 
2104
2121
 
2122
+ @js.common.named_scope
2105
2123
  @jax.jit
2106
2124
  def potential_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Float:
2107
2125
  """
@@ -2128,6 +2146,7 @@ def potential_energy(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.F
2128
2146
  # ==========
2129
2147
 
2130
2148
 
2149
+ @js.common.named_scope
2131
2150
  @jax.jit
2132
2151
  def step(
2133
2152
  model: JaxSimModel,
@@ -85,6 +85,7 @@ def wrap_system_dynamics_for_integration(
85
85
  # ==================================
86
86
 
87
87
 
88
+ @js.common.named_scope
88
89
  @jax.jit
89
90
  def system_velocity_dynamics(
90
91
  model: js.model.JaxSimModel,
@@ -331,6 +332,7 @@ def system_acceleration(
331
332
  return v̇_WB, s̈
332
333
 
333
334
 
335
+ @js.common.named_scope
334
336
  @jax.jit
335
337
  def system_position_dynamics(
336
338
  model: js.model.JaxSimModel,
@@ -370,6 +372,7 @@ def system_position_dynamics(
370
372
  return W_ṗ_B, W_Q̇_B, ṡ
371
373
 
372
374
 
375
+ @js.common.named_scope
373
376
  @jax.jit
374
377
  def system_dynamics(
375
378
  model: js.model.JaxSimModel,
@@ -163,7 +163,7 @@ class JaxSimModelReferences(js.common.ModelDataWithVelocityRepresentation):
163
163
  # ==================
164
164
  # Extract quantities
165
165
  # ==================
166
-
166
+ @js.common.named_scope
167
167
  @functools.partial(jax.jit, static_argnames=["link_names"])
168
168
  def link_forces(
169
169
  self,
@@ -301,7 +301,7 @@ class JaxSimModelReferences(js.common.ModelDataWithVelocityRepresentation):
301
301
  # ================
302
302
  # Store quantities
303
303
  # ================
304
-
304
+ @js.common.named_scope
305
305
  @functools.partial(jax.jit, static_argnames=["joint_names"])
306
306
  def set_joint_force_references(
307
307
  self,
@@ -346,6 +346,7 @@ class JaxSimModelReferences(js.common.ModelDataWithVelocityRepresentation):
346
346
 
347
347
  return replace(forces=self._joint_force_references.at[joint_idxs].set(forces))
348
348
 
349
+ @js.common.named_scope
349
350
  @functools.partial(jax.jit, static_argnames=["link_names", "additive"])
350
351
  def apply_link_forces(
351
352
  self,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev56
3
+ Version: 0.5.1.dev60
4
4
  Summary: A differentiable physics engine and multibody dynamics library for control and robot learning.
5
5
  Author-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippoluca.ferretti@outlook.com>
6
6
  Maintainer-email: Filippo Luca Ferretti <filippo.ferretti@iit.it>, Alessandro Croci <alessandro.croci@iit.it>
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