jaxsim 0.5.1.dev126__py3-none-any.whl → 0.5.1.dev133__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/com.py +1 -1
- jaxsim/api/common.py +1 -1
- jaxsim/api/contact.py +3 -0
- jaxsim/api/data.py +2 -1
- jaxsim/api/kin_dyn_parameters.py +18 -1
- jaxsim/api/model.py +7 -4
- jaxsim/api/ode.py +21 -1
- jaxsim/exceptions.py +8 -0
- jaxsim/integrators/common.py +60 -2
- jaxsim/integrators/fixed_step.py +21 -0
- jaxsim/integrators/variable_step.py +44 -0
- jaxsim/math/adjoint.py +13 -10
- jaxsim/math/cross.py +6 -2
- jaxsim/math/inertia.py +8 -4
- jaxsim/math/quaternion.py +10 -6
- jaxsim/math/rotation.py +6 -3
- jaxsim/math/skew.py +2 -2
- jaxsim/math/transform.py +3 -0
- jaxsim/math/utils.py +2 -2
- jaxsim/mujoco/loaders.py +17 -7
- jaxsim/mujoco/model.py +15 -15
- jaxsim/mujoco/utils.py +6 -1
- jaxsim/mujoco/visualizer.py +11 -7
- jaxsim/parsers/descriptions/collision.py +7 -4
- jaxsim/parsers/descriptions/joint.py +16 -14
- jaxsim/parsers/descriptions/model.py +1 -1
- jaxsim/parsers/kinematic_graph.py +38 -0
- jaxsim/parsers/rod/meshes.py +5 -5
- jaxsim/parsers/rod/parser.py +1 -1
- jaxsim/parsers/rod/utils.py +11 -0
- jaxsim/rbda/contacts/common.py +2 -0
- jaxsim/rbda/contacts/relaxed_rigid.py +7 -4
- jaxsim/rbda/contacts/rigid.py +8 -4
- jaxsim/rbda/contacts/soft.py +37 -0
- jaxsim/rbda/contacts/visco_elastic.py +1 -0
- jaxsim/terrain/terrain.py +52 -0
- jaxsim/utils/jaxsim_dataclass.py +3 -3
- jaxsim/utils/tracing.py +2 -2
- jaxsim/utils/wrappers.py +9 -0
- {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/METADATA +1 -1
- jaxsim-0.5.1.dev133.dist-info/RECORD +74 -0
- jaxsim-0.5.1.dev126.dist-info/RECORD +0 -74
- {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/LICENSE +0 -0
- {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/WHEEL +0 -0
- {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/top_level.txt +0 -0
@@ -112,7 +112,7 @@ class RelaxedRigidContactsParams(common.ContactsParams):
|
|
112
112
|
damping: jtp.FloatLike | None = None,
|
113
113
|
mu: jtp.FloatLike | None = None,
|
114
114
|
) -> Self:
|
115
|
-
"""Create a `RelaxedRigidContactsParams` instance"""
|
115
|
+
"""Create a `RelaxedRigidContactsParams` instance."""
|
116
116
|
|
117
117
|
def default(name: str):
|
118
118
|
return cls.__dataclass_fields__[name].default_factory()
|
@@ -160,6 +160,7 @@ class RelaxedRigidContactsParams(common.ContactsParams):
|
|
160
160
|
)
|
161
161
|
|
162
162
|
def valid(self) -> jtp.BoolLike:
|
163
|
+
"""Check if the parameters are valid."""
|
163
164
|
|
164
165
|
return bool(
|
165
166
|
jnp.all(self.time_constant >= 0.0)
|
@@ -187,6 +188,7 @@ class RelaxedRigidContacts(common.ContactModel):
|
|
187
188
|
|
188
189
|
@property
|
189
190
|
def solver_options(self) -> dict[str, Any]:
|
191
|
+
"""Get the solver options."""
|
190
192
|
|
191
193
|
return dict(
|
192
194
|
zip(
|
@@ -207,6 +209,7 @@ class RelaxedRigidContacts(common.ContactModel):
|
|
207
209
|
|
208
210
|
Args:
|
209
211
|
solver_options: The options to pass to the L-BFGS solver.
|
212
|
+
**kwargs: The parameters of the relaxed rigid contacts model.
|
210
213
|
|
211
214
|
Returns:
|
212
215
|
The `RelaxedRigidContacts` instance.
|
@@ -483,8 +486,8 @@ class RelaxedRigidContacts(common.ContactModel):
|
|
483
486
|
|
484
487
|
Args:
|
485
488
|
model: The jaxsim model.
|
486
|
-
|
487
|
-
|
489
|
+
position_constraint: The position of the collidable points in the constraint frame.
|
490
|
+
velocity_constraint: The velocity of the collidable points in the constraint frame.
|
488
491
|
parameters: The parameters of the relaxed rigid contacts model.
|
489
492
|
|
490
493
|
Returns:
|
@@ -526,7 +529,7 @@ class RelaxedRigidContacts(common.ContactModel):
|
|
526
529
|
vel: jtp.Vector,
|
527
530
|
) -> tuple[jtp.Vector, jtp.Vector, jtp.Vector, jtp.Vector]:
|
528
531
|
"""
|
529
|
-
|
532
|
+
Calculate impedance and offset acceleration in constraint frame.
|
530
533
|
|
531
534
|
Args:
|
532
535
|
pos: position in constraint frame.
|
jaxsim/rbda/contacts/rigid.py
CHANGED
@@ -62,7 +62,7 @@ class RigidContactsParams(ContactsParams):
|
|
62
62
|
K: jtp.FloatLike | None = None,
|
63
63
|
D: jtp.FloatLike | None = None,
|
64
64
|
) -> Self:
|
65
|
-
"""Create a `RigidContactParams` instance"""
|
65
|
+
"""Create a `RigidContactParams` instance."""
|
66
66
|
|
67
67
|
return cls(
|
68
68
|
mu=jnp.array(
|
@@ -79,7 +79,7 @@ class RigidContactsParams(ContactsParams):
|
|
79
79
|
)
|
80
80
|
|
81
81
|
def valid(self) -> jtp.BoolLike:
|
82
|
-
|
82
|
+
"""Check if the parameters are valid."""
|
83
83
|
return bool(
|
84
84
|
jnp.all(self.mu >= 0.0)
|
85
85
|
and jnp.all(self.K >= 0.0)
|
@@ -104,6 +104,7 @@ class RigidContacts(ContactModel):
|
|
104
104
|
|
105
105
|
@property
|
106
106
|
def solver_options(self) -> dict[str, Any]:
|
107
|
+
"""Get the solver options as a dictionary."""
|
107
108
|
|
108
109
|
return dict(
|
109
110
|
zip(
|
@@ -127,6 +128,7 @@ class RigidContacts(ContactModel):
|
|
127
128
|
regularization_delassus:
|
128
129
|
The regularization term to add to the diagonal of the Delassus matrix.
|
129
130
|
solver_options: The options to pass to the QP solver.
|
131
|
+
**kwargs: Extra arguments which are ignored.
|
130
132
|
|
131
133
|
Returns:
|
132
134
|
The `RigidContacts` instance.
|
@@ -173,7 +175,8 @@ class RigidContacts(ContactModel):
|
|
173
175
|
J_WC: jtp.MatrixLike,
|
174
176
|
data: js.data.JaxSimModelData,
|
175
177
|
) -> jtp.Vector:
|
176
|
-
"""
|
178
|
+
"""
|
179
|
+
Return the new velocity of the system after a potential impact.
|
177
180
|
|
178
181
|
Args:
|
179
182
|
inactive_collidable_points: The activation state of the collidable points.
|
@@ -413,7 +416,8 @@ class RigidContacts(ContactModel):
|
|
413
416
|
inactive_collidable_points: jtp.Vector, mu: jtp.FloatLike
|
414
417
|
) -> jtp.Matrix:
|
415
418
|
"""
|
416
|
-
Compute the inequality constraint matrix for a single collidable point
|
419
|
+
Compute the inequality constraint matrix for a single collidable point.
|
420
|
+
|
417
421
|
Rows 0-3: enforce the friction pyramid constraint,
|
418
422
|
Row 4: last one is for the non negativity of the vertical force
|
419
423
|
Row 5: contact complementarity condition
|
jaxsim/rbda/contacts/soft.py
CHANGED
@@ -207,6 +207,7 @@ class SoftContacts(common.ContactModel):
|
|
207
207
|
model:
|
208
208
|
The robot model considered by the contact model.
|
209
209
|
If passed, it is used to estimate good default parameters.
|
210
|
+
**kwargs: Additional parameters to pass to the contact model.
|
210
211
|
|
211
212
|
Returns:
|
212
213
|
The `SoftContacts` instance.
|
@@ -244,6 +245,28 @@ class SoftContacts(common.ContactModel):
|
|
244
245
|
p: jtp.FloatLike = 0.5,
|
245
246
|
q: jtp.FloatLike = 0.5,
|
246
247
|
) -> tuple[jtp.Vector, jtp.Vector]:
|
248
|
+
"""
|
249
|
+
Compute the contact force using the Hunt/Crossley model.
|
250
|
+
|
251
|
+
Args:
|
252
|
+
position: The position of the collidable point.
|
253
|
+
velocity: The velocity of the collidable point.
|
254
|
+
tangential_deformation: The material deformation of the collidable point.
|
255
|
+
terrain: The terrain model.
|
256
|
+
K: The stiffness parameter.
|
257
|
+
D: The damping parameter of the soft contacts model.
|
258
|
+
mu: The static friction coefficient.
|
259
|
+
p:
|
260
|
+
The exponent p corresponding to the damping-related non-linearity
|
261
|
+
of the Hunt/Crossley model.
|
262
|
+
q:
|
263
|
+
The exponent q corresponding to the spring-related non-linearity
|
264
|
+
of the Hunt/Crossley model
|
265
|
+
|
266
|
+
Returns:
|
267
|
+
A tuple containing the computed contact force and the derivative of the
|
268
|
+
material deformation.
|
269
|
+
"""
|
247
270
|
|
248
271
|
# Convert the input vectors to arrays.
|
249
272
|
W_p_C = jnp.array(position, dtype=float).squeeze()
|
@@ -364,6 +387,20 @@ class SoftContacts(common.ContactModel):
|
|
364
387
|
parameters: SoftContactsParams,
|
365
388
|
terrain: Terrain,
|
366
389
|
) -> tuple[jtp.Vector, jtp.Vector]:
|
390
|
+
"""
|
391
|
+
Compute the contact force.
|
392
|
+
|
393
|
+
Args:
|
394
|
+
position: The position of the collidable point.
|
395
|
+
velocity: The velocity of the collidable point.
|
396
|
+
tangential_deformation: The material deformation of the collidable point.
|
397
|
+
parameters: The parameters of the soft contacts model.
|
398
|
+
terrain: The terrain model.
|
399
|
+
|
400
|
+
Returns:
|
401
|
+
A tuple containing the computed contact force and the derivative of the
|
402
|
+
material deformation.
|
403
|
+
"""
|
367
404
|
|
368
405
|
CW_fl, ṁ = SoftContacts.hunt_crossley_contact_model(
|
369
406
|
position=position,
|
@@ -206,6 +206,7 @@ class ViscoElasticContacts(common.ContactModel):
|
|
206
206
|
If passed, it is used to estimate good default parameters.
|
207
207
|
max_squarings:
|
208
208
|
The maximum number of squarings performed in the matrix exponential.
|
209
|
+
**kwargs: Extra arguments to ignore.
|
209
210
|
|
210
211
|
Returns:
|
211
212
|
The `ViscoElasticContacts` instance.
|
jaxsim/terrain/terrain.py
CHANGED
@@ -13,11 +13,28 @@ from jaxsim import exceptions
|
|
13
13
|
|
14
14
|
|
15
15
|
class Terrain(abc.ABC):
|
16
|
+
"""
|
17
|
+
Base class for terrain models.
|
18
|
+
|
19
|
+
Attributes:
|
20
|
+
delta: The delta value used for numerical differentiation.
|
21
|
+
"""
|
16
22
|
|
17
23
|
delta = 0.010
|
18
24
|
|
19
25
|
@abc.abstractmethod
|
20
26
|
def height(self, x: jtp.FloatLike, y: jtp.FloatLike) -> jtp.Float:
|
27
|
+
"""
|
28
|
+
Compute the height of the terrain at a specific (x, y) location.
|
29
|
+
|
30
|
+
Args:
|
31
|
+
x: The x-coordinate of the location.
|
32
|
+
y: The y-coordinate of the location.
|
33
|
+
|
34
|
+
Returns:
|
35
|
+
The height of the terrain at the specified location.
|
36
|
+
"""
|
37
|
+
|
21
38
|
pass
|
22
39
|
|
23
40
|
def normal(self, x: jtp.FloatLike, y: jtp.FloatLike) -> jtp.Vector:
|
@@ -47,19 +64,51 @@ class Terrain(abc.ABC):
|
|
47
64
|
|
48
65
|
@jax_dataclasses.pytree_dataclass
|
49
66
|
class FlatTerrain(Terrain):
|
67
|
+
"""
|
68
|
+
Represents a terrain model with a flat surface and a constant height.
|
69
|
+
"""
|
50
70
|
|
51
71
|
_height: float = dataclasses.field(default=0.0, kw_only=True)
|
52
72
|
|
53
73
|
@staticmethod
|
54
74
|
def build(height: jtp.FloatLike = 0.0) -> FlatTerrain:
|
75
|
+
"""
|
76
|
+
Create a FlatTerrain instance with a specified height.
|
77
|
+
|
78
|
+
Args:
|
79
|
+
height: The height of the flat terrain.
|
80
|
+
|
81
|
+
Returns:
|
82
|
+
FlatTerrain: A FlatTerrain instance.
|
83
|
+
"""
|
55
84
|
|
56
85
|
return FlatTerrain(_height=float(height))
|
57
86
|
|
58
87
|
def height(self, x: jtp.FloatLike, y: jtp.FloatLike) -> jtp.Float:
|
88
|
+
"""
|
89
|
+
Compute the height of the terrain at a specific (x, y) location.
|
90
|
+
|
91
|
+
Args:
|
92
|
+
x: The x-coordinate of the location.
|
93
|
+
y: The y-coordinate of the location.
|
94
|
+
|
95
|
+
Returns:
|
96
|
+
The height of the terrain at the specified location.
|
97
|
+
"""
|
59
98
|
|
60
99
|
return jnp.array(self._height, dtype=float)
|
61
100
|
|
62
101
|
def normal(self, x: jtp.FloatLike, y: jtp.FloatLike) -> jtp.Vector:
|
102
|
+
"""
|
103
|
+
Compute the normal vector of the terrain at a specific (x, y) location.
|
104
|
+
|
105
|
+
Args:
|
106
|
+
x: The x-coordinate of the location.
|
107
|
+
y: The y-coordinate of the location.
|
108
|
+
|
109
|
+
Returns:
|
110
|
+
The normal vector of the terrain surface at the specified location.
|
111
|
+
"""
|
63
112
|
|
64
113
|
return jnp.array([0.0, 0.0, 1.0], dtype=float)
|
65
114
|
|
@@ -77,6 +126,9 @@ class FlatTerrain(Terrain):
|
|
77
126
|
|
78
127
|
@jax_dataclasses.pytree_dataclass
|
79
128
|
class PlaneTerrain(FlatTerrain):
|
129
|
+
"""
|
130
|
+
Represents a terrain model with a flat surface defined by a normal vector.
|
131
|
+
"""
|
80
132
|
|
81
133
|
_normal: tuple[float, float, float] = jax_dataclasses.field(
|
82
134
|
default=(0.0, 0.0, 1.0), kw_only=True
|
jaxsim/utils/jaxsim_dataclass.py
CHANGED
@@ -124,7 +124,7 @@ class JaxsimDataclass(abc.ABC):
|
|
124
124
|
@staticmethod
|
125
125
|
def get_leaf_shapes(tree: jtp.PyTree) -> tuple[tuple[int, ...] | None]:
|
126
126
|
"""
|
127
|
-
|
127
|
+
Get the leaf shapes of a PyTree.
|
128
128
|
|
129
129
|
Args:
|
130
130
|
tree: The PyTree to consider.
|
@@ -144,7 +144,7 @@ class JaxsimDataclass(abc.ABC):
|
|
144
144
|
@staticmethod
|
145
145
|
def get_leaf_dtypes(tree: jtp.PyTree) -> tuple:
|
146
146
|
"""
|
147
|
-
|
147
|
+
Get the leaf dtypes of a PyTree.
|
148
148
|
|
149
149
|
Args:
|
150
150
|
tree: The PyTree to consider.
|
@@ -164,7 +164,7 @@ class JaxsimDataclass(abc.ABC):
|
|
164
164
|
@staticmethod
|
165
165
|
def get_leaf_weak_types(tree: jtp.PyTree) -> tuple[bool, ...]:
|
166
166
|
"""
|
167
|
-
|
167
|
+
Get the leaf weak types of a PyTree.
|
168
168
|
|
169
169
|
Args:
|
170
170
|
tree: The PyTree to consider.
|
jaxsim/utils/tracing.py
CHANGED
@@ -6,7 +6,7 @@ import jax.interpreters.partial_eval
|
|
6
6
|
|
7
7
|
|
8
8
|
def tracing(var: Any) -> bool | jax.Array:
|
9
|
-
"""
|
9
|
+
"""Return True if the variable is being traced by JAX, False otherwise."""
|
10
10
|
|
11
11
|
return isinstance(
|
12
12
|
var, jax._src.core.Tracer | jax.interpreters.partial_eval.DynamicJaxprTracer
|
@@ -14,6 +14,6 @@ def tracing(var: Any) -> bool | jax.Array:
|
|
14
14
|
|
15
15
|
|
16
16
|
def not_tracing(var: Any) -> bool | jax.Array:
|
17
|
-
"""
|
17
|
+
"""Return True if the variable is not being traced by JAX, False otherwise."""
|
18
18
|
|
19
19
|
return True if tracing(var) is False else False
|
jaxsim/utils/wrappers.py
CHANGED
@@ -25,6 +25,9 @@ class HashlessObject(Generic[T]):
|
|
25
25
|
obj: T
|
26
26
|
|
27
27
|
def get(self: HashlessObject[T]) -> T:
|
28
|
+
"""
|
29
|
+
Get the wrapped object.
|
30
|
+
"""
|
28
31
|
return self.obj
|
29
32
|
|
30
33
|
def __hash__(self) -> int:
|
@@ -52,6 +55,9 @@ class CustomHashedObject(Generic[T]):
|
|
52
55
|
hash_function: Callable[[T], int] = hash
|
53
56
|
|
54
57
|
def get(self: CustomHashedObject[T]) -> T:
|
58
|
+
"""
|
59
|
+
Get the wrapped object.
|
60
|
+
"""
|
55
61
|
return self.obj
|
56
62
|
|
57
63
|
def __hash__(self) -> int:
|
@@ -93,6 +99,9 @@ class HashedNumpyArray:
|
|
93
99
|
)
|
94
100
|
|
95
101
|
def get(self) -> jax.Array | npt.NDArray:
|
102
|
+
"""
|
103
|
+
Get the wrapped array.
|
104
|
+
"""
|
96
105
|
return self.array
|
97
106
|
|
98
107
|
def __hash__(self) -> int:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: jaxsim
|
3
|
-
Version: 0.5.1.
|
3
|
+
Version: 0.5.1.dev133
|
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,74 @@
|
|
1
|
+
jaxsim/__init__.py,sha256=OQcCxXn4BXiSvGjAatqvw5fAEVfXbxyavQZN25NEyBo,3675
|
2
|
+
jaxsim/_version.py,sha256=uYBGiqrXtnMg3fRCQxvOjEZbO3b4tQuOGr7uZIItcXQ,428
|
3
|
+
jaxsim/exceptions.py,sha256=qjfTjE9lXvD3-JCPQcxxiX2XSS8QegawzQ6ZuC2tc0Y,2638
|
4
|
+
jaxsim/logging.py,sha256=STI-D_upXZYX-ZezLrlJJ0UlD5YspST0vZ_DcIwkzO4,1553
|
5
|
+
jaxsim/typing.py,sha256=7msl8t5Jt09RNYfKdPJtpjLfWurldcycDappb045Eso,761
|
6
|
+
jaxsim/api/__init__.py,sha256=8eV22t2S3UwNyCg8karPetG1dmX1VDBXkyv28_FwNQA,210
|
7
|
+
jaxsim/api/com.py,sha256=XovL7ytilPlGxU8KsAakaCK3F8coOBzRxdrsE0XGHKA,13816
|
8
|
+
jaxsim/api/common.py,sha256=jd3thxFUxcyoAMV3ZDMqfk2DlBdvWMZuI25Y0Pw5Dlo,7088
|
9
|
+
jaxsim/api/contact.py,sha256=8Bw0YhkjKKgVig4EMMiIGeJ10gosKslKADz8-dvJBdM,25541
|
10
|
+
jaxsim/api/data.py,sha256=S9btxn_KBA1HTI8VEGfYqiQ6pLeqsECbA99lR92hTI4,30191
|
11
|
+
jaxsim/api/frame.py,sha256=d6pa6vywGDqfaJU76F_-yjLJs6R3mrjZ6B-KXPu6f3Q,14595
|
12
|
+
jaxsim/api/joint.py,sha256=AnqlNWmBOay-gsoo0y4AbfFQ2OCJm-8T1E0IMhZeLoY,7457
|
13
|
+
jaxsim/api/kin_dyn_parameters.py,sha256=BaOp7ICxWosDIdWVjh8-cdlX8mXM9IM8wzy2fHz8Ufc,30444
|
14
|
+
jaxsim/api/link.py,sha256=nHjffhNdi_xGkteMsqdb_hC9mdV9rNw7k3pl89Uhw_8,12798
|
15
|
+
jaxsim/api/model.py,sha256=xcPKrpm66wR6lmWIaYHiRp8xMwhNbWG6vTLtwO0Hu_E,80198
|
16
|
+
jaxsim/api/ode.py,sha256=XFi3gGRU2s-hqOpZEAuk7o4cxEa871V1LmGcvT5wf10,16056
|
17
|
+
jaxsim/api/ode_data.py,sha256=ggF1AVaLW5QuXrfpNsFs-voVcW6gZkxK2Xe9GiDmou0,13755
|
18
|
+
jaxsim/api/references.py,sha256=YkdZhRv8NoBC94qvpwn1w9_alVuxrfiZV5w5NHQIt-g,20737
|
19
|
+
jaxsim/integrators/__init__.py,sha256=hxvOD-VK_mmd6v31wtC-nb28AYve1gLuZCNLV9wS-Kg,103
|
20
|
+
jaxsim/integrators/common.py,sha256=hAgtyyFYbedczTAzzEsnCS3-zj9pNuXRbFdx7kyIgUI,20064
|
21
|
+
jaxsim/integrators/fixed_step.py,sha256=AQufOgRbuK7ndW9frDlxNOPRFKMdtVIpdUVfX0FLbIw,3057
|
22
|
+
jaxsim/integrators/variable_step.py,sha256=IzjKzZxNxS0cuQ7H6KfrTX3XKP0lGGhTTqAA1TOq_c8,23747
|
23
|
+
jaxsim/math/__init__.py,sha256=2T1WUU_chNBCvyvkKSdiesPlckbo-gXVbCZEGoF-W0I,381
|
24
|
+
jaxsim/math/adjoint.py,sha256=3kYoPcR-h228wSdP5FQUOn8S_1VI0qQ5asBNZNwW7L0,4267
|
25
|
+
jaxsim/math/cross.py,sha256=ihL1Ss2XCqf6IiaRFfu5IvAVE4txrNZt0CZEYdf_UvM,1378
|
26
|
+
jaxsim/math/inertia.py,sha256=Bh92FlJvJMMZg8825mzEzV3sHAAufJOSaQST1ZnzgSQ,1631
|
27
|
+
jaxsim/math/joint_model.py,sha256=EzAveaG5B6ZnCFNUzN30KEQUVesd83lfWXJarYR-kUw,9989
|
28
|
+
jaxsim/math/quaternion.py,sha256=fO3VNrIoZrcchCXCv_Zn2Ad6-rcgrNzysRrn5raQWJE,4595
|
29
|
+
jaxsim/math/rotation.py,sha256=bl9WCbYyLKg6RyRkMaEBBTmARBs8pB-FGR0JVbfbaNE,2187
|
30
|
+
jaxsim/math/skew.py,sha256=FeyKPMxrGzf6c4fohLR-24deYutetT1jw2r43q2yJEo,1151
|
31
|
+
jaxsim/math/transform.py,sha256=8UyrpcSofLwhp4A5adDiXe_swwJOB_RONFn6VfajjLs,2966
|
32
|
+
jaxsim/math/utils.py,sha256=2id1F6QOvkHkIF3Nuxuj_tz_kI0IYlrlgVQrETmXFfI,1058
|
33
|
+
jaxsim/mujoco/__init__.py,sha256=fZyRWre49pIhOrYdf6yJk_hOax8qWGe8OCmoq-dMVq8,201
|
34
|
+
jaxsim/mujoco/__main__.py,sha256=GBmB7J-zj75ZnFyuAAmpSOpbxi_HhHhWJeot3ljGDJY,5291
|
35
|
+
jaxsim/mujoco/loaders.py,sha256=lHU-Oc2hyYca2eXIWmkhQAcX7vAvxAVTmBFsEqg3fL4,21066
|
36
|
+
jaxsim/mujoco/model.py,sha256=tZWn2gpZSpQtwS5v7O5rGdjYNcEU6rnfAS6_ZKnZagE,16478
|
37
|
+
jaxsim/mujoco/utils.py,sha256=6vYXNXmyI7lf2cp49cq9srClrPsbHmBGgdcPP1kux8M,8396
|
38
|
+
jaxsim/mujoco/visualizer.py,sha256=45LntNrO8Y0sgzLcQrunhkGP7E9XROntCWIv8zQ4_w0,7089
|
39
|
+
jaxsim/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
+
jaxsim/parsers/kinematic_graph.py,sha256=N6cn8Bh4uH92ygkoYFvazbi1Gq7svTojDiZVkhbxsRI,35897
|
41
|
+
jaxsim/parsers/descriptions/__init__.py,sha256=N_hp8cGI5FyEFiuNx9a-CAGCr0F0QpYEpdMHvwB7_1g,261
|
42
|
+
jaxsim/parsers/descriptions/collision.py,sha256=C6SekAPL2tNG62Y-lTqj1m9BblhoTZDj2F2vgspKNbI,4577
|
43
|
+
jaxsim/parsers/descriptions/joint.py,sha256=MurLIHHmu-y_bwUcR_J1NZ-FjfRZRk166zKsn6VzIwE,4232
|
44
|
+
jaxsim/parsers/descriptions/link.py,sha256=Eh0W5qL7_Uw0GV-BkNKXhm9Q2dRTfIWCX5D-87zQkxA,3711
|
45
|
+
jaxsim/parsers/descriptions/model.py,sha256=G7nYy4CTppj2NM7hTXP6xGJ2h5dwT41N1fsy0EYSIBk,9860
|
46
|
+
jaxsim/parsers/rod/__init__.py,sha256=G2vqlLajBLUc4gyzXwsEI2Wsi4TMOIF9bLDFeT6KrGU,92
|
47
|
+
jaxsim/parsers/rod/meshes.py,sha256=yAXefG73_zqbVKRUdlcz9yFmypjDIpiP9cO96PeAozE,2842
|
48
|
+
jaxsim/parsers/rod/parser.py,sha256=9s2wImok8X-s6F8nPFq2vVZ2Ph_o6Q0q9c-HrZ0Z6LU,14498
|
49
|
+
jaxsim/parsers/rod/utils.py,sha256=Wb1TsZ2v0VgmswYqI5hHRtGQx4ttWK8luWO9cvllTEk,8117
|
50
|
+
jaxsim/rbda/__init__.py,sha256=kmy4G9aMkrqPNGdLSaSV3k15dpF52vBEUQXDFDuKIxU,337
|
51
|
+
jaxsim/rbda/aba.py,sha256=w7ciyxB0IsmueatT0C7PcBQEl9dyiH9oqJgIi3xeTUE,8983
|
52
|
+
jaxsim/rbda/collidable_points.py,sha256=0PFLzxWKtRg8-JtfNhGlSjBMv1J98tiLymOdvlvAak4,5325
|
53
|
+
jaxsim/rbda/crba.py,sha256=bXkXESnVbv-lxhU1Y_i0rViEcQA4z2t2_jHwdVj5CBo,5049
|
54
|
+
jaxsim/rbda/forward_kinematics.py,sha256=2GmEoWsrioVl_SAbKRKfhOLz57pY4aR81PKRdulqStA,3458
|
55
|
+
jaxsim/rbda/jacobian.py,sha256=L6Vn4Kf9I6wj-MYcFY6o67mgIfLFaaW4i2wNQJ2PDL0,10981
|
56
|
+
jaxsim/rbda/rnea.py,sha256=CLfqs9XFVaD-hvkLABshDAfdw5bm_AMV3UVAQ_IvURQ,7542
|
57
|
+
jaxsim/rbda/utils.py,sha256=GLt7XIl1ROkx0_fnBCKUHYdB9_IBF3Yi4OnkHSX3gxA,5365
|
58
|
+
jaxsim/rbda/contacts/__init__.py,sha256=L5MM-2pv76YPGzxExdz2EErgGBATuAjYnNHlq5QOySs,503
|
59
|
+
jaxsim/rbda/contacts/common.py,sha256=7ZveKD4ddhUaW_-7mU315zyFdCBgzo60TRK74SOdFpY,10574
|
60
|
+
jaxsim/rbda/contacts/relaxed_rigid.py,sha256=kwk1PoGtqE9e4n1ySNCIOoyZBSUkBj3BSKlgXFPZR6k,20563
|
61
|
+
jaxsim/rbda/contacts/rigid.py,sha256=5fZooYtqy3Db0ef5x1PRX-eEYinp9nCcv4pMSIw1tLM,16161
|
62
|
+
jaxsim/rbda/contacts/soft.py,sha256=XDzHVNrw0gbX8e-3uHVEOAK2OQiwlrnCur5HXsnPitc,16960
|
63
|
+
jaxsim/rbda/contacts/visco_elastic.py,sha256=3CVnZpTZPjyaVO2O5-CiFeNvK3c8Gcw304EVXCcpUvA,39935
|
64
|
+
jaxsim/terrain/__init__.py,sha256=f7lVX-iNpH_wkkjef9Qpjh19TTAUOQw76EiLYJDVizc,78
|
65
|
+
jaxsim/terrain/terrain.py,sha256=TH84r2qizMmsfW7zYLViRjacCfOkqdYHsCzD1lZEY4c,6716
|
66
|
+
jaxsim/utils/__init__.py,sha256=Y5zyoRevl3EMVQadhZ4EtSwTEkDt2vcnFoRhPJjKTZ0,215
|
67
|
+
jaxsim/utils/jaxsim_dataclass.py,sha256=Fxa555u14VUsVlKU1rBQFurrVzBp7BNsIaVoNko0lrI,11261
|
68
|
+
jaxsim/utils/tracing.py,sha256=Btwxdfhb7fJLk3r5PlQkGYj60Y2KbFT1gANGIA697FU,530
|
69
|
+
jaxsim/utils/wrappers.py,sha256=3IMwydqFgmSPqeuUQ3PRmdhDc1IoT6XC23jPC_LjWXs,4175
|
70
|
+
jaxsim-0.5.1.dev133.dist-info/LICENSE,sha256=eaYdFmdeMbiIoIiPzEK0MjP1S9wtFXjXNR5er49uLR0,1546
|
71
|
+
jaxsim-0.5.1.dev133.dist-info/METADATA,sha256=vWaGIyTyF4PDmT0vy1uyRg_5n1Rl1pWHub4SQIuicbE,19484
|
72
|
+
jaxsim-0.5.1.dev133.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
|
73
|
+
jaxsim-0.5.1.dev133.dist-info/top_level.txt,sha256=LxGMA8FLtXjQ6oI7N5gd_R_oSUHxpXxUEOfT1xS_ni0,7
|
74
|
+
jaxsim-0.5.1.dev133.dist-info/RECORD,,
|
@@ -1,74 +0,0 @@
|
|
1
|
-
jaxsim/__init__.py,sha256=OQcCxXn4BXiSvGjAatqvw5fAEVfXbxyavQZN25NEyBo,3675
|
2
|
-
jaxsim/_version.py,sha256=bAv6NfT-OBMQj4lZTyEZMgzn5y6eYEzIt7UYpdG1hHU,428
|
3
|
-
jaxsim/exceptions.py,sha256=5rYd0kGrIaq1e0WK0qMVTCkoGJtMWz_uWlVtxHbjH_A,2322
|
4
|
-
jaxsim/logging.py,sha256=STI-D_upXZYX-ZezLrlJJ0UlD5YspST0vZ_DcIwkzO4,1553
|
5
|
-
jaxsim/typing.py,sha256=7msl8t5Jt09RNYfKdPJtpjLfWurldcycDappb045Eso,761
|
6
|
-
jaxsim/api/__init__.py,sha256=8eV22t2S3UwNyCg8karPetG1dmX1VDBXkyv28_FwNQA,210
|
7
|
-
jaxsim/api/com.py,sha256=5fYNRUhKE5VGGdW88zY8mqqEy5VTWyaHu5k6MgW4Jt4,13826
|
8
|
-
jaxsim/api/common.py,sha256=SvEOGxCKOxKLLVHaNp1sFkBX0sku3-wH0-HUlYVWCDk,7090
|
9
|
-
jaxsim/api/contact.py,sha256=vfW-HEvQcAUHl7dOOwI-ndRxgMeAtkKT7tTaMDFlh7k,25421
|
10
|
-
jaxsim/api/data.py,sha256=AFp1sDNRIkwpBom6ZlW6L7vJBtf4D9woVRJ8bGICr3s,30189
|
11
|
-
jaxsim/api/frame.py,sha256=d6pa6vywGDqfaJU76F_-yjLJs6R3mrjZ6B-KXPu6f3Q,14595
|
12
|
-
jaxsim/api/joint.py,sha256=AnqlNWmBOay-gsoo0y4AbfFQ2OCJm-8T1E0IMhZeLoY,7457
|
13
|
-
jaxsim/api/kin_dyn_parameters.py,sha256=uFDFv13mtaOvhG1BHiwn6LRKhL__u9miutOz4a7aqkg,29897
|
14
|
-
jaxsim/api/link.py,sha256=nHjffhNdi_xGkteMsqdb_hC9mdV9rNw7k3pl89Uhw_8,12798
|
15
|
-
jaxsim/api/model.py,sha256=bDds8iog-6Ug2cwGjBBkBd7ENqdCE5Y-jc4cweF9wxU,80176
|
16
|
-
jaxsim/api/ode.py,sha256=SIg7UKDkJxhS0FlMH6iqipn7WoQWjpQP6EFdvEBkdts,15429
|
17
|
-
jaxsim/api/ode_data.py,sha256=ggF1AVaLW5QuXrfpNsFs-voVcW6gZkxK2Xe9GiDmou0,13755
|
18
|
-
jaxsim/api/references.py,sha256=YkdZhRv8NoBC94qvpwn1w9_alVuxrfiZV5w5NHQIt-g,20737
|
19
|
-
jaxsim/integrators/__init__.py,sha256=hxvOD-VK_mmd6v31wtC-nb28AYve1gLuZCNLV9wS-Kg,103
|
20
|
-
jaxsim/integrators/common.py,sha256=fnDqVIIXMYe2aiT_qnEhJSAeFuYRGhmElVCl7zPTrN8,18229
|
21
|
-
jaxsim/integrators/fixed_step.py,sha256=KpjRd6hHtapxDoo6D1kyDrVDSHnke2TepI5grFH7_bM,2693
|
22
|
-
jaxsim/integrators/variable_step.py,sha256=HuUKudeFj0W7dvVATVNZK3uk1Nh_qKlGO_CDqXJFV14,22166
|
23
|
-
jaxsim/math/__init__.py,sha256=2T1WUU_chNBCvyvkKSdiesPlckbo-gXVbCZEGoF-W0I,381
|
24
|
-
jaxsim/math/adjoint.py,sha256=V7r5VrTCKPLEL5gavNSx9U7xSsrb11a5e4gWqJ2MuRo,4375
|
25
|
-
jaxsim/math/cross.py,sha256=U7yEx_l75mSy5g6O-jsjBztApvxC3WaV4MpkS5tThu4,1330
|
26
|
-
jaxsim/math/inertia.py,sha256=01hz6wMFreN2jBA0rVoBS1YMVh77KvwuzXSOpI3pxNk,1614
|
27
|
-
jaxsim/math/joint_model.py,sha256=EzAveaG5B6ZnCFNUzN30KEQUVesd83lfWXJarYR-kUw,9989
|
28
|
-
jaxsim/math/quaternion.py,sha256=vrPkdSUPfv1RZOULY9uG_bxmqgOARdvMxKtb6QixHuY,4609
|
29
|
-
jaxsim/math/rotation.py,sha256=W6vaIWmoBBuPgNJKey1vFpl2a1IxXTToCTaPfs-kd9I,2155
|
30
|
-
jaxsim/math/skew.py,sha256=oOGSSR8PUGROl6IJFlrmu6K3gPH-u16hUPfKIkcVv9o,1177
|
31
|
-
jaxsim/math/transform.py,sha256=KXzQgOnCfAtbXCwxhplpJ3F0JT3oEyeLVby1_uRAryQ,2892
|
32
|
-
jaxsim/math/utils.py,sha256=C5kP11KWsIacWtzouaI5tNH8BHjZ-ZgZ67U9wzjz7jw,1070
|
33
|
-
jaxsim/mujoco/__init__.py,sha256=fZyRWre49pIhOrYdf6yJk_hOax8qWGe8OCmoq-dMVq8,201
|
34
|
-
jaxsim/mujoco/__main__.py,sha256=GBmB7J-zj75ZnFyuAAmpSOpbxi_HhHhWJeot3ljGDJY,5291
|
35
|
-
jaxsim/mujoco/loaders.py,sha256=_CZekIqZNe8oFeH7zSv4gGZAZENRISwMd8dt640zjRI,20860
|
36
|
-
jaxsim/mujoco/model.py,sha256=5_7rWk_WBkNKDHqeewIFj0t2ZGqJpE6RDXHSbRvw4e4,16493
|
37
|
-
jaxsim/mujoco/utils.py,sha256=vZ8afASNOSxnxVW9p_1U1J_n-9nVhnBDqlV5k8c1GkM,8256
|
38
|
-
jaxsim/mujoco/visualizer.py,sha256=nD6SNWmn-nxjjjIY9oPAHvL2j8q93DJDjZeepzke_DQ,6988
|
39
|
-
jaxsim/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
40
|
-
jaxsim/parsers/kinematic_graph.py,sha256=MJkJ7AW1TdLZmxibuiVrTfn6jHjh3OVhEF20DqwsCnM,34748
|
41
|
-
jaxsim/parsers/descriptions/__init__.py,sha256=N_hp8cGI5FyEFiuNx9a-CAGCr0F0QpYEpdMHvwB7_1g,261
|
42
|
-
jaxsim/parsers/descriptions/collision.py,sha256=mLcwj61of16MVJf64I95E5SiQZST3uyTEfS0ImhGBSI,4419
|
43
|
-
jaxsim/parsers/descriptions/joint.py,sha256=2KWLP4ILPMV8q1X0J7aS3GGFeZn4zXan0dqGOWc7XuQ,4365
|
44
|
-
jaxsim/parsers/descriptions/link.py,sha256=Eh0W5qL7_Uw0GV-BkNKXhm9Q2dRTfIWCX5D-87zQkxA,3711
|
45
|
-
jaxsim/parsers/descriptions/model.py,sha256=I2Vsbv8Josl4Le7b5rIvhqA2k9Bbv5JxMqwytayxds0,9833
|
46
|
-
jaxsim/parsers/rod/__init__.py,sha256=G2vqlLajBLUc4gyzXwsEI2Wsi4TMOIF9bLDFeT6KrGU,92
|
47
|
-
jaxsim/parsers/rod/meshes.py,sha256=a5qUFkHe3gPXMKRnvPx3BDvlEHT2vEJqcLYLXhJFCdA,2847
|
48
|
-
jaxsim/parsers/rod/parser.py,sha256=OJdKM2hVyED9nw7iRpxCRFZx9Z6rKmVflhkItGTzRns,14499
|
49
|
-
jaxsim/parsers/rod/utils.py,sha256=qvaWQKbmUWu1t-IOT2eseBHCMm3tdBQ1XuYSBO6IDXY,7830
|
50
|
-
jaxsim/rbda/__init__.py,sha256=kmy4G9aMkrqPNGdLSaSV3k15dpF52vBEUQXDFDuKIxU,337
|
51
|
-
jaxsim/rbda/aba.py,sha256=w7ciyxB0IsmueatT0C7PcBQEl9dyiH9oqJgIi3xeTUE,8983
|
52
|
-
jaxsim/rbda/collidable_points.py,sha256=0PFLzxWKtRg8-JtfNhGlSjBMv1J98tiLymOdvlvAak4,5325
|
53
|
-
jaxsim/rbda/crba.py,sha256=bXkXESnVbv-lxhU1Y_i0rViEcQA4z2t2_jHwdVj5CBo,5049
|
54
|
-
jaxsim/rbda/forward_kinematics.py,sha256=2GmEoWsrioVl_SAbKRKfhOLz57pY4aR81PKRdulqStA,3458
|
55
|
-
jaxsim/rbda/jacobian.py,sha256=L6Vn4Kf9I6wj-MYcFY6o67mgIfLFaaW4i2wNQJ2PDL0,10981
|
56
|
-
jaxsim/rbda/rnea.py,sha256=CLfqs9XFVaD-hvkLABshDAfdw5bm_AMV3UVAQ_IvURQ,7542
|
57
|
-
jaxsim/rbda/utils.py,sha256=GLt7XIl1ROkx0_fnBCKUHYdB9_IBF3Yi4OnkHSX3gxA,5365
|
58
|
-
jaxsim/rbda/contacts/__init__.py,sha256=L5MM-2pv76YPGzxExdz2EErgGBATuAjYnNHlq5QOySs,503
|
59
|
-
jaxsim/rbda/contacts/common.py,sha256=BjwZMCkzd1ZOdZW7_Zt09Cl5j2JUHXM5Q8ao_qS6e64,10406
|
60
|
-
jaxsim/rbda/contacts/relaxed_rigid.py,sha256=PgwKfProN5sLXJsSov3nIidHHMVpJqIp7eIv6_bPGjs,20345
|
61
|
-
jaxsim/rbda/contacts/rigid.py,sha256=X-PE6PmZqlKoZTY6JhYBSW-vom-rq2uBKmBUNQeQHCg,15991
|
62
|
-
jaxsim/rbda/contacts/soft.py,sha256=MhqHThn3XVyy8lRg6QVYzcJF4vVRKwnMvOMEyyF96OE,15443
|
63
|
-
jaxsim/rbda/contacts/visco_elastic.py,sha256=QhyJHjDowyBTAhoSdZcCIkOqzp__gMXhLON-qYyMgQc,39886
|
64
|
-
jaxsim/terrain/__init__.py,sha256=f7lVX-iNpH_wkkjef9Qpjh19TTAUOQw76EiLYJDVizc,78
|
65
|
-
jaxsim/terrain/terrain.py,sha256=bv-YAwG06EydHnB6bcNtl7xIyB3LSl0vVXSVLFC4JpQ,5273
|
66
|
-
jaxsim/utils/__init__.py,sha256=Y5zyoRevl3EMVQadhZ4EtSwTEkDt2vcnFoRhPJjKTZ0,215
|
67
|
-
jaxsim/utils/jaxsim_dataclass.py,sha256=TGmTQV2Lq7Q-2nLoAEaeNtkPa_qj0IKkdBm4COj46Os,11312
|
68
|
-
jaxsim/utils/tracing.py,sha256=eEY28MZW0Lm_jJNt1NkFqZz0ek01tvhR46OXZYCo7tc,532
|
69
|
-
jaxsim/utils/wrappers.py,sha256=ZY7olSORzZRvSzkdeNLj8yjwUIAt9L0Douwl7wItjpk,4008
|
70
|
-
jaxsim-0.5.1.dev126.dist-info/LICENSE,sha256=eaYdFmdeMbiIoIiPzEK0MjP1S9wtFXjXNR5er49uLR0,1546
|
71
|
-
jaxsim-0.5.1.dev126.dist-info/METADATA,sha256=nq12YotcPlItsQiynF8x5TOyNrtm50LSg-AkuAawn8E,19484
|
72
|
-
jaxsim-0.5.1.dev126.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
|
73
|
-
jaxsim-0.5.1.dev126.dist-info/top_level.txt,sha256=LxGMA8FLtXjQ6oI7N5gd_R_oSUHxpXxUEOfT1xS_ni0,7
|
74
|
-
jaxsim-0.5.1.dev126.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|