Robot catalogs and configurations

Contents

Robot catalogs and configurations#

The main embodichain distribution bundles embodichain_robots with the same release version. Concrete robot defaults and W1 hardware specifications live in that import package; generic simulation, solver, and dual-arm APIs remain in the core.

Gym robot selectors, workspace analysis, and dual-arm base selection share a catalog resolver. Catalog entry points advertise robot IDs, configuration class import paths, optional defaults, and optional control/variant summaries. embodichain list-robot reads these summaries to display independent control DOFs, default control parts, and mimic followers. Listing defers robot class imports and simulation initialization; resolution validates the selected class and isolates its default/override fields. See Robot Catalog for the CLI, variant selection, and provider registration.

Official configurations provide the existing RobotCfg.from_dict() and build_pk_serial_chain() contracts. Import concrete configurations from embodichain_robots and generic dual-arm helpers from embodichain.lab.sim.robots. Former concrete imports under the core robot package and historical selector aliases have been removed. Selectors use exact registered IDs such as FrankaPanda, URRobot, or ur5. Shared runtime fields remain documented on RobotCfg; the class declarations below identify canonical imports without re-expanding inherited configuration fields or generated constructors.

embodichain.robot_registry#

Discover installed robot IDs or construct the selected configuration with caller overrides. An explicit variant selects its catalog profile defaults before caller overrides are applied. Omitting it preserves existing resolution defaults. The profile’s display-only default_variant does not implicitly select a variant. All merges preserve the catalog and caller mappings.

embodichain.robot_registry.list_robot_cfgs()[source]#

List registered robot IDs without importing configuration classes.

Return type:

tuple[str, ...]

Returns:

Sorted robot IDs, including variant presets and core compositions.

embodichain.robot_registry.resolve_robot_cfg(name, overrides=None, *, variant=None)[source]#

Construct a robot config using catalog defaults and caller overrides.

Parameters:
  • name (str) – Exact registered robot ID.

  • overrides (Mapping[str, Any] | None) – Robot-specific configuration fields. Caller values take precedence over catalog and variant defaults. Input mappings are not mutated; nested values follow the existing top-level merge.

  • variant (str | None) – Exact declared variant ID. When omitted, the existing catalog and configuration-class defaults apply; default_variant is display metadata and does not implicitly select a profile.

Return type:

RobotCfg

Returns:

The selected RobotCfg subclass decoded through its from_dict.

Raises:
  • ValueError – If the robot or variant ID is unknown, or an ID is registered more than once.

  • TypeError – If a catalog or its selected class violates the contract.

embodichain_robots#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.AlohaMiniCfg

Configure Aloha Mini 2 Pro from its complete, source-named URDF.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.TianjiMarvinCfg#

Configure Tianji Marvin with or without its parallel-jaw grippers.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.DexforceW1Cfg#

DexforceW1 specific configuration, inherits from RobotCfg and allows custom parameters.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.CobotMagicCfg#

Dual-arm CobotMagic with source arm limits and calibrated gripper drives.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.FrankaPandaCfg#

Configuration for the Franka Emika Panda robot with Panda hand.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.FrankaPandaPgiCfg#

Panda arm with the DH Robotics PGI gripper, its TCP and finger contacts.

Construct with from_dict(). The arm control part contains seven joints and eef controls the PGI leader joint. build_pk_serial_chain() returns the flange pose; the configured solver TCP locates the gripper tip. See Franka Panda for the assembly and frame contract.

class embodichain_robots.URRobotCfg#

Configuration for the UR family of robots.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.aloha_mini#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.aloha_mini.AlohaMiniCfg

Configure Aloha Mini 2 Pro from its complete, source-named URDF.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.cobotmagic#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.cobotmagic.CobotMagicCfg

Dual-arm CobotMagic with source arm limits and calibrated gripper drives.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.dexforce_w1#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.DexforceW1Cfg

DexforceW1 specific configuration, inherits from RobotCfg and allows custom parameters.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.dexforce_w1.cfg#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.cfg.DexforceW1Cfg

DexforceW1 specific configuration, inherits from RobotCfg and allows custom parameters.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.dexforce_w1.hand_specs#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.hand_specs.W1HandSideSpec#

Side-specific asset metadata for one hand release.

class embodichain_robots.dexforce_w1.hand_specs.W1HandSpec#

A hand release independent of the W1 body/arm version.

embodichain_robots.dexforce_w1.hand_specs.get_default_w1_hand_version(brand)[source]#

Return the explicitly selected default release for a hand brand.

Return type:

DexforceW1HandVersion

embodichain_robots.dexforce_w1.hand_specs.get_w1_hand_spec(brand, version)[source]#

Return an explicitly registered hand release.

Return type:

W1HandSpec

embodichain_robots.dexforce_w1.hand_specs.normalize_w1_hand_mappings(hand_types=None, hand_versions=None, hand_attach_xposes=None)[source]#

Normalize optional side-keyed hand configuration mappings.

Return type:

tuple[dict, dict, dict]

embodichain_robots.dexforce_w1.params#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.params.W1ArmKineParams#

Kinematics parameters for a W1 arm.

embodichain_robots.dexforce_w1.specs#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.specs.W1VersionSpec#

Asset layout and calibrated defaults belonging to one W1 revision.

embodichain_robots.dexforce_w1.specs.get_w1_version_spec(version)[source]#
Return type:

W1VersionSpec

embodichain_robots.dexforce_w1.types#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.types.DexforceW1Version#

Released W1 body revision identifiers.

class embodichain_robots.dexforce_w1.types.DexforceW1HandVersion#

W1 end-effector revision identifiers, independent of the body revision.

class embodichain_robots.dexforce_w1.types.DexforceW1ArmSide#

Left/right side identifiers for W1 assembly and calibration.

class embodichain_robots.dexforce_w1.types.DexforceW1Type#

Physical W1 component identifiers used by the assembly helpers.

class embodichain_robots.dexforce_w1.types.DexforceW1HandBrand#

Supported W1 end-effector model identifiers.

embodichain_robots.dexforce_w1.utils#

W1 configuration, hardware revisions, calibrated transforms, hand specifications, and assembly helpers.

class embodichain_robots.dexforce_w1.utils.ChassisManager#

Robot hardware configuration and assembly helper.

class embodichain_robots.dexforce_w1.utils.TorsoManager#

Robot hardware configuration and assembly helper.

class embodichain_robots.dexforce_w1.utils.HeadManager#

Robot hardware configuration and assembly helper.

class embodichain_robots.dexforce_w1.utils.ArmManager#

Robot hardware configuration and assembly helper.

class embodichain_robots.dexforce_w1.utils.HandManager#

Robot hardware configuration and assembly helper.

class embodichain_robots.dexforce_w1.utils.EyesManager#

Robot hardware configuration and assembly helper.

embodichain_robots.dexforce_w1.utils.build_dexforce_w1_assembly_urdf_cfg(version=DexforceW1Version.V021, fname=None, hand_types=None, hand_versions=None, hand_attach_xposes=None, include_hand=True)[source]#

Assemble DexforceW1 robot urdf configuration.

Parameters:
  • version (DexforceW1Version) – W1 version used by every robot component.

  • fname (str | None) – Output configuration name. Defaults to the version assembly name.

  • hand_types (dict[DexforceW1ArmSide, DexforceW1HandBrand] | None) – Dict specifying hand brand (DexforceW1HandBrand) for each arm side. Default None, which uses the default brand.

  • hand_versions (dict[DexforceW1ArmSide, DexforceW1HandVersion] | None) – Hand asset version for each side. Defaults to hand V021, independently of the W1 robot version.

  • hand_attach_xposes (dict[DexforceW1ArmSide, ndarray] | None) – Dict specifying hand attachment pose for each arm side. Default None, which uses the default attachment pose.

  • include_hand (bool) – Whether to include hand. Default True.

Returns:

Assembled URDF configuration.

Return type:

URDFCfg

embodichain_robots.franka_panda#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.franka_panda.FrankaPandaCfg

Configuration for the Franka Emika Panda robot with Panda hand.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

class embodichain_robots.franka_panda.FrankaPandaPgiCfg

Panda arm with the PGI gripper; available as catalog ID FrankaPandaPgi. The arm chain ends at fr3_link8 and the solver applies the PGI TCP. See embodichain_robots.FrankaPandaPgiCfg for the public entry point.

embodichain_robots.tianji_marvin#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.tianji_marvin.TianjiMarvinCfg

Configure Tianji Marvin with or without its parallel-jaw grippers.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.

embodichain_robots.ur_robot#

Concrete robot configurations, exposed lazily from the bundled robot package.

class embodichain_robots.ur_robot.URRobotCfg

Configuration for the UR family of robots.

Construct with from_dict(); build_pk_serial_chain() provides the robot-specific differentiable kinematic chains. Generic runtime fields and backend selection follow RobotCfg.