jaxsim 0.4.3.dev97__tar.gz → 0.4.3.dev100__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 (124) hide show
  1. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/PKG-INFO +1 -1
  2. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/_version.py +2 -2
  3. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/contact.py +1 -0
  4. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/contacts/rigid.py +18 -21
  5. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim.egg-info/PKG-INFO +1 -1
  6. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.devcontainer/Dockerfile +0 -0
  7. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.devcontainer/devcontainer.json +0 -0
  8. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.gitattributes +0 -0
  9. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.github/CODEOWNERS +0 -0
  10. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.github/workflows/ci_cd.yml +0 -0
  11. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.github/workflows/read_the_docs.yml +0 -0
  12. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.github/workflows/update_pixi_lockfile.yml +0 -0
  13. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.gitignore +0 -0
  14. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.pre-commit-config.yaml +0 -0
  15. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/.readthedocs.yaml +0 -0
  16. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/CONTRIBUTING.md +0 -0
  17. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/LICENSE +0 -0
  18. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/README.md +0 -0
  19. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/Makefile +0 -0
  20. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/conf.py +0 -0
  21. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/examples.rst +0 -0
  22. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/guide/install.rst +0 -0
  23. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/index.rst +0 -0
  24. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/make.bat +0 -0
  25. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/api.rst +0 -0
  26. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/integrators.rst +0 -0
  27. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/math.rst +0 -0
  28. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/mujoco.rst +0 -0
  29. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/parsers.rst +0 -0
  30. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/rbda.rst +0 -0
  31. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/typing.rst +0 -0
  32. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/docs/modules/utils.rst +0 -0
  33. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/environment.yml +0 -0
  34. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/.gitattributes +0 -0
  35. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/.gitignore +0 -0
  36. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/PD_controller.ipynb +0 -0
  37. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/Parallel_computing.ipynb +0 -0
  38. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/README.md +0 -0
  39. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/examples/assets/cartpole.urdf +0 -0
  40. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/pixi.lock +0 -0
  41. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/pyproject.toml +0 -0
  42. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/setup.cfg +0 -0
  43. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/setup.py +0 -0
  44. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/__init__.py +0 -0
  45. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/__init__.py +0 -0
  46. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/com.py +0 -0
  47. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/common.py +0 -0
  48. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/data.py +0 -0
  49. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/frame.py +0 -0
  50. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/joint.py +0 -0
  51. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  52. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/link.py +0 -0
  53. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/model.py +0 -0
  54. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/ode.py +0 -0
  55. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/ode_data.py +0 -0
  56. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/api/references.py +0 -0
  57. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/exceptions.py +0 -0
  58. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/integrators/__init__.py +0 -0
  59. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/integrators/common.py +0 -0
  60. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/integrators/fixed_step.py +0 -0
  61. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/integrators/variable_step.py +0 -0
  62. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/logging.py +0 -0
  63. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/__init__.py +0 -0
  64. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/adjoint.py +0 -0
  65. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/cross.py +0 -0
  66. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/inertia.py +0 -0
  67. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/joint_model.py +0 -0
  68. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/quaternion.py +0 -0
  69. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/rotation.py +0 -0
  70. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/skew.py +0 -0
  71. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/math/transform.py +0 -0
  72. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/mujoco/__init__.py +0 -0
  73. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/mujoco/__main__.py +0 -0
  74. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/mujoco/loaders.py +0 -0
  75. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/mujoco/model.py +0 -0
  76. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/mujoco/visualizer.py +0 -0
  77. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/__init__.py +0 -0
  78. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  79. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  80. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  81. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/descriptions/link.py +0 -0
  82. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/descriptions/model.py +0 -0
  83. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  84. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/rod/__init__.py +0 -0
  85. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/rod/parser.py +0 -0
  86. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/parsers/rod/utils.py +0 -0
  87. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/__init__.py +0 -0
  88. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/aba.py +0 -0
  89. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/collidable_points.py +0 -0
  90. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  91. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/contacts/common.py +0 -0
  92. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  93. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/contacts/soft.py +0 -0
  94. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/crba.py +0 -0
  95. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  96. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/jacobian.py +0 -0
  97. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/rnea.py +0 -0
  98. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/rbda/utils.py +0 -0
  99. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/terrain/__init__.py +0 -0
  100. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/terrain/terrain.py +0 -0
  101. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/typing.py +0 -0
  102. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/utils/__init__.py +0 -0
  103. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  104. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/utils/tracing.py +0 -0
  105. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim/utils/wrappers.py +0 -0
  106. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  107. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  108. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim.egg-info/requires.txt +0 -0
  109. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/src/jaxsim.egg-info/top_level.txt +0 -0
  110. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/__init__.py +0 -0
  111. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/conftest.py +0 -0
  112. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_com.py +0 -0
  113. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_contact.py +0 -0
  114. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_data.py +0 -0
  115. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_frame.py +0 -0
  116. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_joint.py +0 -0
  117. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_link.py +0 -0
  118. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_api_model.py +0 -0
  119. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_automatic_differentiation.py +0 -0
  120. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_contact.py +0 -0
  121. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_exceptions.py +0 -0
  122. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_pytree.py +0 -0
  123. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/test_simulations.py +0 -0
  124. {jaxsim-0.4.3.dev97 → jaxsim-0.4.3.dev100}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.4.3.dev97
