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.
Files changed (46) hide show
  1. jaxsim/_version.py +2 -2
  2. jaxsim/api/com.py +1 -1
  3. jaxsim/api/common.py +1 -1
  4. jaxsim/api/contact.py +3 -0
  5. jaxsim/api/data.py +2 -1
  6. jaxsim/api/kin_dyn_parameters.py +18 -1
  7. jaxsim/api/model.py +7 -4
  8. jaxsim/api/ode.py +21 -1
  9. jaxsim/exceptions.py +8 -0
  10. jaxsim/integrators/common.py +60 -2
  11. jaxsim/integrators/fixed_step.py +21 -0
  12. jaxsim/integrators/variable_step.py +44 -0
  13. jaxsim/math/adjoint.py +13 -10
  14. jaxsim/math/cross.py +6 -2
  15. jaxsim/math/inertia.py +8 -4
  16. jaxsim/math/quaternion.py +10 -6
  17. jaxsim/math/rotation.py +6 -3
  18. jaxsim/math/skew.py +2 -2
  19. jaxsim/math/transform.py +3 -0
  20. jaxsim/math/utils.py +2 -2
  21. jaxsim/mujoco/loaders.py +17 -7
  22. jaxsim/mujoco/model.py +15 -15
  23. jaxsim/mujoco/utils.py +6 -1
  24. jaxsim/mujoco/visualizer.py +11 -7
  25. jaxsim/parsers/descriptions/collision.py +7 -4
  26. jaxsim/parsers/descriptions/joint.py +16 -14
  27. jaxsim/parsers/descriptions/model.py +1 -1
  28. jaxsim/parsers/kinematic_graph.py +38 -0
  29. jaxsim/parsers/rod/meshes.py +5 -5
  30. jaxsim/parsers/rod/parser.py +1 -1
  31. jaxsim/parsers/rod/utils.py +11 -0
  32. jaxsim/rbda/contacts/common.py +2 -0
  33. jaxsim/rbda/contacts/relaxed_rigid.py +7 -4
  34. jaxsim/rbda/contacts/rigid.py +8 -4
  35. jaxsim/rbda/contacts/soft.py +37 -0
  36. jaxsim/rbda/contacts/visco_elastic.py +1 -0
  37. jaxsim/terrain/terrain.py +52 -0
  38. jaxsim/utils/jaxsim_dataclass.py +3 -3
  39. jaxsim/utils/tracing.py +2 -2
  40. jaxsim/utils/wrappers.py +9 -0
  41. {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/METADATA +1 -1
  42. jaxsim-0.5.1.dev133.dist-info/RECORD +74 -0
  43. jaxsim-0.5.1.dev126.dist-info/RECORD +0 -74
  44. {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/LICENSE +0 -0
  45. {jaxsim-0.5.1.dev126.dist-info → jaxsim-0.5.1.dev133.dist-info}/WHEEL +0 -0
  46. {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
- penetration: The point position in the constraint frame.
487
- velocity: The point velocity in the constraint frame.
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
- Calculates impedance and offset acceleration in constraint frame.
532
+ Calculate impedance and offset acceleration in constraint frame.
530
533
 
531
534
  Args:
532
535
  pos: position in constraint frame.
@@ -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
- """Returns the new velocity of the system after a potential impact.
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
@@ -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
@@ -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
- Helper method to get the leaf shapes of a PyTree.
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
- Helper method to get the leaf dtypes of a PyTree.
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
- Helper method to get the leaf weak types of a PyTree.
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
- """Returns True if the variable is being traced by JAX, False otherwise."""
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
- """Returns True if the variable is not being traced by JAX, False otherwise."""
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.dev126
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,,