jaxsim 0.6.2.dev162__tar.gz → 0.6.2.dev175__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 (131) hide show
  1. jaxsim-0.6.2.dev175/.github/workflows/gpu_benchmark.yml +67 -0
  2. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/PKG-INFO +1 -1
  3. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/_version.py +2 -2
  4. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/model.py +28 -0
  5. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim.egg-info/PKG-INFO +1 -1
  6. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim.egg-info/SOURCES.txt +1 -0
  7. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_benchmark.py +15 -0
  8. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.devcontainer/Dockerfile +0 -0
  9. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.devcontainer/devcontainer.json +0 -0
  10. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.gitattributes +0 -0
  11. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.github/CODEOWNERS +0 -0
  12. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.github/dependabot.yml +0 -0
  13. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.github/workflows/ci_cd.yml +0 -0
  14. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.github/workflows/pixi.yml +0 -0
  15. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.github/workflows/read_the_docs.yml +0 -0
  16. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.gitignore +0 -0
  17. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.pre-commit-config.yaml +0 -0
  18. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/.readthedocs.yaml +0 -0
  19. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/CONTRIBUTING.md +0 -0
  20. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/LICENSE +0 -0
  21. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/README.md +0 -0
  22. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/Makefile +0 -0
  23. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/conf.py +0 -0
  24. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/examples.rst +0 -0
  25. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/guide/configuration.rst +0 -0
  26. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/guide/install.rst +0 -0
  27. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/index.rst +0 -0
  28. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/make.bat +0 -0
  29. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/api.rst +0 -0
  30. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/math.rst +0 -0
  31. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/mujoco.rst +0 -0
  32. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/parsers.rst +0 -0
  33. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/rbda.rst +0 -0
  34. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/typing.rst +0 -0
  35. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/docs/modules/utils.rst +0 -0
  36. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/environment.yml +0 -0
  37. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/.gitattributes +0 -0
  38. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/.gitignore +0 -0
  39. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/README.md +0 -0
  40. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/assets/build_cartpole_urdf.py +0 -0
  41. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/assets/cartpole.urdf +0 -0
  42. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  43. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  44. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
  45. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  46. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/pixi.lock +0 -0
  47. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/pyproject.toml +0 -0
  48. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/setup.cfg +0 -0
  49. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/setup.py +0 -0
  50. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/__init__.py +0 -0
  51. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/__init__.py +0 -0
  52. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/actuation_model.py +0 -0
  53. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/com.py +0 -0
  54. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/common.py +0 -0
  55. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/contact.py +0 -0
  56. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/contact_model.py +0 -0
  57. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/data.py +0 -0
  58. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/frame.py +0 -0
  59. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/integrators.py +0 -0
  60. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/joint.py +0 -0
  61. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  62. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/link.py +0 -0
  63. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/ode.py +0 -0
  64. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/api/references.py +0 -0
  65. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/exceptions.py +0 -0
  66. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/logging.py +0 -0
  67. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/__init__.py +0 -0
  68. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/adjoint.py +0 -0
  69. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/cross.py +0 -0
  70. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/inertia.py +0 -0
  71. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/joint_model.py +0 -0
  72. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/quaternion.py +0 -0
  73. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/rotation.py +0 -0
  74. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/skew.py +0 -0
  75. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/transform.py +0 -0
  76. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/math/utils.py +0 -0
  77. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/__init__.py +0 -0
  78. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/__main__.py +0 -0
  79. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/loaders.py +0 -0
  80. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/model.py +0 -0
  81. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/utils.py +0 -0
  82. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/mujoco/visualizer.py +0 -0
  83. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/__init__.py +0 -0
  84. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  85. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  86. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  87. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/descriptions/link.py +0 -0
  88. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/descriptions/model.py +0 -0
  89. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  90. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/rod/__init__.py +0 -0
  91. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/rod/meshes.py +0 -0
  92. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/rod/parser.py +0 -0
  93. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/parsers/rod/utils.py +0 -0
  94. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/__init__.py +0 -0
  95. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/aba.py +0 -0
  96. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/collidable_points.py +0 -0
  97. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  98. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/contacts/common.py +0 -0
  99. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  100. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/crba.py +0 -0
  101. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  102. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/jacobian.py +0 -0
  103. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/rnea.py +0 -0
  104. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/rbda/utils.py +0 -0
  105. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/terrain/__init__.py +0 -0
  106. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/terrain/terrain.py +0 -0
  107. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/typing.py +0 -0
  108. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/utils/__init__.py +0 -0
  109. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  110. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/utils/tracing.py +0 -0
  111. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim/utils/wrappers.py +0 -0
  112. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  113. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim.egg-info/requires.txt +0 -0
  114. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/src/jaxsim.egg-info/top_level.txt +0 -0
  115. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/__init__.py +0 -0
  116. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/conftest.py +0 -0
  117. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_com.py +0 -0
  118. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_contact.py +0 -0
  119. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_data.py +0 -0
  120. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_frame.py +0 -0
  121. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_joint.py +0 -0
  122. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_link.py +0 -0
  123. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_api_model.py +0 -0
  124. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_automatic_differentiation.py +0 -0
  125. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_contact.py +0 -0
  126. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_exceptions.py +0 -0
  127. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_meshes.py +0 -0
  128. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_pytree.py +0 -0
  129. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_simulations.py +0 -0
  130. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/test_visualizer.py +0 -0
  131. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev175}/tests/utils_idyntree.py +0 -0
