protomotions.utils.config_builder module#

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