jaxsim 0.5.1.dev60__tar.gz → 0.5.1.dev63__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.dev60 → jaxsim-0.5.1.dev63}/PKG-INFO +1 -1
  2. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/_version.py +2 -2
  3. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/rod/utils.py +31 -26
  4. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim.egg-info/PKG-INFO +1 -1
  5. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.devcontainer/Dockerfile +0 -0
  6. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.devcontainer/devcontainer.json +0 -0
  7. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.gitattributes +0 -0
  8. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.github/CODEOWNERS +0 -0
  9. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.github/dependabot.yml +0 -0
  10. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.github/workflows/ci_cd.yml +0 -0
  11. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.github/workflows/pixi.yml +0 -0
  12. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.github/workflows/read_the_docs.yml +0 -0
  13. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.gitignore +0 -0
  14. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.pre-commit-config.yaml +0 -0
  15. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/.readthedocs.yaml +0 -0
  16. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/CONTRIBUTING.md +0 -0
  17. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/LICENSE +0 -0
  18. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/README.md +0 -0
  19. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/Makefile +0 -0
  20. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/conf.py +0 -0
  21. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/examples.rst +0 -0
  22. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/guide/install.rst +0 -0
  23. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/index.rst +0 -0
  24. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/make.bat +0 -0
  25. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/api.rst +0 -0
  26. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/integrators.rst +0 -0
  27. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/math.rst +0 -0
  28. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/mujoco.rst +0 -0
  29. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/parsers.rst +0 -0
  30. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/rbda.rst +0 -0
  31. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/typing.rst +0 -0
  32. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/docs/modules/utils.rst +0 -0
  33. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/environment.yml +0 -0
  34. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/.gitattributes +0 -0
  35. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/.gitignore +0 -0
  36. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/README.md +0 -0
  37. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/assets/build_cartpole_urdf.py +0 -0
  38. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/assets/cartpole.urdf +0 -0
  39. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  40. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  41. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  42. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/pixi.lock +0 -0
  43. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/pyproject.toml +0 -0
  44. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/setup.cfg +0 -0
  45. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/setup.py +0 -0
  46. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/__init__.py +0 -0
  47. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/__init__.py +0 -0
  48. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/com.py +0 -0
  49. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/common.py +0 -0
  50. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/contact.py +0 -0
  51. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/data.py +0 -0
  52. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/frame.py +0 -0
  53. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/joint.py +0 -0
  54. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  55. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/link.py +0 -0
  56. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/model.py +0 -0
  57. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/ode.py +0 -0
  58. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/ode_data.py +0 -0
  59. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/api/references.py +0 -0
  60. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/exceptions.py +0 -0
  61. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/integrators/__init__.py +0 -0
  62. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/integrators/common.py +0 -0
  63. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/integrators/fixed_step.py +0 -0
  64. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/integrators/variable_step.py +0 -0
  65. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/logging.py +0 -0
  66. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/__init__.py +0 -0
  67. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/adjoint.py +0 -0
  68. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/cross.py +0 -0
  69. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/inertia.py +0 -0
  70. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/joint_model.py +0 -0
  71. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/quaternion.py +0 -0
  72. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/rotation.py +0 -0
  73. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/skew.py +0 -0
  74. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/math/transform.py +0 -0
  75. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/__init__.py +0 -0
  76. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/__main__.py +0 -0
  77. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/loaders.py +0 -0
  78. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/model.py +0 -0
  79. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/utils.py +0 -0
  80. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/mujoco/visualizer.py +0 -0
  81. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/__init__.py +0 -0
  82. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  83. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  84. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  85. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/descriptions/link.py +0 -0
  86. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/descriptions/model.py +0 -0
  87. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  88. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/rod/__init__.py +0 -0
  89. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/rod/meshes.py +0 -0
  90. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/parsers/rod/parser.py +0 -0
  91. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/__init__.py +0 -0
  92. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/aba.py +0 -0
  93. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/collidable_points.py +0 -0
  94. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  95. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/common.py +0 -0
  96. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  97. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  98. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/soft.py +0 -0
  99. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  100. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/crba.py +0 -0
  101. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  102. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/jacobian.py +0 -0
  103. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/rnea.py +0 -0
  104. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/rbda/utils.py +0 -0
  105. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/terrain/__init__.py +0 -0
  106. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/terrain/terrain.py +0 -0
  107. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/typing.py +0 -0
  108. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/utils/__init__.py +0 -0
  109. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  110. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/utils/tracing.py +0 -0
  111. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim/utils/wrappers.py +0 -0
  112. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  113. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  114. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim.egg-info/requires.txt +0 -0
  115. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/src/jaxsim.egg-info/top_level.txt +0 -0
  116. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/__init__.py +0 -0
  117. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/conftest.py +0 -0
  118. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_com.py +0 -0
  119. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_contact.py +0 -0
  120. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_data.py +0 -0
  121. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_frame.py +0 -0
  122. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_joint.py +0 -0
  123. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_link.py +0 -0
  124. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_api_model.py +0 -0
  125. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_automatic_differentiation.py +0 -0
  126. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_benchmark.py +0 -0
  127. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_contact.py +0 -0
  128. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_exceptions.py +0 -0
  129. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_meshes.py +0 -0
  130. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_pytree.py +0 -0
  131. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/tests/test_simulations.py +0 -0
  132. {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev63}/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.dev60
