jaxsim 0.6.1.dev9__tar.gz → 0.6.1.dev13__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 (136) hide show
  1. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/PKG-INFO +1 -1
  2. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/_version.py +2 -2
  3. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/rotation.py +9 -18
  4. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim.egg-info/PKG-INFO +1 -1
  5. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_benchmark.py +6 -2
  6. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.devcontainer/Dockerfile +0 -0
  7. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.devcontainer/devcontainer.json +0 -0
  8. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.gitattributes +0 -0
  9. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.github/CODEOWNERS +0 -0
  10. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.github/dependabot.yml +0 -0
  11. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.github/workflows/ci_cd.yml +0 -0
  12. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.github/workflows/pixi.yml +0 -0
  13. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.github/workflows/read_the_docs.yml +0 -0
  14. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.gitignore +0 -0
  15. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.pre-commit-config.yaml +0 -0
  16. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/.readthedocs.yaml +0 -0
  17. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/CONTRIBUTING.md +0 -0
  18. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/LICENSE +0 -0
  19. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/README.md +0 -0
  20. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/Makefile +0 -0
  21. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/conf.py +0 -0
  22. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/examples.rst +0 -0
  23. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/guide/configuration.rst +0 -0
  24. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/guide/install.rst +0 -0
  25. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/index.rst +0 -0
  26. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/make.bat +0 -0
  27. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/api.rst +0 -0
  28. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/integrators.rst +0 -0
  29. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/math.rst +0 -0
  30. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/mujoco.rst +0 -0
  31. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/parsers.rst +0 -0
  32. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/rbda.rst +0 -0
  33. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/typing.rst +0 -0
  34. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/docs/modules/utils.rst +0 -0
  35. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/environment.yml +0 -0
  36. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/.gitattributes +0 -0
  37. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/.gitignore +0 -0
  38. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/README.md +0 -0
  39. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/assets/build_cartpole_urdf.py +0 -0
  40. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/assets/cartpole.urdf +0 -0
  41. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  42. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  43. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
  44. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  45. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/pixi.lock +0 -0
  46. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/pyproject.toml +0 -0
  47. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/setup.cfg +0 -0
  48. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/setup.py +0 -0
  49. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/__init__.py +0 -0
  50. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/__init__.py +0 -0
  51. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/com.py +0 -0
  52. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/common.py +0 -0
  53. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/contact.py +0 -0
  54. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/data.py +0 -0
  55. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/frame.py +0 -0
  56. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/joint.py +0 -0
  57. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  58. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/link.py +0 -0
  59. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/model.py +0 -0
  60. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/ode.py +0 -0
  61. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/ode_data.py +0 -0
  62. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/api/references.py +0 -0
  63. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/exceptions.py +0 -0
  64. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/integrators/__init__.py +0 -0
  65. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/integrators/common.py +0 -0
  66. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/integrators/fixed_step.py +0 -0
  67. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/integrators/variable_step.py +0 -0
  68. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/logging.py +0 -0
  69. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/__init__.py +0 -0
  70. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/adjoint.py +0 -0
  71. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/cross.py +0 -0
  72. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/inertia.py +0 -0
  73. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/joint_model.py +0 -0
  74. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/quaternion.py +0 -0
  75. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/skew.py +0 -0
  76. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/transform.py +0 -0
  77. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/math/utils.py +0 -0
  78. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/__init__.py +0 -0
  79. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/__main__.py +0 -0
  80. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/loaders.py +0 -0
  81. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/model.py +0 -0
  82. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/utils.py +0 -0
  83. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/mujoco/visualizer.py +0 -0
  84. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/__init__.py +0 -0
  85. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  86. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  87. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  88. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/descriptions/link.py +0 -0
  89. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/descriptions/model.py +0 -0
  90. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  91. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/rod/__init__.py +0 -0
  92. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/rod/meshes.py +0 -0
  93. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/rod/parser.py +0 -0
  94. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/parsers/rod/utils.py +0 -0
  95. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/__init__.py +0 -0
  96. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/aba.py +0 -0
  97. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/collidable_points.py +0 -0
  98. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  99. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/common.py +0 -0
  100. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  101. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  102. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/soft.py +0 -0
  103. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  104. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/crba.py +0 -0
  105. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  106. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/jacobian.py +0 -0
  107. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/rnea.py +0 -0
  108. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/rbda/utils.py +0 -0
  109. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/terrain/__init__.py +0 -0
  110. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/terrain/terrain.py +0 -0
  111. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/typing.py +0 -0
  112. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/utils/__init__.py +0 -0
  113. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  114. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/utils/tracing.py +0 -0
  115. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim/utils/wrappers.py +0 -0
  116. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  117. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  118. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim.egg-info/requires.txt +0 -0
  119. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/src/jaxsim.egg-info/top_level.txt +0 -0
  120. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/__init__.py +0 -0
  121. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/conftest.py +0 -0
  122. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_com.py +0 -0
  123. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_contact.py +0 -0
  124. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_data.py +0 -0
  125. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_frame.py +0 -0
  126. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_joint.py +0 -0
  127. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_link.py +0 -0
  128. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_api_model.py +0 -0
  129. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_automatic_differentiation.py +0 -0
  130. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_contact.py +0 -0
  131. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_exceptions.py +0 -0
  132. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_meshes.py +0 -0
  133. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_pytree.py +0 -0
  134. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_simulations.py +0 -0
  135. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/test_visualizer.py +0 -0
  136. {jaxsim-0.6.1.dev9 → jaxsim-0.6.1.dev13}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.6.1.dev9
