configs¶
configs
¶
Configuration module for MolmoSpaces experiments.
This module provides configuration classes organized by category: - abstract_config: Base Config class - abstract_exp_config: Base experiment configuration - camera_configs: Camera-related configurations - robot_configs: Robot-related configurations - task_configs: Task-related configurations - task_sampler_configs: Task sampler-related configurations - policy_configs: Policy-related configurations
Modules:
| Name | Description |
|---|---|
abstract_config |
|
abstract_exp_config |
|
base_nav_to_obj_config |
Example configuration for RBY1 navigation to object data generation using the extracted task sampler. |
base_open_task_configs |
|
base_packing_configs |
|
base_pick_and_place_color_configs |
|
base_pick_and_place_configs |
|
base_pick_and_place_next_to_configs |
|
base_pick_config |
Example configuration for Franka pick-and-place data generation using the extracted task sampler. |
camera_configs |
|
dummy_config |
|
policy_configs |
Policy configuration classes for MolmoSpaces experiments. |
policy_configs_baselines |
|
robot_configs |
Robot configuration classes for MolmoSpaces experiments. |
task_configs |
Task configuration classes for MolmoSpaces experiments. |
task_sampler_configs |
Task sampler configuration classes for MolmoSpaces experiments. |
Classes:
| Name | Description |
|---|---|
BaseMujocoTaskConfig |
Base configuration for MuJoCo tasks. |
BaseMujocoTaskSamplerConfig |
Base configuration for task samplers. |
BasePolicyConfig |
Base configuration for policies. |
BaseRobotConfig |
Base configuration for robot setup. |
CameraConfig |
Base specification for a single camera. |
CameraSystemConfig |
Complete camera system configuration. |
Config |
Base configuration class that can be extended for specific configurations. |
FixedExocentricCameraConfig |
Fixed external camera at a specific world position. |
FrankaDroidCameraSystem |
Camera system for Franka with DROID-style fixed cameras. |
FrankaRandomizedD405D455CameraSystem |
Camera system for Franka pick-and-place tasks with wrist cam and 2 randomized exo cams. |
FrankaRobotConfig |
Configuration for Franka FR3 robot. |
MjcfCameraConfig |
Camera defined in the MJCF file. |
MlSpacesExpConfig |
Base configuration class for experiments. |
PickTaskConfig |
Configuration for Franka move-to-pose task. |
PickTaskSamplerConfig |
Configuration for Franka move-to-pose task sampler. |
RBY1GoProD455CameraSystem |
Camera system for RBY1 with GoPro head camera and D455 wrist cameras. |
RBY1MjcfCameraSystem |
Camera system using RBY1's built-in MJCF cameras. |
RandomizedExocentricCameraConfig |
Randomized external camera positioned around a workspace center. |
RobotMountedCameraConfig |
Camera dynamically mounted to a robot body. |
__all__
module-attribute
¶
__all__ = ['Config', 'MlSpacesExpConfig', 'CameraSystemConfig', 'CameraConfig', 'MjcfCameraConfig', 'RobotMountedCameraConfig', 'FixedExocentricCameraConfig', 'RandomizedExocentricCameraConfig', 'RBY1MjcfCameraSystem', 'RBY1GoProD455CameraSystem', 'FrankaRandomizedD405D455CameraSystem', 'FrankaDroidCameraSystem', 'BaseRobotConfig', 'FrankaRobotConfig', 'BaseMujocoTaskConfig', 'PickTaskConfig', 'BaseMujocoTaskSamplerConfig', 'PickTaskSamplerConfig', 'BasePolicyConfig', 'ObjectManipulationPlannerPolicyConfig']
BaseMujocoTaskConfig
¶
Bases: Config
Base configuration for MuJoCo tasks.
NOTE: If these task config parameters are left to None, they will be sampled by the task sampler. If these task config parameters are not None, their value will take precedence over any parameters sampled by the task sampler and will remain fixed across all simulation tasks sampled by the task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
BaseMujocoTaskSamplerConfig
¶
Bases: Config
Base configuration for task samplers.
A task is sampled based on this configuration.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
check_robot_placement_visibility |
bool
|
|
enable_texture_randomization |
bool
|
|
episodes_per_batch |
int
|
|
house_inds |
list[int] | None
|
|
house_variant |
str
|
|
license_policy |
LicensePolicy
|
|
max_allowed_sequential_irrecoverable_failures |
int
|
|
max_allowed_sequential_rollout_failures |
int
|
|
max_allowed_sequential_task_sampler_failures |
int
|
|
max_asset_failures |
int
|
|
max_tasks |
int | None
|
|
max_total_attempts_multiplier |
int
|
|
model_config |
|
|
occupancy_map_cache_size |
int
|
|
occupancy_map_impl |
OccupancyMapImpl
|
|
randomize_dynamics |
bool
|
|
randomize_lighting |
bool
|
|
randomize_robot_textures |
bool
|
|
randomize_textures |
bool
|
|
randomize_textures_all |
bool
|
|
robot_placement_exclusion_threshold |
float
|
|
robot_placement_rotation_range_rad |
float
|
|
samples_per_house |
int | None
|
|
scene_xml_paths |
list[str] | None
|
|
sim_settle_timesteps |
int
|
|
task_batch_size |
int
|
|
task_sampler_class |
type | None
|
|
verbose |
bool
|
|
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
BasePolicyConfig
¶
Bases: Config
Base configuration for policies.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
instance-attribute
¶
policy_factory: PolicyFactory | None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
save_to_json
¶
to_dict
¶
BaseRobotConfig
¶
Bases: Config
Base configuration for robot setup.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
model_config
class-attribute
instance-attribute
¶
robot_namespace
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
CameraConfig
¶
Bases: Config, ABC
Base specification for a single camera.
Each camera spec defines how one camera should be created and configured. Subclasses implement different camera types (MJCF, robot-mounted, exocentric).
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
is_warped |
bool
|
|
model_config |
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
CameraSystemConfig
¶
Bases: Config
Complete camera system configuration.
Defines all cameras that should be set up in the environment, along with shared settings like resolution.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
Config
¶
Bases: BaseModel
Base configuration class that can be extended for specific configurations. Provides methods to convert to dict, json, and to save/load from files.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
model_config |
|
FixedExocentricCameraConfig
¶
Bases: CameraConfig
Fixed external camera at a specific world position.
Useful for consistent third-person views, overhead cameras, or monitoring positions. Can optionally add small amounts of noise for data augmentation.
TODO: should this also have a quaternion option? was figuring this would be most useful for fixed eval episodes¶
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
forward |
list[float]
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos |
list[float]
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
up |
list[float]
|
|
visibility_constraints |
dict[str, float] | None
|
|
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
FrankaDroidCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka with DROID-style fixed cameras.
Uses wrist camera plus DROID-style exocentric camera mounted to robot base.
All cameras are deterministic (no noise) for consistent, reproducible viewpoints.
This matches the behavior of the old cameras_fixed_droid=True setting.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=56.74), RobotMountedCameraConfig(name='exo_camera_1', reference_body_names=['robot_0/fr3_link0'], camera_offset=[0.1, 0.57, 0.66], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=71.0, visibility_constraints={'__task_objects__': 0.001})]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaRandomizedD405D455CameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka pick-and-place tasks with wrist cam and 2 randomized exo cams.
Uses workspace center from task sampler for dynamic placement. The task sampler should implement get_workspace_center() and resolve_visibility_object() to provide runtime information without modifying the camera config.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='wrist_cam', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-10.0, 10.0), pos_noise_range=(-0.015, 0.015), orientation_noise_degrees=8.0), RandomizedExocentricCameraConfig(name='exo_camera_1', distance_range=(0.2, 0.8), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov_range=(50, 90), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='exo_camera_2', distance_range=(0.2, 0.8), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov_range=(50, 90), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaRobotConfig
¶
Bases: BaseRobotConfig
Configuration for Franka FR3 robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_size |
list[float] | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
perturb_texture_probability |
float
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'arm': [0, -0.7853, 0, -2.35619, 0, 1.57079, 0.0], 'gripper': [0.00296, 0.00296]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'arm': [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]}
model_config
class-attribute
instance-attribute
¶
perturb_texture_probability
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaDroidRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
MjcfCameraConfig
¶
Bases: CameraConfig
Camera defined in the MJCF file.
This references a camera that already exists in the scene MJCF or robot MJCF. Useful for cameras with fixed mounting in robot models.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
mjcf_name |
str
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
robot_namespace |
str | None
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
fov_noise_degrees
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
MlSpacesExpConfig
¶
Bases: Config, ABC
Base configuration class for experiments.
This should be extended to create specific experiment configurations.
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig
Configuration for the task sampler
use_passive_viewer
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
instance-attribute
¶
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
PickTaskConfig
¶
Bases: BaseMujocoTaskConfig
Configuration for Franka move-to-pose task.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PickTaskSamplerConfig
¶
Bases: ObjectCentricTaskSamplerConfig
Configuration for Franka move-to-pose task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
RBY1GoProD455CameraSystem
¶
Bases: CameraSystemConfig
Camera system for RBY1 with GoPro head camera and D455 wrist cameras.
Renders at 1024x576 (16:9) to accommodate both: - Head camera: GoPro analogue (4:3, crop to 768x576 in post-processing) - Wrist cameras: D455 analogue (16:9, use full frame)
All cameras include randomization for sim-to-real transfer.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='head_camera', mjcf_name='head_camera', robot_namespace='robot_0/', fov=139.0, fov_noise_degrees=(-3.0, 3.0), pos_noise_range=((-0.01, -0.01, -0.01), (0.01, 0.01, 0.01)), orientation_noise_degrees=(4.0, 4.0, 4.0), skip_erosion=True), MjcfCameraConfig(name='wrist_camera_l', mjcf_name='wrist_camera_l', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True), MjcfCameraConfig(name='wrist_camera_r', mjcf_name='wrist_camera_r', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
RBY1MjcfCameraSystem
¶
Bases: CameraSystemConfig
Camera system using RBY1's built-in MJCF cameras.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='head_camera', mjcf_name='head_camera', robot_namespace='robot_0/', fov=139.0, skip_erosion=True), MjcfCameraConfig(name='wrist_camera_l', mjcf_name='wrist_camera_l', robot_namespace='robot_0/', record_depth=True), MjcfCameraConfig(name='wrist_camera_r', mjcf_name='wrist_camera_r', robot_namespace='robot_0/', record_depth=True), MjcfCameraConfig(name='camera_follower', mjcf_name='camera_follower', robot_namespace='robot_0/')]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
RandomizedExocentricCameraConfig
¶
Bases: CameraConfig
Randomized external camera positioned around a workspace center.
Samples camera position within specified ranges around a workspace center. Can use visibility constraints to ensure good views of important objects. CORE ASSUMPTION: workspace center will be sourced from task sampler callback function get_workspace_center you will always be looking at the workspace center (with optional noise).
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
allow_relaxed_constraints |
bool
|
|
azimuth_range |
tuple[float, float]
|
|
distance_range |
tuple[float, float]
|
|
fov |
float | None
|
|
fov_range |
tuple[float, float] | None
|
|
height_range |
tuple[float, float]
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
max_placement_attempts |
int
|
|
model_config |
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
allow_relaxed_constraints
class-attribute
instance-attribute
¶
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
RobotMountedCameraConfig
¶
Bases: CameraConfig
Camera dynamically mounted to a robot body.
Camera follows the specified reference body with configurable offset and orientation. Can use either lookat-based positioning or quaternion-based orientation.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_offset |
list[float]
|
|
camera_quaternion |
list[float] | None
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
lookat_offset |
list[float]
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | None
|
|
pos_noise_range |
tuple[float, float] | None
|
|
record_depth |
bool
|
|
reference_body_names |
list[str]
|
|
skip_erosion |
bool
|
|
up_axis |
str
|
|
visibility_constraints |
dict[str, float] | None
|
|
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
abstract_config
¶
Classes:
| Name | Description |
|---|---|
Config |
Base configuration class that can be extended for specific configurations. |
Config
¶
Bases: BaseModel
Base configuration class that can be extended for specific configurations. Provides methods to convert to dict, json, and to save/load from files.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
model_config |
|
abstract_exp_config
¶
Classes:
| Name | Description |
|---|---|
MlSpacesExpConfig |
Base configuration class for experiments. |
Attributes:
| Name | Type | Description |
|---|---|---|
log |
|
MlSpacesExpConfig
¶
Bases: Config, ABC
Base configuration class for experiments.
This should be extended to create specific experiment configurations.
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig
Configuration for the task sampler
use_passive_viewer
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
instance-attribute
¶
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_nav_to_obj_config
¶
Example configuration for RBY1 navigation to object data generation using the extracted task sampler. This shows how the scene randomization functionality from the reference script has been properly integrated into the modular task sampler architecture.
Classes:
| Name | Description |
|---|---|
NavToObjBaseConfig |
Base configuration for navigation to object data generation tasks. |
NavToObjBaseConfig
¶
Bases: MlSpacesExpConfig
Base configuration for navigation to object data generation tasks.
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Camera configuration - using new unified camera system |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_threads |
int
|
|
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
record_videos |
bool
|
|
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset |
NavToObjTaskConfig | None
|
|
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Task sampler configuration (imported from task_sampler_configs.py) |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = RBY1MjcfCameraSystem()
Camera configuration - using new unified camera system
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = AStarNavToObjPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = NavToObjTaskConfig(task_cls=NavToObjTask)
Configuration for tasks
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: NavToObjTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = NavToObjTaskSamplerConfig(task_sampler_class=NavToObjTaskSampler)
Task sampler configuration (imported from task_sampler_configs.py)
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': np.array([0.0, 0.0, 0.5])}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_nav_to_obj_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_open_task_configs
¶
Classes:
| Name | Description |
|---|---|
ClosingBaseConfig |
Base configuration for closing task data generation. |
OpeningBaseConfig |
Base configuration for opening task data generation. |
ClosingBaseConfig
¶
Bases: PickBaseConfig
Base configuration for closing task data generation.
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset |
OpeningTaskConfig | None
|
|
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = OpenClosePlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = OpeningTaskConfig(task_cls=OpeningTask, task_success_threshold=0.85, joint_index=0, any_inst_of_category=False)
Configuration for tasks
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: OpeningTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = OpenTaskSamplerConfig(task_sampler_class=OpenTaskSampler, target_initial_state_open_percentage=0.5)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
OpeningBaseConfig
¶
Bases: PickBaseConfig
Base configuration for opening task data generation.
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset |
OpeningTaskConfig | None
|
|
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = OpenClosePlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = OpeningTaskConfig(task_cls=OpeningTask, task_success_threshold=0.15, joint_index=0, any_inst_of_category=True)
Configuration for tasks
task_config_preset
class-attribute
instance-attribute
¶
task_config_preset: OpeningTaskConfig | None = None
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = OpenTaskSamplerConfig(task_sampler_class=OpenTaskSampler, target_initial_state_open_percentage=0)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_packing_configs
¶
Classes:
| Name | Description |
|---|---|
PackingDataGenConfig |
|
PackingDataGenConfig
¶
Bases: PickBaseConfig
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickAndPlacePlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = PackingTaskConfig(task_cls=PackingTask)
Configuration for tasks
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = PackingTaskSamplerConfig(task_sampler_class=PackingTaskSampler, pickup_types=PICK_AND_PLACE_OBJECTS, samples_per_house=20)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_pick_and_place_color_configs
¶
Classes:
| Name | Description |
|---|---|
PickAndPlaceColorDataGenConfig |
|
PickAndPlaceColorDataGenConfig
¶
Bases: PickBaseConfig
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
output_dir
class-attribute
instance-attribute
¶
output_dir: Path = ASSETS_DIR / 'experiment_output' / 'datagen' / 'pick_and_place_color_base_v1'
Output directory for experiment results
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickAndPlaceColorPlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = PickAndPlaceColorTaskConfig(task_cls=PickAndPlaceColorTask)
Configuration for tasks
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = PickAndPlaceColorTaskSamplerConfig(task_sampler_class=PickAndPlaceColorTaskSampler, samples_per_house=20)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_pick_and_place_configs
¶
Classes:
| Name | Description |
|---|---|
PickAndPlaceDataGenConfig |
|
PickAndPlaceDataGenConfig
¶
Bases: PickBaseConfig
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickAndPlacePlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = PickAndPlaceTaskConfig(task_cls=PickAndPlaceTask)
Configuration for tasks
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = PickAndPlaceTaskSamplerConfig(task_sampler_class=PickAndPlaceTaskSampler, pickup_types=[], samples_per_house=20)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_pick_and_place_next_to_configs
¶
Classes:
| Name | Description |
|---|---|
PickAndPlaceNextToDataGenConfig |
|
PickAndPlaceNextToDataGenConfig
¶
Bases: PickBaseConfig
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickAndPlaceNextToPlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig = FrankaRobotConfig()
Configuration for the robot
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = PickAndPlaceNextToTaskConfig(task_cls=PickAndPlaceNextToTask)
Configuration for tasks
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = PickAndPlaceNextToTaskSamplerConfig(task_sampler_class=PickAndPlaceNextToTaskSampler, pickup_types=PICK_AND_PLACE_OBJECTS, samples_per_house=20)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
base_pick_config
¶
Example configuration for Franka pick-and-place data generation using the extracted task sampler. This shows how the scene randomization functionality from the reference script has been properly integrated into the modular task sampler architecture.
Classes:
| Name | Description |
|---|---|
PickBaseConfig |
|
PickBaseConfig
¶
Bases: MlSpacesExpConfig
Classes:
| Name | Description |
|---|---|
SavedEpisode |
Config information describing a single episode |
Methods:
| Name | Description |
|---|---|
freeze_task_config |
|
from_dict |
|
load_config |
|
load_from_json |
|
model_post_init |
|
save_config |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
CameraConfig |
type
|
|
PolicyConfig |
type
|
|
RobotConfig |
type
|
|
benchmark_path |
Path | None
|
Contains a json with a list of fully-specified episodes |
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
collision_free_pose_limit |
int
|
|
config_version |
str
|
|
ctrl_dt_ms |
float
|
Default control time step |
data_split |
str
|
Data split to use, e.g. train, val, test |
datagen_profiler |
bool
|
Whether or not to use the datagen profiler |
end_on_success |
bool
|
Whether to end episode immediately upon success (overrides task_horizon if True) |
environment_light_intensity |
float
|
The environment intensity value for the IBL when using the filament-based renderer |
eval_runtime_params |
Any
|
Evaluation runtime parameters (optional, set during evaluation initialization) |
filter_for_successful_trajectories |
bool
|
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory |
fps |
float
|
|
log_level |
str
|
Global logging level: "debug", "info", "warning", "error", "none |
model_config |
|
|
no_cached_map |
bool
|
Whether or not to cache the generated thormap to disk after creating it for a datagen run |
num_envs |
int
|
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv) |
num_workers |
int
|
Number of worker processes for parallel data generation (episode-level parallelism) |
output_dir |
Path
|
Output directory for experiment results |
policy_config |
BasePolicyConfig
|
Configuration for policies |
policy_dt_ms |
float
|
Default policy time step |
profile |
bool
|
Whether to enable profiling |
profiler |
Profiler | None
|
Profiler instance (auto-created if profile=True) |
robot_config |
BaseRobotConfig
|
Configuration for the robot |
scene_dataset |
str
|
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config |
seed |
int | None
|
Random seed for task sampling (if None, generates random seed) |
sim_dt_ms |
float
|
Default simulation time step |
tag |
str
|
A string describing the experiment. |
task_config |
AllTaskConfigs
|
Configuration for tasks |
task_config_preset_exp |
AllTaskConfigs | None
|
Cached config for whole experiment |
task_config_preset_scn |
AllTaskConfigs | None
|
Cached config for scene |
task_horizon |
int | None
|
Maximum number of steps per episode (if None, no time limit) |
task_sampler_config |
BaseMujocoTaskSamplerConfig
|
Configuration for the task sampler |
task_type |
str
|
Task type: e.g. pick, pick_and_place, etc. |
use_passive_viewer |
bool
|
Launch passive viewer for rendering |
use_wandb |
bool
|
Whether or not to use wandb logging |
viewer_cam_dict |
dict
|
Dictionary containing viewer camera parameters |
viewer_camera |
None
|
|
wandb_name |
str | None
|
(Optional) The name of the wandb run |
wandb_project |
str | None
|
(Optional) The name of the wandb project to use |
benchmark_path
class-attribute
instance-attribute
¶
Contains a json with a list of fully-specified episodes
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = FrankaRandomizedD405D455CameraSystem()
Configuration for cameras and sensors
data_split
class-attribute
instance-attribute
¶
Data split to use, e.g. train, val, test
datagen_profiler
class-attribute
instance-attribute
¶
Whether or not to use the datagen profiler
end_on_success
class-attribute
instance-attribute
¶
Whether to end episode immediately upon success (overrides task_horizon if True)
environment_light_intensity
class-attribute
instance-attribute
¶
The environment intensity value for the IBL when using the filament-based renderer
eval_runtime_params
class-attribute
instance-attribute
¶
Evaluation runtime parameters (optional, set during evaluation initialization)
filter_for_successful_trajectories
class-attribute
instance-attribute
¶
If True, only save successful trajectories to main output directory (failed episodes may be sampled 1% for debug directory). If False, save all trajectories to main output directory
log_level
class-attribute
instance-attribute
¶
Global logging level: "debug", "info", "warning", "error", "none
model_config
class-attribute
instance-attribute
¶
no_cached_map
class-attribute
instance-attribute
¶
Whether or not to cache the generated thormap to disk after creating it for a datagen run
num_envs
class-attribute
instance-attribute
¶
Number of batched environments per worker (for vectorized physics in CPUMujocoEnv)
num_workers
class-attribute
instance-attribute
¶
Number of worker processes for parallel data generation (episode-level parallelism)
policy_config
class-attribute
instance-attribute
¶
policy_config: BasePolicyConfig = PickPlannerPolicyConfig()
Configuration for policies
policy_dt_ms
class-attribute
instance-attribute
¶
Default policy time step
profiler
class-attribute
instance-attribute
¶
profiler: Profiler | None = None
Profiler instance (auto-created if profile=True)
scene_dataset
class-attribute
instance-attribute
¶
Scenes to use, e.g. ithor, procthor-10k, procthor-objaverse. If "user", use the scene_xml_paths in task_sampler_config
seed
class-attribute
instance-attribute
¶
Random seed for task sampling (if None, generates random seed)
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs = PickTaskConfig(task_cls=PickTask)
Configuration for tasks
task_config_preset_exp
class-attribute
instance-attribute
¶
task_config_preset_exp: AllTaskConfigs | None = None
Cached config for whole experiment
task_config_preset_scn
class-attribute
instance-attribute
¶
task_config_preset_scn: AllTaskConfigs | None = None
Cached config for scene
task_horizon
class-attribute
instance-attribute
¶
Maximum number of steps per episode (if None, no time limit)
task_sampler_config
class-attribute
instance-attribute
¶
task_sampler_config: BaseMujocoTaskSamplerConfig = PickTaskSamplerConfig(task_sampler_class=PickTaskSampler)
Configuration for the task sampler
task_type
class-attribute
instance-attribute
¶
Task type: e.g. pick, pick_and_place, etc.
use_passive_viewer
class-attribute
instance-attribute
¶
Launch passive viewer for rendering
use_wandb
class-attribute
instance-attribute
¶
Whether or not to use wandb logging
viewer_cam_dict
class-attribute
instance-attribute
¶
viewer_cam_dict: dict = {'distance': 5.0, 'azimuth': 45.0, 'elevation': -30.0, 'lookat': [0.0, 0.0, 0.5]}
Dictionary containing viewer camera parameters
wandb_name
class-attribute
instance-attribute
¶
(Optional) The name of the wandb run
wandb_project
class-attribute
instance-attribute
¶
(Optional) The name of the wandb project to use
SavedEpisode
¶
Bases: Config
Config information describing a single episode
The code below this is used for saving episode state so that it can be re-loaded w/o sampling
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_config |
CameraSystemConfig | None
|
Configuration for cameras and sensors |
model_config |
|
|
robot_config |
BaseRobotConfig | None
|
Configuration for the robot |
task_cls_str |
str | None
|
(Optional) The name of the task class to be used |
task_config |
AllTaskConfigs | None
|
Configuration for tasks |
camera_config
class-attribute
instance-attribute
¶
camera_config: CameraSystemConfig | None = None
Configuration for cameras and sensors
model_config
class-attribute
instance-attribute
¶
robot_config
class-attribute
instance-attribute
¶
robot_config: BaseRobotConfig | None = None
Configuration for the robot
task_cls_str
class-attribute
instance-attribute
¶
(Optional) The name of the task class to be used
task_config
class-attribute
instance-attribute
¶
task_config: AllTaskConfigs | None = None
Configuration for tasks
save_to_json
¶
to_dict
¶
freeze_task_config
¶
freeze_task_config(observation, task: BaseMujocoTask) -> str
Source code in molmo_spaces/configs/abstract_exp_config.py
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | |
load_config
staticmethod
¶
load_config(output_dir: Path) -> MlSpacesExpConfig
Source code in molmo_spaces/configs/abstract_exp_config.py
model_post_init
¶
Source code in molmo_spaces/configs/base_pick_config.py
save_config
¶
Source code in molmo_spaces/configs/abstract_exp_config.py
save_to_json
¶
to_dict
¶
camera_configs
¶
Classes:
| Name | Description |
|---|---|
BimanualYamCameraSystem |
Camera system for bimanual YAM robot. |
CameraConfig |
Base specification for a single camera. |
CameraSystemConfig |
Complete camera system configuration. |
EvalExocentricCameraConfig |
Eval exocentric camera whose level-0 pose is derived from a shoulder mount. |
EvalRobotMountedCameraConfig |
Robot-mounted camera with additional intrinsics perturbation for eval. |
FisheyeImpl |
Which implementation renders a warped camera's image; see |
FisheyeMjcfCameraConfig |
MJCF camera carrying the parameters FisheyeImpl.CUBEMAP needs. |
FixedExocentricCameraConfig |
Fixed external camera at a specific world position. |
FrankaDroidCameraSystem |
Camera system for Franka with DROID-style fixed cameras. |
FrankaEasyRandomizedDroidCameraSystem |
Camera system for Franka DROID system with wrist cam (ZED mini) and 2 randomized exo cams (ZED 2/ZED 2i). |
FrankaEvalCameraSystem |
Unified Franka eval camera system with progressive perturbation (0-100 level). |
FrankaGoProD405D455CameraSystem |
Camera system for Franka with GoPro and D405 analogue cameras with noise. |
FrankaGoProD405RandomizedCameraSystem |
Camera system for Franka with D405 wrist cam and 2 randomized GoPro exo cams. |
FrankaOmniPurposeCameraSystem |
Camera system for Franka DROID system with wrist cam (ZED mini), droid-alike left shoulder cam, |
FrankaRandomizedD405D455CameraSystem |
Camera system for Franka pick-and-place tasks with wrist cam and 2 randomized exo cams. |
FrankaRandomizedDroidCameraSystem |
Camera system for Franka DROID system with wrist cam (ZED mini) and 2 randomized exo cams (ZED 2/ZED 2i). |
FrankaRobotiq2f85CameraSystem |
Camera system for Franka with Robotiq 2f85 wrist cam and 2 randomized GoPro exo cams. |
I2rtYamCameraSystem |
Camera system for i2rt YAM robot. |
MjcfCameraConfig |
Camera defined in the MJCF file. |
RBY1GoProD455CameraSystem |
Camera system for RBY1 with GoPro head camera and D455 wrist cameras. |
RBY1MjcfCameraSystem |
Camera system using RBY1's built-in MJCF cameras. |
RandomizedExocentricCameraConfig |
Randomized external camera positioned around a workspace center. |
RobotMountedCameraConfig |
Camera dynamically mounted to a robot body. |
Attributes:
| Name | Type | Description |
|---|---|---|
AllCameraSystems |
TypeAlias
|
|
T |
|
|
Triple |
TypeAlias
|
|
logger |
|
AllCameraSystems
module-attribute
¶
AllCameraSystems: TypeAlias = RBY1MjcfCameraSystem | RBY1GoProD455CameraSystem | FrankaRandomizedD405D455CameraSystem | FrankaEasyRandomizedDroidCameraSystem | FrankaDroidCameraSystem | FrankaOmniPurposeCameraSystem | FrankaRandomizedDroidCameraSystem | FrankaGoProD405D455CameraSystem | FrankaGoProD405RandomizedCameraSystem | FrankaRobotiq2f85CameraSystem | FrankaEvalCameraSystem | I2rtYamCameraSystem | BimanualYamCameraSystem | FrankaEvalCameraSystem
BimanualYamCameraSystem
¶
Bases: CameraSystemConfig
Camera system for bimanual YAM robot.
Includes wrist cameras on both arms (defined in yam.xml MJCF) and a robot-mounted exo camera positioned to see both arms and the workspace between them.
Note: Camera offset z must account for the base platform height (0.7m). The exo camera is positioned slightly back and higher to capture both arms.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='left_wrist_camera', mjcf_name='wrist_camera', robot_namespace='robot_0/left_', fov=58.0), MjcfCameraConfig(name='right_wrist_camera', mjcf_name='wrist_camera', robot_namespace='robot_0/right_', fov=58.0), RobotMountedCameraConfig(name='exo_camera', reference_body_names=['robot_0/base', 'robot_0/left_arm'], camera_offset=[0.0, 0.0, 1.56], camera_quaternion=[0.687, 0.1675, -0.1675, -0.687], fov=58.0, visibility_constraints={'__task_objects__': 0.001})]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
CameraConfig
¶
Bases: Config, ABC
Base specification for a single camera.
Each camera spec defines how one camera should be created and configured. Subclasses implement different camera types (MJCF, robot-mounted, exocentric).
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
is_warped |
bool
|
|
model_config |
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
CameraSystemConfig
¶
Bases: Config
Complete camera system configuration.
Defines all cameras that should be set up in the environment, along with shared settings like resolution.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
EvalExocentricCameraConfig
¶
Bases: FixedExocentricCameraConfig
Eval exocentric camera whose level-0 pose is derived from a shoulder mount.
At runtime the reference body pose is resolved into world-frame pos/forward/up, decomposed into spherical coordinates relative to the workspace center, perturbed according to the spherical noise params, and then placed via the normal fixed-exocentric path.
pos, forward, up default to None here (overriding the
required parent fields) because they are computed at runtime.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
azimuth_range |
tuple[float, float] | None
|
|
camera_offset |
list[float]
|
|
camera_quaternion |
list[float]
|
|
distance_range |
tuple[float, float] | None
|
|
forward |
list[float] | None
|
|
fov |
float | None
|
|
fov_range |
tuple[float, float] | None
|
|
height_range |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
max_placement_attempts |
int
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos |
list[float] | None
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
reference_body_names |
list[str]
|
|
skip_erosion |
bool
|
|
up |
list[float] | None
|
|
visibility_constraints |
dict[str, float] | None
|
|
workspace_center_weight |
float | None
|
|
camera_quaternion
class-attribute
instance-attribute
¶
distance_range
class-attribute
instance-attribute
¶
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
reference_body_names
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
workspace_center_weight
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
EvalRobotMountedCameraConfig
¶
Bases: RobotMountedCameraConfig
Robot-mounted camera with additional intrinsics perturbation for eval.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_offset |
list[float]
|
|
camera_quaternion |
list[float] | None
|
|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
lookat_offset |
list[float]
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | None
|
|
pos_noise_range |
tuple[float, float] | None
|
|
record_depth |
bool
|
|
reference_body_names |
list[str]
|
|
skip_erosion |
bool
|
|
up_axis |
str
|
|
visibility_constraints |
dict[str, float] | None
|
|
fov_noise_degrees
class-attribute
instance-attribute
¶
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
FisheyeImpl
¶
Bases: StrEnum
Which implementation renders a warped camera's image; see CameraConfig.fisheye_impl. Ignored unless the camera sets is_warped.
CUBEMAP utils/fisheye_cubemap.py. Composites five wide tile cameras through an OpenCV fisheye model calibrated on the real lens. Needs the five tile cameras present in the MJCF, which is its only real cost. Use this for any new warped camera. The G1 head is the only one today; see FisheyeMjcfCameraConfig. WARPING DEPRECATED -- utils/fisheye_warping.py. Post-distorts one pinhole render with a radial k1..k4 model. Do not use for new cameras.
At matched lens, FOV and render budget CUBEMAP is 5.1x sharper (variance of Laplacian 5476 vs 1070), marginally faster (5.90 vs 6.24 ms/frame), and reaches the G1 head lens's 72.8 deg half-FOV, which WARPING's k1..k4 polynomial caps at 68.26 deg (mlspaces_tests/component_tests/ compare_fisheye_renderers.py). WARPING stays the default only so existing configs keep their recorded behaviour; nothing renders through it today.
Attributes:
| Name | Type | Description |
|---|---|---|
CUBEMAP |
|
|
WARPING |
|
FisheyeMjcfCameraConfig
¶
Bases: MjcfCameraConfig
MJCF camera carrying the parameters FisheyeImpl.CUBEMAP needs.
Only worth using with fisheye_impl=CUBEMAP -- the WARPING default reads
none of these fields. The G1 head is the one camera wide enough to need it;
see G1CameraSystem.
fov stays the pinhole camera's FOV and tile_fov the tile cameras', so
both render paths take their FOV from this config and neither drifts.
Methods:
| Name | Description |
|---|---|
cubemap_renderer_kwargs |
Every FisheyeRenderer argument except the MuJoCo model, so callers |
from_dict |
|
load_from_json |
|
save_to_json |
|
tile_camera_names |
Fully-qualified MJCF names of the five tile cameras ("cubemap" backend). |
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
distortion_noise |
float | None
|
|
fisheye_D |
list[float]
|
|
fisheye_K |
list[list[float]]
|
|
fisheye_image_size |
tuple[int, int]
|
|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
fov_noise_focal_divisor |
float
|
|
is_warped |
bool
|
|
mjcf_name |
str
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
robot_namespace |
str | None
|
|
skip_erosion |
bool
|
|
tile_fov |
float
|
|
tile_size |
int
|
|
tile_suffixes |
tuple[str, str, str, str, str]
|
|
visibility_constraints |
dict[str, float] | None
|
|
weight_power |
float
|
|
fisheye_D
class-attribute
instance-attribute
¶
fisheye_D: list[float] = [-0.02559442829261663, 0.008371943913215045, -0.006921566406199126, 0.0010132813066123071]
fisheye_K
class-attribute
instance-attribute
¶
fisheye_K: list[list[float]] = [[801.6382129934864, 0.0, 976.1246839545557], [0.0, 802.1081824931498, 542.7122090223202], [0.0, 0.0, 1.0]]
fisheye_image_size
class-attribute
instance-attribute
¶
fov_noise_degrees
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
tile_suffixes
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
cubemap_renderer_kwargs
¶
Every FisheyeRenderer argument except the MuJoCo model, so callers construct one straight from config rather than restating its parameters.
Output size stays a call argument: it is the resolution the caller wants this frame (CameraSystemConfig.img_resolution), not a property of the lens.
Source code in molmo_spaces/configs/camera_configs.py
save_to_json
¶
tile_camera_names
¶
Fully-qualified MJCF names of the five tile cameras ("cubemap" backend).
to_dict
¶
FixedExocentricCameraConfig
¶
Bases: CameraConfig
Fixed external camera at a specific world position.
Useful for consistent third-person views, overhead cameras, or monitoring positions. Can optionally add small amounts of noise for data augmentation.
TODO: should this also have a quaternion option? was figuring this would be most useful for fixed eval episodes¶
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
forward |
list[float]
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos |
list[float]
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
up |
list[float]
|
|
visibility_constraints |
dict[str, float] | None
|
|
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
FrankaDroidCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka with DROID-style fixed cameras.
Uses wrist camera plus DROID-style exocentric camera mounted to robot base.
All cameras are deterministic (no noise) for consistent, reproducible viewpoints.
This matches the behavior of the old cameras_fixed_droid=True setting.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=56.74), RobotMountedCameraConfig(name='exo_camera_1', reference_body_names=['robot_0/fr3_link0'], camera_offset=[0.1, 0.57, 0.66], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=71.0, visibility_constraints={'__task_objects__': 0.001})]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaEasyRandomizedDroidCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka DROID system with wrist cam (ZED mini) and 2 randomized exo cams (ZED 2/ZED 2i).
Uses workspace center from task sampler for dynamic placement. The task sampler should implement get_workspace_center() and resolve_visibility_object() to provide runtime information without modifying the camera config.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=52.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True), RobotMountedCameraConfig(name='exo_camera_1', reference_body_names=['robot_0/fr3_link0'], camera_offset=[0.1, 0.57, 0.66], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=71.0, pos_noise_range=(-0.05, 0.05), orientation_noise_degrees=8.0, visibility_constraints={'__task_objects__': 0.001})]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaEvalCameraSystem
¶
Bases: CameraSystemConfig
Unified Franka eval camera system with progressive perturbation (0-100 level).
Cameras: - 1 wrist camera (FrankaDroid-like) - 1 ZED2-like exocentric cameras (stored pose from episode + perturbation)
The cameras list holds only calibrated (level 0) specs with no randomization ranges. All randomization ranges are in per-reference level, per-camera dicts. Level scaling is applied by apply_eval_camera_randomization_level() in eval_camera_randomization_utils.py using an N-piece linear curve (e.g. 0→low→high→100 for N=3).
Exo camera pos/forward/up are placeholders; the runtime loads stored poses from episode specs.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
|
ref_level_ranges |
list[tuple[float, dict[str, dict[str, float | tuple[float, ...] | tuple[tuple[float, ...], ...]]]]]
|
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=52.0), EvalExocentricCameraConfig(name='exo_camera_1', fov=71.0, visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001})]
model_config
class-attribute
instance-attribute
¶
ref_level_ranges
class-attribute
¶
ref_level_ranges: list[tuple[float, dict[str, dict[str, float | tuple[float, ...] | tuple[tuple[float, ...], ...]]]]] = [(0.0, {'wrist_camera': {'pos_noise_range': ((0.0, 0.0, 0.0), (0.0, 0.0, 0.0)), 'orientation_noise_degrees': (0.0, 0.0, 0.0), 'fov_noise_degrees': (0.0, 0.0)}, 'exo_camera_1': {'azimuth_range': (0.0, 0.0), 'distance_range': (0.0, 0.0), 'height_range': (0.0, 0.0), 'workspace_center_weight': 0.0, 'lookat_noise_range': (0.0, 0.0), 'fov_range': (71.0, 71.0)}}), (10.0, {'wrist_camera': {'pos_noise_range': ((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), 'orientation_noise_degrees': (8.0, 4.0, 4.0), 'fov_noise_degrees': (-4.0, 4.0)}, 'exo_camera_1': {'azimuth_range': (-np.pi / 4, np.pi / 4), 'distance_range': (-0.05, 0.05), 'height_range': (-0.05, 0.05), 'workspace_center_weight': 1.0, 'lookat_noise_range': (-0.01, 0.01), 'fov_range': (71.0, 71.0)}}), (40.0, {'wrist_camera': {'pos_noise_range': ((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), 'orientation_noise_degrees': (8.0, 4.0, 4.0), 'fov_noise_degrees': (-4.0, 4.0)}, 'exo_camera_1': {'azimuth_range': (-np.pi / 2, np.pi / 2), 'distance_range': (-0.5, 0.5), 'height_range': (-0.1, 0.5), 'workspace_center_weight': 1.0, 'lookat_noise_range': (-0.05, 0.05), 'fov_range': (64.0, 72.0)}}), (75.0, {'wrist_camera': {'pos_noise_range': ((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), 'orientation_noise_degrees': (8.0, 4.0, 4.0), 'fov_noise_degrees': (-4.0, 4.0)}, 'exo_camera_1': dict(azimuth_range=(-np.pi, np.pi), distance_range=(-0.5, 1.0), height_range=(-0.2, 0.7), workspace_center_weight=1.0, lookat_noise_range=(-0.1, 0.1), fov_range=(64.0, 72.0))}), (100.0, {'wrist_camera': {'pos_noise_range': ((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), 'orientation_noise_degrees': (8.0, 4.0, 4.0), 'fov_noise_degrees': (-4.0, 4.0)}, 'exo_camera_1': dict(azimuth_range=(-np.pi, np.pi), distance_range=(-0.5, 1.5), height_range=(-0.3, 0.8), workspace_center_weight=1.0, lookat_noise_range=(-0.15, 0.15), fov_range=(64.0, 78.0))})]
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaGoProD405D455CameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka with GoPro and D405 analogue cameras with noise.
Uses: - D405 analogue wrist camera: VFOV=58°, resolution 640x480, with position and orientation noise - 455 analogue exo camera: VFOV=58°, resolution 640x480, with position and orientation noise but around droid shoulder - GoPro analogue exo camera: VFOV=139°, resolution 640x480, with position and orientation noise
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=58.0, record_depth=True, pos_noise_range=(-0.01, 0.01), orientation_noise_degrees=2.0), RobotMountedCameraConfig(name='exo_camera_1', reference_body_names=['robot_0/fr3_link0'], camera_offset=[0.1, 0.57, 0.66], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=58.0, is_warped=False, pos_noise_range=(-0.1, 0.1), orientation_noise_degrees=3.0, visibility_constraints={'__task_objects__': 0.001}), RandomizedExocentricCameraConfig(name='exo_camera_2', distance_range=(0.2, 0.5), height_range=(0.1, 0.6), azimuth_range=(0, 2 * np.pi), fov=139.0, is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaGoProD405RandomizedCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka with D405 wrist cam and 2 randomized GoPro exo cams.
Uses: - D405 analogue wrist camera: VFOV=58°, resolution 640x480, with position and orientation noise - Two randomized GoPro exo cameras: VFOV=139°, resolution 640x480, with visibility constraints
Workspace center sourced from task sampler, exo cameras positioned to maximize visibility of pickup object and gripper.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='wrist_cam', robot_namespace='robot_0/', fov=58.0, record_depth=True, pos_noise_range=(-0.01, 0.01), orientation_noise_degrees=2.0), RandomizedExocentricCameraConfig(name='exo_camera_1', distance_range=(0.4, 1.0), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov=139.0, is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='exo_camera_2', distance_range=(0.4, 1.0), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov=139.0, is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaOmniPurposeCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka DROID system with wrist cam (ZED mini), droid-alike left shoulder cam, 2 randomized Zed2 cams, and 1 randomized GoPro cam. Intended such that data with this camera system can be used for a wide variety of purposes and maximally consistent ablations.
Uses workspace center from task sampler for dynamic placement. The task sampler should implement get_workspace_center() and resolve_visibility_object() to provide runtime information without modifying the camera config.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera_zed_mini', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=52.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.02), (0.015, 0.005, 0.02)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True), RobotMountedCameraConfig(name='droid_shoulder_light_randomization', reference_body_names=['robot_0/fr3_link0'], camera_offset=[0.1, 0.57, 0.66], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=71.0, pos_noise_range=(-0.05, 0.05), orientation_noise_degrees=8.0, visibility_constraints={'__task_objects__': 0.001}), RandomizedExocentricCameraConfig(name='randomized_zed2_analogue_1', distance_range=(0.2, 0.8), height_range=(0.05, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(64, 72), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='randomized_zed2_analogue_2', distance_range=(0.2, 0.8), height_range=(0.05, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(64, 72), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='randomized_gopro_analogue_1', distance_range=(0.2, 0.5), height_range=(0.1, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(137, 140), is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaRandomizedD405D455CameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka pick-and-place tasks with wrist cam and 2 randomized exo cams.
Uses workspace center from task sampler for dynamic placement. The task sampler should implement get_workspace_center() and resolve_visibility_object() to provide runtime information without modifying the camera config.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='wrist_cam', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-10.0, 10.0), pos_noise_range=(-0.015, 0.015), orientation_noise_degrees=8.0), RandomizedExocentricCameraConfig(name='exo_camera_1', distance_range=(0.2, 0.8), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov_range=(50, 90), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='exo_camera_2', distance_range=(0.2, 0.8), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov_range=(50, 90), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaRandomizedDroidCameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka DROID system with wrist cam (ZED mini) and 2 randomized exo cams (ZED 2/ZED 2i).
Uses workspace center from task sampler for dynamic placement. The task sampler should implement get_workspace_center() and resolve_visibility_object() to provide runtime information without modifying the camera config.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='gripper/wrist_camera', robot_namespace='robot_0/', fov=52.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0)), RandomizedExocentricCameraConfig(name='exo_camera_1', distance_range=(0.2, 0.8), height_range=(0.05, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(64, 72), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='exo_camera_2', distance_range=(0.2, 0.8), height_range=(0.05, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(64, 72), lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, allow_relaxed_constraints=False), RandomizedExocentricCameraConfig(name='exo_camera_3', distance_range=(0.2, 0.5), height_range=(0.1, 0.6), azimuth_range=(0, 2 * np.pi), fov_range=(137, 140), is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__task_objects__': 0.0001, '__gripper__': 0.0001}, max_placement_attempts=20, allow_relaxed_constraints=False)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
FrankaRobotiq2f85CameraSystem
¶
Bases: CameraSystemConfig
Camera system for Franka with Robotiq 2f85 wrist cam and 2 randomized GoPro exo cams.
Uses: - Robotiq 2f85 wrist camera: VFOV=56.74°, resolution 1280x720, with position and orientation noise - Two randomized GoPro exo cameras: VFOV=139°, resolution 640x480, with visibility constraints
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='wrist_camera', robot_namespace='robot_0/'), RandomizedExocentricCameraConfig(name='exo_camera_1', distance_range=(0.4, 1.0), height_range=(0.4, 0.8), azimuth_range=(0, 2 * np.pi), fov=139.0, is_warped=False, lookat_noise_range=(-0.1, 0.1), visibility_constraints={'__pickup_object__': 0.001}, max_placement_attempts=200, allow_relaxed_constraints=True)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
I2rtYamCameraSystem
¶
Bases: CameraSystemConfig
Camera system for i2rt YAM robot.
Uses robot-mounted exo camera since YAM doesn't have built-in MJCF cameras. The exo camera is mounted relative to the robot base (mocap body at ground level).
Note: Camera offset z must account for the base platform height (0.7m). To achieve similar viewing angle as Franka DROID (camera at ~1.24m total height), we use z offset = 0.7 (platform) + 0.5 (above platform) = 1.2m
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='wrist_camera', mjcf_name='wrist_camera', robot_namespace='robot_0/'), RobotMountedCameraConfig(name='exo_camera_1', reference_body_names=['robot_0/base', 'robot_0/arm'], camera_offset=[0.1, 0.5, 1.2], camera_quaternion=[-0.3633, -0.1241, 0.4263, 0.8191], fov=71.0, visibility_constraints={'__task_objects__': 0.001})]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
MjcfCameraConfig
¶
Bases: CameraConfig
Camera defined in the MJCF file.
This references a camera that already exists in the scene MJCF or robot MJCF. Useful for cameras with fixed mounting in robot models.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
fov |
float | None
|
|
fov_noise_degrees |
tuple[float, float] | None
|
|
is_warped |
bool
|
|
mjcf_name |
str
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | Triple[float] | None
|
|
pos_noise_range |
tuple[float, float] | tuple[Triple[float], Triple[float]] | None
|
|
record_depth |
bool
|
|
robot_namespace |
str | None
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
fov_noise_degrees
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
orientation_noise_degrees: float | Triple[float] | None = None
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
RBY1GoProD455CameraSystem
¶
Bases: CameraSystemConfig
Camera system for RBY1 with GoPro head camera and D455 wrist cameras.
Renders at 1024x576 (16:9) to accommodate both: - Head camera: GoPro analogue (4:3, crop to 768x576 in post-processing) - Wrist cameras: D455 analogue (16:9, use full frame)
All cameras include randomization for sim-to-real transfer.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='head_camera', mjcf_name='head_camera', robot_namespace='robot_0/', fov=139.0, fov_noise_degrees=(-3.0, 3.0), pos_noise_range=((-0.01, -0.01, -0.01), (0.01, 0.01, 0.01)), orientation_noise_degrees=(4.0, 4.0, 4.0), skip_erosion=True), MjcfCameraConfig(name='wrist_camera_l', mjcf_name='wrist_camera_l', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True), MjcfCameraConfig(name='wrist_camera_r', mjcf_name='wrist_camera_r', robot_namespace='robot_0/', fov=58.0, fov_noise_degrees=(-4.0, 4.0), pos_noise_range=((-0.015, -0.005, -0.01), (0.015, 0.005, 0.01)), orientation_noise_degrees=(8.0, 4.0, 4.0), record_depth=True)]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
RBY1MjcfCameraSystem
¶
Bases: CameraSystemConfig
Camera system using RBY1's built-in MJCF cameras.
Methods:
| Name | Description |
|---|---|
add_camera |
Add a camera specification to the system. |
from_dict |
|
get_camera_by_name |
Get a camera spec by name. |
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
cameras |
list[CameraConfig]
|
|
img_resolution |
tuple[int, int]
|
|
model_config |
|
cameras
class-attribute
instance-attribute
¶
cameras: list[CameraConfig] = [MjcfCameraConfig(name='head_camera', mjcf_name='head_camera', robot_namespace='robot_0/', fov=139.0, skip_erosion=True), MjcfCameraConfig(name='wrist_camera_l', mjcf_name='wrist_camera_l', robot_namespace='robot_0/', record_depth=True), MjcfCameraConfig(name='wrist_camera_r', mjcf_name='wrist_camera_r', robot_namespace='robot_0/', record_depth=True), MjcfCameraConfig(name='camera_follower', mjcf_name='camera_follower', robot_namespace='robot_0/')]
model_config
class-attribute
instance-attribute
¶
add_camera
¶
add_camera(camera_spec: CameraConfig) -> None
get_camera_by_name
¶
get_camera_by_name(name: str) -> CameraConfig | None
save_to_json
¶
to_dict
¶
RandomizedExocentricCameraConfig
¶
Bases: CameraConfig
Randomized external camera positioned around a workspace center.
Samples camera position within specified ranges around a workspace center. Can use visibility constraints to ensure good views of important objects. CORE ASSUMPTION: workspace center will be sourced from task sampler callback function get_workspace_center you will always be looking at the workspace center (with optional noise).
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
allow_relaxed_constraints |
bool
|
|
azimuth_range |
tuple[float, float]
|
|
distance_range |
tuple[float, float]
|
|
fov |
float | None
|
|
fov_range |
tuple[float, float] | None
|
|
height_range |
tuple[float, float]
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
max_placement_attempts |
int
|
|
model_config |
|
|
name |
str
|
|
record_depth |
bool
|
|
skip_erosion |
bool
|
|
visibility_constraints |
dict[str, float] | None
|
|
allow_relaxed_constraints
class-attribute
instance-attribute
¶
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
RobotMountedCameraConfig
¶
Bases: CameraConfig
Camera dynamically mounted to a robot body.
Camera follows the specified reference body with configurable offset and orientation. Can use either lookat-based positioning or quaternion-based orientation.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
camera_offset |
list[float]
|
|
camera_quaternion |
list[float] | None
|
|
fov |
float | None
|
|
is_warped |
bool
|
|
lookat_noise_range |
tuple[float, float] | None
|
|
lookat_offset |
list[float]
|
|
model_config |
|
|
name |
str
|
|
orientation_noise_degrees |
float | None
|
|
pos_noise_range |
tuple[float, float] | None
|
|
record_depth |
bool
|
|
reference_body_names |
list[str]
|
|
skip_erosion |
bool
|
|
up_axis |
str
|
|
visibility_constraints |
dict[str, float] | None
|
|
lookat_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
orientation_noise_degrees
class-attribute
instance-attribute
¶
pos_noise_range
class-attribute
instance-attribute
¶
visibility_constraints
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
dummy_config
¶
Classes:
| Name | Description |
|---|---|
DummyPolicyConfig |
Policy config that uses DummyPolicy for testing. |
DummyPolicyConfig
¶
Bases: BasePolicyConfig
Policy config that uses DummyPolicy for testing.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
model_post_init
¶
Source code in molmo_spaces/configs/dummy_config.py
save_to_json
¶
to_dict
¶
policy_configs
¶
Policy configuration classes for MolmoSpaces experiments.
Classes:
| Name | Description |
|---|---|
AStarNavToObjPolicyConfig |
Configuration for A* navigation policy (discrete grid-based planner). |
BasePolicyConfig |
Base configuration for policies. |
BrownianMotionPolicyConfig |
Policy that applies Gaussian noise increments over noop control, resulting in Brownian motion. |
CuroboOpenClosePlannerPolicyConfig |
|
CuroboPickAndPlacePlannerPolicyConfig |
|
DoorOpeningPolicyConfig |
Configuration for RBY1 door opening planner policy. |
DummyPolicyConfig |
Policy config that uses DummyPolicy for testing. |
NavToObjPlannerPolicyConfig |
Base configuration for navigation to object planner policies. |
ObjectManipulationPlannerPolicyConfig |
Configuration for Franka pick planner policy. |
OpenClosePlannerPolicyConfig |
|
PickAndPlaceColorPlannerPolicyConfig |
|
PickAndPlaceNextToPlannerPolicyConfig |
|
PickAndPlacePlannerPolicyConfig |
|
PickPlannerPolicyConfig |
|
AStarNavToObjPolicyConfig
¶
Bases: NavToObjPlannerPolicyConfig
Configuration for A* navigation policy (discrete grid-based planner).
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
downscale |
int
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
map_path |
str | None
|
|
model_config |
|
|
num_recovery_steps |
int
|
|
path_interpolation_density |
int
|
|
path_max_inter_waypoint_angle |
float
|
|
path_max_inter_waypoint_dist |
float
|
|
path_min_dist_to_target_center |
float
|
|
plan_fail_after_waypoint_steps |
int
|
|
plan_fail_max_dist_delta |
float
|
|
plan_max_retries |
int
|
|
plan_stick_to_original_target |
bool
|
|
planner_config |
AStarPlannerConfig
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
recovery_motion_backward_distance |
float
|
|
verbose |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
path_max_inter_waypoint_angle
class-attribute
instance-attribute
¶
path_max_inter_waypoint_dist
class-attribute
instance-attribute
¶
path_min_dist_to_target_center
class-attribute
instance-attribute
¶
plan_fail_after_waypoint_steps
class-attribute
instance-attribute
¶
plan_fail_max_dist_delta
class-attribute
instance-attribute
¶
plan_stick_to_original_target
class-attribute
instance-attribute
¶
planner_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
recovery_motion_backward_distance
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
BasePolicyConfig
¶
Bases: Config
Base configuration for policies.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
instance-attribute
¶
policy_factory: PolicyFactory | None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
save_to_json
¶
to_dict
¶
BrownianMotionPolicyConfig
¶
Bases: BasePolicyConfig
Policy that applies Gaussian noise increments over noop control, resulting in Brownian motion.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
std |
float
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
model_post_init
¶
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
CuroboOpenClosePlannerPolicyConfig
¶
Bases: OpenClosePlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
enable_collision_avoidance
class-attribute
instance-attribute
¶
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_horizontal_cost_weight
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
gripper_closed_tolerance
class-attribute
instance-attribute
¶
left_curobo_planner_config
class-attribute
instance-attribute
¶
left_planner_joint_ranges
class-attribute
instance-attribute
¶
max_height_adjustment_steps
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
right_curobo_planner_config
class-attribute
instance-attribute
¶
right_planner_joint_ranges
class-attribute
instance-attribute
¶
server_urls
class-attribute
instance-attribute
¶
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
velocity_constraints
class-attribute
instance-attribute
¶
velocity_constraints: dict[str, float] = {'base': 0.5, 'head': 0.5, 'right_arm': 0.5, 'left_arm': 0.5}
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
CuroboPickAndPlacePlannerPolicyConfig
¶
Bases: PickAndPlacePlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
enable_collision_avoidance
class-attribute
instance-attribute
¶
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
gripper_closed_tolerance
class-attribute
instance-attribute
¶
left_curobo_planner_config
class-attribute
instance-attribute
¶
left_planner_joint_ranges
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
right_curobo_planner_config
class-attribute
instance-attribute
¶
right_planner_joint_ranges
class-attribute
instance-attribute
¶
server_urls
class-attribute
instance-attribute
¶
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
velocity_constraints
class-attribute
instance-attribute
¶
velocity_constraints: dict[str, float] = {'base': 0.5, 'head': 0.5, 'right_arm': 0.5, 'left_arm': 0.5}
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
DoorOpeningPolicyConfig
¶
Bases: BasePolicyConfig
Configuration for RBY1 door opening planner policy.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
articulation_deltas
class-attribute
instance-attribute
¶
enable_collision_avoidance
class-attribute
instance-attribute
¶
first_pushing_articulation_deltas
class-attribute
instance-attribute
¶
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
gripper_closed_tolerance
class-attribute
instance-attribute
¶
joint_position_tolerance
class-attribute
instance-attribute
¶
left_curobo_planner_config
class-attribute
instance-attribute
¶
left_gripper_close_command
class-attribute
instance-attribute
¶
left_gripper_open_command
class-attribute
instance-attribute
¶
left_planner_joint_ranges
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
recovery_motion_backward_distance
class-attribute
instance-attribute
¶
relevant_collision_objects_radius
class-attribute
instance-attribute
¶
right_curobo_planner_config
class-attribute
instance-attribute
¶
right_gripper_close_command
class-attribute
instance-attribute
¶
right_gripper_open_command
class-attribute
instance-attribute
¶
right_planner_joint_ranges
class-attribute
instance-attribute
¶
velocity_constraints
class-attribute
instance-attribute
¶
velocity_constraints: dict[str, float] = {'base': 0.5, 'head': 0.5, 'right_arm': 0.5, 'left_arm': 0.5}
save_to_json
¶
to_dict
¶
DummyPolicyConfig
¶
Bases: BasePolicyConfig
Policy config that uses DummyPolicy for testing.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
model_post_init
¶
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
NavToObjPlannerPolicyConfig
¶
Bases: BasePolicyConfig
Base configuration for navigation to object planner policies.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
num_recovery_steps |
int
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
recovery_motion_backward_distance |
float
|
|
verbose |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
recovery_motion_backward_distance
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
ObjectManipulationPlannerPolicyConfig
¶
Bases: BasePolicyConfig
Configuration for Franka pick planner policy.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
OpenClosePlannerPolicyConfig
¶
Bases: ObjectManipulationPlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_horizontal_cost_weight
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceColorPlannerPolicyConfig
¶
Bases: PickAndPlacePlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceNextToPlannerPolicyConfig
¶
Bases: PickAndPlacePlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
PickAndPlacePlannerPolicyConfig
¶
Bases: ObjectManipulationPlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
PickPlannerPolicyConfig
¶
Bases: ObjectManipulationPlannerPolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
grasp_collision_batch_size
class-attribute
instance-attribute
¶
grasp_collision_max_grasps
class-attribute
instance-attribute
¶
grasp_com_dist_cost_weight
class-attribute
instance-attribute
¶
grasp_feasibility_batch_size
class-attribute
instance-attribute
¶
grasp_feasibility_max_grasps
class-attribute
instance-attribute
¶
grasp_vertical_cost_weight
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
tcp_rot_err_threshold
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs.py
save_to_json
¶
to_dict
¶
policy_configs_baselines
¶
Classes:
| Name | Description |
|---|---|
BimanualYamPiPolicyConfig |
Configuration for BimanualYamPiPolicy using LeRobot gRPC server. |
CAPPolicyConfig |
|
DreamZeroPolicyConfig |
|
PiPolicyConfig |
|
TeleopPolicyConfig |
|
BimanualYamPiPolicyConfig
¶
Bases: BasePolicyConfig
Configuration for BimanualYamPiPolicy using LeRobot gRPC server.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
buffer_length |
int
|
|
camera_mapping |
dict
|
|
checkpoint_path |
str
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
grasping_type |
str
|
|
model_config |
|
|
name |
str
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
remote_config |
dict
|
|
camera_mapping
class-attribute
instance-attribute
¶
camera_mapping: dict = dict(left_wrist_camera='observation.images.left', right_wrist_camera='observation.images.right', exo_camera='observation.images.top')
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
remote_config
class-attribute
instance-attribute
¶
remote_config: dict = dict(host='triton-cs-aus-454.reviz.ai2.in', port=8060, policy_type='pi05', device='cuda')
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs_baselines.py
save_to_json
¶
to_dict
¶
CAPPolicyConfig
¶
Bases: BasePolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
exo_vlm |
bool
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
remote_config |
dict
|
|
use_vlm |
bool
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
remote_config
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs_baselines.py
save_to_json
¶
to_dict
¶
DreamZeroPolicyConfig
¶
Bases: BasePolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
checkpoint_path |
str
|
|
chunk_size |
int
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
remote_config |
dict
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
remote_config
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs_baselines.py
save_to_json
¶
to_dict
¶
PiPolicyConfig
¶
Bases: BasePolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
checkpoint_path |
str
|
|
chunk_size |
int
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
grasping_threshold |
float
|
|
grasping_type |
str
|
|
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
remote_config |
dict | None
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
remote_config
class-attribute
instance-attribute
¶
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs_baselines.py
save_to_json
¶
to_dict
¶
TeleopPolicyConfig
¶
Bases: BasePolicyConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
Set policy_cls after initialization to avoid circular imports. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
device |
str
|
|
force_enable_depth |
bool
|
Whether or not to require all cameras to record depth |
model_config |
|
|
policy_cls |
type[BasePolicy] | None
|
|
policy_factory |
PolicyFactory | None
|
Factory function to create the policy instance from a config and task, can be same as |
policy_type |
str
|
Type of the policy, e.g., "planner", "teleop", "learned", etc. |
pos_sensitivity |
float
|
|
product_id |
int
|
|
rot_sensitivity |
float
|
|
rot_step |
float
|
|
step_size |
float
|
|
force_enable_depth
class-attribute
instance-attribute
¶
Whether or not to require all cameras to record depth
model_config
class-attribute
instance-attribute
¶
policy_factory
class-attribute
instance-attribute
¶
policy_factory: PolicyFactory | None = None
Factory function to create the policy instance from a config and task, can be same as policy_cls
policy_type
class-attribute
instance-attribute
¶
Type of the policy, e.g., "planner", "teleop", "learned", etc.
model_post_init
¶
Set policy_cls after initialization to avoid circular imports.
Source code in molmo_spaces/configs/policy_configs_baselines.py
save_to_json
¶
to_dict
¶
robot_configs
¶
Robot configuration classes for MolmoSpaces experiments.
This module contains: - ActionNoiseConfig: TCP-bounded noise configuration for arm actions - BaseRobotConfig: Base configuration for all robots - Robot-specific configs: FrankaRobotConfig, RBY1Config, FloatingRUMRobotConfig
Classes:
| Name | Description |
|---|---|
ActionNoiseConfig |
Configuration for action noise injection. |
BaseRobotConfig |
Base configuration for robot setup. |
BimanualYamRobotConfig |
Configuration for bimanual YAM robot (two 6-DOF arms with parallel grippers). |
FloatingRUMRobotConfig |
|
FloatingRobotiq2f85RobotConfig |
|
FrankaCAPRobotConfig |
Configuration for Franka FR3 robot. |
FrankaRobotConfig |
Configuration for Franka FR3 robot. |
I2rtYamRobotConfig |
Configuration for i2rt YAM 6-DOF robot. |
MobileFrankaRobotConfig |
|
RBY1Config |
Configuration for RBY1 robot. |
RBY1MConfig |
Configuration for RBY1M i.e. mecanum wheel robot. |
RBY1MOpenCloseConfig |
RBY1M config for open/close tasks. |
ActionNoiseConfig
¶
Bases: Config
Configuration for action noise injection.
This noise model supports: - Arm noise: TCP-bounded noise that maps through Jacobian to joint space - Base noise: Planar noise applied directly to (x, y, theta) commands
Noise is proportional to the commanded action magnitude
noise_std = action_scale_factor * ||delta||
When the commanded delta is zero, no noise is applied.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_scale_factor |
float
|
|
base_action_scale_factor |
float
|
|
enabled |
bool
|
|
max_base_position_noise |
float
|
|
max_base_rotation_noise |
float
|
|
max_tcp_position_noise |
float
|
|
max_tcp_rotation_noise |
float
|
|
model_config |
|
|
rotation_noise_scale |
float
|
|
BaseRobotConfig
¶
Bases: Config
Base configuration for robot setup.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
model_config
class-attribute
instance-attribute
¶
robot_namespace
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
BimanualYamRobotConfig
¶
Bases: BaseRobotConfig
Configuration for bimanual YAM robot (two 6-DOF arms with parallel grippers).
The bimanual YAM consists of two YAM arms positioned 44cm apart, both facing forward.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_size |
list[float] | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'left_arm': [0.0624, 0.0109, 0.1707, -0.5938, 0.411, 0.3401], 'right_arm': [0.0006, 0.0147, 0.1669, -0.6407, 0.0746, 0.1516], 'left_gripper': [0.03914, 0.0], 'right_gripper': [0.04068, 0.0]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = BimanualYamRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = BimanualYamRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
FloatingRUMRobotConfig
¶
Bases: BaseRobotConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
ctrl_dt_ms |
float
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FloatingRUMRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FloatingRUMRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
FloatingRobotiq2f85RobotConfig
¶
Bases: BaseRobotConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
action_spec |
dict[str, int]
|
|
command_mode |
dict
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
ctrl_dt_ms |
float
|
|
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, BaseRobotConfig], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
action_spec
class-attribute
instance-attribute
¶
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, BaseRobotConfig], Robot] | None = FloatingRobotiqRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FloatingRobotiq2f85RobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
FrankaCAPRobotConfig
¶
Bases: BaseRobotConfig
Configuration for Franka FR3 robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_size |
list[float] | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'arm': [0, -1.5, 0.116, -2.45, 0, 0.842, 0.965], 'gripper': [0.00296, 0.00296]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'arm': [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]}
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaCAPRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
FrankaRobotConfig
¶
Bases: BaseRobotConfig
Configuration for Franka FR3 robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_size |
list[float] | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
perturb_texture_probability |
float
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'arm': [0, -0.7853, 0, -2.35619, 0, 1.57079, 0.0], 'gripper': [0.00296, 0.00296]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'arm': [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]}
model_config
class-attribute
instance-attribute
¶
perturb_texture_probability
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = FrankaRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = FrankaDroidRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
I2rtYamRobotConfig
¶
Bases: BaseRobotConfig
Configuration for i2rt YAM 6-DOF robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_size |
list[float] | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'arm': [0.0, 1.047, 1.047, 0.1, -0.1, 0.0], 'gripper': [0.0, 0.0]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = I2rtYamRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = I2rtYamRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
MobileFrankaRobotConfig
¶
Bases: BaseRobotConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
base_control_params |
dict[str, dict[str, float]]
|
|
base_size |
list[float]
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
base_control_params
class-attribute
instance-attribute
¶
base_control_params: dict[str, dict[str, float]] = {'base_x_act': {'kp': 25000, 'damping_ratio': 1.0, 'ctrlrange': 25}, 'base_y_act': {'kp': 25000, 'damping_ratio': 1.0, 'ctrlrange': 25}, 'base_theta_act': {'kp': 5000, 'damping_ratio': 1.0}}
command_mode
class-attribute
instance-attribute
¶
command_mode: dict[str, str | None] = {'base': 'holo_joint_planar_position', 'arm': 'joint_position', 'gripper': 'joint_position'}
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'base': [0, 0, 0], 'arm': [0, -0.7853, 0, -2.35619, 0, 1.57079, 0.0], 'gripper': [0.00296, 0.00296]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'arm': [0.025, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175]}
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_factory: Callable[[MjData, Any], Robot] | None = MobileFrankaRobot
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = MobileFrankaDroidRobotView
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
Ensure action_noise_config is always initialized, even when loading from old configs.
Source code in molmo_spaces/configs/robot_configs.py
save_to_json
¶
to_dict
¶
RBY1Config
¶
Bases: BaseRobotConfig
Configuration for RBY1 robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
use_holo_base |
bool
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
command_mode: dict[str, str | None] = {'arm': 'joint_position', 'gripper': 'joint_position', 'base': 'holo_joint_planar_position', 'head': None}
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'base': [0.0, 0.0, 0.0], 'head': [0.0, 0.6], 'left_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'left_gripper': [-0.05], 'right_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'right_gripper': [-0.05], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'base': [0.0, 0.0, 0.0], 'head': [0.2, 0.2], 'left_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'left_gripper': [0.01], 'right_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'right_gripper': [0.01], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
save_to_json
¶
to_dict
¶
RBY1MConfig
¶
Bases: RBY1Config
Configuration for RBY1M i.e. mecanum wheel robot.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
use_holo_base |
bool
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
command_mode: dict[str, str | None] = {'arm': 'joint_position', 'gripper': 'joint_position', 'base': 'holo_joint_planar_position', 'head': None}
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'base': [0.0, 0.0, 0.0], 'head': [0.0, 0.6], 'left_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'left_gripper': [-0.05], 'right_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'right_gripper': [-0.05], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'base': [0.0, 0.0, 0.0], 'head': [0.2, 0.2], 'left_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'left_gripper': [0.01], 'right_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'right_gripper': [0.01], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
save_to_json
¶
to_dict
¶
RBY1MOpenCloseConfig
¶
Bases: RBY1MConfig
RBY1M config for open/close tasks.
Uses single-scalar torso height control (torso_1 = torso_3 = h, torso_2 = -2*h) instead of commanding all 6 torso joints independently.
Methods:
| Name | Description |
|---|---|
from_dict |
|
get_robot_dir |
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot. |
get_robot_xml_path |
Get the full path to the robot XML file. |
load_from_json |
|
model_post_init |
Ensure action_noise_config is always initialized, even when loading from old configs. |
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
K_damping |
list[float] | None
|
|
K_stiffness |
list[float] | None
|
|
action_noise_config |
ActionNoiseConfig | None
|
|
command_mode |
dict[str, str | None]
|
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity' |
force_limit |
list[float] | None
|
|
gravcomp |
bool
|
|
init_qpos |
dict[str, list[float]]
|
|
init_qpos_noise_range |
dict[str, list[float]] | None
|
|
model_config |
|
|
name |
str | None
|
|
robot_cls |
type[Robot] | None
|
|
robot_dir |
Path | None
|
|
robot_factory |
Callable[[MjData, Any], Robot] | None
|
|
robot_namespace |
str
|
Namespace used to differentiate between one or multiple robots and the environment |
robot_view_factory |
RobotViewFactory | None
|
|
robot_xml_path |
Path
|
|
use_holo_base |
bool
|
|
action_noise_config
class-attribute
instance-attribute
¶
action_noise_config: ActionNoiseConfig | None = None
command_mode
class-attribute
instance-attribute
¶
command_mode: dict[str, str | None] = {'arm': 'joint_rel_position', 'gripper': 'joint_position', 'base': 'holo_joint_rel_planar_position', 'head': None, 'torso': 'height'}
move_group to command_mode e.g., 'joint', 'cartesian', 'velocity'
init_qpos
class-attribute
instance-attribute
¶
init_qpos: dict[str, list[float]] = {'base': [0.0, 0.0, 0.0], 'head': [0.0, 0.6], 'left_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'left_gripper': [-0.05], 'right_arm': [0.5, 0.0, 0.0, -2.3, 0.0, -0.5, 0.0], 'right_gripper': [-0.05], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
init_qpos_noise_range
class-attribute
instance-attribute
¶
init_qpos_noise_range: dict[str, list[float]] | None = {'base': [0.0, 0.0, 0.0], 'head': [0.2, 0.2], 'left_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'left_gripper': [0.01], 'right_arm': [0.05, 0.05, 0.075, 0.1, 0.125, 0.15, 0.175], 'right_gripper': [0.01], 'torso': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
model_config
class-attribute
instance-attribute
¶
robot_factory
class-attribute
instance-attribute
¶
robot_namespace
class-attribute
instance-attribute
¶
Namespace used to differentiate between one or multiple robots and the environment
robot_view_factory
class-attribute
instance-attribute
¶
robot_view_factory: RobotViewFactory | None = None
robot_xml_path
class-attribute
instance-attribute
¶
get_robot_dir
¶
Get the path to the robot directory, which may or may not be a prepackaged MlSpaces robot.
get_robot_xml_path
¶
model_post_init
¶
save_to_json
¶
to_dict
¶
task_configs
¶
Task configuration classes for MolmoSpaces experiments.
Classes:
| Name | Description |
|---|---|
BaseMujocoTaskConfig |
Base configuration for MuJoCo tasks. |
DoorOpeningTaskConfig |
Configuration for RBY1 door opening task. |
NavToObjTaskConfig |
Configuration for RBY1 navigation to object task. |
OpeningTaskConfig |
Configuration for opening task. |
PackingTaskConfig |
|
PickAndPlaceColorTaskConfig |
|
PickAndPlaceNextToTaskConfig |
|
PickAndPlaceTaskConfig |
|
PickTaskConfig |
Configuration for Franka move-to-pose task. |
Attributes:
| Name | Type | Description |
|---|---|---|
AllTaskConfigs |
TypeAlias
|
|
AllTaskConfigs
module-attribute
¶
AllTaskConfigs: TypeAlias = BaseMujocoTaskConfig | PickTaskConfig | PickAndPlaceTaskConfig | PickAndPlaceColorTaskConfig | PickAndPlaceNextToTaskConfig | PackingTaskConfig | OpeningTaskConfig | DoorOpeningTaskConfig | NavToObjTaskConfig
BaseMujocoTaskConfig
¶
Bases: Config
Base configuration for MuJoCo tasks.
NOTE: If these task config parameters are left to None, they will be sampled by the task sampler. If these task config parameters are not None, their value will take precedence over any parameters sampled by the task sampler and will remain fixed across all simulation tasks sampled by the task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
DoorOpeningTaskConfig
¶
Bases: BaseMujocoTaskConfig
Configuration for RBY1 door opening task.
NOTE: If these task config parameters are left to None, they will be sampled by the task sampler. If these task config parameters are not None, their value will take precedence over any parameters sampled by the task sampler and will remain fixed across all simulation tasks sampled by the task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
additional_tcp_offset_distance |
float
|
|
additional_tcp_rotation_offset_mat |
ndarray
|
|
articulated_joint_range |
ndarray | None
|
|
articulated_joint_reset_state |
ndarray | None
|
|
door_body_name |
str | None
|
|
door_open_reward |
float
|
|
door_openness_threshold |
float
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
viz_target_ee |
bool
|
|
additional_tcp_offset_distance
class-attribute
instance-attribute
¶
additional_tcp_rotation_offset_mat
class-attribute
instance-attribute
¶
articulated_joint_range
class-attribute
instance-attribute
¶
articulated_joint_reset_state
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
NavToObjTaskConfig
¶
Bases: BaseMujocoTaskConfig
Configuration for RBY1 navigation to object task.
NOTE: If these task config parameters are left to None, they will be sampled by the task sampler. If these task config parameters are not None, their value will take precedence over any parameters sampled by the task sampler and will remain fixed across all simulation tasks sampled by the task sampler. Uses pickup_obj_name for compatibility with EvalTaskSampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_candidates |
list[str] | None
|
|
pickup_obj_category |
str | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
pickup_obj_synset |
str | None
|
|
receptacle_name |
str | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
seed |
int | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_candidates
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
OpeningTaskConfig
¶
Bases: PickTaskConfig
Configuration for opening task.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
any_inst_of_category |
bool
|
|
articulation_object_name |
str | None
|
|
enable_rendering |
bool
|
|
joint_goal_position |
float | None
|
|
joint_index |
int | None
|
|
joint_name |
str | None
|
|
joint_start_position |
float | None
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
task_success_threshold |
float
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
articulation_object_name
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PackingTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
carry_forward_rel_pos_threshold |
float
|
|
carry_forward_rel_rot_threshold |
float
|
|
enable_rendering |
bool
|
|
max_place_receptacle_pos_displacement |
float
|
|
max_place_receptacle_rot_displacement |
float
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_receptacle_name |
str | None
|
|
place_receptacle_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
receptacle_supported_weight_frac |
float
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
carry_forward_rel_pos_threshold
class-attribute
instance-attribute
¶
carry_forward_rel_rot_threshold
class-attribute
instance-attribute
¶
max_place_receptacle_pos_displacement
class-attribute
instance-attribute
¶
max_place_receptacle_rot_displacement
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
place_receptacle_start_pose
class-attribute
instance-attribute
¶
receptacle_supported_weight_frac
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PickAndPlaceColorTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
carry_forward_rel_pos_threshold |
float
|
|
carry_forward_rel_rot_threshold |
float
|
|
enable_rendering |
bool
|
|
max_place_receptacle_pos_displacement |
float
|
|
max_place_receptacle_rot_displacement |
float
|
|
model_config |
|
|
object_colors |
dict[str, list[float]] | None
|
|
object_poses |
dict[str, list[float]] | None
|
|
other_receptacle_names |
list[str] | None
|
|
other_receptacle_start_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_receptacle_name |
str | None
|
|
place_receptacle_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
receptacle_supported_weight_frac |
float
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
carry_forward_rel_pos_threshold
class-attribute
instance-attribute
¶
carry_forward_rel_rot_threshold
class-attribute
instance-attribute
¶
max_place_receptacle_pos_displacement
class-attribute
instance-attribute
¶
max_place_receptacle_rot_displacement
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_colors
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
other_receptacle_names
class-attribute
instance-attribute
¶
other_receptacle_start_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
place_receptacle_start_pose
class-attribute
instance-attribute
¶
receptacle_supported_weight_frac
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PickAndPlaceNextToTaskConfig
¶
Bases: PickAndPlaceTaskConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
carry_forward_rel_pos_threshold |
float
|
|
carry_forward_rel_rot_threshold |
float
|
|
enable_rendering |
bool
|
|
max_place_receptacle_pos_displacement |
float
|
|
max_place_receptacle_rot_displacement |
float
|
|
max_surface_to_surface_gap |
float
|
|
min_surface_to_surface_gap |
float
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_receptacle_name |
str | None
|
|
place_receptacle_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
receptacle_supported_weight_frac |
float
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
carry_forward_rel_pos_threshold
class-attribute
instance-attribute
¶
carry_forward_rel_rot_threshold
class-attribute
instance-attribute
¶
max_place_receptacle_pos_displacement
class-attribute
instance-attribute
¶
max_place_receptacle_rot_displacement
class-attribute
instance-attribute
¶
max_surface_to_surface_gap
class-attribute
instance-attribute
¶
min_surface_to_surface_gap
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
place_receptacle_start_pose
class-attribute
instance-attribute
¶
receptacle_supported_weight_frac
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PickAndPlaceTaskConfig
¶
Bases: PickTaskConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
carry_forward_rel_pos_threshold |
float
|
|
carry_forward_rel_rot_threshold |
float
|
|
enable_rendering |
bool
|
|
max_place_receptacle_pos_displacement |
float
|
|
max_place_receptacle_rot_displacement |
float
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_receptacle_name |
str | None
|
|
place_receptacle_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
receptacle_supported_weight_frac |
float
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
carry_forward_rel_pos_threshold
class-attribute
instance-attribute
¶
carry_forward_rel_rot_threshold
class-attribute
instance-attribute
¶
max_place_receptacle_pos_displacement
class-attribute
instance-attribute
¶
max_place_receptacle_rot_displacement
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
place_receptacle_start_pose
class-attribute
instance-attribute
¶
receptacle_supported_weight_frac
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
PickTaskConfig
¶
Bases: BaseMujocoTaskConfig
Configuration for Franka move-to-pose task.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
action_dtype |
str
|
|
added_objects |
dict[str, Path]
|
|
enable_rendering |
bool
|
|
model_config |
|
|
object_poses |
dict[str, list[float]] | None
|
|
pickup_obj_goal_pose |
list[float] | None
|
|
pickup_obj_name |
str | None
|
|
pickup_obj_start_pose |
list[float] | None
|
|
place_target_name |
str | None
|
|
receptacle_name |
str | None
|
|
referral_expressions |
dict[str, str]
|
|
referral_expressions_priority |
dict[str, list[tuple[float, float, str]]]
|
|
robot_base_pose |
list[float] | None
|
|
succ_pos_threshold |
float
|
|
task_cls |
type | None
|
|
tracked_object_names |
list[str] | None
|
|
use_sensors |
bool
|
|
model_config
class-attribute
instance-attribute
¶
object_poses
class-attribute
instance-attribute
¶
pickup_obj_goal_pose
class-attribute
instance-attribute
¶
pickup_obj_start_pose
class-attribute
instance-attribute
¶
referral_expressions_priority
class-attribute
instance-attribute
¶
tracked_object_names
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
task_sampler_configs
¶
Task sampler configuration classes for MolmoSpaces experiments.
Classes:
| Name | Description |
|---|---|
BaseMujocoTaskSamplerConfig |
Base configuration for task samplers. |
DoorOpeningTaskSamplerConfig |
Configuration for RBY1 door opening task sampler. |
NavToObjTaskSamplerConfig |
Configuration for navigation to object task sampler. |
ObjectCentricTaskSamplerConfig |
|
OccupancyMapImpl |
Which occupancy-map implementation an env hands back from |
OpenTaskSamplerConfig |
|
PackingTaskSamplerConfig |
|
PickAndPlaceColorTaskSamplerConfig |
Configuration for pick and place color task sampler. |
PickAndPlaceNextToTaskSamplerConfig |
|
PickAndPlaceTaskSamplerConfig |
|
PickTaskSamplerConfig |
Configuration for Franka move-to-pose task sampler. |
RUMPickTaskSamplerConfig |
|
BaseMujocoTaskSamplerConfig
¶
Bases: Config
Base configuration for task samplers.
A task is sampled based on this configuration.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
| Name | Type | Description |
|---|---|---|
check_robot_placement_visibility |
bool
|
|
enable_texture_randomization |
bool
|
|
episodes_per_batch |
int
|
|
house_inds |
list[int] | None
|
|
house_variant |
str
|
|
license_policy |
LicensePolicy
|
|
max_allowed_sequential_irrecoverable_failures |
int
|
|
max_allowed_sequential_rollout_failures |
int
|
|
max_allowed_sequential_task_sampler_failures |
int
|
|
max_asset_failures |
int
|
|
max_tasks |
int | None
|
|
max_total_attempts_multiplier |
int
|
|
model_config |
|
|
occupancy_map_cache_size |
int
|
|
occupancy_map_impl |
OccupancyMapImpl
|
|
randomize_dynamics |
bool
|
|
randomize_lighting |
bool
|
|
randomize_robot_textures |
bool
|
|
randomize_textures |
bool
|
|
randomize_textures_all |
bool
|
|
robot_placement_exclusion_threshold |
float
|
|
robot_placement_rotation_range_rad |
float
|
|
samples_per_house |
int | None
|
|
scene_xml_paths |
list[str] | None
|
|
sim_settle_timesteps |
int
|
|
task_batch_size |
int
|
|
task_sampler_class |
type | None
|
|
verbose |
bool
|
|
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
DoorOpeningTaskSamplerConfig
¶
Bases: BaseMujocoTaskSamplerConfig
Configuration for RBY1 door opening task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
choose_random_door_from_scene
class-attribute
instance-attribute
¶
door_frictionloss_range
class-attribute
instance-attribute
¶
enable_door_joint_randomization
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
handle_frictionloss_range
class-attribute
instance-attribute
¶
handle_stiffness_range
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
NavToObjTaskSamplerConfig
¶
Bases: ObjectCentricTaskSamplerConfig
Configuration for navigation to object task sampler. Uses pickup_types/pickup_obj_name for compatibility with EvalTaskSampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
ObjectCentricTaskSamplerConfig
¶
Bases: BaseMujocoTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
save_to_json
¶
to_dict
¶
OccupancyMapImpl
¶
Bases: StrEnum
Which occupancy-map implementation an env hands back from get_occupancy_map().
THOR utils/scene_maps.ProcTHORMap / iTHORMap -- molmo_spaces' own, the default for every task and robot. has a room map (room_ids_to_name, get_free_points_by_room, room-scoped label_at). AABB utils/scene_maps_aabb.AABBMap -- from the FetchMan (g1_molmo) repo. Mostly 99% similar to THORMap, slighlty more permissive in floor labeling and slighly faster.
Attributes:
| Name | Type | Description |
|---|---|---|
AABB |
|
|
THOR |
|
OpenTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_radius_range
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
target_initial_state_open_percentage
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PackingTaskSamplerConfig
¶
Bases: PickAndPlaceTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_object_to_receptacle_dist
class-attribute
instance-attribute
¶
max_place_receptacle_sampling_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_to_place_receptacle_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_object_to_receptacle_dist
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceColorTaskSamplerConfig
¶
Bases: PickAndPlaceTaskSamplerConfig
Configuration for pick and place color task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_object_to_receptacle_dist
class-attribute
instance-attribute
¶
max_place_receptacle_sampling_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_to_place_receptacle_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_object_to_receptacle_dist
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceNextToTaskSamplerConfig
¶
Bases: PickAndPlaceTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_object_to_receptacle_dist
class-attribute
instance-attribute
¶
max_place_receptacle_sampling_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_to_place_receptacle_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_object_to_receptacle_dist
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickAndPlaceTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_object_to_receptacle_dist
class-attribute
instance-attribute
¶
max_place_receptacle_sampling_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_to_place_receptacle_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_object_to_receptacle_dist
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
place_receptacle_namespace
class-attribute
instance-attribute
¶
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
PickTaskSamplerConfig
¶
Bases: ObjectCentricTaskSamplerConfig
Configuration for Franka move-to-pose task sampler.
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR
referral_expression_clip_filter
class-attribute
instance-attribute
¶
robot_object_z_offset_random_max
class-attribute
instance-attribute
¶
robot_object_z_offset_random_min
class-attribute
instance-attribute
¶
robot_placement_exclusion_threshold
class-attribute
instance-attribute
¶
robot_placement_rotation_range_rad
class-attribute
instance-attribute
¶
model_post_init
¶
Source code in molmo_spaces/configs/task_sampler_configs.py
save_to_json
¶
to_dict
¶
RUMPickTaskSamplerConfig
¶
Bases: PickTaskSamplerConfig
Methods:
| Name | Description |
|---|---|
from_dict |
|
load_from_json |
|
model_post_init |
|
save_to_json |
|
to_dict |
|
to_json |
|
Attributes:
added_pickup_class_max_uids
class-attribute
instance-attribute
¶
added_pickup_class_rank
class-attribute
instance-attribute
¶
added_pickup_objects
class-attribute
instance-attribute
¶
base_pose_sampling_radius_range
class-attribute
instance-attribute
¶
check_robot_placement_visibility
class-attribute
instance-attribute
¶
enable_texture_randomization
class-attribute
instance-attribute
¶
license_policy
class-attribute
instance-attribute
¶
license_policy: LicensePolicy = LicensePolicy.NONE
max_added_pickup_placement_attempts
class-attribute
instance-attribute
¶
max_allowed_sequential_irrecoverable_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_rollout_failures
class-attribute
instance-attribute
¶
max_allowed_sequential_task_sampler_failures
class-attribute
instance-attribute
¶
max_object_placement_attempts
class-attribute
instance-attribute
¶
max_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_robot_placement_attempts
class-attribute
instance-attribute
¶
max_robot_to_added_pickup_dist
class-attribute
instance-attribute
¶
max_total_attempts_multiplier
class-attribute
instance-attribute
¶
min_reference_to_added_pickup_dist
class-attribute
instance-attribute
¶
model_config
class-attribute
instance-attribute
¶
objaverse_oversampling_factor
class-attribute
instance-attribute
¶
object_placement_radius_range
class-attribute
instance-attribute
¶
occupancy_map_impl
class-attribute
instance-attribute
¶
occupancy_map_impl: OccupancyMapImpl = OccupancyMapImpl.THOR
randomize_robot_textures
class-attribute
instance-attribute
¶
receptacle_types
class-attribute
instance-attribute
¶
receptacle_types: list[str] = RECEPTACLE_TYPES_THOR