3
+ Version: 0.5.1.dev63
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.dev60'
16
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev60')
15
+ __version__ = version = '0.5.1.dev63'
16
+ __version_tuple__ = version_tuple = (0, 5, 1, 'dev63')
@@ -117,22 +117,19 @@ def create_box_collision(
117
117
 
118
118
  center = np.array([x / 2, y / 2, z / 2])
119
119
 
120
- box_corners = (
121
- np.vstack(
122
- [
123
- np.array([0, 0, 0]),
124
- np.array([x, 0, 0]),
125
- np.array([x, y, 0]),
126
- np.array([0, y, 0]),
127
- np.array([0, 0, z]),
128
- np.array([x, 0, z]),
129
- np.array([x, y, z]),
130
- np.array([0, y, z]),
131
- ]
132
- )
133
- - center
120
+ # Define the bottom corners.
121
+ bottom_corners = np.array([[0, 0, 0], [x, 0, 0], [x, y, 0], [0, y, 0]])
122
+
123
+ # Conditionally add the top corners based on the environment variable.
124
+ top_corners = (
125
+ np.array([[0, 0, z], [x, 0, z], [x, y, z], [0, y, z]])
126
+ if not os.environ.get("JAXSIM_COLLISION_USE_BOTTOM_ONLY", "0")
127
+ else []
134
128
  )
135
129
 
130
+ # Combine and shift by the center
131
+ box_corners = np.vstack([bottom_corners, *top_corners]) - center
132
+
136
133
  H = collision.pose.transform() if collision.pose is not None else np.eye(4)
137
134
 
138
135
  center_wrt_link = (H @ np.hstack([center, 1.0]))[0:-1]
@@ -170,23 +167,31 @@ def create_sphere_collision(
170
167
 
171
168
  # From https://stackoverflow.com/a/26127012
172
169
  def fibonacci_sphere(samples: int) -> npt.NDArray:
173
- points = []
174
- phi = np.pi * (3.0 - np.sqrt(5.0)) # golden angle in radians
175
-
176
- for i in range(samples):
177
- y = 1 - (i / float(samples - 1)) * 2 # y goes from 1 to -1
178
- radius = np.sqrt(1 - y * y) # radius at y
179
-
180
- theta = phi * i # golden angle increment
181
-
182
- x = np.cos(theta) * radius
183
- z = np.sin(theta) * radius
170
+ # Get the golden ratio in radians.
171
+ phi = np.pi * (3.0 - np.sqrt(5.0))
172
+
173
+ # Generate the points.
174
+ points = [
175
+ np.array(
176
+ [
177
+ np.cos(phi * i)
178
+ * np.sqrt(1 - (y := 1 - 2 * i / (samples - 1)) ** 2),
179
+ y,
180
+ np.sin(phi * i) * np.sqrt(1 - y**2),
181
+ ]
182
+ )
183
+ for i in range(samples)
184
+ ]
184
185
 
185
- points.append(np.array([x, y, z]))
186
+ # Filter to keep only the bottom half if required.
187
+ if os.environ.get("JAXSIM_COLLISION_USE_BOTTOM_ONLY", "0"):
188
+ # Keep only the points with z <= 0.
189
+ points = [point for point in points if point[2] <= 0]
186
190
 
187
191
  return np.vstack(points)
188
192
 
189
193
  r = collision.geometry.sphere.radius
194
+
190
195
  sphere_points = r * fibonacci_sphere(
191
196
  samples=int(os.getenv(key="JAXSIM_COLLISION_SPHERE_POINTS", default="50"))
192
197
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev60
3
+ Version: 0.5.1.dev63
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