3
+ Version: 0.6.1.dev13
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.6.1.dev9'
16
- __version_tuple__ = version_tuple = (0, 6, 1, 'dev9')
15
+ __version__ = version = '0.6.1.dev13'
16
+ __version_tuple__ = version_tuple = (0, 6, 1, 'dev13')
@@ -68,26 +68,17 @@ class Rotation:
68
68
 
69
69
  vector = vector.squeeze()
70
70
 
71
- def theta_is_not_zero(axis: jtp.Vector) -> jtp.Matrix:
71
+ theta = safe_norm(vector)
72
72
 
73
- v = axis
74
- theta = safe_norm(v)
73
+ s = jnp.sin(theta)
74
+ c = jnp.cos(theta)
75
75
 
76
- s = jnp.sin(theta)
77
- c = jnp.cos(theta)
76
+ c1 = 2 * jnp.sin(theta / 2.0) ** 2
78
77
 
79
- c1 = 2 * jnp.sin(theta / 2.0) ** 2
78
+ safe_theta = jnp.where(theta == 0, 1.0, theta)
79
+ u = vector / safe_theta
80
+ u = jnp.vstack(u.squeeze())
80
81
 
81
- u = v / theta
82
- u = jnp.vstack(u.squeeze())
82
+ R = c * jnp.eye(3) - s * Skew.wedge(u) + c1 * u @ u.T
83
83
 
84
- R = c * jnp.eye(3) - s * Skew.wedge(u) + c1 * u @ u.T
85
-
86
- return R.transpose()
87
-
88
- return jnp.where(
89
- jnp.allclose(vector, 0.0),
90
- # Return an identity rotation matrix when the input vector is zero.
91
- jnp.eye(3),
92
- theta_is_not_zero(axis=vector),
93
- )
84
+ return R.transpose()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.6.1.dev9
3
+ Version: 0.6.1.dev13
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>
@@ -9,13 +9,14 @@ import jaxsim.api as js
9
9
 
10
10
  def vectorize_data(model: js.model.JaxSimModel, batch_size: int):
11
11
  key = jax.random.PRNGKey(seed=0)
12
+ keys = jax.random.split(key, num=batch_size)
12
13
 
13
14
  return jax.vmap(
14
15
  lambda key: js.data.random_model_data(
15
16
  model=model,
16
17
  key=key,
17
18
  )
18
- )(jax.numpy.repeat(key[None, :], repeats=batch_size, axis=0))
19
+ )(keys)
19
20
 
20
21
 
21
22
  def benchmark_test_function(
@@ -26,7 +27,10 @@ def benchmark_test_function(
26
27
 
27
28
  # Warm-up call to avoid including compilation time
28
29
  jax.vmap(func, in_axes=(None, 0))(model, data)
29
- benchmark(jax.vmap(func, in_axes=(None, 0)), model, data)
30
+
31
+ # Benchmark the function call
32
+ # Note: jax.block_until_ready is used to ensure that the benchmark is not measuring only the asynchronous dispatch
33
+ benchmark(jax.block_until_ready(jax.vmap(func, in_axes=(None, 0))), model, data)
30
34
 
31
35
 
32
36
  @pytest.mark.benchmark
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