jaxsim 0.6.1.dev2__tar.gz → 0.6.1.dev7__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.6.1.dev2 → jaxsim-0.6.1.dev7}/PKG-INFO +1 -1
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/pyproject.toml +1 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/_version.py +2 -2
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/adjoint.py +11 -12
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/cross.py +2 -2
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/inertia.py +2 -2
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/quaternion.py +5 -5
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/rotation.py +3 -3
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/skew.py +2 -2
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim.egg-info/PKG-INFO +1 -1
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.devcontainer/Dockerfile +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.devcontainer/devcontainer.json +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.gitattributes +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.github/CODEOWNERS +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.github/dependabot.yml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.github/workflows/ci_cd.yml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.github/workflows/pixi.yml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.github/workflows/read_the_docs.yml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.gitignore +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.pre-commit-config.yaml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/.readthedocs.yaml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/CONTRIBUTING.md +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/LICENSE +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/README.md +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/Makefile +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/conf.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/examples.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/guide/configuration.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/guide/install.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/index.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/make.bat +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/api.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/integrators.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/math.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/mujoco.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/parsers.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/rbda.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/typing.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/docs/modules/utils.rst +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/environment.yml +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/.gitattributes +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/.gitignore +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/README.md +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/assets/build_cartpole_urdf.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/assets/cartpole.urdf +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/jaxsim_as_multibody_dynamics_library.ipynb +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/jaxsim_as_physics_engine.ipynb +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/jaxsim_as_physics_engine_advanced.ipynb +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/examples/jaxsim_for_robot_controllers.ipynb +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/pixi.lock +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/setup.cfg +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/setup.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/com.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/common.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/contact.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/data.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/frame.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/joint.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/kin_dyn_parameters.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/link.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/model.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/ode.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/ode_data.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/api/references.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/exceptions.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/integrators/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/integrators/common.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/integrators/fixed_step.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/integrators/variable_step.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/logging.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/joint_model.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/transform.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/math/utils.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/__main__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/loaders.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/model.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/utils.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/mujoco/visualizer.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/descriptions/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/descriptions/collision.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/descriptions/joint.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/descriptions/link.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/descriptions/model.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/kinematic_graph.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/rod/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/rod/meshes.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/rod/parser.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/parsers/rod/utils.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/aba.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/collidable_points.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/common.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/relaxed_rigid.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/rigid.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/soft.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/contacts/visco_elastic.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/crba.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/forward_kinematics.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/jacobian.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/rnea.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/rbda/utils.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/terrain/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/terrain/terrain.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/typing.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/utils/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/utils/jaxsim_dataclass.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/utils/tracing.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim/utils/wrappers.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim.egg-info/SOURCES.txt +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim.egg-info/dependency_links.txt +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim.egg-info/requires.txt +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/src/jaxsim.egg-info/top_level.txt +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/__init__.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/conftest.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_com.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_contact.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_data.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_frame.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_joint.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_link.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_api_model.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_automatic_differentiation.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_benchmark.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_contact.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_exceptions.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_meshes.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_pytree.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_simulations.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/test_visualizer.py +0 -0
- {jaxsim-0.6.1.dev2 → jaxsim-0.6.1.dev7}/tests/utils_idyntree.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.6.1.
|
3
|
+
Version: 0.6.1.dev7
|
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>
|
@@ -168,6 +168,7 @@ ignore = [
|
|
168
168
|
"D105", # Missing docstring in magic method
|
169
169
|
"D200", # One-line docstring should fit on one line with quotes
|
170
170
|
"D202", # No blank lines allowed after function docstring
|
171
|
+
"D203", # Incorrect blank line before class
|
171
172
|
"D205", # 1 blank line required between summary line and description
|
172
173
|
"D212", # Multi-line docstring summary should start at the first line
|
173
174
|
"D411", # Missing blank line before section
|
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '0.6.1.
|
16
|
-
__version_tuple__ = version_tuple = (0, 6, 1, '
|
15
|
+
__version__ = version = '0.6.1.dev7'
|
16
|
+
__version_tuple__ = version_tuple = (0, 6, 1, 'dev7')
|
@@ -22,14 +22,13 @@ class Adjoint:
|
|
22
22
|
Create an adjoint matrix from a quaternion and a translation.
|
23
23
|
|
24
24
|
Args:
|
25
|
-
quaternion
|
26
|
-
translation
|
27
|
-
inverse
|
28
|
-
normalize_quaternion
|
29
|
-
Default is False.
|
25
|
+
quaternion: A quaternion vector (4D) representing orientation.
|
26
|
+
translation: A translation vector (3D).
|
27
|
+
inverse: Whether to compute the inverse adjoint.
|
28
|
+
normalize_quaternion: Whether to normalize the quaternion before creating the adjoint.
|
30
29
|
|
31
30
|
Returns:
|
32
|
-
|
31
|
+
The adjoint matrix.
|
33
32
|
"""
|
34
33
|
quaternion = quaternion if quaternion is not None else jnp.array([1.0, 0, 0, 0])
|
35
34
|
translation = translation if translation is not None else jnp.zeros(3)
|
@@ -74,12 +73,12 @@ class Adjoint:
|
|
74
73
|
Create an adjoint matrix from a rotation matrix and a translation vector.
|
75
74
|
|
76
75
|
Args:
|
77
|
-
rotation
|
78
|
-
translation
|
79
|
-
inverse
|
76
|
+
rotation: A 3x3 rotation matrix.
|
77
|
+
translation: A translation vector (3D).
|
78
|
+
inverse: Whether to compute the inverse adjoint. Default is False.
|
80
79
|
|
81
80
|
Returns:
|
82
|
-
|
81
|
+
The adjoint matrix.
|
83
82
|
"""
|
84
83
|
rotation = rotation if rotation is not None else jnp.eye(3)
|
85
84
|
translation = translation if translation is not None else jnp.zeros(3)
|
@@ -116,7 +115,7 @@ class Adjoint:
|
|
116
115
|
adjoint: The adjoint matrix (6x6).
|
117
116
|
|
118
117
|
Returns:
|
119
|
-
|
118
|
+
The transformation matrix (4x4).
|
120
119
|
"""
|
121
120
|
X = adjoint.squeeze()
|
122
121
|
assert X.shape == (6, 6)
|
@@ -142,7 +141,7 @@ class Adjoint:
|
|
142
141
|
adjoint: The adjoint matrix.
|
143
142
|
|
144
143
|
Returns:
|
145
|
-
|
144
|
+
The inverse adjoint matrix.
|
146
145
|
"""
|
147
146
|
A_X_B = adjoint.reshape(-1, 6, 6)
|
148
147
|
|
@@ -19,7 +19,7 @@ class Cross:
|
|
19
19
|
velocity_sixd: A 6D velocity vector [v, ω].
|
20
20
|
|
21
21
|
Returns:
|
22
|
-
|
22
|
+
The cross product matrix (6x6).
|
23
23
|
|
24
24
|
Raises:
|
25
25
|
ValueError: If the input vector does not have a size of 6.
|
@@ -49,7 +49,7 @@ class Cross:
|
|
49
49
|
velocity_sixd: A 6D velocity vector [v, ω].
|
50
50
|
|
51
51
|
Returns:
|
52
|
-
|
52
|
+
The negative transpose of the cross product matrix (6x6).
|
53
53
|
|
54
54
|
Raises:
|
55
55
|
ValueError: If the input vector does not have a size of 6.
|
@@ -21,7 +21,7 @@ class Inertia:
|
|
21
21
|
I: The 3x3 inertia matrix.
|
22
22
|
|
23
23
|
Returns:
|
24
|
-
|
24
|
+
The 6x6 inertia matrix.
|
25
25
|
|
26
26
|
Raises:
|
27
27
|
ValueError: If the shape of the inertia matrix I is not (3, 3).
|
@@ -49,7 +49,7 @@ class Inertia:
|
|
49
49
|
M: The 6x6 inertia matrix.
|
50
50
|
|
51
51
|
Returns:
|
52
|
-
|
52
|
+
A tuple containing mass, center of mass (3D), and inertia matrix (3x3).
|
53
53
|
|
54
54
|
Raises:
|
55
55
|
ValueError: If the input matrix M has an unexpected shape.
|
@@ -21,7 +21,7 @@ class Quaternion:
|
|
21
21
|
wxyz: Quaternion in WXYZ representation.
|
22
22
|
|
23
23
|
Returns:
|
24
|
-
|
24
|
+
Quaternion in XYZW representation.
|
25
25
|
"""
|
26
26
|
return wxyz.squeeze()[jnp.array([1, 2, 3, 0])]
|
27
27
|
|
@@ -34,7 +34,7 @@ class Quaternion:
|
|
34
34
|
xyzw: Quaternion in XYZW representation.
|
35
35
|
|
36
36
|
Returns:
|
37
|
-
|
37
|
+
Quaternion in WXYZ representation.
|
38
38
|
"""
|
39
39
|
return xyzw.squeeze()[jnp.array([3, 0, 1, 2])]
|
40
40
|
|
@@ -47,7 +47,7 @@ class Quaternion:
|
|
47
47
|
quaternion: Quaternion in XYZW representation.
|
48
48
|
|
49
49
|
Returns:
|
50
|
-
|
50
|
+
The Direction cosine matrix (DCM).
|
51
51
|
"""
|
52
52
|
return jaxlie.SO3(wxyz=quaternion).as_matrix()
|
53
53
|
|
@@ -60,7 +60,7 @@ class Quaternion:
|
|
60
60
|
dcm: Direction cosine matrix (DCM).
|
61
61
|
|
62
62
|
Returns:
|
63
|
-
|
63
|
+
Quaternion in WXYZ representation.
|
64
64
|
"""
|
65
65
|
return jaxlie.SO3.from_matrix(matrix=dcm).wxyz
|
66
66
|
|
@@ -81,7 +81,7 @@ class Quaternion:
|
|
81
81
|
K (float): A scaling factor.
|
82
82
|
|
83
83
|
Returns:
|
84
|
-
|
84
|
+
The derivative of the quaternion.
|
85
85
|
"""
|
86
86
|
ω = omega.squeeze()
|
87
87
|
quaternion = quaternion.squeeze()
|
@@ -21,7 +21,7 @@ class Rotation:
|
|
21
21
|
theta: Rotation angle in radians.
|
22
22
|
|
23
23
|
Returns:
|
24
|
-
|
24
|
+
The 3D rotation matrix.
|
25
25
|
"""
|
26
26
|
|
27
27
|
return jaxlie.SO3.from_x_radians(theta=theta).as_matrix()
|
@@ -35,7 +35,7 @@ class Rotation:
|
|
35
35
|
theta: Rotation angle in radians.
|
36
36
|
|
37
37
|
Returns:
|
38
|
-
|
38
|
+
The 3D rotation matrix.
|
39
39
|
"""
|
40
40
|
|
41
41
|
return jaxlie.SO3.from_y_radians(theta=theta).as_matrix()
|
@@ -49,7 +49,7 @@ class Rotation:
|
|
49
49
|
theta: Rotation angle in radians.
|
50
50
|
|
51
51
|
Returns:
|
52
|
-
|
52
|
+
The 3D rotation matrix.
|
53
53
|
"""
|
54
54
|
|
55
55
|
return jaxlie.SO3.from_z_radians(theta=theta).as_matrix()
|
@@ -17,7 +17,7 @@ class Skew:
|
|
17
17
|
vector: A 3D vector.
|
18
18
|
|
19
19
|
Returns:
|
20
|
-
|
20
|
+
The skew-symmetric matrix corresponding to the input vector.
|
21
21
|
|
22
22
|
"""
|
23
23
|
|
@@ -45,7 +45,7 @@ class Skew:
|
|
45
45
|
matrix: A 3x3 skew-symmetric matrix.
|
46
46
|
|
47
47
|
Returns:
|
48
|
-
|
48
|
+
The 3D vector extracted from the input matrix.
|
49
49
|
|
50
50
|
"""
|
51
51
|
vector = 0.5 * jnp.vstack(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.6.1.
|
3
|
+
Version: 0.6.1.dev7
|
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
|
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
|