imt-ring 1.6.8__tar.gz → 1.6.9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {imt_ring-1.6.8 → imt_ring-1.6.9}/PKG-INFO +1 -1
- {imt_ring-1.6.8 → imt_ring-1.6.9}/pyproject.toml +1 -1
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/PKG-INFO +1 -1
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/base.py +12 -5
- {imt_ring-1.6.8 → imt_ring-1.6.9}/readme.md +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/setup.cfg +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/SOURCES.txt +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/dependency_links.txt +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/requires.txt +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/imt_ring.egg-info/top_level.txt +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algebra.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/_random.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/rr_imp_joint.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/rr_joint.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/custom_joints/suntay.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/dynamics.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/base.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/batch.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/finalize_fns.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/motion_artifacts.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/pd_control.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/setup_fns.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/generator/types.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/jcalc.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/kinematics.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/algorithms/sensors.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/branched.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/knee_trans_dof.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/standard_sys.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/exclude/standard_sys_rr_imp.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/inv_pendulum.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/knee_flexible_imus.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/spherical_stiff.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/symmetric.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_all_1.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_all_2.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_ang0_pos0.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_control.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_double_pendulum.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_free.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_kinematics.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_morph_system/four_seg_seg1.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_morph_system/four_seg_seg3.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_randomize_position.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_sensors.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples/test_three_seg_seg2.xml +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/examples.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/test_examples.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/abstract.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/from_xml.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/test_from_xml.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/test_to_xml.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/io/xml/to_xml.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/maths.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/base.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/callbacks.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/ml_utils.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/optimizer.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/params/0x13e3518065c21cd8.pickle +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/params/0x1d76628065a71e0f.pickle +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/ringnet.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/rnno_v1.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/train.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/ml/training_loop.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/base_render.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/mujoco_render.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/vispy_render.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/rendering/vispy_visuals.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sim2real/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sim2real/sim2real.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/spatial.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/delete_sys.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/inject_sys.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/sys_composer/morph_sys.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/backend.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/batchsize.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/colab.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/hdf5.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/normalizer.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/path.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/randomize_sys.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/register_gym_envs/__init__.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/register_gym_envs/saddle.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/src/ring/utils/utils.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_algebra.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_base.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_custom_joints.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_dynamics.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_generator.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_jcalc.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_jit.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_kinematics.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_maths.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_ml_utils.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_motion_artifacts.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_pd_control.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_quickstart_example.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_random.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_randomize.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_rcmg.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_render.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sensors.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sim2real.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_sys_composer.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_train.py +0 -0
- {imt_ring-1.6.8 → imt_ring-1.6.9}/tests/test_utils.py +0 -0
@@ -590,12 +590,14 @@ class System(_Base):
|
|
590
590
|
|
591
591
|
return sys
|
592
592
|
|
593
|
-
def findall_imus(self) -> list[str]:
|
594
|
-
|
593
|
+
def findall_imus(self, names: bool = True) -> list[str] | list[int]:
|
594
|
+
bodies = [name for name in self.link_names if name[:3] == "imu"]
|
595
|
+
return bodies if names else [self.name_to_idx(n) for n in bodies]
|
595
596
|
|
596
|
-
def findall_segments(self) -> list[str]:
|
597
|
-
imus = self.findall_imus()
|
598
|
-
|
597
|
+
def findall_segments(self, names: bool = True) -> list[str] | list[int]:
|
598
|
+
imus = self.findall_imus(names=True)
|
599
|
+
bodies = [name for name in self.link_names if name not in imus]
|
600
|
+
return bodies if names else [self.name_to_idx(n) for n in bodies]
|
599
601
|
|
600
602
|
def _bodies_indices_to_bodies_name(self, bodies: list[int]) -> list[str]:
|
601
603
|
return [self.idx_to_name(i) for i in bodies]
|
@@ -615,6 +617,11 @@ class System(_Base):
|
|
615
617
|
bodies = [i for i, _typ in enumerate(self.link_types) if _typ == typ]
|
616
618
|
return self._bodies_indices_to_bodies_name(bodies) if names else bodies
|
617
619
|
|
620
|
+
def children(self, name: str, names: bool = False) -> list[int] | list[str]:
|
621
|
+
p = self.name_to_idx(name)
|
622
|
+
bodies = [i for i in range(self.num_links()) if self.link_parents[i] == p]
|
623
|
+
return bodies if (not names) else [self.idx_to_name(i) for i in bodies]
|
624
|
+
|
618
625
|
def scan(self, f: Callable, in_types: str, *args, reverse: bool = False):
|
619
626
|
"""Scan `f` along each link in system whilst carrying along state.
|
620
627
|
|
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
|