jaxsim 0.5.1.dev60__tar.gz → 0.5.1.dev69__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.
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/PKG-INFO +1 -1
- jaxsim-0.5.1.dev69/docs/guide/configuration.rst +55 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/index.rst +1 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/_version.py +2 -2
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/rod/utils.py +31 -26
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim.egg-info/PKG-INFO +1 -1
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim.egg-info/SOURCES.txt +1 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.devcontainer/Dockerfile +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.devcontainer/devcontainer.json +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.gitattributes +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.github/CODEOWNERS +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.github/dependabot.yml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.github/workflows/ci_cd.yml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.github/workflows/pixi.yml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.github/workflows/read_the_docs.yml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.gitignore +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.pre-commit-config.yaml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/.readthedocs.yaml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/CONTRIBUTING.md +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/LICENSE +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/README.md +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/Makefile +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/conf.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/examples.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/guide/install.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/make.bat +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/api.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/integrators.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/math.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/mujoco.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/parsers.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/rbda.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/typing.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/docs/modules/utils.rst +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/environment.yml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/.gitattributes +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/.gitignore +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/README.md +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/assets/build_cartpole_urdf.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/assets/cartpole.urdf +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/jaxsim_as_physics_engine.ipynb +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/pixi.lock +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/pyproject.toml +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/setup.cfg +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/setup.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/com.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/common.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/contact.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/data.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/frame.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/joint.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/link.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/model.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/ode.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/ode_data.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/api/references.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/exceptions.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/integrators/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/integrators/common.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/integrators/fixed_step.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/integrators/variable_step.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/logging.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/adjoint.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/cross.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/inertia.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/joint_model.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/quaternion.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/rotation.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/skew.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/math/transform.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/__main__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/loaders.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/model.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/utils.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/mujoco/visualizer.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/descriptions/collision.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/descriptions/joint.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/descriptions/link.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/descriptions/model.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/kinematic_graph.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/rod/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/rod/meshes.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/parsers/rod/parser.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/aba.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/collidable_points.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/common.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/rigid.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/soft.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/crba.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/forward_kinematics.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/jacobian.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/rnea.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/rbda/utils.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/terrain/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/terrain/terrain.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/typing.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/utils/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/utils/tracing.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim/utils/wrappers.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim.egg-info/dependency_links.txt +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim.egg-info/requires.txt +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/src/jaxsim.egg-info/top_level.txt +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/__init__.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/conftest.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_com.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_contact.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_data.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_frame.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_joint.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_link.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_api_model.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_automatic_differentiation.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_benchmark.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_contact.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_exceptions.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_meshes.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_pytree.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/test_simulations.py +0 -0
- {jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.5.1.
|
3
|
+
Version: 0.5.1.dev69
|
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>
|
@@ -0,0 +1,55 @@
|
|
1
|
+
Configuration
|
2
|
+
=============
|
3
|
+
|
4
|
+
JaxSim utilizes environment variables for application configuration. Below is a detailed overview of the various configuration categories and their respective variables.
|
5
|
+
|
6
|
+
|
7
|
+
Collision Dynamics
|
8
|
+
~~~~~~~~~~~~~~~~~~
|
9
|
+
|
10
|
+
Environment variables starting with ``JAXSIM_COLLISION_`` are used to configure collision dynamics. The available variables are:
|
11
|
+
|
12
|
+
- ``JAXSIM_COLLISION_SPHERE_POINTS``: Specifies the number of collision points to approximate the sphere.
|
13
|
+
*Default:* ``50``.
|
14
|
+
|
15
|
+
- ``JAXSIM_COLLISION_MESH_ENABLED``: Enables or disables mesh-based collision detection.
|
16
|
+
*Default:* ``False``.
|
17
|
+
|
18
|
+
- ``JAXSIM_COLLISION_USE_BOTTOM_ONLY``: Limits collision detection to only the bottom half of the box or sphere.
|
19
|
+
*Default:* ``False``.
|
20
|
+
|
21
|
+
.. note::
|
22
|
+
The bottom half is defined as the half of the box or sphere with the lowest z-coordinate in the collision link frame.
|
23
|
+
|
24
|
+
|
25
|
+
Testing
|
26
|
+
~~~~~~~
|
27
|
+
|
28
|
+
For testing configurations, environment variables beginning with ``JAXSIM_TEST_`` are used. The following variables are available:
|
29
|
+
|
30
|
+
- ``JAXSIM_TEST_SEED``: Defines the seed for the random number generator.
|
31
|
+
*Default:* ``0``.
|
32
|
+
|
33
|
+
- ``JAXSIM_TEST_AD_ORDER``: Specifies the gradient order for automatic differentiation tests.
|
34
|
+
*Default:* ``1``.
|
35
|
+
|
36
|
+
- ``JAXSIM_TEST_FD_STEP_SIZE``: Sets the step size for finite difference tests.
|
37
|
+
*Default:* the cube root of the machine epsilon.
|
38
|
+
|
39
|
+
|
40
|
+
Joint Dynamics
|
41
|
+
~~~~~~~~~~~~~~
|
42
|
+
Joint dynamics are configured using environment variables starting with ``JAXSIM_JOINT_``. Available variables include:
|
43
|
+
|
44
|
+
- ``JAXSIM_JOINT_POSITION_LIMIT_DAMPER``: Overrides the damper value for joint position limits of the SDF model.
|
45
|
+
|
46
|
+
- ``JAXSIM_JOINT_POSITION_LIMIT_SPRING``: Overrides the spring value for joint position limits of the SDF model.
|
47
|
+
|
48
|
+
|
49
|
+
Logging
|
50
|
+
~~~~~~~
|
51
|
+
|
52
|
+
The logging configuration is controlled by the following environment variable:
|
53
|
+
|
54
|
+
- ``JAXSIM_LOGGING_LEVEL``: Determines the logging level.
|
55
|
+
*Default:* ``DEBUG`` for development, ``WARNING`` for production.
|
@@ -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.
|
16
|
-
__version_tuple__ = version_tuple = (0, 5, 1, '
|
15
|
+
__version__ = version = '0.5.1.dev69'
|
16
|
+
__version_tuple__ = version_tuple = (0, 5, 1, 'dev69')
|
@@ -117,22 +117,19 @@ def create_box_collision(
|
|
117
117
|
|
118
118
|
center = np.array([x / 2, y / 2, z / 2])
|
119
119
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
np.array([x, 0, z]),
|
129
|
-
np.array([x, y, z]),
|
130
|
-
np.array([0, y, z]),
|
131
|
-
]
|
132
|
-
)
|
133
|
-
- center
|
120
|
+
# Define the bottom corners.
|
121
|
+
bottom_corners = np.array([[0, 0, 0], [x, 0, 0], [x, y, 0], [0, y, 0]])
|
122
|
+
|
123
|
+
# Conditionally add the top corners based on the environment variable.
|
124
|
+
top_corners = (
|
125
|
+
np.array([[0, 0, z], [x, 0, z], [x, y, z], [0, y, z]])
|
126
|
+
if not os.environ.get("JAXSIM_COLLISION_USE_BOTTOM_ONLY", "0")
|
127
|
+
else []
|
134
128
|
)
|
135
129
|
|
130
|
+
# Combine and shift by the center
|
131
|
+
box_corners = np.vstack([bottom_corners, *top_corners]) - center
|
132
|
+
|
136
133
|
H = collision.pose.transform() if collision.pose is not None else np.eye(4)
|
137
134
|
|
138
135
|
center_wrt_link = (H @ np.hstack([center, 1.0]))[0:-1]
|
@@ -170,23 +167,31 @@ def create_sphere_collision(
|
|
170
167
|
|
171
168
|
# From https://stackoverflow.com/a/26127012
|
172
169
|
def fibonacci_sphere(samples: int) -> npt.NDArray:
|
173
|
-
|
174
|
-
phi = np.pi * (3.0 - np.sqrt(5.0))
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
170
|
+
# Get the golden ratio in radians.
|
171
|
+
phi = np.pi * (3.0 - np.sqrt(5.0))
|
172
|
+
|
173
|
+
# Generate the points.
|
174
|
+
points = [
|
175
|
+
np.array(
|
176
|
+
[
|
177
|
+
np.cos(phi * i)
|
178
|
+
* np.sqrt(1 - (y := 1 - 2 * i / (samples - 1)) ** 2),
|
179
|
+
y,
|
180
|
+
np.sin(phi * i) * np.sqrt(1 - y**2),
|
181
|
+
]
|
182
|
+
)
|
183
|
+
for i in range(samples)
|
184
|
+
]
|
184
185
|
|
185
|
-
|
186
|
+
# Filter to keep only the bottom half if required.
|
187
|
+
if os.environ.get("JAXSIM_COLLISION_USE_BOTTOM_ONLY", "0"):
|
188
|
+
# Keep only the points with z <= 0.
|
189
|
+
points = [point for point in points if point[2] <= 0]
|
186
190
|
|
187
191
|
return np.vstack(points)
|
188
192
|
|
189
193
|
r = collision.geometry.sphere.radius
|
194
|
+
|
190
195
|
sphere_points = r * fibonacci_sphere(
|
191
196
|
samples=int(os.getenv(key="JAXSIM_COLLISION_SPHERE_POINTS", default="50"))
|
192
197
|
)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.5.1.
|
3
|
+
Version: 0.5.1.dev69
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jaxsim-0.5.1.dev60 → jaxsim-0.5.1.dev69}/examples/jaxsim_as_multibody_dynamics_library.ipynb
RENAMED
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
|
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
|
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
|
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
|
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
|