jaxsim 0.6.2.dev162__tar.gz → 0.6.2.dev179__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.dev179/.github/workflows/gpu_benchmark.yml +104 -0
  2. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/PKG-INFO +1 -1
  3. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/_version.py +2 -2
  4. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/model.py +28 -0
  5. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim.egg-info/PKG-INFO +1 -1
  6. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim.egg-info/SOURCES.txt +1 -0
  7. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_benchmark.py +15 -0
  8. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.devcontainer/Dockerfile +0 -0
  9. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.devcontainer/devcontainer.json +0 -0
  10. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.gitattributes +0 -0
  11. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.github/CODEOWNERS +0 -0
  12. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.github/dependabot.yml +0 -0
  13. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.github/workflows/ci_cd.yml +0 -0
  14. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.github/workflows/pixi.yml +0 -0
  15. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.github/workflows/read_the_docs.yml +0 -0
  16. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.gitignore +0 -0
  17. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.pre-commit-config.yaml +0 -0
  18. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/.readthedocs.yaml +0 -0
  19. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/CONTRIBUTING.md +0 -0
  20. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/LICENSE +0 -0
  21. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/README.md +0 -0
  22. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/Makefile +0 -0
  23. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/conf.py +0 -0
  24. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/examples.rst +0 -0
  25. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/guide/configuration.rst +0 -0
  26. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/guide/install.rst +0 -0
  27. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/index.rst +0 -0
  28. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/make.bat +0 -0
  29. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/api.rst +0 -0
  30. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/math.rst +0 -0
  31. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/mujoco.rst +0 -0
  32. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/parsers.rst +0 -0
  33. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/rbda.rst +0 -0
  34. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/typing.rst +0 -0
  35. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/docs/modules/utils.rst +0 -0
  36. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/environment.yml +0 -0
  37. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/.gitattributes +0 -0
  38. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/.gitignore +0 -0
  39. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/README.md +0 -0
  40. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/assets/build_cartpole_urdf.py +0 -0
  41. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/assets/cartpole.urdf +0 -0
  42. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  43. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  44. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
  45. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  46. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/pixi.lock +0 -0
  47. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/pyproject.toml +0 -0
  48. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/setup.cfg +0 -0
  49. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/setup.py +0 -0
  50. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/__init__.py +0 -0
  51. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/__init__.py +0 -0
  52. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/actuation_model.py +0 -0
  53. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/com.py +0 -0
  54. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/common.py +0 -0
  55. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/contact.py +0 -0
  56. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/contact_model.py +0 -0
  57. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/data.py +0 -0
  58. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/frame.py +0 -0
  59. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/integrators.py +0 -0
  60. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/joint.py +0 -0
  61. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  62. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/link.py +0 -0
  63. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/ode.py +0 -0
  64. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/api/references.py +0 -0
  65. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/exceptions.py +0 -0
  66. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/logging.py +0 -0
  67. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/__init__.py +0 -0
  68. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/adjoint.py +0 -0
  69. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/cross.py +0 -0
  70. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/inertia.py +0 -0
  71. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/joint_model.py +0 -0
  72. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/quaternion.py +0 -0
  73. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/rotation.py +0 -0
  74. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/skew.py +0 -0
  75. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/transform.py +0 -0
  76. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/math/utils.py +0 -0
  77. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/__init__.py +0 -0
  78. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/__main__.py +0 -0
  79. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/loaders.py +0 -0
  80. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/model.py +0 -0
  81. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/utils.py +0 -0
  82. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/mujoco/visualizer.py +0 -0
  83. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/__init__.py +0 -0
  84. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  85. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  86. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  87. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/descriptions/link.py +0 -0
  88. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/descriptions/model.py +0 -0
  89. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  90. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/rod/__init__.py +0 -0
  91. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/rod/meshes.py +0 -0
  92. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/rod/parser.py +0 -0
  93. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/parsers/rod/utils.py +0 -0
  94. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/__init__.py +0 -0
  95. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/aba.py +0 -0
  96. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/collidable_points.py +0 -0
  97. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  98. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/contacts/common.py +0 -0
  99. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  100. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/crba.py +0 -0
  101. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  102. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/jacobian.py +0 -0
  103. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/rnea.py +0 -0
  104. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/rbda/utils.py +0 -0
  105. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/terrain/__init__.py +0 -0
  106. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/terrain/terrain.py +0 -0
  107. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/typing.py +0 -0
  108. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/utils/__init__.py +0 -0
  109. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  110. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/utils/tracing.py +0 -0
  111. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim/utils/wrappers.py +0 -0
  112. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  113. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim.egg-info/requires.txt +0 -0
  114. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/src/jaxsim.egg-info/top_level.txt +0 -0
  115. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/__init__.py +0 -0
  116. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/conftest.py +0 -0
  117. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_com.py +0 -0
  118. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_contact.py +0 -0
  119. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_data.py +0 -0
  120. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_frame.py +0 -0
  121. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_joint.py +0 -0
  122. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_link.py +0 -0
  123. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_api_model.py +0 -0
  124. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_automatic_differentiation.py +0 -0
  125. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_contact.py +0 -0
  126. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_exceptions.py +0 -0
  127. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_meshes.py +0 -0
  128. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_pytree.py +0 -0
  129. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_simulations.py +0 -0
  130. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/test_visualizer.py +0 -0
  131. {jaxsim-0.6.2.dev162 → jaxsim-0.6.2.dev179}/tests/utils_idyntree.py +0 -0
