protomotions.robot_configs module#
Robot configuration classes defining morphology and control parameters.
Base Configuration#
- class protomotions.robot_configs.base.RobotConfig(
- asset,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=1,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset='all',
- non_termination_contact_bodies='all',
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name=None,
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,
Bases:
objectConfiguration for robot morphology and control parameters.
Defines all robot-specific parameters including asset files, body names, control settings, and physical properties. Each robot (SMPL, G1, etc.) should subclass this and provide robot-specific values.
Key configuration areas:
Asset: Robot mesh/URDF files and physical properties
Body Names: Named body parts for tracking and observations
Control: PD gains, action scales, and control modes
Kinematic Info: Joint structure extracted from MJCF/URDF
Simulator Params: Simulator-specific overrides
Example:
config = RobotConfig( asset=RobotAssetConfig(asset_file_name="robot.xml"), control=ControlConfig(control_type=ControlType.BUILT_IN_PD) )
- asset: RobotAssetConfig#
- control: ControlConfig#
- kinematic_info: KinematicInfo#
- simulation_params: SimulatorParams#
- update_fields(**kwargs)[source]#
Update robot config fields and reprocess derived fields.
This is useful when you need to modify fields after initialization without manually calling __post_init__.
- Parameters:
**kwargs – Fields to update on the robot config
- __init__(
- asset,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=1,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset='all',
- non_termination_contact_bodies='all',
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name=None,
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,
SMPL Humanoid#
- class protomotions.robot_configs.smpl.SmplRobotConfig(asset: protomotions.robot_configs.base.RobotAssetConfig = <factory>, common_naming_to_robot_body_names: Dict[str, str] = <factory>, default_root_height: float = 0.95, default_dof_pos: Union[List[float], MockTensor, NoneType] = None, contact_bodies: Union[List[str], str, NoneType] = None, trackable_bodies_subset: List[str] = <factory>, non_termination_contact_bodies: List[str] = <factory>, init_state: Optional[protomotions.robot_configs.base.InitState] = None, mimic_small_marker_bodies: Optional[List[str]] = None, anchor_body_name: Optional[str] = None, contact_pairs_multiplier: int = 16, control: protomotions.robot_configs.base.ControlConfig = <factory>, simulation_params: protomotions.robot_configs.base.SimulatorParams = <factory>)[source]#
Bases:
RobotConfig- simulation_params: SimulatorParams#
- __init__(
- asset=<factory>,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=0.95,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset=<factory>,
- non_termination_contact_bodies=<factory>,
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name=None,
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,
SMPL-X Humanoid#
- class protomotions.robot_configs.smplx.SMPLXRobotConfig(asset: protomotions.robot_configs.base.RobotAssetConfig = <factory>, common_naming_to_robot_body_names: Dict[str, List[str]] = <factory>, default_root_height: float = 0.95, default_dof_pos: Union[List[float], MockTensor, NoneType] = None, contact_bodies: List[str] = <factory>, trackable_bodies_subset: Union[List[str], str] = 'all', non_termination_contact_bodies: List[str] = <factory>, init_state: Optional[protomotions.robot_configs.base.InitState] = None, mimic_small_marker_bodies: List[str] = <factory>, anchor_body_name: Optional[str] = None, contact_pairs_multiplier: int = 20, control: protomotions.robot_configs.base.ControlConfig = <factory>, simulation_params: protomotions.robot_configs.base.SimulatorParams = <factory>)[source]#
Bases:
RobotConfig- simulation_params: SimulatorParams#
- __init__(
- asset=<factory>,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=0.95,
- default_dof_pos=None,
- contact_bodies=<factory>,
- trackable_bodies_subset='all',
- non_termination_contact_bodies=<factory>,
- init_state=None,
- mimic_small_marker_bodies=<factory>,
- anchor_body_name=None,
- contact_pairs_multiplier=20,
- control=<factory>,
- simulation_params=<factory>,
Unitree H1 (Version 2)#
- class protomotions.robot_configs.h1_2.H1_2RobotConfig(asset: protomotions.robot_configs.base.RobotAssetConfig = <factory>, common_naming_to_robot_body_names: Dict[str, List[str]] = <factory>, default_root_height: float = 1.03, default_dof_pos: Union[List[float], MockTensor, NoneType] = None, contact_bodies: Union[List[str], str, NoneType] = None, trackable_bodies_subset: List[str] = <factory>, non_termination_contact_bodies: Union[List[str], str] = 'all', init_state: Optional[protomotions.robot_configs.base.InitState] = None, mimic_small_marker_bodies: Optional[List[str]] = None, anchor_body_name: Optional[str] = None, contact_pairs_multiplier: int = 16, control: protomotions.robot_configs.base.ControlConfig = <factory>, simulation_params: protomotions.robot_configs.base.SimulatorParams = <factory>)[source]#
Bases:
RobotConfig- simulation_params: SimulatorParams#
- __init__(
- asset=<factory>,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=1.03,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset=<factory>,
- non_termination_contact_bodies='all',
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name=None,
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,
Unitree G1#
- class protomotions.robot_configs.g1.G1RobotConfig(asset: protomotions.robot_configs.base.RobotAssetConfig = <factory>, common_naming_to_robot_body_names: Dict[str, List[str]] = <factory>, default_root_height: float = 0.8, default_dof_pos: Union[List[float], MockTensor, NoneType] = None, contact_bodies: Union[List[str], str, NoneType] = None, trackable_bodies_subset: List[str] = <factory>, non_termination_contact_bodies: Union[List[str], str] = 'all', init_state: Optional[protomotions.robot_configs.base.InitState] = None, mimic_small_marker_bodies: Optional[List[str]] = None, anchor_body_name: str = 'torso_link', contact_pairs_multiplier: int = 16, control: protomotions.robot_configs.base.ControlConfig = <factory>, simulation_params: protomotions.robot_configs.base.SimulatorParams = <factory>)[source]#
Bases:
RobotConfig- simulation_params: SimulatorParams#
- __init__(
- asset=<factory>,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=0.8,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset=<factory>,
- non_termination_contact_bodies='all',
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name='torso_link',
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,
AMP Humanoid#
- class protomotions.robot_configs.amp.AMPRobotConfig(asset: protomotions.robot_configs.base.RobotAssetConfig = <factory>, common_naming_to_robot_body_names: Dict[str, List[str]] = <factory>, default_root_height: float = 0.8, default_dof_pos: Union[List[float], MockTensor, NoneType] = None, contact_bodies: Union[List[str], str, NoneType] = None, trackable_bodies_subset: List[str] = <factory>, non_termination_contact_bodies: Union[List[str], str] = 'all', init_state: Optional[protomotions.robot_configs.base.InitState] = None, mimic_small_marker_bodies: Optional[List[str]] = None, anchor_body_name: Optional[str] = None, contact_pairs_multiplier: int = 16, control: protomotions.robot_configs.base.ControlConfig = <factory>, simulation_params: protomotions.robot_configs.base.SimulatorParams = <factory>)[source]#
Bases:
RobotConfig- simulation_params: SimulatorParams#
- __init__(
- asset=<factory>,
- common_naming_to_robot_body_names=<factory>,
- default_root_height=0.8,
- default_dof_pos=None,
- contact_bodies=None,
- trackable_bodies_subset=<factory>,
- non_termination_contact_bodies='all',
- init_state=None,
- mimic_small_marker_bodies=None,
- anchor_body_name=None,
- contact_pairs_multiplier=16,
- control=<factory>,
- simulation_params=<factory>,