@@ -0,0 +1,67 @@
1
+ name: GPU Benchmarks
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, reopened, synchronize]
6
+ workflow_dispatch:
7
+ schedule:
8
+ - cron: "0 0 * * 1" # Run At 00:00 on Monday
9
+
10
+ permissions:
11
+ pull-requests: write
12
+ deployments: write
13
+ contents: write
14
+
15
+ jobs:
16
+ benchmark:
17
+ runs-on: self-hosted
18
+ container:
19
+ image: ghcr.io/nvidia/jax:jax
20
+ options: --rm --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864
21
+
22
+ steps:
23
+ - name: Checkout repository
24
+ uses: actions/checkout@v4
25
+
26
+ - name: Set up environment
27
+ run: |
28
+ pip install .[all]
29
+
30
+ - name: Install Gazebo SDF
31
+ run: |
32
+ apt update && apt install -y lsb-release wget
33
+ sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
34
+ wget http://packages.osrfoundation.org/gazebo.key -O - | apt-key add -
35
+ apt-get update
36
+ apt install -y libsdformat14-dev libsdformat14
37
+
38
+ - name: Performance regression check
39
+ uses: actions/checkout@v4
40
+
41
+ - name: Run benchmark and store result
42
+ run: |
43
+ pytest tests/test_benchmark.py -k 'not test_rigid_contact_model and not test_soft_contact_model' --gpu-only --batch-size 128 --benchmark-only --benchmark-json output.json
44
+
45
+ - name: Download previous benchmark data
46
+ uses: actions/cache@v4
47
+ with:
48
+ path: ./cache
49
+ key: ${{ runner.os }}-benchmark
50
+
51
+ - name: Store benchmark result
52
+ uses: benchmark-action/github-action-benchmark@v1
53
+ with:
54
+ tool: 'pytest'
55
+ output-file-path: output.json
56
+ external-data-json-path: ./cache/benchmark-data.json
57
+ fail-on-alert: true
58
+ summary-always: true
59
+ comment-always: true
60
+ alert-threshold: 150%
61
+ auto-push: false
62
+ gh-pages-branch: gh-pages
63
+ github-token: ${{ secrets.GITHUB_TOKEN }}
64
+
65
+ - name: Push benchmark result
66
+ if: github.event_name != 'pull_request'
67
+ run: git push 'https://ami-iit:${{ secrets.GITHUB_TOKEN }}@github.com/ami-iit/jaxsim.git' gh-pages:gh-pages
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.6.2.dev162
3
+ Version: 0.6.2.dev175
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>
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '0.6.2.dev162'
21
- __version_tuple__ = version_tuple = (0, 6, 2, 'dev162')
20
+ __version__ = version = '0.6.2.dev175'
21
+ __version_tuple__ = version_tuple = (0, 6, 2, 'dev175')
@@ -1118,6 +1118,34 @@ def forward_dynamics_crb(
1118
1118
  return v̇_WB, s̈
1119
1119
 
1120
1120
 
1121
+ @jax.jit
1122
+ @js.common.named_scope
1123
+ def forward_kinematics(model: JaxSimModel, data: js.data.JaxSimModelData) -> jtp.Matrix:
1124
+ """
1125
+ Compute the forward kinematics of the model.
1126
+
1127
+ Args:
1128
+ model: The model to consider.
1129
+ data: The data of the considered model.
1130
+
1131
+ Returns:
1132
+ The nL x 4 x 4 array containing the stacked homogeneous transformations
1133
+ of the links. The first axis is the link index.
1134
+ """
1135
+
1136
+ W_H_LL, _ = jaxsim.rbda.forward_kinematics_model(
1137
+ model=model,
1138
+ base_position=data.base_position,
1139
+ base_quaternion=data.base_quaternion,
1140
+ joint_positions=data.joint_positions,
1141
+ joint_velocities=data.joint_velocities,
1142
+ base_linear_velocity_inertial=data._base_linear_velocity,
1143
+ base_angular_velocity_inertial=data._base_angular_velocity,
1144
+ )
1145
+
1146
+ return W_H_LL
1147
+
1148
+
1121
1149
  @jax.jit
1122
1150
  @js.common.named_scope
1123
1151
  def free_floating_mass_matrix(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.6.2.dev162
3
+ Version: 0.6.2.dev175
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>
@@ -14,6 +14,7 @@ setup.py
14
14
  .github/CODEOWNERS
15
15
  .github/dependabot.yml
16
16
  .github/workflows/ci_cd.yml
17
+ .github/workflows/gpu_benchmark.yml
17
18
  .github/workflows/pixi.yml
18
19
  .github/workflows/read_the_docs.yml
19
20
  docs/Makefile
@@ -104,6 +104,9 @@ def test_soft_contact_model(
104
104
  ):
105
105
  model = jaxsim_model_ergocub_reduced
106
106
 
107
+ with model.editable(validate=False) as model:
108
+ model.contact_model = jaxsim.rbda.contacts.SoftContacts()
109
+
107
110
  benchmark_test_function(js.ode.system_dynamics, model, benchmark, batch_size)
108
111
 
109
112
 
@@ -129,3 +132,15 @@ def test_relaxed_rigid_contact_model(
129
132
  model.contact_model = jaxsim.rbda.contacts.RelaxedRigidContacts()
130
133
 
131
134
  benchmark_test_function(js.ode.system_dynamics, model, benchmark, batch_size)
135
+
136
+
137
+ @pytest.mark.benchmark
138
+ def test_simulation_step(
139
+ jaxsim_model_ergocub_reduced: js.model.JaxSimModel, benchmark, batch_size
140
+ ):
141
+ model = jaxsim_model_ergocub_reduced
142
+
143
+ with model.editable(validate=False) as model:
144
+ model.contact_model = jaxsim.rbda.contacts.RelaxedRigidContacts()
145
+
146
+ benchmark_test_function(js.model.step, model, benchmark, batch_size)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes