jaxsim 0.5.1.dev166__tar.gz → 0.6.0__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.5.1.dev166 → jaxsim-0.6.0}/PKG-INFO +1 -1
  2. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/jaxsim_for_robot_controllers.ipynb +1 -1
  3. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/_version.py +2 -2
  4. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/utils.py +4 -4
  5. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/visualizer.py +5 -5
  6. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim.egg-info/PKG-INFO +1 -1
  7. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim.egg-info/SOURCES.txt +1 -0
  8. jaxsim-0.6.0/tests/test_visualizer.py +64 -0
  9. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.devcontainer/Dockerfile +0 -0
  10. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.devcontainer/devcontainer.json +0 -0
  11. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.gitattributes +0 -0
  12. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.github/CODEOWNERS +0 -0
  13. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.github/dependabot.yml +0 -0
  14. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.github/workflows/ci_cd.yml +0 -0
  15. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.github/workflows/pixi.yml +0 -0
  16. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.github/workflows/read_the_docs.yml +0 -0
  17. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.gitignore +0 -0
  18. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.pre-commit-config.yaml +0 -0
  19. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/.readthedocs.yaml +0 -0
  20. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/CONTRIBUTING.md +0 -0
  21. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/LICENSE +0 -0
  22. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/README.md +0 -0
  23. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/Makefile +0 -0
  24. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/conf.py +0 -0
  25. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/examples.rst +0 -0
  26. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/guide/configuration.rst +0 -0
  27. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/guide/install.rst +0 -0
  28. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/index.rst +0 -0
  29. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/make.bat +0 -0
  30. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/api.rst +0 -0
  31. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/integrators.rst +0 -0
  32. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/math.rst +0 -0
  33. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/mujoco.rst +0 -0
  34. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/parsers.rst +0 -0
  35. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/rbda.rst +0 -0
  36. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/typing.rst +0 -0
  37. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/docs/modules/utils.rst +0 -0
  38. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/environment.yml +0 -0
  39. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/.gitattributes +0 -0
  40. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/.gitignore +0 -0
  41. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/README.md +0 -0
  42. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/assets/build_cartpole_urdf.py +0 -0
  43. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/assets/cartpole.urdf +0 -0
  44. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  45. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  46. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
  47. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/pixi.lock +0 -0
  48. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/pyproject.toml +0 -0
  49. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/setup.cfg +0 -0
  50. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/setup.py +0 -0
  51. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/__init__.py +0 -0
  52. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/__init__.py +0 -0
  53. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/com.py +0 -0
  54. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/common.py +0 -0
  55. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/contact.py +0 -0
  56. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/data.py +0 -0
  57. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/frame.py +0 -0
  58. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/joint.py +0 -0
  59. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  60. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/link.py +0 -0
  61. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/model.py +0 -0
  62. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/ode.py +0 -0
  63. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/ode_data.py +0 -0
  64. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/api/references.py +0 -0
  65. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/exceptions.py +0 -0
  66. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/integrators/__init__.py +0 -0
  67. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/integrators/common.py +0 -0
  68. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/integrators/fixed_step.py +0 -0
  69. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/integrators/variable_step.py +0 -0
  70. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/logging.py +0 -0
  71. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/__init__.py +0 -0
  72. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/adjoint.py +0 -0
  73. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/cross.py +0 -0
  74. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/inertia.py +0 -0
  75. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/joint_model.py +0 -0
  76. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/quaternion.py +0 -0
  77. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/rotation.py +0 -0
  78. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/skew.py +0 -0
  79. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/transform.py +0 -0
  80. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/math/utils.py +0 -0
  81. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/__init__.py +0 -0
  82. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/__main__.py +0 -0
  83. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/loaders.py +0 -0
  84. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/mujoco/model.py +0 -0
  85. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/__init__.py +0 -0
  86. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  87. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  88. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  89. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/descriptions/link.py +0 -0
  90. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/descriptions/model.py +0 -0
  91. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  92. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/rod/__init__.py +0 -0
  93. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/rod/meshes.py +0 -0
  94. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/rod/parser.py +0 -0
  95. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/parsers/rod/utils.py +0 -0
  96. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/__init__.py +0 -0
  97. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/aba.py +0 -0
  98. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/collidable_points.py +0 -0
  99. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  100. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/common.py +0 -0
  101. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  102. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  103. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/soft.py +0 -0
  104. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  105. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/crba.py +0 -0
  106. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  107. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/jacobian.py +0 -0
  108. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/rnea.py +0 -0
  109. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/rbda/utils.py +0 -0
  110. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/terrain/__init__.py +0 -0
  111. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/terrain/terrain.py +0 -0
  112. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/typing.py +0 -0
  113. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/utils/__init__.py +0 -0
  114. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  115. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/utils/tracing.py +0 -0
  116. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim/utils/wrappers.py +0 -0
  117. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  118. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim.egg-info/requires.txt +0 -0
  119. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/src/jaxsim.egg-info/top_level.txt +0 -0
  120. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/__init__.py +0 -0
  121. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/conftest.py +0 -0
  122. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_com.py +0 -0
  123. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_contact.py +0 -0
  124. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_data.py +0 -0
  125. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_frame.py +0 -0
  126. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_joint.py +0 -0
  127. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_link.py +0 -0
  128. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_api_model.py +0 -0
  129. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_automatic_differentiation.py +0 -0
  130. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_benchmark.py +0 -0
  131. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_contact.py +0 -0
  132. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_exceptions.py +0 -0
  133. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_meshes.py +0 -0
  134. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_pytree.py +0 -0
  135. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/test_simulations.py +0 -0
  136. {jaxsim-0.5.1.dev166 → jaxsim-0.6.0}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev166
3
+ Version: 0.6.0
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>
@@ -187,7 +187,7 @@
187
187
  " in_link_frame=False,\n",
188
188
  " ),\n",
189
189
  " distance=3,\n",
190
- " azimut=150,\n",
190
+ " azimuth=150,\n",
191
191
  " elevation=-10,\n",
192
192
  " ),\n",
193
193
  ")\n",
@@ -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.dev166'
16
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev166')
15
+ __version__ = version = '0.6.0'
16
+ __version_tuple__ = version_tuple = (0, 6, 0)
@@ -147,7 +147,7 @@ class MujocoCamera:
147
147
  camera_name: str,
148
148
  lookat: Sequence[float | int] | npt.NDArray = (0, 0, 0),
149
149
  distance: float | int | npt.NDArray = 3,
150
- azimut: float | int | npt.NDArray = 90,
150
+ azimuth: float | int | npt.NDArray = 90,
151
151
  elevation: float | int | npt.NDArray = -45,
152
152
  fovy: float | int | npt.NDArray = 45,
153
153
  degrees: bool = True,
@@ -170,7 +170,7 @@ class MujocoCamera:
170
170
  distance:
171
171
  The distance from the target point (displacement between the origins
172
172
  of `T` and `C`).
173
- azimut:
173
+ azimuth:
174
174
  The rotation around z of the camera. With an angle of 0, the camera
175
175
  would loot at the target point towards the positive x-axis of `T`.
176
176
  elevation:
@@ -193,8 +193,8 @@ class MujocoCamera:
193
193
  seq="ZX", angles=[-90, 90], degrees=True
194
194
  ).as_matrix()
195
195
 
196
- # Process the azimut.
197
- R_az = Rotation.from_euler(seq="Y", angles=azimut, degrees=degrees).as_matrix()
196
+ # Process the azimuth.
197
+ R_az = Rotation.from_euler(seq="Y", angles=azimuth, degrees=degrees).as_matrix()
198
198
  W_H_C[0:3, 0:3] = W_H_C[0:3, 0:3] @ R_az
199
199
 
200
200
  # Process elevation.
@@ -178,7 +178,7 @@ class MujocoVisualizer:
178
178
  close_on_exit: bool = True,
179
179
  lookat: Sequence[float | int] | npt.NDArray | None = None,
180
180
  distance: float | int | npt.NDArray | None = None,
181
- azimut: float | int | npt.NDArray | None = None,
181
+ azimuth: float | int | npt.NDArray | None = None,
182
182
  elevation: float | int | npt.NDArray | None = None,
183
183
  ) -> contextlib.AbstractContextManager[mujoco.viewer.Handle]:
