Reference

Config System

All configuration is plain dataclasses in src/graspkit/configs/, parsed with tyro at the CLI. There are no YAML files: experiments are hand-written Python instances, variants are derived with dataclasses.replace, and every field is overridable from the command line. Field docstrings in the source are authoritative; this page covers the structure and entry points.

Layout

Class definitions live in *_config.py; instances live apart from them.

Path (src/graspkit/configs/)Contents
experiment_config.pyExperimentConfig (top level) and all stage sub-configs
experiment/Per-robot experiment instances + name registry (build_experiment_config, cli_experiment)
robot_config.pyRobotConfig
robot/Per-robot RobotConfig instances + name registry (build_robot_config)
grasp_policy_config.pyGraspPolicyConfig
grasp_policy.pyNamed GraspPolicyConfig presets (GRASP_POLICY_CONFIGS)
env_config.pyBackend configs: MsEnvConfig (ManiSkill), MjEvalConfig + HandSpec (MuJoCo), IsaacEnvConfig; the task is EnvConfig
mj_hand.pyMuJoCo HandSpec instances (SHADOW_HAND, XHAND, ...)
real_env_config.pyRealEnvConfig
real_env.pyRealEnvConfig hardware presets for RealEnv (REAL_ENV_CONFIGS; needs the xarm extra)

ExperimentConfig

ExperimentConfig (experiment_config.py) is the single config for the whole pipeline (launch.py and every stage script). Sub-configs hold hand-independent algorithm/runtime params; all paths, robot configs, and pipeline control live at the top level.

FieldTypeRole
namestrExperiment name (required)
robot_configRobotConfigRobot that grasp optimization and training target (the floating hand in the standard pipeline)
traj_builderGraspTrajBuilderConfigFloating/fixed robot pair, convert_to_fixed decision, grasp filters, and the builder's MotionPlannerConfig
grasp_optimGraspOptimConfigOptimizer backend, energy weights, init sampler, in-loop evaluator: see grasp_optim tutorial
rendererRendererConfigPoint-cloud rendering: env, cameras (calibrated extrinsic/intrinsic paths), crop/downsample
trainerTrainerConfigTraining loop: batch size, iters, eval EnvConfig, wandb
datasetDatasetConfigDataset loading (num actions/points, graspness)
agentGraspPolicyConfigModel architecture/loss preset: see training tutorial
scene_description_path, grasp_output_dir, rendered_data_path, processed_data_path, ...strAll experiment-specific paths (usually under DATA_ROOT)
steps, restart_from, append, gpus, num_gpus, seed-Pipeline control for launch.py