jaxsim 0.4.3.dev269__py3-none-any.whl → 0.4.3.dev280__py3-none-any.whl
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/_version.py +2 -2
- jaxsim/api/joint.py +5 -2
- jaxsim/api/model.py +3 -3
- jaxsim/api/ode.py +32 -1
- jaxsim/parsers/rod/parser.py +3 -2
- {jaxsim-0.4.3.dev269.dist-info → jaxsim-0.4.3.dev280.dist-info}/METADATA +1 -1
- {jaxsim-0.4.3.dev269.dist-info → jaxsim-0.4.3.dev280.dist-info}/RECORD +10 -10
- {jaxsim-0.4.3.dev269.dist-info → jaxsim-0.4.3.dev280.dist-info}/LICENSE +0 -0
- {jaxsim-0.4.3.dev269.dist-info → jaxsim-0.4.3.dev280.dist-info}/WHEEL +0 -0
- {jaxsim-0.4.3.dev269.dist-info → jaxsim-0.4.3.dev280.dist-info}/top_level.txt +0 -0
jaxsim/_version.py
CHANGED
@@ -12,5 +12,5 @@ __version__: str
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
13
13
|
version_tuple: VERSION_TUPLE
|
14
14
|
|
15
|
-
__version__ = version = '0.4.3.
|
16
|
-
__version_tuple__ = version_tuple = (0, 4, 3, '
|
15
|
+
__version__ = version = '0.4.3.dev280'
|
16
|
+
__version_tuple__ = version_tuple = (0, 4, 3, 'dev280')
|
jaxsim/api/joint.py
CHANGED
@@ -122,8 +122,11 @@ def position_limit(
|
|
122
122
|
The position limits of the joint.
|
123
123
|
"""
|
124
124
|
|
125
|
-
if model.number_of_joints()
|
126
|
-
|
125
|
+
if model.number_of_joints() == 0:
|
126
|
+
s_min = model.kin_dyn_parameters.joint_parameters.position_limits_min
|
127
|
+
s_max = model.kin_dyn_parameters.joint_parameters.position_limits_max
|
128
|
+
|
129
|
+
return jnp.atleast_1d(s_min).astype(float), jnp.atleast_1d(s_max).astype(float)
|
127
130
|
|
128
131
|
exceptions.raise_value_error_if(
|
129
132
|
condition=jnp.array(
|
jaxsim/api/model.py
CHANGED
@@ -2156,9 +2156,9 @@ def step(
|
|
2156
2156
|
)
|
2157
2157
|
)
|
2158
2158
|
|
2159
|
-
|
2160
|
-
|
2161
|
-
|
2159
|
+
# Reset the generalized velocity.
|
2160
|
+
data_tf = data_tf.reset_base_velocity(BW_nu_post_impact[0:6])
|
2161
|
+
data_tf = data_tf.reset_joint_velocities(BW_nu_post_impact[6:])
|
2162
2162
|
|
2163
2163
|
# Restore the input velocity representation.
|
2164
2164
|
data_tf = data_tf.replace(
|
jaxsim/api/ode.py
CHANGED
@@ -243,9 +243,40 @@ def system_acceleration(
|
|
243
243
|
# Enforce joint limits
|
244
244
|
# ====================
|
245
245
|
|
246
|
-
# TODO: enforce joint limits
|
247
246
|
τ_position_limit = jnp.zeros_like(τ_references).astype(float)
|
248
247
|
|
248
|
+
if model.dofs() > 0:
|
249
|
+
|
250
|
+
# Stiffness and damper parameters for the joint position limits.
|
251
|
+
k_j = jnp.array(
|
252
|
+
model.kin_dyn_parameters.joint_parameters.position_limit_spring
|
253
|
+
).astype(float)
|
254
|
+
d_j = jnp.array(
|
255
|
+
model.kin_dyn_parameters.joint_parameters.position_limit_damper
|
256
|
+
).astype(float)
|
257
|
+
|
258
|
+
# Compute the joint position limit violations.
|
259
|
+
lower_violation = jnp.clip(
|
260
|
+
data.state.physics_model.joint_positions
|
261
|
+
- model.kin_dyn_parameters.joint_parameters.position_limits_min,
|
262
|
+
max=0.0,
|
263
|
+
)
|
264
|
+
|
265
|
+
upper_violation = jnp.clip(
|
266
|
+
data.state.physics_model.joint_positions
|
267
|
+
- model.kin_dyn_parameters.joint_parameters.position_limits_max,
|
268
|
+
min=0.0,
|
269
|
+
)
|
270
|
+
|
271
|
+
# Compute the joint position limit torque.
|
272
|
+
τ_position_limit -= jnp.diag(k_j) @ (lower_violation + upper_violation)
|
273
|
+
|
274
|
+
τ_position_limit -= (
|
275
|
+
jnp.positive(τ_position_limit)
|
276
|
+
* jnp.diag(d_j)
|
277
|
+
@ data.state.physics_model.joint_velocities
|
278
|
+
)
|
279
|
+
|
249
280
|
# ====================
|
250
281
|
# Joint friction model
|
251
282
|
# ====================
|
jaxsim/parsers/rod/parser.py
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
import dataclasses
|
2
|
+
import os
|
2
3
|
import pathlib
|
3
4
|
from typing import NamedTuple
|
4
5
|
|
@@ -273,14 +274,14 @@ def extract_model_data(
|
|
273
274
|
if j.axis is not None
|
274
275
|
and j.axis.limit is not None
|
275
276
|
and j.axis.limit.dissipation is not None
|
276
|
-
else 0.0
|
277
|
+
else os.environ.get("JAXSIM_JOINT_POSITION_LIMIT_DAMPER", 0.0)
|
277
278
|
),
|
278
279
|
position_limit_spring=float(
|
279
280
|
j.axis.limit.stiffness
|
280
281
|
if j.axis is not None
|
281
282
|
and j.axis.limit is not None
|
282
283
|
and j.axis.limit.stiffness is not None
|
283
|
-
else 0.0
|
284
|
+
else os.environ.get("JAXSIM_JOINT_POSITION_LIMIT_SPRING", 0.0)
|
284
285
|
),
|
285
286
|
)
|
286
287
|
for j in sdf_model.joints()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.4.3.
|
3
|
+
Version: 0.4.3.dev280
|
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>
|
6
6
|
Maintainer-email: Diego Ferigo <dgferigo@gmail.com>, Filippo Luca Ferretti <filippo.ferretti@iit.it>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
jaxsim/__init__.py,sha256=opgtbhhd1kDsHI4H1vOd3loMPDRi884yQ3tohfFGfNc,3382
|
2
|
-
jaxsim/_version.py,sha256=
|
2
|
+
jaxsim/_version.py,sha256=U12VcDXh7Zu7La30KnfhDG0g-i5JqVyuLLRlI8iTnrI,428
|
3
3
|
jaxsim/exceptions.py,sha256=vSoScaRD4nvh6jltgK9Ry5pKnE0O5hb4_yI_pk_fvR8,2175
|
4
4
|
jaxsim/logging.py,sha256=STI-D_upXZYX-ZezLrlJJ0UlD5YspST0vZ_DcIwkzO4,1553
|
5
5
|
jaxsim/typing.py,sha256=2HXy9hgazPXjofi1vLQ09ZubPtgVmg80U9NKmZ6NYiI,761
|
@@ -9,11 +9,11 @@ jaxsim/api/common.py,sha256=SNgxq42r6eF_-aPszvOjUYkGwXOzz4hKmhDwEUkscFQ,6650
|
|
9
9
|
jaxsim/api/contact.py,sha256=iiQc8vdlJ60Vl-ki4ieP7TW6MJhJfWREYpcVyyEWT0M,24034
|
10
10
|
jaxsim/api/data.py,sha256=gQX6hfEaw0ooJYvpr5f8UvEJwqhtflEK_NHWn9XgTZY,28935
|
11
11
|
jaxsim/api/frame.py,sha256=yPSgNygHkvWlln4wShNt7vZm_fFobVEm7phsklNNyH8,12922
|
12
|
-
jaxsim/api/joint.py,sha256=
|
12
|
+
jaxsim/api/joint.py,sha256=iz7kHLLXMjlDOjKN0T6tcutWCnpnFAOA2IEE9GuxlQI,7304
|
13
13
|
jaxsim/api/kin_dyn_parameters.py,sha256=kbDN5n9uj8CamVJXk1U5oYLbxyjaWDIeUG0V68DCEFs,29578
|
14
14
|
jaxsim/api/link.py,sha256=LAA6ZMQXkWomXeptURBtc7z3_xDZ2BBnBMhVrohh0bE,18621
|
15
|
-
jaxsim/api/model.py,sha256=
|
16
|
-
jaxsim/api/ode.py,sha256=
|
15
|
+
jaxsim/api/model.py,sha256=dpQZDT0BodMfK1wmpG-STFh-rFsJStobQ1fhrWILK9o,73410
|
16
|
+
jaxsim/api/ode.py,sha256=_t18avoCJngQk6eMFTGpaeahbpchQP20qJnUOCPkz8s,15360
|
17
17
|
jaxsim/api/ode_data.py,sha256=1SD-x-lYk_YSEnVpxTLd69uOKC0mFUj44ZqpSmEDOxw,20190
|
18
18
|
jaxsim/api/references.py,sha256=fW77LitZ8DYgT6ZmUInJfm5luBV1mTcqcNRiC_i79og,20862
|
19
19
|
jaxsim/integrators/__init__.py,sha256=hxvOD-VK_mmd6v31wtC-nb28AYve1gLuZCNLV9wS-Kg,103
|
@@ -43,7 +43,7 @@ jaxsim/parsers/descriptions/joint.py,sha256=VSb6C0FBBKMqwrHBKfc-Bbn4rl_J0RzUxMQl
|
|
43
43
|
jaxsim/parsers/descriptions/link.py,sha256=Eh0W5qL7_Uw0GV-BkNKXhm9Q2dRTfIWCX5D-87zQkxA,3711
|
44
44
|
jaxsim/parsers/descriptions/model.py,sha256=I2Vsbv8Josl4Le7b5rIvhqA2k9Bbv5JxMqwytayxds0,9833
|
45
45
|
jaxsim/parsers/rod/__init__.py,sha256=G2vqlLajBLUc4gyzXwsEI2Wsi4TMOIF9bLDFeT6KrGU,92
|
46
|
-
jaxsim/parsers/rod/parser.py,sha256=
|
46
|
+
jaxsim/parsers/rod/parser.py,sha256=P3QFPdI2NBxL4TALcPhL6Exij9-Q9W716Aps2cb8s2I,14041
|
47
47
|
jaxsim/parsers/rod/utils.py,sha256=5DsF3OeePZGidOJ5GiFSZx-51uIdnFvMW9EK6SgOW6Q,5698
|
48
48
|
jaxsim/rbda/__init__.py,sha256=kmy4G9aMkrqPNGdLSaSV3k15dpF52vBEUQXDFDuKIxU,337
|
49
49
|
jaxsim/rbda/aba.py,sha256=w7ciyxB0IsmueatT0C7PcBQEl9dyiH9oqJgIi3xeTUE,8983
|
@@ -65,8 +65,8 @@ jaxsim/utils/__init__.py,sha256=Y5zyoRevl3EMVQadhZ4EtSwTEkDt2vcnFoRhPJjKTZ0,215
|
|
65
65
|
jaxsim/utils/jaxsim_dataclass.py,sha256=TGmTQV2Lq7Q-2nLoAEaeNtkPa_qj0IKkdBm4COj46Os,11312
|
66
66
|
jaxsim/utils/tracing.py,sha256=KDMoyVPlu2NJvFkhtZwq5AkqMMgajt3munvJom-vEjQ,650
|
67
67
|
jaxsim/utils/wrappers.py,sha256=Fh82ZcaFi5fUnByyFLnmumaobsu1hJIvFdopUVzJ1ps,4052
|
68
|
-
jaxsim-0.4.3.
|
69
|
-
jaxsim-0.4.3.
|
70
|
-
jaxsim-0.4.3.
|
71
|
-
jaxsim-0.4.3.
|
72
|
-
jaxsim-0.4.3.
|
68
|
+
jaxsim-0.4.3.dev280.dist-info/LICENSE,sha256=eaYdFmdeMbiIoIiPzEK0MjP1S9wtFXjXNR5er49uLR0,1546
|
69
|
+
jaxsim-0.4.3.dev280.dist-info/METADATA,sha256=3Ad6_an0aEBTc9JVFxZbdbT-0PnAWLKgEVRW37ztcxo,17276
|
70
|
+
jaxsim-0.4.3.dev280.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
71
|
+
jaxsim-0.4.3.dev280.dist-info/top_level.txt,sha256=LxGMA8FLtXjQ6oI7N5gd_R_oSUHxpXxUEOfT1xS_ni0,7
|
72
|
+
jaxsim-0.4.3.dev280.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|