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_variantis display metadata and does not implicitly select a profile.
- Return type:
- Returns:
The selected
RobotCfgsubclass decoded through itsfrom_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 followRobotCfg.
- 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 followRobotCfg.
- 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 followRobotCfg.
- 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 followRobotCfg.
- 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 followRobotCfg.
- class embodichain_robots.FrankaPandaPgiCfg#
Panda arm with the DH Robotics PGI gripper, its TCP and finger contacts.
Construct with
from_dict(). Thearmcontrol part contains seven joints andeefcontrols 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 followRobotCfg.
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 followRobotCfg.
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 followRobotCfg.
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 followRobotCfg.
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 followRobotCfg.
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:
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.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:
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 followRobotCfg.
- class embodichain_robots.franka_panda.FrankaPandaPgiCfg
Panda arm with the PGI gripper; available as catalog ID
FrankaPandaPgi. The arm chain ends atfr3_link8and the solver applies the PGI TCP. Seeembodichain_robots.FrankaPandaPgiCfgfor 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 followRobotCfg.
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 followRobotCfg.