imt-ring 1.3.2__tar.gz → 1.3.3__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.
- {imt_ring-1.3.2 → imt_ring-1.3.3}/PKG-INFO +1 -1
- {imt_ring-1.3.2 → imt_ring-1.3.3}/pyproject.toml +1 -1
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/imt_ring.egg-info/PKG-INFO +1 -1
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/custom_joints/__init__.py +1 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/custom_joints/suntay.py +18 -2
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/base.py +10 -4
- {imt_ring-1.3.2 → imt_ring-1.3.3}/readme.md +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/setup.cfg +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/imt_ring.egg-info/SOURCES.txt +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/imt_ring.egg-info/dependency_links.txt +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/imt_ring.egg-info/requires.txt +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/imt_ring.egg-info/top_level.txt +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algebra.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/_random.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/dynamics.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/base.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/batch.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/pd_control.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/randomize.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/transforms.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/generator/types.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/jcalc.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/kinematics.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/algorithms/sensors.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/branched.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/inv_pendulum.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/spherical_stiff.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/symmetric.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_all_1.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_all_2.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_control.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_double_pendulum.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_free.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_kinematics.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_randomize_position.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_sensors.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/examples.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/test_examples.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/abstract.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/from_xml.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/test_from_xml.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/test_to_xml.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/io/xml/to_xml.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/maths.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/base.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/callbacks.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/ml_utils.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/optimizer.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/ringnet.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/train.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/ml/training_loop.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/rendering/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/rendering/base_render.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/rendering/mujoco_render.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/rendering/vispy_render.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/rendering/vispy_visuals.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sim2real/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sim2real/sim2real.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/spatial.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sys_composer/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sys_composer/delete_sys.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sys_composer/inject_sys.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/sys_composer/morph_sys.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/__init__.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/batchsize.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/colab.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/hdf5.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/normalizer.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/path.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/src/ring/utils/utils.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_algebra.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_base.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_custom_joints.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_dynamics.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_generator.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_jcalc.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_jit.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_kinematics.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_maths.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_ml_utils.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_motion_artifacts.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_pd_control.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_random.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_randomize.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_rcmg.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_render.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_sensors.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_sim2real.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_sys_composer.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_train.py +0 -0
- {imt_ring-1.3.2 → imt_ring-1.3.3}/tests/test_utils.py +0 -0
@@ -327,8 +327,8 @@ def Polynomial_DrawnFnPair(
|
|
327
327
|
values = jax.vmap(_apply_poly_factors, in_axes=(None, 0))(
|
328
328
|
poly_factors, xs - q0
|
329
329
|
)
|
330
|
-
|
331
|
-
amin = jnp.min(values)
|
330
|
+
eps = 1e-6
|
331
|
+
amin, amax = jnp.min(values), jnp.max(values) + eps
|
332
332
|
return amin, amax, poly_factors, q0
|
333
333
|
|
334
334
|
def _apply(params, q):
|
@@ -350,6 +350,22 @@ def Polynomial_DrawnFnPair(
|
|
350
350
|
return factory
|
351
351
|
|
352
352
|
|
353
|
+
def ConstantValue_DrawnFnPair(value: float) -> DrawnFnPairFactory:
|
354
|
+
value = jnp.array(value)
|
355
|
+
|
356
|
+
def factory(xs, mn, mx):
|
357
|
+
|
358
|
+
def init(key):
|
359
|
+
return {}
|
360
|
+
|
361
|
+
def apply(params, q):
|
362
|
+
return value
|
363
|
+
|
364
|
+
return DrawnFnPair(init, apply)
|
365
|
+
|
366
|
+
return factory
|
367
|
+
|
368
|
+
|
353
369
|
def MLP_DrawnFnPair(
|
354
370
|
center: bool = False, flexion_center: Optional[float] = None
|
355
371
|
) -> DrawnFnPairFactory:
|
@@ -929,16 +929,22 @@ def _parse_system_calculate_inertia(sys: System):
|
|
929
929
|
def _scan_sys(sys: System, f: Callable, in_types: str, *args, reverse: bool = False):
|
930
930
|
assert len(args) == len(in_types)
|
931
931
|
for in_type, arg in zip(in_types, args):
|
932
|
-
|
932
|
+
|
933
933
|
if in_type == "l":
|
934
|
-
|
934
|
+
required_length = sys.num_links()
|
935
935
|
elif in_type == "q":
|
936
|
-
|
936
|
+
required_length = sys.q_size()
|
937
937
|
elif in_type == "d":
|
938
|
-
|
938
|
+
required_length = sys.qd_size()
|
939
939
|
else:
|
940
940
|
raise Exception("`in_types` must be one of `l` or `q` or `d`")
|
941
941
|
|
942
|
+
B = len(arg)
|
943
|
+
B_re = required_length
|
944
|
+
assert (
|
945
|
+
B == B_re
|
946
|
+
), f"arg={arg} has a length of B={B} which isn't the required length={B_re}"
|
947
|
+
|
942
948
|
order = range(sys.num_links())
|
943
949
|
q_idx, qd_idx = 0, 0
|
944
950
|
q_idxs, qd_idxs = {}, {}
|
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
|