protomotions.utils.config_builder module

class protomotions.utils.config_builder.ConfigBuilder[source]

Bases: object

Mixin class providing dictionary conversion functionality.

classmethod from_dict(config_dict)[source]

Create an instance from a dictionary, converting lists to tensors where appropriate.

Parameters:

config_dict (Dict[str, Any]) – Dictionary containing configuration values.

Returns:

Instance of the class with values from the dictionary.

Return type:

T

to_dict()[source]

Convert the config to a dictionary, handling nested dataclasses.

Returns:

Dictionary representation of the config.

Return type:

Dict[str, Any]

__getitem__(key)[source]

Make configs behave like dicts for compatibility with external libraries.

__contains__(key)[source]

Support ‘in’ operator for compatibility with external libraries.

get(key, default=None)[source]

Dict-like get method for compatibility with external libraries.

__init__()
protomotions.utils.config_builder.build_standard_configs(args, terrain_config_fn, scene_lib_config_fn, motion_lib_config_fn, env_config_fn, configure_robot_and_simulator_fn=None, agent_config_fn=None)[source]

Build standard robot, simulator, terrain, scene_lib, motion_lib, env, and optionally agent configs.

This is a helper function to reduce boilerplate in experiment files. All configs are built with training defaults - eval overrides applied separately via apply_inference_overrides().

Parameter order matches execution order: robot → sim → terrain → scene_lib → motion_lib → env → agent

Parameters:
  • args – Command line arguments containing robot_name, simulator, etc.

  • terrain_config_fn – REQUIRED function that takes (args) and returns TerrainConfig (or None for no terrain)

  • scene_lib_config_fn – REQUIRED function that takes (args) and returns SceneLibConfig (scene_file can be None for empty)

  • motion_lib_config_fn – REQUIRED function that takes (args) and returns MotionLibConfig (motion_file can be None for empty)

  • env_config_fn – REQUIRED function that takes (robot_config, args) and returns env config

  • configure_robot_and_simulator_fn – Optional function that takes (robot_config, simulator_config, args)

  • agent_config_fn – Optional function that takes (robot_config, env_config, args) and returns agent config

Returns:

robot, simulator, terrain, scene_lib, motion_lib, env, agent (optional)

Return type:

Dict with keys