3
+ Version: 0.4.3.dev100
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>
6
6
  Maintainer-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippo.ferretti@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.4.3.dev97'
16
- __version_tuple__ = version_tuple = (0, 4, 3, 'dev97')
15
+ __version__ = version = '0.4.3.dev100'
16
+ __version_tuple__ = version_tuple = (0, 4, 3, 'dev100')
@@ -208,6 +208,7 @@ def collidable_point_dynamics(
208
208
  data=data,
209
209
  link_forces=link_forces,
210
210
  joint_force_references=joint_force_references,
211
+ solver_tol=1e-3,
211
212
  )
212
213
 
213
214
  aux_data = dict()
@@ -215,6 +215,7 @@ class RigidContacts(ContactModel):
215
215
  link_forces: jtp.MatrixLike | None = None,
216
216
  joint_force_references: jtp.VectorLike | None = None,
217
217
  regularization_term: jtp.FloatLike = 1e-6,
218
+ solver_tol: jtp.FloatLike = 1e-3,
218
219
  ) -> tuple[jtp.Vector, tuple[Any, ...]]:
219
220
  """
220
221
  Compute the contact forces.
@@ -257,6 +258,9 @@ class RigidContacts(ContactModel):
257
258
  M = js.model.free_floating_mass_matrix(model=model, data=data)
258
259
  J_WC = js.contact.jacobian(model=model, data=data)
259
260
  W_H_C = js.contact.transforms(model=model, data=data)
261
+ J̇_WC_BW = js.contact.jacobian_derivative(model=model, data=data)
262
+ BW_ν = data.generalized_velocity()
263
+
260
264
  terrain_height = jax.vmap(self.terrain.height)(position[:, 0], position[:, 1])
261
265
  n_collidable_points = model.kin_dyn_parameters.contact_parameters.point.shape[0]
262
266
 
@@ -295,9 +299,10 @@ class RigidContacts(ContactModel):
295
299
  )
296
300
 
297
301
  free_contact_acc = RigidContacts._linear_acceleration_of_collidable_points(
298
- model,
299
- data,
300
- BW_ν̇_free,
302
+ BW_nu=BW_ν,
303
+ BW_nu_dot=BW_ν̇_free,
304
+ CW_J_WC_BW=J_WC,
305
+ CW_J_dot_WC_BW=J̇_WC_BW,
301
306
  ).flatten()
302
307
 
303
308
  # Compute stabilization term
@@ -325,7 +330,9 @@ class RigidContacts(ContactModel):
325
330
  b = jnp.zeros((0,))
326
331
 
327
332
  # Solve the optimization problem
328
- solution, *_ = qpax.solve_qp(Q=Q, q=q, A=A, b=b, G=G, h=h_bounds)
333
+ solution, *_ = qpax.solve_qp(
334
+ Q=Q, q=q, A=A, b=b, G=G, h=h_bounds, solver_tol=solver_tol
335
+ )
329
336
 
330
337
  f_C_lin = solution.reshape(-1, 3)
331
338
 
@@ -399,24 +406,14 @@ class RigidContacts(ContactModel):
399
406
 
400
407
  @staticmethod
401
408
  def _linear_acceleration_of_collidable_points(
402
- model: js.model.JaxSimModel,
403
- data: js.data.JaxSimModelData,
404
- mixed_nu_dot: jtp.ArrayLike,
409
+ BW_nu: jtp.ArrayLike,
410
+ BW_nu_dot: jtp.ArrayLike,
411
+ CW_J_WC_BW: jtp.MatrixLike,
412
+ CW_J_dot_WC_BW: jtp.MatrixLike,
405
413
  ) -> jtp.Matrix:
406
- with data.switch_velocity_representation(VelRepr.Mixed):
407
- CW_J_WC_BW = js.contact.jacobian(
408
- model=model,
409
- data=data,
410
- output_vel_repr=VelRepr.Mixed,
411
- )
412
- CW_J̇_WC_BW = js.contact.jacobian_derivative(
413
- model=model,
414
- data=data,
415
- output_vel_repr=VelRepr.Mixed,
416
- )
417
-
418
- BW_ν = data.generalized_velocity()
419
- BW_ν̇ = mixed_nu_dot
414
+ CW_J̇_WC_BW = CW_J_dot_WC_BW
415
+ BW_ν = BW_nu
416
+ BW_ν̇ = BW_nu_dot
420
417
 
421
418
  CW_a_WC = jnp.vstack(CW_J̇_WC_BW) @ BW_ν + jnp.vstack(CW_J_WC_BW) @ BW_ν̇
422
419
  CW_a_WC = CW_a_WC.reshape(-1, 6)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: jaxsim
3
- Version: 0.4.3.dev97
3
+ Version: 0.4.3.dev100
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>
6
6
  Maintainer-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippo.ferretti@iit.it>
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes