jaxsim 0.5.1.dev162__tar.gz → 0.5.1.dev166__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 (135) hide show
  1. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/PKG-INFO +1 -1
  2. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/_version.py +2 -2
  3. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/__init__.py +1 -1
  4. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/loaders.py +59 -0
  5. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/visualizer.py +7 -3
  6. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim.egg-info/PKG-INFO +1 -1
  7. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.devcontainer/Dockerfile +0 -0
  8. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.devcontainer/devcontainer.json +0 -0
  9. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.gitattributes +0 -0
  10. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.github/CODEOWNERS +0 -0
  11. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.github/dependabot.yml +0 -0
  12. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.github/workflows/ci_cd.yml +0 -0
  13. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.github/workflows/pixi.yml +0 -0
  14. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.github/workflows/read_the_docs.yml +0 -0
  15. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.gitignore +0 -0
  16. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.pre-commit-config.yaml +0 -0
  17. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/.readthedocs.yaml +0 -0
  18. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/CONTRIBUTING.md +0 -0
  19. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/LICENSE +0 -0
  20. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/README.md +0 -0
  21. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/Makefile +0 -0
  22. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/conf.py +0 -0
  23. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/examples.rst +0 -0
  24. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/guide/configuration.rst +0 -0
  25. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/guide/install.rst +0 -0
  26. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/index.rst +0 -0
  27. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/make.bat +0 -0
  28. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/api.rst +0 -0
  29. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/integrators.rst +0 -0
  30. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/math.rst +0 -0
  31. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/mujoco.rst +0 -0
  32. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/parsers.rst +0 -0
  33. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/rbda.rst +0 -0
  34. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/typing.rst +0 -0
  35. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/docs/modules/utils.rst +0 -0
  36. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/environment.yml +0 -0
  37. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/.gitattributes +0 -0
  38. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/.gitignore +0 -0
  39. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/README.md +0 -0
  40. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/assets/build_cartpole_urdf.py +0 -0
  41. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/assets/cartpole.urdf +0 -0
  42. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
  43. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/jaxsim_as_physics_engine.ipynb +0 -0
  44. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
  45. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
  46. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/pixi.lock +0 -0
  47. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/pyproject.toml +0 -0
  48. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/setup.cfg +0 -0
  49. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/setup.py +0 -0
  50. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/__init__.py +0 -0
  51. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/__init__.py +0 -0
  52. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/com.py +0 -0
  53. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/common.py +0 -0
  54. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/contact.py +0 -0
  55. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/data.py +0 -0
  56. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/frame.py +0 -0
  57. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/joint.py +0 -0
  58. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
  59. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/link.py +0 -0
  60. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/model.py +0 -0
  61. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/ode.py +0 -0
  62. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/ode_data.py +0 -0
  63. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/api/references.py +0 -0
  64. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/exceptions.py +0 -0
  65. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/integrators/__init__.py +0 -0
  66. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/integrators/common.py +0 -0
  67. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/integrators/fixed_step.py +0 -0
  68. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/integrators/variable_step.py +0 -0
  69. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/logging.py +0 -0
  70. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/__init__.py +0 -0
  71. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/adjoint.py +0 -0
  72. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/cross.py +0 -0
  73. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/inertia.py +0 -0
  74. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/joint_model.py +0 -0
  75. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/quaternion.py +0 -0
  76. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/rotation.py +0 -0
  77. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/skew.py +0 -0
  78. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/transform.py +0 -0
  79. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/math/utils.py +0 -0
  80. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/__main__.py +0 -0
  81. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/model.py +0 -0
  82. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/mujoco/utils.py +0 -0
  83. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/__init__.py +0 -0
  84. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
  85. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/descriptions/collision.py +0 -0
  86. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/descriptions/joint.py +0 -0
  87. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/descriptions/link.py +0 -0
  88. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/descriptions/model.py +0 -0
  89. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/kinematic_graph.py +0 -0
  90. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/rod/__init__.py +0 -0
  91. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/rod/meshes.py +0 -0
  92. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/rod/parser.py +0 -0
  93. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/parsers/rod/utils.py +0 -0
  94. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/__init__.py +0 -0
  95. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/aba.py +0 -0
  96. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/collidable_points.py +0 -0
  97. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/__init__.py +0 -0
  98. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/common.py +0 -0
  99. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
  100. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/rigid.py +0 -0
  101. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/soft.py +0 -0
  102. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
  103. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/crba.py +0 -0
  104. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/forward_kinematics.py +0 -0
  105. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/jacobian.py +0 -0
  106. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/rnea.py +0 -0
  107. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/rbda/utils.py +0 -0
  108. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/terrain/__init__.py +0 -0
  109. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/terrain/terrain.py +0 -0
  110. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/typing.py +0 -0
  111. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/utils/__init__.py +0 -0
  112. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
  113. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/utils/tracing.py +0 -0
  114. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim/utils/wrappers.py +0 -0
  115. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim.egg-info/SOURCES.txt +0 -0
  116. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim.egg-info/dependency_links.txt +0 -0
  117. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim.egg-info/requires.txt +0 -0
  118. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/src/jaxsim.egg-info/top_level.txt +0 -0
  119. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/__init__.py +0 -0
  120. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/conftest.py +0 -0
  121. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_com.py +0 -0
  122. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_contact.py +0 -0
  123. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_data.py +0 -0
  124. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_frame.py +0 -0
  125. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_joint.py +0 -0
  126. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_link.py +0 -0
  127. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_api_model.py +0 -0
  128. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_automatic_differentiation.py +0 -0
  129. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_benchmark.py +0 -0
  130. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_contact.py +0 -0
  131. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_exceptions.py +0 -0
  132. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_meshes.py +0 -0
  133. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_pytree.py +0 -0
  134. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/tests/test_simulations.py +0 -0
  135. {jaxsim-0.5.1.dev162 → jaxsim-0.5.1.dev166}/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.dev162
3
+ Version: 0.5.1.dev166
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.dev162'
16
- __version_tuple__ = version_tuple = (0, 5, 1, 'dev162')
15
+ __version__ = version = '0.5.1.dev166'
16
+ __version_tuple__ = version_tuple = (0, 5, 1, 'dev166')
@@ -1,4 +1,4 @@
1
- from .loaders import RodModelToMjcf, SdfToMjcf, UrdfToMjcf
1
+ from .loaders import ModelToMjcf, RodModelToMjcf, SdfToMjcf, UrdfToMjcf
2
2
  from .model import MujocoModelHelper
3
3
  from .utils import mujoco_data_from_jaxsim
4
4
  from .visualizer import MujocoVideoRecorder, MujocoVisualizer
@@ -9,6 +9,8 @@ import numpy as np
9
9
  import rod.urdf.exporter
10
10
  from lxml import etree as ET
11
11
 
12
+ from jaxsim import logging
13
+
12
14
  from .utils import MujocoCamera
13
15
 
14
16
  MujocoCameraType = (
@@ -61,6 +63,59 @@ def load_rod_model(
61
63
  return models[model_name]
62
64
 
63
65
 
66
+ class ModelToMjcf:
67
+ """
68
+ Class to convert a URDF/SDF file or a ROD model to a Mujoco MJCF string.
69
+ """
70
+
71
+ @staticmethod
72
+ def convert(
73
+ model: str | pathlib.Path | rod.Model,
74
+ considered_joints: list[str] | None = None,
75
+ plane_normal: tuple[float, float, float] = (0, 0, 1),
76
+ heightmap: bool | None = None,
77
+ heightmap_samples_xy: tuple[int, int] = (101, 101),
78
+ cameras: MujocoCameraType = (),
79
+ ) -> tuple[str, dict[str, Any]]:
80
+ """
81
+ Convert a model to a Mujoco MJCF string.
82
+
83
+ Args:
84
+ model: The URDF/SDF file or ROD model to convert.
85
+ considered_joints: The list of joint names to consider in the conversion.
86
+ plane_normal: The normal vector of the plane.
87
+ heightmap: Whether to generate a heightmap.
88
+ heightmap_samples_xy: The number of points in the heightmap grid.
89
+ cameras: The custom cameras to add to the scene.
90
+
91
+ Returns:
92
+ A tuple containing the MJCF string and the dictionary of assets.
93
+ """
94
+
95
+ match model:
96
+ case rod.Model():
97
+ rod_model = model
98
+ case str() | pathlib.Path():
99
+ # Convert the JaxSim model to a ROD model.
100
+ rod_model = load_rod_model(
101
+ model_description=model,
102
+ is_urdf=None,
103
+ model_name=None,
104
+ )
105
+ case _:
106
+ raise TypeError(f"Unsupported type for 'model': {type(model)}")
107
+
108
+ # Convert the ROD model to MJCF.
109
+ return RodModelToMjcf.convert(
110
+ rod_model=rod_model,
111
+ considered_joints=considered_joints,
112
+ plane_normal=plane_normal,
113
+ heightmap=heightmap,
114
+ heightmap_samples_xy=heightmap_samples_xy,
115
+ cameras=cameras,
116
+ )
117
+
118
+
64
119
  class RodModelToMjcf:
65
120
  """
66
121
  Class to convert a ROD model to a Mujoco MJCF string.
@@ -552,6 +607,8 @@ class UrdfToMjcf:
552
607
  tuple: A tuple containing the MJCF string and the assets dictionary.
553
608
  """
554
609
 
610
+ logging.warning("This method is deprecated. Use 'ModelToMjcf.convert' instead.")
611
+
555
612
  # Get the ROD model.
556
613
  rod_model = load_rod_model(
557
614
  model_description=urdf,
@@ -598,6 +655,8 @@ class SdfToMjcf:
598
655
  tuple: A tuple containing the MJCF string and the assets dictionary.
599
656
  """
600
657
 
658
+ logging.warning("This method is deprecated. Use 'ModelToMjcf.convert' instead.")
659
+
601
660
  # Get the ROD model.
602
661
  rod_model = load_rod_model(
603
662
  model_description=sdf,
@@ -152,7 +152,10 @@ class MujocoVisualizer:
152
152
  viewer.sync()
153
153
 
154
154
  def open_viewer(
155
- self, model: mj.MjModel | None = None, data: mj.MjData | None = None
155
+ self,
156
+ model: mj.MjModel | None = None,
157
+ data: mj.MjData | None = None,
158
+ show_left_ui: bool = False,
156
159
  ) -> mj.viewer.Handle:
157
160
  """Open a viewer."""
158
161
 
@@ -160,7 +163,7 @@ class MujocoVisualizer:
160
163
  model = model if model is not None else self.model
161
164
 
162
165
  handle = mj.viewer.launch_passive(
163
- model, data, show_left_ui=False, show_right_ui=False
166
+ model, data, show_left_ui=show_left_ui, show_right_ui=False
164
167
  )
165
168
 
166
169
  return handle
@@ -171,6 +174,7 @@ class MujocoVisualizer:
171
174
  model: mj.MjModel | None = None,
172
175
  data: mj.MjData | None = None,
173
176
  *,
177
+ show_left_ui: bool = False,
174
178
  close_on_exit: bool = True,
175
179
  lookat: Sequence[float | int] | npt.NDArray | None = None,
176
180
  distance: float | int | npt.NDArray | None = None,
@@ -185,7 +189,7 @@ class MujocoVisualizer:
185
189
  https://mujoco.readthedocs.io/en/stable/XMLreference.html#visual-global
186
190
  """
187
191
 
188
- handle = self.open_viewer(model=model, data=data)
192
+ handle = self.open_viewer(model=model, data=data, show_left_ui=show_left_ui)
189
193
 
190
194
  handle = MujocoVisualizer.setup_viewer_camera(
191
195
  viewer=handle,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: jaxsim
3
- Version: 0.5.1.dev162
3
+ Version: 0.5.1.dev166
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