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, contact_pairs_multiplier=16, control=<factory>, simulation_params=<factory>)[source]¶
Bases:
ConfigBuilderConfiguration 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, 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, 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, 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>, 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>, 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, 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, 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, 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, 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, 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, contact_pairs_multiplier=16, control=<factory>, simulation_params=<factory>)¶