@@ -0,0 +1,104 @@
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: Get main branch SHA
39
+ id: get-main-branch-sha
40
+ run: |
41
+ git config --global --add safe.directory /__w/jaxsim/jaxsim
42
+ SHA=$(git rev-parse origin/main)
43
+ echo "sha=$SHA" >> $GITHUB_OUTPUT
44
+
45
+ - name: Get benchmark results from main branch
46
+ id: cache
47
+ uses: actions/cache/restore@v4
48
+ with:
49
+ path: ./cache
50
+ key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-benchmark
51
+
52
+ - name: Run benchmark and store result
53
+ run: |
54
+ 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
55
+
56
+ - name: Compare benchmark results with main branch
57
+ uses: benchmark-action/github-action-benchmark@v1.20.4
58
+ if: steps.cache.outputs.cache-hit == 'true'
59
+ with:
60
+ tool: 'pytest'
61
+ output-file-path: output.json
62
+ external-data-json-path: ./cache/benchmark-data.json
63
+ save-data-file: false
64
+ fail-on-alert: true
65
+ summary-always: true
66
+ comment-always: true
67
+ alert-threshold: 150%
68
+ github-token: ${{ secrets.GITHUB_TOKEN }}
69
+
70
+ - name: Store benchmark result for main branch
71
+ uses: benchmark-action/github-action-benchmark@v1.20.4
72
+ if: ${{ github.ref_name == 'main' }}
73
+ with:
74
+ tool: 'pytest'
75
+ output-file-path: output.json
76
+ external-data-json-path: ./cache/benchmark-data.json
77
+ save-data-file: true
78
+ fail-on-alert: false
79
+ summary-always: true
80
+ comment-always: true
81
+ alert-threshold: 150%
82
+ github-token: ${{ secrets.GITHUB_TOKEN }}
83
+
84
+ - name: Publish Benchmark Results to GitHub Pages
85
+ uses: benchmark-action/github-action-benchmark@v1.20.4
86
+ if: ${{ github.ref_name == 'main' }}
87
+ with:
88
+ tool: 'pytest'
89
+ output-file-path: output.json
90
+ benchmark-data-dir-path: "benchmarks"
91
+ fail-on-alert: false
92
+ github-token: ${{ secrets.GITHUB_TOKEN }}
93
+ comment-on-alert: true
94
+ summary-always: true
95
+ save-data-file: true
96
+ alert-threshold: "150%"
97
+ auto-push: ${{ github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' }}
98
+
99
+ - name: Update Benchmark Results cache
100
+ uses: actions/cache/save@v4
101
+ if: ${{ github.ref_name == 'main' }}
102
+ with:
103
+ path: ./cache
104
+ key: ${{ steps.get-main-branch-sha.outputs.sha }}-${{ runner.os }}-benchmark
@@ -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.dev179
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.dev179'
21
+ __version_tuple__ = version_tuple = (0, 6, 2, 'dev179')
@@ -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.dev179
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