184
184
  """
@@ -195,7 +195,7 @@ class MujocoVisualizer:
195
195
  viewer=handle,
196
196
  lookat=lookat,
197
197
  distance=distance,
198
- azimut=azimut,
198
+ azimuth=azimuth,
199
199
  elevation=elevation,
200
200
  )
201
201
 
@@ -210,7 +210,7 @@ class MujocoVisualizer:
210
210
  *,
211
211
  lookat: Sequence[float | int] | npt.NDArray | None,
212
212
  distance: float | int | npt.NDArray | None = None,
213
- azimut: float | int | npt.NDArray | None = None,
213
+ azimuth: float | int | npt.NDArray | None = None,
214
214
  elevation: float | int | npt.NDArray | None = None,
215
215
  ) -> mj.viewer.Handle:
216
216
  """
@@ -236,8 +236,8 @@ class MujocoVisualizer:
236
236
  if distance is not None:
237
237
  viewer.cam.distance = float(distance)
238
238
 
239
- if azimut is not None:
240
- viewer.cam.azimuth = float(azimut) % 360
239
+ if azimuth is not None:
240
+ viewer.cam.azimuth = float(azimuth) % 360
241
241
 
242
242
  if elevation is not None:
243
243
  viewer.cam.elevation = float(elevation)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev166
3
+ Version: 0.6.0
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>
@@ -130,4 +130,5 @@ tests/test_exceptions.py
130
130
  tests/test_meshes.py
131
131
  tests/test_pytree.py
132
132
  tests/test_simulations.py
133
+ tests/test_visualizer.py
133
134
  tests/utils_idyntree.py
@@ -0,0 +1,64 @@
1
+ import pytest
2
+ import rod
3
+
4
+ from jaxsim.mujoco import ModelToMjcf
5
+ from jaxsim.mujoco.loaders import MujocoCamera
6
+
7
+
8
+ @pytest.fixture
9
+ def mujoco_camera():
10
+
11
+ return MujocoCamera.build_from_target_view(
12
+ camera_name="test_camera",
13
+ lookat=(0, 0, 0),
14
+ distance=1,
15
+ azimuth=0,
16
+ elevation=0,
17
+ fovy=45,
18
+ degrees=True,
19
+ )
20
+
21
+
22
+ def test_urdf_loading(jaxsim_model_single_pendulum, mujoco_camera):
23
+ model = jaxsim_model_single_pendulum.built_from
24
+
25
+ _ = ModelToMjcf.convert(model=model, cameras=mujoco_camera)
26
+
27
+
28
+ def test_sdf_loading(jaxsim_model_single_pendulum, mujoco_camera):
29
+
30
+ model = rod.Sdf.load(sdf=jaxsim_model_single_pendulum.built_from).serialize(
31
+ pretty=True
32
+ )
33
+
34
+ _ = ModelToMjcf.convert(model=model, cameras=mujoco_camera)
35
+
36
+
37
+ def test_rod_loading(jaxsim_model_single_pendulum, mujoco_camera):
38
+
39
+ model = rod.Sdf.load(sdf=jaxsim_model_single_pendulum.built_from).models()[0]
40
+
41
+ _ = ModelToMjcf.convert(model=model, cameras=mujoco_camera)
42
+
43
+
44
+ def test_heightmap(jaxsim_model_single_pendulum, mujoco_camera):
45
+
46
+ model = rod.Sdf.load(sdf=jaxsim_model_single_pendulum.built_from).models()[0]
47
+
48
+ _ = ModelToMjcf.convert(
49
+ model=model,
50
+ cameras=mujoco_camera,
51
+ heightmap=True,
52
+ heightmap_samples_xy=(51, 51),
53
+ )
54
+
55
+
56
+ def test_inclined_plane(jaxsim_model_single_pendulum, mujoco_camera):
57
+
58
+ model = rod.Sdf.load(sdf=jaxsim_model_single_pendulum.built_from).models()[0]
59
+
60
+ _ = ModelToMjcf.convert(
61
+ model=model,
62
+ cameras=mujoco_camera,
63
+ plane_normal=(0.3, 0.3, 0.3),
64
+ )
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes